Tuesday, October 17, 2006

Mumbai Market

Before heading off towards Goa tomorrow, we decided to look at the local commerce. The first thing we did was visit the market. Here are the pictures. I have many more, but thought these ones are most telling.

The question about why there is not any violence, but the country is, overall, poorer than Brazil is starting to find some answers. A key explanation for this fact has to do with capitalism and materialism. Materialism itself has, until now, been very much rejected by the population. However, Levi's, Nike, Coca-Cola, expensive branded clothing and especially television, american shows, etc. are invading India. This explains that on one hand you see the very strong Indian influence, like in this market, but then as a grand contrast a shopping mall that requires walk-through metal-detectors against terrorists (checking news on CNN, you can see that Mumbai has suffered from terrorism.

It is the lack of materialism and envy which I contribute greatly to the calmness and lack of violence in India. People don't care about things or having things of equal cost (I do explicitly not mention value here).

Well, this expensive shopping centre I have only seen once and not many are like it. But, I do see a strong demand for this growing, which probably will also mean a couple of changes and irregularities in India's society.

I do hope that it does not lead to homogenisation. Looking at the country so far, there are a lot of interesting values and lessons to be learned. I don't think it is even remotely thinkable that the rest of the world will ever want or become equal, but at least certain considerations and reasonings are worth pondering over for our own societies, especially the western worlds.

Other than that, I did buy my clothes at the "expensive" shopping centre. You get very beautiful cotton shirts for about US$20. In R$ that would be about R$45? If you go to Richards in Recife or any other Brazilian shop, the cost of these shirts are much higher. Due to higher wages on seamstresses? I don't know!

The rest of the day we went to see some other things, like lunch at a club that is allowed for Indians. In the time of the colonization by the British, the Indians were not necessarily admitted at every club, regardless of their social status or riches. So, there was a Lord that constructed his own club and made it more suitable for the local people.

Very good food too!

G>

Monday, October 16, 2006

Pictures of Mumbai

This is the gateway to India. It stands at the port in Mumbai. To explain what Mumbai is all about:

It's the financial heart of the country, it's where Bollywood is located and is the industrial hub of about everything. You can notice that this city has money because every half hour you will see a Mercedes, BMW or other type of car pass through. Many cars are already manufactured here, which makes them a lot cheaper. Cars that are imported will typically have a 300% trade barrier. At least originally, I heard it was reduced to 100% due to international pressure. But still, that incredible Maserati I saw yesterday looks to belong to someone that doesn't need to care too much about money.

Historically, this city was inhabited by Koli fisherfolk, which goes back to 2nd century BC. Then it was ruled by various Hindu dynasties, invaded by Muslims in 14th century and then ceded to the Portuguese in 1534. The British were here from 1665 onwards, but leased to the East India Company. And so, Bombay evolved to become a trading port with merchants and pretty soon thereafter Bombay was the trading HQ of all east-coast of India. It had a cotton boom because the American Civil War dried up all supply of cotton from the US. Thereafter it played a big role in India's independence.

Two of the main landmarks are the Taj Mahal hotel (which I visited yesterday and shown on right) and the Gateway of India. These are all on the southern point of the island, called Colaba. Mumbai is actually an island that is connected to the mainland by bridges.

The gateway of India is basically a colonial landmark in Mumbai. It was officially opened in 1924, but only used until some years thereafter (1948), when the British left India to leave it independent. The last British regiment left through that archway. Closeby, the Taj Mahal hotel, was architected by a Frenchman and built by a Parsi industrialist. Account has it that this industrialist was refused access by other hotels on the basis that he was a "native", so he constructed his own hotel over there.

The Bombay university and High Court are of Victorian style though. Another landmark is Victoria Station, which looks more like a cathedral than a plain railway station. The high court building is also interesting... Many of the court buildings around the world use the image of "Justitia", a blind-folded woman that holds the scales of justice in her hands. However, local stone carvers here saw things a bit differently... the image here depicted is that of a one-eyed monkey with scales.

