2005


20
Dec 05

Scott Adams on giving money back

Scott Adams, on the Dilbert Blog, asks whether you’d return $1,000 dropped accidentally by a billionaire. He goes on to say:

A certain percentage of the population believes that God is watching them with one hand on a lightning bolt and the other on the trap door to Hell. About half of that group will also keep the money, under the theory that if God wanted the billionaire to have it, he never would have let him lose it in the first place.


19
Dec 05

Control iTunes Remotely

I have iTunes running at home on a Mac mini, with a Harmon Kardon Soundsticks II system connected, and was looking for a way to control iTunes remotely, from another Mac. This page discusses setting up a PHP script on the remote machine, but involves some things I didn’t like much (like running the web server as a normal user). Also, managing iTunes via web URLs isn’t as convenient as I’d like.

What I finally decided to implement, was a number of shell scripts that can be run from QuickSilver. This works, is very convenient, and only relies on SSH key authentication (i.e. without password) to the remote machine.

Following are the shell scripts I now have. (Important: Note that the second and third lines of each script below are really one line in the shell script. I broke the line for display purposes here.)

With these in place, controlling iTunes remotely is a matter of command-space iNext return. Great!

  • iUp (increase the volume)

    #!/bin/bash
    ssh 192.168.2.130  "osascript -e 'tell application \"iTunes\" 
    to set sound volume to sound volume + 5'"
    
  • iDown (decrease the volume)

    #!/bin/bash
    ssh 192.168.2.130  "osascript -e 'tell application \"iTunes\" 
    to set sound volume to sound volume - 5'"
    
  • iNext (next song)

    #!/bin/bash
    ssh 192.168.2.130  "osascript -e 'tell application \"iTunes\"
    to next track'"
    
  • iPrev (previous song)

    #!/bin/bash
    ssh 192.168.2.130  "osascript -e 'tell application \"iTunes\"
    to previous track'"
    
  • iPause (pause)

    #!/bin/bash
    ssh 192.168.2.130  "osascript -e 'tell application \"iTunes\"
    to pause'"
    
  • iPlay (play)

    #!/bin/bash
    ssh 192.168.2.130  "osascript -e 'tell application \"iTunes\"
    to play'"
    
  • iQuit (quit iTunes)

    #!/bin/bash
    ssh 192.168.2.130  "osascript -e 'tell application \"iTunes\"
    to quit'"
    
  • iStart (start iTunes)

    #!/bin/bash
    ssh 192.168.2.130  "osascript -e 'tell application \"iTunes\"
    to start'"
    

Technorati Tags: ,


18
Dec 05

Tidbits for Saturday, 17 December 2005

Tidbits for the week ending Saturday, December 10, 2005:


12
Dec 05

Traffic ticket in historic Whitesburg Whitesville, Georgia

UPDATE: Well, my memory must be going with age. As pointed out in the comments, it was Whitesburg, not Whitesville!

Somehow things happen to me that don’t seem to happen to others, and a friend recently suggested I start documenting some of my past and future stories on my weblog. This is the first installment, about a traffic ticket I once received, in historic Whitesville Whitesburg, deep south Georgia.

I worked my way through Georgia Tech as a coop student, initially spending alternate quarters at the Georgia Power Company‘s power generation plant, Plant Yates, in lovely Newnan, Georgia. It was an interesting experience, some of which I’ll be documenting in future stories. (Like the time me and the other coop got stuck at the top of the 800 ft tall smoke stack.) Just to set the mood, on my first day at Plant Yates, I was told by the lead engineer that “coop” is the sound horse crap makes when it hits the ground. Welcome to your new job.

But today’s story deals with a speeding ticket that I recieved, when returning to my dorm room at West Georgia University, where I stayed while working at Plant Yates.

