Drawing Random Graphs

Posted by Kaya Kupferschmidt • Monday, January 31. 2005 • Category: Programming
At university I wanted to investigate into some random network models. In order to get a better insight into their structure I wanted to plot them using Maple. Unfortunately the built-in commands for drawing these networks are very simple and one cannot see any interesting characteristics of the graphs.

So I tried to implement my own drawing routine, the picture gives you an idea of my last results. This picture was produced with the following idea: Given any graph, I first assign a random 2d position to each node. Of course this will look even more awfully than the Maple plots. But then I interpret all edges as springs with a naturla length proportional to the least number of edges of both nodes which are connected by the edge. Then I run a relaxation algorithm which at each step takes one random node and applies the forces to that node induced by the springs. In order to spread all outgoing edges of a given node, I also apply some repulsion force induced by all indirect neighbors (taking into account all other nodes for repulsion would slow the algorithm down far too much).

Unfortunately I am still not satisfied with the result, I have some more ideas which could improve this model, but Maple would not be the language of choice for an implementation, so either I will implement my ideas in C++ or I will try to find a totally new approach to the problem.

The problem itself is very interesting and has many aspects - this starts with the simple question which graphical representation is the best for a given question concerning a random graph. There is no such thing like "the" correct solution, it is also a matter of aesthetic considerations.

Kaya

Designing and Writing Generic Facilities: A C++ Challenge

Posted by Kaya Kupferschmidt • Monday, January 31. 2005 • Category: C++
Some weeks ago, I wrote a small book comparison called "Effective C++ vs Exceptional C++" about two C++ specific books. I really like Herb Sutters books, they contain very valuable information and tricky examples that teach you a better style of programming.

Today on informit.com a sample chapter from the book "Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and Solutions" by Herb Sutter has been made available online. Read the full article called Designing and Writing Generic Facilities: A C++ Challenge, in order to get an impression about the book.

Kaya

Britney Spears Guide to Semiconductor Physics

Posted by Kaya Kupferschmidt • Thursday, January 27. 2005 • Category: Weird
This is one of the most bizarre educational pages I ever saw in the internet. Britney's Guide to Semiconductor Physics is an absolutely serious introduction into semiconductor physics containing some not-so-easy scientific stuff with many formulars and - with some nice pictures of Britney Spears.

The site has been written and designed by Carl Hepburn, a post-graduate student, at the University of Essex, in the UK. So you can be sure that the information inside will be correct - although I never really read it, because I am not a physicist and the pictures simply were too distarcting. ;-)

Kaya

Cell Architecture - Continued

Posted by Kaya Kupferschmidt • Wednesday, January 26. 2005 • Category: Workstations
Last week, I published a link to Nicholas Blachford's article about IBM's Cell Processor. He has added a sixth page to his investigations, but he also earned a lot of criticism. Arstechnica published another article about the Cell processor as a reaction, talking about some flaws and misunderstandings in Blachford's original text.

Kaya

Free Ubuntu Linux CDs

Posted by Kaya Kupferschmidt • Monday, January 24. 2005 • Category: Workstations
Today, my free Ubuntu Linux CD set arrived! Everyone can order a set of free CDs of this promising new Linux distribution. It is based on Debian Linux, but clearly aims at the desktop with faster release cycles and an easier installer. It is readily available for x86, AMD64 and PowerPC.

You can also downlaod ISOs of Ubuntu Linux if you do not want to wait for your CDs to arrive.

Kaya

The Future of Computing - The Cell Processor

Posted by Kaya Kupferschmidt • Friday, January 21. 2005 • Category: Workstations
Many people already have heard of the legendary Cell Project initiated by Sony, IBM and Toshiba. This project is about creating a new CPu with a radically different approach - but not many details emerged until now.

Nicholas Blachford investigated in this subject and studied the patant papers about the Cell processor, and he ended up with a very informative article about the design.

If the Cell processor is only getting half as fast as predicted in the article, we can all throw away our PCs and workstations. I foresee that there will be many universities installing PS3 clusters for scientific calculations, like the small PS2 cluster built by the National Center for Supercomputing Applications and the Computer Science department at the University of Illinois.

The Cell processor will consist of one standard CPU (probably an IBM Power CPU) and 4 or 8 additional processing units comparaible to pixel shaders in GPUs. And these processing units will be responsible for the unparalleled speed of the Cell. They are high speed 128bit vector processors operating on local memory and they will be integrated on the same die together with the controller CPU. The expected processing power for an 8 unit configuration is about 250 GFLOP! As a comparison a normal PC with highly optimized code can only achieve about 6 GFLOP.

Kaya