Wednesday, March 11, 2009


PHP, Help from Companies & Licenses

Having been at a Conference a few days ago, I was reminded of something. I have several times been asked how companies can help PHP. And my typical answer is about contributing tests and making sure PHP runs under or with their products, be that operating systems, databases or other back ends; or tools in any way. However I just updated the PHP Version info in a few hundred source files from 'PHP Version 5' to 'PHP Versoin 6'. And I also found that the License file lacked an update to 2009. And at this point you might already guess what the addition to my typical answer is. Why can Zend not simply change the license of the Zend Engine to PHP License?

Why do we want this?

Becasue it creates issues with using PHP. And we do not even inform people about it, because we are silent about this fact.

So is there a reason why this has not happened already long ago?

Some people claim it is because of ownership. So one question actually is who owns the code. And being a friend of numbers and cryptic shell code, here is some data:

$> cvs annotate Zend 2>/dev/null |
grep -v '(changelo ' |
awk '/[0-9.]*.*\(/ {


for(n in C) {
printf "%5d %4.1f%% %s\n", C[n], C[n] * 100 / L, n
}' |

sort -r

36863 25.6% dmitry
29428 20.4% andi
15323 10.6% tony2001
9541 6.6% stas
6894 4.8% andrei
6665 4.6% zeev
6504 4.5% felipe
5711 4.0% helly
5381 3.7% scottmac
5341 3.7% sebastia
2760 1.9% iliaa
2607 1.8% nlopess
1731 1.2% derick
1550 1.1% sniper
1108 0.8% kraghuba

I skipped changelog and everyone who contributed less than 1000 lines got stripped manually (which makes it 15 lines).

Does that mean Zend owns the engine? In terms of the License they do. In terms of contribution I do not. Simply because other people like me contributed does not mean we share ownership. Not even if there wasn't a single line written by Zend employees left. So is the other way round true, and Zend owns the engine because employees have written the engine? Also not, because we do not know whether they did it in their spare time or were paid for it. So why does Zend own the engine? Simply put, the License file says so.

And there is another area that uses an arbitrary License. The TSRM library. Here is the data (again top 15 lines only):

957 21.5% andi
804 18.0% zeev
785 17.6% dmitry
402 9.0% dbeu
384 8.6% sascha
242 5.4% sebastia
167 3.7% rvenkat
136 3.1% tony2001
99 2.2% wez
65 1.5% dreid
63 1.4% iliaa
53 1.2% stig
53 1.2% helly
50 1.1% sniper
28 0.6% sesser

The fun is that hardly anyone but Windows users need this library. Yet it interferes with using PHP in the same way the Zend License does. Simply because it is an arbitrary License.
Blogged with the Flock Browser


Sunday, March 8, 2009


New York, Part II

I was really happy after arriving at the apartment building, that for the coming week I got a very nice apartment in the Chelsea area. There is a Whole Food market just at the opposite corner. And also a lot of restaurants and bars. So, being hungry but not too much after the Sugar Shack, or should I say Sock, I set out for something smaller. Usually one would find that hopeless, since in USA people seem to always confuse Quality and Quantity. But heck I found a place called brgr on 7th Avenue between 26th and 27th street. I somehow got the feeling that they wrote the name that way, to hint that they actually would not hold size over everything else. Inside I found myself corrected, not only did they obviously care not so much for size, but they really seemed to care about quality. Heck they even get their pattys made from grass fed cows. Yeah, we live in such a perverted world that most beef you eat comes from cows that eat other animals and a bunch of chemicals for drinks. Originally I planned to have a Jamba Juice, which I happily also found next to the apartment building, but then brgr offered a Blueberry - Pomegranate Milkshake. Hmmmm, delicous.
Blogged with the Flock Browser


PHP Quebec 2009

Unfortunately this year I could not go snowboarding before PHP Quebec 2009 Conference because of my work schedule. So I flew from NYC to Montreal only on Tuesday afternoon. The conference yet again changed the Hotel and was this year held in the Hilton Montreal Bonaventure. Personally I liked the Sofitel better as a hotel, but for the conference the new hotel is definitively a better choice. We had more rooms, generally more space and - a working WIFI. Probably the first conference with a working WIFI. Thanks Anna, Sylvain and Yann. The conference itself was good as always and we had a lot of fun during the evenings - of course. I gave two planned talks and I had to jump in for my dear friend Sara, who could not come herself because she got sick right before the conference. Luckily my friend Johannes agreed to join me for the jump in on the extension writing talk. And we really both enjoyed the Worst PHP Practice talk, for which actually my wife Caitlin had the idea - thanks for that (and many other things). The talks are online:
Other talks were luckily not too much about PHP 5.3. Instead it turns out that people are interested in the current stable platform PHP 5.2 and are willing to get us core developers more time to get the new features, most notably closures , namespaces and Phar done right (to name a few I contributed to). If you are still interested in more about PHP 5.3, check out Johannes' talk . Something else of interest; I was happy to hear and see that other presenters used Google Chart API in their talks for examples.

