(picture: The line at Staples shortly before it opened on Black Friday, it extended further than you can see here)
“Regression” is a term for a specific type of programming bug: A bug that is introduced into something that had previously worked. It’s also apparently a pretty popular type of bug, because even large, well-maintained projects have them: the OLPC software has a long list of regressions (and they’re shipping anyway – most of them aren’t big problems), and Firefox just released version 22.214.171.124 to fix a (cosmetic) regression in 126.96.36.199 (a security patch release which you should already have if you use Firefox).
Most of the time, regressions should be caught by unit testing, but for some reason weren’t. (This is one reason I don’t like unit tests much at the moment: if you know about a problem enough to test for it, you should be able to avoid it in your code.) But to me, regressions are pretty much a major reason for code segmentation: write one function that does one thing, and combine them to do other things. It should be reasonably easy to determine what inputs and outputs each function gives, and if it isn’t, that’s what JavaDoc, JSDoc, and others are for.
Overall, I really have to think that most regressions could be avoided by having enough simple functions doing well-defined things. However, that isn’t always possible or feasible, which leads to problems. Because the regressions that could easily be tested for usually are, that makes new regressions even harder to nail down, which is one of the reasons they’re so hard to fix. My only bit of advice if you’re trying to fix them is to nail down which changeset caused the problem, and investigate every part of that for how it affects other things.
(Picture: The people at Staples in Lafayette, IN by 5:00 on Black Friday)
So, I spent some of my free time over the last few days (not much though) working on a quick overview of how to do regressions and data plots on a TI-83, TI-83+, or TI-84 for science people who haven’t used a graphing calculator much.
If anyone’s interested, you can find it right here. It’s an interesting problem trying to balance the amount of information to give with the desire to not over-complicate things. Hopefully it ended up okay. (If you’re looking at it, the button texts (“[2ND]”) are supposed to be links that will show the location of the button on the calculator, but I haven’t done that yet, so the links go nowhere.)
I suppose the idea is that it could be possible to write a series of tutorials for how to do some of the more simple things on the calculator and post them in one spot. If anyone’s interested in helping out, leave a comment. Also, if you have any suggestions for what I’ve got now or future formatting, please leave a comment as well. Thanks!
So, I (along with a bunch of other people, apparently) got an email today updating me on the status of the OLPC G1G1 laptops.
Your donated XO laptop will soon be delivered into the hands of a child in Afghanistan, Cambodia, Haiti, Mongolia or Rwanda. In one of our recipient children’s own words, “I want to thank you people because you had given us the laptop and I love it so much.” Your generosity will make a world of difference in these children’s lives, and in the future of their respective countries.
Thanks to your early action, your XO laptop is scheduled to be delivered between December 14 and December 24. Our “first day” donors are our highest priority and we are making every effort to deliver your XO laptop(s) as soon as possible. We will send you an update upon shipment.
To me, that’s pretty good news. I hadn’t really expected to get the laptop terribly early in December, so having a week-and-a-half timeframe helps greatly to make me less anxious about when it’ll arrive. It does look like there is indeed a benefit to ordering on the first day, so I’m glad I managed to do that. It also looks like the promised laptops will also make it to children in other countries soon, which helps assuage fears that perhaps the money would go into a “general operating fund” (which wouldn’t be bad, but it’s nicer to know that a specific child was helped, rather than the organization in general).
So, since a fellow blogger managed to spark a discussion about the benefits of Physics vs. Chemistry, I figured I’d weigh in. (more…)
So, after listening to The Final Countdown (it’s a good song, but overplayed) for what has to be the 30th+ time in gym today (30+ times total, not today) , followed by the Mortal Kombat theme (why?) and then some mildly annoying rap songs, I wondered what other people listen to. Most of the people I talked to (captive audience during a run if you keep up with them) didn’t seem to like the music. Then again, I talked to what one might call the “less athletic” group of people. Some of the “more athletic” people seemed to like the rap. (more…)
OLPC XOs are apparently shipping at the beginning of December.
Estimates are that there are about 5,000 XO pairs being ordered every day. (That, or half that number. It’s a bit ambiguous.) The factory will produce about 15,000 laptops a day when it was opened, at the beginning of November. They claimed they’d ramp up production soon. They’d better: That’s one month for every day and a half of XO orders.
Speaking of which, the XO Give 1 Get 1 program has been extended through the end of December. If you haven’t yet, go over there and give one. Then you can get one, at some point.
Hopefully I’ll get my XO soon, since I ordered it on the first day and orders are being shipped on a first come-first serve basis. Still at least a week to wait either way though.
So, we got the rebates mailed today. 8 weeks, they say. I suppose we’ll see. I wonder how much interest they could make on the money they keep for two months before sending out the rebates. (Yes, I know it’s less than two months, most of the time.) And that’s not even counting people who don’t send them in.
Well, the two things that are technically mine (and not Christmas presents for me) got tried out today. 4GB SanDisk USB drive? Works just fine, after getting U3 off. About that…
- U3 is annoying. It acts as an autorun CD when put into any Windows computer, so if you forget to hold down shift, it runs its own software that I basically never use, and always takes forever to start.
- It appears as a CD and drive on Macintosh, but the CD isn’t readable by MacOS, so you get a warning.
- It takes up space on the drive that I could be using.
- It doesn’t do anything a properly made portable app can’t do. (See Firefox Portable, GIMP Portable, etc.)
The good news is that now the drives are coming with the uninstall software on them. So you don’t have to go to the U3 website and fill out a questionnaire as to why you don’t want their bloatware on your drive before you can actually take it off. They’re learning, slowly.
The APC Back-UPS ES 550? Seems to work nicely. I plugged it in and it claimed it was 84% charged, so I let it get up to 100% (supposedly) and pulled the plug. 104 annoying beeps later (approximate, but I believe that’s right), the server’s properly shut down and it’s out of battery. The only problem? That was only 10 minutes. It’s supposed to last much longer (at least double that), as I don’t even have a monitor plugged in. Something’s strange. I’m going to let it actually charge for the suggested 16 hours, and then see what happens. I’m guessing it’ll work fine. (That was the case with my Back-UPS 750, so I’m guessing it’ll be the same here.)
Okay, so I managed to get pretty much everything I went for and more:
- 2 GB SD card
- 4 GB USB drive
- 550 VA APC UPS
- Bluetooth headset
- Norton 360
And it was pretty easy, too. Left just 1.5 hours before the store opened, got everything without problems. Even visited a few other stores and got some things at better prices. I even managed to fill out all the rebates already. Whee!
So, what’d everyone else get?
So, today was Thanksgiving.
So, today I stumbled upon Framework, a rather interesting weekly show out of England. I’ll have to warn you that you probably won’t find it terribly enthralling. It’s more the ambient-background type of thing. It’s basically a compilation of a bunch of “field recordings” of basically ambient noises – traffic, birds, water, machines, whatever. They’re in about 3-10 minute chunks, overlaid to form an hour-long “show” each week that makes for decent background noise. I downloaded the four most recent weeks’ shows. Haven’t gotten a chance to finish them yet, but so far they’ve made for good nonverbal background for reading/writing/programming.
The website that hosts Framework’s website and mp3 files is SoundTransit. If you go there, I’d recommend taking a look at the Search page first, though you may find the Transit page interesting as well. It’s a collection of audio, somewhat like that in Framework (from waves on a lake to blast furnaces to slot machines), tagged not only with what it is, but also with where it’s from. Everything there (hundreds or thousands of 1-5 minute clips) is free, licensed under a cc-by license. You can even sell things you make with them, as long as you give credit to the person who recorded the sound. I thought it was a very interesting “stock photography” website done with sounds. It’s got a smaller audience, admittedly, but still: it’s interesting. I guess that makes it stock phonography. The travel page essentially lets you “travel” from one location to another across the globe by listening to ambient sounds along the way. It’s actually a really interesting way to explore the available sounds, and, I suppose, the world in general.