Archiv der Kategorie: Programmierung

Ein Roboter darf keinen Menschen verletzen! LOL

Bild aus dem Film I Robot
I Robot

Ich finde es immer noch amüsant, was sich Asimov in Runaround schon 1943 ausdachte:
1.) Ein Roboter darf kein menschliches Wesen verletzen oder durch Untätigkeit gestatten, dass einem menschlichen Wesen Schaden zugefügt wird.
2.) Ein Roboter muss den ihm von einem Menschen gegebenen Befehlen gehorchen – es sei denn, ein solcher Befehl würde mit Regel eins kollidieren.
3.) Ein Roboter muss seine Existenz beschützen, solange dieser Schutz nicht mit Regel eins oder zwei kollidiert
0.) Ein Roboter darf die Menschheit nicht verletzen oder durch Passivität zulassen, dass die Menschheit zu Schaden kommt
In den letzten Jahrzehnten verfolgte ich einige sehr langweilige Diskussionen, in denen es um die Rechte von Androiden ging. Jetzt wird mit der Schuldfrage bei selbstfahrenden Autos das Thema wieder ein wenig realistischer und interessanter.
Selbstfahrende Autos: Wer haftet?
Wer haftet, wenn selbstfahrende Autos Unfälle bauen?
Noch interessanter finde ich Aussagen vom EU-Abgeordneten Mady Delvaus: Wir müssen in Erwägung ziehen, dass die KI die intellektuellen Fähigkeiten des Menschen innerhalb nur weniger Jahrzehnte überflügeln könnte.“ Das weitere Schlussfolgerungen aus dieser Möglichkeit zu der Frage führen, ob sich die Spezies Mensch mit dieser Entwicklung selbst gefährdet, liegt auf der Hand.
Meiner Meinung nach liegt es jetzt noch bei uns, ob selbstlernende Roboter eine Gefahr für die Menschheit, oder, ob sie zum Segen der Menschheit werden. Daher ist es essentiell, dass wir uns dafür einen international gültigen rechtlichen Rahmen für die weitere Forschung und Entwicklung zulegen. Morgen könnte es dazu bereits zu spät sein, denn wenn wir alleine die Risiken und Herausforderungen eines immer engeren Zusammenwirkens von Menschen und Robotern im Alltag berücksichtigen, werde sogar ich einen selbstlernenden Androiden besitzen, bevor es eine Gesetzesgrundlage dafür gibt, was er darf und was nicht.
Ich bin unbedingt für technischen Fortschritt und träume von einer objektiven, logischen KI, welche die Fehler, emotionaler, habgieriger, religiöser Fanatiker und Menschen korrigiert, aber nicht um jeden Preis. Vielleicht wäre es momentan sinnvoller sich darum zu bemühen, dass die Menschen weltweit ein friedvolles, erfülltes Leben führen können. Denn auf dieser Basis hätten wir auch von einer mächtigen KI nichts zu befürchten, weil wir sie (noch) entwerfen. Entwickeln wir sie um Macht über andere zu erlangen, um Kriege zu gewinnen und andere zu unterdrücken, dann kann ich nur froh darüber sein, dass ich heute lebe und die zukünftigen Generationen bedauern.
Will sich jemand dazu einen kalten Schauder über den Rücken laufen lassen und ein Horrorszenario in Form einen Sci-Fi Romanes lesen, der findet hier die Heliosis.

Weblinks:
Robotik und Künstliche Intelligenz: EU Parlament verabschiedet erste „Robotergesetze“
Charta der Digitalen Grundrechte der Europäischen Union
CHARTA DER DIGITALEN GRUNDRECHTE DER EUROPÄISCHEN UNION
ENTWURF EINES BERICHTS mit Empfehlungen an die Kommission zu zivilrechtlichen Regelungen im Bereich Robotik (2015/2103(INL))
Künstliche Intelligenz und künstliche Moral (1) – von dummen Mördern und künstlichen Polizisten

(28)

Python Version wechseln in Ubuntu

