We had fun carving pumpkins this year. Thought I’d post some pictures.


Tweakers.net has an excellent article describing the process and tools Intel uses to bring a CPU into production. It focuses mainly on the new Penryn processor, which was designed at the Folsom campus where I used to work. I’ve worked in some of these labs (debugging chipset firmware problems), and they are just as impressive as they sound. The article also does a good job of describing the tick-tock model of design scheduling, and how various “errata” (i.e. bugs) remain in each processor. Hope you enjoy the article as much as I did.
Add another entry to the stupid patents list… this one from Amazon (actually, it’s subsidiary A9). In summary, the patent (7287042) encompasses adding an unformated string to the end of a URL that can be used for searching. For example: if my site supported it, “www.tdistler.com/Stupid Patents” would generate search results for “Stupid Patents”.

I always enjoy reading Alex Papadimoulis’ blog Worst Than Failure (WTF). It recounts stories of software errors, ridiculous coding solutions, and tales of failed engineering interviews. It’s a great place to learn from other people’s mistakes, and have a few laughs along the way.
Occasionally, Alex posts a more serious article about the process of software engineering. I enjoyed his latest on Avoiding Development Disasters.

The Onion’s parody of the radio address seems to be out of sync this week, so I’ll just post what they have for now:
Nobel Prize Winner (Onion 10/6/2007).
A New War (Onion 10/13/2007).
I found this post discussing the importance of names, and some interesting naming customs from other countries (“Have-a-Look Dube” has a certain ring to it
). What I found most interesting (and disturbing) are efforts by certain governments to limit the choice of baby names to a predefined set. From the post:
…in Zimbabwe names are often chosen to convey specific meaning. Thus, one will find names such as Trymore, Lovemore, Learnmore, Justice, Honour, Trust, Knowledge, Oblivious, Wind, Wedding, Funeral, Rain, and even Hatred. Have-a-Look Dube is apparently a famous footballer in Zimbabwe. In one family, the last of 13 children was named “Never Trust A Woman” — apparently to express doubts about paternity.
A recent bill proposed in the Venezuala National Assembly would have effectively limited parents of newborns to a list of 100 names chosen by the government (the proposal failed to advance). The purpose? According to sponsors, the list was intended to “preserve the equilibrium and integral development of the child” by preventing parents from bestowing names that open the child to ridicule, are difficult to pronounce in Spanish, or generate doubts as to the child’s gender… Some Venezuelan names — e.g., Kennedy, John Wayne, Pavel, Ilich — reflect historical and cultural ties . In the voter registry, one can find as many as 60 Hitlers; eight Hochiminhs, among them Hochiminh Jesús Delgado Sierra; and six Eisenhowers, including Dwight Eisenhower Rojas Barboza.
Read the full post HERE.
Back when I worked at Intel in their System Software group, we were working on an embedded OS kernel that would run on the chipset and help provide firmware based security for the enterprise.This technology was called Active Management Technology (AMT). The OS was host to various embedded security applications that monitored and controlled the system. We were also working with another team that was developing a secure hypervisor that would provide an isolated environment for the user OS (like Windows, Linux, etc). All of this was designed to allow an enterprise IT department more control over its machines and help isolate malware infected computers from the network. It also allows IT to more easily manage and repair systems remotely. Click on the link above if you want to read more.
Anyways, a few months ago, Intel made this music video promoting the technology:
(requires Adobe Flash plugin… click HERE to watch it on YouTube)
Overview
When writing a shared library, it is sometimes useful to have a set of functions that get called when the library is loaded and unloaded. In Windows, this is done by implementing the DllMain function. This function is called by the loader whenever a DLL is loaded or unloaded into the address space of a process (and also when the process creates a new thread, but it is less common to handle this case). A value is passed in as an argument to the DllMain function that indicates which event is occurring: DLL load or unload.
On Linux, one must use the GCC __attribute__((constructor)) and __attribute__((destructor)) keywords (double underscores before and after) to explicitly declare functions to be called on load and unload. These keywords cause the compiler/linker to add the specified functions to the __CTOR_LIST__ and __DTOR_LIST__ (“ConstrucTOR LIST” and “DestrucTOR LIST” respectively) in the object file. Functions on the __CTOR_LIST__ are called by the loader when the library is loaded (either implicitly or by dlopen()). The main purpose for this list is to call the constructors on global objects in the library. Conversely, functions on the __DTOR_LIST__ are called when the library is unloaded (either implicitly or by dlclose()). By adding initialization and clean-up functions to this list, one can effectively replicate the DllMain functionality on Linux.
NOTE: There are many ways to “shoot yourself in the foot” with these methods (on both Windows and Linux) because certain things aren’t available to your library until loading is complete. Don’t use these methods unless you have a real need… just export an Initialize() and Destroy() function instead, and force the consuming application to call them. Please read the “Gotcha’s” section below.
Funny… but frustrating because this really happened. Watch the video HERE.
What’s the take-away from this: terrorism has succeeded because we are now so paranoid. As Bruce Schneier says: “Refuse to be terrorized people!” This is so silly considering food poisoning kills 5,000 people A YEAR, compared to the 3,184 that died from terrorism in 2001, which INCLUDES 9/11 (RAND corporation). If you exclude 9/11, most of the yearly numbers hover around 600 in recent years.
We need a memorial and special holiday for food-poisoning victims… but I digress…


