it turns out the cops are pretty busy

..on a Saturday night in Jersey City. So I'm still up.

never move in to an apartment above a bar

The bar wasn't open when we moved in, and there was no indication that it would open soon. 8 months later, it happened, and here I am having to get up in 6 hours for a long day of driving, but I can't sleep because of the noise.

I know the guy running the bar, and he asks me to call whenever the noise bothers me. But when he doesn't answer, what recourse do I have?

Bukt found the Jersey City municipal code online. Chapter 222 Article 1 says:

A. No person shall make, continue or cause to be made or continued any loud, unnecessary or unusual noise or any noise which either annoys, disturbs, injures or endangers the comfort, repose, health, peace or safety of others.

B. No person on property owned by him or her or under lease or other arrangements shall allow or give permission to any person on the property to utter or make loud, unnecessary or unusual noises or any noise which either annoys, disturbs, injures or endangers the comfort, repose, health, peace or safety of others.

That looks promising. While I'm usually anti-law, this one makes me happy. In a libertopia, I'm not sure what course of action I'd have to take.

So we'll see how the cops handle it. Sadly, even if the cops do get the bar to shut up, I'll still be short my sleep.


buffer overflow in tar

In this day and age, it seems insane that so common a program would have such a bug. Arbitrary code execution, just by opening a tar archive?

It's time to rewrite gnu in a real programming language!


ocaml wish

Let's say I have a function with some optional arguments and some mandatory ones:
let f ?a ?b c = ...

And let's say the b argument should only be used inside this module. It would be nice to be able to just put
val f : ?a : 'a -> c -> 'b -> 'c

in my mli, to restrict the outside world from seeing the optional b argument. It seems that this might be tricky to implement from the standpoint of separate compilation.

Right now the best workaround I can come up with is to make a separate function to export to the outside world which simply calls the internal one appropriately.


tax season strikes again

H&R Block, a company whose primary business is preparing people's tax returns, screwed up their own taxes! The income tax is so confusing that even tax experts don't understand it. One more reason to support fundamental tax reform, such as the fairtax.

Oh well, back to H&R Block's website to work on my taxes..