Ferramentas Pessoais
Você está aqui: Página Inicial



 

How to completely wipe out mankind

I just came from Hacker News, where there is a short discussion on how many nukes would it take to wipe out humanity. This is an expansion of my post there.

The original article reaches the conclusion we don't have nearly enough nukes. I disagree. It's a matter of using them efficiently.

I guess a couple hundred average nukes would be more than enough to nudge a passing rock (there are many readily available) into a collision course to Earth. Better yet would be to use the fissiles to power a mighty big NTR attached to a comet and use its own water as propellant. This would be a lot more discrete than a big blast, may provide for a quicker intersection and also add a nice oomph to the comet for when it hits the ground. I would also suggest hitting the Atlantic or Yellowstone as nice strategies for maximizing destruction. Hitting Europe could yield the maximum number of immediate deaths, but the other two may provide a larger overall devastation. I bet a comet hitting a supervolcano is a very memorable event.

And nothing, apart from the supervillain's budget would prevent the use of more than just one comet. A string of fragments, like SL9, could rain death very evenly across all inhabited places of the Earth.

In the end, it all depends on how long you are willing to wait until the last human is dead. If you require them to be all vaporized by the end of the afternoon, then, perhaps, we don't have nearly enough nukes. If you are a patient villain, you could use your resources far more efficiently to first render useless a huge part of our infrastructure (with EMPs from high-altitude detonations), then ruining food supplies (even small nukes could start fires) and only then using the remaining firepower to wipe out whoever is left after they have had a couple years to restart civilization and concentrate a bit.

It seems very doable. In fact, we may even be able to wipe out humanity without using any nukes. I regard some politicians as much, much more destructive than simple nukes.

 

Leia mais…

We build what we love (or "how to save us from an x86-only world")

"The creative mind plays with the object it loves"
Carl Gustav Jung

We, software creators, work on what we love.

Of course, we also work on our day jobs, on products we are told to build, with the tools we are told to use. We have to.

But we also work on stuff we like with the tools we choose. We play.

And this is, often, the very best of our work.

Insufficiently advanced technology

In the past couple years, we have seen the development of an astonishing variety of interesting microprocessors. I am not talking about the latest x86 processors, mind you, as they are not particularly exciting (that "cloud" thingie excepted, perhaps). Just about every desktop computer or laptop around us employs an x86, often to drive much more powerful (and elegant) processors that have this lesser roles because... they are not x86s. And because they can't run Windows. Or Flash.

We can see a future in those interesting processors. Both POWER7 and Niagara 3 are amazing machines. We can't, however, see far into their future. These processors are being deployed on servers, often on remote datacenters we never get to visit, to run applications other servers like them already run. They are in the dark realm of legacy.

Running those apps is an important job, don't get me wrong. I like my airline tickets and my hotel reservations properly booked.

But this is the last step towards extinction. When all you run is software developed for your granddaddy, you are pretty much a doomed architecture. You may live long on life support, like zSeries mainframes (also amazingly cool boxes) and COBOL (nah... not so cool, at least not now), but even them will eventually be mothballed. Let's face it: how many new customers they have? How many companies that run x86 servers decided to buy their first POWER or SPARC box in the last year? How many applications that run only (or, at least, better) on non-x86 boxes were developed in the last couple years?

Extinction is a very sad event. It is sad when it's an invertebrate species (perhaps less so when it's a nasty virus), but it's also sad when it's a technology. We have seen this with moon rockets: if we are to get there again, we must, more or less, start from scratch. We just can't build a Saturn V anymore. Soon enough, we won't remember what made SPARC, MIPS, POWER or Alpha special just like most of us never heard of a Transputer or many of us who think Windows XP Professional x64 Edition was the first 64-bit OS (clue: I played a lot with a 64-bit box in the mid-90s and I was 30 years late).

A bleak future

Nobody with enough knowledge to emit an intelligent opinion likes a PC. It's a kludge: a matrioshka of each and every IBM desktop computer down to an IBM PC 5150. Your Core i7 processor powers on thinking it's an 8086 and quite probably goes on initializing its ISA bus, the serial ports, timers... It's nightmarish. If I were such a processor, I would jettison my heat-sink and die the hot death of inefficient power dissipation. You can probably run PC-DOS natively on them (in fact, Dell sells boxes with FreeDOS for those clever enough not to pay the Microsoft tax).

