Hey, I just noticed that I missed this blog's birthday.
Sad blog. I'll have to send it flowers.
« August 2007 | Main | October 2007 »
Hey, I just noticed that I missed this blog's birthday.
Sad blog. I'll have to send it flowers.
In the wake of the current spat between NBC and Apple over the price and DRM applied to TV content sold on iTunes, many people have been considering the status quo of TV distribution and pricing. Fake Steve, through his usual hyperbole probably comes closest to the truth by asking, essentially, why we need the networks at all. Don't they exist simply to agrigate content produced by production companies in order to pipe it over the airwaves to consumers? Why should we need them at all when the content producers could sell directly through iTunes or any other internet distributer? What are they there for other than to take a cut of the profits?
Leaving aside the fact that--for now--vastly more people watch plain old, live, non-time-shifted network TV than any kind of content on the internet, you could come up with a few reasons for networks to keep on existing:
As I mentioned previously, I recently switched a good portion of Tapirtype Blog--everything other than the front page index and the entries themselves--to dynamic publishing. I've been collecting my impressions, although I'm generally waiting for the upcoming move on to Solaris at TextDrive, my hosting provider for any final judgments about performance.
I like the idea of it, but I'm still not sure on all the details of the execution. This is partly because Movable Type uses Smarty for it's template system, so in order to understand what's going on, I have to understand both what Movable Type is doing and what Smarty is doing. Note, this isn't a criticism, I think Smarty is perfect for the job, and I'm glad they didn't try to reinvent the wheel, making their own php template compiler. The biggest concern when switching to dynamic publishing is that the efficiency equation shifts. During static publishing, it makes sense to make trade offs that make build time just slightly longer for the sake of convenience, simplicity, or feature-fullness. Using dynamic publishing, however, this could lead to intolerable page load times, so caching becomes very important in order to make only the first load any slower.
Smarty has two levels of caching. First it complies the templates into php files on the first request. In theory this should eliminate any disadvantage of a template based system as compared to Wordpress style php "templates". Second, as pages are requested the output is stored in a cache folder, so the second request for a given page should be able to simply echo that cache file with no computation necessary. Actually there's a third level of caching, though I'm not sure whether it is a Smarty or a Movable Type feature, which is that the blog will instruct the web browser that the page has not changed since the last request, allowing the browser to fetch it from it's own cache.
But the difficulty with caching is that any caching system is only as good as it's ability to tell when it needs to recompute the content. Preferably, the system would be smart enough to understand which pieces of the content have updated and which are still the same, but at the bluntest it must flush the entire cache every time any change is made. And here's where things have been falling down for me. In a given session, I can sit at the blog, load a bunch of pages, and see that after the first load, the loads get much quicker. However, inevitably, the next day, with no changes made the the blog, I'd find the caches recomputing. With no changes published to the blog, I can't see why this would be the case. The only thing I could think of was the fact that several trackback requests had come in and were marked as junk, resulting in no changes to the published blog. It would be quite silly if that was causing the cache to reset, but just to test, I've disabled trackbacks now. As much as I like the idea of trackbacks, they've never really worked out, anyway, and since adding a captcha to anonymous comments, they are my only current source of spam (although none ever get published due to the insistence that the trackback request come from the same IP address to which it points).
I was hoping to get an excuse to upgrade my 20GB 2G iPod today. At first my heart sunk when I saw the iPod Classic announcement, thinking they had decided not to release the expected touch screen iPod. Then I hit reload, and it was there... Except it kind of wasn't. The iPod Touch has everything I could possibly want in an iPod, except it only has up to 16GB of storage. That's less than my 5 year old iPod which cannot, as of earlier this year, hold my entire music library--the main reason I'm looking for an upgrade. I just can't see a downgrade in storage. Sure, I don't need to take all of my music everywhere, but once I cross that bridge, I suddenly have to start making decisions about which music I am going to take. And now instead of just plugging it in and it's done, I have to think about it. I have to make decisions, and I have to keep things organized. And that's just less fun than the original wonder I had in being able to carry all my music with me anywhere without thinking about it.
I don't know. Maybe my experiments with downsizing my library to fit on my current iPod will convince me that 16GB is enough. Or maybe in 6 months there will be a 32 or 64GB version, or eventually I might get an iPhone and a touch screen iPod will seem less exciting, leading me to an eventual iPod Classic upgrade. But in any case, I won't be throwing any money Apple's way just right now, and I was kind of hoping to be pushed over the edge into doing that today.
Update: Seems about the least I can get my catalogue down to without having to make any really difficult choices is 15GB, which probably wouldn't fit onto a 16GB iPod Touch given the formatting and OS overhead. My next iPod must have at least 30GB.
Ok, I think I have the caching thing figured out. Seems that Smarty (which handles the dynamic publishing--and caching--for Movable Type) defaults to a one hour cache timeout. What Smarty does is write the time-stamp in a header on the cached file along with an expire time-stamp computed by adding an interval determined by the smarty variable $cache_lifetime
which defaults to 3600 seconds (or one hour). When retrieving a page, smarty compares the expire time with the time the cached file was built and retrieves the cached file only when the cache has not yet expired.
Why it does this is another matter. One hour seems either far too long or far too short for the life of a cache. It especially makes no sense in the context of Movable Type which seems to clear the cache whenever there is a change to the database, such as saving an entry--whether or not the entry is published--or making a comment (although, not, for some reason, when comments are deleted). Incidentally, I haven't yet figured out how Movable Type achieves this. I can't seem to find where in the code it flushes the cache or checks the modification date on the database, however I have empirically determined that this is the behavior.
This caching behavior especially makes no sense for me, since this blog changes, at most, daily. Fortunately, the default cache lifetime can be changed by editing the smarty.class.php
file (found at mt/php/extlib/smarty/libs/
). At the top of the file, which defines the smarty class, a bunch of default values for variables are set, some of which are overridden by Movable Type when it creates an instance of the smarty object and uses it to display dynamic content, notably the $caching
variable which defaults to 0 (off) is flipped on later if you have enabled caching enabled via publishing preferences.
Setting $cache_lifetime = -1
results in a cache that never expires until the Movable Type database is changed, the setting that makes sense (to me, anyway) assuming that the only way the content displayed for a given page will change is if a change is made through Movable Type. This does bring up an important caveat however (although one I haven't verified), which is that if you have dynamic content on a page that changes based on input other than the Movable Type database, it may not work, or may take some extra effort to ensure that it works.
I've been thinking more about Apple's new iPods and my reaction to them. I think the basic force behind my disappointed reaction was that, for the first time ever, it wasn't entirely clear to me which iPod I would buy if I could. In fact, I think it is noteworthy that prominently displayed on Apple's webiste is a feature entitled "Which iPod are you?". Apple tends to strive for simple product lineups these days, balancing the need to make as much cool stuff available as possible with the fear of diluting their product image with a flood of sub-par options. Furthermore there is some tendency, I think, to feel that if a customer has to think too hard about which option is the best for them, they might think themselves right out of the purchase altogether, feeling that none of the options is optimal. Apple would much rather have you salivating over the one perfect product.
Apple is in a funny product transition with its iPods, based in part on the iPhone and in part on the increasing capacity of flash based players, and that has, unfortunately, left them caught making their customers choose between sub-par options whose flaws wouldn't even be evident if the other product wasn't available for comparison.
While checking out the new iPods at the Apple Store, I discovered a big defect in the new iPod's marquee feature: cover flow. On the first several iPods I picked up, scrolling through cover flow would cause the audio to distort and stutter unbearably. Not just a little or just when the song hadn't had a chance to cache and not just when scrolling all the way from one end to the other. I was just about ready to give the feature up for useless when I picked up another iPod, one attached to one of the iMacs on the other side of the room and there was no trace of the problem. A quick google search pulled up some other reports of the problem, so it wasn't just something wrong with the iPods in that store, and frankly I was a little surprised not to find more reports given the severity of the problem.
It puzzled me for a while. At first I figured that identical seeming iPods were getting different components. Then I figured it out: The ones by the computers were restarting when they got plugged and re-plugged. Sure enough, I picked up the first iPod again, stuttery as ever. A quick restart, holding down the center and menu buttons, and it was perfectly smooth. Mystery and, as far as I'm concerned, problem solved. Hopefully a future software update will prevent it from happening at all.
Unfortunately this doesn't change that, while cool, cover flow is of limited utility to begin with, especially so on a mobile device device with a large collection that can only be browsed in one long list. What's especially unfortunate is that on the go playlist creation doesn't seem to work with cover flow and that's where I could most see using it: brainstorming about what I want to listen to next.
Things I don't like:
Fiddling around with my speaker wire to see if I can fix the (real or imagined) crackle in my speaker only to find I've poked my finger into an old spider nest.
Further finding the nest wasn't as old as I'd thought when I see a tiny baby spider skitter by on the floor.
Further looking down and finding the very large momma spider rushing towards me out of nowhere doing a very good impression of a momma bear who's found me messing with her cubs.
At least I didn't accidentally summon a fear demon.
This morning, as I was waiting for the T, I saw a turkey. It was scrounging around the plants in the islands that run down the center of Beacon Street, right next to the trolley stop like it was waiting for a train to arrive.
At first, I thought I was hallucinating, but it was right there, about three feet away from me.
A Russian guy started throwing it bread crumbs. I asked, "Is that your turkey?" He said, "No, it is just hun-ga-ry!" I really, really wanted to reply, "No, it's not Hungary, it's Turkey!"
Continue reading “T is for turkey. No, really, turkeys like the T in Boston.” »
Oh, boy... I just read an op-ed piece in the New York Times addressing the role of elite universities in transmitting social privilege from one privileged generation to the next. As a graduate of one of those elite universities (Sasha and I both attended Princeton and have the dubious distinction of being children of alumni as well) my problem with articles like this isn't that I dispute the problem. There is no question that the makeup of each class at each elite university does not reflect a fair sampling of all those students qualified to attend, and there is no question that we would all benefit greatly if it did. It isn't even that I feel the solutions they propose are wrong--I don't know nearly enough to be able to speak intelligently on what the best solutions are, and don't get me Sasha started on the pure evil that is the test-prep racket. My problem is that, seemingly inevitably, these articles imply, if not state right out, that this is the result of some form of spiteful hoarding of privilege by a wealthy few who do everything they can get away with to keep the poor who are storming the barricades at bay. No doubt there are some few who feel this way just as there really are those few who still regularly write in to the alumni weekly decrying how the admission of women has ruined the university, but in my experience these are the exceptions and rare ones at that.
The piece ends with what is, to me, a particularly stinging and false assessment:
Last, and not least, by undermining the dubious assumption that the applicants admitted are those with the most merit, a lottery might promote a certain measure of humility — a quality in short supply in the upper rungs of the “meritocracy” — among admission officers and students alike.
The idea that Ivy League students have an arrogantly lofty idea of their own intelligence is deeply counter to my own experience and contributes to many of the stereotypes that lead to a difficulty in getting students who don't attend elite high schools or have connected parents to consider an elite university as an option. My own experience of Princeton, and one that has been confirmed among many of my friends, was precisely one of humility. Because every Princeton student was at the top of their high school, academically, you quickly and graphically learn that you are not special. No matter how smart you think you are, someone else is smarter and smarter by a very great deal. Rare is the person with a level of arrogance so great that they can live through that demonstration and still think they are hot stuff because they got some good grades, read some difficult books, or got a degree.
On the contrary, it often seems that the assumption of Ivy League arrogance comes from everywhere but the people who attend them. Sometimes simply admitting where you went to college is interpreted as arrogance: A usual response is something along the lines of "Gee, you must be pretty smart, huh?" This can lead to a pretty ridiculous effort to downplay the affiliation. One of the biggest problems, as I see it, is that the general population views elite universities like Princeton as something foreign. As a different world. The high school I attended was generally lower-middle class, and while they prided themselves on sending a high percentage of their students to college, I witnessed not a single bit of encouragement to even the brightest students to consider elite schools. The only students who did apply to elite schools were those who had the background and resources to investigate them on their own. The elite universities of this country were simply not in the world that my high school expected it's students to live in. Similarly the reaction that my mom would usually get from other parents was to say that they could never consider Princeton because there is no way they could afford it, never mind that with their greater resources, elite schools can often provide much more generous aid, frequently with no debt, than other seemingly more affordable schools. People just don't consider them enough to even investigate them because their first reaction is that those are schools simply don't exist in their world.
As I've said a number of times now, the admissions departments of the elite universities must do more to make admissions fair and to expand access to disadvantaged students (and they are), but the problems lie on both sides of the "divide". I'm always a little disheartened when I read articles that reinforce the idea that Princeton and other elite universities exist in a different world from the one in which "normal" people live. As long as people keep on believing that, it will remain true.
About a year ago I declared that Verizon was evil in a snarky little post that had much more to do with the company's complete failure at providing us with service in a timely manner than than any grand struggle of values. But now, yup, turns out Verizon is most definitely evil in that sense, too.
Update: They caved quickly. By the way, this was never an abortion rights issue. It's a free speech issue, in that it needs to be made completely clear that Verizon is every bit as much of a common carrier when distributing text messages as when it is distributing voice calls and should have no right censor what kind of speech occurs on their network. There may be a legal loophole for text messages, but even if there is, that's just plain silly. We really need to set policy that being a common carrier means you are common carrier for any kind of data, not set policy piece by piece as new technology emerges.