Monday, March 17, 2008

Health objects at CeBIT 2008


Every year at CeBIT they have a special hall dedicated to cool design. This year we found a lot of great medical gadgets including this odd finger prosthesis made of wire and plastic. You’ll also find a hands-free faucet and two baby scales made of balloons. Most of this stuff won’t really effect our daily lives but it’s cool to know babies get little bubblewrap things to lie on when they’re born.

New entry level MacBook slower than last year’s model

I remember when the G5 processor came out a few years ago. After the initial hype died down, people realized that it only had L2 cache whereas the G4 it was replacing had L3 cache. Basically, the L3 cache was a big reason why the G4 was the reliable workhorse it was. The L3 cache made it run that much better.

A similar thing is now being realized with the recently updated MacBook.

According to Geekbench scores (we did a quick Geekbench run through, too), the newest entry level MacBook doesn’t perform as well as the late 2007 models. Reason why? The cache. The new Penryn processor has less cache than the older Merom-based ones. This caveat really only applies to the the entry level MacBooks as the faster clock speed of the higher end ones make up for the smaller cache.

Moral of the story is that this past update was nothing more than a slight, oh-so-slight speedbump. I bought a MacBook 10 days before the new ones were released and didn’t even bother exchanging it for the new one.

MacBook Performance (March 2008) [Primate Labs Blog]

Shark deterrent! (Caution: does not work in belly of shark)


If you’re a surfer in, say, Australia, you may have considered investing in such sharky countermeasures as a Shark Shield or chain mail. Neither is perfect as the latter tends to make you sink, and the former apparently causes the occasional shark to eat it, as evidenced by a recent test in which a 10-foot great white took a bite out of a unit being tested.

The maker of the device promises that it does not, at least, attract sharks, but critics have suggested that the Shark Shield does no good and may in fact pose additional health risks due to its emissions. Maybe I’ll just stay on the beach.

Great white ‘ate anti-shark device’ [The Australian]

This watch is really a pair of handcuffs (wherefore?)

Let’s make this short and sweet. This watch is called ZeroPointZero, is designed by one Luis Berumen and also functions as a pair of handcuffs. Handcuffs are used to restrain arrested people or by Marv Albert.

Biggs is the resident watch expert here, so I’ll defer to him for the lowdown on the watch part. But really, it’s a sex toy. Nothing more, nothing less.

ZeroPointZero [Luis Berumen via Yanko Design]

Apple Tuesdays: Apple adds special live availability page to retail site

Now this is interesting ineed. Due apparently to the high demand of the MacBook Air, Apple has put together a special page on its retail website where you can check your local availability without having to call or visit the Apple store.

It’s not live now, but it appears as if it will be later tonight. Is Apple actually selling enough Airs to warrant this new service, or is it some secret trick into making us this it is?

MacBook Air’s availability page [Apple.com]

Control your iPod with your eyelids

A Japanese researcher has developed a new method to control the iPod.

It uses your eyelids.

Sensors clipped to a pair of glasses or headphone detect movement in the user’s eyelids. Different movements trigger different iPod functions. Close one eye and blink the other to skip songs. Close both eyes to pause the song. Etc etc.

Apparently the system can differentiate between accidental and purposeful blinks.

It’s pretty safe to say this won’t make it out of the testing labs.

Yeah, we’ve reached the end of history.

Blink and you’ll miss it: Japan’s new eye iPod [Reuters]

Microsoft giving away over $100k in prizes to select beta testers

You know those scams, mostly from the late 90s, that went around advertising that if this email is forwarded 1000 times, Bill Gates will give everyone in the sender’s list $100,000? Yah, it was bunk, but this isn’t: if you’re a beta tester for Office Live Workspace, Microsoft is going to give you $100,000.

Well, not all to one person, but it has 30,000 prizes to give out from now till May 11, including Xboxen, smartphones, and Zunes.

So sign up, beta testers, and get good.

Sign-up page [Microsoft.com]

Jeremy Piven uses a BlackBerry Curve (plus other fun facts)

I’d like to echo Laptop’s synopsis of last night’s Microsoft event (fact: “event” is journalese for party) that, ostensibly, launched Office Live. (It’s a bit like Google Docs. In fact, it’s a lot like Google Docs.)

First, Jeremy Piven was there… for approximately 18 seconds. He’s sorta on the short side. He uses a BlackBerry Curve, for you nosey celebrity types.

But now for the gossip.

