September 10th, 2008

Captain Obvious

Singles map - it's worse than you think.

Remember that (extremely disheartening) singles map that shows single men way outnumber single women pretty much everywhere west of Tennessee?

Now there's an interactive version (req java plugin) that allows you to correct for age range. And the news is not good. I fiddled with the sliders to get stats for people 25-34, and the blue circle over Denver actually grew! After correction, the disparity is 58 more single men than women per thousand people. In fact, for that age bracket, basically the whole map is blue. There are only three places in the USA where single women 25-34 outnumber single men: Durham and Fayetteville NC, and Montgomery AL. And even those places, it ain't by much.
  • Current Music
    Rykers - Imbalance
  • Tags

Processes are the new threads? Yeah, welcome to 1993!

I happened to install Google Chrome (Alpha) the same day I installed Internet Explorer 8 (Beta). I noticed immediately, as I'm sure many of you have, that both browsers isolate tabs in different processes.

Unix folks have known about the flexibility of forking a process forever. In Unix, fork() is just about the easiest thing you can do. Also, fork()ing in Unix will copy the whole process and all variables into a new space. Everything after the fork happens twice. Multitasking made easy.

Why does all this matter? Well, back in the day, most folks on Windows would recommend that developers interested in multi-tasking use threads. There's even been talk about fibers (really tiny threads within superstrings ;) ) However, darnnit, processes are easy.

Ah! But they're slow! They're slow to start up, and they are slow to communicate between, right? Well, kind of, not really anymore. There's this thing called Moore's Law that keeps marching on. Making a new process and talking to it in any of the myriad IPC (Inter-process Communication) methods available just isn't that much of a problem these days. Just open up Process Explore and enter "Tree View" sometime to see how many programs you use every day are actually multiple .exe's working together.

I can't help but laugh at this long-delayed revelation among the Win32 set. As the article says, this is old hat to Unix programmers. My old 386 used to spawn child processes in < 20ms under Linux 15 years ago. Any modern OS that can't afford to spawn (at least) one process for each window... IZ DOIN IT RONG.

"Those who do not understand UNIX are condemned to reinvent it, poorly." -Henry Spencer
-my .sigquotes

Schneier's peanut gallery on the supposed new "secret weapon" in Iraq.

On 60 Minutes, in an interview with Scott Pelley, reporter Bob Woodward claimed that the U.S. military has a new secret technique that's so revolutionary, it's on par with the tank and the airplane:

Woodward: This is very sensitive and very top secret, but there are secret operational capabilities that have been developed by the military to locate, target, and kill leaders of al Qaeda in Iraq, insurgent leaders, renegade militia leaders, that is one of the true breakthroughs.

Pelley: What are we talking about here? Some kind of surveillance, some kind of targeted way of taking out just the people that you're looking for, the leadership of the enemy?

Woodward: It is the stuff of which military novels are written.

Pelley: Do you mean to say that this special capability is such an advance in military technique and technology that it reminds you of the advent of the tank and the airplane?

Woodward: Yeah.

Anyone have any ideas?

Comments -

Posted by: Anonymous at September 10, 2008 11:38 AM
DNA shadow gait profiling from far above?

Posted by: Robert Chiniquy at September 10, 2008 11:45 AM

Posted by: Jemaleddin at September 10, 2008 11:49 AM
Poisoned baklava.

Posted by: Anonymous at September 10, 2008 11:54 AM

Posted by: rich at September 10, 2008 11:48 AM
Book pimping?
Otherwise wouldn't he behave like a real journalist and actually tell the story instead of hinting at it?!?

Collapse )

Java Hotspot Compiler - Fast Register Allocation via Linear Scan

Register allocation is an important optimization effecting the performance of compiled code. For example, good register allocation can improve the performance of several SPEC benchmarks by an order of magnitude relative to when they are compiled with poor or no register allocation. Unfortunately, most aggressive global register allocation algorithms are computationally expensive due to their use of the graph coloring framework [Chaitin et al. 1981], in which the interference graph can have a worst-case size that is quadratic in the number of live ranges. We describe a global register allocation algorithm, called linear scan, that is not based on graph coloring. Rather, given the live ranges of variables in a function, the algorithm scans all the live ranges in a single pass, allocating registers to variables in a greedy fashion. The algorithm is simple, efficient, and produces relatively good code. It is useful in situations where both compile time and code quality are important, such as dynamic compilation systems, just-in-time compilers, and interactive development environments.

We evaluate both the compile-time performance of the linear scan algorithm and the run-time performance of its resulting code. To evaluate the compile-time speed of the algorithm, we compare it to a fast graph coloring allocator used in the tcc dynamic compiler [Poletto et al. 1997]. To further evaluate the quality of the generated code, we implemented the algorithm in the Machine SUIF compiler backend [Smith 1996; Amarasinghe et al. 1993], and compare the resulting code with the code obtained from an aggressive graph coloring algorithm that performs iterated register coalescing [George and Appel 1996]. In addition, we compare linear scan to second-chance binpacking [Traub et al. 1998], a type of linear scan algorithm that invests more work at compile time in order to produce better code.

The linear scan algorithm is up to several times faster than even a fast graph coloring register allocator that performs no coalescing. Nonetheless, the resulting code is quite efficient: on the benchmarks we studied, it is within 12% as fast as code generated by an aggressive graph coloring algorithm for all but two benchmarks. By comparison, other simple and comparably fast register allocation schemes, such as allocating the k available registers to the k most frequently used variables, result in code that is several times slower

Tesla starts delivering new gearbox - 0-60 in ~4 seconds.

Tesla Motors Inc. said Tuesday it has completed the development of its new powertrain. With the new gearbox and powertrain design, the Roadster's estimated range will increase 10 percent, enabling it to drive 244 miles on a single charge. Torque will increase 33 percent to 280 foot pounds, according to the company. The powertrain uses a single-speed transmission to achieve the original performance specifications of accelerating from 0 to 60 mph in "about four seconds." "The work is done and completed, and we are now inserting the enhanced powertrain setup into our production process," said Darryl Siry, vice president of sales and marketing for Tesla. Also on Tuesday, Tesla announced it has selected BorgWarner Inc. to manufacture the gearbox and has been working closely with the company since early this year.

In December, after a series of transmission-related delays, Tesla had said it would deliver the first batch of speedy sports cars with an interim transmission that would take about 5.7 seconds to get from 0 to 60 mph, instead of the previously promised 4ish seconds, but would replace those transmissions with a higher-torque version – free of charge – once the new transmissions were ready.