Posted by: 2stepsback | December 15, 2007

Why you should not pirate Windows or anything else

  • That binary is not the one that Microsoft makes. You cannot know for sure what has been changed in it. Whether the only change is the removal of the locking code, or the introduction of hard-coded keys or whether the code is replaced by something sinister.
  • The person who changes this code is very good at handling binary stuff. And definitely not a very honest person. Which means that, in the worst case, he could probably have put in suspect or malicious code. It may not be that bad, most crackers just like to show off their undoubtable technical skills. At least, I fervently hope so.
  • Microsoft will not and cannot support such code – you are on your own.
  • Antivirus packages and anti-spyware and similar other programs are written to work on the original or “genuine” Windows software. They could simply be a waste of money as they just might not work as intended IF your pirated Windows comes from a suspect source. Then, if anything goes wrong, you are very much on your own and without a reliable or trustworthy binary of the operating system.

All these will not happen 90% of the time or in 90% of the cases. But if you do not purchase “legitimate” software, clearly, it boils down to saying that you are willing to add your computer to the large number of zombie computers on the internet, sending out spam to everyone’s email, making DDoS attacks to bring down website access and so on.
You then lose the moral right to complain about spam email.
You then lose the moral right to complain when a huge virus attack destroys your email or causes damages to your company or to the security of your personal and financial information.
After all, you participated in it by donating your computer’s power and resources to create trouble for everyone by using a product not sold by any company.
Microsoft sells only genuine Windows and not “pirated” Windows. That one is distributed by someone else whom neither they nor you nor anybody else knows.
Yes, that is fact, not philosophy.
Read something about botnets and DDoS.

So, in short, do not “pirate” software.
Either buy it or use open source or free (as in freedom, not price) software like Linux.

Of course, I am not talking of the flaws of the genuine Windows product as proved routinely by the number of bugs reported, security patches issued, and innumerable vulnerabilities exposed and ignored by Microsoft in their genuine Windows product as well. It’s almost folklore, but that is not the point of this post.

Posted by: 2stepsback | December 9, 2007

I am confused about online security

… as usual.
Nothing new.
Either with that or with the idea I’m suggesting below.
Knowledgeable users or security experts are free to implement, reject, criticize or comment. I believe that I am a security conscious user and therefore I’m writing this. If you think your online existence is secure, or that you know everything about security, you really should look at what Bruce Schneier has to say.
My aim is just to see someone do something to reduce the number of zombie PCs on the internet sending out spam which burdens the internet, uses up computing power, and creates all sorts of security problems for everyone.

As a simple example that everyone can understand, tell me what you can do if your spouse-to-be has an email account with a password like “password” and uses a malware-ridden Windows PC? All your emails and highly personal discussions are… public knowledge.
Now, there are a number of “bulletproof security” programs running on a system full of backdoors, by design. So, Step 1 would be to switch to Linux. But, that does not guarantee total security.
Assuming that you have done that, we probably need a program or system or device (or a mix of them) to tell the owner of an internet-connected PC, 24x60x60 seconds of the day, the following information :
1. How much data is being transferred across the network from his PC.
2. Which IP addresses it is being sent to.
3. What data is being sent to that PC.
4. Which IPs it comes from
5. Which hardware devices it comes from, if possible.
6. Which software protocol is being used

It would be great to have a public listing of all common websites and their IPs published and updated regularly.

Ideally, it would be nice to be able to receive an email on your laptop or a message or SMS on your smarphone detailing all this data – and giving the user the option of choosing the last-step display in simple form like this:

Time: Last 10 minutes
Status – ON
Email – In – 100 KB, Out – 20KB
Web – In 5MB, Out – 1MB
System – In 1MB, Out – 20KB

or complex form like this:

Batch Start: 18:55:01 UTC
Batch End : 19:00:00 UTC
HTTP: Packets: <N> | Bytes: <N> | Requests : <N> | …
HTTPS: Packets: <N> | Bytes: <N> | Requests : <N> | …
FTP: Packets: <N> | Bytes: <N> | Requests : <N> | …
POP3: Packets: <N> | Bytes: <N> | Requests : <N> | …
SMTP: Packets: <N> | Bytes: <N> | Requests : <N> | …

