Pensieri di un lunatico minore

29 September 2008 Mac

Tagged: clue

Nick Santilli asks where’s the easy access to tagging in OS X?, and while he spends a few minutes talking about whether it’s desirable or not, he seems to miss the point—but just barely.

We tag bookmarks, photos, applications, blog posts, and on and on and on.

Who is this “we” kimosabe? I mean, I use tagging, but “we” are not typical. In the first sentence he hits on the underlying problem with his argument. Who is “we”? Who, specifically, are we targeting and talking about?

I suppose the tried and true way of doing things (hierarchical folders housing documents that you have to drill-down to find) continues to reign supreme. Is tagging at the operating system level just too ambiguous for users to grasp? My feeling is that if it were made more accessible, a definite change would begin to occur in the way people accessed their hard-drive-based files.

It might, but it might be that the mental model that people would need for tagging to make sense simply isn’t one that many people have. Folders make sense to most people. They’ve seen a file cabinet, and seen drawers and little manilla folders. What they’ve never seen is a room where you spit out words and hope that someone hands you a pile of papers back with what you want. This makes it hard for the average person to understand. Trust me, I’ve tried explaining it to people, and failed miserably. Now, that’s not to say that there isn’t some way to do it, but I suspect it’ll be quite different than what you see on delicious, for example.

When I quickly took a peek at Flickr and the tags that people had added on some new photos, I found that out of 20 of the newest photos one had two (2) tags, one had four (4) tags, one had eight (8) tags, and seventeen had none. That means 85% had no tags what-so-ever, and averaged out to 0.8 tags-per-image, but 57% of those tags were on one image.

What this tells me is that most people don’t tag. It’s not a scientific result, but it is a data point, and it’s one that’s likely more representative of the “average” person than anything else. Flickr seems to be populated with a lot of regular people, rather than geeks, and so the numbers wouldn’t be as skewed as what you might get elsewhere.

For tagging to take off, the concept needs to be clarified and representable in a metaphor that people can relate with. I’m not sure that’s possible, although certainly people are trying. In addition, I think much more is to be gained by the judicious use of latent semantic analysis in finding document relations than in expecting the average user to tag their own documents.

Just a thought of mine, though.

No thoughts

9 September 2008 Mac

Annoyances in iTunes 8

There are two things I normally have turned off in iTunes:

4 August 2008 Mac

iPhone v2.0.1

I’ve complained somewhat about problems I’ve had with my iPhone since I upgraded to v2.0. I know that I probably shouldn’t have, but I did anyway. Unfortunately, I regretted it and wanted to go back to the v1.x release. That wasn’t an option. Fortunately, this came today:

What an understatement! It seems to fix my #1 complaint: performance. Before, with my hundreds of contacts, it could sometimes take 10-15 seconds to even begin to scroll through them when I switched to that view, but now it seems nearly instantaneous.

We shall see.

2 thoughts

16 July 2008 Mac

MobileMe/iPhone issues

So I woke up this morning, and checked something on my iPhone. Overnight, somehow, inexplicably, over 1000 of my contacts in my address book disappeared. I now have 50. I had over 1100 before. WTF? This could only have happened through push.

No thoughts

13 July 2008 Mac

Push this… or issues with the iPhone v2.0

So, as with all other people who are geeks, I’ve updated my iPhone to the 2.0 firmware. Overall, it’s a great thing, and comes with a lot of nice extras. However, there’s two thigns that are totally hozed up: subscription calendars and push in general.

On my home machine, I subscribe to two different calendars: 1) my TripIt itenerary; 2) birthdays. These are important to me. I simply can’t remember anything anymore, and given my travel schedule, I need the constant reminder. As for birthdays, well, my friends all know how bad I am about remember things. No longer do these transfer to the iPhone. Before, they transfered as a “static” entry, only updated when you sync. Now they don’t even show up in any form, and that’s totally unacceptable.

