Aphyr

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9

On this page

23 May 2006 CO2, or, Fighting the Man
11 June 2006 Home
18 June 2006 Aikido!
18 July 2006 Net Neutrality
17 August 2006 NSA Wiretapping Ruled Illegal
21 August 2006 Attack of the Blog Spam
23 August 2006 And Comments are Back
6 September 2006 Yesterday my Laptop Hard Drive Died
10 October 2006 Fun with Lights
14 November 2006 More Anti-Spam
17 November 2006 An Evening of Mystery
9 December 2006 You Win, Ruby
15 December 2006 Breakfalls, and a Storm
15 December 2006 Rails
21 December 2006 New Features, SSH Completion, and the Dangers of Overloading the Core Library
30 December 2006 D70: Initial Reactions

CO2, or, Fighting the Man

The Competetive Enterprise Institute has produced an amazing pair of television ads espousing the wonders of carbon dioxide. The most hysterical bit is the tagline at the end: "Carbon dioxide. They call it pollution. We call it life." To concentrate and preserve more of that precious life, I recommend that the members of CEI hold their breath, and keep holding.

Such nonsensical messages shouldn't be a surprise to anyone; CEI is largely funded by an industry with a vested interest in the continued production of "life". The Clean Air Trust identified Shell, GM, Ford, and DaimlerChrysler as contributers to CEI. ExxonMobil, for example, gave $405,000 to CEI in 2002, the largest contribution in the list of "Public information and policy research" donations by the company.

Home

I'm home, in a way. The last few weeks have slid past faster than I could keep a grip on them, and the academic ski-jump that was finals week left me temporarily in free fall. There were some hard goodbyes to say.

Yet, stepping off the plane from the midwest, I feel unusually grounded. Things here are engaging and immediate. I'm working at the same software company as a lot of NRST alumns, fooling around with VMWare, and generally being an IT ninja. There are interesting challenges to explore, tinker with, and hopefully resolve, and that makes me happy. There will be LAN parties, summer frisbee, and Aikido to look forward to. It reminds me of irimi, in a way.

Aikido!

Today was my first day at the new dojo; after three weeks without training I was excited to get back into things. It's a bit of a trip to get there--about one and a half hours by bike and light rail, but it was well worth it. I hope to make it out there three times a week.

A few things were different--stretching followed different patterns, white/black belts only, and a second bow for entering the mat, in a different direction... I haven't figured out that one yet. However, the rest of the class went smoothly, and was a great experience. Everyone was very welcoming and friendly, worked hard, and there was very good energy. At the end I was asked to lead stretches, which was somewhat unexpected, because I had never seen these exercises before! I managed to make it through the whole series, but it was definitely an exciting experience.

One thing was mentioned at the end of class which quite surprised me: apparently Akira-sensei is coming here in a few weeks! I guess I'll be training hard. :-)

Net Neutrality

What really confuses me about the net neutrality issue is when telco execs say things like this.

"Now what they would like to do is use my pipes free, but I ain't going to let them do that because we have spent this capital and we have to have a return on it. So there's going to have to be some mechanism for these people who use these pipes to pay for the portion they're using. Why should they be allowed to use my pipes?

The Internet can't be free in that sense, because we and the cable companies have made an investment and for a Google or Yahoo! (YHOO ) or Vonage or anybody to expect to use these pipes [for] free is nuts!"

AT&T is a tier-1 network (specifically, AS7018), which means that it connects freely (peers) with other tier-1 networks. Tier 2 networks peer with some networks, but also purchase transit with tier 1 networks, offering money in exchange for the larger network relaying packets to other destinations. Consumers (both individual and business) often purchase bandwidth from tier 3 networks, which are connected to other networks only with transit agreements. Hence, when a company like Yahoo or Google purchases an OC-192 or what-have-you from a second or third tier network (an ISP), part of the money they pay to that ISP is used to purchase transit with larger networks like AT&T.

When Google's packets are routed over AT&T's pipes, those packets are either paid for by the transit agreements tier 2 and tier 3 networks have with AT&T, or come from another tier 1 network. If it comes from a tier 1, the companies have already agreed to peer with one another because to do so significantly extends the capabilities (and therefore the value) of their networks.

In light of this, it seems ridiculous to me that ISPs complain about companies and individuals for using their pipes "for free". It's not free! That's what transit agreements are for. Saying otherwise is asking the end user to pay twice for the same service, and I think that's unfair to networks and consumers alike.

NSA Wiretapping Ruled Illegal

Attack of the Blog Spam

I've been getting hit with a flurry of blog spam from a large set of IPs. Looks like some sort of botnet. I've taken down commenting until I can write some countermeasures. :-/

And Comments are Back

I've added a check for a small session cookie when commenting. We'll see how well that works.

