Please update your links / feeds for this blog to continue reading. It’ll be newer and more dynamic than ever!
New Blog: http://mh-z.com/
New RSS: http://mh-z.com/rss.xml
It’s alpha, but it works!
Please update your links / feeds for this blog to continue reading. It’ll be newer and more dynamic than ever!
New Blog: http://mh-z.com/
New RSS: http://mh-z.com/rss.xml
It’s alpha, but it works!
I was in a hurry; the parking lot was empty at the time, so I may not have been particularly precise… Of course when I came back, the lot was full, and someone had left this nasty note stuck to my windshield:

Ah, Googlers…
I had about 700 comments to mark as spam in WordPress, which shows 20 comments per page on its bulk-edit-comments screen. That’s too many pages to hit “check all” and “mark as spam” on, when the database server on this host is a little pokey, in general. To make a long story short, I opened up the PHP source file (”edit-comments.php”) for this screen and saw that the number of comments per page is hardcoded, with the number “20″ appearing several times throughout the file. Huh? It took me, literally, two minutes to set a constant $COMMENTS_PER_PAGE at the top of the file, update all the “20″s to reference that, and set the value to 100. I thought everybody knew that hardcoding values isn’t the best of programming practices, and I’ve gone through four or five upgrades of WordPress, so clearly it’s actively being developed. Unless I’m completely missing something, I’d have thought better of a project with such popularity.
When I was little, whenever I felt something wasn’t fair, and I went and complained to a parent or teacher, etc., and got a “well, life’s not fair!”, that response always bothered me. I would reply, “Yeah, life’s not fair, but the whole point of everything we do is to work towards making it as fair as possible, so ‘life’s not fair’ is just a cop-out, it’s you saying that although you recognize that this situation isn’t fair, you just don’t care enough to do anything about it.”
I’ll remember this in case I ever end up with kids someday, so I can respond more diplomatically when I really don’t care enough to do anything about it.
I went to the Los Angeles Times Festival of Books last Sunday just to wander around the UCLA campus, people watch, mingle with the crowds surrounding any famous author who might turn up and generally enjoy the weather, and arrived in time for the last two hours of the event. After a while I ambled into Powell library and stopped by the CLICC (Something Something Something Computing Commons) lab on a whim to see if my old login would work, and surprisingly it did (after having graduated six years ago). So I checked my email, saw I had a couple items to respond to, and went to switch the computer’s keyboard to Dvorak mode so I could actually type in a ninja-like manner. Most random Windows machines you’ll find anywhere are easily configurable with a panoply of language options and keyboard layouts, accessible through an icon on the taskbar or on each window’s title bar, and there used to be “U.S. English - Dvorak” listed as such in this lab (because I’d requested it, years and years ago), but the option was sadly now gone. So I navigated to the library’s Suggestion Box web page, where I saw that one other person had subsequently requested Dvorak support (in 2002), saying that it had been there in the past, but had disappeared. The library manager’s response was that she would look into that and fix it right away. So support had been there (when I requested it back in 1998 or so), then had gone away, then had been added again, and now had at some point gone away again. So I typed this suggestion into the suggestion box, with the title “Dvorak keyboard layout support”:
I pressed “Send” and got an “ASP Server Configuration Error”. I looked closer at the suggestions posted in the suggestion box and saw that the latest one was from 2004. I checked the URL: yep, nice and simple, clearly I was in the right place, not some old unwatched page still on the Web for old time’s sake. So I’m assuming ASP has been misconfigured and the page broken for the last four years, which is a little sad. Think of all the people who had some kind of brilliant suggestion, typed it into the suggestion box form, pressed Send, got that ASP error (and probably lost their carefully typed prose), and then figured “oh well, I guess it’s broken” and never pursued the matter any further? My eyes almost grew watery at the thought.
I went to the help desk to ask if they knew the suggestion box was broken, and they said “yeah, we know, someone’s working on that now, he’s over there, you could talk to him if you want”. I didn’t point out that it had been (and still probably is as of this writing; I doubt this sort of thing gets fixed in a matter of a week) broken for the last four years, I just wanted them to know that it was, which they did, so I meandered out after they’d suggested that I email my suggestion (whatever it is) to some sort of suggestion box email address.
As I made my way back to my car, I packed myself into the parking lot’s elevator with a number of people and saw that my floor (4) had been pressed, but as the elevator began to move, we all noticed that we were going down, not up, and the standard grumbling and light hearted dismissal occured among my elevator patrons. The door opened on a lower-level floor and a woman with one of those insulated containers typically used for pizza delivery got in. I asked her, “hmm, did you just deliver a pizza?” or something like that, and she said “no, I just got off of work”. I replied (referring to her emply box) along the lines of, “oh, okay, it looks like you just delivered a pizza to someone in the basement of the garage” and everyone in the elevator laughed. I guess you had to have been there.
So I don’t know how many Dvorak users there are out there, but I’d thought it was quite a few, and a greater number than back in the good old days — I often run into people who type using that layout, now. My old roommate at UCLA did, for example, and what are the chances of that? The team lead over here on my team at YouTube does. People don’t have nervous breakdowns anymore when they try to type something into my computer and end up with gibberish. But apparently nobody on the entire UCLA campus (of those who regularly visit the CLICC lab, at least) do, or at least think they have any pull in requesting the feature. I thought that was sort of unfortunate.
Sam made this cool double helix out of Geomags the other night, as we were sitting around the office.



