Practical Magic [Review]

A while ago I stumbled across the movie Practical Magic, and loved it. It’s this wonderful, playful, tale about finding love and accepting the magic that lives within yourself. And then, a few weeks ago, I discovered that it was based on a book by the same name, which I immediately purchased. What I read though, wasn’t a better version of the movie, as is typically the case. It was something else entirely. A slightly sad tale of finding women finding love even though they believed they either didn’t deserve it, or didn’t want it. And somehow, along the way, Sally’s children found maturity within themselves. It was wonderfully written, but sadly mundane. “The Aunts” still practice magic, and practically embody the witch stereotype. But they’re not much more than that. Just, witchy sisters who dress in black, “cast spells”, shun society, and happen to raise the main characters. In the movie they’re happy, playful, sneaky, strong women who happen to be witches ostracized by superstition. It was as if the screenwriter took the main themes, and characters, of the book and reworked them into an entirely new tale. But, the movie does remain true to the spirit of the book. They definitely count as a chick-flick, and chick-lit respectively, but which one is for you depends a lot on how you see the world. Is it a place filled with magic that you’ve mostly been ignoring since childhood? Or, is the world nothing more than the mundaneness that surrounds you? If the former, watch the movie. If the latter, go read the book. They’re both quite good, but, despite its title, and skillfull writing, the book really doesn’t feel very magical, and even though it has a happy ending it’ll leave you feeling a little melancholy.


Why you think the Caps Lock key is useless

Years ago I thought like many of you do; that the caps lock key is a waste of space. I never really got any benefit from it. It was just as easy, if not easier, to just keep a pinky on shift while I typed. There was even an article in Wired: Death to Caps Lock.

But then my eyes were opened, and I learned that the only reason I didn’t “get” the caps lock key was because I was a shitty typist. Sure, I could type over 100 words per minute, but my typing still sucked. It was some awkward crap that was bad for my wrists and that I’d just organically taught myself.


A simple way to encourage API adoption

Let’s assume for a minute you have a web site with an API people may actually want to use. Let’s use Flickr as an example. You can do as they did ( document it thoroughly and hope people use it ), or, and this is especially useful if you’re someone competing with an 800 lb. gorilla like Flickr, you can do something like this: First, figure out who’s a developer. If someone’s into your site enough to code for it’s API it’s generally a safe bet that they’ve got an account on it. When they sign up add a checkbox to the form: “Check here if you write software” Add it to their profile page to so they can check, or uncheck, it later on. Then, whenever a developer goes to a page, add a small note to the bottom “Developers: you can get the data on this page [link]with these’s APIs[/link].” and have that link to a page that indicates exactly which APIs can be used to get everything on that page, and link to the documentation. This has two benefits: 1) It’s a tease. It says “You could do something cool with this. Look how easy it is…” 2) when someone’s still getting up to speed with your API it makes it much easier to figure out what calls you should be making to get the information they want.


On coding for fun

I love programming. I really do. It’s one of the few things that really gets my brain buzzing. In my twenties I’d go to work, program my ass off, then come home and repeat. Or, when I worked for myself, I’d just not stop. But, as I make my way through my thirties I’ve found that most days I come home and simply don’t want to look at code anymore.


I give up. You and your ads can piss off.

A month ago I lamented that the excessive use of ads on sites was getting to be too much for me. Well, after a week where it seemed that every other article I went to read had a full page ad (or “welcome page” as Forbes called it) that I had to wait or click through to get to the article, which was still totally overrun with ads, I have given up and installed an ad blocker. To all the sites who haven’t been abusing their priveleges I’m sorry. I really do want you to profit from my visitation. I really don’t want to have to pay for your services, and I realize you’d probably loose money if you switched to a subscription model, but I just can’t take this shit anymore. I’d say that if the offending sites cleaned up their acts I’d turn the ad blocker back off, but honestly, now that they’re gone, I won’t notice if they do. With Google talking about including ad blocking software as a default plugin in upcoming Chrome releases, you should seriously rethink your strategy. When we reach the point when all browsers have ad block software build in with no download required, you better pray to all your respective deities that you haven’t been abusing your visitors. Alas, you’ve already lost any income from me, and the 30+ MILLION other browsers that have installed Adblock Plus. If you think your excessive ads won’t hurt your bottom line, you are sorely mistaken.


A review of Android and the T-Mobile G1

