Friday, October 15, 2010

Wednesday, August 25, 2010

Pardon me!

I saw an unopened shipping package sitting on a cabinet here at work, and I  figured someone left it there, so I picked it up and looked to see who the recipient was.

Turns out, the recipient was the cabinet itself.



I put it back, apologized, and walked away.

People who like this sort of thing will find that this is the sort of thing they like

If you care about functional programming, you must watch this blog devotedly and read carefully everything he posts. Conal Eliot is the finest mind in functional programming working today.

http://conal.net/blog/posts/topless-data/
Published with Blogger-droid v1.5.5.2

Wednesday, August 18, 2010

Carrots in Ze Love

Published with Blogger-droid v1.5.3.1

Monday, August 16, 2010

Shark

Published with Blogger-droid v1.5.3

Test

With picture
Published with Blogger-droid v1.5.3

Perils of living in a tallish building

Had yet another apocalyptic dream last night where I watch the city be destroyed from my balcony, but this time the real cause was a madman who dropped an enormous scale model of a city onto NYC.

The model was large enough that out covered the entire city in dust so even Brooklyn looked like Wall Street did in 9/11. But it was a scale model, and not a model of NYC. Got that? So the model must have been of a city the size of Africa. But scale, so it was the right size to cover NYC.Okay. Just so we're clear.

But it started out with strange explosions on the horizon, and then small shock waves. Yet another nuclear dream. Then debris was falling from the sky.

