<?xml version="1.0"?>
<rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:blog="http://bitflux.org/doctypes/blog" xmlns:php="http://php.net/xsl" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:georss="http://www.georss.org/georss" version="2.0"><channel><title>@leo's</title><link>http://leo.freeflux.net/blog/</link><description>One should always have something sensational to read</description><generator>Flux CMS - http://www.flux-cms.org</generator><copyright>Leo B&#xFC;ttiker</copyright><georss:point>47.2631 8.689</georss:point><geo:lat>47.2631</geo:lat><geo:long>8.689</geo:long><item><title>Have a nice evening mister Gates!</title><link>http://leo.freeflux.net/blog/archive/2008/06/27/have-a-nice-evening-mister-gates.html</link><guid isPermaLink="false">http://leo.freeflux.net/blog/archive/id/2625/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">Heute abend geht der Bill Gates das letzte mal nach einem normalen Arbeitstag nach Hause, ab Morgen ist er dann "nur" noch Verwaltungsrat. Ich freue mich das er nun auch das Geld das ich (und vorallem meine Arbeitgeber) der Firma in Redmond nachgeworfen haben, zumindest teilweise, noch einem sinnvollen Zweck zuf&#xFC;hren wird. Sch&#xF6;nen Abend Herr Gates!</content:encoded><dc:subject>General</dc:subject><dc:subject>Microsoft</dc:subject><dc:subject>gates</dc:subject><dc:creator>leo</dc:creator><dc:date>2008-06-27T17:55:52Z</dc:date></item><item><title>Most boring</title><link>http://leo.freeflux.net/blog/archive/2008/06/10/most-boring.html</link><guid isPermaLink="false">http://leo.freeflux.net/blog/archive/id/2619/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">I just finished the most boring week of my live. All paid by the goverment, all behind a fence and in the same dress as thousands of others. And no! I wasn't in jail!</content:encoded><dc:subject>General</dc:subject><dc:subject>leben</dc:subject><dc:subject>boring</dc:subject><dc:subject>.en</dc:subject><dc:creator>leo</dc:creator><dc:date>2008-06-10T05:18:57Z</dc:date></item><item><title>Xobni - Pulic beta</title><link>http://leo.freeflux.net/blog/archive/2008/05/11/xobni-pulic-beta.html</link><guid isPermaLink="false">http://leo.freeflux.net/blog/archive/id/2612/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">&lt;img src="http://swift.xobni.com/images/xobni_logo.gif"
     alt=""
    /&gt;&lt;br/&gt;
&lt;br/&gt;
&lt;a href="http://www.xobni.com/"
    &gt;xobni&lt;/a&gt; the Outlook-Plugin, which turns your Outlook into a mini social network, is now in public beta. Everybody how is using (or is forced to use) outlook should give it a try and &lt;a href="http://www.xobni.com/download"
    &gt;download it&lt;/a&gt;. It does make the eMail experience in outlook much more pleasant. Congratulation to &lt;a href="http://www.gaborcselle.com/"
    &gt;Gabor&lt;/a&gt; and his team for this step.&lt;br/&gt;</content:encoded><dc:subject>Internet</dc:subject><dc:subject>outlook</dc:subject><dc:subject>xobni</dc:subject><dc:subject>.en</dc:subject><dc:creator>leo</dc:creator><dc:date>2008-05-11T09:42:35Z</dc:date></item><item><title>All new webtuesday</title><link>http://leo.freeflux.net/blog/archive/2008/05/11/all-new-webtuesday.html</link><guid isPermaLink="false">http://leo.freeflux.net/blog/archive/id/2605/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">Looks like spring give us not only very nice weather but also a lot of cool new tech-events here in zurich. The webtuesday (un-)organizer anounced two new events lately.&lt;br/&gt;
&lt;br/&gt;
First of all the &lt;a href="http://webtuesday.ch/meetings/20080513"
    &gt;regular monthly webtuesday meeting&lt;/a&gt; on &lt;strong&gt;Tuesday 13th May 2008&lt;/strong&gt; at 19:30. New this time is the location - we hang around at &lt;a href="http://tel.local.ch/de/q/Zollstrasse/Cablecom"
    &gt;the big cablecom offices&lt;/a&gt; - and the speaker - &lt;a href="http://day.com"
    &gt;day&lt;/a&gt;'s CTO &lt;a href="http://day.com/site/en/index/company/company_overview/management.html"
    &gt;David N&#xFC;scheler&lt;/a&gt;. David is talking about "ujax in 30 minutes" where &lt;a href="http://dev.day.com/microsling/content/blogs/main/microjax.html"
    &gt;microjax&lt;/a&gt; "&lt;em&gt;is a client sided javascript persistence layer that  leverages the symbiosis of a (JCR compliant) Content Repository and the agile patterns of browser based ajax development&lt;/em&gt;". David is a great and experienced speaker and also the topic might give you some new insights about handling data in your application. It's all free, just add your name to &lt;a href="http://webtuesday.ch/meetings/20080513"
    &gt;the wiki&lt;/a&gt;. So see you there...&lt;br/&gt;
