Older blog entries for Randakar (starting at number 11)

Wow, it's been a while.

The versatel thing has been wrapped up by now. Bas hasn't been involved. Right now the ball is in their court, they decide wether they want to go ahead with it or not. The ballpark estimate did seem to scare them somewhat though.

In other news, I compiled mindterm (http://www.appgate.org/products/mindterm/) and packaged it for epoc32 - the platform for amongst others, the Nokia 9210 cell phone. So now you can (in theory) get SSH on your phone. There are some caveats though: read more here.

There is more news but I don't feel a lot like writing right now.

24 Apr 2001 (updated 24 Apr 2001 at 13:14 UTC) »


It seems the versatel job is serious. Bas and I have been invited for a little chat in their office. Of course, the fact that their HQ is LOOONG distance doesn't help a whole lot. Still, it's a development gig and seemingly an urgent one so maybe it's possible to do some of it from the home - especially since I'm moving into the same home Bas and his wife are in on friday. (They have a spare room, and are quite addicted to tabletop roleplaying: example. )


Renting a van, arranging people to help and getting boxes to put stuff in. Soon I'll be packing.
Next weekend will be busy. Moving is fine, but two birthdays on one day complicate matters. Luckily I can do one in the morning and one late in the evening, but it's sure as hell going to be a whole lot of driving.

Random stuff:

Update: PHP3 sucks. It's roots as a simple interpreted language are clear enough, but it doesn't really get as obvious as when you're dealing with multiple include paths that could be invoked in any order and find that attempting to solve the problem (having multiple includes of the same functions causing symbol clashes) triggers subtle bugs in the include code path with the net result of stuff not getting included even when I explicitly tell it to include it. Argh.

Another week bites the dust.


Much hackin on a new DB abstraction layer. Too much, unfortunately since this assignment ends next week but the code is so incredibly annoying I had to do something about it.
Luckily I tend to document things pretty well :)
It seems Versatel is in urgent need of my / anyone's services for some reason or other .. oh well, we'll see what that is all about.


Moving day is approaching fast. Next week, to be exact. Due to that the week hasn't been slow - painting, attacking doorframes, killing power outlets andsoforth took up most of the weekend.


Dionys is silly. He seems to have started two brand new advogato projects .. well, take a look and you'll see what I mean. "Reconfiguring the Network" of course could be anyone's network on any scale..

Random stuff

Is God dead? His awe-inspiring majesty seems to no longer update his diary. Did He give up? Did we *finally* manage to burn Him out? Does this explain why George W. Bush got elected president?
Another mystery to be solved I suppose..
Anyway, the upside seems to be that this evil-doer no longer is updating his diary as well. Maybe somebody finally brought him back into the Light? Maybe the stock market crash drained his financial resources?
Or is it all Badvogato's fault..?

A whole lot of thinking again. Most of it not very useful. Some about the code I've been writing for work, and how it *should* be done .. somehow I can't seem to avoid building an abstraction layer between server & database. The naming has something to do with that, of course. The primary table has 115 records, all of them with nice 'comprehensive' names like 'f0' through 'f114', and most of those not used. Unfortunately, I can't throw any of the empty fields away because the code is depending on the order in which they are returned from a 'SELECT * from ..' query. And that, I might add, across multiple tables.
There are more big mistakes in that code of course, but this one is the biggest pain in the rear of all of them. Still, since this software is on the roll to be axed I am reluctant to 'do the Right Thing (tm)' simply because that might take more time than the remaining lifespan of the project.

Yesterday was nice. I spend my evening watching the last six episodes of Angel season one. Yes I'm a fan. Unfortunately, I might add - Angel was supposed to be a badly done ripoff of Buffy the Vampire Slayer - but it's not. Not by a long shot. I never have been that addicted to a television show in my life, let alone two. Both of them have this 'let's plain ignore the beaten path every now and then and do something truly original' quality that's hard to find anywhere else. Having watched this part of Angel for the first time, I am still amazed at how well it was done. It might just be me but I have this feeling that Angel might turn out to be better than Buffy in the long run. With Angel I have this 'the possibilities are infinite' feeling..
Yes I'm addicted. Hopefully it will subside a bit in the next few days or I'm not getting any work done..

