Wolfram Alpha iPhone App Pricing

There’s a lot of hubbub going around with respect to the price of the new Wolfram|Alpha iPhone application.  At $50, many are calling it insane, particularly since Wolfram|Alpha is free on the web, and thus the iPhone can use it via Safari.  There’s even a mobile-optimized version.

Those things are true, but I’m personally much more likely to use an app with direct access via Wolfram|Alpha’s API than I am to use a web version.  Particularly on Edge, which I face anytime I leave my house, the difference in amount of data transmission is important, as is the "snappiness".  Optimization for use with the iPhone’s native controls, editable history, and integration with my other iPhone apps and services?  Sold.

Is the price wrong?  Yes, for everyone except people like me.  And I think Wolfram Research priced this app knowing exactly who they were and weren’t selling to.

Handy Keywurl Expansion for Google Translate

If you use Safari and aren’t already using Keywurl, you should be.  For those that are, here’s a handy expansion for using Google Translate to translate a web site into English:

http://translate.google.com/translate?&u=,Query 3,&sl=,Query 2,&tl=en

Cut and paste the above into the Expansion box and apply to the keyword of your choice.  Use the shortcut, the two letter abbreviation of the source language, and the URL you wish to translate.  For instance, I chose "gt" for my keyword, so to display the Zócalo Saltillo newspaper in English, I’d type the following into the address bar:

gt es http://www.zocalo.com.mx/

If you need to specify both the from and to languages, you could always use:

http://translate.google.com/translate?&u=,Query 4,&sl=,Query 2,&tl=,Query 3

And then use as (to display the above site in German):

gt es de http://www.zocalo.com.mx/

Aggregating by Topic vs. by Source

This entry should not be taken as a strict review of Tweetie, as I’m sure it’s great for people who are into socializing with social networks, but my use of this new application is what spawned these thoughts.  Specifically, it is an example of how a tool (Twitter in this case) can be used by people in such dramatically different ways that high-quality applications made for that tool can still be complete failures for the individual.

Wrong Assumptions

Tweetie, like many Twitter clients, starts with the assumption that you both follow other users and that everything said by those whom you follow is possibly relevant to you.  For me, this is a complete failure.  I have no interest in using Twitter for social networking - I use it for work, and that’s it.  The only accounts I follow are those directly related to EllisLab (and one upstart account that I want to keep an eye on to see what it’s all about).  I use Twitter to both broadcast and aggregate information for my job from that data source.  That means that I’m interested in aggregating, not people, but content that relates to ExpressionEngine, CodeIgniter, EllisLab, etc., regardless of who says it.

Signal to Noise

A real-world example: I’ll pick on Michael Boyink.  Boyink, creator of of Train-ee.com, often speaks about ExpressionEngine in his Tweets, and responds to others who might be asking about it.  In Tweetie, to have easy, instant access to this information, I’d have to Follow Boyink, which means I now have to filter his posts about ExpressionEngine out from the dozens of other tweets he writes about Jeeps, his family, life in Michigan, etc.  It also means that Tweetie is going to prompt me to open the app whenever he tweets anything regardless of whether it’s content from him that I’m interested in or not.  For me, this is noise.  He’s entertaining, and we might have conversations about these things outside of that context, one-on-one, but it’s not the signal I’m looking to receive from Twitter.

With one or two people, you can easily scan and it’s not that big of a deal.  But our EllisLab account is following 603 accounts at the moment.  To be useful to me, this content should either never be displayed to me or should be dismissible with a single click or a hot key, and certainly never prompt me to look at it.

But Tweetie Has a Search Feature

Yes, Tweetie supports searches.  I maintain searches on a variety of keywords, and in Tweetie this translates to dozens of new windows to hold each search.  Yuck.  Could they not have used tabs?  Worse yet, the searches are not persistent, meaning if you relaunch the application, you have to set each one up again.

And speaking of multiple windows, I’ve heard many people rave about it, but having message composition in a new window is a backwards step for me as well.  A new window is appropriate for email, because the content can be long, you may want to refer to other emails, save as drafts, etc.  Twitter is limited to 140 characters, and is much closer relative to instant messaging.  Can you imagine how annoying it would be if in order to instant message someone, you had to open a floating dialog box?  How Windows ME is that?  It annoys me no less in Tweetie.

Why not use Tweetie for tweets and RSS for Twitter searches?

For me, the data source is important.  Information gained from Twitter is not equal to information gained from the web sites whose feeds I subscribe to in NetNewsWire.  I tried it thinking I’d really like it, and Twitter searches felt so out of place, it’s silly.  It also further fragments the information I’m trying to receive by using two different applications to access the same data source.  And I don’t want my Twitter sourced information updated at the same frequency that my site feeds are.

Tweetie is not all bad

Since some might find this entry after searching for reviews on Tweetie, I’ll include a bit of positive.  It has a nice UI, seems to function pleasantly enough, can connect to multiple accounts, and separates them nicely for you.  It makes it easy to follow a message to its source to glean more context, as deeply as you’d like to dive.  It’s probably great for people using Twitter as a social network, perhaps the leader currently in quality of Twitter apps.

So what am I using?  Right now, EventBox, as it meets most of my needs.  It has a lot of useless stuff, though, since I do not use Facebook, Google Reader, Flickr, or Reddit.  And it can only access a single Twitter account, which is painful.

Topic vs. Speaker

The sum of this story is, that I must be in a tremendous minority, but I can’t imagine that I’m really the only person out there that wants to use Twitter to connect to content, and not to people.  There is a distinct difference in aggregating information based on what’s being said versus being based on who’s saying it.  Someday the right application will come along.  Right now, for me, it’s not Tweetie.

Diggbar Blocker

Inspired by John Gruber’s "How to Block the DiggBar" entry, for anyone that would like it, here is an ExpressionEngine extension that will allow you to show a standard error message with the content of your choice if your site is visited via a DiggBar frame.  In the message settings, use @@@ to substitute for the URL, so for instance you could display the message:

[html4strict]Sorry, Digg is trying to show you my site in a frame.  Open this link in a new tab or window to see the content you were trying to reach:

@@@[/html4strict]

Update: For those unfamiliar with Extension installation, here’s what to do after downloading:

  1. Place ext.diggbar_blocker.php in /system/extensions/
  2. Place lang.diggbar_blocker.php in /system/language/english/
  3. Visit Admin > Utilities > Extension Manager and enable the extension
  4. Click "Settings" to customize the message.
  5. Want to test it out?  Type http://digg.com/http://example.com in the address bar, replacing example.com with a URL on your site.