I’ve had the G1 for about two weeks now, and have been coding for it pretty much since the day I got it, and I have to say I love it, and regret only one thing: buying the Bronze one. So, lets start with that, and the other shortcomings, before moving on to the coolness. You’ve got three choices for the G1 Black, Bronze, and White. I’m always partial to earth tones, and I think the white one looks like a cheap plastic toy, so Bronze it was. I really should have fiddled with one first. The black and the white are pretty much what you’d expect, the bronze though, they tried to go a little fancy on the keyboard. Instead of making it the same color as the body, like the other two, they made it silver, which does look good, BUT the letters, are a dark-ish grey on a silver background. Now, once you start typing the actual letters are backlit, except, you can only notice that if you’re not in a room with light. Like say, your house, or your office, or outside during the day… You get the picture. What’s worse is the alternate characters (slashes, semicolons, etc). These are in a nice rust color, that is totally invisible unless you’re in a strong light. So, don’t buy the Bronze… As for the UI, it’s pretty much what you’d expect from the ads. Nice, but a little “ten years ago” feeling, and interactions aren’t as polished as they feel on the iPhone. Once you’re actually *in* an app it’s as slick as the developer felt like making it. Some of them are *very* slick. ShopSavvy is a good example of a really nicely done UI. Some of them are crap. But, I suspect it’s the same on the iPhone. The only non-obvious thing about the UI is that, unlike the iPhone it doesn’t swap from landscape to portrait mode, and back, as you turn the device. The G1 *knows* that it’s on it’s side, it just doesn’t bother to do anything with that information. Now, some creative geeks have figured out how to implement it but it’s not there for general consumption yet. Currently, it goes into landscape mode when you slide open the keyboard, and back to portrait when you close it. A couple apps, like the browser, allow you to set them permanently into landscape mode even if the keyboard is closed. But honestly, it feels like the kludge it is. You get used to this limitation pretty quickly, but it’s still leaves you feeling a little annoyed that it can’t switch itself. The construction is suprisingly nice. One of my requirements for any phone is that I be able to shove it in my back pocket and sit down. Yes, I am exceedingly careful about making sure the glass is pointed inwards. But, I would never feel comfortable doing that with one of those first gen iPod nanos for example. Those always felt like I’d snap them. And, even if that’s just perception, it’s an important one. You don’t want to feel like your phone is a piece of glass that needs to be wrapped and coddled. It needs to feel like a tool you can pull out, set down, sit on, and generally use without worry. The G1 totally succeeds on this front. The camera is… annoying. Don’t even attempt to take a picture of a non-sleeping cat with this. Click, wait, wait, wait, wait, get coffee, wait, go pee, wait, *snap*. Oh look, you got the blurry tip of the tail as it walked slowly out of the frame. It’s nice that during that time it’s doing some physical moving of the lens to auto-focus on whatever you’re pointing at, but still. Also the button. The button is awkwardly placed when the keyboard is closed, and downright difficult when the keyboard is open. The lens is right under your left hand as you hold it. You will, sooner or later, sit there wondering why the screen is dark when you open the camera. It’s because your finger is over the lens. And last, but not least, is the plug. I hate that plug. So, it’s powered by a mini-usb, which is convenient. Charging, and mounting as a USB device all in one. BUT, that’s the only “orifice” on the device. Like most of the smart phones it’s got crap battery life (about 24 hours), so I frequently find myself wanting to charge it AND listen to music, but I can’t. I can do one or the other but not both, unless I want to listen on the little speakers, which no-one does. The headphones, you see, plug in to a dongle on a cord, which plugs in to the mini-usb port. Now, it’s a good idea, because the dongle has the microphone on it, which means you can use any headphones with it, and still be able to hear, and speak with people on the phone. The problem is, that the microphone, is on the dongle near the device and not up high on the headphone cord near your head. If you want to talk to someone you’ll have to clip the mic up by your face. By default, if I stick the phone in my back pocket, and use the headphones that come with it, the microphone is right at crotch level. And, while you *can* use any headphones with it, you won’t want to because they’re the length you need them to be, but the cable / dongle thing that comes out of the phone is almost 3 feet long, which means your “nice and long” headphone cords are now about one mile too long. And, if that wasn’t bad enough. You simply can’t use the keyboard in the standard thumb-keyboard position while it’s plugged in (or has headphones attached). The plug prevents your right hand from gripping it. However, I find that If, I hold it so that my hands are coming down from above, instead of holding it from the edge like you’d hold out a plate, and let the cord go between my second and third fingers, it works fine. This is, of course, totally bullshit. The headphones that come with it are ok. Decent mids and highs, crap bass, and quite possibly the most tangley earbud headphones I’ve ever owned. Also, they keep wanting to fall out of my ears. I’ve never had a real problem with earbud headphones, but these just don’t work well with my ears when I’m walking. The built in apps all work really well. I have some weird issue with the browser where, after a search I occasionally find myself on a Google page with no search field and no results. Also, there’s sometimes a bit of a pause, which is especially noticeable when pulling down the menu-bar. If you’re not aware, many apps will give you notifications that show up in the menu-bar across the top. You pull this down with your finger to get the details, and/or to switch directly to one of the apps that left you a notification. It’s a nice feature once you get used to a menu-bar being something you can interact with, but frequently I’ll pull it down and have to wait 2 seconds for it to give me any indication it recognized my action. So far, you’re probably wondering how I could posssibly love this phone. And if the annoying bits, which every device has some of, was all there was to it, I wouldn’t be so thrilled. I mean, overall, using it is a lot like using the iPhone only not *quite* so polished. Which is pretty much what I expected going in to it. Actually, going in to it I thought it would be less polished than it is. Then I got to play with a friend’s, and realized that once you get past the lack of sexy makeup on its interface, it’s actually quite nice. And that, brings me to this mornings realization, which is what made be get off my butt and write this review. There is something incredibly powerful about *touching* your e-mail. *Touching* your photos. Email stops being “those messages on the computer” and becomes *my* e-mail. It’s *mine*. It’s right here. I can touch it. I can stick it in my pocket and take it with me. It doesn’t live in a box that’s so unquestionably separate from me. Now, I had a Sidekick before this, so I had my email in my pocket, but I didn’t care. It was nice to have access to it wherever I was, but I never had this visceral feeling of *mine*. Also, i never *wanted* to read e-mail on it. I just did when I had to, or was very bored and stuck on the subway. On Android, and I suspect the iPhone. You *want* to touch *your* stuff. You want to slide things around. The kinesthetic interactions that we’ve been largely ignoring in computing for years have incredibly powerfully subconscious ramifications. Speaking of my photos, once you take some, or download some, or get some onto it in any other way, they’re very well integrated. Take a pic of someone, go to set it as their icon, which shows up on the screen when they call you, and Android will pre-select all the faces in the image for you. Then give you nice cropping tools if you want to tweak its selections, or use some other part of the image. Everything shoves images in the same place so everything that consumes images knows just where to look. The interaction between apps is really nice. Really, really nice. It’s trivial for one app to hand tasks off to some other one. A simplistic example is the camera app. It *just* takes pictures. If you want to look at pictures it seamlessly hands you off to the Pictures app, without you even realizing you’ve moved to a different app. And, dealing with pics, for example, is so nice that I want to go around taking pics of everyone I know, not so that I’ll have their pics, although that would be nice, but so that I can see their face when they call AND so that I can go through the fun little process of taking the pic, choosing a contact to add it to, and cropping it to just their face. It seamlessly takes me through three apps and is kinda fun. And that brings me to developing for Android. Developing for android is *awesome*. There are tons of open source examples to get you started, including the code to all the built in apps. Want to know how the mail app does something, go look. I’ve learend so much reading the code of the example apps, and the built in ones. The APIs seem, so far, very sensible. Unlike the iPhone it’s multithreaded, so your app can be happily doing some background tasks while the user is fiddling with something in the foreground. The emulator is really nice, and best of all, you do not need anyone’s permission to put whatever app you want on your phone. And I assure you, it’s freaking awesome to have *your* app running on *your* phone. Especially when you had so much fun making it. Working on Android apps has been a total shot of adrenaline to my coding brain. I can’t wait to get home and work on my apps some more. It’s fun. And, I know that when I’m done other people will be tapping and pushing on my icons in my apps. And if I’m really good, I’ll be able to look at someone with an Android phone and say “You’ve probably got some of my stuff on there right now.” and that would just rock. Unlike iPhone. It doesn’t matter if Google doesn’t like your app, or it competes with some app they wrote. You don’t need your app to be in the built-in marketplace in order for someone to download and install it, although it’d be nice. You can stick it on a web site with a download link just like any other file. You could probably even e-mail it to someone. Yes, the user has to manually click it, approve the access it’s requestiong (contacts, internet, etc) and install it, as they should. If you weren’t aware, every developer writing an iPhone app runs the risk that after pouring months of development into their baby, Apple with say refuse to put it on their marketplace, and they’ll be left with nothing. With android you can either pay $25 for the ability to upload apps to the marketplace, or your can say screw it, and distribute it through whatever method you prefer. The killer development environment, in a language that millions of developers know, and use in their day-to-day work (as opposed to some obscure C variant that essentially only gets used on Apple products), combined with an unrestricted marketplace, means there is absolutely no question that we can expect to see some truly extraordinary apps coming out for Android. In the end it’s a great product, but, from an end user perspective, it does still feel a little version 1.0. From a developers perspective, there’s no question. You *want* to be developing for Android.


