Wednesday, October 29, 2008

My dear dog - pinky :-(

Yesterday my dear ole dog passed away after suffering for quite some time with liver problems.She was probably one of the best dogs we had so far :-( She really helped us out when we moved to the new house in suburbs back then in 1997.The place was infested with snakes (mostly the non poisonous variety - but there were a good number of Cobras as well) , and my dog was amazingly good at finding and chasing out snakes every single time it entered the compound and multiple times even Cobras entered the compound, so I am sure it helped save us some serious damage by snake bites,Thanks dear pinky, may your soul rest in peace :-(

Monday, October 27, 2008

Deal Finder

America is a land of deals, I am constantly surprised at the number of web sites that post information about good deals and the number of good deals that are available at any point in time if only people are willing to put the effort to search.I subscribe to a bunch of deal sites through my google reader and sift through them, but then there are some many of them that it takes quite some time to go through them. I tried using a RSS filter like feed rinse(feedrinse.com) but it wasn't quite as effective, it does filter the RSS feed and then I can subscribe to that filtered feed from my google reader but it still will give me 5 filtered feeds for five differents sites ,which probably is OK but then I just got curious on how hard it is to do a very basic version of deal finder with absolutely no bells and whistles in python (because I am anyways playing with google app engine , I might as well learn some python)

It wasn't that hard to get the very basic version going.Of course thanks to an awesome library Universal Feed parser( http://feedparser.org) which handles just about all formats for RSS/ATOM and provides a very simple interface of fetching back the results from the feeds

Here is the code (I hope to work on this side project for some more time and try and see if I can get a decent version on web with something like Google App Engine)

Code on pastie.org http://pastie.org/301994

Sunday, October 26, 2008

I have been thinking of a few things for a long long time.One of it is computer science and the other thing is entrepreneurship.Not to mention other things I am interested in - fitness,family,investment,music and reading

At least from the past five or so years I have been wanting to dive deep into these fields.But thanks to my laziness I have been able to go nowhere
with it.

I have now also been theorizing on why I am lazy.I think there are a few things probably that I was doing very wrong

  1. Focusing on Long term goals: I was good at thinking where I wanted to be in say five years from now.These grand plans seems so romantic that I tendto lose touch on what I need to do immediately to get there i.e the short term plan - what I need to do in next one hour, one day and one week.Many a time I would end up day dreaming of how life would be five years from now instead of productively spending time on the near term tasks.


  2. Distraction: Even if I get to making my short term goals ,I would easily get distracted from the task at hand and switch to another task and then another....Finally at the end of day none of my tasks are done and some of it probably will never get done.So I think unless the task was totally a pathetic , bad and horrible idea to do, one should always make it a habit to take the task to its logical conclusion


  3. Wrong prioritization: I do make a list of todos every morning most of the morning, but the problem is quite a few of them on the list are what would be classified as "boring" tasks by most people.But that doesn't mean these were the top priority tasks for the day.Now I would easily convince myself that I could always catch up on them later and instead start working on something I find more interesting.The end story - the boring tasks would never be done because I never did them and the interesting tasks would never be done too because I always had the nagging guilty feeling of not working on the high priority tasks.

So since I am clear on where I want to get in the next five years and it really should be hard to break them out into near term goals, if I just focus on the tasks till they get done and build the discipline to do the higher priority ones first I think I should be doing better than
atleast what I am doing now :-)

Ok let me get to my first near term goal - figuring out how google app engine works so that I can soon get started on a idea I have for a web site

Friday, June 20, 2008

some tips from a jruby hacker on hacking jruby

Some good advice if you are interested in getting into Jruby dev

(3:06:39 PM)
bgurupra: i am wondering what is the best way to get to start contributing to the code source of jruby,trying to understand it by tracing the code seems a daunting task
(3:07:11 PM) VVSiz: yeah
(3:07:43 PM) VVSiz: bgurupra: the easier approach would be to start running the rubyspecs (or writing new ones) and start fixing bugs exposed by those, one by one
(3:08:32 PM) bgurupra: ok yeah I read that on your blog :-) but do you suggest some theoritical read up of compiler theory?lex , yacc etc?
(3:09:09 PM) VVSiz: bgurupra: in most cases you don't really need to do that :)
(3:09:24 PM) bgurupra: oh ok
(3:09:33 PM) VVSiz: that stuff is mostly done and works OK now (with enebo and headius taking care of it)
(3:09:44 PM) VVSiz: and it *IS* very hard path to start up with JRuby :)
(3:10:13 PM) VVSiz: I'd say that starting looking at the jruby bugs and picking up the easy ones until you comfortable, is better
(3:10:33 PM) VVSiz: and in most cases, the fixes are not in compiler/interpreter, but in core class libraries
(3:10:54 PM) VVSiz: and for those there is a very simple mapping Array (in Ruby) -> RubyArray (in JRuby)
(3:11:00 PM) VVSiz: String -> RubyString, etc.
(3:11:17 PM) VVSiz: so, 99% of your time you might spent in org.jruby package, where all those core classes reside
(3:11:39 PM) bgurupra: ok yeah I'll take that approach
(3:11:50 PM) VVSiz: another good way to help out is to run various benchmarks, identify the places where JRuby is slower than MRI and figure out why
(3:12:01 PM) VVSiz: or even writing small benchmarks that clearly show the problem
(3:12:08 PM) bgurupra: OK..
(3:12:46 PM) VVSiz: but I tell ya, interesting stuff, but not that easy, especially on top of the VM, with different options, different garbage collectors, different platforms :)
(3:13:42 PM) bgurupra: yeah sure there is loads of fun stuff :-)
(3:13:43 PM) VVSiz: one of the biggest issues in that area, it seems, is Rails performance. everybody agree that Jruby should be much faster with Rails, but nobody could come up with the exact places where JRuby wastes its time
(3:13:51 PM) VVSiz: yep, it all over the place
(3:14:18 PM) VVSiz: pick up any bug, and chances are, you'll have fun :)
(3:14:40 PM) bgurupra: yeah I'll get to the Jira right away :-)
(3:15:02 PM) bgurupra: thanks as always VVSiz for your inputs/help :-)
(3:15:36 PM) VVSiz: sure :)

