Wednesday, June 29, 2011

Design Principles vs Engineering "Principles"

So today I've had Newspeak programming language recommended to me a second time. On its web page the people behind it claim Newspeak is going to be "designed as a principled" language.

The big problems with that claim are first, I see no evidence of any design on that page. And second, nothing they talk about can be even loosely described as principles.

That page, and that language, are the results of typical Engineers' confusion of ... everything related to design. They speak of design when they are incapable of it. They speak of principles when they don't even know the meaning of the term. I suppose I'll have to explain exactly what the terms mean.

Engineers

It's sad that I have to explain the meanings of basic terms in the English vocabulary but I can't say it's unexpected given that I've had to explain how engineers' thought processes are different from, and inferior to, designers. And what exactly (spontaneous) creativity means that makes it blatantly fucking obvious engineers are incapable of it.

The first observation is that engineers don't operate in the realm of ideas. They are not intellectuals. They do not value ideas for their own sake. This is a straightforward consequence of the fact they can't synthesize original ideas. Why value what you can't do? It would hardly make you feel good about yourself. And so very few people care about the truth more than feeling good.

The question naturally arises, what realm do they operate in? Well, they operate in the realm of externally observable behaviours. They are actually proud of this and claim this makes them superior people when the truth is they are cognitively deficient. It's a bit like a paraplegic being proud of using a wheelchair and claiming there's nothing a legged person can do that they can't.

Engineers' Perception of Systems

What does any of that have to do with systems? Everything! Because engineers don't operate in the realm of ideas, they don't conceive of systems as being systems of ideas to be understood. To an engineer, a complex political, social or software system isn't to be understood. Rather, a system is merely to function. It merely needs to ACT in a certain way.

To an engineer, a software system that's been "architected" as a Big Ball of Mud (like Unix) isn't an obvious failure. Rather, one must determine whether or not the Big Ball of Mud is a failure empirically, by seeing whether or not it does what you want to do.

If the big ball of mud does what the engineer wants it, in his very limited imagination, to do then it's a success! And anyone who says otherwise by virtue of having a greater imagination is a "troll" (*) to be hated. And anyone who says otherwise by virtue of having a lower annoyance threshold is a "luser" to be scorned. And goodness help you if you're both!

Similarly, to an engineer, writing spaghetti code is not ipso facto a failure. Yes it's going to be unmaintainable, but this obvious truth is not at all obvious to an engineer. Rather, one must measure the maintainability of spaghetti code empirically. And if it happens that generally such systems are unmaintainable well, that's a heuristic. Something that happens to be true, most of the time, not something that is true axiomatically and/or proven from first principles.

Designers' Perception Of Systems

To a designer, the above is all so much unbelievable, ridiculous bullshit. It's all FALSE at every possible level of resolution. To a designer, a system is to be understood. And this fact is axiomatically true. If a system can't be understood then it's obviously either not been designed at all or been badly designed. This is the most obvious and simplest theorem of any and every designer.

Given this theorem, a big ball of mud isn't any kind of architecture for the exact same reasons why the broken down ruins left over from artillery shelling don't constitute architecture. It is fucking obvious! And for the exact same reason, spaghetti code can't be considered any kind of success. No matter how well it behaves. No matter how maintainable it turns out to be.

Any system that can't be understood is a failure! Automatically. Axiomatically!!

Engineers vs Designers

What it boils down to is that when engineers make "principles" about a system they're planning, these end up being of the form "everything can do X" or "everything has Y" where X and Y are concrete artifacts. Hence, "in Newspeak, every object will be an Actor". These rules may or may not be easier to understand locally, but almost always they make the system as a whole more difficult to understand globally.

Meanwhile, when designers make general rules about a system, they end up saying fuzzier things like "the system is homoiconic". Design principles are typically more difficult to understand since they are more abstract, usually fuzzy and never concrete. But they will always, always make it easier to understand the system as a whole. So, "everything is an Actor, hence the system is wildly non-deterministic" is NOT something that should be construed as a design principle.

This is why systems planned mainly or solely by engineers can't be considered designed. Let alone well-designed. Rarely has any effort been made to make them comprehensible as a whole. And any effort engineers have spared seems paltry compared to the obsessive focus a designer would invest. These systems also have a nasty tendency to be incomprehensible to anyone but an engineer. And then only by stepping through them laboriously. This is clearly unacceptable.

Design vs Engineering