The hyprocisy of Amazon

Don’t get me wrong, as a customer I love Amazon. But their recent policy towards mobile devices is BS. In 2003 Amazon said

“…wireless users find themselves living in an increasingly mobile world. Mobile phones are a commodity. Users have grown accustomed to staying connected while on-the-go. As smart mobile device penetration grows, more and more users are expecting their devices to provide anytime, anywhere connections to data services and information.”


Switching to the G1

There’s something inherently wrong with cell phone companies these days. Case in point: my switching from a Sidekick to a G1 today, or, more specifically, my attempt to. Since I had a Sidekick I already had an account with T-Mobile, so switching to a different phone should be a non-issue. Just pay the money, update the account, and voilla. Or… not. It seems that killing my Sidekick’s service was almost instantaneous. Of course, in the process I lost all the data that was in it, but I knew that was going to happen, even if it is stupid. I’d already paid the $10 to get the Intellisync app to sync it with Outlook (first time i booted into windows in probably 2 years), and then exported that and imported it into GMail so that it would be ready for me when the new phone got activated, and that brings me to what’s wrong with cell phone companies. Switching my account to G1 data services from Sidekick wasn’t an issue. But then the real problem arose. Even though I took the sim card out of the Sidekick and put it in the G1 I couldn’t do anything with it. It just says:


