Anil Dash is completely right on this. But it wasn’t always this way. For example here’s an oldie from Adam C Engst of TidBITS:
New PowerBooks — Just after the release of the PowerBook 3400, dubbed “the world’s fastest portable” by Apple, comes the PowerBook 1000, codenamed Falcon. Announced on 01-Apr-97 and bearing the affectionate slogan “the fastest hunk of junk in the galaxy,” the PowerBook 1000 is based on the diminutive PowerBook 100 design and features a 320 MHz low-power PowerPC 620 CPU, 80 MB of RAM, a 2 GB hard disk, a hot-swappable removable storage bay that supports a CD-ROM drive, Zip drive, or floppy drive, and ten hours of battery life on trilithium resin battery technology. Unique to the PowerBook 1000 is generalized wireless communication technology that enables the machine to act as a pager or cellular telephone, or to connect to the Internet via a wireless modem at speeds up to 53 Kbps. Prices are expected to start at $1,500. [ECA]
– From TidBITS issue 373
I remember that showing up in Claris Emailer at about 3am. And the feeling that came over me as I scanned the issue, half-asleep, and caught the phrases “PowerPC”, “PowerBook 100 form-factor” and “$1,500″ — it was wonderful. But then my brain started working again and I realized it was 1 April. That realization was like being punched in the stomach. Reading it now, 10 years later, I can only assume that I was really, really tired.
(For pricing context, I should point out the low-end PowerBook 1400 I got a few months later was a $4000 machine. I love that 1400.)
Posted on 1 April 2008 in Uncategorized
Comments Off
def chunk(seq, chunk_size):
“”"Split a sequence into chunks.
>>> chunk(range(10),2)
[[0, 1], [2, 3], [4, 5], [6, 7], [8, 9]]
The final chunk may have fewer than chunk_size elements.
>>> chunk(range(10),3)
[[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]]
"""
return [
seq[offset:offset+chunk_size]
for offset in xrange(0, len(seq), chunk_size)
]
Posted on 23 February 2008 in Uncategorized
2 Comments »
Let’s see if I have this straight:
- Microsoft produces a shitty web browser.
- Ignorant (or just incompetent) web devs produce shitty websites geared to that browser.
- Microsoft decides to build a good browser.
- Microsoft decides to assume all web devs are incompetent. And demands that competent web devs add a declaration to that effect to their web pages.
In other words Microsoft is requiring that I, as a competent web dev, do extra work in order to make life easier for incompentent web devs. Suggest that to my face, and I’ll throw a copy of Atlas Shrugged at your head. It’s a big book — it’ll hurt.
I suggest to Microsoft that until you, as an institution, can grasp what standards are: Get out of the way!
Posted on 28 January 2008 in Uncategorized
Comments Off
iPod touch update:
Wonderful, simply wonderful. I have been running my touch jailbroken since I bought it in order to use the Mail and Notes apps — now I don’t have to. I’ll still be switching to an iPhone when (if) it becomes available in Canada, but I no longer have to worry about software updates in the meantime.
As far as the $20 price tag: It doesn’t bother me. Twenty bucks to go from an unsupported hack to a fully-supported set of applications is a perfectly acceptable price.
MacBook Air:
Wow, that thing is really, really tiny. Dropping Ethernet and FireWire is ano-brainer. And the same applies to moving the SuperDrive to an external pod. The only thing I’m really surprised about is the single USB port. I would have expected two or three.
But I probably won’t be getting one. I don’t find the MacBook big or heavy, so the reduced volume doesn’t make a huge difference to me. I like the back-lit keyboard and the multi-touch trackpad. But I expect that by next year, when I’ll be looking for a new laptop, the complete MacBook line will have multi-touch trackpads.
And the Air does have some significant tradeoffs. The battery is sealed in the case, so I can’t tuck a spare in my Braincell. The case is aluminum, and I learned from my 12″ PowerBook G4 that an aluminum case in my possession will get very, very dented, very, very fast. The RAM is fixed at 2GB; it’s a good amount of RAM, but I prefer to have headroom. The hard drive is a non-user-swappable PATA drive spinning at 4200RPM. There is simply nothing good about the hard drive. The SSD option is priced up in the novelty range and unlikely to come down anytime soon.
The only really compelling feature of the Air is it’s volume (or lack thereof), and that feature doesn’t compel me.
Time Capsule:
An AirPort extreme with a built-in hard drive. If I cared about the MacBook Air I would probably care more about this. The fact that Apple isn’t supporting Time Machine backups to USB-attached drives on the Time Capsule or the AirPort extreme makes me wonder just how ugly the firmware for these puppies is. It almost seems like they had to add an entire drive interface to make it Time Machine-compatible.
If I switch to an Apple-branded base station, it’d probably be a Time Capsule. That said, I see no reason to replace my trusty little DIR-655 anytime soon.
iPhone update:
I’ll care about this when I can actually buy an iPhone.
iTunes Store Movie Rentals:
“International later this year” probably doesn’t include Canada, but it would be nice if it did. I wouldn’t mind pulling the odd movie over the wire in full HD.
Apple TV:
I was planning on adding an Apple TV to my system before the keynote. And after the keynote I’m still planning on adding one.
Posted on 15 January 2008 in Uncategorized
Comments Off
Every page on this blog aside from the front page was broken. I’m assuming something went awry in the last WordPress upgrade I did, since I slapped the upgrade onto the site in a fairly lackadaisical manner. Nuking the files on the server and grabbing fresh copies of WordPress and the plug-ins seems to have fixed whatever is wrong. The fact that this level of rubber-chicken waving appears to have solved the problem makes me thing there’s a SCSI chain involved somewhere.
The weird bit is that, despite the WordPress upgrade script explicitly telling me it didn’t touch the Db, my categories have all disappeared. I could start restoring from back-ups, figuring out exactly who did what, and then taking steps to make sure it doesn’t happen again in the future– fuck it, my enthusiasm for PHP completely evaporated some time last month.
I’ll replace this blog with something quick and dirty (probably in Django) when I have a free day and then anything weird that happens will be my fault. But weird stuff won’t happen because it’ll be the most brain-dead, test-driven, simple blog engine I can possibly make. And hopefully the difference will be pretty much invisible from the outside. After all, comments were broken for the last who-knows-how-many weeks, and categories have just disappeared, so it’s not like I have any functionality to lose.
Posted on 7 January 2008 in Uncategorized
Comments Off
Final tally: 4/8 = 50% (same as last year). I have the prognostication ability of a coin flip.
Posted on 29 December 2007 in Uncategorized
Comments Off
In this case I am talking about the web framework, but that should not be taken as a slight against Mr Reinhardt.
After the last two years of writing PHP, the switch to the Python-powered Django is like a breath of clean, fresh, mountain air.
Not only is development now powers-of-ten faster, it’s enjoyable.
Posted on 23 December 2007 in Uncategorized
Comments Off
Loud Thinking: Potty mouths:
I’m allergic to people who willingly and without irony use the term ‘potty mouth’ in adult conversation. The notion that a word like fuck can make your brain curl up and cry like a toddler is so pathetically disturbing that it makes my skin crawl. It has the plastic smell of a barbie playhouse and the repressed insecurities of casual friday khakis.
Words cannot express how much I agree with this man on this point.
Posted on 11 October 2007 in Uncategorized
Comments Off