A federal judge learned to code

Code isn't just for programmers. It's a part of the world we live in.

The last couple of days, there’s been a fair amount of blogosphere angst over Coding Horror’s “Please Don’t Learn to Code.” Ironically, the best argument for learning to code appeared this morning, when it turned out that Judge William Alsup in the Google case could program, and learned Java in the course of the trial, and wasn’t going for Oracle’s claim that a short range-checking function was days of work. Alsup recognized immediately (and says he wrote the function hundreds of times during the course of the trial) that it’s just a few minutes work for a competent programmer.

The importance of learning to code isn’t so that everyone will write code, and bury the world under billions of lines of badly conceived Python, Java, and Ruby. The importance of code is that it’s a part of the world we live in. I’ve had enough of legislators who think the Internet is about tubes, who haven’t the slightest idea about legitimate uses for file transfer utilities, and no concept at all about what privacy (and the invasion of privacy) might mean in an online space. I’ve had enough of patent inspectors who approve patents for which prior art has existed for decades. And I’ve had enough of judges making rulings after listening to lawyers arguing about technologies they don’t understand. Learning to code won’t solve these problems, but coding does force engagement with technology on a level other than pure ignorance.

Coding is a part of cultural competence, even if you never do it professionally. Alsup is a modern hero.

tags: , , , ,
  • LeonBlade

    I love this story, I think it really shows that the Justice system can work in a senario like this given that they had the knowledge behind it. More than not, a case will go by where really the judge has no idea what anyone is talking about in detail, so a basic summary or overview is needed to grasp a certain concept, but in this case, knowing programming allowed the judge to see for himself what was or wasn’t true.

  • BarryDobyns

    Programming is just a skill, like any other. While professional programmers (and I am one) would sometimes like to think that there’s a special talent involved that sets them apart from the rest of the populace, the truth is that just about anyone can master the basics well enough to understand what’s going on.

    I can learn to play a musical instrument. Perhaps not very well (since I’m tone deaf) but I can learn to play. Enough to understand what my musician friends are talking about when they discuss the nuance of a clever chord progression in an awesome riff.

    That’s what the judge did here. He’s a savvy guy, and he said to himself, “how hard can it be, after all?”. Teaching himself to program allowed him to step outside of the trap of trusting that the lawyers in front of him were telling the truth. It wasn’t necessary for him to code well enough to get a job at Oracle, or Google. It was just necessary for him to code well enough to evaluate the veracity of the evidence before him.

    Bravo.

  • Luis

    Information Technologies (hardware, operating systems, browsers, general productivity tools) are, on the one hand, everywhere and, on the other, extremely powerful and useful. They can become even more powerful and useful for you if you can program. Now almost every Windows application has a COM interface that allows you to automatize almost any operation that you can perform. The Ms Office’s Visual Basic for Applications IDE has been around for more than a decade (and a half). I’m a professional programmer but I also have a personal life and I also use technology for it. And I’m continuously applying my programming knowledge to it, developing all kind of small tools that make my life easier in multiple ways. That’s why it’d be wonderful if everybody learnt to code. Not because all of them could change their jobs for better paid ones in the Software industry but because they could use it in their everyday life, with their PC’s, their smart phones or their tablets.

  • mtcoder

    I agree some basic programming in any language really starts to give you insight into everything our world does today. I mean heck even toasters have a few hundred lines of code in them now. My front door has a keypad and a code chip running programs on it to know if It should unlock the door, perma lock the door from to many tries, or just beep to have me try again. Having people stop to think about all the conditions that is needed to make that keypad door entry works starts their brains thinking in different ways. I love to teach younger people how to think based on conditions, aka the door example. See how many of them work through all the possible situations and results. Even the adults I teach (with their kids usually) are just amazed by what actually happens, and I usually get calls with them asking about other devices in their homes. It’s important to get that spark going and get it going soon in our judicial, lawyer, patent systems. Where blindness is causing huge problems we will be stuck with for decades. So good for this judge to do some homework for a change.

  • Daniel Bingamon

    That’s great!
    Think about those who are telling others not to code, it’s like the famous “Go west young man” — so the young men go west and the guy who said it cashes in back east.
    Well, ignore those “don’t code” folks, they just don’t want to share in the fun.
    I’ve been coding C for 25 years and other languages before that. Never had the time in the data acquisition and manufacturing world for ++, too busy.

  • Edward

    Coding, like mathematics, requires its users to learn to think logically, a skill that seems in short supply nowadays.

  • Bryan

    Maybe there should be a requirement of a certain level of technological ability in order to oversee cases involving technology.

  • Chris

    > he wrote the function hundreds of times during the course of the trial

    Are trials *that* nauseatingly boring, that one can find time during a trial to write and rewrite functions hundreds of times?

  • Jim

    >Maybe there should be a requirement of a certain level of technological ability in order to oversee cases involving technology.

    I agree. Also, I think you should have to have several years experience programming in order to be a patent inspector. That way the number of software patents would be just about zero.

  • John B

    Sorry, disagree. Do you have to be a car mechanic to drive? A petroleum engineer? A materials scientist? And yet, the vast majority of the world can drive just fine.

    Similarly coding. Good coding doesn’t require the end user to have to write code to do whatever the job is – it’s a tool. Just like a car.

    You and I (and many others on this blog) know how to code. That self-selecting slice of the populace, who see value in coding itself, are a minority.

    At least, that’s how I see it. Ain’t it great how we can all afford to disagree? *wry grin*

  • Bert Good

    Coding is nothing more than a robotic task of applying rules to language within a man-made system of constraint. There is no real thought involved, and I cannot see how justices, who are steeped in one man-made system, can benefit society by learning the rules of another.

    What would benefit this country’s Justice system, however, is a real understanding of the immantezing impact of a rule-based system built upon Godel’s numbering theory. But then again, how can we expect justices to learn and understand what the tech community has not even bothered understand.

    In fact, how many people reading this blog have the slightest clue what I’m talking about here? If one person raises their hand, other than Tim Oreilly, I’d fall out of my chair.

  • Mark H

    It is very encouraging to hear about a judge taking the effort to PROPERLY prepare for this case–when presiding over high-profile litigation over a programming platform, it does make perfect sense that those judging or arguing the case have programming knowledge.

    I happened to go to grade school at a very good point in history, Personal computing was in its infancy, in a time when most home computers booted into a BASIC programming environment and DOS was still ramping up to supplant CP/M as the IBM PC clones began to flood the market. If you used computers in the day it meant you had to program–at the very least batch files, or know the BASIC command to load a game or what have you. So although it was not a “core subject” like science or math, computer education had a true focus on programming and the concepts that personal computing are based upon.

    As our PCs got more sophisticated the users became less so. Computers are now the “appliances” as envisioned by 1980s futurists, but computer USERS are almost universally illiterate. Those who design the typical computer education curriculum are obviously computer illiterates as well. It is rare that students these days learn ABOUT computers–they merely learn how to use common computer applications like Word, Excel and Powerpoint. Actual EDUCATION about computers is relegated to specialist/optional courses geared towards “gifted” students and enthusiasts who plan to be computer professionals. Such courses may not be available at all in smaller schools.

    An educator would NEVER argue that we should replace Math with a “calculator skills” class as a core subject with the reasoning that almost nobody does trigonometry and algbra and long division. Why are computers treated that way? Why have we turned out a generation of students who call either a 3.5 floppy, or their actual computer itself, the “hard drive” and think it is OK because they know how to sum a column of numbers in Excel?

    Perhaps if Computer Science was a core subject like Chemistry or Math or English then we wouldn’t turn out legions of computer-morons that go on to grant absurd patents, bring silly cases to court and legislate brain-dead tech laws.

  • http://anuramaswamy.com Anu Ramaswamy

    There are wicked smart people who are extremely good at what they do, very logical in their approach to problem solving, can probably write some pseudo code better than some programmers can write code, and they don’t speak C, or C++, or Java or Ruby on Rails. I don’t mean to oversimplify this, but, did we forget that language is just syntax, and object oriented programming is nothing but putting some structure around common sense best practice in writing code.

    On the subject of understanding how the internet works, I doubt if learning a particular language would do any good. I would rather have someone understand the basics of networking protocols, the architecture of the web, understand how websites are hosted and what does it mean to be in the cloud…than making them learn syntax.

  • Bob C

    John B, I disagree with your disagree. Well I do agree with your general assumption that you don’t have to be a mechanic to drive a car and the like, but you shjould know to have the oil changed regularly, how to put gas in the car and other have other maintenance items done on a regular basis. I don’t put that judge in the category of a mechanic, but one who understands there is more to driving a car than just turning a key, putting it in gear and going. I classify that judge as one who knows there is maintenance. He is probably more akin to a backyard mechanic – can change plugs, PCV valves, a battery, filters and other basic items. That is a big difference from overhauling a motor or transmission or some other major function. Too many judges (and lawyers) are like the airheads that never check or change the oil and drive until the car breaks down (and don’t know why). Judges (and lawyers) who are ignorant of the nuances of cases such as this are going to end up making bad decisions and not realizing it.
    Maybe judges and juries should be given a short crash course in matters such a this so they can at least apply some intelligence to their decision.

  • http://www.londonremovals.co.uk/movingtips.htm Nathaniel

    I think all new skills and knowledge can be good for you as there will always be a time to use those skills. Logical thinking and coding is very similar to mathematics, I agree with the previous comments.

  • http://stuartsgreen.co.uk Dave (Remuneration Trust) Green

    For a Judge to take the time to learn coding so that he was more informed about the technecalities of the case in front of him shows excellent dedication to the job. If the polititions were to show more interest in their job instead of being interested in what they could get for themselves then we would not be in the state that we are currently in. If polititions from all sides cared enough to understand what they should be doing then possibly the world would not be in the mess it is. Sorry about the rant but I think you will know where I am coming from.

  • http://www.beststeamcleanerinfo.com Joseph

    I’m not sure how you are able to argue that programming is a cultural compentance, but I can say that in order to understand the trial, it was most definitely helpful for the judge to learn programming.

    I can see this in other applications, such as in fields such as electrical engineering, where the judge may have to undergo some physical training related to the case at hand.

    Very interesting post.

  • Bill Callahan

    I think that everyone should have some basic knowledge of any technology that they use on a daily basis, including coding, since most people now use computers. Once we get past that basic knowledge and need more information to make decisions in the courtroom, I think that lawyers can employ expert testimony, just as they do in medical and industrial cases.