The second issue is how push works, or more specifically, how it doesn’t. Lots of ink has no doubt been written, but Apple pushes this as a competitor to a full push system, but unfortunately that only works between the iPhone and the web interface, and totally ignores the desktops. If I make a change to something on my desktop, it can take 15+ minutes to show up on my phone. Not acceptable, and in my mind, false advertising.

The lack of a calendar solution is the most unacceptable though. How did a previously functioning capability stop working?

4 thoughts

9 February 2008 Mac

Time Machine issues

Generally, I’ve been very happy with Leopard on my MacBook Pro, however I’ve noticed of late that Time Machine has been getting more and more cantankerous. For example, it just finished running—it runs once an hour—and it took over 7 minutes to backup what amounted to about 7Mb of files. First, I’m not sure where that 7MB came from, as I wasn’t even at the machine, but second, that’s a painfully slow rate. I’m running this backup onto a 7200rpm FireWire drive, so it shouldn’t be that. But when it’s running it uses anywhere from 20-50% of CPU.

Looking at the logs, I find a lot of messages like this:

2/9/08 8:57:39 PM /System/Library/CoreServices/backupdEvent store UUIDs don't match for volume Silver Surfer 
2/9/08 8:57:39 PM /System/Library/CoreServices/backupd Node requires deep traversal:/ reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable| 
2/9/08 9:19:57 PM /System/Library/CoreServices/backupd Error: (-43) getting cat info for item: (null) 
2/9/08 9:19:57 PM /System/Library/CoreServices/backupd Unable to rebuild path cache for source item. Partial source path: 

Of course, that’s one of the more useless messages I’ve ever seen. I read somewhere that it might be related to Spotlight, so I tried forcing a total re-index (that took a long time), but the problem continues. Seriously, the amount of CPU burned is totally out of control, and it makes me wonder if the backups are even working properly. When I first started using Time Machine it ran quickly and painlessly. Heck, I already exclude huge swaths of my hard drive because I know they change constantly (like checkouts from repositories).

No thoughts

28 January 2008 Mac

MacBook Air conisderations

There’s a lot of talk around the Internet, from blogs to “mainstream media”, about the failings of the MacBook Air. Those center around a few things that I’d like to speculate randomly about, having no knowledge of the thought process behind them, but generally able to think about why people might make certain choices:

No replaceable batter. This observation is slightly misleading. The battery is replaceable, but not with a quick flick of the wrist. This is, as with the iPod, an amazingly vociferous complaint by many people, yet I wonder. I spend nearly every week on the road, and generally would be classified as a “road warrior”. I put in almost 100 flights last year, and in all that time, with all the delays and time in airports, I didn’t see a single person swap their battery on their notebook. That includes me.

I saw a lot of people struggling to find an AC outlet, but nobody swapping batteries on their laptop, or their cell phone. It seems to me that this is a speculative requirement that isn’t based on anything exists in any sizable fraction of the marketplace. Are there people who do it? Sure. There are people who do anything you can imagine—just wander the Internet sometime. That doesn’t mean it’s worth the tradeoff in thinness and potentially absolute storage.

Now, when it comes time to replace the battery because it’s no longer holding a charge, that’s a more realistic concern. As with the iPod, Apple offers a battery replacement service, but various articles around the Internet show how trivially easy it is to pop the case open to replace it. This is something that makes it easier for 3rd parties to provide competitive replacements. Who knows, like the iPod, they might even offer higher-capacity batteries in the same space.

No CD/DVD drive. Ooga booga. I’ve been carrying an IBM ThinkPad as my primary work notebook for 2 years now. It doesn’t have a CD/DVD in it. I have one at home that I can slide in, but I chose to replace that with additional storage (lots of VMWare images). About once every month or so, I need to pull something off a CD that a vendor gave me. That means either I need to have someone else do it, and stick it on a USB token/file server/etc., or I simply tell vendors to stop giving me useless discs. Seriously, this is a non-issue, just as the obsession over floppy drives in the original iMac was a bigger issue in the pundit’s mind than any normal human being.

