Wednesday, February 3, 2010

Politics

I think that politics is the fine art of saying "That problem is unsolvable; here, have a cookie." If it's a very nice politician, they won't even charge you for the cookie; if it's a very bad politician, they'll throw you in jail for bringing the problem up in the first place.

The problem politicians have now is that as more and more smart people learn more and more about the problems at hand, they come to understand that almost none of them are unsolvable, and they expect the politicians to actually do the job they were hired to do instead of being politic.

Frankly I wish everyone who thinks that politics is a better idea than actually trying should be shot. Whether something small and sharp is shot into them, or they themselves are shot out of a cannon that's just strong enough to get them out of office, I don't care.

Tuesday, February 2, 2010

Why Google is the new NASA

Now I'm not old enough to know the '60s, that age when man was actually going to the moon for the first time. By the time I was born, the moon was a place man had been, and that's all there was to it. And frankly I'm not really old enough for the internet to be a mind-boggling concept either; by the time I reached maturity, chatting with other nations was commonplace. This isn't about making your place in the stars, though, nor making your place in the world-wide web.

In the 60s and 70s, really bright people had not only something to look up to, but a place they could believe in, a place that said, "Come here. Get away with war, away from profit-hoarding corporates. See the things you want to develop be built in front of your eyes. Watch people reinvent what's possible; then, have a hand in it yourself." That was NASA.

In ye olden times, there was a similar system called patronage. At the time, it was a decision of nobles or royalty to be the patron of someone who wished to do art or science for its own sake; looking back on it now, though, they are responsible for who knows how much of what we remember of the history--of the notable scientists and notable artists of the era, how many could only do their work because they didn't have to worry about having enough bread to eat?

NASA wasn't exactly a patron; they were an employer, one who gave science- and engineering-minded men and women a place. And frankly, since capitalism has taken root so deeply, that's exactly what's expected in today's world; if you don't demand that people work for their money, it's assumed, they'll laze about ungratefully and produce nothing of consequence, and don't you dare think about wasting money like that... not in America!

In Google we see a sort of mix of the two. Google is an employer first and foremost, but we also see in their policy a particular thing called "Innovation time off"; it's been covered elsewhere, but essentially, their engineers are told to spend a portion of Google's time (and consequently, a portion of Google's dime) working on something extra, which from my limited understanding is only limited to something that interests them. Google does get hold of the results of that labor, but even so, engineers flock to be allowed access to that environ.

Why? Let's put people, or at least prospective engineers, into categories--that never quite works, but it's illustrative. Let's say that they can either be searching for something to dedicate themselves to, or they have one and are looking for labor to carry it out. An engineer in search of a project may never find a project that is both interesting and pays well; an engineer with a project in need of labor may not be able to pay laborers enough without either becoming a money-grubber or risking a great deal by being indebted to a lender. Even in the latter case, if the project tanks, the engineer--and any other ideas he may have--are in the crapper, maybe for good, and so getting the project to completion stops being about doing it right as much as getting it finished. Similarly, in the first case, the project becomes more about designing the project to make cash than designing it to fulfill its purpose.

In the original patronage system, the artist had to answer only to their patron, who most likely wouldn't have brought them on if they hadn't thought that the end was worth the investment. At NASA, as long as the project was right, money was virtually no object; billions of dollars were spent, and although you would get your project finished, you weren't seeing much in the way of monetary reward for it. At Google, aside from your projects not being yours, they generally aren't all that highly monetized, but you can still see them completed.

And that's what an engineer--or an artist, or a scientist--wants. If an idea exists, and if it would be a good idea, it should get its day in the sun. You don't have to be a greed-monger searching for an infinite spiral of profits, and in fact that tends to get in the way. I think if there was a genuine, non-greedy, non-corrupt science/tech/engineering patronage, it would be heaven for those people, and maybe, just maybe, the world would be improved. Google comes close, though, and I think they should be lauded for that.

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.