The difference between design and engineering is usually waved away by engineers claiming that design is just interface engineering, but that just shows how engineers are incapable of grasping design. Design is a synthetic faculty. Engineering is an analytic one. If you want to see the difference, look no further than any house designed by Frank Lloyd Wright versus reading the Building Code.

It's actually something of a sick joke to claim that underlying local rules (what engineers call principles) actually are overarching principles. It just goes to show that engineers are incapable of the synthesis required to understand the meaning of the word "principle" in the English language. Principle means higher level and not more fundamental. These things are pretty much opposite.

Since there is an important difference between design and engineering. And since the difference is fundamental. And since engineers can't do design if you put a gun to their heads, even though they claim to be able to. And since designers can't do engineering if you put a gun to their heads, even though they claim it's beneath them and would slit their own throats if forced to. A decision has to be made between them to decide who has primacy over the other.

Who would you rather be the bitch of the other?

Who Should Plan?

Now this question has a rather important context so let's state it properly. If you're one of the end users of the world, and keeping in mind that even if you're a programmer then you use many orders of magnitude more software than you actually create, would you rather that engineers or that designers planned software systems?

Personally, I think there really ought to be a law that would allow any competent designer to shoot engineers whenever they get uppity. I think this is totally reasonable considering that good engineers are a dime a dozen and competent systems designers are rare as Archaeopteryx teeth. So just to equalize the massive imbalance in numbers between engineers and designers, you need to hand designers overwhelming power.

Actually, you would need to do this even if designers were plentiful since on any software project you need about 2 designers for every 10 engineers. Yet the few designers need to have as much input as the many engineers. Then again, if systems designers were plentiful, we wouldn't be living in a crapsack world (**) so probably the imbalance would redress itself without resorting to shooting assholes with delusions of adequacy.


*: troll: 1) a person who through sheer peevishness and desire to do evil says the world is less than perfect so as to harm the self-evident Harmony all humans enjoy with each other, with feral animals, and with natural disasters. 2) a person who challenges group-think. 3) a dissident.

**: Hmm, I guess this makes me a Knight in Sour Armour.

Monday, June 27, 2011

Mezzanine: Hyped Up Electronic Whiteboard

Tell me if this presentation means anything to you. They make a big deal of moving images between screens, which is of course the most stupidly derivative thing imaginable.

They say "optimized for big data sets and real time" as if this means something. Because if it means something to end users then I haven't the foggiest clue what it is.

Just like I don't have the foggiest clue what a "spatial environment operating system" is supposed to mean. My money's on it just being an empty meaningless marketroid-invented buzzword.

As far as I can tell, this is an electronic whiteboard. Of course, XEROX PARC has been playing with those things for at least a decade under the rubric of Ubiquitous Computing.

But no, this can't be an electronic whiteboard because it's supposed to be "revolutionary" and "the future of computing". Garbage!

As near as I can tell, this is totally useless hyped up prestige crap aimed at idiots with too much money to spend. So-called "executives" seeking expensive status symbols.

Just like the multi-touch was a status symbol for hoteliers.

Thursday, June 23, 2011

OOUIs and Naked Objects

I was reading Erik Naggum's take on so-called "free software", a perspective I agree with entirely. It's interesting to see how his prediction has been borne out. Though I wouldn't go so far as to say "free" software has destroyed inventiveness, since I think C/C++ and lately Java have done more than enough of that. Annihilating inventiveness I mean, not being inventive!

But I agree with him that "free" software is entirely dictatorial and very, very far from free. And I even have a good idea how to remedy this. But that's not the point. The point is that it inspired me to check out the license for GNU Smalltalk since I was planning to maybe use it. Yes it has no GUI but this is a plus for me. No, it has no IDE, but I can get around this by porting from Dolphin. It's either that or Pharo.

The Point

Well, the license to GNU Smalltalk seems sensible, but that's not the point either. The point is that I started reading the documentation for fun. And I found this little gem in it:

The Smalltalk programming language is an object oriented programming language. This means, for one thing, that when programming you are thinking of not only the data that an object contains, but also of the operations available on that object. The object's data representation capabilities and the operations available on the object are “inseparable”;

And that's important because for years I've struggled with what the fuck is a "naked objects" UI framework. I've read about it. I think it's a fantastic idea. And this is an improvement over "OOUI" which I hadn't the faintest clue what the fuck it meant, although it sounded good too.

So I knew what a naked objects framework did, and I had some ideas on how it did it. But I never had an Aha moment and I could never explain in any principled way what it was about or why to have one. Yes, I understood the practical advantages well, but I consider such "understanding" strictly third rate. The pathetic bleating of people who are incapable of understanding anything.

