Monday Jun 08, 2009

DevDusk June 2009 in Munich

Last week, DevDusk June 2009 took place at the Sun office in Munich.

What is DevDusk, you ask?

To me, it's the ultimate geek after-work party: Every once in a while, developers gather after their work day and chat about current cool technologies. Think after work mini-unconference. There are DevDusks in Frankfurt and in Munich, and this time we were lucky to sponsor the latest incarnation out of the Sun Startup Essentials program.

Every good geek event starts with food & beer!After some food and beers, we had a nice variety of talks:

  • Wolfgang Stief talked about one of the coolest hobbies: Collecting and restoring old computers. Not just C-64s and Commodore Amigas, no, the real stuff: Control Data Mainframes, Crays, etc., including a project to build a full tube-based computer. He shared a lot of funny stories involving the many obstacles in transporting, reparing and operating huge digital beasts. Check out the website and Wolfgang's collection of photos on Flickr.

  • Wolfram Kriesing from introduced us to EventNinja, a clever way to leverage free Cloud services (Google Docs, Yahoo! Pipes) to create fully functional, intelligent and customizable widgets, without the need to operate any server infrastructure by yourself other than a simple static web server. Very cool and a glimpse of a whole generation of clever, light-weight distributed cloud widgets. I'm working on a similar thing myself, more on that in a future blog post.

  • And yes, I got to present something too. I used the opportunity to introduce the group to my personal definition of Cloud Computing, the Sun Cloud, highlighting it's REST APIs and encouraging the audience to play around with Zembly while they're waiting for the Sun Cloud to become publicly available.

Slides, links and other material are available from the DevDusk Munich event page, feel free to check them out (some may be in Germany, but what's a little language barrier to tech people anyway?). Also, check out Gabi's blog entry on this event as well as related Twitter comments.

Friday Feb 20, 2009

Challenges and Opportunities 2009

Me speaking at #cando09This Wednesday I was invited to speak at "Challenges and Opportunities 2009", an informal, almost barcamp-like gathering of startup companies and other bright and innovative people in the center of Munich. The name is the topic and so the focus was on how to make the best of the current economic situation. Surprisingly, the overall feeling of the conference was quite relaxed, almost cheery, as if the econonmy wasn't really that relevant. Just the right attitude to have, I'd say.

Nicholas MacGowan von Holstein of took the effort of putting this event together, which was a remarkable feat, given that he was in the middle of entering open beta with his startup at the same time. Twidox is a new startup company that offers a platform for the collaborative exchange of high-quality documents. The idea comes from Nicholas' experience during his university days where students would spend a lot of time researching publications and trying to find relevant papers to a certain topic. Twidox lets you both publish and search for documents and helps you make sense out of them through tagging, rating and other mechanisms. Actually, there are quite a few parallels to our own SunSpace document management system and so it was not surprising to see Nicholas and Peter having a great interest in each other's work.

Each presentation was limited to 5-10 minutes which was a good thing to keep the pace going. We heard from Terry Bibra about Yahoo's strategy of openness, Stephan Uhrenbacher from Qype talked about principles they observed when creating their startup, Ingo Dahm from Microsoft highlighted some opportunities that today's technologies offer and Nicholas Kirschner of High-Tech-Gründerfonds offered his insight as a venture capitalist about the good, the bad and the ugly of VCs during difficult times. The ticketing logistics of the event were done through Amiando, a fast growing German startup that provides streamlined ticketing operations to everyone. Felix Haas from Amiando offered his own views as a startup, highlighting flexibility in finding the right business model and pointing out that startups don't necessarily need to go for a multi-million Dollar exit.

My own talk was about "Survival 2.0", inspired by Tim Bray's "The Fear Factor" talk at FOWA 2008 that he also elaborated about in a series of inspiring blog posts. Tim talked to developers, so I mixed in some of my own experience of having gone through the Dot-Com Bubble and made a 5-point list of tips to get you through tough times, that everyone of us can use today. Most, if not all of these tips are just common sense, it's just that we sometimes tend to lose our common sense when the going get's tough...

The fine people at Tiburon-TV have recorded the talk and you can watch a video of "Survival 2.0" here. The slides are available from Twidox as well. It's all in German but if you're interested, I can send you a translated version of the slides so you can use them for your own presentations.

Also, check out the Twitter buzz around this event's #cando09 hashtag. It's quite fascinating how dynamic instant communication has become today...

Monday Apr 28, 2008

Presenting images and screenshots the cool, 3D, shiny way

My daughter Amanda in her 2D cheerfulnessIf you give a presentation about hardware products, it is easy to make your slides look good: Remove boring text, add nice photos of your hardware and all is well.

But what if you have to present on software, some web service or give a Solaris training with lots of command line stuff?

Sure, you can do screenshots and hope that the GUI looks nice. Or use other photos (like the one to the left) that may or may not relate to the software you present about.

But screenshots and photos (to a lesser degree) are so, well, 2D. They look boring. Wouldn't it be nice to present your screenshots the way Apple presents its iTunes software? Like add some 3D depth to your slide-deck or website, with a nice, shiny, reflective underground?

Well, you don't need to spend thousands of dollars with art departments and graphics artists (they'd be glad to do something different for a change) or work long hours with Photoshop or the Gimp (a most excellent piece of software, BTW),  trying to create that stylish 3D look. Here's a script that can do this easily for you!

