Well, as much as I want this storyline to be over, at least the episode packed enough action to be enjoyable — I expected it to be all about words, but thankfully it looks like we’re beyond sermons now.

3 February

I don’t really like the desktop version, but the iPhone interface (which you can only access for now by manually going to mail.google.com/tasks/ — after you’ve enabled Tasks in Gmail Labs) is perfectly seamless.

I’m thinking it might actually be worth creating a Fluid.app instance (that pretends to be Mobile Safari) if I ever needed task lists to be synchronized between my iPhone and my desktop. Like, you know, if I went places and did stuff and all.

Well, that’s a series reboot. Hiro and Ando funny again in Japanese? A watchable story with bits of humor in the dialogue and a few cool bits? And the worst part is, it was written by Tim Kring, so he was all along able to create something vaguely enjoyable.

8 February

I can’t believe I didn’t know it already was in iPhone 2.0[via] — or did I just forget about it because the syntax is a bit overcomplicated? (Although, once you get to know it, it actually works just the way I wish you could do more things in CSS: essentially, by defining macros.)

10 February

I was just listening last week-end to the Creative Screenwriting podcast interview with the Oscar-nominated screenwriter of Milk… and now this is what he looks like. I hate him. Did I need to point out that I fucking hate him, or had you figured it out by yourself?

(By the way, I don’t particularly recommend Milk — and not just because I want its writer shot dead — but I do recommend the podcast. Very interesting Q&As.)

The service uses Microsoft Exchange’s ActiveSync protocol to get the job done, and because of this can actively push changes as soon as they’re made.

Oh, come on — I know Apple went all Exchange on us with the iPhone, but Google? Really?

It’s worth noting that if you have an iPhone or Windows mobile handset the process will wipe out any existing contacts and calendars from your device. This data loss does not occur on Nokia, BlackBerry, Sony Ericsson, or Motorola devices.

Well, yeah, it is worth noting. I already wasn’t very interested — I don’t want to have Google manage my contacts for me and add whomever I write; I’m one of those weird people who like to manage their data themselves, so Address Book is quite fine, thank you — but that’s all the more reason not to use this.

Apple, which of course makes the signature multi-touch mobile device, the iPhone, apparently asked Google not to implement it, and Google agreed, an Android team member tells us.

This strikes me as odd because, no matter how much Google’s engineers love that device, I’d figured Apple would need Google more than Google would need the iPhone.

However, it could have been a friendly warning from Apple Legal that they were going to be awarded a broad patent over multi-touch, and Google ought to be cautious about going there. While Palm has its own patents that Apple might infringe on, and that particular conflict is likely to be resolved by a cross-licensing agreement, I don’t expect the same would have to happen if Google started stepping on Apple’s toes. More than they already are, that is.

11 February

This jibes with a story I heard several months ago from a source who works at Apple, which is that Google showed Apple legal a pre-release prototype of the HTC G1, specifically to avoid patent-related disputes.

This makes a lot of sense.

According to my source, in addition to multi-touch, the other feature that Apple objected to was using a standard headphone jack. Apple apparently owns a patent on controlling software using buttons connected by a standard 3.5mm headphone jack (at least for music and video playback controls), and would not grant Google a license to the patent.

This makes very little sense.

Yet I can’t quite say it’s incredible, considering the state of patents nowadays.

If you’re wasting time fighting with CSS – and we know you are – we’ve got just the tool you need. Download the Give Up and Use Tables timer. We’ve scientifically determined the maximum amount of time that you should need to make a layout work in CSS: it’s 47 minutes. When your time is up, we’ll even give you the table code you need. Take three minutes to build a table. And ten minutes to get a donut. Bill the client for an hour. Done.

12 February

LEDs do not burn out like an incandescent bulb, rather, their brightness slowly fades. So, if the lifespan of your LED is listed at 25,000 hours, that is the point when your bulb will most likely be shining at around 70% capacity (the industry assumes people notice a decrease in brightness at that point) […]

