April 19, 2009

Christ, Jesus is calling the Austin Stone

Filed under: Uncategorized — dave @ 1:10 am

One of the most entertaining bugs I’ve ever witnessed is in the Caller ID system at the Austin Stone. I helped Doug roll out a voice over IP system when the church ran out of extensions on it’s legacy system. One of the neat things we did is write a perl script that would take each inbound call and do a database lookup that searched for any members who had that phone number.

The system worked great, and like all good systems was forgotten and people just learned to trust that we just had really accurate caller id. This was a problem for some people because they were in the habit of calling into the office to do occasional prank calls. The most famous of these was on a new ministry assistant’s first day, when one of the members of the church called in pretending to be Louie Giglio and asked for Chris Tomlin’s cell phone number. (For those not steeped in Christian culture, Chris Tomlin used to be the worship leader at the Stone and he is fairly famous, Louie Giglio is also fairly famous and is close with Tomlin). This flustered the new worker, and Matt Carter got on the line to see why Louie needed Tomlin’s number, at which point the ruse unraveled.

The system was called into question one day when the office manager received a phone call from one ‘Christ, Jesus’, which for some reason they immediately thought was me playing a prank. I was offended, not because that kind of goofing around was beneath me, but rather because I wish I had thought of it.

As it turns out, several months after rolling out caller ID, we introduced a new web application for people to sign up for small groups, and one of the steps was for people to enter their contact information into the system. One young adult small group leader thought it would be hilarious to have Jesus in his group, so he signed him up; Jesus Christ, address: 2000 Salvation Drive, Jerusalem, TX 12345, phone: (000) 000-0000. That last part caused the issue, as there are some auto-dialers that send 000-000-0000 as their caller id, and our spiffy caller id system overrides the default message and tells the office that Our Lord and Savior is calling.

February 18, 2009

Backyard Evolution

Filed under: Uncategorized — dave @ 6:37 pm

The previous owners of my little homestead were content to let the backyard (and front) grow as the plants saw fit, which is fine as a philosophy, but ends up with more chaos than I am apparently happy with. One of the results is that trees end up growing into some rather strange configurations, including a live oak sapling that was growing at a 45 degree angle that would someday inevitably make the lower portion of my deck less than usable (somewhat like the much older oak that everybody demands I leave standing that is going to force the reconfiguration of the deck this summer). I mercilessly pruned (cut down) two of the trees that were choking this little sapling out and twined the tree up into a configuration that should hopefully get it more sun and not encroach on the deck as much.

Unfortunately it’s going to be years before the little guy looks anything less than pathetic compared to the rest of this forest in which I live. Luckily, I know a little bit about television sci-fi and my sisters gave me a delightful present for Christmas, so I hung a lantern on it.

Lantern hanging off my small oak

Lantern hanging off my small oak

February 17, 2009

Cisco crushes my dreams

Filed under: Uncategorized — dave @ 5:50 pm

http://arstechnica.com/hardware/news/2009/02/cisco-bakes-software-security-into-new-linksys-routers.ars

Last week I was thinking/discussing with some people how there is a market for a router running custom firmware that monitors/restricts internet usage and has a user friendly web interface for a monthly fee. Guess Cisco was thinking and discussing that too.

At least it was just in the idea phase.

December 11, 2008

Winning a race, I’d prefer to lose

Filed under: Uncategorized — dave @ 7:04 pm
Snow on my car and house

Snow on my car and house

Austin got snow before Seattle did this year. (So did Houston and New Orleans) Now we just need another few days above 70 before Christmas and I’ll be happy.

November 1, 2008

Earthquakes + Tornadoes = Just move, seriously

Filed under: Uncategorized — dave @ 12:49 am

Apparently, those durn Californians are so intent on making Texas like their old home they brang the earthquakes with ‘em.

http://www.statesman.com/news/content/gen/ap/TX_Texas_Earthquake.html?imw=Y&plckCurrentPage=0&sid=sitelife.statesman.com.

October 27, 2008

Wind Shift

