a good source of all things javascript libraries

Choosing the right javascript library is one of the key elements to create a good prototype in very short times – productive applications even. If you want to get new impressions, hints and links to those javascript libraries that will render your next project a success look no further:

Bildschirmfoto 2013-02-02 um 20.50.49

Source 1: http://pinterest.com/0x0/webdev/

an ode to the beauty of code by the example of the source code of Doom 3

It’s been a habbit to ID software to release the source code of their previous games and game engines as open source when time is due. That’s what happened with Doom 3 as well. Since beautiful code appears to a lot of developers it’s just a logical step to analyse the Doom 3 source code with the beauty-aspects in mind.

Now there are two very good examples of such analysis.

Source 1: http://kotaku.com/5975610/the-exceptional-beauty-of-doom-3s-source-code
Source 2: ftp://ftp.idsoftware.com/idstuff/doom3/source/CodeStyleConventions.doc
Source 3: http://fabiensanglard.net/doom3/index.php
Source 4: https://github.com/TTimo/doom3.gpl

Raspberry Pi gets a camera

The first signs of the upcoming camera board for the raspberry pi are showing. During the Electronica 2012 fair RS showed the board to the public for the first time.

Since it’s going to be a 25 Euro add-on for the Pi the specification is quite impressive. The OmniVision OV5647 is used as the Image Sensor – it’s bigger brother is used in iPhone 4. OmniVision says:

“The OV5647 is OmniVision’s first 5-megapixel CMOS image sensor built on proprietary 1.4-micron OmniBSI™ backside illumination pixel architecture. OmniBSI enables the OV5647 to deliver 5-megapixel photography and high frame rate 720p/60 high-definition (HD) video capture in an industry standard camera module size of 8.5 x 8.5 x ≤5 mm, making it an ideal solution for the main stream mobile phone market.

The superior pixel performance of the OV5647 enables 720p and 1080p HD video at 30 fps with complete user control over formatting and output data transfer. Additionally, the 720p/60 HD video is captured in full field of view (FOV) with 2 x 2 binning to double the sensitivity and improve SNR. The post binning re-sampling filter helps minimize spatial and aliasing artifacts to provide superior image quality.

OmniBSI technology offers significant performance benefits over front-side illumination technology, such as increased sensitivity per unit area, improved quantum efficiency, reduced crosstalk and photo response non-uniformity, which all contribute to significant improvements in image quality and color reproduction. Additionally, OmniVision CMOS image sensors use proprietary sensor technology to improve image quality by reducing or eliminating common lighting/electrical sources of image contamination, such as fixed pattern noise and smearing to produce a clean, fully stable color image.

The low power OV5647 supports a digital video parallel port or high-speed two-lane MIPI interface, and provides full frame, windowed or binned 10-bit images in RAW RGB format. It offers all required automatic image control functions, including automatic exposure control, automatic white balance, automatic band filter, automatic 50/60 Hz luminance detection, and automatic black level calibration.”

That sensor delivers RAW RGB Imagery to the RaspberryPi through the onboard camera connector interface:

this actually is a 14 MPixel test-board and not the final 5 MPixel one…

And the part that impressed me the most is that that 5 Megapixel sensor delivers it’s raw data stream and it gets h264 compressed directly within the GPU of the Raspberry Pi. 30 frames per second 1080p without noticeable CPU load – how does that sound? – Not bad for a 50 Euro setup!

Source 1: First Demo
Source 2: OmniVision OV5647 Color CMOS QSXGA Image Sensor

What happened to: realtime Radiosity lighting

Back in 2006 I wrote about a new technology which the also new company Geomerics was demoeing.

Back in 2006 everything was just a demo. Now it seems that Geomerics found some very well known customers and without noticing a lot of the current generation games graphics beauty comes from the capabilities real time radiosity lighting is adding to the graphics.

“Geomerics delivers cutting-edge graphics technology to customers in the games and entertainment industries. Geomerics’ Enlighten technology is behind the lighting in best-selling titles including Battlefield 3, Need for Speed: The Run, Eve Online and Quantum Conundrum. Enlighten has been licensed by many of the top developers in the industry, including EA DICE, EA Bioware, THQ, Take 2 and Square Enix.” (Source)

There even is a more updated version of the demo video:

Source 1: real time radiosity lighting article from 2006
Source 2: Geomerics Presentations
Source 3: More Geomerics Media

Realtime Video Effects: Time Remap