Manchmal braucht man Python 2, obwohl man sonst mit Python 3 arbeitet. In Ubuntu geht der Wechsel denkbar einfach. Beide Versionen installieren und dann einfach den alias auf 2 oder 3 setzen: „alias python=python3“ zum Beispiel.
Für die Google App Engine, die ich wieder einmal verwende, benötigt man jedenfalls Python 2.
Mit dem Google Plugin for Eclipse .
Ich zitiere:

About the Google Plugin for Eclipse
The Plugin helps developers create a rich user experience; it generates high quality Ajax code using the Google Web Toolkit and deploys applications to App Engine. The Google Plugin also works with Apps Script projects on Drive. These tools free developers to focus on creating great application logic. The Google Plugin for Eclipse is the first integrated tool suite for the Google Cloud.

Ich habe das vor Jahren einmal in Java versucht und ein paar kleine Beispielprogramme zusammengeklickt, jetzt versuche ich mich einmal in Python, denn mit Java, PHP und Ruby habe ich genug gespielt. 😉

Die neue Developers Console auf https://console.developers.google.com gefällt mir schon einmal und die Google Cloud Platform werde ich auch ausprobieren.

(71)

Flüchtlingshilfe in Österreich

eigene Aufnahme
eigene Aufnahme
Was ich von der europäischen Flüchtlingspolitik halte, habe ich schon gesagt mit Diese Flüchtlingspolitik ist eine Schande für jeden Europäer. Lesen die staatstragenden Politiker mein Blog? Also ich kann mir das zwar nicht vorstellen, aber seit gestern gehen sie thematisch wenigstens in die Richtung, die ich mir vorstelle. Gehen ist schlecht formuliert, sie drücken und winden sich und machen immer wieder scheiternde Versuche eines ersten Schrittes, sollte ich wohl eher sagen. Bevor ich eine Lobeshymne auf die Hilfsbereitschaft der Österreicher anstimme, noch ein Wort an die Politiker. Wer weiß, vielleicht bin ich inzwischen ihr geheimer Berater. 😉
Vergesst einmal eure Bildung und nützt den Hausverstand.

Fakt: Viele tausende Menschen flüchten von der Türkei nach Griechenland und dann ungeordnet, chaotisch unter unmenschlichen Bedingungen kreuz und quer durch Europa, weil sie nach Schweden, Deutschland oder Österreich wollen. Sie riskieren ihr Leben und viele haben es auf dieser Flucht auch schon verloren. Sie zahlen den Schleppern das letzte Geld, das sie mit Müh und Not aufbringen konnten. Viele Beamte, Organisationen und sogar das Militär wird eingesetzt um Flüchtlinge …? Na was denn? Was tun sie?

Frage: „Warum transportiert man sie nicht ganz einfach mit Zügen in dieses Land in das sie wollen und in das sie nach unbeschreiblichen Entbehrungen und Mühen sowieso kommen?“ In Griechenland mit Bussen nach Athen oder noch besser schon in der Türkei (ich denke, dass man mit der Türkei sinnvolle und nützliche Abkommen treffen könnte) nach Istanbul und dann in das Bestimmungsland zum Bestimmungslager. Eine Registrierung in Form einer Liste mit Namen und eine Nummer müsste angelegt werden und die Transporte müssten begleitet und beaufsichtigt werden.
Also bitte: „Was ist menschlicher, sinnvoller, leichter zu organisieren, effizienter usw.?“

So, jetzt zum erfreulichen Teil dieser Notiz. An der Situation selbst ist natürlich nichts erfreulich, sondern die ist traurig. Aber wie sich die Österreicher bemühen und welche Hilfsbereitschaft sie zeigen, das ist für mich sehr erfreulich.
Ich habe mir gestern das Rapid Spiel angesehen und hörte, dass ein Teil des Kartenverkaufes aller internationalen Spiele für Flüchtlinge gespendet wird. Davor hörte ich von unzähligen Initiativen, die das Ziel haben, den Flüchtlingen zu helfen. Es ist sagenhaft, die Medien, viele Organisationen und Privatmenschen starten über Facebook sogar eigene Initiativgruppen und bewirken etwas. Die tun wirklich etwas, statt im Kreis zu diskutieren und die Verantwortung hin und her zu schieben. Freiwillige Helfer aus jedem Bereich machen mich glücklich und hoffnungsvoll. Ja, es gibt Menschlichkeit und zwar im ungeahntem Ausmaß, aber das ist der einzige erfreuliche Aspekt in diesem Drama.
Diese freiwilligen Helfer haben meinen Respekt und meine Anerkennung. Sie sind mein Vorbild und geben auch mir Kraft und Mut, mich für Menschlichkeit und Hilfsbedürftige einzusetzen. Und wo ein Wille ist, da ist auch ein Weg, sprach helmeloh.

