The problem of the Apple’s fancy UI frontends

June 4th, 2010

Is that they apparently are often only not so well integrated facades, with poor error handling. When they work, they are nice and pretty, but woe some system-call returns an error, or backend program quits unexpectedly. Then those shiny facades become annoying, hard to control monsters. Two cases in point:

As I write this I’m trying to sync my father’s in law iBook files to a brand new MacBook. Thanks to the dismiss of Firewire I may do so by the means of the Migration Assistant via Ethernet. So far so good. Until you hit the “an system call returns an error” condition: Turned out the assistant just did not want to run thru yesterday. Hanging at 99%, 1 minute remaining the whole afternoon. One could not even cancel or quit it (the “woe something goes wrong and your are lost” condition). I’d thought I give it a second run over the night, maybe it completes. Of course it didn’t, … The iBook system log revealed, i/o error, certainly some sectors gone bad. How nice. It certainly could have skipped some unreadable files. As resolution I unpacked my Unix skills and rsync‘ed the whole user’s home directory to our office file server. Turned out it where just 2 files (images in the photo library) rsync spotted with i/o errors and skipped over gracefully, warned about at the end. Actually rsync was coded with some extra intelligence, to re-try files with errors a second time at the end! Btw, from the system log it looked that the Migration Assitent uses Racoon/IPsec internally to encrypt the transfer internally, over the air or on the wire. I somehow get the feeling the errors handling in Apple’s assistant is not so well tested after all.

Which brings me to the second example. Actually also a bad hard disk: My brother recently got a brand new Mac mini. He unpacked it and wanted to apply his Time Machine backup from the sold MacBook (Pro I think). He tried all, again and again, but it just did not want to run thru. So without his files restored he started to work on the machine, which inhabited a pretty odd behavior, even I had not seen before: every now and then, like every few minutes, or just once an hour the whole machine would lock solid, with just the colorful mouse cursor ball spinning around, no audio playback, nothing, for a could of minutes. And then, suddenly, as if nothing happened, it would continue to operate normally. My brother was already totally perplex and mad on the just new Mac mini when I came over the other day (it’s 300km, IIRC it was around CeBIT 2010). I’d also not know what to make of it. Running too hot? Noisy PCB wires resulting in stray, random memory content? Though the later would shure rather result in kernel panics. Anyway, my first loved click on the Console to browse the famous system log an there it was: i/o errors every now and then, … (on a just onboxed Mac mini!). The world’s most advanced operating system, that just got even better really could have pop’ed up some nice information dialog, or put some yellow exclamation mark on the hard disk icon, or the top menu, whatever, ….

Somehow I see a repeating pattern here: disk quality issues paired with notorious bad habit not to check for, and handle system call error conditions gracefully.

Damnit, Zensursula goes for President

June 3rd, 2010

As if we had not enough problems already, censorship maid Ursula von der Leyen talked to potentially become President of Germany, oh my! To improve her bad reputation in educated circles she now might even spent millions to improve her image. Hello? We should get a president that does not need millions for PR improvements!! And certainly could do better with some millions worth of EUR!!! Like saving starving kids in Africa, or the EUR itself!!!! (OK, wait, we already spent billions on that, …)