Well, as you can tell, so far I have not really shown you anything of the real India, only boring colonial style buildings ;) We'll be travelling to other parts around India where the influences are quite different and more native. We're travelling by car and driver around the Delhi triangle, going to Jodhpur, Agra, Jaipur and Udaipur. We're deciding right now what to visit.Last but not least, a horse riksha. Not sure what it is really called, because the driver only speaks Hindi.

Mumbai, India

I have access to the Internet from the apartment over here and am writing some first impressions.

The "street security" in India in comparison with Brazil is amazingly good. The level of poverty here is times bigger, which means many more poor people on the street, but on the contrary the level of violence is many, many times less. There is simply no reason to worry about people grabbing your stuff or assaulting you with knives or guns. Well, not to say that it cannot happen, but it's very much unlike Brazil nowadays.

Mumbay isn't really high-tech. The cabs here for example are models that are from the fifties and I have trouble getting in because of the miniature size. The meters are from the same era I guess, not electronic but mechanical. Interesting side-note is that the taxi's do not have side-mirrors. Probably would be a burden because the people here drive very close to one another. Without a car horn you would not get very far.

India has humor too. And a good deal of it, but always still remaining polite and good taste. We were in the car yesterday and my host told me that his wife no longer allowed him to get upset in the car. So he said that from now on he will tell people that cut him off or do silly things in traffic: "Thank you! May your mother have many more children like you! I really appreciate this". Just shows a bit of the easy-going nature of the Indians that I have experienced so far.
Well, the photo here is taken just somewhere along the road in Bombay. There were 2 children playing close by and of course they were asking for some rupies afterwards. The city here, I feel, is not close to any measure of the real India, which we will only start seeing from Wednesday, but it is a very good introduction to let us take it easy and get used to it.

It's easy to get money here as well. Just go to a money-point and get cash. The outside of buildings can look rather impoverished, but once inside in a bank for example you can be surprised by majestic looks. This also works the other way. You can have majestic looking nice buildings with very poor furniture and looks inside.

The weather is very humid, like the Asian tropical weather you get in Singapore and Indonesia. Brazil is less so. The temperature is probably about the same, should not differ too much.

Going for lunch now... seeing some more this afternoon and getting adjusted in the timezone and all.

[EDIT] I've had to upload to a different server first, because uploads over this link in connection with blogspot don't work. Images now being served from googlepages instead.

[EDIT for guys at work] Check out the T-shirt!

G>

Saturday, October 14, 2006

Amsterdam Dock Lands

Just coming back from the Amsterdam Docklands at the moment. My uncle has a boat there and we visited for a short time. As you can see, "boat life" in Holland isn't that bad... We exchanged the craic of the last months I should say... and my uncle made a wonderful dinner.

Tomorrow, our plane is leaving for INDIA, so you may not hear from me for a few days due to new impressions and business to get our hotel sorted.

We are flying this time with Tyrolean Airways, also known as the company that produces "Dolle Pret In Het Tiroler Bed" and the company that now expanded to airlining to get more aliens inside Austria. We're flying through though, going onwards to Mumbai (India) and then get settled and fly through the country.

Soooo... I don't know my level of connectivity in that country. If all things are OK with net-cafe's etc.., I should be able to post a little bit. If not... I'm probably gonna have to post a resume of the Indian vacation back in London...

Cheers,

G>

Thursday, October 12, 2006

Heemskerk Unlimited

We arrived at Heemskerk today, at my sister's place. The first time I have seen my nephew "Sietse". As you can see from the picture, he was not really scared of me and he's already getting a bit "strong" after seven months only.

We all went to a restaurant in Heemskerk called "Bij de buurvrouw", which means as much as "At the (female) neighbour". It's a stakehouse that I would sincerely recommend for good quality food and good drinks and ambience.