Download the Diggbar Blocker extension

Ticket to Ride

I love board games.  In me pre-teens I started playing Avalon Hill strategy board games, at the time renowned for their 100 page rule books and potential for 8+ hour long games.  I quickly came to the realization that few people shared my taste, and would much prefer Outburst, Scrabble, or Phase 10.  I’ve wanted to play Settlers of Catan for years, but knew I did not have the minimum 3-4 players who would suffer through learning it.  Today I saw that Amazon has it on sale, along with the 5-6 player expansion set.  After failing to convince myself that I could get my wife and friends to play it, I came across a different game in some of the reviews for Settlers: Ticket to Ride.

The goal of Ticket to Ride is to score points by claiming railway routes between cities, the longer the route, the more points.  At the end of the game, whoever has the most points (there’s a score track on the perimeter of the board making it easy) wins.  Unlike many other intellectual board games, the goal for victory is very straightforward, making the strategy component much more subtle, such as trying to fulfill "destination ticket" cards, or deciding whether to lay a short route now, or save up for a longer route later.

As described by one avid fan of the game on YouTube, this is a "serious" board game that is as easy to get your friends to play as UNO, with people even asking for a rematch if they lose.  Perfect!  I’m hoping that Ticket to Ride will be a gateway board game that I can use as a spring board to Settlers of Catan.  Someday.

Amazing Painless, Logitech Support Rocks

As you might recall, I’m a fan of the Logitech MX Revolution mouse.  If you’re on a Mac, it’s important to not use their software (Logitech Control Center) as it will cause difficulties, but the previous link gives an incredible alternative, to which there are many.

Recently, I’d been having some problems with double posting forms.  I suspected either my satellite internet, or something gone awry in Safari, but whatever the cause, its frequency was increasing, and becoming more than just a minor nuisance.  Triggering multiple emails to be sent, double posting blog entries, etc.  Banking and commerce?  Scary - thankfully the sites where I had double submitted a purchase had safeguards against it, and warned me.  It wasn’t until I started dropping items prematurely during a drag and drop operation that it hit me: my mouse is registering multiple clicks for a single click.  Or perhaps more accurately, the switch is going on, and then "fluttering" between an on state and off.  Text selection had become a pain.

I’ve had the mouse for probably close to a year now, and I’m definitely a heavy user, and I was prepared to go to Best Buy today and just buy a new mouse, the same model.  This mouse is too good.  On a whim after reading some posts on Logitech’s support forums of users who had a similar problem, I called Logitech’s support this morning.  They have generous hours, 6am-6pm PST Monday through Friday and 7am-5pm on Saturdays.  And it’s not a toll-free number, so I expected to talk to someone right away.

Logitech did not let me down.  Not only was I talking to a human within about a minute, the support agent was very helpful, didn’t go through a flowchart of hokie does-this-really-work-for-anybody "troubleshooting".  He let me explain my problem, asked me for some identifying information from the bottom of the mouse, asked if I had tried using the mouse’s receiver on another USB port or computer, which I had.  He immediately offered to send me a replacement at their cost, including shipping.  And I don’t even have to ship this bum one back.  Which will be useful in a pinch when I need a backup mouse that only reliably clicks with the right button.  Okay, well, it won’t be useful at all, but it’s a savings of time (and fuel) that I appreciate not having to drop it in a box and take it to a shipping carrier.

Well done, Logitech, you’ve pretty much sealed my product loyalty.

Finally Paid by the iTMS

Though my 99¢ iPhone app continues to be downloaded dozens of times per week, they are spread out through so many different locales that I did not hit the minimum dollar amount to get paid until this month, in the U.S. market.  I’m owed at least double this amount, if the other locales were consolidated.  I can understand the accounting reasons for Apple working like this, but it sure does feel like a shady way for them to make money, and interest on said money, on earnings that rightfully belong to third party developers.

image

Ignoring Line Ending Style with TextMate Subversion Diff

Are you like me?  Does it annoy you when trying to track the changes in a file’s history, and hitting one revision where a contributor’s text editor used different line endings, and the entire file is shown as being changed?  It kind of makes tracking revisions useless.  Thankfully, in version 1.4+ of Subversion, you can instruct it to ignore line endings in the command line:

[bash]$ svn diff -x—ignore-eol-style foo.php[/bash]

I tend to do all of my work in TextMate, though, so a command line option isn’t handy.  Thanks to TextMate’s open Bundle architecture, I was able to easily modify the Subversion bundle to ignore line ending style, but only when I want it to.  Here’s how:

Right click on your TextMate application icon and select Show Package Contents.  Navigate to Contents/SharedSupport/Bundles and copy Subversion.tmbundle to your desktop or another convenient location.  Right click this copied bundle and select Show Package Contents.  Open Support/svn_diff.rb in TextMate.  Around line 34 you’ll see:

[ruby line=“34”]diff_arg   = diff_cmd ? “—diff-cmd #{diff_cmd}” : ‘’[/ruby]

Below this, add the following:

[ruby line=“35”]ignore_eol = (ENV[‘SVN_DIFF_IGNORE_EOL’] == ‘TRUE’) ? ‘-x—ignore-eol-style’ : ‘’[/ruby]

And modify line 42 (now line 43) from:

[ruby line=“43”]res = %x{#{e_sh svn} 2>&1 diff “-r#{revision}” #{diff_arg} #{e_sh target_path}}[/ruby]

to:

[ruby line=“43”]res = %x{#{e_sh svn} 2>&1 diff #{ignore_eol} “-r#{revision}” #{diff_arg} #{e_sh target_path}}[/ruby]

Now in your TextMate Preferences, click Advanced, Shell Variables, and create a new shell variable named SVN_DIFF_IGNORE_EOL, and set it to TRUE to ignore line ending style, or FALSE (or any other value) if you do not wish to ignore line ending style.  Note that these are not real boolean values, but text values, hence why the TRUE in the assignment of the ignore_eol variable in modified Ruby is quoted; it’s a string after all.

Save the file, and then just double-click your modified copy of the bundle, which will install it non-destructively, and your svn diffs will now respect your preference for whether or not you care about the line endings when examining differences between files under version control.

How Expensive is a WHERE Clause?

The MySQL Performance Blog today addresses that question, and it’s an interesting analysis.  However, as the thrust of the blog is with performance, and typically with a view to real world impact, anyone reading this article needs to pay very close attention to the last paragraph:

It would be interesting, in an academic kind of way, to test different data types and various complexities of WHERE clauses, but I’m not really interested enough to spend much time on it. I just wondered whether the WHERE clause would even be noticeable.  This test doesn’t really reveal anything you can do to make your queries faster—you usually can’t optimize the WHERE clause itself, only the way that the MySQL optimizer chooses to apply the clause to indexes.

I bring it up because I just know that I will get at least one suggestion from someone who stumbles on this article that we remove the WHERE clauses from a number of queries and just let PHP wholly manage the data.  So let me be proactive and react to that inevitable suggestion: ludicrous.  Not only would you easily exceed your host’s memory limit for your PHP environment, but PHP is not particularly a sprinter when it comes to filtering and sorting large data sets.  The WHERE clause is not wasteful, it’s MySQL doing its job.

Unless you’re one of the MySQL developers looking to increase server performance in your product, this type of benchmarking is worthless.  PHP developers do the same thing though, and I’ve certainly been guilty of it.  I guess it’s the geek in all of us that harkens back to our days as children where we took everything apart to see how it worked.  It’s fun, but don’t let it become a distraction to your development and implementation, whether you’re a developer writing code and queries, or a user making implementation choices of a product that is based on these technologies.

When you start having performance concerns, don’t even bother looking at how much time is being "wasted" by operations that cannot be avoided.  Focus on the things you can change with larger scope, and it will be time well spent.  When everything is humming along perfectly, that’s when you can stop to engage in the inevitable geek behavior of taking apart the NES cartridge to see if you can rig it to give you infinite lives by snipping this one transistor.

My New Bike That I Cannot Ride

So I guess I posted some things out of order, for instance the pedals for the new bike.  Well, I got new bikes for my wife and me for our anniversary this year.  Let us say that I am lessed than pleased with the timing of an injury, one of my diagnoses yesterday being that of a broken foot.

image

It’s a 2006 (new, never ridden) Haro Shift R3.  The doctor said that I have to keep my foot from bending for about 8 weeks - since it’s a non-displaced break, I won’t have a cast.  So I keep trying to tell myself that my Shimano mountain biking shoes with their extremely hard, stiff soles would actually be a therapeutic device, and that I’d be fine to ride my bike.  Right?

Just an Average Friday

I have 19 browser windows open, all with multiple tabs related to that window’s reason for being open.  Is it time to go home yet?  Oh drat, I work at home.  Is it time to go outside yet?

WildBlue Gmail Labs

WildBlue not too many months ago switched their email over to Gmail for Domains, which vastly improved end user’s email and account management software.  I utilize IMAP with my WildBlue email account so I can have local offline access to all of my email across all of my devices.  Gmail’s IMAP implementation, though, leaves a bit to be desired.  Thankfully, the engineers at Google have just added a Lab to add Advanced IMAP controls to Gmail, which address the major bullet points.  Labs however are not available to users of Gmail for Domains unless the domain administrator has turned on new features for their domain’s users.

So I wanted to email the network admins at WildBlue, and put in a request to toggle this option on, so we can have access to the Labs tab in our Gmail account settings.  Not finding any email addresses after navigating WildBlue’s support pages, I was directed to chat with an online representative.  It went surprisingly well, I must say, compared to other company’s chat driven support.  The support agent was willing to listen to me, read the links I provided, but in the end was completely unable to help me.

This is a long standing problem with WildBlue: a Great Wall, a barrier, between not only end users and network engineers, but between WildBlue’s own staff and the network administrators.  If you call, you’ll get the same answer.  Support staff, even management, have no idea how to contact anyone at WildBlue that can actually do anything regarding network connectivity and configuration.  Needless to say, this is frustrating as all get out.

Below is the chat transcript.  My thanks to Kima for listening to me, and for taking the time to read to become educated on a topic that was obviously not in the support rep flowchart / handbook that is typical of ISP support interactions.  And no thanks to WildBlue for hedging even your own employees from being able to contact administrators and engineers within your own company.  Hopefully one of the latter will stumble upon this entry, as I have no idea of any other way to get that information to them.  The customer care department at WildBlue apparently doesn’t know how to reach you either.

Tikima_W
Thank you for contacting WildBlue Customer Service. My name is Kima, how may I be of assistance today?
Derek Jones
Hi, I wanted to contact the administrators for WildBlue that handles settings for the Gmail for domains, to enable Labs for us, please
Derek Jones
http://mail.google.com/support/bin/answer.py?hl=en&answer=29418
Derek Jones
I need to have access to the new advanced IMAP configuration settings, to optimize how I connect to WildBlue for IMAP
Derek Jones
http://gmailblog.blogspot.com/2008/10/new-in-labs-advanced-imap-controls.html
Tikima_W
Derek since this labs are created and maintained by Google. You will need to contact google’s webmaster for more assistance.
Derek Jones
No, that’s not correct
Derek Jones
WildBlue runs on Gmail via “Gmail for domains”
Derek Jones
Someone at WildBlue controls and maintains the settings for that domain, not Google
Derek Jones
Please see the first link, which provides instructions for how administrators can enable the Labs tab for the domain
Derek Jones
It will then appear under “Settings” in Gmail for all WildBlue customers
Derek Jones
If you have an email address for the network administrators, I’d be happy to email my request directly to that department, but I could not find one on the support page.
Tikima_W
Derek give me 3 min to look over these links.
Derek Jones
No problem, thank you!
Derek Jones
(If you have a non-WildBlue gmail account, you can see this tab there, as “normal” GMail users automatically have access to it)
Tikima_W
Thank you for holding Derek. I have looked over both links, and Gmail maintains all these settings, you will need to contact Google directly for this issue.
Derek Jones
Kima, thank you for looking into it, but Google is going to tell me to contact my domain administrator. That is WildBlue.
Derek Jones
Google for Domains is a feature of Google that corporations can use to run their email via GMail. But Google staff does not manage any accounts nor their settings. You set that up when you create your Google for Domains account.
Tikima_W
The labs are experimental through google, there are no settings configurations WildBlue has access to.
Derek Jones
Hang on one second please while I find the link to the step by step.
Derek Jones
It’s a setting in the main options panel for the domain adminstrator
Derek Jones
http://gmailblog.blogspot.com/2008/06/introducing-gmail-labs.html
Derek Jones
Please see the very bottom, the “Update” note
Derek Jones
“Domain Settings” is a settings area available only to domain administrators, those who manage WildBlue’s GMail for Domains program
Tikima_W
Yes I see that, however experimental labs most likely not be activated.
Derek Jones
We would have access to the Labs tab in our own Settings, and can choose to enable or disable the Labs that GMail engineers make available there.
Tikima_W
Understood, since these are experimental. They will most likely not be used.
Derek Jones
With all due respect, is there an email address I can use to contact someone who is in a position to make that decision?
Derek Jones
I’d really like to discuss this with WildBlue’s network administrators.
Tikima_W
No
Derek Jones
Ok, thank you for you time.
Derek Jones
*your
Tikima_W
You can however send an email to our Customer Dept at customercare@wildblueworld.com

Ah yes, the Customer Care department.  Which brings me back full circle to where I started.  ::sigh::

If you are or know a network administrator for WildBlue, please alert the right people to my request.  If the answer is no, that’s certainly WildBlue’s prerogative, but my frustration lies in not even being able to communicate my request to the appropriate staff.

Trailguru

The iPhone Trailguru app is free, as is the online service.  Here’s a brief rundown of what the two do.  Whenever you go running, biking, snowboarding, walking, horseback riding, whatever, the iPhone application (requires 3G for GPS) tracks your route, time, distance, max, min, average, and current speed, and elevation changes.  Handy.

Ok, now from the iPhone app, you post your tracks to the Trailguru online service, which is a rather clever use of MediaWiki and social networking, with a UI that is kind of bleh, but is quite usable.  If you don’t know me, then it should be stated that wikis and social networks have utterly failed to ever impress me.  I avoid and typically abhor most.  So when I say that this one is not only useful and compelling, that should tell you something.  Anyway, you can upload your GPS track as either private, friends-only, or public.  It will create the data, bound to a wiki article so you can write a description for it or whatever.  The coolest part, it displays it over a Google map, or you can display it externally in Google Earth.

image

Even better, you can animate it, and the map marker will follow your path along your route.  How cool is that?  You can also add photos from the trip, download a GPS data file for it, subscribe to a Google Maps / Earth RSS feed, and it keeps track of all manner of statistics for your tracks to make detailed reports and graphs.  You just can’t beat that, particularly since it’s free.

The Mojave Experiment a.k.a. See, Vista IS Good!

If you haven’t seen a television commercial for the Mojave Experiment, visit the website.

Basically, people were asked to rate Vista on a scale of 1-10, were then shown a demo of Microsoft’s "new" operating system code-named "Mojave" when in fact it was just Vista, and asked to rate the "new" operating system.  The average pre-demo rating for Vista was 4.4.  The average rating for Mojave was 8.5.

One problem with this marketing effort is the subtext.  See, you like Vista when you aren’t blinded by people’s bad perception (including your own) of the operating system!  In order to improve Vista’s image, Microsoft has created this project which essentially is saying "told you so" to anyone who doesn’t like it.  Is this really a good way to boost confidence in your product and to gain goodwill with your users?  By telling them, via secretive and covert means, that they are stupid, and not capable of making a good conclusion about the product on their own?

Second, before Vista’s release, I’d imagine that a poll after a brief demo of it would also have scored high, and no where near the 4.4 that people score it now.  You see, when you first launch and begin to use Vista, for the most part, you’ll like it.  It’s immediately apparent at first how much better you think you’re going to like it than you did XP.  As time goes on, however, that new gloss quickly fades and the rusted interior is exposed.1 Microsoft’s Mojave Experiment website even alludes to this, albeit unintentionally:

Many respondents said they would have rated the "new operating system" code-named Windows "Mojave" higher, but wanted more time to play with it themselves.

Why didn’t Microsoft allow more time?  Not only would people familiar with Vista have caught on, but any extended period of time with the operating system would certainly bring the rating down, not up.

At best, the Mojave Experiment is a way for Microsoft to address a problem created by the fact that they failed to communicate effectively at Vista’s release: that there are some neat features that should change how Windows users use their computers, and that just using the OS the same way you’ve used Windows in the past is not getting the most out of it.  At worst, it’s an insult to anyone who has spent an extended length of time with Vista and came to the conclusion that it wasn’t good enough.  Ironically, that would include Steve Ballmer who has recently said that Vista is a "work in progress".

The whole experiment almost seems like the result of a frustrated development team publicly telling off the marketing department and management at Microsoft, laying the blame for the all-but-failed OS back in their laps.  The truth however lies somewhere in the middle.

  1. I switched to Mac about 5 years ago, but currently run Vista on my iMac and Macbook via VMware Fusion whenever I need to run Windows, say, for Internet Explorer testing.  So I’m not just reporting what others have said, I’ve experienced it for myself.

Keeping Out the Riff Raff

Some sites are linking to this article from Mike Ash as evidence of what’s broken about the iPhone app creation and distribution process.  Personally, I see it as keeping the riff raff out.  Even developers who are earnest enough to go through the hoops still make mistakes.  And would anyone argue that Apple’s rejection of this app (twice) was a bad thing for either the end users or the developer?  Hardly.  Remove either or both of the checkpoints1 and finding good, working apps in the AppStore would become an even greater needle in a haystack game than it already is.

1: Time money and effort just to be part of the dev network and submit an app, along with Apple’s time consuming testing and qualification of submitted applications.

Best iPhone Apps

I’ve tried dozens and dozens of both free and commercial apps for the iPhone over the past two months, and here’s a list of my top picks, in alphabetical order:

2 Across ($5.99) - Crossword puzzles, download free puzzles from dozens of newspapers

AccuFuel (99¢) - track gas mileage of multiple vehicles with a beautiful interface

Ambiance (99¢) - looping noise of rain, waves, etc. to either block out noisy environments or to help you sleep

Beer Pad ($4.99) - the ultimate beer diary.  Store variety, price, tasting notes, ratings, etc.  Even take a picture of the label.

DieRoller (99¢) - random number generator.  Great for making up statistics!

Fizz Weather ($5.99) - no other weather app is this clean, pretty, and informative

Light (Free) - There are a lot of free flashlight apps out there.  This is the only one I found that works with a single touch and isn’t extremely goofy.  Sadly, it doesn’t appear to be in the store right now. Update: It appears the app was removed by Apple for violating the SDK agreement by overriding the brightness.  Oddly, that’s exactly why I preferred it.

NetNewsWire (Free) - best feed reader for the desktop and your phone

Pandora Radio (Free) - Make radio stations based on songs or artists that you like, and listen to them for free.  Amazing, and reportedly going out of business soon.  Get it now while they are up!

Remote (Free) - Apple’s app that lets you control any wi-fi enabled iTunes library from your iPhone.  Pair with some outdoor wireless speakers for the best barbecue experience.

Scrabble ($9.99) - timeless classic and excellent time waster for long commutes

Solebon Solitaire ($9.99) - You know you want solitaire at some point.  This is the best of all the ones I tried.  Easiest to read cards, largest variety of games, best options.

Starmap ($11.99) - identify planets, constellations, galaxies, meteor showers, using GPS to show you the night sky for your location.

TeeShot ($19.99) - Crazy easy to use course creator and downloader, track your scores and skills no matter where you play.  Can be used to keep group scores as well.  Very deep statistical analysis.  Very responsive developer.  The only golf score keeping app worth your money, and costs less than a box of balls.

Things ($9.99) - GTD / Task Manager.  I’ve tried so many of these that my head hurts.  Omni is more capable, but a tremendous pain to use in comparison.  And Things is much easier to sync to its desktop cousin.

Update: I just downloaded began using Air Sharing (Free for one more week, then $6.99).  It is amazing.  Store and view just about any file imaginable.  Even syntax highlights code!

Cloverfield

I am an extreme spoilerphobe.  If I’m interested in a movie, I won’t even watch trailers.  If I become interested in a movie because of a trailer (which I might watch if I have no concept of what a certain movie is about), following that, I avoid information about the movie altogether.  I like to experience a film as the creators intended, not necessarily as the studio intended via their spoiler-laden trailers.  So have no fear, this entry about Cloverfield contains no spoilers.  Well, no plot spoilers, there will be general production spoilers.  As a true spoilerphobe, if you haven’t seen the movie yet, I’d watch it before reading, as it will color your opinion of the film whether you like it or not.

After having finally watched it, I’m really trying hard to like it.  Like, really, really try.  I get everything that the film is trying to be, what Abrams’ intent is, and the artistic quality.  But I can’t get past its failings.

1) There was nothing gained or improved in this movie by producing it with a camera handheld primary by one of the actors.  It did not add to the immersiveness, but rather quite the opposite, it made me constantly aware of the gimmick and prevented me from allowing myself to suspend disbelief and enjoy the film.  It also dated the film, placing it firmly in the time of YouTube popularity, with the current trend of "entertainment" being created by the lowest common denominator for the lowest common denominator.  I find it unintelligent, unartistic, unentertaining, and very distracting.  I feel sorry for the DP who had to work on this project.

2) Length.  This movie is short.  Like, children’s movie short.  That should tell you something.  No, length does not define quality, but there are calculated reasons to the length of any film.  In this case, there’s a limitation artificially created by the aforementioned gimmick, the fact that a consumer DV camera with a standard tape can record just over 60 minutes.  The other reason, no doubt, is because they realized that by this point, the audience is bored, understands that they will be treated to no further exposition, and are just ready to see how it ends.

