Knowledge Maps

I was browsing through facebook today (a facebook user visited my blog and I clicked on the incoming link to take a look). I found moneylet, a social bookmarking site for financial news. There was an item on Forbes report on the wealthiest men. More interesting, there was a of Knowledge Map of Warrren Buffet. Unfortunately, you can view these only on Internet Explorer.


Knowledge Maps are a special application of Mindmaps. While I have seen and used mind maps before, I have not seen this particular product. IntellectSpace provides a free trial and your own way to create and share Knowledge Maps on the web. The Intellispace seems to be a cut above simple mind maps. It has several features. You can filter entities and relationships and navigate and browse nodes in the map.

How do you build a knowledge map? Here are a few thoughts.

  • Manually – Take all the facts and enter them into a mind mapping tool (define nodes types, connection types)
  • Semi-Automatic – Generate a wiki mind map from a wiki (like Media Wiki) and annotate or modify the map
  • Automatic – This may be in the future. It requires the ability to map concepts, links and additional semantics (how do you recognize people, places, things)? Microformats and Semantic Web technologies (like GRDDL) may help here.

I wonder what the next step in the evolution of these maps would be? Social Knowledge Maps? Seems like a cool Social Networking Application waiting to happen. Imagine the ability to generate a Knowledge Map and let people share and improve it. For that we may need something more than a drawing tool. Some kind of meta language for knowledge maps may be useful.

Simple Innovations: No Printer? No Problem!

I got this email as a Rapid Rewards member from Southwest Airlines today. It made me happy.