Anyway, year after year I get the impression those with a little brain get a decent job, the others either get unemployment benefit 2.0 or become politician :-(

Mac OS X Dashboard Web Clips

June 2nd, 2010

What the heck? How can it possibly be that broken???

For some time now I excessively used Mac OS X (Safari) Dashboard Web Clips, for most part to blend in various server loads. While in theory a nice thing: this stuff just does not work quite right!!! On one day or another (usually after the Mac slept the night) some stupid Web Clips just won’t refresh anymore, showing old, previous day content. While so far I usually just have removed and re-added it in this case, today I thought I’d rather reboot in the hope it would refresh and appear right. Wrong! Now all Web Clips in a row show a totally different spot of the statistics site from what I previously set it up to show?!?!

@Steve Jobs Instead of bashing Flash all day for being broken (which in contrast to OS X itself didn’t really ever crash on me under OS X) could your Apple developer please get some basic fancy UI stuff going right???

Previously the Web Clips covered about the area marked in red, and as I mentioned showed a totally different spot of the underlying website, …

Oh, and while at it, some snap to grid would also be awesome! That way the dashboard would not look as cluttered, though, well, maybe that is how Steve’s desk looks like, …

Computex 2010: VIA Nano Dual Core is coming

June 2nd, 2010

Finally. So it’s only about 1½ years until we “might” actually get our hands on them, …

Wow, Lena really won the Eurovision Contest!

May 30th, 2010

So Lena Meyer-Landrut indeed won the Eurovision Song Contest 2010 in Oslo as predicted by Google. She actually is from Hanover, which just happens to be the capital of the region where I grew up, too!

ExactScan 2.10 TWAIN dreams to come true

May 28th, 2010

ExactCODE just released another major ExactScan product family update: the new version 2.10 brings the teased major surpise Most notably is the new and novel TWAIN Bridge. It allows to utilize the many built-in drivers built into ExactScan from other, third-party TWAIN applications.

Another magical feature is the new flatbed de-skew. While previous versions of ExactScan already came with, what I would call, industry leading auto-crop and de-skew for scan with the built-in drivers from the ADF (Automatic Document Feeder), recent advancements in our in-house R&D (Research & Development) allowed us to add truely revolutionary de-skew even for flatbed scans! It allows to intelligently track objects on the flatbed glass and auto-crop and de-skew sufficient rectangular objects, such as: letters, receipts, post-cards, CD covers, coaster, etc.

Of course we also continue work as usual on the next maintenance update.

Read more: ExactScan homepage

Disassemble boot-loader, BIOS binaries

May 27th, 2010

So, you are just hacking on your boot loader, BIOS? Need to verify the executable binary you get out of GCC, LLVM? Or need poke into it otherwise, because some commercial, binary-only does not want to behave?

objdump -D -b binary -mi386 -Maddr16,data16 thy-binary

OCRKit 1.2

May 24th, 2010

After the amazing success of the last, and very focused ExactScan release we continued the same with OCRKit. Version 1.2 shipped with hundreds of new internal test cases and all bugs closed that our valued customers brought to our attention, not to mention the always improved recognition accuracy. Oh, and last but not least we engineered a new de-screen filter that we also put into this OCRKit release, it can drastically help recognizing text on dotted background, like 25% or 50% dot background as used so often in popular spreadsheet applications.

Simply dag’n drop your files on the OCRKit application icon.

Bad habits: (Statically linked) library copies

May 22nd, 2010

Today (yes, a Saturday, don’t ask I have to work any day, …) I had to hunt an ugly bug for a custom. Actually that gdchart, an aging PHP charing extension, does not work with PHP 5.3. Actually an issue that is all over the web and zillion of people want to see work and a patch for.

I wonder why there are no patches for this apparently kind of prominent issue. Anyway, after too much time diving thru all the mess that is PHP (yeah, I’d prefer nearly any language, such as Lua, but that is a different topic), I found the culprit the all so often “private, modified, and statically linked copy of a library” problem. Point in case: libgd, an albeit aging and ugly graphic library by itself.

So PHP 5.3 changed the symbol visibility and no long exports the libgd symbols the gdchart extension needs to perform it’s work. So after finding all this out the fix (or workaround, whatever you wanna name it) was trivial. I wonder why noone else came up with a fix, yet. Though, maybe PHP website constructors are just not up to digging thru such details.

Point being: Don’t ever, never ever, copy a library into your project and link it in statically. You’ll doing anyone a favor. Not yourself, not the distributors, nor the users. Yes, I understand it’s tempting, and worst historic coding practice. But don’t! It will just duplicate workload and headache. Not only will it age, be subject to security issues, bugs and lagging features long after the upstream library was improved. You’re unlikely doing a better job on it than the original authors. And from my T2 experience I know it! Maintaining all the thousand packages I have seen it all: from zlib, to libjpeg, libtiff, libpng, libgd, or lua, you name it.

And for the higher educated readers: You will also waste storage space by having the same executable code bundled multiple times, as well as also consume more virtual memory as those multiple executable chunks have to be mapped into memory multiple times as well, …

Spread the word: Google open-sources VP8 codec

May 19th, 2010

Subject says all! It is great to see modern, efficient, and supposedly not patent encumbered codec pushed by a major vendor.

It got a new name, too: Now called WebM = VP8 + Vorbis in an Matroska container.

Update: Apparently does not really live up to expectations, … :-( Though at least more open video codec code, and traction in the X.264 patent debate against Theora, et al.

Update 2: And in T2.