Chad Perrin: SOB

28 April 2007

Incoming links can surprise you.

Filed under: Metalog — apotheon @ 01:59

I got some surprises when I checked my incoming links tonight.

Matz linked to me in regards to my SOB entry titled OOP and the death of modularity.

Yes, that Matz. Yukihiro “Matz” Matsumoto, the creator of the Ruby programming language. If you’re a programmer, or just have aspirations in that direction, give Ruby a shot if you haven’t already — it gets OOP substantially more “right” than any other language I’ve played with. Just take the hints from my bit about OOP and the death of modularity for how not to do your object oriented programming along with you while you learn the language.

Of course, Matz’s comments are in Japanese and, while I did study it in college and watch a heck of a lot of anime, I still can’t really read the language. As far as I can tell, Matz thinks I have a new perspective on something related to how OOP, modularity, and Microsoft Windows relate to each other, but for all I know he could have panned my post pretty severely. Maybe he thinks I’m a dimwit that doesn’t know anything. As long as I don’t know exactly what he said, though, I can at least pretend it’s glowing praise. Coming from Matz, glowing praise is really very flattering. I feel good about myself.

In other news, Sterling linked to me from Chip’s Quips in one of his link roundups. In particular, he directs readers to sake-drunk ramble about introversion and blogging. Surprisingly, there were only two typos that I needed to fix later when I was sober.

In the same link post, he referred to the fact that Randy Morin apparently sold R|Mail to NBC. When you sell your startup (or “hobby”, if you like) to a huge corporation, I think that means you’ve hit the big time. Congratulations are due Randy.

In the post just before that “Chipping the Web” link roundup, Sterling discussed his son’s improved FBI warning for movies. Perhaps coincidentally (since the MPAA is largely behind those FBI warnings on movies), Jack Valenti died this week. He was the president of the MPAA for about 38 years, until he retired in 2004. He presided over the MPAA’s efforts in support of the DMCA and other tragedies of copyright law. So, he’s dead. I wish I could honestly say I’m sorry to see him go — but I can’t.

I think I had something else to say, too, but I’ve run dry.

(edit: There was a typo in the year of Valenti’s retirement.)

25 April 2007

article: Get professional image editing for free with GIMPShop

Filed under: Geek,Profession — apotheon @ 01:41

I now post notices when articles I’ve written are published online. This is meant in part as a service to any of my readers who might be interested in the subject matter — if you’re reading what I write, you might want to read more of it. Yesterday, the following article was published:

Get professional image editing for free with GIMPShop This article is also available as a PDF download.

published by: TechRepublic

Takeaway: You don’t have to spend thousands of dollars to get professional image editing. Chad Perrin reviews the open source image editing application called GIMPShop.

Other articles published online are listed and linked at my Online Publication Credits page.

Disclaimer: I do not exercise final editorial control over TechRepublic articles. They pay someone else to do that.

20 April 2007

adjusting the syntax of Fei Ling’s Y combinator

Filed under: Geek — apotheon @ 02:24

On the subject of why — or, in this case, Y . . .

At Fei Ling’s website, there’s an example of constructing a Y combinator. I looked at it, and thought “Wow, this is what people must mean when they say someone writes Ruby like Perl — or even C.” I decided to adjust very superficially to make it better match a Ruby idiom. If anyone would care to share an even better implementation, I’d be happy to see it. Here’s Fei Ling’s version:

Y = proc {
  |f|

proc { |g| g[g] }.call( proc { |h|

              proc {
                |n|

                (f[h[h]])[n]
              }
            })

}

Here’s mine:

Y = proc do |f|
  proc {|g| g[g] }.call(
    proc do |h|
      proc {|n| (f[h[h]])[n]}
    end)
end

I think that’s correct, anyway. At least, irb doesn’t complain. Now, I’ll repeat Fei Ling’s question: For what, exactly, do I use this?

Older Posts »

All original content Copyright Chad Perrin: Distributed under the terms of the Open Works License