Yet another weekend gone. Most of it was spend on a two-person birthday: Bas and his wife, to be exact. Had some fun handing them their presents. Much hilarity about the bottle of soap with the text 'Bas, champion dishwasher' and accompanying brush. Too bad they have a dishwasher now :)
The other gift that got some reaction was the set of books I bought for his wife - six times Harry Potter, to be exact. She is a bookworm of sorts, loves primarily fantasy and some SF - but she hadn't read these books yet, mostly because

  1. Dutch translations are usually bad to begin with.
  2. She thought they might be too childish for her.
  3. They are popular in a major way and thus might not be very good; Most things that are that popular and for kids are, apparently. Pokemon serves as a case in point. ;)
The way people reason tells something about them, I suppose. I, for one, suspect it's more 'Roald Dahl' childish than 'Pokemon' childish and I happen to like Roald Dahl. Besides, with her bookwork nature it was only a matter of time before she had to give in to it anyway, and giving her all of them in English pretty much leaves her without excuses. :)

Another few uneventful days. A lot of train personell has been on strike for the last few days which made things 'interesting' on the roads as well. I'm keeping an eye on Dionys. He is a friendly guy, but just entering the Unix world and needs some coaching not to mention a whole lot of learning. Still, he seemed to enjoy himself when I saw him and Bas yesterday at what might be best described as the company's lecture and food gathering.

Made an UML schematic of blackstar. Now implementation time is approaching, and I really have to make some decisions. "What language?" is just the first, and most pressing. Once that has been decided upon, I can start building the first seed classes. Right now neale's suggestion, the cold project seemes a pretty good one but I need to play around with it first and I really don't have time .. sigh.

Today is a big day for both my father and my sister. My father, because today he gets to see a docter who actually seems to know what the hell is going on with him and might be able to do something. My sister, because she was going to Eindhoven today and attempt to get herself admitted into something called "the Design Academy". Unfortunately, she has not been; She just called, and told me they wouldn't admit her because 'she was more suitable for an academy of the higher arts' or some such. Well, at least it wasn't because they thought her not good enough..

News, news .. actually, there is none.

Yesterday was fairly boring as far as days go. Teased someone with riddles about her birthday present. Now she seems to think it's some kind of colourful playtoy .. of course, I'm not going to tell her. How many times can I get her to be totally wrong about what it is, I wonder?..

On the blackstar side of things, I have now a fairly good idea of how I want it to look when implemented. Still tinkering with the idea of the channels and such, though.
Right now I feel it should be possible to just hook some kind of chat client (Jabber?) to the game system and talk to the people playing. In a similar vein, why should things like news and public notes not be available on a webpage or as a news/mailfeed as well? My thinking is that at least the notes to mail gateway is a useful thing to have.. and the rest too, when you think about what else is possible.

The most exciting thing though I think would be implementing trust metrics. Right now my thinking is that two seperate systems would be needed. One hierarchic metric that uses something similar to advogato for determining who is trusted enough to do 'policing'. And one distributed, to determine what you might call 'local leaders' that have authority over local groups or organisations, like guilds or clans. This way you get a really novel type of democracy, without allowing cheaters to disrupt the trust balance.
Right now I feel I should try to keep that as simple as possible; tuning this will probably be neccesary anyway.

Let's not go charge off too far into the distance now.
Here's your basic engine 'diagram':

  • remote client (telnet, browser, whatever)
  • local client (provides interface for remote client)
  • interpreter (command line - most commands are capabilities)
  • user context (has capabilities)
  • world model (exports said capabilities)

I've left out the data access layer right now, that's not really terribly interesting at the moment. I've also left out all the advanced goodies I like to put in - that's all stuff that needs to be plugged in, and until I actually have a working model of this I'm not going to pin myself down on anything.

One thing to note is the capabilities. I would like to see commands becoming available 'on the fly', that is whenever it suddenly becomes possible to do something new. The way to go about that is by having objects in your world exporting 'capabilities' to your character, if of course certain rules are met. A sword, when picked up, could confer a 'wield' capability which is taken away again when it is either wielded or dropped. Similarly, doors in rooms could grant anyone who knows they are there an 'open' capability - which of course still does not mean you actually CAN open the door when you're in that room .. it could still be locked.

Finally, there's one more thing I would want to implement: a seperation of player from character. Let people have multiple characters, if they want. By all means, let's actually *design* it for that purpose. Merge news and notes into one stream, to be read by the player. Make things like guilds or clans, where each guild has it's own channel and you only have talking capability on it if you are playing a character that is a member. Of course there are potential problems with that, but it would help the system reflect reality a whole lot better.

Enough ranting already :)
Time for lunch..

