Mileage Chart

Posted by – October 12, 2008

Ok, I’ve been procrastinating for a long time about doing this – but it’s finally finished. Thanks Laura and Freya for waiting for me to get this done on a Sunday morning. this chart should update as I add data to the Google Spreadsheet.

My first XML Schema

Posted by – October 11, 2008

Having only been really introduced to XML a week ago, I’m proud to announce my first go at authoring an XML Schema. I can’t say it was really fun, but it was very interesting to be sure. I think XML in general is neat, but creating a schema really gave new insights into how XML files can and should be designed.

Please, if you can propose improvements – leave me a comment!

The sample XML file

The Schema

Again, this is just my first try at this. I hope to improve my skills. Next, XSLT!

Zipped source: inventory.zip

Octopus is Calling

Posted by – October 10, 2008

Freya made this up today at story time. Mom said she went to her room and grabbed an older book and said she wanted to “read” it to her. This was her story:

Octopus was having real feeling about wanting her daddy. Daddy came home and took her to the farmer’s market and they got lots of good food! They came home and Octopus ate an avocado and it was really good. Octopus and Daddy love each other very much. The end!

I have the best daughter ever!

Do you know Paul Gilzow?

Posted by – October 10, 2008

Paul Gilzow, XSS master. This is sort of an inside joke…

Reminds me of this XKCD.

Rules of the road

Posted by – September 29, 2008

Since obtaining my new scooter, I’ve struggled to refine rules that I try to follow when on the road. Because the laws are mostly non-existent, the main limitations relate to the fact that roads – not to mention American culture – are not well suited for scooters(or bicycles for that matter).

On my first day with the new scooter, people on the road made it clear that they aren’t totally cool with some of the things I do. When riding to work for the first time, I was yelled at by some guy in a black SUV while sitting in the crosswalk. Why was I in the crosswalk on my scooter you ask? Why not? Honestly though, at the time I wasn’t exactly sure what my rights were on my scooter. I decided to take a closer look at the laws, and have also learned from experience since that first day.

Legal concerns

One of the questions that has come up since I started riding, both for myself internally and also (presumably) for the folks in cars that I scoot past is – “Is that legal?” It turns out the laws vary depending on the type of scooter you own. This is important.

Generally

When choosing a scooter there are many factors to be considered, not the least of which is the number of cc’s(cubic-centimeters). cc’s are a measure of the volume of the cylinder(s) inside the engine, and generally indicate the level of performance that can be expected. Scooters usually range from 49cc’s to 150cc’s, though I’ve seen a few up to 250cc’s. Missouri law states that scooters under 55cc’s do not have to have license plates, you don’t have to pay property tax on them, and no special license is required1 (although a valid drivers license is required to scoot on public streets). Although a helmet is not required by law, those with a fondness for brains(not in the zombie sense) should consider getting one.

If your scooter is below 55cc’s(like mine is) then the set of laws you must abide by is the same set of laws as bicycles2.

Driving in the shoulder, scooting past

“Scooting past” is my scooter lingo that is referred to legally as “riding to the right”. Again, if your scooter is more than 55cc’s this won’t apply to you. If you are able to get by with a less powerful scooter, then this Columbia city ordinance would apply to you(as it does cyclists):

Riding to right; riding abreast. Every person operating a cycle at less than the posted speed or slower than the flow of traffic upon a roadway shall ride as near to the right side of the roadway as safe, exercising due care when passing a standing vehicle or one proceeding in the same direction, except when making a left turn, when avoiding hazardous conditions, when the lane is too narrow to share with another vehicle, or when on a one-way street. Bicyclists may ride abreast when not impeding other vehicles3.

Parking

Where to park your killer scooter? Again, Columbia city ordinances set the rules about what can be done – and there isn’t much to be found:

No person shall park a cycle upon a street or upon the sidewalk in such a manner as to obstruct the flow of vehicles or pedestrian traffic4.

Clearly you can park your scooter just about anywhere you like. The only exception is that you cannot ride your scooter on the sidewalks in the downtown area5 .

Although bicycles are parked chained to parking meters on almost every block. I believe that they are within their legal rights in doing so – as am I.

Practical concerns

It should be obvious that my main concern is safety for myself and the other drivers on the road. When I first started riding to work, I found it extremely terrifying. It seemed that nobody knew what to do or what to expect me to do, and I had no clue what I was supposed to do. Now that I’ve been at it a month or so, that’s changed: I expect them to not know what to do, and I just do whatever seems safest and best for me while not breaking any laws(just like every one else on the road).

