Recent blog entries for echristo

Environmental Monitoring and Citizen Science

The Economist has an article on environmental monitoring. It's the citizen science idea though which makes it particularly compelling. It involves tools to help interested people in gathering information that scientists can later use - and get long term data across a wider range on the planet than any one or team of scientists could possibly get. It's also great in helping kids learn about science: proper collecting of data, investigation, watching things over time, even making hypotheses about the data that they get.

There are also interesting technical issues with how to enable easy collection, processing, storage and analysis of huge amounts of data, but that can wait until next time.

Syndicated 2008-12-05 06:19:00 (Updated 2008-12-05 06:55:25) from eric

9 Nov 2008 (updated 9 Nov 2008 at 03:06 UTC) »

Food Production in America

Thanks to the great Xeni Jardin over at Boing Boing I ran across an interesting article by Michael Pollan about the issues our next President will face about food production in the US. Food prices have crept up steadily over the last few years, driven by everything from skyrocketing oil prices (after transportation the agricultural system uses the most oil in the country) to ethanol production from corn. The latter has been contested in a few places, but it's hard to argue with the first. Pollan says that the era of cheap and abundant food is over and that the new president will need to reform the entire system. I've noticed that my food budget has definitely doubled over the last few years and I'm no larger than I was then so something has had to increase - if it's not my girth it must be the cost of the food :)

One of the most terrifying facts in the article was this:

a system that in 1940 produced 2.3 calories of food energy for every calorie of fossil-fuel energy it used into one that now takes 10 calories of fossil-fuel energy to produce a single calorie of modern supermarket food

At any rate as Pollan said:

If I could say it in 2 pages I wouldn't have used 8000 words.

I encourage people to read the article and think a bit more about the food they buy.

Syndicated 2008-11-09 00:43:00 (Updated 2008-11-09 03:05:14) from eric

Just saw the post about google chrome...


Other than how absolutely cool it is for Scott McCloud to be doing a comic book about a web browser, there's some very cool and interesting technology in there. The separate process scheme sounds interesting and v8 sounds quite cool as well. This on the heels of TraceMonkey this week from Mozilla. A lot of good research going into dynamic languages and compilation. The fallout from all of this competition should be great.

Syndicated 2008-09-01 20:14:00 (Updated 2008-09-01 20:17:33) from eric

Dumb ideas...

Ever had one of those dumb ideas that you start thinking about and go "hey, this just might work - and not suck too much"?

Yeah. Me too. This could be entertaining. (Stack slot indeed...)

Syndicated 2007-12-01 00:47:00 (Updated 2007-12-01 00:48:44) from eric

Lots of talks lately...

One on more effective use of gcc, a pair of tutorials on how to use OpenMP and tonight's effort of a brief tutorial and explanation of autotools. If anyone is interested in my slides or pdfs send me email and I'll forward on a copy. I suppose I should make them available somewhere.

Tom and Ian both made posts on them recently - amazingly good timing for me. I agree that a new solution needs to happen, most of autoconf is a pain, takes too long, and is too hard for most people to maintain. I like automake, but am also sympathetic to wanting something new there too. I did look at cmake as someone mentioned in a comment to Ian, but didn't really have time to get into it.

I've been working on some moderately interesting stuff at work, but can't really post about it yet. Hopefully soon though, not very gcc related unfortunately though.

Syndicated 2007-11-27 09:24:00 (Updated 2007-11-27 09:32:32) from eric

More pointers to other people's blogs...

I seem to be doing that these days, but I just ran across this thanks to ncm and found it to be great:

Developing for Developers.

Ran across it because of the "cache-oblivious data structures" post, stayed for dessert.

Update: Fixed cnp.

Syndicated 2007-09-11 09:13:00 (Updated 2007-09-11 09:24:15) from eric

guess i'm really an employee now

Got cut off by SJ on my way up to the rink today...

Syndicated 2007-08-29 06:55:00 (Updated 2007-08-29 06:56:07) from eric

Not much of a post

But I thought I'd mention that Ian is writing a series of posts on writing a new linker. The first post is here.

Syndicated 2007-08-23 17:24:00 (Updated 2007-08-23 17:28:00) from eric

some thoughts on transactional memory

Intel has been around the office lately to talk to us about transactional memory and the panacea that it's going to be. Like any silver bullet, it's only effective against werewolves - and fortunately (or unfortunately) there aren't any werewolves attacking me at the office.

Transactional Memory (or TM) is a process by which multiple processes/threads update shared memory within a 'transaction' similar to a commit by a RDBMS. A transaction will only commit if all updates to memory complete successfully without conflicts. In the case of a conflict we roll back execution to where we started.

To give TM a little bit of credit though, it does solve a certain set of problems in concurrent programming. Basically TM allows the programmer to minimize the amount of time they worry about getting locks, freeing locks, and probably more importantly debugging why there's a deadlock in the program when something happens with a lock. We call this the SPOD problem at work - "Spinning Pizza of Death". This will make sense to those of you who own a Mac.

Of course, right now TM is mostly an exercise left to the student (from "The Landscape of Parallel Computing Research: A View From Berkeley"):

Transactional memory is a promising but still active research area. Current software-only schemes have high execution time overheads, while hardware-only schemes either lack facilities required for general language support or require very complex hardware. Some form of hybrid hardware-software scheme is likely to emerge, though more practical experience with the use of transactional memory is required before even the functional requirements for such a scheme are well understood.

Nothing comes without a cost though, some estimates of STM implementations have them incurring a 40-50 percent overhead compared with locking based programming. STM also incurs an additional performance hit if it has to guarantee interoperation between TM code and other code.

The future, I think, holds a couple of directions that will need to go in umm... parallel. We'll need things like transactional memory to deal with things at a low level. We'll also need to do better than source level markup of existing languages to fully take advantage of many core programming. For example, TM is well suited for applications that want to use mutexes or shared memory. We'll need a better way of representing producer/consumer models where message passing is better suited. All in all an interesting time.

Syndicated 2007-03-18 06:57:00 (Updated 2007-03-18 06:58:30) from eric

std experiences

Had a chance to work with a coworker (Howard Hinnant) lately on a language standardization issue, in this case std::thread:

It was quite an interesting experience. I found that mostly reading and learning how other people are approaching the various issues was the way this time. I'm glad to have been able to listen in as everyone discussed how the proposal should work. I did make a few contributions that seem to have been appreciated so I look forward to things in the future.

All in all I think Howard's proposal shaped up quite nicely and will be useful as we start to approach concurrency issues in more current use languages in the future.

Syndicated 2007-03-18 06:41:00 (Updated 2007-03-18 06:51:47) from eric

10 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!