Filed under: Sailing, Uncategorized — dave @ 11:13 pm

Today wasn’t that cold, but there was a fair breeze blowing. Not a gale like there was last night, but definitely some movement in the air. It is a mixed blessing, because it seems like this type of weather makes for some of the best sailing, but at the same time makes normal people just not that interested.

Story: (I expect that I’m remembering parts wrong, Mac and Dylan: correct/embelish as necessary)

Last year, when I had finally been out to the boat enough that I was more than ballast, and I felt I could legitimately be called part of the crew, we needed to move the boat off the T-head and into a slip. If we were going to drive all the way out there, we wanted to make a day of it, but there was a storm coming in and it looked pretty hairy, so we waited to see if it would hit or not.

At some point we realized that we needed to move the boat whether the storm hit or not, so we mounted up and headed for the club. As we arrived, the storm was clearly visible and was definitely going to be fairly intense, but as we moved the boat a funny thing happened and we somehow talked each other into sailing into the face of it.

I feel I should pause for a moment and tell people that it is normally very safe to come out sailing with us. Travis is fairly calm and it’s basically impossible to roll a Capri 25 without a Spinnaker (a sail which we don’t have). HOWEVER: if there is a storm, all bets are off, the boat won’t roll, but lightning doesn’t care.

The wind that day was coming out of South by South-West (IIRC) and it was blowing hard. On the way out of the cove we passed a few sailboats making their way into dock, and as we got out into the lake a few motorboats were gunning it home. We got on a starboard tack and headed straight down the lake towards the dam, dipping a rail most of the way. For those who have never experienced it, the rail is the perimeter of the deck, when we dip a rail on Caprica, it means the wind is blowing so hard that the boat is tilted about 35-40 degrees and the edge of the deck is below the water line. You know you’re alive when the deck is below water.

About half a mile out of port, the last boat on the water, a Sheriff, motored past and just kinda stared at us as we sailed straight for the storm; no wave, just a stare. As we flew closer on that crazy wind, isolated drops portending the rain to come, we could see the water falling in sheets, obscuring the houses as the worst of the weather reached the shores of Lake Travis. And as we neared, we wondered when we would finally wise up and turn around. When we saw lightning to the East, our resolve finally broke and we turned around.

The process of turning the boat is characterized by a flurry of activity as the skipper yells out and the crew responds with rote calls of “READY”. The boom flies, the jib cracks and lines get released and reeled in with frantic tugs and are pounded home into their cleats. But that day was different.

Texas is a mercurial state when it comes to weather and I’ve yet to meet a woman as fickle as Lake Travis. And that day, whether it was a freak coincidence, divine providence or something earned by the extra swig of the boat whiskey that we knew would be needed for that afternoon but the wind did something that I haven’t seen since. As Dylan pulled the helm and we swung around, the wind decided to follow and we found ourselves pointing straight back at the club still close hauled and heeled over with the breath of a thunderstorm coming over our starboard bow. We held that course all the way back in and tied up the unchristened Caprica just before the worst of the rain came in.

Some of the best wind comes in these Fall and Winter days, but it is hardly cruising weather. Summer is great for hauling friends as cargo, but I’m looking forward to some of the days when the wise stay home, and only the crazy will chance the lake.

October 2, 2008

ElectionMap is live

Filed under: Uncategorized — dave @ 10:34 am

Dylan and I wrote an application to track the election on the iPhone. The past tense is very appropriate since we submitted to the store for the first time on September 1st and it just went live yesterday. We didn’t notice until I got an email from a friendly Australian who pointed out that our polling data was fairly old. We got that worked out, and now the data is far more current. Check it out, it’s only 99 cents and we’re pretty proud of it. ElectionMap Product Page

October 1, 2008

Back to the calendar

Filed under: Uncategorized — dave @ 1:41 pm

For a while there in my last few semesters I got pretty darn good about putting everything in my life on Google Calendar, but when I graduated I somehow fell off that particular wagon and went back to “If I remember it I’ll go.”

