anti-switch Notes

So I’ve been forced to use a PC for the past couple of days. After the initial shock, I’m getting used to it.

One surprising find – it’s snappier than all of the Macs I use. I use a 600-and-change MHz Powerbook, a 6 or 7 hundred MHz iMac, and a 1GHz mini, each with 640, 512, or so RAM. And all those machines are getting smoked by my shitty P4 2.0GHz with 256MB RAM, running Win2K Pro.

The pretty OS X eye candy costs.

Anti-Bloat Campaign

So 99 times out of a hundred, all I’m doing on any computer is browsing the web. Which got me to thinking. What if I could just run a web browser, and nothing else, on a computer? Would that be ‘good’? Maybe having more resources available to dedicate to the browser might make it faster, too. So I imagined a little Linux distro, which runs no XWindows server, and, hell, make /sbin/init just be a symlink to firefox, and run against the framebuffer. No XWindows server taking up any space. You could probably get rid of a ton of libs too. I would literally have nothing on this thing. Maybe a shell, but only for the purposes of scripting updates. I would even make it so that the logged-in User doesn’t even have access to the filesystem. That’s not what it’s for. It’s just cache for the web.

So I thought I’d mess around with my little idea. First I need to make a copy of Firefox that talks to the frame buffer. Jeez, easier said than done. BTW. Firefox is a bloated pig.

This is what I had to do thus far:

#1) manually edit configure to comment-out all MOZ_ENABLE_XREMOTE (apparently the mozila-xremote app uses nothing but X routines to pass data between applications. And we’re likely going to be the only application running.

#2) ./configure –without-x –enable-application=browser –disable-tests

I won’t even get into all of the various missing libraries that I had to install – GTK, Glib, some other boring ones. I barely noticed – I just let good ole’ RedHat up2date manage the dependencies for me.

The ‘make’ is still running, what seems like 2 hours later. So I may have to edit that list of things to do.

to be continued…

Palm

So my Treo 650 has been crashing often for the past couple of weeks. Resetting, really. At first, I thought it was ChatterEmail, a (pretty cool) mail package for the Treo which does push-style mail notification without sucking down your batteries (too badly). However, I deleted it, and I still get the same problem. According to my research, that means that I probably have corrupted the filesystem on it. Probably from crashing when I was using the unstable version of Chatter, but who knows.

It got me to thinking, though of the sad and sorry state of PalmOS. Here it is, 2005, nearing 2006, and they still cannot get a new OS out the door which has ‘modern’ features. They tried with Cobalt, then they tried with the Be kernel, and now they’re trying with Palm-on-Linux. We’ll have to see.

But it got me to thinking – there are simulators for Cobalt – is it really that bad? I can theoretically test how well it works, right? So I decided to. I downloaded the Cobalt (now v6.1) simulator, and started fiddling.

Just about every application I threw at it had some kind of problem. The built-in software was great – the PIM apps and all worked fine. And the OS never crashed on me, I don’t think. But just about every app I tried to run blew up. With a few exceptions, like BrainForest (surprising, considering how old that is). Each other one would throw a ‘unsupported resolution’ error, ‘illegal instruction’, or other crap.

So now we know why it is that we don’t see Cobalt devices in the wild. Maybe they work fine, but the existing base of apps won’t work on it.

It makes you think – of course, hindsight being 20/20 – that the mistake was made in October of 2002, when they released the first ARM Palm – the Tungsten T. They released that with Palm OS 5, which was just a whole bunch of compatibility/emulation libraries. Thus ensuring that all _new_ applications would also be built the exact same way the old ones were. No new API. Just the same old thing.

And, we should note here, that it worked pretty much Fine. I don’t remember lots of complaints about the Tungsten and its compatibility problems – I don’t doubt it may have had some – but I didn’t hear lots of complaints. So what Palm _should_ have done – again, with infinite resources and time and so on, and hindsight being 20/20 – is they should’ve kept what they made as the ‘compatibility’ layer, and introduced a whole new set of API’s for multitasking. Regular standard-issue memory-protected OS there, with some deal that maybe runs the classic Palm apps in Privileged mode, or something – or do some kind of trap-based emulation – but something, something to let all the old stuff run, and have a new API out there for new development. This method used within Cobalt obviously will just not hack it.

Had this have happened in October of 2002, I have a feeling Palm would be on top of the world right now. And I would be happy. And not trying to figure out how to press the up, power, and HotSync buttons at the same time as pushing the reset pin on the back of my Treo. Which is apparently how you do a zero-out reset. Which sucks.

Had I been there – I would’ve said – hey, we got this here new OS we’re thinking about doing, but we’re making a bet about what percentage of OS calls people use or don’t use – why don’t we test that? And I would spend 4 months or 6 months developing tools to run across software and see what API calls they make, or make an intern just download every .prc file he can find and throw it on my palm simulator with trapping and accounting, and then just analyze what you come up with. You do that, and you’d see, there are too many times that the programmers do Naughty Things. So instead of trying to release what they have – which is a neat integrated API that doesn’t quite work, they could do what would seem pretty neat – develop a whole new API ‘inspired by’ or ‘influenced by’ the old one, put that on a multitasking kernel, and run the rest through a full fledged emulator (emulating hardware, perhaps, as well). Then they’d be set.

