QuickCG
When working with Java or (I presume) .NET, there is a standard, built-in way to do 2-dimensional graphics, such as drawing pixels or shapes on a blank canvas. These built-in graphics systems are very nice for displaying your own custom charts or graphs of the data being worked with, for example, plotting the lifetime of a human trying to escape from velociraptors.
When programming in C or C++, there isn’t a standard way to do graphics, at least none that I am aware of. During my final semester at the University of Minnesota, I took a robotics class that required us to program the robots in a C++ environment. The robots we were using all had SICK laser scanners, and we wanted to plot the raw laser-data so that we could ensure that everything was working correctly.
While trying to find a decently simple way to make 2D drawings from C/C++, we discovered a very simple graphics library called QuickCG, which is a very thin wrapper around the standard SDL (Simple DirectMedia Layer) libraries. This package (actually it’s only a source and header file) includes examples and good documentation on the project website, and is extremely easy to use.
Behind The Sofa
“Behind the sofa” is a British pop culture phrase, used as a metaphor to describe the actions that a state of fear may drive a person to — e.g., a child hiding behind the sofa to avoid a frightening television programme. Although the phrase is sometimes employed in a serious context, its use is usually intended to be humorous and/or nostalgic, and to evoke a pleasant, safe fear in a domestic setting.
The expression originated from popular media commentary on young children being frightened by episodes of the BBC science-fiction television series Doctor Who, particularly during the 1970s. The apocryphal idea arose in the media that young children would hide behind furniture when especially frightening scenes were being shown, as they were unwilling to miss the programme altogether. The phrase is strongly associated with Doctor Who in the United Kingdom, so much so that in 1991 the Museum of the Moving Image in London named their exhibition celebrating the programme “Behind the Sofa”.
“Everyone remembers hiding behind the sofa,” journalist Sinclair McKay wrote of the programme during its thirtieth anniversary year of 1993. “Remember hiding behind the sofa every time Dr Who came on the television?” the Daily Mirror newspaper asked its readers in a feature article two years later. In a 2006 interview with Sky News, Prince Andrew, Duke of York said that he hid from Daleks behind a Windsor Castle settee while watching Doctor Who as a child. The Economist has presented “hiding behind the sofa whenever the Daleks appear” as a British cultural institution on par with Bovril and tea-time.
Apparently Bovril is a “thick, salty beef extract” that they mix with hot water and drink as tea, or used as beef broth for soup and stew.
Measuring Acceleration Due to Gravity in the Super Mario Brothers games
We determined that, generally speaking, the gravity in each Mario game, as game hardware has increased, is getting closer to the true value of gravity on earth of 9.8 m/s2. However, gravity, even on the newest consoles, is still extreme. According to Wikipedia, a typical person can withstand 5 g before losing consciousness, and all but the very latest of Mario games have gravity greater than this. Also, with gravity that great, it is a wonder Mario can perform such feats as leaping almost 5 times his own body height.
This isn’t beyond any first semester high school physics class, and yet I bet it was much more fun than textbook exercises or even playing with Matchbox cars.
Acceleration Due to Gravity: Super Mario Brothers via Mario Physics: measuring Mushroom Kingdom gravity
Starfish Prime
Starfish Prime was a high-altitude nuclear test conducted by the United States of America on July 9, 1962, a joint effort of the Defense Atomic Support Agency (DASA) and the Atomic Energy Commission (AEC). Launched via a Thor rocket and carrying a W49 thermonuclear warhead (manufactured by Los Alamos Scientific Laboratory) and a Mk. 4 reentry vehicle, the explosion took place 400 kilometers (250 miles) above Johnston Island in the Pacific Ocean. It was one of five tests conducted by the USA in outer space as defined by the FAI. It produced a yield of 1.4 megatons of TNT.
Because there is almost no air at an altitude of 400 kilometers, no fireball formation occurred, although there were many other notable effects. About 1500 kilometers (930 statute miles) away in Hawaii, the electromagnetic pulse (EMP) created by the explosion was felt as three hundred street lights failed, television sets and radios malfunctioned, burglar alarms went off and power lines fused. On Kauai, the EMP shut down telephone calls to the other islands by burning out the equipment used in a microwave link. Also, the sky in the Pacific region was illuminated by an artificial aurora for more than seven minutes. In part, these effects were predicted by Nicholas Christofilos, a scientist who had earlier worked on the Operation Argus high-altitude nuclear shots.
While some of the energetic beta particles followed the earth’s magnetic field and illuminated the sky, other high-energy electrons became trapped and formed radiation belts around the earth. There was much uncertainty and debate about the composition, magnitude and potential adverse effects from this trapped radiation after the detonation. The weaponeers became quite worried when three satellites in low earth orbit were disabled. These man-made radiation belts eventually crippled one-third of all satellites in low orbit. Seven satellites were destroyed as radiation knocked out their solar arrays or electronics, including the first commercial relay communication satellite ever, Telstar. Detectors on Telstar, TRAAC, Injun, and Ariel 1 were used to measure distribution of the radiation produced by the tests.
Ze Frank on inspiration, ideas and execution
This is a little video clip of Ze Frank on inspiration, ideas, and execution.
It’s not really worksafe.
[via]
Thriller in 64 a capella tracks
This guy, François Macré, recorded 64 tracks of himself singing the different parts of Thriller, and then combined the videos into a mega video. It took around 350 hours, and was done solely “to make people smile.”
Amazing.
YouTube – François Macré – Thriller 64 tracks a’cappella version
Prandtl-Glauert Singularity
![]()
The Prandtl-Glauert singularity (sometimes referred to as a “vapor cone”), is the point at which a sudden drop in air pressure occurs, and is generally accepted as the cause of the visible condensation cloud that often surrounds an aircraft traveling at transonic speeds, though there remains some debate. It is an example of a mathematical singularity in aerodynamics. One view of this phenomenon is that it exhibits the effect of compressibility and the so-called “N-wave”. The N-wave is the time variant pressure profile seen by a static observer when a sonic compression wave passes. The overall three-dimensional shock wave is in the form of a cone with its apex at the supersonic aircraft. This wave follows the aircraft. The pressure profile of the wave is composed of a leading compression component (the initial upward stroke of the “N”), followed by a pressure descent forming a rarefaction of the air (the downward diagonal of the “N”), followed by a return to the normal ambient pressure (the final upward stroke of the “N”). The rarefaction may be thought of as the “rebounding” of the compression due to inertial effects.
Prandtl-Glauert singularity – Wikipedia, the free encyclopedia
Java Code Profiling
Here is a very small Java class to help time function calls or sections of code. Of course, it won’t be exactly right on (due to scheduling issues, etc), but it’s pretty good at helping with initial profiling and performance measurements.
public class Stopwatch
{
private long start;
private long stop;
public void start()
{
// start timing
start = System.currentTimeMillis();
}
public void stop()
{
// stop timing
stop = System.currentTimeMillis();
}
public long elapsedTimeMillis()
{
return stop - start;
}
public String toString()
{
// print execution time
return "elapsedTimeMillis: " + Long.toString(elapsedTimeMillis());
}
}

