By involving users and developers this early, the Wave will have the possibility to evolve in a way that noone had anticipated.
måndag 2 november 2009
The goal of Google Wave
By involving users and developers this early, the Wave will have the possibility to evolve in a way that noone had anticipated.
fredag 9 oktober 2009
Uploading a mind to a computer and the art of music
lördag 3 oktober 2009
Google Wave and games?
With Google Wave you can also attach games (in the form of extensions). I'm convinced that there will be will be a lot of people around the world who develop various funny things, which will then spread around on the Internet. Not only that, Google Wave supports multilayer games in real time. It is impossible to predict how these things will unfold, but it would not surprise me if many people that now send videos and pictures will feel compelled to switch to Google Wave so as not be left out.
This principle, to release forces free on the Internet, is extremely potent. There is an enormous creativity in "the world", waiting to be tapped. 20 years ago I started an experiment in the form of an online multiplayer adventure game where participants (after some effort) could extend the same game. It did not take long until the whole world (in the game) literally exploded by the most extraordinary ideas that I never could have imagined.
Of course, I really hope that there will be no problems with viruses etc. From the beginning, Microsoft Windows, Internet browsers and Office applications allowed almost anything do be done by scripts. Because of viruses and other types of malicious software, it is today severely restricted. In my dreams, I hope the day has now come where there is a trusted platform.
torsdag 1 oktober 2009
Google Wave and obstacles
But precisely this may also be a problem for Google Wave. A newspaper depends on their ads, and wants the users to return as much as possible. Wave reduces the need, which may mean that the newspaper chose not to use the Wave technology to publish articles.
The same problem may exist for big bloggers who earn money on their advertising.
söndag 20 september 2009
Why Google Chrome?
Using Subversion in big projects
Using Subversion in big projects
Requirements on the Subversion setup
- It shall support an integration phase, where selected sub components are merged into one result.
- The sub components shall be possible to develop independently on the main application.
- The merged result shall be saved henceforth.
- It shall be possible to take a selected merged result and afterwards find out what it was integrated from; what the versions of the sub components are.
- All users of the application shall automatically get the same versions of the cub components, without having to do anything.
Suggested folder structure
This example project consists of one or more applications, where each one uses the sub components in Modules. Notice that the sub components in Module each have the usual branches, tags and trunk folders. The idea is that a release of a sub component is defined using a tag, or R1 in this example. Main projects should only refer to to the tags R1, etc, not to the trunk of a sub component.
If this project would have been check out from the BigProject level, each application would be able to refer to the sub components in the Modules using relative paths. However, the reference would depend on the tag names (R1, etc). Every time we would want to use a new release of a sub component, the source code in the main application would have to be changed so as to refer to the new tag.
Instead, a checkout of Application1 shall be done from trunk. Let's say it is called Application1. This folder will then have the property "svn:externals" added. This external definition will add one or more sub components from the Modules folder as a sub folder to the checked out project (Application1). The folder structure will thus look as follows. Notice that Core and Module1 look like they are part of the Application1 project.
^/BigProject/Core/tags/R1@28 Core
^/BigProject/Module1/tags/R1@28 Module1
- Always use version number reference for externals, using peg revision format. That is, suffix the source path with "@" and the revision number. Otherwise, if a module is renamed or moved elsewhere, it can no longer be referenced. This is needed even if it is a reference to a tags item.
- The externals can be in the same repository or another one. If it is in the same repository, use the relative repository path address "^/Module1/tags/R1" for example.
onsdag 19 augusti 2009
Cloud computing
I think there is a world market for maybe five computers.With the development of cloud computing, the trend is again for using central resources instead of distributed computing. Maybe we end up with 5 major suppliers, in which case the above quote turns out to have an element of truth.