Deirdre Saoirse Moen

Sounds Like Weird

Don't Go All 37Signals On Me

13 October 2005

I just realized that I had three 37Signals application windows open (out of three browser windows):

  1. A client’s Basecamp
  2. My own Backpack with my flight info and so on for RubyConf
  3. My Tadalist! account that has my packing list.

Read More

EIEIO

10 October 2005

I remember reading a rant recently about frou-frou titles in small organizations. Does it really matter if you’re the CEO in a firm of three? Nah.

Given the plethora of C-star-O titles, I’ve personally been tempted to just put EIEIO as my title on a business card. Simple, cryptic, and no more meaningless. Of course, it might get people humming Old McDonald Had a Farm every now and again, but that would be a Good Thing (to associate that song with silly titles generally, not myself in particular).

Octopod asked tonight what EIEIO would stand for, were it a job title. Best I could come up with on the spot (never for a moment having even thought of the question before) was (since we’re talking a farmer, after all): Endocrine Inspection and Eatability Insurance Officer. Yes, I know, it should be Assurance, but, well, it was late and that was the best my brain could do given sleepy synapses.

Octopod said the cyborg name decoder came up with Electronic Intelligent Efficient Infiltration Organism.

I’m sure there’s a better decryption of the letters out there. Suggestions?

I’m feeling that lark that suggests I might actually Do This someday, and it’d be nice to have some title to roll glibly off the tongue should someone ask.

Read More

Java is Aristocratic; Ruby is Democratic

10 October 2005

A week or so ago, I was trying to explain to someone (who is not a programmer) what the difference in object inheritance between Ruby and Java is. I explained duck typing, but the person still wasn’t getting at what I meant.

I blurted out something different. “Well, Java is aristocratic, and Ruby is democratic.” I went on to explain that Java, in order to determine what you’re capable of depends on what your parent was capable of, plus those special methods that make you you and not your parent. It doesn’t matter if some other kid can do the exact same thing (with the exact same code), if it doesn’t have your parent, Java will think it can’t do it. Thus, aristocratic, because capability is determined by inheritance.

In Ruby, all you ask is “can you do this?” by invoking the responds_to? method. If it does, you’re golden. Thus, Ruby is a meritocracy, which doesn’t, strictly speaking, equate to democracy.

While this may not seem like a big deal, I should point out that it can be. For example, for my first large C++ project, we used zero class libraries from other vendors because none were ready yet. However, when they started coming out, it would have required huge chunks of re-coding to incorporate into another library because the inheritance would have changed.

At the time, when working with Windows coders as a Mac developer, I was keenly aware of how different the object hierarchies were: on Windows, everything was a subclass of window: text panes, buttons, everything. On the Mac, none of the other visual elements were subclasses of windows.

So, in other words, if we’d moved our custom framework into another company’s, such as PowerPlant, we’d have had to do a lot of code changes — probably more than if we’d used a C library — because we’d have to have had everything inherited from the right classes to buy into the framework’s inheritance model.

Had we been using Ruby (which didn’t exist at the time), we might have been able to do this in small chunks rather than all at once — because Ruby cares about what you can do, not who your parents were.

One of the geniuses of Sun was not the language per se, but the idea of releasing frameworks that helped standardize the use of the language. There’s now a lot of competing frameworks, though, so that didn’t last long.

On a completely different note, a couple of weeks ago, we went out to dinner with our friends. One of the people made a comment about Java being slow doing something or other. The person across the table, who works for Sun, commented, “You do realize that Java is a language invented by a hardware vendor….”

Read More

Kepler's Reopening

08 October 2005

I helped out at the Kepler’s re-opening today, checking supplies at the registers before opening and working info desk after. I can’t even remember how many special orders I took. Initially, they were going to have me help at the membership table, but there were few volunteers who’d worked in the store, and I liked working info desk when I worked there, so it seemed a natural. There were only a couple of things I needed to ask help with, but then it was smooth sailing.

Read More

Mint Results, Month 1

07 October 2005

I’ve been running Mint for a month now, and have the following to report (top 3 only in each case):

Browsers

  1. Firefox: 47%
  2. Internet Explorer: 24%
  3. Safari: 23%

Interesting, huh? Most of the Mac users are using Safari, but most of the Windows users are using Firefox.

Platform

  1. Windows: 61%
  2. Macintosh: 33%
  3. Linux: 6%

Resolution

  1. 1024 x 768: 40%
  2. 1280 x 1024: 22%
  3. 1280 x 854: 8%

Granted, if I did .NET development or something other than Unix-y Mac-y things, I’d have different demographics.

Read More

New AJAX Beta Book

06 October 2005

The good fellows over at the Pragmatic Programmers have found yet another way to extract money from me, in this case a brand new beta book on AJAX techniques, using several languages for the examples. So, while I’ve checked rails off as a category for this entry, it’s not just about RoR.

As Dave Thomas noted in his blog entry, the book’s only about 2/3 finished, so the part you most want may not be there yet.

Too bad I found out about it at 1:30 in the morning. I’m going to be good and not stay up all night reading it.

Read More

Test Fixtures/YAML tip

05 October 2005

I wound up getting an error in my test fixtures that it took me a while to figure out, in part because the text in that part of the fixture was several pages long. Here’s the error:

Fixture::FormatError: a YAML error occured parsing ./test/unit/../fixtures/stories.yml. Please note that YAML must be consistently indented using spaces. Tabs are not allowed. Please have a look at http://www.yaml.org/faq.html

The real issue in my case was having an unescaped colon in the data. And, as it took me a while to find out exactly how to escape a colon in YAML, you just do it by putting double quotes around the colon.

I hope this saves someone some time.

Read More