iPhone & Ubuntu notes…

No Flash stuff this time 🙂
During my last trip to New York city I finally decided to buy an iPhone for me too (I think I have everything from Apple right now.. except a mac 🙂 ).
The most annoying thing for a linux user like me is obviously the fact that the iPhone syncronization should pass from iTunes, which is not available for linux…
Ok, there are some ways indeed to copy music like this: http://help.ubuntu.com/community/PortableDevices/iPhone, but as you can see is not so smart.

Sync your address book isn’t easy too. The AddressBook sqlite can be easily browse using an SQLite browser such as SQLite Database Browser http://sqlitebrowser.sourceforge.net/, just get the AddressBook.sqlitedb (it’s into  /private/var/mobile/Library/AddressBook/)  from the iphone via sftp (just remember to install BSD Subsystem and OpenSSH) and call a simple query like this:
SELECT t1.First, t1.Last, t2.value from ABPerson as t1, ABMultiValue as t2 WHERE t2.record_id = t1.ROWID
For a full AddressBook sync you can read more here: http://www.estamos.de/blog/…the-making-of/

Another tip I just discovered is how to upload into the iPhone my own Ringtones.
First convert the mp3 file into an M4R file using this command line script:
mplayer -ao pcm input_file.mp3 -ao pcm:file="~temp.wav"
faac ~temp.wav -o output_file.m4r -w
rm ~temp.wav

then using sftp put the output_file.m4r into /Library/Ringtones directory. A sample workflow can be this one:
~/iphone/Ringtones$ mplayer -ao pcm The_Spell.mp3 -ao pcm:file="~temp.wav"
MPlayer 1.0rc2-4.2.3 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Core(TM)2 CPU T7600 @ 2.33GHz (Family: 6, Model: 15, Stepping: 6)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing The_Spell.mp3.
Audio file file format detected.
Clip info:
Title: The Spell
Artist: Lunatica
Album: Fables & Dreams
Year: 2004
Comment: 00001A75 000016D0 00004374
Track: 6
Genre: Other
==========================================================================
Forced audio codec: mad
Opening audio decoder: [libmad] libmad mpeg audio decoder
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
Selected audio codec: [mad] afm: libmad (libMAD MPEG layer 1-2-3)
==========================================================================
[AO PCM] File: ~temp.wav (WAVE)
PCM: Samplerate: 44100Hz Channels: Stereo Format s16le
[AO PCM] Info: Faster dumping is achieved with -vc null -vo null -ao pcm:fast
[AO PCM] Info: To write WAVE files use -ao pcm:waveheader (default).
AO: [pcm] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
Cannot sync MAD frame 538.0 (08:58.0) 0.8%
Cannot sync MAD frame
Cannot sync MAD frame
Cannot sync MAD frame 538.0 (08:58.0) 0.8%
A: 288.3 (04:48.2) of 538.0 (08:58.0) 0.8%
Exiting... (End of file)
alessandro@alessandro-u-laptop:~/iphone/Ringtones$ faac ~temp.wav -o The_Spell.m4r
Freeware Advanced Audio Coder
FAAC 1.26.1 (Jan 22 2008) UNSTABLE
Quantization quality: 100
Bandwidth: 16000 Hz
Object type: Low Complexity(MPEG-2) + M/S
Container format: Transport Stream (ADTS)
Encoding ~temp.wav to The_Spell.m4r
frame | bitrate | elapsed/estim | play/CPU | ETA
12388/12388 (100%)| 137.8 | 12.5/12.5 | 22.95x | 0.0
alessandro@alessandro-u-laptop:~/iphone/Ringtones$ sftp root@192.168.1.203
Connecting to 192.168.1.203...
root@192.168.1.203's password:
sftp> cd /Library/Ringtones
sftp> put The_Spell.m4r

Flex Builder on Ubuntu Hardy 8

UbuntuI don’t know exactly why, but the first time I found the link of an article about the first Ubuntu 8 hardy alpha release I couldn’t wait anymore and so I immediately upgraded my distribution..
I can’t resist to alphas and betas! damn!

Anyway, a part the obvious problems related to an alpha version, such as video card, mouse etc.. the most frustrating thing was the fact my eclipse installation was corrupted.. I reinstalled eclipse again and downloaded again flex builder for linux.
But when trying to install Flex builder  I received a really nonsense java exception error, which more or less was:

xcb_xlib_unlock: Assertion `c->xlib.lock’ failed

After some google searches I found out the solution for my problems ( I’m posting here in case someone else is so crazy to upgrade his ubuntu version with a flex builder installed into ):

In a terminal window:
sudo sed -i 's/XINERAMA/FAKEEXTN/g' /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/xawt/libmawt.so
Then restarting flex builder bin installation everything worked again and now I’m happy with my flex builder linux version again 🙂

FlashTracer 2.1.0

Thanks to Chad Upton who sent me some suggestions on how to improve FlashTracer I recently updated this extension adding some new features beside those already installed.
Now it is possible to define rules ( using the options panel ), which allow you to style the output messages (defining font-weight, font-style, color and text underline); they can work also like a filter to discard all the messages which don’t match the rules.

Here a screenshot of the new rules panel:

I also took advantage of this update to write the extension from scratch. It was my first extension and so the code wasn’t so clear, moreover I learnt how to use xul commands and observers.
I tested this extension on Vista, Ubuntu 7.10 and OSX 10.4. Here some screenshots of the running extension on those different OS:

Note. In some case you should first remove the mm.cfg file first. In Windows and linux it is placed into the user folder, in OSX you can find it under “/Library/Application Support/Macromedia”

Install now
P.S. Remember that you need the flash player debug.

UPDATE: A new flash tracer called fbtracer has been released. This new extension is integrated into Firebug. Read more here