Sun, 30 Dec 2007

You Don't Have to Go Home

Tags: blog, chronology, archive

This is the end, my only friend.

Of this manifestion of a blog, at least. I've migrated the blosxom entries from the server they used to be on, into a new server space, but having gone through all that, I'm freezing this one in time, disabling comments, removing old comments. As a curious side effect, any updates I made will appear to have been made on this date. Que sera fuckit. If you'd like to continue following my screeds, head on over to http://blog.manjusri.org/

Thanks for reading.

posted at 11:33 PST (-0800)     (comments disabled)   permanent link  

Sat, 08 Dec 2007

Book of My Year

Tags: review, book, novel, singularity

The book I just read turned out to be a couple of firsts for me

  • first Ken MacLeod book I've read
  • first post-Singularity book I've read (possibly)*
  • first book I've read this year which I'm ready to pronounce my favorite of the year

This book follows one old and dedicated woman in her quest to resolve a deep and abiding threat. We get flashbacks of her youth, we get political and philosophical arguments, we get ironic social commentary, we get sf alien tech.

The book is called The Cassini Division and when I first saw it on a friend's shelf I was compelled to pick it up and look at the back cover and flyleaf text. Once I'd read that much of it, I was driven to borrow it and bump it to the top of my reading queue. If anything, it was even better than I was hoping.

So what's it about? This book is about anticipating what life after the Singularity might be like if only people selfish enough to sacrifice everything to attain it pass through that event. It's full of references to other sf, most overtly in the chapter titles. It's a nice character study and often the dialog had me chuckling aloud.

I like it. I think it's the best book I read this year.

Who else might like it

  • people who think about the Singularity
  • people who like Heinlein's narratives but not his politics

I would like especially to thank Brad who, on every occasion I have spoken to him for the past year said nothing but "KenMacLeodKenMacLeodKenMacLeodKenMacLeod" and Brent, who loaned me his copy to read.

*Depending upon whether you consider Wil McCarthy's post-Scarcity analogous to post-Singularity

posted at 08:37 PST (-0800)     (comments disabled)   permanent link  

Wed, 05 Dec 2007

No Room for Gray

Tags: review, book, novel

Imagine someone sapped you, popped open your skull like a Pez dispenser and shoved a radio into your head which enabled someone to transmit instructions into your head with the same plausibility as your own thoughts. If that sounds familiar, you've read some of the same books I have.

So I read another book on the same theme and it was The Squares of the City. It's from 1965 and it's One of the Ten Best Science Fiction Novels of the Year. I know that because the publisher helpfully printed that on the cover. What is this book?

It's a novelization of a chess game. Specifically, this chess game. In this aspect, it's a little like The Man in the High Castle, where the narrative is shaped by an external pattern. Chess is less random than the I Ching, or so I seem to believe.

That's not a spoiler, about the chess game. I say this because

  • the back cover tells you this
  • the foreword tells you this
  • the introduction tells you this
  • the afterword tells you this

You're supposed to read this story, knowing that it is an anthropomorphic rendition of the chess game. Name characters are pieces and they move, interact, threaten and capture, according to the schedule set by the chess games.

Does it work? Yes and no. It's easy, reading the story, to forget the structure imposed upon it by the chess game. The story is reasonably interesting as a man vs. society struggle. But in the end, it felt overly constrained by that framework. Sometimes the protagonist seems struck inert and unmotivated by the dictates of the game.

Things I liked about it

  • prescient awareness of the threat that subliminal messaging presents
  • prescient warning that someday the government would manage populace using gimmicks dreamed up by advertisers
  • Maria Posador, a strong female character
  • romanticizing civil engineering
  • an experimental framework which added a layer to understanding the work
  • an exploration of prejudice

Things I didn't

  • the presentation of the story which laid out over and over the chess game underlying
  • the endgame compromise where Brunner abandons the game as played

Who might like this story

  • chess fans
  • fans of John Brunner, the godfather of cyberpunk
  • fans of experimental fiction
posted at 20:25 PST (-0800)     (comments disabled)   permanent link  

Tue, 20 Nov 2007

Beatnik Turtlol

Tags: people i know, video, lolcatz

Offered almost without comment.

posted at 07:52 PST (-0800)     (comments disabled)   permanent link  

Fri, 02 Nov 2007

NaLeWriMo

Tags: politics, writing

This is National Novel Writing Month. You may or may not remember that I 'won' that in 2003 by writing a time travel porn novel. Hey, I hit 50k words, even though they're utterly unpublishable. It counts.

I've tried to compete in NaNoWriMo a couple times since then but something has always gotten in the way. So I'm not doing it this year, either. But I do like the sensations receiving in my brain from the act of writing so I am going to try some writing this month.

Specifically, I'm celebrating National Letter Writing Month, a contest I just made up.

I'm going to try to write a letter for each day of this month and send it off. For this year's NaLeWriMo, I'm focusing on political issues. Because, like Arthur Silber, I'm concerned about how things are going. So, referring to The Consumerist Guide, here's the text of my first hand-written letter. It's to one of my Senators, Barbara Boxer, on the topic of Iran.

The Honorable Barbara Boxer                     November 1, 2007
112 Hart Senate Office Building
United States Senate
Washington DC 20510

Dear Senator Boxer,

I've been a Californian for two years, volunteering my time and skills to
various local user groups and non-profit organizations, as well as working
as a Unix system administrator.

I'm writing to you about Iran.  I'm afraid that our country will soon
be thrown headlong into a needless and devastating war upon Iran.  
I think that Dr. Mohamed ElBaradei, who was so perceptive on the matter
of Iraq's nuclear program, is again correct in his assessment of Iran's
capabilities.  Iran is years away from being any kind of nuclear threat.
I saw news stories indicating you'd co-signed a letter to the President
expressing concern about the heated language he's been using in reference to
Iran.  Thank you for doing so.

Please put that sentiment into law by advancing S.759, prohibiting the
use of funds for military operations in Iran.  As a member of the Senate
Foreign Relations Committee, you are in an excellent position to do a great
deal of good.  Please have a meeting scheduled to discuss it or co-sponsor
it before matters deteriorate further.

Sincerely,
Shannon Prickett

Oh, and good luck to the NaNoWriMo participants this year, especially the returning ones who might have not quite made it before. It's hard to get back on a horse which has thrown you once. Keep at it!

