thehowev7.1

| blog

[x]
[x]

Getting settled in Washington

Mon Jul 28, 2008 07:43:09 PM by Travis

Well, I've been busy.

For the past two weeks and change, I've been traveling with my parents and brother across the country, hitting all kinds of sights. Check Facebook for the photos.

We arrived in the Seattle area yesterday. Today I: bought a car, opened a bank account, got car insurance, and got renter's insurance. It was a busy day.

If all goes according to plan, I'll have an apartment by the end of the week.

An uneventful trip to Canada

Tue Jun 17, 2008 11:09:49 PM by Travis

For the past week I've been canoeing with friends & family up in Canada. For the most part, the trip was pretty uneventful. With a few minor exceptions.

Like, for example, how on the drive up, at 3:00 in the morning, we hit a horse. Well, actually two horses. They had somehow gotten loose and decided it would be a good idea to cross the road in front of us. Nobody was hurt, but a car was totaled and two canoes were ruined. Good times.

Then there was the hotel we stayed at that night. We're fairly sure the receptionist was high. First she gave us smoking rooms, which was understandable. Then when we tried switching one of the rooms, she gave us keys to a room that was already occupied. Then when we got another new room, the sheets were dirty. Good times.

Then there was the portage we did on a day trip once we were in Quetico. The water was a little high this year. High, as in over half the portage was up to my knees in water and had a current running through it. Good times.

Like I said, and uneventful trip.

(All kidding aside though, we had a great time, modulo a little bad luck here and there).

First impressions of Harvard and MIT

Fri May 23, 2008 11:53:02 PM by Travis

Fifteen minute impressions of MIT vs. Harvard, based on walking around their campuses during the summer (so, probably totally inaccurate):

MIT: Based on the number of pasty people wearing glasses and inappropriate tropical shirts, approximately 67% more nerds than Harvard. The nerds were very polite, though.

Harvard: Based on the number of people playing instruments on street corners, approximately 1000% more hippies than MIT. The hippies were very polite, though.

Things I learned driving from Ann Arbor to Boston

Thu May 22, 2008 11:31:35 PM by Travis

Things I learned on the 14 hour drive from Ann Arbor to Boston:

  1. Trucks don't have to go slower in other states.
  2. Getting passed by a semi going 10 over the speed limit is scary.
  3. There is a restaurant called "Quaker Steak and Lube".
  4. I find the idea of a restaurant named "Quaker Steak and Lube" vaguely disturbing.
  5. Whoever designed Boston's streets was clearly on crack.

Later this weekend: hang gliding. It will either be awesome, or I will die. Possibly both.

Just a bit too much Oblivion

Mon May 19, 2008 01:23:51 AM by Travis

So, I was taking the garbage out yesterday, and I happened to walk past some dandelions. I kid you not, my first instinct was to harvest them for ingredients.

I think I've been playing too much Oblivion.

Gradumatation and also Webcomics

Wed Apr 30, 2008 12:36:21 AM by Travis

Hrm, yes, thoughts. Well.

For one, I'm gradumatated. Again. Like, for real this time, as in "see you later Ann Arbor, I'm off to the real world to get a job and stuff" for real. It feels.... good? I don't really think it's sunk in yet.

Also, entertainment. Over the past few weeks I've discovered not one, not two, but three incredibly awesome webcomics that have been around basically forever but nobody ever bothered to tell me about: The Adventures of Dr. McNinja, The Order of the Stick, and Questionable Content. You should read them. All of them, all their archives, in one sitting. Like I did. Totally worth losing 12+ hours of your life.

And yes, I realize that "Gradumatated" is not the correct spelling. It is, however, 327% funnier. How do I know this? Science.

Amusing Hypocrisy

Tue Mar 25, 2008 02:02:22 PM by Travis

In today's issue of the Michigan Daily there's a letter to the editor addressing inter-faith relationships, in response to an earlier article on the same subject.

I have no opinion on the matter, but I found the hypocrisy evident in the letter to the editor rather amusing, so I thought I'd share it with you.

First, the actual text of the letter:

To the Daily:

I would like to express my disagreement with Shakira Smiler's column Friday on interfaith dating (Guess who's coming to dinner, 03/21/2008). Smiler questioned why refusing to date someone of a different faith is different than discriminating against someone based on race. The answer is simply that value systems and beliefs can transcend skin color, but that's not necessarily true of religion.