There was a bit of a walk back afterwards through cold Dutch weather, but that's normal. Nephew Sietse was covered in a good blanket with some warm clothes, no worries theregh.

All in all, good time. Tomorrow we'll visit more family in The Hague and probably find some other places. Not sure if any other entries come up tomorrow, may have to wait until India (yay).

Talking bout India... Our flights to and from India got cancelled (BMI flight has a broken plane, apparently), so we had to rebook on BA returning from Mumbai and on Tyrolean Airlines going from Amsterdam through Vienna. Always the same as I go travelling....

At least no drunks to fend off this time :)

Tuesday, October 10, 2006

Cambridge & Schizo Drunks...

We went to Cambridge today to visit some family and friends. Saw the King's chapel again (worth a visit). Outside we took off to the market to some coffee place.

Just as we were walking back to the car, some drunk, schizofrenic guy came up to us and started harrassing. And he wouldn't leave... Until the point he started to pull my wife's arm... Then I jumped in and blocked him from there. He tried to veer around the group to try to get in front of everybody, but I veered along.

That's when I noticed he wasn't really "registered". The group went into a pub and I was still out on the street to give them some more time. He was about three heads smaller than me, but started to get really rude and calling me names and saying that he would not allow me to lie to his friends.... ooo.... kkk...

As I was just about to get into the same pub, he followed after me and started jabbing two really slow, soft punches with the force of a five year old (he was that drunk). I was carrying a bag in one hand and averted the punches with one arm. The pub owner came to the door and explained that he was gonna have to leave. When he was out, some people went to the car. Two minutes later we heard he followed one girl into the restroom and jabbed her there. So they called the police, but we left before the police arrived.

That's about the excitement that you get in Cambridge for a day... Quite different from assaults at gunpoint at a traffic light where they rob your car... oh well, better this way anyway!

Monday, October 09, 2006

Like, so cool, you know? I don't know...

Like, it's not polite to overhear, something like, conversations, but sometimes you can't, like, stop..., you know? I was, like, in the bus in Paris and there were, like, two British girls chatting, you know? I don't know...

The conversation was not very interesting, but because they always, like, used the certain stop-word "like" my brain temporarily developed a grep-pattern 'grep "like" <', I could, like, just not help myself.

For the time I was in that bus, I must have like, counted that word like, 5 times every minute. And then I am not kidding. I was, like 'oh my god!', that's a lot! You know, that is, like, 100 times or something for 20 minutes in that bus.

That's like, so cool, I was like... "oh my god!!!" , 'you know?' , I don't know...

Sunday, October 08, 2006

Paris...

Phew. Arrived in Paris on time after a flight from Recife directly to this capital. The flight was good because it left about midnight. After a full day's work you get quite tired, which is welcome for a boring old flight.

We got a hotel close to Opera, where you can find good-priced hotels with good facilities. Went to the St-Michel area for a small Greek dinner where the waiters perform some traditional Greek dances and customs. My dinner was traditional Moussaka.

The metro was already closed on the way back, so we walked back from St-Michel to Opera. The bed was quite wonderful after a long journey and walk.

Today I am already in London, traveled there by Eurostar connection. We'll have two meetings tomorrow morning and in the afternoon. Then to Cambridge on Tuesday and to Holland on Thursday.

Monday, October 02, 2006

Nephew Sietse & trip to India

Almost there. I'm going to travel this week to Holland to see my nephew Sietse for the first time. Has been more than half a year now since he was born, so about *** time... :)

When I was still sailing I set some travelling goals. 1 was visit India, that we are going to do in two weeks time. The time I have available is way too short, but still I believe I will get a couple of really interesting impressions. (the other goal was visit Moscow!)

The trips planned vary from Mumbai (arrival @ family) towards another city halfway to Delhi. Then visit Delhi, visit Taj Mahal, visit Jaipur, visit Goa and go back to Mumbai. We have some 17 days to do this trip.

