… (you know, the kind that Ray Kurzweil predicts for us all in 2045, when computers will outsmart us and we will go the way of the dino). My brainpower is now insufficient to grasp formatting in current version of MS Word. Not that I completely understood it before, but using careful systems analysis I used to be able to avoid most traps and get it mostly right using proper styles. However, the new “ribbon” interface they are so proud of: 1. Will often not show you what style your current selection uses, something all word processors before were capable of; 2. Allows you to use several styles at the same time (paragraph style, list style, …); but all these styles are listed together and only ONE will, if at all, appear as the current one; assign a style to a section, and another style will appear to be the current one when you come back; 3. will list a combinatorial explosion of “combined styles” such as “Normal, Bold, Arial, 12pt” in the list of styles, and these keep growing as different people work on the document; use one document as the template for the next, etc. And they did usability testing on this? I’d like to meet the users.
I’m very happy that we’ve got quite an exciting programme for tonight’s Scala Meetup, with many proposals coming in in the last two days. Quite a few around different techniques of mathematical optimization. Also attendance registration has soared in the last few days, let’s hope everybody makes it to Louvain-la-Neuve.
Renato, Louis and I started the Belgian Scala User Group BeScala before the summer holiday (pleasantly surprised about the response from over 25 people) and are excited about our second meetup next Tuesday in Louvain-la-Neuve. Scala is a concise and elegant, both object-oriented and functional language compilable to both Java and .NET runtimes. Scala is currently a ‘hot’ language both in Financial Services and with Silicon Valley startups. We want to work together so that the track record and the opportunities that Scala offers become more widely known in the Belgian IT world as well.
show them this graph (from this OKCupid Post):
Isn’t it amazing how crisp the relationship is?
The other one I love is from this post, and tells you which greetings work best on a first message:
“Lift is the kind of web framework that enables you as a developer to concentrate on the big picture. Strong, expressive typing and higher-level features like the built-in Comet support allow you to focus on innovating instead of the plumbing. Building a rich, real-time web application like Novell Pulse requires a framework with the power of Lift under the covers.”
- David LaPalomento, Developer, Novell
“Foursquare switched over to Scala & Lift last September and we’ve been thrilled with the results. The ease of developing complex interactive ajax web pages enabled a very rapid port from our previous platform. In addition, the support we’ve gotten from David Pollak and the rest of the Lift team has been invaluable. It’s clear they are very committed to making sure that production Lift deployments get all the attention they need to succeed.”
- @harryh, Foursquare Engineering Tech Lead
Lift is an elegant, expressive web framework that allows any size team build and maintain secure, highly interactive, scalable web applicationsquickly and efficiently. Lift is built on the Scala and compiles to JVM byte-code. Lift applications deploy as WAR files on popular application servers and web cotainers including Jetty, Glassfish and Tomcat. Lift applications can be monitored and managed with the same proven infrastructure used to manage and monitor any Java web application. Lift is open source licensed under an Apache 2.0 license.”
[Mailing list announcement]
I’ve had an overall very positive experience with Lift building the CEV Community website. A little bit of reusable code from the project is available here. The responsiveness of the Lift lead developers is truly amazing.
Ars technica reports that the US State Department has become a major Wiki success story with its “Diplopedia”. How on earth they chose Mediawiki, of all the wikis, I don’t know. According to the PDF paper by Bronk and Smith, Wikimedia seem to actually have provided some support (they usually don’t care about internal deployments). This would also be a perfect playground for geographic semantics.
On the individual level, things seem simple. Relationships between two individuals of different species can be classified by who benefits and who suffers. Predator/Prey, Parasite/Host = +/- . Mutualism = +/+. Commensalism = +/0, Competition -/- etc. But we are rarely interested in Joe the lion, Anna the cow, Carl the blade of grass as individuals. We are almost always interested in groups; such as all cows or even all ruminants in a certain biotope.
What that has to do with business? When thinking about business ecosystems (such as of those business developing applications or services around a software or hardware platform), the very word ecosystem often implies mutualistic relationships, where if you look closer, and perhaps also when you use a classic microeconomic lens, you find competition quite dominant. For a very simple example, two companies doing apps for the iPhone can usually be seen as competitors; especially if their apps could easily have been written by any other app developer. But somehow as a group, the fact that there are so many apps available makes the iPhone immensely attractive for end-customers. Another classic example are markets; the other guy selling vegetables is your competitor, but if you take the larger group of grocery sellers, they together draw the crowds of customers that everyone needs to survive, and you could say that on this higher level, you and the other guy belong to a larger mutualistic network.
Back to some biological examples before we try to further sharpen our concepts. Cows eat grass. Which is usually good for the cow, bad for the grass that gets eaten. Yet as a larger group, grasses, even just the grasses of a single species, could benefit from cows keeping the forest from growing, meaning there is more grass around when cows are around. Are humans good for cows? Same idea. “Good for” and “bad for” are too imprecise. Biology seems to be quite precise when it speaks of mutualism, for example, because it always means individuals, and “good for” means “lets it have more offspring”. This seems quite appropriate when you discuss whether that plant could benefit from having thorns, but less useful when you discuss if there is going to be more or less grass when there are more cows; hm, or is it? The big problem always seems to be “what is the alternative”? It wouldn’t be such a smart idea for a grass to kill a cow, but it might be smart to be just a bit less tasty then the stuff that’s growing nearby. Cows may increase the amount of grass that grows, but who knows what kind of new plant forms could radiate out of grass if it didn’t get eaten so quickly, so often? Again, same thing with the plants and animals we farm: We increase each species’ biomass, but we also cut the diversity and possibilities for development.
Applied to the iPhone case again: Yes it if weren’t for all those other app developers, my little app development company could become a huge and diverse multinational developing all these apps, even very efficiently. Are they therefore all my enemies? It’s of no importance really, because that is so far off any reachable path of development. What would be interesting is if we can reach some conclusions about the general productivity (value added), speed of innovation and diversity of different app regimes. And for individual companies, possibly new analytic tools (as opposed to classic price-demand curves) are needed that take into account that the world moves on, and every niche will eventually attract someone to fill it, while we make our decisions, without falling into the unmanageable complexities of game theory. Or heuristics in the line of “the enemy of my enemy is my friend”. If I knew who my enemy was…