Yesterday my Laptop Hard Drive Died

Last night, I ran into all sorts of strange behavior on my laptop--unable to log in, normal system calls taking forever to complete, and all sorts of network trouble. This morning I backed up my home directory to my work computer's hard drive (discovering, in the process, that NTFS disallows all sorts of common and innocuous characters in filenames) and ran into several IO errors. Checked the hard drive and (despite SMART claiming everything was fine) it failed the read tests almost immediately. I managed to swap in a new drive and restore most of my files to a fresh copy of Ubuntu (with a customized version of tar to overlook the errors in the archive I made), but I still lost a fair bit of data.

Question: Why can't tar take an argument to skip over damaged sections of otherwise useable archives? A few IO errors at the beginning of the archive doesn't mean the remaining gigabytes of data are unrecoverable...

After a few busy hours, things are working smoothly again. Everything important for work has been recovered, and I'm polishing the asset tracking system I've been working on, in hopes of deploying it before my departure Friday. All things considered, I am quite thankful this misadventure occurred when it did--recovering data is the last thing I want to do in the few hours before leaving. :-)

Fun with Lights

Here's a fun thing I just discovered.

If you bounce the tip of your tongue against the roof of your mouth (kind of like rolling an R) while forcing air out, it vibrates your skull a little bit. Try it. Go faster. Make that t-t-t-t-t-t faster and faster until it starts sounding like a buzz. Now, look at an LED alarm clock.

Far Out! My guess is, those lights that make up the numbers on your alarm clock are flicking on and off all the time! As your 'ttttt' vibration approaches the frequency of the clock, you start seeing the lights turn on in different parts of your visual field. Your brain doesn't know what's going on, and stitches it into a cohesive image of the little bars sliding up and down. The rest of the world is lit up 100% of the time, so it just looks a little blurry.

I bet you can infer which parts of the clock display are on different cycles by their apparent motion, too.

More Anti-Spam

Spammers have started breaking through the session check, so I've started filtering content for high URL density. If your legitimate message doesn't get through, toss me a line so I can recalibrate the filter.

Update: More spam. They've switched to single-line links, tagged with

[url]

. There's got to be a better way around this.

On a related note, what kind of questions does every english-literate person know the answer to?

An Evening of Mystery

Last night, the esteemed Lady Mackin invited myself and several other persons of Quality to her family estate, Castle Evans, for an evening of merriment before departure for our respective winter residences. I was one of the earliest to arrive, and had the honor of joining Lady Rose Buckingham as we entered the Castle. She was quite cold, on account of doing some charity work just prior: making a bonfire and chocolate-graham-cracker confections with some young acquaintances.

After all the guests had arrived, I discussed matters of finance with the Viscount Burgandy, and learned of his families misfortune in recent years. I have no doubt, however, that such a venerable family as his will have no difficulty in weathering whatever vagaries of fate may come their way.

Then I made the acquaintance of a rather eager young gentleman--of French decent, but don't let that deceive you--Mr. Adrian d'Artagnan, of D'Artagnan Dirigibles. He proudly informed me of his expansive dreams for a world filled with airships, soaring from continent to continent faster than any sailing vessel or steamship. I, having made some modest gains investing in the astounding and modern of industrial developments, was most excited to hear of his companies success. I plan to make an sizable investment in his company--provided, of course, its financial records and projections are satisfactorily in order.

I also had the distinct pleasure of Lady Rose's company. While I had heard of her considerable influence in political spheres, I had not realized what a gracious and heartfelt young lady she... was. She explained to me that she quite fancied the young Mr. d'Artagnan--and that someday she hoped that the two of them could be together. "If Mr. d'Artagnan recognizes but half of your compassion and grace," I confided to her, "he will come to love you twice as much as his wonderful dirigibles." I found my words happily corroborated not minutes later, for Mr. d'Artagnan, having found enough investors to guarantee his financial success, asked for the Lady Rose's hand in marriage. What a joyous occasion it was!

Alas, no evening of mirth can go unmarked by sorrow. Perhaps half an hour after the proposal, the Lady Mackin burst into the room in considerable distress. She informed us that... Lady Rose was deceased! Strangulated, in an out-of-the-way room on the third floor. We knew of her excitement for exploring old castles, but to have such a tragedy come to pass, and on her engagement day! We gathered all the guests together, to discuss the murderer's identity. A great many surprising details were revealed in our conversation--the true identity of the Smith's adopted child Henry, Gerard's early, spurned, affair with the Lady Rose, and some... equitable but nevertheless distasteful business deals.