Neale: Maybe the Cold project has a usable language for this. Maybe not. God knows I am not a huge fan of reinventing the wheel but I do have some requirements of whatever language I choose to use for this, and I'm frankly not sure Cold meets them. On the one hand, cold does give you a usable codebase quickly and an easy way to give people programmable rooms and such. On the other hand, it is not a very widely known language, might or might not be OO enough and also might be a somewhat prohibitive factor for people willing to help out. Simply put, some more research is required.

Besides, I'm sortof biased and leaning towards java because that's the language I know best :)
Still I would rather design the thing first and worry about the language later.

On with the diary. Weekend. Another Dungeon's & Dragons evening on friday. Helped a friend by driving a piece of trash to the scrapheap on saturday. Shopping for a gift afterwards, the same friend's birthday is coming up next week. Somehow I managed to spend way too much money on the both of them but hopefully it will be worth it.. (I'd like to say more but I better don't - they might read this.. )
Sunday was mostly quiet. Managed to get addicted on Baldur's Gate II some more. Interesting how some people claim it to be difficult. I have yet to see how. Doesn't matter. Since I'm still recovering from the problems in my arms I went swimming around lunch and managed to not touch a computer of any kind afterwards. Unless, of course the car counts as one. It's new and shiny (well, after I wash it it is) so I suppose there's a computer of some kind in there somewhere. Not that I care a great deal about cars, it's just that my sister needed someone to pick her up from a train station. Public transport from there to home just plain sucks.

Anyway. The roleplay went well. Got my dwarf in some more trouble by having him stomp mud all over some elvish noble's carpet while attempting to drink tea in a .. uhm .. right, Simeon and civilised .. :)
The fact that it was his fiancee's mother didn't help at all I suspect.
Still, the character survived. He managed to not insult anyone too badly, and even managed to be polite on one occasion. Just don't ask how..

Moving that 'car' was interesting. It used to belong to some alledgedly english person that had left it behind when he went back to the UK two months ago and the thing hadn't moved an inch since. Starting it was somewhat adventureous. I didn't know an engine could make a sound like that and actually run at the same time. Somehow we got it running though and managed to move it without any accidents or breakdowns. Nearly being unable to shift into any gear on a majorly busy road was somewhat exiting I suppose but I really didn't enjoy that too much.

I was going to post some more thoughts on the blackstar project but really this entry is getting too long as is and it's time for me to go for lunch and get some work done. :)

Mobius, Neale: Thanks for the input, I'll look into it. No guarantees about not attempting to spin-my-own, though, especially since it seems like a good project to hone some programming/design skills on. (perhaps not just my own, mind).
Besides: I don't think either has a distributed trust metric of any kind, nor facilities for linking remote servers together in an reality-network fashion which is a capability I am very much interested in.
The one thing I am explicitly NOT planning is a GUI - that just seems very hard to integrate with a full-fledged text-based system. I just wonder how on earth WorldForge thinks to solve that, if it's at all possible anyway.
Still, someone must have attempted what I want before, and that MOO seems to be going in the right direction a fair bit so time to learn from past mistakes.. :)

I've been thinking some. I have long toyed with the idea of creating a game. A text-based multiplayer game, to be exact.

Okay, fine. I know it has been done before. There's MUD's, and MUSHES, and all that. The thing is, the challenge here is to promote creativity and interaction by designing the game in such a way that creativity and interaction with others (in a game sense) is rewarded more than anything else. It's not that the game system doesn't have hack & slash - it's just not very rewarding.

One of the things I have always found silly in regular MUDs was the notion of immortals. These are players that have all sorts of extra 'powers' in the form of game manipulation commands and goodies like a lack of being killable. Now of course, if your job is to police the players, that's fine. But when you are building game areas, why on earth should you be able to kick or delete players anyway? In fact, why should players NOT be able to build and enhance rooms? I know for a fact that lots of people would be delighted to create their own areas, there just needs to be a way to keep the abuse by the minority down to a tolerable level.

So, we need to give players building powers. And rewards for building. Now, of course the rewarding should be done by other players.. but how? The most straightforward reward I can think of right now is just plain experience points, but somehow this has to be linked to a distributed trust metric as well so abusers can be left out in the cold.

Now I have got you thinking, here's another question: How do you stop people from creating half a million player characters? Answer: don't give them anything useful when they create new characters. No statistics. No birthgifts. No psi-powers. Not even building rights. Just the basic character - that is, name, race, gender, age, a background, and a description field, all of them infinately editable so they can make something of themselves. If this character has been thought out properly, it can become a real Persona.
Problem: Who decides the latter? Well.... :)

2 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!