A Canvas for Thought

June 6, 2007

How to be a Futurist

Filed under: frontiers — vednis @ 11:32 am

I stumbled upon a fascinating set of presentations about being a technology futurist during my study of the technology singularity.

From John Smart of the Acceleration Studies Foundation:

How to be a Strategic Futurist
An integral approach to predicting, managing, and creating our accelerating future. For futurists.

(169 slides, 6MB)

Long, but absolutely fascinating. Some interesting things to note:

  • These slides were shown at Tamkang University, Taiwan, and the US Army War College.
  • Tamkang University is the top ranked private University in Taiwan, a country driving the edge of technological acceleration. They have a program for Future Studies that offers 15 courses.
  • Courses in Future Studies are a general education requirement at Tamkang.

Perhaps they see something we don’t?

Advertisement

May 2, 2007

A New Way to Feed The World

Filed under: ideas — vednis @ 2:26 pm

Spring has come, and my wife and I have turned our attentions to gardening. Explorations of companion gardening eventually led to John Jeavons’ work with biointensive farming, the dreams of a US Navy scientific genius, John Craven, and, just maybe, a new way to feed the world.

There is a nice interview with Jeavons where he puts the results of his research into perspective:

“It takes about 15,000 to 30,000 square feet of land to feed one person the average U.S. diet,” he says. “I’ve figured out how to get it down to 4,000 square feet. How? I focus on growing soil, not crops.”

The technique is interesting, with great potential. Jeavons has a book, now in its 7th edition, detailing his methods and discoveries. But something about Jeavons’ work stirred the dust in my memories: this isn’t the first ecologically sound intensive farming technique I have read about.

Ah yes, now I remember: an ex-US Navy scientific genius, John Craven, has been using cold ocean water to repeatedly shock the roots of plants, causing cycles of dormancy followed by frantic growth. This leads to greatly increased crop yields.

He talks about his technique in an interview with Wired:

“Craven’s system exploits the dramatic temperature difference between ocean water below 3,000 feet – perpetually just above freezing – and the much warmer water and air above it. … The cold water also creates a temperature difference between root and fruit that Craven believes speeds growth. And by turning the flow on and off, Craven has found he can further accelerate the plants’ growth cycle by forcing them in and out of dormancy – he can get three crops of grapes a year and pineapples in eight months instead of the usual 18.”

“We’ll make freshwater for nothing, 3,000 to 15,000 pounds of grapes per acre per year, three times what the best vineyard in California can do.”

Fascinating things could happen if you combine Craven’s techniques with Jeavons’. Could you double the output per hectare of biointensive methods? That would be a fifteen-to-one land improvement over traditional farming, with the added bonus of being completely organic and sustainable.

Ah, not so fast. Craven points to one problem:

“What the world doesn’t understand,” says Craven, … “is that what we don’t have enough of is cold, not heat.”

This is true; Craven’s techniques rely on readily available cold, to bring down costs, and to keep the energy clean. The root-chilling technique would require the creation of quite a bit of cold, especially if it were to scale in hot climates.

But what if we lived in Northern latitudes, where the tempurature is below freezing for a good part of the year? We could harness the cold climate, storing the cold as ice. After all, the Persians were storing ice in 400BC! We just need to store enough ice to run our root-chilling system through the short Northern growing season.

So, could it work? Yes, I believe it could. It took Jeavons thirty years to establish his techniques, and it took Craven seven. Perhaps, with a little scientific rigour, and some social networking, we could do it in less.

April 2, 2007

Why Offline Web Development Matters

Filed under: perspectives — vednis @ 9:03 am

This is a response that I posted in the a thread about Adobe Apollo and Joyent Slingshot. It answers the question “Why do these offline web platforms matter?”

The fact is that people still use desktop applications, and those applications by-and-large offer better integration and responsiveness than their online equivalents.

If anything, this is a direct assault on the entrenched desktop programming world. These platforms blur the line between thin and thick desktops, they enable a single standard for cross-platform development, and they open new frontiers for web-based developers. That is no small achievement!

