art with code

2008-10-25

Small ramble

The iPhone.
What you wanted: a Linux netbook with VOIP over GSM.
What you got: Netscape Navigator 3.0 on an iPod.

Hence I find it a good thing that Intel's strategy seems to be oriented towards netbook-phone-Linux-integration, what with Atom, PowerTOP, acquisition of OpenedHand and the whole moblin platform. Now all we need is to replace phone numbers with ipv6 addresses + DNS.

Oh, and, anyone else found it amusing that the phone companies charge a 1000x premium for voice packets?

To explain: making a call costs me 0.08e/min, and it's basically a 3kB/s UDP stream. So I'm paying 27e per megabyte. On the other hand, I use my flatrate 3G for around 750MB/month, at a price of 15e, or 0.02e per megabyte. 27e / 0.02e = 1350x price difference between voice packets and data packets.

I doubt they even set a QoS header for the voice packets, since voice over phone has a 300ms lag anyhow. 300ms is roughly equal to routing the call via another continent on today's internet. And if a packet takes longer than 300ms, drop it and no one will notice. "Sorry, I must be in a bad spot!"

And yes, voice packets are data packets and vice versa, it's just the billing that's different.

Also amusing that the companies recruiting OpenGL developers these days tend to be embedded developers. On an embedded device you can't take the braindead "we'll just write a software renderer and it'll be fast enough for drawing a couple icons and the GTK theme"-approach, but have to actually write efficient software. Shock, horror!

Then again, having tried writing a GUI toolkit with OpenGL sure gave me a newfound respect towards GUI toolkit developers. I couldn't find any books on the subject. I couldn't find any papers on the subject. I couldn't find any tutorials or any other guides on the subject either. It's a black hole of software development, a shambling shack of solidified black magic built by a cabal of necromancers who employ forbidden blood rituals to twist the laws of nature to do their bidding. So what I did was try and think it up from scratch. Needless to say, that didn't work out all that well.

Which brings me to the uselessness of CS education when it comes to writing software. They teach you about the data structures and algorithms for manipulating arrays and graphs and whatnot, but it's a bit like teaching architecture through teaching painting and figure drawing. Sure, it helps that you can paint pictures of nice-looking buildings with nice-looking people, but how do you actually build the damn thing?

No comments:

Blog Archive