Freedom to function, an ongoing love story

This is a kind of a random strean-of-consciousness post I wrote while sitting around waiting in a mall a while back. I cant bring myself to delete it, but I can’t quite work up the energy to tie it all together either. However, I’m tired of it sitting in my drafts folder. Here it is, straight from my brain, raw and unedited:

I’m currently wearing three things I love. I love them for very similar reasons, and in every case it has to do with what they allow me to do, and how they perform their function seamlessly and stay out of my way. I may also make a mention of how they fail me from time to time.

The first item is my Utilikilt, workman’s model, color black.
I love this thing. It has pockets in exactly the right places, hangs exactly how I’d want it to, and is utterly indestructible. I don’t have to worry about damaging it, and when I need one of the items I’m carrying they are perfectly placed right at arms length in their pockets.
My only complaint about the workmans model: lack of the “modesty snap” that holds it closed in high winds. It’s generally heavy enough to hold it’s own, but I have to mentally prepare myself to make sure the wind doesn’t catch me unawares. This is it’s only flaw! As clothing goes I can’t erally think of something that works better for my day-to-day use, and is as comfortable. Form Follows Function indeed!

Item two: my Glock model 26 pistol.
I love this gun. I can carry it all day and only have to make small allowances in my wardrobe and movements. The Glock is my favorite handgun because of it’s operations. Dead simple if I needed it, no chance it’s going to confuse me or be difficult to operate under stress. It easily operates as an extension of my arm, no user interface required. It provides the framework to add any additions that I want on to it, and will perform it’s function. Perfect functionality and perfect simplicity. It’s no wonder that Glock’s logo subtitle is “Perfection”.
Some would say that the flaw of the Glock handgun is it’s aesthetics, but I actually like the unassuming simplicity, so I’m not counting that as a flaw.

Item three: my iPhone.
As I type this I’m standing in a shopping mall waiting for someone, and it’s thanks to my iPhone that this is possible. It’s a perfect pocket-sized device that let’s you carry the world wherever you go. One of the best features of the iPhone is in it’s simple user interface. The device really focuses on technology “getting out of the way” and letting you do what you want, when you want. This is interesting because it allows people who would never otherwise be interested in technology to reap the benefits.
The flaw of the iPhone: it only allows me to do what Apple thinks I should be able to do. I understand that Apple is interested in that seamless user experience and that they think that creating a walled garden around their product helps them do that, but I disagree with the principle.

The reason I like all of these products so much is because they allow me the freedom to function as I want, freeing me from restrictions instead of imposing them. This is what having /stuff/ is all about. I don’t want to buy things that make my life harder! Technology, from the rock all the way up to my iPhone, is there to make life easier and better. Too often we become slaves TO our technology and our gadgets, rather than them being slaves to us as they were designed.

I think it’s important to be mindful of our tools and toys, both as consumers and as creators. The one and only goal of a tool is to make things easier and better, and any that doesn’t is taking away our freedom to function as we see fit.

PragProg’s take on the iPad…

An article in the latest magazine from the Pragmatic Bookshelf says pretty much everything I want to say about the iPad and what it is about to unleash.

I find the most compelling point about this to be the “bling arms race”. Looking good is the critical element in an app, the only important feature. (Notable exceptions such as Doodle Jump ? acknowledged, but go with it for now…)? Maybe that’s not so bad in some cases, especially on an iPhone where I expect to use most of the apps a few times and be done with them.

The use case on the iPad is going to be far different though. Fart apps aren’t going to cut it. I don’t buy apps for my computer without a demo to try first, and I don’t see myself doing anything different for a device like the iPad. Sadly the only pre-purchase info you’ll get for you apps are the usual review (highly suspect and probably fake) and screenshots. This is a high quality device, and we’re going to want high-quality apps to run on it. The apps store ecosystem isn’t set up for this. It’ll be interesting to see what happens.

Further adventures of a Mac Mini…

My poor old 1.66 Core Duo Mac Mini just wasn’t performing quite as well as it used to and it was time to do some cleanup. Well it occurs to me that it might actually just run Linux pretty well. With it’s poor little 512MB of RAM, Linux gives me a bit more control over exactly what’s going on and what’s using resources! Time for the ISD-Inexorable to switch to Ubuntu 10.4 (Lucid Lynx) beta!