So What Is It?

It turns out it's all very simple. Simple and yet profound. After all, it only took me years and dozens of design iterations to get it. An OOUI is one where representations belong to objects. So in OOP, code belongs to objects. And in OOUIs, representations belong to objects.

Now, this doesn't mean that each object has one and only one representation. That would be as ridiculous as an object having one and only one method. What it does mean is that the farce of "pluggable views" in the MVC (Model View Controller) paradigm is chucked away as so much lying garbage.

The whole notion of pluggable views is a sick joke and a lie. Not just because it's impossible in practice. But because it's not even desirable. Looking through your class hierarchy browser at some class and having not the slightest fucking clue how it represents itself ... this is Not Good.

Distractions

So anyways, I finally cottoned on to this ridiculously simple insight two days ago. It didn't help at all that the Naked Objects framework written for Java actually fails, totally and utterly, to heed this simple insight.

It also didn't help that so-called OOUIs are nothing of the kind. For one thing, people claim that Smalltalk has an OOUI but anyone who takes a look at Genera knows what a sick lying joke that is. There is no Smalltalk UI with Genera's abilities, and that's a really sad pathetic thing.

I would chalk up my view of OOUIs as an original invention except if Genera's UI is implemented the way I think it is, then it probably has it down. Or at least, that's how I invented it. By trying to imagine how I would implement the functionality I saw in that video of a Lisp Machine.

Now just think about this last paragraph and reflect upon it. An original invention ... replicating 30 year old functionality. There is something seriously wrong with the world when this can be said with a straight face.

Tuesday, June 14, 2011

Eliezer Yudkowsky Is A Plagiarist

If you've read Methods of Rationality by Eliezer Yudkowsky, you'll understand what I mean when I say that Yudkowsky is a pretentious poseur who desperately wishes to be what I actually am. You won't believe it but you will understand what that sentence means. I say this because in real life he, Eliezer, isn't anywhere near as intellectually capable as he portrays his protagonist Harry to be. And his portrayal of HP as a creative genius is subtly off in very telling ways.

A genuine creative genius could never achieve anything significant as a child unless they were specifically educated by another creative genius. And we are too few in number to be able to run across each other at random even as adults. Let alone possessing of the resources necessary to track down and identify our children from among the general population. MoR is a wish fulfillment fantasy of what Yudkowsky wishes he could have been like in childhood. The emphasis here is on fantasy.

I don't think a child-Yudkowsky could possibly act like HP does in MoR even if adult-Yudkowsky had been responsible for raising him. Because Yudkowsky simply isn't a creative genius no matter how desperate he is to make everyone believe it. Nothing he's ever written has passed the "how the fuck did you get from THAT to THIS?!" test of originality. His writings only SEEM to pass that test because he never credits his sources. When you actually know his sources, he comes off as a plagiarist. He often plagiarizes himself also.

I could not have behaved like HP does in MoR either, even if my adult self had raised my child self, but that's because I'm an anarchist rather than a narcissist. I fiercely dislike followers, even more than leaders, and consider anti-charisma to be a virtue. But I know I'm the real deal as far as creativity goes because my least creative stuff, the off the cuff crap which my subconscious spent 5 minutes on, looks an awful lot like Yudkowsky's most creative stuff. The writings of his whose sources I can't track down and so actually look somewhat creative.

The maximum number of sources of inspiration for anything Yudkowsky writes seems to be 2. The minimum number of sources of inspiration for anything I'm willing to say I created is 4. That's 3 radically different sources to inspire the solution, and 1 still radically different source to inspire the problem. Because I'm not willing to claim I created a solution if other people came up with the problem. I don't compete in a race unless I'm sure nobody has yet discovered the race track's existence.

That's how Albert Einstein created General Relativity. He solved a problem nobody else had ever identified as a problem. He had no competition. And that's why Special Relativity was just nothing-special crap. Because everybody else was working on it at the time. So by the time Einstein solved it, other people had come up with their own solutions too! If you want to leave your mark on the world, the first problem you need to solve is "what important problem does the world have that nobody else considers a problem?" and that only gets you to square one.

But you know what? The ironclad proof of being original is when you know every single source of inspiration you used to come up with a solution to a problem, and you STILL can't figure out how you did it. One of my earliest epiphanies into Operating Systems took inspiration from Plan 9, VSTa, Smalltalk and Novell Netware. The only problem with this is that I never learned about Novell Netware until AFTER I had my solution. I know this because I remember being disappointed when I learned about Netware and thinking that my solution was exactly the same. It took much closer inspection to determine that my solution was an inversion of Netware's.