This is why I like being a CTO – this is the type of decision that is completely technical, and can basically make or break a company. Though Palm has some tricks up their sleeve, still. But if I’m thinking about getting a Windows Mobile Treo (and I am), why shouldn’t I look at the nice shiny new PPC-6700 or whatever the hell it’s called (ooh, lookie that, I memorized the model number – scary)?

I’ll have to play with one and see. Since I’m going to have to throw out and replace my applications anyways, Palm Treo or SomeOthercompany Thingee doesn’t matter to me – the process will stay the same.

Subway stories, vol 7000 –
So today I’m running ridiculously late for work – the dog escaped this morning and was biting my head and running around and chewing squeeky toys. So eventually, I got up and put her back, and went back to sleep. The end result is I’m 40 minutes late today. Hopefully I will not be killed.

Dunkin’ Donuts was quick, though – cruised through, and my total was 22 cents more than usual. So I ignored it and continued onward.

I took my seat next to an older lady – 50’s ish, who was reading a bible. Seconds after I bit into my muffin, she asked, “Did your grandmother ever tell you that breakfast is the most important meal of the day? You should try to eat a bowl of cereal or some oatmeal…a glass of orange juice…” I mentioned, “Well, it is a bran muffin….” and she continues to list foods that were better for me. Until she was cut off by her own uncontrollable coughing. I offered her one of my D’nD napkins, which she politely declined. Then she left me alone for a while. BTW – she referred to me as ‘young’ – so I’m liking this chick already.

A few stops later, she says, “but a bran muffin is better than nothing….” and we get into a nice conversation – I explained I used to eat strawberry frosted donuts, which we both agreed were bad. The weird thing is she keeps injecting bible stuff mid conversation – methusala was one, she hit a couple more Lord references. And for some reason she pegged me as Jewish. So I’m Jewish and young. “You know what chaim means?” Of course I do, I’m Jewish. But I’ll let you tell me (Life, apparently). As the biblical reference quotient increased, I started to get a little uncomfortable, and my smile started to wear. But then at Roosevelt Avenue, she got off. She left me with a religious booklet – I think perhaps even targetting Jews, in a Jews-for-Jesus fashion.

Anyways, I liked her because she called me young. Memo to those trying to get me to join in your church – flatter me. Baal worshippers, I’m talking to you.

Chaim!

Ruby on Rails
So everybody’s talking about Ruby on Rails. My first glance, I didn’t like the language. And still, I don’t like the punctuation-heaviness of it. But that’s okay, I guess – it should make writing it easier, right? Fewer characters.

My problem is that I have nothing to actually use it on 🙁 My last big project, AppsLink or NetServOS or whatever you want to call it, took a lot out of me. Making optimizations that work for writing code rather than running it makes sense – computers are cheap. People are expensive. My main NetServ server cost me around $1.5 grand. Imagine if I needed twice the horsepower ($3g) but could have developed in half the time? Hell yeah I’d take that.

But what? In this Web 2.0 world, what do I need to write? I dunno. Nothing feels to me anymore like it needs to be written. I still like the one unified thingie that gets all of my stuff online – but – there’s really no market for it.

The problem with all of my ideas about server based computing is that a laptop is just better. Sure, backups suck, sure, laptops cost money, but in the end they’re a more compelling value than paying x$/mo. for services. Even for pretty small values of “x”. Hell, even for 0.

I just tried to give my seat to a lady on the train. and she said,”no, I get off, one stop – 71st and continental – thank you, though.” See? all of the good feeling of doing good for free!

What if I repositioned AppsLink-style services as a social networking thing? When I was first messing with it, the Weaselfolk did put files and links up to share – I could do that again.

See in one post I say mean things, the next I’m talking about social interfaces.

So, you could have multiple “circles” I thought – each of which can contain (non-exclusively) people. Maybe you can split circles up hierarchically too, I dunno. Or non-hierarchically.

And I guess then you can throw shit up there that everyone can look at. And maybe a “public” thing too.

Maybe different circles are federated server-thingees? Dunno.

The types of crap you’d put on there would be the usual – url’s, files, text, contacts, calendar stuff, etc.

The viral nature would/could be something where you can invite people to join and enter a circle.

And, let’s see, we need revenue model, funding, time, and it isn’t necessarily a good idea.

Anyways – you need to make new ‘circles’, invite people into them, give out read-only, read-write, and redistribution privileges – I imagine sharing out chunks of data cross-circle could be cool, right?

And it’d be a good use for RoR. Roar.

I haven’t posted this, I just let it sit in my Drafts folder for ages. So I’m posting it now.