Adventure number one: booting off a the CD.
For some reason neither the Alt nor the C keys are triggering the bootloader to attempt to boot off the disk. This isn’t going to be a dual-boot machine, so I’m not interested in bootcamp. Turns out the rEFIt project solves this problem quite nicely! Quick install there and away we go.
Worth noting that you have to reboot twice before rEFIt shows up at boot. Got a little worried when I rebooted initially and didn’t get a bootloader menu.
So now we’re installing! Clean partition of the drive and away it goes!

Adventure number two: laggy graphics.
After rebooting out of the installer everything looks great, except that the UI is responding exceptionally slowly. Bringing up apps is slow, switching between apps takes over 30 seconds. This doesn’t seem right at all! My 1.5ghz PowerBook G4 performs far better than this! To add to the mystery the processors aren’t doing more than 15%, and I still have 100MB of RAM free. So what’s going on here?

It doesn’t seem to be the driver. The driver for the Intel integrated GMA950 doesn’t seem to have any known issues, and hasn’t in a while… glxgears appears to work fine, but when I move the mouse over another app the gears slow way down. This sounds like a window manager issue to me. Time is spent researching if GDM may have issues on this card. Nothing is found.

Then I randomly stumble across a forum post that points out a simple solution:
sudo aptitude install xserver-xorg-video-intel
I try this, without doing any further research about what it is or what it does. Quick reboot and presto, full speed GUI!

Performance:
While I don’t have any true benchmarks to compare, the machine is running both faster and cooler under Lucid Lynx than it was under OSX Snow Leopard. The OS is more responsive and taking up less memory, and video performance is improved! Under Snow Leopard the machine would lag for 10-30 seconds loading Hulu or TED videos. Even just opening a new tab in Safari would take a couple seconds. Not so anymore! I’m really very impressed Only difficulty I’m having currently is I keep using CMD- instead of CTRL- for keyboard shortcuts. I’m sure I can remap that. 🙂
Only other problem that I’m going to face is reading/writing to OS-X file systems. More on that later if it turns out to be interesting.

I’m amused that I managed to stay inside the “big cat” operating system names. In the battle of Lynx vs. Snow Leopard, the Lucid Lynx is coming out on top in this case.

First you have to convince me…

I was doing some research on cell phones today. (Trying to do compare/contrast research on the mobile phone market is such an exciting adventure. Really not a fan of the industry.)? Ended up following a link to a page about the Droid, a device I’m actually quite curious about. I was greeted by this:

Holy throwing stars batman! When your website is to terrifying to contemplate how do you expect me to get interested in your device?! Nein!

Seriously though, technology needs to be elegant and transparent. Your website is invasive and confusing. End of Line, no sale for you. I have no confidence, and I haven’t even started!

The quest continues. Somewhere out there is a mobile data device that isn’t going to require my giving AT&T more money than they could possibly deserve. Forward and onward!

The parable of the boat builder…

Once upon a time there was a man who loved to build boats. Building boats takes a lot of space, and his apartment just wasn’t big enough. He went to a local warehouse and asked if he could rent some space to build a boat. They worked out an agreement. He would build boats and sell them to the burgeoning local sailing industry, and in exchange for 30% of the profit from the sales the warehouse would let him use the space for free during construction.

“One small caveat” said the warehouse owner, “we have final say on the distribution of your boats. We may suggest certain changes we think will help their marketability.”

The man agreed. Surely allowing some oversight would be no problem whatsover. He knew the local market, and he knew his boats would sell! He began drawing the designs that very day.

The man worked 12 hours a day for two weeks! Over 150 hours of work later he had the plans for the first boat. He went to the warehouse and began to lay the forms for the keel. As he was laying the forms one of the warehouse managers came by and looked at his plans.

“Looks great!” said the manager, “However I thought we were getting a sailboat, and this appears to be a small yacht! Our company has recently decided that we want to be ecologically sound, so we can’t really support powered boats. Redesign it as a sailboat and then you can start building it.”

