Archive for the 'stuff' Category

Monday, July 14th, 2008

Selling a domain

Someone overseas, whom I consider trustworthy but haven’t actually met, wants to buy one of my domains. Great!

There’s not huge sums involved, though it’s a hassle to move the money and coordinate the transfer. Readers: Any advice on how to complete the transaction? Escrow service? Anything lighter-weight? Comment below. -m

Saturday, July 12th, 2008

Grand Theft Oregon Trail

That’s my game idea. Unfortunately I won’t have time to develop the idea, so somebody else go for it–just mention my name in the credits ;)

My 7-year-old has just discovered Oregon Trail, or more accurately Westward Trail, a respectable online clone.

-m

Wednesday, July 2nd, 2008

The deal that wouldn’t die

Commentators, having long since run out of useful things to say about YHOO+MSFT, only bemoan how it continues to drag out. In reality, deals of this size do tend to take a while. Microsoft (and specifically Ballmer) aren’t walking. Why?

Because they need Yahoo. They need search share–the deal with Google only puts on more pressure. But they also need a non-schizophrenic brand under which to put all their audience attractors. In short, I’d say MSFT has been terrible at tactics (and non-intimidation-based negotiating), and YHOO has been mediocre at strategy and terrible at execution. Maybe they are meant for each other…

Prediction: by the end of the year 1) some kind of deal happens, and 2) Yang is out as CEO. $28.

Disclosure: I still hold long YHOO shares

Disclosure: The irony of this post is not lost on me

-m

Tuesday, June 3rd, 2008

Behold the awesome statistical power of CNN

I was on the right page at the right time and spotted this:

CNN screen grab

WIth zero votes for any candidate and zero precincts reporting, CNN calls it. Now, I’m no stats expert, but this one seems a bit extreme. Comments? -m

Wednesday, May 14th, 2008

Reminder: SearchMonkey developer launch party Thursday

Reminder: Thursday evening at Yahoo! Sunnyvale headquarters is the launch party for the developer-facing side of SearchMonkey. In case you haven’t been paying attention, SearchMonkey is a new platform that lets developers craft their own awesomized search results. If you’re interested in SEO or general lowercase semantic web tools, you’ll love it. Meet me there. Upcoming link. Party starts at 5:30. -m

Update: The developer tool is live. Rasmus has a nice walkthrough.

Thursday, May 1st, 2008

Micahpedia

Today happens to mark the 6th anniversary of my blog. To celebrate going into year seven I’m refocusing it, including a new name: Micahpedia.

Blogging is an important skill, a subset of the overall skill of managing your online persona, so it’s worth devoting some attention to. The ego-burst doesn’t hurt either. My concrete goal is to get in the top 10 search results for the query [Micah], though I face some stiff competition including the prophet.

From an SEO perspective, “Push Button Paradise” wasn’t the greatest choice of name. It suffers from the common SEO mistake of being excessively clever and/or cute reflection of what I happened to be working on at the moment, namely XForms. If you see the old name standalone, or in a blogroll, or in an RSS reader, you still don’t have much of an idea what it’s about or who’s behind it. True I get pretty good ranking on the exact phrase, but nobody searches for that…

I will continue SEO tweaks on this site as time goes on and welcome any advice from any of my 7 readers.

In short, Micahpedia is about what I’m reading, writing, thinking about, and working on. I have plenty to say about these things. :-) The best is yet to come. -m

Wednesday, April 30th, 2008

Quote of the day

“Rails is a lot of fun, and lets me do cool new things – but it’s hard to eat it.”

Simon St. Laurent

-m

Saturday, April 26th, 2008

Deadlines and connections

I’m not involved in the the corporate wrangling about Microsoft and Yahoo! talks. Which leaves me relatively free to comment on it. [Disclosure: I am, not too surprisingly, a Yahoo! shareholder.]

Lots of things have been happening lately. A deadline of, well, today. Talks of Google adsense trials. And all kinds of merger speculation involving Rupert Murdoch in some fashion, or else AOL.