So, that's the reason for leaving this blog a bit desolated. I'm trying to finish things up before taking off, but I'll try to post frequent pictures of the trip on this blog to accompany the trip. (subject to availability of pc bangs)

Thursday, September 21, 2006

A renumeration model for distributed development

We tend to think of the stone-age ways of tracking effort when we consider renumeration:
- work 8 hours, punch card @ 09:00, punch card @ 18:00, hour lunch... done!
- promotion: how many lines of code produced?
- promotion: how many bugs fixed?

All of these methods that deal with straight numbers used immediately for some kind of reward are subject to cheating (check out online games for example and the hacks available). Even if the technology were invented to try to prevent this kind of cheating, there is (and always will be?) a way to bypass that technology.

I therefore turned towards different renumeration methods and got the idea of looking at the renumeration model as a kind of market or "bazaar", a mini-economy inside the enterprise that is governed and managed by the employees. The idea is that the project manager or architect or whoever posts tasks on some board or custom piece of software. Then members log in later and from the description given, rate the work by allocating their estimation against it in the form of some pseudo-currency.

Then through consensus, people will have to agree the reward amount to complete a work. After a certain percentage of agreement (across all members), the task is marked as available to start work. The best choice from the available employees will then have to be allocated to the task. Tasks that do not get picked up in time will automatically increase the renumeration.

The fairness in the model is that if someone does not pick up and complete tasks, that person does not get paid, but will not reduce the value of the cooperative that much as he could have done would there be some hours/effort measuring mechanism.

The good thing about this model is that someone can do this from home. Log in to the company portal in the morning, find a job to do, finish it, post it, have it reviewed and marked as completed, commit work and start another. The professional working in this way is fully responsable for his own time management, meets maybe once a week together during lunch and at a rented meeting room facility, but for the rest decides *how* and *when* he works on the task that was allocated.

If the task is not finished, this will reduce slightly the value for the others, but at the same time that person does not get paid at the end of the month. The trick probably will be to pick up longer and shorter tasks as required, so that there is always some kind of in-flux, but that is experience.

Being 100% responsible for one's own time management is a level of freedom that maximizes quality of life, but also puts that 100% responsibility on the professional.

This model does have some flaws, for example inflation and/or deflation. In such a mini-economy, comparisons with other work items may cause the price to fall or rise, sometimes significantly. This could be a natural phenomena in smaller economies, because after all, it is the consumers that produce this kind of inflation or deflation, based on their perception of 'value' in the market.

The pseudo-currency is necessary in order to ensure that the money that was allocated is actually available. At the end of the month the cooperative members agree the actual total amount of money that is allocated to wages. Then that amount is distributed according to the factors of the pseudo-currency. This ensures that the cooperative manages their finances better.
Becoming more productive therefore gets people a larger part of the overall money. Not doing that much reduces this.

Task completion is another issue to deal with. That means, identifying that a certain task is actually finished with satisfaction. This may cause some diplomatic/political issues, because there may be an incentive for other members to discredit work of others for their own gains.

An extra incentive in teaching and learning can be created by setting up a forum that uses the pseudo-currency exchange as well. This is... someone picks up a task and starts work, hits a problem. In order to solve a difficult problem by somebody else, the question is put on the forum board with a certain pseudo-currency amount against it. The person that resolves the question will then receive part of the currency amount that was put against the work item by answering the question. This stimulates cooperation on the forum and people helping others out and stimulates also that people look/attempt first, then ask.

Basically, what is suggested here, is a method for renumeration in a distributed development company that is based on a free-market mini-economy, which is based on concensus and fairness and aimed at the reduction of cheating (fair compensation across the cooperative)

Update: We discussed this model at C.E.S.A.R shortly and came to the conclusion that there are some rules that need to be in place for this model to work effectively. This could be compared to market regulation by the government.

Two rules need to be in place:
  • Ensure that there is always more work available then people to do that work
  • To penalize the group as a whole for not meeting a certain monthly target. This is to prevent people from becoming 100% individualist (not caring about helping out others in the cooperative, but taking on many tasks throughout the month)