I now own an iPhone which should make things easier, but loading Google calendar via Safari feels very slow, and Apple doesn’t think calDav is a good idea despite being instrumental in its authoring and pushing hard for its deployment. I guess $99/year/person for MobileMe is too addicting.

Anyway, while debugging another person’s MobileMe problems I came across a post where somebody was leaving the walled garden for over the air syncing with NuevaSync which claims to sync Google Calendar. It does, I’m sold. Full 2-way syncing for free. It accomplishes this feat by pretending to be an Exchange server and using Google’s built in ability to authorize applications to use your calendar data. Brilliant.

August 21, 2008

Caffeine

Filed under: Uncategorized — dave @ 11:16 am

The decision to use caffeine for me feels like the decision to use steroids or not, if I ever did anything more physical than sailing in my life. If I drink coffee I will inevitably be twice as productive as I would have been without it (for the math inclined in the room, yes 2*0=0, but that never seems to happen) but I sleep horribly the next night, which makes the next day awful (unless i juice again).

This morning I woke up feeling awful. Not sick, not tired just a general feeling of gross. Now i’m nearing the end of my chaipuccino (oh dear God, what have I become) and dreading the consequences, btu knowing that there’s a good chance I create something pretty awesome today. If only it weren’t in Objective C.

NSBlogPost* post = [[post alloc] init];
post.title = @”Caffeine”;
post.text = theCrapAbove;
[blog addSubview:post];
[post release];

July 29, 2008

I suck at computer science

Filed under: Uncategorized — dave @ 3:20 pm

In the last 6 months I have at least to some learned the following:

  • Objective-C (including a working knowledge of XCode)
  • Struts (though I was introduced to it last summer)
  • the iPhone SDK
  • the Facebook API
  • Enough javascript to start using Greasemonkey to increase productivity

and yet I feel like I am slipping in terms of the amount of fundamental things I know about the general space I’m working in. I don’t know if that’s just the natural tendency of the specific to crowd out the general over time, or that I’m only now becoming aware of some of the more technically oriented things that I maybe should have paid attention to in school instead of whatever I was doing.

Here is a list of most of the things I feel I ought to be able to talk intelligently about that I really can’t:

  • Compilers
  • How the JVM works
  • Data Structures - especially tree structures (I honestly can’t tell you what red/black trees do)
  • Graph theory/algorithms
  • Probability theory
  • Design Patterns beyond singletons
  • Functional programming (this is particularly discouraging since when we learned some Scheme way back in Junior year I remember taking to it really easily)

Honestly, I’m a little overwhelmed looking at that list, and one of the few things that helps is the realization that there’s not a deadline, other than a realization that for some of these (Data structures, especially) I’m just not doing my job as well as I could, so if over the next 5 years I knock out most of these I’ll still be ok, and probably be ahead of the curve at most places. So in the grand tradition of lists here’s a list of some of the things that I’m going to force myself to do.

  • Study the Dragon Book.
  • Write a significant project in Ruby (for now I think that means developing a Scrabble simulator with Dylan and my sister)
  • Find a good data structures book and study it. (The Algorithm Design Manual, by Steven Skiena?)
  • Work through The Little Schemer
  • Read Refactoring

None of those get me closer to understanding the JVM. I’m not sure if I’ll be any better at probability theory or graph theory, but I’m fairly certain the preceding list will take a while (12-18 months or more). There is an implicit assumption that during this time I will be working full time programming, which is why the list is so heavy on reading and less about doing stuff like writing compilers. I’m not sure how my brain would handle writing Java, XML, SQL and God knows what else at work and then coming home to try to write a recursive-descent parser for common lisp in Ruby or whatever.

If you’re a programmer (and lets face it of the 6 people who are reading this at my site and not on facebook, 5 of you are and work in places that generate Billions of dollars from applied Computer Science), I’m interested in your opinion on these things, as well as where you’re strong/weak. Two of the things that I didn’t mention because I think I’m fairly strong in that I believe are absolutely necessary to be an effective Computer Scientist/Software Engineer are regular expressions and a firm understanding of networking/networking protocols.