Tuesday, June 10, 2008

no clear in cygwin :-(

Of all the unix commands I use the most clear is probably the number one on the list and cygwin does not have a clear command :-( and I hate cluttered screens

I could get around it by adding this line in the .bashrc file
alias clear="cmd.exe /c cls" though!

Monday, June 9, 2008

ah compact ruby!

I have this problem of messing up my desktop all the time.I keep all sorts of temp stuff(files and folders and short cuts) on the desktop and forget to clean up and before I know its one BIG mess.Since I am trying to pick up on a bit of ruby I tried writing a little script that would clean the desktop for me and put all the stuff i haven't touched in a while into a temp folder somewhere

Not to mention wifey was in a bit of a bad mood and I was better off looking busy :-)

I must say Ruby's code was much compact and more elegant than what I would have been able to do with Java.With some basic error handling and re factoring everything into logical methods it was still just 35 lines of code

Wednesday, May 14, 2008

So following up on my previous post,I figured the only way to get to path 2 is to do something on path 2 before somebody hired me to do path 2 stuff.Did a bit of research around looking for open sources projects that were interesting.I have kind of picked JRUBY for now, it is reasonably established and at the same time has lot of stuff still being worked on it or atleast thats what their JIRA says http://jira.codehaus.org/browse/JRUBY.So I tried to get it to compile on my machine only to realize it needed Java 1.5.Then I just tried forcing it to compile with Java 1.4 and then thanks to the tons of errors it spewed, I realized how back dated my Java skills were and spent some time learning about Enums and generics and static imports with java 1.5 which has been around for over 4 years now and I don't see we using it on our project at office anytime in the next 2 years atleast :-(