So, the moral of the story is that manufacturers need to come up with a different system to accurately convey the lifespan of their products to incandescent and CFL converts. Personally, I don’t think this is much of an issue. I would much rather replace a bulb after 50,000 hours because it got too dim then replace a traditional incandescent after 1000 hours with a bandaged hand because it blew out while I was chopping up something in the kitchen.

To mark the occasion a new horror video game is launching the world’s first “superstitious ad campaign” — turning specially trained black cats into walking adverts for the launch of F.E.A.R. 2: Project Origin on the day itself.

With WhatTheFont for iPhone, you can take a picture using the iPhone’s camera, and use the WhatTheFont to identify the font in the image. No more guessing — or even waiting until you get back to the computer.

If this worked, it would be positively awesome. Sadly, it doesn’t. At all. And if it doesn’t work on my iPhone with a Clarifi macro lens, you really needn’t bother downloading it, even for free.

Not to mention that it’s infuriatingly slow right now, as everyone’s testing it and overloading the server. (I assume. Unless it’s inherently sluggish.)

TinyURL shut down the redirect quickly and Twitter has responded, but the same attack could arise unless measures are taken. Of which, more later.

Well, yeah, they reacted quickly once an English version made the rounds amongst popular US bloggers, but the French version had been running the Twittersphere, unnoticed, for a week.

The hack is an example of clickjacking. (I’ve heard the term a lot, but only understood its meaning after the investigation of this tweetbomb described here.) […]

Firstly, it’s using an iframe to embed Twitter.com on the page. The iframe is essentially invisible, due to the CSS structure […]

We can see from the CSS z-indexes, the iframe is on top of the button. And we can see from the iframe’s opacity that it is completely invisible. Hmmm… so it’s on top, but completely invisible. If there was a button there, you wouldn’t be able to see it, but you would still be able to click on it.

This is very clever — basically relying on transparent iframes (and I agree with Gruber’s point: why should iframes be allowed to be transparent?) and Twitter’s unvarying home page layout to trick you into clicking the “Update” button without knowing it.

And the fix only works if your browser has Javascript enabled; if it doesn’t, you’re still vulnerable, and it would be pretty complicated for Twitter to fix that. (Unless they stop accepting update text to be sent as a URL parameter, but I guess they implemented this so that some scripts or external sites could use the functionality.)

I don’t know — sure, it’s kinda pretty, and definitely epic (and the trailer’s last images make me want to… go to there), but there’s still something in the visual style that doesn’t work for me. Look how wrong the lighting is on those blood splatters. No, I’m not kidding, it’s just an example of what looks wrong.

And I still have no idea how it actually plays, of whether this is the way it looks when you have a Sixaxis in hand, or they just move the camera all over the place just for the trailer. (Not sure which I’d prefer.)

We already knew the game looked great, so let’s get that over with: the graphics are very nice, and even flying close to the ground looks almost realistic (there aren’t quite as many building boxes as drawn on the floor, but you’re flying fast enough that it doesn’t really matter).

Interestingly, the demo’s first mission (and I never realized there was a second mission until I checked out internet writeups) focuses on the game’s original, ambitious and controversial “assists off” mode, which pulls the camera wayyy back and lets you actually see what your plane is doing — not even letting you move the camera manually, so that you have to focus on how to reach your target.

If you’re the kind of simulation guy who insists that the right way to play a car racing game is in the dashboard view, you’re gonna hate this; but I’m not, because I’ve long realized that in order to drive you’re supposed to be aware of your surroundings in a way that can simply not be emulated by a video game unless you’re using an external viewpoint. And, since planes are so much faster and more nimble than cars, the external camera has to pull back farther in order to be useful. It’s a little less pretty and shiny, with your plane so small on the screen, and it doesn’t make you feel like you’re really in the cockpit, but it’s a fantastic way to make you actually feel how your plane handles. Although I guess people are justified to complain that there’s no way to mix and match — either you play with all assists and the cockpit view (or nose or tail view), or you turn them off and you can only use what commenters are describing as “radio-controlled plane” view.

