flwyd: (transparent ribbon for government accoun)
At the Aaron Swartz memorial in San Francisco (video), some interesting themes emerged.

The first is Aaron's passion for machine-readable public information. This principle is at the core of much that Aaron did, from enabling search engines to find public domain and CC-licensed content to downloading swaths of paywall-guarded documents so that the public can have access to its own information.

The second is the unbalanced power wielded by prosecutors. Aaron killed himself in part because he felt helpless when faced with a multimillion dollar federal trial featuring 13 felony counts. If Aaron couldn't face this, what hope have ordinary folks who aren't close friends of Harvard law professors, rights advocacy organizations, and expert witnesses, not to mention a chunk of cash from selling an Internet startup. Faced with expensive defense lawyers and the fearsome specter of the government's prosecutors, only 3% of cases make it to the trial which we're constitutionally promised.

The third, expressed by his girlfriend Taren Stinebrickner-Kauffman and fellow document liberator Carl Malamud was a call to the technologists and scholars and activists to become radicalized. Aaron did big things because he thought they mattered. Like Peter Singer, he stressed about the opportunity cost of not doing the most important thing in the world. His death has become, in part, a call for people in the free culture movement to step up and do more.

So here's an interesting challenge that combines all three: write a program that interprets and presents law. Though they predate computers by a few thousand years, laws are meant to be something like human-runnable source code. They're detailed, they're written explicitly, and they apply to everyone. And yet in many cases it takes someone with a graduate degree to understand what they say. People with graduate degrees are expensive and unevenly distributed.

Imagine we had a program which could turn laws and judicial opinions into machine-readable format. We could then write programs that took those laws and presented them in various ways, helping lay people understand both core details and subtle interactions. We could write other programs to organize this legal information into arguments given the evidence about a case.

Compared to people with graduate degrees doing stuff, running computer programs is free. Someone without a lot of resources could understand what they're charged with, explore similar cases, and collaborate with friends on a defense. There'd still be a role for lawyers to conduct the defense at trial and advise on the best way to convince a jury, but the time spent at trial is today dwarfed by the time and expense preparing for it. Let the humans do what they're good at&endash;convince humans of things&endash;and let the computers do what they do best&endash;tirelessly and cheaply examine lots of data and find useful patterns.

Like a patient who comes to a doctor after reading the medical literature and closely observing his body, a defendant who comes to a lawyer with a solid understanding of the relevant laws is in a much better position to face the plaintiffs and prosecutors who have the deck stacked in their favor. If we can make computers understand law, we can empower all citizens, regardless of income, to make fair use of the due process granted them by the constitution.

Building such a system wouldn't be easy. Human language is still hard for computers to understand. And legalese is even hard for humans to understand. There are all sorts of powerful people and organizations, private and governmental, with interests vested in law and courts being expensive and difficult to access. It's not easy, and that's why it should be done. A hard, ambitious, and meaningful project like this would capture the spirit that's been raised in Aaron Swartz's wake.
flwyd: (mail.app)
From a conversation with a friend who feels uncomfortable posting things publicly on the Internet. It's something I've been thinking about lately, given the prominence of social networking as one of the hot topics in software.

The social landscape of the Internet and the amount of private data floating around is very different today than it was nine years ago when I started my LiveJournal. I've always felt that it's easiest to be public with most information. Keeping track of who's allowed to know what, presenting a different face to different people, letting information spread by rumors and slips of the tongue... that's all a lot of work and often ends up in a big pile of drama. It's much easier to let anyone know who cares. This also creates an opportunity to discover shared experience: when everyone can see what everyone else is doing, we can let clever solutions spread through the cultural zeitgeist.

But I also believe firmly that this publicity has to be by choice. Information should be shared because people want to take part in a community of shared information and communities work best when everyone is comfortable being a member. My favorite high school teacher, during Socratic seminars, would put a picture of fish on the floor in the middle of all the tables as a reminder that it's fun to come to the pool and watch everyone swim around, but it's a lot more fun if you jump into the water. Publicity by choice is related to a maxim I adapted from Stan Brakhage: the freedom to leave is one of the most fundamental.
flwyd: (Akershus Castle cobblestones)
As I've said before, the freedom to leave is one of the most important. One must feel strongly about the benefits of a situation before giving up the freedom to walk away.

Sometimes it takes me a long time to leave. I'm often one of the last to depart an interesting party. I spent fifteen semesters at The University of Colorado. I lived in Boulder for twenty-four years. I've worked at Tyler Technologies for over four years.

I've been thinking about leaving Tyler for a while. I've learned a decent amount and written some good code, but I've also spent a lot of time writing boring code. Our product has some interesting solutions to typical government software needs, but in the end most of it is "Let the user enter this data into that view and store it over there. Take data X and make it look like Y so we can use the Z that we already built." Once I got that down, most of the interesting bits lay in what this and X are. And while I'm glad to have learned about legal descriptions and property appraisal, they don't hold fundamental interest for me.