(If you're a Californian who wants to write a letter on a similar topic, the pertinant staffer seems to be Sean Moore.)

posted at 09:46 PDT (-0700)     (comments disabled)   permanent link  

Sun, 21 Oct 2007

Webcam

I've since updated the laptop to Ubuntu 7.04 and then immediately thereafter to Ubuntu 7.10 and nothing bad has happened. The web camera was getting closer to usable as I could see it in lsusb

binder@death:~$ lsusb
Bus 001 Device 001: ID 0000:0000  
Bus 004 Device 001: ID 0000:0000  
Bus 002 Device 001: ID 0000:0000  
Bus 005 Device 001: ID 0000:0000  
Bus 003 Device 002: ID 05e1:0501 Syntek Semiconductor Co., Ltd 
Bus 003 Device 001: ID 0000:0000  
binder@death:~$

and so knew it was a Syntek webcam. I did some browsing around and found recommendations to use the cutting edge Syntek driver via an Ubuntu forums thread and following those suggestions, I could see it recognized in dmesg:

[   31.580000] stk11xx: Syntek USB2.0 webcam driver startup
[   31.584000] stk11xx: Syntek USB2.0 - STK-1135 based webcam found.
[   31.584000] stk11xx: Syntek AVStream USB2.0 1.3M WebCam - Product ID 0x0501.
[   31.584000] stk11xx: Release: 0005
[   31.584000] stk11xx: Number of interfaces : 1
[   31.592000] stk11xx: Initialize USB2.0 Syntek Camera
[   31.808000] stk11xx: Syntek USB2.0 Camera is ready
[   31.808000] stk11xx: Syntek USB2.0 Camera is now controlling video device /dev/video0
[   31.808000] usbcore: registered new interface driver usb_stk11xx_driver
[   31.808000] stk11xx: v1.1.0 : Syntek USB Video Camera

So now I was nearly home. But I still needed to do one more thing to get it to go because when I tried to start Camorama it kept erroring out with:

Could not connect to video device (/dev/video0). 
Please check connection.

And when I ran it from the command line with the -D switch, I got a touch more information:

binder@death:~$ camorama --debug
VIDIOCGCAP  --  could not get camera capabilities, exiting.....

Which turned out to be resolved by the same thing that always fixes using multimedia devices in Linux: permissions. In this case, /dev/video0 existed, was owned by root:video and only had permissions for user and group. So I added my user account to group video with:

sudo adduser binder video

and all is right with the world.

Proof that Webcam Works

posted at 21:04 PDT (-0700)     (comments disabled)   permanent link  

Sat, 13 Oct 2007

The Spanish Barber

Tags: almost-serious, old-joke

Today we bought a mattress from a woman I wouldn't have wanted to have in bed (no offense). This reminds me of how the barber on ST:TNG had no hair and how one is told to never trust a thin cook. But on the plus side, new mattress coming soon. BOUNCIE BOUNCIE!

posted at 20:27 PDT (-0700)     (comments disabled)   permanent link  

Fri, 12 Oct 2007

Counting the Days

Tags: ubuntu, linux, gutsy gibbon

Dig this javascript:

At least for a few more days.

posted at 20:45 PDT (-0700)     (comments disabled)   permanent link  

Sun, 07 Oct 2007

Boy Books, Girl Books

Tags: review, book

So a friend of mine is making her way through Snow Crash. Plowing, as she cleverly puts it. Reading her midpoint assessment of it reminded me of the first time I read it. How the opening passage, with The Deliverator, grabbed my attention, how everything seemed comic book slick and sf movie out-there.

It was like an especially good novelization of a wicked cool dream some nerdy guy might have. Which is why it held such appeal for me then and still does. But after a couple times through it, and having learned more about how stories get crafted, it's no longer a book I'd rave about to someone.

In fact, as much as I really deeply enjoy Stephenson books, it's not even the first Stephenson book I'd suggest someone new to him read. For sheer accessibility, I'd recommend Interface and even then I'm not convinced I'd recommend Stephenson to most people. Honestly, the kind of fetishization of information and language and long perspective view needed to really suck the marrow out of the bones of his novels is not very common.

That is, it's a niche of an already niche market. A subselection, as it were. I don't exactly construe it as a guy vs. gal thing but I think there are probably social forces which make it more likely that there is a higher percent of gears which will mesh in a guy's head when reading Stephenson than will click with a gal reader.

I know. Exceptions. If you're reading this, you're quite possibly in the self-selecting narrow range of people who read about the kinds of books I read and write about, even if you don't read those books, yourself.

So I think it's a fair assessment to believe that Snow Crash is a book which will predominantly appeal to guys, in particular a subset of guys who are computer savvy, language obsessed and who, yes, fetishize girls on skateboards. I suppose by now the market must be relatively flooded by derivative and imitative works which refer or have the underlying assumption of familiarity with Snow Crash but I haven't sought them out because, after Snow Crash hit all those buttons for me, I was satisfied.

But that implies to me that there is, somewhere subsequently, a novel which is enough like Snow Crash that the bit-head guys would dig on it but which has broadened out enough in appeal that people outside of that demographic, even just a little bit [bit-head gals, non-bit-head guys] or way, way out [non-bit-head gals] would enjoy but if that is true, even if I were to become aware of the book, would I even recognize the similarity? Would I be able to read it?

I know I couldn't read many of the Tolkien-inspired fantasy books, and when I could I would be unsatisfied at how incoherent, contradictory or blandly derived they were.

So if Alli Dalisay had asked me for a book recommendation sort of in the cyberpunk modern style, I wouldn't have said Snow Crash. I'd have said When Gravity Fails or if she wanted Stephenson in particular, Cryptonomicon -- hey, it even has scenes in the Philippines.

posted at 10:52 PDT (-0700)     (comments disabled)   permanent link  
A Funny Thing Happened on the Couch

Tags: sns, social

So I spent the weekend with a crushing headache and difficulty breathing without hydrotechnics, thus missing, among other events, the annual company picnic.

But I wasn't completely inert as I could still perform the all important actions of clicking and scrolling. All important if one wants to waste time on the internets. Which I did!

So now I am a user of sonicliving and I even used the nifty import from last.fm feature which was a snap. I also finally recruited a team at Fantasy Congress.

Then I rated a bunch of movies at Netflix and diverged even more from my friends.

posted at 08:59 PDT (-0700)     (comments disabled)   permanent link  

Fri, 05 Oct 2007

A Collection of Twisty Passages

Tags: gaming, wld, world's largest dungeon, aeg, rpg

The D&D 3.5 game I run on alternate Sunday afternoons has reached a milestone. The party has traversed the first Region in the World's Largest Dungeon.

That's been, more or less, seven months of dungeon crawling to get to this point. Two original characters remain from the original party, both dwarves.

Now they're on to Region B, full of traps and goblinoids.

Perhaps now I can find time to fit in getting double duty out of the book by running it for my co-workers, as well.

posted at 00:24 PDT (-0700)     (comments disabled)   permanent link  

Tue, 18 Sep 2007

Reaching to the Perverted

Tags: novel, review

It's possible to draw a line, dividing the comic book works of Warren Ellis I enjoy from those which I don't. It severs the cape and sf work (which I can't get enough of) from the horror and prehistory stuff (which, while viscerally affecting, I do not consider enjoyable).

Some of his work is closer to the line, on one side or another. Global Frequency is just barely on the like side, for example. I can't read that as a book, I have to read each chapter/issue and let it simmer between readings. Nextwave is just barely on the dislike side, mostly because I'm not a fan of the Marvel setting which he's riffing on, there.

I like his way of seeing the world enough that I even bought his Available Light book. Read it, and enjoyed it for more than novelty's sake. Some very striking images and suitable prose.

So now he's written a novel. This novel.

It's called Crooked Little Vein and in a word it is awesome.

It's an American road trip viewed through the lens of the internet.

It's a natural outgrowth of some of the text fragments I've seen him posting before on his various websites, news stories he's flagged as research materials, rolled up into a nice sharp bolus of insight. It's a perspective on America from the other side of an ocean. It's funny and gross and suspenseful and wry.

It's in a similar vein to the last book I read and a pair of my all-time favorite books but updated to a more modern set of patterns of perception.

Who might like this book

  • paranoids, practical and practicing
  • fans of Warren Ellis's dialog and characters
  • fans of secret history
  • fans of noir stories

Who might not like this book

  • people who are frightened of the internet
  • people who are so over the internet, already

Tangentially, there's a more informed and less glib review of CLV over at fearzone written by Nick Mamatas.

posted at 17:00 PDT (-0700)     (comments disabled)   permanent link  
Ever Hopeful

Tags: politics, idealist

Assuming you haven't given up completely, a bill which might do something about Habeas Corpus so yay for that.

posted at 16:07 PDT (-0700)     (comments disabled)   permanent link  

Sun, 16 Sep 2007

I've Gotcher Policy Right Here

Tags: politics, charity, money

Today I recycled over twenty solicitations for contributions from alleged politicians and activist organizations. I have never sent money to any of them. I also set aside solicitations from four organizations, to whom I have previously given money.

Here's the deal. The first one to actually do something useful which makes the world a better place and lets me know about it without bundling it with a solicitation for donation gets money.

From now on, I'm going to recycle without reading anything which even smacks of begging me for money. Stop panhandling me. Get to work, you greedy parasites.

posted at 14:48 PDT (-0700)     (comments disabled)   permanent link  
A Laptop of One's Own

Tags: hardware, review, laptop

After I moved to the Bay Area, my desktop machines began the long slow death march which machines undertake after they've been bumped around from state to state for a half decade, and seen heavy use as development platforms, house servers, and world facing servers. Which is to say they got gradually less useful / available to me on a personal level. Meaning that for the past three years or so, I've been using whatever laptops my job issued to me for anything I needed to do at home. Meaning I stopped coding on my personal projects, stopped enjoying much of the material the web has to offer. You know. Pr0n.

But now that's changed!

I bought a laptop for myself, my very first just-for-me laptop, in May of this year and as I threatened at the time, here's my review of it.

First off, what is it? It's an XW1560 from RCubed. I'd link to it but they seem to have discontinued that model. The closest match is probably their XW1580. It's about the same size, had the same CPU choice, different video, similar RAM. So pretty comparable to what I have.

How do I like what I have? It's AWESOME.

I got a dual boot configuration because there are a few things I need to provide technical support for in my superhero identity which require me to use Windows but I only tend to boot up in that mode when fighting crime or when a particularly exciting Patch Tuesday has happened and I need to catch up. Otherwise the laptop runs Ubuntu 6.06.

Despite it being a dual core 64-bit CPU, it's running the 32bit release of Linux so that I can have multimedia flash support. Remember that bit in the first paragraph where you thought I was joking? I'm still making that joke.

One of the services RCubed provides with an Ubuntu pre-install are nice icons to install proprietary binary-only multimedia drivers. That means I can watch Windows Media and MPEG-n format video on this laptop and getting to that point was painless. Yes, I know how to do that manually and yes I've gone through that loop more than once but oh how nice it was to have someone else do the work for me on this. The downside to that is that I'm leaving it at release 6.06 until the next Ubuntu LTS releases, rather than chasing the cutting, or even the stable, edge.

Things I do with this laptop which seem pretty cool to me

  • watch DVD movies
  • watch videos from the web
  • use wpa2 wireless access points
  • code in as many languages as I care to (I exclude here the ones which suck, ie, are proprietary or otherwise lack SDKs for Linux)
  • boot painlessly into Windows when I need to suffer the Land of Suck
  • use a number of solid state removable media with it, no gotchas

Things I don't do with this laptop but wish I could

  • use the built-in camera; maybe a newer kernel / drivers will help
  • use the firewire or E-SATA interfaces; none of my devices need this so the ports just sit idle and I couldn't tell you if they work
  • go on battery power for more than two hours; my only real complaint, the battery life is shitty but I think I'm just spoiled from using other laptops
  • make better use of the SD/MMC bay; all my solid state stuff is CF (oops!)

Things I'd do differently if I were to buy a laptop today

  • nothing; this is exactly the laptop I wanted and I didn't pay more than seemed reasonable for it

Who might enjoy a laptop from RCubed

  • people who want to get a dedicated Linux laptop without doing a lot of research / labor to get to that point
  • people who like to use the little magic key stuff on laptop keyboards; they come configured to work with Linux (thanks, RCubed!, thanks, Ubuntu!)
  • people who will not be angry when UPS drops the package and SOAKS IT IN WATER as they did with mine; man, UPS keeps working my teats. If I could change one thing about RCubed it would be to have them provide shipping options other than UPS ones

I did buy myself a ShaggyMac screen protector because I'd been very happy with what a similar set of laptop pajamas did for a Powerbook I bought some time back and am pleased at how well that has helped keep the RCubed laptop clean and crud-free. So that's a pretty cool purchase I made, there.

posted at 12:06 PDT (-0700)     (comments disabled)   permanent link  
Camera Madness

Tags: people i know, camera, photography

I went to a couple social gatherings yesterday and took pictures.

Photo sets here and here.

Yeah, they're in my regular flickr stream but evidently not everyone subscribes to the RSS feed there or even looks at the site top where I have the flickr badge.

posted at 11:28 PDT (-0700)     (comments disabled)   permanent link  

Sat, 15 Sep 2007

Message For You, Sir

Tags: novella, review, book, anarchy

Remember when I read Catch-22 and I said I should have read it years ago? That wasn't strictly true in that at a younger age I probably wouldn't have appreciated it as much as I did reading it now. That I had to age into the point where that cynicism glitters.

I just read The Crying of Lot 49 and I may have the opposite situation, where I'm past the prime of my enjoyment of the book.

I did enjoy it, but I probably would have enjoyed it more at the point where I still thought powerful ideas were enough to change the world. That the sharpest knife is actually perspective and that it can be used to carve away all the parts which don't fit in the perfect world. That's the kind of book this was for me, an exploration of a perspective where paranoia is contagious and the extrusion of other worlds into one's own are wondrous and revelatory as well as disturbing and sickening.

Is that an operational definition of the consensus reality of the real world? Maybe. I'm less sure than I once was.

This story did seem to capture something core about the California experience, the droning background impression of living here, where everyone seems to be the star of their own dramatic tale and all other humans are merely bit players. In the same way that Oedipa Maas entertains the notion that the entire sequence of events she's experiencing are perhaps an elaborate prank or a targeted threat, many of the people I see every day similarly behave as if everything is staged for their benefit. It's an odd realization to notice that you're the least important person in California, if you were to judge by the reactions of others.

The book is the story of a woman brushing up against and becoming ensnared with either madness, a prank, a conspiracy or something which borrows from all three. It's structured very pleasantly and the protagonist is likable and not at all unreliable. The other characters are deftly conveyed but not very convolute. That's the surface.

I suspect there's a lot to decode here, going deeper and analyzing and unraveling the symbols but I'm a shallow reader so you'll need to talk to a graduate student about all of that.

What I liked about the book

  • reliable narrator, hooray, even when she's possibly hallucinating
  • conspiracy stories, love 'em, especially with secret history overtones
  • short and fast read
  • meta-fiction, with the play within the book narrative

What I didn't

  • nothing

Who might like this book

  • young aspiring anarchists, artists, rebels, malcontents, riffraff, hop-heads, surrealists and Republicans
  • people who think they should like Pynchon but find his other works too long or too slow
  • stamp collectors who've been looking for a racy book to prove to other people that philatelists can intersect with fornication
posted at 10:17 PDT (-0700)     (comments disabled)   permanent link  

Thu, 13 Sep 2007

Splashing in the C

Tags: coding, junkbbs, projects

It's been a couple years since I did anything useful with the code which JunkBBS runs, itself a mild fork of bbs100. Last Sunday, just for fun, I got it to build on my personal laptop. A few tweaks, some modernization of idioms, and it built. Sweet.

Then for the past 24 hours, I've been gradually merging in bits from later releases of bbs100 than the one I based JunkBBS code on. It's still early in the process, but I'm optimistic this will get me out of the weeds on this project [which has languished for 5 years] and let me get my hands dirty with actual programming once more.

That's what I did last night when I actually left work at a Usual Time. Tonight when I left at an Absurdly Late Time, I sat in front of a fan and wrote this post.

I hope to set up a flow soon so I can blog from my Sidekick (in addition to twittering which it does very well, indeed) perhaps through the tumblelog, perhaps through this blosxom instance.

posted at 22:04 PDT (-0700)     (comments disabled)   permanent link  

Mon, 10 Sep 2007

Ring Ring Ring

Tags: phone, sidekick

I got a new phone!

This one.

I traded it in exchange for having any time to do anything with it. Seems like a pretty good deal so far but I know I'm still skimming the surface of what it can do.

In other news, Flames seems to have undergone some kind of life-changing experience and no longer offers fried chicken so I failed to attain lunch satisfaction. The counter lady didn't understand my order and so I didn't even get the burger I asked for.

See? I can blog the pointless, too.

posted at 22:20 PDT (-0700)     (comments disabled)   permanent link  

Sun, 02 Sep 2007

Picture This

Tags: photography

My boss gave me a camera. A digital camera. My first dedicated function camera. So I took it with me today as I was out and about and took some pictures without using any of the lenses or neat-o features (well, I did use one neat feature) just to see how the basics of it look.

You can find them in my flickr page.

So now that I've got a camera, I'm going to retire my Nokia 6600 and complain less about my ability to capture what I can see (I hope).

posted at 23:35 PDT (-0700)     (comments disabled)   permanent link  

Thu, 30 Aug 2007

Shelled Game

Tags: movie, review, documentary

So this is my review of Sicko.

Well, it was going to be. When I started my day, I was planning to see Sicko as my third and final documentary of the day. But then a funny thing happened. Vy had joined me for dinner and we walked past the Gaia Arts Center hunting the wily burrito. Lo, and likewise, behold, it was Documentary Tuesday at the Center. That meant a free showing of Enron: the Smartest Guys in the Room!

I'd been meaning to see this one since I first saw trailers for it, but I don't normally go to the movies. Or so it seems to me. So we jumped at this chance. Or I did and Vy humored me.

My take on Enron: a symptom of the problem.

The problem: systems built to diffuse responsibility combined with pursuit of money above all other concerns. It's a triumph of single minded obsession lauded as an individual and group virtue. It's sick and it's disgusting and it's how things work.

Pissed me off.

posted at 08:52 PDT (-0700)     (comments disabled)   permanent link  
Quarter for your Thoughts

Tags: movie, review, video game, game, retro

The King of Kong: a Fistful of Quarters was the second movie I saw. Again, a documentary. Again, highly rated at Rotten Tomatoes. Even better, it had things in it I'd actually seen. There's a video game tournament from 1982 ... in Ottumwa, Iowa.

You know, where we used to have to roll up the window to drive past the Hormel plant so we wouldn't gag from the stench.

Oh, yes. I've been to Ottumwa. I even remember when that tournament happened. I wasn't allowed anywhere near it, of course.

Just as I remember the Twin Galaxies video game arcade in Fairfield, Iowa. I remember going in to it and being dazzled by the options, the lights, the sound. I remember staring at those boxes and knowing that inside of each one there was a simple computer doing all of the work I was perceiving as sound and sight.

I was in there once and then never again. I suppose I must have not shut up about it in a way which worried my parents that I'd fall into the trap of pouring a lot of money (not that I had any) into the machines. But I did go in once and it was amazing.

There's also some bits about Transcendental Money-extraction in the movie which is just as creepy now as it was when I was living right next to it.

I didn't recognize any of the current day streets of Fairfield stuff but how would I? So much has changed. The last time I visited, I didn't even recognize much of the stuff on the main drag. I could find my way to the schools I'd gone to and that's about it.

But this documentary isn't really about Fairfield, it's about playing arcade video games competitively. It's about doing whatever it takes to win, including estranging your wife, neglecting your kids, social engineering, acting through proxies, playing mind games, and spending hours a day playing. This story starts off playing for laughs, gets unseemly pretty quickly, and turns into something of an underdog tale.

Very good movie for the nerd set, the retro gaming set, or people who like barbecue sauce.

Not so good for people who never saw classic video arcades, don't care about video games or who think dude rivalry films need guns to be worth watching.

posted at 08:17 PDT (-0700)     (comments disabled)   permanent link  

Wed, 29 Aug 2007

Darkest Noon

Tags: review, movie, darfur, genocide

Yesterday I saw three documentaries. The first one was one named The Devil Came on Horseback. I chose it on the basis of the Rotten Tomatoes rating it had: 96%. That's a pretty amazing score for a documentary.

It's an amazing documentary. It's brutal, bleak, tragic with dashes of hope and optimism. It really moved me with pity and compassion for the suffering the people of the Darfur region of Sudan suffer at the hands of their own government.

This movie is brutal but should be mandatory viewing for any citizen of the world.

posted at 23:47 PDT (-0700)     (comments disabled)   permanent link  

Mon, 27 Aug 2007

Spreading It Thin

Tags: systemic, feed, rss, social

Hey, I finally took Tim's bait and got myself a tumblelog. I don't know what I'll actually do with it; so far I just seem to be using it to scare myself and scar others.

Its rss feed is stuffed into the landing page at the top of my [site] [manj] as well.

Oh, and I got myself a myspace account, too. No connection there, just catching up on things I did while I was fiddling around online.

Do I need a page to list all the places I am online, yet? Have I achieved Social Network Saturation? I've got my fingers in everybody's pie.

posted at 23:05 PDT (-0700)     (comments disabled)   permanent link  
Mental Health Will Drive You to the Movies

Tags: Frankie say relax, movie, documentary

Tomorrow I'm planning to Not Work.

I'm going to stave off work burn-out by turning off my cell phone and going to a movie. Then another movie. Then a third movie.

They're all documentaries and I'll see if I can survive on movie theater food. It'll be relaxing and scientific.

posted at 22:36 PDT (-0700)     (comments disabled)   permanent link  

Sun, 26 Aug 2007

Magic and Illusion

tags: magic, performance, bayarea

Last night we went to the Lesher Center for the Arts for a magic show by Gerald Joseph. When I was a kid I was enamored of Erich Weiss and read all I could about him, including what I think must have been this book as it seems to have illustrations of his escapes.

I had let my interest in stage magic languish over the years but when Vy spotted a local magic show I knew I had to see it.

So the good first

  • Gerald Joseph has great kid management skills
  • Gerald Joseph has pretty decent patter
  • Gerald Joseph has excellent stage presence
  • Harry Houdini was referenced during the show

The bad

  • there was not one illusion I had not seen before in one form or another
  • this was clearly targeting the family-and-kids crowd and I don't know if you know this but kids are freaking annoying

Also, and not part of the show, but part of the venue, there is an awesome if small art display on the ground floor. Admission to it was free because we were ticket holders for an event there and it was well worth the wander to look at Carny art (this URL will cease to be useful at some future point when it's no longer the current exhibit; they don't seem to support linking to permanent descriptions of exhibits) and even handle some old school arcade games, where they had actual payouts of a gum-ball, not always conditional upon success.

posted at 14:15 PDT (-0700)     (comments disabled)   permanent link  
Dog Meet Dog World

Tags: novel, review, autism

The book, The Curious Incident of the Dog in the Night-Time, is not science-fiction but it is fiction. I'd previously read The Speed of Dark and I can't help but compare the two (compare, not contrast).

Both have autistic narrators as protagonists. Both feature simple narratives and focus on the kinds of situations which one assumes to be simple for non-autistic people to navigate but which are shown to be challenging for the functional autistic people in our societies.

So what did The Curious Incident of the Dog in the Night-Time bring which was usefully new? Some ruminations on how absolutely brutally difficult it is to assimilate betrayal into one's mindset if one has little to no emotional empathy. The implication here being that with a sense of why someone might do or say to express complex emotional states, it becomes possible to perceive a gradation of excusable behavior.

So in that reading, this book is not really about an autistic sense of the world, it's more a narrative about how people are constantly committing betrayals of one another, great and small, for the most justifiable of reasons and they are able to do this because of a deep sense of emotional empathy. Because I suspect some fact may harm another, I choose not to reveal it or perhaps I reveal it partially or perhaps I even obfuscate that fact to hide it from the person who I suspect it may harm.

But the world is a multi-vector space.

Even if I never reveal the fact, the potentially harmed person may learn it in some other way. The impact may be heightened if they can learn or deduce that I kept the information from them.

That's the message I took away from this book and that's much deeper than the textual narrative. I don't know that that's something the author put into it on purpose but it's something I feel free to take from it as a late modernist period reader (tangentially, we are not yet post-modern because I haven't seen anyone actually being over modernism; we're junkies in denial, not remission) and that explanatory framing of this story made it an enjoyable read for me, after the fact. During the reading, the story was interesting but had no real accelerant quality to motivate me to read it faster and faster.

Interestingly, this is a book which a record number of co-workers had already read (TWO of them) before I did and both of them loved it and raved about it. They're not especially genre readers so this book is probably pretty accessible to people who hate the other books I write about having read.

(I also read Secrets and Lies in the interim but nobody cares about my take on that as it is the anticipated response.)

Who might like this book

  • genre-haters who like books with a little different spin
  • people who like to read about children and broken homes
  • people who like bite-sized math facts

Who might not

  • dog-lovers with sensitive constitutions

Overall, a not very challenging, easy read of a book. It even has pictures and some fun math bits.

posted at 10:28 PDT (-0700)     (comments disabled)   permanent link  

Tue, 14 Aug 2007

This Ending is Not Available in Stores

Tags: review, people i know, book

If I knew a strange story of something which happened to me but rather than tell you that story I told you a story about telling you the story of the strange events which transpired, it would be a form of story not entirely unlike Kelly Link telling you stories as she does in stranger things happen which I just read. This is not an explanation of her stories, this is not even an explanation of my experience of her stories but it does seem to indicate an almost irrepressible urge to take on some of the practices of her writing in shallow form when writing about her writing.

It's all very meta-, you see.

There's a blurb on the cover and it's by Jonathan Lethem and it seems to me to be Jonathan Lethem writing about Kelly Link as if he were Kelly Link writing about someone else (who has the same name as Kelly Link) but is not the Kelly Link about whom Kelly Link (in her guise as Jonathan Lethem) is writing. It says

Kelly Link is the exact best and strangest and funniest short story writer on earth that you have never heard of at the exact moment you are reading these words and making them slightly inexact. Now pay for the book.

When I read that blurb, before reading the stories in the book, I thought What a curious way to say that and it didn't sound very much like the Jonathan Lethem books I've read but now that I've read this collection of stories, I think it's very much like something Kelly Link might say about her writing if she were someone else.

This collection has eleven stories. Here are some brief notes about them.

  • Carnation, Lily, Lily, Rose. When this story was over, I wanted to watch The World According to Garp. It seems representative of Kelly Link stories to me, in that it has a protagonist who is unclear on their origin, motives, and environment.
  • Water Off a Black Dog's Back. This is a moral tale about not fucking people you meet in libraries. Or a cautionary tale about being sure to lose things you care about before it's too late. I'm not entirely sure.
  • The Specialist's Hat. I can give this story no higher praise than to say: this story could have been written by Vy.
  • Flying Lessons. This is a good story for people who want to run certain kinds of Unknown Armies games or for people who like a kind of glib knowing modernization of Greek myths.
  • Travels with the Snow Queen. I guess it's a fairy anti-fairy tale but I didn't really care for it very much.
  • Vanishing Act. I have no response to this story. I think that I don't get it.
  • Survivor's Ball, or, The Donner Party. I have been waiting all my life for someone to write a story based on this joke premise. It's everything I dreamed it would be, almost. Needed more rough sex.
  • Shoe and Marriage. This story seems like a writing experiment. The last part was the best part. The Miss Kansas bit was also pretty good.
  • Most of My Friends Are Two-Thirds Water. I think this is my favorite story in this collection. Sadly, nothing happens, so I can't tell you what happens in it. There are some phone conversations and some emotions, mostly sadness and lust and love. You should read this story sometime with whiskey and if you think it's you I'm talking to, yes, you're right.
  • Louise's Ghost. Another story which makes me think it's the result of Kelly writing a writing experiment along the lines of "how can I have a story with two characters of the same name?" Given how reasonable an explanation that seems to me, I'm pretty sure that's not what she did here. But it's got some fetishization of cellists so, hooray for that.
  • The Girl Detective. I guess this is the story everybody loves. Shortest response: I'm not everybody.

So this collection is totally readable and not at all hostile. It is friendly but doesn't know what to say to you, quite, when it sees you in the hallway of conventions. Do I read too much in to it? Very well, I read too much in to it.

I liked this collection but I am looking forward to having my own thought patterns reassert themselves.

People who might especially like these stories.

  • writers who are serious about their craft
  • writers who are frivolous about their craft
  • people who are or suspect they may be dead

So now I have read something by Kelly Link, only three months after I could have talked to her about it; there is always next year, but I still don't think I know anything to say she won't already have heard. Many of the things I enjoy in her writing are things I enjoy in Vy's writing. The few things I don't enjoy I attribute to my not getting some underlying mechanism of narrative.

Kelly Link: she is thinking harder about her stories than you are.

posted at 22:14 PDT (-0700)     (comments disabled)   permanent link  

Sun, 12 Aug 2007

Stick It In Your Ear, You Know You Want To

Tags: music

I haven't been listening to a lot of music, lately. I busted both my primary and my auxiliary pair of headphones. Now I've got an excuse to buy some new ones: Magnatune's The Art of Persuasion.

Oh, and it doesn't hurt that Brad Sucks has not one but two compilations of remixes out now.

posted at 09:36 PDT (-0700)     (comments disabled)   permanent link  

Sun, 29 Jul 2007

What Does It Take?

Tags: vice-president, politics, impeach

You may recall that I have long supported impeachment for this administration. I remember promises to restore dignity and honor to the office. I remember promises to protect the environment, the Constitution, and the country.

So now there's Yet Another Impeachment Effort. I don't have a lot of optimism that this puppet show will go anywhere but what the hell, I put my name on the list.

I'd rather be rioting in the streets but, you know, I've got bills to pay. You could go add your name to the list. Or not. Don't do something just because I told you to do it, that's the stupidest reason to do something. But do think about whether sufficient treason has been committed by these short-sighted selfish criminals.

posted at 19:04 PDT (-0700)     (comments disabled)   permanent link  
What Does This Button Do?

Tags: computers, webservices, ui, music, cdbaby

Over the past day I've been setting up some new accounts with services I've not used before but been aware of (you can read that with an air of contempt, if you like) and thinking about what is working for me and what isn't.

Some very preliminary thoughts:

  • I really like cdbaby's Sounds Like search, perhaps because it's built on input from the artists, themselves, but the UI is maybe too basic as it doesn't give me any confidence rating for the similarity
  • the difficulty for posting to livejournal is, obviously, very low and if I were a person who was not interested in learning new skills, it would be a very stress-less path toward expressing myself and seeking community
  • pownce will really only be useful to me when a critical mass of people are sharing pr0n files
  • habbo hotel scares me before I even try to make an account, just hitting the front page; I think this makes me officially Too Old using a metric I read recently: if the tools of connectivity are a barrier, you are Too Old
posted at 18:45 PDT (-0700)     (comments disabled)   permanent link  
It's Not What It Looks Like

Tags: people i know, vy, vylar, livejournal, lj

Yes, I did just create a livejournal account this morning but it wasn't just to comment on Nick's lj. That was just a nice side effect.

I did it to continue my goal of providing five nines of tech support to Vy who is dipping her toe in the livejournal tub to see how the water feels to her. So stop in if you know her and say hi, at whichever site of hers you like.

As I write this, there's more content at vylarkaftan.net but who knows whether that will be the same by the time you read this.

posted at 10:38 PDT (-0700)     (comments disabled)   permanent link  

Fri, 27 Jul 2007

Happy SysAdmin Day!

Tags: holiday

A co-worker helped me celebrate System Administrator Appreciation Day by buying me a beer at House of Shields tonight.

This: second beer is the beer I bought for myself after.

Never been to House of Shields before and it took me forever to spot any shields. I was expecting something more like a shield wall. I guess that would be too gaudy for a crowded place full of shouting people watching everyone else.

New record minimum, though: only one person spilled beer on me while I was sitting at the bar.

posted at 21:30 PDT (-0700)     (comments disabled)   permanent link  
WINNER!

Tags: review

I won something! Which never happens. Specifically, I won $20 in store credit from my favorite book store, Powells. I won it by writing a review of Move Under Ground and having it picked for the Daily Dose.

The only down side is that since I first signed up for the Daily Dose I've seen a lot of books I want and wish-listed them so now I am trying not to use up all of my credit all at once. My day is in this Daily Dose archive near the bottom (oh, I crack myself up).

Note that if you want to buy the book without giving me any affiliate store credit, you'll want to use the link to the archive and go from there. The book title itself in my first paragraph is affiliate coded as is the search box at the top of this site.

posted at 06:58 PDT (-0700)     (comments disabled)   permanent link  

Thu, 19 Jul 2007

What Is the Law?

Tags: people i know, review

Because Vy is awesome, she buys me books.

Most recently she bought me Under My Roof by Nick Mamatas and I just finished reading it.

First, some digressions.

I know Nick. Have known him years, first as a quirky and amusing set of pixels forming acerbic text and later as a more tangible manifestation of cynicism.

I've read all three of his novels, now, shortly after they've been printed.

I remember when I read Northern Gothic I was puzzled by something and so I connected to the online place where I knew he hung about. I said, "Hey, NK, I just read your book and I have a question." He said, "NO, I'm not gay!"

So I never asked him my question, which was, "But why is the ghost haunting the dildo?"

Which is to say, I think I have trouble making these simple and fundamental connections which infuse his stories.

His second novel, Move Under Ground didn't confuse me so much but that's because I don't expect the Beatnik novels to have any kind of closure or to ever really be about anything I can make sense of and the Lovecraftian fusion in it, well, that was just gravy and pandering to the audience of People Like Me. All, uh, 12 of us on the planet or whatever.

Now I've read Under My Roof and I've got one question which has confounded me (aside from what seems to be some fairly bad copy editing) and that is: How does Geri drive away in the car which Daniel just pages earlier sold and had Herbert help him pretend was a car jacking?

But that's enough digressions about my confusion so now I'll talk about the book itself.

It's short.

It's really short. Like, 150 pages short. Is this Young Adult fiction? Probably, hence the lack of length. It moves at a good clip and uses some good devices to keep the story engaging and skip over the boring parts.

It's a coming of age story for all ages. Various characters grow up, grow down, or grow in circles. There's some clever science-y bits and some strong female characters and suitably wry grown-ups-don't-get-kids observations from the young point of view character, who is arguably the protagonist though his struggles are few and far between and he mostly observes distantly the meaty bits of the narrative.

Who might like this book

  • kids who are misunderstood by adults
  • adults who are misunderstood by adults
  • kids who are telepathic or want to be
  • satirists, cynics, anarchists, iconoclasts, malcontents and commuters

Here are some domains mentioned in the novel which exist

Here are some domains mentioned in the novel which do not exist

So if you're looking for some domains to squat for when this novel becomes a movie, now's the time!

posted at 21:58 PDT (-0700)     (comments disabled)   permanent link  

Wed, 18 Jul 2007

One Laptop Per Hacker

Tags: hardware, mass production

I went to BALUG last night because not only was it a pretty good price for deliciously unhealthy Chinese food, it was a chance to hear a person talking about the One Laptop Per Child project.

So, the most important thing first, the laptop itself. I gather this is called an XO model.

one laptop

First impressions are that it's small. It bears the same relationship to a laptop, visually, that the undersized and plasticized versions of elements of the adult workaday world become children's toys so they can practice being good little cogs, tirelessly using their plastic saw, plastic oven, plastic cash register for the Good of their Owner.

So it's got that going for it.

The speaker (it says on the BALUG site that his name is Ed Cherlin and web searches seem to bear that out) demonstrated how the laptop can find and display wireless networks. He talked about how multiple units will peer and form a mesh network. They've tested this and had a fifty node network in a two mile radius around a central server.

The central server will ideally be connected to the Internet and if it isn't, have a sizable cache of useful content. So in optimal conditions, a user of the laptop peers with the server and through it reaches the outside world. Or the laptop peers with a laptop closer to the server and through it reaches the server and through the server reaches the Internet.

The laptops he showed are running a stripped down Red Hat Rawhide install, including a pared kernel. Because the platform has a known, fixed, and specific set of components the kernel and application can be tailored for just what it has and drop out what it won't ever need. Parallel port support, for example. There aren't any in it. Won't ever be any in it.

So the software load is small enough [presently] to go on a CD. The software updates can be put onto a thumb drive and I overheard unclearly that there's some magic for it detecting that there is a reboot-worthy update on the drive when it's inserted, applying it, and rebooting itself.

To quickly move data from server to server, because high speed Internet is an artifact of the kind of infrastructure in some of the countries with greater tech addiction, the plan is to have the server system have DVD-reading, CD-(re-)writing drives. Chunks of data in CD size can be exported and sneaker-netted to another server.

A user application was shown off, TamTam and it was pretty awesome. It displays a visual set of instruments, you select one, it synthesizes the sound of that instrument, notes mapped to the row of keys. Better still, if you're peered up with other laptops, it combines the notes from the peers with the one you're using. The audio can be recorded as you play it, remixed, edited, looped, and so on. One Laptop Per Musician!

Interested parties are urged to visit the OLPC wiki but mostly as contributors. If you're looking to buy one, you need to put together an order of a quarter of a million units at a touch under $180 each and wait in line while the one place on Earth making them fills the eight million unit backlog, first.

The components are made in China and assembled in Taiwan and the chip-set is AMD's.

posted at 09:47 PDT (-0700)     (comments disabled)   permanent link  
Now You See 'Em

Tags: systemic, css

I managed to re-swipe enough of the Holesque Grail to get every element I really care about back on this page. Needs more work, certainly, if only so I can understand what's going on here.

If you look at the css I'm using, I recommend not using it yourself. You're better served swiping as I swoped.

posted at 09:07 PDT (-0700)     (comments disabled)   permanent link  
So Then I Thought

tags: systemic, css, stupid

... hey, they are right, this CSS is all messed up and I've been playing with the DOM Inspector Tool so why don't I just fix it up real quick like.

If you happened to look at it during this time frame (Hi Drew!) that would explain the extra junk look it had at the time and the still not-quite-right it shows but I'm too tired to keep fiddling with it.

The categorytree is a casualty of this, at least in my web browser. It's an element in the DOM. Firefox 1.5 won't display it for me. What. The. Felch.

Come back later, it might be easier on the eyes.

posted at 00:41 PDT (-0700)     (comments disabled)   permanent link  

Tue, 17 Jul 2007

The Book I Should Have Read

Tags: review

Once upon a time I worked for a manager with an overtly unusual sense of humor.

An example would be an occasion on which he set up an automatic response in his email client to respond to anything he received from his boss with "That's an excellent idea, thank you for the suggestion." I guess that went on for a couple weeks before his boss caught on that it was scripted.

Similarly, at one point he loaned me a book which he said he thought reflected my attitude toward my job and my co-workers. He loaned me A Confederacy of Dunces.

Right.

I didn't see a whole lot of myself in that book but I wasn't offended. I was amused. Now that I've read a different book, I know what book he should have loaned me, the one which captured my sense of my career field.

Catch-22.

Everyone around me is insane. Many of them are trying to kill me. Some of them are trying to literally kill me, some are merely trying to expose me to fatally dangerous conditions.

Is it too late to become Milo Minderbinder, I wonder?

I won't try to actually review this book because you've either read it by now or nothing I can say will convince you to do what a stack of critics, pundits and probable friends have told you. I didn't get around to reading it until now because I am slow to appreciate classics. In a sense I'm very glad I didn't read it until now because it seems quite probable to me that at some earlier point in my life I could not have appreciated this novel, certainly not to the degree that I now savored the bureaucratic constriction.

So insofar as reviews of books often say more about the reviewer than the book, the important thing to know is this: if you work with me, I'm on to you!

posted at 23:30 PDT (-0700)     (comments disabled)   permanent link  

Mon, 16 Jul 2007

Re-badging

Tags: twitter

I took the opportunity while catching up on my email to replace my hand-rolled rss2html based twitter stream at the top of my site with an actual proper twitter provided badge.

Also, I watched The Fountain and it was ... another opportunity to watch Hugh Jackman struggle against death. It was a pretty okay movie.

posted at 23:11 PDT (-0700)     (comments disabled)   permanent link  

Sun, 15 Jul 2007

Rot-10 + Rot-3 = Rot-13

Tags: perl, goofy

Sometimes I read the blogs of strangers and it inspires me.

Last night I read a tumblelog called Anarchaia which I think I probably found through some other stranger's blog on my curious staggers through the thoughts of people who code. In particular, the highlighted Thought on that page got me to thinking. So I tried scratching the itch in code and this is what fell out.

 #!/usr/bin/perl
 # splitrot by Shannon Prickett <binder@manjusri.org>
 # rotate vowels separately from consonants

 use strict;
 use warnings;

 #use Smart::Comments;

 my $consonant_string   = 'bBcCdDfFgGhHjJkKlLmMnNpPqQrRsStTvVwWxXzZ';
 my $vowel_string = 'aAeEiIoOuUyY';

 while (<>) {
     chomp;
     for my $letter (split //, $_) {
         my $rotted;
         if ($letter !~ qr{[$vowel_string]}msx) {
             $rotted = rot_n({ character => $letter, offset => 10, string =>
             \$consonant_string  });
         }
         else {
             $rotted = rot_n({ character => $letter, offset => 3, string =>
             \$vowel_string });
         }
         print $rotted;
     }
     print "\n";
 }

 sub rot_n {
     my $arg_ref = $_[0];
     my $character           = ${arg_ref}->{character};
     ### $character
     my $offset              = ${arg_ref}->{offset};
     my $letter_string_ref   = ${arg_ref}->{string};
     my $letter_string       = $$letter_string_ref;
     ### $letter_string

     if ($character =~ m{ [[:space:]|[:punct:]] }msx) {
         return $character;
     }

     my $character_index = index( $letter_string, $character );
     ### $character_index
     my $result_index = $character_index + ($offset * 2);
     ### $result_index
     if ($result_index > (length( $letter_string ) - 1)) {
         $result_index -= ($offset * 4);
     }
     ### $result_index

     my $return_letter = substr( $letter_string, $result_index, 1);
     ### $return_letter
     return $return_letter;
 }

That's not as horrible as I had feared it would be when all was said and done. Some examples:

 binder@death:~/src/r13$ ./splitrot 
 A man, a plan, a canal, SUEZ! 
 O zob, o cxob, o pobox, GEUM!
 O zob, o cxob, o pobox, GEUM!
 A man, a plan, a canal, SUEZ!
 You mean it just contradicts me all day?
 Iae zuob yh vegh pabhfoqyphg zu oxx qoi?
 Iae zuob yh vegh pabhfoqyphg zu oxx qoi?
 You mean it just contradicts me all day?
 binder@death:~/src/r13$

See? Reversible. Pronounceable? I don't think so. But you're free to pabhfoqyphg zu if you dare.

posted at 07:31 PDT (-0700)     (comments disabled)   permanent link  

Thu, 12 Jul 2007

Is It Monday Yet?

Tags: games

I've started trying to update the board game library at work.

That's right. I get paid to think about what games I want to play at work and then I get paid to play them. You wish you were me.

This week I picked up

but I don't anticipate getting any actual time to play this week what with my lunch date at E & O Trading tomorrow. So next Monday will probably be my first chance to sit down with one of those and get my game on.

Luckily I've got a day of boardgames going on Saturday and then D&D and Ars Magica on Sunday so, yeah, I really can't complain.

posted at 23:39 PDT (-0700)     (comments disabled)   permanent link  

Tue, 10 Jul 2007

The Public Me

Tags: vanity, vanity, all is vanity

Here's the public profile I have on linkedin. Isn't it ... bland.

posted at 22:23 PDT (-0700)     (comments disabled)   permanent link  
Ask Me No Questions

Tags: memo to future me, grub, linux

I made two trips to the co-location facility today.

First trip was terminated when I realized the install media had somehow become corrupt since I performed three successful installs with it.

Second trip was with fresh media and I went around in circles because once I had a good install of Ubuntu onto the Sun v20z I found that grub wanted to try to boot off of the first logical volume in the external T3 array. Even when I told it that the internal SCSI drive was (hd0), it wouldn't boot but now because it wanted to use a mythical IDE drive.

I finally resolved it by lying in /boot/grub/device.map and telling it to consider /dev/sdc to be (hd0). What a pain.

My clue that it was going off the rails was that it would boot, say GRUB and then ... stop. Bad disk geometry, no positive affirmation.

All that and I had time to sit in a meeting and have a vision of the future.

posted at 21:36 PDT (-0700)     (comments disabled)   permanent link  

Sun, 08 Jul 2007

31 Flavors of Disdain

Tags: baskin-robbins sucks, customer service

So today is Vy's birthday.

We tried to fulfill her childhood fantasy and the owner of our local franchise denied her after she'd already gotten an okay on it.

Baskin-Robbins sucks.

posted at 17:16 PDT (-0700)     (comments disabled)   permanent link  

Sat, 07 Jul 2007

Goodbye / Hello

Tags: people i know, video, aggregation, web, funny

My former co-worker Oliver Marsh has moved on to do his Own Thing at Video Fantastica!. He was already doing his own thing at Dig Your Own Grave.

He's pretty selective in what gets on to DYOG; he declined to post the only link I ever sent him. Do stop in and take a look at his sites.

posted at 09:23 PDT (-0700)     (comments disabled)   permanent link  
Excuuuuuuuuuuse Me!

Tags: chronology, WAP, dd-wrt, dell, laptop

The venerable-in-computer-years Linksys WRT54G we use for home wireless became incapable of sustaining a wireless connection, no matter how I spun it, configured it, or hoisted it. I updated the firmware, no joy.

I bought a Netgear which looked like an upgrade in functionality, but which was even more cumbersome to configure, had similar problems sustaining connections and additionally added a connection timeout to the mix, even across wired circuits.

So I tried what I should have done in the first place.

I turned to one of the open-source firmwares for it, dd-wrt and it's worked like a champ all week. Not only that but the administrative interface is actually informative, the settings seem to actually change and, perhaps most importantly to me, it gives me a login shell.

So I'll be returning the Netgear for some other chump to waste money on. I hope this Linksys can go for a bit longer with the firmware upgrade.

Then we availed ourselves of an opportunity to hear Cecilia Tan speak at Borderlands Books. That was fun and funny. She's a witty speaker with clever anecdotes. The only downside to the trip was that I kept seeing books which I wanted to buy. Which I wouldn't get around to reading for maybe a year or more.

posted at 08:33 PDT (-0700)     (comments disabled)   permanent link  

Tue, 26 Jun 2007

Again With the Fiction

Tags: sf, science fiction, san francisco, bay area

We went to last night's SF in SF event.

It wasn't quite the rollicking good time we had in the past but I'm glad we went. Paul Park read a longish story quickly and Greg Benford read a short story slowly.

The audience A&Q had an amount of pre-question ranting and a sprinkling of disjointed observations.

I don't really want to get myself wound up composing retorts to the bits which struck me as laughable but I will say I find it odd and telling that in this time and country, at least one of the advisers to NASA vocally prefers privatized space efforts over anything pursued by the federal government.

posted at 08:55 PDT (-0700)     (comments disabled)   permanent link  

Sun, 24 Jun 2007

Find the Feed

Tags: systemic, atom, rss

Having gone through the effort to insure my Atom feed was valid, I've added a button down at the bottom linking to it.

Button is from antipixel with the Gimp having done the work of squishing the .psd file into a .png and cropping out just the piece I wanted.

posted at 00:05 PDT (-0700)     (comments disabled)   permanent link  

Sat, 23 Jun 2007

Archeoblogy

Tags: blog, markdown, systemic

So having started using the FatalsToEmail code I was receiving a disturbingly high number of similar seeming emails. They were all coming from the plugin which generates the atom feed for this blog, the aptly named atomfeed.

A little more digging showed it being croaking by the XML::Parser when it tried to parse some of the older posts. Well, more than some. An abundance. Which was a combination of my crappy use of HTML, some redundant markup from markdown processing which happens and the non-XHTML html youtube provides for embedding video.

That last part was solved with the kind assistance of the Flash Satay article which outlines the step by step transformation needed to turn an embed into an XHTML object.

I turned off the print to STDOUT part of FatalsToEmail long enough to validate every section of the blog against the w3c xhtml validator until it all passed and this has brought a lull to my barrage of emails generated from the valiant but quiting easily parsing by atomfeed of the crappy markup I and machines had written through the largely random near-constant visits to my site by indexing bots building every more elaborate query strings by aggregating tags from my tagcloud until their taglace is so tangled they choke on it.

posted at 23:04 PDT (-0700)     (comments disabled)   permanent link  

Thu, 21 Jun 2007

A Found Story of the Lost

Tags: review, book, slavery

I read a list of books which all the cool kids already know about in New York Magazine and I had already read one of them and have another of them kicking around in my queue of books to read. When I showed the list to my co-workers, my boss loaned me a book by an author who was on that list.

It's called Paradise and it's by Abdulrazak Gurnah. It's about a boy who is given into the care of a merchant. He learns that he's now a slave and his entire life is turned upside down. It's a sad book with some moments of hilarity and others of brutality.

What I liked about it

  • good pacing with a distinct narrative voice
  • protagonist who is both sympathetic and invested
  • really different from most of the books I read

What I didn't like about it

  • protagonist isn't very active for most of the story
  • it's a sad book about slavery and deprivation

This is probably a good book for people who like sad stories. Like, say, Beloved or Farewell My Concubine.

posted at 23:39 PDT (-0700)     (comments disabled)   permanent link  
Here's a Quarter

Tags: systemic, perl, blosxom

I got tired of grubbing the apache error logs on this system for chaos so I have rolled out Randal Schwartz's FatalsToEmail module as an accessory to blosxom. You may have seen some server errors if you happened to hit the feed or site while I was fumbling around with that. Maintain low tones. Peace, be still. Shalom. And so on.

posted at 17:21 PDT (-0700)     (comments disabled)   permanent link  

Wed, 20 Jun 2007

Word Pimping

Tags: writing, people i know, clarion west, vy, vylar

Vylar is part of a fund raising effort for Clarion West going on right now and is auctioning off Tuckerizing to raise some money for Clarion West.

Oh, and she's also doing the Write-a-thon at one and the very same time.

In the interest of full frontal disclosure I should mention here that I am the unpaid volunteer webmaster for the Clarion West site and the unpaid volunteer husband for the Vylar Kaftan.

posted at 14:40 PDT (-0700)     (comments disabled)   permanent link  
Listen Up

Tags: games, rpg, podcast

I've been listening to a lot of podcasts lately. Mostly, recordings of other people's RPG sessions published by Yog Sothoth and RPGMP3. It's been edifying. I do rather wish that some edits had been made to these recordings.

  • I don't need to hear the 20-40 minutes of preceding table talk before the gaming actually starts
  • I could do without the 5-10 digressions during the session
  • so long as I'm asking for things, separate mics for the GM and the player pool might help

I greatly appreciate these recordings have been made available but I groan whenever I see how long they are, especially when I have to ignore the lengthy preludes of non-game related pop culture talk.

posted at 14:32 PDT (-0700)     (comments disabled)   permanent link  

Thu, 14 Jun 2007

Two Hoops

Tags: java, ibm-jdk, ubuntu, amd64, patch, memo to future me, dst

So we're trying to use ibm-jdk on Ubuntu Feisty Fawn at work. We've hit two small gotchas which I mention here for my future finding.

First, the JRE wouldn't start, reporting an error about not being able to start the VM. That seems to have been caused by a problem with glibc which went away when I applied the patch from this bug. Then the java binary would work and start up.

Second, one of the two (identical!) machines was improperly reporting the timezone under Java. That was traced down to the logic used by the ibm-jdk to determine what timezone it's running in. It uses the timezone to determine which daylight savings time rules to apply. Resolved that one by removing /etc/localtime and making it a symlink to the /usr/share/zoneinfo file needed.

posted at 13:57 PDT (-0700)     (comments disabled)   permanent link  

Tue, 12 Jun 2007

Selling Out

Tags: system, blog, affiliate, partner

I've signed up to be an affiliate to my favorite Internet bookstore, Powells so I'll be changing some existing links to books I've talked about in the past to include my affiliate code.

If someone buys a book after following one of them, I get a cut of it.

posted at 07:31 PDT (-0700)     (comments disabled)   permanent link  
Asparagus Walnut Pasta Salad

Tags: cooking, recipe, asparagus, cold food

Yesterday there was a potluck lunch at work. Here's what I made for it. It's from 365 Ways to Cook Vegetarian and it's recipe #178 in that book.

Obtain

  • 8 oz of rotelle pasta (the book calls them corkscrew but they look more like wagon wheels to me; it also says I can find them in multi-colored form)
  • 8 oz asparagus
  • 8 oz mozzarella cheese
  • some (ugh) tomatoes (recipe calls for two, seeded and diced; I put in a dozen cherry tomatoes so I could easily avoid them)
  • 8 oz mushrooms
  • 1 C walnut pieces
  • 1/4 C olive oil
  • 1/3 cup balsamic vinegar
  • 1 oz of Italian salad dressing mix powder
  • two saucepans
  • serving bowl
  • small mixing bowl
  • some water
  • pinch of salt

Prep-work

  • cut enough off of the base of the asparagus that you could imagine what you have left being edible
  • chop the asparagus into 2" chunks; be careful if you are sizing it by putting your thumb next to it while cutting
  • cube the mozzarella cheese; the recipe says 1/2 inch sides but you're a free-willed chef monkey so do what feels good
  • slice the mushrooms

Cooking

  • put water in a saucepan, throw in the salt, get it boiling
  • put your pasta in the water and cook until tender, maybe ten minutes or so
  • put water in the other saucepan, get it boiling
  • put the asparagus pieces in the second pan of boiling water
  • cook the asparagus until it's tender but stop if it's starting to disintegrate, about three minutes
  • when the pasta is done cooking, drain it, rinse it, throw it in the serving bowl
  • when the asparagus is done cooking, do likewise
  • add the cheese bits, tomatoes, mushrooms, walnut pieces to the serving bowl
  • whisk the olive oil, vinegar and salad dressing powder in the mixing bowl until it's as grit-less as you can get it
  • dump the wet stuff from the mixing bowl into the serving bowl
  • toss the salad

Notes

  • transports well
  • serves well chilled; still good after sitting out for several hours
  • mozzarella cubes may be misidentified as tofu so if you dig soy and hate dairy you could substitute those on purpose
posted at 06:55 PDT (-0700)     (comments disabled)   permanent link  

Mon, 11 Jun 2007

Dreamcicle

Tags: games, puzzle

My employer has a nifty new game up named Dream Chronicles. I really dig it and even better I can get you a deal on it if you like it, as well. For the next week, if you use the coupon code SPRDREAM (for Windows) or SPRMDREAM (for Mac) you'll get the game for $9.95.

That's incredibly cheap for such an awesome game. But it expires June 18th so jump on it.

posted at 19:18 PDT (-0700)     (comments disabled)   permanent link  

Sun, 10 Jun 2007

Irresolution

Tags: review, novel, wiscon

I'm a bad person. I went to WisCon 31 this year without having ever knowingly read anything by either Guest of Honor. I'd met Kelly Link before and I was vaguely aware of the kinds of writing she does, but it was all second hand. I don't think I'd even heard of Laurie Marks before this WisCon.

I decided to atone for this in the wake of the convention. No, not by actually reading any of their writing; at least, not yet. Instead I'm reading works by the Guests of Honor for next year. Specifically, I read China Mountain Zhang by Maureen McHugh over the last week. (Before that I was reading a collection of Philip K. Dick short work from the 50s.)

I can see why this novel was nominated for awards (the Hugo and Nebula) and nominated for and won awards (Locus Best First Novel, James Tiptree Jr Memorial Award) and I can see why people gush about it. I see all that. What I don't see is why it ends where it does and that is probably because it felt incomplete rather than ambiguous to me in the same way that I find Catcher in the Rye to be an incomplete story.

That's not bad, mind you. Other people will probably feel that enough is resolved for them to have a warm fuzzy feeling about the characters in the story. For me, I want a sequel or an epilogue or something. Because I can't imagine what happens next in their lives. Maybe this represents an insufficient understanding on my part of their nature, their motives, their universe. It felt like too few pages; when I reached the last one, I turned back to make sure I hadn't missed something, that some pages weren't missing from my copy.

It's a fascinating world viewed through genuinely sympathetic and sharply expressed characters. It's a complex interweaving of desires balanced against fears. It's a book which makes me crave a sequel in the same universe.

Aside from the disquieting sense of incompletion, which I admit may be a deliberate part of the presentation of the story, it's a book I'd recommend to just about anyone. It's got socialists and gamblers and prostitutes and Martian colonists and a protagonist who is pushed by his situation into fulfilling a greater portion of his potential than he might otherwise have done so I read it as a maturation story and a stirring from inertia story.

I'll be trying to get my hands on something by the other Guest of Honor, L. Timmel Duchamp, soon, and catching up on the Kelly Link we have in the house (because I keep buying it for Vy) and finding some Laurie Marks but first, first, I need to glut myself on my (not so secret) crush on the worlds Ed Greenwood made, The Forgotten Realms. I have a backlog of current and out of print D&D books about it to read, as well as a slew of downloaded gratis PDFs provided by the otherwise thoroughly detestable Hasbro through their Wizards of the Coast orifice. No link love for them. You know where to find them.

posted at 08:53 PDT (-0700)     (comments disabled)   permanent link  
And Upon This Rock, I Shall Build My House

Tags: travel, wiscon, mustard, house on the rock

My photo-set of our trip through the Midwest via House on the Rock and the Mustard Museum culminating in WisCon 31 is now complete or at least as complete as it's going to get. Again I lament of the lack of flash, the lack of resolution and, even more so, my lack of skill.

I didn't even upload all the ones I took because some of the images were even crappier than the ones there [which is why there are no images of the Mustard Museum, or any number of other notable sights].

posted at 08:10 PDT (-0700)     (comments disabled)   permanent link  
Steal of a Meal

Tags: food, bay area, review, cheese, wine

Vy and I both enjoy food.

Which is a ridiculous thing to say. What healthy animal doesn't like food?

I mean to say: Vy and I seek out good food.

Again, ridiculous, but getting closer. For food to be good in our nomenclature, it must manifest some qualities.

  • deliciousness
  • free of known allergens
  • compatible with our Won't Eat Mammals stance
  • compatible with our low-carbohydrate, high-protein desires
  • compatible with our locally grown, little preservative stance

Which sounds pompous and elaborate and cumbersome in words, but which tends to work pretty smoothly in practice. We can generally glance at a menu and have a pretty good idea if we'll be able to find something we like. Since we have markedly different appetites and flavor requirements, it helps for us to go to a restaurant with a variety of dishes and even styles.

Last night we went to what is probably our favorite restaurant, Nibblers.

Not only is it good food, it's a nice brisk walk away so I can feel virtuous and wholesome as I anticipate gorging myself on cheese. It's an accidental find from when we first moved into the neighborhood and were looking for a video store and decided to treat ourselves to a meal out. It's in a plaza with a barbecue place [great for me, not so much for Vy], an Italian place [not so great for either of us], and a Thai place [usually ideal for us but it was closed at the time]. So we stopped in to what we thought was a cafe, judging by the outside seating area.

We were wrong.

It is a delicious Epicurean indulgence.

Last night, we went back for our third visit and we took with us our friends Annaliese and David because we wanted a chance to share this restaurant with people we really like and who we thought would enjoy it as much as we do.

A thing which Nibblers does which we enjoy is have a theme to the food for any given month. This month was Japanese cuisine, which is one of our favorites and when I say our I think I can safely draw David and Annaliese into my bloc.

David & I started with coffees, the almond mocha kiss. Then we all had wine flights, three different themed wines. Vy had the Aromatics, Annaliese the Elegance, I forget which one David had, and I had the Spanish Sips. Mine was the only flight to include any reds but there about 37 other flight choices and many of them were red-specific or red-heavy.

We had the on-table snack of shrimp chips, or at least Annaliese and I did.

We had a pair of salads which were butter lettuce with balls of cheese rolled in nuts on them and a fruity vinaigrette dressing.

Then we had creamed spinach which was really spinach, in a cream sauce, with caramelized onions, so it was not only attractive and edible, but deliciously so, and stir fried mixed vegetables which had carrots and purple carrots and they reminded us of perfectly grilled veggies.

Then the entrees of the meal:

  • rolled chicken stuffed with garlic and fruit, with a tomato sauce
  • corn and masa pancake with avocado slices
  • squash blossom and fiddlehead quesadilla
  • shaft blue and amaretto fondue with apple, carrots and slices of focaccia

Dessert was a chocolate gelatto [locally made by an Italian who got off the boat 12 yeas ago and is very particular about the Right Way to make it], and a ginger cake, and a plate of four artesian cheeses, chosen by the chef.

He chose:

  • a Cahill porter cheddar, made in Ireland, with a process where after the curds have begun to form, the throw them all in a vat of beer and let them sit for a time and then take them back out and put them in the mold to squish and shape the cheese
  • a cheese from Galicia named San Simon which is crafted with a tear drop shop and is said to be as 'sweet as a kiss' and [according to the chef] is the inspiration for Hershey Kisses being the shape they are and bearing the name they possess
  • the Andante Acapella, a goat cheese produced by a local dairy, ran as a one-woman show by a retired biochemistry professor, which has the name it does as it's 'unaccompanied' by any other flavors, it's simply a delicious goat cheese flavor
  • a bleu cheese of some kind but of which all details have fled my mind.

Paired with each cheese was an appropriate tidbit: pressed walnut paste, oatcake, apple slices, and so on.

Price per person, after tip? $40. That is a steal of a price for a meal this delicious.

Then we walked back home and because our taste in video games is as refined as our taste in food, we played some four player Gauntlet: Dark Legacy to burn off all of those calories with frantic running away from acid barrels and explosive barrels.

posted at 08:01 PDT (-0700)     (comments disabled)   permanent link  

Mon, 04 Jun 2007

What Are You Talking About?

Tags: blog, comments, moderation, markdown

Two things about commenting on this blog.

  • if your comment never appears and it wasn't spam, it's a bug somewhere; I approve all non-spam comments
  • I've toggled the bit to allow the use of markdown syntax in your comments as it's what I write the posts in

So if you've tried to comment before and failed, I suggest trying the Preview button and if it looks kosher, Post and if it doesn't show up in a day or so, fire me off an email or try commenting in some simpler syntax and try to let me know what character the comment handling plugin doesn't seem to like.

posted at 08:03 PDT (-0700)     (comments disabled)   permanent link  

Sat, 02 Jun 2007

Now That We're Back

Tags: travel,wiscon,conventions,mlp

I don't have a lot of observations to make about WisCon 31 since I mostly spent it decompressing in a hotel room or a bar. I've been gradually trickling up the phonecam pictures I took during the trip to my flickr account but those are mostly of House on the Rock, not WisCon.

I did come back with a handful of story and book recommendations (for myself, not for you) and some links to propagate. For example, the [FemSFBookSwap] [fsfbw] which I think stands for Female or Feminist Science Fiction Book Swap. There's also Diet Soap and the August Derleth Society.

We're already registered for next year's WisCon.

posted at 11:26 PDT (-0700)     (comments disabled)   permanent link  

Fri, 25 May 2007

Greetings from WisCon(Sin)

Tags: travel, wiscon, people i know

After nearly a week of travel via car, we've arrived at Madison, WI for WisCon 31. I'm very nearly socially saturated so I'm hiding in the hotel room, laboriously transferring phonecam images to my flickr stream. I did want to take this opportunity to leak a coupon code.

Our friend Deb Taber is Editor and Art Director for Apex Digest and they're running a promotion right now. If you use the code WISCON20 when subscribing online, you get 20% off the price. Which is a pretty good deal for a magazine of spooky stories. This will expire at the end of June and evidently by sharing this with people not here, I can expect to have my head explode.

So, I hope it was worth it to get this valuable information out there.

posted at 10:25 PDT (-0700)     (comments disabled)   permanent link  

Wed, 16 May 2007

Show Us Your Third Leg

Tags: sf, bay area, cory doctorow, rudy rucker

I attended a SF in SF event tonight, a reading / Q&A with Rudy Rucker, Cory Doctorow and Terry Bisson.

Cory read a chapter from a novel which will be out next May called Little Brother and Rudy read a story about Alan Turing called The Imitation Game, then they took some questions from the audience and from Terry.

They covered the future of distribution, the dis-aggregation of the functions of a traditional publisher into the sub-functions of investment, distribution, editing, marketing, public relations, and some of their various hot topics and interests. I had an amazing time, especially for something free, but I didn't have a whole lot to say and I was really trying hard to not spend money and succeeded in not buying any of the books I wanted. It would have been a different story if they'd had Rucker's The Hollow Earth on hand.

The title is a reference to an anecdote which Bisson attributed to another writer (possibly Kim Stanley Robinson), that in order to be a successful sf writer, one needs to have a three-legged stool, with one leg in a field of literature or interest, to attract readers in that space or to solidly craft stories set in that space.

I didn't take notes as I should have because I was so eager to rush home to my brand new laptop. Despite UPS dousing the box in water to the point that the original box was falling apart and needed to be encased in an outer box, it seems to be intact. It's running memtest overnight and then I'll perhaps have more to say about it.

posted at 23:17 PDT (-0700)     (comments disabled)   permanent link  

Tue, 15 May 2007

Interview With the Blogless: Devin

Tags: interview, people i know, kung fu, el cerrito, california, games

I've known Devin literally for years. We probably met in Mt. Vernon, a tiny little town in Iowa. This would have been in the early 1990s. We both moved around over the course of more than a decade until we both ended up in the San Francisco area. He doesn't blog but he's always interesting to talk with so I asked him if he'd let me interview him in the simplest form imaginable. He agreed and here's the result. His responses have only been edited slightly for clarity.

  1. Who's the least influential musician or band which you still enjoy listening to and why?

    Probably The Bloodhound Gang. They're sexist, juvenile, rap-rock, so I really ought to kinda hate them, but they're also a lot of fun and funny as hell, so. yeah. I still listen to them and enjoy it.

    I asked him this because Devin has turned me onto a lot of great music I wouldn't otherwise know about, such as Steel Pole Bath Tub, Replicator and Billy Bragg.

  2. You study a martial art. What is it? Why do you study a martial art and why this one?

    I'm currently studying Shaolin kung fu at the Wen Wu school in El Cerrito. Originally I started going to a kick boxing studio with a co-worker when I decided I needed to do something exercise like to compensate for my sitting in front of a computer all the time lifestyle. I quit that when our schedules didn't match up. In the beginning I really needed a buddy to get me to go regularly. After that I went to the now defunct Kung Fu USA in El Cerrito with R when she was recovered enough from her car crash to return to the quan she'd been studying at before and needed a ride. When the owner closed the quan, some of my fellow students had moved on, ending up at the Wen Wu school after trying a few other places out. I joined them there. I think I chose martial arts over joining a gym because I get bored easily and gyms seem incredibly boring to me. I'd rather be learning how to do strange things with my body while working out.

    And this is why you do not want to mess with him. If you antagonize him, he will do strange things to your and or his body.

  3. What bug or new feature request for an open source software most desperately needs to be dealt with?

    I haven't checked the status of this for a while, but it is the first thing to come to mind: 64-bit Linux support in general, flash specifically. It seems like a little thing, but it's the main thing that drove me back to running i386 based builds on my AMD64 system.

    We spend a lot of time comparing different open source applications, running them, playing with them, breaking them and daydreaming about having the time to develop them. We actually have a dormant project on sourceforge called bbc.

  4. What have you been thinking about lately?

    Finals? I dunno. Nothing particularly interesting. Convergence and divergence of improper integrals, sequences and series. Plotting graphs and charts in perl without using GD, which goes back to the 64bit Linux support again. Can't use GD-based anything on this one server because GD + mod_perl = crashing and we think it's 64bit related.

    The reference to finals and the mathy bits here are from the college class he's enrolled in, in his copious free time. I think he may be understanding the interestingness of the thinking here as that sounds like a thorny set of problems. I stole this question from Aaron Swartz.

  5. What game do you wish you could spend more time playing?

    All of them? I've been cycling through the games I have recently. Aside from WoW and the new LotR MMO, I've been putting some time in Oblivion, NWN2, and Dawn of War on the PC, and GuitarHero2 on the PS2.

    I asked this because Devin's a multiple platform gamer, as you can see from his response.

OK, that's the end of this brief peek into his life. Thanks to Devin for taking the time to respond!

posted at 16:16 PDT (-0700)     (comments disabled)   permanent link  

Sun, 13 May 2007

One Liner for Generating Annual Postfix TLS Cert

Tags: tips, postfix, ssl, tls, memo to future me

Put here because I keep having to search the web for it every time I need to do it:

openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509

Then point postfix at the key and cert file from main.cf. You'll need to connect with the clients once to tell them to accept this new updated certificate. One-liner swiped from urbanpuddle.

The Courier imapd-ssl provides a mkimapdcert script to do the Right Thing for that side of things.

posted at 14:55 PDT (-0700)     (comments disabled)   permanent link  
Oh, You Mean the Milk of Human Kindness is Literal?

Tags: spain, travel, art, museum, art museum, madrid, milk, wtf?

The train back to Madrid took us to the same station we'd departed from days earlier so the strange place was slightly familiar. I managed to get us completely turned around and lost until we went into a hotel lobby and got reoriented and headed for one of the low-budget hotels we were looking to stay in, in the neighborhood with the train station and the museums.

After some confusion with buzzers, door locks and language, we got ourselves a room at the Hostal Cervantes. Where the sink and bath tub had no stopper. On purpose. The shower head was cantankerous, but at least the bed was comfortable. We had a small radiator we could attempt some laundry drying on, so we did a little sink washing and crashed out.

The next day we woke bright and early, left our bags at the hotel, and went museum-delving. We first hit the Prado where we did the clever sneaky thing and went to the unpopular entrance so that we didn't stand in an interminable line and were admitted right quick. Vy gave me a crash course in art history. It's an enormous building with large collections and we spent hours cramming as much of it into our eyes as we could.

A highlight of the museum was the statue of Hermaphrodite. Here's a picture of it from someone else's photo gallery. The thing that really sticks with me, though, is a motif I saw from several artists, in several contexts. That motif is the Virgin Mary lactating. I'm not even kidding a little bit. Several paintings, showing her squeezing her teat to spray milk. She sprays it all over babies in Purgatory, she shoots it right into St. Bernard's mouth, she sprays it out into space and it becomes stars.

Dear Catholic people: WHAT.

Don't believe me? Someone has collected some images of what I saw at thehangedman blog (good blog name, by the way).

We took a sangria break at a pricey little cafe, had some ice cream, and then hit another museum, the Reina Sofia. This place is full of modern art. A lot of the most current stuff seemed either incomprehensible or pointless to me. So opaque as to preclude my understanding the point of it or so simplistic as to not have one. But there was a fun set of video installations where loops of imagery and interactive camera-television pieces gave me something to think about and do. I also saw Guernica in the flesh and some Dali, including some not-very-surreal pieces which I liked for contrast with the portions of his work I am familiar with.

Then we went back to Puerta del Sol, our old stomping grounds from our original pass through Spain, lo those many days before. We did some souvenir shopping, went back to El Corte Ingles and bought some hard candy to take back as co-worker souvenirs. I was looking for something sturdy enough to be squished into a bag, unrestricted enough that there would be no hassle with Customs, and varied enough that most of the people I work with could find something tasty about it. I had given up and we were heading to the checkout line when I spotted the candy aisle.

After our grocery run, we went into the gourmet grocery department and bought cheese and beers. We sat outside on the nearest thing to a bench we could find and enjoyed our repast. Not having an opener, I resorted to the technique of popping the bottle cap on the concrete edge. Worked great for Vy's; mine ended up breaking the neck. I still drank mine, I just did it very carefully. No reason to let possible lacerations stand between me and beer. While we were sitting there snacking, a dishevelled dude with a bigger bottle in a brown paper bag sat down on the other side of me and we all savored the day together.

Then we made a mistake and went to the airport, deciding we'd rather take the 1 Euro Metro than a 40-60 Euro cab at a later hour, and assuming the airport would be functional 24 hours a day. That turned out not to be the case and shortly after we arrived, it started shutting down most things. We found a closed restaurant, a completely vacated restaurant, and a soon to open under construction restaurant. Finally, as we were gnawing our arms off, we found a cafeteria. After 01:00, the place got quiet enough to be peaceful and restful. We grazed on a few snacks from the Cafeteria and waited for it to be late enough in the morning for our airline's counter to be open.

We weren't the only ones in this state, by any means. A line started forming long before the counter opened and we got right into it. We managed to be in the first 20% of the line and enjoyed some schadenfreude as each new person approached, began circling the line to reach the counter which they were sure had nothing to do with this line, stopped, gaped, and slunk back to the end of the line. Our patience was well rewarded as we had a painless check in process, headed to the gate, and found ourselves on the relatively short KLM hop to Amsterdam. The Amsterdam airport was still a dream of clean efficiency, especially appreciated after the lovely but somewhat grime-challenged bathrooms of Spain.

Then we were on a flight home! It exists as a 16 hour smear in my memory but I distinctly remember that the woman to my left was visiting the US for the first time and was adamant that I learn several of her tricks for solving Sudoku. So I did and she was happy and I was pleased and then we were home where we slept for half a day and then spent several more days trying to remember how to do simple things like find food and transport myself to the office.

This concludes my traveblog about Spain. I'm sure I left out many things, important things (like the time I was castigated by a nun). So it goes. I hope you've enjoyed it. We are eager to return to Spain and genuinely appreciate all the hospitality we enjoyed from the people we met and fondly remember the places we went.

posted at 11:31 PDT (-0700)     (comments disabled)   permanent link  
No Spoilers!

Tags: linux, ubuntu

My friend Tim has undertaken a project to get the straight poop about Linux by trying it for himself. That's the kind of pragmatic approach one might expect from a skeptic. Me, I prefer to judge Linux by omens revealed to me on vision quests. Mostly it seems that the spirits associate Linux with hunger and falling down steep slopes intro bracken.

The hardest part for me about reading his posts is that I have to resist the urge to try to solve the problems he's encountering. I did resort to commenting and pointing him at some information he might find helpful. I just can't leave well enough alone.

posted at 09:18 PDT (-0700)     (comments disabled)   permanent link  

Sat, 12 May 2007

Web2Expo Presentations Online

Tags: web2expo

The list of Web 2.0 Expo presentations online include five that I witnessed. If you're not very interested in Web 2.0 crud, you still might want to check out the Architecture for Humanity (link to a PDF) which I found impressive, moving and not hype-saturated.

posted at 11:24 PDT (-0700)     (comments disabled)   permanent link  

Wed, 09 May 2007

Piecing It Together

Tags: vylar, vy, writing

As Vy foretold, her story has appeared in Heliotrope. Hooray!

I think it's quite good in a creepy way but I'm biased.

posted at 16:00 PDT (-0700)     (comments disabled)   permanent link  
Ahead of the Curve

Tags: open source, radio

There was a phenomena back when I was in school, where it seemed like the school district would roll out cool programs and resources in my wake. Things like AP programs, decent computers, advanced math curriculum, expanded libraries. Today thanks to a podcast I caught up on from Cory Doctorow's feed, I found out that my nominal home town has rolled out something else cool long after I left it,

KRUU open source radio.

Somehow I doubt anyone I knew when I was there has anything to do with the station. Not their bag, baby.

posted at 15:14 PDT (-0700)     (comments disabled)   permanent link  

Tue, 08 May 2007

Slightly Less Pixellated

Tags: people i know, dinomush

Pointless ephemeral post week continues with: I had lunch with Fasteddie from DinoMUSH. Also stoat. Who I also know from DinoMUSH.

Here's a stunning example of why people prefer his photography to mine.

fasteddie

On the plus side I showed him a not-yet-released Playfirst Mobile game and he claimed to be hooked.

posted at 14:13 PDT (-0700)     (comments disabled)   permanent link  
People Whose Opinions I'm Respecting

Tags: aaron swartz, creative commons, w3c, google, philosophy, thinking

Here's an interview with Aaron Swartz, who has had some good ideas and done some good work. I'm just pointing at it so that if you have no idea who that is, you can see some of why I'm interested in the things he's working on.

posted at 08:43 PDT (-0700)     (comments disabled)   permanent link  

Sun, 06 May 2007

In the Land of the Dry, the Soggy Man is King

Tags: spain, travel, gardens, palace, ruins

We arrived in Granada, had the blurry experience of dashing out of the bus station which had funky ramp escalators to the nearby median island where we caught a local bus going the right direction.I tried to figure out where to get off but the book was incomplete; luckily there were some English-speakers on the bus who recognized my accent and helpfully told me the stop we wanted, since they wanted it, too.

After our earlier pickpocket experiences we were leery of these helpful new friends and so we sort of skulked along behind them to the Plaza Nueva around which everything tourist orbits in Granada. We found a hotel recommended in the book, and got admitted and were able to secure a room from the amazingly helpful Matilde Ortiz de Landazuri. Sadly, she told us that we had come at a bad time and that she was not well.

The room was big and comfortably sized. The toilet was a complicated technology which looked like it had been created through a series of ad hoc re-factorings. We passed out into sleep and woke the next morning having slept away most of our traveling pains.

To fix this in time, this was March 29th, 2007. I know, because that's when we'd bought Alhambra admission tickets for. When I sat down to schedule them, I thought I was doing it well in advance. In practice, there were two time slots available and neither of them as early as we thought we wanted them. We ended up with a late afternoon slot which wasn't what we thought we wanted.

That was before we actually got to Spain, got ourself on Spanish time, and adapted to the Spanish schedule. So now that time slot was just nearly perfect. It gave us plenty of time to wend our way from the hotel we were staying in (the roomy and charming Hostal Landazuri, which was just as nice as described in the travel guide we were using) down the street to the main plaza around which all of our time was spent.

During this day we ate a really delicious paella. We saw the chapel commissioned and built as the final resting place for Queen Isabella and King Ferdinand, with their elaborate death mask statues and memorial and, underneath, their actual coffins. Including the one for Prince Michael who could have been king of a united Spain and Portugal because his grandparents were in charge of Spain and his father was king of Portugal. He's sometimes called Miguel de Paz and his mother had the same name as his grandmother, more or less.

Then we caught a bus up the hill to the Alhambra. To the top of a tall hill, with a commanding vantage. Exactly the kind of place one might build a fort. Like this one:

Alcazaba Fort

But before we went there, we spent a lot of time in the Generalife Gardens. Which, in a word, are enormous. This image is representative of the experience.

Vy in Generalife Gardens

Everything in the garden has been carefully cultivated, arranged, positioned, patterned, placed. It shows a fastidious attention to detail. It's elaborate, ornate, and expressive. I really am ruining it for you with words; you need to see it in person to appreciate it.

Leaving it, we saw something we had not yet seen in Spain. Cats! As hard as it is to believe, we hadn't seen any domestic cats anywhere in Spain and now we saw several feral ones. They were all over Granada once we knew to look for them but the first ones we saw were skulking about the grounds of the Alhambra. This was a big deal for us, to see cats at last.

Then we walked to the fort you saw earlier and walked around it a bit, getting closer in time and space to the main attraction here, the Palacios Nazaries. We stepped into the boring but big palace of Carlos the Fifth.

Charles V's Palace

There is a modern art museum in that palace and we stepped into it, saw a strange video on a screen, stepped back out again. Modern art has that effect on me.

Then it got to be fifteen minutes before our admittance time to the Palacios Nazaries. We walked to it, stopped in across the street to look at some models of the area in different eras, and then we managed to get admitted early to the big palace.

It's vast and amazing. Here's an interior shot.

Patio de los Arroyanes

Here's a shot of what it looks like to look out of the Palacios Nazaries at the rest of Granada.

Grenada seen from Palacios Nazaries

We spent hours walking and looking and experiencing being inside this ancient enormous archive of history. This was the one fixture we had planned for our visit before coming and it rewarded our attention. So this was great. But eventually our feet hurt and closing time was coming on, so we headed back down to the Plaza Nueva.

The next day we went for a couple walks, one up to the San Nicolas Viewpoint, and back down through the Albayzin neighborhood, another along part of the Paseo de los Tristes, where we saw more cats along a river. We did some souvenir shopping, our first of the trip, as we were starting to anticipate our departure. I spent literally hours looking for a very particular souvenir and here's why.

Once upon a time when Granada was home to Christians, Jews, and Muslims. They all lived there and they, more or less, got along. That's because the Muslims were in charge and they didn't force anyone not a Muslim to convert to their religion. That was novel at the time. They did, however, tax everybody who wasn't a Muslim for being a whatever-else-they-were. That didn't sit too well with the Christians, who are well known for amassing wealth, just like Jesus told them to do.

In any case, during this golden age of relative peace and practical plenty, the leaders of the Jewish community in Granada presented the Muslim king with a gift to put in his palace. It was a fountain with twelve lions facing outward from the basin in the middle. During each hour of the day, a different lion spouted water from its mouth. So it functioned as a show of wealth, because for the Muslim kings, wealth was demonstrated by how much water you could splash around in a dry climate. It functioned as a show of cleverness, because it kept time as a clock. It probably functioned as bragging rights of some sort or another because I doubt just everybody had a piece of interior decoration presented by the leaders of the Jewish community.

So the fountain sat there and ran merrily for some time and then, when the Christian re-conquest of Granada drove the Muslims away, and the fountain was abandoned, the Christian scholars decided they really needed to know how this fountain worked. So they took it apart. They broke it in the process. Not only could they not figure out the functioning, they couldn't even restore it back the way it had been.

So I hunted feverishly for a bottle opener with an image of the Court of Lions fountain on it to give to the person who does QA for the Playfirst website. I thought that story made for a lovely tale of QA and testing. I found tons of other bottle openers and other items with that image on it but I had nearly despaired of ever finding the particular combination when I finally found it.

Then we boarded a slow train to Madrid for our last two nights in Spain.

posted at 23:06 PDT (-0700)     (comments disabled)   permanent link  
Span Before Aliasing?

Tags: twitter, sms, sns

I'm a slow adopter. I spent 12 days thumbing the 40404 sequence into the SMS To: field before I gave it an entry in my contact list and now it's down to four keys to generate a message to Twitter: select, t w ok. I haven't yet given it a unique initial letter but it has the built in uncommon pairing.

So that's my personal time-line between playing with twitter and deciding I'm going to keep using it.

posted at 08:34 PDT (-0700)     (comments disabled)   permanent link  

Tue, 01 May 2007

No Me Molesta Mezquita!

Tags: spain, travel

We got back to Cordoba from the Medinat al-Zahara and since the bus dropped us off in such a convenient location, we decided to check out the Mezquita. Do you know what that is? Neither did I. It's a church. At least, that's what it was before it became a tourist attraction. Before it was a church it was a mosque. Before it was a mosque, it was a church. Before it was a church, it was a temple. Confused? Imagine what it would be like to attend a church with this kind of architecture.

Mezquita

As I understand the story, a long time ago, when the Romans lived where Cordoba is, they had a nice friendly cult of Janus. No, not this friendly cult of Janus, this friendly cult of Janus. Who seems to have been part of a polyamorous relationship involving Jupiter. So, a distinguished fellow and the Romans had a house for him at Cordoba, or so I am told.

But then the Christian tide flooded the area and they built themselves a lovely little Gothic church on top of Janus's temple. Well, lovely in a squat, rude and Gothic sense, one presumes. Then the Christian tide waned, the Islamic tide waxed, and the Gothic church was refurbished and became a mosque. It stayed that way for a while until the tide of Islam waned and the Christian tide re-waxed. They cathedralized the hell out of the mosque but weren't able to excise all of it.

So when you see it today, it's a mix of stark Christian, ebullient Christian, colorful and geometrically entrancing Islamic, and, for some reason, there's a hole in the floor so you can look down at the floor of Janus's old bachelor pad. Overall: fairly fucking awesome.

We walked around and oohed and ahhed for a while. I was particularly struck by the transitional points, where one era of architecture blended into another. Good stuff, and I'm not even an architect.

Then we decided to have a meal and went to a place recommended in, yes, the Rick Steves book on Spain. El Caballaro Rojo, which I think means The Red Dude. It was described as being somewhat pricy but worth it. Oh. My. Yes. It was indescribably delicious. I still had no appetite but I managed to eat a decent amount of the food here, it was so delicious. I also enjoyed the experience of a bathroom stall with a timer controlled light. That's one exciting part about bathrooms in Spain, a lot of them have mechanisms to automatically turn off things which would perhaps simply run here in the US if someone wandered off. The faucet, the lights, the toilet. The other exciting part is the variety of intricate mechanisms to engage flushing. The bathroom back at the Hotel Europe in Madrid had a two part button which you could selectively thumb to select the narrow option or the wide. Several other toilets I met had rods or levers or buttons in unexpected places which were to be manipulated in diverse fashion.

But enough potty humor!

After we let the meal settle, we walked around in Cordoba, past the palaces of the Christian Kings which is a tourist attraction which didn't really attract our tourism. We sauntered back up through the gardens we had rushed through earlier until a combination of hunger and curiosity took Vy into a grocery store. I stayed in the entry area with our bags, since we were forbidden to take them in and we didn't feel like dropping the euros on the pair of coin-operated lockers we'd need to hold our bags.

We weren't allowed to take our bags in, a barrier reserved for tourists, as several locals sauntered past me with enormous open backpacks. I guess only tourists shoplift in Spain. Vy had herself some grocery shopping adventures and then just before she emerged from the checkout line, it started to rain.

We raced across the street and ducked into a cafe, part of the same chain as the cafe where we'd gotten directions for the bus to Medinat alZahra. I had a perfectly pleasant espresso and used the women's bathroom by mistake (SoSuMi, their space age decor completely overshadowed the text which told me who the unisex chamber was meant for) and refilled the plastic water bottles I had carried with me the whole trip to stay hydrated. Spain made me very thirsty, all the time. We got a time estimate from the barrista for the distance, in English, as she was unimpressed with my Spanish. Man, even in Spain, the barristas are over-educated and snide. It's awesome.

When the rain stopped coming down, we ambled back up through the gardens which form a block wide path between the neighborhood where the Mezquita is and where the train station is, a sort of Tourist Boulevard, and got to the bus station with plenty of time to catch our bus. This was a new adventure in Spanish transit and probably the one where the differences and similarities to the American equivalent were most stark for me. I've taken a Greyhound from Iowa City, Iowa to Los Angeles, California, and back again. I did this because I was insane.

I would happily travel the same distance on a Spanish bus. The seating is much more comfortable, the driver is much more insane, the other passengers are much more mellow and much less skeezy, and the Spanish countryside was, for me, a novelty. There was no analogue to, say, Nebraska, on this trip. I did see, as Vy mentions, the extremely startling and creepy sight of two cute little girls skipping around in what I could only interpret as Ku Klux Klan robes but which I now know is just what you wear when you're celebrating Easter in Spain.

Here's a picture of a display of knick-knacks resembling the outfits I saw those girls wearing:

Assembly of the Rainbow Klan

Otherwise it was a pretty relaxing trip, speedy, with no real rest stops. Good thing we were both dehydrated!

Then we got into Granada, the cornerstone of our trip planning. We had succeeded in making a day trip of Cordoba and I had fulfilled a secondary goal of sampling a Spanish long haul bus trip.

posted at 22:16 PDT (-0700)     (comments disabled)   permanent link  
What, They Just Forgot It Was Here?

Tags: spain, travel, ruins, gardens

The train was just as efficient and pleasant as the first AVE we'd taken. We highly recommend and advocate taking the AVE if you are traveling in Spain. We had a funny exchange when we went into the RENFE ticket office at Cordoba and asked for schedule information for our future travels. In my slightly befuddled Spanish, I managed to ask when the AVE went to Granada from Cordoba and the station agent grinned widely and told me "Agosto". That's right, August. We weren't that patient so we decided on a bus instead, eventually.

But first we found the TI office. That's the Tourist Information office and it was the second one in Spain we went into. This one was much smaller, more like a mall boutique sized shop and it was right in the train station. We were so happy to have someone who was patient with my Spanish and understood our English and could answer all of our questions. We got confirmation of the bus station location (right across the street from the train station), directions and reassurance that we still had time to get there for the pick up point for the bus to Medinat al-Zahra, tickets for the bus, and a nice walking map of the touristy parts of the city.

We made our way to the bus station, got a schedule for the bus to Granada, decided that the schedule was something we could live with, bought our tickets, and then doubled back past the train station and through some really charming gardens towards the pick up point for our main reason in being here, getting out to the ruins.

Here's why:

  • I love ruins
  • Vy was curious about the architecture and context of the time it was built and inhabited
  • we are attracted to experiences with narrow time windows of availability; most days, there is one bus which takes you out to the place and after a while comes back

It was a little vexing to find the bus pick up point because there was a sign with an arrow, pointing ... nowhere in particular. The actual pick up point was blocked by a truck from which a guy was unloading a pallet of boxes of brownies and when we loitered near him he became quite suspicious. I'm sure he could see that I was just the sort to steal a pallet of brownies and run away with them. We only found the place to be because we went into a cafe where they had one person who could understand English after I completely failed multiple times to explain what we wanted in Spanish. In retrospect, I think the problem was that the word I learned two decades ago for bus is no longer the word used for that vehicle. Oops.

Just as we were getting antsy that we were in the wrong place, or that the bus had driven past us without noticing us in the shadow of the tower of brownies, the bus pulled up and stopped in the lane beyond the parked truck and we boarded and sat in the empty seats up front. We watched an educational video about where we were going, in Spanish, with English subtitles. I don't retain a lot of what we saw but I do remember that the name of the place was something about Flowers and that it was a fortified city palace for a series of local bigwigs which got its start with some guy who was tagged with the epithet of "the Upstart" because he arrived in the area after fleeing from the murderers who killed his whole family, empty handed, with no favors to call upon, but within a few short years, he became a real power in the area. I guess if he did that today, they'd call him "the Entrepreneur" or maybe "the Disruptive Technologist" or maybe they'd just call him "the Upstart 2.0".

The bus took us out into the country, on progressively more narrow highways until we were down to a single lane which we must share with oncoming traffic by having one party pull off onto the grassy shoulder to allow the other to pass by and then we went up some winding hilly roads and, finally, we are there. Or, rather, here:

Medina Azahara

If you're wondering why I keep spelling it different ways, it's because I kept seeing it spelled different ways. I think it probably came into Spanish phonetically from Arabic at a time before there was much writing down of such things. The picture above is of the twisty set of walls which describe, define, delineate what might have been the interior parts of the city. Even with a lot of it knocked down and missing it feels very civilized. An order imposed upon the space, ground levelled and space shaped.

But there were parts of the palace which were deliberately left open and here's one of those:

Medina Azahara

When people talk about Islamic architecture, I guess there are a couple distinct features they have in mind. Arches like this is one of them:

Medina Azahara

There was a lot more to see here but I didn't trust my camera to capture much of it so I went sparingly on the pictures. I did have an opportunity to take a picture with a fancy camera while we were there. A group of Spanish kids asked us in English if we would take a group picture of them and I managed what I think was a pretty good one. It helps to have the instant feedback of the LCD on the digital cameras.

It was completely worth the trip to Cordoba to see these ruins alone. Luckily, we saw much more!

posted at 20:59 PDT (-0700)     (comments disabled)   permanent link  

Sat, 28 Apr 2007

From Your Mouth to the GM's Ears

Tags: quotes, ars magica, games, rpg

For lack of anywhere better to put these and to continue my streak of non-technical postings (hi, Annaliese!), some quotes from the last Ars Magica session I played.

  • "It's impossible to overdose on butter cookies. Well, not from the magic in them, anyway."

  • "Neither of me are attending this meeting."

posted at 08:10 PDT (-0700)     (comments disabled)   permanent link  

Fri, 27 Apr 2007

Street Names are for Amateurs

Tags: spain, travel, crime, chocolate

So around the construction and down the street we go and it's at this point that I start to realize that not only are Spanish streets not always labeled at intersections, they're sometimes seemingly not labeled at all anywhere and that furthermore, once a street has intersected with another one, it's possible the name has changed entirely because even though it looks like a straight street, it's got a new identity.

Which is fine because this explains some of the oddities on the map we'd been given by the friendly and helpful RENFE information staffer. Such as the gaps where streets are blank, conceivably nameless, and the reason all the names printed on the map cluster around intersections. We find a street which has an actual sign matching something on the map, get ourselves oriented, and make our way down what I would call an alley but what they call, and treat as if it were for driving purposes, a street. It's narrow, it's overhung by buildings, and it's busy with people.

I'm still twitchy from my sighting of the pickpocket back in Madrid so I'm the first to spot the guy following us. Pale skin, light curly hair, utterly nondescript green sweater and khaki pants. I see him when we turn on to the street we hope will lead us to our hotel. We stop to get our bearings and I see him again. Next time we stop, he's right there again. Every time, he's studiously looking at a building or a store or behind him, back the way we came. I tell Vy I want to step up by an ice cream store to get some perspective. This nicely puts our backs to a wall in front of a place filled with people.

I asked, "Do you see that guy in the green sweater? He's following us."

She looks, says, "No, where?"

I say, "He's coming up past us now. I'll bet he gets where he can see us and goes no further."

That's just what he did. He walked up along the street, elaborately emoting I'm-looking-in-front-of-me until we entered his peripheral vision. He saw us looking at him, took a few more steps, then turned and walked back the way he'd come. Vy leaned out to watch him and she told me that he was stopping in front of windows and looking back to see if she was still watching him. So that was another run in with street crime in Spain.

After our tail faded away we got re-oriented, found one of the hotels which got high praise in the Rick Steves book and got lucky on the first try. They had a room, with a big comfy bed, and private bath, for half the price we'd been paying in Madrid. Granted, the Madrid room was swankier, with a tub and all sorts of amenities but we didn't feel deprived at the Hostal Cordoba. We really liked the decor and felt safe and relaxed here.

While we were in Sevilla, we managed to

  • see a Flamenco show, at Los Gallos
  • get lost several times during one of which each of us had a jacket pocket opened by person or persons unknown; pickpockets in Spain are slick
  • have churros and chocolate and then fried fish in leftover chocolate
  • meet some cute little girls, one of whom spoke a word of English and that word was yes
  • see the sights

Here is a picture from Giralda's tower

View from Giralda Bell Tower

Here is a picture from the Alcazar

Garden in the Alcazar

Then after two days and two nights, we took an AVE train back to Cordoba. This was going to be a challenge to our logistics; we hoped to hit Cordoba running, see what we came to see, catch a bus out the same day and be in Granada by nightfall. All so we could make the most of our tickets to the Alhambra.

posted at 09:22 PDT (-0700)     (comments disabled)   permanent link  

Tue, 24 Apr 2007

Not Sure

After having seen the twitter stream at web2expo I'm convinced there's something interesting to twitter so I've joined. I'm still not sure what the most interesting bits are but I'm still looking.

I am, almost of course, binderodaemons.

posted at 22:23 PDT (-0700)     (comments disabled)   permanent link  

Thu, 19 Apr 2007

Everything You Do Gives You Gold

Tags: web2expo, games, mmorpg, transcript

Session: Reality Bites: the Future of Gaming + Virtual Worlds 2.0

Participating:

Ginsu: last night, talked about how we'd do the panel, other people decided he had to go first, because SL is over-hyped, 5 minute limit. Spent 3 years understanding it, can now explain it in 10 minutes.

Ginsu: [puts up picture of Gutenberg press] It all started here, you've heard this before. Before it, media was tightly controlled, creation was sacred act. Had to be literally a monk to write and distribute media. Since that point, continuation of the idea of lowering the bar, making it cheap to produce mass media and market. Gutenberg press had a slow distribution time-line.

Ginsu: same stuff, but now it's faster, using technology, text, images, video, voice. Shared collaborative space. Not different from books, that much. Instead of it taking decades / centuries, it's now nearly real time. What do virtual worlds have to do with web 2.0? It's an extension of the same sharing, creating impulse

Ginsu: New topic, emoticons. Hate them, love books. Good writing is amazing. Write everyday, so do you probably, mostly for work, try to avoid emoticons, when dashing messages off, the emotional bandwidth is thin, constraining. Forced to use emoticons. But with Second Life, you get more emotional context, based on avatar choice, posturing, clothes, hairstyle. Susan says say something poignant, this is it: this cultural and emotional bandwidth that is available in a VR environment, is maybe a little different from the printing press.

Lane: Love to get into how everything was chosen. Reality is that it wasn't complicated. A group of parents who looked at what was available for kids and saw:

  • UN-entertaining, sterile
  • purely built on marketing and merchandising products to kids

Lane: Sat down and asked: can we do this better? For the most part, we think it did. Different paths, but we built this for our kids.

Club Penguin

Susan: Club Penguin is a VR with millions of users.

Lane: Built using Flash 6, so it would work in all the browsers. Looked at barriers to entry and looked at how to burst them. Demographic they looked at is not patient. Would rather have 2D graphics than long download times. Built to be easy interface, load up on "grandma's computer". Built around two things, fun + safety. Express that a lot, because it's still their values. Fun enough to keep kids hanging around, safe for them to be there. Big challenge to make it safer than anything out there.

Lane: asked what I hoped to express, good values, good ethics, good morals does work and you don't have to be controversial to sell. Safety is important, beyond just a marketing tool / pitchline. Has to actually work. Built to take months and months to explore. Lots of features which haven't even been found yet. Built by parents for parents.

Joichi: going to talk fast, assume everyone knows what WoW is. ( He wasn't kidding, I was barely able to keep up with him, typing, so several invisible gaps in the transcript of his words. ) [puts up a slide] Content is on one side, Context on another. Music is stuff you can put on a truck and ship around. When you used to feel lonely, you listened to music, knew others felt that way, too. Then video games, a little more interactive, Karaoke, much more interactive and now with Text Messaging, very much more interactive. Entertainment industry going from Content to Context and this is where it intersects Web 2.0.

Joichi: Similarly, Communication Technologies range from Mass Media, Magazines, Blogs, Social Networks, Email, Instant Messenger, Presence. It's like the US finally discovered SMS. Kids in Japan, SE Asia grew up knowing they had the internet in their pocket. Studies show kids forming intimate presence communities where they know where 5-8 people in their circle are at any given time. Twitter isn't boring, it's not about content anymore, it's context. A lot of people miss context when they think about games because they think it's about content. The whole notion of co-presence is an important part of the game / entertainment thing.

Joichi: A lot of WoW players have WoW full-screen, do everything through it. Blizzard allowed creation of Addons, using lua, brilliant thing. Now you can integrate all the information into one interface. It's all about real-time presence, not static web stuff. Web 2.0 is catching up with WoW.

Joichi: [Richard Bartle slide] "Not Yet, you Fools!" envisions game as immersive fantasy, considers voice immersion-bursting, reality-intrusive, ruins role-play. Reality is that voice is there, Western notion of the internet is logging in to cyberspace [closes laptop] and then you log out. Eastern notion is less binary. [shows South Park clip] A lot of people look at the surface of education. "Simulation" v. "Metaphor" Simulation is close likeness to real world. If you wanted to use a game to teach someone how to be a better manager, using simulation, you'd recreate the conditions of their job, same environment. But metaphor is a different way.
Metaphor is like a raid, where all aspects are different but it has a shared core of the idea. Uses the word "Ensemble". [Shows 40 person ensemble going after dragon] So it has nothing to do with your job, but you have exposure to the same core principles, managing large groups of people toward a goal. There's a zone you get into when everything works and you get a reward, not the same reward as getting a higher score than anyone, it's a reward from collaboration, easy in WoW, hard to get anywhere else.

Joichi: Where you have social software, social forums, you have tools to collaborate, shows Rupture

Susan: you were CEO of myfamily.com or whatever. Why Gaia?

Craig: I went to Benchmark with an EIR with one goal, building it up. Looked at consumer internet, only wanted something with an enormous consumer value, something that would sell without marketing. Looking for a product where founder has enormous grasp of end product. Someone building something for themselves. Looked at 250 startups over 14 months.

Craig: Gaia world's fastest growing hangout for teens. #2 forum, a billion posts, over 1M posts yesterday, 2M monthly unique visitors. Avg simultaneous users 64k. 3x growth since May 2006. Avg minutes per session: 48, beats myspace, facebook, habbo, runescape, puzzle pirates

Craig: why do they love it? basic concept, is building profile, then you build avatar, friendslist but a cute friendslist, can build a blog, they call it a journal, communicate and self express. Build a home, write fiction, poetry, join a club, draw art, submit creations to user-managed newspapers or just have users vote hotornot style on it. Or just play games. Free flash games. Hang out in towns. A little like Club Penguin, but for the older demographic of kids. Gold falls from trees in Gaia. In fact, everything you do there gets you gold, that's the basic metaphor. Use the gold to trick out your avatar, 11 stores, 5k+ items for avatar or house. There's an eBay marketplace, where you can [re]sell creations. 50k+ auctions daily.

Craig: behind it all, rich storyline, they build a lot of the content. Beginning of October, had a Tom Cruise doppelganger, jumping on a couch, yelling about aliens. Movie theater, like mst3k. The combination of content they create, plus user content. 7 banks, including one that is a result of a merger. Weddings online, with a wedding planner. Gaians throw their own parties where they perform plays. [shows screenshot of dress rehearsal] Got into this because it's a great value proposition. In a world where teens are constantly branding and packaging themselves, Gaia is where you go to get away from it all, and just be yourself...or who you want to be.

Susan: I get that game designers know more about UI than web 2.0 designers. Question: if that's true, why are all the successful online game companies, why don't they use game designers for their site design?

Raph: the Game Industry is oblivious. They're all big traditional content owners. The answer is they're completely clueless. They don't realize that's what's happened in virtual worlds is their lunch has already been eaten, by people from the outside. The people on this panel work for companies where games are part of the culture. The virtual world hasn't come completely to grips with the user-generation phenomena. Many game people have fled big media because they don't get it.

Raph: everybody but the game industry is rushing into this space. Everyone references WoW. WoW is a wild outlier. Viacom has published more virtual worlds in the last 6 months than any vw publisher. Game industry is being marginalized from games business as everyone rushes for the game space. Game design is not an arcane science.

Craig: having you in our office was amazing because everyone in our office is a huge fan. Why can't we make games free, why do people have to go buy in stores? People feel it started with Raph, with Ultima Online, etc.

Sue: Craig you showed a visual aesthetic style, which may appeal to teens but maybe not mass market, question in general, perception is that online gaming is very niche, hard-core audience. How respond?

Craig: first, we are mass market. 2M unique visitors last month, no money on marketing, PR. We only have one language. I think games which cost $20 and take four years to make are obsolete. 2-3M WoW players, but it's an enormous amount compared to previous gameplayers. Club Penguin is radically mass market because it's easy to get in and figure out what to do. Most games cost $20 or more, hard to understand; myspace and facebook are free, take seconds to figure out.

Lane: from day out set out to serve parents and kids, shun interviews and events like this. Put aside what we personally wanted to serve community which wanted more features, better features. Growing up in the game industry it was about what do I want, my friends want, no, it's about what kids want?

Ginsu: is this a fad? can't understand how people could ask this. Were you told growing up you would have a persistent online media, 15-20 years ago, that you would find spouse, be able to buy stuff, interact online like we do now.

Raph: manga and anime, if you think that isn't mainstream, you're old and out of touch. It's all over TV. Look at avatar, airbender

Craig: but tv is becoming a little niche... Virtual reality dwellers outnumber population Canada.

Question by Susan: expect future web to be visually rich, given that many virtual worlds require emotional commitment, how can you reconcile what will happen when people have many choices?

Raph: interoperability standards, OpenID

Question by Susan: people are being overwhelmed by choice now, what happens in 5 years? How compete for people's attention?

Raph: don't even understand the question. who watched buffy? emotional investment in buffy similar to WoW. Of course, there will be big sites and small sites. Good shows / worlds will get cancelled, people will gravitate to worlds that interest them.

Craig: if you're in the audience and you're wondering if it's too late, no, it's not. You still have time to build interesting worlds. In that space, there will be many, many, many winners. It's a mistake to look at where you fit in versus somebody now. It's time to put on blinders and build a world which fits your vision. When the question is asked, which world you go to? It's like the time you spent as a kid, going to school OR playing soccer OR hanging out with your friends? No, all of those.

Lane: cable channel analogy. 50 channels? how could they thrive against the big three broadcast networks!

Question by Susan: another way of asking it: look at social networks, thousands, majority of users concentrated on a very few of them. as we move immersive, are we going to see that? club penguin, gaia online, we see deep segmentation. what do you think the distribution of success will look like?

Ginsu: try but it's hard to not sound self-serving or be self-serving. at the point where we are, cost of virtual world creation is expensive. Easy to do a web site, channels are expensive. if you're going to create and experiment in a way that is open and extensible world where you don't have to hire 50 developers, spend millions of dollars. If you had a system like that which was open to everybody...that would be pretty cool. That's what we're chasing at Second Life. Vast majority of users are consumers. Small, powerful, minority are creators. Not just virtual shirts, shoes, things like that. It's about having a large virtual space to yourself, managing community, managing experiences of others.

Question by Susan: what metrics do you use to measure your site's success?

Craig: number of users, time spent, 4-5 secondary metrics: retention rate, revenue, etc. whole site is fundamentally free, revenue generation is not chief goal

Ginsu: several hundred dashboard reports daily, about 20 everyone looks at, other people look at specialized reports.

Lane: quite simple, put a lot of time and effort into listening to the audience. spends time reading blogs, looking at forums. users are very quick to say it's not fun and not safe. easy to quickly see where things are because they're a great vocal demographic. Have people on staff solely to keep an eye on blogs, find out what people like and don't. Working in real time means they don't have to wait for service packs, can roll out changes real time.

Lane: 70% of staff are doing customer service

Raph: conversion is an important metric which didn't get mentioned, uniques v. 30 / 60 day trailing revisits. Linden has now released stats showing users checking in every 3 months, used to be every other day. Need to know how many people are bouncing off their sites, how many sticking and core.

Joichi: drag it back from numbers, look at behavior. It's hard to change behavior. This co-presence thing is a trend but we don't control it. WoW is great because they figured out what was going on and added a little bit of value to it. It's rare to hit upon something new which is going to change everything. Flickr isn't successful because they don't have an e or because it's blue, it's because they spotted what people wanted and feed it. A lot of technical people think it's just feature add, we need to think about it more like sociological anthropology.

posted at 16:33 PDT (-0700)     (comments disabled)   permanent link  
Islands in a Frothy Ocean

Tags: web2expo, copyright, licensing, creative commons

Session: Licensing User-Generated Content With: Fred von Lohmann, EFF

This was a fast-paced high-level look at some of the issues you get into when your company wants to encourage users to make stuff and distribute it through you. This is some of the hoopla around Web 2.0, right here. Crowdsourcing, community building, whatever you want to call it.


  • Licensing inputs
    • on the shoulders of giants
    • up-loaders who don't own content
  • Licensing outputs
    • reuse, recycle, re-mix

About inputs:

Posterchild for angry giant shoulders is Viacom v. Google.

Basic copyright problem, when it comes to copyright, big ocean of uncertainty. Statutory damages and personal liability because there's no shield, which can reach up to the officers, directors and the investors.

Four islands of certainty in the ocean. The tide-line moves, so you're never really sure where you are. These so-called "safe harbors" eliminate monetary damages and limit injunctions.

  1. Conduit Island
    • if you're an ISP
    • solely providing connectivity
    • it's not your fault
  2. Caching Island
    • "nothing grows"
    • designed for AOL's caching circa 1997
    • only works when user requests content
    • no forward caching allowed
    • doesn't help akamai
  3. Search Engine Island
    • indexing
    • searching
    • directories
    • linking
  4. Hosting Island
    • most important in web 2.0 world
    • designed for web-hosting companies
    • couldn't guarantee all pages by all users didn't infringe

You don't have to be an island to build a business, qv Bittorrent.

web hosting + search engine = eBay Now many more companies combine safe islands. MOG is an idea to improve music blogging [?!] and is a new-ish company using several islands.

Myspace and youtube and similar companies are betting that they're above the tide-line.

How to get on an island, the basics:

  • register a copyright agent
    • this costs $40
    • trivial to do
    • SO DO IT
  • notice and takedown
    • copyright owners have to follow some rules
    • if they jump through the hoops, you must comply or be cast off the island
  • infringer termination policy
    • user with lots of complaints (ie, more than 2)
    • you need to close their account

(Not) Staying on the Island:

  • "Red Flag" Knowledge
    • if you know a user is infringing
    • don't do anything about it
    • you get pushed off the island
    • if you had evidence indicating obvious infringement
    • perversely, the more you know about the uploaded content, the bigger your exposure and the more culpable you may be
  • Direct Financial Benefit + Control
    • if the infringing directly benefits you
    • "youtube loses because they have ads"
    • youtube segregates ads from the video pages, themselves
    • control is more than just being able to delete / takedown content

For more information, call your lawyer. Do it now. Don't wait too long because it may change your biz model, software architecture, employee policies.


About outputs:

How do you attract content re-users?

flickr is a use-case for this. Not only allowed upload, allowed users to get pictures. If someone is in the business of selling stock photo, they're already being obsoleted by flickr.

How does flickr make it easy to re-use content from their site? Creative Commons. That's the short answer. CC has a content curators page, making it easy to find content under CC licenses. Also a search facility which lets you search the whole web for CC content.

  • Attracting the re-users
    • Findable
    • Usable
    • Simple
    • flickr interface is pretty great
      • search by content license type
      • including refined CC license subtypes
    • flickr has a page showing CC subtype categories, lets you browse
    • attribution-nocommercial-noderiv most popular
  • Giving creators reasons to use CC licenses
    • vast majority of flickr users do not license using CC
    • explain the licenses
    • default
      • permissions for pictures
      • set in profile
    • batch changes make easy to relicense

Audience QA:

  • good examples of commercial license implementations?
    • CC has standardization
    • CC has internationalization
    • commercial context, much harder to achieve
      • more complicated
      • internationalization problem
      • can probably be done
      • Revver is maybe at the forefront on this
  • what happens if you're operating outside the US?
    • the DMCA harbors are part of the reason many ISPs are here
    • in many other countries, no islands, only the ocean
    • US has most articulate protections, legal principles
    • protected in US doesn't mean you're protected internationally
    • internet is international, copyright law is not
  • "I take a picture of you, upload it to flickr, license it attribution-only, can people do whatever they want without your permission?"
    • complicated question
    • simple answer: no violation of the photographer's copyright
    • complicated addendum: may violate subject's privacy rights
    • subject may have recourse to stop use of image if used commercially
    • depends on what subject and photographer are doing at the time and where they are but it's more likely some other legal problem, not copyright
  • what about a site devoted to video mashups? End-product might be legal but what about the raw material uploads?
    • easy answer: license the raw materials and you're fine
    • safe harbors/islands should shelter you if you obey the takedown stuff
    • but once you're doing the mashups, are you still on an island?
    • even if it's fair use for the end-user, might not be fair-user for the service provider like Kinko's photocopying and selling a textbook
  • what does non-commercial mean?
    • enormous debate in the CC community about this
    • many things we can agree are or aren't and many no agreement on
    • lots of discussion on the CC wiki / site
posted at 15:59 PDT (-0700)     (comments disabled)   permanent link  
Cassandra Media

Tags: web2expo, indymedia, bayarea

Hey, remember Indymedia? I first heard about it and visited it back in November, 1999. It was because of this site that I went to the WTO Protests. I followed the Independent Media Center for years but never felt like I had the time to get involved.

The last time I looked at their site, it had been overran by race-baiting hate-mongers for whom I had no respect and no desire to interact with.

Today I spotted an event on the web2open chalkboard about Indymedia. I went to it. It was fascinating. I had failed to realize just how strongly IMC had foreshadowed the rise of user-created, user-uploaded, user-annotated content. IMC was web 2.0 before there was such a thing.

So what's happened in the years since it started?

Well, companies and organizations and technologies sprang up to do what IMC had been doing but making money at it, because big companies spent big money on pushing this field. So now IMC is lagged, stuck, and hurting. They need volunteers, they need resources, they need content, they need software.

So maybe I'll finally pitch in and lend a hand.

posted at 15:23 PDT (-0700)     (comments disabled)   permanent link  
You Had to Be There

Tags: web2expo

I didn't write anything about the keynote pieces because there were thousands of people watching them, many in person, and I didn't think I could add anything to them. I was most excited by the world-changing bits, like the Architecture for Humanity and the Potenco talks and I wish I could have had more time to ask the representative from Instructables about how the killings at Virginia Tech changed her presentation ... but not enough to have actually asked her when I saw her in the lunch space and again on the escalator.

Or at the Fred von Lohmann presentation. Man, she's everywhere.

OK, I had ten minutes so I went and asked her and she gave me a robot sticker!

robot sticker

Also, she superbly explained the impact and how it changed things. It's this: because the community on Instructables is all about building guns out of K'Nex, the point she wanted to make clear is that the valuable part here is that they're making stuff, that they're developing engineering and social skills. It's not chiefly about the guns. They're engineering guns because that's what teenage boys are in to.

Because they're building a community, each person involved is one less loner. So it can be a great liberator, giving people in isolated areas a sense of connection, of belonging, of making and doing and sharing and learning. When they develop new interests, they'll take those making skills with them. So now I (think I) know what she was saying and so do you.

posted at 07:12 PDT (-0700)     (comments disabled)   permanent link  
Less Disgusting Than Anticipated

Tags: web2expo, marketing, metrics

Session: Top 5 Do's and Don'ts for Measuring Web 2.0 (Yes, that's really how it was punctuated.)

With: Akin Arikan, Unica

I tried to branch out and go see some less technical presentations. This one turned out to be a really fun one and gave me the idea that I understood what was going on in the head of Marketing people. Yeah, that illusion won't last. What follows is an improvisational summary of what was said.


Who here likes to work with salespeople? Nobody? Why is that? Because they're pushy. But they're paying attention to you all the time, even reading your body language. So who should you hate? Right, us. Marketing people. Because who makes spam? We do. Cramming messages down the throat of prospects.

Web 2.0 != Spam 2.0

What is it? Build brand through amplifying customers. Give unique value through social intelligence. Create better user experiences.

DO WEB ANALYTICS. Don't Just Measure to Improve Usability and Conversion Rates -- there's much more you can do with it.

Unica sells software to marketing departments, campaign managing software, web analytics NetInsight.

Levels of metric analysis and use.

  1. Optimize Web 2.0 applications
    • for usability
    • for conversion rates
    • for engagement
  2. Market Insight
    • Capture Social Intelligence
      • watch how people use the tools
      • figure out what they really want
  3. Relationship Marketing
    • Build a Profile
    • Act on it
    • This is Marketing trying to be more like a good salesperson, listening

Case-study: Imagine a product review and participation site, where users can review, on feature level, respond to each other's review, score what matters most to the user. Overlay number collecting interface on the unstructured data.

How to proceed?

  • think of measurement from beginning
  • don't think of page views, it doesn't matter in web 2.0
  • don't use server log files

Business goals of Web 2.0 application

  • drive traffic
    • get more visitors
      • unique visitors
      • engagement metrics
        • session length
        • comments
        • uploads
        • invitations
    • viral buzz
    • repeat visits
  • drive revenue
    • convert visitors to buyers
      • revenue
      • conversions
    • up-sell & cross-sell
  • build brand
    • create customer relationships
    • get direct feedback

When page views won't cut it, use event tagging to record actions. ActionScript, Javascript, Pixel tag. Like page bugs, zero-size images.

Measure the contribution of web 2.0 applications to your revenue, conversion, things you want out of your site. Segmentation of data is your friend.

Click-stream analysis becomes event-stream analysis. What actions did the visitor take, since it's no longer tied to page views.

Use analytics to measure community, commerce and engagement. Segment, segment, segment.

Measure to learn about market & demand. Capture social intelligence.

Measure to serve individual customers. Crown jewel of web analytics. Funnel reports are the most important report in web analytics.

Don't ignore off-line effects of online activity.

Jupiter Research says more people are doing online research and then buying off-line. (The bastards!) Try to measure if the online stuff is influencing their off-line behavior. But how?

  • correlate trends, online + off-line
  • display & retrieve customer codes
  • display unique 800 numbers
  • buy online, pick up in store
  • promotional coupons, encode the source of the visit or a visit handle

How to measure individuals off-line conversions triggered by online marketing?

  • direct response
  • inferred response

    • match up contacts
    • loyalty cards
    • accounts
  • entice online registration

  • feed user activity into CRM or SFA
  • prioritize off-line treatment
  • entice identification in stores off-line

Audience Q&A

  • What about RSS?
    • unique cookies in the feed, that's the only nice thing
    • if you're syndicating through feedburner or something, read without information feedback, but feedburner provides some data back
  • How about widget?
    • dark spot in Akin's knowledge
    • no one stays at the same web site, need to be able to measure widget impact
    • think about tagging the widget
    • run into third-party cookie problem
  • How to make sense of user-generated content
    • don't stick to categories
    • inject ways of making data numeric
    • try to find heuristics to measure unstructured content
  • What to do about flash video
    • uniquely craft content to result in unique action
      • like a special URL
      • tagging
    • many providers for embedding video in many places
    • maybe set a cookie during video viewing
    • common wisdom is that reaction is 2-3 weeks lag
  • If you don't sell anything, and it's not commercial, how can you measure if a change is working? What's key performance indicator?
    • engagement: are people staying longer, reading more, scrolling down?
    • reach: unique visitors
posted at 07:04 PDT (-0700)     (comments disabled)   permanent link  

Tue, 17 Apr 2007

At Last the Circle is Complete

Tags: web2expo, mysql

Some time ago my friend JDD showed me some code he was building and asked me to do some compiling of it to see if it would build on Debian. Eventually it did. Now I guess that code is all grown up.

I passed by the nook where he was giving a demo of it today. It looks like the kind of code which you'll really like if it's the kind of thing you like. It's called mod_ndb and it seems to do something Web 2.0ish. If I were more elite, I think I could understand it.

posted at 18:20 PDT (-0700)     (comments disabled)   permanent link  
This is Comparing, Not Contrasting

Tags: web2expo, django, ruby, rails, seaside, smalltalk, dabbledb

So, low battery and fried brain, but I went to a panel about different frameworks named Comparing Web Application Frameworks. Dustin Whittle couldn't make it so I learned nothing about Symfony. I'm not sure I mind. PHP, fooey.

The panel representatives talked about Django, Seaside, and Rails and they even ran a little over time, they had so much to say.

The description of Django was a recap of an earlier presentation I saw so I won't repeat myself. Nor Adrian. Seaside is in Smalltalk and is positioned deliberately as a heretical web framework. It throws away a lot of the sacred cows of web UI, such as an underlying relational database, such as human readable pretty URLs, such as keeping the user interaction stateless, such as using a templating language. Rails you probably already know about even if you don't know anything about it.

Avi says that Seaside uncouples designer from developer. Developers should create HTML using a framework and the designers should concern themselves solely with CSS. Seaside is better for web applications than it is for web sites, perhaps. What's the distinction? Hard to say, but Adrian takes a stab at defining it in a narrow way. He cites DabbleDB as an excellent web application, in that it logically extends the desktop paradigm onto the web but is not a website, with all which that implies. Primarily, with a website, hypertext is a first class citizen.

Avi talks about Seaside not supporting a default persistence strategy, unlike both Rails and Django which are conceptually coupled to the idea of a relational database of some sort.

Adrian talks about the Washington Post, he works with Django every day there, sees all the places he wants it to be better. A strength of Django is that reads like standard Python. If you can work in Python, you can work with Django. The idioms conform to expectations.

The first version of Seaside was a port from other languages of things Avi wanted, largely inspired by WebObjects and Tapestry and that was a mistake because Smalltalkers hated it. Version two was a rewrite much more in line with Smalltalk ideals.

Several questions were answered with glibness and all of the speakers handled themselves with aplomb. Some questioners in the audience seemed interested in how to force their developers to use one of these frameworks. All the speakers opposed that idea. Let the developers use the framework which excites them.

Lots more talked about but I didn't capture it, for better or worse.

posted at 18:15 PDT (-0700)     (comments disabled)   permanent link  
We're Not Saying No Because We Can't Do It

Tags: web2expo, twitter, flickr, delicious

Session: Building Awesome Web Sites & Services Using the Power of Happy Users

A loose transcript, full of errors in hearing and typing. More like an impressionist version of the actual panel.

Question by Rheingold: How do you know customers want to be involved, how do you let customers know about product? Have product first? Have community first?

Biz Stone: need product first; has phone number on twitter page, probably won't scale, Jack has # there too. Always blogging, reading blogs, emailing. If you have a product you love, your enthusiasm is contagious

Joshua Schachter: expansion of a single-user system to be multi-user so building something intrinsically useful to himself, was first customer, after opening it up, users started showing up. Product was its own marketing, useful to connect product to other things in the ecosystem

Stewart Butterfield: problem with how to keep same inter-activeness while scaling

Biz: but amazon / ebay must have user forums for feedback, places users can react to them

Joshua: yeah, but off-brand, so easier for them to ignore, dismiss. no forums on delicious, but mailing list of 1000s users, blogs


Question by Rheingold: how deeply do you commit to a public api, does it matter? is lots of feedback the key indicator that it will work

Joshua: easy to have a closed feedback loop when he was the first customer and developer, still sees all incoming customer support email but doesn't respond

Biz: it's not completely necessary; if you love it, feedback doesn't matter

Rheingold: users didn't provide code but were happy to beta test, spell-check, give feedback

Joshua: have api so that others can build stuff with it that are interesting, create new features which aren't as interesting to the core creators, turn potential competitors into creators using your apis

====

Question by Rheingold: what drives people to help you, create for you, is it wanting to boost your corporate bottom line?

Stewart: one of the biggest motivators is recognition of accomplishment. Anyone with a blog or who has written to a large group about something you feel strongly about, recognition for that is good. Want to share their cool ideas, and people respond to that. Some flickr api users are doing it for monetary gain, creating applications which make money for them. Others are just helpful and nice and get recognition for doing good deeds

Biz: if they were doing it to increase value of company, they wouldn't care.

Rheingold: dogster, catster contribute because there's nothing else like it.


Question by Rheingold: do you think of users they're contributing members of your team, worry that you're letting down the community / users because of your decisions?

Joshua: you always have to evaluate each decision, is it a positive step? many decisions which seem wrong at first glance are driven by deeper understanding of problem. People have wanted to scrape entire site's data, but when they were a small site, that would take the whole thing down. Newspapers have delicious this! button but want to pre-stock tags, to dictate what tags users put on the link. It's easier for the users to get what they want out of it if you don't force it like that, let them tag it however they want to tag it.
Despite it making extra work for them, it's better in the aggregate

Stewart: speaking only for himself, it's a big obligation. Meet-ups in far off places, flickr became part of their life. He sweeps his streets twice a week, to improve his corner of the world. People have always made contributions, this isn't new with web 2.0


Question by Rheingold: concerns about acquisition affecting user / response

Stewart: there's a part of big companies called corporate development, looks for companies to acquire. flickr appealing to different groups in yahoo, photo group, search group because of meta-data. Lots of headaches but one of them is not company direction, still doing what he wants.

Biz: blogger acquired by google, enabled him to work at google, stepped up interaction with users...

Followup question by Rheingold: was this a concern going in?

Biz: I'm sure there was, wasn't on the team at that time. Even after acquisition, struggle to switch over infrastructure, gave him exposure to users.


Question from audience: flickr forced users to merge with Yahoo account, delicious not forcing that, wtf?!

Stewart: it was a trade-off: 6.5M new users gained, 1500 unhappy emails

Joshua: one thing that acquisition highlighted is how company engineers see identity, very different from how users see it. Delicious uses identity different than flickr, tied closely to login, needs to tease apart before they would merge; they haven't merged because they can't in the short term. They want to and will at some point when their account / identity information are teased apart


Question by Rheingold: do you have soothsayers, special group of users, rely on for feedback, keep you on track?

Joshua: user group on yahoo groups, toss out ideas to them, get different viewpoints It used to be more active when he was doing it alone, because he'd be up all night developing, release, go to bed, leave bad bugs, have lots of feedback from it when he woke up

Stewart: large number of users in different categories who are vocal, provide feedback. (He takes an audience straw-poll which indicates lots of people have flickr account, maybe 25% of them really really like it.) The majority of flickr account creations don't spend a lot of time with their account. There's a big danger in listening to only the people who love it because then you don't know what's wrong, why the uptake isn't higher; freaked out by possibility of public, using shutterfly or something

Biz: do analysis, have a friends of twitter group, friends and family they can release half-baked feature to and get feedback.


Question by Rheingold: early on did you release half-baked features to get direction or was the concern to release bullet proof?

Joshua: always as fast as possible, you have to get quick feedback in order to learn. Do three releases a week, to get quick revs, at this point. Mostly scaling UI recently, pushing an entirely new UI sometime, expected to be very painful. When started, coded on live site, because no stage server, very fast feedback indeed, when he made a bug. Nice to turn stuff around fast, harder on a flickr scale. If a feature can't be made to have very fast use cases, can't be done at all. Several hundred machines, hard to turn them over on short notice. Yahoo has resources for QA, so now do some testing before it goes out the door, difficult to get full coverage, even with.

Biz: release REALLY half-baked features, blogger is labs anecdote

Stewart: half-baked stuff, flickr three years old, completely different service now. only stuff same is the profile page but that's just because they haven't gotten to it yet. hard to do feature progression because priority changes so rapidly. Going down a path where you do feature A so you can build on it next to make feature B so you can make feature C doesn't work because after A, you'll get pulled in another direction and never get to B or C. When they changed the UI early on they got for the first time an email which is now a common response to any change: "I had a screwed up childhood, I don't adapt to change well, you have to change it back."

Biz: early days of blogger, lacked photo feature, button for photo pointed people to flickr, lots of excitement, because they were able to interact with the flickr creators

Stewart: early days, flickr founders spent lots of time / effort giving social love to the new users, build this strong community, large number of the users are still there

Biz: spends time reading twitter feeds, when seeing new users who are unsure, give them attention to help rapport, grow the user community


Question from Audience: how to not get the boilerplate email, get the attention of companies with your great idea for making something new or a killer feature for their site?

Joshua: api are part of the means, for delicious, it's not about the code, it's dealing with the scale. Code is not the constraint, it's get features faster. Delicious works the way it does because of limitations in MySQL. People ask for things which they could do, things in their lexicon, which they expect. Example: want to alphabetize, so they can sort. That's their model for how to organize information. People ask for stars to rate items, they've seen it elsewhere. Why bookmark something which is one star? People ask for features they expect, even if they're not useful. apis can be a weakness. Users have a problem, don't know the solution, so will ask for something 'nearby'. Things succeed by being simpler. On the social side, #1 request is people want to see most book-marked sites. But: 1) it's not surprising/interesting, 2) if they do it, someone will try to game it


Question by Rheingold: What's this twitter wiki thing?

Biz: twitter fan wiki, user created. they struggle within twitter to not build features, to not complicate things. Fans/users have organized all the things using twitter apis. When someone wants to build something, Biz points them to Google twitter group, then points them at twitter fan wiki, things people have already done. Point people away from the twitter company, so they can focus on core goals


Question from Audience: what did you do to spread word early?

Joshua: RSS is hugely useful api/marketing tool so anything they could give an rss feed has one. More than half traffic today is rss requests.

Biz: RSS yeah

Stewart: all the different widgets and upload tools they made to make it painless to put pictures in and drop images into other contexts


Question from Rheingold: have you hired from within the user community, how have you found those users, communicated to them?

Stewart: many people, have a qa guy they found in their forums when they needed to have someone. lead designer for flickr was someone who played the mmorpg flickr company started out making. Cal Henderson gets props, built a bunch of stuff on the mmorpg game's api, hacked into dev mailing list, read it for several months, suggested new features. Always prefer to hire from within the community, now, especially for public facing positions.

Biz: everyone hired has been an end-user. It's not that they saw them as a super user and sought them. It's just that those people get it.
Red flag if someone came in to interview and had never used the service.
Have people do 10-20 hour project first as a trial run

Joshua: consult for a month and then hire. After acquisition, dude wrote a book, so they hired him. His first job was changing the api which invalidate his book. Oops. (Well, I laughed.)

Biz: hired by blogger because he was a user


Question from Audience: (long and inaudible, sorry)

Joshua: don't tend to think that far in advance. a lot is about how I feel about the future of the thing. how does it fit in with future vision, how easy to do. struggling with scale, firefox extension, a million users every second. It's all about what scales, what they can do. A lot of features are easy with underlying technology, a lot of things they will never do. Try to be relatively communicative, when asked for something they won't do, try to explain why they won't. One email a day requesting ability to vote on tags that other people are allowed to use. A lot of features tend to be glosses on things they've already done.

posted at 17:43 PDT (-0700)     (comments disabled)   permanent link  
That's a Nice Site You Got There; It Would Be a Shame if the Digg Army Happened to It

Tags: web2expo, digg

Session: Case Study: Digging into the Technology Behind the Development of Digg

Presenter: Owen Byrne

This is my stream of mistyping impression of the session.

  • Introduction
    • Kevin Rose had the idea in October 2004
    • Inspired by sites Rose liked
      • slashdot, intended as slashdot killer
      • del.icio.us
      • friendster
      • macrumors.com page 2
      • great content that didn't make it to the home page of many news sites
      • built around the core concept of links
    • democratizing media for all
      • passionate community
      • mainstream editors and reporters sit on the Digg homepage, news sites have digg! buttons
      • readily adaptable to other media - kind of a youtube highlighter, among others
    • stats
      • 1M registered users
      • 10M pages / day
      • 15M unique visitors / month
      • 10% monthly growth in users & pageviews
      • 100 Linux boxes
        • web servers
        • memcache servers
        • mysql slaves
        • development
  • Case Study - Interactive / How to

    • Byrne used to teach, had the stick to motivate participation with 25% of their marks
    • launching
      • Kevin spent $2k to launch
      • met on elance doing other work
      • Kevin developed spec
      • Owen did work on there
      • built on LAMP
      • simple utilitarian design because had no full time designer
      • hosted at $99/month with Rackshack
    • feature decisions
      • innovate - take stuff liked from flickr or whatever but not too much like
      • simple and rewarding, give users quick fix of satisfaction
      • use "AJAX" where it made sense, this was before it was called that
      • tools to connect to other sites - blog this, JS widget with digg top headlines
      • experiment with the data visualization - digg spy, cloud view, etc
    • pre-funding
      • no need for monitoring because someone was working on it most of the time
      • standard LAMP, where P is php
      • growth constrained by hardware
        • optimize queries, when they start to slow site
        • denormalization, because database is fastest then
        • Jeremy Zawodny's High Performance MySQL was a big boon to them
    • growth
      • Paris Hilton - doubled traffic when they became 1st & 3rd on yahoo's return for "paris hilton phonebook"
      • Thomas Hawk / Price Rite Photo - digg army crushed it
      • Word of mouth, PR, minimal advertising - 1 ad on boingboing for 1 month, $100
      • new categories added in June 2006
      • steady growth with occasional insanity
    • problems
      • log files
      • myisam bad, innodb good
      • mysql full-text search doesn't scale
      • javascript compression
    • seed funding investment
      • used to buy small number of servers - web server, mysql master, mysql slave, this quadrupled their server stack
      • ad-hoc monitoring
      • hired 1 dedicated operations person
      • silverorange design
      • growth outstrips hardware but more constrained by developer resources
    • July 2005, digg 2.0
    • Series A investment in August 2005
      • spend a bunch on servers
      • everyone in the same location, finally
      • operations department - add dba, ops manager
      • hired senior developers - 2, one of the PHP 5 gurus, tripled number of developers
    • new architecture, digg 3.0
      • released july 2006
      • LAMP + memcached
      • MySQL 5 using innodb
      • Lucene full-text search, search was broken for a long time, fixed a few months ago
    • open source is the win
      • monitoring
        • nagios
        • cacti
      • javascript
        • prototype
        • scriptaculous
    • dev process
      • LAMP stack
      • subversion
      • bugzilla - bad, but nothing better
      • wiki
      • virtual hosts - each dev has 1-3 for testing
  • Conclusion

    • engage with the users
      • energize your efforts, reduce sense of isolation
    • don't forget about the business model
      • interested in getting ads in early and make money right away
    • be frugal
      • maximizes luck by letting you last longer
    • think about scaling early
      • site rewritten from scratch 3 times
      • if he had planned for growth earlier, not so much
      • make it more object oriented for loose coupling
  • Q&A

    • decentralized dev because developers were originally all over
    • code is written to run in any environment with minimal changes
    • listening to users early on shaped it, Kevin's audience that he brought with him from TechTV
    • not using php frameworks, Kevin wanted it all from scratch
    • going from the $99 hosting solution to their own boxes, it was a joy because Owen was a Debian user. :)
    • hardware transitions were much less of a problem than software transitions, like the mysql query engine going myisam to innodb
    • future plans - architecture is scalable now, but to a factor of 10
    • stay tuned for a possible public API to the digg/bury functionality for other sites
    • distinction from competition - they were first, large user community
    • two cycles
      • large cycle feature, full acceptance test, 2-5 days
      • emergency pushes for small tweaks or need now, 30 minutes
    • http://digg.com/jobs
    • Not yet profitable but close to it.
    • Secret of success was the cold winter which kept him in at a computer.
    • Originally doing work at $20/hr, gave Kevin a discount.
    • Digg User Celebration
      • Thursday 7-11 pm
      • mezzanine in SF 444 Jessie @ Mint
      • Details & RSVP link on the Digg Blog
      • Must RSVP to get in
      • Announcements are made by Kevin
  • Goal: provide with insights

    • yeah, I'd say he managed that
posted at 14:38 PDT (-0700)     (comments disabled)   permanent link  
Try to Have Friends Who Aren't Where You Are

Tags: web2expo, multisite, cdn, disaster, dr, tips

Session: Geographic Distribution for Global Web Application Performance With: Jacob Rosenberg, AOL

These are my self-important (in several senses) records of the presentation. YMMV. Refer to the official presentation slides for facts.

Two basic ways to handle geographic distribution.

  • content delivery networks
  • multiple physical sites

It's hard to find a page created of less than forty distinct objects. Craigslist is an outlier with three.

You need something like Keynote to see what response times are like from different parts of the world.

Time to load pages quadruple from west coast to east, double again once you cross an ocean, double again from the opposite site of the globe from where it's located. So that's something like x16 in India under optimal conditions.

Akamai paper and Nielsen's paper have some analysis of user impatience.

How to check it

  • Latency emulator, firefox has some plug-ins
  • Recruit geographically diverse beta community
  • Remember: nobody ever complains that a site runs too quickly

Rough guidelines

  • get site entry point under 2 seconds, because it's first impression
  • AJAX feels sluggish ~100 ms / request
  • big multimedia? 25k loader, to fetch the rest
  • test on low speed links, crowded wifi worse than historical modem speeds

Two paths to resolution.

  • CDN
    • caching system
      • need multiple distribution points in geographically distributed places
      • technology for localizing to point user at nearest point
    • Akamai the 800 pound gorilla, Wikipedia rolled their own using squid
    • not only a performance improvement, but takes load off origin servers, where content originates, reducing hosting costs or capacity use
    • there are the starts of open source DNS localization but it's not great yet
    • how to implement
      • form a relationship with a CDN provider
        • alternate static content name, like cdn.mysite.com
        • maybe use an alternate base domain and keep it cookie free
      • provision the name on the CDN provider
        • origin server name
        • serving server name
        • cache duration
      • make dns changes needed on your site
      • modify src to point at CDN site
      • modify JS & CSS which might have links
        • can put JS & CSS on CDN if they're not dynamically generated
      • version files and set very high expiration so the browser never requests it, this can save you on load times, transfer costs
      • use all possible expiration headers because different proxies respect different ones
        • Cache-Control-Max-Age
        • Expires
      • may want to pre-load cache if you know you'll be pushing a big slice to them
    • Why use CDN?
      • most content is probably static
      • if it's the same for everyone it's static, even if it changes every 5 minutes
      • small objects are more hindered by latency than big objects
      • many early page objects download serially
      • CDN is relatively cheap
      • it's pretty painless to use
    • Why not use CDN?
      • some content doesn't cache well
        • personalized content
        • ad delivery which depends upon cache bursting
      • secure stuff you don't trust others with
        • SSL
        • private information
  • Multi-site

    • serve from more than one site
      • DR
      • performance
    • requires design analysis because applications need to work as expected across multiple distant locations
    • problems
      • session keeping applications, with sticky or cookie based load balancing are difficult to maintain with multiple locations
      • extremely large high-volume content repositories, keeping data consistent is difficult
      • back-end communications for clustering via broadcast or anycast may be difficult
    • how to get there
      • select appropriate site
        • coverage with adequate latency
        • network connectivity can be more important than physical geography
        • use diverse providers and networks to reduce risk
      • deploy application
        • strive to keep congruent, complexity drives cost
        • design to tolerate network interruptions between sites
        • make the web tier as stateless as practical
      • add Global Server Load Balancing to localize users
        • DNS-based with performance localization
        • available in some form on most every switch vendor
        • available as a service, many CDNs, others
        • make GSLB the DNS authority for your sites
        • can route users to address capacity peaks, lulls
        • going multi-site makes DNS application-critical
        • this is the secret sauce of scaling your application to multinational
      • why go multi-site?
        • entire product localized, dynamic and static
        • some regions require a physical presence for legal reasons
          • privacy / data retention laws in the EU
          • network filter requirements in China
        • reduce provider risk
          • multiple unrelated backbones and power grids
          • protect against provider disputes, financial instability, growing pains
          • reduce impact from natural or man-made disaster
      • why not go multi-site?
        • cost
          • more sites = more money
          • need local staff
        • application design
          • some applications just don't work well distributed
          • a few applications don't benefit from lower latency
  • Questions

    • presentations will be up on the site, check page 11 link in a bit
    • Akamai competitors
      • limelight networks
      • level-3 owns sandpiper, used to be owned by savvis, cable & wireless
    • can use both multi-site and CDN in tandem to good effect
    • edge-side include: neat idea, that almost no one uses, push chunks of page assembly to edge caches, page could assemble itself as requested; problems: Akamai only implementor of it of note, not huge performance win, required lots of retool to applications
    • what about multi-site database replication?
      • if db is mostly read, use single master with read-only slaves
      • more complicated if db is read-write
      • teracloud perhaps has something open for db replication
      • no easy way
    • caching and personalization mostly in opposition
      • probably site is partially personalized, edge deliver the rest
posted at 10:29 PDT (-0700)     (comments disabled)   permanent link  
Are You Good Oxygen or Bad Oxygen?

Tags: web2expo, keynotes

The keynotes, the spectacle of the day, did not disappoint me. But my expectations were low bordering on nonexistent. There were some presenters I didn't know of, but who seemed to serve as proxies for Tim O'Reilly and John Battelle. They had some laugh lines about everyone being gathered there to take down the wireless network and then march onward to destroy Twitter.

Then it was on to show time. Tim O'Reilly came out and had some remarks, about how this bubble isn't a bubble this time, we swear. Then Jeff Bezos gave a presentation on why everybody should bend over for Amazon. Then Tim had a conversation while Jeff remained coy and declined to answer the interesting questions.

Then John Battelle came out and spoke with Joe Kraus, Mena Trott, and Jay Adelson about the premise that creating a company to flip requires a different approach than creating a company to keep. Interestingly, none of the three strongly took the obvious counterpoint other than to suggest that there is a window of in-opportunity where a company is too valuable to obtain cheaply but too poor to be worth spending extravagantly on.

Then there were some five minute pitches by some companies. The point of it being that some sort of straw poll popular response would be recorded afterward via sending a text message to MOZES to show something or other. I wasn't clear on the point of that. Was there money or candy involved? Not for me!

  • Spock, a people search engine. Because there aren't enough ways to find "red hair fashion model naked" on the existing search engines.
  • WebEx Business Applications, because if mashing up useful data is fun, mashing up marketing data should be extra fun. With sufficient mojitos, it probably is. Too bad I hate mojitos.
  • inpowr, which is ... something. Possibly a cult. Possibly yet another self-help pseudo-cult. But the presenter had the best patter and the least evident business plan, so I voted for his dog and pony.

It's too bad that the mozes interface ignored all of our voting for the five minutes I sat there and then later sent me a text message to tell me that my choice didn't exist. Thanks, mozes! I feel extra validated, now.

The keynotes were where all the hype went to live and it was probably the thing most likely to disillusion a skeptic about the business plans of companies sponsoring it. I don't think the web is dead. I do agree with Tim O'Reilly that we're in the VisiCalc era. I just associate that with tedium, hype, over-promising, overpricing, scarcity, frustration and interminable wait.

Some irrelevancies

  • the discussion John Battelle had with the three founders was superb
  • the post title is a riff on a line Battelle used there, about Google being the oxygen, now
  • I suspect the real successes to emerge from this time are going to be the people consciously not doing what ``everyone'' is doing / knows you should do / believes is vital
posted at 10:11 PDT (-0700)     (comments disabled)   permanent link  
Things I Wish I'd Known Earlier

Tags: web2expo, tips

... but managed to figure out as I went along.

  • there's a secret room on the second level which simulcasts the keynotes
  • if everyone is on one floor, the facilities on other floors are vacant
    • bathrooms
    • the wifi network
    • the oxygen
  • it's cool to see stuff from other tracks
posted at 09:48 PDT (-0700)     (comments disabled)   permanent link  

Mon, 16 Apr 2007

Stuff It!

Tags: web2expo, storage, scalability

Cal Henderson on Beyond the Filesystem: Designing Large-Scale File Storage and Serving

Needs to be:

  • Scalable
  • Reliable
  • Cheap

Four buckets for this talk:

  • Storage
    • Layers of storage
      • hardware
      • volumes
      • filesystems
      • network access
    • types of devices
      • DAS
      • NAS
      • SAN
    • enormous filesystems
  • Serving
  • BCP(Business Continuity Planning)
  • Cost

Storage tidbits:

Google File System, designed by Google, proprietary. Designed to store huge files and read back fast. Uses chunked filesystem which drops files across nodes in 64 MB sized chunks, has one single master node which knows where everything is. There's a shadow master for fail-over purposes. Duplicate chunks on to a pair of nodes [r more] so can read back from any given server]. Reading is fast but requires a lease.

MogileFS - anagram OMG Files. Developed by Danga / SixApart. Open source. Designed for scalable web app storages. Single metadata store, on top of MySQL, using MySQL cluster to avoid single point of failure. Multiple tracker / storage nodes. Tracker knows where things are, storage nodes store it. Not in a grid like GFS. Uses classes of files so you can establish some types of files are more precious than others. Replication is piecemeal. Read/write managed by trackers but performed directly by storage nodes.

Flickr File System, designed by Flickr, also proprietary. Designed for large web app storage. No metadata store. Multiple storage master nodes, multiple storage nodes. Client talks to SM, SM talks to individual storage nodes or to another SM (like in another data center). Application stores metadata. File writes are done to multiple places, read is done from a known node. Read and write scale separately.

Amazon S3, big disk in the sky. Multiple buckets, user-defined keys. No idea of max bucket size. Individual files can be 5G but can't be between 2-4G (bug). Buckets seem to be limitless in size. Because it's cross http, users can get it directly from Amazon, without putting a burden on your site/servers. Cost to serve data from it is linear, cheaper for earlier traffic than having your own data center.

Serving:

Tends to be data hotspots, a small set of highly demanded data. Caching helps here, by putting the most important pieces in fast/front places, optimize them. Can use slower cheaper stuff for all data behind caches. Layer 4 cache, simple balanced cache, few objects, multiple places. Layer 7 URL balances cache, one cache per object.

Replacement policies. LRU, GDSF, LFUDA, etc. Performance varies a lot depending upon which caching policy you use. Benchmark the replacement policies because it makes a huge difference based on your work load.

Cache churn. The shorter it gets, the worse performance. Want objects to stay in cache longer than the span between requests for it. Invalidation is hard, replacement is dumb.

Two models of CDN:

  • simple, you push, they serve
  • reverse proxy, you publish on an origin, they proxy and cache

Problems with CDN are that you don't control the caches. Once it's cached, it can't be changed. (Guess Cal doesn't know that limelight will let us purge cache.) Solution to this is versioning, so we can expire content by changing name, using headers, whatever. Simple rule of thumb: if an item is modified, change its name (URL) so that caches will update / expire. You can advertise a URL with a version number in it, then strip that version off in rewrite to point at versioned-image.

BCP:

  • replication
  • redundancy

Recovery times: Now long to get everything back if we need to recover from failure? Replication queuing.

Phew! He talks fast and covered a lot so these notes are kind of all over the place, incomplete, as well as redundant with the slide-set he has online. Good talk, though.

posted at 14:20 PDT (-0700)     (comments disabled)   permanent link  
Alternately Bleak and Hilarious

Tags: web2expo, datacenter, predictions

Second block of the day, I went to Building Web 2.0: Next-generation Web Platforms which I thought was going to be about current data centers but was more about data centers of THE FUTURE. So when you hear about the future from Microsoft, Amazon, Crescendo Networks and MySQL AB, well, it's a little like THX 1138; alternately bleak and hilarious.

As near as I can tell, Microsoft's existing best practices of restart, reboot, relicense is adding a fourth step: re-image. Crescendo wants network devices to know more about what the application is doing and vice versa. Amazon is big on virtualization and on-demand virtual server start / stop. And MySQL, well, they love the LAMP stack. Mmm, that's good open source.

Also, Amazon foresees data-center consolidation, Microsoft thinks client side caching will solve everything and network engineers are terrified by COMET because it will be broken by and thus break proxying. Did the MySQL guy mention open source, yet? Because it's good. Especially a LAMP stacked application.

I didn't blog this as it happened because it was a panel discussion and I don't take dictation well.

Now I've got some down time since nothing in this time slot tickled my fancy.

posted at 11:27 PDT (-0700)     (comments disabled)   permanent link  
Lawrence!

Tags: web2expo, python, django

Adrian started creating Django when he worked at a newspaper in Lawrence, Kansas. Because they were under insane deadline pressures, they needed something speedy to publish. At this point the talk rolls back because there were no slides on the screen. Now there are.

So they created lawrence.com under a deadline of a couple weeks. Started out site with PHP, too hairy. Went to Python after reading Dive Into Python and then went through creating a framework by making an app, making second app, abstracting shared code. About two years ago, after two years of working on it, they decided to release it open source. Named for Django Reinhardt, jazz guitarist. Damned hippies.

Django works by mapping regular expressions to methods, parses request url. Single place, URLconf, lets you see all the things to handle and how they're handled. Keeps URLs pretty, decoupled from code, can arbitrarily change them. Calls first match in the regular expression list. Pass arguments to method from the capture parentheses of your regular expression. Standard Python notation for regular expressions.

Models use ORM abstraction so you can develop against SQLite and deploy on postgres without changes, for example. Doesn't do runtime introspection on purpose. Explicit code definitions. Gains performance and keeps it database engine agnostic. No field name assumptions, there's no black magic. Magic is rare in Django, on purpose. If you know Python, you can use Django right away.

Once you write the model, Django will generate CREATE TABLE statements, so introspection but only for set up, not at application runtime.

In order to cooperate with designers, Django has a template language which lets you return your results through a template which is boilerplate HTML with substitutions. Templates are inherited, sort of backward server side includes. Child templates indicate what they append / amend from the parent templates. No depth limit. Template filters act like Unix pipes and modify the output as it hits the template.

Intentionally don't allow python in template to preclude site crashing typos.

There are generic views for common idioms so you don't have to repeat yourself to handle common use cases. Things like iterating to display returns from selects. Uses the same pattern match idea to delegate to provided methods for things Everybody Does. There's also built in automatic administration page generation by hooking a URL pattern to the built in admin package. It has the smarts to know what to prompt for in the data inputs based on the data types you've told it your object model uses. You can use custom filters; if you put them in the model, it happens throughout the application, if you just want it in the admin interface, you can hang it off of that. Admin interface is completely dynamic. Edit the model code and admin interface updates automatically.

Django used to be code generating but that was evil so they did away with that. It's all now entirely dynamic. There is a branch of code under development now to let you give more granular permissions to users, it's table-wide at present.

(Tangentially, Adrian is using KDE on his laptop.)

If you screw up your Python, it gives you very pretty full stack trace informative debug output when you hit the site. If you're running it locally, you can play with all the bits, interactively, akin to the Python runtime interpreter. Running in production, the error will instead generate a pretty developer designated error page.

Then Adrian debuts a brand new Django feature, Databrowse. Abstracts database creation. Adrian is going to commit this code right after this talk. You visit url hooked to the databrowse piece. Visit the URL, lets you view all object models, auto-generates relationships, conveys with links. Lets you navigate the database via web GUI. Creates clever ways to view data, generates calendar, for example, on date fields. Functionally a little like phpmyadmin, lets you browse data, not the public view but can suggest interesting ways to make information available via website.

Databrowse has plugin potential, so while it lacks ranges, aggregation, fuzzy match, graphing, but those are probably coming from other people who want it. Just hang them on the Databrowse.

Django has no support for blobs but does support file upload, stores file on the filesystem, puts path to it in the database.

Free online book coming from Apress.

posted at 09:53 PDT (-0700)     (comments disabled)   permanent link  
Coffee Achieving

Tags: web2expo

I'm at web2expo and so far my impression is that the coffee is good and the pastries okay. That's right. Complementary breakfast if you make it here at an unseemly hour. The expo really started yesterday but I only came by long enough to grab my badge and materials pack.

I charted out what I thought I'd probably be going to and then when I arrived this morning, they'd shoe-horned in a new session with greater interest. In theory I'm about to find out All You Need to Know About Django.

Perhaps more soon.

posted at 09:02 PDT (-0700)     (comments disabled)   permanent link  

Sat, 14 Apr 2007

Look At Me, I'm So Valid

The site and blog are now both xhtml 1.0 strict valid. Try to contain your enthusiasm.

posted at 10:51 PDT (-0700)     (comments disabled)   permanent link  

Fri, 13 Apr 2007

If Food Be the Music of Love

Tags: spain, travel, food, crime

Astonishingly, I had forgotten what we did Sunday night in Spain. Astonishing, that is, because it was so awesome. We ate tapas!

We went on a bar crawl up along Calle Victoria, the recommended route in the tourist book we took with us. That meant visiting Museo del Jamon (The Museum of, yes, HAM) and La Casa del Abuelo and Oreja de Oro and Casa Toni and even a return to La Taurina Cerveceria, where we ate the night before. At every place we went, we had a drink and Vy had a little plate of something and I had a bite of something from it. Throngs of people everywhere and we even stopped off for some ice cream. The Spanish are very serious about their ice cream. Every couple blocks, a place offers it in ever more delicious flavors.

Then wandering back around through the streets, I saw what I now know was my first Spanish pickpocket sighting.

So the scenario is this. Lots of winding streets, dark places, some lit plazas, some people out wandering around but not a lot because it's relatively early on a Sunday night. We come around a corner from a street into a small plaza where several streets intersect. I look across the plaza, and see a group of six people walking together. I notice that a couple of them are wearing backpacks and one of them is zipping up the backpack of the person in front of him. My first thought is that they're walking together and so they're friends and he's putting something back in her bag for her. Then I see him see me and his eyes widen and he and two of the other people in the group start angling toward Vy and I. The other three people, I now see, look completely touristy and all of them have backpacks and it dawns on me, hey, that guy was ransacking her bag and she didn't even notice.

So I pause and tell Vy that I think this guy and his two friends are pickpockets and I just saw them in someone's bag and ask her what we should do. We decide to try to tell the woman in question and so we pick up the pace and veer around the pickpocket and his friends, who are watching us closely. Then the trio of tourists start booking, as if they suddenly feel threatened and I don't want to be in the position of running after them but we're still trailing them, and the pickpocket and associates cut off in another direction down some dark street.

Completely frustrating and in retrospect, I wish I hadn't been so slow on the uptake because I could have maybe made some noise at the very start which would have gotten the attention of the tourists or helped them get back anything which might have been lifted. I don't know whether to be amazed that he was so skillful as to open a backpack on the back of a moving person traveling with company without her noticing or dumbfounded that he was so inept as to do it where I could see him. So that's our first pickpocket story.

Vy didn't see anything of this until I pointed out the two trios involved so it's all my word but I'm sure of what I saw him doing. After that we stuck to brightly lit streets with lots of people and I still felt nervous all the time. So we went back to the hotel, packed up and set an alarm for the next morning, as we had a big day planned. Having decided that we had enough days on this trip to do either Madrid and Barcelona or Madrid and anything else, we opted for the latter. We decided that we wanted to take a train to Sevilla and then sort of meander our way back to Madrid in time for our flight home so that's just what we did.

The next morning we rolled out of bed, checked out, and went in search of El Corte Ingles. They've got a travel agency department and they hire multilingual staff and I was worried about our ability to navigate the Spanish train system without assistance. I bought us two tickets on the AVE train for that afternoon, which is a fast train. A very fast train, as it turns out. We did some more wandering to pass the time, and took the Metro down to the neighborhood of the train station and had a nice lunch at La Mazorca. Everything Vy ordered was very tasty and I enjoyed the bites I was able to eat.

We had gotten to the neighborhood very early so we took the opportunity to wander around and found a public park, the Parque del Retiro. I took a couple pictures of trees because I knew my mom would ask me about them. Then I took this picture for myself:

Parque del Retiro

Then we went to the train station which was enormous and efficient. We had a mild comedy of errors as Vy put her bag on the security scanner but couldn't follow after it because I had the train tickets in my money belt. We managed to get them out and examined and ourselves let in before anyone absconded with her bag because no one really wanted to steal a bag inside a train station with armed guards. I mean, armed with guns. In the airports, the guards had machine guns. Here, they just had emphatic guns.

The train took less than three hours to whisk us across the country. We got an excellent map from the information desk at the train station and attempted to find the hotels we wanted to try to get a room at. That turned out to be another adventure.

posted at 14:30 PDT (-0700)     (comments disabled)   permanent link  

Sat, 07 Apr 2007

They Look Like Rocky Mountain Oysters to Me

My co-worker went to Japan and took some pictures. This one's probably my favorite:

octopus balls

posted at 15:23 PDT (-0700)     (comments disabled)   permanent link  

Fri, 06 Apr 2007

The Ham is Compulsory

Tags: food, travel, spain

Before we'd set out for Spain, Vy had made a dinner date for us with a woman she was acquainted with through an online writing community. So after dumping out our bags in the hotel room and sprawling on a double bed (of such magnificent firmness I would miss it forever after) created by shoving two individual beds together which had the side effect of keeping motion on one side of the bed isolated from the other (a perquisite Vy would later lament), we went to dinner with Sue and her husband, Jerry.

We'd asked them to pick someplace close to where we were staying, not too pricey, but with some local flavor. By great good fortune, they chose a place I'd actually read about in the Rick Steves' book, La Taurina where it received justified praise. It's a tourist trap, sure, but a tourist trap with some local patrons. I even saw the pictures of Che and Orson enjoying bullfights. When we asked Sue & Jerry to recommend a local specialty, can you guess what we had? You can if you've ever been to Spain. That's right. We had HAM.

This may come as something of a surprise if you're aware of our usual dietary habits. Namely, we don't eat mammal meat.

The research we had done indicated that we'd have trouble staying away from it in Spain. That vegetables were rarities at meals, and pork a staple. In order to maximize our immersion in the local culture, we broke with our habits of home and went with the local preferences.

As it turns out, baby pigs which have been fed acorns are damned tasty.

Not so much that I'm planning to go back to eating ham on a regular basis, but I wasn't at all sorry to eat some while in Madrid. There was also some wine and some delicious cheese. Sue & Jerry picked up the check which was very sweet of them. Then we went for a walk around the local neighborhoods with Sue providing commentary and pointing out notable sites.

Here's one I took pictures of:

Royal Economic Society of Matritense

Real Sociedad building

I had a hunch that the night time shots wouldn't turn out well and these pictures bear that out, so I only took one other one that night. It's of Vy standing in the geometrical center of Spain:

Kilo Cero

When I'd told my co-workers I was going to Spain, one who had spent months living there told me excitedly about this marker and so I had been keeping my eyes open for it. I completely failed to see it. Once Sue pointed it out to me I could see why I'd missed it. It was covered by teenage kids who were just standing around on it. I guess that's what you do when you want to be the center of attention as a Spanish teenager. But they were nice and moved off to let me take the picture once Sue explained to them that, hey, we were tourists.

We also got to see Plaza Mayor, which we were told is a major place to get ones pocket picked. At this point, we were still thinking all the references to pickpockets in Rick Steves' Spain were hyperbole. We were so very wrong. But don't worry, this story has a happy ending. We stopped in the Tourist Information office off of Plaza Mayor and Sue made sure we had a brochure for SATE which, thankfully, we never had cause to use. We also picked up some useful maps of the area and some booklets about cool things to do in Madrid, which we regrettably didn't have time to follow up on. Next time!

Then we went back to our hotel and collapsed into a pair of heaps and slept and slept. When we woke, we got up and went on the self-guided walk for Madrid from Rick Steves' Spain and managed to get lost only a couple times. This was the beginning of a long streak of getting lost on even the shortest of strolls. It's a good thing Vy has a sense of humor! We saw some statues and some stores starting with this one:

Carlos III

That's the king who did a lot to make Madrid the place to be, with lots of construction projects. So he's got a big statue right in Puerta del Sol, which is one of the big hubs for people doing stuff, especially tourist people doing the money spending stuff.

Further along Calle Mayor we saw this statue:

Don Alvaro de Bazan, Admiral

This is the guy who is responsible for the Spanish Armada having been such a power of the seas for such a relatively long time. I like that he's got a flower bed around him. I'm sure it's a meaningful arrangement of colors but I'm too disconnected to understand it. Then we got to the end of Calle Mayor, where the Royal Palace stands. Or, rather, sprawls. It's big. This picture is just the narrow front:

Royal Palace exterior

It's enormous. Over 2000 rooms. We went in and took the unguided tour of the public accessible rooms. We saw 1% of the rooms it contains and those were almost overwhelmingly large, diverse, breath-takingly ornate. It made me want to blow the whole place up in an orgy of anarchistic destruction but that's just how I roll. After we finished seeing what we could see [including a statue of a lion with an enormous phallus which caps a stair railing on the grand stairway] we walked out and decided to look for a pharmacy because we hadn't taken any Aleve with us and Vy was feeling the rigors of travel. I spotted a sign for the royal pharmacy and we headed through the door.

We got quite a surprise. It wasn't a modern pharmacy. It was a collection of the medicaments and unguents typical of earlier eras. Times when the pharmaceutical arts were practiced by alchemists. It was mind blowing and I even got a picture of it:

Royal Pharmacy

What you can't see clearly in this under-lit photo are the careful labels for what we would call reagents and elixirs but which represented the most sophisticated medical knowledge by the most highly regarded professionals of their time, the ones who served the royal family. What a long strange trip it's been since then. This would be nominee for the highlight of this day, seeing row upon row of accumulated wisdom which we would now be justifiably amused by. Enoch Root, eat your heart out.

Then we hiked back up Calle Aranal, seeing different shops and sights, arriving back at our hotel and eating at the attached cafe, the Cafe Europe. For a place which must make most of its money off of tourists, its food was delicious. Or so I'm told. I had a couple bites but still didn't have a lot of appetite. Or, really, any. But I had fun trying to use my rusty Spanish on the wait staff and watching Vy savor the food. We had the menu of the day, which was a paella and a fish with stuff on it, and then some flan for dessert.

More coming up when I remember what the heck we did with the rest of our day.

posted at 18:23 PDT (-0700)     (comments disabled)   permanent link  

Tue, 03 Apr 2007

Getting There is Half the Fun

Tags: spain, travel

Herein I attempt to talk a little bit about our preparations for our Spain trip.

If you haven't seen our packing list you may want to take a gander at it.

Having trial hiked our packs, and adjusted our sleep cycles, and packed our bags, all by Thursday the 22nd of March, we cruised to a relaxing departure. Well. That was the plan. What really happened is that I had a number of small but vital work brouhahas to deal with which made for early mornings, full days and late nights working. So while Vy had her sleep cycle adjusted, mine was off the tracks.

On the 23rd we did have a nice leisurely brunch at Sweet Tomacco and then took BART to SFO. We stretched and read and then we boarded a KLM flight with a subjective duration of forever. Maybe you've flown to Europe before. I hadn't. It's a very long way away. It's long enough to sleep, twice, if I were capable of sleeping on moving vehicles. It's long enough to almost finish a novel if you read as fast as Vy does. It's long enough to have two meals and a multitude of delicious snacks. This is a really big point in favor of flying KLM: they want you to be placid and by that I mean stuffed full of food. It's almost enough for me to forgive them their choice of partners. Northwest Airlines, I'm looking at you.

Vy had the window seat, where she determined that a sleep mask is wasted on her, that earplugs only irritate her, but that if she has been awake for 24 hours or so, she will sleep. I determined that my neighbor with the aisle seat was composed principally of elbows and nervous spasms in his sleep.

Then we landed. Specifically, we landed here:

Schiphol Airport

I was too tired to really understand the geography of this airport so mostly I just staggered around trying to find symbols matching the ones which I believed corresponded to the plane from there to Madrid. We had two hours to find the right gate and we very nearly had a mix up at the end. When we'd done our check-in online, we had been granted boarding passes only to the first flight. So then we had to get the gate people to generate boarding passes for us for the flight to Madrid. Which they did by taking boarding pass blanks, hand writing our names on them, copied off of our passports, along with a seat assignment, handing those to us, and then when we queued up to board, taking them back from us.

It was like an elaborate pantomime demonstrating the verbs 'to give' and 'to take'.

The flight to Madrid was so short by comparison with the trans-Atlantic flight that it seemed to take no time at all. Then we were in the Madrid Barajas International Airport and following the excellent directions in Rick Steves' Spain for taking the Metro from the airport to our hotel. We had the great good fortune that as we stood at the Metro ticket machine attempting to decipher its functioning in our exhausted state, we were approached by a pair of English speaking travelers who were on their way out of Madrid and so gave us their ten-ride ticket which still had eight charges left.

Then we were here:

Hotel Europe courtyard

and failed to collapse into sleep only because we had dinner plans. More on that next time.

Some comments on our packing list.

  • we ate almost none of the food en route because KLM fed us so aggressively
  • by the time we got to the hotel, Vy had almost finished reading the novel she had packed, I just barely finished the prelude of mine
  • we determined that one of the pencils packed had a nonfunctional eraser
  • we should have included more medicines, for pain and digestive distress
  • we really were the only people in Europe without cell phones, having deliberately left ours at home
  • at the last minute, I added a pair of bottom feeder single use cameras in my bag; that was smart
  • we hadn't tried the hand wash / dry of our travel clothes before leaving and that was probably a mistake because if we had tried it first we would have noticed that it was a much longer process than ten minutes to wash and that some things needed more than overnight to drip dry
posted at 21:31 PDT (-0700)     (comments disabled)   permanent link  

Mon, 02 Apr 2007

The Spain Game

Vy and I got back earlier today from our trip to Spain. After a couple hours of nap we're reasonably close to being rested. I'll hopefully have some pictures and some words about the trip a bit later so stay tuned for that. I do want to mention that it was an amazing adventure, a beautiful country full of dizzying experiences we couldn't have had anywhere else.

I'm so very glad we went.

posted at 02:44 PDT (-0700)     (comments disabled)   permanent link  

Sat, 10 Mar 2007

Escaping Matters

Just for future reference, if you've already done this

tar xjf linux-source-2.6.15.tar.bz2 linux-source-2.6.15/Documentation/HOWTO

then this

tar xjf linux-source-2.6.15.tar.bz2 linux-source-2.6.15/Documentation/*

probably won't do what you expect.

This, however

tar xjf linux-source-2.6.15.tar.bz2 linux-source-2.6.15/Documentation/\*

will. Silly shell, that wild-card isn't for you!

Unrelated, I finished playing the brilliant video game, Psychonauts, tonight. Very rewarding of the time and effort put into seeing it through to the closing cinematic.

posted at 22:19 PST (-0800)     (comments disabled)   permanent link  

Fri, 09 Mar 2007

I Can See My Origin From Here!

I kludged the blosxom.cgi script because it was capping the blog at $num_entries on every 'page' including the category and date subdirectory pages, not just the 'home' 'page'. I did horrible things including using a magic number but I'm pressed for time.

Enjoy the horrible antiquated past of this blog, before I learned it's better to post more less often than less more often. Or, [did I|is it]?

posted at 11:41 PST (-0800)     (comments disabled)   permanent link  
This is Not the Demographic You Are Looking For

I don't often get pitches from the company from which I lease mobile phone network coverage. Which description, now that I've articulated it, seems kind of odd. I gave them money originally, over the course of a one year contract, to amortize the cost of the phone I use. So that was an actual purchase of an actual good. But then the contract expired and now I'm month to month sending them a payment for services received.

Notably:

  • routing data to my phone
  • accepting data from my phone to their network and routing it to a next hop

It's a simple relationship.

Occasionally they suggest that they really don't know me. Like today.

Example A:

T-Mobile respects your privacy. To review our Privacy Policy, click below. http://tmobile.r.delivery.net/r/r?2.1.HA.HY.1hYVz8.BwV%2ay2..N.CiSA.2ovW.DVWEWZY0

See that? Because they respect my privacy, I'm encouraged to click on a URL constructed to encode my identity and the message which provoked me. That sounds like a good idea! Good thing I use NoScript, Privoxy, and tor to get genuine respect for my privacy. Too bad for me if I waive all that to click on your tricksy link!

What makes me think that URL encodes my identity rather than simply pointing at a generic privacy document with a goofy URL scheme?

Example B:

If you've received this message in error, or if you prefer not to receive future e-mail messages from T-Mobile, click below. http://tmobile.r.delivery.net/r/r?2.1.HA.HY.1hYVz8.BwV%2ay2..N.CiSC.2ovW.DVEKKZa0

Hey, that looks familiar! [Note that I've given these URLs a very mild shuffle to momentarily protect privacy while still showing the suspicious form for people who weren't lucky enough to get this message.]

But those are both footnotes to the missive which caught my eye because suffix boilerplate often contains the majority of the humor in email sent to sell me something. This message fortuitously had humor sprinkled throughout. Humor of the "I assure you, there is no Thelma here" variety.

Example C:

INTRODUCING THE NEW NOKIA 5300 XPRESSMUSIC -- 240 TUNES(1) IN YOUR POCKET, 24/7.

That's the opening pitch. There are a few things I'd like to mention. The first is: do dedicated music players only function on banker's hours? So now you've got a phone which also has music playing functionality and I'm expected to be ALL! UPPER! CASE! excited because it works any hour of the day and any day of the week? Or is the claim here that the player can run continuously for a week? I suppose 240 tunes playing over and over could be repetitive after a week so let's see what that footnote says.

Example D:

(1) When using the features of this device, obey all laws and respect the privacy and legitimate rights of others. Capacity is based on 3:45 minutes per song, 128 kbps WMA encoding, and 192 kbps MP3 encoding.

Nothing there about battery life, but what's this? Respect the privacy and legitimate rights of others? My choice of broken by design music encoding schemes? I'm glad this device could provide me with opportunities to break laws, disrespect privacy and the rights of others and is the first positive thing I've seen about this phone. It's a little sad that they couldn't even get off the starting block with this pitch without having to qualify their claims with footnoting. If I understand marketing, they probably structured this to open with the strongest features of the device and ... then had to buttress them because they couldn't stick to facts and make it sound sexy.

Maybe it gets more solid in the next paragraph.

Example E:

Get the new Nokia 5300 XpressMusic, exclusively from T-Mobile(R), and listen to your best playlists any time, anywhere - just download them from your computer to your phone. With music keys on the outside it's easy to play, and you can load tons of tunes in a flash, even free ones:(2)

Oookay. Only my best playlists. I guess that's what I'd want to put into the almost certainly less than 240 slots available to me because I won't have capacity to waste on rubbish playlists I won't want to hear. Any time, anywhere ... so long as I have the foresight to anticipate what I'll want to listen to and download from my computer to my phone. I'm guessing with a full flush and fill of songs, that's going to require a cable and a potentially long span with the phone tethered down and unusable for anything else. That sounds like an exclusive offer I can do without.

Also: music keys on the outside is good. I hate when I have to unscrew a plate and disassemble my phone to skip the current song. They maybe mean that I could control the music player without flipping open a flip phone. Which is a great idea. Nothing I like more than being hip-checked into premature deafness.

Also also: WOW, I can even listen to FREE MUSIC?!?!?! What a deal! I had very nearly reconciled myself to only listening to pay per listen music but now it turns that I have options. But wait. A footnote? Oh dear. Worse: it's a long one. I'll chunk it up to accommodate my short attention span.

Example F:

(2) Limited time offers; all products, promotional items, services, features, and pricing are subject to change without notice.

Translation: like everything we say, it's a lie meant to induce you to give us money. We make no guarantees. We don't even tell you when we stop lying.

3 free song downloads available solely in conjunction with purchase of the first 350,000 units of the above-depicted, music-enabled handset device model, which is available solely at participating T-Mobile locations while supplies last.

Translation: we know that you're a whore for 'free' stuff so we've set a cap of how many phones you can buy to get your 'free' music and hey, maybe it'll turn out the place you buy your phone[s] will be arbitrarily removed from our participation location list. HA-HA, joke's on you, for skipping the footnote and waltzing into any old store and thinking that you could have something for free!

It does seem to me that 350k units is probably about right considering the only real market here is existing T-Mobile customers [recipients of this email] who hate Apple, touchscreens, Apple's carrier partners or waiting. It may even be too many. Perhaps they can bundle them with PS3s to really move that inventory.

Handset purchase requires new activation and enrollment in a qualifying T-Mobile voice/data rate plan under a minimum one-year service agreement.

Translation: GOTCHA!

3 free song downloads limited to then-available songs in the Yahoo! Music Unlimited catalogue and subject to redemption rules and other terms and conditions (including U.S. residency requirement) set forth at music.yahoo.com/certificateredemption. You must redeem your code for your 3 free downloads by 02/26/08.

Translation: in order to get your three songs you'll be signing up for Yahoo's music service, installing their music player and since the phone isn't listed as a Yahoo! Music Unlimited 2 Go device, congratulations, you just got three songs you can't listen to with this phone without violating the terms of your usage of Yahoo's music service. Please don't read this small print, we need the money Yahoo! is giving us for this partnership.

And if it's T-Mobile who's paying Yahoo! on this one, well, congratulations, T-Mobile. You got 0wned. Also, those songs are in WMA format and may well have time bomb DRM in them tied to the user being a subscriber to the Yahoo! Music Unlimited service. I didn't feel like falling far enough down that rabbit hole to verify.

See T-Mobile's Devices, Pricing, and Services brochures, and see T-Mobile's Terms and Conditions (including mandatory arbitration) and other relevant pages at t-mobile.com, for T-Mobile rate plan information, charges for various T-Mobile features/services/products, and other details.

Translation: because we obfuscate our costs, it's too complicated to explain here. Visit our site where our dazzlingly presented pile of clunky icons and unresponsive interface will alternately baffle and frustrate you. Then you will know our rate plan, not in the details, but in the intent.

Yahoo! and the Yahoo! Music logo are trademarks of Yahoo! Inc. music.yahoo.com/certificateredemption: http://tmobile.r.delivery.net/r/r?2.1.HA.HY.1hYVz8.BwV%2ay2..N.CiS6.2ovW.DUFEYZN0 t-mobile.com: http://tmobile.r.delivery.net/r/r?2.1.HA.HY.1hYVz8.BwV%2ay2..N.CiS8.2ovW.DUMELZP0

Check it out, more identity and mailing bound redirecting URLs so they can footprint you going from this message to Yahoo!'s site or theirs. In case you were wondering, the delivery.net domain appears to be associated with Digital Impact, whose site [no link love for you] pitches PHP errors at me when I visit it. Haw-de-haw-haw. And that was all of footnote 2. What else?

Example G:

  • 1 GB memory card included - good for about 240 songs
  • Preloaded music - 2 hits each by Paolo Nutini and Teddybears

I would hope that if changing out the memory card were an option they would mention it so I suspect this is meant to be a no-user-modifiable-parts situation. Good thing nobody in the world owns a screwdriver or soldering iron. Also: 2 hits each by WHO?

Example H:

And with a myFaves(SM) Plan, you can get unlimited nationwide calling to 5 people, too.(3) Eligible T-Mobile customers can get a special price for upgrading to a phone that plays music, too. Sounds good, huh?

If that price is not free, it's not very special. As for that 'Sounds good' pun, who do you people think you are, me? Cut it out. The footnote referenced there is boring so I'm not going to drag it out into the light. But then we get to the climax of the piece.

Example I:

What's cooler than listening to music from your phone? Doing it wirelessly with a Bluetooth(R) stereo headset, easy to slip on and off for sharing. And with Bluetooth wireless stereo speakers, you can listen with a bunch of friends, whenever you want.

OHO! Look at them, inducing you to break the law by illegally sharing your music in a public performance! You know what else is easy to slip on and off for sharing? YRMOM! For the three people out there who think that listening to music from your phone is cool: sorry, no, it's not. It sounds awful, it means overloading the user interface of the device, and adds unrelated fragility to a device which may serve a vital function in emergency. There are probably other ways in which I'm not the demographic for a phone what can play the wicked tunes, but the underlying problem is that that is a function I have never ever wanted in a phone. I'd rather play music on my PDA than my phone. I'd rather bonk my skull with my phone and oif the chorus than have the phone produce music.

The banal communication then goes on to exhort me to get a different text message package but screw that. If I can't get streaming real time teledildonics pr0n from my text messaging package, forget about it. Hey, if it could do that, I'd even spring for a headset which was, er, hands-free.

posted at 08:41 PST (-0800)     (comments disabled)   permanent link  

Fri, 02 Mar 2007


posted at 19:42 PST (-0800)     (comments disabled)   permanent link  

Sat, 24 Feb 2007

Maintain Low Tones -- Across Multiple Systems

Some combination of motherboards and CPUs on three separate systems at work went belly up this past week. One of them was mine. In an attempt to expedite getting back up and running, systems slated for some users got shifted to be available for the down users.

So the plus is that I have a faster CPU, more RAM and more disk, as I was able to migrate my disks into the new case and with some fiddling recover the data. The only complicated aspect of the operation was that I used the alternate CD ISO of Feisty Fawn and had some device-mapper issues trying to recognize the LVM partition I had been using. Overnight, without changing or updating anything, that issue went away. While that kind of spontaneous self-repair makes me nervous, I was just happy to recover my data.

But it wasn't that big of a deal because I use source control.

In fact, I use two systems.

For work output, the stuff I get paid for, I use the Perforce client since it's a free download for Linux and the choice of source control depot was made before I got there.

But I also use monotone for my personal configurations, ie, my home directory. I've got a script to deploy the pieces into place:

#!/bin/bash -x

cd ~/sharedhome

# deploy .files
for newfile in dot*; do
        oldfile=.${newfile:3}
        if [ ! -L ~/${oldfile} -o -d ~/${oldfile} ]; then
                mv ~/$oldfile ~/${oldfile}.bak
        fi
        ln -sf ~/sharedhome/$newfile ~/$oldfile
done

# system executables
SYSPATH=/usr/local/bin
CRONPATH=/etc/cron.daily
for cronfile in cron*; do
        oldfile=${cronfile:4}
        if [ -f ${SYSPATH}/${oldfile} ]; then
                sudo mv ${SYSPATH}/${oldfile} ${SYSPATH}/${oldfile}.bak
        fi
        sudo ln -sf ~/sharedhome/${cronfile} ${SYSPATH}/${oldfile}
        if [ -f ${CRONPATH}/${oldfile} ]; then
                sudo rm ${CRONPATH}/${oldfile}
        fi
        sudo ln -sf ${SYSPATH}/${oldfile} ${CRONPATH}/${oldfile}
done

# personal executables
HOMEBINPATH=~/bin
cd ~/sharedhome/scripts
for binfile in *; do
        if [ ! -L ${HOMEBINPATH}/${binfile} ]; then
                mv ${HOMEBINPATH}/${binfile} ${HOMEBINPATH}/${binfile}.bak
        fi
    ln -sf ~/sharedhome/scripts/${binfile} ${HOMEBINPATH}/${binfile}
done

# ssh pieces
HOSTNAME=`hostname`
cd ~/.ssh/
for localpiece in *.${HOSTNAME}; do
    LOCALIZED=`basename $localpiece .${HOSTNAME}`
    ln -sf ~/.ssh/${localpiece} ~/.ssh/${LOCALIZED}
done

It takes some pains to make sure it won't trample over something I want to keep while still putting the things I expect to find in the appropriate places. It could probably be smarter but it's sufficient to my needs.

The monotone database is easily replicated. I use the sync over ssh mechanism to do so as you can see here in my collection of aliases. I got this concept from the O'Reilly Hacks books.

# dotbash_aliases

alias realias="${EDITOR} ~/.bash_aliases &&  source ~/.bash_aliases"

alias reperl='perl -de0'

alias gor='mount /mnt/thumb && ~/bin/tclkit ~/bin/gorilla && umount /mnt/thumb'

alias malias='sudo vi /etc/aliases && sudo newaliases'

alias p4i='p4 integrate -b $0 $1'

alias cshare='cd ~/sharedhome && mtn commit .' 

alias sshare='cd ~/sharedhome && mtn sync ssh://fool.manjusri.org/home/binder/monotone/manjusri-configs.mtn "*"'

alias ushare='cd ~/sharedhome && mtn update'

alias ducks='du -cks * |sort -rn |head -11'

alias scan='sudo iwlist eth1 scan'

alias wmii2='export DISPLAY=:0.1 && wmii'

alias cdburn='sudo cdrecord dev=ATAPI:0,1,0 -v '

alias devmono='cd ~/src/monotone && mtn pull && mtn update'

So that just leaves the stuff which is neither in perforce nor in monotone and that data isn't really interesting or vital. But as with any data threat, it's a cue to back up all of my existing data everywhere.

posted at 08:35 PST (-0800)     (comments disabled)   permanent link  

Thu, 22 Feb 2007

Everything is Downhill From Here

The group I run D&D for has entered the World's Largest Dungeon and I've finally succumbed to the itch to buy a book for 3.5 Edition after years of fierce resistance.

Also a series of small spending sprees to obtain Forgotten Realms books. I have a fascination with the world Greenwood made which I either can't or won't justify. Especially to you!

Speaking of spending money, my copy of War on Terror arrived this week. Guess I'll be taking it to the next board game playing opportunity I have.

posted at 22:51 PST (-0800)     (comments disabled)   permanent link  

Tue, 06 Feb 2007

Or is the World ... Rising?

Once upon a time I had a machine with a hard drive in it. It ran for a couple years, running Debian stable. I added a second and then a third [smaller] hard drive to it. At some point I decided I wanted to be more clever about these devices and so I converted the non-swap partitions to LVM physical volumes. That was pretty cool because now I could dynamically resize partitions as I had different file system usage patterns.

But something weird started happening. I went through a couple physical moves, a couple releases of Debian stable, and I couldn't seem to get any newer kernels to be visible to grub.

At one point, I moved to a new place, changed the network configuration, rebooted to re-cable things and when it came up, the network configuration had reverted. In sorting that out, I discovered that I had a file-system which was serving as both my root file-system AND as a physical volume under LVM. OOPS. But I got that sorted out and things went along more or less normally, other than the no new kernel thing, until yesterday.

When I upgraded my monotone client instance on the work laptop [you see, I store my home directory in revision control and deploy it on systems I work frequently with] and monotone being the dynamic and giddy project it is, this upgrade made for a protocol incompatibility with the 'repository' [pronounced: synchronized database] I keep on the quirky system. So in trying to update that instance of monotone to the same version, I faced a choice of: upgrading to Debian testing, upgrading to Debian unstable, building monotone from source, side-grading to Ubuntu 6.06 LTS.

The right answer was building from source.

What I did was the side-grade. Or at least I started it. Somewhere along the way, the lvm2 package upgrade preinst script failed. I re-fired the dist-upgrade a couple times, made some progress, "decided" [here, the word represents sort of a random coin flip of synapses which is similar to the way other people decide things but lacking the illusion they try to dress it up in of it being a rational process] to reboot the system to get the newer installed kernel in play to see if that unstuck the lvm2 upgrade.

Nope. In fact, it very rapidly became worse. Much worse. Booting still only showed the original kernel I've been running on for years. Booting it forced me into maintenance mode. Sometimes it resulted in a runaway init being killed. Oh, bad times.

Luckily I keep a copy of the sysrescuecd in the home. I booted up with it, took a look at what was going on and kept "looking" [here, this word means jotting things down on paper and doodling and staring off into space because while I'm not a visual person I do seem to observe better with paper at hand] until I finally got it. By which I mean, I found a command which I wouldn't have expected to need, which I had never used before, but which made clear the lvm2 problem I'd been having.

vgreduce.

vgreduce? Yes. Because I got to wondering if I was using all of the physical volumes, I remembered how one of my disk partitions had been doing double duty before, and I was thinking along the lines of maybe carving out a partition to be a proper non-LVM /boot and put my kernel stuff in there so I could keep an eye on it, since booting to an LVM /boot seemed to be a sort of sometimes hit but mostly miss proposition for me. So I ran vgreduce with the -t switch and, wouldn't you know it, there were three partitions not being used and, uh, there was one which was being used twice. OOPS. How'd that happen?

So I got that sorted out, rebooted and ... kernel panic. So back to the System Rescue CD boot, scope it out again, do some various tomfoolery with grub and then I realized I had committed the Classic Grub Blunder.

The first partition on the second hard drive seen by BIOS, as seen by grub? That's hd(1,0). Everyone knows that one. The first partition on the first drive? hd(0,0). Third partition, first drive? hd(0,3). BZZZZZT No. No, it's not. hd(0,3) points at the fourth partition. Which, in my instance, was a swap partition and had been since system creation. For years, the only reason it was booting at all was that I page out so rarely that enough of a kernel image was still written there by grub to bootstrap me up to the running kernel. So once I got that sorted out, reboot, see many exciting kernel choices, boot without error AND with network again AND the dist-upgrade completed. PHEW.

That's why vgreduce is my hero of the day. Because until I used that to untangle my very first attempt at an LVM configuration, I couldn't even see the deeper underlying grub issue.

posted at 21:19 PST (-0800)     (comments disabled)   permanent link  

Mon, 22 Jan 2007

Eat It

Tomorrow is National Pie Day so I baked a schadenfreude pie which varies only slightly from Scalzi's recipe. Cut the molasses and used unsweetened chocolate because I wanted it to be a touch more bitter.

Maybe I'll go to Kearny Street Pies for a savory pie lunch. Or possibly Pikea.

posted at 22:56 PST (-0800)     (comments disabled)   permanent link  

Fri, 19 Jan 2007

STURM AND ... oh.

It's been quite a week, with my boss out of the country. But at the end of it, it's important to focus on the things which really matter. Like my lovely wife. And the board game she bought for me today.

It's called Thurn and Taxis and it looks like a lovely little German board game. It's about strategically delivering the mail. No, I don't know what that means, either. But I'm looking forward to playing it sometime when I've got a couple people with an hour to spend on it.

posted at 22:39 PST (-0800)     (comments disabled)   permanent link  
AUTOFOIL

It's possible I just accidentally gave myself a reason to do something I have put off for a decade.

That is, start using Python.

I know, I know. Python is the first choice of many people. It's great for rapid development; just like Perl. It's good with objects; just like Perl. It's got stellar extensibility; just like Perl. It's ubiquitous on the platforms I work with; just like Perl. That's the problem. In the space where I might hang Python off of my tool-belt, Perl has already got a lock. I've been waiting for someone to show me something I can only do in Python to give me a reason to add it to my repertoire.

That hasn't quite happened, yet. But I did run across this startling state of affairs recently.

binder@fortune:/tmp$ valgrind --leak-check=full perl -e '1'
==13518== Memcheck, a memory error detector.
==13518== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
==13518== Using LibVEX rev 1471, a library for dynamic binary translation.
==13518== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP.
==13518== Using valgrind-3.1.0-Debian, a dynamic binary instrumentation framework.
==13518== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
==13518== For more details, rerun with: -v
==13518== 
==13518== 
==13518== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 19 from 1)
==13518== malloc/free: in use at exit: 242,924 bytes in 617 blocks.
==13518== malloc/free: 4,030 allocs, 3,413 frees, 385,702 bytes allocated.
==13518== For counts of detected errors, rerun with: -v
==13518== searching for pointers to 617 not-freed blocks.
==13518== checked 567,912 bytes.
==13518== 
==13518== 5 bytes in 1 blocks are definitely lost in loss record 2 of 10
==13518==    at 0x401C422: malloc (vg_replace_malloc.c:149)
==13518==    by 0x80AC4AD: Perl_savesharedpv (in /usr/bin/perl)
==13518==    by 0x8066831: (within /usr/bin/perl)
==13518==    by 0x8068BB7: perl_parse (in /usr/bin/perl)
==13518==    by 0x805FCB0: main (in /usr/bin/perl)
==13518== 
==13518== 
==13518== 72,329 (1,557 direct, 70,772 indirect) bytes in 11 blocks are definitely lost in loss record 8 of 10
==13518==    at 0x401C422: malloc (vg_replace_malloc.c:149)
==13518==    by 0x80AB5B8: Perl_safesysmalloc (in /usr/bin/perl)
==13518==    by 0x80E7E86: Perl_new_stackinfo (in /usr/bin/perl)
==13518==    by 0x806182F: Perl_init_stacks (in /usr/bin/perl)
==13518==    by 0x8061C28: perl_construct (in /usr/bin/perl)
==13518==    by 0x805FC6E: main (in /usr/bin/perl)
==13518== 
==13518== 
==13518== 131,716 bytes in 1 blocks are possibly lost in loss record 10 of 10
==13518==    at 0x401C422: malloc (vg_replace_malloc.c:149)
==13518==    by 0x80AB5B8: Perl_safesysmalloc (in /usr/bin/perl)
==13518==    by 0x80B5A4B: Perl_reentrant_init (in /usr/bin/perl)
==13518==    by 0x8061E46: perl_construct (in /usr/bin/perl)
==13518==    by 0x805FC6E: main (in /usr/bin/perl)
==13518== 
==13518== LEAK SUMMARY:
==13518==    definitely lost: 1,562 bytes in 12 blocks.
==13518==    indirectly lost: 70,772 bytes in 586 blocks.
==13518==      possibly lost: 131,716 bytes in 1 blocks.
==13518==    still reachable: 38,874 bytes in 18 blocks.
==13518==         suppressed: 0 bytes in 0 blocks.
==13518== Reachable blocks (those to which a pointer was found) are not shown.
==13518== To see them, rerun with: --show-reachable=yes

Well. That's not great. Not terrible but not great. Then compare.

binder@fortune:/tmp$ valgrind --leak-check=full python -c '1'
==31768== Memcheck, a memory error detector.
==31768== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.  
==31768== Using LibVEX rev 1471, a library for dynamic binary translation.
==31768== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP.
==31768== Using valgrind-3.1.0-Debian, a dynamic binary instrumentation framework.
==31768== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
==31768== For more details, rerun with: -v
==31768== 
==31768== Conditional jump or move depends on uninitialised value(s)
==31768==    at 0x807F4EE: PyObject_Free (in /usr/bin/python2.4)
==31768==    by 0x8079DD5: (within /usr/bin/python2.4)
==31768==    by 0x8081146: PyString_InternInPlace (in /usr/bin/python2.4)
==31768==    by 0x8082C35: PyString_InternFromString (in /usr/bin/python2.4)
==31768==    by 0x808E8A9: PyType_Ready (in /usr/bin/python2.4)
==31768==    by 0x808F8BA: PyType_Ready (in /usr/bin/python2.4)
==31768==    by 0x807D930: _Py_ReadyTypes (in /usr/bin/python2.4)
==31768==    by 0x80DA1F5: Py_InitializeEx (in /usr/bin/python2.4)
==31768==    by 0x80DA788: Py_Initialize (in /usr/bin/python2.4)
==31768==    by 0x80553CE: Py_Main (in /usr/bin/python2.4)
==31768==    by 0x40AD31E: __libc_start_main (libc-start.c:237)
==31768== 
==31768== Use of uninitialised value of size 4
==31768==    at 0x807F4F7: PyObject_Free (in /usr/bin/python2.4)
==31768==    by 0x8079DD5: (within /usr/bin/python2.4)
==31768==    by 0x8081146: PyString_InternInPlace (in /usr/bin/python2.4)
==31768==    by 0x8082C35: PyString_InternFromString (in /usr/bin/python2.4)
==31768==    by 0x808E8A9: PyType_Ready (in /usr/bin/python2.4)
==31768==    by 0x808F8BA: PyType_Ready (in /usr/bin/python2.4)
==31768==    by 0x807D930: _Py_ReadyTypes (in /usr/bin/python2.4)
==31768==    by 0x80DA1F5: Py_InitializeEx (in /usr/bin/python2.4)
==31768==    by 0x80DA788: Py_Initialize (in /usr/bin/python2.4)
==31768==    by 0x80553CE: Py_Main (in /usr/bin/python2.4)
==31768==    by 0x40AD31E: __libc_start_main (libc-start.c:237)
==31768== 
==31768== Invalid read of size 4
==31768==    at 0x807F4E4: PyObject_Free (in /usr/bin/python2.4)
==31768==    by 0x8090265: (within /usr/bin/python2.4)
==31768==    by 0x80903A4: (within /usr/bin/python2.4)
==31768==    by 0x808E01D: PyType_Ready (in /usr/bin/python2.4)
==31768==    by 0x808F8BA: PyType_Ready (in /usr/bin/python2.4)
==31768==    by 0x807D958: _Py_ReadyTypes (in /usr/bin/python2.4)
==31768==    by 0x80DA1F5: Py_InitializeEx (in /usr/bin/python2.4)
==31768==    by 0x80DA788: Py_Initialize (in /usr/bin/python2.4)
==31768==    by 0x80553CE: Py_Main (in /usr/bin/python2.4)
==31768==    by 0x40AD31E: __libc_start_main (libc-start.c:237)
==31768==  Address 0x41F5010 is 120 bytes inside a block of size 384 free'd
==31768==    at 0x401CFCF: free (vg_replace_malloc.c:235)
==31768==    by 0x8079DD5: (within /usr/bin/python2.4)
==31768==    by 0x808EBA1: PyType_Ready (in /usr/bin/python2.4)
==31768==    by 0x808F8BA: PyType_Ready (in /usr/bin/python2.4)

[and so on until]

==31768== Invalid read of size 4
==31768==    at 0x807F4E4: PyObject_Free (in /usr/bin/python2.4)
==31768==    by 0x80F2CD7: PyGrammar_RemoveAccelerators (in /usr/bin/python2.4)
==31768==    by 0x80D8F35: Py_Finalize (in /usr/bin/python2.4)
==31768==    by 0x805579F: Py_Main (in /usr/bin/python2.4)
==31768==    by 0x40AD31E: __libc_start_main (libc-start.c:237)
==31768==  Address 0x422B010 is 56 bytes inside a block of size 916 free'd
==31768==    at 0x401CFCF: free (vg_replace_malloc.c:235)
==31768==    by 0x8055D94: (within /usr/bin/python2.4)
==31768==    by 0x80D9D1D: PyRun_StringFlags (in /usr/bin/python2.4)
==31768==    by 0x80A966D: (within /usr/bin/python2.4)
==31768==    by 0x80B63C6: PyEval_EvalFrame (in /usr/bin/python2.4)
==31768==    by 0x80B713A: PyEval_EvalFrame (in /usr/bin/python2.4)
==31768==    by 0x80B781E: PyEval_EvalCodeEx (in /usr/bin/python2.4)
==31768==    by 0x80B7A64: PyEval_EvalCode (in /usr/bin/python2.4)
==31768==    by 0x80D027E: PyImport_ExecCodeModuleEx (in /usr/bin/python2.4)
==31768==    by 0x80D0605: (within /usr/bin/python2.4)
==31768==    by 0x80D1420: (within /usr/bin/python2.4)
==31768==    by 0x80D1648: (within /usr/bin/python2.4)
==31768== 
==31768== ERROR SUMMARY: 811 errors from 103 contexts (suppressed: 19 from 1)
==31768== malloc/free: in use at exit: 654,054 bytes in 46 blocks.
==31768== malloc/free: 3,504 allocs, 3,458 frees, 1,560,141 bytes allocated.
==31768== For counts of detected errors, rerun with: -v
==31768== searching for pointers to 46 not-freed blocks.
==31768== checked 874,748 bytes.
==31768== 
==31768== LEAK SUMMARY:
==31768==    definitely lost: 0 bytes in 0 blocks.
==31768==      possibly lost: 0 bytes in 0 blocks.
==31768==    still reachable: 654,054 bytes in 46 blocks.
==31768==         suppressed: 0 bytes in 0 blocks.
==31768== Reachable blocks (those to which a pointer was found) are not shown.
==31768== To see them, rerun with: --show-reachable=yes

Seriously? Leak-less? OK, sign me up for your crazy British sketch comedy worshiping code-monkey cult.

posted at 08:48 PST (-0800)     (comments disabled)   permanent link  

Wed, 17 Jan 2007

Turn Up and Rock

My friend Nate's in a band.

Quick, guess which member of the band he must be.

posted at 23:05 PST (-0800)     (comments disabled)   permanent link  

Mon, 01 Jan 2007

Getting There is Half the Fun

A new year. 2007. How glorious and gleaming it looks from behind my dark lenses of hangover evasion.

My goal for this year is to try to make a tiny portion of my world a little bit better. In specific, I'm aiming to provide patches for fifty bugs in open source software. It's still a selfish goal, like my reading of fifty novels in 2006, since I'm almost certainly going to be noticing bugs in the things I tend to use most often and fixing the ones I think I understand. But maybe these fixes will be useful to someone else beside me.

Here's the first one to start the year off and it's one I wasn't sure I should count, as it's a trivial patch and evidently no one else has needed it but me. But this has to start somewhere, so here it is:

--- feedback    2006-07-25 05:33:24.000000000 -0500
+++ feedback.hostname   2007-01-01 12:43:08.000000000 -0600
@@ -801,8 +801,10 @@

     # Load Net::SMTP module only now that it's needed.
     require Net::SMTP; Net::SMTP->import;
+   use Sys::Hostname;

-    my $smtp = Net::SMTP->new($smtp_server);
+   my $hostname = hostname( );
+    my $smtp = Net::SMTP->new($smtp_server, Hello => $hostname);
     $smtp->mail($address);
     $smtp->to($address);
     $smtp->data();

This is a patch to Frank Hecker's feedback plugin for blosxom to address a problem I developed shortly after I made my mail exchanger more restrictive of who it would accept email from. This sets it to something more informative than the Net::SMTP default of localhost.localdomain which might help someone from just having the moderation requests dropped by their MX.

posted at 11:08 PST (-0800)     (comments disabled)   permanent link  
December
Sun Mon Tue Wed Thu Fri Sat
           
         
2007
Months
Dec