The main rules should focus on creating the right eco-system (incentives and rewards) for a group to function properly, taking into account the proper balance between individual and group interest.

Monday, September 18, 2006

Google.org

Google has a philantropic organization, but this is not necessarily "not" making profit. Interesting (cannot be classified "philantropic" because of the definition), but still a good start.

The Google org helps start ups with specific "friendly" goals ( giving it seed money of about $1 billion and a mandate to tackle poverty, disease and global warming. )

Clearly shows that people nowadays consider the only reason for existence for a company should be to make money.

Hopefully this initiative will develop some companies that have "meaning".

http://www.nytimes.com/2006/09/14/technology/14google.html
http://www.google.org/

When going to the google.org website, notice how "simple" the proposals are that Google has invested in. When you think about it, it's nothing too fancy. Just a small initiative that can already make small changes to the community without costing a lot of money. That, I guess, is the key for this kind of work. Create opportunity and capability, not waste buckets of money.

Tuesday, September 12, 2006

Guy Kawasaki...

Guy Kawasaki is a managing director of a venture capital firm in the US.

(read more here...)

He has a video on Google that shows his presentation about his book "The Art of the Start". I think it is a very refreshing look on starting up a business and deserves to be seen, not just if you want to start up a business, but also if you want to revive your own work and re-evaluate your contributions to your company (how it can be made more effective).

Check it out, and then perhaps buy his book :)

Monday, September 04, 2006

Democratic Organizations?

Recently some guy on Slashdot asked the question why it would be impossible to have a sort of company with democratic values?

I responded, mostly posting some links to places here and there about cooperatives and also about things I posted in this blog.

Today I got invited for a forum set up for the purpose of discussing (what are) how to set up democratic companies and who knows, it might go somewhere. Maybe not in a practical sense (setup of a company), but at least some more generated knowledge and especially.... viewpoints!

Yes, a democratic company is much more subject to individual opinion. So, knowing the expectations of others gives a lot more insight into this process.

Wednesday, August 30, 2006

Investment of time

I've been thinking about investment opportunities, seeing how companies in Silicon Valley waste their money on the ideas that come up, etc... For investment people, what it boils down to is the knowledge that the money they spend is recuperated later somehow and in what timeframe this is supposed to happen. The next rant is about software in particular.

For investment to be successful, a certain amount of confidence and what is called in Dutch "koffiedik kijken" (looking at the coffee residue left in a cup of coffee) is necessary. This confidence is created through market research, you need to know how the product will be perceived in the market, the value that the product will generate for the consumers and how the company expects to extract some part of that value for itself, mostly. Other important aspects are capable management that is focused on making profit (not on the product) and of course the skills to bring the product out in the first place.

The investment in Brazil seems of a different nature. Money isn't exactly lying around on the streets, plus there do not seem to be any private investment funds here and there that have money to offer for good ideas.

