Google’s AdSense is down right now.
Archive for July 2003
Benjamin Pierce has written some slides about developments in type theory. He includes lots of references and timelines, and notes that research is being transferred to industry faster than before.
Last Monday, I fired an employee for the first time in my life.
It was the worst morning of my life, and the weekend before that Monday was horrible as well.
DropDMG 2.1.1 is out. This is just a little maintenance update, with the following changes:
- Fixed bug where converting a .dmg file created by Disk Copy to .img or .smi caused the .dmg file to remain in use so that it couldn't be deleted, or its volume ejected.
- Adding license agreements to images now works on Panther.
- Fixed open/save dialog prompts to be more in line with the Aqua Human Interface Guidelines.
- Programming is about communication between humans.
- Programming is not about racing to throw together a solution. It’s about changeable systems.
Nat Irons prices out various combinations of displays. Despite being more versatile, smaller displays offer more pixels per buck. Unfortunately, you need a silly adapter to use two Apple displays at the same time, and there are issues with using a PCI card to drive the second monitor, if you don’t have an AGP card that can drive two displays.
I think we don’t make things up. We just distill it to, hopefully, its most humorous nugget. And in that sense it seems faked and skewed just because we don’t have to be subjective or pretend to be objective.
But the other news networks, you know, they have this idea that they’re being objective. But news has never been objective. It’s always…what does every newscast start with? “Our top stories tonight.” That’s a list. That’s an object…that’s a subjective…some editor made a decision.…So why not take advantage of that and actually analyze what you do think is important.
McDonald’s planned to spend $1 billion over five years to tie all its operons in to a real-time digital network. Eventually, executives in company headquarters would have been able to see how soda dispensers and frying machines in every store were performing, at any moment. After just two years, though, the fast food giant threw in the towel.
Didn’t the fact that the project was called “Innovate” raise any red flags?
Davy Rothbart’s Found is something like a reality magazine, but that rather than tell a story through editing, he shows the source material—little hand-written slips of paper—whole and lets readers draw their own conclusions (via the Boston Globe).
On his proto-blog archive, the words and spirit of the late computer scientist Edsger Dijkstra live on, inspiring new generations of geeks.
Neal Stephenson (paraphrased by Ehud Lamm):
A good writer (and a good programmer) does not work by distilling good ideas from a large pool of bad and good ones, but by producing few if any bad ideas in the first place. It is important to give ideas time to mature [in the subconsciousness] so only good ideas percolate to the conscious level.
That’s the only way I know how to write prose. I tend to think about things in the background and then type out an almost-final draft. However, in all levels of school, I was told that it was important to get a rough draft down on paper as soon as possible, even if it was, well, rough. It could always be revised from there. The problem is that it’s much easier to revise in your head than on paper (or in a word processor). The ideas on the paper have inertia. They lock you into a trajectory. I spot some of the bad ideas and excise them, but I think my brain suppress new good ideas because there’s no way to seamlessly incorporate them into the draft.
The great advantage of the pen is that it is slow. Ideas, in his view, come faster than we can “serialize” them on the paper or at the keyboard. Therefore, the ideas are stored in an “accumulation buffer” in the brain. When in the buffer, the ideas interact and purify. If we empty the buffer too soon, we don’t give the ideas enough time to mature and we get a half-baked prose. There is a virtue in slow typing or in hand-writing. Needless to say, Neil is not a fan of a PowerPoint. He contends that writing on a blackboard gives a teacher and a student so important time to think.
+1 for chalk.
Stephenson’s comments were from his USENIX keynote, so how does this apply to programming? (I guess we are meant to put aside the obvious differences between the life cycle of a program and that of a novel.) On the surface, Stephenson’s ideas seem to be at odds with XP. Discovering design through refactoring and test-driven development is essentially a hill climbing strategy. For certain kinds of problems, it works great. But for others, it really pays to think carefully about your starting point. The Right design can make all the details fall into place.
Conclusion: to paraphrase Asimov’s Hardin, don’t let a methodology prevent you from doing what’s right.
DP So disks are not random access any more?
JG That’s one of the things that more or less everybody is gravitng toward. The idea of a log-structured file system is much more attractive. There are many other architectural changes that we’ll have to consider in disks with huge capacity and limited bandwidth.
JG The Internet plans to be running at gigabit speeds, but if you experiment with your desktop now, I think you’ll find that it runs at a megabyte a second or less.…That translates to 40 gigabytes per hour and a terabyte per day. I tend to write a terabyte in about 8 to 10 hours locally. I can send it via UPS anywhere in the U.S. That turns out to be about seven megabytes per second.
DP Wouldn’t it be a lot less hassle to use the Internet?
JG It’s cheaper to send the machine. The phone bill, at the rate Microsoft pays, is about $1 per gigabyte sent and about $1 per gigabyte received—about $2,000 per terabyte. It’s the same hassle for me whether I send it via the Internet or an overnight package with a computer. I have to copy the files to a server in any case. The extra step is putting the SneakerNet in a cardboard box and slapping a UPS label on it. I have gotten fairly good at that.
JG What I mean by that is [a disk is] going to have a gigahertz or better processor in it. And it will have a lot of RAM. And they will be able to run almost any piece of software that you can think of today. It could run Oracle or Exchange or any other app you can think of.
In that world, all the stuff about interfaces of SCSI and IDE and so on disappears. It’s IP.
Further reading: The Design and Implementation of a Log-Structured File System.
The non-beta release of Safari draws text too small. You can make it revert to the beta behavior of using a minimum font size, and Dave Hyatt is also working on what sounds like a better solution for a future version of Safari.
As John Gruber’s Daring Fireball nears its first anniversary, there’s still nothing like it on the Mac Web. And thanks to Google’s AdSense, Gruber may be able to spend more time on it in the future. AdSense manages to make everyone win: Google makes money and extends its brand, advertisers get quality visitors, small publishers get some compensation for their work, and readers get to keep reading quality sites. AdSense’s targeting is pretty good, although I’ve not yet seen an ad that I was genuinely interested in. AdSense only knows about pages, not about me, so it’s not up to the level of Amazon’s recommendations.
AdSense effectively works as a micropayment system, but instead paying with small amounts of money, you pay with small bits of your attention.
There’s no encryption. No accounts. Just eye balls and clicks. It remains to be seen whether the ad revenue will drop as people discover that they can send micropayments to their favorite sites by clicking. And I worry that bloggers may stop putting whole posts in their RSS feeds, meaning more double-clicks into Safari to see the ads. But for now, AdSense seems to be working well.
Write something controversial, and you tend to get linked to from other sources.
There’s no denying that controversy drives impressions and links. I don’t link to every good article on Daring Fireball. A mainstream journalist writes a stupid article, and Daring Fireball refutes it. The refutation is common sense, albeit well presented. That’s not too interesting unless I know people who were taken in by the original article.
This brings in readers, readers who may well disagree vehemently with your premise, but readers nonetheless. More readers equals more impressions; more impressions equals more money.…Any traffic is good traffic when you’re charging advertisers per impression.
This is true enough, but is the situation really that different for click-based advertising? Or for independents compared to corporons? The rumors sites of yesteryear were independents, yet they were clearly set up to generate ad impressions. And surely more traffic means more clicks.
Running exclusively AdSense ads keeps Daring Fireball looking clean. The ads get more attention and, presumably, more clicks. Adding more ads might be a net win in terms of revenue, and therefore good for readers as well. I like Daring Fireball’s clean design, and I like that lengthy articles are presented on a single page, but these are bonuses, not reasons to read it in the first place. I’d put up with more ads if it meant more articles (of the same quality).
I expect that some sites will begin showing AdSense ads where there were no ads before, but sites using other types of advertising will probably continue to do so. ATPM will run pop-under ads for the forseeable future because, as good as AdSense is, we can’t turn down the income that pop-unders provide. You might consider them a tax for using a free Microsoft browser, since the other major browsers have pop-up blockers. The AdSense ads look better and pay better than the skyscrapers we had been running, so that’s a win all around. For the remaining banner ads, we’ll continue to filter out the “You may already be a winner!” ads and the ones with excessive animation. These annoy everyone and probably scare people away. But the banners will stay because they help pay the bills.
The reason I’m laughing is not so much that TidBITS and/or Adobe would tout platform migration as a solution, but because it is not possible (unless the capability was added to Premiere Pro) to convert Premiere projects from one platform to another—at least not easily.
The July issue of ATPM is out.
- The Candy Apple: Gadgets in the Toolbox
- Machine Language: Clone Wars
- Quick Tips in Design: Part 1: Using Value
- Networks in Action: Clandestine Wireless Networking and MacStumbler
- Roll Your Own: Getting the List of It—Part 2
- How To: A Little Help, Please? Tips for Getting Good Tech Support
- Cartoon: Cortland
- Cartoon: Crazy Andy
- Desktop Pictures: Landscapes—Part 2
- Review: Little Snitch 1.0.3
- Review: Myth III: The Wolf Age
- Review: Steal This Computer Book 3: What They Won’t Tell You About the Internet (book)
- Review: Two Books for Switchers
- Review: Uplink 1.3.1
- FAQ: Frequently Asked Questions
In a traditional calling scheme, where stuff goes onto and off of a stack, implementing tail calls can be a bit of a pain. Not a huge pain, mind, but a bit of one, as you have to screw around with the stack some, which is often awkward, painful, or just annoying. I hate complex stack manipulation. Fooey. However… If, rather than using a stack calling system you use a CPS system instead, almost all of the pain goes away, which is always nice.
I’m an Internet advertising sales person, and you know what’s the hardest thing to sell? Reporting. Data. Trackability of the advertising medium.
Why bother with objects and components at all? The purpose of objects is to provide encapsulation and implemention reuse. With code generation, we reuse the requirement or design and not the code. It doesn’t matter if code gets duplicated and spread about because a human won’t be maintaining it. Objects and components are a human artefact for versioning and managing work among developers. They exist to help us humans deal with software complexity. Let’s use computers to deal with software complexity instead.
At the heart of every language is a core set of ideals that give the language its direction and purpose. If you really want to understand the choices that language designers make—why they choose one feature over another or one way of expressing a feature over another—the best place to start is with the reasoning behind the choices
This might be compared to the Zen of Python.
- Conflict Catcher 4
- Origami—The Secret Life of Paper
- SoundJam MP 1.6
- SoundJam MP 2.0.2
- SoundJam MP Plus 2.5.1
They also published classic games such as Glider and Crystal Quest, which is the second Mac game I remember playing (after Brickles).
This is a cheap place. Wait, did I say cheap? I mean frugal. No Herman-Miller Aeron chairs here. It's nice to work for a company that saves pennies so they add up on the bottom line. The office furniture is utilitarian. I'm sure there is a fancy executive table somewhere, but the conference rooms, training rooms, etc. just have plain tables.
[SS_PrefsController] (and its associated protocol) makes it absurdly easy to implement multiple-paned Preferences windows in your applications, with views dynamically loaded from one or more external bundles. Once you’ve set up the bundles for your preference panes (easy in itself), it’s basically just two lines of code to implement a full-featured Preferences window like those in iChat, Mail, Safari and many other applications.
[UKPrefsPanel is] a simple delegate class that makes it easy to create a simple Preferences window. Put your different preference panes in a tabless NSTabView, connect that to an instance of UKPrefsPanel, and you automatically get a toolbar with icons for each tab pane that switch between the tabs.