&lt;br/&gt;
The second event might be even cooler. On &lt;strong&gt;Saturday 24th May 2008&lt;/strong&gt; you all are able to join the usually webtuesday crowd (great hackers from &lt;a href="http://local.ch"
    &gt;here&lt;/a&gt;, &lt;a href="http://liip.ch"
    &gt;here&lt;/a&gt; and well erhm &lt;a href="http://techblog.tilllate.com"
    &gt;here&lt;/a&gt;) to &lt;a href="http://webtuesday.ch/hackdays/20080524#hacks"
    &gt;hack some new stuff together&lt;/a&gt; or &lt;a href="http://webtuesday.ch/hackdays/20080524#php_testfest"
    &gt;help the php community&lt;/a&gt; with new tests (or do both). If you have any great plans for a hack just enter your idea to the wiki. If you're a php developer you might help the community with giving some test back to your programming language. Writing tests for PHP should be easy enough for everyone (look at &lt;a href="http://sebastian-bergmann.de/archives/777-PHP-Test-Fest-Slides.html"
    &gt;this presentation&lt;/a&gt; from &lt;a href="http://sebastian-bergmann.de/"
    &gt;Sebastian&lt;/a&gt;).</content:encoded><dc:subject>General</dc:subject><dc:subject>webtuesday</dc:subject><dc:subject>ajax</dc:subject><dc:subject>hackdays</dc:subject><dc:subject>.en</dc:subject><dc:creator>leo</dc:creator><dc:date>2008-05-11T09:19:46Z</dc:date></item><item><title>Zend Framwork 1.5 is out</title><link>http://leo.freeflux.net/blog/archive/2008/04/13/zend-framwork-1-5-is-out.html</link><guid isPermaLink="false">http://leo.freeflux.net/blog/archive/id/2596/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">I know, that's definitely old news. But still it's worth to mention that the &lt;a href="http://framework.zend.com/"
    &gt;Zend Framework 1.5&lt;/a&gt; is out since some weeks. It's a big jump from Zend 1.0 but also they have a lot new features in there (and probably some Zend Developers drink too much Java). They have also a new and cooler website for the project now. &lt;br/&gt;
&lt;br/&gt;
In my point of View specialy the improvment in Zend MVC makes the framework now usable for companies with a lot of developers working on the same project (without patching the code over and over again). &lt;br/&gt;
&lt;br/&gt;
The full list of improvments:&lt;br/&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;font&gt;&lt;font size="2"
    &gt;New Zend_Form component with support for AJAX-enabled form elements&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font size="2"
    /&gt;New action and view helpers for automating and facilitating AJAX&lt;font size="2"
    &gt; &lt;/font&gt;requests and alternate response formats&lt;/li&gt;
    &lt;li&gt;&lt;font size="2"
    /&gt;Infocard, OpenID, and LDAP authentication adapters&lt;/li&gt;
    &lt;li&gt;&lt;font size="2"
    /&gt;Support for complex Lucene searches, including fuzzy, date-range, and&lt;font size="2"
    &gt; &lt;/font&gt;wildcard queries&lt;/li&gt;
    &lt;li&gt;&lt;font size="2"
    /&gt;Support for Lucene 2.1 index file format&lt;/li&gt;
    &lt;li&gt;&lt;font size="2"
    /&gt;Partial, Placeholder, Action, and Header view helpers for advanced&lt;font size="2"
    &gt; &lt;/font&gt;view composition and rendering&lt;/li&gt;
    &lt;li&gt;&lt;font size="2"
    /&gt;New Zend_Layout component for automating and facilitating site layouts&lt;/li&gt;
    &lt;li&gt;&lt;font size="2"
    /&gt;UTF-8 support for PDF documents&lt;/li&gt;
    &lt;li&gt;&lt;font&gt;&lt;font size="2"
    &gt;New Nirvanix, Technorati, and SlideShare web services&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded><dc:subject>Programming</dc:subject><dc:subject>zend</dc:subject><dc:subject>zf</dc:subject><dc:subject>php</dc:subject><dc:subject>programming</dc:subject><dc:subject>.en</dc:subject><dc:creator>leo</dc:creator><dc:date>2008-04-13T10:47:32Z</dc:date></item><item><title>My Top 10 Shell Commands</title><link>http://leo.freeflux.net/blog/archive/2008/04/13/my-top-10-shell-commands.html</link><guid isPermaLink="false">http://leo.freeflux.net/blog/archive/id/2590/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">Mirko &lt;a href="http://blog.misto.ch/archives/557"
    &gt;published&lt;/a&gt; his Top 10 Shell Commands, so do I. &lt;br/&gt;