But I haven’t seen anyone point out this connection: Google owns 5% of AOL, having invested a billion bucks and taken over search there a couple of years ago. So if Yahoo! and AOL merged, there would already be a Google advertising connection in place. Running pre-trials now is just due dilligence on something that might happen anyway.

Having both an in-house advertising network and an outsourced one has some advantages too, namely in the form of “knobs” that can be adjusted to tune margins as conditions warrant. And maintaining the in-house system keeps Google honest and makes sure that relatively good deals can be negotiated in the future.

Lots of pundits talk about regulatory scrutiny, but honestly, it’s been years since any antitrust machinery in this country has been effective. And the recent spectrum auctions showcased Google’s skill at turning regulatory tables in their favor. If it came down to it, the smart people on both sides of the table shouldn’t have a problem crafting an agreement in a way that meets muster, even in the stricter EU.

Summary: based solely on public reports, it seems like the AOL connection might be a credible threat to Microsoft’s appetite. The ball is firmly in Steve’s court now. We’ll see what he does.

Tuesday, April 22nd, 2008

Shame on you, J.K. Rowling

Harry Potter author J.K. Rowling, herself rowling in gazillions of dollars, is along with her publisher suing Steven Vander Ark, a poor librarian who produced a lexicon of the Harry Potter universe.

Rowling says it’s not about the money, it’s about control. Poppycock. If that was the case, she would have objected to the web site. Instead, Rowling is quoted as saying:

This is such a great site that I have been known to sneak into an Internet cafe while out writing and check a fact rather than go into a bookshop and buy a copy of Harry Potter (which is embarrassing).

A lexicon is a collection of existing (fictional) facts, not something that is going to wrest creative control of the franchise away from the author. This work makes the Harry Potter universe more valuable, not less. Even if legally this is a gray area, it’s a boneheaded move to sue one of your greatest fans for providing a valuable and useful reference.

What troubles the bean counters so much is that the printed lexicon costs, well, actual money, $24.95 to be exact. As an author it troubles me to see how out of touch copyright law is, and how badly the scent of a few dollars can make an otherwise reasonable person behave. -m

Tuesday, February 26th, 2008

Yahoo! Announces Open Search Platform

As spotted on TechCrunch, full article. This is a game-changer folks. Check out the comments attached to the article. -m

Friday, January 4th, 2008

Mac quick tip

I discovered this by accident, but my life has been measurably better since.

You probably already know that you can switch apps quickly with Cmd+tab. But if you reach your pinky up a bit more and hit Cmd+~ you can rotate through the windows of the current app. This turns out to be most useful when, say, your email compose window gets behind the main email client window.

What is the equivalent keystroke on Linux? -m

Friday, December 7th, 2007

MST3K is back (sort of)

Here’s the best news I’ve had all day: the creators of MST3K are reuniting under a new effort, called Cinematic Titanic, the firstfruits of which are due out this coming Monday.

I’ve been a long time fan of MST3K, watched most of the early episodes on UHF in Minnesota. And for the record, I like Joel better than Mike. :) -m

Friday, November 30th, 2007

4 things I’ve learned writing (mostly) 4 novels

If you want to get anything done, give it to a busy person…

In my life, I’ve started four novels, completed my goals on three, gotten to “The End” on two, and completely flamed out on one.

The first was in 2001. I hadn’t written much since high school. Something clicked in my head that made me realize that writing wasn’t some kind of black art (as one particular teacher had drilled into his credulous students). It was doable. You take pencil and paper and write one word after another. Voilà. I was so taken with this simple idea that every single thing I ever learned about writing went out the window. I had Swifties, danglers, tell-vs-show, you name it. There’s enough material in there for several Bulwer-Lytton contests. By the time I had 70 hand-written pages, the thing collapsed under it’s own weight and the story reached an abrupt, borderline-surrealistic “ending” to abuse the term. I have evidence that I even typed it all in and pressed on for a 2nd draft.

