Archive for April, 2008

iComplain

Monday, April 14th, 2008

I have some complaints about the iPhone

1) Nothing’s (easily) removable. Where’s my SD card slot? Where’s my easily removable battery so I can have several batteries for long trips away from power?

2) The headphone jack is a standard 3.5mm but it’s not a standard jack and requires a adapter. If you’re going to give it the same form factor as a regular headphone jack, why not also actually make it work as one?

3) The battery life – at least on the one I’m workoing on – leaves a lot to be desired. Part of this might be that I’m a long way from the cloest at&t cell tower, and it’s using a lot of power just checking in.

That said, the touch interface is absolutely brilliant and the LCD is gorgeous. It’s a neat product.. but it’s not perfect.

Web 2.0

Monday, April 14th, 2008

I was talking to a friend of mine the other day and he mentioned that Web 2.0 doesn’t really exactly exist.

I mean, yes, we can point to applications on the web and say these are clearly web 2.0 applications, but no one has (that I know of) laid down a concrete standard for what the dividing line between 2.0 and 1.0 is.

For that matter, web 1.0 didn’t exist either. We had several diverging standards of how http was to be rendered – to the point that in some cases web developers were forced to write seperate versions of HTML for seperate browsers. Web 1.0 exists only in retrospect.

What I’m sort of wondering, at this point, is where web 3.0 is going to be taking us. I would share what’s in my crystal ball, but I’d probably be (very) wrong. One of the interesting trends is the perpetual game of pushing CPU load off to the client – or the server. It seems possible that Google will release a desktop OS that turns all the computers in the world into one massively parallel computer, and you’ll never know if your spreadsheet is stored on your local hard drive or somewhere in another country. People who use skype already accept that they’re going to be relaying off their neighbors, and vice versa. It may be that web 3.0 will be the end of the server-client mentality and we’ll all be using one monster peer-to-peer system.

Or it might not. I can’t imagine which direction web 3.0 will go in, because I don’t know what radically new developments are just over the horizen. Most of the technology we’ve seen in the last ten years have been logical extensions of Moore’s law – but it seems like there are a lot of concepts that are completely unexplored, and there are a lot more people out there to explore them.

On a unrelated note, I still wonder when and if we will see hybrid analog-digital computers. I thought this would start with each computer having several registers of random noise, generated using some sort of very high quality white noise generator. I also keep thinking certain functions that are very expensive in CPU cycles are very easy with op-amps. Of course, it’s possible this is already being done inside GPUs – anyone know if GPUs have analog computers as part of them?

I also wonder if the science of analog pattern recognition or analog recognition assistance shouldn’t be bumped up a notch or three. We’ve gotten a little too obsessed with digital of late – not saying digital isn’t great, wonderful, the dog’s bark and the cat’s meow, but a hybrid digital/analog computer might be able to achieve things that neither a analog or a digital system could do alone.

OSX 10.5 on a intel mac..

Sunday, April 13th, 2008

I’ve been very strongly resisting buying a intel mac for a whole host of reasons – the biggest one being that almost everything I do with my mac is music-related and I have literally thousands of dollars of software that I’ve purchased that will all have to be upgraded. However, one of my clients has loaned me a MacBook Pro, and I think probably I will indeed want to buy one of these, and upgrade all said software. OSX 10.5 is just sooo much better than 10.2 – and a Core 2 Duo does rather beat the pants off a G4.

I will, of course, have to make sure there are drivers available for all the obscure music hardware that I cable up to the thing. Since all of it is 4+ years old, the odds don’t look too great.. on the other hand, MOTU still sells the MTP AV, so at least that probably will be good to go. I don’t know about the 896es…

The biggest difference I see is actually thermal – where my G4 gets rather toasty, this machine stays cool as a cucumber most of the time. Of course, part of that might be that the things I’m doing with this machine aren’t CPU-intensive, where applying realtime EQ to 12 channels of audio at once probably is. 😉

Other things that I really like about it include the integrated 802.11n, the gigabit ethernet port (which my PC laptop doesn’t have – I keep meaning to pick up a gigabit card for it but it’s that new weird standard instead of PCMCIA)

Speaking of that new weird standard, does anyone know of ANY expresscard bluetooth adapter? My PC laptop doesn’t have integrated bluetooth, and I hate dongles sticking out of the side because you can’t throw the machine in the laptop bag with them still attached 😉

I also get to try to figure out how to load up my laptop bag with *two* 17″ laptops. Or perhaps I’ll just get another, identical bag.

Anyway, back to the topic at hand – OSX seems to be turning into a mature operating system. I’ve been learning about Xcode and objectiveC – and I’m starting to wonder several things:

1) Is every language migrating towards being event-driven and data aware? 😉

2) Is there a objective-C compiler for windows?

3) How long will it take me to master this language, and will I be given that time?