But next to money investments, there exist other types of investments. One of those is the investment of time. Time investments are personal commitments to pursue a particular product with the belief that later on, this product is going to be perceived very well in the market. Rather than actually requiring money and hiring people, you use a "risk-job market" approach where you request people to spend time on some product implementation with the promise that if the product does take off, they will be renumerated later on. If not, bad luck (but the experience will teach you a lot, if you get into the why's and nots)

In this model, the requirements for market assessment still hold and this makes the contributors for a project personally responsible for knowing how a market works, psychology factors, etc... Because if you don't, you might just spend your time (your personal investment) on the wrong project.

So, the question in this model for investment lies in the way how you get the market information (talk to whom? learn about economics?) and the question of which idea is going to be successful and how you think you are going to use your current skills (or learn new ones) for contributing to that project. Eventually, you might find that you're constantly chasing up on new opportunities, once you have found a way to make this a repeatable successful process and previous risks taken have generated recurrent revenue for yourselves (becomes your job to take risks in normal worktime).

Thursday, August 24, 2006

Rational Ignorance

Just reading up on some issues of human development, voting and democracies. Found the following term on wikipedia, which I think is quite applicable for a non-participatory democracy:

http://en.wikipedia.org/wiki/Rational_ignorance

This is just like the way we adopt a movie critic that likes movies that we like. In this way we let the political party, the politician, or the movie critic do the "heavy lifting" for us as we spend our time doing our job, raising our family or just lying on the beach.
That sort of sums it up. I was getting here through this link:

http://www.cidh.org/relatoria/showarticle.asp?artID=277&lID=1

which is a report on the importance of freedom of expression. One of the most important lines, I strongly believe, is the following:

"b) its instrumental role in enabling individuals to express their claims and call political attention to them, including their economic needs;"
which could be used to redefine poverty not just as a deprivation of materials and goods, but more as a deprivation of political power, resulting in the lack of materials and loss of dignity.

thoughts continue from here....

Wednesday, August 23, 2006

Operating Systems

I'm recently researching how an OS really works and getting my feet wet in Assembly seriously, for the first time. Assembly isn't really that hard, after all :)

I've written a bootloader so far, a 2nd stage loader and some parts of the kernel, but all without a file system. That's right, file systems all need to be programmed.

The following link is an excellent tutorial on os development. It shows exactly what the first steps are into getting the kernel ready. It assumes the use of GRUB to load this kernel and you can follow through the example with standard Linux and the ability to mount a single file as a file system on your /mnt. (then you need to create some kind of image still, but check out qemu for more information).


For my research, I am using mostly x86 instruction sets, no other processors yet. It all starts out pretty easy. The boot sector of the booting device (512 bytes) is loaded into memory at 0x7C00. Then it starts executing. In those 512 bytes, you basically load a 2nd stage loader from a determined memory location and then you have more bytes to fiddle around with the system. Any file systems used on the system need to be implemented separately.

Eventually, the kernel is loaded. This can already be a 32-bit protected mode kernel or perhaps starts off in 16-bit. I'm assuming 32-bit PM (cause that's how GRUB eventually calls the kernel) and then you'll generally do the following:
  • Set something that is called "Global Descriptor Table". This is a table with pointers to code segments, data segments, etc... in 32-bit PM.
  • Set an interrupt descriptor table. This is for the processor to indicate to the kernel that some operation on the processor failed (exceptions) and also to indicate to the kernel that some hardware has some new data to process. For example, hitting a key on the keyboard creates that interrupt.
  • Initializing video
  • Initializing keyboard
  • Running a while loop that continuously hlt's the processor until the next interrupt occurs.
Now, there is a chip on the motherboard called a PIT. This is a Programmable Interrupt Timer. This timer will frequently generate interrupts for the processor to handle. The kernel will typically execute a schedule function in this timer interrupt, see if any task is trying to get CPU time and if not, hlt the processor until the next scheduled event occurs.

Hardware may also cause an interrupt to occur, in which case the applications on top of the kernel will need to receive this interrupt events and either type the character in this edit box or another, depending on the focus.

Anyway, that's where OS's take off from. It receives hardware interrupts and timer interrupts, schedules the tasks with CPU time-slices and divides the CPU between those tasks. How this is actually implemented is mostly determined by the OS designer. But it's all not tooo difficult really (to understand the concept, not the implementation).

The applications may run in their own "application-space" with virtualized memory. That means that memory is paged in pages. From the point of view of the application, it is running in an area of memory of "0x0000:0x0000". For development purposes, this makes it very easy. It might of course actually be located somewhere else.

The CPU can be instructed to not let this application access memory outside a certain range. If the application attempts, the CPU will raise an "access violation" (as you may be familiar with on NT for example). And voilá!!! The kernel will need to treat the application and the error. So the OS very closely uses the hardware capabilities of the CPU to do all those tasks, including divide by zero, etc... It's not all too difficult to see that concept now.