The only thing I can conclude is there was something else I knew at the time that served as a source of inspiration for my solution, beyond Plan 9, VSTa and Smalltalk. Maybe it was user groups in Unix. This makes 5 radically different sources of inspiration, since the problem that I solved is something nobody identified as a problem. Actually, it's something which to this day nobody identifies as a problem. All the moronic programmers consider it a solved problem despite the fact their "solution" has failed in the marketplace and they honestly can't see the problem with that. And no, I'm not going to bother describing my solution since all the times I tried, only 1 programmer out of 50 could follow it.

Getting back on topic, Yudkowsky gets speaking engagements and writes books loudly proclaiming what he wants done. He constantly brags about what he can do and what a great person he is. Me, I've learned to shut the hell up. Because there exists no incentive in a capitalist world to publish original ideas. As a result, nobody has any clue what I'm capable of or what I want done. And nobody will. Meanwhile, everyone thinks that plagiarist (and his plagiarism is the only reason he publishes) is actually original. I despise that poseur with the burning hatred of a thousand suns.

Sunday, June 12, 2011

Power Glows - Only Nuclear Power Glows

There was a rambling useless discussion on Rod Adams' Atomic Insights blog about moving away from self-destructive marketing by the nuclear industry. Because all that emphasis on safety is just as self-destructive as an American politician declaring out of the blue "no, I am not a homosexual".

Then there was the stupid suggestion by someone that the nuclear industry emphasize how "green" it is. Except that too is self destructive since “green” is a propaganda word owned by the enemy. And what's so laughable about green is it's the colour of money in the USA. Hence the colour of the rich. Which is of course who bankrolls the anti-industry anti-human movements.

I of course have an obvious proposal to all this aimless useless confused scratching of heads among pro-nuclear advocates. I propose we call nuclear a BLUE power source. Mmmm blue. In fact, it’s a GLOWING BLUE power source. And since we all know from cartoons and anime that Power Glows it behooves pro-nuclear advocates to use this obvious selling point.

