Undefined symbol “dav_hook_gather_propsets”

May 18th, 2008

If you see an error like this when starting Apache …

httpd: Syntax error on line 53 of /usr/local/etc/apache22/httpd.conf: Cannot load /usr/local/libexec/apache22/mod_dav_fs.so into server: /usr/local/libexec/apache22/mod_dav_fs.so: Undefined symbol "dav_hook_gather_propsets"

Make sure that LoadModule dav_module … precedes LoadModule dav_svn_module and LoadModule dav_fs_module

100-Year Anniversary

May 16th, 2008

Well, not quite. But my uncle just pointed out that the original (The) Butler Press was founded 100 years ago.

We’re Hiring Another Rails Developer

February 6th, 2008

“We” means Analog Analytics. It’s fun, personally, to be hiring now instead of trying to be hired. Here’s the job description:

“Terrific opportunity for talented developer to join an exciting team helping to change the advertising industry.”

It’s a remote position — Pacific time zone strongly preferred — I’m in Portland, the CTO is in Los Angeles, and the CEO is in San Diego. There’s no home office. We deploy and develop Rails (and a little C) on OS X, Linux, and Solaris.

Light on the details? Sure. We’re not hung up on any many specific qualifications. Want to earn your salary coding in Rails? Email me at scott.willson@analoganalytics.com

Rails 2 upgrade: .rhtml to .html.erb Script

January 16th, 2008

This is less a post, than a note to myself, but anyway, here’s a handy script to change your view extensions while preserving Subversion history.

#! /usr/bin/env ruby
require 'pathname'
for path in Dir['app/views/**/*.rhtml']
pathname = Pathname.new(path)
p `svn mv #{path}#{pathname.dirname}/#{pathname.basename.to_s.split('.').first}.html.erb`
end

Obscure Oracle JDBC Exception du Jour

December 6th, 2007

I ran across this exception again today, and Google didn’t anything useful until I dug in a bit. Hopefully, this will help someone else searching for UnsatisfiedLinkError and free_c_state exceptions.

Your JDBC URL syntax is wrong.

You need something like jdbc:oracle:oci:@RPTD

java.lang.UnsatisfiedLinkError: free_c_statejava.lang.UnsatisfiedLinkError: free_c_state
at oracle.jdbc.oci8.OCIDBAccess.logoff(OCIDBAccess.java:616)
at oracle.jdbc.driver.OracleConnection.(OracleConnection.java:409)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
...

undefined method `dbman’

November 18th, 2007

Upgrading to a Rails app to 2.0 and seeing this error?

undefined method `dbman' for #<ActionController::TestSession

You need to add this line to config/environments/test.rb:
config.action_controller.allow_forgery_protection = false

Obvious to you, maybe, but not to me.

Dumb Thing I Did Recently With Rails

October 30th, 2007

Turns out that dashes are not really valid hostnames in URLs. So, ‘cyclinglog.butlepress.com’ is valid, but ‘cycling_log.butlepress.com’ is not.

Now, Apache virtual hosting will work with underscores just fine, as did 1.1 versions of Rails and Safari 2.0. I think IE never liked it. By “worked” and “liked,” I mean that the browser accepted cookies from the host. If the browser doesn’t accept the cookies, then Rails creates a new session for each request, and that prevents you from logging in to sites like cycling_log.butlepress.com.

Safari 3 show the same behavior. In fact, with Rails 1.2, the only browser that “works” is Firefox.

Anyway, long story short: don’t use underscores in hostnames.

Dumb Thing I Did Recently With FreeBSD

October 30th, 2007

The point: if you have odd problems with your new computer, check for IRQ conflicts.

That’s been good advice for, what, twenty years? Anyway, I forgot it. Here’s what happened in case you’re as clueless as me.

I put together a new server for my “data center” — in the corner of the basement near the washer and the spare bicycle wheels. It’s spec’ed more or less from the Ars Technica mid-level system guide: Asus motherboard, AMD 64 CPU, SATA drives. I put FreeBSD on it.

Or, I tried to. Everything worked fine until I rsync’ed backup files from the old server, then boom! kernel panic and reboot. OK, I Googled about and learned that the ‘nfe’ network driver is recommended over the default ‘nve’ driver. Fair enough. That seemed to work better, though I still had many Ethernet transaction errors and watchdog timeouts. My connectivity was laggy and prone to drops.

My hub was 10BaseT only. I think I bought it right after I cancelled my Compuserve account. I replaced the hub with a nice Gigabit switch, and everything was great.

Well, better. It bugged me that my NIC only worked without the reccomended patch. I still saw an occasional warning in the log. And my SSH sessions dropped more than they should. I tried an old 100 MHz PCI NIC, and that worked, so I figured it was just bad hardware. I looked for something better than the onboard Intel NIC. Turns out, the onboard NIC is regarded as a good one, and when I tried another brand, it didn’t work at all.

At this point, I decided to live with the situation. That was OK until I installed Gnome so that I could run nightly Selenium tests. Boom. Panic every night when network backups started. I switched out the DSL router. I moved the server next to the router and replaced the 50-foot “data center” cable with a new short one. I removed all other computers from the wired network.

More panics. Hundreds of oversize frame errors n startup. Not just slightly above MTU size, but like 10,000. Huh?

At this point, I considered donating the motherboard and RAM to FreeGeek and just sucking it up and replacing all of it. I when through the messages log carefully and there it was: USB and NIC on the same IRQ.

My theory is that some Gnome-related daemons probe the USB ports, and this was interpreted as Ethernet traffic. I obvioulsy don’t really know crap about hardware though. In any case, I disabed USB in the BIOS and nary a problem now.

Ignite Portland

October 26th, 2007

OK, full disclosure: I’m just bumping the previous post (irritable OSCON talk summary) down. Tired of it.

I checked out Ignite Portland last night because Mike Jones was giving a talk about unicycles. I now want to work in the Wieden+Kennedy office, if not Wieden+Kennedy.

The whole night was slick and well-run, and drew a big crowd. So funny what kind of geeky thing will be a hit in Portland.

I liked the idea of Rewilding. Does that include removing all the dams on the Columbia and reintroducing megafauna to the Great Plains? It should.

Not sure if I’m going to pick up knitting, Audrey, but Cheryl will like the knitting sites. Halfway through the Chickens talk, I was convinced that I am depriving my daughter of a full life because we aren’t raising poultry in the backyard. I will try and make amends by cooking here an authentic Southern dinner of collard greens and tofu with gravy.

Hack Your Manager by Peter Scott

August 9th, 2007

I kept waiting for the point of this talk. It reminds me of other “business” presentations that were well-executed, and held my attention, but that never actually communicated concrete information.So, here’s the point of this talk, I think: how we deal with people are more important in our business than technical issues, and empathy is the key.Not many audience polls, but 80% of the audience gets a Dune reference.Questions:How many projects are there without people: 0%How many of you could guarantee failure of project without anyone noticing: 20%. How do you know this hasn’t happened at your company? Well, you can’t know.Managers, budgets, etc. — yeah they are lame, but you need them. You can just complain about it … or deal with it.How do you relate to managers on their level? (You don’t need to sell out.) You’ve got emotions at work, too. Most common mistake is to assume managers are interested in technology for its own sake. Don’t just hunker down. (I know this paragraph doesn’t hang together. Sorry! I really was trying to make coherent sense of all this.)This is all just about natural language processing (NLP), but the speaker asks us to not prejudge it. So:

  • You need to translate between geek speak and manager speak
  • No one really knows what anyone else is talking about
  • You have to keep asking questions
gears