Quantcast

Remembering GeoCities and KickTam

After fifteen years, GeoCities is shutting down for good today. The Internet Archive has been working with Yahoo to make sure that the Wayback Machine has a complete, final snapshot of GeoCities before it goes offline.

The Archive Team, another archivist group run by Jason Scott of textfiles.com, is also archiving GeoCities. Jason created an under construction animated gif gallery to show the important cultural artifacts that we are going to lose with the GeoCities closure. I was browsing the gallery and found this little guy:

sesenshi-moonkawaii_construction

That penguin looks a lot like Tux, the linux penguin, but he’s actually the old-school mascot of QuickTime. I think his name was KickTam, which was how someone’s kid pronounced QuickTime. I forget the details.

KickTam isn’t used by Apple marketing, but you can sometimes find him hanging out with the QuickTime developers. He’s seen less and less everyday, and I was surprised to stumble upon him wearing a hard hat.

I think the only place that Apple still has KickTam up on apple.com is on the Letters from the Ice Floe page. Icefloe were tech notes that were useful to developers. I remember pointing people to Icefloe #19 every once in a while, and was surprised to see it is ten years old now. It seems the last Icefloe was written in 2001, and I imagine these will slip off apple.com soon, and KickTam will be gone from the net forever.

Apple Tech Support: Secret Tricks of the Apple Fanboy

Even though Apple makes the best tech stuff in the world, that doesn’t mean their products are free of bugs. Far from it :-) As a former employee of Apple Computer and a buyer of many tens of thousands of dollars of Apple products, I’ve seen a lot of Apple from both sides of the corporate wall. Friends and family often ask my advice on how best to resolve these issues. The following hints at getting your Apple needs met are actually neither tricks nor secret, just observations on the alignment of incentives between consumers and the mega corporations they depend on for cool gadgets.

Behavior

I generally wait about 2 months before upgrading Mac OS X or my iPhone firmware. This allows enough time so that the most egregious issues are suffered out by the masses, and by the time I update most issues are resolved. Understand though that if you are a power user, there will always be issues when you upgrade, and the longer you wait to upgrade, the more issues there will be. Such is the life of technology. This is more a law of entropy than the fault of Apple. I’ve noticed a lot of the time after I upgrade when I’m upset about a “bug” it’s usually just a different behavior that I’m not used to or that I don’t like. It’s best to just move on from those issues.

Use Case

The most important factor in resolving a technical issue is: how many other consumers are encountering exactly the same issue? The more people that have the problem, the faster the issue will “fix itself” because other whiners will get Apple to move their ass. Consider the product you are using and why it was created. Is this free software from Apple like iMovie? In that case, forget about it, this issue will never affect Apple’s bottom line. Did you pay money for the product that is having issues? Take a number, it may be months before your issue is resolved. Is your usage of the product outside of the mainstream? If so, you may want to reconsider. The fewer people that are encountering the exact same issue as you, the more energy you will have to exert in getting Apple to help resolve your issue. If your use case is inside the mainstream, google the error message. The first result will explain in detail how to resolve this problem since everyone else runs into the same situation.

Generally Annoying Bugs

These are general system software problems that affect everyone who has the version of the software that exhibits this issue. Recognize that no one individual person at Apple can mobilize to resolve this issue. It will take days before a developer even finds out that the problem is a problem, it will take more days for a developer to find and fix the issue, and it will take weeks to actually ship the software update. Software updates are extremely risky. Only critically important bugs are addressed in software updates. All other defects are dumped into the next major release of the operating system, which could be years away. What is critically important? … very simple … only issues that put Apple’s brand or bank account at risk are critically important. Be mindful that unless the bug results in data loss or some crazy bad problem, most consumers won’t even notice. If they do notice they will fault themselves before they fault Apple, a fact which all corporations use to their advantage.

It is possible to file bug reports, but it is time consuming. Instead I recommend incenting other consumers to file the bug reports so you don’t have to. Recall Apple doesn’t even allow consumers to search for duplicate bugs in the interest of protecting trade secrets of third parties, etc. But if you really want to file a bug, here is the place: http://bugreport.apple.com.

Your Time is Valuable

As a consumer, your time is valuable. Therefore as with any good corporation trying to maximize shareholder value, Apple implements processes designed to waste as much of your time as possible. The goal here is:

  • customer gives up and doesn’t care about the issue anymore
  • customer resolves the issue on their own
  • customer resolves the issue on their own, posts the solution on forum (best case!)
  • customer moves to another vendor