Removing the browser’s chrome is a big step. Others have already moved in this direction, notably Konfabulator. Konfabulator takes brilliant advantage of this web-based, cross-platform environment through Javascript, XML , and its own self-contained runtimes. Adobe, Slingshot, et. al. are opening up that environment to a larger audience.

Think of it another way: could you develop a desktop application for Windows, Mac, and Linux, with all the bells and whistles, as quickly as you can build a *single* online app? No? Well, now you can.

March 30, 2007

Some thoughts on the web as a filesystem

Filed under: ideas — vednis @ 12:03 pm

This is a draft idea I have been working on. I am posting it to provide context for some other ideas I had recently.

Update: it looks like Jon Udell and the guys at Freebase are already dreaming along the same lines.

Some interesting ideas result from REST placing restrictions on you.

These constraints make web objecs similar to file-like objects. In fact, the entire URL space is a little file-like. Things rest in only one place (canonical). Many names can point to the same thing (hard links). The same object can be copied in multiple spaces.

Maybe that is why you can re-invent old Unix tools as web services?

Now, what happens if we try to merge web-based tools with a extreme file-oriented operating system?

You might end up with commands like this:


$ mount http://amazon.com
$ grep 'agile & software' /mnt/w/amazon/books > agile-books
$ cat agile-books | cut -3 | uniq -c
...
# Result: the number of books about Agile software
development, counted by publication date.
...

Or this:


$ mount http://google.com/gmail
$ mount https://acanvas.wordpress.com/
$ ls /mnt/w/gmail/inbox
...
foo.eml
...
$ cp foo.eml $home/drafts/foo-reply.txt
...
edit foo-reply.txt
...
$ cat $home/drafts/foo.txt > /mnt/w/acanvas/posts/new

Or my favorite, this:


$ mount https://acanvas.wordpress.com/
$ cat $home/drafts/post.txt | wiki2html > /mnt/w/acanvas/posts/new

I know, I’m not the first person to think of this, And there are problems like “What does it mean to run ‘cp’ or ‘mv’ on a URI, or it’s contents?”. But it is a problem worth solving – one could ‘program the web’, in the most literal sense.

March 27, 2007

The Agile Alliance takes a stand on certification

Filed under: Uncategorized — vednis @ 9:15 am

Jon Kern, one of the Agile Alliance founders, tells us that the Agile Alliance has come out against certification.

More specifically, the Alliance prefer skills-based certification over knowledge-based certification, but they do not believe either should be a requirement or restriction of one’s job. And I agree.

March 22, 2007

Certification: Natural versus Official Authority

Filed under: lean,perspectives — vednis @ 4:49 am

This is a re-post of a comment I made during a discussion on Scrum certification at InfoQ. It relates some of the pressures that I see affecting the software industry. (And yes, I know it mentions Dave Thomas again. What can I say? The guy’s a legend.)

I agree, certification locks up access to a profession, often to the profession’s detriment. We have all encountered people with impressive official credentials who deliver less-than-impressive real world results.

It is the difference between natural and official authority. Fotunately, many of the brightest lights in the software community have great natural authority, authority gained by doing useful things, and by helping others. It is part of the culture.

I think the problem comes when you attempt to reconcile software’s culture with the rest of society as a whole. We are pressured into becoming an “official” profession in the vein of doctors, lawyers, and engineers. But what is wrong with aligning ourselves with professions that value experience and results, like sports, or the arts?

Dave Thomas, one of the Pragmatic Programmers, aludes to the problem of authority in his presentation titled “Herding Racehorses, Racing Sheep”. He notes how nursing faced similar challenges as software, and how they reconciled official and natural authority within their profession. Why can’t we do the same?

I am glad that the rise of agile and the certification debate are pushing these issues to the forefront. Software won’t realize its full potential until they are resolved.

March 21, 2007

Hilarious on so many levels…

Filed under: Uncategorized — vednis @ 9:05 pm

Some questions have a perfect answer:

good-question.gif

Cost-plus Contracting Caveats

Filed under: lean — vednis @ 5:34 pm

I came across an important point when reading InfoQ’s interview with Paul Oldfield, titiled Doing Agile Right (it is an excellent interview, I highly recommend reading it.)

