Showing posts with label Technology. Show all posts
Showing posts with label Technology. Show all posts

Thursday, June 25, 2009

Move from Nokia to IPhone with style, thanks to Google Mobile Sync

I'm continuing to enjoy my newly unlocked IPhone 3G and tonight I started to snap out of the fascination and set out to sync all my contacts and calendar entries from my (now old and obsolete and dull) Nokia N76 to my IPhone, I had a very simple strategy in mind, sync the Nokia with PCSuite on Vista, and Sync that back to IPhone using ITunes. Unfortunately it wasn't that simple ...

On Vista PCSuite sync's your contacts with Windows Contacts which is stupid and dull and so 1990's, but the real issue for me is that it drops information while syncing, specifically if a contact has more than one mobile number it just syncs the default one, and it does the same with home numbers, a limitation that you simply can't live with because nowadays everyone has a mobile number for business hours, mobile number for evenings, mobile number for weekends, you name it ... and if you care to stay connected you got to keep all those

I thought that this can be a good time to explore the world of OTA (Over The Air) Syncing of mobile data, and I was reasoning that if I managed to do that from my Nokia, there is a big chance that I can Sync back to my IPhone, a simple query on Google lead me to one of their new "Beta" services surprisingly enough named "Google Sync" :)

I started at this page, Google Sync fo Nokia S60 and panicked at the fact that if I would setup Google Sync, I will not be able to sync anymore with PCSuite afterwards without losing data or at least messing it up ... but I can do without that at the moment, after all it hasn't done me much good anyways. To make sure that I'm not loosing any information from my contact list (which is over 800 entries by the way and that makes it worth the effort) I started by doing a one time OTA Nokia-Compatible-Only Backup on OVI free OTA service just to be safe

Here are the steps to setup OTA sync for Contacts, Calendar, Tasks and (Soon) Mail on Google Sync for your S60



Get Google Sync on your phonenokia_smart_large



  1. Backup your data

  2. Download mail software

  3. Set up Google Sync



First few times I tried to Sync with Google from my S60 I got errors, obvious ones like "Server Error, please try again later", and another more subtle one like "your account doesn't have permission to sync with current settings contact your administrator" ... guess that referred to the server side account, I looked around on my Google Account for something that can be related to Sync permissions but didn't find any. After a short while and some perseverance in re-trying as advised by the first error ... it succeeded. I located some forums and blog entries talking about the Google Sync Exchange server not being stable at the moment

Now for the Easier part Syncing with IPhone, that is an easy one, and doesn't require any software installation or re-tries, here are the steps I followed:

Get Google Sync on your phoneapple_large



  1. Backup your data

  2. Set up your iPhone

  3. Learn about options and features


While setting this up, I chose to delete all contacts on the IPhone when asked, usually you are asked when you turn ON Contacts Sync, and the same applies for the Calendar, after finishing the configuration just open your IPhone Contacts app and wait for few seconds, Sync will start automatically provided that you enabled "Push" for the Exchange Account you created.

Now I have my personal Contacts and my personal Calendar Sync'd with my personal Gmail account, life should be pink enough, but not for me ... My expectations are now raised and I wanted to do the same with my Business email account, hosted also on Gmail Business mail, but life can't be perfect ...