And that's where we are headed to. If nothing happens, 10 years from now that's all you will be able to buy. A wicked fast kludge.

AE101 - Avoiding Extinction 101

If these notable architectures are to survive - and survive they should - we will need computers we can play with. Computers we can love and use in our everyday lives, not remote boxes in datacenters we deploy our legacy applications to. We need to run our Gnomes and Firefoxes on them. We need desktops. We need workstations based on these chips. We need to be able to run their OSs not only to host our legacy applications, but also the apps we would like to build that are unreasonable to build on a desktop PC. Free and open-source software provide an important, smooth, migration path between different architectures.  For those who forgot a couple years ago Macs ran on PowerPCs the same OS they run now, it's proof enough to see Gnome running on ARM-based gigantophones and smartbooks. It works and it works well.

And provides a safe bridge.

Unlimited power

I am writing this for two reasons. The first is that I like diversity. Diversity and selection are the tools of evolution, Unfortunately network effects have robbed us of the first. Network effects naturally favour the majority and should be limited if we want true evolution. It's effects are felt on desktop computers mostly because of non-portable 3rd party software. The same is happening with smartphones, with ARM on iPhoneOS duelling Android for survival. Diversity should be reintroduced in our environment whenever it starts to falter. In order to maintain diversity, I want other chip architectures to succeed. I want POWER and SPARC, but I also want new architectures to be developed. I want neural networks and reconfigurable coprocessors. The less dependent we are on the x86 binary architecture, the easier it is to make that happen.

The second reason is far more selfish. I want one such box for me.

I want to have one such box. More important: I want the best software developers to have them (since I am not one of them, my power to effect change is very limited). I want them using those machines every day for everything they use computers for. I want them to love those machines and to play with them. I want to leverage this love and turn it into change.

Because we need them playing unrestrained by the legacy technologies that cripple today's PCs and binds them to roles that were obsolete decades ago.

We need our best people inventing the future.

I have no idea of what could come out of this, as much as my ancestors who walked their way out of the Middle East into Europe armed with little more than sticks had no way to imagine we could one day send people to the Moon.

Evolution needs a kick. Let's kick it.

An important note: with luck, this article will start an interesting discussion here. The site is minimalistic, but the folks who hang around there are great.

Leia mais…

Not sad at all

Antony Satyadas, on a blog entry at developerWorks, said something that I find interesting.

It's interesting because it reflects a pervasive, and incorrect, point of view regarding past performance of Microsoft.

The entry is here and refers to two other articles with the second one creating somewhat of a stir among those interested in our craft. I won't quote much (because there isn't), but I'll comment on a few of his quotes:

"The future of America is presently in peril, not just because of the shadowy ways of the "banksters," but because of a sputtering innovation engine that's had the fuel choked off"
Gordon T. Long, former IBM and Motorola exec

I am not surprised, and I kind of agree with his point. Far too much is made elsewhere and the knowledge to design stuff is not that much important (or relevant) if you lose the capacity to build the stuff you design. Manufacturing capacity is not something you rebuild overnight. Although it seems true the US has a serious problem at hand, that's not my point (I don't even live in the US, I just like you guys and wish you the best). My point is far less important, but, I hope, much more interesting.

"But the much more important question is why Microsoft, America’s most famous and prosperous technology company, no longer brings us the future"
Dick Brass, former Microsoft VP

I am not shocked Dick Brass thinks Microsoft used to bring "us" the future. He worked there after all bringing whatever passed for the future to whoever passed for customers. What I am surprised is how easily one forgets the past. Microsoft's first product was a version of the BASIC programming language (something that already existed) for 8-bit microcomputers (something someone else built). Mind you - the only future they were bringing was a smaller, less capable version of something mini-computer owners already had. For a couple years.

Microsoft's only true paradigm-shifting early moment I can remember is Bill Gates' "open letter to hobbyists" that complained about people sharing software (some of it copyrighted and not targeted for sharing, but for selling). While he was right people should not pirate the software he wanted to sell, I like when people share what they do. Actually, I am using the end result of such sharing right now. And, if you are reading this, so are you.