Now, with the camera hovering so far away from the plane, and aligned with your target rather than your jet’s nose, the question is: how do you actually control it? There are two modes: the “expert” controls leave you with the plane’s stick under your thumb, but they’re exceedingly hard to master because you have to always be aware of your orientation — if you roll upside-down, the camera doesn’t follow you, so you have to mentally adjust (think driving in reverse, only to the power of a thousand). The “normal” controls, without which they could never have shipped that external view, remind me of Halo’s vehicles: you still control pitch as you would, but left and right become stage-left and stage-right instead of roll; if you keep your stick all the way to the left, for instance, your plane will do clean horizontal donuts instead of rolling on itself.

Like I said, this is heresy to any simulation fan. But it just makes sense. This is the first time I’ve actually been aware of what my plane was actually doing when I was maneuvering to dodge a missile or align with a target; the first time I could feel, and comprehend, what happened when I cut the gas and hit the brakes to loop back behind an enemy. In a nutshell, it’s arcade-y in a Project Gotham Racing way, not a Mario Kart way — the physics and everything feel pretty right, but the controls are a bit assisted.

And it’s so fun.

Once you’re done learning how to recover from a stall, the second mission drops you in the middle of a big invasion of Rio — which feels overwhelming the first few times, then more manageable and not so threatening after all (and you might want to replay it if you enjoy the gameplay, because you have three different fighter jets to unlock with your experience points). Other than the frustration of being offered to load from the last checkpoint when you crash, only to find out that there’s a huge first chunk of the mission that doesn’t have any checkpoints, it’s also a lot of fun.

Bear in mind, I’m not a flight-sim nut. But I’m not a mindless arcade fan, either — I’m the kind of gamer who prefers Project Gotham Racing over Forza, but can’t imagine playing Saints Row because you have to drive with the face buttons. And why am I always coming back to car-racing analogies? Because I don’t think there’s ever been a flying game quite like Hawx, such a mix of realism and accessibility.

Oh, speaking of accessibility, I forgot: the triangles-in-the-sky assistance that you might have seen in videos, which helps you evade attackers or position yourself behind an enemy or drop a missile on a tank hidden between buildings, is a great tool to learn the right maneuvers, as I expected, and it’s also optional — you have to trigger it by pressing’ X.’ Which I didn’t expect, and is great for people who don’t want the training wheels.

The game also nicely embeds Xbox Live right into the campaign menu, showing you how many open games are available for joining as you’re about to start, but… as you should already know, I don’t do co-op with strangers, so I haven’t tried it. According to xbox.com, it’s four-player co-op, so that’s not too shabby.

It’s too bad that the immediate reaction of aficionados will be to reject the compulsory outside view; for once, I think Ubisoft, in its neverending quest to dumb down gameplay, has done something really new and interesting. Fortunately, the Tom Clancy brand should help sell the game to the people who will actually like it. Definitely recommended, and I insist you force yourself a bit to try and get used to the game’s unique perspective.

Okay, first things first: worst cameo ever. I’d read a tweet about it this morning, and assumed the joke must mean something else, but it didn’t. What the hell were they thinking? I like him, obviously, but he just as obviously doesn’t belong as a quirky doctor in Battlestar Galactica — because a quirky doctor, or a quirky anything for that matter, doesn’t belong at this point of the story. First strike, sir. Fortunately, there’s hardly any way you could ever end up in such a loathsome situation again.

Now, to the meat of this episode: a nice pre-roll (with cool cameos of another kind), and I love the new her (which is totally unexpected), but other than that… I’m going to need to digest this a bit. How anti-climactic was that? Thank gods they didn’t save it for the end. And, yeah, I realize that’s why they didn’t save it for the finale; but what’s left, really? It’s not like we can be afraid the Cylons might catch up and wipe out the Fleet.

<SPOILERS>

As always, I’ll wait for the messageboards to tell me if it makes any sense that Cavil knew — and was orchestrating — the whole Final Five thing all along.

But, really? It was all just a bunch of scientist friends who gave the gift of skinjobness to the Twelve Colonies’ Cylons? Was anyone excited by that?

And I hated Dean Stockwell’s acting throughout. Wonder how much better I would have liked the episode if the wayward son had somehow been a Six.

