Tuesday, November 13, 2012

Resurrection Remix @ Samsung Galaxy S2

Having rooted my phone about 6 months back (just a month before the warranty expired) I should have  posted this slightly earlier. But hey....

My Samsung Galaxy S2 is now on Resurrection Remix AOKP Edition.
This is a custom ROM written by westcrip and a bunch of folks. Brings the goodness of the Open Source android to my S2 much faster than the poor folks at Samsung are able to (am calling them poor as by now I think there are probably only 2 engineers still working on S2 software now and one just can't expect them to compete with open source).
So, right now I am on v3.1.2- which brings the goodness of Jelly Bean 4.1.2 alive.

Some great resources I used to bootstrap on the custom ROM learning curve are
Galaxy S2 root- Post on 3.1.1 and their great FAQRR's forum site- http://forum.xda-developers.com/showthread.php?t=1436854

Take the Blue Pill. Have fun!

PS- The new gesture keyboard with JB 4.1.2 is awesome. Almost as good as Swype. Waiting for Google to be sued by them. :P

Monday, October 08, 2012

Free Product Advice- Data Cards

Dear Airtel, Tata Photon, Reliance Netconnect, and Sundry,

Here is how your datacard experience should look like

  1. Plugin a data-card. This is a thin (good-looking too?) device. Only as wide as the USB port so that it doesn't block the usage of other ports. Means your customers can do things like use mice, charge their phones etc. in parallel.  
  2. (OPTIONAL) First time, prompt and istall any needed device drivers, etc. 
  3. Simply start working! Don't open an app that will suck resources, is slow as hell and has one button called connect/disconnect!

I will happily pay the first one of you that makes these changes- 500 bucks premium.


Saturday, June 05, 2010

one of the better patent quotes recently

...ideas generally have no economic value whatsoever, except in rare cases such as when a patent is issued. And even in those cases it's the patent law that creates the value, not the ideas.

- Scott Adams, Dilbert blog.

Friday, August 14, 2009

rails and unit tests

today i came across a case when i wanted to test some code that would eventually be running on the rails environment (a bj job) but didn't really have anything Rails-y other than logging via Rails.logger.debug etc.

i ended up creating a stub for the rails logger so that i could run this as a simple unit test case instead of a rails test case which take a helluva long time.

add a new file called 'rails_stub.rb' into your test folder. in that dump the following code-

module Rails
#rails stub
def Rails::logger
return Rails::Logger.new
class Rails::Logger
def debug string
log "DEBUG:\t"+string
def info string
log "INFO:\t"+string
def log string
# adding a prefix
print "RAILS_LOG:"+string

in the test case, just require rails.rb and you are set to go., running the test case from the command line will dump the logs onto the terminal.

exercise for the future- get this stub logger to be a littl emore fancy- supress by level etc.

Sunday, July 26, 2009

unit testing private methods in ruby

don't u just love this???

class Class
def publicize_methods
saved_private_instance_methods = self.private_instance_methods
self.class_eval { public *saved_private_instance_methods }
self.class_eval { private *saved_private_instance_methods }

and to test the private method blah of a class Foo

class TestFoo &Test::Unit::TestCase
def test_blah
Foo.publicize_methods do
assert_not_nil Foo.blah

and thats it... :)

Thursday, June 26, 2008

keyboard GUIs

A few days back I stumbled across a world of what i call 'keyboard GUIs' though which is much better terminologized and explained in the article The Graphical Keyboard User Interface. In short this encompasses those UIs that try to marry the intuitiveness of the GUI with the speed of the keyboard based command-line style. And since then I have been discovering them all over the place...

1. Launchy (windows) - Somewhere between the linux Alt-F2 run dialog and the windows UI. launchy.png Once you start using it, you start wondering what life was before it and contemplating those other poor windows users still stuck to point and click...

2. Google Reader Keyboard Shortcuts- especially 'jump to subscription' ('g'+'u') I think the Google Reader UI was starting to get really cluttered (or maybe its because I have 250+ subscriptions) when they gave the keyboard shortcuts and saved me from having to search all over the place for the next thing to read. reader_g+u.png ** Wish those guys would add some wildcards into that search thoug, given that there are a whole load of feeds that start with the

