
(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 2.0.0.11 to fix a (cosmetic) regression in 2.0.0.10 (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.
Andy Schmitz

(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!
Andy Schmitz

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).
Andy Schmitz

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.
Andy Schmitz

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.)
Andy Schmitz
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?
Andy Schmitz
So, today was Thanksgiving.
(more…)
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.
Andy Schmitz
So, I’m pretty much not really feeling like writing much tonight. Just finished writing two pages of explications for poems for CWLT. That class is interesting, but has some pretty strange/annoying/long homework at times. (I did John Donne’s “A Valediction: Forbidding Mourning” and George Herbert’s “Easter Wings,” if anyone’s interested.)
Oh, I got reminded today of the game that I made as part of a group project for the advanced Language Arts/ReaDing class this website is named after. I’ll try to dig that up and post a copy at some point, if possible. I have a few guesses as to where I could find it, hopefully it’s still there (and still runs). It was really really amusing to go through and play, if I recall correctly. (Probably not for anyone else though, because it was more the “Wow. I did what? When?” kind of amusing.)
Here’s hoping for a good day tomorrow - the last school day before Thanksgiving. (Also, why is it not a full day if periods are like 5 minutes shorter? Just make it a full day. And why is everyone acting like it’s entirely different? It’s just an hour shorter overall - few people think late arrival Thursdays are anywhere near half-days, but they’re closer than this. I suppose the ending early must be the difference.)
Andy Schmitz
So, according to my 8th period class, I dress like a stump sometimes. (more…)
So, it looks like there’s a surprising amount of noteworthy stuff going on in the cryptography community at the moment.
First, Bruce Schneier points out a paper from Dan Shumow and Niels Ferguson (PDF warning) (at CRYPTO 2007) that indicates it’s possible that the NSA (or the NIST, or someone) has inserted a backdoor in a newly standardized random-number generator that makes it possible to predict its output. (Actually, to know its output, if I’m understanding correctly.) That means that any randomness used for cryptography is completely useless if someone knows the secret numbers, which is at least plausible. In short, don’t use “Dual_EC_DRBG”. Or, if you absolutely have to, change the constants.
Then, Adi Shamir notes that a single unknown flaw in a math processor on a CPU could also break important parts of cryptography if someone finds out about it (and is able to preform a known-plaintext chosen-plaintext attack). Of course, he’s not saying one exists, and I’m not sure why that came out now as opposed to any other time, but it’s interesting nonetheless.
Speaking of Adi Shamir, I’m pretty thoroughly convinced that tossing the modular arithmetic into Shamir’s secret sharing algorithm the way it was intended will give proper, non-leaking results. It looks like the flaw is really just an implementation flaw in the way I was looking at the problem (and the way it was replicated on the Wikipedia). So, while it’s something to look out for if you’re actually implementing the algorithm, it’s not a major problem if you’ve got a working, proper implementation. I’ll try to update my blog post (and the affected Wikipedia article, if it still needs fixing) soon.
Andy Schmitz
So, in Physics, there’s a strange toy. Nobody quite knows where it came from, other than the fact that it came from a new physics teacher. (more…)
So, we had to give our presentations on our roller coasters in Physics today. And we were encouraged to dress up. (We were actually told we’d get points off if we didn’t, which I think is rather crazy, but whatever…)
I think our roller coaster was pretty decent, and our spreadsheet was pretty well laid-out. Unfortunately, we didn’t have a cool Roller Coaster Tycoon 1/2/3 video to go along with it, but that’s okay. I had other things to do, like read two Shakespeare plays for CWLT. (Macbeth and The Tempest)
We did have an interesting surprise in class though. (more…)
So, our school had its annual winter honors assembly today. And I’m still not entirely convinced it was an assembly for the school. (more…)
So, now that my applications are [mostly] done, I’ve had some time to take a closer look at some of my math from UIUC.
I figured out how to use enough of Mathematica to submit the “pre-assignment” (and got 20/20), but doing much more is a bit annoying/hard. Supposedly it gets easier, but I haven’t really worked with it much. There are some tutorial files I’m working though, and those seem to help a bit, but apparently I’m not really supposed to come up with the Mathematica equations, just copy/modify them from the lesson files. Go figure. (more…)
So, I actually got to pay for my OLPC XO today. (My parents were lending me the money until the bank opened.) So now it’s actually mine. When it comes, that is.
And that appears to be anybody’s guess. But in the meantime, you can play around with the emulated version, which is pretty accurate (if perhaps a bit more speed than the production machine).
Looking around Sugar, it looks like it’s going to be a really interesting experience. Hopefully it’ll make sense without a bunch of other XOs around it (some of the activities are collaborative, after all), because I don’t really know anyone else who’s getting one (nearby, anyway).
I’m really not looking forward to looking forward to getting the XO though… I don’t really like the whole anticipation thing. Hopefully I’ll manage to get it before Christmas.
Andy Schmitz
So, it’s officially that time. (And has been so for a few hours.) If you’re interested in getting an OLPC XO, now’s the time. http://www.laptopgiving.org/ is the home page for the OLPC Give 1 Get 1 program
I wrote a quick overview comparing it to the iPod Touch, and I decided to get an XO. I think it’s the right decision. We’ll see, I guess.
Anyway, I ordered mine about two hours ago. It’s $399 plus shipping ($24.95), which really isn’t a bad deal for two laptops. (Well, you only get one, but someone else gets one too.) $200 is even tax-deductible, so that’s cool.
I don’t actually know anyone else getting one though… Let me know if you’re getting one, and I’ll link to you/mention it.
It’d be neat to actually see what happened if several of them got together, to test the mesh networking and such. I’ll be having lots of fun poking around at the software either way.
Andy Schmitz
So, this is an interestingly complicated issue that’s discussed in GNUCITIZEN’s blog in a lot more detail (1, 2, 3), but I’m posting it here in case someone finds it of interest. (super-executive summary: Bad things can happen with JavaScript due to some things nobody thought about too much.) (more…)