Programming for kids

logo-easter We spent the long Easter weekend, lazing happily indoors since the weather did not permit going out. I wondered if the time could have been spent better, and started researching if my older daughter is old enough to start programming.

Little background

My daughter will soon be six and she can use the computer very well for the usual tasks and I think she is a bit ahead of the curve, but that might just be a father speaking :)

The big bottleneck, I see, is her poor English skills. English not being our native tongue and she going to a German kindergarten, has limited her knowledge of English to a few words and phrases. Thus reading and writing code is going to be a challenge.

Visual programming

Given the language ‘handicap’, I started looking out for what the best way to visually teach programming, which does not involve much reading and writing. A little research resulted in 3 options, 2 of which are old and I had come across and one that is pretty new. Continue reading

Piece of action or peace of mind?

Every once in a while, I have to stop and think about how much consumption driven we have become. Indian’s were, and still are, one of the highest savers in the world. But things are changing rapidly with the young. Saving is not very high on the list of priorities.

Being Green

Everyone talks about being green, buying green. We participate in new fads like the ‘Earth day’. Personally, I think that not buying at all is even better.  Do you really need to buy a new mobile phone each year? What about the music player, the laptop, the car?

Whether I look at children or young employed adults, I see a clear trend. Everyone wants the biggest; latest; best, gadgets; phones; bikes etc. This is one American cultural influence I am not very comfortable with. Americans are known for their massive debt powered consumption. But imagine, with India’s population and her growing appetite what could happen to this planet?

Continue reading

Hausmeister service for India

Hausmeister Service Tauer in der Allinger Strasse, 2006 by gumtau.Thanks to the company I keep, online and offline, the only entrepreneurial ventures I see are tech related. Everyone wants to be the next viral sensation and make pots of money. Hardly anyone wants to add real value to the life of others and improve the community as a whole.

Rant aside, I recently came across a very interesting piece from Vivek Wadhwa titled Replicators, Innovators, and Bill Gates. The form of ventures I described above might be of innovative type, but there is no harm in starting a replicating venture. Especially if it brings in a steady stream of income and gives stable employment to a few people.

One such service I see in Germany which can be easily replicated in India is the ‘Hausmeister’, literally a house master service. For a fixed fee from each resident, a company takes care of all the common issues with a housing apartment. Whether it is cleaning, sanitation, repairs and other forms of maintenance.

With the several million apartment complexes in India, this service could organise and streamline the ‘building maintenance’ nightmare and make decent money, while generating employment for several people of varied skills. People who desperately need a job that they can do with dignity.

The occupants also gain as they have one throat to choke and do not need to deal individually with a number of service providers. The last such venture I saw, was the greatly successful cable wallah. No reason similarly spirited individuals can’t make this service a success too.

Windows 7 shortcuts

One thing that is clear from the feedback on my previous article on hidden Windows 7 features: we love our keyboard shortcuts. So here are a few more selected shortcuts.

Press this key To do this
Desktop Shortcuts
win logo key Open or close the Start menu.
win logo key + R Open the Run dialog box.
win logo key + D Display the desktop.
win logo key + Spacebar Preview the desktop.
win logo key + P Choose a presentation display mode.
Window Management
win logo key + M Minimize all windows.
win logo key + Shift + M Restore minimized windows to the desktop.
win logo key + Up Arrow Maximize the window.
win logo key + Left Arrow Maximize the window to the left side of the screen.
win logo key + Right Arrow Maximize the window to the right side of the screen.
win logo key + Down Arrow Minimize the window.
win logo key + Home Minimize all but the active window.
win logo key + Shift + Up Arrow Stretch the window to the top and bottom of the screen.
win logo key + Shift + Left Arrow or Right Arrow Move a window from one monitor to another.
Task Switching
win logo key + T Cycle through programs on the taskbar.
win logo key + Tab Cycle through programs on the taskbar by using Aero Flip 3-D.
Ctrl + win logo key + Tab Use the arrow keys to cycle through programs on the taskbar by using Aero Flip 3-D.
Ctrl + win logo key + B Switch to the program that displayed a message in the notification area.
win logo key + G Cycle through gadgets.
Taskbar Shortcuts
win logo key + number Start the program pinned to the taskbar in the position indicated by the number. If the program is already running, switch to that program.
Ctrl + win logo key + number Switch to the last active window of the program pinned to the taskbar in the position indicated by the number.
Alt + win logo key + number Open the Jump List for the program pinned to the taskbar in the position indicated by the number.
Windows Explorer Shortcuts
win logo key + Pause Display the System Properties dialog box.
win logo key + E Open Computer.
win logo key + F Search for a file or folder.
win logo key + L Lock your computer or switch users.

If you are interested in drinking from the fire hose, here is the definitive list of shortcuts.

Adding context to your logs

joysaphine @ flickr

If you have ever worked on a multi-threaded application or even any application of significant scope, one of the unwritten requirement is a log file that helps in supporting the application.

The challenge is to be able to piece together all the scattered log entries that belong together, may be as a single transaction, or a user’s session. So the goal is to have a unique identifier in each log entry that will aid greping. If you have ever faced this, you either did it cleanly as I will detail below, or you had to hack in a ‘context’ to each log entry by appending / prefixing some unique id.

I will talk about the two most commonly used logging frameworks are Apache’s log4j and log4net.

The bad (obvious) way:

logger.info(uid + " I am doing something important");
logger.debug(uid + " I am doing something else");

The problems with this approach are

  • might not have access to the uid in each function that is called
  • need to remember to append the uid everywhere
  • no way to do it in common code, utility libraries, etc.

The good news is, support for such a use case is baked into log4j and log4net.
Continue reading

Windows 7, hidden features

It’s been over 6 months, and Windows 7 still surprises me, pleasantly. The last time I felt the same about Windows was in 1995. Let me share a few things I found, which are generally not discussed.

Note: I never used Vista, so if some of these were present in Vista, I wouldn’t know.

The Windows Explorer

I think the explorer has seen the most refinement, there are nice things in all corners. My favourite features:

Pin to Windows Explorer

You might have heard about ‘pin to task bar’, but did you know that you can pin to windows explorer, which adds a folder to the Windows Explorer task bar shortcuts jump list. Wow, those were too many words but still doesn’t explain it right, so here’s a picture instead.

Drag a folder to the task bar

Pin to Explorer

And the folder shows up in the jump list

(right click on the icon)

Jump List

Continue reading