So Brother John Cavil gives a fairly moving and convincing speech for why he’s so pissed off, and you finally get Cavil: he’s basically like Pinocchio going, “Really? Lederhosen? Fuckin’ forever?” Only instead of singing a little song about it and kicking Ellen in her shapely Gepetto shins, he knowingly and nastily:

Destroyed utterly the life and civilizations on twelve planets, burnt the knowledge of their creators out of his brothers and sisters, killed Daniel and boxed Three, wiped and boxed the Final Five just to make sure they ended up in the holocaust, had a day-long conversation with Chief about how he wasn’t a Cylon even though he totally was, tried his best to kill off the idea of God(s) Himself(s), plucked out his father’s eyeball, and fucked his own mother while she was in mortal mode on New Caprica. Moral of story? You Never Fuck With Pinocchio. Welcome to the last act of the last season of the very best TV show of all time, and here’s your Dramamine.

</SPOILERS>

When you put it like that, it’s kinda cool. And I’m beginning to think that the writers might actually have planned the Keyser Söze part all along, maybe even before they separated the Final Five from the fray.

So I guess maybe I should just blame this episode’s writer for managing to kill the cool off of it.

17 February

We’re only halfway through the first day at Mobile World Congress and already things are looking bleak for Android. Many of the major manufacturers have already announced their new products at the show, and not one Android handset has been seen.

Are there untold development hurdles? It was expected that everyone would be able to whip out Android versions of their phones very soon — and I can’t really imagine any non-technical reasons why that wouldn’t happen. Microsoft doesn’t have that kind of leverage anymore, does it?

People want full ownership and control of their information so they can turn off access to it at any time. At the same time, people also want to be able to bring the information others have shared with them—like email addresses, phone numbers, photos and so on—to other services and grant those services access to those people’s information. These two positions are at odds with each other. There is no system today that enables me to share my email address with you and then simultaneously lets me control who you share it with and also lets you control what services you share it with.

I can’t say I disagree with Zuckerberg’s point, and it’s an interesting analogy. But then, I’ve never been on the paranoid side of that argument anyway.

“Steve Jobs has started writing a book,” a plugged-in tipster tells me. It’s the barest of rumors, but the book industry is already eagerly anticipating the Apple CEO’s autobiography.

Even though the author’s note that Jobs being on leave from Apple, and probably bored out of his skull, is in the best opportunity ever for him to write an autobiography, I still can’t really imagine him doing that.

I’d think he wants to be remembered for what he created rather than how he lived; and I’d think he’s too narcissistic to write a really honest public account of his life, but too smart not to realize that anything else would be useless. But then, I’m only trying to put myself into his shoes, and I just can’t really imagine what it feels like to be a 55-year-old Steve Jobs possibly dying of cancer.

A rule of thumb Valley insiders use is that adding a million users to a site like Facebook requires $1 million in capital. That means Facebook should be spending roughly $5 million a week on servers and other computing infrastructure. From what’s understood about its finances, Facebook is not covering the cost of its operations, let alone generating enough profit to pay for capital investments.

I didn’t expect this — it’s all about bikes. Well, now that you say it, it makes sense, obviously, but I figured they might take the opportunity of a DLC to improve multiplayer games in a more general way.

There’s still the possibility that the add-on will be accompanied by a free game update, as often happens, and that might bring some long-awaited fixes. But, either way, I’m not very interested in buying The Lost and the Damned — don’t care much for GTA stories, and don’t care for the bikes at all (even if they’re supposed to have been tweaked).

HTC has announced its second Android smartphone; it’s a little prettier (but not much) than the G1, doesn’t sport a keyboard (even though that was arguably the G1’s main advantage), and will be exclusively sold in Europe by Vodafone (and SFR in France).

That would be much more exciting news if we didn’t know about the Palm Pre; as it stands, it’s all gonna be about price… but I doubt it’s going to be much cheaper (if at all) than the iPhone.

TinyChat[via]: instant disposable chatroom (or you can create your own room just like any IRC channel). Very simple — no credentials, no operators — and well done. Except for the inherent evil of offering to “log you in through Twitter” (and then automatically tweeting your room ID).