There is a limitation that you can only setup ONE and only ONE Microsoft Exchange account on your IPhone, so here goes my dream, I reduced my expectations and wanted to overwrite the Exchange account settings for my business email and choose to Sync my business Calendar only, such that I have my personal Contacts (Sync'd once in the begining and left in peace) and my business Calendar (actively syncing) on my IPhone, so I tried to switch off the Contacts Syncing now in order not to delete or mess up my happily stashed 800 contacts, but if you do so IPhone tells you that if you turned it off all contacts on your IPhone would be deleted!! didn't find a way to work around this one yet ... again looks like life indeed can't be perfect

Still at least I have all my Contacts, and active Syncing is really cool, add, edit or delete either on the mobile or on your email account and the changes are reflected to the other side, another neat service from logo_sm

Sunday, June 14, 2009

Getting You Started with Python

I was introduced to the world of Python 18 months ago, and since then I love the language and always consider it my first choice and my fluent tongue, specially for fast prototyping or small to medium scale web development

A problem that many software engineers confront when they first come to python is that they are very occupied with (and religious to) their original tongue and they are trying to speak python with a Java accent or adding a C/C++ dialect to the language ... simply don't try to do that, you would only feel the beauty of a language and benefit from its strength when you surrender to its unique nature.

Long time ago when I was still struggling with my English, a teacher gave me a very useful piece of advice that helped me a lot since then, he said "if you wish to be a good English speaker, you got to THINK in English" ... he put a lot of emphasis on how harmful it is to your learning of a new language to think in your mother tongue and then translate the meaning to the new language, you would learn very slowly and your English will be also polluted with odd words and language constructs that are not applicable in such context.

I have a lot to say in this subject, but I thought it is better to share here some basic resources, blog entries, articles and videos that I used to learn to THINK in Python and allow you to be shaped by that literature first hand ...

Python is not Java (A must read if you have a Java background)

http://dirtsimple.org/2004/12/python-is-not-java.html
http://www.ferg.org/projects/python_java_side-by-side.html


Basics


Python home:
http://python.org/

Official Tutorial

http://docs.python.org/tutorial/

Are you using Eclipse, here is the Eclipse plugin for python development:
http://pydev.sourceforge.net/

Be Pythonic
http://wordaligned.org/articles/essential-python-reading-list
http://eikke.com/how-not-to-write-python-code/

Noteworthy Persons


Guido Van Rossom

Alex Martelli

Python on Youtube

a very soft introduction to python, by Alex Martelli, Author of the Oreily book "Python in a nutshell":
http://www.youtube.com/watch?v=bDgD9whDfEY (part 1)
http://www.youtube.com/watch?v=y7vwZ20SDzc (part 2)

python, a dynamic language for all kind of applications (Guido van Rossum):
http://www.youtube.com/watch?v=ImfbpMjpKe8

More advanced, Design Patterns in python (may be you would come to those later):
http://www.youtube.com/watch?v=1Sbzmz1Nxvo (part 1)
http://www.youtube.com/watch?v=tJXhtncDBu4 (part 2)

More and more advanced, in depth talks:
http://www.youtube.com/watch?v=VOzvpHoYQoo (python object model)
http://www.youtube.com/watch?v=23s9Wc3aWGY (python internals)

Guido talking about the new python, 3000:
http://www.youtube.com/watch?v=66NThkgfc1U

Python & Machine Learning

Peter Norvig talks to facebook engineers about Google translate and machine learning in general, and uses python code to demo his ideas

Have a good code

Thursday, May 28, 2009

Convert Videos for IPhone on Linux using Avidemux

Recently I downloaded some amazing video lectures from MIT Open Courseware program, an great initiative by MIT to avail top level online education to the rest of us who won't dream of studying there (although I always feel free to dream), I was specially interested in the Introduction To Algorithms course by Prof. Charles Leiserson

I planned to have all the videos loaded on my IPhone to have some brain food for the road, finding all videos in mp4, I was hoping that they would be compatible with IPhone, but unfortunately ITunes refused to sync the videos with a message:
"file" was not copied to the IPhone because it can not be played on the IPhone"

I searched and found many blogs and articles going in details about the complex specification of video and audio mux supported by IPhone, such info is informative but won't help you much to actually get it to work, when I googled around I found long lists of software products that would help you convert your videos in one click, most of the software is running on Windows and Mac, and I did tried a couple of those on windows and the result was a garbled video image or cluttered sound.

I learned that Avidemux 2.4.4, a free video editor on Linux can manipulate almost all video formats, but using trial and error to try to get the right combination of Video and Audio Encoders, bit rate, partition decision, ... wasn't a user friendly experience at all, not even close to a human one

Here is the right settings that works with Avidemux:

  1. Set video encoder to MPEG-4 AVC (x264)

  2. Click Configure

    1. Motion tab: set partition decision to 4

    2. Misc tab: uncheck CABAC

    3. Partition and Frames tab:

      1. Uncheck 8x8 transform

      2. B-Frames, set max. Consecutive to 0





  3. Click Filters (Under Video on the left) and enable MPlayer resize filter, set target size to 480x320

  4. Set Audio Encoder to AAC (FAAC)

  5. Set Format to MP4

  6. Save your file with extension .mp4


That's it, it will take a while to finish, you are looking at 10 minutes to convert a 1 hour 250MB video in incompatible mp4 format (as the ones I got off the MIT OCW website) to IPhone friendly mp4, and Avidemux doesn't allow multiple selection, so you would have to do one file at a time (although you can run multiple instances of the application and challenge your CPU) ... It would have been nice to find out about command line arguments (if any) for Avidemux to be able to wirte a little script to do the hard work overnight for me

Tuesday, May 26, 2009

My IPod Touch 3G 2.2.1/BB 2.30.03/BootLoader 5.09 ... The ultimate frustration

Recently I decided to live on the fancy side of the street and get myself a 3G IPhone, because that costs over 700$ in Egypt and is locked to GSM providers I played it more smart and got myself 2 iphones from USA, my brother bought them for me on eBay and his focus, with good intention was getting a phone that is in the best shape, in other words recently manufuctred and good as new, the single device cost average 450$ so it felt like a bargain at the moment ...

I asked a couple of my geeky colleagues to join me in the adventure of the unlocking, Ahmed Soliman (Soli) one of the youngest & smartest system/software engineers I've ever worked with, a living idea generator and amazingly a geek with a sense of humor, and Ahmed Kamal (Kimo) a Linux guru who I gladly grants a root access to my Linux machine at all times to be a friend in need, he talks command line, tell jokes with parameters, socialize with network protocols and have a memory of a 100TB ZFS system with daily snapshots ... we set out for the adventure with full belief that it will work and we are the masters of the universe. Unfortunately I was too confident

The brand new iPhone, that looks good as new has OS version 2.2.1, baseband version 2.30.03 pre-installed. At first glance I got worried because all the posts out there speaks of baseband 2.28 unlock, then a small window for hope opened with posts taking abou thow to downgrade your 2.30.03 baseband to 2.28 and then apply the unlock, we followed this tutorial with high hopes and enthusiasm, the tutorial started with this pragraph:
These are instructions on how to downgrade your baseband from 2.30 to 2.28 for iPhone 3Gs with the 5.8 bootloader.

So what, who cares, let's do it, we Jail Broke it! cool making progress, I'm thrilled and starting to imagine myself flipping my photos back and forth, syncing my google calendar, browsing my favourite feeds, watching youtube videos and suddenly I get a call :) wow that will be amazing ... my fancies ends and I was brought back to reality and down to the ground with my friend's Ahmed Soliman's voice yelling "Crap, it is not working" and we searched for explanations and landed on some blogs saying that it won't work on devices with boot loader version 5.9 ... at this moment I haven't yet known my Bootloader version, so I was in denial phase and was rejecting the fact that mine could have this version (which is the freaken latest, uncracked yet version), so as an action of bargaining to dodge the shock we followed another tutorial to find out about my Bootloader version and there was the shocking fact, the iPhone sat their, smiling at us daringly and displaying 5.09 on the screen ...