So when you go to these type of events it’s mainly writers from all types of media (bloggers, magazine folks and so forth) and a few hangers-on. Not last night. Apparently Microsoft has money to burn because something like 20-30 percent of the people in attendance were hired models. Microsoft (well, its Office PR firm) brought in the beautiful people by the busload. One of the so-called beautiful people (who I rated a 24 on the 1-30 hotness scale—I’ll explain it some other day) was actually a Columbia medical school student. Needless to say, when I was asking these model types what the event was for, they pretty much all replied “some computer thing.”

Some computer thing indeed.

Jeremy Piven Can Talk Tech [Laptop]

Office Live [Microsoft]

Panasonic’s Lumix FS5 is not a bad shooter

Panasonic this week is debuting a new camera in its Lumix line. The FS5 is a 10-Megapixel point n’ shoot in the familiar Lumix form factor. Featruing a 30mm-equivelent lens, the camera is great for part shots or outdoorsmen, but not so much for portraiture, but it does have a zoom to 120mm equivalent, which addresses close-ups.

The rest is pretty standard fair for a Lumix; great low-light shots, decent flash, SDHC card support, and a large, 3-inch screen.

Crysis shown on the Xbox360 at GDC


Crytek has been pretty mum about the console plan for its GPU-taxing hit, Crysis. They said they’d be showing it on consoles at GDC, but it was nowhere to be found unless you did the legwork yourself. This intrepid gamer/reporter found that they were in fact showing it on the 360 behind closed doors, but only to publishers.

Of course, the 360 was the obvious choice, what with the DirectX framework already in place. Still, it’s good to know that the Xbots will get their shot at 2007’s prettiest shooter.

GDC 08: Crysis on Xbox 360 Shown Behind Closed Doors [Primotech]

Andrew Cowie: Passing through

I'm in London for a few days; I have a few meetings set up for while I'm here, but we're always on the lookout for people with new and interesting problems. If anyone reading this is battling to get their IT operations into shape, or perhaps has a major enterprise system critical to their business that is not living up to expectations, then by all means get in touch. We also have long experience with clients who run large Java systems on Linux, and problem solving in those environments continues to be the focus of much of our work.

If you're facing issues in any of these areas and need to do something about them, I'd be more than pleased to meet with you while I'm here. You can leave a message for me on 0207 101 9201 or call my mobile +61 4 1079 6725; my email address is andrew@operationaldynamics.com.

Given the Java on Linux preoccupation, it's no surprise that a few years ago I became the maintainer Java bindings for the GNOME Desktop (a project which allows people to use GTK and the other GNOME libraries from to create powerful Linux applications while leveraging their existing expertise with Java). That's the reason I'm on the road this particular trip; the GNOME Foundation has organized a GTK hackfest in Berlin next week and I was kindly invited.

I'll be in Toronto the week after, so again, if someone would like to meet, please don't hesitate to call; 647 477 5603.

Actually, this whole blog post is a bit of a misnomer. It doesn't matter where you are located, nor where I or any of my staff happen to be any given week. If you have systems that are critical to your business, need to prevent crisis from occurring, trying to manage change better, or looking to review your architecture so you can optimize your use of technology and ensure scalability, then don't hesitate to contact us, anytime.

AfC

--
Andrew Frederick Cowie
Managing Director Sydney New York Toronto London +61 2 9977 6866+1 646 472 5054+1 647 477 5603+44 207 101 9201

Rich Burridge: Links for 4th March 2008

Four quick links from the MAKE and HACKS blogs that impressed me:

  • Genuine Authentic Victorian Apple Reproduction

    I'd call it steampunk if it was steam powered.

  • Bookcase Staircase

    As a family that has 24 bookcases full of books, we are always looking for innovate approachs like this. Unfortunately it wouldn't work with our staircase.

  • One-handed Wii controller

  • View YouTube in high-res

    I think they really mean higher-res.

[Technorati Tag: Links]

[Technorati Tag: Accessibility]

Murray Cumming: Two Months and Smiling

Liam is just over two months old now. He's a little more aware of the world, though not really interacting with it much yet. He started to smile properly a week ago, and every day he makes slightly different vowel sounds. After two months of sleeping, eating and crying, the first wide smile makes a big emotional impact.

He's now nearly 5 Kg, almost double his birth weight, and my back knows it.

Sigi and I take turns so we can get other things done. I have the midnight to 4am shift, when I give him the bottle, and 10am to 12pm. I generally get work done between 12:00 noon and 18:00, and sometimes in that midnight to 4am shift. He's quite an easy baby, I think, but we are very lucky that there are two of us who can give him lots of time. It would be nice if he didn't need to sleep in my arms quite so much.

