- OS
- Atari
- Programming
- Misc
- Drawings
- Easter2002
- NewZealand2003
- Mexico2003
- POVray
- Blender
2009-01-05 Defense of my dissertation

On Monday, I successfully defended my dissertation about "Securing Graphical User Interfaces". In the thesis, I describe how to resolve the conflict between four principle goal of GUI architectures, which are security, compatibility, performance, and quality of service. The presented techniques are the outcome of various exhaustive experiments conducted during my time at the university, in particular DOpE, Nitpicker, Scout, and Overlay WM. I plan to make a slightly refined version of my thesis publicly available soon.

In addition to the presentation of my own work, I had to give a "scientific talk" about a topic unrelated to my research. I presented an intriguing approach of using machine learning to improve compiler-optimization heuristics brought forward by the European MILEPOST project.

2008-10-01 Genode FX on the Virtex4-based ML405 evaluation platform

Since the initial release of Genode FX, support for other boards than the Spartan3A Starter Kit had been added. Thanks to community contributions, the project works now also on S3AN boards and support for S3E board is in the works. Furthermore, Matthias Alles ported Genode FX to the Virtex5-based ML507 platform using the PowerPC 440 core. This week, I further increased the number of supported platforms by porting Genode FX to the ML405 evaluation platform. As this porting work was a good opportunity to document the process, I created a porting guide document that I will release soon. The ML405 version will be made publicly available with the next official release that is planned for October.

2008-08-28 Genode FPGA Graphics project launched

The FPGA-graphics project that Matthias Alles and me conduct together since 2005 raised quite some interest, which motivated us to publicly release the source code of our hardware and software components and to continue the development as an open-source project. In addition to maintaining the open-source version, we at Genode Labs offer commercial licensing options and support. You can read the official release announcement here:
Genode FX Announcement: http://www.genode-labs.com/news/genode-fpga-graphics-project-launched

2008-08-07 Genode Labs newsletter

Have you subscribed to the Genode Labs newsletter, yet? To keep up-to-date about our progress at Genode Labs, you may check out the link below:
Subscribe to the Genode Labs newsletter: http://www.genode-labs.com/newsletter

2008-08-07 First release of the Genode OS Framework

We at Genode Labs are very happy to announce the first official open-source release of the Genode OS Framework. The released source code contains everything needed to build and run the graphical demonstration scenario as seen at the front-page the genode.org website.
Genode.org download section: http://genode.org/download/latest-release
More detailed release notes and the source code are available from the download section of genode.org.

2008-08-01 Community website for the Genode OS Framework

The community website for our main project, the Genode OS Framework, is online. This marks the beginning of conducting this project as an community-driven development. To spawn interest of developers in our project, we put a lot of energy in creating good architectural and technical documentation including an API reference for the complete base API. Furthermore, the site provides community resources such as a Wiki, mailing lists, and our Sourceforge project.
Genode.org website: http://genode.org
In addition to creating actual content, I did most of the web develoment work for both the Genode Labs company website and the genode.org project website. In the meanwhile, Zope and Plone have become pretty close friends of mine ;-)

BTW, we still rely on GOSH for our texual work. During the past two weeks, the flexibility of this tool was extremely beneficial for our work. And of course, I know the code of GOSH in and out, which enables me to adapt GOSH to our needs in almost no time. Even though I really like Docutils as stated below, GOSH is here to stay...

2008-07-18 Cool alternative to GOSH

Since 2003, I rely on my custom text-processing tool called GOSH for all my textual work such paper writing, managing web content, and writing technical documentation. In short, GOSH converts Usenet-style plain text to different output formats such as HTML, Latex, or manpages. Over the years, GOSH became a pretty mature and reliable tool. I created my entire dissertation using GOSH without triggering a single problem. Since I explored the world of Plone and ZOPE, however, I discovered that there exists a much more powerful alternative called Python-Docutils that are using a markup (restructured text) very similar to the one I used for GOSH. Compared to GOSH, the development of Python-Docutils is much more ambitious and vibrant. Hence, I am thinking about switching to Python-Docutils in the midterm.
Docutils website: http://docutils.sourceforge.net/
For an easy migration, I created a GOSH backend that outputs restructured text (rst). Most of the basic text markups such as accentuations, document structure, verbatim text, items, enumerations, are already working. I will expand the backend on demand to support more advanced features such as tables, and cross references.

2008-07-03 Genode Labs website launched

Two days ago, we launched the website of our company. The website is realized using Plone3 and Zope, which is a pretty powerful yet very complex framework. The design and graphics are custom made. To get everything displayed correctly with Internet Explorer was quite a challenge.
Genode Labs website: http://www.genode-labs.com

2007-06-01 Exploring content management systems

With our company, we plan to launch two websites in the foreseeable future. Of course we will have a company website providing information about our product portfolio, our offered services, and contact information. In addition, we will create a dedicated project website for our flagship product, the Genode OS Framework, which is our custom OS framework previously codenamed Bastei. For both websites, we need a content-management system that scales towards typical community-portal functionality. After some days of investigation, we settled on using Plone/Zope, mainly because it seems to be a very mature and scalable solution and there exists plenty of documentation. Furthermore, we appreciate the fact that Plone/Zope is written in Python.