By 2003 my non-fiction book was published–my writing career was under way! Part of the elaborate book proposal dance involved me writing some online articles, including one piece of fiction that was well-received in the tiny circle that was its intended audience. At this stage I adopted electronic writing, and ditched my crashy Windows laptop for a Mac, a vast improvement.

In 2005 I discovered NaNoWriMo, and though I thought it would be a lost cause, I signed up. No way it could be as bad as the previous attempt. I had a new job, and was able to skip a few lunches to write, not to mention intense evenings and weekends. The end goal is 50,000 words during the 30 days of November, that’s 1,666 and two-thirds words per day. All of the prior month I spent outlining, making maps, creating my universe. I used the simplest of tools, my text editor and one file per chapter. I learned that the command wc *.txt could easily give me a combined word count. To my surprise, it worked. I reemerged into daylight with a completed a full story arc loosely based on the earlier story, and ended up with just over 50,000 words. The text itself was very rough, but I read the whole thing out loud in a podcast to edit it. In terms of improvement, it was huge, but still far from publishable.

2006 and another NaNoWriMo rolled around, and I took off on a more ambitious storyline with far fewer notes going into it. The story itself involved the same general characters of the previous two episodes, but with a deeper, more mature feeling to it. In short, I finally wrote a piece of fiction to be proud about afterwards, though when I hit 50,000 words I felt really burned out; hit “save” and left the story arc unfinished.

The pull to dig in to an intensive 2nd draft of the story was immense, but just too many things were going on, including a new arrival in the family and a new set of job responsibilities. I never got more than a few dozen pages into the rewrite. When NaNoWriMo 2007 came upon me, I had a tough choice…do I write something fresh, or try to rework the previous novel? Fresh. A completely new story line, new characters, new setting, new everything. As of a few days ago, I finished the draft, compressing parts of the story as needed to meet both the 50 kiloword goal and the complete story arc. In preparation, I read a number of books, but as far as written outlines, maps, etc. go, almost nothing happened before November 1. I saved enough of the “fun stuff” that a second revision of this story will be a joy. Overall, another improvement year-over-year.

There’s only one kink to the “if you want to get something done…” idea: my slides for the XML Conference talk I have in a few days are still unfinished… -m

Monday, November 19th, 2007

Kindle as a writing tool?

Amazon announced their ebook reader today, Kindle. Some of the earlier hype I’d read about it suggested that it would be not only a reading tool, but a writing tool as well.

Nope.

The obvious thing is the keyboard, an immediate non-starter for typing more than a few words. But if an external keyboard is possible, I could still live with it. For now, it seems like an OLPC would better serve my needs for an ultra-portable writing station. And for the same price, I get one and so does somebody else who need it. -m

Friday, November 2nd, 2007

NaNoWriMo

Game On. Expect light posting this month. -m

Thursday, October 25th, 2007

Will Leopard run OK on an 800Mhz G4?

I see from the system requirements that Leopard requires an “866” Mhz processor. Is this a hard limit, or just an advisory? My first Mac–the one I wrote the book on–is a lowly 800 Mhz. box. Is it worth trying to upgrade it? -m

Monday, October 22nd, 2007

Is there fertile ground between RDFa and GRDDL?

The more I look at RDFa, the more I like it. But still it doesn’t help with the pain-point of namespaces, specifically of unmemorable URLs all over the place and qnames (or CURIEs) in content.

Does GRDDL offer a way out? Could, for instance, the namespace name for Dublin Core metadata be assigned to the prefix “dc:” in an external file, linked via transformation to the document in question? Then it would be simpler, from a producer or consumer viewpoint, to simply use names like “dc:title” with no problems or ambiguity.

This could be especially useful not that discussions are reopening around XML in HTML.

As usual, comments welcome. -m

Tuesday, October 16th, 2007

Come to mead appreciation and brewing class

If you’re in the South Bay and like mead, you need to check this out. -m

Wednesday, September 26th, 2007