3. And lastly we come to our friendly Eclipse which has this superman-shortcut (accessible via Cntrl+3) that gives you search over a whole bunch of thingamajigs. eclipse_cntrl+3.png *I am not sure which version this shortcut and UI was available from. I tried it on Ganymede (3.4) and am quite sure it doesn't work on 2.12 which I use in office.

UPDATE: FireFox already has a prototype plugin Cntrl-Tab by Dao which in which on hitting F4 you get a cool multi-window tab grid with a filter input box Cntrl-Tab ('F4')

Tuesday, April 08, 2008

JAX India 2008- Day 1

starting today and for the next four days i'm attending jax india 2008 thanks to my employer.

the conference is happening at the jn tata audi@iisc which is like 20 km from my house, so i had to leave real early at around 8 am (my mantra being to wake up post meridian if one can get away with it) in order to reach there in time.

which, thanks to bangalore traffic, i didn't of course- missing most of the introductory session. so from what i gathered in the last 5 minutes of that was that the conference is

  • a series of such events 'round the globe

  • has been around for a few years now and

  • is a mash-up of 3 conferences in 1- eclipse, java-stuff and enterprise stuff (formally enterprise architecture).

that said, we dived into the first session which was scripting support on the java platform by Chuk- a session introducing scripting basics and JSR-223 and . though the session was delivered by the exuberance of an evangelist, somehow the fact that the examples were in javascript (which has always given me the heebie jeebies), which is the default bundled scripting engine in jdk 6, put me off a little. also the api for calling/running scripts from within java code seemed pretty ugly as seen in the sample below-

ScriptEngineManager seManager = new ScriptEngineManager();
ScriptEngine engine = seManager.getEngineByName("js");
try {
engine.eval("println('hello there');");
} catch (ScriptException e) {

more info on this topic at scripting.dev.sun.net

the one tidbit i paid notice to was that java 7 might change the way the software is downloaded/available to decouple the vm and the 'java' part of it and allow need based download...

next up was the session by Guillaume on groovy which is a new gen scripting language that runs on the java vm.

initial snippets he showed us gave me the impression that this is heavily 'inspired' from ruby, though i was amazed at the flexibility of the language when Guillaume walked through a demo where he took a slightly complicated HelloWorld program using a JavaBean, ran it on groovy, and hacked it line by line into a 'groovier' form while demoing the syntax sugar. All i can think is that the grammar must be a bitch!

2 more cool things-

import groovy.swing.SwingBuilder
import java.awt.BorderLayout
def swing = new SwingBuilder()
count = 0
def textlabel
def frame =
swing.frame(title:'Frame', size:[300,300]) {
textlabel = label(text:"Clicked ${count} time(s).",
constraints: BorderLayout.NORTH)
button(text:'Click Me',
actionPerformed: {count++; textlabel.text = "Clicked ${count} time(s)."; println "clicked"},

after that started a keynote session delivered by roy singham of thoughtworks titled 'shift happens' which was centered around some predictions of whats going to change (mainly die out) over the next few years in i.t., but morphed into a passionate speech ranging on topics from customer-confidence to soa to ecology to lean-manufacturing to project-management-pitfalls to Ola-Bini... inspiring/thought-provoking and definitely challenging one's ego.

after a pretty good lunch, i got back to a session on tips'n'tricks on eclipse plug-in development by Chris. was pretty fast as most people in the session were like me, nubies to plugin dev, so chris had to go through an extra (backup) slide deck on eclipse pde 101 to get up up to speed.

lecture notes-

  • read-up on OSGi (planning to start here)

  • the Plugin Spy tool available in 3.4+?

  • tptp for profiling (why is my ide pregnant?)

looking forward to the hands-on session with him this friday.

the final session of the day was on soa challenges by Ken which was a humorous and interesting session on the various problems faced in soa adoption/implementation on the business, political, strategic and (least) technology fronts.

ps- all information about the speakers and sessions is from my weak memory+googling.. so any inaccuracies are totally my fault.