3) Points 1 and 2 are driven into your head by the extremely long and unnecessary introduction.  It’s a home video, and contains all of the junk, bad takes, and wasted tape that a home video has.  We get it.  We don’t need to see it.  We fast forward through these moments on our own tapes, even though they actually matter, they were part of our lives with people we care about.  Seeing these moments with strangers makes it even less entertaining, and even insulting.  It would be difficult to think of a more contrived way to introduce the audience to the protagonists of the film.  Video testimonials, really?  That’s the best you could do?

4) This movie is not made for my demographic.  Why is this a failing?  Because the advertising and Abrams’ previous projects have caused this film to be targeted at my demographic, and it’s far outside of that basket.  Well, most of them.  Cloverfield is not Alias Abrams, it’s The Pallbearer Abrams.  It’s Lost Abrams at the series’ low point.  Had I gone to the theater, I would have felt particularly cheated, since it’s obvious that Abrams and the studio knew what will attract my demographic, and used that to lure my dollars from my pocket.  Yes, of course movies are a commercial business, and I expect that they do what they do for money and not solely for gratification of making something compelling and entertaining.  However I hope that the latter two are part of that equation.  In this case, goodwill that was built from a few good projects and some interesting marketing was exploited.

5) There is a salvageable movie here, and as a science fiction short story, it would read great on paper.  So I’m disappointed at the execution.  From an artistic and literary viewpoint, I even like the ending, though most will feel cheated.  My problem is that aside from the ending, every thread of the movie that could have been used to engage my intellect was subverted.  The story has great potential for something much larger, but it settles for a monster movie, and falls short of both intellectual Sci-Fi and the classic movie monster flick.

