Why make it easy?

| No Comments | No TrackBacks
A comment over at LifeHacker, regarding the new off-line Google Calendar, that frustrates me:

I really don't see what the point is. All calendars in Google calendar have iCal feeds, which you can easily download and view in you desktop calendar. Google's announcement here doesn't provide any more functionality.
As someone who spent time in the trenches, working one-on-one with end-users, it's frustrating to me that so many of my fellow Tech-heads miss the point of these endeavors. It's not about the "best" solution, it's about the simplest solution (as well as the one that, honestly, keeps people using Google.)

He does moderate his comments a bit, but this reference to iCal is the point. Simply put, iCal is a bear to train people to use, as is vCard and similar efforts. There's a reason Google implements a GCal-to-Outlook sync tool, rather than telling people to use iCal -- iCal use is hard, and non-intuitive (as well as not auto-syncing.) It has some uses -- I've developed apps that allow one-click adding to Outlook via iCal files -- but even those required some non-intuitive work, such as having to send a specific HTTP Header for the iCal file.

In short, if you know it already, iCal feeds are, indeed, easy. But, then, if you have a pilot's license, flying that Cessna is going to be less of a challange, as well. We as Techonolgy folks have to build for the masses, in many cases now, and that's not always a bad thing. It can help us to seperate concerns, enhance error tolerance and remediation, and to make some things simpler and quicker to use.

To fling out the first solution that "looks good" without thinking through all of why a technology was implemented can mean you miss the point, and the lesson of that point. That seems unwise, at least to me.
Too Busy Doing Nothin'

So I was commenting on another forum I'm on about Programming. It's not a Tech-focused space, but this sub-forum is, and someone was asking for advice on how to get started Programming, as well as hints on "Alternative OSes".

I was struck by something, and maybe I've just been hanging out in the wrong places, but...a lot of the advice wasn't on "how to program". It was on how to learn a specific, and apparently favorite, programming language. And, with all due respect, that's not the same thing -- nor, in my opinion, what the person was asking for.

I read quite a few comments that, in my opinion, were about the "language of the month", languages like PHP or Javascript. Mind you, they are real, Turning-complete language with many uses. At the same time, there tend to be focused on one domain. And, before I get jumped, that's not to say you can't write, say, shell scripts in PHP -- I've read articles on doing it, and know it, and many other things, are possible. The extension of Javascript in the Mozilla-based browsers via XPCOM also leaps to mind; such things are why I'm not overly worried about the Palm Pre's ability to have a excellent variety of high-powered code using the Palm Mojo SDK. But all that does underline that such things are rare on the ground for such languages.

Python Haul

So I didn't recommend my favorite language, Perl, recommending Python instead. In part, Python just has an amazing series of libraries for almost every task, and that's part of why Python is a very mature language. More to the point, you can learn to program a whole host of activities in Python, and thus learn how to work with everything from shell programming to web services.

And all that is within a language that is heavily oriented towards Object Orientation. Part of why I didn't recommend Perl is that it's standard OO model is...a little weird.It's powerful, but almost insanely so, and takes a bit to get used to. But if you're going to learn to program, at some point you need (these days, anyway) to learn basic OO tasks, and Python has a simpler OO model that's also powerful, and is much more at the core of it's use as a language.

That maturity also goes into Python's base of documentation. Simply put, of all the Dynamic languages, Python likely has the single best set of docs, including tutorials. That's also very important to a newbie -- moreso, I think than the raw simplicity of the language.

Master of your own Domain

But most of all, this is about learning programing as an Art, a Science, and a Hobby. It's about learning how to learn not just the languages involved, but -- like linguistics -- learning the underlying structures behind Computers in general. I'm happy I learned the "useless" language Scheme in college, because I learned about concepts that would be reflected years later (closures, anyone?) It means my ability to code can last past, say, the demise of the language de jure at my job without the hell of trying to learn another language form the ground up, only having the points in common to start from. It's a harder place, and takes more work, but so many modern hackers have learned this way, I know it can be done if one is determined and eager to work at it.

And seeing so many people who's obviously learned just one language, and push it for any and every task, giving advice makes me frustrated. Don't give a person a fish, teach them how to get their own damn little fishies!

__END__
Since not only this site, but my personal computer were down, it's been quite a struggle to get back up and running. There's a few notes (besides backup backup BACKUP) that I want to get down, and one revolves around moving to the awesome Firefox 3.1 Beta 2.

Rather than move my profile over, I decided to start from scratch; thus avoiding the mess of broken add-ons, etc. that migration to new versions usually case. Importing bookmarks from the savvy backups Firefox does now was easy as π, but my password files didn't appear to want to come over so easy. If you simply allow Firefox to import 'em, it works a charm, but after the install? If you want to manually copying the passwords files, you need to know which ones to copy, first and foremost.

So, for those wanting to manually update their Firefox password files to the latest scheme, here's how:
  1. Before you delete or (re)install anything, go into your current Firefox profile directory and backup the files key3.db and signons3.txt (in fact, backup the whole profile)
  2. Install Firefox 3.1, but do not start it! Rather, run <location of Firefox executable> -profilemanager, and create a whole new profile. Then close Firefox.
  3. Hop into the new profile directory, and rename or remove the file signons.sqlite. I also removed the key3.db from there, but it's implied that's not necessary.
  4. Go to your old profile, or wherever you might have stored the backups of key3.db and signons3.txt, and copy them to the new profile.
  5. Restart the new Firefox, and login!
Reblog this post [with Zemanta]
This blog is on a Slicehost-hosted server. I love and adore Slicehost, but, like most VPSes, it's not really got much for us Gentoo uber-geeks. That have great tech support, and even a set of articles on how to do various things on the servers...but it's limited, and mostly for Unbuntu or Fedora folks.

Having just rebuilt the server, here's a few notes on how to get it going once the slice is built out:

  1. Build out slice
  2. Log in via Management Console
  3. turn off sshd
    1. /etc/init.d/sshd stop
  4. Run 3 commands 1st:
    1. emerge --sync
    2. emerge portage
    3. emerge gentoolkit
  5. Update software on system
    1. emerge --pretend --update world
      1. If this shows errors, look up help on Gentoo forums
    2. emerge --update world
  6. Run eread, do any necessary updates, esp. any ref. revdep-rebuild -X
More to come, perhaps -- I want to write up installing both Apache on Gentoo, as well as adding Movable Type 4 to the mix. Once I get Perl's Catalyst Framework up and running, docs for that would be useful, as well.

This is my blog for talking about tech stuff, geek stuff, things like that. It's a place where I can kind of chat about the computer world, as opposed to my Dance blog, or other places I talk. I might also talk "genre" stuff here, like Science Fiction shows and the like, but we'll see.

Hopefully it'll be all kinds of warm & fuzzy. :)

Email Subscription

Subscribe to Tech/Etc. via email!

Enter your email address:

Delivered by FeedBurner

Recent Comments

  • Ferris: Hi, Would you mind guiding us on how to configure read more
  • Woodrow: Testing replies... read more
  • Woodrow: Testing Facebook integration... read more

Find recent content on the main index or look in the archives to find all content.