Tanga is going nuts right now. We’re doing our first Puzzlethon and Tangathon tonight. Lots of new traffic and sales.

It’s great to see people use my work.

Poor kid was born with his heart growing outside of his body.

Amazing that doctors now can:
  1. Notice it before he’s born
  2. Get him out of mom without damaging the heart
  3. Stick his heart back in his chest without much going wrong

Says a lot about medical technology. If I had to pick a new field other than programming or law, I’d go into biochemistry or something.

Those bastards! That’s a lot of bastards.

How did that has come to mean all black people? Not all black people are Africans or have had African ancestors. And not all African Americans are black. And I don’t call myself Dutch American.

Say you have a bunch of Rails tests. Good boy!

Sometimes, in Rails (unfortunately), the results of the previous test affect the results of the next test. For example, if a previous test loads in some data into a database table, and the current test reads in that data without clearing/reloading the data (which happens if the current test neglects to include a fixtures :stuff line, then you’re going to have inconsistent test results.

The fix (put into lib/tasks/test.rake):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require 'test/rails/rake_tasks'

desc "Runs all the tests one at a time"
namespace :test do
  task :separately do |t|
    # Get all the test files
    files = Dir["#{RAILS_ROOT}/test/*/*.rb"] 
    files.each do |file|
      puts "Running #{ File.basename(file) }"
      `rake db:test:clone_structure`
      output = `ruby #{ file }`  
      if not $?.success?
        puts output
        exit 1
      end
    end
  end
end

It’s very good. I can’t remember the last time I laughed so hard during a movie.

The ending was so-so. I left wanting more. But all in all, a good experience.

3.25 stars out of 4.

The $100 laptop: What went wrong, written by John Dvorak, is a terrible article. So much FUD.

The idea was developed by the charming Nicolas Negroponte, former head of the MIT Media Lab and organizer of One Laptop Per Child, an initiative to produce a $100 laptop and distribute it to the poorest children in the world.

This laptop isn’t going to the kids who are the poorest. It’s going to the kids who have their other basic needs met, but need better education and more access to information.

Let’s face it: These high-tech gems are a laughable addition to a mud hut.

Yes, because everyone in a developing nation lives in mud huts! For god sakes, it’s going to help kids in countries like Libya, where their life expectancy rate is 76.69 years (which is just under the U.S. life expectancy at 77.85 years). Not everyone in a non-western country lives in poverty and squalid conditions, regardless of what you see on T.V.

Besides incredible difficulties with the distribution networks in Africa, Zachary wonders who will maintain these machines. Generally speaking, a societal infrastructure with a lot of computers needs a lot of support mechanisms.

“And in today’s world the real value of a computer is it being networked,” says Zachary. “Finding a network in the poor areas is either impossible or very expensive.”

The laptops network themselves. Read the frequently asked questions at http://www.laptop.org/faq.en_US.html.

If you’re curious, my amazon wish list is at http://www.amazon.com/gp/registry/wishlist/2OC1AXAQ5LNXT/.

Well, I’ve started the process of applying to Law School. If I’m accepted into some program (read: trick some school into accepting me), I’ll be quitting my main job for two years. Then I’ll be Lawyer. Joe Van Dyk, Esquire. Counseler. All that.

Why?

I’m still figuring it out. Part of me suspects that I’ll make a better lawyer than programmer. I’ve never been terribly impressed with my own programming skills—they’re decent because I spend a lot of time working on them. Lawyering seems to involve a lot of reading, logical thinking, writing, and arguing. All of which I’m really good at. Programming, well, some types of programming, rewards new inventive thinking. Inventing is not my strong suit and I’m not too pleased about it either.

I care about:
  • Freedom of speech and other first amendment issues
  • Patents and their effects on innovation and competition
  • Open source software licensing
  • Intellectual property

I want to learn more about those things and make the world better in those areas. I think those topics are going to be important in the foreseeable future and I’d like to be involved. My background in software and technology would give me a bit of an edge.

Plus, wouldn’t this guy make a great lawyer? I think so.

I’ve given Rubyisms in Rails a quick skim.

It’s an excellent book for someone who knows the basics of Ruby and wants to learn a little bit about how Rails is influenced by Ruby’s language design. You’ll find out why symbols are used, why and how 30.seconds.ago

I like how it compares Java/C++ to Ruby—for example, it shows you how you’d implement the Iterator pattern in C++ and Java, and then shows the Ruby and Rails way of doing it.

I’d recommend this book for anyone who, again, knows the basics of Ruby and wants a quick and concise read on how to use Ruby’s best features.

SOAP bad. (ignore this if you’re not a nerd)

If you haven’t seen it yet, I finished up Tanga not too long ago. Some good stuff for sale there.

It’s built using the Ruby on Rails web application framework and is written in the Ruby programming language.

I have a server running Linux that’s in my closet. It has a bunch of stuff on it (roughly 200 gigabytes) that I’d like to have backed up remotely. In case the data is lost somehow. I don’t trust my cat.

Strongspace is what I used to use (and still use for really important things, as I have a lifetime account with them), but $100/mo for 100 gigs of space seems a little overpriced.

Luckily, Amazon offers S3, a service where you can save unlimited amounts of data for very cheap. Storing 200 gigs of data would cost me, at 15 cents per gigabyte per month, $30/mo, which is much more reasonable. And I’m sure the price will come down over time.

Unfortunately, S3 doesn’t have a web interface for accessing your data. The service is intended to be used by programmers, so you have to have a program access everything. I’m using s3sync, a program written in Ruby that mimics rsync. It’s been working great. My internet connection sucks, so I can only upload at 30kB/s, and I have 200 gigabytes… will take the rest of this month to back everything up.

If you really want to be able to access your s3 data in a web browser, your best bet is a Java program called Cockpit.

We leave for Paris in 29 days. We’ll be there for 9 whole days.

What should we do while we’re there? What should we get?

I’m going to make an effort to blog more. I need to improve my writing skills. They’ve deteriorated over time.

I like coffee.

I used to only drink coffee when I needed a pick-me-up, but now, I sometimes drink it for the taste! It’s shocking, I know.

You all can blame my wife for getting me hooked on drugs. Drugs are bad!