If you do not use Southwest, some background is in order. There are no seat assignments in Southwest Airlines. You take seats on a first-come-first served, basis. I felt that it was like a bus and never liked it much. Then they changed it a bit. You can check in early (24 hours  from home, on the internet and you will be assigned a boarding group – A, B or C. A group boards first, B next etc.  However, you needed a printer to check in and print your ticket, not very convenient when you are traveling.

No printer? No problem! Wireless Checkin is available at! Simply log on to via your web-enabled mobile device. Next, enter a valid confirmation number and the first and last name of one of the passengers listed in the reservation.

At the airport, visit any E-Ticket Check-In kiosk and reprint your boarding pass. The system will recognize that you’ve already checked in for your flight and will issue your boarding pass in the same boarding group that was indicated on the Checkin Confirmation screen from

Social Spaces and Creativity

I was born in a city and lived my life in some of the most crowded cities in the world – Chennai, Bangalore, Hyderabad, Bombay, New York. About 10 years ago I moved to the Silicon Valley and now spend my time between the Bay area and bustling (almost bursting) Chennai.

I know I like cities in spite of all the congestion and problems. But I never knew why. That is, till I read this eloquent piece  on  The Laws of Urban Energy.

while technology may give us each the tools of creativity, it takes urban proximity and unpredictability to sharpen them.

The potential edge that urban dwellers enjoy over their country cousins can be linked to having more and different people to meet, and more meeting places—parks, coffee shops, parties, or simply the sidewalk

“diversity” means not necessarily ethnicity, race, or religion, but a range of perspectives and skill sets that intersect to create what he calls “superadditivity”—problem-solving power that is more than the sum of its parts.

In order to get the intellectual benefits of diversity, you first have to actually talk to a wide variety of people. 
Some industries depend much more on face-to-face knowledge than others. In quantitative analysis of economic data, for example, the relevant knowledge can be printed in a manual, meaning firms and skilled workers can be located anywhere, according to economists Michael Storper and Anthony Venables. But being on the scene is important when it comes to buzz industries—”culture, politics, arts, academia, new technologies, and advanced finance”—in other words, everything people discuss in a wine bar in Tribeca on a Saturday night.

Vigorous Writing is Concise

Vigorous Writing is Concise

I borrowed this phrase from Jon Bentley, who in turn was quoting William Strunk Jr.’s observation in Elements of Style. Jon says that this is true in both English and Programming.

In this chapter titled The Most Beautiful Code I never wrote, from the book Beautiful Code, Jon shows how you can do more and more with less and less.  He takes a quicksort program in C and through a series of steps, makes it smaller and better.

Yes. Vigorous writing is concise. It is a skill I am still working on.

Learning Learning and Thinking About Thinking

From OLPC Wiki

Children need to learn learning, which is primarily acquired through the passion that comes from access, the ability to make things, to communicate and to express. Writing a computer program, while seemingly esoteric, is in fact the closest a child can come to thinking about thinking. Likewise, debugging a program is the closest one can come to learning learning.

It goes without saying that Internet access and tools for expression (text, music, video, graphics) are the contemporary “toys” for learning.

LinkLog: Sep 24, 2007

The Interrupt Driven Life

I am on to about 5-7 such activities, myself with one or two primary ones that take up most of my time.

Hacker News

Just discovered it today. Through Reddit.

Hype Cycle

Technology Trigger ->Peak of Inflated Expectations ->Trough of Disillusionment ->Slope of Enlightment -> Plateau of Productivity – Could this be a spiral? An example of a hype cycle graph for Emerging Technology from Gartner.

The Genius is in the Details

Not sure whether I really agree with this. There is a place for both bottom up and top down thinking. The high level abstractions some times happen after successive refinements of low level details. I am sure that the Gmail founder thought about email first before he started thinking about heads and disks.

Simple Innovations: Personal Unit Tests

For those of you who are not into software, unit tests are small test scripts/programs to check the health of software development. Unit tests are used to make sure that the code runs as expected and when you make changes you do not break anything that is already working. During development unit tests are regularly or whenever you change something.

This blog post from Edward O’Connor is an interesting twist on using the concept of unit testing to your daily life. There are a good way to make sure that you have a quick check on your progress in your personal development.

The way I see it, there are certain things I ought to be doing to be productive and effective no matter what my goals are. These are things that are relatively easy to set up, but take discipline and awareness to maintain. I really think that if I focus on maintaining these habits or processes, then the goals will take care of themselves.

Basically, I’ve made a list of personal unit tests: assertions about myself that I’d like to be true.

Your unit tests may vary.  I think it is a great idea.  Other related ideas triggered by this one:

  • Version control of your goals (Edward already has done this for his Personal Unit Tests). Our goals change and it will be good to have a change log what changed and why. This is inspired by version control in software where you log the changes with a description on what and why you changed something.

  • Tagging Personal Tests (some of them may be generic, applicable to a larger variety of people and some may be specific)

I enjoy reusing concepts across multiple domains and this is a great example.

Recognizing Software Metaphors

Chris Wood has a great blog post on Software Development Metaphors.

He lists a set of software metaphors under broad categories like:

Traditional Software Development Metaphors

  1. Software Development as a Factory
  2. Software Development as Engineeing
  3. Software Development as Model/Architecture
  4. Software Development as Workflow Process

Radical Software Development Metaphors:

  1. Software Development as Craft
  2. Software Development as Game Playing
  3. Software Development as Composition
  4. Software Development as Learning/Experimentation/Invention

Chris points out that different shops have different metaphors and sometimes switching metaphors may be required.

if you want to evangelize a new software development methodology (for example, those who are trying to evangelize the use of XP in a traditional RUP organization) starting with a discussion around metaphors and basic understanding of software development might help the discussion, especially with non-technical users.

This is a good post. My current job is  Teaching Software to beginners and building experimental prototypes. So my interest is more in Software as Learning/Experimentation/Invention.  The radical models may be more appealing to beginners and small teams.

If you are a startup, you may start with one metaphor and will switch metaphors as you grow. It will be nice to see what metaphors most of the Web 2.0 companies use.

Looking for Ideas for Blogging?

Here is a nice list from 100 Blog Topics I hope you write.

People often ask me how I come up with things to blog about, and I find the question strange, because my problem is the opposite. I have too much to blog about.

The nice thing about this list is that you and I can take the same topic and may end up writing very different things. I wonder whether there is a way to track how many of these ideas got blogged about. In fact, it may be a good idea to have a blog for each idea with a link to all the blogs about the idea.