The boat builder agreed, but he began to think that perhaps this oversight agreement may not be as simple as he thought. Throwing away his last two weeks of effort he began again, this time designing an eco-friendly sailboat.

Two weeks later, plans for the sailboat in hand, the boat builder once again began construction. He worked uninterrupted for 2 months, day in and day out, until after over 700 hours of hard labor he finally had his boat completed. It was a beautiful solid wood boat in natural hardwood color, with natural white cloth sails. After admiring his handiwork he went to tell the warehouse managers to have them begin looking for a buyer.

The warehouse managers looked at his boat and seemed suitably impressed. After a few moments though one of them spoke up. “It’s quite a beautiful boat, no doubt about it. In the last month however, we’ve decided to try to sell carbon-fiber racing boats, and we want people to think of these boats when they think of sailing! So before we try selling this boat you need to paint it bright red and change the sail for blue nylon. That should make it acceptable to the current market!”

The boat builder was astounded! A classic wooden boat with natural cloth sails and they wanted to make it look like plastic! He would have none of it, and he told this to the owners in no uncertain terms! The warehouse owners were firm though. Carbon-fiber racing boats were what people should be using, they said, and if he didn’t comply then they were not going to be able to sell his boat. The boat builder said that he was fine with that, and he would just take his boat and leave.

“Not so fast”, one of the owners responded, “you’ve been using our space without paying rent, and we’re due a portion of the value with the boat. If you don’t change it the way we want and sell it, then you can’t take it anywhere. There is no third option, this is our warehouse, and partly our boat.”

The boat builder agreed, there was nothing he could do. The owners went away and the boat builder sat and looked at his boat for a time. Then he went to his boat, puled out his lighter, lit the corner of sail, and walked from the building and never returned.

Where do you draw the line? ? Where should you? And what about the boating consumers and their ability to choose when the market is this controlled?

If you haven’t guessed, I’m not really for walled gardens, no matter how well decorated they are.

Quick Hint: CSS Selectors and pseudo-classes

It seems obvious now that I know it, but it seems that I never figured out that you could use include pseudo classes in a CSS Selector.

“a:hover img” gets you any image contained inside an anchor? tag that is currently being hovered over.

Why did I never know this before? Can’t say. But it sure is handy!

Bad day to be a target…

Shot 150 rounds through my G19 today. Really focusing on trigger control and grip. Here’s the result:

I Learned two major things today.

  1. My supporting-index-finger-on-trigger-guard ad-hoc grip doesn’t actually seem to make much of a difference if you’re careful. Several other Glock shooters at the range use this technique, it doesn’t seem to matter much. However due to the 2nd issue, I’m going to continue and try to keep my left index finger from drifting up onto the front of the trigger guard.
  2. I’m not using the right part of my finger for the trigger. Making sure the trigger is between the first and second joint of my finger seems to help quite a bit! Once again, this is confirmed by some other Glock guys at the range. Using the tip of your finger can easily cause you to push the muzzle to the left as you’re squeezing the trigger. Really feels weird to put that much of my finger through the the trigger, but it seems to help quite a bit.

Needless to say, I’m actually rather pleased with myself. This week’s targets look much better than last week’s. Almost all of these shots were made both-eyes-open. The first 50 were all slow fire, the second target mixes slow fire and multiple shots. All drills go from high-ready position to on-target and firing.

On data ownership…

Something I’ve been working on in my programming projects recently is ways to allow users to use their data from outside my service, and to take the data they have in services I create elsewhere.
In the new era portability is king. If you don’t allow users to use their data how they want, your service is utterly useless and doomed to failure.

Whoa there, you say, them’s some big bold words! If it sounds like I’m including the large portion of current generation products people are familiar with as the target of my wrath, you’re right on the money. Let’s take a look at a recent real life example, MobileMe.