I’ve written things on my mac, but they’ve always either been console or tk. The idea of actually writing mac gui apps scared me – I’m resistant to change – but apparently it shouldn’t have. The mac gui framework seems to be *extremely* well documented. And while ObjectiveC clearly isn’t C, it also clearly is understandable – though I need to find a really good document on delegation on objectiveC because it’s clear that it’s going to be important, but for some reason the first docs I read on it failed to make it completely clear to me

Possibly neat idea

Saturday, April 12th, 2008

I had a interesting idea while I was driving the other day that I thought I’d post for y’all’s amusement:  Computer aided sex.

Basically, the concept I was playing with is that sex is, among other things, the art of matching two dissimilar clocks. I’m thinking you could train a computer by having it look at a series of EEG, pulse, etc outputs during orgasm to recognize what EEG output looks like as humans approach orgasm. Then, by equipping said computer with biometric outputs from both participants, it could gauge where they are relative to each other. Then, by having the computer control the BPM of music and lighting and whatnot, it could suggest tempos that would be harmonics of both of the participant’s clocks, and try to nudge them to orgasming at the same time.

Contract BS (rant, probably worth ignoring)

Saturday, April 12th, 2008

Recently I started working for a new client – no names – who needed me on a emergancy basis. After the emergancy was mostly over, they indicated a interest in continuing to employ me and presented me with their contractor service agreement.

I can’t remember exactly how it was worded, but the clause that got me angry was basically that anything I invent or create while I’m working for them – and the way it was worded it read to me as if it was in the time duration that I was working for them – was their property. Now, I’m fine with cedeing everything I create while I’m ‘on the clock’ to my employer – after all, that’s part of what they buy when they rent time on the supercomputer array named Sheer. But the idea that anyone would try to slip over that they should own everything I create when I’m *off the clock*..

I’m angry about it. Fortunately, I don’t actually need the job – it would be fun, and there’s lots of smart people there, but I do have more than enough work. So I sent back the contract with the bits that I couldn’t deal with highlighted in yellow and a note explaining why I couldn’t sign it. I don’t know what they’ll do about it..

.. but I’m still upset.

Now, sometime around OnAir I started reading everything that got put in front of me to sign. Prior to that I signed without reading, just assuming the organizations were trustworthy. This is only the second time that someone has tried to put something in a contract that I was supposed to sign that’s made me actively angry.

Once I was angry, there were a couple of other clauses they wanted me to agree with that I didn’t – one was that in the event of any legal activity, the loser would be responsable for all court costs. I’m sure they could get that written into the lawsuit, but I’m not about to help them by agreeing to it up front – especially since I already have had my trust in the organization seriously damaged by the attempt to weasel-word in that they own all my ideas.

The other one that annoyed me was that they wanted me to have certain amounts of insurance coverage. Maybe if I charged a bit more – but at my rates, if you want insurance for me, you buy it yourself.

I think that the document they tried to get me to sign illustrates what’s wrong with

a) Money – essentually, this contract was written to protect the bottom line of company A, at noticable cost to humanity as a whole. How much time would I have to spend emailing them every significant idea I have? I don’t know about you guys, but I have at least one neat idea a day (see my next post for my neat idea from yesterday). Most of them just get tossed, some of them get mentally bookmarked for further study, and a few of them actually get acted upon.  Company A was concerned that I might have a neat idea worth signfiicant numbers of dollars, and was willing to waste my time – and theirs – to make sure that those dollars if they actually happened went into their pockets
b) Corperations – in essence, company A did something dumb. They probably see it the other way around – they are the center of the universe and I should be salivating all over myself wanting to work for them because of their deep pockets and fast equipment and whatnot. However, from my viewpoint, they’ve damaged their credibility and if they can’t come to terms with my rejection of their contract, they will lose my services. Perhaps it’s egotistical of me, but I’m coming to think that my services are in fact rather useful and valuable and that there are not a inifinate number of Sheers running around.

Essentually, the problem I see is that companies forget that they exist for the convenience of their employees and customers, NOT the other way around. I’ve said it before and I’ll say it again – the proper order of operations, in terms of who you make happy in a company, is 1) Customers 2) Employees – starting at the bottom and working up 3) Stockholders. In my opinion, in a properly run company even the janitors think “This is MY company. I’m proud to work here, I’m happy with what we do, and I trust us to treat the customers and ourselves right.”

I know that I’m full of what some have referred to as ‘pointless idealism’. I think I prefer it that way.

backup question

Wednesday, April 9th, 2008

Does anyone out there know of any backup client for windows that will pause the backup whenever the workstation is in use and resume it when the workstation goes idle again?

compiling djb’s 822field on Ubuntu x64 / gcc 4.1.2 ? Here’s a hint

Friday, April 4th, 2008

It works much better if you edit ‘compile’ to read:


#!/bin/sh
# WARNING: This file was auto-generated. Do not edit!
exec gcc -include /usr/include/errno.h -O2 -c ${1+”$@”}

the -include /usr/include/errno.h part is the part that makes it work. 😉