| repak shawahb | |||||
| people who speak in metaphors can shampoo my crotch | |||||
blogroll |
Thu, 11 Dec 2008 Some of you might have read about this travesty of education. As a concerned resident of Austin, I did my part to help correct this injustice by writing the following letter to the AISD ombudsman: From: "Riad S. Wahby" Bets on whether I get a response? [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Tue, 25 Nov 2008Today I stole a book on ethics. [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Wed, 05 Nov 2008I'm not normally a sentimental patriotic type, but spontaneous anthem choruses at 2a following an amazing and cathartic election night make me go all tingly.
This is the first time I've ever embedded a YouTube video here. Slouching Towards Gamorrah, certes. [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Mon, 15 Sep 2008Last week, Jeff was out of the office on vacation. Since he'd previously pranked Ion, a few of us plotted to even the score. Stretch suggested that we take the MP3-filled 300Gb external hard drive on his desk and replace all the files with some godawful music. We settled on a slight modification of this plan: for each MP3, I took the first 5 seconds of the real song and pasted it onto the front of one of a selection of songs, including
As luck would have it, the first song Jeff chose to play had been stapled to "Never Gonna Give You Up"a dead giveaway to him that something was very wrong. During testing, our favorite combination was "What A Wonderful World" cutting into "Heut' Ist Mein Tag". I learned a few things from this. First, most MP3 players will barf if you give them an MP3 whose samplerate (not the bitrate, the samplerate of the decoded PCM stream) changes halfway through. This includes some versions of mpg123, iTunes, Windows Media Player, and WinAmp; mpg321 seems to work fine. Second, the quelcom package is very nice, comprising commandline utilities to cut and paste together MP3s without reencoding (and WAV files, too); if qmp3cut doesn't like an MP3 file, cutmp3 probably will. Third, id3cp (from id3lib) is very useful when you want to replace every mp3 on someone's hard drive without raising too many suspicions. Finally, in retrospect putting 10-20 seconds of the original MP3 rather than 5 would probably have been a little more effective on the confusion front. [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Mon, 25 Aug 2008Or is it bilunar? Anyway... I haven't posted in a while, so here's what's new with me:
[ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Tue, 24 Jun 2008Here, you happy now? [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Mon, 16 Jun 2008
broken promise of a thousand words
No pictures this time, patient readers. My apologies. Well! We finally taped out the Thursday before last, so I was off all last week catching up with things around the house. The main event was setting up irrigation for my poor parched yard, which involved lots of soaker hose for all the planters and a few impact sprinklers for the grass. I have things divided into two zones on each of the three spigots placed around my house, and as long as I only run one of the two sprinkler zones at a time the water pressure is sufficient to run soakers on the other two spigots. This strongly suggests my next project: none of the electronic timers I've found can be programmed for the odd watering schedule around here, viz., Wednesdays and Saturdays, so I'll just have to build my own. Either I'll make individual ones for each sprinkler, or I'll do a little control interface for some solenoid valves and hook it up to positron. Speaking of positron, that was the other time sink this week: positron Mk. V died a slow lingering death. A couple weeks ago I started getting random lock-ups; figuring it was a heat problem, I reduced the CPU core voltage, and this seemed to work for a while. Unfortunately, it started happening again, and the frequency of occurrences increased to the point where it wouldn't even get through a boot sequence. I swapped video cards, pulled RAM, and even swapped the processor (since I found one for $20ish), to no avail. My last effort was replacing the power supply, since I figured if I had to replace the motherboard I'd need one anyway. Fortunately, Fry's had a sale on the Antec Neopower 500 (for $65, no less!). Unfortunately, the new supply did nothing, but that just meant that I had an excuse to build positron Mk. VI. Initially I really liked the abit IP35-Pro, but decided that spending that much on a motherboard wasn't worth it unless I was actually planning on running a FSB upwards of 500 MHz. Instead, I ended up getting a DFI LanParty DK P35-T2RS, which is a reasonably priced board that's another favorite for dual and quad core overclocking. Since I'm kind of cheap, I only sprang for an Allendale E4600, which should overclock by 30% with relative ease; I figure by the end of the year quads will be even cheaper and I'll trade up. I also picked up 4 Gb of RAM (a new personal best!) and a reasonably-priced GeForce 8800 GT board (thanks for catching me up on the NVidia chipset line, Wikipedia). For now, Mk. VI will inherit Mk. V's RAID array, and yes, I'm still running Mk. III's 18 Gb IBM Wide Ultra2 SCSI drive as the boot drive. Pretty soon I'll go to a small (30ish Gb) 10k RPM SATA drive for the boot and get four 500 Gb SATAs for a new RAID5 array. Since I'm talking about positron, I think it's time for a retrospective:
Just brings a tear to your eye... [ permalink | 2 comments ] writebacksJW Holloway wrote Such is life... May wrote Fri, 30 May 2008 Phew, busy! It's tapeout season, so layout is life, and life less than layout. A couple weeks ago one of the Pipevine Swallowtail caterpillars made his chrysalis on the frame of the porch door. I couldn't resist taking him inside and painstakingly hanging him with dental floss and tape from a piece of cardboard that I perforated and cut to fit in place of a mason jar lid. Well, last night my "hard" work paid offhe emerged! (Yes, "he," I checked the markings.) I know, this thread is worthless without pics. Sue me, my real digital camera wasn't charged and my phone has no flash, so taking pictures of him at night before letting him outside for his wings to dry wasn't happening. Second... virtual insanity. Okay, not really, but another animal! Well, two, kind of. My younger sister moved to Austin, so she's going to stay at my house at least for the time being. With her came Hank, who is now Shockley's new best friend. I'll get pictures of them playing ASAP. The other new animal was, erm, unexpected. Katherine and I talked a long time ago (before we got Shocks) about getting another cat, specifically a Turkish Vana crazy swimming cat! Of course, we decided to get Shockley instead, so that never materialized. Well, a few days ago I was just randomly browsing through the Town Lake Animal Center website and was astounded to see that someone had turned in a Turkish Van! It turns out that her elderly owner had died and passed the cat to one of her children. Unfortunately, they didn't want the cat because the kids were allergic, so they brought it to the shelter. Well, I figured I'd just go down and see this cat, mostly to meet one in person lest I decide in the future to get one. Upon further inquiry, it turned out that she'd already been there a month with absolutely no interested visitors (it's kitten season; everyone's going for a baby), and she was sad and emaciated. Long story short, she was super friendly and polydactylic (6 toes all around) and I'm a huge sucker. Oh yeah, and TLAC has to kill about 70% of the animals that end up there due to over-crowding. We decided to name her Inara because the breed is from a region of Turkey that was ruled by the Hittites at one point. Also because we're nerds, Firefly is awesome, and Katherine insisted that Mnemosyne was too clumsy. I'll have more pictures up later; for now, here's her shelter portrait: ![]() [ permalink | 2 comments ] writebackslovely-1 wrote Re: Pipeline Caterpillar rsw wrote pipevine swallowtailsWed, 21 May 2008 Tapeout is getting in the way of entertaining you, faithful readers. Apologies. ![]() Best of friends. ![]() Ninja cat hides in bush. ![]() Why do they have to do it on my porch? writebackjim wrote Wed, 23 Apr 2008 ![]() [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Wed, 16 Apr 2008See, he can stand up: ![]() "I know kung fu." ![]() "Show me." ![]() pwned writebackChristine wrote Sun, 30 Mar 2008 New pictures of the little one: ![]() Loving that pig's ear. ![]() Tired after herding the soccer ball. ![]() What? I ain't sayin' nothin'. [ permalink | 3 comments ] writebacksjim wrote apparently May wrote
hippo wrote Mon, 24 Mar 2008 I got the puppy Saturday as planned; he's adorable and very smart. In the end the names came down to Shockley or Tycho, and I decided to go with Shockley despite Katherine's preference for Tycho. I'm not 100% sure yet, but I'm leaning towards feeding him a raw diet because it's better for him, I have backyard space in which to feed him, and he doesn't seem altogether impressed with dry food at the moment. Meanwhile, the cats are divided in their reaction. Anya is just pissed that we brought another thing into her territory (especially at me, because I'm the one who carried him into the house). If I go near her she'll grumble audibly, and if I pick her up she'll yowl and even hiss. She's not actually all that scared of him: she walked right up to him and sniffed him before deciding he was the enemy. Dinah, on the other hand, is a bit more affectionate since we brought the dog home, presumably in a bid to keep our attention. Meanwhile, she seems like she's trying to work up the courage to play with him. My guess is they'll eventually be best buds. [ permalink | 2 comments ] writebacksSherv wrote might want to consider this first: rsw wrote Thu, 20 Mar 2008 This Saturday I'm finally going to exercise one of the privileges of having a fenced back yard and my own house: I'm getting a puppy! That's him on the right. He's a Pembroke Welsh Corgi and is 8 weeks old today. Though I'm not 100% on the name yet, I believe the leading candidate is Shockley (especially since this has been my planned dog name for approximately forever). Other possibilities include Ampere, Faraday, Heaviside, and Rayleigh. Also, since he's Welsh, I'm considering Aneirin. Katherine has suggested Thorin (since "Corgi" is believed by some to be derived from the Welsh phrase for "dwarf dog"), Panama (imagine yelling after your dog in your best David Lee Roth impression), and Goro, but I'm not particularly partial to any of them. Obviously I'll post more pictures as soon as they're available (hopefully ones where he looks less like Tommy Chong after a bender). In the meantime, please cloud the name issue with more suggestions! [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Sun, 16 Mar 2008
can you back it up? no, no, that box... back it up
After a hard drive crash scare on proton (my colo machine) earlier this week (no data lost, fortunately!), I decided it was time to get serious about regular backups. I did a bit of research and initially settled on Bacula, but because of licensing issues the Debian packages do not link to OpenSSL. This means that I can't encrypt even the handshaking, let alone the data transfer, between client (proton) and backup server (positron). After a little more searching, I found BoxBackup, a solution geared towards backing up across a WAN. It uses SSL/TLS authentication: the server has a signing key and clients must generate keys and then have them signed with the server key before they can connect. On top of that, each client has another key it uses to encrypt the data it stores on the backup server so that it's transmitted and stored securely, and clients can be sure that their data is secure even from the backup server's admins. Setup was a breeze (somewhat simpler than Bacula, though neither is particularly difficult), and while the initial 1.6Gb of data was somewhat unpleasant to transfer over my DSL connection, I expect that the incremental change data should not unduly load my network connection. Now go set up your backup server already. [ permalink | 2 comments ] writebacksjim wrote
Riad wrote the difficulty depends...Wed, 05 Mar 2008 or, Precinct Captain Sam(ir) Yesterday was primary day here in Texas. Most of the time the primary results here are meaningless, but this year the Obama-Hillary race is hot and every delegate counts. Thus, I was determined to do my civic duty and vote. Early in the morning, after dropping Katherine off at her lab, I headed to the middle school near my house that served as the voting place for my precinct. Unfortunately, when I got to the head of the line, it turned out that I was still registered in a different precinctthe one I'd been in last election, a 20+ minute drive away. I determined that I'd go vote around 6:00p and wait around to take part in the caucus at 7:15p (yes, Texas has both). I arrived at the polling place around 6:30p, well in time to get in the doors (which closed at 7:00p) and vote. Since there were only three voting machines, the people who were in the voting place at 7:00p took until almost 8:00p to finish their voting. After that, we waited for over an hour before they were finished "closing the books," as they told us. Apparently some time during that hour they got scared that the 150 people waiting around to caucus would get rowdy, because 6 police officers showed upyou know, to keep the peace. Now it got interesting. The dude came out with the caucus folder and asked who the Precinct Chair was. Turns out, there was no precinct chair, at which point it became rule of the unlamein this case, me. After appointing a Secretary pro tempore, deputizing a bunch of people to run the sign-in sheets (despite starting almost 2 hours late, we still had over 100 people caucusing!), and getting everyone organized and signed in, I explained the process of the caucus meeting to everyone and (as prescribed by procedure) called for the election of a new Chair and Secretary. Now, whereas I was pro-Obama and our temporary Secretary was pro-Clinton, the roles switched: the Chair was a Clinton campaign volunteer (who turned out to be a nice guy once he calmed down a bit) and the Secretary was pro-Obama. Such was the tone for the rest of the meeting: I worked through the sign-in sheets checking voter ID numbers, counted the votes, and computed the delegates, all with oversight from the Clinton camp. Then a Clinton person independently verified my results with oversight from an Obama supporter. Things got a little hairy because we couldn't verify the identities of two of the people who had signed in, but I moved successfully that we compute everything with and without those two votes to determine if it made a difference in how the delegates were assigned. If it did not, we resolved, we would simply count them (to avoid having to go through the process of striking votes) and proceed. Luckily, the delegates were the same by both counts. Finally, we got to the fun part: picking the 8 Obama and 5 Clinton delegates to the county caucus (plus alternates). By then we were down to fewer than 30 people, so it was really just a matter of determining who wanted to be a delegate and then convincing the rest of the people that being an alternate probably wouldn't actually entail any work. At midnightthree hours after starting the whole processwe'd finished. Who knew that dispensing democracy would remind me so much of running a Random Hall general election? For that matter, who knew Robert's Rules of Order would come in handy when arguing with anyone other than Roger Ford or JHawk? writebackScott wrote Fri, 29 Feb 2008 Tonight I was playing around with Octave et al studying the frequency content of sequences generated by a 16-bit LFSR as a function of its feedback polynomial. Using a random selection from Philip Koopman's list of feedback polynomials that produce maximal 16-bit LFSRs, I generated the corresponding sequence and plotted its FFT in Octave. What I found, effectively, is that more terms in the feedback polynomial whitens the sequence rather substantially. For example, a short feedback polynomial (0x8148) produces the following spectrum: ![]() On the other hand, the spectrum for 0xfff6 looks like this: ![]() This suggests that feedback polynomials with lots of terms are better for dithering sequences. The downside of this, of course, is that each term requires an additional XOR. Fortunately, if you use a Galois LFSR the computation delay is independent of the number of terms. In case you're curious (more or less identical to what's in the Wikipedia article):
#include <stdio.h>
#include <stdint.h>
int main(int argc, char **argv)
{
uint16_t poly;
uint16_t lfsr = 1;
uint16_t period = 0;
if (argc > 1) { poly = (uint16_t) strtoul(argv[1],NULL,0); }
else { poly = 0xb400; }
do {
lfsr = (lfsr >> 1) ^ (-(lfsr & 1) & poly);
printf("%d\n",lfsr);
} while (lfsr != 1);
}
All the data, code, et cetera is also available. writebackAriel wrote Mon, 11 Feb 2008 Over the weekend I finally took the time to code up a little hack to use my AirLinkTek MediaGate MG-35 as the playback mechanism for MP3q. Basically, my solution was to keep the MP3q server running on positron, but to configure the The default MG-35 firmware has no means by which to do this, but the kind folks over at the mg-35_firmware_mods Yahoo! group have a hacked version that runs a telnet server. Naturally, I'm lazy and don't want to assemble a MIPS uClinux build toolchain, so I just had to make In case any of you want it, you're welcome to the whole MP3q shebang. I'm not really interested in providing tech support for it, so probably if you write to ask questions I'll just berate you for not "getting it." Or maybe just ignore you. Something like that. As for strange coincidences: my blog is configured such that it always shows the 25 most recent entries on the front page. As a result, each post bumps an old one off the bottom of the list. Strangely, the post that this one is bumping off the post from a bit over a year ago wherein I mentioned that I had found the MG-35 and was intending to make it work with MP3q. A year of good intentions later, it's quite a surprise I'm not already in hell. [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Sat, 09 Feb 2008So it turns out that my discussion yesterday is (as you would expect) a well known one among those who build digital filters. There is even some terminology to go along with it. The representation of numbers as plus or minus a fractional power of two is effectively canonical signed digit representation, and while my algorithm doesn't explicitly guarantee canonical results, it does so implicitly by minimizing the (log-wise) error in each step. It should be obvious that CSD is more efficient than two's complement at representing numbers, since digits are ternary (0,+,-) rather than binary. [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Fri, 08 Feb 2008
multiplication is hard, let's go adding
I was considering this problem the other day, and while it's simple to arrive at a solution, I rather like my particular solution. Thus: Let's say that you want to implement a digital filter of the form
such that
(this filter is the result of the octave cheby1() function). An obvious way of doing this is to build some number of multipliers and adders to compute each term. But it's also possible to do this with only an adder as long as we are allowed to take time to do it. The way we do this is by expressing the constant coefficients as sums of powers of two and then do shifts and addition on the variables. For example,
.75 is obviously a contrived example, but in general how do I come up with a representation of a number as such a sum? The simplest way I can think of is to express the number in fixed point binary with a chosen precision and then use the bits as a guide. Consider computing .718282 (the fractional portion of e) to 10 bits.
Since I'm using fixed point 0.10 notation, the nth bit from the left represents 2-n. The bits that are 0 are effectively the missing fractional pieces, so I quickly surmise that
(The reason I start with (1 - 1/1024) is because 1 is not actually representable in 0.10 notation; the largest possible number is 1 - 1/1024. If you ignore this subtraction, you will be accurate to 9 bits instead of 10, so you can always just produce the result you want by computing to one more bit than necessary and dropping this correction factor.) This works great! Let's do another one, say, π/4.
Ugh! That is a helluva lot of subtractions. Why so many? Note that .7853982 is just slightly greater than .75, and thus a better way to approximate this would have been to subtract .25 and then start adding small correction factors instead of sticking strictly to subtraction. What we've uncovered is that our initial algorithm, while yielding correct results, is very suboptimal. How can we improve it? Well, in order to get to the desired accuracy in the fewest number of steps, clearly we want to take the biggest chunk possible out of the error term. This implies that we want an iterative algorithm that makes a guess, then computes the error, then approximates the error as a power of two and recomputes the approximation:
Now, running this algorithm to the same precision on π/4 yields
I'm sure there's some way of doing this from the fixed point trickery above as well. Let's call that an exercise for the reader. [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Wed, 23 Jan 2008A couple days ago I gave a talk at the company's technical symposium on a power converter. On one slide, I discussed the classic conundrum of energy loss in charging a capacitor. In my discussion of this, I claimed that even if I have a perfect conductor, the energy loss can be understood as having been radiated away from the circuit because of the (infinite, in the ideal case) speed at which the capacitor E fields change. A member of the audience came up to me after my talk and told me that he disagreed with my summary of the situation, and that instead one need only postulate a resistance in series with the capacitors the limit of whose value approaches zero. I replied that while that model of the circuit seemed a valid one, it did nothing to invalidate my explanation. After a bit of thinking, some digging through my old E&M textbooks, and a bit of calculation, I concluded that I was right, and was determined to prove it. Gautham and Ion suggested that I might also check if anyone had published a paper on this question, since it is such an interesting one, and lo and behold, someone had! (see links below) Here, then, is the response I wrote to the disbelieving fellow: D___ (and cc: recipients, who had a stake in at least parts of the conversation): After our discussion yesterday about the problem of cap-to-cap energy transfer, I took some time to sort out the problem and have concluded that, in essence, we are both correct (literally, the full answer is a linear combination of our claims, though with a rather dissatisfying caveat). The best treatment of the subject in the literature I've been able to find on short notice is from Mita and Boufaida: K. Mita and M. Boufaida. "Ideal capacitor circuits and energy conservation." American Journal of Physics, Volume 67, Issue 8, pp 737-739, August 1999. It's not available for free from their website, but I was able to obtain a copy (along with a note in response and a quick erratum) via the MIT Libraries: http://web.jfet.org/~kwantam/AJP000737.pdf http://web.jfet.org/~kwantam/AJP000576.pdf (quick erratum; see p. 3 of the PDF) http://web.jfet.org/~kwantam/AJP000668.pdf (beginning on p. 3 of the PDF, see comment) In brief, your solution to the problem is one possibility, mine is an alternative one, and they can be combined into a third. The solution comes down to this (and here is the disappointing caveat): in order for the question to be coherent, there _must_ be a resistance or inductive reactance in the circuit; no solution is possible otherwise (note, however, that while there is in fact energy associated with the acceleration of the electrons from one plate to the other, it does not serve to explain the energy loss). So we have two choices: (1) assume electro- and magnetoquasistatic behavior (viz., no magnetization or displacement current), in which case we insert an infinitesimal resistance in series with the capacitors and all energy is dissipated therein, or (2) instead insert an inductance into the circuit, in which case the energy is still fully accounted for, though the resultant waveforms are dependent on the inductance (i.e., the area of the enclosed loop) and its Q. A few comments on what I proposed yesterday, which amounts to the second case: First, a finite inductor Q can be explained either by resistance in the windings or by flux linkage to "the outside world." You'll note that the former is simply a generalized combination of (1) and (2), whereas the latter admits the possibility of a cap-cap loop with precisely zero resistance but which is either magnetically coupled to a parasitic loop or via a lossy medium. If we combine these ideas, we arrive at a fully generalized picture of the circuit: two capacitors, a real resistor, and an ideal transformer with a nonzero magnetizing inductance the secondary of which is terminated on a resistor. We can vary any element with impunity as long as we are careful to keep some nonzero impedance in series with the capacitors. Second, in retrospect I was too quick in agreeing to your claim that as R->0 we can always claim that all of the energy is dissipated therein. While I made some small noise about quasistatic approximations and problems with KCL/KVL, I wasn't rigorous enough in my objection. More properly stated, it is this: as R->0, we have to be careful about when KCL and KVL break down. If R*Ctot becomes very fast compared to l/c (l = length of the loop, c = speed of light), then the resistor no longer explains the power dissipation because at this point we can no longer neglect the inductance associated with the loop (and thus we end up with the generalized combination of (1) and (2) as stated above). So the "discontinuity" at R=0 in my explanation does not exist! Rather, the loss from the resistor is simply dominated at smaller scales by the inductance inherent in the loop. Finally, I claim that while both of us are correct, my answer is more satisfying given the way I posed the question, to wit, a perfectly lossless capacitive circuit unfettered by the restrictions of any quasistatic approximations. In this case, we cannot possibly get around the fact that the loop has some dimension associated with it (else we wouldn't have capacitors, epsilon*A/l et cetera), but I can easily appeal to a "perfect conductor" (rho=0, E=0, H=0) without any restriction on the length of the wires. In a sense, inductance is just more fundamental to Maxwell's equations than resistance. Best regards, -=rsw You should note that the last PDF above also has an interesting writeup called "Fourier transform solution to the semi-infinite resistance ladder." [ permalink | 2 comments ] writebacksjim wrote
rsw wrote Mon, 31 Dec 2007 Here's the final regular season results from the power ranker. I survived Giants stadium, and boy was that a helluva game. Dayum. combined offense defense NWE 100.000 NWE 100.000 IND 100.000 IND 83.550 DAL 85.473 PIT 97.353 GNB 81.437 IND 84.660 TAM 96.165 DAL 81.025 GNB 82.420 NWE 94.391 JAC 69.791 JAC 80.393 SDG 92.502 SDG 69.429 SDG 79.457 PHI 88.679 PIT 63.344 CLE 77.873 GNB 87.723 SEA 61.201 ARI 77.778 TEN 87.319 NYG 60.911 PIT 76.488 SEA 87.184 TEN 60.020 HOU 76.419 WAS 84.996 CLE 59.480 SEA 76.101 JAC 84.807 WAS 55.929 NOR 75.835 MIN 81.655 TAM 54.309 NYG 75.481 DAL 77.984 PHI 49.444 CIN 75.443 KAN 73.306 MIN 47.786 MIN 73.434 BUF 72.526 HOU 46.584 DET 71.618 CHI 70.148 ARI 44.346 PHI 69.812 NYG 69.974 CHI 40.076 WAS 69.787 CAR 69.706 CIN 39.276 CHI 69.706 NYJ 68.327 NOR 38.512 TAM 68.463 SFO 62.909 DET 38.176 DEN 68.353 BAL 60.311 DEN 37.230 TEN 64.535 CLE 57.525 BUF 37.228 OAK 61.328 HOU 57.233 CAR 36.631 BAL 60.510 CIN 54.852 BAL 24.038 MIA 59.189 OAK 54.015 SFO 19.305 NYJ 59.021 NOR 53.580 NYJ 19.274 CAR 58.823 DEN 49.725 OAK 17.474 STL 57.956 ARI 47.336 KAN 17.081 ATL 57.815 ATL 46.960 ATL 15.204 BUF 56.295 MIA 42.650 STL 8.993 KAN 52.336 STL 41.817 MIA 0.000 SFO 50.157 DET 40.666 passing offense passing defense rushing offense rushing defense NWE 100.000 IND 100.000 MIN 100.000 MIN 100.000 NOR 93.634 TAM 89.678 JAC 89.477 BAL 92.623 GNB 92.761 PIT 85.517 PIT 87.538 PIT 79.423 DAL 89.694 MIA 77.027 NYG 87.413 WAS 79.171 CIN 89.081 KAN 74.569 TEN 86.048 TEN 76.518 SEA 87.335 NWE 72.792 OAK 84.324 DAL 74.625 DET 86.265 DEN 69.777 SDG 82.984 PHI 72.964 ARI 86.077 OAK 69.680 PHI 82.648 JAC 72.647 HOU 85.537 JAC 68.830 DEN 81.762 IND 72.441 IND 84.744 NYJ 68.516 WAS 79.345 NYG 70.000 PHI 83.881 TEN 67.531 TAM 79.289 NWE 69.303 DEN 81.794 NYG 63.236 CAR 78.041 ARI 66.994 WAS 79.591 CAR 58.293 NWE 77.795 GNB 63.531 CLE 79.012 PHI 57.981 CLE 76.979 NOR 62.602 TAM 77.258 DAL 57.626 BUF 76.736 SEA 61.745 CHI 77.072 SDG 57.449 BAL 76.636 SDG 60.815 ATL 76.672 WAS 57.438 DAL 75.120 TAM 55.692 STL 75.370 GNB 57.400 NYJ 73.573 CAR 53.090 KAN 74.661 ARI 56.065 IND 71.723 HOU 52.057 NYG 73.790 SEA 52.650 SEA 71.206 STL 47.466 JAC 73.105 CLE 51.635 GNB 69.803 SFO 45.150 PIT 72.632 BAL 50.674 HOU 69.385 CIN 44.750 BAL 72.257 STL 48.888 MIA 69.360 CHI 42.634 MIA 72.118 SFO 47.536 CIN 68.861 CLE 42.156 NYJ 72.025 ATL 46.576 ATL 68.459 BUF 40.356 SDG 71.901 CHI 46.003 STL 68.373 ATL 35.789 TEN 69.872 HOU 42.910 ARI 67.033 KAN 33.719 CAR 66.601 CIN 41.918 SFO 66.693 DET 32.676 MIN 66.389 BUF 41.319 NOR 65.671 NYJ 28.502 BUF 65.115 NOR 33.085 DET 62.578 DEN 21.225 OAK 64.461 DET 25.667 CHI 61.161 OAK 16.510 SFO 58.124 MIN 22.427 KAN 57.096 MIA 10.130 ...and the strength of schedule computation from this week. Note that since New England has San Francisco's 1st round pick, we would have preferred the Chiefs and the Raiders to win this week, but hey, we'll take #7 overall. NWE 16- 0 120-136 (.4687) 120-120 (.5) 120-136 (.4687) 120-120 (.5) IND 13- 3 132-124 (.5156) 129-111 (.5375) 95-113 (.4567) 95-100 (.4872) DAL 13- 3 127-129 (.4961) 124-116 (.5167) 94-114 (.4519) 94-101 (.4821) GNB 13- 3 120-136 (.4687) 117-123 (.4875) 93-115 (.4471) 93-102 (.4769) JAC 11- 5 132-124 (.5156) 127-113 (.5292) 81- 95 (.4602) 81- 84 (.4909) SDG 11- 5 128-128 (.5) 123-117 (.5125) 76-100 (.4318) 76- 89 (.4606) NYG 10- 6 132-124 (.5156) 126-114 (.525) 60-100 (.375) 60- 90 (.4) TEN 10- 6 128-128 (.5) 122-118 (.5083) 70- 90 (.4375) 70- 80 (.4667) PIT 10- 6 116-140 (.4531) 110-130 (.4583) 65- 95 (.4062) 65- 85 (.4333) CLE 10- 6 110-146 (.4297) 104-136 (.4333) 55-105 (.3437) 55- 95 (.3667) SEA 10- 6 106-150 (.4141) 100-140 (.4167) 60-100 (.375) 60- 90 (.4) WAS 9- 7 142-114 (.5547) 135-105 (.5625) 66- 78 (.4583) 66- 69 (.4889) TAM 9- 7 120-136 (.4687) 113-127 (.4708) 59- 85 (.4097) 59- 76 (.437) PHI 8- 8 144-112 (.5625) 136-104 (.5667) 56- 72 (.4375) 56- 64 (.4667) HOU 8- 8 132-124 (.5156) 124-116 (.5167) 50- 78 (.3906) 50- 70 (.4167) MIN 8- 8 129-127 (.5039) 121-119 (.5042) 55- 73 (.4297) 55- 65 (.4583) ARI 8- 8 111-145 (.4336) 103-137 (.4292) 54- 74 (.4219) 54- 66 (.45) CHI 7- 9 139-117 (.543) 130-110 (.5417) 56- 56 (.5) 56- 49 (.5333) DET 7- 9 139-117 (.543) 130-110 (.5417) 46- 66 (.4107) 46- 59 (.4381) CAR 7- 9 134-122 (.5234) 125-115 (.5208) 46- 66 (.4107) 46- 59 (.4381) BUF 7- 9 132-124 (.5156) 123-117 (.5125) 31- 81 (.2768) 31- 74 (.2952) DEN 7- 9 132-124 (.5156) 123-117 (.5125) 47- 65 (.4196) 47- 58 (.4476) NOR 7- 9 123-133 (.4805) 114-126 (.475) 49- 63 (.4375) 49- 56 (.4667) CIN 7- 9 118-138 (.4609) 109-131 (.4542) 38- 74 (.3393) 38- 67 (.3619) BAL 5-11 132-124 (.5156) 121-119 (.5042) 30- 50 (.375) 30- 45 (.4) SFO 5-11 119-137 (.4648) 108-132 (.45) 35- 45 (.4375) 35- 40 (.4667) NYJ 4-12 134-122 (.5234) 122-118 (.5083) 16- 48 (.25) 16- 44 (.2667) KAN 4-12 132-124 (.5156) 120-120 (.5) 30- 34 (.4687) 30- 30 (.5) OAK 4-12 132-124 (.5156) 120-120 (.5) 22- 42 (.3437) 22- 38 (.3667) ATL 4-12 132-124 (.5156) 120-120 (.5) 30- 34 (.4687) 30- 30 (.5) STL 3-13 131-125 (.5117) 118-122 (.4917) 16- 32 (.3333) 16- 29 (.3556) MIA 1-15 138-118 (.5391) 123-117 (.5125) 5- 11 (.3125) 5- 10 (.3333) Merry new year! Have some new code and data (with a bonus, too!) [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Mon, 24 Dec 2007A new feature this week! See strength of schedule analysis, below. Also, note New England's move up the defensive rank this week. Hot. combined offense defense NWE 100.000 NWE 100.000 TAM 100.000 IND 88.436 DAL 88.573 PIT 99.415 DAL 86.782 IND 87.421 NWE 98.846 GNB 80.736 GNB 82.202 IND 96.740 JAC 75.168 JAC 80.541 SEA 95.912 SDG 68.132 SDG 79.225 JAC 91.079 PIT 67.855 CLE 79.111 SDG 90.187 SEA 66.095 PIT 77.233 GNB 83.067 NYG 64.852 NOR 76.276 PHI 82.850 TAM 58.828 ARI 75.498 TEN 80.681 TEN 56.789 MIN 74.401 MIN 80.314 CLE 56.718 SEA 74.212 DAL 78.042 WAS 51.723 CIN 73.818 WAS 77.546 MIN 51.586 HOU 73.814 NYG 71.733 PHI 45.870 NYG 73.599 CHI 69.183 HOU 42.632 DET 73.079 BUF 68.755 NOR 42.057 PHI 70.841 KAN 68.433 DET 41.323 WAS 69.036 CAR 67.810 BUF 40.461 TAM 68.515 NYJ 62.419 ARI 40.166 CHI 68.271 SFO 58.647 CHI 36.059 DEN 68.200 BAL 57.390 CIN 35.342 TEN 65.152 HOU 56.162 DEN 33.238 OAK 61.394 NOR 54.164 CAR 32.540 NYJ 59.973 CIN 53.944 SFO 21.324 BAL 58.677 OAK 53.517 BAL 18.968 MIA 58.019 CLE 49.687 KAN 18.287 STL 57.996 ATL 49.320 OAK 18.168 BUF 57.756 DEN 45.991 NYJ 14.726 CAR 56.270 STL 45.538 STL 10.441 KAN 53.330 MIA 44.466 ATL 10.132 ATL 52.623 ARI 43.372 MIA 0.000 SFO 51.803 DET 40.314 passing offense passing defense rushing offense rushing defense NWE 100.000 IND 100.000 MIN 100.000 MIN 100.000 GNB 94.996 TAM 84.417 JAC 90.704 BAL 85.323 NOR 93.844 PIT 79.103 PIT 89.889 PIT 83.172 DAL 92.275 MIA 78.007 NYG 88.749 JAC 76.069 CIN 88.368 NWE 70.465 TEN 86.960 DAL 74.292 HOU 88.199 KAN 67.352 OAK 84.321 PHI 73.169 IND 86.852 NYG 64.381 PHI 84.133 TEN 69.497 DET 86.829 DEN 63.881 SDG 83.429 IND 69.070 SEA 86.469 OAK 62.337 DEN 81.087 WAS 68.784 ARI 85.763 NYJ 62.214 NWE 79.624 NWE 64.526 PHI 83.088 TEN 60.451 TAM 79.599 NYG 62.889 DEN 82.475 JAC 60.383 DAL 78.509 ARI 62.110 WAS 80.182 GNB 54.503 WAS 78.468 SEA 60.946 CLE 80.169 DAL 53.685 CAR 75.713 NOR 59.875 CHI 78.236 CAR 53.482 BUF 75.323 SDG 59.325 TAM 78.001 SDG 53.170 CLE 74.956 TAM 58.587 STL 76.698 PHI 50.588 BAL 73.695 GNB 57.017 ATL 76.660 WAS 49.755 IND 73.615 CAR 50.521 KAN 75.773 SEA 49.577 NYJ 70.209 HOU 48.562 NYJ 73.624 ARI 49.276 CIN 69.668 SFO 46.378 SDG 73.476 STL 48.063 MIA 69.505 STL 46.176 NYG 73.432 ATL 47.029 STL 69.033 CIN 40.586 BAL 73.400 BAL 46.799 SEA 68.952 CHI 40.244 PIT 72.729 CHI 45.059 ATL 67.304 CLE 40.184 JAC 72.044 SFO 41.995 HOU 66.415 DET 38.006 MIA 71.632 HOU 41.834 ARI 66.105 KAN 37.538 TEN 68.602 BUF 41.179 SFO 65.996 ATL 37.500 CAR 67.101 CLE 41.156 GNB 65.693 BUF 35.123 MIN 67.065 CIN 39.393 NOR 65.288 NYJ 22.827 BUF 66.372 NOR 26.865 DET 63.978 DEN 21.607 OAK 64.299 DET 19.035 CHI 60.565 OAK 14.164 SFO 60.235 MIN 18.631 KAN 57.978 MIA 5.477 ...and a standard strength of schedule/victory analysis. In each column, the second ratio is strength of schedule excluding the team in question. SoS SoV incl excl incl excl NWE 15- 0 102-123 (.4533) 102-108 (.4857) 102-123 (.4533) 102-108 (.4857) IND 13- 2 113-112 (.5022) 111- 99 (.5286) 88-107 (.4513) 88- 94 (.4835) DAL 13- 2 110-115 (.4889) 108-102 (.5143) 88-107 (.4513) 88- 94 (.4835) GNB 12- 3 106-119 (.4711) 103-107 (.4905) 81- 99 (.45) 81- 87 (.4821) JAC 11- 4 117-108 (.52) 113- 97 (.5381) 75- 90 (.4545) 75- 79 (.487) SDG 10- 5 116-109 (.5156) 111- 99 (.5286) 66- 84 (.44) 66- 74 (.4714) NYG 10- 5 108-117 (.48) 103-107 (.4905) 54- 96 (.36) 54- 86 (.3857) PIT 10- 5 102-123 (.4533) 97-113 (.4619) 60- 90 (.4) 60- 80 (.4286) SEA 10- 5 94-131 (.4178) 89-121 (.4238) 55- 95 (.3667) 55- 85 (.3929) TEN 9- 6 107-118 (.4756) 101-109 (.481) 52- 83 (.3852) 52- 74 (.4127) TAM 9- 6 106-119 (.4711) 100-110 (.4762) 53- 82 (.3926) 53- 73 (.4206) CLE 9- 6 97-128 (.4311) 91-119 (.4333) 45- 90 (.3333) 45- 81 (.3571) WAS 8- 7 122-103 (.5422) 115- 95 (.5476) 49- 71 (.4083) 49- 63 (.4375) MIN 8- 7 114-111 (.5067) 107-103 (.5095) 51- 69 (.425) 51- 61 (.4554) PHI 7- 8 131- 94 (.5822) 123- 87 (.5857) 47- 58 (.4476) 47- 51 (.4796) DET 7- 8 118-107 (.5244) 110-100 (.5238) 43- 62 (.4095) 43- 55 (.4388) BUF 7- 8 115-110 (.5111) 107-103 (.5095) 26- 79 (.2476) 26- 72 (.2653) HOU 7- 8 114-111 (.5067) 106-104 (.5048) 37- 68 (.3524) 37- 61 (.3776) NOR 7- 8 108-117 (.48) 100-110 (.4762) 45- 60 (.4286) 45- 53 (.4592) ARI 7- 8 102-123 (.4533) 94-116 (.4476) 48- 57 (.4571) 48- 50 (.4898) CHI 6- 9 126- 99 (.56) 117- 93 (.5571) 45- 45 (.5) 45- 39 (.5357) CAR 6- 9 119-106 (.5289) 110-100 (.5238) 35- 55 (.3889) 35- 49 (.4167) DEN 6- 9 118-107 (.5244) 109-101 (.519) 38- 52 (.4222) 38- 46 (.4524) CIN 6- 9 109-116 (.4844) 100-110 (.4762) 32- 58 (.3556) 32- 52 (.381) SFO 5-10 103-122 (.4578) 93-117 (.4429) 32- 43 (.4267) 32- 38 (.4571) KAN 4-11 119-106 (.5289) 108-102 (.5143) 28- 32 (.4667) 28- 28 (.5) BAL 4-11 114-111 (.5067) 103-107 (.4905) 18- 42 (.3) 18- 38 (.3214) OAK 4-11 113-112 (.5022) 102-108 (.4857) 20- 40 (.3333) 20- 36 (.3571) NYJ 3-12 122-103 (.5422) 110-100 (.5238) 12- 33 (.2667) 12- 30 (.2857) ATL 3-12 117-108 (.52) 105-105 (.5) 18- 27 (.4) 18- 24 (.4286) STL 3-12 116-109 (.5156) 104-106 (.4952) 15- 30 (.3333) 15- 27 (.3571) MIA 1-14 122-103 (.5422) 108-102 (.5143) 4- 11 (.2667) 4- 10 (.2857) New data and code. [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Tue, 18 Dec 2007Only a couple weeks until James and I get our asses kicked at Giants stadium. I am psyched. combined offense defense NWE 100.000 NWE 100.000 PIT 100.000 IND 87.299 DAL 88.799 TAM 98.917 GNB 86.205 IND 85.330 IND 92.640 DAL 84.669 GNB 83.911 NWE 91.703 JAC 73.349 CLE 79.743 SEA 87.818 PIT 65.448 SDG 78.730 GNB 86.782 SDG 65.237 JAC 76.365 JAC 85.521 TAM 63.496 NOR 75.080 MIN 82.794 SEA 62.470 PIT 73.759 SDG 81.548 NYG 61.005 HOU 73.652 PHI 81.290 CLE 60.814 ARI 73.544 WAS 75.354 MIN 55.584 MIN 73.393 TEN 73.470 TEN 54.100 CIN 73.356 DAL 73.289 WAS 47.508 SEA 72.628 BUF 72.923 NOR 46.339 DET 71.634 NYG 70.644 HOU 46.132 DEN 70.123 KAN 68.614 BUF 43.938 NYG 69.883 CAR 64.580 PHI 41.405 TAM 67.885 CHI 62.336 DET 37.476 PHI 67.054 OAK 60.647 DEN 36.905 TEN 65.821 HOU 58.949 ARI 36.097 WAS 65.813 NOR 57.761 CAR 35.233 CHI 64.574 BAL 57.481 CIN 31.052 OAK 61.390 NYJ 57.050 CHI 29.838 NYJ 60.897 SFO 55.682 BAL 21.616 BAL 59.430 ATL 49.940 KAN 20.910 MIA 58.659 STL 49.883 OAK 20.819 CAR 55.887 CIN 49.634 NYJ 16.381 BUF 55.583 CLE 47.292 SFO 16.207 STL 55.171 ARI 44.356 ATL 12.770 KAN 51.503 DEN 44.241 STL 12.403 ATL 49.489 MIA 43.679 MIA 0.000 SFO 49.243 DET 38.718 passing offense passing defense rushing offense rushing defense NWE 100.000 IND 100.000 MIN 100.000 MIN 100.000 GNB 95.962 PIT 79.472 JAC 87.437 BAL 89.156 NOR 92.751 TAM 79.025 PIT 87.391 PIT 82.301 DAL 91.153 MIA 75.957 TEN 85.633 JAC 76.632 CIN 89.608 NWE 65.958 OAK 82.962 DAL 71.052 DET 88.200 OAK 63.291 NYG 81.854 PHI 70.034 HOU 86.935 DEN 62.230 SDG 81.200 TEN 66.995 SEA 86.458 KAN 61.423 DEN 80.394 IND 66.615 IND 84.065 TEN 60.448 PHI 80.142 WAS 66.328 DEN 83.042 NYG 60.094 TAM 79.670 NOR 66.022 ARI 82.598 NYJ 58.950 WAS 76.645 NWE 65.165 PHI 81.692 JAC 54.535 NWE 75.908 NYG 63.893 CHI 79.333 CAR 53.729 DAL 75.667 ARI 62.535 CLE 78.697 ARI 53.173 CAR 75.336 SEA 61.375 WAS 78.428 PHI 52.710 BUF 73.295 GNB 60.463 STL 75.108 ATL 52.535 CLE 72.630 SDG 58.627 NYG 74.559 DAL 50.783 BAL 72.073 TAM 58.546 TAM 74.097 WAS 49.806 IND 71.520 CAR 54.062 ATL 73.731 STL 49.785 NYJ 69.837 STL 50.192 BAL 72.484 GNB 48.819 MIA 67.591 HOU 50.092 SDG 72.392 SDG 48.783 STL 67.535 BUF 47.262 KAN 72.163 SFO 48.261 CIN 66.045 CLE 44.210 NYJ 71.666 SEA 47.689 HOU 65.879 SFO 43.750 MIA 71.523 HOU 46.095 ATL 65.347 CIN 43.061 PIT 70.235 BAL 44.803 ARI 65.170 CHI 42.099 JAC 69.982 CHI 41.370 SEA 65.159 KAN 40.649 TEN 68.269 CIN 39.863 NOR 64.564 ATL 36.255 CAR 66.817 CLE 36.129 SFO 64.246 DET 35.746 BUF 66.186 BUF 35.502 GNB 62.915 DEN 24.334 MIN 65.263 NOR 27.030 DET 60.616 NYJ 23.580 OAK 64.555 DET 24.301 KAN 57.297 OAK 20.169 SFO 60.110 MIN 20.745 CHI 56.634 MIA 11.090 [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Mon, 10 Dec 2007combined offense defense NWE 100.000 NWE 100.000 PIT 100.000 DAL 89.822 DAL 90.351 TAM 88.205 IND 85.988 IND 84.798 IND 86.466 GNB 85.537 GNB 81.785 NWE 84.689 PIT 70.829 CLE 80.893 JAC 82.309 JAC 70.389 SDG 73.729 SEA 82.165 SEA 67.774 CIN 73.413 GNB 81.664 NYG 66.274 JAC 73.301 MIN 77.028 SDG 62.794 SEA 73.042 SDG 75.722 TAM 61.223 NOR 72.558 PHI 72.961 CLE 58.273 MIN 72.547 TEN 69.547 MIN 53.866 ARI 71.913 WAS 69.023 TEN 51.696 PIT 71.898 NYG 68.940 BUF 50.089 DET 71.234 KAN 67.700 WAS 45.102 HOU 70.902 DAL 67.049 DET 44.225 DEN 70.225 BUF 65.568 NOR 44.069 NYG 70.121 CHI 59.727 HOU 43.470 PHI 67.383 CAR 57.775 DEN 42.949 CHI 64.190 OAK 57.319 ARI 42.471 TAM 63.836 BAL 56.220 PHI 38.986 WAS 63.783 NOR 55.836 CIN 37.578 TEN 63.013 NYJ 53.734 CHI 35.956 NYJ 60.686 HOU 53.401 CAR 32.960 OAK 60.501 ATL 52.712 BAL 27.529 BAL 58.247 STL 50.915 KAN 26.223 BUF 57.292 SFO 50.896 OAK 25.203 MIA 55.988 CIN 48.519 NYJ 20.290 CAR 55.010 ARI 45.325 ATL 17.745 STL 53.917 DET 45.202 STL 17.203 ATL 50.276 DEN 44.802 SFO 15.702 KAN 49.480 MIA 41.482 MIA 0.000 SFO 46.916 CLE 38.969 passing offense passing defense rushing offense rushing defense NWE 100.000 IND 100.000 MIN 100.000 MIN 100.000 GNB 94.333 PIT 84.137 PIT 87.012 PIT 97.420 DAL 89.831 MIA 79.923 TEN 83.947 BAL 91.635 NOR 89.249 TAM 74.246 JAC 82.651 JAC 80.913 CIN 87.234 OAK 69.815 DEN 81.322 DAL 77.610 HOU 85.129 NWE 67.499 OAK 81.046 IND 73.253 DET 84.721 DEN 65.722 NYG 80.249 WAS 72.682 SEA 84.116 TEN 65.327 PHI 78.770 NYG 71.549 IND 80.887 KAN 64.569 DAL 76.944 GNB 69.906 ARI 80.712 NYG 61.741 TAM 76.267 PHI 69.780 DEN 80.561 ARI 60.900 SDG 74.833 TEN 69.354 PHI 80.039 NYJ 58.959 NWE 74.644 NOR 69.348 CLE 78.268 CAR 58.873 CAR 74.187 NWE 67.656 CHI 77.909 SDG 56.363 WAS 74.142 ARI 66.728 WAS 77.033 PHI 55.166 BUF 72.550 SEA 65.010 ATL 74.958 STL 53.878 IND 72.450 TAM 61.806 TAM 73.956 JAC 53.822 NYJ 69.466 SDG 55.332 STL 73.046 SFO 53.451 BAL 69.402 BUF 54.966 NYG 72.805 DAL 53.303 CLE 69.001 CAR 51.398 SDG 71.389 BAL 52.954 MIA 67.490 DET 49.282 BAL 70.222 SEA 52.131 CIN 66.587 CIN 49.059 NYJ 70.222 WAS 52.108 SEA 66.133 HOU 48.956 PIT 69.720 GNB 51.900 ARI 63.863 STL 48.484 KAN 69.341 HOU 50.959 ATL 63.632 CLE 46.298 JAC 67.223 ATL 50.854 GNB 63.538 CHI 45.395 MIA 67.033 CHI 46.767 STL 63.282 KAN 44.528 TEN 65.902 CIN 43.209 NOR 62.548 ATL 43.030 BUF 65.133 CLE 36.239 HOU 62.476 SFO 42.258 CAR 63.854 BUF 35.616 DET 62.316 DEN 28.574 OAK 63.664 NOR 30.694 SFO 60.750 NYJ 25.561 MIN 61.666 DET 24.997 CHI 57.821 OAK 16.917 SFO 57.576 MIN 22.588 KAN 55.695 MIA 14.288 writebackJW Holloway wrote All I can say is...Mon, 03 Dec 2007 combined offense defense NWE 100.000 NWE 100.000 PIT 100.000 DAL 90.507 DAL 90.971 TAM 86.841 IND 86.448 IND 82.543 IND 82.682 GNB 85.885 CLE 81.880 SEA 78.677 PIT 76.479 GNB 80.224 NWE 77.681 JAC 68.156 CIN 74.689 GNB 72.804 TAM 67.674 SDG 73.787 JAC 72.382 SEA 66.180 PIT 73.372 KAN 70.639 NYG 64.851 MIN 72.092 SDG 70.372 SDG 60.517 ARI 72.084 MIN 68.388 TEN 56.809 NYG 71.203 PHI 66.943 CLE 56.283 JAC 70.971 TEN 65.553 MIN 50.736 NOR 70.930 DAL 64.920 DET 48.348 DET 70.273 WAS 63.523 ARI 47.582 SEA 70.053 NYG 62.167 BUF 47.534 HOU 69.722 BUF 60.480 PHI 42.574 PHI 68.743 BAL 58.636 WAS 41.242 DEN 66.839 CAR 58.477 NOR 40.163 TAM 64.947 OAK 57.653 CHI 39.734 CHI 64.663 CHI 56.484 HOU 38.863 TEN 63.109 ATL 52.720 DEN 37.945 WAS 62.939 NYJ 49.916 CAR 37.162 OAK 62.553 NOR 49.826 CIN 33.551 NYJ 61.115 SFO 48.476 BAL 29.581 BAL 57.244 ARI 47.807 KAN 29.559 CAR 57.119 HOU 46.990 OAK 27.067 MIA 55.685 STL 45.796 NYJ 21.933 STL 55.378 MIA 43.547 ATL 20.019 BUF 53.070 DET 42.019 STL 19.278 KAN 50.968 CIN 41.075 SFO 17.962 ATL 50.371 DEN 36.435 MIA 0.000 SFO 48.561 CLE 34.285 passing offense passing defense rushing offense rushing defense NWE 100.000 IND 100.000 MIN 100.000 MIN 100.000 GNB 96.504 PIT 95.037 PIT 83.290 PIT 91.622 DAL 91.780 MIA 78.431 TEN 82.026 BAL 89.325 CIN 91.160 TAM 72.183 OAK 80.749 DAL 84.505 NOR 90.006 OAK 71.421 NYG 79.076 JAC 77.856 HOU 88.265 KAN 64.672 JAC 79.019 NYG 76.510 DET 86.849 NWE 64.545 DAL 76.767 NWE 74.867 SEA 85.484 TEN 63.420 NWE 76.569 IND 74.458 PHI 83.287 ARI 62.031 TAM 76.462 TEN 74.422 DEN 82.284 DEN 59.353 DEN 76.343 PHI 72.183 IND 81.793 CAR 59.140 PHI 76.110 WAS 70.761 ARI 81.132 NYG 57.082 WAS 75.995 GNB 69.724 CLE 81.129 NYJ 55.330 CAR 75.053 ARI 66.480 CHI 78.003 SEA 54.033 IND 72.616 NOR 65.643 WAS 76.690 WAS 53.429 SDG 71.598 SEA 61.743 STL 76.215 BAL 53.330 BAL 67.947 TAM 60.560 ATL 75.242 ATL 53.055 MIA 67.556 SDG 58.646 TAM 75.193 PHI 52.079 NYJ 67.375 CAR 58.085 NYG 74.480 DAL 51.102 BUF 66.797 STL 57.462 SDG 73.072 HOU 49.212 CLE 65.702 KAN 53.163 BAL 72.700 SDG 48.722 SEA 65.219 BUF 53.007 KAN 72.635 CHI 48.653 ATL 64.673 DET 49.062 PIT 71.838 STL 48.649 ARI 64.130 CIN 48.721 NYJ 70.385 SFO 48.507 HOU 62.092 CLE 48.330 TEN 69.144 GNB 45.945 STL 61.921 ATL 47.817 MIA 68.023 JAC 45.386 CIN 60.957 HOU 47.091 CAR 67.313 CIN 36.178 SFO 59.643 SFO 43.156 JAC 67.216 CLE 34.718 NOR 58.761 CHI 40.173 BUF 66.815 BUF 30.923 GNB 58.724 NYJ 29.473 OAK 65.787 NOR 28.577 DET 57.450 MIA 22.825 MIN 63.250 DET 20.790 CHI 57.378 OAK 22.712 SFO 57.949 MIN 16.881 KAN 57.290 DEN 22.168 As always, new data available. [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Tue, 27 Nov 2007combined offense defense NWE 100.000 NWE 100.000 PIT 100.000 GNB 91.348 DAL 88.412 TAM 91.899 DAL 87.502 CLE 81.795 IND 88.280 IND 84.628 IND 81.040 SEA 83.732 PIT 73.969 GNB 78.505 NWE 83.169 JAC 73.190 CIN 75.524 GNB 80.832 TAM 63.483 SDG 72.373 JAC 77.369 SEA 61.943 PIT 72.216 KAN 74.473 NYG 61.109 DET 71.292 PHI 72.405 CLE 59.826 ARI 70.420 DAL 69.258 SDG 56.212 NYG 70.343 SDG 69.141 DET 53.405 NOR 69.105 TEN 67.777 TEN 51.866 JAC 68.731 MIN 66.864 PHI 45.569 HOU 68.715 WAS 64.877 MIN 44.916 MIN 67.397 NYG 62.132 WAS 44.288 SEA 67.305 BAL 61.330 CHI 42.684 PHI 66.754 BUF 61.091 NOR 42.629 DEN 65.643 OAK 59.663 BUF 42.103 CHI 64.351 CAR 58.424 HOU 41.820 WAS 62.505 CHI 58.162 DEN 41.362 TAM 62.311 ATL 57.281 ARI 41.339 TEN 60.242 SFO 53.944 CIN 35.116 OAK 58.616 NOR 53.142 KAN 32.132 NYJ 55.344 MIA 51.429 CAR 30.489 MIA 55.247 HOU 50.821 BAL 29.212 BAL 53.785 DET 49.637 ATL 20.853 CAR 52.832 NYJ 49.264 OAK 19.455 STL 51.484 ARI 48.391 SFO 18.359 BUF 51.433 STL 45.438 NYJ 14.322 KAN 50.767 CIN 42.556 STL 11.407 ATL 48.921 DEN 41.844 MIA 0.000 SFO 47.145 CLE 36.398 passing offense passing defense rushing offense rushing defense NWE 100.000 PIT 100.000 MIN 100.000 MIN 100.000 GNB 96.487 IND 93.316 JAC 85.481 PIT 96.717 CIN 91.415 MIA 84.576 PIT 85.406 BAL 95.448 NOR 90.787 OAK 75.990 TEN 81.914 DAL 93.793 DAL 90.072 TAM 73.950 OAK 80.568 NWE 87.075 HOU 88.177 NWE 69.465 DEN 78.990 TEN 81.780 DET 86.451 TEN 66.651 WAS 78.721 PHI 80.144 IND 86.087 KAN 65.019 IND 78.708 NYG 78.202 SEA 85.777 DEN 63.093 NYG 78.328 NOR 75.435 CLE 85.650 ATL 62.469 DAL 78.313 WAS 74.430 ARI 85.513 NYG 62.175 NWE 78.269 GNB 73.229 PHI 82.731 WAS 60.301 PHI 76.086 JAC 72.006 DEN 81.538 CAR 58.975 TAM 74.879 IND 68.346 CHI 76.256 STL 58.883 CAR 73.957 SEA 68.256 WAS 76.106 SEA 57.932 MIA 71.569 KAN 62.558 NYG 74.211 BAL 57.409 CLE 71.393 TAM 61.679 SDG 73.406 NYJ 55.063 ARI 69.885 STL 59.905 STL 72.539 HOU 54.241 SDG 68.897 SDG 59.488 TAM 72.128 DAL 53.992 BUF 67.623 ARI 58.839 KAN 71.935 ARI 52.965 NYJ 66.070 DET 57.621 ATL 71.133 GNB 52.897 BAL 65.125 CAR 55.492 JAC 71.051 PHI 52.479 ATL 64.762 BUF 51.748 PIT 70.923 SDG 50.298 SEA 64.094 HOU 51.553 BAL 70.810 CHI 49.698 STL 62.251 CIN 48.104 NYJ 68.722 SFO 48.823 CIN 62.240 ATL 48.050 MIA 67.803 CIN 36.637 SFO 61.845 SFO 47.780 CAR 67.090 JAC 35.728 HOU 61.282 CHI 44.510 TEN 66.896 NOR 34.315 DET 61.212 CLE 38.427 OAK 63.995 BUF 31.657 NOR 59.513 MIA 23.702 BUF 63.564 CLE 24.313 CHI 59.096 DEN 23.594 MIN 61.092 DET 22.418 KAN 57.651 NYJ 20.708 SFO 57.466 MIN 16.898 GNB 57.358 OAK 16.649 ...or you can have the updated data. [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Mon, 19 Nov 2007A couple changes this week: I included individual yards for/against data for each team, and for the off/def rankings (including yardages) I scaled to 100 but did not shift; this lets us say, e.g., "Dallas has been 88% as effective as New England on offense this year." combined offense defense NWE 100.000 NWE 100.000 PIT 100.000 GNB 89.948 DAL 88.125 TAM 98.084 DAL 87.434 CLE 81.142 NWE 96.117 IND 84.182 IND 79.909 IND 94.656 PIT 72.766 GNB 76.340 SEA 92.243 JAC 70.157 PIT 75.912 GNB 91.090 NYG 67.255 CIN 73.013 JAC 82.399 TAM 59.928 NYG 70.745 PHI 81.381 TEN 58.593 SDG 70.119 KAN 80.971 DET 58.409 DET 70.034 TEN 79.308 SEA 57.878 HOU 69.357 NYG 76.497 CLE 55.563 ARI 68.045 BUF 73.135 SDG 51.351 NOR 66.693 SDG 72.200 PHI 48.928 SEA 66.328 BAL 71.062 WAS 48.751 JAC 65.021 MIN 70.304 ARI 46.286 PHI 64.132 WAS 70.139 HOU 46.240 WAS 63.292 DAL 68.006 BUF 46.227 TEN 62.536 CHI 67.927 DEN 45.535 MIN 62.337 CAR 67.404 MIN 38.415 DEN 61.969 ATL 64.935 CHI 37.000 TAM 61.747 OAK 63.164 KAN 35.755 CHI 60.339 SFO 62.156 NOR 35.554 MIA 58.782 ARI 60.005 CAR 35.457 NYJ 57.953 DET 57.693 BAL 32.697 OAK 57.090 NYJ 56.483 CIN 27.393 CAR 54.860 HOU 55.949 ATL 22.319 BAL 53.537 NOR 51.081 NYJ 15.555 BUF 50.768 DEN 50.339 OAK 12.721 STL 49.504 STL 48.884 STL 12.007 KAN 49.457 MIA 48.326 SFO 11.159 ATL 48.534 CIN 39.694 MIA 0.000 SFO 40.331 CLE 36.990 passing offense passing defense rushing offense rushing defense NWE 100.000 PIT 100.000 MIN 100.000 MIN 100.000 GNB 96.241 IND 94.924 PIT 86.426 BAL 96.494 DAL 93.756 MIA 83.989 JAC 84.965 PIT 93.830 NOR 92.684 TAM 83.613 TEN 83.786 DAL 92.796 CIN 92.543 NWE 80.982 NWE 80.100 TEN 90.362 HOU 90.274 OAK 74.020 NYG 78.808 NWE 84.442 DET 89.256 TEN 72.574 OAK 77.840 NYG 81.602 SEA 88.335 ATL 65.589 IND 77.661 GNB 79.707 IND 87.520 SFO 64.217 PHI 77.610 WAS 76.569 CLE 87.004 KAN 63.288 WAS 77.385 PHI 76.410 ARI 81.640 CAR 62.229 DEN 77.383 JAC 73.582 DEN 81.265 DEN 61.431 CAR 76.143 IND 71.732 PHI 80.910 BAL 60.435 DAL 74.956 NOR 71.138 CHI 78.497 PHI 60.345 TAM 74.224 SEA 70.164 TAM 76.287 STL 59.110 MIA 73.060 KAN 68.557 STL 75.044 NYG 58.184 ARI 69.101 TAM 64.435 NYG 74.965 ARI 56.332 SDG 68.567 ARI 64.271 WAS 74.907 HOU 56.049 CLE 67.940 STL 59.606 KAN 74.813 SEA 54.899 BUF 66.412 DET 59.124 ATL 73.792 CHI 54.203 NYJ 66.374 CAR 58.095 PIT 73.721 WAS 52.424 BAL 65.870 HOU 57.049 BAL 73.254 NYJ 51.089 SEA 63.124 SDG 55.997 SDG 73.207 GNB 50.571 ATL 62.646 BUF 54.536 NYJ 71.848 DAL 47.193 HOU 60.938 ATL 50.168 MIA 70.683 SDG 45.577 STL 60.199 SFO 47.750 JAC 69.687 CIN 36.339 SFO 58.075 CHI 47.443 CAR 69.304 BUF 33.569 CIN 57.624 CIN 44.197 TEN 66.335 JAC 32.741 DET 57.485 CLE 36.528 OAK 65.296 NOR 27.343 NOR 56.993 NYJ 25.887 BUF 63.750 DET 24.614 CHI 56.371 DEN 24.843 MIN 63.215 CLE 20.395 GNB 55.273 OAK 21.659 SFO 55.519 MIN 11.868 KAN 52.643 MIA 20.537 Updated code for those following along at home. [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Wed, 14 Nov 2007...rankings. I was bored and decided to write some code to produce NFL power rankings. Perhaps one of my perenially disappointed faithful readers might care to peruse. (Gautham actually suggested splitting the offensive and defensive power rankings; previously I'd only looked at overall power rankings, which I present below.) First, a little explanation: these are split offensive and defensive power rankings; in other words, normalized rankings by points for and points against considering the record of the opposition as given by the same ranking. My assumption here is that my rankings should be zero-sum when offense and defense are combined. That is, every (adjusted) point counted towards an offense is counted precisely the same against the opposing defense. The rankings are determined as follows:
Note that this is very much a discrete feedback system, and as such is subject to instability. To ameliorate this problem, we add a "gain" term as such: Finally, using approximately the same algorithm (details if you insist), I do the same thing for total performance, taking into account win/loss, point differential, defensive performance, and home field advantage. So now we have a mess of numbers. What are they? Well, in one sentence, they are normalized offensive and defensive ratings adjusted for relative strength of schedule. How, relative? Well, we look at the difference between the opposing defense and our offense (or vice-versa), not our defense versus the league average or some such. Think of it this way: if the worst team in the league had to play a bunch of mediocre teams, those would be hard-fought wins; conversely, the best team in the league should have little trouble with those same teams. Relative strength of schedule takes this into account. Here are the numbers: combined offense defense NWE 100.000 NWE 100.000 PIT 100.000 GNB 88.877 DAL 83.321 SEA 89.290 DAL 85.341 IND 72.842 TAM 85.638 IND 83.189 CLE 67.917 NWE 84.650 PIT 80.843 PIT 64.065 GNB 83.451 JAC 66.579 GNB 58.556 IND 81.508 TEN 66.043 DET 54.766 TEN 76.748 DET 64.926 CIN 54.511 BUF 70.769 NYG 63.272 NYG 53.387 JAC 66.878 SDG 56.904 SDG 51.525 KAN 59.164 TAM 53.994 HOU 49.478 BAL 56.930 SEA 53.481 NOR 48.993 PHI 56.024 WAS 52.787 ARI 41.471 SDG 53.106 CLE 51.385 PHI 40.369 CAR 51.544 BUF 50.391 JAC 38.916 CHI 51.263 PHI 43.508 SEA 37.553 MIN 49.928 CHI 41.806 TEN 36.275 NYG 49.785 HOU 40.583 WAS 34.992 ATL 49.339 ARI 40.051 MIA 34.039 WAS 49.119 DEN 39.732 MIN 32.003 DAL 45.858 NOR 39.701 CHI 29.441 OAK 43.484 KAN 38.975 TAM 29.306 ARI 36.620 CAR 38.408 DEN 28.936 SFO 30.923 BAL 36.894 NYJ 26.355 DET 23.899 MIN 32.504 OAK 23.123 NYJ 21.136 CIN 31.475 CAR 21.660 NOR 19.135 ATL 26.070 BUF 17.196 HOU 18.749 OAK 15.436 KAN 15.675 DEN 15.649 SFO 13.263 ATL 15.238 MIA 7.479 NYJ 6.447 BAL 14.313 STL 6.008 STL 3.783 STL 14.185 CIN 5.766 MIA 0.000 SFO 0.000 CLE 0.000 Sucks for Cleveland that they have a terrible defense, since their offense pretty much rocks... I'll keep these updated weekly until the end of the season. Edit: here's the code if you want to play with it yourself. [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Thu, 06 Sep 2007my first post in a long time is kind of an inside joke. sorry.
anyone recall any others? p.s. if you hafta ask you'll never know [ permalink | 3 comments ] writebacksrsw wrote fackin commenting on my own blog... May wrote
rsw wrote Thu, 07 Jun 2007 ...a ProSLIC. Bust out the cigars, 'cause that's my baby. [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Sun, 29 Apr 2007Tonight I saw Chris Cornell at Stubb's. Holy shit. He played songs from Soundgarden, Temple of the Dog, Audioslave, and his solo album, as well as covers of Led Zeppelin, Bob Marley, andI shit you not"Billie Jean" by Michael Jackson as a bluesy rock song. Cornell is a great performer and a seemingly nice guy. He interacted well with the audience and drove the emotional state of the crowd perfectly. In addition, umm, holy shit does he have some pipes. He didn't even get really warmed up until "Hunger Strike" or so, and by the time he hit his stride and belted out "What You Are," I knew we were in for a treat. "Rusty Cage" and "Pretty Noose" later, we were basically going nuts, and they finished off the show with 5 or 6 encores, including "Black Hole Sun" and "Jesus Christ Pose." His new stuff sounds really cool; can't wait for the album! [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Thu, 26 Apr 2007Actually, it's the Ultimate Power Converter Showdown of Ultimate Destiny. Unfortunately, you have to be a SiLabs employee to attend. The accompanying paper is called "The Si3226 dc/dc Converter, or, Groundwork of the Metaphysics of Telephony Power Conversion." Beamer is hot. [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Mon, 09 Apr 2007
getting it is easy. filling it with illegal substances and sending it across the border is not.
Gentle(wo)men... behold! Bear witness to the first stuffed Ignignokt board in all its insanely bright glory. The lit picture does not do it justicein person, it just hurts. Now for the Andy Warhol-style panel of differently colored ones...
Edit: have a look at the writeup for a bit more info. [ permalink | 2 comments ] writebackstp73 wrote
rsw wrote Tue, 03 Apr 2007
a sneak peak at the silent rage
Pictures and a proper writeup are forthcoming, but for now, feast your eyes upon the pocket Ignignokt and a writeup of the cheapest dc/dc converter I could design. [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Sun, 11 Mar 2007All these make one helluva weekend. First of all, Woz is in town until Thursday for SXSW. That's very hot! Thanks for visiting me, Woz... now if only other people would do so *ahem* Right now we're having our first thunderstorm of the year. This is most excellent, as I always enjoy a good thunderstorm. Earlier today, it hadn't quite started storming yet, but it rained a bit before we went out and played football, which made for quite the wet game. I wasn't the greatest of receivers, but on the play involving my glasses, a couple cuts on my nose, Matt's arm, and a relatively well-placed pass, I did manage to hold onto the ball. You know it was a good play when you're bleeding and you still did your job. So that takes care of the rain and the mud. By snow I actually mean Snow Patrol, whose concert Woz and I attended yesterday. I enjoyed it muchly, as they are very good on their instruments and I knew more of the songs than I expected to. Sweet! Finally, blood, and in no less than two forms. The first, electronic, courtesy of much Starcraft slaughteralways a fun timeand the second courtesy of our good friend Frank Miller, et al. Yup, I mean 300, which was more or less, umm, awesome. It was everything I wanted it to be, and then some. I'd say it might have a chance of unseating Braveheart, but I'll have to watch it a few more timesy'know, to be sure. Tomorrow, back to work, my beautiful baby (the new dual ProSLIC, whose functionality and performance are unparalleled; nya nya to those who said I'd never build a power converterthis one's getting sold by the millions, mark my words), and other good shit. And probably Pan's Labyrinth tomorrow night. Until next time, faithful readers! [ permalink | 2 comments ] writebacksgwax wrote
May wrote Thu, 22 Feb 2007 FlightAware is really cool! You can track by tail number, airport activity, operator (i.e., FedEx, JetBlue, et cetera), or type, or you can just watch the pretty dots dance. If an airplane isn't currently in the air, it'll give you its last filed flight plan instead. Totally sweet. [ permalink | 2 comments ] writebacksApril wrote
rsw wrote Sun, 18 Feb 2007 I spent last week in San Francisco at ISSCC, which was very cool. Among other things, I saw an awesome paper on a hysteretic power amp for ADSL, learned more than I ever wanted to about imaging sensors, and saw bunches of papers on exotic futurey stuff like carbon nanotube and organic transistors. Also, I got to see some Bay Area buddies, went to a hottt sushi place with Katherine, and picked me up a new suit at Ralph Lauren. Unconscionably hot, unreasonably expensive. Next up: IVy, the aforementioned IV-18 clock. Also, Ignignokt and Err PCB layouts, one-sided for easy thermal transfer and home etching, and including a very clever 555 circuit for controlling a boost converter as cheaply as humanly possible. More details soon. [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Mon, 05 Feb 2007
12 hot watts; senor senior; inGrid and IVy
For this year's superbowl party, Cyrus and I decided that we should celebrate the happenings of last week by welcoming our guests with a hoax device. Twelve-and-some watts of pure LED brightness later, the image to the right was born. It's made of 192 LEDs, each of which are conducting about 30mA and dropping about 2.1V, and it is bright as all fuck. You can see it from the entrance to our cul-de-sac. Also, some good news today: I was promoted to Senior Design Engineer! I guess that means I'm getting old, or something. It also means that I beat my target, Senior Designer by 26, by almost 8 months. Woot. In yet other news, I'm running a group buy on the inGrid VFD clock for the NEONIXIE Yahoo! group. If you're interested, send me an email (hopefully with "inGrid" or "IV-18" in the subject) in the next couple days and I'll get a board for you, too. Soon to come, "IVy," the through-hole version (inGrid is SMT) based on an Atmel AVR processor and possessed of a crystal timebase and battery backup. This one will be available as a full kit (including case) from Adafruit Industries, Limor's site of kit hotness. Watch here for details. writebackgwax wrote Sun, 28 Jan 2007 New clock. Again. Hot. Y'know... clocks... tick? Yeah... Ari starts at SiLabs tomorrow. Hotness! writebackFANYI wrote FANYIWed, 17 Jan 2007 ...or so it seems. Since Monday, Austin has experienced freezing rain and snow. Since they don't plow or salt here, and because Texas drivers are so bad they even scare me when the roads are slick, I've been trapped in the house with Matt, Lyra, Cyrus, and Katherine for the last few days. Normally this would be fine, except that Mike and Cyrus broke a window fighting over a pizza a couple weekends ago and it still hasn't been fixed, and on top of that on Monday the septic tank started to act up. All in all, not a great time to be trapped in the ManHouse. Of course, Katherine made it more bearable, first by being so kind as to keep me warm despite our lack of window, and second by being understanding with respect to the no showering on account of the septic tank. Now the weather is getting warmer, I worked out and then showered at the gym, Austin is mostly functional again, Cyrus has tomorrow off, and Austin Books has new comics. With the exception of the fact that Katherine returned to Berkeley today, Thursday is looking good. [ permalink | 0 comments (add one you lazy bastard!) ] writebacks (add one you lazy bastard!)Fri, 12 Jan 2007
it's like a koala bear crapped a rainbow in my brain
Should my physical self feel created from untold millions of bubbles? No... but I do feel taped out. Bitches. Let the comp week begin (at least, after tomorrow, when I have to sit around and babysit the PG). [ permalink | 2 comments ] writebacksrepak wrote woot may wrote Mon, 08 Jan 2007 | ||||