You're probably wondering why my daughter Amanda shows up at the top of this article. Well, she was volunteered to be a test subject for my new script. The script uses ImageMagick and POV-Ray in a similar way to my earlier photocube script that we now use to generate the animated cube of the HELDENFunk show notes. It places any image you give it into a 3D space and adds a nice, shiny reflection to it. Let's see how Amanda looks like after she's been through the script:

-bash-3.00$ ./ -s 200 Amanda_small.jpg
Fetching and pre-processing file:///home/constant/software/featurepic/Amanda_small.jpg
Rendering image.
Writing image: featurepic.jpg

Amanda, in her new 3D shininess

The size (-s) parameter defines the length of either width or height of the result image, whichever is larger. In this case, we choose an image size of a maximum of 200x200 pixels, so the image can fit this blog. You can see the result to the right. Nice, eh?

As you can see, her picture has now been placed into a 3D scene, slightly rotated to the left, onto a shiny, white surface. More interesting than the usual flat picture on a blog, isn't it?

The script uses POV-Ray to place and rotate the photo in 3D and to generate the reflection. ImageMagick is used for pre- and post-processing the image. The reflection is not real, it is actually the same picture, flipped across the y axis and with a gradient transparency applied to it. That way, the reflection can be controlled much better. I tried the real thing and it didn't want to look artistic enough :).

The amount of rotation, the reflection intensity and the length of the reflective tail can be adjusted with command-line switches, so can the height of the camera. Here's an example that uses all of these parameters:

-bash-3.00$ ./ -h
Usage: ./ [-a angle] [-c cameraheight] [-p] [-r reflection] [-s size] [-t taillength] image
-p creates a PNG image with transparency, otherwise a JPEG image is created.
Defaults: -a 15 -c 0.3 -r 0.3 -s 512 -t 0.3
-bash-3.00$ ./ -a 30 -c 0.1 -r 0.8 -s 200 -t 0.5 Amanda_small.jpg
Fetching and pre-processing file:///home/constant/software/featurepic/Amanda_small.jpg
Rendering image.
Writing image: featurepic.jpg

Amanda with more shinynessThe angle is in degrees and can be negative. One good thing about rotating the image into 3D is that you gain horizontal real estate to fit that slightly longer bullet point in. It helps you trade-off image width for height without losing too much detail. An angle value of up to 30 is still ok, I wouldn't recommend more than that.

The camera height (-c) value is relative to the picture: 0 is ground level, 1 is at the top edge. The camera will always look at the center of the image. Camera height values below 0.5 are good because a camera below the subject makes it look slightly more impressing. Values above 0.5 make you look down at the picture, making it a bit smaller and less significant.

The reflection intensity (-r) goes from 0 (no reflection) to 1 (perfect mirror) while the length of the reflection (the fade-off "tail", -t) goes from 0 (no tail) to 1 (same size as image). Smaller values for reflection and the tail length make the reflection more subtle and less distracting. I think the default values are very good for most cases.

Check out the -p option for a nicer way to integrate the resulting image into other graphical elements of your presentation. It creates a PNG image with a transparency channel. This means you can place it above other graphical elements (such as a different background color) and the reflection will still look right. See the next example to the right, where Amanda prefers a pink background. Keep in mind that the rendering step still assumes a white background, so drastic changes in background may or may not result in slight artifacts at the edges.

Amanda loves pink backgrounds!

You can also use this script with some pictures of hardware to make them look more interesting, if the hardware shot is dead front and if it doesn't have any border at the bottom. Use an angle value of 0, this will place your hardware onto that virtual glossy carbon plastic that makes it look nicer. See below for an embellished Sun Fire T5440 Server, the new flagship in our line of Chip-Multi-Threading (CMT) servers.

This script should work on any unixoid OS, especially Solaris, that understands sh and where a reasonably recent (6.x.x) version of ImageMagick and POV-Ray are available.

You can get ImageMagick and POV-Ray from their websites. On Solaris, you can easily install them through Blastwave. The version of ImageMagick that is shipped with Solaris in /usr/sfw is not recent enough for the way I'm using it, so the Blastwave version is recommended at the moment.

The Sun Fire T5440 Server, plus some added shinyness.The script is free, open source, distributed under the CDDL and you don't have to attribute its use when using the resulting images in your own presentations, websites, or other derivative work.

It's free as in "free beer". Speaking of which, if you like this script, leave a comment or send me email at constantin at sun dot com telling me what you did with it, what other features you'd like to see in the script and where I can meet you for some beer :).



Tune in and find out useful stuff about Sun Solaris, CPU and System Technology, Web 2.0 - and have a little fun, too!


« July 2016