Dazu ein Zitat aus „Wissenswertes zum Thema Freiwilligenarbeit“ (wirsinddabei.at):

Österreich ist ein Land des Ehrenamts: Zahlreiche Vereine und Organisationen bieten Interessierten eine sinnvolle Freizeitgestaltung, die Möglichkeit sich sozial zu engagieren und Kontakte zu Gleichgesinnten zu knüpfen.

117.000 österreichische Vereine bieten ein großes Freizeitangebot von Sport über Musik bis hin zu Tierschutz. Heute gibt es knapp dreimal so viele Vereine wie noch vor 15 Jahren.

720.000.000 freiwillige Arbeitsstunden leisten Ehrenamtliche in Österreich pro Jahr. Das entspricht umgerechnet etwa 425.000 Vollzeitjobs.

4.700.000.000 Euro erspart sich Österreich dank der Ehrenamtlichen pro Jahr. So viel würde die freiwillige Arbeit kosten, wenn sie mit dem Durchschnittslohn bezahlt würde.

Nachwort an die österreichischen Politiker: „Hätte eine Partei es geschafft, diese Situation in den Griff zu bekommen und das zu organisieren, was jetzt die freiwilligen Helfer machen, hätten sie bei der nächsten Wahl eine gute Chance auf die Mehrheit.“ Politiker sollten jetzt am Westbahnhof stehen, um sich darüber zu freuen, wie gut ihre Organisation umgesetzt und ausgeführt wird. So aber, wird zu recht „weiß“ gewinnen, wenn sich die Leute überhaupt die Mühe machen zur nächsten Wahl zu gehen.

Hier versuche ich Anlaufsstellen für Helfer zu listen. Falls jemand welche kennt, würde ich mich über eine Erwähnung im Kommentarbereich freuen.
Wir sind dabei
Helfen wie wir
Hilfe für Flüchtlinge Echtzeit-Information wien.gv.at
So können Sie Asylsuchenden & Flüchtlingen privat helfen! sosmitmensch.at
volkshilfe-wien.at
humanitaet.org
Hilfe für Flüchtlinge Caritas
Es muss nicht immer Geld sein! Auch mit Sachspenden können Sie hilfsbedürftige Menschen unterstützen. diakonie.at
Flüchtlingen helfen – werde aktiv! gruene.at
helpdirect.org
Flüchtlingshilfe: neue Plätze für Flüchtlingskinder sos-kinderdorf.at
Flüchtlinge brauchen eine Stimme. asyl.at
Flüchtlinge Willkommen fluechtlinge-willkommen.at
Flüchtlingsprojekt Ute Bock fraubock.at
UNO Flüchtlingshilfe
Stricken für Flüchtlinge FB
Lokale Hilfe Wien FB
children-for-tomorrow.de
Neue connecting people Patengruppe connectingpeople.at
helpinghands.at
Refugees Welcome to Austria Gemeinschaft FB
youarewelcome.at
integradsion.at
Don Bosco Flüchtlingswerk
fluchtnachvorn.org
Barada Syrienhilfe e.V.
www.drk.de und roteskreuz.at

(156)

EDV für Dummies