With todays processing power and the faults of current generation digital video cameras you can have a lot of fun – if you know how:

The above demonstrated effect is called Time Remapping. The description of the video tells us more about the effect itself:

The effect was discovered accidentally by a photographer called Jacques Henri Lartigues at the beginning of the 20th century (in 1912 to be precise). He took a picture of a race car with eliptical deformed tires – an effect caused by the characteristics of the camera he was using.

Source 1: http://vimeo.com/7878518
Source 2: http://en.wikipedia.org/wiki/Jacques_Henri_Lartigue
Source 3: http://bokeh.fr/blog/photographes/la-voiture-deformee-de-jacques-henri-lartigue/

gorgeous minecraft renderings – using opensource and blender

There you are – you’ve spent hundreds of hours, maybe together with friends, in a game called Minecraft. You mined and you crafted. And you built yourself your own world. Out of blocks.

“Minecraft is a game about breaking and placing blocks. At first, people built structures to protect against nocturnal monsters, but as the game grew players worked together to create wonderful, imaginative things.

It can also be about adventuring with friends or watching the sun rise over a blocky ocean. It’s pretty. Brave players battle terrible things in The Nether, which is more scary than pretty. You can also visit a land of mushrooms if it sounds more like your cup of tea.”

Those who haven’t played Minecraft yet – you’re missing out a lot. It’s fun and addictive. It seems pretty dull when you don’t know it. As soon as you got immersed in it you immediately see that it’s a lot bigger and the possibilities are a lot more varying than at first sight.

With all those blocks you can basically build your own world and humongously huge objects. It obviously takes a while in most cases because you (until you start using tools and mods) need to fit each block to the other in order to create those big objects.

So imagine you got your own world and you want to create nice renderings of it to hang on your real-world-appartment walls? You can use a very simple to use and thankfully free (open sourced) tool to do that.

It’s called McObj and it uses blender to render the exported geometry. Get it and send your renderings!

Source 1: https://github.com/quag/mcobj
Source 2: http://quag.imgur.com/minecraft__blender
Source 3: https://minecraft.net/
Source 4: http://www.pcgamer.com/2012/11/29/minecraft-renders-azeroth-and-the-pc-gamer-server/

Sintel:

After the last Open Movie Project “Bug Buck Bunny” – Sintel is the next short movie available for free download. Get it here.

“Sintel” is an independently produced short film, initiated by the Blender Foundation as a means to further improve and validate the free/open source 3D creation suite Blender. With initial funding provided by 1000s of donations via the internet community, it has again proven to be a viable development model for both open 3D technology as for independent animation film.
This 15 minute film has been realized in the studio of the Amsterdam Blender Institute, by an international team of artists and developers. In addition to that, several crucial technical and creative targets have been realized online, by developers and artists and teams all over the world.

“Sintel” commenced in May 2009, with producer Ton Roosendaal establishing a core team consisting of Colin Levy (director), David Revoy (concept art), Martin Lodewijk (story) and Jan Morgenstern (composer). In August script writer Esther Wouda was approached as a consultant, which resulted in her taking the responsibility for the entire screenplay. Esther then worked in close cooperation with Colin, David and Ton to deliver the final script early November. Meanwhile, Colin and David realized the first storyboards.

Based on a public call for artists – with over 150 respondents – the Durian artist team got established in July 2009. They first met in a pre-production week in Amsterdam in August, and all decided to join the project per October 1st. With the final movie budget still unknown, the target then still was to finish the film within 7 months, with a team of 6 artists and 2 developers. At that time the team still had the hopes to be able to realize the script in a 6-8 minute film.

In november, the Netherlands Film Fund approved on a substantial subsidy for Sintel, enough to extend the project to 10 months, with possible 1 or 2 extra artist seats in the final months. It was also by this time that breakdowns and animatic edits showed that the script had to be revised to become more compact, with a story structure using a flashback.

In the months after, Colin’s work on the Director’s Layout – 3D animatic shots – and final designs on the grand finale gradually made the movie longer, from 9 minutes in november, to almost 12 in May. Proper story telling, to absorb an audience with convincing characters and action just takes time!

With the highly anticipated extra funding from the Amsterdam Cinegrid – also funding a 4k resolution version – Ton finally could extend the team with 5 artists and a developer in March 2010. With 14 people the film then was completed for a first screening on July 18th in cinema Studio K in Amsterdam.
Three artists then stayed in Amsterdam working on final shot edits, lighting design, compositing, and on the impressive 2 minute film credits. The movie ended up with a total duration of 14m:48s, 888 seconds!

