It's December first

Time for my yearly post about Christmas.

Some people reading this will probably want to get me Christmas presents, although you don't have to. I'd really prefer that you donate to a charity instead: Child's Play, the Wikimedia Foundation, Stop TB, and the Electronic Frontier Foundation are all ones I donate to.

As usual anything homemade, handmade, or especially baked is exempt from this request: I will happily nom any pastries you make, or wear anything knitted, or hang anything painted, etc. :) I'd just rather you spend money on someone who needs it, rather than me.

This entry was originally posted here, where there are comment count unavailable comments.


Yesterday I learned about a site called Tip4Commit (I'm not linking to them). I learned about them from a thread on Hacker News complaining about them. Here's how it works:

- Tip4Commit has a search engine where you can look up open source projects. If you search for one that doesn't exist (on GitHub), they automatically add it.

- Once you find one, you can donate a sum of money to that project, in Bitcoin. Your donation goes into the Tip4Commit wallet.

- Tip4Commit then watches that project's GitHub repository, and each time someone commits to it, they give that committer 1% of the project's (remaining) Bitcoin balance.

- If the committer has an account with Tip4Commit, then it sends them the money, to their Bitcoin wallet

- If they don't, then it sends them an email saying they have money they can go claim.

For a lot of reasons, this is extremely bad. And the author's reaction to criticism is even worse. And I'd like to discuss why.

First, the complaints. I saw three main complaints about T4C from people on the Github issue tracker:

1. Spammy emails. This was brought up by the Django project maintainer here. Sending emails to developers that you don't have a prior relationship with isn't cool. It's spam, and actually illegal. T4C gets the emails by scraping the commit logs of these projects.

2. Discouraging developers and offering perverse incentives for committing. This was brought up a couple places. T4C encourages developers to make lots of small, low-value commits and maintainers to be suspicious of new developers offering small commits. It insultingly "rewards" developers with a fraction of a cent for hours of passionate work.

3. Implying a relationship with the project maintainers where none exists. This is a big deal, in my opinion. He's using the names and GitHub identities of other developers in order to raise money, some of which he then keeps, without their permission. This is fraud. And it's probably worse than any other bad-behavior thing this project does.

All those are problems, but what I really want to talk about is the utterly horrible way the owner of Tip4Commit is handling the criticism.

First, there's been no acknowledgement that he's done anything wrong, or (god forbid) an apology for it. All criticism has been treated as a discussion of a technical problem. Sending out unsolicited emails? Add in a threshold, it only sends emails when you've accumulated $2. No acknowledgement that maybe the fact you're sending unsolicited mail means you need to communicate with someone that you shouldn't, just a quick fix for the mail.

Weaselly refusal to do simple requests, also. Someone asks their projects be removed? Well we can't do that because someone else could just add you back. Well add me to a blacklist then! Oh but a blacklist would be adding a new feature, why don't you write that for us? I am not even kidding.

Not understanding (being charitable here) why anyone wouldn't want what he's forcing on them. This is a big one. In response to "please remove my project," he just keeps saying "why? what about his instead? why isn't this good enough?" in different ways. This is boundary-pushing, turning into boundary-ignoring. It's actually really creepy to watch. The project maintainers (who are also sometimes the sole developer) are very clearly telling him to stop doing what he's doing, and he's choosing not to hear or understand them.

Shutting down discussions when it starts going against him. As soon as he has no way to misunderstand what someone is asking for, he says "this discussion has wandered too far" or "this isn't appropriate for a bug tracker" or something, and forces the people complaining to start all over again somewhere else (with him again obstinately refusing to understand).

All of these are really manipulative, scummy tactics. What I think is really going on:

- If a "donor" gives, say, $10 to a project on Tip4Commit, then the next commit to that project earns 10 cents, then slightly under 10 cents, then a little less, etc.

- But, because it's only taking away a percentage of the remaining balance each time, then the balance never actually reaches zero. And since that percentage is 1%, it takes hundreds of commits to even get close to zero.

- Eventually people will forget Tip4Commit exists, and the author can shut it down and pocket the remaining money.

- There will be more money the more projects he can pretend he's working with, so he adds everyone he can and refuses to remove them.

His defense for this, when he finally gets argued with enough to give it, is "why don't you want your developers to get free money?" I submit that this isn't the point at all. The maintainers don't want their names associated with this scam, and a few cents of free money isn't enough to change that. That's the tone-deafness the maintainers are fighting against with this guy.

Or sometimes his other defense: "how can you release your code as open-source and then object to this?" Well, because it's not the code you're using, it's the names and reputations of the project maintainers. And no matter how many times this is pointed out he doesn't hear it.

This whole thing is incredibly scummy and needs to be shut down.


Here's a message I just sent to GitHub support:

I'm writing this to talk about a project you're hosting the source for, tip4commit/tip4commit.

The way it works is, people can donate money to a particular open source project, and then the people who write commits that are accepted to that project get a small percentage of the donated balance. So if the current donation balance for a project is $10, the next commit would earn one percent of that, for 10 cents, then the one after it would earn 1% of the remaining $9.90 for 9.9 cents, and so on.

The problem is that the whole thing reeks of being a scam:

- Projects are added without the consent of the owners, and in many cases against their consent. Searching for a GitHub project adds it automatically to their database with no way to remove it, and people opening issues to have their names / projects removed get brushed off.

- It's almost impossible, at 1% per commit, to get an appreciable amount of the donated money back out. 68 commits to get half of it, 228 commits to get 90%. What happens to the money that no one has committed enough to claim? Who knows? Probably it just stays with tip4commit.

Which is why I think the whole thing is a scam, using GitHub to carry it out (by scraping contributor emails from GitHub commit records). They'll accept donations fraudulently under project maintainers' names, then dole out a few percent of them to committers, and eventually shut down and keep the balance.

I realize there's not a lot you can do about this, since you're not hosting the actual site and they don't need an API key to pull the commit data. But it would send a great message if you shut the repository down, IMHO.

I've had a little back-and-forth with the author of this scam, Arsen Gasparyan, here. He claims to not comprehend that the project maintainers might have a stake in this. This morning he disabled unsolicited emails and made it opt-in only for committers, thus making it even harder to get the fraudulently-collected money out of the thing. Projects are still added on search and can't be removed.

Which is the infuriating part, really. He totally denies that he's done anything wrong, because he totally denies that project maintainers have any rights to be trampled on. It's all about the committers.

This entry was originally posted here, where there are comment count unavailable comments.

Age of Wonders 3

There's a relevant Penny Arcade about the "Mega Man 9 Effect," which is pretty much how I felt after my first game of Age of Wonders 3 last night.

Age of Wonders is like Civilization, but focused more on combat, and set in a fantasy realm. You're a king / hero / whatever, leading armies to conquer the other kingdoms. What made it work was that it was really detailed: each city had a race, so if your relations with a certain race (like Orcs) went down, Orc cities you controlled would revolt. Your hero had RPG-like levels and abilities and could level up by exploring dungeons. There were very detailed city production models.

I started playing AoW 1 in high school, and quickly got addicted. It was a big part of my life for a couple years. I got people in college addicted too: I showed it to my roommate, Bob, right before Technicon my freshman year. I came back to the dorm a weekend later and he was still in the same position, still playing it, the only difference was that now he was surrounded by piles of empty Sprite bottles.

There are other games like it, like Heroes of Might and Magic, but none that are as good. There was a sequel, and then a spinoff-sort-of-thing called Age of Wonders: Shadow Magic, but I didn't like those as much as the first game.

This though, the latest one, is almost perfect. They tweaked the rules some, which makes the game immensely better: city walls are still really valuable but no longer nigh-impregnable; losing your hero is still bad / dangerous but no longer an instant loss. The graphics are really pretty.

Basically, I sat down last night to play the tutorial, and felt exactly like I did playing it in college. I didn't even notice two hours had passed.

This entry was originally posted here, where there are comment count unavailable comments.

This weekend I:

- Had my check card canceled, because of bullshit. I'll be able to fix it tomorrow, likely by switching banks, because this isn't the first time.

- Bought a grill and a cylinder of propane. Then spent way too long assembling the grill, when I could have bought a pre-assembled one for $30 more. But, I have a grill now.

- Set up (mostly) the Old Video Game Nook: my 21" CRT that I got from Dave, hooked to an RCA -> VGA converter, hooked to a Dreamcast / PS2 / Gamecube (actually a Wii pretending to be a Gamecube). Nostalgic fun!

- Replaced all the dimmers with real switches but one. The hall light is still stupid; you can only control it with the dimmer from one end of the hall, and only if another light switch is off. But the dimmers in my room, my workshop, and the kitchen are all gone now.

- Finally got in the mail a thing I've been waiting for for weeks; a little toy that I had shipped from Ukraine right before the war broke out.

- Ate a steak that would have cost like $30 in a restaurant, for $4 because Cassie made it on our grill (and tomorrow I'll try doing burgers).

- Shelved all the DVDs. They all fit with about half a shelf to spare, because I put the games in the den, and the same with Bullshit (which is a shelf all on its own; they never released a proper boxed set).

This entry was originally posted here, where there are comment count unavailable comments.


Well, we live in the new house now. Cassie's father came yesterday with his truck, and we moved almost all the big stuff (two things we forgot about, but we can get those later). We moved the bed, the couch, the dining room table, and some more games. After he left we went back for more car-sized things. We stayed here last night, then today got a couple more loads of stuff, including the computers. Cassie did her podcast this evening, and while she did I went back for the TV.

So most of the stuff we use on a day-to-day basis is now here, although it may be here and buried in a box. I still don't have my chair, or my nightstand, which sort of sucks, and a lot of the boxes need to be unpacked on to tables / shelves that I haven't actually built yet, like in the workshop. That'll come next week. And of course the books: I worked it out that I can carry about four full boxes of books in my car, along with a bookcase, which means six or so trips (one per bookcase). The books are more or less fluid, once we start moving them they should be pretty easy. And there's no rush at all; we have the apartment still until May.

The new AC works great too. Took most of two days to install and it cost a fortune, but it works great and it's an important thing to have here.

This entry was originally posted here, where there are comment count unavailable comments.

At this rate I'll need a sliderule icon

I sort of went nuts on eBay the other day and ordered a few slide rules. Today the first ones came in: a K&E "beginner's slide rule" with only four scales (A, B, C, and D), and another little pocket one with some trig scales, but no folded scales and broken indicator. I realized these were in pretty bad shape when I bought them, but it was $5 for the pair, so I bid to see what would happen.

So, slide rules are essentially a collection of weird-scale rulers that you can line up against each other in different ways. The scales are all labeled with standard names that say what they are. The basic scales that all rulers have are C and D, which are log scales, used for multiplication: since log(x) + log(y) = log(xy), if you line up the start of the C scale with some number on D, then see what's across from another number on C, you multiply those two numbers.

A and B are also log scales, but compressed so that they show ten times the range. CI is a log scale just like C but backwards, used for making division easier.

Anyway, I now have four slide rules. Only one of them, the first one I got, has a bunch of fancy scales, though, and I want to get another one like it. I've got a couple more auctions I've won for odd slide rules, that I'll probably post about when I get them.

I did finish the Asimov slide rule book last night. It was great, especially for someone into recreational math. I was a little disappointed that he didn't go into the more fancy log-log scales on my K&E rule (used for raising things to arbitrary powers), but it's kind of expected since almost no slide rules seem to have had them and almost no one would ever need to use one anyway.

This entry was originally posted here, where there are comment count unavailable comments.


This is the first, and hopefully last (at least for a long while) unexpected expensive house thing.

We had the thermostat set to 62, I think, so the heater would keep it warm-ish at night. I came in on Sunday and noticed that there were some little black flecks of crap on the floor in the living room and one of the bedrooms (but only there). They didn't smell musty, more burnt, so I think they were soot from the heater. This isn't great because it means the heat exchanger may be cracked, which is bad (dangerous) for a gas heater. So I shut the gas off to it, and called an HVAC guy to look at it and do an annual maintenance thing, just tell me what was up.

The heat exchanger isn't cracked, but it's also in bad shape. Apparently there are two HVAC systems in the house, one main one and one little one for the den. The air conditioners are old (20 and 10 years, respectively) but the furnaces are ancient, 35 years. So the whole thing needs replacing. I expected this, it was in the inspection report, but I was going to put it off for a year.

The first guy I called, from a company called Dave Lane, was pretty bad. He said he looked at some stuff that he clearly didn't touch, because when I went up there yesterday to clean it it was held shut with tape that hadn't been touched in years. They also quoted me ten to twelve thousand to replace it, with another couple thousand for replacing the ducts.

My realtor is great though, and I got her to recommend me someone. They're coming in Saturday to replace the whole thing for eight thousand, and he says most of the ducts don't actually need replacement.

Anyway, annoying. I was kind of freaking out last night because the house was broken and it reminded me of living in a shitty falling-apart-house as a kid. I was getting really upset by the whole thing, so I think replacing it now is worth it. Sucks a little bit because I didn't expect to have to do it immediately, but I am financing it and the part I'm putting down on it only puts me about $1000 over what I expected to spend on house repairs / changes. Meaning, about $1000 over what the sellers paid of my closing costs to cover repairs / changes.

This entry was originally posted here, where there are comment count unavailable comments.

I don't have a cold any more

So now I have no excuse for not housing.

Yesterday was the roofer. The old owners had made an extension on the roof for a covered patio (pretty much exactly what you just described, Tucker, except no pomegranate tree), but that added a new valley to the roof which made water pool up by the chimney. They raised the roof in that corner so it drains better; it was easily the most expensive thing I have ever paid for on Square. :) I have some pictures. Sorry for potato quality; I didn't take them.

Today I didn't wake up before my alarm, for the first time in weeks. I went to the house, replaced one light switch, hung around while the cable guy did his thing, and put together a wire shelf and loaded it with some board games. Also did some minor door maintenance.

The light switches, apparently the old owners loved dimmer knobs, because they put them on everything. This means that turning on the lights is kind of a chore, and anyway why would you ever want a light to be dimmer? So yesterday I bought a bunch of light switches, with the intention of replacing most of the dimmers with normal switches (Cassie doesn't mind the dimmers, so the one in her writing room and the one in the hall will stay). I found out that none of the breakers are labeled, so I had to switch the whole house off, but whatever. Other than that it was pretty straightforward.

The door, there were two things wrong with: one, it didn't latch; you could open it by just pushing it in, without turning the knob. What happened there was that the strike plate came loose, one of the screws worked its way out, and nobody noticed and kept slamming the door on it. So part of the wood there is pretty shattered. I was able to hold it on with just one screw, so now it latches, but it's pretty crappy, I need to work out a better way to fix it. The internet says "fill the hole with JB Weld and drill a new everything" which seems plausible.

Cable though, that went perfectly. The outlet is replacing the old AT&T one, and it's right where I wanted it to be, behind the TV. There's a cable running directly from the pedestal (serves the whole block) to my modem, so in a first time occurrence for me there was actually too much signal; he had to put in a splitter to nothing just to make it work. So I have really fast internet there now.

The plan now is, have most everything moved by the end of next week. Cassie has next week off (spring break) so I'm going to pack stuff into boxes and stack them in my room, she'll move the boxes during the day, and I'll pack more / unpack (to reuse the boxes) at night. Then next weekend we can borrow her father's truck.

Surprisingly, I kind of love fixing things on this house. Which is probably a good thing. But this is why I've only moved like five boxes; every time I go over there I end up fixing something instead.

This entry was originally posted here, where there are comment count unavailable comments.