TheJach.com

Jach's personal blog

(Largely containing a mind-dump to myselves: past, present, and future)
Current favorite quote: "Supposedly smart people are weirdly ignorant of Bayes' Rule." William B Vogt, 2010

Jury Duty

I had the interesting experience to be called for jury duty this week. Well I was called last year but I was able to defer until this week. Since I was dismissed on Tuesday, I thought I'd write about some of the interesting things and some of the disturbing things.

It's important in any dealings with the government to not lie. If speaking the truth would be inconvenient, you should say nothing. Worst case then is that you enter a situation where you're compelled to speak, which is rare, and you can weigh the consequences of the truth vs. continuing to say nothing. This is much better than perjury.

I'm leading with that because most people don't actually want to be on a jury or even be in the jury selection process, me included. I think my time is best used elsewhere. However if you also prefer the outcome of getting dismissed over actually having to sit and deliberate, as I do, you have to make sure your reasons to make that case are truthful. If you're caught in a lie, not only is that bad for your own epistemic hygiene, you might face criminal charges if you lied under oath.

See Full Post and Comments

ELS, Italy Trip

Last week I went to Italy for the European Lisp Symposium! ELS was in Genoa (Genova?), Italy on Monday and Tuesday. Wednesday I traveled down to Rome and did some sightseeing Thursday and Friday, coming back home on Saturday. This blog post is just to share some highlights of the conference and to share some of the better pictures. (I don't think I got any great pictures.)

My employer was gracious enough to pay for the conference, too, of which the flight was the most expensive component. (It ended up being about $1400 due to booking kind of last-minute, with a few months advance booking it could have been closer to $900.) Europe is pretty cheap once you're over there!

I left Seattle's airport on Saturday the 30th. 5 hours later arrived at the JFK airport. My Japan trip has spoiled me, as I compare every airport now to the Haneda one. JFK is terrible! 10 hours later, arrived at the FCO airport near Rome. I was amused they make you walk through a shop to get to the customs area.. but then whoever was working the desk that day seemed to care very little. "Where are you going? Ok, next." The 'gate' for the next hour flight up to Genova was just a holding area before a shuttle we crammed full with everyone carried us out on the tarmac to get on our plane directly via the stairs.

See Full Post and Comments

Open source dramas

Just some commentary on some months-old dramas.

A couple months ago there was some drama in the Clojure community. An excellent summary can be found in eccentric_j's top comment on this reddit thread.

The TLDR is that someone got sick of how difficult it was to make contributions to Clojure and ragequit (politely), then Rich made this "it's not about you" post, and then a few days later as if to rub salt in the wounds REBL was released with a non-open-source license.

See Full Post and Comments

Self-documenting code

I read Uncle Bob's Clean Code book last year, and one of its examples in the final summary chapter on the importance of naming stuck with me. I mean, most people will just agree that naming is important, but sometimes convincing is needed, and the examples given are either trivial (i.e there's really not a naming problem) or convoluted (you'd never write code that way to being with, even with good names). Bob's example looked like it was going to be the second kind. Have a look:


public int x() {
int q = 0;
int z = 0;
for (int kk = 0; kk < 10; kk++) {
if (l[z] == 10) {
q += 10 + (l[z+1] + l[z+2]);
z += 1;
} else if (l[z] + l[z+1] == 10) {
q += 10 + l[z+2];
z += 2;
} else {
q += l[z] + l[z+1];
z += 2;
}
}
return q;
}


A loop with a few if-elses in it. A reference to some higher-scoped array l. Some magic numbers. What does it mean? Would anyone ever write this? I can tell you what this code does on the machine, I can't tell you what it "does". Its purpose. Its meaning.

See Full Post and Comments