It was around two in the morning, and I was returning home in my 1982 diesel Volkswagen Rabbit along the highway towards Carrollton (the home of West Georgia University). The highway speed limit was something like 50 mph, and that’s about what I was doing. What I didn’t realize, though, was that once you enter the city limits of tiny little Whitesville Whitesburg — and you need to understand, you could, back then, enter and exit Whitesville Whitesburg in about 15 seconds — the speed limit drops to 30 mph.

Just as I exited Whitesville Whitesburg (in fact, I didn’t even realized I’d passed a town), I saw a police car pull out of the forest on the outskirts of town, and fire up the lights and sirens, in hot pursuit of my little Rabbit. I pulled over, and a somewhat overweight Officer Buford (or something like that like) came moseying up alongside the driver’s window, hand on his gun. He looks in, chompin’ on a wad of chewing tobacco, and we have the following conversation:

Officer: Boy, I don’t know about Gwinnett county (spit) but down here in Whitesville Whitesburg we have traffic laws. You know how fast you just drove through town? 70 MILES-AN-HOUR!

Me: Sir, that’s kinda hard to believe, since my diesel Rabbit only has 42 horsepower. I actually don’t think I’ve ever exceeded 65 mph in this car.

Officer: Don’t go gittin’ smart with me, BOY! (Hand tightens up on the gun. Spit.) You wanna come look at the screen of my radar?

Me: No, no.. that’s ok, sir.

So Officer Buford proceeds to write me out a $50 speeding ticket, and sends me on my way.

Now, 50 bucks was quite a lot for a struggling coop student. I got to thinking on the way back home, that (a) he was perpendicular to the road on a secluded forest path when he scanned me, (b) I may have been going above 30 mph, but my diesel Rabbit really wasn’t capable of going 70, and (c) this just wasn’t right! Talking to a friend who said he knew something about police radars, I was later told that often the radar’s calibration speed is 70 mph — meaning, if he was right, that Office Buford could make his radar read 70 mph anytime he wants.

So, I decided to fight the ticket in court.

Well, turns out court in Whitesville Whitesburg only happens every now and then, when the traveling Judge makes his rounds, and so my date was scheduled for a month into the future, when I’d already be back in Atlanta at school.

I carefully prepared my case, with charts, diagrams, analysis and references, explaining how radar doesn’t work on a perpendicular vector, how Buford’s calibration frequency needs to be checked to see if it was a coincidental 70 mph, how my little car doesn’t go 70 mph, and, for good measure, how it was my first offense. With that all ready, I was convinced I’d win.

So, on a Thursday afternoon, I confidently headed back down to Whitesville Whitesburg. As at the time, there was no courthouse in Whitesville Whitesburg, court was held in the basement of a Miss Dorothy’s lovely colonial house. Miss Dorothy even had chocolate cookies ready for the occassion. All us accused sat in little metal folding chairs, and the Honorable Judge behind a fake wood-grain folding table.

Court began, and there were about 27 other cases to be heard, — half of which were DUI’s and the other half, wife beatings. Somehow, mine was the last case to be heard, and the Judge woke up when I was the first person to plead, “Not Guilty.”

So after painstakingly walking through my presentation and analysis, the judge, with furrowed brow, looks at me over the top if his spectacles and thoughtfully says, “Mister Henderson, I’m pretty sure you didn’t mean to be traveling 70 mph. (long pause) But, Officer Buford here says you were traveling 70 mph, and I do believe him. Now, son, since this is your first offense, I’m gonna go easy on you. Plaintiff to pay a fee of $50. [gavel slams down on table] See you all next month.”


11
Dec 05

Acantilados de Maro (Malaga, Spain)

Today we met up again with the Senderitos.com folks, and headed down the highway, just past Nerja, where we parked the car just off the highway, to explore the trails and jagged cliffs of the Málaga coast.

We parked the car at the pull-off for the Playa del Cañuelo, and started down the steep downhill dirt roads towards the sea. After just several meters from the car, we detoured off to the left, and started walking a rolling path down towards the Playa de Cantarriján.