&lt;br/&gt;
&lt;pre&gt;104 svn&lt;br/&gt;79 cd&lt;br/&gt;58 vi&lt;br/&gt;46 wget&lt;br/&gt;42 global_search&lt;br/&gt;36 ls&lt;br/&gt;24 php&lt;br/&gt;21 grep&lt;br/&gt;11 tail&lt;br/&gt;11 ssh&lt;/pre&gt;
This is the list from the development server I use at &lt;a href="http://techblog.tilllate.com"
    &gt;work&lt;/a&gt; (called pluto, one of the seldome one that is not named by a model or actress). The history file is only 500 entrance. global_search is a company specific search tool.&lt;br/&gt;
&lt;br/&gt;
It seam that I used wget for debugging lately quite often. Tools in the list I use also regularly (and are usfull too) are among others: mysqldumpslow, scp and pmap.&lt;br/&gt;</content:encoded><dc:subject>Open Source</dc:subject><dc:subject>linux</dc:subject><dc:subject>shell</dc:subject><dc:subject>.en</dc:subject><dc:creator>leo</dc:creator><dc:date>2008-04-13T10:38:41Z</dc:date></item><item><title>Coding Contest addicted</title><link>http://leo.freeflux.net/blog/archive/2008/02/27/coding-contest-addicted.html</link><guid isPermaLink="false">http://leo.freeflux.net/blog/archive/id/2585/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">As I allready &lt;a href="http://leo.freeflux.net/blog/archiv/coding-contest.html"
    &gt;mentioned&lt;/a&gt; I can't let my finger from coding contest. Unfortunately Bob found in a &lt;a href="http://leo.freeflux.net/blog/archiv/coding-contest.html#comment6701"
    &gt;comment in my blog&lt;/a&gt; more nasty stuff about links in html comments which makes parsing even harder. &lt;br/&gt;
&lt;br/&gt;
I trimed my script again under the size of &lt;a href="http://buettiker.org/test/original-c7y.phps"
    &gt;the original script&lt;/a&gt; (ok, nearly the original), but I think if my regex skills would be a bit better, I could still squeeze some bytes out of it. But as I go finaly to holiday tomorow I will send my script to Paul and hope to get some points for the shortest script, as it will definitely not win any price for speed or beauty (did not wrote so ugly code since ages).&lt;br/&gt;
&lt;br/&gt;
BTW: If you still trim you script, I brought up a &lt;a href="http://buettiker.org/test/c7y.v2.html"
    &gt;new testfile&lt;/a&gt;. You should still come up with the same 11 links. This &lt;a href="http://buettiker.org/test/c7y.v2.html"
    &gt;testfile&lt;/a&gt; is so ugly that my old konqueror is not able to parse it correct (but the comments are absolutly valid, according to &lt;a href="http://www.w3.org/TR/REC-html40/intro/sgmltut.html#h-3.2.4"
    &gt;the documentation&lt;/a&gt; and &lt;a href="http://validator.w3.org/check?uri=http%3A%2F%2Fbuettiker.org%2Ftest%2Fc7y.v2.html"
    &gt;the validator&lt;/a&gt;).</content:encoded><dc:subject>Programming</dc:subject><dc:subject>programming</dc:subject><dc:subject>php</dc:subject><dc:subject>.en</dc:subject><dc:creator>leo</dc:creator><dc:date>2008-02-27T20:15:16Z</dc:date></item><item><title>Coding Contest</title><link>http://leo.freeflux.net/blog/archive/2008/02/25/coding-contest.html</link><guid isPermaLink="false">http://leo.freeflux.net/blog/archive/id/2580/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">Unfortunatly I can not resist if somebody brings up a coding contest. This time &lt;a href="http://buettiker.org/test/c7y.html"
    &gt;Travis&lt;/a&gt; and &lt;a href="http://blog.preinheimer.com/index.php?/archives/265-Contest.html"
    &gt;Paul&lt;/a&gt; wrote about &lt;a href="http://c7y-bb.phparchitect.com/viewtopic.php?f=2&amp;t=1108"
    &gt;the coding contest of php architect&lt;/a&gt; at &lt;a href="http://planet-php.net"
    &gt;planet-php&lt;/a&gt;. I did not invest a lot time into it, but still ways more then I planed.&lt;br/&gt;
