Tuesday, December 29, 2009

On dealing with people

I consider this a basic summation of what I believe when it comes to people.

This is what is:
Their Nature
Their Meaning & Path
Their Expectations
Their Hopes & Dreams
Their Quality
Their Health (of Heart and Mind)

If they are someone you care about, you must find out what they are, and if you cannot, you cannot trust them. When you know what they are:
If they are not in health, you never ignore them, no matter the trouble.
If they are of the best quality, you never abandon them, no matter the cost.
You never ask them to betray their nature, no matter the utility in doing so.
You never demand they forget their own meaning, no matter your own troubles.
You never spit on their dreams, no matter how big or small.
You meet their expectations as much as your own nature and path allow you, no matter what your dreams or expectations are.
You expect no less of them, no matter their nature, path, expectations, or dreams. Some allowance is made for health, but even then, you gauge their quality by the things they do, and the things they don't, compared to what they can.

Friday, December 11, 2009


My word, I haven't used this for much. It's a pity, as I'd like to.

There is beyond the slightest shadow of a doubt an enormous potential for revolution in OS design in this world. I won't tell you I have "The Next Thing", as a promise like that can only be made after it has already been accomplished. But I have Pretty Cool Ideas and I know they could do something pretty snazzy as far as OS design goes. I could MAKE them work, and I WOULD, if I had the right people on my side.

The basic principle behind pretty much all of it is that equivalent things are not treated equivalently in different aspects of computing. Two pieces of computing hardware (CPU, GPU, USB, HDD, CD/DVD, etc) in a given coputer don't communicate as equals; two computers with different operating systems don't communicate as equals; a computer does not treat all inputs and outputs in a generic fashion, but as a master plus extras; different applications editing the same data do not share the same session data.

To someone who does not know what I plan, every one of those things is not only true but natural. Indeed I expect that there's no particularly obvious way to do any particular one of those things, and little enough reason why they would all be done under the same banner. However, if we allow ourselves the luxury of daydreaming of what has not yet been built, we see a computer that:

* Has multiple components that are each discrete, all of which have standardized high-speed connectors, are hot-pluggable, and have no exposed internals (either in terms of hardware or in terms of software drivers), while being easy to replace and upgrade.
* Can support an indeterminate number of processors, inputs, outputs, users, etc, configurably and dynamically
* Can store application sessions in a way that they can not only be restored by the same application, but by any application with equivalent functionality, assuming that both parties conform to a session standard
* Can transfer both application sessions and user (GUI) sessions between devices running the same or compatable operating systems, even if those devices have drastically different hardware capabilities (including I/O) and run different software
* Is capable of using the running user session on a mobile device to log on to foreign hardware and use it for display and computation transparently without leaving user settings or data locally, or necessarily exposing the foreign hardware to user software which may be buggy or insecure.

I would love to head into that future by forging a really well-designed specification; I'm just having trouble keeping on track all by myself. That's not to say that having the specifications will naturally guarantee that a finished product will result, but if we have them, and they're good enough, we should be able to find a place for them.