I really wanted to write all this down, not only so to make it more clear in my mind, but on the off chance that someone who has seen me on the road and thought “What the hell?” might stumble upon this blog and know why I did one thing or another.

In traffic, out of traffic?

If you’ve read the above sections related to legal issues of this topic, you’ll know that I can take my 50cc scooter just about anywhere I damn well please – so that’s a good start if you’re still thinking “What the hell?” But I’ll clear it up a little more, because I do actually use reason to determine my actions – unlike some SUV wielding folks I’ve seen.

In traffic

I’ll ride my scooter near the right edge of the lane if any the following are true:

  • The shoulder is non-existent
  • The shoulder is hazardous
  • The shoulder is occupied by a pedestrian, bicyclist, or vehicle

I’ll ride my scooter in the middle of the lane if the above is true, and:

  • I’m travelling at or above the posted speed limit or
  • I need to make use of a traffic signal, left turn lane, etc

Out of traffic

In Columbia, we(those not riding in cars) are somewhat better off than many cities of similar size – both population and sprawl. People with 2 wheel vehicles which are completely without motors can make use of a network of pedestrian trails running throughout the city, and those of us with motors can make use of numerous bike lanes and wide shoulders to get around. I of course prefer to not take my scooter in traffic, and at times can choose from a variety of scoot-able routes.

Bike lanes

My first choice is the bike lane. The bike lanes have features that make them desirable:

  • They are clearly marked
  • They are (more or less) well maintained
  • They usually do not contain grates or storm drains
  • Situations involving cars making right turns, changing lanes, etc are more easily navigated than compared to being in the shoulder – probably due to the expectation created by merely having the bike lane.

Although it is extremely rare that I encounter a pedestrian or cyclist while using the bike lane, I simply enter traffic and go around or slow my pace until safe passing is possible.

The shoulder

The shoulder is a perfectly acceptable alternative but have these issues:

  • Often riddled with sticks, rocks, trash, and dead animals
  • End abruptly(usually at the worst times)
  • Are wide enough that cars sometimes move into them unexpectedly
  • Trace the road edge no matter what – making right turn lanes more dangerous
  • In places where a sidewalk begins/ends – the shoulder usually interfaces with it
The sidewalk

Although it is legal to drive my scooter on the public sidewalks everywhere outside of downtown – I very rarely choose to do so for the following reasons:

  • The sidewalk is extremely uneven and bumpy when travelling above, say, 15mph
  • It is usually not as easy to transition to and from the sidewalk from other scoot-able routes(because of curbs and such)
  • Sidewalks start and stop frequently
Crosswalks

Crosswalks are useful for crossing extremely large or dangerous intersections – but I usually stay out of them because they can be quite difficult to navigate in something as bulky as a scooter.

Scooting past

I will scoot past you on the right(or maybe even the left) side of the road if the following are true:

  • YOU are not travelling in excess of 25mph (although usually cars I pass are going close to 0mph)
  • I am not travelling in excess of 30mph (although I usually pass at around 5-10mph)
  • There is sufficient room for me to pass you
  • There is something to be gained by me passing you

Parking

About 75% of the time I end up parking my scooter in a parking space. I’m really doing this to mitigate the expectations of others more than to fulfill a legal requirement or reasonable expectation. Generally I will not use a parking space in the following(or similar) cases:

  • If I go to the grocery store and the area near the door is easily accessible to my scooter and has plenty of room for it – I’ll put my scooter there.
  • If I go downtown and the building I’m going to has little pedestrian traffic around it, plenty of room, and an accessible area(sometimes around the dumpsters) – I’ll put my scooter there.
  • If I see a bike rack on concrete – I’ll put my scooter there.

I will use a parking space if:

  • I am at work where none of the above are true(bike rack is in the grass, sidewalk is narrow and high traffic)
  • It is advantageous to use a parking space

Case studies

Here’s the fun part. There have been many things that have come up where I wish a person would understand my point of view and be a little more rational. Following are some real situations and my attempt at sharing my perspective and/or feelings:

Guy in (black) SUV

Yells through his window while I’m in a crosswalk(my first day with the scoot): “Hey (expletive), crosswalks are for people”

Fail. I’m well within my legal rights to be in the crosswalk, and would gladly let anyone by me that felt like walking into cross traffic.

Person at work

Comments: “Hey, he’s taking up a whole space with that thing!?”

Fail. What was I supposed to do? Why should I be treated differently when I choose to drive my scooter as opposed to my regular vehicle?

Someone else at work:

The following day, after the previous comment – I decide to park as near the edge of the parking space as possible to allow a car to SHARE the space with me. This elicits an email – “Scooter improperly parked – unable to use either space.”