2007-05-15 Starting my own company called Genode Labs

I just left the university to start my own company together with Christian Helmuth. With this new startup company, we strive to bring forward the practical application of the OS technology that we developed. The official name of the company is "Genode Labs, Feske & Helmuth Systementwicklung GbR". The rather lengthy name is attributed to our chosen legal form, which requires us to mention our names with the company name.

2008-05-01 End of silence

During the last half year, this website was quite unmaintained. There are plenty of reasons. First, having two children now leaves very little spare time. Second, I worked hard to finish my PhD thesis until the end of April. Now, the thesis is complete and ready be submitted. Certainly, I will have to refine the document according to suggestions by reviewers but the major work is done. Third, I prepared the launch of an own company that I will start together with Christian Helmuth in mid of May. The volume of preparation work was pretty demanding, primarily because of our lack of sufficient knowledge about economics, law, taxes, and marketing. To improve our competencies in these areas, we took part in crash courses provided by a local institution called Dresden Exists, talked with a lot of people, and spent time on studying.

2008-03-04 My second son is born

Today, Christin gave bith to our second son Alan Feske at 10:24. Alan weights 3880 g and he is 51 cm tall. Both Christin and Alan are well and happy!

2007-12-27 Sudden Fan of Death

It seems I am one of some-thousand unhappy Apple customers who experience the famous Sudden-Fan-of-Death phenomenon with Apple's iBook line of computers. From one day to another, my iBook just stopped working for no reason at all. The web is full of failure reports about this problem and I found some valuable suggestions for interim fixes such as clamping the notebook to a desk such that pressure is issued on a particular part of the main board. By reading a bit further, I learned that the problem is a chip that is loosening from the motherboard because the soldering was not done right. The suggested fixes had the effect of pressing the chip onto the motherboard - with my iBook, these kind of fixes worked...for some time. Then it started to fail again. Two days ago, I decided to re-solder some of the pins of the said chip and since then, my iBook works flawlessly again.

2007-12-14 Development session with Charon

I just took one week off my regular job at the university to spend my time with Matthias Alles and do some FPGA development.

2007-11-17 Porting Bastei with L4/Fiasco to Gamepark's GP2X

Some time ago, I ordered a GP2X hand-held device and planned to use it as an experimentation platform for Bastei on ARM. In fact, the GP2X approximates very well a typical smart phone platform of today, it is very well documented as its firmware is based on Linux, and it costs less than 250 EUR. During the last three weeks, I dedicated my spare time to do this porting work. As a precondition for the actual development work, I created work-flow tools for comfortably bootstrapping a custom kernel on the GP2X. Rob Brown's SDK2x was of great help here. For the actual porting work, I had to create new drivers for UART, interrupt controller, timer, display, and user input specific for the MMSP2 chip set and port Bootstrap and Fiasco to this platform. This was my first experience with Fiasco hacking and, to my surprise, it went pretty smoothly. The biggest issues that I stumbled across had been getting the cache and TLB code right and finding a problem caused by an ARM instruction in the exception-handler-exit path that behaved unreliable on the specific ARM core. After I managed to successfully execute Fiasco, I ported the Bastei user land to this architecture. Thanks to my existing ARM-specific work for Bastei, this process was relatively straight forward. For accessing peripheral devices, I decided to put all GP2X-specific driver code into one single server because all devices share the same MMIO registers anyway. At the moment, this server contains drivers for the frame buffer and a user-input driver that is capable of emulating a mouse from gamepad input. Finally, I was able to run Nitpicker, Launchpad, and some example applications on the device.

2007-10-10 Bastei running natively on L4/Fiasco on PC hardware

I finished the work on my input-device drivers such that we can use the PS/2 mouse and keyboard. Combined with Sebastian's VESA video driver that initializes the graphics card by executing the graphics card's BIOS code via an x86 emulator taken from XFree86. Furthermore, I optimized memory blitting for x86 by expoiting MMX instructions. As a result, Nitpicker with Scout, DOpE, Launchpad, and some further test applications are running pretty responsivly on plain PC hardware.

2007-10-01 Input device driver for Bastei

Based on Krishna's preliminary experiments some months back, I created an input-device driver for PS/2 keyboards and mice. The device part functions properly but the Bastei session frontend is still missing.

2007-09-06 Refined locking semantics for Bastei

To support controlled destruction of threads, I introduced cancelable locks to Bastei's base framework and enhanced Core to support the unblocking of threads. By using the new mechanisms, threads are enabled to return to a consistent state, for example by releasing held locks, before destruction.

2007-08-20 C++ Parser and Coding-style checker

Managing coding-style consistency manually is a boring task. Therefore, I created a C++ parser, which translates C++ source code to an abstract syntax tree. This tree, in turn, is then checked by a second tool with regard to coding-style compliance. The C++ parser is written in Tcl and it is fairly complete. I will enhance both tools on demand in the future.

2007-08-04 Bastei's Core abstractions revisited

To support the upcoming work by Torsten Frenzel to create a user-level debugger for Bastei, I enhanced serveral services of Core. For example, the CPU session can now enumerate all existing threads of the session and the thread state can be exported for each thread.

show all...

Norman Feske - norman.feske@genode-labs.com