Archive

Archive for June, 2005

Traffic Court Arraignment on my bday, yay!

June 30th, 2005

So months ago, I was ticketed on Southbound Raymond street, when turning left onto California, where the gold line train was passing by. Why, you ask?

I look on my ticket, and it says “DISOBEY FLASH RED NO LEFT TURN SIGN.”

At that intersection in Pasadena, there’s a traffic control signal with a bizarre local concoction of a white left turn arrow with a red crossout circle around it, that the police officer informed me was a no left turn sign. The civic code and section I was ticketed under? CVC 22101d, which specifically states that “When official traffic control devices are placed as required in subdivisions (b) or (c), it shall be unlawful for any driver of a vehicle to disobey the directions of such official traffic control devices.”

Which sounds great – i’m happy to comply with any and all official traffic control devices. You know what, though? The California vehicle code specifically states in Section 21100.1 that “any traffic control device erected by it on or after January 1, 1981, shall conform to the uniform standards and specifications adopted by the Department of Transportation pursuant to Section 21400.” (Emphasis mine)

Wow, it sounds like there are some uniform standards, which sounds reasonable to me – legally require all traffic control devices to behave the same way, so drivers know how to behave and what to expect! But this particular sign, erected under 22101(d), violates the uniform standards in two important ways.

For that, we take a look at the aforementioned Section 21400. If we look just at CVC 21450(a), it states, “Whenever traffic is controlled by official traffic control signals showing different colored lights, or colored lighted arrows, successively, one at a time, or in combination, only the colors green, yellow, and red shall be used, except for pedestrian control signals, and those lights shall indicate and apply to drivers of vehicles and pedestrians as provided in this chapter.” Just for completeness’ sake, CVC 21450(b) states that the section becomes operative on Jan 1, 2005.

Then, if we go look at CVC 21457(a), which governs Flashing Signals, we see the following: “Flashing red (stop signal): When a red lens is illuminated with rapid intermittent flashes, a driver shall stop at a clearly marked limit line, but if none, before entering the crosswalk on the near side of the intersection, or if none, then at the point nearest the intersecting roadway when the driver has a view of approaching traffic on the intersecting roadway before entering it, and the driver may proceed subject to the rules applicable after making a stop at a stop sign.”

Aha! So I behaved correctly according to the CVC, because I was at a full stop due to a red light before I ever entered the crosswalk. The FLASHING RED NO LEFT TURN SIGN, if interpreted according to the CVC, actually is supposed to behave like a stop sign – which is actually how I entered the intersection – after a complete stop.

Basically, this sign is not an official traffic control device as required by CVC 22101(d). Even if we interpret it as a flashing red left arrow (which breaks the 3 color requirement), we can see that I followed the CVC requirements for what to do in the case of a flashing red left arrow. The officer who gave me the ticket was erroneous, and I am not guilty of the infraction I am accused of.

That is the defense that I plan on presenting at traffic court, and I believe it is a strong one, supported by photos of the intersection taken later (In fact, when I returned to the intersection, the sign was no longer a flashing sign! Sounds like somebody realized it was wrong!). I also have the accompanying sections in the CVC printed out, and I additionally have this interesting article in which Lt. Mills acknowledges that the DOT was reviewing the signal to see if there is a “less confusing configuration.”

The reason I post about it today are numerous. One, to gather my thoughts about my defense. Two, to present this information to anyone else who was ticketed in this intersection. Three, to encourage the City of Pasadena to replace these with simple solid red left arrow lights that conform with the CVC uniform standards. Fourth, to complain about constructively criticize the lasuperiorcourt.org Court Date scheduling system.

First of all, if the scheduling system cannot find any possible dates for your preference, that’s it. It’s an un-back-up-able pop-up window, and there’s no back button. You’ve got to completely start over and try again.

Second, if you find a date, but you don’t think it will work, you have to hit cancel. But if you hit cancel, it bumps you out again, instead of looking for another perference.

Third, the telephone registration system is not much better – it suffers from the same problems, and even worse than leaving you hanging, it actually hangs up on you if it can’t find you any dates. Forget about the 5 minutes you spent answering the mind-numbingly redundant text prompts listing the name and address of each location surrounded by perfectly pronounced drivel speech (I reconize the need for clear enunciation, especially for non-native English speakers). So even though the web system is flawed, it’s still better than wasting spending your time on the phone system.

Fourth, and most egregious, the only available court date was at 8:30 AM on my birthday. I have a hard, hard time, after all i’ve been through, believing that this was not somehow calculated from the birthday that I entered when I began filling out the form, in a subversive attempt to evilly discourage me from appearing at court. But I understand that the world isn’t all about me, so I accept it with a sigh. At least it’s only where I plead, and not where I present this case.