One could think of the Z-80 SoftCard (I have two of them in working condition) as innovative, because it allowed an Apple II to run CP/M software (the OS that ran most of Microsoft's offerings). It was good, but was it "innovative"? Remember: at that time, computing was much more diverse (less boring) and machines with more than one processor, if not the majority, were not uncommon.

Then one could think of MS-DOS, except for the fact that it was not created by Microsoft. And, while we are at it, it's more or less a CP/M knock-off written for 8086 processors. It was also horrible to use (but, in that regard, CP/M was not very impressive either). Even at that early age, mostly silent Apple IIs humiliated bulky and noisy PCs in terms of ease of use. Apple's DOS 3.3 had long (33 character) file names. In 1978, IIRC. PC users had to persevere until the early 90's to finally have them.

MS-DOS beget Windows, which was more or less a cheap knock of of various concepts (the Xerox Alto family, the PERQ, the Lisa and the Macintosh) that ran on lesser computers. If a PC was "legacy" in 1984 (Windows was eventually a hit because it ran on computers people already had), the fact I am writing this on one (even if it's a multiprocessor sub-notebook running Unix) is inexcusable. This legacy held back progress in ways far too disgusting for me to properly discuss here.

"Microsoft has become a clumsy, uncompetitive innovator. Its products are lampooned, often unfairly but sometimes with good reason."

Sorry. It never was anything but clumsy and uncompetitive. Their first market breakthrough, with MITS BASIC, was achieved through bundling a copy of BASIC with every MITS computer. They made one sale: to Ed Roberts. Their next one, was with MS-DOS coming bundled with IBM PCs. They achieved market dominance through deals with manufacturers, not by providing superior value to customers (although they do provide some value - mostly comedic, IMHO). Microsoft has always followed the safe path first traversed by others and then taking the easy short-cut, usually through the boardroom.

"Microsoft is no longer considered the cool or cutting-edge place to work. There has been a steady exit of its best and brightest."

I am embarrassed I did, in the late 80's and 90's, entertain such fantasies. I really thought Windows was cool. That NT was cutting edge (it was, after all, one of the first products to announce - but, IIRC - not to deliver - multi-processor support with multi-threading) and that Microsoft could be the right place for me. But at that very same time, I was getting enlightened. I saw Alto (in BYTE issues, at leat), Smalltalk (I bought the blue book), Lisp (it felt funny at first), and various unixes, from AIX to Solaris. How liberating for a computer guy to arrive at the simple idea that something is ready not when there is nothing more to be added, but when there is nothing more to be removed. Form and function in perfect elegance.

Because Microsoft is seen as a successful company, many people feel compelled to revise the past (to be fair, not everybody has been hanging around since the mid 70's) to make it more brilliant than it was. They were good. Not, perhaps, as good as the Bell Labs folks. Not nearly as good as Xerox. Certainly not Jobs-and-Wozniak good. But good does not translate into dominating the market and dominate the market they do. You don't have to be that good. Being clever and relentless and adequately connected will, eventually, be enough.

And so, I am not surprised Microsoft is now perceived un-cool and un-innovative. Like its products, it has become bloated and slow, as any monopolist is, and even more reluctant to innovate than it ever was, as any monopolist is expected to be. When your strategy is winning, you don't change it on a whim.

This will, eventually, bring its demise, as it brought it to IBM before (by the hands of none other than Microsoft - oh the irony).

In the meantime, I have popcorn and I am watching.

Leia mais…

Programação como arte performática

O "Dueto das Flores", parte do primeiro ato de Lakmé, nunca deixou de me comover.

A busca da beleza deve sempre fazer parte da nossa vida e do nosso trabalho. Foi pensando nisso que eu resolvi colocar aqui esse vídeo que mostra uma performance pouco usual. Talvez muitos nunca tenham pensado em programação de computadores como uma arte, muito menos como uma arte performática. Para muitos, programar é apenas um trabalho como qualquer outro.

Não é.

Ou, pelo menos, não precisa ser.

Prime Factors Kata in Ruby, Flower Duet, Lakme' por unclebob no Vimeo.

Sempre que programamos, estamos, como na poesia, buscando aquele ponto preciso entre concisão e expressividade, como no design, entre minimalismo e funcionalidade, ou como nas artes marciais e na dança, onde buscamos o movimento e o equilíbrio harmônicos e perfeitos. É o exercicio da precisão na manifestação de idéias.

O original do vídeo você encontra aqui, explicações de como e porque foi feito, aqui. A primeira versão do Dueto das Flores que se ouve no vídeo é a do grupo inglês All Angels, a segunda, do East Village Opera Company, mas eu, pessoalmente, prefiro uma interpretação menos pop-music.

Leia mais…