Then a overscale model of an airplane fell onto Manhattan (which I can't actually see from my ninth floor Brooklyn balcony). Yes: a model of an airliner, made of some chalky painted material, but maybe two miles long. Fell into the buildings and broke apart like a melon.

I went to sleep (I'm always sleeping and waking in my dreams), and when I woke up, it still looked like daytime. The sky was filled with dust, and there was still a sun (or maybe distant fires?). Look like those artists renderings of Sunrise on Mercury, a huge oval splotch of white light.

Down below, people were sort of acting normal, going to work or whatever. After all, it was a disaster, but few dead, and no radiation.

Then my alarm went off and I hit snooze and had a dream about my foot.

Tuesday, August 10, 2010

Tell me

Tell me how much you like my tests.

Wednesday, August 04, 2010

Tuesday, July 13, 2010

Armed and In Decline

Eric Raymond, The Ted Nugent of Software, tells us again how wonderful he is:


During the controversy I described in Condemning Censorship, Even of Werewolves one of the parties characterized me as “nuts and in decline.”. 
[...]
Here is part of what I learned: There comes a point in the development of every reform movement at which it has to kill the founder. 
[...]
Yes, this means that more than a decade ago I knew that the day would likely come when significant portions of the movement would dismiss me as a loon, or worse. I accepted that consequence with my eyes open. I view it as normal, healthy, and even necessary that this be so.


Lordy mama, you sure are wise. Wise and also high above the twists and turns of history, thanks to your wide reading.


I would dismiss this as more nuttiness and declension, except for two salient (if mostly unrelated) points:


1. No one said you were crazy because of your views about Free Software. They said you were crazy because you were defending the speech of a programmer who actively promoted misogyny in his source code. (You didn't defend the 'speech' at all, but you weren't defending it against censorship, either.)


2. You are not a founder of anything except your gun collection. Rather, you played the leading role in killing the actual founder (RMS). You sly little agent-of-history, you. And poor crazy RMS, you put him "on a pedestal so high that he can’t actually influence events on the ground". (Except for maintaining GCC and Emacs, of course.)


 I did not do what I did for anyone’s approval; I did it because it was right.


The millions you got from the Red Hat IPO was a nice bonus, though, right?

Saturday, June 12, 2010

Programming is fucking boring


There, I said it. It's true. It has to be said. Programming is boring.

What follows is an ill-conceived and poorly-executed rant.

What I really mean, perhaps, is that programming for money is boring. Being a programmer working for a large company is sorta like being a writer working for a company that writes camera manuals.

I propose a brief hierarchy of writing jobs, and the corresponding programming jobs:


Writing jobsProgramming jobs
NovelistFree programmer
Writer of ad copyCommercial systems programmer
Writer of camera manualsCommercial 'enterprise' programmer

A "Free programmer" is a programmer who gets to work on whatever they think is coolest -- a game, something for a startup, grad school work, whatever.

A commercial 'systems' programmer is someone who writes real things.

A commercial 'enterprise' programmer is someone who glues libraries together.

I made this chart in order to make a point: programming isn't boring because it's commercial.  I can live with having a job.  I don't have to be an ahtist.  Programming is boring because it's enterprise.

Some guy named "Mike Taylor" puts it really well:

A huge part of my job these days seems to be impedence-matching between big opaque chunks of library software that sort of do most of what my program is meant to achieve, but don’t quite work right together so I have to, I don’t know, translate USMARC records into Dublin Core or something. Is thatprogramming? Really? Yes, it takes taste and discernment and experience to do well; but it doesn’t require brilliance and it doesn’t excite.
But let me put it more strongly.  Enterprise programming -- impedance matching -- is terribly boring.  I don't know how people do it.  Well, yes I do, because I do it.

Another quote from the same guy:
Especially, I have learned that anything that has “Enterprise” in its name is so incredibly boring that the people who use it had to shove the name of the Star Trek ship into its title just to keep themselves awake.  (I am convinced that this is the case.) 
I work for Google, which is routinely described as one of the best places to work.  There's a lot of non-enterprise programming there, but I happen to do enterprise programming.  The people I work with are not enraged about it, but I think they do think it could be more exciting.


Enterprise programming is terribly boring.  It's a waste of time.  It's a waste of money.  It's a waste of programmer talent.  It consists mostly of the following line of code:


putFieldThing(fieldName, thingObject.getThingField(thingThing));


That line of code, and variations on it, and support for that line of code.


Let me tell you how you can tell that this is terrible stuff.


In enterprise programming, there is something called "business logic".  Business logic consists of the rules that define the procedures that you run your business with.  Here is an example of business logic: "When you put money into the receiver's account, make sure you remove it from the sender's account."  Or "when you mark an employee as 'quit', remove their email account".


That's what business software does.  Code that does that sort of thing is called "business logic".  It used to be called "programming".  Why did the name change?


It changed because a new kind of programming appeared: enterprise programming.  Enterprise programming (called it "EP") is the support system surrounding the business logic.   Like a ten-pound tumor attached to a tiny gland, EP grows and grows without bound.  It takes over the programming.  It takes over the programmer, and the programming effort, and the programming schedule, and the programming resources.  Now, EP is most of the programming, and the real stuff gets relegated to a new category, business logic.  (Call it BL.)


EP doesn't do anything, in the sense that it takes one step forward and at least one step back.  There are new enterprise programming systems all the time, each one designed to make it easier, to take away the drudgery, to let you deploy applications quickly and easily.  To re-use code.  To adapt to a changing environment.  Etc etc.  EP systems can promise anything, because they don't really deliver anything.


I live in NYC, where, I suspect, a larger portion of programming jobs concerns EP.  There's so much of it here, it's outrageous.


I look at resumes of Java programmers, and about half of them have written the same program: delivering real-time financial market data to analysts.  Why are these people writing the same program over and over again?  Because it's EP.  It consists of gluing together pre-made modules and working out the annoying little problems with the glue (impedance matching).  Each company, each team has slightly different needs, so it needs its own software to do a slightly different thing.  And so there is a job market for a stream of computer science / IT majors to get sucked into.


You have to understand: EP is a black hole.  EP is a vague, endless task that everyone is trying to solve, and everyone is on the verge of finally solving it, and yet no one is ever solving it.  It's sisyphean.  The EP industry creates problems, and then provides solutions.  The solutions don't quite work, but soon enough there are twice as many programming magazines with twice as many ads that are telling you about twice as many systems you can buy, or philosophies you can adopt, to really solve your problem.


I have used several EP systems that make everything harder, and nothing easier.  I can't imagine how this could be considered an advantage.  I have used EP systems where adding a single field to a database table requires you edit 6 files and wait several days.  In the same amount of time, I could have made the same change in a system based on pencils, erasers, and index cards.


EP is make-work.  It fills all available time.

Sunday, June 06, 2010

Proof

Of course this can be faked. But it's all I've got.

Here is the proof that I invented the phrase "Speedo Calrissian". I put it in a blog entry, and I checked about 7 minutes later and Google had indexed it. (Bing hadn't.)

Here is a screenshot:

"Speedo Calrissian"

I thought of this funny name. I googled it -- to my surprise, there were no hits!

As far as Google-based reality is concerned, this did not exist before. I invented it.

In just a little while, of course, Google will index this page and it will be in the search engines. It will get one hit. Then I will become incredibly rich and famous. Then there will be a lot of hits. Then someone will claim they thought of it first, and there will be a lawsuit. Then Lucasfilm will get involved, and I will go to jail. In jail, I will write the words "Speedo Calrissian" all over the walls in mold-water, and will scratch it into my arm with my shiv.

"Shiv" is a Romani word. Whaddaya know?

Wednesday, June 02, 2010

Overheard at work

"That's a whole bag of worms we have to go down."

Can you spot the well-known expressions that exploded and formed this little pile of language?

Wednesday, April 14, 2010

So, I think Richard Dawkins has finally erased his debt to me

(his debt for being such a prick)

Richard Dawkins calls for arrest of Pope Benedict XVI

(What does it is really that, plus this:

Richard Dawkins: I greatly admire Lynn Margulis's sheer courage and stamina in sticking by the endosymbiosis theory, and carrying it through from being an unorthodoxy to an orthodoxy. I'm referring to the theory that the eukaryotic cell is a symbiotic union of primitive prokaryotic cells. This is one of the great achievements of twentieth-century evolutionary biology, and I greatly admire her for it.
)

Wednesday, April 07, 2010

You will hope you have Neanderthal Genes.

Steven Mithen (2006) proposes that the Neanderthals had an elaborate proto-linguistic system of communication which was more musical than modern human language, and which predated the separation of language and music into two separate modes of cognition.[67]

(From Neanderthal Language)

I blush with pride and rememb'rance

Austin found this post from 2004. He and I worked on this game back in the early '90's. This error, which I put in, is from a Hole song. I was sure it had been removed before we shipped. It hadn't.


>Hi, I'm trying to run the DOS version of Flight Unlimited 1
>under Windows Me. I have installed the patch (from Avsim), but
>I get a page fault after the loading screens every time I try
>to run the game. The exact error message is:
>
>[i]Flight Unlimited vF2.4S has CRASHED.
>(Someday you will ache like I ache.)
>
>Page fault
>EAX: 00000000 EBX: fe000000 ECX: 3f5f8000 EDX: 00000003 TXT: 00000207
>ESI: 0000000e EDI: d01e0000 EBP: 847f1498 ESP: 848ebe40 DTA: 0000020f
>EIP: 8475726f ERR: 00000006 EFL: 00010216 EXC: 0000000e EMN: 846d583c
>CS: 0207 DS: 020f ES: 020f FS: 0000 GS: 02cf SS: 020f



That's a uniquely phrased error message. ;-)
Can't say as I've ever seen one like that before.

Friday, March 12, 2010

So much progress has been made!

You often hear things like this said nowadays:

An automated data system analysis technique is described.
The technique is designed to alleviate some of the principal
problems that beset current analysis--large data workloads,
long span of time between project inception and system
operational date, the lack of explicit directions for conducting
data system analysis and using the results, and the lack of a
technique to control data system changes throughout its life-
time. The analysis is geared to determining workload, rela-
tionships and storage characteristics of documents in the in-
formation network automatically.


The sad thing is, this was written by O. T. Gatto in 1964.

Friday, January 22, 2010

Yesterday was a Bad Day

  • The Supreme Court decided that corporations are very important citizens
  • Air America announced it was going away

This is why I can barely read newspapers

I've had a hard time reading for most of my life -- my recall isn't great, I read kind of slowly, and most of the time I have to read stuff over and over to really understand it. Mostly I just accept the fact that I'm only going to remember a little bit of what I read. I can't tell you most of the plot of a book I've just finished, and I almost certainly can't tell you how it ended.

But I have an even harder time with newspapers. The standard journalistic voice is really confusing and infuriating to me. Here's an example of something that's basically impossible for me to just read:

(The third paragraph of http://www.nationalpost.com/news/story.html?id=2466002)
The newspaper was expounding the nationalistic argument now being used in China to counter Google's announcement last week that it would stop censoring its Chinese search engine and may even pull out of the world's fastest-growing Internet market because of sophisticated cyber attacks, originating in China, that resulted in the theft of intellectual property and targeted the g-mail accounts of human rights activists and some businesses.
I mean, come on. If you wrote a sentence like this in middle school, your teacher would tell you that you are really smart, and that you should rewrite the sentence.

Can you really read this sentence just once, at a normal speed, and understand it? Blows my mind. Now, it may be an extreme example, but I find all newspaper writing like this to one degree or another. Even the puff pieces are like this for me. The only stuff that I can really follow are the pieces in the Book Review, because they are deliberately not trying to spray facts at you -- they're discursive, and get to the hard facts somewhere in the middle. In other words, they're not journalistic.

Here's how I would rewrite this:
Sophisticated cyber attacks resulted in the theft of intellectual property, and targeted the g-mail accounts of human rights activists and some businesses. The attacks originated in China, causing Google to announce last week that it would stop censoring its Chinese search engine, and may even pull out of the world's fastest-growing Internet market. The Global Times expounded the nationalistic argument to counter Google's announcement.
I know this is utterly unacceptable for journalistic writing, but it is much easier for me to understand. Am I the only one?

I always assumed that a major reason for the journalistic style is that it's more succinct. My rewrite however, saves one character.

I do see one real problem: "the nationalistic argument" at the end is too far enough from its referent in the previous paragraph. I would therefore want to move the previous paragraph after this one. But that breaks what seems to be another rule of journalistic writing: start with the barest facts, and add detail as you go along. By this rule, the nationalistic argument should be before the context of the nationalistic argument. So I can't fix this, um, stretched reference without making my version a few words longer.

In any case, my version sounds weird, right? It breaks the text up into smaller sentences, which makes it kind of sing-song. It might even feel condescending, in a Dick-and-Jane kind of way. But in the end, it's just another specialized, stylized voice for conveying information rapidly, and one I would find much easier to read.

Thursday, January 21, 2010

Overheard on the Subway

So I'm on the F train trying to concentrate on my Nethack, when I hear two Park Slopey types get on the train already involved in a smarty-pants conversation. The train was noisy, so I wasn't able to catch everything. But I didn't need to.

Cast of Characters:

HE: Mid-forties, hair prematurely grey (but only slightly prematurely), horn-rimmed glasses.
SHE: Mid-thirties, maybe in marketing?


HE

They didn't understand even the most basic things, I mean, you would tell them something, something so obvious --

SHE

heh

HE

-- and they just didn't get it. Anyway.



[At this point I stop listening, and return to my game, which I promptly lose.]




...

HE

... semiotics ...

SHE

... semiotics ...



[Okay, now I'm listening. This should be good.]



HE

... want to promote Semiotics as a ...

SHE

Yeah, Augustus, Aurelius.

HE

... right ...

...

SHE

... Semiotics ... marketing ... Semiotics ...

HE

... marketing ... branded ... Semiotics ...



[Oh my god.]




...

HE

... has a degree, an MA in philosophy from the New School; her boyfriend is really talented, he's in this band, they're getting big, they have songs in Michael Cera films

SHE

... Cera? ...

HE

... baby-faced actor ...

...

SHE

... and I was hoping she would, you know, because I don't want to be alone, I would rather have someone to handle sales ... a company to be in ...

...

HE

... Semiotics ...

SHE

... really marketing ...

HE

... I prefer to call it, promote it as Semiotics ...

SHE

... Semiotics ... I mean, [sotto voce] it's not the *real* semiotics, it's a corrupted form of it.

HE

Of course.

...

HE

... I don't know what kind of assistants I would have ...

SHE

... someone to just ...

HE

... yeah, one thing I want to do, I don't want to manage any of this stuff , I just want to do the Work ...

...

SHE

... vice president of research and development at Google ...

SHE

... friend ... someone who's been at Google from the beginning ...

...

SHE

... they're into a lot of stuff, so If there's anything, I'm trying to think of something I would pitch to them ...

SHE

... real world, I mean it would be out there, in the real world ...

SHE

... totally funded ...

HE

... they can't make any decisions ... have to go to the CEO ... can't do it ... visions ... totally disempowered ...

HE

... Canal Street ...

...

SHE

I cant do it alone... I'm trying to think of a way can do it with, um, *you* ... guys.

HE

... she knows about identity politics ...

SHE

... going forward ...



[They head towards the door of the subway car.]




SHE

... first of all ...



[They get off at Canal Street.]

Wednesday, January 20, 2010

Come back, email address!

From: "DR. GABRIEL SAMAD"
YOUR E-MAIL ADDRESS WON THE LOTTERY AWARD 2010.

Bye-bye email address, and thanks for collecting my email for me for 15 years...