"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.

Search This Blog

Saturday, June 03, 2006

New Orleans: Man-Made Disaster Says Corps

Harry Shearer (part-time New Orleans resident) writes...

This weekend, on public radio's Left, Right and Center, the panelists are, as usual, discussing what they believe are the top news stories of the week...

What they didn't choose was the Corps of Engineers report taking responsibility for the drowning of a great American city...

...it was astonishing to listen to these four natter on about the Treasury Secretary, while culpability for the worst man-made engineering disaster in the nation's history was ignored. Trust me, even if Henry Paulson becomes America's worst-ever treasury secretary, he won't cost you and me nearly as much, he won't be responsible for nearly as much suffering, as the Corps' malfeasance in the Crescent City. If it's not a top story this week, when it led NBC Nightly News and got front-page treatment (finally!) in the NYT, when might it be?

And he wrote earlier in the week...
Brian Williams was speaking, and my intention was to ask him, either privately or publicly, why, given his clear and undeniable commitment to the Katrina story, the role of the Army Corps of Engineers and the fact that this was a man-made disaster in New Orleans had not figured more prominently in his broadcasts...

...in a splendid bit of serendipity, that happened to be the day the Army Corps -- here's timing for you -- issued its modified limited mea culpa (no malfeasance found: asked Bob Bea of UC Berkeley, if the work they did didn't do what it was supposed to do, and wasn't built in the way it was supposed to have been, how is that not malfeasance?). So our brief conversation came at the end of a broadcast whose lead story was the news that the flooding of New Orleans was a man-made, not a natural, disaster.

Friday, June 02, 2006

I still think Kelsey was right all along

This Kelsey.

I was asked via email about Squeak's compatibility with the Erlang approach to concurrency.

I’d thought a little about this for Smalltalk when I worked at Gemstone. I don’t know enough about the Squeak VM to talk about it. Like Erlang’s and Gambit Scheme’s VMs, it would require the ability to create many 1000’s of non-OS threads very quickly and run them all fairly. I think Cincom’s commercial Smalltalk VM might approach these numbers.

Other approaches might be to implement Squeak’s VM in Gambit Scheme or use the Squeak compiler’s front end to generate Gambit Scheme code, i.e. give Squeak a new back end. Maybe one way to do this is to replace Squeak’s C code generation with Scheme. If I recall, there is no C code in Squeak, but there is a Smalltalk subset used for the core of the VM implementation and that subset is translated fairly simply into C. If that could be retargeted into Gambit Scheme then you might be off to the races. The Process class, etc. would have some finagling to get them more directly mapped to Gambit’s thread procedures.

One thing about Erlang, and Termite processes (if you don’t cheat and go down to the Gambit level) is they are “shared nothing”, while Scheme threads and Smalltalk processes are “shared everything”. You may want to keep the current Smalltalk definition of Process the way it is, and come up with some new class, e.g. “SharedNothingProcess” that provides the new approach. Then you can run “legacy” code but try to enforce a better concurrency model.

Gambit has per-thread mailboxes and thread-local storage which can be used for this. Smalltalk globals would be considered “bad legacy” and you could try to give thread-local variables a decent syntax.

Implementing a new Smalltalk, moving Gnu Smalltalk, or moving Ruby to Gambit Scheme would be much easier than doing anything with Squeak. And guess what? Scheme *has* continuations. 8^P (I bow to the noble porters of Ruby to really bad VMs. "Continuations" shows up on each of their web pages --- on the "to-do" list.)

But Squeak has a lot of cool stuff. Croquet would figure in there somewhere when it comes to distributed VMs.

What did Kelsey get right?

Using concepts from denotational semantics, we have produced a very simple compiler that can be used to compile standard programming languages and produces object code as efficient as that of production compilers. The compiler is based entirely on source-to-source transformations performed on programs that have been translated into an intermediate language resembling the lambda calculus. The output of the compiler, while still in the intermediate language, can be trivially translated into machine code for the target machine.
In this case the "trivially translated into machine code" means Gambit is the intermediate language. Then gsc translates into C. Then gcc translates into machine code. Ah, that's why you also want something like gsi around for the source language.