&lt;br/&gt;
The problem is that the ranking is once by speed and once by size of the script. Two parameters which usually not go well together. After having some great ideas for speeding up my code (even parallel processing, shared memory and &lt;a href="http://sebastian-bergmann.de/archives/750-Map-and-Reduce-in-PHP.html"
    &gt;map-reduce&lt;/a&gt; came to my mind) I decide to let this race to others and fully concentrate to the size. I not even run benchmarks anymore.&lt;br/&gt;
&lt;br/&gt;
Unfortunatly some nasty html special cases (whitespace, case independence, single- and double-quoting, various attributes and so on) blow my perfect sized script a bit. But with some nasty php method tricks it's hopfully still the shortest possible script that gets all valid cases. &lt;br/&gt;
&lt;br/&gt;
Just to let you feel not to save, I wrote a &lt;a href="http://buettiker.org/test/c7y.html"
    &gt;littel nasty html example&lt;/a&gt; that might break your own script. (You should get exactly &lt;strike&gt;10&lt;/strike&gt; 11 links out of it.)</content:encoded><dc:subject>Programming</dc:subject><dc:subject>programming</dc:subject><dc:subject>php</dc:subject><dc:subject>.en</dc:subject><dc:creator>leo</dc:creator><dc:date>2008-02-25T19:12:09Z</dc:date></item><item><title>Is Dalvik the better J2ME?</title><link>http://leo.freeflux.net/blog/archive/2008/02/18/is-dalvik-the-better-j2me.html</link><guid isPermaLink="false">http://leo.freeflux.net/blog/archive/id/2532/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">&lt;h1&gt;Androide the "gPhone" software stack&lt;/h1&gt;
There was a lot buzz around when &lt;a href="http://google.com"
    &gt;Google&lt;/a&gt; launched &lt;a href="http://code.google.com/android/"
    &gt;Android&lt;/a&gt;, there mobile platform. A lot of newspapers write a lot of articles about it, but technical insides are really rare. Even on the official &lt;a href="http://code.google.com/android/"
    &gt;android-page&lt;/a&gt; it's hard to find a good written architectural overview. Probably the best start to understand how &lt;a href="http://code.google.com/android/"
    &gt;Android&lt;/a&gt; works is probably &lt;a href="http://www.youtube.com/watch?v=Mm6Ju0xhUW8"
    &gt;this video from google&lt;/a&gt;. If you don't can or want to watch a video there's also, as I think a bit a short, &lt;a href="http://code.google.com/android/what-is-android.html"
    &gt;explanation on the google code site&lt;/a&gt;. &lt;br/&gt;
&lt;h1&gt;The architecture view&lt;/h1&gt;
Let me give you a short overview. &lt;a href="http://code.google.com/android/"
    &gt;Android&lt;/a&gt; is basically a layered architecture for mobile phones. At the bottom there's a Linux kernel 2.6 that basically handle the drivers to access the hardware. That's really nothing new there; there are already some phones out there that use Linux as a foundation. The most famous one of the Linux mobile Phones are probably the &lt;a href="http://en.wikipedia.org/wiki/Nokia_N800"
    &gt;Nokia Internet Tablet&lt;/a&gt; or the &lt;a href="http://en.wikipedia.org/wiki/OpenMoko"
    &gt;OpenMoko&lt;/a&gt;.&lt;br/&gt;
&lt;br/&gt;
On the next layer there are c-written libraries that bring some basic stuff to the phone. Although this layer is mainly internet-computer and not phone related (Google PC anyone ;-)). There are libraries to display stuff ("Surface Manger", "Open GL|ES", "SGL", "FreeType"), &lt;a href="http://webkit.org/"
    &gt;WebKit&lt;/a&gt; to display web pages (the same engine that is used in the iPhone and KDE), a SSL library for secure communication, &lt;a href="http://www.sqlite.org/"
    &gt;SQLite&lt;/a&gt; to simple store stuff and &lt;a href="http://www.gnu.org/software/libc/"
    &gt;libc&lt;/a&gt; as basic c layer.&lt;br/&gt;
&lt;br/&gt;
Then there's the Android runtime, that&#x2019;s the layer where a programmer can start building there own application on the top. It consists out of a virtual machine that can execute byte code that&#x2019;s build out of the "Java Programming Language" and a core API that have a very big similar to sun's java package (in fact Google is using part of &lt;a href="http://harmony.apache.org/"
    &gt;Apache Harmony&lt;/a&gt;, a open source implementation of the Java class library). Let this be enough for now, we go back to this part later on.&lt;br/&gt;