DNS: <N> Details:<…>
TCP: <N> Details:<…>

or any customizable level of detail in between these two extremes.

The idea is to let people know in real-time, whether their computer is silent or not – which would provide useful data for analysis.
More importantly, publicly allowing such a service or gadget to be bought, at a price, increases the awareness of the casual computer user about security issues.

I’m fed up of spam. And it is very disheartening to read that a part of people’s internet bills are for bytes that they did not use at all.

People are paying for internet access which is used to steal their and others’ data and create all sorts of problems for legitimate users of the internet.

On some thought, you realize that this process is much like making people aware of the ecological issues they create as a by-product of today’s mis-managed high-speed commercialized glitzy lifesyle – no one cares about these things.

It is precisely this problem that this system could help solve. It could be writing a simple GUI front end or an SMS or IM-based paid / subscription service or a device with a big red bulb to show the user “Someone’s messin’ with your net RIGHT NOW! Do something about it quick!

Any better ideas?

Posted by: 2stepsback | December 9, 2007

My two cents

Bad weekend.
Sad weekend.

We should be ashamed to call ourselves humans.

The kid – had he no access to guns, he would have at most *hurt* one or two people and smashed some property and *hurt* himself. Deaths (plural) happened only because of that weapon he used.

Gangs of New York

Everywhere, same problem.
Ease of availability of guns.

Yet, we show no signs of having a heart.

But does the media want to solve the problem or make quick money by broadcasting the story repeatedly and using ads to make more?
Corporate social responsibility?

“My sensational stories should get maximum hits and generate revenue.”
A journalist who does this is probably the lowest form of creation – a mistake by Nature. Defective design. Humans not involved in the incident, without simple pity and mercy, are well, not humans, just organisms.

Remember, your heart keeps working constantly without asking you for rent or subscriptions or showing ads.

So, how about No Ads For The Day as a mark of mourning ?
Can they at least do just that much?
Or, how about No Ads For This Story?

On your part, how about responsible consumption? Maybe temporarily boycotting such businesses or business practices. Don’t kill any business for a few mistakes. Don’t cripple or handicap them. Just remind them that they can’t get away with just about anything.
Maybe Day-long boycotts as a sharp reminder of the pressing need of responsible journalism.

Can you think of any other pointed protests that remind but do not damage?

(Practical note and disclaimer:
Don’t try this all by yourself in your office or school. No guarantee can be given that there exist any humans in your office or school management. They could all be just organisms. So, don’t try to be a hero or a revolutionary. it doesn’t work that way.)

Posted by: 2stepsback | December 8, 2007

Flash-wiki – wikid awesome!


What if you were to use wiki markup to describe Flash content?
Then use mtasc, flex, gnash, haxe, neko, flare to make flash-based content management systems or frameworks configured, authored and edited using only wiki-like markup!!

That gives a few more ideas:
wiki markup --> Flash output

wiki markup --> Flash-like javascript-driven dynamic output

wiki markup --> Presentations

wiki markup --> Documents
This is a lot like (La)Tex, AFAIK.

Wicked awesome!

Ah! Now to think of the day when we will talk of uniting wiki markup, actionscript, HTML, javascript, CSS, MIDI, all into one language to describe everything…..
I agree that I get over-futurisic at times…. but if there is one language that can do all of these things right now, it is your good old Java. Practically though, that also means that if you want to learn just ONE language to develop everything in, the best bet for such a language is Java.

Prior Art if new.

Posted by: 2stepsback | December 7, 2007

Spaghetti code may be good

I have no familiarity with UML, but with all due respect to the inherent information storing capacities of visual or pictorial representation of knowledge, I think a lot many of us programmers still feel comfortable with text.
That is bad, because it speaks so poorly of our organization as a technology-driven society. I mean, it took us so many years to develop ubiquitous GUI software and even more to make better input devices commonplace. Any reason for not making a stylus the default pointing device is essentially a lame excuse. Social and economic factors are to blame.
But, given the textual orientation of our minds in the present day, we could use GOTO’s very very effectively to make a markup language for web application flow definition.

