Friday, January 28, 2005

Google points surfers to Answers.com

I really hate when Google changes. It just throws me. Google is such a basic part of the landscape. It's like waking up one day to find your keyboard's color and layout have been changed. It's just wierd. Nevertheless, this time I'm liking it. Sometime today Google redirected their definition links from Dictionary.com to Answers.com. I discovered this while exercising my Google/definition-link reflex on the word "Gestalt". After an initial stomach-turning, I noticed the bottom of the page that came up. It was from Wikipedia. This rocks. From the little I've seen, Answers.com is a clean, well-made site. A little too white for me, but I can deal with the color scheme. It's intelligently made. It doesn't look entirely computer-generated, and it's not chock full of ill-placed ads (unlike most sites that use Wikimedia content). I wonder how much Dictionary.com is hating what must be a huge drop in hits. They deserve it for all their petty attempts to squeeze subscription money out of casual Googlers. Know your market. Actually, according to Alexa, Dictionary.com is holding strong at #3 in Reference, just ahead of Wikipedia. Answers.com's not even on the top 50. Yet.

Wednesday, January 26, 2005

Steve Martin's Letter to Johnny Carson

I hate to just pass along a link, but I wanted to post something in commemoration of Johnny Carson, and nothing I could think to say was worthy. Steve Martin, however, has done him justice. Thanks to Dave Winer for the link.

Friday, January 14, 2005

Hang on: why doesn't the iPod have *this* yet?

If there's one blatently untapped market for the iTunes Music Store, it's people who just haven't bothered to try it, but would use it if they got started. So...why don't iPods come with 5 free songs from iTMS? There's already a bunch of little pieces of paper in the package, just add one with a coupon for 5 free songs. People try it out, see how easy it is, and then they're hooked. What's the matter, Apple? Can't spend five bucks per $399 unit?

Thursday, January 13, 2005

Wikipedian Humor

Stumbling upon the Wikipedia article on Freemasonry, I read this:
…(Freemasonry being non-dogmatic, there is no written-in-stone interpretation for any of these symbols).
It's the little things...

Saturday, January 08, 2005

NEWS.com.au | Mind-bending game a bestseller (January 3, 2005)

I just happened upon this article from News.com.au: NEWS.com.au | Mind-bending game a bestseller (January 3, 2005) I had to read the entire article before I figured out what the name of the thing is. Actually, I'm still not quite sure. So many proper nouns, such unclear writing. Can you figure it out? (Maybe it's supposed to be ironic, considering the subject...)
Mind-bending game a bestseller By Liliana Molina January 3, 2005 BOARD game aficionados have been exercising their grey matter on a Gold Coast-produced game over Christmas, and it has become one of Myer's most popular toys. While figures are yet to be finalised, a spokeswoman for the Kaleidoscope Classic said about 80 per cent of the 15,000-20,000 units sold this year had found their way under Christmas trees. A Myer spokeswoman confirmed the game was one of the best-selling games for Christmas at all stores. The puzzle game can be solved in 60 billion ways, and its Gold Coast makers describe its appeal as similar to that of the 1980s Rubik's Cube. "We knew we were on to a winner and we are over the moon with the fact that it has been so successful in the first major selling period here in Australia," Vishal Mehrota, the chief executive of developer Mind Challenge, said. But Mr Mehrota is not one to leave sales to chance, and in some Myer stores, people were on hand just to demonstrate the game to pre-Christmas shoppers. The game was developed by psychologist Mark Wood and mathematician/physicist Frank Dyksterhuis to appeal to the left brain, right brain, memory and creativity and is aimed at all age groups. It has 18 pieces, and the makers have estimated that one challenge has more than 20 billion ways in which it can be solved. Mr Mehrota recently returned from Britain, where he signed a $5.5 million three-year distribution deal for 480,000 units to add to the game's distribution in India. The company expects to launch two new games in April at the Australian Toy Hobby and Nursery Show, after successfully signing with Myer to stock the Kaleidoscope Classic at the 2004 show. It is also considering expanding distribution into new countries including Korea, Singapore and Hong Kong. As well as a physical game, the Kaleidoscope Classic concept also has competitions and games on the Internet. The Courier-Mail