My ideal philosophy for Web application design is as follows:
The entire application exists on a single page, which loads once after the user logs in. All HTML is sent to the client at this point. All further interaction between the user (client) and the server is in the form of JSON data which is sent back and forth. This data generally doesn’t contain HTML or any specific formatting information; that was already sent over either in the form of HTML templates, or else rendered dynamically by Javascript code, which constructs specific widgets. For example, a textual screen with fields in specific places is sent as an HTML template, and the data for the template’s fields are sent as a separate JSON data block. Javascript on the client side is responsible for rendering the template and putting it up on screen. Certain fields in the template may reference sub-templates or more advanced widgets, such as sortable data tables, and the data, which was received through JSON, is rendered into the appropriate presentation and inserted into the template as needed.
As the user navigates from screen to screen, the hash portion of the URL is updated, enabling the browser’s Back button and bookmark functionality.
For an application with many screens, where loading all screens at the beginning before showing anything to the user would cause too much of a wait, the application can load sets of screens in the background once the initial set of screens is loaded and displayed.
A screen template may include more than just HTML with fields denoted; it may include Javascript code which is specific to rendering that screen. The code can then be eval’ed in order to add the requisite functions to the app’s codebase.
As a user is editing data, the browser should frequently send save-state information to the server, so as to prevent data loss in the event of a browser crash or connection-lost condition. On subsequent login, the user’s data should always be recoverable.
On the server side, the server is very data-centric and knows very little about the application’s UI structure. It just handles requests for data, and responds with it, given that the authenticated user has the relevant permissions. It has handlers which can respond with many forms of data. The server’s handlers are flexible and can respond to a single request which requires data gathered from many sources: this way, the UI’s data needs don’t need to be tied too closely to the handlers which satisfy them. In fact the term source would be better than handler. A true handler, on the other hand, may handle requests to update data.
To be continued…
I’ve noticed that this blog is becoming somewhat unreliable and frequently taking a long time to load. Is this because WordPress is ineficiently coded and running through reams of PHP code in rendering the page? But after the page is rendered once, it should be cached by the wp-cache plugin and so subsequent loads should be fast. I note that the administrative console is rather slow, too, but it does seem to load consistently and doesn’t time out (as the main blog page itself does). Also, once I’ve loaded a number of pages and navigated around my site a bit, the server’s responses become quicker and more reliable. Is load balancing giving me more resources, learning my route, or some such? The response data itself can’t be cached, but can other aspects? Database queries? In general, though, perhaps DreamHost is just more burdened than it once was. Perhaps it’s time to move on. But I do have faith in those guys. And the one factor I absolutely love about DH is the customized control panel application, which blows cpanel and all other commodity-webhost online-configuration-management tools I’ve seen out of the water. I’m not ready to give that up.
My personal philosophy is, if I’m going to get somewhere by car, I’d rather be the one driving it.
It’s nice, then, that my passengers always thank me for driving, which is something I would have wanted to do anyway.
Sign on the door of my local 24 Hour Fitness: “The women’s locker room will be closed from 1:00 PM to 2:00 PM on Friday, March 7. During this time, there will be men in the women’s locker room.”
My first thought: Hmm, men get to use the women’s locker room? Hardly seems fair to the women, but I don’t make the rules around here. Might be interesting, I’ve never seen the inside of the women’s locker room before.
My second thought: Oh, right.
I’m not sure if this was true IMAX (based on the filming standards, as in 70mm frame format), although it was shown in an IMAX theater. (Or perhaps camera technology has evolved… I’ve heard about IMAX cameras being incredibly bulky and sounding like chainsaws while in operation. Obviously a bad fit for a concert, although, if you turn the music up loud enough, it may not have been something which would have mattered. But clearly this was filmed digitally, with more manageable equipment.) Heavy security over the 3D glasses, with one of those store-style RFID readers which’d beep if anyone tried taking glasses out of the theater vicinity. And would beep randomly, regardless. Why would anyone want to keep an uncomfortable pair of non-folding 3D glasses? For a Halloween costume? On the other hand, a comfortable pair, now that’s good to have. Everyone should have a comfortable pair of 3D glasses sitting around. When I saw Beowulf 3D, nobody was collecting the glasses on the way out, nor was there even a bin in which to recycle them, so I snagged a pair. And let me tell you, I wear them all the time, and it’s awesome, seeing the world in three dimensions. These glasses add a whole new depth to my life, not to mention my personal stylishness.
U2 3D is a concert, which was filmed simultaneously with a large number of (eleven?) IMAX cameras (across several actual concerts) and spliced together in the studio. Very well done, considering that almost no material other than the concert itself was used, with the exception of some lines or text rendered onto the image in two or three places. Sound quality was not that sharp, although probably equivalent to the level of fidelity an audience member would have heard through any venue’s sound system. I say this because during the credits, the studio-mastered music had a completely different balance and quality of sound. Interesting that a consistent and continuous mix was made even though several concerts were collapsed into one. (Were they all at the same venue?)
Tickets to the movie were slightly over $20 though, which is a bit outrageous for what is still just a movie, 3D IMAX or not. And this was short — a little over an hour, if I recall correctly. But still, cheaper (and less hearing-damaging) than being at an actual concert, with varied and versatile views (close-ups of the band members playing, instruments, facial expressions, the crowd, stage lights and effects, and so on). Visually, the best part was a 3-D rendered line-drawing animation right before the credits, though. I wish the film had had more of a big creative music video feel, than simply having been footage, no matter how well shot and cut together.
But the band’s simple message of peace and religious tolerance was moving. At one point almost every single person in the audience held up a cell phone, which got me thinking about how incredible it is, in our age, that so many people, no matter where they are across the globe, are just a phone call away. Almost every single person in the audience, linked through this little electronic device. How is it that cell phone towers can so easily handle the load of tens of thousands of devices in the same area, when usually the devices are not nearly that concentrated?
Just a shot away.