This last case is interesting. Note that it is not beneficial at all for Apple to keep you as a customer if you are costing them more money than you are paying them. You might be suprised how much support calls cost Apple. Then again, You may also be suprised how much your time is worth. When I’m deciding whether to interact with a corporation I pretend my time is worth $500 per hour. Note that this is a pretend valuation of my time, but it helps me make better decisions about which battles I fight with technology.

Resolution

So you’re still running into this issue that affects a lot of people, but not enough to be a big deal, and you have some time on your hands, you want to put some effort into resolution. The best way to mobilize Apple is to convince people to call Apple phone support and waste a bunch of their time. Each time the call center picks up they bill Apple $20-30. Nothing grabs corporate attention like hemorrhaging money. Being so expensive, the top issues are tracked and resolved quickly. If you can pull it off, brand-damaging negative publicity also gets attention. However keep in mind that Apple is the genius of tech marketing. They have sophisticated processes in place for damage control. Unless you have the resources to file a significant class-action lawsuit, using normal consumer channels is probably your best bet.

Hardware, and Real Resolution

The most legitmate issues are those that happen as a normal course of business and are specific to the physical piece of hardware you actually own as opposed to the product in general. Statistically speaking this generally ends up being a laptop with a dead hard drive / lcd screen or a dead iPhone. Smaller defects are not addressed unless egregious. For example, your laptop screen must have five dead pixels on it before Apple considers it to be “defective” .. this really sucks for those who have dead pixels, I feel lucky it’s never happened to me. If I did receive a screen with dead pixels, I would return the laptop and buy it again, probably eating cost of sales tax and/or shipping. Why would I make that concession? Look, give these guys a break. Consumer products are manufactured to high levels of quality which are industry standards, for example ISO 9001. The bargain we make as consumers is that large volumes of products are created which lowers prices to near zero. Quality is kept high, but there is still a non-zero probability of defects. If the defect happens to end up in your device, take your lumps, it is “an act of God” … Or do what I do, pay the incremental cost of returning an getting a new unit, move on with your life, and live peacefully knowing you have the best technology society can offer.

The Genius Bar

When the Genius Bar first started, it was awesome. It was almost as good as Apple’s internal repair facility in Cupertino which is excellent and can fix almost any Apple product in a day. But even for Apple employees, sometimes a problem is severe enough that the unit needs to get “sent to texas” … phone support will try to “send you a box” into which you pack your laptop and ship to texas and get your laptop back two weeks later. Whenever possible I try to make the Genius Bar do this nonsense for me. It’s much easier to drop off the laptop at the Apple Store, have the Genius ship to texas, and then pick up the laptop at the Apple Store again. When you go back to pick up the laptop, make sure it is fully functional before you leave! Bring everything you need for testing, including a power adapter and any accessories. And yes living without a latop for two weeks is damn near impossible. Why doesn’t Apple do something obviously helpful like transferring your data over to a loaner laptop while your own laptop is repaired? It’s too expensive, and apparently consumers aren’t demanding this service even though having a loaner rental car is standard in almost any car insurance policy.

So you have an issue, and after 5 minutes of googling still broken. Make a clear decision about what you want the Genius Bar to do for you and how they are going to do it. Are they going to replace the unit? Fix the software? Explain the situation? Write these goals down! At the Genius Bar it will be noisy, chaotic and frustrating. Having a written list of tasks helps keep both you and the Genius focused on resolution. Once you decide on goals, make an appointment at the Genius Bar and don’t leave the store until you achieve resolution. Various geniuses will ask you to “sit over here” or “step aside while help another customer” … be very polite, but stick around. Stay within the field of view of the Genius and make frequent eye contact. Smile a lot. If you are a tech genius and you “know what’s wrong” … for goodness sake play dumb. The Genius wants to feel like a hero, just like the rest of us. The Genius has to stand around all day listening to bitchy, whiny, or stupid people (or all three) … have some compassion. Here are some tactical suggestions for the Genius Bar, in order of efficacy:

  • Choose your time wisely. Pick a time where the Genius will be happy and stress free, likely to be a weekday morning like Tuesday or Wednesday. Choose your store wisely, an Apple Store in a rich neighborhood shopping mall that doesn’t get a lot of traffic is good. Apple’s flagship 5th Avenue store in New York is generally unwise (3am graveyard shift might work though)
  • Make an appointment. Often the next available appointment won’t be until tomorrow
  • Be Prepared … I cannot stress this enough. Have your software updated to the latest versions, battery fully charged. If dealing with an iPhone issue, bring your laptop and everything you need to backup/sync your iPhone. Think of every excuse the Genius might have to send you back home and plan for it.
  • Show up early
  • Be polite, but firm. Remember your goals for this visit, which you decided and wrote down beforehand. Choose your battles
  • Do what ever they say patiently, project composure and calmness. If they want you to re-install OSX, sit there and do it. Remember, you are going to be cooperative and eventually will be leaving with your needs met. Play dumb.