Bio Zombie [Movie Review]

image Wonderfully Terrible! This is not a movie that’s so bad it’s funny. No, every moment of camp and comedy is intentional and successful. Without a doubt this is the best campy zombie comedy I’ve ever seen, and, unlike many films, the trailer gives you a very good idea of what to expect. The dialogue is simultaneously well written, and intentionally terrible. The makeup is bad, and it doesn’t matter in the least, actually it may add to the humor. With protagonists named Woody Invincible, and Crazy Bee, and the Sushi Boy in love transformed into a zombie in love, you can’t go wrong, well… you could, but they didn’t. “What about Shaun of the Dead?” you ask. Shaun’s a favorite of mine, but it’s not a cheesy campy film. Plus, with Bio Zombie you get “Engrish” subtitles and bad dubbing. Actually it’s dubbed well, but there’s been no attempt to match it to the lips and the intentionally bad dialogue makes it like watching an old kung-fu flick. We thoroughly enjoyed watching it with the dubbing AND the Engrish subtitles for added humor. If you’re looking for a campy zombie film to laugh at with your friends, this is an excellent choice.


World Trade Center [Movie Review]

World Trade Centerimage: directed by Oliver Stone and Starring Nicolas Cage Summary: The movie was essentially: We’re cops. Oh @#$% we’re trapped! Hooray, a marine! And, the occasional “Where’s my husband?” Details: I was in the mood for some pathos, but from a source that wouldn’t leave me depressed for days. I figured World Trade Center would follow Nicolas Cage, who plays a Port Authority Police officer, as the WTC was hit, he would encounter some unexpected difficulty in his attempts to rescue people, and ultimately prevail over it. And while technically that’s exactly what happens, I was also expecting something of a typical story arc along the way. Instead, we have a few minutes of establishing shots in which we learn that he gets up early, has a lot of kids, and is generally looked up to at work. The WTC is hit, he grabs some men and starts foraging for the air tanks they’ll need, and then the building falls down on him. From that point until about two minutes from the end we can only see his face poking out of the rubble. He’s twenty feet below the debris, and two of his fellow officers have survived, although one dies pretty quickly. The other one, who we can actually see a whole head and arms on keeps him company, when not hallucinating jesus with a water bottle. They chat about nothing in particular just to keep each other from falling asleep, and we have flashbacks of totally mundane life events interspersed with shots of their wives and families being generally upset that no-one knows what happened to their men. Somewhere along the way an ex-marine is watching on TV in his office, says something to the effect of “You may not know it, but we’re at war now” goes off, gets a military haircut, and spends the night looking through the rubble for survivors even though they’ve called it off until morning. Our survivors are found, dug out, wives cry, the movie ends. Nobody overcomes anything, beyond not dying for over 24 hrs with internal bleeding. <sarcasm>Obviously, I was terribly moved by this. </sarcasm>