Why I should use a mouse and follow precise symbol definitions just to tell the flow of logic in my web application, simply beats me. In any language, the smaller the core vocabulary or set of commands, the faster it spreads and the more useful it becomes, because the opposite of it is a kind of closed-sourcing of certain thought habits.
Deliberately obfuscating thoughts in the name of refining concepts is a typical expression of feudalism of the intellect. Much like saying this:

Only the intelligent and the well educated shall learn this. Lesser beings will follow blindly.

Plain BS.

“Lesser beings” are making web2.0 turn the tech industry on its head. Microsoft and its kind are trying its best to either kill or master SaaS. Kill they cannot. Master………. they cannot!

PHP is a language of kids. Kids are doing all kinds of cool things these days. Ask your average 40+ tech manager. And get the colorfullest of replies. Colorfullest.

So, coming back to web app flow diagrams, how do you like this:

10: start ;start page
20: gosub login ;action
50: Sub login:
60: begin sub
70: clean data
80: verify data
90: log data
110: if valid goto setvals
120: else goto alertinvalid
140: setvals:
150: gosub create_session
160: gosub create_resources
170: gosub send_response; valid
180: goto end_sub ; or return or whatever
200: alertinvalid:
210: gosub log_invalid ;track bad login attempt
220: gosub send_error_message
240: end_sub:
250: end sub

So, if you want kids (above 13 or whatever) to make web 2.0 apps in minutes, each them BASIC or LOGO or Pascal or FORTRAN well ( assembly is for “real men”, who could rewrite web services, SOAP and the works, without the slippery <, > and shtuff ) and give them a nice web2.0 system ( server + interpreter + libraries + IDE + debugger ) and this scripting capability. Then watch the web go into an uncprecedented maddening glut of activity.
Then, sit back and think – what stopped this all these years?
I know that you know the answer.
Closed source.
So, what should you do to make wealth-generation easy?
Simple: Whatever your area of interest is, whatever your industry is, whatever your stated or unstated expertise is, opensource the process. Crowdsource the process.

And then watch the magic play out systematically.
Only people who don’t get the concept use the term “virally”.

Posted by: 2stepsback | December 4, 2007

php v4 to v5 migration portals

There is a lot of code written in PHP4 which is considered stable.

December 2007 is the development support end deadline. Mid-2008 is the security support end deadline. Which means from now to end of 2008, PHP will be in a state of flux. At least one web portal can come up with the single theme being PHP4 to PHP5 conversion.
The year after that, the same will repeat with PHP5 to PHP6.
I suspect this will give about 4-5 really good portals and more crowded migration sub-portals at existing PHP community sites.

Code migration, analysis, redesign, security re-tesing, audits, lots of work.
Looks like lots of work and good money to me.

Start learning PHP if you haven’t yet.

Posted by: 2stepsback | December 1, 2007

A new browser interface

(NOTE: I haven’t bothered to look if it is already implemented. No time.)

I was reading this:
Then I read the comments, and it appears that some of the commenters have not read the linked articles.

So that is a problem. People do not have the inclination or willingness to read all the mentioned linked pages. That is a real problem and, idiot like me, I realize this is a constraint after more than 8 years of surfing the web.
Damn! Big zero in usability.
Never mind, never too late, especially when no one else seems to have figured it out. At least not Microsoft and the Wizards of Moz.

So, just like Snap™ pops up small windows showing thumbnails of pages, why don’t we have a cute Firefox add-on which shows you just the relevant contents of the linked webpage the moment you move your mouse over it or something. With widescreen monitors, this is going to be a very useful thing. The next thing after tabbed browsing. I can clearly see advertising companies see red. But they can always put that in the clauses somewhere.

To get a very clear picture of what I am saying, go to and check out Distortion and GraphView. Awesome.

And if your browser were to do that with the html you’re viewing and getting prefetched, linked content on the same screen as the present one, hah!
Mighty fast transfer of information and knowledge.

