Friday, December 9, 2011

Choice of Technology Stack

I was looking for the ideal stack and here is what I found online

Should you build the whole web solution with Java or should you implement real-time algorithms in Java and web site in Ruby or Python?


Actually this is a question about keeping your technology homogeneous or heterogeneous. Our quick suggestion is: the more homogeneous your technology stack is, the better. In the end it is easier and cheaper to maintain and develop.

Simple rule of thumb  is: the more your team is experienced with a particular technology, the better the chances that this technology is a good fit for your project. For example if you have a Java team with 3-5 years of experience, it will definitely develop more rapidly and efficiently than a team of junior Ruby engineers with 1-2 years of experience

Eclipse and the JDK

I thought I knew the basic relationship between the JDK, the JRE and the JVM. But then the Eclipse IDE raised a question in my mind. I want to know that if I have eclipse installed on my system, do I still need to install JDK separately to be able to compile my Java programs? Here is what I found online.

Eclipse doesn't come with a jdk but a compiler and runtime environment built in. Technically therefore you won't need to install one, though if you want to run or compile from outside the IDE (highly advisable) or want to test against the reference implementation (even better, the built-in compiler isn't 100% compatible) you should.

My new Ford Fusion and Microsoft Sync

I own a Ford Fusion hybrid which has the Microsoft Sync entertainment management system, with speech recognition. There are 20+ commands and learning them while driving can be quite a challenge. Here is what I have learned so far..




  1. There are 3 attached devices:
    1. Phone
    2. Bluetooth Audio (through the same phone in our case)
    3. USB link to Ipod
  2. Voice commands to these switch to these devices:
    1. PHONE
    2. BLUETOOTH AUDIO
    3. USB
    4. LINE IN or USER DEVICE is the super set for all 3.
  3. Simple Voice commands are
    1. PLAY
    2. PAUSE
    3. NEXT TRACK
    4. PREVIOUS TRACK
    5. SHUFFLE
    6. PLAY ALL: use when
                                                              i.      Player gets stuck in one song or set of songs.
                                                            ii.      While starting up and on PLAY says “current selection cannot be played”.
                                                          iii.      Sadly works only with USB link. ”PLAY ALL” Won’t with Bluetooth link.
    1. AUTOPLAY ON: Theoretically, should resume play from wherever the song stopped. If it doesn’t work, use PLAY ALL to start over
    2. USB if system went looking for another device i.e. Bluetooth
    3. Big round button on top right: PLAY/PAUSE, same as 3.a, 3.b
  1. Phone
    1. Answering a call – phone key on steering.
    2. .Rejecting or Disconnecting a call – hold phone key down.