In an earlier post I refer to cost-plus contracting as a way to align the demands of lean software contracting with the demands of a client. But Paul brings up a very important point:

I commonly come across people who do not make the distinction between manufacturing and development. They see the best practice and highly automated production line processes, and want to apply the same sort of processes. Mentioning no names, I have come across situations where payment was for time and materials. Profit was related to head count. Here, efficiency meant reduction in profit, and was only attempted when the customer could no longer accept that the head count was necessary.

This reveals the problem with cost-plus contracts, namely, how does one calculate the “plus” part, the profit? Relating profit to head-count creates the problem Paul speaks of. Linking it to time causes problems as well. (I should note that I have seen cost-plus contracting referred to as creating “gold standard” work – the best money can buy, which is what we are trying to create with lean methods. By contrast, with fixed-price work the incentive is to cut corners whenever possible.)

Lean processes, particularly Scrum, have checks that can prevent intentional waste by the contractor. Transparency plays a large role here. Idealy you get a constant time-effort tradeoff from the velocity calculation. But that assumes that the original estimate is in-line. For example, I have heard that in some professions it is common to bill 125% of your time to the project, as a matter of course. On a lean contract one could inflate the estimate by 125% and not work as quickly as possible.

Some food for thought.

March 16, 2007

The Real Value of Twitter

Filed under: Uncategorized — vednis @ 1:54 pm

So I came acrosspeople’s comments on Twitter, a communication hub service. Interesting stuff.

Some have commented on the banality and uselessness of the content, which is probably what the vast majority of people will create. But surely there are some real uses for this service?

Twitter serves an important role as a media-hub, a place where communication comes together. It could serve a very important place in the mobile world, namely, allowing people who are not plugged in to participate.

Imagine watching a twitter feed for a group of protestors. Or a group of friends doing the flash-mob thing. Twitter actually lets you watch the action on a number of different channels. SMS locks it away (and taxes it, to). This mixing gets really powerful when you combine it with other apps to do real things. (The current content’s banality is because most people aren’t doing interesting/relevant things all the time. So why are you telling everone about it?)

Just wait until some interesting event takes place that you can’t participate in, but you can watch on Twitter. Then you will see the value.

Some ideas for an evolved form:

  • fluid group creation and dissolution
  • more actionable system tie-ins (maps!, photo/video blogs)

Kind of reminds me of a popular IRC channel – lots of banality, the occasionsal useful tidbit. The real value on IRC is generated in a channel of 30-60 people dicussing a relevant subject area, so maybe there is some middle-ground for Twitter networks. You just need to find the right topic.

March 15, 2007

The Lore Masters

Filed under: Uncategorized — vednis @ 2:23 am

I came across Pragmatic Programmer Dave Thomas’ presentation “Herding Racehorses, Racing Sheep” while surfing the conference list for QCon.

The entire slide show is fascinating, but the slide about the fourth stage of skill development caught my eye. Dave mentions maxims as a teaching tool used by those who have attained fourth stage skills. This struck a chord with me and fits well within my experience. For example, career consultant Markus Buckingham uses maxims to great effect.

My wife and I are fond of a particular maxim:

Trust Children.

There are a number of maxims in the software world as well. They guide the design of any and every routine within a particular system. Some examples:

Python

Explicit is better than implicit.

Unix
From the Art of Unix Programming:

  • Fail as early as possible.
  • Always do the least surprising thing.
  • K.I.S.S.
Ruby

Don’t repeat yourself.

XP

Release early, release often.

One point to note: practioners at the lower levels in the Dreyfus Model don’t necessarily understand or apply the maxims created by those at a higher levels.

I wonder what implications that has for the Ruby and Rails communities, give their surge in popularity? Or the fact that a lot of developers will be coming to the language with pre-existing maxims to guide them? The Python community may offer some insight here, as the effects of pre-existing maxims is well-known to them. (You can tell when a Java programmer has written Python code. It looks… different.)

But hey, we all had to start somewhere.

« Previous PageNext Page »

Blog at WordPress.com.