Some parts of the kernel need to be written in asm, cannot be done in C. For example loading the gdt mentioned before, the IDT and some other operations like processor locks in SMP programming and spinlocks (atomic operations).

What the kernel really does is also up to the developer. You could consider writing an OS that only does databases (dedicated machine for databases), or you might want to develop a gaming OS (with direct hardware access for example with standardized hardware to make things simpler). There are no limits!

Friday, August 11, 2006

Imagining Software Ecology


I'm involved in a university course here in Recife where the objective is to develop software using processes established in an opensource software factory. Our project is developing software for a software cooperative to assist in the day-to-day operations. See link for more info.

The software cooperative by itself is an interesting company to look at. Already I have found various examples on software cooperatives, like Solis, Beluga or CoopSoft. Here is another story about software developed for co-ops and the problems they encountered in making it suitable.

What I think the future will bring is some sort of "software ecology". Software itself will be seen as something so stupidly down-to-earth, eventually, that it doesn't make sense to charge money for it. The thing that matters is what the software does for a user. So, if a user looks into this ecology of software, he may like a certain piece but not be able to use it yet, because one specific need is not answered.

Someone else may adapt the software to that need and then return the modifications into the software's project. This kind of ecology would have immense capabilities for software re-use and software evolution. It is not necessarily a problem that you cannot capitalize on the software itself. (however, neither do I, in this post, suggest a resolution on how to make money with this model). Software ecology needs plenty of information around it. Not the kind like SourceForge (pull), but indexing, points of contact, etc... Something like a search engine where you get all sorts of details about that particular software project.

See software in the future more or less like a living lifeform (biology). It has a very high level of evolution, it reproduces itself, it can split cells (fork) and it is very important for our society to function nowadays... continuing thoughts here....

Tuesday, August 08, 2006

Game development ideas...

I've been writing a couple of applications before, some of which were renderers of Quake BSP3 levels. The work itself is very interesting to understand the graphics pipeline and the decisions made in graphics engines.

You may be looking for tools to break up levels, or examples how to render QBSP3 levels in Java. There are sites available where you can get a lot of information about game programming in general, or more specifically OpenGL programming, in the form of tutorials, and you need to understand the QBPS3 file format.

One of the problems in game development, when starting, is not really the ability to visualize a certain level. I've done it myself a couple of times, but one of the deterrants in advancing quickly is to have proper editors in place that you can use to read in the data the way you want it.

One of the things I did not have access to easily was QERadiant, because it was not GPL. I wanted to eventually make changes to it and so forth, which was not easy. This editor will probably only help you if you wish to develop BSP-like game clones. It is used for HalfLife, Quake, Soldier of Fortune, etc...

If you're into terrain-type games, things get much more complex. But maybe these guys can help. :) It shows clearly how partnerships in the gaming industry get more and more important.

One guy at work has some interesting thoughts on game development overall and wonders why games are still developed totally closed. Only certain parts of the game get opened up, level-editing and SDK's mostly, but a significant portion of the game (either the engine or physics system) never gets opened.

What if the game development companies attempt to employ an opensource development model? Blizzard in a way has all the resources available to make a lot of this happen, but controls to a very large extent the world, server and game rules. An active OS community may help to develop the IP of the company. Giving away control will be a difficult process, because it means opening the system up to the community itself and competitors. Maybe binding the engine to the servers only, but releasing *all* other tools to the community would be a nice option.

On the other end, maybe certain graphics engines may have a dual licensing made available plus the sources. The bigger titles that make the money already become so well-known, that it is not any effort to trace those guys down and sue them, if necessary. Perhaps that cost of law suits against the cost of protection is much easier to achieve.

Here's one example of an online community using the crystalspace engine. It has taken them years to develop the game to the point where it is now, probably also due to the huge refactorings that have to take place when either the engine refactors or hardware simply evolves.