What else do you expect from a government that manages its programmers with lines-of-code quotas?

Update: I regret a lot of the upset comments that I originally wrote here. During my actual appearance at trial, the ticket was dismissed primarily for reasons other than my argument outlined above – what I can say is that the court system did treat me fairly; although I understand how upset I was originally at this charge, and the unfortunate scheduling of arraignment and court date, the system did end up working in my favor in this case, and it helped a great deal to look at the issue objectively and without emotion. The emotion that did seep into my handling of the case (that I wrote into this original post) did not help at all with the law.

Another Update!: I went to court and presented the argument that I built, and the traffic ticket was dismissed eventually! See more details here.

Uncategorized

Flaw Disclosure Hurts Software Makers’ Stock

June 28th, 2005

http://www.securityfocus.com/news/11197

According to this article, CMU researchers Rahul Telang and Sunil Wattal present their research that software makers’ stock falls in value when security flaws are announced. This does not mean that public software makers should cease making security flaw announcements – on the contrary, it promotes better development habits, testing and security awareness before product launch.

There are a lot of interesting findings referenced in the article. For example, security flaw announcements that come with a patch tend to have significantly less negative effect on stock price, compared to those that come without a patch available at the time of announcement. Software flaws tend to affect stock price less than defects in other types of products. Also, Microsoft’s price tends to fall a lot less when vulnerability announcements are made.

Tech

PixelBlocks

June 22nd, 2005

Pixelblocks are these neat little lego-like transparent blocks that can connect to one another horizontally and vertically. They were linked by boingboing recently, and I got interested in them, along with a couple of other friends.

I bought the 1400 pc. set from puffins.com, and set about looking for interesting sprite art to replicate in pixelblock format. I started by creating some of my favorite NES/SNES characters based upon sprites I found on the net. In case you’re looking as well, they should be available in my del.icio.us bookmarks tagged as pixelblocks.

Playing with Pixelblocks is quite medatative, and I enjoy the finished results very much.

I’ve started a flickr group to show off finished pixelblocks projects, which is publicly accessible here. I’ve also started tagging my stuff as pixelblocks for easy finding.

One problem that i’ve had with Pixelblocks is their availability. I ran out of certain colors very soon, so what i’m doing is putting together bulk orders for myself and a couple of other friends for particular colors. If anyone else in SoCal – LA region is interested, please contact me by email (or just use the contact form above) for more details.

If you’re planning on creating any NES sprites, I would recommend high levels of the primary colors, as well as a lot of black. Many sprites had outlines of pure (non-transparent) black that you’ll need.

Fun

Eatlunch.at – Individual Spot Pages

June 13th, 2005

Finally got around to making an improvement to eatlunch.at that has been on the backburner for a long, long time. Spots have their own pages on eatlunch.at! See a sample here:

Border Grill

(Sorry, Border Grill. In all fairness, i’ve only been there once, and I should really try the other dishes.)

In addition, you’ll also notice that it’s possible to now comment on spots, and add in arbitrary text.

More features are on their way, and I hope to get them in soon in my copious free time.

  • Stats on frontpage
  • Mark and track where you went to lunch
  • Add addresses and locations to every spot

Food, Fun, Tech, eatlunch.at

Eatlunch.at Improvements

June 8th, 2005

Andy Baio of waxy.org fame pulled a massive coup yesterday when he linked to my lunchtime decision assistant application, eatlunch.at. He’d been bugging me for months to change the Spot Directory from global to simply all spots added and saved by local party members.

When he linked to it, and showed me that new spots to eat were getting added at an alarming rate, I paniced. He argued successfully that with tons of new spots being added, the original spot directory didn’t scale. I agreed, and ended up implementing that change, along with a few others, right away.

First off, the Spot Directory is only within your party by default, but if you click on tags, you can browse globally.

Secondly, the ordering on the tags on the frontpage was wonky, and i’ll be extending Freetag to handle arbitrary ordering, so I don’t have to make local library code changes to tweak sorting.

Third, you can now see the silly “Names” of people next to their email addresses in the party management view.

But for now, since so many people are starting to use it, there’s an open call for comments on this post. I’ll have to put together a more comprehensive eatlunch blog, but for now, just use the eatlunch.at category to view everything.

Food, eatlunch.at

Folksonomies Grow Out of Personal Value

June 3rd, 2005

I saw a well-investigated article on tagsonomy which had a tiny snippet of a quote that i’ve personally been wanting to expound upon for quite some time.

“Provided a tagging system is mainly for personal value, with social value as a seocond-order benefit (as del.icio.us is), then scale increases varibility and reduces the constraints of consensus.” – http://tagsonomy.com/index.php/dynamic-growth-of-tag-clouds/