Lack of Broadband Wireless. This is potentially an issue, but I look at it from two perspectives. First, whoever Apple used to integrate WWAN access, the pundits would have complained that their pet company wasn’t included. Second, with the obviously impending release of a 3G iPhone, the ability to tether the two together seems not only obviously, but stupidly obvious to me. Apple doesn’t support that Bluetooth profile right now in the iPhone, but then again, the EDGE network isn’t that fast. Trust me when I say you don’t want to try and run an IPsec VPN over EDGE. UMTS? Sure. It’s coming. Apple doesn’t let you sync over Bluetooth either, but can you imagine how the pundits would howl at how slow it was to sync a movie to their iPhone over Bluetooth? It’s for tiny stuff, audio, and a few things. It’s not for moving gigabytes of data you doofuses.

Firewire. Firewire as a storage solution is dead. It’s unfortunate, but there it is. USB sucks. USB2.0 is painfully slow compared to 8 year old Firewire because it’s a dumb protocol. VHS sucks compared to Beta. Firewire is alive in the video editing space, but as a good friend of mine is a director, I think I can say that he’d never, ever consider using a MacBook Air for serious work. It’s not a performance issue, it’s the fact that you need a big screen and big storage to work with HD video. The MacBook doesn’t cut it either, and it has Firewire.

Other pet feature I’ve forgotten. I’m sure there’s a billion other complaints, but the thing is this: It’s not for everyone. Not everyone wants to use a Sony TZ either. I had a coworker with one, and while he loved the size, he constantly complained about the tiny keyboard and microscopic screen. I contemplated one, but the keyboard was a non-starter. Sure it’s cute and has a lot of features, but it doesn’t have the productivity I need.

If you don’t like it, don’t buy it. The iPod Nano isn’t for everyone either, and that’s why Apple has created a range of products. Imagine, a notebook with a big screen, and lots of ports, and Firewire, and an ExpressCard slot to put your favorite wireless card in… imagine! Imagine what you could do with such a miraculous machine!

Oh wait, it’s called the MacBook Pro.

4 thoughts

24 January 2008 Mac

The DTrace kerfuffle

There’s a ginormous1 amount of vitriol floating around the Interwebs right now about Apple tweaking the behavior of DTrace. Various people have called it either “no big deal” or “the end of all humanity”, give or take a few Valium. The truth is, as always, somewhere else, and largely an unknown, and undesirable quantity, for the zealots that roam the Interwebs looking for something, nay anything, to get their panties in a twist over.

Here’s the deal, as one geek to another: Apple likely2 disabled it to meet the various draconian contracts they’ve had to sign with the various music companies in order to ensure their ability to sell movies, music and the like to people. This agreement, and the absurd DMCA require that Apple make a “good faith” effort to keep crackers away from the internals of the system. There’s your motive, ta’da! It’s not the evil machinations of Steve Jobs in his attempt to breed mutant babies to take over the world and wipe out humanity. It’s just a bunch of stupid legal mumbo-jumbo, and if you know lawyers, you’ll know how much they love mumbo-jumbo.

Now, did Apple do their voodoo with the minimum of goat sacrifices? Probably not. They made it honor an already existing setting on processes. It seemed the obvious and simple way, and I suspect no more thought was given it than any other apparently trivial decision. Now, after all that, it does mess up the DTrace numbers, but how much?

If you’re running iTunes while trying to trace an application’s issues—and who doesn’t run iTunes and 20 other applications to ensure the absolute uniformity of their system’s behavior—then you can have some pretty weird results. If you don’t, then maybe the results aren’t too far off maybe they’re only off by 0.2%, which is a small amount.

Yes, Apple could have done better. Yes, Apple should probably document this somewhere, though I don’t know for sure that they didn’t. Yes, we all wish that DRM didn’t exist. Yes, record companies are evil. Yes, “open source” is the “way, the truth and the light”. Blahty blah blah. Get over it. You will never have total and complete freedom to do anything you want until you write your own code, with your own hardware design, built in your own fab, etc.

