I was exploring the OpenMoko phone (Neo 1973) after I read about it in Dec'07 Linux Journal issue. It holds great promise. I might buy it as my next cell phone. Most of my gadget shopping research focuses on the versatility of the hardware. In other words, how many different ways can I use and reuse the hardware. This is essential because after few months I get bored of the software installed on that gadget. After buying Nokia n770, I have decided always to buy such "open" gadgets in future. So I was researching OpenMoko from that perspective. And OpenMoko as it turns out, is the most "Open" a gadget can be - as far as software stack is concerned (I am not interested in Hardware openness anyway).
Nokia tablets have some part of their software stack as proprietary components. So one cannot totally write an entirely new operating environment easily. (There are some projects happening in that direction though - e.g. Mamona) But OpenMoko has completely open stack from the beginning. I believe OpenMoko uses a GTK based environment by default. But now that Trolltech has opened Qtopia under GPL, there are Qtopia images available to run on OpenMoko. However I wanted to see if OpenMoko can run yet another upcoming mobile environment - android. So I did some googling. That brings us to the excellent post I mention in the title.
Although its conclusion is disappointing, it gives deep insight into the mobile phone software stack. Check it out here. The conclusion is, Neo1973's processor architecture (ARMv4) is slightly older than what android project binaries are compiled against (ARMv5). That's why one cannot use OpenMoko's Neo1973 as an actual phone that runs Android - at least not in the current state (as most of you know there is no actual phone that yet runs Google's Android platform, it will come sometime in later part of 2008). Benno (the author of above post) has gone to the extent of emulating unsupported instructions (something I would never have dared to do) just to get android working somehow on the Neo1973.
Once in a while you come across a post/article that fulfills your tech appetite to the fullest. It explores the matter to the darkest technical depths (to which you may not be able dive yourself), but you understand totally what is being said. This gives you a vicarious experience that satisfies your thirst for technology and inspires you to continue on your quest. I believe authors of such articles are true hackers (and I am not alone).
Saturday, January 19, 2008
Tuesday, January 08, 2008
two great videos
Today I saw two amazing videos reported on slashdot.
The first video is about a french radio operator who makes his own vacuum tubes. This 17-min video is a magic show for a geek. It shows a rare phenomenon when engineering meets craftsmanship. I have always had tough time getting success in hardware projects, so I turned into a software guy over time. That's why I started envying this guy, because there is hardly anything that a software guy can show in a video that will demonstrate the abstractions he visualizes and expresses in his programs.
That's when I saw this second video that shows an analysis of the assembly code that explains the IGMP buffer overflow in Windows kernel. I didn't understand a lot of it, but I liked the way this video helps one visualize the molecular structure of a software program, what we otherwise call assembly code.
Enjoy!
The first video is about a french radio operator who makes his own vacuum tubes. This 17-min video is a magic show for a geek. It shows a rare phenomenon when engineering meets craftsmanship. I have always had tough time getting success in hardware projects, so I turned into a software guy over time. That's why I started envying this guy, because there is hardly anything that a software guy can show in a video that will demonstrate the abstractions he visualizes and expresses in his programs.
That's when I saw this second video that shows an analysis of the assembly code that explains the IGMP buffer overflow in Windows kernel. I didn't understand a lot of it, but I liked the way this video helps one visualize the molecular structure of a software program, what we otherwise call assembly code.
Enjoy!
Sunday, January 06, 2008
Blog from nokia tablets
Last night I came across BenoƮt HERVIER's Maemo App PyGTKEditor. That finished my search for a simple text editor tool for Maemo written in Python. I was aware of how simple it was to write a client for Google's blogger.com using the python bindings of its GData protocol. So I was in search of a very simple text editor that I could tweak to write a Blogger client for Maemo.
PyGTKEditor is a very well written application. It is meant for writing/viewing source code written in variety of languages with syntax highlighting. It was very easy to trim it down to suit my needs and rewire it with sample code that came with GData bindings.
And here I have a working application that is suitable for micro-blogging from Nokia tablets. I have split it into 2 packages:
Latest Google gdata python bindings bundled into a .deb package and the blog editor itself. Here are the links:
gdata-python
maemo-blogger
I will organize this into a project if this gets bigger. For now, let me know your feedback.
P.S. If you liked this, check out another Maemo App I released yesterday.
PyGTKEditor is a very well written application. It is meant for writing/viewing source code written in variety of languages with syntax highlighting. It was very easy to trim it down to suit my needs and rewire it with sample code that came with GData bindings.
And here I have a working application that is suitable for micro-blogging from Nokia tablets. I have split it into 2 packages:
Latest Google gdata python bindings bundled into a .deb package and the blog editor itself. Here are the links:
gdata-python
maemo-blogger
I will organize this into a project if this gets bigger. For now, let me know your feedback.
P.S. If you liked this, check out another Maemo App I released yesterday.
Wednesday, December 26, 2007
cool n770 hack
If you are a nokia tablet user like me (n770/n800/n810), you must have wished for this feature I am going to describe.
When I am browsing the net on my desktop I come across a webpage that I would like to open on my n770 right away - mostly it's some maemo package that I would like to download and install. The problem is rewriting the cryptic URLs in n770's address bar is time-consuming and error-prone. Going to the same URL through google search takes couple of page loads, which takes sizeable time.
One way to ease this process is to use some clipboard sharing software (synergy, vnc viewer), I am not sure if that works, but I bet someone has tried it. Besides, it will be too heavy as compared to the following method I suggest here.
If you have ssh enabled on your tablet then you can run this simple script on your desktop and command the tablet to open any URL in its browser.
It is only this single command:
ssh root@<ip of tablet> "dbus-send --system --type=method_call --dest=\"com.nokia.osso_browser\" --print-reply /com/nokia/osso_browser/request com.nokia.osso_browser.load_url string:\"$1\""
Save this in a script nokia-browser.sh and the next time you want to open a URL, just execute:
nokia-browser.sh <URL>
You will be prompted for password (unless you have setup the keys)
Check your tablet, it must be loading the URL by now. If a browser is not already open it will be opened automatically because by d-bus magic.
I learnt about this command from this mailing list post. I am just trying to use it remotely.
When I am browsing the net on my desktop I come across a webpage that I would like to open on my n770 right away - mostly it's some maemo package that I would like to download and install. The problem is rewriting the cryptic URLs in n770's address bar is time-consuming and error-prone. Going to the same URL through google search takes couple of page loads, which takes sizeable time.
One way to ease this process is to use some clipboard sharing software (synergy, vnc viewer), I am not sure if that works, but I bet someone has tried it. Besides, it will be too heavy as compared to the following method I suggest here.
If you have ssh enabled on your tablet then you can run this simple script on your desktop and command the tablet to open any URL in its browser.
It is only this single command:
ssh root@<ip of tablet> "dbus-send --system --type=method_call --dest=\"com.nokia.osso_browser\" --print-reply /com/nokia/osso_browser/request com.nokia.osso_browser.load_url string:\"$1\""
Save this in a script nokia-browser.sh and the next time you want to open a URL, just execute:
nokia-browser.sh <URL>
You will be prompted for password (unless you have setup the keys)
Check your tablet, it must be loading the URL by now. If a browser is not already open it will be opened automatically because by d-bus magic.
I learnt about this command from this mailing list post. I am just trying to use it remotely.
Saturday, December 15, 2007
Picasso
I have no authority in art. But once in a while I try to understand the greatness of some masterpieces.
I have been watching this painting of Pablo Picasso while passing through one corridor in my office. It's titled "Bullfight - Horse air".
I liked it, in a sense that it is simple. You can see a man riding a horse hunting a bull. If one has gift of control over one's hand then one sure can paint this. I didn't exactly understand why Picasso would be a great artist for doing such work.
Every time before when I used to see this picture I used to see the three figures. But yesterday when I looked at it I only saw a handful strokes of brushes and that amazed me. In other words, what I saw was how the artist would have drawn it. It sure is trivial to duplicate something in real life on to paper (it's not trivial to me, but for gifted hands it is). But what is not trivial is, extracting the abstractions out of the real things and expressing them with minimal use of paint. I guess that qualifies the greatness of an artist.
I have been watching this painting of Pablo Picasso while passing through one corridor in my office. It's titled "Bullfight - Horse air".
I liked it, in a sense that it is simple. You can see a man riding a horse hunting a bull. If one has gift of control over one's hand then one sure can paint this. I didn't exactly understand why Picasso would be a great artist for doing such work.
Every time before when I used to see this picture I used to see the three figures. But yesterday when I looked at it I only saw a handful strokes of brushes and that amazed me. In other words, what I saw was how the artist would have drawn it. It sure is trivial to duplicate something in real life on to paper (it's not trivial to me, but for gifted hands it is). But what is not trivial is, extracting the abstractions out of the real things and expressing them with minimal use of paint. I guess that qualifies the greatness of an artist.
Subscribe to:
Posts (Atom)