After following these steps, you may have to escalate to a manager and start all over again. Patience here is key. It also just depends on who you are working with, study up on well known techniques Social Engineering and try to leverage them. If you are working with a Genius that is having a bad day or just has it in for you, go home and make another appointment, perhaps at a different Apple Store.

When Purchasing, Buy Refurbished

While I’m thinking on strategy for Apple consumers, a quick note on saving a few hundred bucks. A lot of people know about the “friends and family” discount offered to Apple employees. Truth is I almost never use that, I can usually get a much better deal buying a refurbished unit. These deals on are the apple online store near the bottom of the page, here’s a picture:
Picture 6
Other third party sellers of Apple products also sometimes have lower pricing than the Apple Employee Discount. The Discount is more of a means of social control to help the Employees feel special, and to incent otherwise intelligent Fanboys to get jobs and slave away at Apple.

Refurbished products are excellent deals for several reasons:

  • Refurbished products were returned because of a defect. The defect was repaired and the unit is brought up to the same quality standards as a new unit. Statisically speaking, that same defect is unlikely to happen to this particular unit
  • Refurbished units have the same 1 year warantee as new units, but the refurb unit, statisically speaking is less likely to have problems
  • Almost all hardware issued to Apple employees for their day-to-day work consists of refurbished units.

Finally, whether you buy a refurb unit or a new unit, beware of buying the first in a series. For example when the very first Titanium laptops came out, they had some manufacturing issues that were resolved after a few months. Refurb units are typically a few months out of date, if not more, look closely at what you are buying. Generally speaking a Fanboy willing to own Apple hardware that 6-12 months behind the hardware release cycle can save about $1,000. That’s enough for two fixed gear bicycles :-P

Mind Tricks: Ancient and Modern

My new favorite little book. It’s got all kinds of helpful funny things. One of the ideas is to map letters to numbers, then make up nonsense sentences to remember strings of numbers (combination lock?). Of course I used a unix command to come up with the most frequent initial letters in the english language. Then I massaged the results a little.

cut -c1 /usr/share/dict/words | tr "[:upper:]" "[:lower:]" | uniq -c | sort -nr

Here is the resulting map … let’s go memorize some long strings of numbers!!! oh wait … we have cell phones, nobody needs to remember anything any more :-)

0 s ero
1 u on
2 t wo
3 r ee
4 d oor
5 a live
6 m ix
7 h eaven
8 b ait
9 p ine

93 68 59 79 45 47
please remember milk, bread, and please help piggy drain all drinks hai!

Author Steven Saunders has an eccentric little consulting company but I found this paper ABOUT EMERGENCE an interesting Sunday read.

dallas

teenmania

no explanation provided:
possibly, no explanation needed

Why gcc has a free Objective C frontend

Apple compiles OS X and almost all of its software with gcc. I still find it hard to believe that such a secretive company builds almost all of its software products using gcc, the compiler that anchors the Free Software movement.

Apple’s uses Objective C because NeXT used Objective C. When Steve Jobs was at NeXT, he didn’t want to place their objc gcc frontend under the GPL, but ended up having to. Here is an excerpt of an email from Stallman:

I say this based on discussions I had with our lawyer long ago.  The
issue first arose when NeXT proposed to distribute a modified GCC in
two parts and let the user link them.  Jobs asked me whether this was
lawful.  It seemed to me at the time that it was, following reasoning
like what you are using; but since the result was very undesirable for
free software, I said I would have to ask the lawyer.
 
What the lawyer said surprised me; he said that judges would consider
such schemes to be "subterfuges" and would be very harsh toward
them.  He said a judge would ask whether it is "really" one program,
rather than how it is labeled.
 