oder „Apps und andere moderne Wunder“.
Um elektronisch Daten verarbeiten zu können benötigt man Maschinen. Von Großrechnern, ja die soll es auch noch geben, Midrange-Rechnern, ja, auch AS/400 ähnliche Dinge laufen noch, will ich hier genau so wenig sprechen, wie von Clouds, Cluster, Crids und Amöben oder Smartphones. Hier wundere ich mich nur einmal mehr über die Abzocke von professionellen und privaten PC-Benutzern.
Wenn sich heute jemand einen PC kauft, ist meist Windows vorinstalliert, oder es wird dem Kunden separat dazu verkauft. Wer sich ein Windows kauft, muss sich zwangsläufig auch viele andere Programme kaufen, denn ohne Firewall, Antivirus, DVD-Brennsoftware usw. wird man mit Windows nicht viel anfangen können. Für jede neue Version darf dann wieder extra bezahlt werden und die benötigt man ja unbedingt, zum Email schreiben oder um auf FaceBook Kommentare abzugeben. Für die meisten Leute die ich kenne, würde einer der ersten PC’s, die auf dem Markt kamen, völlig ausreichen. Online-Spieler, Foto- und Videobearbeiter sind da natürlich ausgenommen, aber einige von meinen Bekannten spielen nur ein paar mal, damit sie einen Grund haben, sich einen Superrechner zu kaufen, danach würde für ihre Tätigkeiten am PC auch ein Commodore 64 genügen.
Na gut, das hatten wir hier ja schon oft gehört und auch über die kriminellen Raubkopierer, die illegale Software verwenden, statt sich ein kostenloses, quell-offenes Linux zu installieren habe ich schon öfter geschrieben.
Jetzt sind mir diverse Kurse und Ausbildungen ins Auge gesprungen. Da zahlen Leute Unsummen, von einigen hundert bis zu mehreren tausend Euros dafür, dass sie sich eine alte Doku zu einer Software vorlesen lassen. Für Kurse zu freien Open-Source-Produkten, Programmiersprachen und Datenbanken, obwohl es rfc’s, recommendations, specification und Dokumentationen gibt. Die sind kostenlos erhältlich und immer am neuesten Stand der Dinge. Für jede neue Version einer Programmiersprache oder Datenbank erhält man mit dem Erscheinen die zugehörige Dokumentation.
Auch über Tutorials und Bücher dazu wundere ich mich manchmal, obwohl ich selbst schon welche kaufte. Ja, es ist einfach ein gutes Gefühl ein Buch mit über 1000 Seiten in der Hand zu halten und auf diese Art, die sonst kostenlose Dokumentation zu lesen, denn meist ist sie mit Schwänken aus dem Leben des Autors aufgelockert. Für manche mag es eben unheimlich wichtig sein, zu wissen, dass Ruby der Zucker ist, unter den ProgSpr und dass man eine Tasse Kaffee (oder 10 Liter Tee) trinkt, während der Java-Kompilation vom ersten „Hello World“ mit Eclipse, denn ohne IDE wird’s meist sowieso nix. Leider wissen manche ausgebildete App-Entwickler nach ihrem Abschluss mit Auszeichnung noch immer nicht, dass sie ganz gewöhnliche Anwendungsprogrammierer (app kommt von application, was soviel wie Anwendung bedeutet, liebe Dummies) sind, wie es sie schon seit den ersten Anwendungsprogrammen auf den 286er gab. Ich will Anwendungsprogrammierer auf keinen Fall unter Systemprogrammierer stellen, ganz im Gegenteil, die operieren ja sogar eine Schicht höher, aber App-Designer, App-Entwickler, App-Analytiker und App-Ingenieure sind mir suspekt. Bin ja nur gespannt, wann sich das erste Dummy App-AnwendungsprogrammiererIn für x-Anwendungen nennt. Aber verdenken kann ich es keinem, so ist das nun mal in unserer Welt. Ein Brainstorming (heute ist übrigens der Shitstorm viel moderner) verschafft dem Internet Versionsnummern und beginnt bei Web 2.0, obwohl es eigentlich ein Beta 0.1 ist, aus einem Http-Request wird Ajax und aus dem Rindsbraten meiner Urgroßmutter das „Boeuf à la mode – Prince Eugène“ oder aus der Palatschinke ein „Crêpes réchauffer et séduisant, rempli de confiture d’abricot trop sucrée avec sucre glace“. Na warum eigentlich nicht? Und da kann man dann schon ein bisserl mehr verlangen, denn immerhin muss der Kellner den Namen der Speisen ja auch lernen.
Alles gut und schön, aber wie kann man einen teuren Kurs besuchen um eine Markup-, Script- oder Programmiersprache zu erlernen? Ich wollte zu solchen Leuten eigentlich keinen näheren Kontakt und sie auch nicht genauer befragen, aber ich habe Besucher solcher Kurse dann doch kurz befragt, welches Betriebssystem (OS) sie dazu benutzen. Ich war nicht besonders überrascht darüber, dass manche behaupteten, sie verwenden kein OS, andere wussten nicht genau was das ist. Wieder andere meinten es ginge wohl um die Version von Windows, womit sie ja schon verdammt nahe dran waren. Ich wollte es nicht so genau wissen und hätte mir eigentlich nur Bezeichnungen für ihr OS gewünscht, aber die zwei lustigsten Antworten muss ich mir doch notieren. Ein angehender C++-Programmiere gab seine Befehle in die CMD ein und hielt diese nicht nur für das OS, sondern auch für IDE bzw. für Compiler, Linker und Editor. Das war für mich so ziemlich der Lustigste, aber ein JAVA-Experte stand ihm nicht viel nach, als er belehrend behauptete, dass JAVA Betriebssystem unabhängig sei und er daher keines benötigt zum Programmieren. Wow, das ist ja echt schräg. Ich habe da ja so einiges dazugelernt, vielleicht sollte ich mich auch für so einen Kurs oder einen PC-Führerschein einschreiben lassen.

