lardbucket: blog


FABridgeC: A smaller FABridge

Filed under: Open Source, Programming — Andy @ 12:31 pm

I was working with some JavaScript libraries this week, and happened to have a use for Adobe’s Flex Ajax Bridge (also known as FABridge). However, I’m trying to work with Closure, and the most common FABridge.js is a rather large 18 KiB that doesn’t really work very well with Closure’s compiler.

So, I took a few hours to go through and make it work with Closure, and then to make it work compiled outside of Closure in case anyone else wants a smaller version of FABridge. I’m calling the result FABridgeC, and you can read more about it on the project’s GitHub page. For most users, this is a minified FABridge.js (or if you prefer Closure’s terminology, a compiled FABridge.js) in just 5.4 KiB that can be dropped in instead of FABridge.js, and should work in exactly the same manner as the original for almost everyone. (There are a few minor caveats explained on the project page.) If you’re using FABridge at the moment, try dropping it in place of your existing FABridge.js, and let me know how it goes!

Feel free to send me a message via GitHub (I’m aschmitz, the repository’s owner) or leave a comment here with any questions, problems, or other comments.

Andy Schmitz


Testing Help?

Filed under: General — Andy @ 11:30 am

I’m working on a program that will let users of TI-84+ or TI-89 Titanium calculators see their calculators on the computer screen, and take screenshots. (If you have a TI calculator that has a USB port and  isn’t an Nspire, you’ve probably got one of these.)

Right now, it runs on the Mac only (although that will hopefully change in a while). It works on my Mac, and at least one other, but I’m looking for one or two more test cases. If you have a TI-84+ or TI-89 Titanium, a USB cable that will plug into it and your computer, and one of the following computer setups, please give me an email at so I can send you a copy and see if it works. The whole process of testing it out should only take a minute or so.

I’m looking for:

  • Mac OS X 10.5 (Leopard) on a PowerPC processor

If you’re not sure what operating system or processor you have, just click on the Apple menu in the upper-right corner of your screen, and click “About This Mac.” Your version of OS X will be displayed (I’m looking for anything that begins with 10.5), and your processor will be shown as well. Please let me know which version and processor you have when you email me, so I know which one you’re testing.


Andy Schmitz


Announcing scavhunt

Filed under: Open Source, Programming, School, Technology — Andy @ 5:48 pm

Since the end of Dan Meyer’s SLV SCAV, it’s been in the back of my mind to get the source code available to more people, and there was at least some interest from others about running their own copies.

As a result, I took the time to go through the code, remove any references to the school, students, or teachers that I could find, and generally cleaned the code up for release. I changed the name to “scavhunt,” and made a working version that I can release. I’m happy to say that the code is now available as open source (AGPL v3), from GitHub as scavhunt.

Unfortunately, I haven’t yet had the time to properly document things. As it is, if you pull the code down (either use git if you’re comfortable with it, or download a tarball/zipball with the “Downloads” button in the upper-right corner of the GitHub page), it should be a working scavenger hunt, although a bit sparse. There are a number of files you should modify, and some directories that need to be writable by the web server, but those are all documented on the file (and also on the GitHub page for the project). It comes with two example questions as a basis for writing your own, although additional question types exist in the code as well.

So, the code is now available for your use, however you see fit (as long as it complies with the AGPL v3, which is pretty relaxed in terms of usage). If anyone has any questions, feel free to contact me at andy [dot] schmitz [at] gmail [dot] com, or potentially file an issue on GitHub (although I’m new to GitHub, so it may take me a while to figure out how to respond). Unfortunately, at the moment, I don’t have enough time to necessarily improve the code in the ways I would like to, but I can certainly answer questions and respond to pull requests from those who would like to improve it on their own. Contributing your improvements back would be greatly appreciated. And hey, if you use it, I’d appreciate an email or tweet (@aschmitz) to see where it’s in use.

Andy Schmitz

P.S. This is indeed where the scoreboard movement tracking code came from, so that section is rather well-commented. Unfortunately, the rest is less documented, but hopefully understandable.


Leaderboard with Movement Tracking

Filed under: Hacks, Programming — Andy @ 9:00 pm