As we managed to repair the backpack, our little boy got a free ride again today, and daddy suffered. When we arrived to the playa de Cantarriján, I was good and tired, and very thankful to find a beach-side cafe serving some cafe-con-leche. As I drank my coffee, and looked around at the photos on the wall, I was kinda startled that many of the photos were of naked people. Turns out, the Cantarriján is a nudist beach, or “naturalist” beach, as the Spanish like to say.

Today, however, the wind and cool temperatures kept all but the most determined nudists at home, I guess. The beach was practically empty except for a few scuba divers getting thrown around in the rough water.

We had lunch just near the beach, and on the way back, our masochist leader Luis decided what we really needed to do (or what Matt really needed to do with a 15kg kid on his back), was march down the treacherous path to the rocky coastline. Somehow we made it down safely, and then hiked around to the Playa del Cañuelo, where we rested up before walking up the road back to the car. And man what a walk back it was — 30 minutes of almost vertical climbing. Ok, well it wasn’t that bad, and I was in good company with my new buddy Julia, who likes my little boy, and speaks Spanish and German.

That’s the report from this week!

Click here to view the day’s photo gallery.


10
Dec 05

Tidbits for Saturday, 10 December 2005

Tidbits for the week ending Saturday, December 10, 2005:


9
Dec 05

Migration to WordPress from Movable Type on MacOS X and Linux

After three years of using Movable Type, I decided to migrate my weblog over to the open-source WordPress weblogging systems. This article documents the process, and some of the details.

Continue reading →


8
Dec 05

In Search of One True Layout

One of these days I’m going to find the time to become expert in CSS-based layout, and stop with my lazy table-based tendencies (mainly because of the semantic advantages.) When I do, I’ll be studying this article in depth, which is one of the best I’ve seen:

In Search of One True Layout

Technorati Tags:


6
Dec 05

Gracie-Barra BH Marbella Weblog Launch

As a first WordPress website, I’ve reworked and relaunched the website of our local Brazilian Jiu-Jitsu / Grappling martial arts club — Gracie Barra BH Marbella (a.k.a. Marbella Submission Fighters).

http://gbmarbella.com

So far, I’m really happy with WordPress.


4
Dec 05

WordPress Pages or Posts?

I’ve nearly decided to use WordPress to implement our company’s intranet. I’m thinking that I’ll use the key/value meta facility to assign content to groups, and then add some http authentication to provide selective visibility to that content by group. What I can’t quite decide it whether to use “Pages” for content, or categorized “Posts”.

If you have any ideas, opinion, experience with this, I’d love to hear about it.

PS: I considered MediaWiki, but found it a bit cumbersome to work with.

Technorati Tags: ,


3
Dec 05

Add the date to the MacOS X menu bar.

Tip of the day: Add the date to the MacOS X menu bar. (Via Tao of Mac)

Technorati Tags:


2
Dec 05

Lost

In anticipation of the arrival of my new video iPod, we just purchased and downloaded the first season of “Lost” from the Apple Music Store. I don’t plan on watching the video on the iPod, but rather playing it through the A/V cable to the television.

I hope we like Lost as much as we enjoyed 24.

Technorati Tags:


29
Nov 05

Favorite Macintosh OSX Applications

A friend of mine just bought an iMac and asked me for some Mac OS X application recommendations, providing as good an opportunity as ever to create a new permanent weblog article to maintain a list of favorite applications. The must-haves (the ones I use most) are marked in bold.

The place where I track application updates is VersionTracker.com.

Technorati Tags: ,


27
Nov 05

Hacho de Pizarra (Pizarra, Spain)