That would be a fun and useful project to work on.

Tsung

Interesting tool using Erlang...

In a few words, Tsung is a distributed load testing tool. It is protocol-independent and can currently be used to stress Jabber/XMPP server, but also HTTP, SOAP, and postgreSQL servers. Developed as an extensible framework, this tools can be used to generate very large realistic benchmarks on a limited number of servers.

...Tsung is distributed under the GNU General Public License version 2.

daily zen

The realm of buddhahood is not some external world
Where there is a formal “Buddha”

- Zen Master Ta-hui (1088-1163)

My Web...

...goes to eleven.

(or, I'll see your Web 2.0 and raise you nine Webs. 8^)

Trademarks cost money. Copyright is free, but I probably can't protect this brilliancy with a copyright. I have no lawyers, just this really big, shiny, intimidating copyright symbol. And even that was borrowed.

"My Web goes to eleven" Copyright © 2006 Patrick Logan. All Rights Reserved.

Thursday, June 01, 2006

Portland, Programming Language Capital?

OK, let's see. Here in Portland this year we have OSCON, OOPSLA, the Dynamic Languages Symposium, and now I see we have the SIGPLAN Conference on Functional Programming, and the SIGPLAN Erlang Workshop.

Good thing I'm not planning any long trips out of town this year. I could easily miss several good conferences in one fell swoop.

I have a great submission for the DLS but I have had no time to work on the project, let alone the paper. Next year the conference will probably be half-way around the world. All I can say at this point is it involves various degrees of Ruby, Erlang, and Scheme. Or it would involve them if I had actually made much progress on it.

Today is the deadline for the DLS submissions and all I could do was watch it woosh on past me. I am not sure it would make sense for the Erlang Workshop, but that deadline is June 9, so I can guarantee I won't have an "ACM ready" paper by then anyway. I'd be satisfied to have something to show and talk about at those events, given the opportunity for feedback from some really smart people.

I have started some modest tinkering with Atom. There is another Code Camp here in July. That was a lot of fun last year. I submitted a session for programming with Atom. But the good thing about this conference is it's just about showing some instructional code work, nothing fancy is necessary, and no paper to be written. They don't even like slides with text that isn't code.

Wednesday, May 31, 2006

For Better or Worse?

A fascinating discussion is taking place over at James Robertson's site on globalization, labor, and progress. Below is a duplication of my most recent comment I added there.

Could things be worse? Heck yes. I agree they have been worse. Can things change for the better? Yes. How? Good question. That requires unselfishness to generally take a higher priority than selfishness.

We are genetically predisposed to selfishness. That's not necessarily a bad thing. It got a lot of us to a pretty good place. What's not clear to me is how well selfishness will get us to the next level.

Have we run out of room for selfishness as the driver for "progress"? Have we run out of room for our current definition of "progress" itself?

Are we at a point where for anyone to survive in the long-term more people have to adapt to "unselfishness" as a driver? Why are so many of our mainstream religions apparently based on unselfishness, and yet we do not seem to be predisposed to unselfishness beyond a relatively small group of people, especially those closely related to our own DNA?

Why is it easy to be "globally" unselfish as a result of relatively minor events like the recent tsunami in the Indian Ocean, and yet significantly more difficult to be unselfish as a result of ongoing major events such as the daily rate of deaths due to hunger, or even aids, or malaria?

There are a lot of fascinating questions about how we got here and how we get to the next step. One could argue we are on a good path. On the other hand one could argue we are not, by and large. It's hard to tell.

Monday, May 29, 2006

Roots

From No Fluff Just Stuff 2006 Anthology...

We’re not going back to what we tried once; we’re going back to what others had success with. The industry at large tried to go a different way, and at long last we’ve begun to realize that no matter how many new tools we throw at our problems, software development still isn’t getting any easier. Maybe it’s time to rethink the whole way we’ve been going. The people who really embraced Lisp and Smalltalk early on don’t think those languages failed (except in terms of gaining broad acceptance). On the contrary, most of them that I know are either still finding ways to work with those technologies or else yearning for a return to the good old days.
The industry has been on these merging paths for decades without clearly realizing it. Now it is starting to shed its static appearances as it reaches the tipping point. Soon after reaching that point we will behave as if this is the path we'd bet on long ago.

Saturday, May 27, 2006

Premature Extrapolation

'We should listen to Donald Knuth when he said, "We should forget about small efficiencies, about 97% of the time. Premature optimisation is the root of all evil." This is the most important thing that you'll ever hear as a software developer.'

-Cal Henderson, Building Scalable Web Sites

If it breaks, make it heavier. If it doesn't, make it lighter.

-Paul McCready, Gossamer Condor

A study done by a pair of Canadian psychologists uncovered something fascinating about people at the racetrack: Just after placing a bet, they are much more confident of their horse's chances of winning than they are immediately before laying down that bet...

Like the other weapons of influence, this one lies deep within us... It is quite simply, our nearly obsessive desire to be (and to appear) consistent with what we have already done.

-Robert Cialdini, Influence: The Psychology of Persuasion

Friday, May 26, 2006

Read-Write Web -- Web 0.1?

I vote for Tim Bray's preference for "read-write web". As I understand it that was the original intention of the web, so let's go back to it

Web 0.1?

Feeling Strest?

A blogless(!) friend points me to this item on lowering your strest level...

The vast majority of supposedly 'REST' Web APIs are simply abusing HTTP to carry function calls. I call these APIs 'Service-Trampled REST', or STREST.

Griddle Cakes

OK, I could not come up with a bad title. The best I could do was a really bad title, so to make up for that, here's a recipe for cornmeal griddle cakes. Enjoy.

On to the business at hand...

I'm fairly sure XMPP is to Grid and JINI as HTTP was to WS and CORBA. Give it a few years - instant messaging is where real commodity grid action will take place.
Neat.

Monday, May 22, 2006

Prematurity

Mike Herrick panics from fuzzy about WS-*...

The truth is there is massive premature standardization occurring.
He's got a lot of good posts, subscribe, read them all.

Big Time

Tim Bray on JavaOne and big, formal conferences generally...

If you’ve been to a camp-style event or unconference, some aspects of the whole sit-and-listen-to-the-guy-on-the-stage thing start to grate.
The best "conference" I attended last year was a Code Camp.

Continuations

Tim Bray has an entry that is a continuation from Gilad Bracha, and others have continued from there. Dynamic languages, continuations, and the JVM... the thing about continuations is they are not immediately obvious because they are not available in most languages.

Those that have them have found they are not useful for the everyday programmer's applications. But they do provide a fundamental building block that simplify the several of the building blocks that *do* end up in the everyday programmer's applications.

By the way, continuations *are* implemented in the Rhino Javascript system and the SISC Scheme system for the JVM. I believe they are also in the JVM and dotnet backends for the Bigloo Scheme system. They would be more efficient in the JVM per se, but I'm just saying...

You're not going to see an overwhelming number of programmers saying, "we want continuations!" That will not be an effective gauge for determining their value at the VM level.

The Future of (Presentation|All) Software

Jon Udell writes...

...it's democratic, not elitist, to believe that presentations ought to be first-class citizens of the web, viewable by any standards-based browser with full interactive fidelity. If we've failed to fully democratize the necessary authoring software -- as, so far, we have -- then shame on us. There's no longer any good reason why we couldn't make it easy for people to create effective presentations through the web as well as for the web, and there are plenty of good reasons why we could and should.

Sunday, May 21, 2006

A Thousand Points of Light

Steve Dekorte recalls...

Let's see, so far Bush has:
  • started preemptive wars by lying to the public
  • killed tens or hundreds of thousands of civilians in the process
  • created secret prisons that employ torture
  • exposed CIA operatives for political reasons
  • instituted a massive illegal surveliance on millions of Americans
Did I miss anything?
Yeah, well, there's that little incident down in New Orleans. There are the Halliburton-built detention centers. There were the threats made to politicians if they did not vote for the prescription drug plan give-away to the pharmaceutical industry. There's... it's a long list but a short weekend.

Oh, yeah. There was that attempted overthrow of Hugo Chavez in Venezuela. And...

Um. Thinking. There was that one guy... Osama something, that Bush let get away when he was thought to be cornered in Afghanistan. Of course at one point Bush said... "I don't really think about him very much. I'm not that concerned." But then in the 2004 presidential debate he said... "Of course we're worried about Osama bin Laden. We're on the hunt after Osama bin Laden. We're using every asset at our disposal to get Osama bin Laden."

Then there's that fake news reporter in the White House, Jeff Gannon, who also turned out to be a gay porn star with several unexplained visits. But there's the whole anti-gay marriage drama to get Bush re-elected.

And speaking of fake news, there are those news footages which turned out to be supplied by the White House to the media to run as real news. Although Bush acknowledged having them made, he would not agree to discontinue the practice.

And, sigh. Remember we are just stupid, gullible monkeys. And he's the leader of the monkey world. What more can you expect?

Saturday, May 20, 2006

Erlang, Now With SMP

The latest Erlang is out, and now supports SMP with much less effort than before.

SMP is supported by most modern operating systems like Linux, Windows, Mac OSx, Solaris and is becoming more important now when dual processors, hyper-threading technology and multi-core systems are a reality.

With Erlang, most of the problems which occur in multi-threaded programs have been solved once and for all in the Erlang VM and do not have to be handled by the application programmers.

In the SMP version of the Erlang virtual machine, there can be many process schedulers running in separate OS threads. As default there will be as many schedulers as there are processors or processor cores on the system.

The SMP support is totally transparent for the Erlang programs. That is, there is no need to change or recompile existing programs. Programs with built-in assumptions about sequential execution must be rewritten in order to take advantage of the SMP support, however.

In this release, the Erlang VM supports SMP with focus on stability. There will follow a number of subsequent steps with necessary optimizations and support for more platforms.

The Da Vinci Code Movie

I saw The Da Vinci Code last night on a big, big screen. Ebert gave it 3 of 4 stars. I would give it 3.5 or 4 of 4.

I've read some review such as Shawn Levy's review in The Oregonian gave it a B- and he complained the movie did not move quickly enough. I also read that some actors just "mailed in" their performances, but at least not to the extent that I noticed.

I thought the movie moved well. Details were cut from the book, obviously. Some dialog and scenes changed a good bit, especially at the end I think. I read the book over a year ago.

The book really should not have made a good movie, I thought at least when I heard it would be done. The book is too much talking about the past and puzzle solving. As it turned out the director, scenarists, and effects people handled that well, much better than I thought it would be presented.

I think the movie has more humor than the book, and it works. I think the movie is a bit more conciliatory than the book to traditional Christians and even the Opus Dei nut jobs. Evangelicals generally will not be happy of course. Anyway they're busy drinking really bad punch out of really small glasses and eating really bad cookies, at their church listening to an "expert" arm them with the facts they need to convince their friends that this movie is just fiction.

Well, it's good fiction, better than most stories in "The Bible". I am going to see it again this weekend if possible. The sun is shining more than expected though.

Tuesday, May 16, 2006

Heresy

How ironic that some believers in a virgin birth and a resurrection from a death (which by the way show up in many stories about various gods) want to ban others from seeing a movie whose plot includes a "heresy" in that it proposes the possibility that two people (who themselves may be fictional for all we know) may have been married two thousand years ago.

Ah. Yeah. Run that by me again?

Marissa Laguardia, chairwoman of the Philippine government's movie-review panel, told the AP... "So are we just out of the Stone Age?"
No, sometimes it seems we are still *in* the Stone Age.

Blog Archive

About Me

Portland, Oregon, United States
I'm usually writing from my favorite location on the planet, the pacific northwest of the u.s. I write for myself only and unless otherwise specified my posts here should not be taken as representing an official position of my employer. Contact me at my gee mail account, username patrickdlogan.