Deirdre Saoirse Moen

Sounds Like Weird

Ruby Geek BBQ

28 August 2005

Normally, Rick and I are away over Labor Day weekend, but not this year. So, since we like to have geeky barbecue events (such as the twice-monthly Linux Cabal gathering / installfest), we thought we’d hold such an event NEXT weekend too.

Time: 3 p.m.
Date: Sunday, 4 September
Place: Our house.
Bring: something you’d like to eat. Some Ruby project you’d like to talk about (or would like help with).

If you’re vegetarian or vegan, we’ll have to find a way of grilling stuff for you. Please let us know.

We’d like to keep this to no more than 20 people, though — our house is fairly small, though we do have a nicely-sized back yard for a small place.

Read More

Rails and Pluralization, Part II

27 August 2005

So it turns out that some of the disputes about pluralization stem from how certain words are pluralized.

Rails uses English for pluralization rules, but English has two major spellings (British and American) and many variants within that. Within American usage, there’s significant variations based on the age at which one was taught and how conservative the usage was where one was taught.

When I was in grad school in a writing program, I wrote a story that included the word “traveller.” One of my critique group buddies, a public school teacher, pointed out that I needed to use a spellchecker because it was wrong. Well, it’s not wrong, it’s just no longer a “preferred” American spelling.

Note: travel -> traveled (variation: travelled). Prefer -> preferred (no variation). In British English, it’s travel -> travelled.

So, we were going to talk about plurals, weren’t we?

Jokes about the plural of mongoose aside, some plurals aren’t as easy as you think. Like my example above, they vary based on region, one’s age, and the pedantry of one’s instructors.

For example, while “data” is correctly only a plural, common American usage uses it as a singular as well. And don’t get me started on multimedia. Ugh. All media are multi.

How about the plural of the poor little eight, well, we typically call them legs, tentacled creature? There’s three possible candidates: octopuses (the simple plural), octopi, and octopodes.

While octopi was in fashion for a while, it is a Latin-formed plural on a Greek-based word. (Sorry, I just have to say this: the horror!)

Some people say octopodes is the correct plural. Personally, I think this is confusing for two reasons:

  1. Octopus belongs to the order Octopoda in the cephalopod family. Depending on who you talk to around the world, people refer to the octopus’s limbs as “feet,” “legs,” “arms,” or “tentacles.” If you’ve read the book Cephalopod Behavior (you have, haven’t you?), you’d know that they are technically tentacles. Arms are those two extra (longer) appendages that squid and cuttlefish have. Thus, trying to reinforce the “foot” analogy in the “octopodes” pluralization is, essentially, broken in my book. Yes, I know what the family and order names derive from, thank you for asking.
  2. It’s not just the tentacles that are plural, it’s the whole octopus.

I think Matt Jankowski said it best on the Rails list: “I would appreciate VERY MUCH if the person who is building an application that requires an octopuses table could email me off list and let me know more about what it is that they’re doing and why.”

That goes double for me.

Read More

Rails and Pluralization

25 August 2005

At first, I didn’t really get why Rails did pluralization of entity names.

One day, I was putting together a list of the relationships in one of my projects so that some of the non-technical people could help sanity check them as I went over them.

class Person < ActiveRecord::Base
has_many :addresses
has_many :phones
has<em>and</em>belongs<em>to_many :conventions, :join</em>table => 'memberships'
end

class Address < ActiveRecord::Base
belongs_to :person
end

class Phone < ActiveRecord::Base
belongs_to :person
end

class Convention < ActiveRecord::Base
has<em>and</em>belongs<em>to_many :persons, :join</em>table => 'memberships'
has<em>many :member</em>type_prices
end

class Membership < ActiveRecord::Base
belongs_to :person
` belongs_to :convention belongsto :attendancetype hasmany :memberpayments end`

…and so on. I think that the pluralization makes the relationships clearer, because the pluralization makes sense in English. When you refer to a single object, it’s singular; when you refer to multiple objects, it’s plural. Makes sense, doesn’t it?

It wasn’t until that moment, though, that I understood the Rails naming conventions, probably because I’d never looked at all the model files at once en masse. While I resisted the convention at first, I genuinely think they make the code clearer.

Read More

Thirty Years of Development

21 August 2005

I was asked a few weeks ago how many languages I’ve been paid to develop in during my thirty years as a software engineer and developer.
I’ve excluded database languages and language dialects, but here’s the list, in approximate chronological order:

  1. Basic (and not that visual kind)
  2. Fortran
  3. PL/I
  4. Assembly
  5. Pascal
  6. Ratfor (which, while a preprocessor for Fortran, is much more Algol/Pascal-like than Fortran like, thus listed separately)
  7. Forth
  8. Lisp
  9. Ada
  10. C
  11. Hypercard
  12. Smalltalk
  13. C++
  14. Prolog
  15. Applescript
  16. awk
  17. sed
  18. Perl
  19. bash
  20. Objective-C
  21. Javascript
  22. Python
  23. PHP
  24. tcl
  25. Java

