Happy New Year 2015

March, not really the time of the year to wish someone a Happy New Year. I know, I usually have this post ready within the first two weeks of January (with an exception of last year). I have been
extremely busy with work and my side projects over the past few months and I could not really find time to blog. I hope I don’t write next year’s HNY blog post in April 😉

Without further ado, let me jump into last year’s highlights.

Highlights

  • Started going to the gym in January, for reals. (I’ve been a paying member for over 2 years though :P). Lost 22 lbs by the end of May
  • Pretty much utilized all of the 3-day weekends for fun stuff in 2014
    • My friends and I, flew down to West Virginia for the 4th of July weekend. We went mountain biking and white water rafting
    • My family was in San Francisco in September and it was fun
    • In November, my friends flew in to SF for the Thanksgiving weekend and that was fun too. We went snorkeling and drove down to Napa Valley
      and tasted some wines.
  • I started this thing where I create a new playlist for each month on Spotify (starting from March 2014).
  • Took a lot of photos on my Camera
  • Worked on a few side projects

Resolutions

#StayHealthy #StayPositive

Open Source

Up until a few years ago, I never really understood the value of Open Source Software (OSS). I used to think of it as something really lame because the quality that comes out of such software is usually “low”. Now why was I under such an impression? Linux. As a Windows user, I’ve always loved the OS for its ease of use and support for games. I found Linux to be a half-assed OS just because it didn’t support the games I played and it was relatively “difficult” to use. I couldn’t wrap my head around why Linux was such a big deal.

Web development

I started web development using WYSIWYG tools like Adobe Dreamweaver. I loved Dreamweaver. It was fantastic. It had every single feature that I wanted and more. I was happy.

Soon, I had to move from static HTML web sites to dynamic content serving websites using PHP. I thought PHP was awesome and powerful. I got serious with PHP development and started using software like Apache, MySQL etc. WAMP was pretty much my setup to start working on any new web app. I slowly switched to Eclipse for PHP (I was already an Eclipse for Java user). There were many tools that I needed which worked only on Linux. As a result, I had to “compromise” and switch to LAMP as my default development stack. At this point, everything I was using was OSS.

After a while, I moved on to Ruby. Moving to Ruby from Java/PHP was delightful. Ruby makes programming fun. My love for ruby got me thinking about how awesome open source is. The very concept of someone writing a beautiful programming language and giving it away for free was something that I couldn’t comprehend. Also, by this point of time, I started liking Linux. Linux felt powerful and easy to use especially for development.
It felt really good using Linux. If you’re a ruby developer and you’re into web development, you’re bound to use Sinatra or Rails at some point. It was when I started using Rails I understood the true value of OSS. I was making money by using tools that were written by others and given away for free.

<3 Open Source

Linux, Ruby and Rails convinced me as a developer that open source is really cool. There are many other pieces of OSS such as jQuery, NodeJS etc that contributed to it.

Licensing

The most important aspect of an open source project is the license under which it’s being distributed. A license grants/restricts usage rights to an open source project. A good open source license gives its users the flexibility to use/modify/distribute it. Hence, having a license in an open source project is very important.

For this very purpose I’ve created a ruby gem called “opensource”.

Opensource

opensource is a ruby gem that you can install and use to add a license to your open source project. You can install it by running the following command (assuming you have ruby 2.0+ installed)

gem install opensource

Once you have it installed, you can setup your credentials and start using the gem to create licenses.

The gem is open sourced under MIT license and you can find the source code at https://github.com/mohnish/opensource. You can find more information about the usage of the gem there. Please feel free to contribute back to the project. Contributions are always welcome <3.

I encourage each and everyone of you to contribute to open source software. It’s wonderful and satisfying.

5 years

Today marks the 5th year of my blog’s existence! 😎

My first post was about how I setup the first version
of my blog using WordPress. Since then, my blog underwent a few changes. For instance, I moved away from WordPress to Tumblr and then to Jekyll. This basically meant moving my blog over from my own personal web server to Tumblr’s servers and finally to GitHub’s servers. Even my blog URL underwent the following changes:

http://mohnish.net –> http://mohnish.in –> http://blog.mohnish.in –>
http://blog.mohni.sh –> http://mohni.sh/blog/ —> http://mohni.sh/

Although I don’t blog much, I’ve always liked the idea of having a blog to express myself, describe my experiences and showcase my projects. I also like posting random stuff.

Following is a graph I made, showing the number of posts per year (2 so far, in 2014):

It’s funny how I wrote 15 posts in 2012 and 2 posts, the following year. This year, however, I plan on posting photos on my blog. It’d either be that or have a separate custom app to showcase my photography (I’m still a noob photog). But for sure, this year I’ll be blogging more than twice 😜.

Here’s to more years of blogging…

/me raises a glass of champagne

Happy New Year 2014

Hello everyone! I know it’s February already but I never got to wish you guys a Happy New Year.

So, here you go:

""

Here’s a quick recap of what I did in 2013:

January

  • Created an open source component called “Hi5”.

February, March, April

  • (Nothing interesting happened)

May

  • Had a great vacation in Vegas with my childhood friends. Lost a lot of money at the casinos though.
Continue reading “Happy New Year 2014”

Hi5

The first thing I do every morning immediately after I wake up is, check my mobile for any emails/messages/updates etc. Today was no different. I was skimming through the updates and found an interesting blog post. I was impressed by the post and started scrolling the page to find the usual Like/G+/Save-to-my-swiss-bank-account buttons. That’s when I realized that there was no existing solution that was efficient and needed no authentication.

