Windohs des tages

Bislang hatte man ja nur unter linux das „vergnügen“, dass jahrzehntealte sicherheitslücken gefixt wurden — aber da wollte meikrosoft auch nicht länger zurückstehen:

Microsoft-Patchday: Uralt-Lücke aus Windows-95-Zeiten geschlossen

Und immer dran denken: die haben windohs seitdem einige male komplett neu geproggt. (Na gut, einmal haben sie es wirklich getan, als sie für win 2000 und win XP von MS/DOS auf das ungleich brauchbarere und bessere NT umgestiegen sind und damit windohs überhaupt erst benutzbar gemacht haben.) Sagen die werber ja immer wieder, dass windohs jetzt neu geproggt wurde und nicht einfach nur ein paar schriftarten, farben und ein bisschen GUI-rendering ausgetauscht wurden. Und natürlich, dass es viel besser ist. Und seit 1994 trägt meikrosoft durch dieses vorgeblich mehrmals komplett neu geproggte windohs den gleichen fehler…

Na ja, wenn werber die wahrheit erzählen wollten, wären sie ja nicht werber geworden. Und nur ein gefixter fehler ist ein guter fehler! Aber achtet drauf, dass ihr nicht bei der aktualisierung ein frisches windohs zehn von den schadsoftwäjhrproggern bei meikrosoft angedreht kriegt, wenn ihrs nicht haben wollt.

Phobokratie des tages

Bummsinnimini Thomas die Miesere so: bespitzelt euch untereinander und meldet unseren polizeien und geheimdiensten alles, was euch an anderem menschen auffällig erscheint. Wisst schon, wegen des terrors und wegen der angst, die wir euch zusammen mit unseren jornalistenfreunden wegen des terrors machen, der übrigens mit unseren exportweltmeister-waffen gefördert wird…

Hach, wäre das schön, wenn aus dem gleichen mund mal die aufforderung käme, mit ihren wischofonen am steuer rumspielende autofahrer zu melden. Dass mich ein idjot mit sprengstoffgürtel oder ein vollhonk mit sturmgewehr ausknipst, ist ja eine eher unwahrscheinliche todesart, aber in den letzten jahren springe ich fast jeden tag einmal dem grimmen tod von der schippe, weil ein unglücklicherweise mit führerschein ausgestatteter vollidjot mit seinem scheißhändi beim autofahren rummacht und ansonsten gar nix mehr richtig wahrnimmt.

Meikrosoft des tages

Könnt ihr euch noch erinnern, wie meikrosoft damals den erfolg der programmiersprache java gesehen hat und prompt (nach einem von sun gestoppten versuch, ein zu java inkompatibles java an seine gläubigen mikrosklaven zu bringen) damit angefangen hat, die ganzen konzepte einmal selbst völlig inkompatibel nachzuproggen, in die eigenen entwicklungswerkzeuge einzubetten und das ergebnis .NET zu nennen. (Das müsst ihr verstehen, zu der zeit war alles ganz toll, wenn irgendwie drin klang, dass es irgendwas mit netzen oder gar diesem internetz zu tun habe oder gar besonders dafür geeignet sei, und deshalb der etwas alberne name. Tatsächlich ist .NET recht brauchbar.)

Warum mir das gerade wieder einfällt. Nun, es gibt zurzeit eine vielversprechende, allerdings noch in der entwicklung befindliche programmiersprache namens rust, die einerseits systemprogrammierung möglich macht, aber andererseits viele sicherheitsrelevante fallen und probleme der programmiersprache C vermeidet.

Ich halte rust für eine programmiersprache der zukunft — zumindest überall dort, wo es auf hardwäjhrnahes proggen und effizjenz ankommt, so etwas wie benutzerschnittstellen kann man auch in einer skriptsprache schreiben.

C ist wirklich gut geeignet für systemprogrammierung. Das sieht man allein schon daran, dass diese programmiersprache aus den siebziger jahren mit verhältnismäßig wenigen veränderungen (ja, prototypen für funkzjonen haben sie irgendwann eingeführt, und das war ein segen) immer noch aktiv benutzt wird. Viereinhalb verdammte jahrzehnte später! Das sind zwei dutzend erdzeitalter der informatik! Es gibt sonst keine so alte programmiersprache mehr, bei der man sagen kann, dass grundkenntnisse in dieser sprache zur allgemeinbildung eines programmierers gehören. (Vor anderthalb bis zwei jahrzehnten hatten einige progger noch so viel mit dem ähnlich alten FORTRAN zu tun, dass es ebenfalls zur allgemeinbildung gehörte, zu wissen, dass FORTRAN beim funkzjonsaufruf keine werte auf dem stack legt, sondern adressen von werten.)

