tech

better late than never

So, if you check out the Ars Technica page about their joint party with Gizmodo, you’ll notice a big guy with his mouth open pretty much dominating the foreground in the first picture (the crowd picture).

That’s me.

Yeah, I wish my mouth wasn’t open, and I wish I was another 40 pounds lighter, but damn, I’m in Ars.

apple
general
life
tech

Comments (0)

Permalink

Compare and Contrast part II

I thought I should clarify some things.

Programs and operating systems that run on small mobile devices do have differing requirements from the same sorts of things on a desktop or server class machine. This is certainly true.

Mobile devices require a UI that deals with smaller screens. Since many of these mobile devices are communication devices, there is a need for more real-time code to handle the traffic.

My main point is that as mobile devices become more powerful, they become able to build on a base that didn’t necessarily have to originate on a mobile device. With OSX, Apple is able to adapt the UI classes to be appropriate for a mobile device, and as far as I can tell, most of the tweaky real-time stuff is being done in a segregated part of the device (every time I’ve updated the software, it’s been in two stages — first the OS, and then “baseband,” I assume (caveat reader) that the baseband stuff is the radio firmware, where the real tweaky-ass stuff needs to be).

I’ve come to this conclusion because of my time spent developing on the iPhone, as well as time I’ve spent developing for other devices. On the iPhone, most of your program is written just like pretty much any mac application program. On other devices, there’s a whole different structure that has to be learned, because maybe the network works differently, or they’ve invented a different way to do the event loop, etc.

It’s safe to make the bet that mobile devices five years or so from now will have the same computational and storage capabilities of todays average desktop machine. The danger is that if you don’t make that bet, you will be passed over by those that do make that bet. If I’ve learned anything in the past 25 years or so, it’s that technology always amazes me. My personal hope is that I am wrong, and that mobile devices 5 years hence will kick the ass of today’s average desktop machine.

general
iphone
tech

Comments (0)

Permalink

Compare and Contrast.

So Nokia buys Symbian.

Compare and Contrast:

Windows Mobile, and the other flavors of Windows that run on mobile phones, descends from Windows CE, an operating system designed for PDAs and palm top devices.

Symbian, used by Nokia for there smart phones and other devices, descends from the OS used in Psion devices, which were PDAs and palm top devices.

When Apple chose an operating system to run on their iPhone, they chose OS X, an operating system designed for general computers.

Look at the differences in approach. Look at the hardware out there today — Gruber did a quick comparison and came to the conclusion that the hardware in an iPhone is roughly equivalent to the hardware in a circa 2000 PowerBook, which ran — wait for it — OS X.

So why not choose a software basis that gives you a headstart? Sure, you have to do some things differently, but it’s not like we’re back to the early ’80’s, counting instruction cycles to make sure we’re going to be fast enough to fit our code into the vertical blanking interrupt. Small system programming, these days, is roughly equivalent to big system programming, circa 2000.

I know which approach I like better.

apple
development
general
tech

Comments (0)

Permalink

I absolutely adore SQLite

Going through college, I hated databases. I had this (stupid) belief in college that business was bad, and databases, to me, were about business. I thought I was a Scientist, and I was going to stick to the strict computing side of things. I wanted to work on Operating Systems.

I got over it.

I now find databases fascinating. I love being able to slice and dice large swaths of data with simple commands. The leverage of a database can be spectacular when applied to the right sorts of problems.

However, up until I turned my mind towards SQLite, relational databases always seemed to be too heavyweight. It was much easier to throw something into a text or xml file, and do small bits of slicing and dicing with python or ruby or [insert favorite scripting language here].

With SQLite, I can create a new database quickly, and import data easily. For example, I found myself looking at a list of albums that some magazine thinks are the best of all time. I was curious about a few things, so I did a “view source,” cut the relevant part into a TextMate document, used some regular expressions to clean up the data, and then created a SQLite db and sucked the data in. Now I could ask a bunch of SQL questions and get my answers.

Yeah, SQLite isn’t a complete implementation of SQL, it plays fast and loose with types, and won’t scale like MySQL or other major databases, but it is really good enough.

It doesn’t need a server running in the background. You can back up your data by just copying the file somewhere safe. The looseness in typing is an advantage, in that you don’t have to clean the data up completely to do useful things with it.

The bottom line is that I don’t really have to think before I just suck data into a database.

I absolutely adore SQLite.

database

Comments (0)

Permalink