Dustin Curtis solved this problem by implementing the “kudos” feature in Svbtle. Unfortunately, Svbtle is not Open Source. So I decided to implement the feature myself and make it available as a reusable component that anybody could use by including the corresponding code. As a result, I created hi5!

Continue reading “Hi5”

Happy New Year 2013

I know I am super late but I am going to go ahead and do it anyway,
Happy New Year 2013 everyone!

""

2012

Hope you all had a wonderful 2012. I myself had a few eye-opening experiences (personally and professionally) and was in a miserable situation for the most part of 2012 but I have no regrets. I’ve learnt a lot last year and I’m proud of it. Let me share my experiences in 2012 with you all:

January

  • I got very sick and was bed ridden for 2 weeks. It was a depressing month.
Continue reading “Happy New Year 2013”

The Cloud & I

It was 1:30 AM yesterday night and I couldn’t sleep. I was trying really hard to sleep but I couldn’t. I gave up after a while and started to think about random stuff and thus, I ended up thinking about the Cloud.

The Cloud

Cloud storage has been one of the best technological innovations in the past few years. Several companies ranging from existing technology leaders to startups, seem to be interested in this field. Companies like Apple, Google, Microsoft, Dropbox etc really excel in this field. Each of these companies offer amazing services. These companies seem to be concentrating on making its users rely more on the cloud.

Continue reading “The Cloud & I”

Integrating Twitter Bootstrap and H5BP in Rails

Disclaimer: There are other alternatives to this setup by means of gems. But this is how I prefer to do it. Manually. With total control.

I have been working on a Rails application (a side project) and wanted to utilize the power of Twitter Bootstrap 2.0.1 and HTML5 Boilerplate 3.0.2 with Asset Pipelining in Rails 3.2.1.

**Requirements: **

Download Twitter Bootstrap from http://twitter.github.com/bootstrap/

Download HTML5 Boilerplate from http://html5boilerplate.com/

Setting up the Rails Application

First and foremost, create a new Rails application by using the command rails new app_name.

Once the app is created, navigate into the app folder cd app_name.

Integrating HTML5 Boilerplate

Now let’s first start with HTML5 Boilerplate. Open the downloaded H5BP zip file.

CSS:

Navigate into the css directory in the zip file. Copy the style.css file into app/assets/stylesheets of the Rails application that you just created.

JavaScript:

Once you’re done with that, navigate into the js directory of the H5BP zip archive. You’ll have script.js, plugins.js and a directory called libs. Copy the plugins.js and script.js into the app/assets/javascripts of your Rails application.

Continue reading “Integrating Twitter Bootstrap and H5BP in Rails”

Move fast and Break things

""

I have been thinking about implementing a lot of ideas that I’ve had since a while but never had the motivation to do so. That was mostly because I always plan on making things in a perfect way and tend to procrastinate a lot. So, perfection in my case can be dubbed as procrastination. To get rid of that, I have planned on hacking on the ideas that I’ve had and will try to complete them ASAP. Starting from today, I will pick up one idea at a time or even multiple ideas if I feel bored and hack on them. I will deploy them without waiting for my innate judgmental self to kick in and decide if the app is really worth deploying or not. The only priority for the deployment of an app would be that It Works™.

I will open source my applications one at a time so that anyone who finds my hacks interesting can contribute to them. I will also write a follow up blog post for each of these apps explaining the technology stack behind the app, the APIs used in the application and the process of building it.

I hope the information I provide helps you, inspires you and I really hope you guys enjoy using my applications as much as I do.

The Switch

If you’re reading this blog, then you must have noticed that I’ve changed the theme and the URL of my Blog. Well, those are just the superficial changes. I even changed my blogging platform. I used to use WordPress to blog (Of course, occasionally). But now, I switched to a much more comfortable platform, Tumblr.

Till now, I haven’t had any problems with Tumblr. In fact I like the service.

So, here is a little comparison of the two awesome blogging platforms.

WordPress: In a word, terrific. It has almost all features a blogger desires. It’s very easy to setup and use. It has a very neat admin interface. Nothing complex. You have a ton of plugins to customize your blog. There’re good themes, not great, good (the free ones). I’ve used WordPress for over two years. I have always loved it.

Continue reading “The Switch”

Happy New Year 2012

Bill Gates (B): Okay. So, shall we begin?

Me (MT): Yeah. Sure.

B: So, what’s the reason behind this sudden blog post?

MT: Sudden? pfft…It’s New Year. So, this is my customary post. Of course, since nobody visits my blog, it’s not a surprise that you don’t know about it. Anyhow, moving on…

B: Then why don’t you blog more frequently?

MT: There are two reasons for that:

Continue reading “Happy New Year 2012”

CareerTrackr v0.4

I have been actively looking for jobs since the past few days and I couldn’t find an efficient way to properly keep track of all the jobs I’ve applied and the resumes I’ve used for each of the jobs. I tried using some applications but in vain. None of them suited my needs. I even tried using Dropbox to keep track of all the resumes and the job applications. Even that didn’t go well. All of these had their own problems. I needed a powerful and robust solution.

As a result, I developed a new Web Application as a weekend hack, which does exactly what I need, keeps track of all the jobs that I’ve applied to along with the respective resumes. It’s called “CareerTrackr”. I don’t even know if the name is apt to the product that I’ve developed. The only thing that matters to me at the moment is its functionality. A lot of my effort went into designing the interface for the application. As always, I believe in a good UI/UX.

Currently the project is not open to the public. I am testing the project on my own. If I find any bugs (which I am eventually bound to), I’ll fix them and then open it up to the public. Also, I will Open Source the code once I am done with the testing. Once the project is full-fledged, I will post the link and the screenshots. If that sounds interesting to you, wait for my next post on CareerTrackr.