Recruitment picking up?

In the last few weeks, I’ve been getting more recruitment pitches, including from the well known person ________ who is now at _______, for a think-tank position with _______, multiple LinkedIn requests from Web 2.0 company ________ and even ________.

So, is this a sign that the general industry is picking up? -m

P.S. I’m not looking. :)

Sunday, September 23rd, 2007

Tab Sweep

EXSLT support coming to Firefox 3.0. Python Flyweights. Timeline of MSFT engagement on document standards. RDFa Primer. And not that this is a conspiracy blog or anything, but strange things are afoot at Minot AFB, hours from where I grew up. -m

Friday, September 21st, 2007

Come see me at XML 2007

Watch this space for details. I’ll be speaking about something related to Python and XPath 2.0. Watch this blog for tidbits on the subject. :) -m

Sunday, September 16th, 2007

Evaluating fiction vs. evaluating libation

My Copious Free Time(tm) has been filled lately by two different evaluation projects. One is the 2nd Annual Writing Show Best First Chapter of a Novel Contest, for which the first round of judging is just winding up. The main benefit for contest entrants is that every submission gets a professional critique of at least 750 words. But additionally, each submisison gets a score on a 50-point scale, based on:

  • 10 points for Story. Is it a compelling read with a great hook? Are we engaged?
  • 10 points for Style. Is the writing smooth and tight, without awkward constructions, extraneous verbiage, and redundancies?
  • 10 points for Dialog. Is the dialog natural and does it move the story along?
  • 10 points for Character. Are the characters interesting? Do we care about them?
  • 10 points for Mechanics. Are grammar, spelling, and punctuation correct?

I’m also attending some classes aiming toward becoming a Certified Beer Judge (details on Meadblog). This isn’t as fun as it sounds. (Well, OK, maybe it is…). The idea is to build up better sensory perception so that my personal brewing and cooking projects can benefit. But the upcoming test is 70% written essay questions like “Identify three distinctly different top-fermenting beer styles with a starting gravity of 1.070 or higher, and describe the similarities and differences between the styles”. 30% of the test is based on actual tasting and filling out a tasting sheet. Of interest, the scoring here is also based on a 50-point scale:

  • 12 points for Aroma.
  • 3 points for Appearance.
  • 20 points for Taste.
  • 5 points for Mouthfeel.
  • 10 points for Overall Impression.

The interesting part is that there’s similarities between the two tasks. For both, I need to work off of physical paper, not in my head on on a computer screen. For both, I first “skim”, building an overall impression, then dig down into individual categories to assign a score for each one. Then I step back and look at my numbers, and check whether everything makes sense and accurately records my impressions. When I’m satisfied, I add everything up and am done.

Most day-to-day problems aren’t so well structured or normalized, but nonetheless, I find myself tackling all kinds of problems with a similar approach. There you have it. Writing and drinking beer make you a better person. :) -m

Friday, September 7th, 2007

Time to update the XForms Validator (XFV)?

In the last couple of days, I’ve had three completely separate instances of people freshly interested in XForms coming to ask me about Stuff.

A declarative model is pretty much irresistible compared to the alternatives. But nobody can directly use an abstract declarative sculpture–sombody needs to put some solid vocabulary and processing meat on the skeleton. And, of course, a good example of that is XForms.

Around the time the book came out, I put together a modest XForms Validator, modeled after the W3C validator of the time. It later went open source, and is available online. But compared to the latest in online validator technology, it feels more than a little dated.

Hypothetically speaking, if I actually had free time, would it make sense to update the XForms Validator? What would you use it for? Would you be willing to help?

Comments below. Thanks, -m

Wednesday, August 29th, 2007

2 years at Yahoo!

Today is my 2nd anniversary at Yahoo!. Looking back, it’s been a great time. Since I don’t know how long ago, I’ve fantasized about being involved in research. Check. Since sitting across from the mobile guys for 5 years in W3C meetings, I’ve fantasized about working in mobile. Check. And since I wrote Web search, without the web (demo), I’ve fantasized about working on web-scale search.