There is plenty of criticism on current games with regards to FPS clones. Very little creativity in developing games, just altering storylines, GUI's, engines & eye candy and game objectives, or make it multi-player.

One of the more interesting ideas would be to develop a game where you collaborate with others in different ways in different roles. Looking at Operation Flashpoint for example or some of the more recent games, the team would already have people with different capabilities, but teamwork only really develops in clans. The rest just want to "play" I guess.

If you imagine a game where you are a truck driver or a boat captain where somebody else manages cargo from A to B (the planner), then everybody joining the game gets transported immediately to a leading position and take off. It may have a 2D interface for planning and 3D interfaces for the different transport vehicles. That would make a very interesting creative and innovative platform. It doesn't really have to be very complicated (with lots of eye-candy), because a rather crude system in the beginning would do.

Mix this maybe with having different competing transporting companies and it gets very interesting. Especially bringing in financial markets and mergers and so on. Then the game can be played on many different levels and would teach children a lot of interesting things of running businesses and the economy!

Tuesday, August 01, 2006

Autonomy in knowledge work

From Peter Drücker's book:

Knowledge work requires both autonomy and accountability

Demanding of knowledge workers that they define their own task and its results is necessary because knowledge workers must be autonomous. As knowledge varies among different people, even in the same field, each knowledge worker carries his or her own unique set of knowledge. With this specialized, unique knowledge, each worker should know more about his or her specific area than anyone else in the organization. Indeed, knowledge workers must know more about their areas than anyone else; they are paid to be knowledgeable in their fields.

What this means is that once each knowledge worker has defined his or her own task and once the work has been appropriately restructured, each worker should be expected to work out his or her own course and to take responsibility for it. Knowledge workers should be asked to think through their own work plans and then to submit them. What am I going to focus on? What results can be expected for which I should be held accountable? By what deadline?

Knowledge work requires both autonomy and accountability.

ACTION POINT: Write a work plan that includes your focus, desired results and deadline. Submit it to your boss.

Sunday, July 30, 2006

Consortium for OSS in Public Administration

Some musings have already been written on eGovernment etc., available online. Some people have suggested "eDemocracies", which is a way for local governments to interact better with citizens. Not sure whether full interaction and eVoting on every little issue will actually improve quality of life (lack of information, misinformation or temporary ignorance could make it worse), but this post is more about using Open Source software for governments.

Have a look at COSPA, which is a project in the EU mostly for creating Open Source "Public Administration" software.

The reason for bringing this up because I am starting to think about developing a project in Recife with some colleagues from work. We're working on some presentations, ideas and initiatives in order to improve the quality of life of the environment. Probably at some point, we'll have some interesting learning points for everybody (maybe even writing a paper on it).

Now, already conferences are created on eGovernment, which are very interesting initiatives, especially if this brings more transparency to fight corruption. But then again, software by itself is not likely to make any changes. Venezuela is on OS (or should be by now, according to this statement 2 years ago).

COSPA has identified software used in Public Administration (12MB PDF). There is a very high "observation" in Italy, especially.

The above shows that in the near future, it is a possibility that all software written and used by governments can be custom-written and then evolve from there. What is FSF and a couple of geeks got together to start writing that software for government? Start off with local councils, then expand to whole cities, then expand to provinces & states, then expand to perhaps nations?

Having a code repository with GPL'd code ready for use for each country would be a very good win. And if there are processes available that allows other people to make contributions... This would be a very exciting project.

For now.... we are focusing on a very little area, the area where we work. We wish to improve worker's situations, improve the interaction with the community, clean certain streets (they smell or are dirty) and get rid of older buildings that are literally starting to fall down. (no joke!)

We'll have to organize this together with the city hall/council, people in "administration" @ the university, people in psychology, some software project management, a *LOT* of innovation and hopefully international interaction with other people. Might work out, really... Especially when the city hall is deciding it would be worth to start paying for it!

Very interesting because of this (maybe this can help?).