This is a very well-done hierarchical notes organizer: you can switch between outline view and tree view, but the latter is not the messy free-form organizational charts I expected — just a column view where each item can be detailed or collapsed (think of the Finder’s column view).

35 € is rather steep for an application that can only handle plain text, but I really like the way it’s done. The funny thing is, I already had plans for a tandem of iPhone and Mac applications that would work a bit like that.

Well, that was pretty much as I expected: rather well done, but I can’t say I’m hooked. Props for putting Tahmoh Penikett naked on a boxing ring (even though I don’t buy his character for a second), but I can’t help but be creeped out that Whedon ever wanted to dedicate a few years of his life to this story.

19 February

Virb reboot. The TechCrunch writeup says they’re going more FriendFeed to find themselves a niche, but the site doesn’t look that different from the previous version. A bit prettier, more streamlined, and still not bringing anything that would make it exist against Facebook et al.

As stupid as it all was (all in all, it was a season and a half wasted not advancing the plot, or even mystery, by much), that episode had a couple cool lines and was vaguely enjoyable, which is pretty much all you can ask of Lost nowadays.

20 February

Possible image of the new Mac mini leaked. DisplayPort, FW800, a buttload of USB ports and no external redesign, I guess that’s too boring to be fake. (Although just because it might physically exist doesn’t necessarily mean it would be be released.)

21 February

Pushing Daisies: Pushing Daisies’ Finale To Be Seen In LA - And Maybe Elsewhere? “Perhaps more surprising news about the episodes, however, comes from TV Guide, which reports rumors that the episodes will, in fact, be broadcast by ABC during the summer, as a way of boosting sales of the DVD season two boxset. I would have thought that you’d have sold more copies if there were hours of unseen material on there, but whoever said that ABC was making logical decisions about the show in the first place…?”

Blah blah blah and blahhh and what the frak? Where’s the cool Her from last week? We didn’t sign up for her to return to her old, destructive, annoying self that we always hated; for once it wasn’t supposed to be like it had happened before and will happen again.

Even the Sixes aren’t cool anymore. (Except Invisible Six, who always manages to be much prettier than her sisters. That’s ethereal lighting for you.)

I haven’t installed it, because I can’t live without 1Password, but it looks very pretty. It finally has Cover Flow on your history and bookmarks; the 3D take on the classical start page mosaic is cute; Apple didn’t waste time copying Chrome’s tabs-on-top system, going as far as removing the title bar altogether (which looks great but makes me wonder how you actually grab and move the window); and they’re getting surprisingly aggressive on the Windows side with a native UI.

In the new beta, you can actually move the window by clicking and holding the tabs (which takes some serious getting used to) and move tabs, as well as tear them, by touching the little ‘textured’ zone at the right side of each tab.

Which I take to mean that dragging a tab moves the whole window unless you clicked on the tiny hotspot at the right of the tab. I guess that works.

TwoUp Makes Better Use of Your Screen Real Estate: Basically: Windows 7’s Aero Snap for OS X (and only via keyboard shortcuts). It’s not a very Mac-like way to set your windows up, but if you’re the kind of switcher who still wants to maximize all their applications…

OmniWeb, OmniDazzle, OmniDiskSweeper, and OmniObjectMeter now freeware • “Instead of continuing to charge for these four applications, which aren’t getting updated as frequently as our other titles, we felt it would better serve the community to make them available at no cost.” Selling OmniWeb was untenable; I’m a little surprised about OmniDazzle; apparently there’s more money to be made with GTD and project management tools, is there.

Some users have experienced an issue wherein Mail stop receiving new mail. The program will load and quit normally, but will hang in the activity window and prevent mail from being downloaded. The apparent fix for this issue is to delete Mail’s preference files and relaunch the application.

And have to reconfigure all my accounts? Like hell! The day I have to reconfigure my Mail preferences from scratch is the day I switch to Thunderbird.

If Mail hangs in the activity window, removing plug-ins may not be enough (unless you remove all of them, which I didn’t try); simply disable plug-ins with this Terminal line:

defaults write com.apple.mail EnableBundles -bool NO