Today’s outing took us on this gorgeous day to nearby (well, relatively), Pizarra. From Marbella, we took the Ojen highway to Coin, then on to Cártama, and then on to Pizarra — all in all, about a 45-minute drive. In the small town of Pizarra, we parked next to the “Recreation Area” (a small playground/park type thing), had a cafe-con-leche at the bar across the street, and then started walking up the Hacho de Pizarra walking route. Since my neck was a bit sore from jiu-jitsu this week, I didn’t take the child backpack, and our poor little boy had to walk. ;-)

The walk starts out steep as it climbs through the playground, and then eases off as it continues upward. The path winds its way through some very pretty trees and rocks. It was kind of slow going with the little one having to fend for himself, but we finally arrived to the point where the path enters a giant rock, in which some steps have been constructed, leading to a “mirador” (a look-out) at the top. We had a snack, snapped a couple of pictures, and headed back down to the car.

Lunch was at the incredibly busy “Venta Platero”, located almost at the entrance of Coin. We had some nice mixed salads, and rabbit in a garlic sauce. Definitely recommended.

Technorati Tags: , ,


15
Nov 05

Evening at Adler

This is fantastic. Just fantastic. (If you’re a Macintosh/Apple fan, of course.) Drunken Batman’s videotaped informal chat with top Mac developers at the Evening at Adler.

Technorati Tags:


13
Nov 05

Encrypting multiple files using PGP 9 on Mac OS X

The most annoying thing I’ve found in PGP 9 is its seeming inability to encrypt multiple files individually. If I select multiple files to be encrypted, PGP 9 will create a single, generically named, .zip archive of the result. This may be fine, sometimes. However, most of the time I would prefer that the encryption process result in a set of individually encrypted files. And as far as I can tell, there is no way to do this.

I hope somebody out there has found a work-around.

Update: A fine alternative for me would be if PGP 9 could allow me to create “encrypting dropplets,” i.e. drag and drop applications (droplets) pre-configured to encrypt dropped files to a given set of keys. That would be very handy.

Technorati Tags: ,


12
Nov 05

The Software Engineer

As I go through the process of reviewing CVs for a software engineer position we have open, and keep seeing acronym list after acronym list, I’m reminded of the discrepency that seems to exists between my concept of a software “engineer,” and that of so many people out there marketing themselves as such.

In school, I recall a strong emphasis that engineering is more about understanding and process, than tools or techniques. It’s as much about the practical world, as it’s about the theoretical. It’s about knowing how to analyze and decompose a problem, before trying to solve it. It’s about seeing the big picture, finding sensible solutions to problems that exist in the context of constraints, and understanding that the last 10% of a solution can cost as much as the first 90%.

These aspects are common to all fields of engineering — electrical, chemical, software, etc. — but they seem to be often lost these days in the field of software engineering. That’s why, for me, there’s a clear distinction between a programmer, and a software engineer. And the latter is becoming increasingly difficult to find.

Technorati Tags: , ,


8
Nov 05

Surviving in Andalucia

If you want to survive living in Andalucia, in southern Spain, you’re going to need, in addition to a huge amount of patience, the following:

  • A darn good battery backup for your computers. Every time a cloud passes overhead, our electricity for some reason shuts off — temporarily, for periods of about 10 to 30 seconds. And don’t get one of the ones with an alarm. I generally know perfectly well when the power is out, and don’t need my UPS honking at me in the middle of the night for these short outages.
  • A whole lot of bottled water. This morning as I stood under the shower and turned on the water, I was doused with a new brownish variety of H2O. Seems the local water treatment plant had an accident, and large quantities of magnesium are being deposited into our water supply. We’ve been told the water can be used for “hygienic” purposes, but should not be consumed for prolonged periods. Yeah.
  • A good lawyer. Looks like we’ll be having our first get together with our brand new neighbors in court, as they’ve decided they don’t like the remodeling we did to our apartment four years ago. What a way to start a relationship.