Working with the aid of Lord Cameron Smith, an accomplished logician, we slowly deduced the innocence of all but two of the guests: Lady Loria, and Lord Gerrard. I was obviously free of suspicion, as were Mr. d'Artagnan, Lord Cameron, for the three of us had been conversing in the sitting room at the time of Rose's decession. Gerard tried again and again to pin the murder on another--even stooping so low as to accuse the Lady Mackin herself of the heinous act! Meanwhile, the Lady Gloria comported herself with dignity and reason. While neither of them could be accounted for at the exact time of the murder, we judged that from her slight build, she could not have asphyxiated Lady Rose. Indeed, once Gerard was cornered, he flew into a rage, and Scotland Yard stepped in just in time.

As it turned out, Gerard had committed the murder; he stood to financial gain, and was so angry with his former lover for choosing d'Artagnan that he cornered her in that upstairs room and strangled her. "To death do you part!" were his final words to her. How dreadful a man indeed, to cut down such a lovely lady through murderous rage.

--Lord William Burns

Thanks to Kristine for writing and hosting an awesome murder mystery!

You Win, Ruby

After the last three months, I've come to the conclusion: Ruby is a wonderful language, and I don't want to write code in Perl any more. I like Perl: it's fast, powerful, and has a terrific community around it. If you wanted to run your television through a LEGO USB IR transceiver, yeah, there's probably something in CPAN for that. However, I'm finding that the rocky syntax of Perl gets in the way of my thinking. I don't want to use

$hash_of_hashes->{'key'}->{'key2'}

to get at at what should be a simple data structure. Using five special characters on a variable makes my code hard to understand, and makes it easier to cause bugs. It's a good language, but Perl has its limits. After spending months writing clean, joyful code, I think that the Ruby language maps more closely to the domains of the problems I'm trying to solve.

There are a lot of things I like very much about Ragnar: it's quite fast, extensively configurable, and compliant with web standards by design. XSLT transforms keep logic and presentation well separated, and the powerful query engine makes node-level logic simple. I plan to preserve the best aspects of this design, but refactor the code into a Ruby platform, separate node data taipus into a more traditional database schema for efficiency, and define a plugin architecture with callbacks for node lifecycle handling. For now, at least, I'll avoid the temptation to use Rails for this project: I prefer XSLT, and working this way is more fun for me. :-)

It'll be nice to have a new project.

Breakfalls, and a Storm

To celebrate the end of the year's training, we did many breakfalls last night. David-sensei informed me that our absolute maximum (read: his) goal was 1500, but people were free to set whatever number they wanted to reach. I conservatively estimated 100, but ended up doing 1007: a mix of of rolls and back-breakfalls, both from throws and in sets. It took roughly five hours, at the end of which I was quite sore, but very happy.

We had a windstorm arrive Thursday night as well, which led to downed trees, hundreds of thousands of homes without power, and terrific rains. That made for an entertaining landscape for the ride home, as I passed trees snapped over concrete soundwalls, and biked over acres of branches floating in 2 inches of water. My map claims these waterways are "streets", but I think they are happier as streams.

Rails

I rewrote my old, Perl-based blog engine in Ruby on Rails, which was a remarkably refreshing experience. The old Ragnar database converted over cleanly, and I think journals, comments, and photographs should all be in order. In the next few days, I'll work on bringing up projects, ATOM feeds, and other things the old site used to have.

New Features, SSH Completion, and the Dangers of Overloading the Core Library

Added ATOM feeds for journals, photographs, and a combined feed. Also added EXIF support to photographs, such that files with EXIF headers (those from about the last year or so) display some shot information as well.

Also, I caught bash programmable completion completing paths on remote servers over SSH. I was copying a file from the laptop to the server, hit tab to complete the directory on the server side... and it worked. That was quite surprising, when I realized that my ordinarily useless request had actually been carried out. Hurrah for bash making my life easier.

Had significant confusion yesterday night, when the tested and (so I thought) working code from the development machine threw strange exceptions on aphyr.com itself. The box claimed NoMethodError for Rational.reduce and Rational.to_f, both of which were quite clearly part of the standard library. Eventually realized that this was due to my custom Rational class, which has a very different interface from the standard library's version. Changed RUBYLIB to not load my custom libraries, and it worked.

D70: Initial Reactions

Working with the D70 is an interesting experience. It's a very different feeling from the 4500, partly due to the camera itself, and also to the RAW workflow. The photographs I've taken with the new camera are more complex, expansive, and subtle. The clear, bold colors that I'm used to with the 4500 don't feel right for the images that I've taken time to work with, even though the levels distribution is even.

I've been working with F-Spot, UFRaw, and the Gimp for my image workflow, which has proven effective, if unfamiliar. It's difficult to predict how a given set of parameters will transform the RAW data, and I expect it will be some time before I become adept at the process. Getting color right is hard.

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
Copyright © 2003—2010 Aphyr