It’s my personal belief that tagging systems which provide personal mnemonic value are inherently more likely to succeed in scaling into a community tool of usefulness. I personally love del.icio.us because I bookmark things with my own personal view of the world, rendered through tags in my own words. Browsing through my tagspace is similar to browsing through my personal memory while having helpful navigation aids. Whenever I need to find a link, I can typically remember at least one tag that I used when I filed it away.

In my opinion, trying to provide users with some of the more advanced tagging features, such as boolean searching , full tag stemming, or tag categorization, does not promote growth in the early phases of a folksonomy, and hence, is not as useful for the creation of a folksonomy. It’s not to say that these features would not be useful on a full, lively, and robust tagged database. But there’s a reason you’re only seeing related tags and tag combos on del.icio.us recently.

For that initial phase, herd mentality is enough to get people into consensus about sharing certain tags, and people are more likely to tag at that first moment that they sense their data will have a long, useful shelf life on a particular database. That’s when you see tagging systems succeed – when people care enough about their metadata to really work hard on it. At that stage, when a user carries a long-term view of their data, it makes sense to tag as a mnemonic device. Once a critical mass has been reached, you start to see more socially-aware tag groups arise, such as the mattsrecumbentbike fad.

Do you know the way that little kids try to jog the memory of others? I grew up with three younger siblings, and i’d constantly hear social requests for memory retrieval (wow, i’m a nerd) that might go something like this:

“Do you remember when we saw that thing that went ‘boom?!’”

And, as an older sibling, you’d have to remind the younger kid that she wasn’t specific enough, and that you’d need more details to know what she was talking about. The younger kid might not fully remember the thing in question, but they remember at least one characteristic of it, even if outsiders have no way to discover the content from the tag context. The way that mnemonic tagging systems work is very similar.

The mnemonic tags that you use are absolutely going to be different than the ones that I use for a particular item. These personally-oriented mnemonic hooks into long-term data dumps of our lives are what form the basis of tagging systems in social software. It’s my opinion that any project that wishes to implement Freetag, or a similar tagging feature, should plan on taking a deep sip of the web 2.0 kool-aid, and figure out how to get their users to take a long term view of their personal identity and data stored within the project.

Freetag, Tech

Freetag v0.220 Released! Tag combos, here we come!

June 1st, 2005

It’s been a few weeks since an update of Freetag, and I’ve got a couple of really nice features built into this one. If you’re just hearing about this now, Freetag is an open-source tagging and folksonomy module that you can use to retrofit existing PHP/MySQL applications with tagging functionality like del.icio.us and flickr.

Powerful constructor options

The first, and really most important feature, is one that should have been in there from the beginning. You can now pass in an array of options to the constructor of Freetag, to customize the instance to your database parameters. It allows you to essentially build all of the instance-specific stuff into your own Freetag instance, instead of having to re-edit the class file every time you download a new version.

In addition to making upgrades work more smoothly, I’ve abstracted out the characters that the normalize_tag function uses to one of these constructor parameters. That means you can pass along your own preg_replace-compatible normalization filter. This allows you to effectively allow underscores, spaces, etc. in your normalized tags, and theoretically will also work for including high-ASCII from other charsets, like accents in Spanish and French.

Tag Combos

The second major feature is one i’ve been sitting on for a while, because I wanted to get it working nicely with the user-specific tagging schema in Freetag. Tag combos in Freetag allow you to get all objects tagged with a combination of an arbitrary number of tags. This allows Freetag-based sites to allow ‘drilldown’ browsing through tags – so you’ll be able to browse your tags for something like “la+dining”, which is super useful.

I owe Kellan some thanks for pointing out the link to Peter Cooper’s snippets sample of tag combos. I took his code as a starting point, and worked it into the Freetag schema, so that now it works well, plus it supports restricting to a particular user ID’s set. That should be very useful for browsing into especially complicated personally tagged datasets by highly metadata-prolific users.

What’s next?

I’ve received some requests for performance numbers, so i’ll be spending my next chunk of time prepping a stress testing suite that should give people a good idea of how Freetag will perform on your environment. If you’ve got some ideas about this, please post your suggestions to the Freetag mailing list!

Other than that, now that tag combos are part of Freetag, I’ll start brainstorming about a full boolean tag logic function that Leonard and I were tossing ideas back and forth about tonight. I can think of one or two ways to implement this with poor performance, but i’m really looking for a MySQL 3.X-compatible solution that will have reasonable performance. I may just include the ‘dumb’ versions in the next release, and save the optimizations for later. If you’ve got an opinion, chime in on the mailing list and let me know what you think.

Freetag, Tech