That brings us to another level of markup – “important” and “unimportant”.
So, what next?

Posted by: 2stepsback | December 1, 2007

Slide sorter view for IDEs

I don’t know whether we really need this when we have multiple monitors and really wide screens, but such an idea could find a market somewhere out there.

IDEs do a lot of amazing things already. Now, check out Beryl and Compiz Fusion. When you will have a glove mouse, a keyboard+Joystick, or a “Linux Cheery Mouse” ;-), you will really want to 3D-ify your coding environment. As the business of selling technology products essentially constitutes selling the feature pieced over multiple versions, as a first step, you could introduce into your IDE a slide-sorter view like in presentation software.

The thing should come up as Alt+Tab and should show you the functions used in the code in the alt tab switcher in an adjustable-zoom thumbnail view. Then the whole thing will look like this:

Whaddaya say?

Posted by: 2stepsback | November 12, 2007

Hand-in-glove Cheery mouse for Linux

Another playful idea emanating from my brain trained a weee bit with playful cleverness:

A hand-in-glove “Cheery mouse” ( 🙂 <– “cheery”) for Linux!

I thought it up myself. I sent an email to the sunny west coast as well.
Then, a day or so later, I saw this Nintendo “PowerMouse”.
The guy should have used a PC with the glove-mouse on!
He would have been rich today!

As always, this idea is free for everyone to use to make mice and sell to the Linux cats and GNU/Linux dogs (loyalty over royalty? how stupid!)
No IP, no patents, nothing.

Straight to the point (after meandering so much…):

A “glove” mouse for completely removing the strain of using mice, trackballs and touchpads and other pointing devices (save fingers, especially….)

The mouse is a glove _only_. No wires, no pads.
It is simple to make as well, from existing components, even from an existing wireless optical mice.
A skilled mouse mechanic can make it within 1 hour.

Open up an old wireless optical mouse and see what is inside.

We just have to *modify* an existing circuit like this:
Move the contacts for left, middle and right click to the index finger of a hand-glove.
A common “ground” contact on the thumb of the glove.

Now hold your fist as if you were holding the handlebar of a motorbike or the seat-rod in a bus.
Just that there is no real rod, so it is an empty half-closed fist.

Now, your index finger has three bones (as always).
The one with the nail will have the left-click contact.
The middle bone will have the middle-click contact.
The bone touching the knuckle will have the right mouse contact.
(Opposite for left-handed mouse for left-handed people – a flippable joint for the circuit will enable the same glove to be used by right- and left-handed people, so just design well.)

The thumb has the common contact (ground or whatever).

So, to left-click, touch your thumb to the contact next to your nail.
To middle click, touch the thumb to the middle bone.
To right click, touch the thumb to the lowest bone.

To move the mouse pointer around, assemble the optical-sensing circuit in a biscuit-shaped enclosure at the side-bottom of glove, that is, touching the table, between the glove and the table. So, when you normally keep your hand on the table (like banging your fist on the table angrily), the optical sensor is always touching the table.

To move the mouse just move your hand in circles (or cycloids, if you wish) on the table.

You don’t hold the mouse. _The mouse holds you._

Ok, now suppose you get angry and start banging the desk, the mouse will move over the screen and do things you do not want it to do. Then what?
Simple, have a on/off button somewhere.
“On” means the mouse is a mouse and signals are to be sent.
Toggle to “Off” and means mouse is off and it just like an ordinary glove.
Bang your hand happily till all your frustration is released!!
(or use Linux, if you don’t like banging.)

The circuit and the On/Off toggle button can fit anywhere – in the palm of the hand or behind the palm or on the forearm…… maybe even like spiderman!

to use this on a laptop, either you simply connect to the laptop an ordinary glove mouse (wireless), or, you provide a detachable joystick in place of the trackball or touchpad.
Thereby not needing to move the hand *at all*.

But a joystick will mean separation of circuitry into two devices.
But it is worth it since no moving of the hand means much less strain!