At the last night of the conference we went to Le Deux Pierrots. And of course we finished the conference week with a visit to Sucrerie de la Montagne. And believe it or not, we poured sugar syrup onto soup and coffee as well as over mashed potatoes, meet - and - sugar pie. Finally in the afternoon I had to leave to the airport - learning from last years stress with getting the plane, this year I booked a later flight.
Blogged with the Flock Browser



New York, Part I

I spent last week in New York City but was not so happy because of the apartment I got. It used direct steam heat with an outlet for every radiator. And of course my room also had an opening to the outside for the cooling device. So I got a combination of very dry hot air and very dry cold air into my micro room - so large, it barely had space for the bed. So I ended up with three days of nose bleeding. But I had to work far far too much anyway, so I did not see much of the apartment anyway. The neighborhood was o.k. Actually quite close to central park. But as it was cold I didn't make use of that. There was also a good breakfast place, with really nice bread. Anyway, hopefully next weeks stay will be better.
Blogged with the Flock Browser

Sunday, January 4, 2009


Seven Things About Me - Tagged by Andi

So my friend Andi tagged me and here are my seven confessions.

1) I really love coffee. I always have, and luckily I work for a company that has extremely decent coffee and coffee equipment - at least in the office I was hired into. So I don't possess a real coffee machine other than the Senseo, one I got from my parents so that they can get coffee on a visit.

2) Just like Andi, I also have an issue with shaving. And just like him, neither Army nor Wife turned me into a responsible daily shaver. We'll see if our son Felix Alexander, whom we expect in May, will convince me to change my unruly ways.

3) Speaking of the Army. I was a tank commander and got to be the first Lieutenant to be named in a brigade meeting to conclude a several day training, for having parked my tank in the mud. That alone was not so much of an accomplishment, but having performed my duties while taking about a day to get the tank out under supervision of every high-ranked officer in the area was.

4) I have always done lots of sports of all kinds. I even became a licensed trainer during my university time and gave fitness and aqua fitness classes. For some time I did up to 20 hours of sports per week including Aerobics and Step Aerobics, and I even performed in a few shows. I ran a marathon but nowadays limit myself to snowboarding and inline skating. Probably because I spend too much time on Open Source. And working for a company where internally everything is like Open Source does not help either.

5) My university, having several professors directly connected to CERN, was one of the first to participate in the Internet. So I became interested and trained my colleagues to some success. So much success, in fact, that I had to write a web server myself so that the company could ship the now HTML documentation to their clients, which did not have the slightest clue what this was all about nor had heard of a webserver at all.

6) I once got a call from my very good friend, Rainer, while sitting at breakfast with all my friends, saying, "hey pour me a coffee, I'll grab you in a minute." After the coffee, we drove to a company run by friends and I was asked to say yes to everything. Apparently a major German television channel had problems with one of their internet apps. So we spent Saturday morning to Monday morning trying to fix it. Well, I said "it's not fixable but can be redesigned" and so I did. After 2 days without sleep, I took a nap before teaching an aqua fitness class that evening. Coming back into the office afterwards, I ran into a meeting and hearing 'Money doesn't matter', I sat down, listened and became a freelancer that week.

7) I lost weeks and weeks of my university time playing Ultimate Underworld IV. Having killed the dude that can repair the sword that is the only weapon to kill the last opponent, I couldn't even finish it. That's why I do not play video games.

And here are the rules I'm supposed to pass on to the following bloggers:

And as for chaining, in no particularly significant order:

Sunday, May 18, 2008


The D3 arrived. Part III: Software, DXO sucks

Before I bought my Nikon D200 I was using ACDSee and Paint Shop Pro for corrections from pictures taken with my point-and-shoot pocket cameras. However I used both pretty rarely only. So when I bought the D200 I asked several of my friends what software to use to do RAW to JPEG conversion. Many of them suggested I have a look at DXO. And in fact DXO is awesome in theory and also—if you can get it to work and happen to own the correct lenses—in practice. Unfortunately it is kind of impossible to use the software. Its user interface is the worst piece of crap I have ever seen until then. I hoped the update to the newest version would make it any better. But guess what, it became even more unstable and useless. Well the results, if you get any, are still awesome, yet kind of impossible to get. Especially with the Nikon D3. It detects the camera and lens and still refuses to do anything with the images. And before you wonder, there is no way whatsoever to make DXO work on Windows 64. They think that they produced such a holy grail of software that copy protection goes over everything. And people like them wonder why their software gets cracked... Enough anyway, DXO is gone.