So I went back to Jobs and said we believed his plan was not allowed
by the GPL.
 
The direct result of this is that we now have an Objective C front
end.  They had wanted to distribute the Objective C parser as a
separate proprietary package to link with the GCC back end, but since
I didn't agree this was allowed, they made it free.

So that’s why. Via this email thread between Richard Stallman and Bruno Haible about why Common Lisp is under the GPL. Via reddit.

Apple’s move to the GNU Toolchain has been very good for developers (remember MrC and MPW?), but it sure took a long time to get here. Yesterday I remotely debugged an iPhone app using gdb. Spending time in a debugger isn’t usually a very pleasant, but I surprisingly happy when gdb stopped at my first breakpoint…

Damar the Talking Starling


You can hear him repeating his name “Damar” a lot. Via this reddit thread, which contains this devastating story of a guy caring for a mccaw.

I used to have a friend who worked the night shift at Hardee’s. Late at night, a crow would perch on the drive through window and ask for a roast beef sandwich. Until then, I had no idea birds other than parrots could talk. Crows are spooky.

Pics from the GitDown

We went to a ridiculous event put on by the GitHib crew. It was like dorkbot but with version control instead of electrons.

The 2008 VP Debate Drunky Bingo Game

No one should have to watch the debates sober.

Be sure to print out some Drinky Bingo Boards before the hurting begins.

Update:

THE ROBOT BURNS TONIGHT!

What’s making me happy today: Free Software License Upheld in US Court

The Court of Appeals for the Federal Circuit has ruled that the Artistic License is enforceable! Happy day! The 16-page opinion is a good read.

From Lawrence Lessig:

So for non-lawgeeks, this won’t seem important. But trust me, this is huge.
[snip]
In non-technical terms, the Court has held that free licenses such as the CC licenses set conditions (rather than covenants) on the use of copyrighted work. When you violate the condition, the license disappears, meaning you’re simply a copyright infringer. This is the theory of the GPL and all CC licenses. Put precisely, whether or not they are also contracts, they are copyright licenses which expire if you fail to abide by the terms of the license.

Important clarity and certainty by a critically important US Court.

via reddit

Update:

orig photo by Sam Ogden

5 random things I learned this week


Take the case of Ellen Connally, a Democrat who lost her race for chief justice of the state Supreme Court. When the ballots were counted, Kerry should have drawn far more votes than Connally — a liberal black judge who supports gay rights and campaigned on a shoestring budget. And that’s exactly what happened statewide: Kerry tallied 667,000 more votes for president than Connally did for chief justice, outpolling her by a margin of thirty-two percent. Yet in these twelve off-the-radar counties, Connally somehow managed to outperform the best-funded Democrat in history, thumping Kerry by a grand total of 19,621 votes — a margin of ten percent.(181) The Conyers report — recognizing that thousands of rural Bush voters were unlikely to have backed a gay-friendly black judge roundly rejected in Democratic precincts — suggests that ”thousands of votes for Senator Kerry were lost.”(182)

Kucinich, a veteran of elections in the state, puts it even more bluntly. ”Down-ticket candidates shouldn’t outperform presidential candidates like that,” he says. ”That just doesn’t happen. The question is: Where did the votes for Kerry go?”

Gobby: Open-Source, Cross-Platform Collaborative Text Editing!

Shag and I were collaboratively hacking on a new radio station for the archive, and we needed a collaborative text editor. SubEthaEdit is great, but Mac-only. Shag found Gobby, which is a like an open-source SubEtha that works great on Linux.

If you haven’t used a collaborative editor before, multiple authors can work on the same files, and everyone sees each others edits in real time, differentiated by background color. Gobby has syntax highlighting, integrated chat, over-the-wire encryption, and is a pretty solid text editor too. We love it! Here are some ideas we had for future patches:

  • indent-region
  • sound cue upon message receipt
  • auto-indent
  • birds-eye view of the file to watch changes go in
  • function dropdown

As soon as we get indent-region and function dropdowns patched in, I’ll switch my main unix editor from KDevelop to Gobby.

KenFlix: 165 movies for $20/month

We are on the second day of our KenFlix subscription, and loving it! I was wondering if KenFlix was limited to just one movie per day, or if you could get a movie, watch it, and then immediately walk back to Four Star Video and get a new one. I told the folks at 4star we were going to have a KenFlix weekend where we would see how many movies we could watch in two days, and all three people working behind the counter said that was a perfectly great idea. Ridiculous!