(After this post, I started developing in Ruby, which remains my primary language.)

Read More

On CPAP

17 August 2005

I was going to post this as another comment under the original entry, but figured it might be lost.

For those of you who don’t know, CPAP machines are used to prevent sleep apnea and certain other problems (excessive snoring that’s not apnea as well as some extreme cases of acid reflux).
Briana,
Sorry it took a couple of days to approve your comment; for some reason my blog is thinking all comments are spam — even mine! I only go through twice a week to catch any strays.
I bought mine from the DME (durable medical equipment provider) my HMO recommended. Right now, the pricing on the web is a bit higher than when I first got my machine because of the lousy foreign exchange rates we’ve got.
I don’t know of the site you asked about, but I do know that many people have been happy with cpapman.com.
Fundamentally, though, you need to know what you need — especially in the mask department. So, while I’d happily buy a second machine online, it wouldn’t be the place I’d go for a first machine. If you don’t have good DME coverage, though, online will be a much better pricepoint than a new machine.
However, a tip: My DME said that they had used machines (ones returned by people who didn’t tolerate CPAP well, or ones used for loaners) that they sold for much lower than retail to people who didn’t have DME coverage. So you might want to check a local place, because they might surprise you.
Either way, you’ll need a prescription; how you get that depends on the process of your sleep study, physician, and durable medical equipment provider. I received the physical copy of my prescription while at the DME’s office after my titration.
As far as travel: I’ve traveled so much with my CPAP now, it’s like second nature. I no longer carry a special bag for my CPAP: I simply wrap it up in a light, padded jacket or other piece of clothing, put it in my laptop backpack (with the hose, cord, and mask separate) and just carry it on. If I travel with my heated humidifier (and I always do if the trip is longer than 2 days), I generally put it in my checked luggage.
After Amtrak lost it for a month (that was the last time I carried it in a separate bag, you see), I now have taped business cards to all the parts in a display of Excessive Paranoia.
<
p>Oh, and while in the UK, I only needed a plug adapter for my CPAP, which was a great discovery. If you plan to travel a lot, try to get a model that works both on 110 and 220 power.

Read More

Spoiled by Backpack

16 August 2005

I signed up for Bloglines as an experiment — and found their means of trying to sort one’s feeds unusable. Specifically, it’s unusable enough that I probably won’t bother at all.

I’m just spoiled by Backpack, which has become something I use far more than I ever expected to.

Read More

CocoaHeads

16 August 2005

Thursday night, I went to the first meeting of the Silicon Valley Cocoa Heads, which was a lot of fun. Unusual for a first meeting, there were 24 people there, including long-time Mac writer Scott Knaster. He showed off his latest book, and people introduced themselves and talked about their current projects.

Of those there, almost half either currently worked for Apple or had worked for Apple. I don’t suppose that’s surprising, it’s just that BaNG! rarely got that sort of a crowd.

Anyhow, great fun.

Updated to add: Ah, found my notes. Knaster talked about his experience working on the Longhorn project, during which time he spoke with approximately a thousand Microsoft engineers, each of whom had a different view of what Longhorn was going to entail. When it was pointed out that Longhorn still hadn’t shipped and that Microsoft hadn’t had a major OS release in some time, Knaster quipped: “Microsoft has become the company that has forgotten how to ship software.”

Read More

Linux Picnic

14 August 2005

Sunday was the annual Linux Picnic, aka picnix14, celebrating the 14th anniversary of Linux. Overall, it was less well-organized than prior years, despite increasing support from corporations.

For example, there was a long line for registration, which got one a name badge, a free t-shirt, and a raffle ticket for some stuff. I figured that since I don’t wear t-shirts, didn’t care about anything being raffled, and that most of the people already knew my name, I was antisocial and didn’t stand in a line in the hot sun. Not my idea of fun.

Examples of poorer organization: this year (in contrast to prior years), grill essentials weren’t provided to each cooking station (e.g. utensils, charcoal, starter fluid, etc.), power wasn’t provided to tables, and no one put tarps over the perforated metal roofs. Had I known that would happen, I would have stayed home. Even with SPF-30, a hat, and sitting under one of said roofs, I got sunburned.

The other aspect that was quite disheartening: people were much more inclined to “lift” stuff than prior years. For example, a friend pulled up, unloaded some of his stuff, then went to park. When he returned, all but one bottle of his beer had vanished. The server that was to be raffled walked off; while the guy who’d taken it said he’d misunderstood the sign, I dunno. Rick had glass dishes and food that he’d left out for a minute and someone took them (we did get them back, including our utensils that we’d brought).

There also seemed to be a lot of people who roamed through in search of food, but weren’t part of the linux community at all.

In all, I think I’ll skip it next year.

Read More