MobileMe offers some excellent syncing tools for those of us with Macs and iPhones. Over-the-air (push!) syncing of contacts and calendars is a great tool, especially for those of us with a desktop, a laptop, an iPhone, and an iPod Touch all trying to stay perfectly in sync. However that’s exactly where the scope of the tool ends. Want to share contacts/calendars with someone else as “joint ownership”? Screwed! Can’t do it. So MobileMe loses one user/evangelist to Google, where I can choose to allow another user to collaboratively edit my calendar. MobileMe ends up in the trash heap because the data I give it can only be used in the ways that MobileMe wants me to use it, and I have different ideas.
Google also frustrates me though because I would very much like to set up a group of shared contacts between Bev and my accounts so we could maintain contact synchronization, but that’s not supported through them either. I have a huge store of data, and I can’t even grant another user ACCESS to it. This is full of fail.

Obviously one of the core problem with this is common language. There has to be a standard protocol that is used for each type of data in order for sharing to really work. For inter-service data (like sharing contacts with another user of the same system) there really is no excuse however.

There is another form of data usage to consider beyond just sharing. A good example of the type of thing I’m thinking of is WebHooks, but I’m not completely convinced on their implementation.
A current example of the concept would be posting? to an online forum that lets you “follow” the thread. When you post you can check the box for “email me when someone replies”. Now whenever someone posts something you get a notification. WebHooks is like that, except instead of providing a simple email notification it allows you to provide a URL and a notification is posted to that URL. The notification contains whetever data the application designer wants it to. This may seem like a power-user feature, but once the concept is widely accepted it allows you to let websites (and the datasets they contain) to interact with each other in fabulous new ways.

This starts with us, the application designers. And this is why I’m so hot and bothered about the idea. If I don’t design my own applications to allow the sort of data interactions that I want from other websites I use. Once again though, the problem is standards. How do you output the data? Do you create your own refspec for the specific website/application? Where do you draw the lines?

Once again, the problem is standards. There’s no reason why any user should have both MobileMe contacts and google contacts. Ideally either service should allow the user to use, not just “import”, contacts from the other.

We’re not there yet, and I understand how people scoff at this idea, but I’ll say it again. Data portability and access is king. If you don’t let your users get to the data they’ve entrusted to you and use it in the ways that they want to use it, they’re going to abandon you.

Nothing to see here…?

I’ve just deleted 3 draft posts, the oldest of which was from 2 months ago.

Here’s what happens when I “blog”. I have a situation or an idea that I find really interesting, and I write about it. Then I decide that I want to expand on it a bit. I maybe do a tiny bit of research, or think things through a bit. Then I make it longer and more thoughtful, trying to draw interesting parallels or point out strange things…

Then I delete it because it is long, it wanders, it’s uninteresting, and it just rehashes everything everyone has heard everywhere else. Nothing valuable to add, nothing truly unique to contribute, and nobody really wants anything like that anyway it seems.

So, you miss out on my rant about the parallels between gun control and health care, (wherin I cleverly coined the phrase “happiness is a cold gun”, which I was actually rather proud of..) my thoughtful ramble on why my job is utterly horrible for me even though I actually love it (wherein I rambled somewhat about geekiness and why we interact with people the way we do), and a truly utterly boring post regarding the state of television shows these days.

So, I’m blogging, really.. It’s just such utter crap that I never actually hit post, thus saving you all the effort of reading it. And then I decide to post something like this. wheee

You know, half an hour ago I was almost ready to re-install facebook and twitter on my phone and perhaps start interacting with the world again. Then I sat down to finish one of the drafts I had, now I just want to delete everything and close accounts and sites everywhere. What a weird turn…
Maybe this is how society dies?

Conservatives and the Golden Rule(s). What’s the deal?!

It seems to me that there are two golden rules that are in direct conflict with each other, and I’m not sure how conservatives reconcile it.

Rule 1) “Do unto others as you would have them do unto you”
Rule 2) “He who has the gold makes the rules”

The real question is, why do “conservative” and “Christian” show up next to each other? They should be mutually exclusive! Conservative philosophy teaches that you should take care of yourself and that money is the only force capable of incentivizing people to act other than in their own best interests, and amassing piles of it is the proper approach to life. Christian philosophy teaches that “the love of money is the root of all evil”, and that you should be nice to people because it’s the right thing to do.

How do these people resolve these two things?! I would very much like someone to explain to me how these two philosophies are anything other than mutually exclusive. They are matter and anti-matter, they should not be able to exist together. I can’t figure it out.