rentzsch.com: Love, Hate and Objective-C (Part 1 of 3)

This is going to be a techy one. If you aren't familiar with/interested in Objective-C and you don't like confusion, you might want to skip this one. Otherwise, read on...
I came across this page today: rentzsch.com: Love, Hate and Objective-C If you read the blurb at the top of this post and are still reading, check this page out (the whole site looks pretty good too). What follows is my response. First off, my bias. I consider Objective-C to be my home language and Cocoa my home environment. I am also something of a traditionalist. That should cover it. On to the page. The page is divided into loves and hates. I won't respond to the loves, since I basically agree with them all. I do want to quote one thing though, from Love 5: Categories:
Trivia bit: iChat's InstantMessage.framework contains a category named NSViewShouldHaveAVisibleBitLikeEveryOtherFrameworkInExistance on NSView which adds visible and setVisible: methods. I fully agree guys, it's wacky we had to wait until 10.3 for this bit.
It's funny because it's true...

Hate 1: Method-call Syntax

No, it's the brace syntax where my hate lies. Do you really believe: [[[MyClass alloc] init:[foo bar]] autorelease] is easier to read or write than: MyClass.alloc().init(foo.bar()).autorelease()
Well...yes. I really took to the brace syntax. To me, MyClass.alloc().init(foo.bar()) says to call the init method of the alloc method of MyClass. In my head, the dot operator should only be used after a "noun", not a "verb". When I see brackets around an expression, I know I can treat it like a "noun" from the outside. Graphically, alloc() only marks this on one side. In fact, if I'm reading left to right as I usually do, I notice it after I've read the word, so I've already thought of it as a "noun". Obviously others find this notation easier to read. That's cool. But understand that it's not universal.
The brace syntax is all about assisting the compiler to delimit an ObjC message send from the otherwise "normal" C code. Thus, it's there to aid the machine, not the programmer.
Actually, I find I get the same benefit the machine gets, for the same reason.
I will say one good thing about the brace syntax: because it makes nesting method calls painful, it encourages conformance to the Law of Demeter.
I like that too.

Hate 2: Lightweight

ObjC is a mediocre language propped-up by a great framework.
Yeah, I'll buy that. I kind of like it that way, though. Maybe I just lack imagination.

Hate 3: Pointers

Raw pointers are evil and must be stopped.
I love raw pointers. Why? Because I actually understand what I'm doing and what the machine is doing. It's down-to-earth, not abstracted-all-to-hell. That's one thing I love about Objective-C. I think I've had more trouble with pointers working in languages that didn't let me actually touch them (like scheme) than in Objective-C. I know there are pointers in there somewhere. If I can't see them, it just confuses me.
More importantly, I had a hard time justifying learning a new language that lacks garbage collection.
On the contrary, I had a hard time justifying learning a new language that has garbage collection: Java. I don't want to hand memory management control over to some black-box garbage collector I can't trust. Who knows when my objects will be deallocated? I've seen the results, and it isn't pretty. No thank you. And what's so hard about the Cocoa system? If you want to be sure an object doesn't disappear, -retain it. If you don't need it anymore, -release it. It's elegant.

Hate 4: Alloc/Init Dance

...it is wrong that all code everywhere must separately call both +alloc and -init, in the right order.
I used to try to follow the great Usenet discussions (read: flame wars) over this issue. I was always in favor of calling +alloc and -init. When I read this, though, I remembered that the Cocoa frameworks are covered with methods like +[NSFoo foo], which really just calls [[[NSFoo alloc] init] autorelease]. So what's the issue? The number of calls to abbreviate? I'm all in favor of standardizing +new methods.

Hate 5: Designated Initializers

Yeah, I'd like to see some lingual support for this. In general, a class should be able to tell the compiler what methods a subclass ought to override. That way subclassers can be warned if they don't. That's the Objective-C style. Why isn't it in there?
Coming up...Part 2: Hates 6–10.