(1658)

Imperative Programmierung 2

In meiner vorigen Notiz habe ich gesagt, dass ich mir folgende Punkte etwas näher ansehen werde:

  • Problemanalyse
  • Formularentwurfsblatt
  • Speierbelegungsplan
  • Datenflußplan
  • Programmablaufplan
  • Struktogramm
  • PyNassi

Problemanalyse
Ziel: exakte, eindeutige, vollständige Beschreibung des zu lösenden Problems
Kaum formale Hilfsmittel, umgangssprachlich, in Skizzen, Szenarios, etc.
Schwierig bei Problemen von außerhalb der Informatik
„Was soll erledigt werden?“
Man sagt auch, dass man von der informellen Problembeschreibung durch Präzisierung und Formalisierung zur Problemspezifikation kommt und daraus wird dann der Lösungsalgorithmus entwickelt. Dieser beschreibt dann schon „wie“ das Problem gelöst wird.

Formularentwurfsblatt
Ein erster Entwurf, sowohl für Ausdrucke, als auch für die Ausgabe am Bildschirm. Schon da könnte man sich einen Vermerk machen, dass niemals eine einzige Zeile auf ein neues Blatt gedruckt gehört. Bei der Bildschirmausgabe kann man sich schon überlegen, auf welchen Geräten bzw. Displays man mit welcher Auflösung eine Ausgabe möchte….

Speicherbelegungsplan
Heute wird bei einer 64-Bit-Architektur in der Anwendungsprogrammierung ein Speicherbelegungsplan kaum von Interesse sein, aber für Systemprogrammierungen in Assembler (Assembler ist auch typisch für die imperative Prog.) eventuell auf einer 8- oder 16-Bit-Architektur kann er immer noch interessant sein. In Zeiten wo bei PC’s der RAM nicht in GB und auch nicht in MB, sondern in kB angegeben wurde (immerhin 6 Zehnerpotenzen Unterschied) war der Speicherbelegungsplan noch häufiger in Gebrauch. Bei einem Speicherbelegungsplan sollte berücksichtigt werden, dass ein Programm aus Vereinbarungsteil, Anweisungsteil und Dateidefinitionen besteht. Der Speicherbelegungsplan stellt dann den Vereinbarungsteil graphisch dar.

Datenflußplan
Dieser gibt an, woher (Geräte, Dateien, DB) die Daten kommen, ob sie geändert werden und wo die Ergebnisse gespeichert werden.

Programmablaufplan
Zur Darstellung der Programmlogik verwendet man entweder einen Pseudocode (verbal) oder man stellt sie mit graphischen Hilfsmitteln dar. Mögliche Formen eines Progammablaufplans: Blockdiagramm, Flussdiagramm, Flow-Chart, Struktogramm, Syntaxdiagramm.

Struktogramm und PyNassi

(524)