Watch it now:

Sintel

Source 1: Elephants Dream
Source 2: Big Buck Bunny 
Source 3: Sintel
Source 3: Sintel Download

visualize your source control

There’s a great tool available to create impressive visualizations of source code repositories:

“Software projects are displayed by Gource as an animated tree with the root directory of the project at its centre. Directories appear as branches with files as leaves. Developers can be seen working on the tree at the times they contributed to the project.

Currently there is first party support for Git, Mercurial and Bazaar, and third party (using additional steps) for CVS and SVN. “

 

Source: http://code.google.com/p/gource/

Developing on a Microsoft Surface Table

At sones I am involved in a project that works with a piece of hardware I wanted to work with for about 3 years now: the Microsoft Surface Table.

I was able to play with some tables every now and then but I never had a “business case” which contained a Surface. Now that case just came to us: sones is at the CeBIT fair this year – we were invited by Microsoft Germany to join them and present our cool technology along with theirs.

Since we already had a graph visualisation tool the idea was to bring that tool to Surface and use the platform specific touch controls and gestures.

surface_visualgraph
the VisualGraph application that gave the initial idea

The good news was that it’s easier than thought to develop an application for Surface and all parties are highly committed to the project. The bad news is that we were short on time right from the start: less than 10 days from concept to live presentation isn’t the definition of “comfortable time schedule”. And since we’re currently in the process of development it’s a continueing race.

Thankfully Microsoft is committed to a degree they even made it possible to have two great Surface and WPF ninjas who enable is to get up to speed with the project (thanks to Frank Fischer, Andrea Kohlbauer-Hug, Rainer Nasch and Denis Bauer, you guys rock!).

surface_simulator
a Surface simulator

I was able to convice UID to jump in and contribute their designing and user interface knowledge to our little project (thanks to Franz Koller and Cristian Acevedo).

During the process of development I made some pictures which will be used here and there promoting the demonstration. To give you an idea of the progress we made here’s a before and after picture:

Surface_Finger2
We started with a simple port of VisualGraph to the surface table…

Surface_Finger
…and had something better working and looking at the end of that day.

I think everyone did a great job so far and will continue to do so – a lot work to be done till CeBIT! :-)

Source 1: http://www.sones.com
Source 2: http://www.microsoft.de
Source 3: http://www.uid.com/

draw Sequence Diagrams by writing them on a website

Since we are developers we do need tools to note and draw what we think would solve the problems of this planet.

One way to draw a sequence of actions would be a sequence diagram. There are a nbumber of tools to draw them but now I came across a web service that would allow me to write my sequence diagram in a easy textual representation and then it draws the diagram for me. Great stuff!

webseqdiagram

Source 1: http://en.wikipedia.org/wiki/Sequence_diagram
Source 2: http://websequencediagrams.com/

So what exactly is Microsoft Research doing?

I am proud to anounce that there’s a video publicly available which shows parts and projects Microsoft Research is working on currently. It’s great to see theses projects, concepts and ideas become publicly available one by one:

“Craig Mundie, chief research and strategy officer of Microsoft, presents “Rethinking Computing,” a look a how software and information technology can help solve the most pressing global challenges we face today. Part of UW’s Computer Science and Engineering’s Distinguished Lecture Series, Mundie demonstrates a number of current and future-looking technologies that show how computer science is changing scientific exploration and discovery in exciting ways. He discusses the role of new science in solving the global energy crisis, and answer questions from the audience.”

uwtv

Source: http://www.uwtv.org/programs/displayevent.aspx?rID=30363&fID=6021

If you ever needed Box-Shots of your product for a presentation…

If you – like us – need a picture of a shiny product box of a soon-to-be-released product for your presentation you may want to consider buying several tools to create such shots. But you can also just use a small tool and Windows Presentation Foundation.

There’s a great article on CodeProject where a almost everything is pre-set-up for our needs. And everything is written in C# – great stuff!

In action it looks like this:

sones-boxshot

Source: http://www.codeproject.com/KB/WPF/BoxShot.aspx?display=Print

Useful tools: OnTopReplica

Normally I am using a notebook and a 24” Widescreen TFT as a Dual-Monitor solution. In fact I am mostly using the 24” TFT for work and the notebook 14” TFT for all the things that don’t need to be in focus right now like Instant Messengers.

