Skip to main content

Posts

@Vagrantup from scratch - Day #1

A friend got himself a brand new Lenovo ThinkPad. He wanted to create new virtual machines to play with Puppet, Docker and other tools. Here you go buddy. We will start with some best practices. Best practices I recommend these best practices so that it will be easy to find all virtual machines you create, save disk space and you'll be ready to go in an instant when you want to do something new.  Workspaces Keep all your vagrant workspaces in one folder. I keep mine in c:\workspaces\vagrantWorkspaces because I have workspaces for Eclipse, Visual Studio and others. Surely do back up this folder frequently. Tracking Maintain an excel file or Google Spreadsheet file with a list of all virtual machines you create to reuse and wish to keep. Packaging If you wish to package any of the virtual machines as .box files, store them outside the workspace folders. Keep your workspace small so it is easy and quick to backup. Naming convention Choose a naming convention, so ...

Jenkins quick setup on @Nitrous

Want to quickly setup Jenkins on the cloud? Try this on http://www.nitrous.io. See a prior post about setting up Dashing.io on Nitrous.io for basics of how to get started on Nitrous.io if required and then come back here. Advantage: If you want to experiment with something new on Jenkins before you run it in a production environment, this will get you going quickly. If you mess up, just re-install in Nitrous.io and start over. Step 1:  Copy the installation commands from this Jenkins-ci page - https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu to a shell script in the Nitrous.io IDE and run the shell script. You could just run them in the command line if you choose. Step 2:  View Jenkins in the browser by previewing port 8080 as seen in the screenshot Jenkins will show up on a new browser window. It works! 

Learning iOS development on @MacinCloud

I have been wanting to learn and develop iOS apps or a while. The price of a good developer's Mac was a little unreasonably high and I am quite sure I am not ready to switch over 100% to a Mac anytime soon. I found MacinCloud.com and their pricing is very reasonable. I didn't want to own a Mac, I didn't want to spend a lot of cash, but I wanted to use a Mac for a few hours a day just to learn iOS development. MacinCloud.com just worked out fine. I signed up for the $20 per month service to access a real Mac (not a Virtual Machine) for three hours a day. The device they gave me is a high end Mac Mini with 16GB of RAM and preloaded with all the popular app development tools and platforms out there, including XCode, PhoneGap and a lot of others that I am not even familiar with. Google drive and Dropbox are already installed and so is Chrome and Firefox. Save all your data in Google Drive or Dropbox, share with your team or move your content to your personal laptop. Too many ...

@Jenkinsci analytics with @Elasticsearch and #Kibana

I have been doing a lot of work with presenting Jenkins data in dashboards. Jenkins by default does not come with a built-in database. All the data gets stored in the filesystem. However, Jenkins has a REST API that allows us to read data as json. I searched around the Googlesphere to see if anyone had figured out how to capitalize on this REST API for performing analytics and found almost nothing directly related to this. I was searching for open to public Jenkins instances to see how other people use Jenkins. I came across Elasticsearch's Jenkins site and I was pleasantly surprised. Elasticsearch is a json document storage application. There is a Jenkins plug-in that directly inputs data to Elasticsearch.  I implemented this proof of concept to perform Jenkins analytics with Elasticsearch as the document store and Kibana as the analytics engine. I automated the installation part using Docker. There are better ways to automate this. The steps given below do not require any...

Getting Started with @PuppetLabs - Part 4 - Supporting multiple operating systems

Most puppet modules can be designed to support multiple operating systems. Puppet has built in features to allow this through some simple syntax in the .pp file. It is a good practice to do that, whether you are publishing these modules on Puppet Forge or building highly customized modules for a specific purposes in a private enterprise. 1. Scalability - In case an organization chooses to switch operating systems or support other operating systems, your modules are already supporting them or they already have some operating systems and it is a matter of adding a few lines of code at the very top to add support for other operating systems. 2. Visibility and usability - The modules that support more than one operating system have higher usage counts on Puppet Forge because they support more than one type of need. We will walk through a simple example to demonstrate multi-OS support. I checked in this code in GitHub at https://github.com/adityai/puppetApache . Module: Install Apac...

Book review: #TheMartian by @AndyWeirAuthor

The story is gripping, exciting and everything about the atmosphere, trajectories, orbits and timing is scientifically accurate. The plot is about an astronaut who is stuck on the surface of Mars and how he survives and increases his chances for survival. The author also factored in the humanitarian aspect of how this kind of situation can unify people from all over our planet, their prayers and their willingness to help and sacrifice. I did not feel that the character, Mark Watney felt intense psychological stress, as one would expect, from being stranded on a deserted and inhospitable planet. There is some humor here and there that gave me a break from worrying for Mark Watney's situation. Some of them made me laugh really hard. The story brought to life the fact that Mars is not a very hospitable place for us humans to be. I still wonder if it really makes sense to send humans to Mars. If we have to build a whole habitat for humans to live and survive the radiation, lack of atmo...

@MongoDB Command line cheat sheet

Command line mongo #Mongo Shell mongo Switch to a database use test List all databases show dbs List all collections show collections db.getCollectionNames() Insert to the test database db.restaurants.insert(    {       "address" : {          "street" : "2 Avenue",          "zipcode" : "10075",          "building" : "1480",          "coord" : [ -73.9557413, 40.7720266 ],       },       "borough" : "Manhattan",       "cuisine" : "Italian",       "grades" : [          {             "date" : ISODate("2014-10-01T00:00:00Z"),     ...