Dating or marrying someone of another faith can lead to social isolation within your own community, a terrible situation for children and, according to some studies, higher divorce rates. While we all like a little variety in our dating lives, there are ways of learning and appreciating the values and convictions of others without becoming involved romantically.

Daniel Horwitz
Law School

Now, the same letter, but swapping all references to religion with references to race, and vice-versa (swapped words are highlighted):

To the Daily:

I would like to express my disagreement with Shakira Smiler's column Friday on interrace dating (Guess who's coming to dinner, 03/21/2008). Smiler questioned why refusing to date someone of a different race is different than discriminating against someone based on faith. The answer is simply that value systems and beliefs can transcend religion, but that's not necessarily true of skin color.

Dating or marrying someone of another race can lead to social isolation within your own community, a terrible situation for children and, according to some studies, higher divorce rates. While we all like a little variety in our dating lives, there are ways of learning and appreciating the values and convictions of others without becoming involved romantically.

I ask you, does the second reason make any less sense than the first? They both sound about the same to me.

Atheism and how I was wrong

Tue Feb 26, 2008 12:20:43 AM by Travis

In a comment on my last post, Chris disagreed with my rather snarky aside that Atheism is a religion. I think the disagreement lies in a difference in our definition of what constitutes Atheism. It's a blurry line, so I thought I'd talk a little about it.

First, I'll give you the short version: I was wrong. Now, the long version:

When I used the term Atheism in that post, I was using my understanding of the term, which was basically "I believe there is no god". That is actually a flavor of Atheism known as Strong Atheism (Wikipedia article). Strong Atheism, I still maintain, is essentially a religion (maybe I'll argue why some other time). However, Atheism is actually more general.

A more correct definition of Atheism is, almost exactly as Chris stated it in his comment, "I do not believe in god". Under that definition, which appears to be more correct than my original understanding (at least according to some sources; the Wikipedia article isn't entirely clear), I agree with Chris that I was wrong. Under this definition, Atheism is a perfectly logical conclusion based upon observed scientific fact (assuming, you know, you believe in science).

In fact, under this definition Atheism is not too different from Agnosticism, which I subscribe to (which actually is closer to being a religion than Atheism is, but that's another post entirely).

On God and round squares

Mon Feb 11, 2008 02:04:43 AM by Travis

Brock and I were talking about religion today, which despite my being basically agnostic (or perhaps because of it) I always find to be a fascinating topic. As we were talking about it, an old question that I used to hear a lot in high school popped into my mind: "Could God create a stone so heavy that even he could not lift it?"

The answer, of course, is no. Here's why.

Let me rephrase the question as such: "Could God create a perfectly round square?" Now, the answer is obvious; of course he could not. The very concept of a perfectly round square is utter nonsense. You can string together the words and make them sound somewhat reasonable, but the concepts of "round" and "square" cannot be combined in any sensible fashion.

Just as a round square makes absolutely no sense, a stone so heavy that God cannot lift it also makes absolutely no sense. By definition, God is all powerful. Thus, the very concept of a stone he cannot lift makes no sense. And, just as he cannot make a perfectly round square, he cannot make such a stone.

This, of course, is the purely logical answer, based on concrete definition and irrefutable fact. If you ask a devout follower of any religion (and yes, atheism is a religion), then YMMV. Or then again, maybe not. I've never asked. Anyone want to chime in?

MythTV Script to allow multiple Telnet connections

Sat Jan 12, 2008 11:41:08 PM by Travis

So, my roomate Brock has a MythTV box set up in our apartment, which we use as a free, open-source alternative to Tivo and other commercial DVR products.

One of the nifty things that myth provides is a Telnet interface for controlling the system: just telnet into a certain port, and you can enter in commands to control the system remotely. Works great if you don't have a remote control for the computer that's running myth. Brock and I both have GUI programs we can run on our laptops to provide a nice remote-control-esque interface to the Telnet connection (he uses one he found for Mac, I use one I developed in C# (but that's another blog post)).

It's a great setup, except for one problem: only one user can be connected to myth's telnet interface at a time. So, if Brock is using his remote control program, and I use mine, it automatically disconnects Brock. It's a stupid limitation, in my opinion, but that's the way it is.

Earlier this evening, Brock suggested a way to get around that problem: set up a simple telnet proxy server, which allows multiple clients to connect to it, and forwards all commands over a single connection to the myth telnet interface. Since I was in a mood to code, I decided I'd see if I could write up a simple Ruby program to do just that.

An hour and a half later, I had it working. Well, kinda - it's a little rough, and it doesn't forward the server's replies back to the clients, but it's enough to have multiple remotes simultaneously connected. I've pasted the code at the bottom of this post, as it's only about 90 lines. I'm really rather amazed that it was so easy, largely in part to the excellent gserver library, which may be my new favorite standard library class ever.

Edit 1/17: Updated the code to a cleaner, slightly more concise version.

I love ruby.

#!/usr/bin/ruby require "gserver" require "net/telnet" require "thread" class TelnetProxy < GServer def initialize(*args) super(*args) @@total_num_clients = 0 @cmds = Queue.new end def start(*args) start_myth_connection super(*args) end def serve(io) @@total_num_clients += 1 my_client_id = @@total_num_clients puts("New Client #{my_client_id} detected") # send the initial login msg welcome_msg = "MythFrontend Network Control\nType 'help' for usage information---------------------------------\n# " io.write(welcome_msg) loop do puts "Client #{my_client_id} is still alive" # every 2 seconds check for newly received commands if IO.select([io], nil, nil, 2) # retrieve the data cmd = io.gets puts "Client #{my_client_id} got cmd '#{cmd}'" # if the command was "exit", then disconnect the user, but not the main connection if cmd =~ /exit/ puts "Closing client #{my_client_id} connection..." break end # forward the command to myth @cmds << cmd puts "Client #{my_client_id} placed cmd on queue" # send the response to the user response = "OK\n# " io.write(response) end end end private def start_myth_connection @myth_thread = Thread.new do loop do myth = Net::Telnet::new("Host" => "myth", "Port" => 6545, "Timeout" => 10, "Prompt" => /# /) puts "Connected to myth" cmds_to_run = [] until myth.closed? # get command from the shared buffer (sleeps if none available) cmd = @cmds.pop # send the commands to myth puts "Sending command to myth: #{cmd}" myth.cmd(cmd) puts "Cmd sent" end # until myth.closed? puts "Lost connection to myth" end # loop do end end end proxy = TelnetProxy.new(6546, "myth") proxy.start proxy.join

00111100 01101001 00111110 01001001 01101110 00100000 01100010 01110010 01101001 01100111 01101000 01110100 01100101 01110011 01110100 00100000 01100100 01100001 01111001 00101100 00100000 00111100 01100010 01110010 00100000 00101111 00111110 01001001 01101110 00100000 01100010 01101100 01100001 01100011 01101011 01100101 01110011 01110100 00100000 01101110 01101001 01100111 01101000 01110100 00101100 00100000 00111100 01100010 01110010 00100000 00101111 00111110 01001110 01101111 00100000 01100101 01110110 01101001 01101100 00100000 01110011 01101000 01100001 01101100 01101100 00100000 01100101 01110011 01100011 01100001 01110000 01100101 00100000 01101101 01111001 00100000 01110011 01101001 01100111 01101000 01110100 00100001 00100000 00111100 01100010 01110010 00100000 00101111 00111110 01001100 01100101 01110100 00100000 01110100 01101000 01101111 01110011 01100101 00100000 01110111 01101000 01101111 00100000 01110111 01101111 01110010 01110011 01101000 01101001 01110000 00100000 01100101 01110110 01101001 01101100 00100111 01110011 00100000 01101101 01101001 01100111 01101000 01110100 00100000 00111100 01100010 01110010 00100000 00101111 00111110 01000010 01100101 01110111 01100001 01110010 01100101 00100000 01101101 01111001 00100000 01110000 01101111 01110111 01100101 01110010 00100000 00100110 00100011 00111000 00110010 00110001 00110010 00111011 00111100 01100010 01110010 00100000 00101111 00111110 01000111 01110010 01100101 01100101 01101110 00100000 01001100 01100001 01101110 01110100 01100101 01110010 01101110 00100111 01110011 00100000 01001100 01101001 01100111 01101000 01110100 00100001 00111100 00101111 01101001 00111110