Now in those few cases when a video needs to be played I want it on the main monitor but I want it to take as little of space as possible. And I want it On Top of everything else… maybe sometimes I even want to control it’s opacity a bit…

Now there’s this cool tool called “OnTopReplica” – It’s available for free on Codeplex and works out of the box without installation.

After you start it you’ll end with a small glas window where you can right-click to get a menu. You choose a Window which needs to be replaces – for example the YouTube Browser Window. After that you can even control which region of this Window should be displayed. You can resize, move and of course control the opacity of this window.

ontopreplica 

It’s also great for presentations because it allows you to simply resize any window you like. It will resize it and while it does that the window always is “live” – so everything you’re doing in the original window will be displayed in the replica.

ontopreplica2 

Source: http://ontopreplica.codeplex.com/

The Samsung UE46B6000 + Apple Mac Mini + Plex

So it’s been some days with the new Mediacenter Setup. And all I can say is: Oh boy that is some serious cool setup. I wouldn’t want to chance anything beside adding a new Sound System (>5.1 FTW!).

The Display itself is thinner than thought:

IMG_5394

I strongly recommend the Mac + Plex + Full HD display setup. Even if you don’t get any HD content from your cable provider you can live-stream or download HD content through the different provider plugins inside Plex. The plugin infrastructure with the built-in “App Store” is just great.

Since Plex is a XBMC based Mediacenter software you have tons of information scrapers regarding series and movies. So you’re eventually huge collection gets indexed and presented in a way you would not get from any other Mediacenter. You get pictures, movie posters, descriptions and many more just by automatic indexing your collection.

IMG_5404_2

MST3k FTW!

Needless to say that HD content is something different. I only had some HD content on normal computer displays in the last years – having it now huge and sharp is different – better.

BTW: It’s on the floor right now because my wife couldn’t decide until now which tv-stand would suffice…

Source 1: http://av.samsung.de/produkte/detail2_main.aspx?guid=b6c1306c-f57d-4ce7-a944-56cc7346ed2e
Source 2: http://www.apple.com/macmini/
Source 3: http://plexapp.com/

new tv set arrived

Finally we got a TV set. Since Samsung announced new LED based sets we ordered a 46 inch tv. It was delivered today (yesterday the Mac mini which will drive the mediacenter arrived). I only had a short test-run scanning for cable stations… so more of that in the following days – especially more of the mediacenter configuration.

IMG_5325

Source: Samsung UE46B6000

DIY Photo Frame (with a twist)

I got these two quite old Windows Mobile Professional phones (with touchscreen and everything) and beside the fact that they are my phones I am using them just to display my calendar entries on my desk. Now I thought it would be a great thing if those two QVGA devices would display personal pictures in a slideshow.

And it would be even better if they would get their pictures from the internet. And even better if there would be an application that would allow me or my wife to upload/delete pictures from the slideshow playing on all devices.

Thought said, and done. I did a little afterwork project today, taking me approx. 3 hours with everything from scratch.

So I made these parts:

  1. a webservice to upload, delete and retrieve the pictures

    This really is just a webservice very similar to the one I used in my DropBox application. It’s hosted on one of my machines and makes the pictures also available to the mobile clients.

  2. an upload tool to upload, delete the pictures comfortably

    I took the DropBox Application and customized it – it now resizes the pictures automatically before uploading and it can display a preview in the file browser.

    photoframe_upload_1

    photoframe_upload_2

  3. a small application running on my phones that displays this pictures using the webservice

    This one was made from scratch and consumes the webservice from above. It asks for the next picture URL, downloads this picture and displays it… and so on.

    photoframe_app_1 photoframe_app_2

Since it’s already up and running and looking great on my desk I wanted to share it with you. Don’t expect everything to work out-of-the-box but it’s a start for everyone who wants to have something like this. Oh – of course your windows mobile device needs to have internet access…

So as usual here’s the sourcecode of the whole package for your pleasure. Use it where ever and in what ever whay you want as long as you’re crediting.

PhotoFrame.zip (639,87 KB)

P.S: There’s a fun fact I did not know: I accidently double-clicked the windows mobile application on my Vista machine and guess what: It just runs! Yes, manage Windows Mobile Application running natively on Windows Vista:

funfact

Source 1: PhotoFrame.zip (639,87 KB)
Source 2: DropBox

HandBrake is now a full blown video converter…