So anyway:
(11 hours open per day) * (30 days per month) / (2 hours per movie) = 165 movies a month!

Cookie Monster Knows How I Feel


Cookie Monster Searches Deep Within Himself and Asks: Is Me Really Monster?

Me know. Me have problem.

Me love cookies. Me tend to get out of control when me see cookies. Me know it not natural to react so strongly to cookies, but me have weakness….

Me was thinking and me just don’t get it. Why is me a monster? No one else called monster on Sesame Street….

How can they be so callous? Me know there something wrong with me, but who in Sesame Street doesn’t suffer from mental disease or psychological disorder? They don’t call the vampire with math fetish monster, and me pretty sure he undead and drinks blood…

(cookie monster knows how i feel)

On Software Development

PaulR said this at lunch and we all lost it:

Software isn’t finished until the last user is dead.

Original source unknown…

Using git For Large Scale Digital Archiving: An Outline

Here are some notes on how one might re-architect Internet Archive infrastructure to meet some additional goals:

  • easy to set up and replicate
  • provide versioning and transactions
  • handle more media types well
  • better ingest/locate/read apis
  • better search

The current architecture looks like this:
iaarch.png

The diagram is simplified a lot. There are currently about 1800 nodes in the cluster, most of which are storage nodes (low power 1U nodes with 4 1TB hard drives). The deriver nodes are used for crunching things like pdfs and h.264s, and there are about 300 of those. There are 5 www frontends, hidden behind a couple load balancers, and database server has at least one read-only secondary.

What I like about the current infrastructure:

  • Easy to add more storage. Some other archival solutions do not scale well, since they insist all hard drives be connected to the same machine. This starts to break down at the petabox scale.
  • Easy to add more bandwidth. Currently IA is pushing 5+Gbps of outbound bandwidth. Every storage node runs an Apache server, which lessens load on the homenode, which is a problem with other archival systems.
  • Database hits are not required to locate an item on the cluster. When an item is requested through the Locator service, a multicast is sent, and machines that have the item will respond. The lessens load to the DB server, which is important when getting thousands of web requests per second.

What I find interesting about the current infrastructure:
  • RAID is not used. Items are backed up on to a secondary machine when added to the archive.
  • This is mostly due to “RAID is hard to get right” and cost
  • This means there are two machines (and two apaches) ready to serve the same content.
  • One machine can be taken down for repair while the content is still online.
  • I would like to see use of either RAID or maybe RAID_Z

An idea on how to re-architect things using git as a storage backend to provide versioning and transactions
  • git is the version control system used for the linux kernel.
  • git is a totally new way to operate on data. Read this if you are a non-believer.
  • We could keep the infrastructure mostly the same as IA, but store items as git repositories. This would not be a large architecture change.
  • git would become a supported access protocol, in addition to http, ftp, and rsync. Backups could be simple a git pull. We could git clone the entire cluster.
  • We would get versioning!

Changes needed to repo.git to make it useful in an archive cluster:
  • Change reguser.cgi to tie into the existing user database (talk to dbserver)
  • Change regprog.cgi to work in a cluster environment. Repositories are inited in /{0-4}/items/id/id.git on a primary node (talk to catalog/homenode)
  • Use post-commit hook to queue backup and derive tasks (talk to catalog)
  • Change gitweb to show custom view of movie, audio, texts (book), and photo collections. Software collections would show standard gitweb view.

I don’t think this would take too long to implement, but I’m lacking co-conspirators these days.. Maybe when shag makes it to SF we will have to knock something out :)

David Sedaris delivers a pizza


(via)

Ruby 1.9 gains block-level scope

I was watching this Google TechTalk that Yukihiro Matsumoto gave on Ruby and learned that Ruby 1.9 had block-level scope.. cool!

Apparently, block scope is some sort of thing with me:

Page-Turner Coffee

Peliom sends in this observation about Philz:

I got the “fire alarm” coffee from philz this AM


sooooo good!


certain coffees I call “page turners” becaues I take a sip and then I have to take another sip, and on and on


just like a book I can’t put down


CC by-nc Photo by Scott Beale/Laughing Squid

Memories of Programming the Mac, Pre-OSX

