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

MOS/DCA/M4U/VSA

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.

Monday, November 16, 2009

Fanfare for the Common Man

It didn't occur to me until I downloaded it off iTunes that the music that I associate with the NASA project, and Apollo in particular, is called "The fanfare for the common man."

Or rather, it didn't occur to me until the first time I listened to it, and realized that it was that same music. There was a moment of connection in my mind and I checked the title to make sure, but it was no mistake.

I think it's more than appropriate. The people who were the first to see the earth itself from space, with their own eyes, weren't soldiers or conquerers, politicians or rich men. The government placed the risk, and the reward, squarely on the shoulders of scholars... and on the shoulders of men who trusted those scholars with their lives.

Godspeed, mankind. May you never stop rising above those who came before you.

Thursday, October 22, 2009

Experimental Software

The thought occurs to me that, when it comes to software licensing issues, there exists an analogue which really should have been explored long ago, but which I do not recall any conversation about. In particular, there is one thing in particular, and that is the idea that software is trusted with all of our data, even data on which lives can depend. And yet somehow, the concept of "Aircraft-grade" doesn't apply to software in these cases at all.

For people who aren't aware, the building of aircraft is a fairly well regulated industry; I hope I don't have to suggest why. Not only are all the parts supposed to be aircraft-grade, but there is a large body of tests that software must go through before it is declared worthy of FAA certification. If the aircraft is NOT certified safe by the FAA, then you know before you get it in it that what you have is unregulated and it may be no safer than the worst mechanic or part in it. Certified aircraft, such as airliners, are tested for reliability, and as long as they are kept up in accordance with FAA rules, you can be fairly sure that they are worthy of your trust. (They do have a pretty good record with this, too, in spite of the occasional story of airliners crashing--which is made louder and more noteworthy in fact because it happens so rarely.)

I cannot think of a single good reason why software that covers critical sections of computing should not be required by law to be tested by an independent agency for its stability. This would ideally replace the EULA's indemnifying clauses entirely, as the company would in fact be required to account for the faults in its software. In contrast, if a piece of software does not have the testing, because it is an amateur effort or work in progress, it should be clearly marked EXPERIMENTAL--with the understanding that if you use it, you are not allowed to blame the maker.

Ideally, there would be other classifications as well, some with stability testing, some without. Anything where user data is being used MUST have some kind of classification, whether certified or experimental; the user themselves will come to believe in the difference between certified and experimental software, making certification desirable for companies, while at the same time, the fact of testing and the requirement for legal responsibility will dissuade con artists from abusing it.

Would Microsoft or Apple approve of such a scheme? Maybe, but not easily. Microsoft in particular is probably not set up in such a way that any part of its OS, much less the whole thing in total, can be completely certified. However, if a top-notch OS was "certified" and especially if the other OSes were not, then I'm sure they would be more than happy to hold that over everyone's heads with glee.

What should be certified? A quick list.
  • Kernel (sans drivers, but including driver architecture)
  • Registry (for Windows)
  • User Interface (sans plugins)
  • File system
  • Network stack
  • OS initialization daemon (The process which starts applications at boot-time)
  • Password/Identity managers
  • Network security
  • Any server process (ssh, ftp, http, samba, filesharing, remote file storage, remote desktop, etc)
  • Commercial file editors
  • File compression tools (zip, rar, tar/tgz, 7z, etc)
Possible useful certifications:
  • Certified User Application (will not lose user data)
  • Experimental User Application (registered but not guaranteed)
  • Not Classified: User Application (Not registered; use caution)
  • Certified OS component (will not crash and lose data or damage hardware)
  • Experimental OS Component (registered but not guaranteed)
  • Not Classified: OS Component (If you aren't a developer, you just shouldn't)
  • Certified Isolated Application (Does not use user data; games and graphics programs)
  • Experimental Isolated Application (...)
  • NC: Isolated Application (...)
  • Certified Secure User/Network Application (Data is securely stored or transmitted)
  • Experimental User/Network Application (...)
  • NC: User/Network (...)

Thursday, October 15, 2009

Franken Bill and Governance in General

I'm not a political commentator. I hate talking about politics. I hope never to have to discuss them again. I am also not a lawyer. I'm just a blogger.

As you may have heard, 30 Senators from various states recently set their balls gently but firmly on the chopping block and voted against a bill that prevents government contractors from "restrict[ing] their employees from taking workplace sexual assault, battery and discrimination cases to court". From what I can tell, the details of the situation fully bear out that first moment of outrage one feels from the summary. If this was anything but a thinly disguised resignation letter, then the American government should be taken out back and shot.

I'm not being facetious. Senators serve in units of six years, and I doubt many or even any of those 30 senators are fresh out of 2008. In the last six years--in the last twelve, or even eighteen or more--how many laws have been passed? Although many have grown cynical of government recently, there is no way to say this but that those senators show no respect for the weight of their actions on 300 million people.