Life is full of trade-offs. Is Apple perfect? Nope. Is Apple always acting with my “best interests” in mind. Are my “best interests” the same as everyone else’s? Hardly. Apple could have just not provided DTrace at all. That would have also made this point moot. Is 90% of a chocolate bar less satisfying than 100%? Yup. Is it more satisfying than a kick in the head? Yup.

Let’s not ascribe nefarious intent to Apple, Microsoft, or anyone else where there’s no demonstrable evidence. Conversely, don’t assume that Richard Stallman and Linus aren’t acting with just a wee bit of self-interest and ego. Let’s try to keep some perspective, shall we?

1 This is somewhat more than a metric ass-load.

2 Do I know for sure? No, but I believe in Occam’s Razor.

No thoughts

7 December 2007 Mac

Password protected PDFs

Recently, I bought an eBook from Apress, and it came in PDF form. This was great. Unfortunately, it came with a password required to open it. This was not so great. Pragmatic Programmers also sells PDF-based eBooks, but they simply customized the book to have your name in the footer. This discourages “sharing” of the book, but doesn’t impede the rightful owner’s use of the material.

One of the big issues with the password is that it impedes DEVONthink from properly indexing the file, and that means it’s much harder to do annotations and cross-referencing. Turns out there’s an easy way to deal with it. Just print the file, but instead of pressing the print button on Mac OS X, go to the PDF tools menu, and select “Save as PDF”, and magically you’ll have a version without the restrictions.

I understand why they did this, but I think the technique chosen by Pragmatic Programmers is much better.

No thoughts

6 December 2007 Mac

Building mod_python on Leopard

Since I’ve been doing a lot of work in Django lately, I’ve been meaning to set up mod_python with the Apache distribution in Leopard so that I can get a bit closer to the production environment. The default built-in webserver is great for development, but it won’t let me debug the last bit of production issues. To do that, I’m gonna walk through the steps. They’re largely the same as any other UNIXish system, but that doesn’t mean everyone on Mac OS X is steeped in UNIXisms.

First, you’ll need to grab the source to mod_python. I recommend version 3.3.1, which is what I’ve worked with. Then, you’ll need to unpack it:

$ tar xvzf mod_python-3.3.1.tar
$ cd mod_python-3.3.1
$ ./configure --with-apxs=/usr/sbin/apxs

At that point, the configuration script will spit out a lot of things that you shouldn’t really care much about. Just make sure at the end it spits out a bunch of things about creating Makefiles. From there comes the normal sequence of events with most open source software:

$ make
$ sudo make install

The last requires the sudo command because it installs a bunch of pieces in privileged areas. Never run as root; always use sudo for your administrative needs. Finally, you need to add the module to your httpd.conf file, which is located in the /etc/apache2/ directory, after making a back-up of course.

$ cd /etc/apache2
$ sudo cp httpd.conf httpd.conf.orig
$ sudo vi /etc/apache2/httpd.conf

Then, scroll down to where you’ll find all the LoadModule commands, and add another line:

LoadModule python_module /usr/libexec/apache2/mod_python.so

Now all that’s left is to reload Apache to make sure it loads the module for you:

$ sudo /usr/sbin/apachectl restart

At that point, you’re ready to proceed. The best place to start is the mod_python documentation, specifically the section on testing.

Good luck!

1 thought

27 October 2007 Mac

And a pony

Another Linux user pops a gasket:

The reason why the Linux world can’t keep up with all the innovation in OS X is because things like Cocoa, Aqua, and Quartz aren’t open source. Frankly, I’d love to take someone else’s software, tweak it, package it up in a nice shiny box, and sell it for an exorbitant profit! Sure, they open sourced Darwin, but I need another derivation of BSD like I need another Python Web framework!

Oi. There’s so much wrong here, I don’t know where to start, but if you seriously think that more than 1% of the people purchasing Macs are buying it for all that wonderful “someone else’s software”, you truly have been out in the sun entirely too long. It’s the sort of navel gazing that turns a person’s brain into a Klein bottle.