Last night, I had a dream about programming the Mac back in the old days, before OS X. The more I think about it, the more I think I’m still dreaming. Did this stuff really happen? I remember:

  • MPW, the Macintosh Programmers Workshop. The old mac didn’t have a console, or even run.exe. We had MPW, which gave us a commandline of sorts. We could access cvs using MPW. It is still being distributed by Apple.
  • MacsBug. The low-level debugger. Its hard to believe this is all we had. We loved it. DebugStr() was the poor Mac Programmer’s console. My SE/30 (and all Macs) had a “Programmer’s Key” that would invoke MacsBug. If you didn’t have MacsBug installed, the built-in MicroBug would come up instead. Apple still distributes MacsBug. Fortunately, I’ll never need it again.
  • Vague memories of Projector, which was Apple’s version control thing, and Jasik Debugger (The Debugger)
  • MrC. This was Apple’s C compiler. We used MPW to compile our code with MrC. Even if we used Metrowerks to initially write the code, MrC was what we used to compile the engineering builds. Back in the the day, the shipping versions were actually compiled by a *third* compiler, from Motorola, which ran on an AIX box or something.
  • Metrowerks CodeWarrior. I loved CodeWarrior. It was blazingly fast. It has a source-level debugger, which often ignored my breakpoints. It had a great IDE. It had a great Editor. The project files had a .µ extension, no joke. I bought my first copy of CodeWarrior in 1995, at the student rate, using the proceeds of my first real programming job (which is where I met peliom). CodeWarrior still brings back warm memories.
  • BBEdit. I’ve been using BBEdit since forever. It doesn’t suck. It makes me happy, in a security blanket kind of way.
  • Pascal. The Mac Toolbox interface was originally Pascal. Pascal was *the* way to write mac apps way back when. I tried to learn Pascal before I learned C, but never got anywhere.
  • Think C and Think Pascal. Compilers sold by Symantec. I learned C programming using Think C on a SE/30.
  • EvenBetterBusError. I don’t remember BusError, or BetterBusError, but EvenBetterBusError sticks in my mind. I don’t remember what it did, or why I needed it, but I think it was a System Extension.
  • System Extensions. Marching across the screen on boot up. Little friends there to make your life better. The thing people noticed when booting OS X for the first time was that their little friends were all gone.
  • Inside Macintosh. This was the Mac API documentation, originally in Pascal. A giant set of bound volumes, or available in electronic form. I think they were in HelpViewer or DocView format or something..
  • Pascal strings. You still needed them for DebugStr and window titles and such. c2pstr() was often used.
  • PlayMPEGInWindow(). I don’t remember if this was the exact function name, but peliom and I were trying to display MPEG video, and when we tried to see how QuickTime programmers did it, we found this function, and it cracked us up. So easy! When peliom and I both ended up working at Apple, we ended up working directly with the guy that wrote PlayMPEGInWindow(). Small world.
  • System7 Pack. SpeedyFinder7. Greg’s Buttons. These were crazy programs that modified the system in crazy ways.
  • Talking Moose.
  • Hypercard. A programming environment that was way too easy to use. Kids could write awesome, fully-functional programs. It was obviously too powerful, and had to be killed off. One day I found out the guy who worked across the hall was the guy that wrote the HyperCard parser. I was in awe.
  • MoreMasters(). You had to call this several times at app startup to allocate master pointers. Really.
  • WaitNextEvent(). You had to call it in your stupid event loop. If you didn’t, no other apps would get scheduled on the CPU.
  • The MultiFinder. WTF? Finder->Special->Set Startup->Start Up System with MULTIFINDER!!!
  • The Chooser. Background Printing. AppleTalk. I never understood the Chooser.
  • RAM Cache. Built right into the System 6 Control Panel.
  • Command-I Get Info. Increase the Application memory size.
  • Option+”About this Mac”. You can see the sun setting over the hills in Cupertino. When I worked at the lab with peliom, we made a video streaming app, and I rendered a 3D version of this scene using Bryce for our About Box. I wish I still had that around somewhere. When I got to Apple, I saw this same view out of my office every day.

That’s all for now. I’ll leave by thanking all those responsible for gcc and gdb. And UNIX. Thank you.

Only One More Year of Email!

Prof. Knuth on email:

I have been a happy man ever since January 1, 1990, when I no longer had an email address. I’d used email since about 1975, and it seems to me that 15 years of email is plenty for one lifetime

