Thursday, 19. August 2010
Tips for Bash power users 
Bashy folks might find this useful :)
http://www.tuxradar.com/content/bash-tips-power-users

Wednesday, 11. August 2010
Virtual hosting in apache2 
I was configuring virtual hosting within kubuntu and noticed that apache2 appears to have some slightly different tools with regards to setting up virtual hosts as compared to the older versions of Apache. This might be useful for people trying to do the same to simulate a production environment locally on their boxes:
http://www.debuntu.org/2006/02/22/7-virtual-hosting-using-apache-2

Thursday, 22. July 2010
Rocket Singh: awesome movie 
I usually don't really care much for the typical masala indian movies ( I just have to suffer watching them with the missus while working on my laptop once in a while :). But there are a couple here and there which really bring out the quality amongst the quantity.
Rocket Singh, salesman of the year is one such movie. It pretty much highlights everything that can be ( tho not always is) f'ed up over there in the biz world BUT most importantly it highlights the changes that are happening. A great story to boot. Highly recommended!

Monday, 19. July 2010
Cool book: Travels in the Mogul Empire 
Google Books is an awesome resource along with the
Gutenberg project for people who like free books. For folks like me who are very interested in history it's great cuz we can find really old gems like this one about a frenchman's trip to the Mughal court at the time of Aurangzeb.
Travels in the Mogul Empire by Francois Bernier

Thursday, 15. July 2010
Why are SMSes 160 chars long? 
Read an interesting post about why SMS messages are 160 chars in length:
http://latimesblogs.latimes.com/technology/2009/05/invented-text-messaging.htmlAfter having worked at a couple of mobile internet startups it was kinda interesting to read up on the history on SMS technology.

Friday, 02. July 2010
getting Chrome to play nice with bblean 
So I use a *nix style windows shell geared more towards power users called
bblean. One of the features it provides is the ability to shade windows ala *nix window managers. It does this by overriding the style for the title bar for all the windows. This was causing a problem with Chrome since chrome draws it's own title bar replacement ( tabs in this case). It was really annoying.
Well, it turns out that this has been solved. Short answer is: blackbox -> bbleanskin -> Edit Exclusions and then just add 'chrome.exe' to the list.
http://code.google.com/p/chromium/issues/detail?id=13766very cool!

Good reads 
Read a really good about the near-term history of the Iraq war called
Fiasco.A pretty interesting read about the planning behind the war, what happened, what went wrong and what went right.
Another interesting book that I read was on Scrum called
Scrum and XP from the trenches. It talks about the experiences of a team implementing agile techniques such as Scrum and XP for software development.
Both are recommended =)

Thursday, 17. June 2010
MigLayout 
I've been playing with
Swing lately. The
layout managers are quite a challenge and a UI with any kind of complexity beyond simple things quickly degenerates into gobs of unmaintainable code. It's no wonder that frustrated users usually end up using a gui/code generation tool. I generally prefer hand written code or declarative markup for UIs.
So if you're sick of laying out components in swing by hand, take a look at the
MigLayout layout manager. It will solve all your problems.
No wonder it's item #3 in the list of most requested
RFEs for java.

Tuesday, 15. June 2010
Loins of Punjab 
Watched
Loins of Punjab with the folks the other day - hilarious movie with a very cool ending! Recommended :)
Enjoy this
youtube music video with scenes from the movie.

Thursday, 03. June 2010
Speeeeeeeeed up firefox! 
Though I've pretty much moved over to
Chrome as my primary browser I still find
Firefox useful sometimes, especially for the
developer tools plugin. So here are some tweaks to wring out more performance for broadband connected users from firefox:
http://www.ubuntugeek.com/speed-up-firefox-web-browser.html

Wednesday, 02. June 2010
Why I prefer to develop in Linux instead of Windows 
I had been asked to put together a list of reasons why I would prefer to use a Linux desktop rather than Windows at work ( we currently develop on Windows and deploy to RHEL). I put together a couple of reasons; you may find them handy to convince folks too :)
- extensive developer toolchain built into the OS. Merge, diff, grep, svn, git etc etc all built into the OS. On windows I have to download and install freeware/open source programs to fill in that functionality gap.
- more powerful desktop user interface. I can setup keystroke shortcuts to commonly used applications, virtual desktop support is built in, scp/ssh support is built in. Again, I can install freeware/open source programs to fill in that functionality gap but it's all built into linux.
- handles load better. I have found my windows box to become somewhat unmanageble when I fire up a couple of programs which are memory hogs. In fact, I have had to cold boot windows because the UI becomes unresponsive. As a result of this I actually ended up corrupting my hard drive a while back and IT spent 2 days fixing it ( thankfully it was fixed!). I have rarely seen this on Linux. Even when the UI is non-responsive you can usually just kill the Xwindows daemon and restart it or access the box remotely via ssh and ask it to do an orderly reboot.
- interoperability with Outlook. I have IMAP working with my home email client on linux and activesync working with my cell-phone to sync with emails and calendar info. So there is no reason why I shouldn't be able to use linux with exchange in place of outlook.
- our production environment runs linux. This is an important albiet subtle point. Although Java runs in a cross platform manner, there are still OS specific traps that programmers can fall into ( for example, using files on the filesystem) which don't manifest themselves until we are ready to run the code on the production environment. That is the reason we have the test/integration environments. It would be even better to catch them upstream on the linux dev box.
- the current solution at work for running linux consists of a production vmware image for devs to run their stuff on. Something's better than nothing but there is the overhead of going through the OS translation layer since it runs on top of Windows. I would much rather run on linux directly and use Windows within a VM if I need to.