Fail. This ridiculousness marked my last attempt to be accommodating. I asked my Executive Director to do something and she offered to pour a concrete pad for “Scooter parking”. Hell yes, Pass!”.

Nearly everyone else:

Hey, you passed me and 50 other people who were diligently sitting in rush hour traffic – that’s not cool.

Fail.* I guess it depends on who you are. If you are me, and within your rights to do that – it’s actually hella cool. If you’re an a-hole sitting in traffic…well…get a scooter and quit bitching.

Conclusion

Well, I hope you’ve had as much fun reading as I have had writing this. I hope you’ve learned a lot about being more tolerant, sharing the road, and most of all – I hope you go out and buy a scooter!

Please post a comment! If you think I’m being a jerk – you’re probably a hypocrite!

1 http://www.dmv.org/mo-missouri/other-types.php

2 http://www.gocolumbiamo.com/Council/Columbia_Code_of_Ordinances/Chapter_14/525A.html

3 http://www.gocolumbiamo.com/Council/Columbia_Code_of_Ordinances/Chapter_14/503.html

4 http://www.gocolumbiamo.com/Council/Columbia_Code_of_Ordinances/Chapter_14/506.html

5 http://www.gocolumbiamo.com/Council/Columbia_Code_of_Ordinances/Chapter_14/507 html http://en.wikipedia.org/wiki/Columbia,_Missouri#Cityscape

A new scooter!

Posted by – September 27, 2008

A couple months ago Laura and I saw a guy on a scooter as I was coming home from work. As we blew past him I thought it was kind of funny, mostly thinking how silly it would be to go so slowly – not to mention he looked ridiculous.

As we approached the first stop light, the guy comes up behind us in the bike lane and blows past us! At that point I pretty much did a mental 180. “If I had a scooter, how much longer would it take to get home really?” “Don’t those things get like 100 miles to the gallon?” Needless to say, we decided to get a scooter.

After thinking about it and talking about it for a little while, Laura’s parents made a very kind offer to provide us with some cash to purchase a scooter. They told us that unfortunately they could only afford to give us $600(that’s a hell of a lot of money to us btw) and suggested finding other donors for the cause. Well, we don’t really know any more people as nice as them – so we started looking for a $600 scooter! After much craigslisting, deliberating, agonizing, etc – we did decide that we’d probably save around $150 bucks in just the first month for gas(we were using a helluva lot of gas going back and forth to work 2x a day with our car) – so we thought we could probably spend $750 for the new scoot.

We ended up finding out on payday that the Jefferson City Hy-Vee was selling Chinese scooters for $699… Hoo-Ha, we went down and picked one up. $749.50 after tax! They even delivered it for free!

We were very excited:

So yeah, my thinking has changed a lot since we saw that first ridiculous looking guy on his scooter.

About going slow – It takes the roughly the same amount of time to get to work, depending on traffic it’s sometimes quicker on the scooter. Going other places in town is often faster on the scoot for various reasons, like parking and traffic – though even if it is slower, its not by much…perhaps 2-3 minutes…and it’s way more fun!

About his ridiculous looks, well… I’m an asshole. I may look ridiculous myself but I’m spending $20 a month on gas instead of $200. When you think about that in terms of carbon emissions, it’s a little more clear that worrying about how you look is really dumb and not socially responsible at all. Besides, I look hella cool ;)

Thanks Larry and Judy!

Activism in miniature

Posted by – September 26, 2008

Last Sunday was International Peace Day. Laura has already blogged about Freya’s inclusion in the local newspapers. It seems that whenever our family and the press are in the same place at the same time, we’re makin’ the papers(at least the online versions).

I actually feel a bit bad about it. There were a great many people present at this rally and march who were much more involved in its organization, and much more representative of the event in general.

Our daughter is just too cute!

This is an old one from last year when Matt Blunt thought it’d be an awesome idea to stop planned parenthood from going into schools to educate kids about the issues, and to stop giving abortions to women who need them…

How to Install Typo at A2hosting

Posted by – September 24, 2008

I’m new at A2hosting, and just went through almost a weeks worth of back and forth with their tech support folks. Being that their wiki on installing a Typo blog is out of date – I thought I’d make this my first post on my new blog.

Prep

The first thing you’ll want to do is submit a ticket to have Rails 2.0.2 installed. The default Rails 2.1.1 will not work with Typo at this time. There is an experimental branch of Typo to support Rails 2.1.1, but being new to RoR – I didn’t want to go that route. Also, if you haven’t already – you might want to ask them to install wget for you, as it’s what I use to download stuff from the command line. You can use curl if you are comfortable with it also.

While A2hosting is working on getting Rails ready to go, you can use cPanel to setup your MySQL and ruby app.