Mail bundles are supposed to be disabled by default anyway, and I’m beginning to think I’ll just leave that alone and not enable them again — unless some other utility’s installer does it for me without asking (there are two ProxiMail bundles on my system, so I figure Proxi will automatically enable bundles on install).

Also, note to self: boycott GrowlMail. The fucking thing is supposed to have an uninstaller but doesn’t, and somehow it places itself in /System/Library/Mail/Bundles instead of the still annoying, but acceptable, /Library/Mail/Bundles, or the right place which would be in the user’s home directory.

‘Zen Bound’ Finally Arrives in App Store • $5 is a bit more than I like to pay for iPhone games I’ll only be playing for a day, but this is so gorgeous I don’t think I can pass. (Must drain your battery in two seconds, though.)

360 Freezing With Checkerboard Pattern? • “I’ve recently been in the same position, you have little hope of resurrecting this unit for a satisfactory period of time.” Well, fuck me and my brand new Mirror’s Edge disc. That was bound to happen sooner or later, wasn’t it.

Microsoft admits to, defends banning Lesbian Xbox Live user - Ars Technica • “As stated in the Xbox LIVE Terms of Use, a member may not create a gamertag or use text in other profile fields that include comments that look, sound like, stand for, hint at, abbreviate, or insinuate content of a potentially sexual nature. […] In regards to sexual orientation, for gamertags or profiles we do not allow expression of any type of orientation, be that hetero or other.” That reminds me of the occasional “This story acknowledges the existence of sex” (semi-ironic?) parental warning in some episodes of This American Life, and kinda makes sense in a way.

doubleTwist • I didn’t really look into it when it was announced, because I don’t care so much about the sharing aspect, but now that I’ve tried it I have to admit it might be a rather interesting competitor to iTunes for managing your media; I just might use it to browse my movies and TV shows — I definitely didn’t expect an application that would run so smoothly.

How FriendFeed uses MySQL to store schema-less data • “Our datastore stores schema-less bags of properties (e.g., JSON objects or Python dictionaries). The only required property of stored entities is id, a 16-byte UUID. […] We index data in these entities by storing indexes in separate MySQL tables.” Interesting. It fascinates and frightens me that all those social, intrinsically relational web 2.0 services can never use JOINs because of scalability issues.

Caught You! — Make Your iPhone Rat Out Thieves • “Caught You! masquerades as a standard iPhone app called Bank Details. […] The Bank Details app invites Mr. Thief to enter a pin number. The thing is, there is no pin number, and so while Mr. Thief is excitedly trying various combinations, the app is covertly mailing its location back to you.” I’m not gonna pay for that, but it’s clever enough. Don’t tell your thieving friends about it, though.

Yeah, I’m getting intimate with Cocoa development, so you can expect occasional posts like this one. My readers are not supposed to care about this; I’m just posting it because I’ve been googling that question for an hour and didn’t find a proper answer anywhere.

There’s a point in the Cocoa documentation (I would link to it, but it looks like URLs tend to change every so often) that says:

A text field allows you to set the attributes of its text, the text background color, whether it draws the background, and whether it draws a bezel or border around its text. Note that the text and background colors of selected text are configurable. The selected text color overrides any actual text color applied to the text while it’s selected (this is generally the case with controls).

But nowhere does it say how. NSTextView has a setSelectedTextAttributes, but NSTextField doesn’t; so how do you change the selected text’s attributes?

Maybe you’re supposed to know that from the start (I’m learning Cocoa in random order, by googling for bits of information as I need them, and I know that’s not how you’re supposed to do it but, hey, my app works, and it doesn’t even seem to leak), but NSTextView isn’t just a control you can drop in Interface Builder to let users enter long, formatted text; there’s also an NSTextView associated with each window, and it processes the text behind the scenes or something.

So all you have to do is get access to that NSTextView, and setSelectedTextAttributes on it. Here’s how you get text fields of the window InputWindow to show selected text on a black background:

The (NSTextView*) bit is because fieldEditor:forObject: thinks it returns an NSText*, even though it seems like it does return an NSTextView* — otherwise the code just wouldn’t work, would it? Looks like a known bug in the Cocoa headers.