Check.

What will the next two years bring? I don’t know, but I’m certain they will be even better than the previous two. -m

Sunday, August 26th, 2007

The biggest gift

It’s too easy to get absorbed in all the terrible things happening on the news. But not everything is like that. Take 7 minutes and watch this. -m

Wednesday, August 22nd, 2007

What I’m reading

Yeah, they’re related. -m

Thursday, August 16th, 2007

HOWTO: find the VTA light rail schedule

There’s a tram that goes by Yahoo, very convenient. Here’s a simple, step-by-step guide to finding schedule information through the official website.

  • Navigate to http://www.vta.org
  • Click on “Schedules, Maps and Fares” in the left sidebar.
  • Click on “Route Schedules and Route Maps”.
  • Scan down to the bottom third of the page. Click “Light Rail Schedules”.
  • Click on “Mountain View to Winchester (902)” (You just have to know this, even if your journey takes you nowhere near either of those places).
  • Scroll below the fold. Try to figure out whether you need “Northbound” or “Southbound” service, even though it runs predominantly east-west in this neighborhood.
  • If you guessed wrong, click ‘back’ and try again.
  • Scroll down the huge table until you find the information you need.

See, it’s easy. Now, if you manage a web site, is yours this simple and usable? -m

Thursday, August 16th, 2007

My favorite image for the week

Here. -m

Sunday, August 5th, 2007

The planetary air conditioner

If a free energy device (like this one) were really possible, simple economics would dictate that (as soon as patents expired, etc.) one or several would be found in every cell phone, iPod, notebook computer, desktop computer, appliance, automobile, airplane, house, building, and factory. That’s a lot of waste heat that would get dumped onto the planet’s surface, maybe even worse than burning-stuff-to-produce-greenhouse-gasses.

But if you have unlimited energy, it would be straightforward engineering to produce a large scale air cooling unit that would (beam|radiate|dissipate) heat into space. In effect, a planetary-scale air conditioner.

Remember when you were younger and you left a window open with the A/C on, and somebody said ‘what are you trying to do, cool off the whole outdoors?’ Finally an answer to that question. :)
November, National Novel Writing Month, is coming up. Could this be the kernel of a story? What other practical considerations would there be around free energy? Comment below.

-m

Monday, July 23rd, 2007

Prototypical inheritance in Python

Based on Doug Crockford’s chapter in Beautiful Code, I wanted to take a crack at implementing Top Down Operator Precedence in Python. After all, Python and JavaScript are quite similar, right?

Not really. As you can imagine, Doug’s code makes great use of JavaScript’s strengths, in this case the ability to assign new methods to any object. For an initial version, I wanted to make the Python version behave the same way, as opposed to a deeper redesign that would be more pythonic. (That would come later.)
My initial approach was a __getattr__ method that consisted simply of return getattr(self.prototype, name). When reattaching a new method to an instance, I needed an extra wrapper, done through a wrap method which consisted of return new.instancemethod(method, self, self.__class__). It would be used like this: obj.method = obj.wrap(some_func).

This caused a subtle problem that took me a while to track down. In JavaScript, any function can reference the built-in this variable, which works whether the function is bound to some specific object or not. (Even global functions are bound to the global object.) But Python doesn’t have such a keyword. The language prefers the explicit, and uses a explicitly passed parameter, called by convention self. The call to wrap a specific function also had the effect of binding the self parameter to that particular object; even if it later became a prototype for some other object. This manifested itself as all kinds of broken behavior. For example, the original code has a global scope object, and every time a new scope was entered, the global pointed to a newer object that kept a reference to the rest of the scope chain. But in the object’s methods, self pointed to something different than the global. Messy.

Before I get into solutions, I’d like to see what readers say. How would you go about implementing prototypical inheritance in Python? And what is a more pythonic way to accomplish the same thing? Comment below. Thanks! -m