Wednesday, October 22, 2014

Docker on windows via Services for UNIX: An Engineer’s dream

 

I came across this news: http://www.networkworld.com/article/2836601/microsoft-subnet/microsoft-partners-with-docker-to-bring-containers-to-windows-server.html.

This is interesting in a lot of senses. It is a sign that in the new world the Microsoft windows is ready to move with the time and change. Also it makes the docker eco system more universal.

Of course we all have heard about demos that were run inside Microsoft and outside which showed these capabilities with windows pretty early in docker’s life time. So I won’t be surprised if this gets done sooner than expected !!

but I think it will be pretty difficult to get Linux based docker images working on Windows. So even when the technology is supported it may not be universal.

That is where the interesting part comes in. One of the major requirement of a docker image is the existence of Linux/POSIX kernel. As a few of us are aware, till recent releases, windows used to be released with a POSIX subsystem and tools on top of it.

I think implementing docker on top of Services for UNIX might be a better option or may even be a more compatible option.

 

This particular opportunity is tremendously exciting. Please watch this space for more discussions about the possibilities and approaches. :D

Friday, October 10, 2014

Hobbyist developer: How do side projects end

This is one of the most important things that folks tend to forget. You should always know the possibilities with your side project.  In my opinion, there has to be an out standing pipeline of projects. You should also know the priority of each of these. Also keeping the status as well as priority in your mind is pretty difficult. It is especially difficult if you have a demanding day job. and almost impossible if you are a middle-aging developer like me.
 
Discarded-Aborted-Saved-Shared
  This is the bucket most of the hobbyist projects end up in. Many reasons for that happening. But the major ones are that the developer is no more interested or the project is no more relevant. I thing there is nothing wrong in putting projects in discarded bucket. You should not take this as a failure that you are either discarding or suspending your side project. The generic idea is that very few ideas actually succeed. So it is definitely a win to have started. But once you realize things are not coming together, there is not point hanging on to an idea. The theme is that you should be generating and throwing away ideas very quickly.
 
You should be really cut throat about culling the old projects. This is how new and more exciting and more fruitful projects can be started. Working on the idea is not only the measurement of your will power but of the validity of the nascent idea itself.
 
One thing that I am trying to change at this point though is the way I let go of a project. I have not been very good at this aspect. When ever you decide to move on, you just need to spend a bit more time and get it in a shape where it is as useful as possible. This means that at the least, you should have it checked in to your private repository. If the idea is applicable, you should share it with the relevant folks.You can blog about the idea if it is globally applicable. And of course the most ideal way to let go of a project is the share the idea as well as the code as widely as possible.
Definitely there are limitations to this, which will reduce the extent of sharing. But you should still try and do it. 
 
Suspended-Saved-Shared
Another place where ideas end up is that because of some reason or another, we need to stop working on them for a while. This is the most dangerous place for any idea. This is where ideas turn into zombies. Not preserving them properly for a restart is the worst you can do to an idea and your potential. To preserve it properly, you need to ensure that you prepare it for a restart.ideas are delicate. So you need to ensure that you preserve them in great shape.  Here is one example :)
 
The way to achieve the same for a software project is to document as much as possible. Just before you assign you project to the crypt, you should ensure that you have checked in all the code and documentation. You should also think about future when you may want to restart work on it. For it, it has to be as simple to understand and start on it as possible.
 
Successful
Woo hoo !! YOU are the man/gal. If you have reached here, you have already been paid for your persistence. Now that you are out of limbo, other and more dangerous hells await you. But you have crossed the first threshold. I have seldom,if ever, been here.
Monetized
If you have completed something successfully and have been able to get some money out of it as well – that covers every thing. You , sir , should be writing this post :)
 

Tuesday, October 07, 2014

Hobbyist developer - Why do you do a side project

There are multiple reasons why one starts a side project. I have been starting those (and not finishing most of them). I think there can be many reasons and some of them are driven by the personality of the developer.
The point there is that it is important that you have felt to urge to try out some thing. This wish for action is more important than the nobility of the reason for which you started.
Here are some of the noble and not so noble reasons folks start their hobby programming projects - these contain a list of reasons why I have started my side projects as well.