Turns out that a new snapshot (unofficial) version of my favourite DVD to iPod Converter is available. With the new version came new features like the one that allows me now to convert almost anything to wonderful iPod compatible movie files.

handbrake093

“HandBrake is an open-source, GPL-licensed, multiplatform, multithreaded DVD to MPEG-4 converter, available for MacOS X, Linux and Windows.”

I tried anything in my library, including some matroska movie files. Just everything worked – amazing!

Source: http://handbrake.fr/?article=snapshot

create panoramic images with a free tool

There was the Digital Image Suite and several other tools like Hugin and Cool360 which I used over the last years to create panoramic images. Now there’s a new tool available in 32 and 64 bit (for really really huge images!) from Microsoft Research. It’s free at this point and if you’re on Windows it’s definitely worth the try.

msice

“Microsoft Image Composite Editor is an advanced panoramic image stitcher. You shoot a set of overlapping photographs of a scene from a single location, and Image Composite Editor creates a high-resolution panorama incorporating all your images at full resolution. Then save your stitched panorama in a wide variety of formats, from common formats like JPEG and TIFF to multi-resolution tiled formats like HD View and Silverlight Deep Zoom.”

Source: http://research.microsoft.com/ivm/ice.html

FFN Switcher – Zweites Release

Nach ein paar Wochen ist es nun Zeit für eine weitere Version des FFN Switchers. Dank der mühevollen Tests vieler fleissiger Helfer des Freien Funknetzes gibt es eine bugfreiere Version inklusive neuer GUI.

Den Sourcecode und alles zugehörige gibt es wie immer auf dem Subversion Server.

ffnswitcherr2_3

ffnswitcherr2_2

Download: FFN Switcher Release 3

Source: FFN Switcher Release 3

Building Earth

Steffi and I made our own version of earth some years ago using 3D Studio and NASA Images – we even made an animation. But this guy does a way better job – creating a photorealistic earth:

“For some time now, I’ve been studying how to build Earth in Blender. I’ve read quite a few tutorials, studied NASA’s Blue Marble images, and received critique from other Blender enthusiasts. I now have some satisfactory results, which I’d be happy to share.

I’ve put together a 21-page tutorial which explains how I achieved my Earth renders. I know there are already a lot of Earth tutorials out there – but none that I found helped me get quite the effect that I wanted. My tutorial combines what I gleaned from all the other tutorials, with what I learned on my own through hours of experimenting. I’m sure it’s not perfect – but I think it will be helpful for anyone interested in the subject.

The tutorial focuses on three different models of Earth – a photographic-style Earth, a Blue-Marble-style Earth, and a night Earth. It demonstrates how to render details such as proper specular shading and ray-traced cloud shadows.”

There’s a free pdf tutorial available that shows how to create these 3D renderings with blender.

Earth Poster

Source 1: http://chamberlinproductions.110mb.com/mappedearth.html
Source 2: “what’s the size of the earth compared to”
Source 3: http://web.olp.net/wildernesslodge/Earth%20Tutorial.pdf

Software .NET managed DSP for Audio and …

As you may or may not know I am working on a gateway tool for citizen band radio. For this tool I was asked if it would be possible to build a tone detection, maybe more, into my software. And on the way of finding out how to accomplish this I stumbles across several very interesting things.

Like this peakmeter control which uses a software digital signal processing or a software dsp library – everything written entirely in managed code (C#) and both open source. Both examples show that you can use digital signal processing for audio and image content… and for more.

The peakmeter control:

micsourcediag

“DSP processing is very interesting subject to learn and work with. This block receives digital samples from the source. It approximates the original waveform and finds its peak magnitudes.
Since I would not be able to go in details about how FFT (Fast Fourier Transform) works in this article, I recommend the interested reader to visit some of the links in the reference section to increase his/her knowledge about this process.”

The software DSP library:

“A C# open source library that provides fully featured (1) single and double precision complex number data types, (2) complex number math library, (3) 1D, 2D and 3D complex and real symmetric fast Fourier transforms, and (4) highly accurate statistical routines. The library is optimized for both speed and numerical accuracy. The reason that this library is called a “Digital Signal Processing” library is because complex numbers, FFTs and statistical functions form the basis of any DSP library — although it is the hope that this library will continue to evolve to a more full fledged DSP library.”

image

Source 1: http://www.codeproject.com/KB/audio-video/PeakMeterCS.aspx
Source 2: http://www.exocortex.org/dsp/