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.

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.

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.

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.

GEPPT

So today, this morning, I started my walk to work realizing that I had read all of my news on AvantGo already – so I needed to do an OTA (over-the-air) sync on my lovely Treo 650.

It wouldn’t work. I tried full syncs, partial, just one channel – still no go. So I finished reading my mail on the train, then thought – hey, this might be cool, I can just sit and relax on the train. I’ve been having a lot of work-related anxiety lately (yesterday I was convinced for hours that the primary server was down, even though it wasn’t), so the prospect of sitting and letting my mind wander wasn’t so terrible. Luckily, I got my favorite seat on the F train (the 2-seater, window-side), so it would be a good 30-45 minutes of relaxation.

Except there’s a woman seated about 4 or 5 feet away from me with Tourette’s. It’s worse than a regular Crazy Person in that you can’t predict when an outburst will occur. She’ll be near silent, with a slight smile on her face, for 5 minutes or so, the suddenly an explosion of a syllable here or there. I don’t actually know if it’s Tourette’s, because it’s not curse words she’s coming up with.

“EPPP…………UPPP….GEPPPP…….GEPPPPPT…..HESH” With various delays between each. I think “Gept” was a correction on “Gep” – perhaps she felt she wasn’t clear enough. “GEPPP” again “GETcho motherfuckin eyes…” Intriguing.

I originally thought this was a technique to clear the seat next to her (she’s on the 3-seat bench, the seat closest to my across-the car 2-seat neighbor), as it was effective, and she was silent for 3 or 4 stops after it was implemented. But it kicked in againm even when she sits with no companion. “SETCH” “GETFUH” and now lots and lots of noise, someone must be looking at her. Silly tourist. Never look at the crazy people. They’re like the Ark of the Covenant at the end of Raiders of the Lost Ark.

XHTML 1.0 vs. HTML 4.01

If I may quote from:

http://hixie.ch/advocacy/xhtml

which is considered the ‘official’ piece on the subject –


Why using text/html for XHTML is bad
————————————

What usually happens to authors who decide to send XHTML as text/html
is the following:

1. Authors write XHTML that makes assumptions that are only valid for
tag soup or HTML4 UAs, and not XHTML UAs, and send it as
text/html. (The common assumptions are listed below.)

2. Authors find everything works fine.

3. Time passes.

4. Author decides to send the same content as application/xhtml+xml,
because it is, after all, XHTML.

5. Author finds site breaks horribly. (See below for a list of
reasons why.)

6. Author blames XHTML.

Steps 1 to 5 have been seen by every single person I have spoken to
who has switched to using the XHTML MIME type. The only reason step 6
didn’t happen in those cases is that they were advanced authors who
understood how to fix their content.

I don’t know whether or not I agree to this whole thing yet. I like some of the thinking. But here’s my thing – I like the style of XHTML. All my tags nesting properly and stuff. That’s cool. But I don’t like things busting. That’s not cool. So can I do something really vile and put an HTML DTD at the top? Then it gets parsed as soup.

Anyways, let’s look closer at those issues he lists. –

  • 1 – Number one sucks. We hate when that happens. You can’t stop ’em though.
  • 2 – Number two is unfortunate – our lives would be easier if this didn’t happen. Too late, genie, bottle, etc. Not a Christina Aguilera reference.
  • 3 – Yes it does.
  • 4,5, and 6 are ALL THE SAME THING. I don’t care about ‘blame’ – that has no technical merit in any thing. I don’t care who gets blamed for what. That’s not my problem.

4 and 5 happen at the _same_ time, unless idiot Author changes his Content-type and then doesn’t check his site. If so he is stupid, and we cannot design for people who are stupid. (Average is OK. Clever is OK. Typical is OK. Really Stupid is not OK). So the author actually has Tag Soup, and cannot serve it as Application/xhmtl+xml. He has to revert back to text/html. WHO CARES? I don’t care who he blames. I don’t care at all. As soon as he tries to serve application/xhmtl+xml, his site explodes, and he has to switch it back. Sounds like application/xhtml+xml is a very, very good ‘toggle’ of Real XML Content compatibility.