Tuesday, 01. June 2010
Very very cool video about organization, work and motivation 
My
sister forwarded this YouTube video to me about motivation and how/why people do what they do in their lives, especially as related to work. Excellent read and as someone who lives, breathes and thinks bsd/linux/java and everything in between lemme tell you it really resonates well with me :)
http://www.youtube.com/watch?v=u6XAPnuFjJc&feature=youtube_gdata 
Friday, 28. May 2010
Shoutcast - free internet radio 
I am sure there are tons of other free music/radio sites on the 'net but one of the original ones which has been around for a long time is
Shoutcast. It was originally written by the
Nullsoft guys who brought us
Winamp, among other things.
Look at the nullsoft site if you want to look into setting up your own streaming radio, video, etc. Cool stuff!

Monday, 03. May 2010
Good read: The Age of Kali 
I've been an avid reader of
William Dalrymple's books on recent indian history. I really enjoyed reading his collection of stories about his travels in the subcontinent called 'The Age of Kali'. It's a little dated but still a great read.
http://www.amazon.com/Age-Kali-Indian-Travels-Encounters/dp/1864501723Next on the list is his 'In Xanadu':
http://www.amazon.com/Age-Kali-Indian-Travels-Encounters/dp/1864501723For folks who live around Seattle, these and other excellent books are available at the local branch of your King County library:
http://www.kcls.org

Thursday, 29. April 2010
Jon Stewart rips into Apple 
nice :)
http://news.yahoo.com/s/ytech_gadg/20100429/tc_ytech_gadg/ytech_gadg_tc1850 
Thursday, 22. April 2010
Motorcycle stunts 
A couple of days ago I was out for a walk in the afternoon near the office and saw these guys filming some stunts on their motorcycles .. wicked stuff!

Running Android on the iPhone 
so appropriate after that last post/rant … nice! :)
http://linuxoniphone.blogspot.com

Wednesday, 14. April 2010
Apple's silly EULAs 
This is why I will probably never write code for Apple's platforms ( unless I absolutely HAVE to :)
http://daringfireball.net/2010/04/iphone_agreement_bans_flash_compilerlot's of buzz about it online:
http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=apple+eula+compiler+ban

Wednesday, 17. March 2010
XML VM 
Last night the our monthly SeaJUG meeting George mentioned a really interesting project called XML VM:
http://www.xmlvm.orgIt's basically a very flexible and extensible cross compiler toolchain. The interesting thing about it is that it doesn't translate at the programming language level. Rather, it translates at the runtime level ie byte code level instructions. The lower level of abstraction makes it easier to implement rather than trying to map at the source code level. It also appears to use XML and related tools quite extensively as the name suggests.
In non geek terms, it does things like compile a Java application to Objective-C. In short it lets you write java code which will then run on the iPhone. Among other things …

Tuesday, 23. February 2010
Eclipse plugins I use often 
I usually find myself writing code in either
Vim or
eclipse these days. So here are some plugins that I currently find useful:
Subclipse
Maven
ECL Emma good code coverage tool.
QuantumDB my fave JDBC access tool.
Groovy like it or not, it's here to stay.
PMD useful for catching silly things but may lead to angst.
Checkstyle useful for maintaining some level of sane literary standards on the source code but may lead to angst also :)
vim plugin - mixed feelings about this one. Couldn't get it to work and I usually fire VIM up from within eclipse or separately anyways.

Friday, 19. February 2010
2010 CWE/SANS Top 25 Most Dangerous Programming Errors 
Interesting read about various kinds of vulnerabilities to watch out for when developing webapps. Some of the classic ones like buffer overflow which modern programming languages like Java don't have. But some other interesting ones in there too. The consistent theme is to be careful about allowing any kind of 'programattic' or 'dynamic' functionality with input come from outside the app ( the user for example). Having implemented SSL support in Java clients/servers and implemented encryption support I found this a real interesting read from the security perspective:
http://cwe.mitre.org/top25/?

Tuesday, 16. February 2010
Website performance hints 
we've been looking into front-end performance optimizations at work here and I came across an interesting blog post on the topic:
http://developer.yahoo.com/performance/rules.htmluseful info.