I suppose in a sense the movie succeeded.  I don’t often take the time to write about a movie, but I did this one.  Kudos, Cloverfield, you irritated me enough to spend more time writing an entry about the movie than it took to watch the movie.  ::sigh::

Slow IMAP Attachments Might Not Be My ISP’s Fault

From the Mac OS X 10.5.5 update:

Addresses performance issues related to displaying IMAP messages.

Woot!  This has been a major problem for me since switching to Wildblue.  I suspect that whatever this bug was, my old low latency super fast cable internet hid the problem, whereas the latency of satellite internet made me painfully aware of it.

Oh dear, what did I just eat?

The following is directly from the label, verbatim.  Spelling (and ingredient) errors intact.  There is no chocolate, for instance.

"Strawberry Cheese Bites"

flour, chocolate chips, sugarshortening,nonfat dreid milk-soybean oil,egg whits &—-yokes,baking soda, soy flour artifical color & flavor,—whey, baking soda, salt,syrawberries

What's a Little Black Hole Between Friends?

First, researchers were alarmed by death threats from fearful observers who worried the device would generate huge black holes, despite reassurance from the world’s top scientists that any tiny black holes that did arise would quickly evaporate.

Is it just me, or does this entirely real news item sound like a sentence penned by Douglas Adams?

September 9 Apple Event Predictions

At tomorrow’s event you can prepare to see:
* Sales figures for iPods and iTMS
* A new form factor for iPod Nano - too many are reporting the "tall" version for it to not be true

