Back From Jamaica
I’m back home now after a holiday with Ali in Jamaica. Although I brought my laptop with me and the resort had wireless access, I couldn’t bring myself to write any blog entries while I was there. Not to mention I was too busy drinking, diving, sailing among other activities (not necessarily in that order). Truth be told though, I did check my email a few times to make sure everything was okay at Zymeta in my absence.
We spent 10 nights at Couples Swept Away, which is located in Negril, on the west side of the island. Ali and I were there two years ago and like it so much we decided to go back. We brought our good friends from Edmonton along and spent pretty much the entire time with them. It was a relaxing week and a half and the only time we left the resort was to visit the Mayfield Falls.
If you’re looking for an all-inclusive holiday, skip Mexico and head straight to Jamaica. I’m sure the other resorts are similar but I believe that you’ll find Couples Swept Away to be the best. I doubt you’ll find another resort with as much to offer; free scuba diving, water skiing, sailing, tennis courts, a spa (the massages there are worth every penny), an amazing beach and, of course, all the alcohol you can drink.
The Illusion of Security
I’ve mentioned it before but I thought I’d bring it up again: airport security is an insecure gongshow and worse, no one seems to care. But perhaps they’ll care after tonight’s Fifth Estate (Tonight at 9pm on CBC) which, according to an article on CBC.ca, exposes some major problems with security at Canada’s airports.
What I found most disturbing is that Mark Duncan, chief operating officer for the Canadian Air Transport Security Authority, thinks that CATSA is doing just fine since in a recent poll 90 per cent of the people were satisfied with the security process. Have I mentioned I hate the way society has become? It’s all about perception and politics now instead of actual results. CATSA, for those who don’t know, is the agency responsible for airport security. And CATSA is happy with the current security measures since most people think things are okay. It doesn’t matter that they aren’t actually keeping airports secure; what matters is that the general public thinks that things are secure. How very emu-like of CATSA. And the general public for that matter.
It’s time to pull our heads out of the sand and demand better security for our $2 billion of tax payer money. And if the system is perfect, we should demand further improvements, because wherever there is a fence, in today’s world there will always be someone trying to get through it. For more reading, CBC has an Indepth on airport security.
Update: the Fifth Estate’s investigative report last night was amazing. And scary. And frustrating at the government’s lack of concern. According to Liberal Senator Colin Kenny there’s a lack of common sense over at the Ministry of Transport. Oh, and the guy who phoned CBC initially to report the descrepencies has now been suspended.
Watching the NYC Marathon (from the other side of the country)
My former business partner Marcos is running the NYC Marathon this morning. Actually, as I write this he’s been running for at least 3 hours, 3 minutes and 24 seconds. I know this because I’ve been tracking his progress online, from the comfort of my living room (thanks to my wireless network, right Mike?), and can see that Marcos passed the 20 mile mark with that time.
I think I’ve said this before but this is the kind of thing the Internet was really meant to be used for; the sharing of information and connecting the world. It was not meant for zombie computer networks, spam, pr0n or other such interruptions. Those things are an immense annoyance but we put up with them because of cool things like tracking your friend’s four hour marathon struggle online.
Oh, and Marcos, when you read this, you owe me $34.99 USD. Your rubberdinghy.com domain is still listed under my old Network Solutions account and it expired on November 4th. And seeing as we’re friends and all, I renewed it for you… again. :)
Dynamic Languages
I read an article over at ONJava today titled ”Technologies to Watch: A Look at Four That May Challenge Java’s Development Dominance”. I was going to call it an ‘interesting’ article, but it really wasn’t that interesting. In fact, the author pretty much lost my attention when describing the first of these emerging technologies to watch, dynamic languages. The author started by saying that “dynamic languages can be much more productive than static ones like C++ or Java”. Statements like that make me cringe.
I think that it’s important in software development to use the right tool for the job. So if you’re writing a quick web app to generate [or in some cases, cheat at] hockey pool scores then I don’t think it makes a lot of sense necessarily to use Java Servlets. You could use it, but it’s not a production application, it’s going to be used internally, and you’ll likely going to make changes as you go along. So I would say that Perl (or some other similar dynamic language) is probably a good choice. That’s not to say that Perl can’t be used for production apps, so don’t start flaming me for that.
Where I have a real problem is that people generalize and equate writing actual lines of code with productivity, without thinking of the software writing process as a whole. The language mentioned in the article is Ruby. The author mentions that types in Java are static so you have to “you must create and compile a full program” and goes on to say that that because with Ruby types are dynamic, “you can just start typing and go.” The author is implying that with Ruby I will be way more productive. But the problem with the “type and go” mentality is that unless you are a disciplined programmer, you will do just that. You’ll type and go. And when something doesn’t work, you’ll try typing something else and go again. And again.
When you are forced to compile and link and whatever else, the type and go method becomes less productive. Agreed. So don’t do that. Instead, stop and think about what you are trying to accomplish, what happening instead and why the difference between the two. And how changes in one spot of the code will affect other things. I’m talking about a true understanding of the programming trade. You can’t do that if you keep thinking that this next change will work “this time.” Sure, we’ve all done it, but that doesn’t make it right. And I don’t know for sure but I’d be willing to bet that while the coders so-called “productivity” might be worse when using Java (or other such static language), the productivity of the development team over the whole software process is likely well above that of the dynamic languages. It’s not so great if the coders are cranking out the code but have to do things over and over because the code fails to work as expected during the testing phases.
Of course, all that said, you also have to factor in the programmers themselves, for if you have the very best (and disciplined) coders working in Ruby and poor coders doing the same thing in Java, it’s very possible that the Ruby project will be more successful faster. But I think as a whole, you won’t find too many production, enterprise applications written with dynamic languages. Flame if you want, but you’ll make your case a lot better if you write some code and show me.
On Cookies
I’m not paranoid but I do have my Firefox web browser set such that it asks me every time a website wants to set a cookie. Initially this was a huge pain, but in today’s connected world I think it’s my right to not be tracked by anyone and everyone. Some sites (such as Google, my online banking, etc) I allow to set whatever cookies they want. I either trust them or require functionality that continues between browser sessions. Other sites (such as IMDB or my online photo developer) I allow cookies to be set for the session only, meaning that they can set whatever cookies they like but those cookies will disappear as soon as I shutdown my browser. The rest of the cookies I receive, I either allow for the session or I block entirely.
What bugs me the most about cookies is the fact that some sites insist on setting a cookie for every file that’s sent. So for image heavy sites that do this, they are setting the same cookies over and over for each image. And this happens for every page. Why would they set their server or application up to do that? What could possible be achieved? I thought perhaps it was a web thing in general but on a recent application I built with Apache and Tomcat, I set 3 cookies at the start of the session and that’s it.
So I now have a rule; every general website gets to set 5 cookies and then they are added to my deny list. If the site doesn’t function without cookies (which a regular, non-login type site should), then they no longer get my business, so to speak. Oh, and those 2o7.net cookies that everyone seems to use? Those are blocked forever more.
Air Canada's Unlimited Pass
I was catching up on my Maclean’s reading last night and read an article about Marc Tacchi. He’s the cargo pilot who bought a two month unlimited travel pass from Air Canada. I’d read about him before on CBC.ca but the Maclean’s article mentioned that he had a blog. And he does: The Great Canadian Mileage Run 2005; so I thought I’d post it for all others to read. There’s some interesting entries including some by his girlfriend.
I find it funny how Air Canada commented that they were “delighted” at Marc’s use of the pass. I’m not sure that Air Canada expected anyone to do that, for I fail to see how the $7000 for the pass will cover all the Aeroplan points (and thus free trips) that Marc is earning. In any case, I suspect that Air Canada won’t offer anything like this again or if they do, they’ll put some limitations on the unlimited aspect of the pass.
The Slow Snow Commute
It’s been snowing for several hours now and there’s now quite a bit of accumulation. This is the first really good snowfall of the winter season here in Calgary. If the snow continues to fall throughout the night, it will inevitably result in several vehicle accidents tomorrow morning. The accidents will, in turn, result in a dreadfully slow morning commute now matter where you’re trying to go in the city. And that will undoubtedly bring a smile to my face, for Dean will surely have another great transit story to tell us all.
Thinking In Metric
David Megginson wrote an interesting entry about flying and the metric system. Canada’s close proximity to the United States has basically resulted in three groups of people when it comes to use of metric in Canada. There are those who grew up with only Metric, those who grew up with imperial and those who grew up in the area of ambiguity, when both systems were being used. The first group of people will likely think in metric in almost all cases, the middle group likely still thinks in imperial and the last group will think one or the either depending on the situation. The last group will also include those people who are forced to used the imperial system due to jobs or hobbies.
I fall into the last category on multiple levels: I started counting in the late 70’s and as such got a mix of both systems. Then I got my pilot licence when I was 19 which means that I can easily measure heights in ‘feet’ but struggle with those same heights in ‘metres’. What I end up doing is estimating a height in feet and then converting it to metres. The same is true for me when I go diving. In North America everything when diving is done with imperial measurements; depths are in feet and air pressure is in PSI.
Most other stuff though, I can envision in metric without thinking. Distance, speeds, volumes, etc are all easy to envision in metric. To that end, I’m trying to fully convert myself to metric. I’ve switched my dive computer to use metric so that while others are talking about dive to 100 feet and only having 500 psi of air left, I’m talking about a dive to 30.5 metres and having 34 bar of air. But I stll have trouble envisioning the actual depth without first converting it to feet and I’m not sure I’ll ever fix that.
Interestingly enough, when it comes to flying I’m totally mixed up. Despite many hours of flying I can’t envision speeds in knots unless they are relative. For example, when I think about a 767’s Vr of 140 knots I can easily relate it as almost 3 times the Vr of the Piper Warrior, but I can’t really envision 140 knots until I convert it to 259 kilometers/hour. Coincidentally, 259 km/hr is the fastest speed I ever got to on my CBR 600 F4i when I still rode motorbikes. I don’t think I’ll ever be able to ‘think’ in knots unless I start measuring distances in nautical miles and that seems like a backwards step given that only three countries in the world aren’t using the metric system.
As for aviation, the mismash of units (I love David’s example of six mile visibility) is a great example of what happens when there is a lack of standards. One day I think we will fly using the metric system, but I can’t see it happening until the US decides to adopt it and I can’t see it happening without a fight (look at the fight that’s going on with respect to the new ELT frequency).
Fox Trail
Today was one of those days where I don’t miss the Army at all. In the past though, Saturday would likely have been a day with the Army and thus Sunday was chore day. But today, I was able to enjoy the entire day because absolutely no chores needed to be done. Well, there’s still some stuff to be done but I did enough on Saturday that Sunday was a free day.
Ali figured that we should try to meet up with Marcos for coffee while he was in town (I figured there was no need since we’d already taken advantage of his NYC apartment *g*). We decided on breakfast at the Galaxy Diner, which was nice since although Marcos goes there whenever he’s in town, I hadn’t been there for several years. As it turned out, breakfast was a great idea because one thing led to another and after a great egg, veggie, sausage scramble (it’s called the Cody Scramble), we tagged along with Marcos and his sister for some horseback riding out past Cochrane, at the Griffin Valley Ranch.
The drive out was a bit on the long side but the experience was well worth it. The weather was good today; clear skies and 8 degrees Celcius. I ended up with a horse named ‘David’ who did what he wanted if I let him but who followed my directions to the letter when I gave them. We started out along a dirt road of sorts and then headed along ‘Fox Trail’. Fox Trail takes you along a nice hour long loop that has some open areas, some closed in parts, a rivine crossing and lots of ups and downs. For a first ride of the season, I highly recommend it. David and I got off to a bit of a rough start, however, when ten minutes into the ride he figured he gallop across a sloping field. I’m pretty sure that if you’d seen me, you’d have seen nothing but two bulging eyes. We all had a good laugh though and I learned to keep David in check. After that, David and I were like one; on the ravine crossing I wasn’t comfortable doing it at a rapid pace like the others so I had David take it slowly, which he was more than happy to do. And towards the end of the ride when everyone galloped across another field, David and I joined in for a bit and then just trotted the rest of the way until we caught up.
I’ve ridden horses a few times, but not in the last three or four years. That said, I thoroughly enjoyed today’s outting; when you combine a fun activity with great people, it adds up to a great day. Now if only we could have flown home the day would have been perfect.
CBC Is Linux Friendly
As I write this, I’m listing to O’Reilly on Advertising on CBC Radio. Not on the radio though, since our only radio is in the kitchen, but online. CBC has had their radio content available live online for many years now, but things have dramatically improved since they first went online. If you go to their listen page you’ll see that they have localized streams. That means that I get the Calgary content (especially important for the morning and drive home shows) and also means that I’m not competing with the entire country for the limited audio streams. The audio feeds used to use streaming RealAudio but in August 2004 CBC moved to Windows Media for their streams.
The best part about CBC live streams, and a sign that Linux is becoming more mainstream, is that on their listen page, CBC notes that their streams are compatible with Unix, and that they tested them on Gentoo Linux 1.5.1 and FreeBSD 5.x. They further note that mplayer and xine work fine with the stream. As if I didn’t love the CBC enough already; now I have another reason.