After digesting the painful facts I formed a very simple query and googled it, my query had three numbers "2.2.1", "2.30.03" and "5.09" (I thought of adding 450$ as well may be God would answer my query and refund my money, then I thought that this won't happen on google) ... the results were very frustrating with hundereds of people crying all over the web, blogs, forums, etc that "It is not possible", "No hope for that yet", "Strong chance that it won't be there an unlock for 5.09 bootloader" and the like ...
To ease my pain and go on with my life I decided to call my IPhone a nick name that would help me live in denial: "IPod touch 3G" ... actually there is nothing 3G about it and even GPS doesn't wotk, but proudly my iPod has a microphone and a speaker so I can use skype and this is an advantage over (old only) IPods ... isn't it?!

Friday, May 1, 2009

The eMagi is not here yet?!

This evening and for the second time I watched the amazing inspiring geeky movie The First $20 Million Is Always the Hardest and I realized the amazing fact that the genius author of the Novel with the same name Po Branson predicted Cloud Computing and the Multitouch Surfaces and predicted the huge revolution that they would make to the computer industry as early as 1997, the year in which his novel was published, the movie was in theatre in 2002, still it is amazing how crystal he pictured the future.


In summary the film tells a story about a marketing hot shot "Andy" with an engineering degree, who got nostalgic to "Intellectuals with higher purposes" (as his 2nd girl friend in the movie put it) by getting back to the research field and involve in a life changing technology research project instead of making easy money in marketing ... a feeling the we engineers working in the ICT market usually get, we look back with passion to the days when things were simpler and we just focused on creating genuine ideas and great software even if we barely get paid for doing so, again "Intellectuals of higher purpose", got a ring to it, doesn't it?


Andy applies to the research labs of "La Honda" and he ends up with a team of geeks rejected by all major projects and were destined for failure because they lack the looks and the charisma. The team was assigned a left-over project of creating a 99$ PC for 3rd world kids, a noble purpose attached to an impossible target.


History does repeat itself all the time, this movie document the era of early 2000's right after 911 and few years after the the infamous .com crisis, in a time where all VCs and investors are in doubt and reluctant to hear any word that starts with a "re" and ends with a "search" or a ".com" that is why the 99$ PC seemed like a good project in the bad economy ... rings a bell? it is just like the circumstances in which Cloud Computing is thriving now after the mortgage crisis.


After a geeky-action packed story they end up with a miracle and cleverly shows the struggle of the entrepreneurs and the never ending battle with the investors and institutions monopolizing the market, a device in the size of a torch light, and that's it. Their motto was




"Simplify, Clarify, Economize"



so they put storage, processing and ram in cyber space, wow, that is cloud computing spelled out as early as 1997 guys, do you see the irony here. Next and to save more money they got rid of the Keyboard and Mouse and replaced it with a multitouch hologram, you can interact with icons and objects in thin air. I'm not sure that multitouch surfaces can even compete here, Microsoft Surface, and iPhone looks like stone age gadgets compared to the idea in the movie. You just twist your eMagi 2nd generation and "Let there be light", you have your desktop floating in front of you with 3D icons and movable objects, and a neat keyboard modeled in empty space so that you can type if you would have to, the laser beams detects the tip of your fingers when you reach inside the hologram to "touch the soul of your computer" as "Andy" put it in the movie.


I searched all over the web and I was not able to locate a single picture or a video that documents the magical revolutionary device "eMagi" from the movie, as if the world deliberately overlooked the insight and innovation in this novel.


This movie left me wondering how slow and late we are today, Cloud Computing is indeed here, still it doesn't play a major role in end user day to day computing yet. Still many small and medium size enterprises are already setting up their Cloud Office to save money in hard times, so that is one down.


Multitouch surfaces are still dull, buggy and expensive, and worst of all it is still a surface, having 2D written all over it. But thanks to bright people like Johnny Lee you can have a multitouch "space" and the charm is that you can have it at home with a Wiimote and a little piece of custom software the Lee open sources, "Big Ups" for Johnny Lee (quoting the movie), Watch him presenting his simple genius ideas on TED


So what is missing to realize eMagi 2nd generation, yes, you guessed it, the hologram display, can this be the answer to the need, or this new touchable hologram be the more fancy answer? I do hope so, I would hate to put my money into an Apple Mac Air just because it is thing and has solid state hard drive, I would like to get something really new when I get a new PC, not just the same old fat lazy machine, crippled by Windows 7.0 or Lazy Vista, and has a mind of its own, as if Microsoft and its operating system own your hardware, and if windows wishes to run a task of its own now, screw the user, his work got to wait because he is not as important as the Royal OS.


Or the other side of the coin a stable fast Linux that suffers frequent seizures because an update is need or an update is messed up or your hardware is not yet supported by the community. I have Fedora 10, running on a Fujitsu Siemens Laptop, all Intel Chipset, 2Gigs of RAM, Dual Core CPU and the works yet I'm not able to operate dual monitors in year 2009, not even with the help of Linux geeks fellows at work. We are living in hard times, we make advances really slow because innovation is crippled and the market is monopolized, no advances are made unless they works for the interest of giant corporates like Microsoft and Apple, who would come up with the eMagi 3rd generation, isn't it already overdue, we need it, 2009 Q2 is about to end, how will be the bright team that would quit their dull money making jobs and put on our desks the next generation of PCs? I wish it would be the open source community and every one would get a chance to add up to the ideas and the magic in the eMagi 3rd generation.


Don't we own a tribute to Po Bronson, you are the man, you saw it all coming, may be Microsoft and Google need to hire fiction writers to start creating innovative retail products and shake the dust off the industry