You want to know why the Linux (or open source world) can’t keep up with a lot of things? Fragmentation and turf-wars. Too many desktop “experiences” created by people who think they typify the normal user. People who still argue about vi versus emacs. They all suck for the normal user. People want to purchase a system, not a box of parts that they put together. The fact that you, or even I, care how it’s glued together, is immaterial to the vast majority of people. Most people don’t write their own applications. Most people don’t try and hack their phones. Yeah, the k-rad k00l kids do it, but that’s the three in the corner while the rest of the world gets on with their life.

Yes, this is a simplistic view. Yes, I actually hold a more nuanced perspective about the impact of open source software, but I quit “worshiping” at the temple of Richard Stallman’s “freedom” back around 1992.

Here’s the deal. Don’t buy it. Don’t use it. That’s how capitalism works. Obviously someone wants to use it, since I don’t think Apple is being treated like a charity, but maybe I’m simply crazy.

7 thoughts

6 September 2007 Mac

A tiny observation

At my client’s office, there is a huge bull-pen of cubicles, primarily composed of engineers, architects and designers. Ever since Apple announced their new iPods, that has been all anyone has talked about. “Have you seen the new iPod?” “Oh my, I want one.” “It’s WiFi, you can use it at Starbucks.” Suck that, Microsoft.

No thoughts

2 September 2007 Mac

Word sucks

Word sucks. Let’s just put that out there. I could spend hundreds of pages writing about how it can’t handle anything more complicated than a letter without puking. I could complain about how it can’t manage footnotes to save it’s life, or a bibliography either. What really cheeses me off about Word, though, is the sheer bloat of useless crap that has accumulated in it over the years, and drags it down to something that is simply unacceptable to use.

Steven Poole shares this hatred and distrust for Word, and express it better than I could. Like Steve, I use WriteRoom quite a bit, and find it to be amazingly productive when I simply want to get some thoughts down “on paper.” In fact, I write most of my blog entries in it.

2 thoughts

20 August 2007 Mac

A minor nit with iTunes

Generally, I consider iTunes to be a pretty well designed program. Discoverable and easy-to-use, and all that mumbo-jumbo. There is one major glaring error in my mind. When you are setting up your syncing on your iPod for things such as podcasts, TV shows, etc., you can’t tell it that you want the n oldest shows, only the n newest shows, which is counterproductive when you are trying to catch up with something.

Not a major issue, but it is certainly quite annoying. This means that if you’re not careful, you could end up missing older stuff. How about a minor fix in 7.3.3 Apple?

1 thought

27 July 2007 Mac

Managing application availability

Applications fail. It’s a truism of the technology world, but how an organization deals with application failures, and the priority they place on stability, is a good indicator of the underlying quality of the code and developers involved. Take this recent posting from the OmniGroup gang:

For many years now we’ve had an integrated crash reporting system. This has helped improve the stability of our applications immensely (often report now start out with “Wow, this is the first crash I’ve seen…”). But, it hasn’t always been clear (especially in the alpha or beta timeframe) how well we were doing on overall stability. We could guess by counting the number of crash reports vs. an estimate of the number of active users, but that wasn’t very convincing.

[...] we can now chart the total number of hours OmniFocus has been running vs. the total number of crashes (reported or not!). As the pool of people testing OmniFocus goes up, or some testers go idle, or some user with large number of crashes isn’t reporting them, we don’t have to wonder as much how that affects our average crash rate.

So now, they can track average hours between issues for all their users. Right now, they’re over 8,000 hours1 (333 days), and their target is to go a full year. Given there’s a patch at least once a quarter that requires a reboot, that effectively means that it’s unlikely anyone will ever deal with a crash of their application.

1 Note, they’re not saying each user has a crash each 8,000 hours, but that for 8,000 hours of aggregate use, they’ll have one crash occur. Slightly different, but the only way to do this with a sample set this size.

No thoughts