Exploring alternate employment opportunity: There can be hardly any developer worth his salt who has not dreamt about starting a google or a facebook in his spare time. This can also be a fact that you have an organization as your next target and you are getting your feet wet with whatever they are doing so that you can hit the ground running. You may also think it makes your resume more attractive if you have some code written especially in the public domain in the same area you want your next employment in.

Your bid to change the world view:  Some of us have thought at least some point in time that folks are not thinking right. The soberer version of it is that you think you have another point of view for the current one which is also right. What better way of doing it than just doing a side project.

Learning:There is some technology, language you want to pick up and what better way than doing a quick project. I tried to learn Ruby on Rails the same way. (Before forgetting it even more quickly :))

Proving your point: There is some assignment at work. You think it can be solved in a more generic way. Your folks do not think so. You build your generic solution and open it to folks. People flock to it and you thumb your nose at the aforementioned nay-sayers. (Have not seen it happen too often - but no danger in trying)

Jealousy: You have the core piece of the work you are doing. You do not get it because it is assigned to somebody else because of experience, credentials or age. A healthy outlet to the envy is to implement the same thing for yourselves.

Of course I have not covered every thing. Do share if you think there are other reasons. It is highly likely they may make more sense than the ones that forced me to start my projects.

Sunday, October 05, 2014

NSA vs The Great Chinese Firewall : Role Reversal

These are two of the most prominent monitoring and analysis agencies in the world. The interesting thing is that they have very peculiar behavior. In fact there is a very good case of role reversal here. Where China is as open and bone-headed as Americans in the popular culture where as NSA is as sly and Machiavellian as Chinese are portrayed to be.

But the interesting thing is that both these things do work and do solve their motives. But the straight forward approach really brings a lot of cost with it - from image to impact on business. As well as because it is known and in the face, the folks who actually need to overcome the challenge would have developed better techniques. If not already done, they will do so definitely in near future.

But NSA surveillance would have continued unnoticed but for inside leaks. Even with these, I will be surprised if they did not plan for this contingency and have already controlled most of the damage.

Looking at it just from strategic and execution point of view, US strategy really is magnitudes superior to the Chinese one.

The reason being that at least in this field, camouflage is the best strategy. Knowledge and awareness is the thing that makes all the difference. If you are subtle and hidden, you can actually monitor things and then take right decisions at the right time.

You will know your enemy, but he will not know you. You will decide the place,time and manner of attack. And in the game of one-upmanship this is what matters the most.

As usual, depend on Hollywood to put it succinctly. Here you go:

Friday, October 03, 2014

A shout out to Daspalla, Vizag

We are on a small trip to Araku and Vishakhapatanam (more on that trip later). And as folks in the know would definitely know we did not plan enough (usual) and did not stick to the plan which was present (again nothing out of ordinary here).
This led to us ending up in Vizag late night without any reservation or even in idea where we will go next. Some kind soul on the train told us to try at Dasapalla Vizag.  The thing is that we faintly remember searching and coming across this hotel but the review were nothing extra-ordinary so we overlooked it. We were really skeptical when we called the reservations desk from the train.
But the booking was really quick and efficient. The surprise was that they did not overcharge us, as most of the other hoteliers would do when they find a customer in tight spot.

And the surprises did not end up then. The food in the restaurant down was very good (especially for the kids and the better half - as they were without any food for long time). The staff every where were very friendly and helpful.

The terrace pool was very nice and kids and myself really enjoyed the surprise.

 The complimentary breakfast spread was really nice. Special mention to the staff who would recommend different dishes and ensured that kids are comfortable and enjoyed the food (which we did).

I was surprised why the reviews were not more glowing on the internet. This is attempt at doing just that.

(P.S. In the spirit of full disclosure : they also had a surprise parting gift for me, but that did not affect my opinion :))