I sometimes wonder about how much postprocessing is, for lack of a better word, "honest", in creating a photograph. When working with an image composed of a bit vector, which is only interpretable through the use of complex hardware, I feel free to modify the image as much as desired; unlike working with a traditional negative, in which the image has a concrete physical form, one sequence of bits is, in some sense, as good as any other. This lack of permanency, of a link to the exposure itself, is in some ways liberating, but can also feel dishearteningly trivial.
For most images, I perform mild color (usually, just levels) correction, rotation, and cropping only. I feel that these modifications are not only traditionally acceptable, having analogous processes in the darkroom, but do not change the photograph in a way that misrepresents having been there. That is, I suppose, the most important aspect of photography for me: relaying the experience of seeing something in the world to someone else. Drift too far from that experience, and the photograph communicates a dream, not reality.
The funny thing is, I'm not troubled by paintings, sketches, or detailed computer graphics for not conveying reality. Likewise, I enjoy fantastic effects at the movies, where people interact with fabricated images so realistically that it is difficult to identify what in a scene actually existed in the first place. The idea that photographs, by virtue of their apparent realism, must somehow be constrained to that reality, is, when I think carefully about it, quite arbitrary.
Classes haven't killed me yet!
It's eighth week, and time for overdrive. Two take-home finals (one expected to take two weeks!), an ODE lab, an 80 hour final project for Computational Mechanics analyzing the dynamics of our tinkertoy siege engines, and all the regular Japanese and ODE coursework on top of that. Of course, this can only mean one thing: it's time to take harder classes.
So I'm registering (hopefully) for Partials, Electricity and Magnetism, and some mysterious third course. I'm thinking about Epistemology or Philosophy of Physics, although those courses fill pretty darn fast. Philosophy of Physics looks particularly awesome, talking about issues with non-locality, causality, and the far-out world of quantum. Only a few spaces left, so I've got my fingers crossed.
So stuff here has been busy as heck the last few weeks. Classes are beating me up: Classical Mechanics, Ordinary Differential Equations, and Japanese 205 this term. Aikido hasn't been going at all recently, which is sad. First week I caught whatever cold was going around, then this Monday I knocked my shoulder out of commission on one of the 4th kyu sacrifice throws. It's slowly coming back, but I'm still not up to rolls, or really much of anything with that arm. Realistically speaking, I'm probably not going to test this mid-term: I've just missed too many classes.
This week was full of out-of-town visitors: Des and Bitsy came out here for the weekend, which was full of Aikido, reading, and photography. Bitsy helped me out with the alumni interview for Physics, which was more informative than I had initially expected.
When it came time to head back to the airport, Max, Des and I borrowed Pechous' car for the trip--or at least his keys. Turned out the car was across campus, encased in snow, low on gas, and incapable of starting. Luckily, as we were just about to give up, Chase arrived! He pulled out the jumper cables, which after extensive maneuvers eventually reached between the cars. We *still* couldn't get the car to start, so Chase kindly offered us his car for the trip. After he left, though, Max couldn't get the car started! I tried, but the keys just wouldn't move. As it turns out, starting the CRV requires focusing very intently on the engine turning over and rumbling into life, and believing the car to be in motion. After buying gas by committee, I restarted the car for Max, and we made it to the airport in record time.
Ruby on Rails is much, much, slower than I would like. It takes around .25 seconds to render the index page: about 10 times longer than Ragnar. I've alleviated the problem somewhat by switching to a Mongrel cluster with Apache's mod-balancer, but performance is still slow. I can't add any more foreign key constraints--pretty much every feasible relationship is locked down. I guess it's just down to ActiveRecord tuning, and figuring out how to make ERB run with any semblance of speed. Possibly memcached, too...
Anyway, sorry for the inexplicable downtime. Things are still moving around quite a bit.
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.
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.
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.
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.
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.
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.
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?
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.