&lt;br/&gt;
&lt;img width="520"
     height="373"
     src="http://code.google.com/android/images/system-architecture.jpg"
     alt=""
    /&gt;&lt;br/&gt;
&lt;br/&gt;
On the application framework is the stuff that makes programming a phone easy with android. There are classes to access resources and creating windows. Some stuff here is still in development, there is no MMS or HSPA support yet.&lt;br/&gt;
&lt;br/&gt;
On the top there are the applications of a phone, they are all written in Java and use exactly the same system, no matter if they are written by Google, the phone company, the network carrier or you.&lt;br/&gt;
&lt;h1&gt;Java or not to Java&lt;/h1&gt;
Google always talks and writes about "Java Programming Language" and not Java, why comes that? Well what's running on Dalvik, the virtual machine of android, is not really Java bytcode. You program as every Javaprogram just as usual in Java and compile them to bytecode. After that you need to transform your bytecode with the "dx" tool to a .dex file. What you get is now Dalvik bytecode.&lt;br/&gt;
&lt;br/&gt;
Ok!? Why the hell so complicated? Well there may be a few reasons for that. As you still use Java until just before delivering you App, you can easily use your usual tool chain. Eclipse, JUnit, Cruisecontrol or more exotic stuff - it's all no problem! But why they don't just use Java then, you may ask. Well, for mobile phones you still have not the resources like on a pc. So Dalvik-Bytecode is well optimized for the CPU and hardware you will typically find in a mobile phone. And there's another fact which is no secret: Google don't like to pay license few to Sun. So that's the reason why Google is using the "Java Programming Language" and not "Java". It might be a not too big difference for technical guys, but for the lawyers it definitely is.&lt;br/&gt;
&lt;br/&gt;
&lt;h1&gt;Smart decision&lt;/h1&gt;
After all Android, and therefore also Dalvik looks like a smart idea to me. As Sun tried to run Java with J2ME on every device, Android will never run on today&#x2019;s low coast phones. You just need some basic CPU power to run it. As J2ME is not really a strong framework, you have a single programming language, but it's up to the vendor which functionality he likes to integrate, every single phone is different. That makes porting J2ME to a real pain. As it looks now, the open handset alliance is putting on some standards on library and functionality that needs to be implemented by every vendor. This will make developing an application for every Android phone easy. As the vendor needs to use the same libraries and framework to develop his own applications it's pretty much &lt;a href="http://en.wikipedia.org/wiki/Eat_one's_own_dog_food"
    &gt;"eat your own dogfood"&lt;/a&gt; and this will give a little security that Android will be useful.&lt;br/&gt;
&lt;br/&gt;
Android will hopefully be a strong platform until we have enough CPU power on the mobiles to just run some standard operating systems on them. And yes, Dalvik is the better J2ME for me, less compromise and more technical possibilities to the programmer.</content:encoded><dc:subject>Programming</dc:subject><dc:subject>dalvik</dc:subject><dc:subject>android</dc:subject><dc:subject>java</dc:subject><dc:subject>google</dc:subject><dc:subject>.en</dc:subject><dc:creator>leo</dc:creator><dc:date>2008-02-18T21:50:12Z</dc:date></item><item><title>Google Open Source Jam Z&#xFC;rich</title><link>http://leo.freeflux.net/blog/archive/2008/02/05/google-open-source-jam-zuerich.html</link><guid isPermaLink="false">http://leo.freeflux.net/blog/archive/id/2571/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">The Google guys just organize there second Open Source Jam in there Z&#xFC;rich offices. The event take place on the Thursday, February 28, 2008 in there new offices. Everyone is invited to join in. You have just to file the &lt;a href="http://services.google.com/events/ossjam_zurich_2008"
    &gt;online form&lt;/a&gt;. You can get more Information about the Open Source Jam at the site of the &lt;a href="http://groups.google.com/group/open-source-jam-zurich"
    &gt;Open Source Jam Z&#xFC;rich Google Groupe&lt;/a&gt;.&lt;br/&gt;
&lt;br/&gt;
(I'm not there this time. I will enjoy my holidays far away from Z&#xFC;rich.)</content:encoded><dc:subject>Open Source</dc:subject><dc:subject>google</dc:subject><dc:subject>opensource</dc:subject><dc:subject>.en</dc:subject><dc:creator>leo</dc:creator><dc:date>2008-02-05T20:59:56Z</dc:date></item></channel></rss>