So I decided on trying the demo software that Nikon ships with the D3. Demo? Yes, that's right. You just got a damn expensive camera and Nikon didn't even bother to give you a piece of software that allows you to make use of the camera's RAW format. But, well, that is no loss because Nikon managed to produce a piece of crap that is impossible to use. Right, Nikon Capture NX comes with a user interface that is indeed worse than DXO—and I thought that would be impossible.

So I tried ACDSee pro and after the update that makes it able to handle newer RAW formats, the batch processor works fast and produces nice color and exposure corrections. Unfortunately, you won't get the nice lens/camera combination fix-up that DXO would provide. All in all, ACDSee is a very nice and fast organizing and viewing software that also allows a wide variety of corrections. And the user interface is pretty nice as well. Well done. Even after about ten years of using ACDSee I still use it. And today I actually use it more than ever before. One thing I use this for is red-eye corrections. The others are the mentioned batch converter and I also like the crop feature. Last but not least, I have always used it for image rotation, a thing ACDSee used to be famous for.

Next step, there must be something that allows for more corrections. So I tried Adobe Lightroom 2.0 beta. And again a nice very easy to use user interface. It also supports importing much more to my likings. So when you connect the camera you get an import dialog that allows to import by date shot. Something I really like: organizing by set. And if there are more sets on a day, then you simply select by picture and import into different folders. The next thing is the browser which is as fast as the one from ACDSee just not so powerful. I chose the importer of Lightroom, which automatically applies some EXIF tagging, to mark all my picture as my pictures—yes, the D3 does not allow this. All I am missing here is lens detection from EXIF information and turning that into tags. For that, I have some perl/php scripts but am usually to lazy to use them. After importing the images you can apply corrections. You can copy corrections applied to one picture to other ones and it actually works. When done with corrections, the images can be converted in a batch processor while the application still works! And if you put more pictures up for conversion, Lightroom simply adds these pictures to the stack of the batch processor. And by the way, Lightroom has a nice black&white conversion.


The third software I use is Paint Shop Pro. Several years ago I started using this software to do pixel corrections or to generate small images for web sites. In the meantime the software specializes more and more as a photography solution. It too has a usable browser and a bunch of filters. I used it, for instance, to cut pictures free—as in, make the background transparent.

My current work flow is as follows. I import images from the camera using Lightroom. I do so by set into a directory. The directory name is the date in YYYYMMDD format followed by a set description. I then use Lightroom to do color and exposure corrections as well as cropping. Alternatively I use ACDSEE to do full automatic conversion to JPEG. Sometimes I do so to speed the process up. In general, I prefer to apply as few corrections as possible. That is, I try to do nice shots in RAW with automatic WB. I select pictures for upload in several ways. First, I sometimes delete already in the camera, then I delete already before conversion to JPEG. Both ACDSee and Lightroom are fast enough to allow for browsing and deletion using only RAW. When ending up with lots of pictures in a set with several being more or less the same, I use the rating support of either software for selection. Once conversion to JPEG is done, I select once more. This time, however, I only delete the JPEGs, keeping the RAW images. The last step is uploading. For this I use Flock's built-in uploader to flickr.


The reason for using flickr is simple. It was working for me prior to anything else by the time my D200 made me constantly run out of space on my own server. Today I would definitively use Panoramio instead. And the reason for that is simple too. It has a very nice integration with (check out the new 'More...' button) and they are way better than Yahoo maps.

Conclusion. ACDSee, Lightroom and PaintShopPro all have a usable user interface, especially the former two. Once Lightroom 2 gets released I will buy it, probably bundled with PhotoShop. I haven't used that in a long time. But the combination sounds like a very good idea. And hopefully it is better than having to switch to something completely different like PaintShopPro. I tried a bunch of uploader tools, but the only one that works for me is Flock.

Final note. DXO in theory is an awesome tool. But it is in fact completely useless crap, it does not work, the support is unbelievable ridiculous incompetent and updates and upgrades seem to make it worse.
Blogged with the Flock Browser


Monday, May 12, 2008


The D3 arrived. Part II: Pros and cons

Unpacking the box—and being happy! The Nikon D3 is just an unbelieveable camera—or toy for that matter. Anyway it just feels right. A bit heavy maybe but, well.

Most things feel just as they should be and there is hardly anything wrong with the camera. So I spend a few days shooting, collecting all the things I do not like. Here goes:

1) First of all, Nikon obviously tried to give the D3 a superior strap compared to the D200 or the D300. To me it is just too broad; the old one was much better. So the first thing after buying the Nikkor 24-120/VR was a new strap!

Grandhotel Giessbach and Giessbach waterfall shot with Nikkor 24-120/VR

