Jekyll Docker image missing C headers

So, if you are using Jekyll Docker image and you need to install any Ruby gems that require C headers, such as raindrops in my case, which was a dependency for unicorn, you will find yourself faced with this error:

fatal error: asm/types.h: No such file or directory

Fortunately, there is a quick fix for this. Jekyll docker image allows you to add system dependencies very easily. You just need to mention the dependent packages inside a file called .apk at the root of your project or beside Dockerfile. Since the docker image is based out of Alpine linux, you need to specify the correct package name as in Alpine packages.

Create a file called .apk and add the following line to it.


Now, when you bring up your containers, it will automatically install the linux-headers package which contains all the required header files and proceed to installing the gems successfully.

Vim Bootstrap – generate .vimrc for your favorite programming language

Programmers in the current era like to work using IDEs because it is more user friendly. But there are reasonable number of programmers who still use command line for programming. Their favourite editor might be Vim. Vim is easy to use, light-weight and comes with almost every Unix distribution. Unlike IDEs, it does not hang easily. The only problem with Vim editor is that it does not have inbuilt syntax highlighters. Checkout Vim Bootsrap , problem solved. Using the site you can generate .vimrc file for your favourite programming language. Copy the .vimrc file in your home directory. Now, you are ready to start programming using your favourite language. Vim Bootstrap comes with support of c, python, php, javascript, perl, go and lot more.

Become a successful software developer

Success is what everyone wants. It can only be achieved through sheer hard work. How can you become a successful software developer?  Well, it is not that hard. Practicing a few small things can do wonders.

Solve problems:

Try to solve maximum problems. You can find a lot of resources in internet. For example, you can find python practice book here. Remember, practice makes man perfect.

Simple Hello,world!:

When you start to study/implement something, first you have to make sure  simple things work properly. Always go for ‘Hello,world!’ first.

Write simple, readable code:

Writing bunches of code does not make you a good programmer, write code as simple as possible. It should be readable and self explanatory.

Personal projects:

Do some personal projects. Implementing a project will increase your confidence level upto a great extent. You may come across some difficulties, but in the end you will be a happy person. It helps you to identify your strengths and weaknesses. It would be nice if you can reverse engineer some of the projects you like. Push your work on  github. So that, you can show others what you have done.


Want to become the best in the industry? The only shortcut is, to become a good googler. Googling is an art. You might have noticed that an experienced developer gets solutions easily while googling than a less experienced developer. It will also be more accurate. That is, googling skill improves through experience. If you are a newbie, don’t worry there are some tips and tricks to improve your googling skill. Here is an article which can help you to be a good googler.


Communication plays a key role in becoming a successful professional. Efficient communication increases productivity. When you are starting to do a task, make sure that you are clear on it. Discuss with your seniors and team lead to get a more clearer picture. When you discuss with others, you will get more points on the topic and get feedback of your approach.


Blogging is another way to improve your knowledge. By blogging, you can share your ideas and knowledge. Writing a blog in a topic which you are comfortable, will make you thorough with it. It also improves your language.

Read Tech news:

You should be technically updated. You can achieve this trait by  reading some of these sites.


Active in forums:

Be active in forums and discussions. It will improve your knowledge and make you sharper. Stack Overflow is a good site to start with.

Wearable Computers…

Introduction to wearable computers

Simply put , its a technology that incorporate in things you wear on day to day basis and it could be anything from a smart watch, augmented reality glasses or even a personal health monitor in the form of a bracelet.

The idea is that technology will increasingly become more part of our day to day lives, and it will become more intrusive as it will be part of our clothing and sometimes even part of our bodies.

The design of wearable computers is still a topic of research and a variety of user interfaces are being developed each day.

Brief history of Wearable Computers

Due to the varied definitions of “wearable” and “computer”, the first wearable computer could be as early as the first abacus on a necklace, a 16th-century abacus ring, the first wristwatch made by Breguet for the Queen of Naples in 1810 or the pocket watch from the 1500′. The first wearable computer that fits into the 20th century image was a computer designed to predict Roulette Wheels, this was invented in 1961 by Edward O Thorpe. A data tracker hidden in his shoes would track the speed of the Roulette Wheels and the computer would indicate what to bet on.

In 1967, Hubert Upton developed a technology which allowed the person wearing the glasses to lip read, this was using the LED device.

Steve Mann’s Concept…

Steve Mann, a professor at the University of Toronto, defined computer is not merely a time-keeping or calculating device, but rather a user-programmable item for complex algorithms, interfacing, and data management.

By this definition, he in 1981 Steve Mann designed and built a backpack-mounted CMOS 6502-based wearable multimedia computer with text, graphics, and multimedia capability, as well as video capability (cameras and other photographic systems). Mann went on to be an early and active researcher in the wearables field, especially known for his 1994 creation of the Wearable Wireless web cam

Steve Mann’s Wear-Comp Concept.

Steve Mann's Wear-Comp Concept

Applications & Future…

For the past few years, industry pundits have been predicting the death of the personal computer. I guess the personal computer is not dying, but is becoming even more personal. It is now something you’re going to wear – in your clothing, jewelry, shoes, glasses, watches, and even on your skin.

Military :

The wearable computer was introduced to the American Army in 1989. This was a small computer that was meant to assist soldiers at the battlefield. Since this the concept has grown into the current Land Warrior program and proposal for future systems The most extensive military program in the wearables arena is the US Army’s Land Warrior system, which will eventually be merged into the Future Force Warrior system.

F-INSAS is an Indian Military Project, designed largely with wearable computing. Indian Scientist, Prof. Dr. Andrews Samraj, Suggests an Ambush, emergency response, Life saving and rehabilitation for all operation strategists by the non invasive wearable technology.

Health care Industry :

Smart electronic “tattoos” will enable continual fetal monitoring. Today, the data must be uploaded by going near a reader, but in the future the data will be uploaded to the cloud in real time, from anywhere.

Smart electronic “tattoos”

There are some more examples like wearable automatic calorie monitoring and balancing system and health monitoring devices.

Entertainment Industry :

Wearable computer as devices to immerse the player more fully in the computer games or experiences him/she is currently interacting with. Currently there are already VR headsets which allows the user to change his view just by moving his head.


Wearable Computers would dominate in the near future, years ago you would not have thought that you could do some of the things you can do today as computers are getting smaller and more powerful they can be integrated into virtually anything.

Advantages & Disadvantages….

  1. Enhanced Communication
  2. Can be used to recognize a person in a high alerted area
  3. Flexibility
  4. Freedom
  5. Work from anywhere
  6. User Convenience
  1. Expensive
  2. Can cause irritation in heat
  3. Side Effects such as Headaches
  4. Wearable Computers can invade privacy
  5. Costly

Wearables From India

F-INSAS (Futuristic Infantry Soldier as A System )

Is an Indian Military Project, designed largely with wearable computing


Is a Tiny Wearable Device that you can wear on the Thumb of your hand as a ring and it will make your whole Palm, Fingers as Numeric Keypad and Gesture space. Developed in Kochi by a small company called RHL Vision Technologies.

Smart Cap

Arvind Sanjeev based out of Kochi India took less than a month and around INR 4500 to replicate Google glass via open source hardware.


Whatever area wearable computer technology is applied to you can see that it willl improve the quality of life and make day-to-day life less complicated. It is only our imagination which will limit the number of applications for this new emerging technology.

It may take some time for wearables to be commonly accepted. After all, it was once unusual to see people using cell phones or wireless microphones, but they have been embraced.