technick

qTranslate

By | technick | No Comments

Yes, the name points to a simple application that I wrote sometime back for MeeGo (Nokia N9). I am planning to make a UI overhaul of the application and hence, the application might be down from Ovi Store (now, Nokia Store) for a while. Initially, I wrote the application using some of my own custom qml components (like, I wrote my own “About dialog” for the application) but now, I would use the native components and apis to make the look and feel similar to the native applications on Nokia N9.

Work starts, soon.. 😉

Automation – role and responsibility

By | scribble, technick | No Comments

Test Automation and Continous Integration play a major role in Software Engineering. They not only help getting the valuable feedback early, but also provide us the real user experience and maturity of the software quiet early in the phase of actually releasing the product.

IMHO, a well trained human could do mistakes, but a well written script can never make any mistakes.

the saviour .. !

By | scribble, special, technick | No Comments

How the world was saved..

Every time there has been a moment when something heroic has been done, the history has been edited by the people who have money, power and UI!

Whilst in Independence Day, when Steven (Will Smith) and David (Jeff Goldblum) enter the mother ship, all the weaponry they have is a MAC (and not a laptop). As soon as David switches on the MAC, and opens the terminal, he wants to maximize it. He hits the maximize button but the window refuses to cover the whole screen, just because it is not needed by the program! As he had always been using a smaller monitor on which the terminal used to occupy the whole screen, he is unable to concentrate and write his “death code” to nuke the mother ship. Time was a legacy to David when he was on earth, but not any more!

Suddenly, the MAC beeps, says low battery and goes to sleep mode. They try to turn it on again by connecting it to the ship’s power line and that is when they realize that they do not have the proper power connectors.

Earlier, on earth:

President of US (P): What is the weight capacity of this alien ship?
The General (G) says, two human and two cigars, Sir, plus or minus 1 or 2 kilos; while he eats the other half of his apple.

P: But then, how do we nuke the mother ship?
G: We might have to look for the lightest laptop, Sir!
P: What options do we have?
G: At this moment, when it is a matter of life and death, I guess only MacBook Air can help us, Sir!
P: Ok, you got it! Load the plane, prepare the men.. lets get going!

While, inside the mother ship..

David: This MAC is useless. I think I can connect my Windows Phone 7 to this terminal and nuke this bastard!
Steven: Are you sure about it?
David: Yes I am!

David connects his phone to the “communication terminal” and open the telnet program. They have very less time, but he finishes typing his “death code” very fast. He is used to the T9 keyboard of the phone and has been using it since ages! Happy that he finished the code well in time, he saves the file, compiles it for the “mother ship” architecture and is about to upload the binary. As soon as he hits the upload button, a dialog comes on top: “This is the evaluation version of telnet. The upload feature is available in full version. Please enter your activation keys to upload or buy now”

Phew! We are doomed now! say Steven. Damn Windows, damn Bill Gates.. all he worries about is activation keys and money..

What could they have done now!

Steven: The aliens will kill us now!
David: Hey Stevei, why not we burn our cigars, blow its smoke on each others face and die of suffocation.
Steven: I always knew that “apple” or “windows” would have never taken us anywhere.. look where we are now. We are at the end of the world and I can do nothing to save the world. I had promised little smith that I will take him for a vacation to Helsinki, where he could meet Linus! At this time of Doom, we should have trusted linux… linux would have shown us the right door out of this situation… at least, we would not end up in front of a window or a half eaten fruit!

David: Do you have any plans?
Steven: Plans? NO! Wait a minute…

And suddenly, as if Steven has had a vision, he slips his hand in his pocket and takes out a black, brick like thing.

Steven: Can you connect this guy to the mother ship?
David: Will this work? Does it have “ssh” / “telnet”? Will it ask for any activation key? Is it fully charged? How do I write code on this guy?
Steven: Just try!

They saw the next morning with their families.

And that is how Nokia N900 saved the world!

Linux is the future. Not Windows!

git and regression

By | technick | No Comments

Quite sometime ago, I used subversion as the main version control system in my projects. I quite liked it and never wanted to move to git for the main reason being so many repositories and not one single repository to maintain the code and blah blah blah..

Recently, like 6 months ago, I started using git and I am gradually falling in love with it.  🙂

Something that I feel is worth sharing about git is its ability to find regressions. “git bisect”

(master) $ git bisect start
(master|BISECTING) $ git bisect bad
#the current version is bad
(master|BISECTING) $ git bisect good a37b6f0dcc8
#the hash a37b… was good where the tests passed!

This takes you to a hash between the HEAD and a37b… just run the tests here and if they are good, you need to run:
(master|BISECTING) $ git bisect good
otherwise,
(master|BISECTING) $ git bisect bad

This defines good and bad limits of the commits.

Everytime you run the git bisect command, git intelligently takes you to one commit/hash between the good and the bad limits and in a few more runs of the tests, it will finally point you to the actual git commit which caused the regression!

Once you are done, never forget to run:
(master|BISECTING) $ git bisect reset

Happy gitting everyone!

Linux, new PC and dual boot

By | technick | No Comments

Idea of this post came after I successfully installed linux (Ubuntu 10.10) on a new laptop (HP G62, i5core, Windows 7) which I purchased a few days back and since there were no posts that easily gave this “HOW TO” information about successfully installing linux, this post makes some sense.

The laptops, pre-installed with windows these days come up with 4 primary partitions (which is a limitation any ways) viz.

  • The system partition
  • The C drive
  • The recovery partition
  • The tools (in my case, HP tools)

In this case, as soon as you create a new partition by shrinking one of the volumes, you end up converting your disk to a Dynamic disc and linux at this moment does not support dynamic discs; at least not that I know. If you want to give installation a try at this moment, boot with linux cd and at the time of selecting the partitions, you will the “unallocated space” marked as “unusable” by the linux installer.

The solution to this situation is there on many forums which say:

  • Install linux (ubuntu) as WUBI
    • This has a limitation of allocating only 30 GB to linux
  • Convert your disc to basic disc and then go ahead with installation
    • This has a risk of loosing data and time when you go ahead deleting partitions, re-formatting your drive blah blah blah

For windows haters, the easiest way is to erase the disk and use it entirely for windows, I would have done the same thing, but kept a dual boot system for various reasons.

The solution for a dual boot system is:

  1. Create recovery disc for your system (optional though)
  2. Delete the recovery partition (you might want to use the in-built recovery manager wizard to do so rather than just using the disk management)
  3. Now shrink the volume to the amount of space you want to put in linux
  4. Boot with linux cd
  5. Now, you will see the “free space” available
  6. Create swap partition
  7. Create root fs (i used ext4 partition)
  8. And you are done!

You might want to google about: Dynamic disc, Basic disc, why linux does not support dynamic discs etc…

Gstreamer

By | technick | No Comments

GStreamer! One thing that I love the most about gstreamer is its plugin based architecture, which works for my n900 and my linux laptop in a way I want it to be!

I got some recordings to make, I got something to decode, I got some funny thing to do… I have a set of command line options using the “gst-launch” that I can use and be happy about it.

‘gst-launch filesrc location=file.ogg ! oggdemux name=d d. ! queue ! theoradec ! ffmpegcolorspace ! xvimagesink d. ! queue ! vorbisdec ! audioconvert ! audioresample ! alsasink’

‘ffmpegcolorspace is one guy which takes away so much from performance!’

pancha – tatva

By | technick | No Comments

Panchatatva, the necessary elements for life, sky, air, water, fire and earth! While each of these have their own important role in our ecosystem, none is actually “complete” without the other.

Was just wondering what are the five elements that could put nokia far above its close competetors, esp apple and android (google)?