Metablogging. A couple of times now I’ve thought about putting together a nice blog entry, and I have, like 4 in my PlogIt ‘queue’ or whatever you call it. When I was younger I thought I had something better to add to the noise that’s out there, but lately I don’t think so. Crap.

I wrote a little, whiny piece on “Web 2.0” and so did Joel. I wrote various other little ditties but I keep feeling like others wrote better.

Bah. I’m tired of the old entries taking up space in my PlogIt. So I’m going to instead post them, shitty though they may be.

Though I like the one I just wrote. Before this one.

So tonight, I’m coming back from my Thursday Night Video Games, and I unfortunately have to sit next to these guys in suits, one of whom takes up two seats – one of my pet peeves. That doesn’t seem like a suit thing to do, so I look at them. Fashionable facial hair, those plug style earings – and the cases that one of them are carrying are cylindrical. And wide – drums. They’re a rock band. Must be in suits for some promotional thing – dunno.

So here I am, slightly jealous of these (maybe?) succesful rock guys taking up too many seats. A homeless guy gives his schpiel. Where is his accent from? Midwest? Carribean? It’s subtle. One of the suit guys – one who’s standing – starts fishing in his pocket – out of towners? The homeless guy homes in on his mark. He does the quiet, one-on-one version of his schpiel. The standing rock star in his suit tries to get out of his way, then eventually realizes he’s been targetted and says he can’t spare anything. The train stops, the suit rock star goes down for a second, and the homeless guy starts SCREAMING “Aaaaaaaaaeeeeeeoooooooooowwwwwwwwww…” oh shit! The other folk in the car look shaken. Did our rockstar fall on the homeless man?

No. The homeless guy is just screaming to punish the car, and the rockstars, for not paying. He’s actually saying “Ooooooh you’re too something to something something Ooooooooh….something…” The fellow car-occupants crack a few smiles.

Very funny.

So Here’s my Quarter-Baked Idea

So here’s my quarter-baked idea. (I don’t mean I’m partially stoned). I was thinking about building a firefox plug-in that does some stuff – first, it would just synch your bookmarks to a central server. Username/password, poof. Been done before, you say, and right you are. Next we store which windows are open and maybe even (if possible) their state (which form controls you’ve selected, etc). so you can move computer to computer, without closing out your browser windows. Wouldn’t that be neat? I think so. Next, you make it hold on to your username/passwords for Auto-Fill. So you just auth once to this central server and you get all your shit! Next you make it so that it logs you in to your various applications, in the background. Very neat! I was thinking at first about just centralizing cookies, but I don’t think that’s how to do it.

Grumble grumble. Very tired. New title implies new responsibility. Nothing’s for free. My coffee is good this morning. Dog escaped from her makeshift pen last night to sleep with us. Very cute, but she makes jingling noises from her collar when she moves. That plus late-night “green zone” server maintenance means tired. Ugh.

Sad to see Palm sell Treos with Windows Mobile. Though, if they’re good, I’ll buy one. I like Palm, and all things being equal, want them to win, but if the MS solution is really nice, then maybe I’ll use it. My last few experiences with the platform have been horrific. But that was years ago. Maybe it’s better now? MS does relentlessly improve its products when it doesn’t own a market. And it doesn’t have this one. Yet.

And Apple has a media event set for the….12th was it? Many say it’s the video iPod. I don’t really care. I hope it’s new tablet-formfactor x86 pbooks. That would rock. But seems kinda unlikely, no? And tablets barely sell in the Windows world, so Steve coming out with one would be very…Steve. The new iApple doesn’t need to be first, it just comes in and takes a market when it’s ready. But what we’re talking about here is still just a wish. Sigh.

Flock – a new “Web 2.0” browser. And yes, those are sarcastic quotes. I don’t like the term.

Well, truth is I’m old. I’m in my 30’s now. Maybe I’m too old for this. Hell I can barely blog consistently. Anyways, Flock is this social interface browser, with bookmarks that link to del.icio.us (I love that clever url). And aparently a button to let you blog about whatever page you find yourself on. There’s some other stuff in there too, but I don’t get any of it. Maybe it does something to MySpace? I don’t know.

So, first, it’s very pretty, and very Designed. I like its icon. I don’t do del.icio.us, so I can’t speak to that. And I don’t usually blog about web pages, but Flock carefully autodetected my blogging software settings. So it all works how it should.

Except, who gives a shit? Why aren’t these things Firefox plug-ins? What the hell is the social web 2.0?

It’s the same as web 1.0 – schmoes can publish web pages. Blogging software means lazier and more ignorant schmoes can do it. So what. AJAX is nice, but I was doing stuff like that with hidden frames and iframes eons ago.

I feel like the dot-com era “cool kids” are back in action. I didn’t like them. I don’t like them now. New Paradigm! Disintermediate! Self-cannibalize! Blah blah. And now “Social Networking”. Feh.

I wish these young upstarts the best of luck. I’ll be putting their browser through its paces, so we’ll see if it’s any good, and I’ll even try to look into the ‘social’ features, but it’ll be an uphill battle.