(And it's true too. Stars glow. Supernovas glow. Quasars glow. Lightning bolts glow. Lasers glow. Even fire and lava glow! And if you count sonoluminescence then even sound waves glow ... if they are powerful enough. Glow => Power in the human mind.)

Take a look at this picture which could easily have come off of a pro-nuclear advertisement (but didn't) and tell me that doesn't give you a warm glow inside. Fuck all that submarines and electricity shit. That's all fucking worthless. You want a message that will resonate with people? Keep it simple.

Only nuclear energy glows with power. Because REAL power glows!

The corollary is that so-called “green” energy sources don't glow because they are WEAK! And equally obvious, to me anyways, is the reason why Gaians hate nuclear energy. Because it is powerful. And this conflicts with their submissive worship of Gaia.

Thursday, June 09, 2011

Inherited Surnames - so-called Family Names

There is little more retarded than the concept of inherited surnames. Certainly in the modern era where many people are aware they've been abused as children (because even childrearing has evolved rapidly in the 20th century) and where a vastly greater number of people choose professions and lives disapproved of by their parents.

The whole concept of inherited surnames is absurd and despicable. It stopped making sense during the Industrial Revolution when society gradually stopped looking towards the past (classical education) and started attending to the present (modern education). With our emerging future-orientation, it makes even less sense.

Inherited surnames also run afoul of gender equality. And I will say that nothing showcases the crushing lack of creativity and utter fucking stupidity of humanity than the fact that feminists, who have an abiding hatred of patrilineal surnames, were able to come up with NO solution to the problem (hyphenated names don't count as a solution). It's not like the solutions aren't blindingly obvious either.

The first obvious solution is that when a couple gets married, they exchange surnames. The better solution is that when a couple gets married, they take up their significant other's given name as a surname. How's that for gender equality? And yet, I've never heard it proposed. Probably because feminists are all fucking idiots, as the general run of this pathetic species called humanity tends to be.

The second and obviously correct solution is that when a couple gets married, when they become a family, then they PICK A FAMILY NAME. How fucking obvious is that? The children then inherit this new family name, by virtue of being part of that family until they form their own family. How pathetically obvious is that?

And yet I've never heard of this rather obvious suggestion. A withering indictment of humanity if I've ever heard one. After all, something like 100 million people get married every year on this planet, and how many of them have the minimal intelligence to do something different than all the herd animals around them have done for centuries? How many of them can actually come up with something smart to do? Apparently, too few to be detected.

This whole species you are all proud to be part of is mind-numbingly stupid. Even the supposedly smart people, the engineers, the programmers, the academics, the scientists. They are ALL idiotic in the extreme. They've memorized worthless facts and esoterica so they can show off by regurgitating them to their peers. Like trained parrots and seals. Meanwhile, they're too stupid to wonder for a single minute what to call their own children.

Wednesday, June 01, 2011

Future of Nuclear

There are many incredibly ridiculous people who talk about transitioning away from nuclear power and towards weak ambient power sources (the propagandistically misnamed "renewables"). In these people's views, the world is entirely static and unchanging but there is this magical fairy called The Future that will transform their chosen power source (through magic) to do anything they wish, irregardless of the laws of physics.

Ridiculous is a grossly inaccurate term for this batshit insane magical thinking. I happen to know all of the developments promised for wind, solar and nuclear and while some of the future developments of wind (but not solar) are impressive, they don't actually nullify that source of energy's inherent weaknesses. And future developments in nuclear power aren't "impressive", they are revolutionary.

Some of these ridiculous people are putting a 25 year timeline to "transition away" from nuclear power. Which is entirely ridiculous and unrealistic. At least if they'd said 100 years then I could allow for solar power satellites or other such technology but whatever. Within 25 years, wind power will almost certainly gain high altitude from kites, wings or other techniques and so bump up to a solid 40% reliability onshore, improve economics and siting issues, and reduce the infrasound pollution problems.

Nuclear Revolution

Within 25 years, revolutionary technologies like small nuclear, high temperature nuclear and nuclear gas turbines will all come online. With some luck even thorium, molten salt and chemist's designs will be developed, though the time horizon there is more realistically 40 years to deployment. Why do I say these are revolutionary? Well,

  • small nuclear plants will do away with the enormous expense (and unsightliness) of long-distance transmission lines, something that wind power will never be able to do since it actually multiplies transmission lines (another dirty side of wind power that's rarely spoken of)
  • high temperature nuclear will be vastly more efficient (thus cheaper) and assuming the temperature is high enough allow entirely new applications like providing heat for industrial process, something ambient power sources will NEVER be able to do (sun-powered forges have been tried & failed already while electric arc furnace mills will move out of the country rather than pay for expensive electricity)
  • nuclear gas turbines will allow NPPs to be dispatched (ramp up and down) very rapidly, opening up the potential to displacing single-cycle gas turbines and even hydroelectric dams. The competitor here is natural gas, ambient power sources need not apply!

So in 25 years, nuclear power will be entrenched as never before. It will definitely be powering mining sites, oil rigs, remote towns, and small islands. It will probably be competing against hydroelectric dams. And it will possibly be used in the chemical industry at refineries.

Thorium, molten salt, and chemists' designs are all equally as revolutionary, though their advantages are far more esoteric. Things the typical end user hardly cares about but the mining industry, nuclear industry and politicians definitely will.

In other words, for all the delusional crap about transitioning "away from" nuclear power, the reality is the future will involve transitioning TOWARDS nuclear power. Something we have honestly just barely begun. Something even France has barely begun when you keep in mind the massive potential of nuclear power.

Not Just Energy

And I haven't even mentioned laser enrichment which will collapse the price of fuel for nuclear power plants down to raw uranium, utterly changing the game there. It will also drastically shorten the acquisition period for nuclear bomb material, as well as make this activity undetectable. Both of which are excellent news for everyone who hasn't lived under the umbrella of peace provided by nuclear missiles. Something which anyone who's read about the confrontation Khrushchev had with the suicidal madman JFK will agree with.

Yes so when I said we had a glorious nuclear future, I wasn't restricting this to nuclear energy. The only fly in this ointment is truck bombs. Nuclear truck bombs to be exact. Bombs whose provenance you can't trace. Missiles are great for peace. Truck bombs, not so much. Or are they? Maybe a few rich cities getting blown up by terrorists will make the world's rich people take seriously the demands of disenfranchised poor people. When a poor person can light a nuclear fire in your gated community, the balance of power between rich and poor is going to change drastically. We'll be living in very interesting times.

I won't mourn when Tel Aviv is incinerated. I'll be too busy laughing at all the politicians scrambling to remake this world into a socialist paradise where poor people are happy, happy, happy.