The concept of democracy, and indeed government itself is simple--in order for a common peace to be established, some amount of power must exist to regulate inconsistencies and especially violence. However, power by its nature has the power to create those same inconsistencies if misused. This is where democracy parts ways with monarchy--Democracy was designed so that it never needed to be true that the people of a nation could not trust its leader, its governance, or its courts. Unfortunately, it IS true. That it is true now suggests that it may have been true at points in the past as well, and many of those laws remain on the books as well. With this in mind, if I could, I would vote for no confidence in America's existing structure of law and governance until such time as a thorough review and restructuring has left the country in the position it was intended to be in at founding: where people need never exist under the rule of an agency they cannot trust.

Admittedly and unfortunately, this is not possible, not least because the entire federal government, from the senate to the federal mail service and public school systems, would have to be put on hold. However, I do not believe that this negates the thrust of my message--that for the people of America, and indeed the world, to truly believe in its political leaders again, the system must be designed such that those who would betray its trust are not allowed to participate, and with this done, the existing body of law should be reconstructed in such a way that it can be understood plainly and cannot be abused by means of details, whether those details are abuseable on purpose or as an unfortunate mistake.

Should it be done? In the next ten years, no. Possibly not for the rest of the life of the United States. It is not possible for acts of desperation to have the clarity necessary to truly escape the itching tendrils of corruption. It is possible for it to be done, but it may take decades worth of retrospection and deep thought, and these thoughts may have to be completely separate from the national dialogues.

So I suppose the best idea would be to come up with a theoretical body of law which would serve any country which tried to implement it, but with the understanding by all nations that until it is complete and refined to the same or a higher degree than the existing system, there will be no need to worry about implementing it. I personally would love to see such a thing; although I hate talking about politics and despite partisan discussion, the idea that it could possibly all work out, even if it doesn't happen for our generation, is an ideal beyond my reckoning.

Tuesday, September 8, 2009

The mythical wrist-computer

What ever happened to the forearm-mounted computer?

Now, I'm not as big a sci-fi buff as many, so I can't say that it's a staple, but the idea of a computer scarcely more cumbersome than an armored bracer isn't something that yet needs introduction to the genre. There are many sizes and flavors with many kinds of I/O, but the tech behind it, for it to be practical, has always been kind of brushed over.

I'm holding my iPod touch in my hand. Including processor, battery, and hard disk, it's hardly half an inch thick. Assuming that half of that was the touchscreen display would be generous--so, if you had two matching clamshells (probably slightly curved), one or both a touchscreen, and with the rest of the hardware on the other half of the arm, it would be barely if at all thicker than one iTouch. Scale up the dimensions of the screen just a smidge and you have something almost large enough for an actual keyboard, plus a second screen for data--or, like the iTouch and iPhone, turn it on its head, or any-which-way, in order to get the computing experience you desire. (You'd have to make the processor and battery marginally better to accomodate its needs, but the iTouch runs off a 500MHz processor--it's not like we don't have the means to make better)

I'm sure the position would be awkward--having a weight on a round-ish surface like your forearm is something that would cause torque to be a big issue, as I (as others) notice with our watches every day (although, for a well-fitting watch, it isn't a problem--and I'm sure that a properly-fitted watch band up front, and a support strap in back, might deal with the torque well enough). Also, the forearm display probably isn't ideal for either typing or watching--but you'd get used to it, and even if you didn't, it's mobile computing--there aren't many solutions that get it right throughout ALL of digital history.

Still, the geek in me feels that the body-mounted computer industry has been severely lacking for far too long. And let's face it--if you can mount a display like that on your forearm, you can make it JUST the display--and carry a laptop in a backpack with a flexible cable running down your arm. There aren't many, or any, really, solutions that would let you do computing like that, while standing or walking, especially in a way that doesn't threaten imminent and trivially-executed device theft. I wouldn't walk down many dark alleys with it, but short of being ordered to take it off at knifepoint, it remains personally attached.

Thursday, May 21, 2009

The Real Thing

I think I know what bothers me about... a lot of things. People who aren't professional; liars; and in general, the entire culture of people who simply seem to not take the world seriously.

Not surprisingly, the problem is in fact that they don't take the world seriously.

By not taking the world seriously, I mean that they seem to view it as a cheap toy--something for which there is a trick, a funny little thing that makes it do what you want, and that's it. The people aren't real people; the problems aren't real problems. It's just a lot of pretty lights, exciting times to be had, and a bunch of squares that are looking to screw up your daily contact high.

Similarly, when it comes to getting out of miserable times, the same people--and I am one at times--view the world like a puzzle, and a cheap one, where whatever the answer is, there is one, and it's something fairly simple. Play with things, and don't worry about doing things you don't want to--the world is only a toy, after all, and it can't make you do unhappy things. And people who accept that you "have to do unhappy things" still seem to want to relapse into this view that the world isn't really complicated--just cruel.

The world is something to take seriously. It can kick your butt while you're looking for the off switch. It will look at you funny when you twist it left and right looking for the "trick". The world will never be a $5 game at Wal-Mart. It's a real thing, and the only way to face it successfully is to be a real thing in response--alive, looking, learning, not becoming a cheap mockery of mankind by settling into patterns that end up leading nowhere.

Where the idea that we can be fake comes from, I don't know. But wherever it's found, it should be unceremoniously smacked upside the head.