I have decided to avoid taking on much new work before June, so we can keep this daily routine for a while more. I'll also look for a small office in the neighbourhood - The Glockenbachviertel in Munich, in case anyone has a suggestion. But there is work to do so I'm still trying to hire new people.

Alberto Ruiz: Sun hires Python fellows

Really good news for the enthusiasts of dynamic languages and Python. Sun just hired Ted Leung and Jython leader Frank Wierzbicki to work full time on bringing Jython closer to CPython 2.5 (currently Jython is compatible with Python 2.2).

For Jython and the Python community this are pretty exciting news for several reasons:

Bringing together the easy of use of the Python web frameworks such as Django with the scalability facilities that Java has would be a huge step.

Python (and Django? Zope? TurboGears?) integration in NetBeans.

Develop real parallel applications. The global interpreter lock prevents the CPython implementation to have more than one worker running at the same time. With the JVM the problem just goes away.

There are also a lot of areas where Jython has better performance results than CPython has.

 

And lots of other cool things. The only drawbacks is that even if it gets to be Python 2.5 compliant, bindngs such as PyGTK won't work though.

 

All in all, more choice for the Python lovers!

Ted, Frank, welcome aboard!

Olav Vitters: Release notes on GNOME Library

In a combined effort Frederic Peters and me moved the GNOME 2.12+ release notes to the GNOME Library. There have been various changes over the years in how these release notes were generated (only discussing GNOME 2.x). In the beginning, the release notes were stored in the releng module. Someone had to fetch the docbook sources, generate HTML from these files and commit the HTML to the www.gnome.org module (gnomeweb-wml). Starting with 2.10 the release notes were translated into various languages. Someone still had to commit the HTML files to gnomeweb-wml. That changed as of 2.12. The release-notes were put into gnomeweb-wml and its build was changed to automatically generate the HTML (in various languages). The release-notes build process within gnomeweb-wml wasn't smart. It would generate HTML files no matter what. Even if you just changed a file in www.gnome.org/projects/ it would still generate the 2.12 (and newer) release notes in various languages. This severely slowed down the update of www.gnome.org. From 2.18 onwards the build was changed to not recreate release notes for older GNOME versions (as no change would be expected); although ideally it should just rebuild when needed.