Die eignung von C ist hier seine einfachheit; es handelt sich um eine sprache, die sehr direkt in instrukzjonen für einen prozessor übersetzt werden kann. Es gibt in C keine komplizierten, abstrakten konzepte. Alles sind structs, funkzjonen, variablen und adressen dieser objekte, ergänzt um den dreck, den der präprozessor ermöglicht — und diese werden in übersetzungseinheiten (in der regel: einzelnen kwelltext-dateien) organisiert. Die sprache selbst ist sehr minimal und dabei richtig gut entworfen, aber auch völlig ohne jedes sicherheitsnetz; die in die siebziger jahre zurückgehende standardbiblotek ist zwar ebenfalls praktisch, aber teilweise fürchterlich entworfen (man fragt sich manchmal, ob mehr kiffe oder doch noch ein bisschen LSD daran beteiligt war) und macht es sehr leicht, sehr schlimme fehler zu machen. C wird nicht benutzt, weil es toll ist. C wird benutzt, weil es da ist, weil es standardisiert ist, weil es gute kompeiler dafür gibt und weil es so leistungsfähig ist, dass man ein ganzes betrübssystem damit schreiben kann.

An der stelle setzt rust an. Es ist eine sprache, die viele sicherheitsprobleme von C beseitigt, aber immer noch effizjenten kohd erzeugt (etwa so effizjent wie gut programmiertes C++) — und damit rust für die systemprogrammierung geeignet ist, gibt es die möglichkeit, kohdpassagen als „unsicher“ zu kennzeichnen und damit explizit ohne sicherheitsnetze zu proggen. Das ist ja auch nötig, wenn man etwa einen treiber für ein stück hardwäjhr schreiben will. Der vorteil dieser vorgehensweise liegt darin, dass der potenzjell gefährliche kohd explizit vom programmierer ausgezeichnet ist, mit werkzeugen aufgespürt und für eine analyse isoliert werden kann. In C ist jede verdammte zeile gefährlich, und ein sicherheitskritischer fehler (der etwa wild speicherbereiche überschreibt oder ausliest), kann sich überall befinden und beim überfliegen des kohds unfassbar harmlos aussehen. Es ist leicht, in C fehler zu machen, und es ist schwierig, in C fehler zu finden.

Ich hoffe, dass jetzt auch völligen laien klar geworden ist, warum ich rust für eine programmiersprache der zukunft halte. Im moment ist rust noch zu jung und zu sehr in der entwicklung begriffen, als dass jemand ein größeres projekt nach rust portieren würde oder ein großes neues projekt in rust beginnen würde. Das wird sich aber ändern, denn rust wird reifen. Der bedarf an sicherer und effizienter programmierung ist da, und er wird nicht kleiner werden. Es sollen ja demnächst autos „autonom“ am straßenverkehr teilnehmen… oh, da pfeift man noch auf security-erwägungen… na, das wird man irgendwann nicht mehr tun.

Lange einleitung für eine kurze meldung, ich weiß. Hat einige menschen gelangweilt, ich weiß.

Und jetzt die meldung: Bei meikrosoft hat man das — wie üblich in ziemlich später geburt — auch gemerkt und unterstützt jetzt nicht etwa die entwicklung von rust mit eigenen beiträgen und mit portierungen von softwäjhr, bei der es auf sicherheit ankommt, sondern versucht wie damals bei java mit .NET eine art eigenes rust namens „checked C“ zu implementieren. Wäre ja auch — aus der sicht von etisch verrotteten marketingheins — schade, wenn die programmiersprache der zukunft der „mozilla foundation“ gehörte und frei wäre…

Es ist eben immer noch meikrosoft, böse und hinterfotzig wie eh und je… 😦

Krieg!

Die NATO hat mir den krieg erklärt… und jedem anderen, für den das internetz ein teil seines lebensraumes ist. (Das ist beinahe jeder mensch in der zivilisierten welt.) Ab jetzt kann tätigkeit im internetz zum vorwand genommen werden, menschen von staatlich besoldeten mördern ermorden zu lassen.

Die NATO, die sich da gegen „cyberangriffe“ wappnet, wird übrigens von denjenigen vereinigten staaten eines teils von nordamerika angeführt, die sogar mich völlig gewaltfreien menschen (und auch dich und dich und dich) durch permantens eindringen in meine privatsfäre permanent und völlig grundlos cyberangreifen.

Ich wünsche allen zeitgenossen viel spaß im faschismus!