2) I even read the book (aka manual)—but Nikon indeed removed my favorite pre-shutter mirror-flipping mode. Of course, the D3 has a mode where you can flip the mirror with first pushing on the shutter release button and then taking the shot with a second push. But what about the nice mode where you just press once and the camera waits a split of a second? It is an awesome feature, it usually gave me one additional stop.

3) Nikon still refuses to care for its customers. I mean you can now add some crappy signing to the pictures. But hey, I still cannot claim the camera to be mine. That's unbelievable. The EXIF standard has both author and copyright tag (though sadly combined in one tag). And of course the camera does not ask me to point it to my PGP or whatever key. Without that what is the signing good for? I guess it makes people that have no clue feel better. For all the rest, this is useless becasue you can always get rid of this signing, post-process the picture and re-create it. And of course this includes changing the author and copyright info some software adds for you. Photokina is ahead, if I have time for it I will once again ask about this insanity.

4) There is no ISO setting below 100, not even with stupid filtering in the camera. Not that I personally will ever miss it though.

5) The HDMI output is pretty poor. On preview it uses the thumbnails, in other words it has very low resolution and the output simply looks crappy. Hey, I have a 46" screen and I would expect that people buying a D3 and use the HDMI would use nothing smaller. Now it gets a bit better when changing to a slide show. However there is no 1080p mode and the 720p mode looks in my opinion a tad bit better than the 1080i mode. Either way, not worth buying an HDMI cable. This said, it does not really matter that the camera allows neither 1920x1080 nor 3840x2160 resolution.

6) When doing a firmware update, you have to upload the firmware files separately to exactly one CF card. When using both CFs, the camera simply refuses to accept any firmware file and when finding both it always selects the same one. At least the order in which you do the update does not matter. Well so far it does not.

7) Once again the focus points are all around the center of the sensor. They only spread so much that you get about one focus point per golden cut. Meaning one probably uses about 9 focus points. As a tip for Nikon, if the corner focus points are used extremely often, then that is probably based on the fact that people are missing points closer to the edges.

8) The function button still cannot do everything. And of course it cannot do pre-shutter mirror-flipping. Simply becasue the mode is gone (see 2).

9) The camera does not allow to add a 'normal playback' mode as Caitlin called it. Meaning you cannot set the camera to show some information while having at least one screen without any data (over-exposure areas, focus points, etc.).

10) The view finder is really awesome. But the rubber, the eyepiece you put, well, to your eye, is simply bad. So the next things I ordered was a DK-17M and a DK-19.

Now all of the above are really minor complaints. And there is a hell lot of good things to mention. Just to mention a few highlights:

1) The result at ISO 1600 is simply great! Yes, this is why I bought the camera. And it makes me really happy. And just as many other people said before, simply keep the D3 at ISO 1600 at all time, unless you have to use lower ISO because of aperture constrains.

2) The Nikkor 50/1.4D is finally usable.

Pasta shot taken with Nikon 50/1.4

But it still is a lens that I have to replace. Now, Sigma just announced the new 50mm F1.4 EX DG HSM which could be an alternative as well as the Zeiss Planar T* 1.4/50. But maybe the answer is the Nikkor 85/1.4D or the Zeiss Planar T* 1.4/85.

3) The view finder is just amazing. Bright and large! And even I can do manual focusing now! This makes operating my Lensbaby much easier.

Optimis Maximus keyboard shot with Lensbaby 3G

4) The display is insanely bright. So bright that I usually turn it down to -3 or -2 setting, where the range is -3 to +3.

5) The camera shows all necessary information on its displays. That includes showing the ISO setting on the additional display below the main display, making it, even for me, hard to forget fixing the ISO. The two additional LCDs also show which CF slot holds a CF card and which of the two are in use.

6) The camera shows the lightmeter vertically right to the picture in the viewer. This is much better than in the D200 where it is below the picture. It also allows the camera to display more information which I really appreciate.

7) The portrait shutter release can be locked. So it does not matter where you place the right hand for landscape shots.

8) The D200 had a 'last used' settings tab. Now the D3 has a favorites tab which is fully customizable. I use both and like the new version much better as my favorite entries don't get shifted around just because I used them.

9) The D3 usually does not need a flash. And thus it has none integrated. The SB-800 can be mounted and works just great. The only sad thing is that the D3 also has no integrated flash remote control either. This speaks for a SU-800 Wireless Speedlight Commander which is part of the R1 Wireless Close-Up Seedlight System.

10) The Nikkor 105/2.8/VR suddenly got a much nicer range and even serves as a very good portrait lens now.

Marcus with black hat shot with Nikkor 105/2.8/VR Marcus with red hat shot with Nikkor 105/2.8/VR

The pro list could be extended a lot. But actually there was not so much to improve when coming from a D200.
Blogged with the Flock Browser


This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]