I find it surprising that we have such spectacularly poor infrastructure here, given that just down the road you’ve got the White House replica of King Fahn from Saudi Arabia, where, until he passed on, he would come to visit every other year and spend a million Euros a day during the Summer months. Can’t imagine him putting up with brown water, and flaky electricity. (Then again, maybe he had his own water and electricity systems…)

Anyway, good food, good wine, (mostly) friendly people, and 340 days of sunshine a year go a long way to making up for such inconveniences, but still.

Technorati Tags: ,


6
Nov 05

Business: Being up-front with potential customers about minimum prices

MakaluMedia has been doing business with customers primarily in Germany and the USA since around 1997. During that time, I would say that the majority of contacts we received were from potential customers that:

  • Had a general understanding of the cost of quality web design and development
  • Were seriously prepared to engage us should we provide them with an interesting proposal

If there’s one thing we’ve learned to do well, having worked with formal organizations like ESA, EUMETSAT and EUTELSAT, it’s how to write a good proposal — complete with an understanding of requirements, detailed technical specifications, a listing of customer furnished items, constraints, risks, planning, milestones, payment plan (against milestones), etc. As the proposal document (and its references) usually serve as the final basis for acceptance, a complete proposal is the best means of avoiding misunderstandings and ambiguities.

Clearly, it takes considerable time to write a good proposal, and so, consequently, the preparation of a good proposal is expensive. But if you don’t do it, you’ll often have (more expensive) problems down the road. So even for the smallest projects, we try to write complete proposals.

About a year ago, we established a branch of our company here in Spain, MakaluMedia SL. I must say, in many aspects it’s been a little frustrating. The biggest problem, by far, is the relatively large number of enquiries that we’ve received from customers that either are not really serious about contracting work, and/or have no feeling for what such work costs.

I’ve spent an inordinate amount of time preparing proposals (in the way we’ve been used to preparing them), only to never hear back from the potential customer again, or to have a potential customer come back with a statement like, “I appreciate your 5,000 Euro proposal, but I just ran into a guy who’ll do the work for 200 Euro.” (That’s no exaggeration.)

To address the second problem (and indirectly the first), I’ve put up a new page on the MakaluMedia website, in which I try to give an idea of typical minimum costs for projects. I’m considering referring all new enquiries to this page, asking them to confirm a common basis of expectation, before we even meet to discuss their project:

http://makalumedia.com/you-and-us.html

What I’m a little unsure of, is whether this might be seen as inappropriate or even offensive? What’s your opinion?

Technorati Tags: ,


6
Nov 05

Mac: WorkStrip

WorkStrip by Softchaos, which at first glance appears to be a Dock replacement, is a surprisingly useful productivity tool. Using WorkStrip, one can create and configure “work spaces,” which, when activated, populate the WorkStrip dock with files, folders, applications and other resources associated with the defined workspace context. This is best illustrated with an example.

If you have a look at this video (careful, it’s tall and narrow), you’ll see that when no workspaces are active, I have WorkStrip configured to make available a minimum number of persistent resources — the Finder, my startup drive, my network volume, my IRC client, Mail, my OmniOutliner planning document, and my DEVONthink database. Once I activate my “Weblog” workspace, WorkStrip is suddenly populated with all the resources I want handy when working on my weblog — folders to my local website, Photoshop, TextMate, Transmit, Ecto, iView Media Pro, and URLs to my local staging site, and my live site.

If you need to add a resource to a workspace, just drag it to the particular workspace’s icon within the WorkStrip. In addition, WorkStrip tracks files that are opened and URLs accessed during an active workspace session. So, for example, if you have a “Coding” workspace defined, all the files you’ve recently accessed with your editor will be immediately available under the associated application icon within the WorkStrip.

All in all, my impression that WorkStrip is a well thought out, and well engineered utility. I didn’t immediately catch how useful it would become to my workflow, but about a week after purchasing a license, it fits like a glove. I even gave up using Path Finder in order to have access to all the additional nifty services WorkStrip provides which rely on the Finder.

Technorati Tags: ,