Those are the no brainers.  These I’m going out on a limb:
* Insane amounts of storage on the iPod Touch.
* No more DRM in the iTMS on music
* iPhone firmware update, TomTom-like GPS navigation, cut and paste(!)

And an out of the blue One More Thing:
* Update to notebooks - Nehalem core
* Blu-ray drives on all Macs.

Yes, I’m stretching, but it’s gotta be something, right?  Rather unusual that they’re actively telling press to be there because they claim it is going to be huge.

iPhone App Beta

So I’m testing a new unnamed app for the iPhone for use with ExpressionEngine. So far so good, functionally. I’m going to have to really try to make use of the features though, as I still prefer to just use Safari so far.



This is posted via the app of course.

Edit-add: Oh gross.  Why in the world do all of these apps created for this purpose add their own typography and markup?  ::sigh::

So I'm testing a new app for the iPhone for use with ExpressionEngine. So far so good, functionally. I'm going to have to really try to make use of the features though, as I still prefer to just use Safari so far. <br/><br/>This is posted via the app of course. <div class="(removed)-footer"><br clear="all"/><p style="text-align:right;font-size:10px;">[Posted with (removed link) from my iPhone]</p><br/></div>

By taking money from other people and assembling a whole team you always run the risk of compromising your vision, which, after all, is what working for yourself is all about.

Craigslist Scammers

After posting my listing I’ve received some quick responses.  Too bad all of them appear to be scammers.  Considering that every email has a warning from Craigslist about how to avoid scammers, I can only assume that I have been hit with a common and not extraordinary amount of scam attempts.  So does anyone legitimate still use Craigslist?

I could have done this transaction with you local,but due to the nature of my job. I will be paying you the total amount of $2700 for both the shipping fee and the cost of your item. The Laptop [ed. note: I’m not even selling a laptop] for my son’s birthday gift that traveled to West Africa for research

am buying the item for my son in abroad,and i will be paying you through paypal

Here are the email addresses of the replies that I can 100% confirm are scammers.  Why am I putting them here?  So if someone else Googles for them after receiving an email, they’ll know that that email address was associated with attempted scamming in the past.

ritajenny_kiwi@hotmail.com
100.jjken@gmail.com
yomij7@gmail.com

 

DieRoller 1.1 Released

Not much changed here in this free update, as I’m really happy with the UI and simplicity.  The update adds to the number of dice selector so you can roll as many as 10 dice now instead of 6.  This should better accommodate those who want to use this for games like Risk where tossing a few extra dice might be necessary.

It will also be interesting to see what effect being on the front page of the "All iPhone Applications" page for day will have, as Apple includes updates as releases.  DieRoller didn’t have this slot when it was first released, as it was reviewed and approved more than a week before the store contract was processed, so it’s release date had it like on page 14 the day it actually went live.  It’s had steady (but not massive) downloads every day, but I suspect today will have a minor spike.  At the end of August, after double checking my contract terms, I’ll post the details with some interesting statistics.

Grab the update here!

Business Lessons from Netflix

Me: I’m on a 1-a-month gifted plan, and we’d like to pay to upgrade to the 3-a-month plan, but my billing cycle began two days ago.  Can we pay now so we don’t have to wait a full month for this to go into effect?

Rep: No, unfortunately on a gifted plan there’s no prorated upgrade.

Me: Seriously, is there a manager override to allow me to pay you the extra money for this to take effect?

Rep: No, I’m sorry, you’ll have to wait.

Me: Don’t you find it odd that I want to give you money now, but you won’t take it?

Rep: No, I’m sorry, you’ll have to wait.

Me: So what if I cancel my account and reactivate, can I select the 3-a-month plan immediately?

Rep: Well that would be your choice, but you’d lose the rest of the term of your gift plan.

Me: You mean the one month I have left that I’d have to wait anyway for the upgrade to take effect?

Rep: Yes, you’d lose that. Your choice.

/me hangs up

/me cancels account

/me reactivates account

/me checks queue, shows 3 movies shipping today

Businesses take note: Do not create or enforce policies that make it difficult for customers to give you money.  Sheesh.

DieRoller for iPhone Is Live

Well I made a simple iPhone application a couple weeks ago; it was approved rather quickly, but the contract took awhile to process.  It’s called DieRoller, does what it says, and does it quickly, clearly, and cleanly with no fuss.  You can find it in the App Store.

Sixteen Pound Butt

So I picked up a 16 pound Boston Butt pork shoulder at Sam’s this weekend for my next barbecue / smoking adventure.  It is a behemoth slab of meat and I can’t wait to light up the fire.  I just need to decide what type of rub recipe I will use on it, whether or not to inject it, and if I want to do the whole thing as pulled pork or if I want to try to do some as sliced.  Pulled will definitely be more forgiving, and will ensure that the 16 pounds feeds a lot of people.  And I’ll need to cut it into 4 smaller slabs or it’ll take 30 hours instead of 10.

BlogWriter Part Deux

BlogWriter for iPhone has been updated to version 2.6, and the bug where the keypad would cover your text area has been fixed, which was the biggest concern in my previous review.  Also added is better support for UTF-8.  The app still has a long way to go before I would consider using it to publish to my site from my iPhone instead of just going to my site’s control panel, but it has been improved.  It also still only supports MetaWeblog proper, that is to say, one content field only.

BlogWriter for iPhone

I’m posting this entry from my iPhone today, using a new app called BlogWriter.  It works, kind of, though it’s abundantly clear to me that to be great, such an app really needs an improved way to enter URLs, and needs to not cover up the text of your post with the keyboard.  It’s impossible to see what you’re typing past one or two sentences.  I had to edit this in my normal control panel after submitting with the iPhone, because after the words "such an app", my typing was all taking place behind the iPhone keyboard, completely obscured, with no way to scroll or move things out of the way.

On top of that, it’s a poor implementation of the MetaWeblog API, as it only supports one field.  For a $10 app, this really isn’t acceptable.  Or a free app for that matter - a distributed app should do what it advertises, regardless of the price.  Oh well. :\

Update: I was reminded that the default MetaWeblog API does in fact only have one field.  I’ve just never used it in a context outside of the Moveable Type API which extends the MetaWeblog API to allow four fields.  My apologies to the application author, as on that particular point, it does in fact do what it says, though it would be infinitely more useful to support the additional fields that the aforementioned extension to the API affords.