In putting together SLV Scav with Dan Meyer, I ended up writing a (relatively) simple script for generating a scoreboard with rankings, as well as the amount the rankings had changed. It looks something like this: (picture from Dan Meyer, names blurred to protect the innocent)

Dylan Faullin asked for more information, so I’m posting most of the relevant code here.



VP8, WebM, and FFmpeg

Filed under: Programming, Technology — Andy @ 8:06 pm

So, today at Google I/O 2010, Google announced that, along with a number of other groups, they were releasing WebM, a video container and codec. (WebM itself specifies the container, which is a variation of Matroska, as well as the video format, the newly-released VP8, and the audio format, Ogg Vorbis.) I won’t get into the technical details of the codec, as I’m not really qualified to do so, but a developer for x264 has a reasonably thorough review of a prerelease version of the code here.

The interesting part of VP8 / WebM is that it is a reasonably good video standard that may be theoretically free to use. (The currently popular “best” video format, H.264, is riddled with patents and requires licensing for most uses, although encoding video that’s available for free doesn’t require payments until at least 20151.) It doesn’t appear as though anybody is claiming that WebM is the best video format available, but it’s reasonably good, and potentially free to use. (It’s impossible to know whether someone else has patented parts of the standard, because that would require examining every software patent ever granted, which is not going to happen.) For some background, the video codec, VP8, was produced by a company named On2 before Google bought them last year. Its predecessors, VP6 and VP7 were used for video in Flash2 and the video in Skype3, respectively.

Most of this will be fairly boring to anyone who normally reads this blog, but if you’re interested in a way to encode WebM videos yourself in Ubuntu, read on.


  1. The press release PDF from MPEG LA, the group licensing the patents for H.264
  2. An Adobe article on encoding video for Flash using VP6. An earlier version of this post claimed VP6 was the original codec for Flash, which is false.
  3. A press release


WordPress 2.9 Image/Media Upload Problems

Filed under: General — Andy @ 4:45 pm

So, as I just spent a half hour fixing friends’ blogs after the upgrade to WordPress 2.9, perhaps this will help someone else if it gets indexed by the search engines:

We were having problems with WordPress thinking that it was accepting uploads of images and trying to display them, but the files didn’t actually exist where they should have, throwing a file not found in the browser. It was a bit weird, because the only errors in the server log were that the browser couldn’t find the file, but the AJAX image editor in WordPress seemed to work. It turns out that somehow the settings got changed. If you’re having the same problem, follow these steps:



For All the People Back on Earth

Filed under: General — Andy @ 12:01 am

If you’re old enough (well, not that old), odds are that you watched this live, or at some point. In what, as far as I can tell, was the first human non-terrestrial Christmas greeting, Frank Borman, Jim Lovell, and William Anders, after noting the lonely view below, read off Genesis 1:1-10, then,

“And from the crew of Apollo 8, we close with good night, good luck, a Merry Christmas, and God bless all of you – all of you on the good Earth.”

And, of course, for anyone who has been persuaded otherwise, just under three hours later, after performing the Trans-Earth Injection on the far side of the moon, Lovell reported back, “Please be informed, there is a Santa Claus.” (Houston / Mattingly accepted the information, saying, “That’s affirmative. You’re the best ones to know.”)


MIPS and spimbot

Filed under: General — Andy @ 2:38 pm

So, the CS232 spimbot competition was today. My partner (Connor Simmons) and I made a robot (actually just a piece of code) that came in second out of 37 (or 38?). It was a rather interesting competition. The page on it that I’ve set up (complete with MIT-licensed source code) is right here.

I remain impressed by the only team to beat us (and their come-from-behind win), whose inventive approach used an attack on the time-based seed of the random number generator to find where the tokens could be placed within the 50 minutes the competition was run. The one-second resolution used as a seed for the random number generator gave a small enough number of possible locations for tokens that they were able to accurately predict where all the tokens would be given just one token’s location. This strategy meant they lost a number of matches (I assume to slow calculations, but I may be wrong), including to our robot, but in the end, they were able to win more often (or by more tokens), so congratulations to them.

Andy Schmitz


The Illinois Basic Skills Test

Filed under: General — Andy @ 3:28 pm