Sunday, 07. February 2010
Cleaning up WinXP 
I've been meaning to clean up the missus' winxp laptop for quite a while now. It had slowed down to the point of being completely unusable. Followed some of the tweaks from:
http://www.pcstats.com/articleview.cfm?articleid=1494&page=2and turned off mcafee ( avira is much better) and some other unused apple crap. The machine is blazing along now.

Sunday, 24. January 2010
Kubuntu 9.10 rocks! 
I had been putting off upgrading to
Kubuntu 9.10 for a while now even though it's been out for a while. I had heard all kinds of horror stories about folks moving to KDE4 and not really liking it as much as KDE3. Well, I finally bit the bullet and upgraded and it kicks some serious a**!
I just selected the upgrade from within my older version and it downloaded and updated all the packages. One reboot later everything came up just fine - no hassles at all whatsoever. During the upgrade it prompted me for input whenever it found a diff in any files in /etc which was really nice. So I didn't have to do anything to setup my
Brother MFC-495cw. It was automagically picked up by the new version.
Everything so far has been quite stellar - kudos to the kubuntu team!

Wednesday, 04. November 2009
Importing contacts from Windows Mobile to Android 
I've picked up a new Google
Android based
Samsung Moment recently. The UI and functionality is a little different from the Windows Mobile phone we're used to but it's definitely a big improvement though the Mrs is still pissed that her long fingernails don't quite work on the touchscreen ( probably cuz it requires tactile feedback).
As usual the phone company couldn't transfer the contacts from the Windows Mobile phone to the new Android phone. So I started googling around looking for solutions to this problem. Just when I was contemplating writing a custom app using as specified at:
http://pythonce.sourceforge.net/Wikka/PIMsI came across this really neat freeware program which exports the contacts into a csv file:
http://www.freewarepocketpc.net/ppc-download-thunderbird-contacts-export.htmlThen one can import them directly into gmail:
http://www.freewarepocketpc.net/ppc-download-thunderbird-contacts-export.htmlWorks like a charm!
I must say that the android phone has really blown me away with it's UI, features and most importantly integration with web based applications to access and update it's data ( gmail, calendar, etc). The icing on the cake is the fact that the SD card mounts just fine as a usb drive under Linux. The integration between the phone and the internet based apps is a dream compared to the nightmare than activesync was for the windows phones.

Friday, 16. October 2009
free book: pro git 
I've been using
git off and on for some of my personal stuff for a while now. I found an interesting little tidbit of information at the
git talk which
Matthew McCullough gave at
no fluff a few weeks ago. Apparently there is a
neat way to use git under the hood which makes it work seamlessly with the
SVN repository. All the git commands are mapped onto SVN commands so the integration is seamless.
Also, on the topic I found a cool free book online about git:
http://progit.org/book/

Tuesday, 13. October 2009
sweden falls off the internet 
all I have to say is .. wow :)
http://royal.pingdom.com/2009/10/13/sweden%25E2%2580%2599s-internet-broken-by-dns-mistake/I wonder how well their testing for this change was designed and implemented.
kinda makes you one wonder how reliant we are on DNS these days …

Monday, 05. October 2009
chrome 
I've been playing around with
Chrome at work these days. Though it does kick ass in terms of performance, I still miss gestures from
Firefox. Still, here's a couple of tips you might find handy:
- if you run into weird 'Unhandled Exception' errors, you may want to try the '- -no-sandbox' option to start it. Just keep in mind that it's supposed to be a security risk so be careful about where you browse to.
- there's a way to block flash in chrome. You have to use the '--enable-user-scripts' startup option to enable user scripts and then download a block flash javascript file. Full details
here.
Hope someone finds this stuff useful :)
I'll probably continue to use both firefox and chrome for now.

Thursday, 01. October 2009
what is my ip 
I've been trying to figure out a way to be able to setup access to my folks' linux box remotely for a while now. They've been happily using it for a few years now and apart from the rare windows office incompatibility, they really haven't run into any big issues.
They don't have a static IP ( like pretty much everyone else on a non business plan these days) so I looked into Dynamic DNS as an option but couldn't get it going quite right. It needs to be setup on the Verizon router which supposedly has options to set it up but it never really worked.
Being the lazy programmer that I am I started thinking about how I could re-purpose what's already available for my needs. A simple, brain dead solution I came up with is to run a script via cron ( say on the hour) which figures out what their computer's public facing IP is and then scp it over to my box:
It could probably be improved upon by not sending anything if the IP hasn't actually changed or streaming the data instead of copying the file but this seems to work great for now! =)

Wednesday, 23. September 2009
Perimeter 
Read a really interesting article in Wired today about a soviet doomsday machine called Perimeter. Apparently it was pre-programmed to destroy the US in the event of a nuclear attack and it had built in safeguards to accommodate scenarios where the soviet leadership might be wiped out, etc etc. Man, I wouldn't want to be the programmer who worked on parts of this system :)
http://www.wired.com/politics/security/magazine/17-10/mf_deadhand?currentPage=all