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

Get your Aviary invitation!

One of the most ambitious projects I’ve ever worked on is finally coming out. It’s really gratifying when looking at what people is able to do using our software, for example meowza, one of my favourite artists.. Damn, I wrote the software but I just can draw a couple of circles and place a text on the canvas, nothing else 🙂 I would never have imagined that someone could do so awesome images.

Now Aviary finally opens to beta user using invitations. So, if you want to participate to the beta and try out Phoenix or Peacock ( the tool created by Mario ) just send me an email, I can give out some invitations.
We’re also planning to add some new cool features to Phoenix in the next days!
Recently Mario has also posted on his site a nice video on both Peacock and Phoenix in action, watch it here.

P.S. We’re hiring! If you’re a talented developer write me an email!

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 🙂

Releases: BlazeDS & Flex Builder 3 Beta 3

Today is a good day for announcements!
I’ve just read the Adobe plans to release, as opensource (LGPL 3?), on labs its Remoting and Messages technologies under the codename BlazeDS.
Moreover Adobe published AMF binary data protocol specifications ( the technology on which the BlazeDS remoting implementation is based).
The source code will be available for download in early 2008

Second announcement is the release on labs of Adobe Flex Builder 3 Beta 3 (M4). Cool, I’m working almost all the time with flex!.. but why only mac and pc downloads are available? The Linux version is still the alpha released on 12 October!

Actually I almost switched to ubuntu, moreover the fact that there is Flex Builder also for Linux allowed me to spend more and more time on my ubuntu partition and I really feel satisfied. Flex Builder for linux is more and more stable than all the other Flex betas for Windows or Mac ( even if the more I use eclipse and the more I hate it… ), so why give us only that candy?

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

AMF news coming?

Today I’ve read a couple of guys who posted about the new Ted’s post on his blog.
Nothing new about amf, just some “best practices” on how to save using writeObject and readObject ByteArray’s methods.

But what caught my attention was the last sentence in his post:

“There is some big AMF news coming in December…. :)”

Damn, This is cool!
Does anyone know anything about this? I can’t wait!