Title: Zodiac
Author: Neil Stephenson
Reviews: Amazon
Neil Stephenson has matured as a writer, and it didn’t take much effort to realize that this book predates Snow Crash, but is obviously better than The Big U, at least according to the impression I get of his first book. Still, as a Stephenson aficionado I feel obligated to read all his works, starting from the earliest, so The Big U it is. (It’s a good thing I’m not an Isaac Asimov aficionado.)
Next book I read, I’m going to keep a stack of Post-It-Notes handy so that I can tag and later list out all the typos I find. Because Zodiac sure was full of them. The writing style decayed a bit towards the last several chapters. I have no complaints about the story, though, as implausible as it may seem, which would have (and still would) make a great movie.
I worked for a company which in turn worked for Warner Bros. for two years during the heyday of the HD DVD / Blu-Ray format war, and I haven’t yet read a better article summarizing the battle as this entry in Andy Pennell’s blog. Andy worked on the team which implemented HDi, the interactive layer for HD DVD, technology which we used to implement cool high-resolution animated menus and applications / picture-in-picture features. HDi is based largely on web-standard technologies (mainly XML and JavaScript), and all that JS is a big reason why I find myself at everybody’s favorite search engine, working on front-end, JavaScript-driven user interface functionality.
I commented on an entry in Fuyuko’s blog last month, writing the following:
Andy’s blog entry linked above relates pretty clearly the general demeanor of the format war, and why it wasn’t anything like VHS vs. Betamax all over again. It’s true that at the end of the day, technology still improves at its typical pace, and that Blu-Ray is far superior to DVD in most ways, but when we look at what could have been, clearly consumers are the biggest losers. But consumers were very careful to not get involved in the fighting, opting instead to let “the market” fight it out and choose a format before they did. (The market being, whom? Other consumers who were also sitting on the fence? Technology reviewers who were sitting on the fence? Nobody wanted to argue the case for one side, to recommend that consumers purchase one format or the other and to lay out the reasons, for fear of being wrong — when that’s just what consumers count on technology experts and pundits for.) I guess nobody felt strongly about region codes, player updateability and backwards compatibility, availability of authoring tools, standards maturity, interactive features when movies were compared side by side, interface (i.e., menus, applications) appearance when movies were compared side by side, and so on… and so fear (of taking sides) generally ruled the day, and Sony got to bully some studios and stores around, and in the end successfully bullied the market into submission.
My take on Yoga:
Soon after I first got my iPhone, perhaps after a few days, I wrote up the following list of criticisms/observations regarding different aspects of the device:
iPhone in General
Web Browsing
Phone
Sounds
Weather
Calculator
Now that I’ve had it for several months, I’m comfortable with the functionality, but need to refine a few of my observations.
Granted, most of these (besides the data rate, reception, and crashing issues) are nitpicky criticisms from a UI perfectionist, not things which particularly bother me. Just things I’ve noted. (And I could have gone on, but this list had gotten long enough.) Indeed the complexity and level of functionality of the device itself is what even enabled this criticism to have been possible in the first place. Standards are higher, and this phone is more ambitious than anything else out there, at least currently, at least as far as I know. Also, I’ve never been a big fan of “the Apple way”, so some of this (lack of more detailed configurability such as not being able to turn off animations; an overall tradeoff of speed and snappiness in favor of polish and pixel-perfect drop-shadows) is old hat.
After all this, I’m glad I bought an iPhone. I’m also glad I opted out of the two-year contract and into a pay-as-you-go plan. (See Merry Vacation.)
Is it my ears adapting or do they not depressurize planes as much these days?
Freeze-dried apples, with nothing else added. Seems healthy, although it tastes sugary. But these are natural fruit sugars, so we can rest easy (not that there’s really a difference). Each 10-ounce baglet contains a cup of apples, or so it says. And these are somewhat addictive, although not too filling. I just discovered this healthy snack in our local snack rack, and have eaten five so far today. And I’m still hungry. On my sixth, now. How many apples are in a cup of apples? Or more simply, how many cups of apple-matter are in one apple? Not enough to fill me up, that’s for sure.
I didn’t even know this existed! Since when was it available? Goodbye moviefone.com. Goodbye, movies.yahoo.com. I’ve had enough of your flashy ads and graphics and overloadedness when all I wanted was to quickly look up movie data. Each listing even has a link to IMDB. Can’t beat that.
o------o---------o o---------o------o
/ / \ / \ \
/ -----o----| +--+ %--% +--+ |----o----- \
o |----|----- | | OO | | -----|----| o
| *----&----* | | .--. | | *----&----* |
| -----|----| | | | | | | |----|----- |
| |----|----- +--+ .--. +--+ -----|----| |
| | | |
| =X=x=X=x=X=x=X=x= .--. =x=X=x=X=x=X=x=X= |
o OO o
\ |----|----- o+--+o %--% o+--+o -----|----| /
\-----|----| \ / == \ / |----|-----/
/*----&----* \/ || /\ *----&----*\
/ |----|----- / \ == / \ -----|----| \
o -----|----- o+--+o %--% o+--+o |----|----- o
| oo |
| =X=x=X=x=X=x=X=x= .--. =x=X=x=X=x=X=x=X=x |
| | | | |
| -----|----| +--+ .--. +--+ |----|----- |
| |----|----- | | | | | | -----|----| |
| *----&----* | | .--. | | *----&----* |
| -----|----| | | oo | | |----|----- |
| |----|----- +--+ %--% +--+ -----|----| |
| | \ \ / / | |
o-------o \ \ /\ / / o-------o
\ //\ \ \/ \/ / /\\ /
\ // \ \ / oo \ / / \\ /
\ // oo \--------/ o o \--------/ oo \\ /
X/ o--o \------/ o o \------/ o--o \X
/ o|/\|o \ / o /\ o \ / o|/\|o \
/ o | | o \ / o / \ o \ / o | | o \
\ o | | o / / o / \ o \ \ o | | o /
\ o|\/|o / / o /--/\--\ o \ \ o|\/|o /
\ o--o / / o / /oo\ \ o \ \ o--o /
/\ oo / / o /| /o o\ |\ o \ \ oo /\
/ /\ / / o / |/o o\| \ o \ \ /\ \
/ / \ \ \ o \ |\o o/| / o / / / \ \
/ / |\ \ \ o \| \o o/ |/ o / / /| \ \
/ / ||\ \ \ o \ \oo/ / o / / /|| \ \
\ \ || \ \ \ o \--\/--/ o / / / || / /
\ \ || /\ \ \ o \ / o / / /\ || / /
\ \ ||/ /\ \ \ o \ / o / / /\ \|| / /
\ \ |/ / \ \ \ o \/ o / / / \ \| / /
\ \/ \ \ \ \ o o / / / / \/ /
\/ oo \ \ \ \ o o / / / / oo \/
/ o--o \ \ \ \ oo / / / / o--o \
\ o\ \o \ \ \ \ / / / / o/ /o /
\ o--o / \ \ \/ / / \ o--o /
o----\ oo /------\ \ / /------\ oo /----o
/ \ /------/ \ \/ / \------\ / \
/ /\/ / /\ /\ \ \/\ \
o-------o / / \/ \ \ o-------o
| | / / \ \ | |
| |----|----- +--+ %--% +--+ -----|----| |
| -----|----| | | OO | | |----|----- |
| *----&----* | | .--. | | *----&----* |
| |----|----- | | | | | | -----|----| |
| -----|----| +--+ .--. +--+ |----|----- |
| | | |
| =X=x=X=x=X=x=X=x= .--. =x=X=x=X=x=X=x=X= |
| OO o
o -----|----| o+--+o %--% o+--+o |----|----- /
\ |----|----- \ / == \ / -----|----|/
\*----&----* /\ || \/ *----&----*\
/-----|----| / \ == / \ |----|----- \
/ |----|----- o+--+o %--% o+--+o -----|----| o
o oo |
| =X=x=X=x=X=x=X=x= .--. =x=X=x=X=x=X=x=X=x |
| | | | |
| |----|----- +--+ .--. +--+ -----|----| |
| -----|----| | | | | | | |----|----- |
| *----&----* | | .--. | | *----&----* |
o |----|----- | | oo | | -----|----| o
\ -----o----| +--+ %--% +--+ |----o----- /
\ \ / \ / /
o------o---------o o---------o------o
Something that bothered me about I Am Legend is… why do the infected humans wear clothes?