Where does Linux figure in this mouse?
Good question, I’m wondering myself.
Maybe the opensource or free software style of thinking has something to do with it.
Or maybe, all Linux distros could start selling these mice as well, just like the other “popular” OS makers also sell a lot of hardware!

Carpal Tunnel, good bye!

Apache Tomcat, come play with Linux’s new Cheery mouse 🙂 !

PS: Dell, free pass for you, for having shipped Ubuntu!
PPS: Everyone else is invited as well, including Microsoft! This is hardware. And it’s about avoiding Carpal Tunnel. No loss of revenues in that. signature: whirlpool 2007-11-12 15:00:05 UTC

Posted by: 2stepsback | November 11, 2007

Let us continue playing

From the earlier post:

wiki + database = ?

wiki = collaborative editing + moderation.
database = tables, UDFs, views + multiuser data-modification capacities.

So, wiki of databases = ?

“of” == a relation phrase.

Other common relation phrases are : about, over, under, before, after, for

wiki about databases == wikipedia page for databases
wiki over database layer == normal wiki app.

btw, abnormal wiki app will be ….?
wiki with flat-file backend !
that is,
wiki _without_ database.
(note to self: so next time, don’t forget “without” in the relation phrases list.)

Which means,
os without os == fake OS!! or OS simulator !!

os without wiki = ?
think… (hint: wiki == modification)
os without *modfication* == read-only file system!!
simply, insufficient user permissions for you as a user.

wiki under database layer = ?
flexible file system which can be edited by anybody!!
(no points for guessing which popular os allows anybody to manipulate internals maliciously 😉 😉 )

or more consructively,
multiple interconvertible filesystems….

wait! do i hear “virtualization“?

editable VMs!!

VMware come hire me 😉
I’m gonna be rich! I’m gonna be famous! I’m gonna be powerful! I’ll rule the world! 😉

or even more constructively,
an os that has modularity and can be re-coded and compiled / interpreted on-the-fly!
Complete interpreted OS!!
True open source and free software!

or still more dizzily,
editable VM images, changing VM images or appliances on-the-fly.

and lastly, if you did not start jumping excitedly,
editable *processor*, on-the-fly!

Multi-purpose CPUs arranged in cluster-like fashion, but, on-the-fly reprogrammable, as FPU, GPU, Vector CPU, 32-bit to 64-bit or 64-bit to 32-bit, whatever else you have….

All running a wiki! 🙂

Interoperable and freely interconvertible virtual appliances from various VM solution providers.

That is, an open format for VM appliances or VM images !

And an open format for describing the gate-level or unit-level logic for all such userland-requested editable-processors so that such OSes and VMs can happily interconvert in such dynamic server environments.

Actually sounds like pure and complete chaos more than flexibility.
But good to think this out till here.

Foolish companies can stick with bribing officials while we floss guys innovate open ideas and implement opens systems for the next quarter century of computing 🙂

Yeah! IP scumbags, come, sue me! Sue! Sue! Sue!
Phew! 😉

All started from a humble play of words.
So much for the credibility of the concept of “inventive step”

As you can see, ladies and gentlemen, IPR stands for “Intelligent Phony Rights”
And Inventive Step is pretty much “inventable” by a well written program!

Go ahead and file as many patents as you want!
They mean **nothing** in software.

This is the spirit of Free Software. Free ideaware. Free mindware. Free thoughtware.
(er… thought?? where?? it’s only a “smart” algorithm! 😉 )

All this is prior art if no one’s already thought of it. See the timestamp url at the end of this entry.
See the site

There is more money in the correct way than in the extortion system.
Volume is the generator of revenue in this new age.

GPL violations is one.
BSA-authorized anti-piracy raids is another.

easy and big money isn’t there. But money is there.
I’m suggesting this only so that you don’t come suing me.
I intend to hurt no one’s earning.

Even if piracy were to be eliminated, Megaflop would lose no revenue, simply because the guys who might use FLOSS and Linux are mostly pirating anyway!
FLOSS will clean up the system for non-paying users of proprietaryware, and enterprise customers of Megaflop can continue using the same products. No problems for anyone.

Older Posts »