| Thursday, February 24, 2005 |
|---|
Ajax [adaptivepath.com]
The three most important things I care about when it comes to web pages (after their usefulness or whatever other reason I am using it in the first place) are speed, speed and speed. I've been looking at this really, really interesting new approach to web applications used by Google Suggests, Google Maps and Flickr and I think every web developer should take a hard look at it. It really promises to close the gap between web and desktop apps. It is interesting how playing with that stuff (which adaptivepath.com calls Ajax) changed my perspective on how web apps should behave: When I posted the link to it at del.icio.us I wasn't sure which tags to assign to it. A nice feature of del.icio.us is the ability to see which tags other people used for that same URL. Wouldn't it be nice if del.icio.us suggested tags as I type (based on other people's tags) similar to Google Suggests?|
Posted by Branimir Dolicki at 13:54 |
|
# - G - Add comment |
| Wednesday, February 9, 2005 |
|---|
Getting Hooked on Podcasting
Some months ago Lars mentioned Podcasting to me. The idea seemed appealing but as I never listened internet radio much it didn't seem like something I'd use. Later, Carsten drew my attention IT Conversations - a site where one can download recorded interviews and conference talks. My first reaction was that I would probably never use it as I prefer reading to listening.And then I got myself an iPod. I'm not sure why I bought it. I am a gadget geek, that's for sure. But I never liked Walkmans and things like that. I always hated getting entangled in wires while trying to punch my U-Bahn ticket or not hearing what's going on around me. I guess being a gadget geek and a design freak at the same time was enough to shell out over 419,90 € for the 40 GB version (it must be a 40 GB one, I don't want to have to make choices on what I take with me and what not).
At first, I almost felt guilty for spending that much money for a toy I'm not even sure I'd use. I already mentioned I don't like wires while commuting and the problem of listening to digital music at my home has already been solved.
And then I actually tried listening those recordings from IT Conversations on my iPod. A whole new world opened up in front of my, er... ears! The thesis #3 from Cluetrain Manifesto comes to mind: "Conversations among human beings sound human. They are conducted in a human voice.
Here are some of my favorite recordings:
- Steve Wozniak at Gnomedex 4.0 (part two) tells a fascinating story starting when he was a boy building crystal-set radios and playing pranks all the way to the making of Apple I and Apple II. You have to hear this. It is brilliant!
- Clayton Christensen - if you haven't read Christensen's book the Innovator's Dilemma you will probably order it after you hear this talk.
A totally cool feature of the IT Conversations site is personalized RSS feed: while surfing the site you can add items to your listening queue. Those items then get downloaded overnight by podcasting software such as iPodderX.
|
Posted by Branimir Dolicki at 01:43 |
|
# - G - Add comment |
| Sunday, February 6, 2005 |
|---|
My Piano just crashed!
I've been a proud owner of the Clavinova CLP-170 Digital Piano from Yamaha for over a year. I've been very happy with the instrument: the sound is extremely realistic, in fact I think it is much better than a low-end acoustic piano I would otherwise be able to afford. Now when I'm tired of dealing with computers and bugs and code I can sit and play some jazz. One of the nice things about this piano is that it has the middle sostenuto pedal which you usually find only in real Steinway-ish concert pianos. So I was experimenting with the sostenuto pedal in that I played a chord, and then improvised some music while keeping the pedal depressed. Like on a real piano, the Clavinova simulated the effect of dampers belonging to this particular chord's strings kept raised. So if I played the chromatic scale while keeping the pedal depressed I could hear how the notes from my chord were sustained while other notes were not. So, I was playing and playing, happy to be far from software and bugs until... my Piano hung!. It stop playing completely and the display showed,oh my God,
Isn't that great! I even know in which file the error occured so I can fix it. Thank you very much for helping me forget programming and bugs.
UnexpectedError
utg_asgn.c 00301
|
Posted by Branimir Dolicki at 18:24 |
|
# - G - 1 comment - Add comment |
| Wednesday, February 2, 2005 |
|---|
Hacking my cell phone [www.forum.nokia.com]
As soon as I learned that Nokia is shipping a Python interpreter for series 60 phones I could hardly wait to try it out. And you know what? It WORKS!I went to the above site and downloaded the interpreter. I dragged it onto my Bluetooth File Exchange and voila, I have a real Python interpreter in my Nokia 6600! Supplied are some neat examples such as a simple RSS reader. I was immediately able to read Slashdot headlines on my phone. The RSS reader, although simple, does have some important features such as downloading feeds in background and caching them on the phone. It's an application that I will actually use!
I could hardly wait to start some hacking myself. One of the interesting cell phone applications are location-based services. So I found this little script that returns basic GSM location info obtained through the gsm_location() API call.
Now, this script returns something like:
MCC: 262 MNC: 1 LAC: 35342 Cell id: 25867Which isn't particularly exciting. So, I surfed around and found this file, which gives some interesting information about all T-Mobile cells in Munich. With this information, when walking around the city I'll be able to see not only the useless cell id but also things like:
80331, Platzl 1, Mikrozelle über dem Eingang vom Hard Rock CafeOr:
80799, Heßstr. 22, 1800 MHz, Diakoniewerk München-Maxvorstadt, RückgebäudeIt is not really that useful, really, but it is fun for start.
So, the first step is to use this little Ruby script to parse the data from above mentioned 26201muenchen.clf. This script produces something like this:
# -*- coding: UTF-8 -*-
class CellInfo:
x={}
x[52926]='80331 An der Hauptfeuerwache 8, Feuerwehr'
x[9107]='80331 Kaufingerstr. 1-5, Kaufhof'
x[49295]='80331 Sonnenstr. 26, 1800 MHz'
[... and so on - 971 entries ...]
If you are a Python hacker please don't laugh at me for making that hash a class variable or for generating Python code with Ruby. I am still a complete idiot when it comes to Python. All I want right now is to get this working as fast as possible.
I saved the above script as cinfo.py and dragged to the phone. Then I changed a few line of the above gsm_location.py:
--- gsm_location.py Sun Jan 9 22:04:54 2005
+++ hacked_gsm_location.py Wed Feb 2 18:50:57 2005
@@ -3,6 +3,7 @@
import e32
import appuifw
import location
+import cinfo
class gsm_location :
def __init__(self) :
@@ -10,7 +11,8 @@
def gsm_location(self) :
(self.mcc, self.mnc, self.lac, self.cellid) = location.gsm_location()
- self.text = u"MCC: %s\nMNC: %s\nLAC: %s\nCell id: %s\n" % (self.mcc, self.mnc, self.lac, self.cellid)
+ self.cell_info = cinfo.CellInfo.x[self.cellid]
+ self.text = u"MCC: %s\nMNC: %s\nLAC: %s\nCell id: %s\nCell info: %s\n" % (self.mcc, self.mnc, self.lac, self.cellid, self.cell_info)
return self.text
def close(self) :
This will simply give me the cell information such as '80331 An der Hauptfeuerwache 8, Feuerwehr' in addition to the existing data.
I tried it and it works here at home! I can't wait to take a walk around Munich!
|
Posted by Branimir Dolicki at 19:28 |
|
# - G - Add comment |
You may request notification for Branimir's Blog.