Posted by: 2stepsback | November 11, 2007

tabular or graphical wiki

Let us think a little:

Yahoo! UI library + wiki + tabular layout = ?
collaborative editing spreadsheet with bigger cells!
Ok, now, follow the logic the other way round …
collaborative editing spreadsheet == tabular wiki!!

Just enable display of images in these large cells and you’ve got the interface that allows you to tell many things at once. Of course, you need to use “More…” in every square.

And if you use Michael Foster’s X (, you have one completely free table-wiki!

The reason I am choosing Yahoo! UI is that I don’t use Java, so GWT is out for me.
And, YUI is probably the most OOP-like Javascript library with top quality documentation and lots of variety as well as decent optimization.

But it’s license is BSD.
Your choice. I have nothing very strongly against it, but in high profitability products, a BSD license is a guarantee for fragmentation and exploitation of the license. YMMV.

It is important to note that this is a pretty common idea. Nothing new. Just that it struck me that a wiki could be implemented in a spreadsheet kind of interface as well.

Posted by: 2stepsback | November 9, 2007

Congratulations Mandriva!!


The background:
First the deal.
Then the alleged bribe.
Then the denial.
Then the rightful Mandriva Linux victory is complete.

GNU/Linux rules!

It pays to NOT go for shady IP deals!

First they laugh at you.
Then they criticize you.
Then they fight you.
Then you win Linux!!

Posted by: 2stepsback | November 6, 2007

Just put off the pc

See this advisory from BT at

Since it is for SMEs and IMO, applicable to all PC users as well, I am quoting it here:

The five recommendations are as follows:

  • Use conferencing to reduce travel for meetings.
    If every small business in the UK replaced 10 meetings a year with audio conferences, small businesses could collectively save more than 1.7 million tonnes of CO2. Cutting down on travel would also cut expenditure on air tickets, train tickets and petrol.
  • Reduce unnecessary trips back to the office by using mobile communications technology.
    Using mobile communications can ensure that employees do not have to make additional trips back to the office following meetings. With a reduction in employee car travel by the equivalent of two working days a year, small businesses could collectively save more than one million tonnes of CO2.
  • Shut down computers and other electrical kit at the end of the day.
    If every small business in the UK forgets to switch off just one PC monitor at night, they could be collectively wasting enough energy for every person in London to microwave at least two dinners each. As well as helping the environment, turning off equipment cuts electricity bills.
  • Use recycled stationery and save paper.
    If every SME in the UK switched to recycled paper, small businesses would collectively save billions of litres of water.
  • Take-up flexible working.
    By supporting the equivalent of one employee working from home for just one day a week for one year, small businesses could collectively save 516 million kilos of CO2.

The guide has been launched as part of Small Business Week 2007, a campaign dedicated to highlighting the importance and needs of small enterprises in the UK.

Really nice to see such a statement. Shows that you can solve technical problems with social answers.

When a social problem is solved by a technical solution, most likely, that society is in a horrible condition. For example, Linux.
When a technical problem is solved by social cooperation, most likely, that society is in a wonderful condition. For example, again, Linux.

If we just learn a few things from ants, bees, crows and other such negligible creatures, we would probably be much more human than we like to think we are.
Intelligence need no always be used to destroy, after all. It can be used to create harmony and provide solutions as well.

Posted by: 2stepsback | November 6, 2007

finally, here it is

So there. Just as we all had said and everyone had waited for so long.
Although from another company, Google’s OS is finally here.

The nice thing about it is that under the hood, it is Ubuntu. Which shows how open source enables people to make quality products much quicker than by using cathedrals. See Apple’s multitude of troubles. See Microsoft’s mountains of debris. And see how easy it is to use a Linux distribution and build anything you want to, on top of it.

25 years after the PC became the big thing, today, the Operating system is ready to be exactly what is should be – an operating system – a system which operates your computer and hosts your programs. It is not the main deliverable. Just the platform on which your programs work. This should have happened back in 1982.

Instead, we have spent a quarter of a century in lost development time and effort because of a few bad licenses and a few unethical practices by “dominant players”. I think the PC is going to be really useful from now on, just as it seems that it is actually going to be sidelined by the next big consumer thing – smart phones and mobile computers.

The personal computer, the _personal_ _compute_r, will now make its mark. The information-storing gadget has already moved on to the mobile phone platform. That is another market. Not most appealing for geeks, players and tweakers.

This may be stale news for many, but it is news for me and i think this is not to be underestimated. The biggest doggy on information street has now decided to show who is boss.

Very very interesting times lie ahead.
Keep watching, it’s going to be fun.

Posted by: 2stepsback | November 5, 2007

Let us now play

This article is meant to show you how easy it is to think up new ideas by thinking algorithmically, without any *inventive* step, even for a simple programmer like me.
Let us call it *brute force innovation*.

Let us take the words “OS”, “wiki”, “wordprocessor” and “database”.

OS wiki word processor database
OS OS + OS =

1. OS on top of OS

2. OS spawning OSes

3. OS to manage all OSes of the world

OS + wiki =

1. an OS whose code can be directly edited, trail of who edited what, be logged, open for all to edit and execute, anywhere across the world, capable of undoing atomic operations, having a simple, markup-like scripting language so that beginners can understand, brings together a database of facts as well

2. A wiki detailing all the OSes of the present day

OS + word processor =

1. OS whose core functionailty can be changed as easily as changing bulleting, numbering, fonts etc., using a wordprocessor-like interface to perform all these tasks

2. a Wordprocessor program that actually scripts local and remote OSes by allowing icons to define processes in the “control center”

3. an OS in which the UI can be changed in parts, unlike present-day theming which has to be done at one place from the control center

4. A OS scripting language that you generate by using mixed text and UI manipulation and then later *clean up* using tools to tidy up the generated code

5. an OS that allows you to directly publish to your ftp site a working image of yoru current system, as an iso for everyone to download, modified on-the-fly as you make changes. If internet speeds are really that high, the iso can be dumped several times per minute as well

OS + database =

1. An OS which acts like a database along with its traditional usage
Means SQL can be entered in the shell

Means kernel modules can be called from within one another like stored procedures

Means all code that runs the Os is present as source code in stored modules

Means the OS is being replicated at multiple geographical locations and being synced every few minutes or seconds

Means the OS is capable of rollback and commits of transactions

Means the OS has a simple drag-and-drop UI builder which allow you to write your own window manager from scratch using any of the general-purpose windowing libraries or toolkits available

Means the OS is capable of generating a 3D game-representation of the interlinking of its various modules

Means the OS is capable of multiple backend storage engines – that is, multiple filesystems and file handling mechanisms and protocols

2. A database which acts like an OS

A complete simulation of an OS in SQL and stored procedures.

A database which accepts shell commands and correctly interprets them in the database context thus enabling shell script writers to write database scripts which do everything that can be done using SQL and specialized DDL

And why should you not run such a database (2) on an OS like (1), and keep all the wikipedia data about OSes and databases in this database in formats accessble by both syntaxes?

word processor


I have only completed the first row and that too with about 20 minutes of on-the-fly thinking and typing. I’ve not even thought in detail about any of the ideas and they already have directions to a few *useful* and new programs!

Just one row and just twenty minutes and no serious thought yet.
And just four words and just two dimensions.

Ok, I admit, more than four words came in, but then, that is just how knowledge is stored in the human mind – densely interlinked.

A similar table in cooking and in law:

cheese bread milk heating
cheese cheese + cheese =

1. many different cheese varieties, stacked up for christmas sales

2. new cheese made by mixing two or more varieties

3. eat cheese while clicking your photo and “say cheese”

4. jeez! how cheesy this cheese topic is!

cheese + bread =

1. sandwich

2. pizza

3. mexican food

cheese + milk =

1. bad boy! left the bread as it is, always late for college!

2. quick meal between classes, or better still, during classes, under the desk!

3. all new hypersnack for next generation sportspeople or fatsoes

cheese + heating =

1. warm Jerry mouse in winter

2. warm me in winter

3. tom’s smiling when someone’s clickng his snap and jerry’s busy putting tom’s tail into the fire

4. a delicious melt


So, can I now claim that having published this open-source patent generator, I hold intellectual property in every thought that has occurred to every man, since my “super-patent” portfolio essentially “broadly covers” every thought in the fields of software and cooking? All people who eat, especially cheese, milk, bread and all who use heating of any and every kind must pay me a royalty for each use of any of these things?

How do I sound?
I sound either stupid or completely insane or both.
That is exactly what “Intellectual Property” sounds to all of us in the free software community and to any logical thinker.

Do you really want me to repeat this drag once more with “civil”, “criminal”, “dispute”, “legal”, and “justice”?

Scrap the concept of Intellectal Property in software. Everyone can think.
My brains are my own property as per most constitutions.
Everyone gives you the freedom to think whatever you wish, unless you live in very sci-fi worlds.

To conclude, I just made a prototype program that demonstrates how easy it is to build new ideas by algorithmically re-arranging or re-mixing existing ideas to create “inventive steps”.

The term “Intellectual Property” is the desperate shelter of people with intellectual _poverty_.
Much like a big bully not knowing how to match up with intelligent younger kids tries to make up reasons to complain and land the kids into trouble.

Posted by: 2stepsback | November 3, 2007

How to protect the innovator

Patents are meant to protect the innovator and encourage innovation.
In my limited knowledge, there are three types of inventions:
1. one-man inventions
2. a small group of friends/individuals without a business relationship at the moment the idea is created – they are still college friends with degrees to complete.
3. a sponsored or employed research team from a corporation which gives the innovators the tools, facilities and knowledge to build something new with the given facilities and has asked the team to “make something great and new”. Here the inspiration for innovation is from the Corp, the platform is provided by the Corp and the labs are provided by the Corp. So, the Corp has to have quite a few rights on the innovation, intuitively and ethically.

Class 1 innovations are a small percentage in today’s high-tech industry.
Class 2 is typically the story of a startup.
Class 3 is where industry-level mass-use innovations happen.

My knowledge is with Class 1 and 2.
In these cases, to protect the inventor, there are several ways:

  • Ensure that any company using the single inventor’s idea must pay him the salary of a high-level Tech Officer in the company.
  • Or follow the music-industry model. Since it is essentially creativity that is involved in the process of innovation, reward the creator with a royalty.
  • But as against the music industry, the technology industry makes products, sells them, makes huge profits and also distributes profits to shareholders. So there is no need whatsoever for them to take royalties for the work of an individual or a team. They already have the profits and they just have to pay a royalty to the one person who made the idea.
  • The royalty need not be for every instance of the product, it could be an annual fee, a salary or anything of that kind, but from each company that uses the idea in its product.

So, the single inventor gets more than one company to make the product. The company has full rights to the profit and so on.
And there you get lots of scope to encourage the innovator. He will think up many things daily because he is getting paid, and can get paid multiple times.
But how much is he getting paid? Just one year’s salary. So he isn’t capable of extorting from the company. He can’t sink a company. He can’t damage the entire industry like GIF did. And since suing is limited to only the one year’s salary, hardly any company will want him to sue – they’ll just hand him the check and he can contact as many companies as he wants. He just has to visit offices of the companies he thinks will use them.

If you want to automate and e-enable all this, you can use something like and set up an online portal for trading thus. But the problem is it is impractical and difficult to trust another entity over the internet.

IANAL, and so, I feel the major problems of the small inventor and the big corporation are thus reduced or eliminated.

Class 2 is very similar to Class 1. In fact, better, because teams always produce better results, the corporations just have to pay n salaries where n is the number of the team of inventors.

Class 3 is much more complex. And IANAL. I am not even knowledgeable in that field. So at the moment, no comments.

But, if you really want your country to grow economically, remove patents completely. Set up a Govt fund for rewarding innovators and thinkers and ask them to submit their ideas and get paid from that fund in return. The fund should be a Govt fund and not controlled by a single company. Thus, the poor inventor, for example, has something to fall back on.
There is no suing, so that courts can concentrate on other cases like social, criminal, financial, etc.
And no one gets a raw deal. But again, Govt funding needs to make public each and every payment made to an inventor and his invention papers and claims which were the basis of payments. The disclosure should should be after the payment has been made to the inventor. Without this public disclosure of inventions, this system is not capable of lasting more than a couple of months, beause in such a case, innovators are not going to use this system at all, and the fund, due to misuse will be scrapped completely. Additionally, it should be a running funding, not a billion-dollar one-time allocation. Something like this – only upto $1,000,000 should be in the fund at any given time. Again, the accounting should be public, public as in on the internet, for everyone to see.
So, either industry-sponsored or state-sponsored, but the small, single inventor can be protected in many such ways.

Posted by: 2stepsback | October 31, 2007

Game interfaces for workflows and unique icons

I gave a long hard thought to next generation user interfaces.
Two things are clearly part of such interfaces:

Where do we find such interfaces?
In games.

So, let us say we have a directory in our filesystem that has about 25 folders and another 50 files. Traditionally, one list view or icon view is used to display the contents of that directory level. Sorting by single or multiple parameters is used to further refine the searching process. Desktop searches are used. If you are really savvy or so, you will use tagging. Another way of representing the structure is by using an interface like Filelight. Still another interface is that used for visualization of network topology.
But the problem in each of these representations is that exactly the same icon is used for similar entities.
So essentially, you are wasting valuable pixels useful in representing data uniquely by not using a unique icon for every single object.
However, making every icon unique would be impractical and troublesome in several ways.

But now think about another place where you visually handle lots of complexity without batting an eyelid – photos.

You click or see lots of photos, but you still remember exactly the one photo that was clicked at the correct angle so that the scene got the best lighting effect and simply, it looked great. But how?
My analysis is this:
Because we process “normal” or “day-to-day” visual data very differently from the way we process artificially created visual data.
In the artificial case, we introduce logical thinking at every instant of cognition of new data, thereby considerably reducing the speed of data interpretation and storage. That is why for example, when you travel along the countryside on a train or by road, you remember interesting scenes without straining yourself much, but while remembering a 10-node network diagram, you feel a bit of a strain.

So, how is this problem to be solved? Simple, replace the 10-node artificial graph with a corresponding natural scene. And so you can store information as a *landscape* photo!
Of course an unnecessary amount of extra data will be stored, but retrieval and identification will be much simpler. This kind of storage is useful when visually interpreting the data quickly is more important than cost or availability of storage. Or when storage is imply not going to be done. Keep this last thing in mind for a moment.
For example, let us suppose that we represent our source code like that. Which means, represent a top-level package in your huge program by the photo or *realistic* 3D model of a mountain. Then replace the next level by the distant image of large trees. The next lower level, a close-up, and by branches. Still lower levels by leaves and so on.
Then, to make the pictures look really natural, use sufficient iterations of [random numbers + fractals] which will make the scene look real and where, most importantly, everything has a unique *pictorial* form, much like a UUID or a GUID or whatever you call it in your language.
So, this mountain and that mountain always look different. No two mountains are allowed to look the same either, just like no two files can have the same *full* path in any operating system. Here, since the visual landscape is probably to be treated as flat in hierarchy, it means that the name (the picture in this case) itself is the full path. So no two mountains or trees can ever look the same. Ah yes, to a casual observer, the two might look same, but that is much like not realizing that just one character in the two longish names is different.
Now, in this “natural” picture, add some interesting protocols.
That mountain over there is a rock mountain, because it will not compile. The moment it compiles, it suddenly becomes a green vibrant mountain with all details visible. (Not the other way round, which is counter-intuitive.)
Till it does not compile, the one place where it first fails, that is, the place where your stack trace starts, is shown in flaming red like lava, showing that the compile error lies at that spot. Then those parts of the program which fail due to dependency on that spot are shown as mildly red and so on. So, tracing the stream of lava or red, back to its source is essentially looking up the stack trace. A pane on the right side can actually show the text of the error given by the compiler.
A syntax error is shown as a small yellow stone. A logic error is shown as a long red cloud of gas (since logic errors propagate through the system wildly, much like gaseous pollutants) and so on.
A divide by zero would be a flash of lightning!

And now, we can make very complex rules of programming available for simple users to do “natural programming”. Dragging trees onto lakes means piping the output of the tree-represented packages to be the input for the lake-represented packages. Or you could do an ordered fill-out-the-dots sequence to make a complete chain of shell command operations.
Then you are really, well and truly a *wizard* at shell scripting. You just move trees and plants over clouds and lakes and produce the day’s database backup for your web application!

Now to workflows. Workflows are very well documented in strategy and civilization kind of games. So why not use those visualizations to manage standard office workflows as well. Of course, you do not get the all-important privilege to shoot your boss mercilessly, but then if it is open source, you can always hack around at home and shoot him at leisure! And as many times as you wish.
I can hear the media wanting to shout:

Open source makes it possible to shoot your boss in workflow engines.

And some research will show that it is an excellent management strategy as well. And it will be wildly popular as well.
Say it again: Opensource allows you to shoot your boss! Nice fun 🙂

Oracle, SAP, ERWin, are you *game*?

And no, I am NOT drunk.

As usual, I hereby release this idea as free for everyone and anyone to use in any legitimate way, no fees, no rights, no attributions, no patents, no Intelligent Phony Rights, nothing.

Posted by: 2stepsback | October 31, 2007

Patents prevent economic growth, remove them

What is wrong with patents?
Many things, in my opinion, with my limited knowledge.

In software, everything.
Everything with software patents is wrong by definition.
How do you separate a new operational idea, a new hack and an optimization algorithm?

Everybody shouts about Moore’s law which really looks so perfectly in line with reality that Moore has o be more than an intelligent human being. But that is another story. But having a patent in today’s technology industry for more than 2 years is a plain joke.
In software, patents are total nonsense.
In hardware, two years is more than the well-known 18-month cycle of Moore’s law.
What patent law must recognize is that the duration for patents depends on the industry in which it is applied. And if multiple industries are involved, then multiple durations, one for each innovative step must probably be granted. (er… Hey lawyers, do you see what i see?)

But everyone should take a lesson from the mistaken and probably deliberately misguided US software patents system.
Technical guys can be very smart at fooling legal people with relatively lower knowledge about technology. Still easier to fool law makers, legislators and politicians.

When the entire life-span of the technology is not more than say, 5 years, what is the point of a patent for 10 or 20 years? It almost amounts to discrimination and state-supported-extortion. So, patents must be restricted to a maximum of 2 years in IT and Telecom.
If you want your country to produce products in really huge amounts, your patents system must be changed to incorporate this fact.

Do you now realise why China succeeds at flooding the world market with goods at very cheap prices? Because they apparently do not even have copyright laws! I may be very misinformed, but the idea is that if you allow unrestricted copying and selling of technology (NOT content, that is another thing – copyright), almost immediately, your country becomes capable of flooding entire markets with a variety of extremely innovative and varied goods.

Everyone gets a chance to use their hacking skills. Small or big.
Is that not how commercial processes spread quickly?
Is that not how financial services spread quickly?
What would happen if Microsoft, for instance, were to patent a stock-exchange transaction as such, and they were to demand a license fee or royalty for every single stock transaction that occurs in the market?
Would you not effectively kill the stock market with such a law?
Is that not what happened to the GIF format?

What about the inventor? Well, just google for “Dangers of software patents, RMS” and you’ll get a speech and some links. Go through those things. That should make everything clear.

So, in summary,

  • No patents at all – maximum, diversified growth and a very fast-growing economy. China.
  • Patents with a limit of 2 years – ok, but still leaves the door wide open for encouraging stagnation of your economy and legal mis-manouvering.
  • Patents with 20 years – I wish you luck

Do you realize why Wikipedia is as good as it is today (accepting a percentage of error)?
Do you realize why Facebook, MySpace, Orkut, digg, etc. are so successful?
Why is so successful?
It is because they are using the wisdom of crowds.

That makes me conclude this:
Removing Patents means using the wisdom of crowds in innovation – Large-scale nation-wide distributed innovation.
Distributed computing as applied to innovation.
Do you now realize why China is everyone’s problem?
Because they have chosen the best solution to architect their economy – the wisdom and participation of crowds – as against those who still mire in stupid elitism – in the guise of Patents.
Throw patents away and you will see your nation innovate.
That is a challenge. If you think you are smart or intelligent or a genius, try solving this problem. Remove patents.

Posted by: 2stepsback | October 30, 2007

Does this help telecom cos and ISPs

You see, dial-up is slow. Broadband is fast if it is fast. Typically it’s just about okay. The next generation of internet content will need a lot more bandwidth than what is available right now. So, how about you break the two parts of internet communication – the request, and the response – over two different physical channels.
Like say, I wish to download a Linux iso file. These things are huge – 1GB upwards. And to download these over dial-up or medium speed broadband is an extremely frustrating experience. We all know this.

But we all also know that Direct-To-Home television or DTH gives very high content of digital data at high speeds and much lesser price in comparison to traditional ISP services. So, what if you make a twin-device that on the one hand does low-speed regular HTTP/S/POP/IMAP/FTP/… transfers, bi-directional and just as it is today, while you have a button in your browser or in the OS or in a dedicated free program which you click on to indicate that this one should come to my PC not from the wire but from the sky.
No, we do not need a new protocol.
Do you replace all metal furnaces and foundries when a new alloy is invented or a new metallic ore or mineral is discovered?
All you need to do is to add a module to Apache Web Server and a hardware setup for such a broadcasting capability. The ISP can decide how to price such a service.
So, you do not need to do torrents, you do not need to bother about overloading the internet due to massive streaming content and you can utilize the high-availability of DTH TV signalling technology for pruposeful knowledge sharing unlike using it only for advertisements and detailed biology courses as it is common today 😉
Geeks like to debug 3D simulations made by gaming engines or to visualize complex molecular structures, in preference to watching unproductive chemistry of another kind or free anatomy demonstrations 😉
And, you get to download the whole Debian distro in one evening! Like awesome! Suits me.
What say Google, Yahoo, any plans of disrupting the ISP business?
Fwiw, I hereby release this idea as free for everyone and anyone to use for any legitimate purpose. If it is new, this is prior art. I seek no fees, consideration or anything else. Make merry!
And give me my Debian download in a single evening. Yeah!

Posted by: 2stepsback | October 30, 2007

How silly of me

I thought that the spread of “virus” and “cancer” was so much that only something really disruptive would be needed.
Wrong. Bad estimation.

If you make a quick-and-dirty linux install simulator, you could assume that it will help people to quickly pick up Linux installation. and thereby, Linux companies will be able to reach out to more and more users. But that does not seem to be the way things work in industry.

Many reasons come to mind:

  • Firstly, it is too fast. Without a support structure in place, it will essentially be a spectacular flop. Just like Bzzta. That is something Linux cannot afford right now.
  • Second, lots of people stand to make lots of money by training PC assemblers to install Linux. Which means an online install trainer actually robs people of income.
    If that is so, I’m out of this immediately. No if’s and but’s.
    That one possibility did not really strike me as being so important. Turns out that it is the single biggest reason that not a single distro wants to make their respective install sequences easily available to the public for free.
    Funny. But in the end, good. What’s bad about people earning?
    Keep aside Sindoze’s native open-back-doors (anti?)spam policy or Megaflop’s monopolistic intentions. We have learnt to live with it. So we live with it. Smart guys will use Linux.
    For the rest of us, Sindoze is good enough.
    Losing a few 10s or 100s of millions of dollars in online theft to fund God-knows-what is OK. Linux could have prevented that. But apparently, it’s ok that way.
  • Third, same goes for videos. Install videos make people money. So, jumping around and saying that making free videos is going to promote Linux isn’t the best thing to do. Again, you’re robbing jobs.
  • Fourth, my fuse is 4-5 months long. Burned out. Upper limit to taking shit is crossed.

Several months ago I had posted a response at Probably that is right after all. Linux is for geeks and Sindoze for everyone else.

I leave you with a word of caution that is in order: Interoperability is not real. It exists only in newspapers and tech media sites, not inside customers’ computers. Try saying “interop” with Linux to a Megaflop partner and see how well trained he is to ask you to *get out*. That is my personal experience. No if’s and but’s.
How the distros are going to handle it is not my problem. We have already seen SCO, Linspire, and Novell. People with FSF awards are fallible. But, as RMS says, that’s life.

So finally, in essence, by not making a site of that kind, I’ve saved myself from robbing people of income. That feels warm and fuzzy.
The prospect of everyone using Bzzta is not nice, but when Linux shops want to earn money like Sindoze does, well, what can you say. Greed supercedes technology of any and every kind.
I’ll be around. Linux is great. “Slowly” works. “Quickly” does not.

Btw, if someone’s already done something like that please be kind enough to drop me a link. I’ll practise some installation myself without messing up my system. And give Linux support. And earn a living while simultaneously doing good things.
And yes, if you do plan to do something about it, try using simple HTML and images. That way many more people can use the code. Apparently the total number of Linux distros has crossed a thousand.
A thousand Linux simulation websites. Sounds fun.
Meanwhile guys, head on to
It does a lot of similar things. It looks awesome as well.

« Newer Posts - Older Posts »