As of now, you can see the release notes on the GNOME Library (I'll wait with the URL until 2.22). This has the following benefits:

  • General GNOME Library goodness. Meaning: users should automatically get the release notes in their language (when available)

  • No duplication of docbook intelligence
  • Less maintenance
    Initially I changed the gnomeweb-wml release notes build system to change the layout to match
  • Only builds when needed

However, it took some effort to get these release notes on the GNOME Library. Most importantly, the GNOME Library builds from tarballs, not SVN. This meant somehow giving a new tarball to the GNOME Library after a commit. Secondly, GNOME Library assumes tarballs do not change their contents (e.g. you cannot just give it an updated release-notes-2.22.tar.gz ). And the last important issue was that the old release notes had some invalid docbook.

Creating a new tarball involved the moving of the 2.12+ release-notes from gnomeweb-wml into a new repository. This to make the tarball generating scripts easier, make damned-lies integration easier and it is a lot cleaner as well. Moving these files with history meant a painful combination of svndumpfilter, vim (to change the locations), and trial and error until the repository import worked again (due to usage of svn cp between release note versions). Basically the stuff changed from /trunk/www.gnome.org/start/$VERSION(/notes)?/ to /branches/gnome-$VERSION/help. The 'help' directory is there to ease damned-lies (has some defaults); same for the 'branches'.
After the new repository was created, a tarball had to be made. Although actually a tarball per branch. This was a problem as although there was enough infrastructure to build something after a commit (the 'gnomeweb' scripts), these had no notion of branches. Everything works using trunk and the post-commit script assumes the commit was done in trunk. First task was making a post-commit script that would figure out which branch(es) a commit was made to. For this I started with a copy of the damned-lies post-commit script, changed it enough to introduce a horrible bug and spent loads of time figuring out why it wasn't working in some cases. Oh well.
Next up was adding branch intelligence to the 'gnomeweb' scripts. There are basically two scripts. One notices that a commit was made. That script is started after receiving a certain email. The other script starts via cron and is smart enough to avoid updating e.g. GNOME Library if there is another update running atm. However, it will notice if a new commit was made while a build was running. In that case, it'll rebuild again (and again). This is important as the GNOME Library doesn't support 2 updated running at the same time (although it usually works fine). After the branch support was added, it was time to make 'hook' script (the 'gnomeweb' script optionally runs a different hook script depending on the svn repos name).

The hook script itself is pretty simple (not perfect, but works and it is pretty clear what is going on):

#!/bin/sh  DIR="$(basename "$(pwd)")" TGZ="/usr/local/www/gnomeweb/libgo-extra-tarballs/$DIR.tar.gz"  cd help for LANG in $(find -maxdepth 1 -type d) do     PO_FILE="$LANG/$LANG.po"     if [ -e "$PO_FILE" ]     then         for XML_FILE in C/*.xml         do             DEST="$LANG/$(basename $XML_FILE)"             BUILD=0             test -e "$DEST" || BUILD=1             test "$PO_FILE" -nt "$DEST" && BUILD=1             test "$XML_FILE" -nt "$DEST" && BUILD=1             if [ "$BUILD" = "1" ]             then                 xml2po -e -p "$PO_FILE" "$XML_FILE" > "$DEST"             fi         done     fi done cd ..  cd .. rm -f "$TGZ" tar czf "$TGZ" --exclude=".svn" "$DIR"  # Trigger update of GNOME Library echo "$DIR forced" | /home/admin/bin/gnomeweb/set_buildflag.py -m library-web

Comments on above hook script: The gnomeweb script automatically runs this hook script from the checkout directory. Further, I added some assumptions to that script on how to name the checkout directory for a branch. Basically: $REPOSNAME-$BRANCHNAME, but if the branchname looks like: gnome-2-20, name the checkout directory like: $REPOSNAME-2.20. This allows the hook script to easily tar that directory. The directory name is important as (AFAIK) GNOME Library wants a 'release-notes-2.20.tar.gz' tarball to have a 'release-notes-2.20′ directory.

Above hook script triggers a rebuild of the GNOME Library. I've added some (customizable) ordering to the gnomeweb scripts to ensure 'library-web' is checked after 'release-notes'.

Frederic worked on making GNOME Library (AKA libgo / library-web) show these release-notes somewhere. I'm not fully aware of the various things he had to do, but hopefully he'll make a post if something is missing (or I'll update this one). Initially he had added to libgo to always rebuild certain modules (meaning: release-notes). Later he changed that to look at the timestamp of the tarball. Of course he had to add workarounds due to the various ways in which the release-notes XML was wrong. Stuff like a no/wrong 'id' being set on the article element. Another issue was with getting a title/abstract from the release-notes. This is done automatically and works perfectly for every document aside from the release-notes. However, for the release-notes it only gets some random text. Forcing Frederic to add an option not to fetch a title/abstract for some modules (release-notes) and using some standard text instead.
'Layout'-wise Frederic made various important changes. First of all the release notes appeared under 'users', while the target is everyone (users, developers, administrators, …). Frederic made a new category for the release-notes called 'misc'. Another change was to render the release notes 'flat'. Meaning: everything in one big page. This as we learned in older release notes that people 1) didn't bother to click the link to the release notes 2) often stopped at the first page. Further, he added a list of languages to the side of the release notes. Before we had a link to these languages within the release notes themselves. Meaning: if there we're 45 languages, the translators would translate those links again. Now GNOME Library handles that. Also avoids changes to the release notes docbook just because it was translated.
He also made some changes that aren't really release-notes specific. First of all a translated document will have links to the specific translated image. Meaning it links to image.png.es instead of image.png. Before it had a link to image.png. This relied on the user having the correct browser setting being correct. That broke down whenever you e.g. we're intentially looking at a language other than the one your browser was set to. Second change was how links within the same document we're made. Before it always had links like: $FILENAME#someid. Now it only does that if it links to another file. Otherwise if you're looking at release-notes/2.20/, your browser would load index.html.en#someid — but that is the same document!

Currently a commit to release-notes will start the following process:
commit on socket -> post-hook command -> nasty gawk script -> email to menubar -> fwd'ed to window -> procmail as gnomeweb user -> setting of buildflag -> cron -> update_sites.py -> svn checkout/update -> release-notes hook script -> tarball -> forced libgo update -> library-web svn update -> library-web hook script -> lots of magic (I'm not Frederic) -> updated document. This whole process takes 5-7 minutes (due to cron — that is on purpose so it sometimes combines multiple commits).

Rob Bradford: Meet the Beaver

So, Ross went ahead and spoilt my fun by announcing the funky new Poky site with the awesomely cute Beaver mascot.

I've been spending the last few weeks getting the release together and testing on some of our new hardware platforms. My main contribution to this release however was the awesome new Anjuta plugin that does lots of cool stuff to help you develop with Poky. Enough babbling, go for the screencast (OGG version).


Woooh! Anjuta plugin in action

Thanks to the nice guys at iRex Technologies for sponsoring this work. As usual, packages are available at the OH repository.