The Illinois Certification Testing System‘s Basic Skills Test is required for admission to any secondary education (high school, middle school) teaching program in Illinois. (Notably, I’m taking it today.) It has 126 questions:

  • 48 Reading Comprehension Questions
  • 42 Language Arts Questions
  • 35 Mathematics Questions
  • 1 Writing Assignment

So, nearly everyone taking the test has also taken the ACT (required in Illinois for high school graduation in most cases). On the ACT, these sets should take:

  • 48 Reading Questions – 42 minutes (48 questions * (35 minutes / 40 questions)) [reference]
  • 42 Language Arts [English] Questions – 25.2 minutes (42 questions * (45 minutes / 75 questions)) [reference]
  • 35 Mathematics Questions – 35 minutes (35 questions * (60 minutes / 60 questions)) [reference]
  • 1 Writing Assignment – 30 minutes [reference]

And yes, they’re about the same difficulty (see: PDF list of tested skills for ICTS Basic Skills Test and the ACT). Having looked through the materials for both, I’d put the ICTS Basic Skills Test somewhere around the middle of the ACT’s level of questions, if a bit toward the higher end in some cases. (I looked mainly at the math questions, but the same seemed to hold for the reading and English questions as well).

So, that’s about 132.2 minutes. So, just over two hours. Say 2.5. Except the ICTS Basic Skills Test gives twice that. 5 hours. To answer 125 questions and write a short (five-paragraph is fine) essay. That just seems wrong. And the Basic Skills Test also allows the person taking it to skip around in the sections as much as they like (so there’s no lost time in waiting for a section to end, which is effectively expected in the ACT).

(Notably, the ACT’s “Services for Students with Disabilities” gives time-and-a-half testing as their standard extended time solution. The Basic Skills Test default is more than time-and-a-half, and also allows time extensions for test takers with disabilities.)

Somehow, it seems as though the Basic Skills Test doesn’t really do anything. It’s effectively “easier” than the ACT for most (all?) students who got into a college, so adding it as a requirement makes little sense. A “passing” Basic Skills Test is 240 out of a scaled 100-300 score, with lower minimum requirements on each section.  It’s unlikely to be scaled in the same way the ACT test is (which actually is scaled from 1-36 as far as I can tell, although few students score below an 11), but if it were, that would be equivalent to roughly a 24 on the ACT, assuming a quick Google calculation was correct. However, I would also say it’s easier to do well on the basic skills test, with the extra time and fewer types of questions, not to mention at least an extra year of knowledge.

Does anyone else see any value in this? I assume (but haven’t verified) that there are additional qualifications once one wants to actually get certified to teach (rather than simply to learn how to), so is there any reason for this requirement? I’m also not particularly happy that the website for such a supposedly impartial (and necessary) test is listed as “Copyright © 2009 Pearson Education, Inc. or its affiliate(s).”

Andy Schmitz


Notes: Time, USPS

Filed under: General, Hacks — Andy @ 4:30 pm


For some reason my computer’s clock got set a good 12 minutes ahead. I’m not exactly sure why, but it appears to have happened around a restart, perhaps due to a hardware clock that’s off, and the NTP daemon didn’t correct it. To manually reset the time based on a time server in Ubuntu, run

sudo /etc/init.d/ntp stop
sudo ntpdate
sudo /etc/init.d/ntp start

If you don’t stop the NTP daemon first, you’ll get “ntpdate[pid]: the NTP socket is in use, exiting”. Notably, don’t do this in a cron job, as ntpd should be enough. (It’s not clear why ntpd didn’t resolve the issue in the first place, but I’m blaming that on some configuration bug.)

BOINC and Time

BOINC seems to have had a bit of a problem with the time shift. (It was normally set at 80% usage, and jumped to 100% with absurd remaining times.) That turns out to be pretty easy to fix:

sudo /etc/init.d/boinc-client restart

And it should be good to go. It may still have some strange estimates for time (it would likely be safer to stop boinc-client before updating the time and then start it afterward, if I realized that would be an issue), but that’ll be fixed after the current workunits complete.

USPS Tracking

If you have a label number for a USPS package you want to track, you can bookmark this URL (obviously, put your number at the end) or keep it open in a tab. It’s not the result of a form submission, so refreshing won’t prompt for a resubmit, and loading the page again won’t ask for the tracking number.[Your tracking number]
« Previous PageNext Page »
My Stuff
Blog Stuff