Cuil Is Not So Cool

The new search engine, Cuil, from some ex-Google peeps, is horrid.  I see a lot of bloggers fauning because, well, it’s the hip thing to do, Cuil’s new, and because Cuil is challenging The Establishment, i.e. Google and Microsoft.  Well fine, praise their boldness and their politics, but don’t let that color your view of how the service actually works, because it works horribly.

First, the 2 and 3 column layouts not only look horrible in a respectably sized browser window, but it’s incredibly difficult to scan to find what you’re looking for, especially when page titles end up on multiple lines.  The attempt to associate an image with each result is even worse.  Sometimes it will pick a random icon or image from the actual site, and sometimes it will slap down a maybe relevant image from some other random site, giving the impression to the end user that the image is relevant to that search result, when it’s not.  Example: my picture is associated with the ExpressionEngine wiki…wha?

image

Next we have a wrong image associated with the EllisLab blog, and an example of the often funky text handling of the page titles.  The ampersands you see below are all &nbsp; in the markup.

image

Lastly, this stranger is yet again associated with the wrong site, this one.  Odd since Cuil obviously figured out my association to ExpressionEngine, but it can’t make that association for my own site?  Also notice the URL.  For about a month when I was changing domains, that would go to an Apache generated 404.  Now it is a permanent redirect to derekderekderek.com.  I don’t know when the index was made, but either behavior is incorrect for a search engine, whether Cuil spidered my site when it was a 404 or a 301 code.  Definitely not friendly for site owners, and will lead to loads of incorrect content in their index.

image

I didn’t have too look hard for these examples either; it’s par for the course.  Do a few searches on content that you know will bring up sites that you are familiar with, and you’ll readily see the resource matching issues and the page title malformation.  And sadly there’s no way to customize the output beyond their classified ad multi-column approach.  That might be forgivable if they were liquid and filled your browser based on its width.

The goal of a search engine is to get me from the idea in my head to relevant content as quickly and accurately as possible.  Cuil does not fit that bill in any size, shape, or form.  At least they don’t have a big "Beta!" badge on the front page, though in this case, perhaps that would be entirely appropriate.  I hope they get their act together on the presentation of material, because their goal I must admit, on paper, is noble.  Relevance is supposed to be determined solely on content, and they do index more pages than any other engine.  Of course, if they’re counting things like associating my content from derekderekderek.com with koruproductions.com as additional pages or sites despite the fact that that domain has always used proper HTTP status codes, their number is wildly inflated.

2 iPhones, 2 Macs, 1 iTunes Library

The technical and security limitations are certainly well understood here, so Apple can’t be blamed, but it is annoying to have a household with two iPhones, an iMac, and a MacBook, coupled with a desire for separate user accounts for family members, but with a single iTunes library.

Sharing the music between Macs works great with zero config.  Sharing the library between two user accounts on a single machine works fine if you select a shared location for the library.  Using two iPhones syncing different material on a single machine works great with zero config.  But any combination of the above, and things get hairy, very quickly.  If I come up with some clever solution, I’ll be sure to share it.  Surely my situation is not so unique.  There must be many such Apple Households where each family member has no desire to share each others’ desktop, documents, contacts, calendars, and email, but wants to share music and iPhone Apps.

iTunes Equalizer Presets

In case you didn’t know, iTunes has an equalizer, and it’s extremely helpful.  You can turn it on and change its settings by opening the Equalizer palette window from your iTunes Window menu, or by pressing opt+cmd+2 (alt+ctrl+2 for Windows).  If you’re on a laptop, you can use it to get the most out of your tiny tinny speakers by using the "Small Speakers" EQ setting, or the Vocal Booster if you’re watching a tv show or movie.  I use "Spoken Word" quite often both on the laptop and on my nicer external speakers attached to my iMac when I listen to podcasts.  Following that, "Rock" and "Electronic" get the most usage, and to my ears it shapes the sound in a noticeably pleasant way.

And I don’t know how I always forget about this, but you can set Equalizer Presets on a per-song basis.  Just Get Info, cmd+I (ctrl+I for Windows, or right click > Get Info on either platform), go to the Options tab and select the EQ preset.  No more fiddling with it in between songs.  Even better, select an entire group of songs or album, Get Info, and set them all at once.  The EQ will then automatically shift to that setting whenever iTunes plays that track.

image

EllisLab Technology Architect Position Available

There’s an opening on our development team for a new Technology Architect:

The Technology Architect will have responsibilities covering many aspects of software development, from maintaining the current code base for ExpressionEngine and CodeIgniter to developing new tools and applications under the direction of the CTO. The Technology Architect will also be required to help keep documentation for products up to date.

The Technology Architect is a full-time position (part-time is also available).

no-www Certification

I’ve not used www in my sites’ URLs for at least two years, as it’s a subdomain that isn’t needed, and is downright goofy to say, type, and use.  And don’t even get me started on what a retarded acronym it is.  World Wide Web?  Sure perhaps in the late 80’s early 90’s when a network administrator wanted to make it clear that their servers ran a web server in addition to FTP or other services, but now?  ggg: Goofy goofy goofy.  I think I prefer the Chinese direct translation: Ten-thousand Dimensional Net.

So when I stumbled across no-www.org today, I felt compelled to validate and register my site with them, and since accessing my site with www. still works, you just get redirected to my domain sans the goofiness, I am at a Class B compliance level, and is now reflected in my side bar.  If you want to join in and aren’t yet compliant, here’s the .htaccess I’ve been using.

[apache]
# forcably remove www
RewriteCond %{HTTP_HOST} ^www\.derekderekderek\.com$
RewriteRule ^(.*)$ http://derekderekderek.com/$1 [L,R=Permanent]
[/apache]

Eliminating Benchmarking and Hooks in CodeIgniter for Speed Improvement

Out of curiosity, I did a few tests on PHP 5.2.5 locally to see if the already zippy CodeIgniter could be sped up or made more efficient by removing Extension Hooks and the Benchmarking class, which occasionally get criticized for always being loaded and called even when the user is never taking advantage of the two classes.  Hold on to your hats…

My controller is simple:

[php line=“12”]$this->output->enable_profiler(TRUE);
echo ‘Hi there!’;[/php]

And the results:

[php]/*
NORMAL
Total Execution Time 0.0172
689,672 bytes memory
NO HOOKS
Total Execution Time 0.0153
666,536 bytes memory
NO BENCHMARKING
Total Execution Time 0.0179
685,360 bytes memory
*/[/php]

Now of course, the Heisenberg uncertainty principle is at play here, particularly with the last test.  How can you test the speed gain of the removal of code that measures how long the application takes to run?  I removed the class call, and replaced the markers where it measures the start and stop of application processing with microtime() and did some subtraction.  Not a whole lot less than what the Benchmark class does itself, but it is removing the class and overhead of the calls to it, hence the fractional drop in memory consumption.

Your results may, nay, will vary, and these things are always impossible to make firm statements about, but I think it sufficiently demonstrates that if you are worried about either of these two classes making your application inefficient, that you’d do better to look at and worry about your own application code, and having a quality host, both of which will certainly have a measurable impact on your site’s performance.

ExpressionEngine 1.6.4 and CodeIgniter 1.6.3 Released

ExpressionEngine version 1.6.4 has been released, and so has CodeIgniter version 1.6.3.

These are both security and maintenance releases recommended for all users.  Big thanks to CI community member Pascal Kriete (Inparo), for helping us identify and patch up a potential cross-site scripting vector.  He showed both a tremendous aptitude for security issues, but also a mature responsibility in how he chose to communicate these issues he helped find.  Definitely a CI community member to keep your eye on.

My Day With the New Spaces

If you’re just looking for the quick opinion and don’t want to read on, here’s the verdict: the new Spaces behavior in OS X 10.5.3 is golden.  I’m a 24-hour convert.

Spaces is of course, one of Apple’s features new to OS X 10.5 Leopard that allows you to have multiple virtual displays that you can switch to at will.  Apple did not invent this concept, as it’s been around for quite some time as "virtual desktops" in most Linux GUIs using a "pager" to switch between desktops, and on Windows with third party applications that function similarly to the Linux take on it.  Apple does innovate often, creating small features that truly change how I use my computer (Exposé, Quick Look, Time Machine, spell checking and correction OS-wide).  But when they adopt an existing technology, they traditionally transform it into something elegant that also fits that pattern.  In its original incarnation, Spaces didn’t do that, at least not for me.  It felt like a me-too feature taken from other GUIs, that while useful in concept, did not bring Apple’s touch of elegance and usability to make it worthwhile.

Essentially, Spaces’ virtual desktops separated things by application, not by task.  So a jump to Safari would pull you away from your current workspace and into one where Safari was already open.  I tried, really hard, to use Spaces to help me be more productive, and after forcing myself to use it for a couple of days, I dropped it and disabled it.  In order to use Spaces, I had to think about using Spaces.  A solid and useful OS feature should blend into the background and your subconscious, and simply exist, and help you be productive.  It shouldn’t be something you have to think about using, taking mental clock cycles away from getting things done.

Well, enter the new checkbox option in the Spaces Preferences in 10.5.3 labelled "When switching to an application, switch to a space with open windows for the application." John Gruber’s piece was the first place I read about this new change, but my previous experience was so sour I was skeptical. It wasn’t until yesterday that I decided to try it again, disabling that checkbox.  I commented to Derek Allard that it sure would be nice if I could make certain windows persistent across all Spaces, since it would be a pain to switch to another Space to answer every instant message that I receive throughout the day.  And of course, Apple has you covered there, allowing you to assign applications to specific Spaces, or to exist in every Space.  This is not a new feature, but combined with the behavioral change, it became the perfect blend-into-the-background feature I was looking for.

I now have four Spaces, one for Mail and NetNewsWire, one for my main browser and current tasks, another with CodeIgniter in TextMate with browser windows open to that local install, and a fourth with ExpressionEngine 2.0 in TextMate with browser windows open to that local installation.  Adium floats with me to all Spaces.  And if I open a link in Mail or NetNewsWire, Safari will open in that very space instead of jumping to another.  I used to use the Dock heavily for application switching, but I find my hands leaving the keyboard even less now with a simple, ctrl+arrow to switch to a different Space.  I still use the Dock on occasion, and clicking it will activate the application in the current Space, and successive clicks will take me to other Spaces that that app already has open windows.  I love it, love it, love it.

So that’s the long version.  Spaces with its default behavior is a no-go for me, actually making me less productive by forcing me to work the way Spaces wants me to work.  The new optional behavior makes Spaces behave exactly as my mind expects it to, and has empowered me to separate virtual desktops by task, not by application.  I’m contemplating adding two more Spaces right now, and giggling at the idea of six+ 24" workspaces at my disposal.

Life is Like a Bowl of Cherries

Our very kind neighbor has a plethora of fruit trees, including a North Star sour cherry tree.  Their trees produce more fruit than they can use, and they have graciously allowed us to pick and consume what we would like to use.  And the birds and deer still have enough to get their full share.  In just a few minutes, Rochelle and I had gathered about a gallon of these tart beauties.  Click for the full size, less optimized version to see the true color and brilliance!


image


image


image

MySQL Multiple UPDATE Speed

[mysql]UPDATE foo SET bar = ‘bat’ WHERE bag = 1
UPDATE foo SET bar = ‘tab’ WHERE bag = 2
UPDATE foo SET bar = ‘abt’ WHERE bag = 3
...x10000[/mysql]

~20 minutes.  And on a busy server, no doubt a plethora of table locks.

[mysql]UPDATE foo SET bar =
CASE
WHEN bag = 1 THEN ‘bat’
WHEN bag = 2 THEN ‘tab’
WHEN bag = 3 THEN ‘abt’
...x10000
END[/mysql]

4.27 seconds.

::tucks away note into hat::

Outdoor Office

Sixty-six degrees currently, high of 77 later in the afternoon, nice breeze (keeping insect at a minimum), plenty of bird friends, and 802.11n wireless that works flawlessly from over 125 yards away - the perfect office.

Update: I have to share for you to be able to appreciate it.

image

image

image

Wildblue and SSL

I don’t know if this is just a problem with Wildblue or with satellite internet service in general, but I’ve come to the conclusion that it just cannot handle SSL connections very well.  Slow, slow slow.  Sluggish.  Like a wet sponge.  I’m sure that is why I have problems connecting to the PS3 online store and the Rock Band central server for song downloads.  But it affects banking sites, online shopping, reservations, secure web mail, which I originally thought was site-specific connectivity issues, but as the list keeps growing, that is the one common factor: SSL.