I informed my manager a year and a half ago that "my time with Tyler is limited." He said he'd do whatever he could to keep me there, but I told him that the sorts of things I'd like to be working on are beyond the scope of what the company should pursue at this point.

I'd considered quitting as early as last summer, but the times at which it would have been auspicious to leave were also fairly hectic personally, so it was nice to have stable employment at which I'm appreciated (if underutilized). Before I went to China, my manager and I agreed that when I got back I'd wrap up the project I was working on (an implementation of a calculation method which proved to be 10% interesting and 90% tedious) and then work on an interesting module until I was ready to leave, "probably in May or June."

I came up with the "May or June" timeframe by intending to move out by the time my lease is up in June. I could spend March through May talking to potential employers with interesting projects in cool locations and then move in early summer... or perhaps in late summer, after traveling around the U.S. for a while.

Yet again, as the auspicious time for departure approaches, I've found reasons to put it off. My job search progress is nil, in large part because I've spent so much spare time drumming, roleplaying, hiking, and attending concerts. But there are work reasons, too.

Based on dissatisfaction from many customers, the president of our division has said that the module I'm working on is our top priority. I understand the customers' frustrations: most of the original development was focused on our largest client who, after a management change, decided not to buy the module yet. At around the same time, I was moved off that project and my time focused on Utah, sales analysis, big bugs, and other areas varying in degree of interesting. The module therefore never had a complete feedback cycle with clients who actually purchased it. And since the client we originally focused on does some things differently than the ones who are using the module, some behaviors are a bad match to user desires. After collecting complaints, we held a meeting and agreed on a two-phase approach. The first phase will deliver easy solutions to some annoying issues. Phase I will be included in the upgrade to our new release, slated for this and next month. The second phase will feature some more time-consuming but intellectually interesting solutions to some fundamental issues. I've refused to give time estimates on Phase II because I won't know what's needed until we've researched and experimented.

I told my manager and our president that I'm committed to completing Phase I. I've also said that I'm open to staying through much of the development of Phase II, leaving perhaps in September. My reasons for this delay are two-and-a-half fold.

First, I'm interested in sticking around because I take pride in my work. By completing, or at least making progress on Phase II, I'll be able to do a better job on some things I did when I was fresh out of school and didn't know any better. I'll be able to use some interesting techniques from my graduate-level courses on natural language processing and machine learning, the promise of which was one reason I was interested in this job originally. Plus, I figure if I do a good job using interesting computer science techniques I'll have something more worth discussing at a job interview with a prestigious company.

First and a half, my company is looking to hire a smart and creative someone interested in working on this module.* I'd like to work with the new developer on the existing product and design for Phase II so that I don't indirectly hand everything off to someone who spends a month going "What the smeg? Who wrote all this jibba-jabba? Why in Belgium did he do that?" As Eric Steven Raymond wrote in The Cathedral and the Bazaar, "When you lose interest in a program, your last duty to it is to hand it off to a competent successor." He was writing about open source projects; it's not as big of a deal in my case (Tyler can hire a competent successor after I depart). But I'd like to perform a quality handoff as a professional courtesy: I don't enjoy diving into weird code without advice from the author and I figure other programmers don't either.

Second, staying employed lets me spend significant portions of the summer having fun while still getting paid (instead of cashing in unspent time off for a lump sum). If I were to start a new job in June I'd only have a couple days saved up by the time the weather was cold and the nights early. I've got enough money that I could afford to put my stuff in storage and take a summer-long road trip, but I don't have a good candidate for the passenger seat in such a performance and I'd feel guilty about using all that petroleum by myself. I'll be able to spend about 20 days of vacation (that's a month of workdays) between now and September and extra vacation is on the table (along with extra money or something else I think of) as an incentive for sticking around through Phase II.

So unless someone has a compelling reason why a three month road trip would be a good idea, I think I'll go month-to-month on my lease and figure out how to spend another month of time off.

What happens to our intrepid programming hero? What sorts of vacation plans does he have? Stay tuned for the next edition of flwyd.livejournal.com to find out!


* If you, or someone you know, is interested in employment programming in Java with a focus on extracting names, property locations, and other interesting data from semi-structured text, drop me a line. I realize that "I'm quitting because I want to work on something more interesting,** want to take over for me?" isn't the best sales pitch, but I think the opportunity is worthwhile. Phase II should involve some really interesting work, there are other cool projects that need someone to work on them, the environment is fun, and you'll be well appreciated and compensated. I'm leaving in part because I want to move to Boulder, the west coast, or somewhere else nifty. I don't have any ill will toward the company or its current employees (at least on most days).

** If you've got connections or leads pointing to computer science-type positions relating to natural language, GIS/mapping, programming language development, artificial intelligence, or unusual human-computer interaction, put me in touch. My résumé is fairly up-to-date.
July 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 2025

Most Popular Tags

Expand Cut Tags

No cut tags

Subscribe

RSS Atom
Page generated Wednesday, July 30th, 2025 07:07 am
Powered by Dreamwidth Studios