I’ve been using email since 1993, and I am so done with it. One more year, and then I can pull a Knuth.(via)

Ruby is SERIOUS BUSINESS!

Tim Bray is MAD that RubyConf was on a weekend. _why agrees:

People, Ruby isn’t a game. It isn’t a hobby. It’s certainly not a very good food source and it’s not an article of clothing. You can’t just put Ruby in the wash with a load of whites. Nice try, but no. No. Jeez, grow a brain. Ruby isn’t a tambourine you can bang loudly in my ear. I’m trying to use my iPhone here, guy.

And Ruby is not some bachelor’s party with a foxy lady in a sherlock holmes hat. Hardly: Ruby is all dads. Put a petticoat on, woman. Pop those balloons. We’re all getting paid here and we’re all having kids here. Get with the program.

Ruby is serious business. Real business and totally bankable. Fact: You cannot do it late at night. The office is closed during those hours. You should be in bed like all the other dads. Now, have a nightcap and go put your PJs on, we’ve got to wake up early tomorrow, it’s pancake day.

I love why. Read the whole thing, it’s spot on.

Let me see… I think I can pencil you in between Ubuntu installs.

I did two things last week: sleep, and install Ubuntu. That’s all I did. Acutally, I didn’t really sleep very much, because I was busy installing Ubuntu about 54,000 times. Here, I made a chart:

Liveblogging an Ubuntu 7.10 installation

Photo_102.jpg

Bob, Shag and I are trying to move our book scanning hardware to Ubuntu 7.10 – the Gutsy Gibbon. It’s a ridiculous process, and our hardware is crap. Here are some notes:

  • chai:20 (4:20) – Started up the installer app on the live cd. Unfortuantely the screen rez is 800×600, so we can’t see the important back/next/ok buttons on the bottom of the installer panel. What kind of installer requires greater than 800×600 screen rez?
  • chai:23 – Somehow, by logging the Live CD user out and fucking with the screen rez, we got the screen to display a larger screen res, but we can’t see the entire desktop on our screen. Moving the mouse around seems to pan the desktop, which would kinda work, if we could see the mouse cursor.
  • chai:25 – We are asked for the timezone, and San Francisco isn’t one of the available options. Los Angeles is. However, we opt to move to La Paz.
  • chai:30 – It is now officially time for chai.
  • chai:40 – We have found that starting a lot of xeyes processes lets us estimate where the invisible mouse cursor should be. There are fifty eyeballs on our screen
  • chai:45 – Bob starts playing minesweeper
  • chai:48 – Someone figures out that this version of xeyes lets us resize the window, so there is a GIANT EYEBALL staring at me
  • chai:50 – Installation done, rebooting!
  • Mouse works after reboot! Now to try and scan books!

Photo_101.jpg

Photo_10.jpg

The world would certainly be a better place…

if every tech company wrote customer service letters like this!

To all Woot customers:

I have received more than three emails from Zune buyers who are upset about Woot dropping the price of the Zune by $20 one month after it went on sale the first time. After reading every one of these emails, or at least scanning their subject lines, I have some observations and conclusions.

First, I need to make a better effort to hide my email address.

Second, I am sure that we are making the correct decision to lower the price of the 30GB Zune from $149.99 to $129.99. This confidence is based on more than the holy doctrine of corporate infallibility. The Zune is a breakthrough product, and we have the chance to “ride the lightning” and “shoot the curl” this holiday season, not to mention “kill the messenger” and “rock the vote”, further enabling us to “pay the rent” and “keep the lights on”. It benefits both Woot and every Zune user (but especially Woot) to drag as many new victims as possible into the Zune “dungeon”. We strongly believe that misery loves company this holiday season.

Third, being in technology for 1+ years, give or take a year, I can attest to the fact that the technology road is bumpy. There is always some idiot changing lanes without signaling, and the potholes never seem to get fixed. If you always wait for the next price cut or to buy the new improved model, you’ll never buy any technology product. I mean, why should you? Truth is, you don’t really need any of this junk. We’re afraid you’ll catch on to that fact and overpaid frauds like me will have to go back into fields like telemarketing and burrito construction. Fortunately, most of you continue to languish in a consumerist stupor, wallets spread wide for us to plunder as we please. The bad news for us is that if you buy products from companies that support them well, you will receive years of useful and satisfying service. But we’re hoping you’ll buy from Woot instead.

(more…)

Older Posts »