So what can we do, instead? Serve your semivalid XHTML as text/html. If you don’t like polluting the DTD that is XHTML, make your doctype HTML 4.01, and have invalid documents. The whole point of this is that we can’t fix the past (HTML 4.01), we can only try and set things up to work well in the future. And that’s precisely what’s happening in Hixie’s 4,5 and 6 steps, above. Those are in the future. And until Joe Blogger is serving his content as application/xhtml+xml, we can’t be absolutely sure that it’s XHTML, i.e. an XML document. We may want to treat it like Tag Soup. That’s what we do already.

I think also, that we’re dealing with a very, very subtle problem here, as well. Hixie publishes a nice plain text document, with the “Considered Harmful” lingo which sounds so RFC-like. And says some stuff about how valid XHTML is good. And people (programmers) like that. So they quote him and cite him. And it looks formal and correct and well-debated. But he’s wrong. Instead of moving us forward, he’s keeping us mired in HTML 4.01. I say, better to be invalid HTML 4.01 because you’re secretly striving for XHTML. Being valid HTML 4.01 doesn’t help you. But that tone and style in that document make it sounds already settled, and it’s not. So beware documents that sound like that – plain text, “blah considered harmful”, etc.

Ultimately, your choices are: do you want Validity? Do you want it to Work? Do you want future-ness? Do you want XML-itude? And if your primary concerns are Validity and Workingness, use HTML 4.01, and validate it. If you want Futurey bits, and XML-itude, you can try to make valid XHTML 1.0 and serve it properly. But you’ll probably botch it because it’s hard. If it’s too hard for you, and you don’t care about validity, don’t serve it as application/xhtml+xml.

I don’t care about HTML 4.01 being valid. Fuck it. But I do care about XHTML being valid, and I think the “Content-type as validity toggle” is a good step for now.

UrbanDead et al

I haven’t written anything in a bit because I’ve been working on the Volchok Store. When I get home, i’ve been playing katamari damacy. It is an awesome, extremely creative, game, though frustratingly short. But there’s definitely some replay value. I like replaying one level in particular, which I won’t spoil the details for…but it’s really cool. The soundtrack is extremely creative as well, which is nice.

However, the topic I am here for is an MMORPG called urbandead. It’s very simple, and not too time-consuming. There are humans and there are zombies. When a human dies, he becomes a zombie. When a zombie dies, he can get back up as a zombie. As you can imagine, this leads to a very disproportionate level of zombies. It’s possible to ‘revivify’ a zombie, though I’ve never seen it done.

As I’ve gone through about, say, 4 or 5 human characters now, I think I know the deal. Hindsight being 20-20, I would like to see some mechanics changed to keep it more interesting. Lots of stuff from “28 days later”. hunger – both Human and Zombie – would be intriguing. And dead zombies should have something worse happen to them – right now they just get up – that makes it so there’s no point in killing them. I understand that the author doesn’t want to punish zombies for dying too hard, but maybe moving them to the graveyard or something would be better? While we’re at it, I don’t like that we can have 5 guys in a barricaded building, armed to the teeth, and have them allow a zombie to break in and kill them all, without firing a shot. And how come I can walk in to a room with 8 zombies in it and casually root around for stuff without them taking swipes at me? It doesn’t make the game uninteresting, it just makes the game not-a-zombie-game. Or at least not a Classical Movie Zombie game.

So fine, very nice gripes – but how do you fix them? Autodefend? Let the server fight for you if you’re not there? Maybe. But I think the real problem is that it’s 24 hours happening in 24 hour time. You never encounter another user “there” at the same time as you. You log on and find out what they did, instead. And what they’ve done to you is usually spend all 50 AP’s on Deadifying you.