Set up your database

From the cPanel front page:
  1. Click ‘MySQL Databases’
  2. Name your new database ‘typo’ and hit ‘Create Database’ (Your username will be prefixed to the database name, i.e. ‘johndoe_typo’)
  3. Scroll down the page a bit and add a new user called ‘typo’ and set a password(write this down) – hit ‘Create User’ (Your username will be prefixed to the database name, i.e. ‘johndoe_typo’)
  4. Scroll back down and add the user to the database – select the user and database from the dropdowns and hit ‘Add’, on the resulting page, check the “ALL PRIVILEGES” box and hit ‘Make Changes’

Create your Rails app

To be honest, I’m not totally sure this step is necessary. When working with A2hosting tech support, they claimed that their rails app showed up automagically when they extracted the typo archive into their web directory, which is the next step, but this didn’t happen for me, so here’s what I did instead:

You will need an empty directory to put your app. I’d suggest

[[code]]czoxNjpcIm1rZGlyIH4vd3d3L3R5cG9cIjt7WyYqJl19[[/code]]

Then head back to the cPanel frontpage and look for ‘Ruby on Rails’

  • app name = typo
  • path = public_html/typo (www is a symlink to public_html)
  • load on boot = checked
  • environment = production (you could go with development, and should switch it if you have issues – but for now just go with production)
  • Hit ‘Create’
  • Create the rewrite you want(This is necessary if you want to use a rails app, but you can redirect the root directory of your domain like I’ve done)

Now you’re going to say I’m crazy – but go back to your shell and blow away the directory we created earlier

[[code]]czoxNzpcInJtIC1yZiB+L3d3dy90eXBvXCI7e1smKiZdfQ==[[/code]]

Like I said, this was really just to get the typo app listed in cPanel so that we can start/stop it, create a re-write, and toggle the other settings. We are going to recreate the typo directory but populate it with the actual Typo code in the next step.

Download Typo

After Rails 2.0.2 is installed, you can go ahead and download Typo. Connect to your server via ssh and then do the following:

Configure the database connection

First things first, rename database.yml.example to database.yml:

[[code]]czo2NzpcIgptdiB+L3d3dy90eXBvL2NvbmZpZy9kYXRhYmFzZS55bWwuZXhhbXBsZSB+L3d3dy90eXBvL2RhdGFiYXNlLnltbApcIjt7WyYqJl19[[/code]]

Now use your favorite text editor to make database.yml look like this(use the username/password and database names you created earlier):

login: &login
  adapter: mysql
  host: localhost
  username: yourusername_typo
  password: yourpassword
  database: yourusername_typo

development:
  database: yourusername_typo
  <<: *login

test:
  database: yourusername_typo
  <<: *login

production:
  database: yourusername_typo
  <<: *login

Strictly speaking, you’re all set – but there are some issues that I had to work though before Typo started working for me.

Fixes

A couple issues came up at this point for me. A2hosting support was kind enough to provide one of these, but after some chiding from them – I was forced to look up the other myself ;)

  1. Open up ~/www/typo/config/boot.rb and browse down to line 29. The line begins with ‘require_gem’ and needs to be replaced with just ‘gem’. Apparently this is depreciated code, and I suspect it has at least something to do with the next fix.
  2. Open up ~/www/typo/app/models/article.rb and pop down to line 296 and add:

[[code]]czoxMzI6XCIKCiNBZGRlZCBwZXIgaHR0cDovL3d3dy50eXBvc3BoZXJlLm9yZy9pc3N1ZXMvc2hvdy8xMjY0IHRvIGNvcnJlY3QgZXJ7WyYqJl19cm9yIHVwb24gbWFuYWdpbmcgY29udGVudAogIGRlZiBwdWJsaXNoZWQ/CiAgICBwdWJsaXNoZWQKICBlbmQKXCI7e1smKiZdfQ==[[/code]]

Both of these issues are probably caused by A2hosting using Rails 1.8.7 and Typo supporting 1.8.6 – but they seem to be workable this way. I’d be curious if anyone else tries downgrading to 1.8.6 and skipping these 2 steps.

Start yer app!

Go back into cPanel, Ruby on Rails section and hit ‘Run’ for your Typo app. After the confirmation screen, use the ‘Go back’ link and make sure it says “Running” and not “Not running”. If it’s going – direct your browser to whatever url you designated in your rewrite(or click the ‘URL’ link in the app table). There should be/might/will be a delay while the Typo database structure is set up – then you’ll create your first user.

If your app is not running at this point – please do leave a comment. It may be that I’ve left something out.

The rest is up to you!