If you had features like ‘autodefend’ and ‘autobarricade’ – you’d come back after 24 hrs. “rest” to find that you had no ammo or AP’s…argh.

Also – and this is a minor point – if you did manage to face someone in real time, if they had a faster net connection than you, they could killulate you all the harder, with you not being able to respond in kind.

Getting killed while you’re logged off is lame. But I guess that’s just the consequences of your actions – did you hole up in the right place? but maybe ‘logging on’ means coming out of your hidey hole. And the same for the zombies. Then you’ll only be handling face-to-face battles. instead of AP’s you’d be dealing with stuff in real time, or delays in the seconds – it takes 2 seconds to do X, 5 seconds to do Y…You could still do defensive emplacements, and co-operation…dead people should still become zombies, but dead zombies should either die or go elsewhere? Die ideally…

But then, to play with your friends, you have to be on at the same time. . . Maybe you could have “territory” – human vs. Z controlled. If you “rest” in territory that gets overrun, well, then you log on Dead. And the same for them, shambling undead bastards… And maybe you make it so that only ‘n’ people can exist in ‘m’ space…i dunno…it forces some people to sleep on the front lines…maybe zombies should be NPC’s…

Let’s look at what the ‘sim’ should be simulating. Zombies take more damage than humans, but tend to do less, due to humans having those dirty, dirty opposable thumbs. Zombies outnumber humans. Dead humans become zombies – if infected. Humans need food. Do zombies need brains? Zombies are dumb, slow, and mindless. Zombies, when killed, die.

Urbandead keeps the Z population up by making being a Zombie pretty easy. And death being inconsequential. Under my system, zombies will tend to suicide and make a new human character…

Maybe you make it so that zombie players can pop up in another body (that isn’t being used), and carry some kind of identity and xp and skills into the new body…so if you, as a Zombie, die, you take over another body (elsewhere, probably) and kinda become them? You might make it so that you don’t get to play your Zombie char at all. You just have to take a new Human form? A la wow – spirits running around? And maybe something where you can kill dead bodies to prevent their zombifiction.

Anyways, I like some of my ideas, not others. Just wanted to jot them down.

Ooh ooh! You could have an effect be ‘knock unconscious’ and unco people might be indistinguishable from Z’s…then “joe schmoe gets up…” eek! Is he a zombie! Or “CHECK PULSE” – joe attacks you for +20 damage!

Getting to work on time

I got yelled at (well, more like lightly admonished) for being late to work, so I thought I would try harder to make it in on time today.

In the process, I thought would keep track of how long it takes to get in

  • House: 8:53am (that’s leaving my front door)
  • Dunkin’ Donuts (in, door): 9:01am
  • Dunkin’ Donuts (out, door): 9:02am
  • Subway Platform: 9:03am
  • Train: 9:07am
  • Destination Platform: 9:45am
  • Office Lobby: 9:53am
  • Desk: 9:56am

As you can see, I made it! And it looks like the door-to-door commute time is 1 hour, 3 minutes – shit. I guess I’d better leave earlier in the mornings. Especially when Dunkin’ Donuts is slow (today it was pretty fast).

OS installation music in a minor key

One of the guys here just did a Windows XP install on one of the machines here – and the song it played was sad-sounding. Why do OS vendors do that? Apple’s the same way – the Jaguar install had a nice technoey song in some sad key.

Having to reinstall your OS is depressing enough. They should put something more upbeat in there, instead of reinforcing the misery.

CTO Announcement

Just when I thought I was going to be a ‘secret CTO’, like those secret boyfriends and secret girlfriends that you have in grade-school, it got announced that I am officially The Guy.

Also, while SMS’ing my old boss at my former gig, I found out that the problem I had been working on for the past, oh, say, three weeks, was solved in around 2 or 3 days by my successor.

Ouch.

So the ego goes up, and gets brought right back down. Sigh.