The robots are programmed in the programming language C, and the robots went berserk because the engineers simply missed an equal sign in a conditional statement, turning it into an assignment instead of a comparison.
Software bugs are very real, and can have have dire consequences, here’s a list of some of the most significant ones. The list includes rocket, airplane and helicopter crashes, patients dying from radiation overdoses and payments ending up in the wrong accounts, so why not crazy murdering robots?
Somewhat alarming, it is possible to make the same mistake in the more modern programming languages, C#, Java and JavaScript that are derived from C, and it makes me wonder why these languages even permit this, and old languages like BASIC and ALGOL never did?
My guess is that it is mostly to maintain compatibility with it’s predecessor C, and that it can be useful in some cases, but I consider it strange and potentially dangerous, and it makes me wonder if current mainstream programming languages, especially those derived directly from C, should be our choice for programming anything.
Exterminators
A redeeming factor, is that for instance the C# development tools warns us about the error, and that the compiler even suggests the correct solution, but it’s still possible to run the program, and make the robot a crazy murdering one.
Det er, måske mest heldigvis, svært at forestille hvad folk kan finde på, også at bruge åbne data til. Med MapSCII projektet kan man nu bruge OpenStreetMap i en tekstbaseret grænseflade, det man også kalder ASCII, leveret gennem en internetstandard der hedder Telnet (en forkortelse for teletype network), en standard der har sine rødder så langt tilbage som i 1969. Og selv om standarden er blevet forbedret mange gange siden, så siger det en del om hvor fremsynede de folk der udviklede internetstandarderne var, fordi det i teorien betyder at selv oldgammelt computer-udstyr, vil kunne vise OpenStreetMap kort.
For at tilgå MapSCII skal du anvende et telnet-program. Det kan du f.eks. starte fra Terminal-programmet på Mac, på Windows kan man f.eks. hente programmet PuTTY.
Herefter skriver du:
telnet mapscii.me
Og så ser du det velkendte standardbillede af Jorden, blot vist med skrifttegn ikke højtopløst grafik, som vi er vant til fra web-browseren.
Her kan man så zoome ind og ud, centrere og ændre den måde kortet bliver vist på.
Se videoen for at se et animeret zoom på “Linden ASCIIram”, MapSCII versionen af mit hjem, “Linden Ashram”, den starter og slutter med en normal OpenStreetMap visning så man kan sammenligne.
Back to the past
Telnet er fra 1969 og vi hører jo altid at udviklingen indenfor IT går så hurtigt, og at vi skal købe nyt udstyr hele tiden? Det er da imponerende at man kan vise OpenStreetMap kort med så gammel teknik, men ellers er det vel ubrugeligt i dag?
Det er ikke tilfældet, Telnet er stadig yderst anvendligt, jeg bruger det f.eks. ofte til at teste om der er forbindelse til en server, hvis man f.eks. vil teste om der er forbindelse til en standard konfigureret MySQL database server på computeren, kan man bruge denne kommando:
telnet localhost 3306
Med Telnet kan man rent faktisk tilgå alt på internettet, det er bare ikke altidaldrig så let at anvende som MapSCII.
Hvis man f.eks. vil tilgå en side på min blog med Telnet kan det se sådan ud.
Først åbner jeg en terminal, console eller cmd og starter telnet programmet, første parameter er serverens adresse anden parameter er portnummeret, port 80 er standard når man tilgår en webside. Forsimplet sagt, svarer port 80 til at man skriver http:// foran adressen i web-browseren.
telnet www.kimbach.org 80
Trying 212.97.134.17...
Connected to www.kimbach.org.
Escape character is '^]'.
GET /CountDownToTheEndOfTheWorld.html HTTP/1.1
Host: www.kimbach.org
User-Agent: Bond, James Bond
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>The Real Countdown to the end of the world - 21st December 2012&tt;/title>
</head>
...
Så telnet kan også bruges som browser, men det er unægtelig noget upraktisk, for sådan ser det ud i en browser:
It’s all ASCII to me?
Det er jo i øvrigt noget af en tilsnigelse at kalde det for (Map)SCII, det er jo en hentydning til ASCII, en måde at repræsentere tekst digitalt. Oprindelig var ASCII, eller US-ASCII, begrænset til 127 tegn, hvilket var nok til det Latinske alfabet både med store og små bogstaver, alle tal i 10-tals systemet, samt nogle kontroltegn og specialtegn, se tabel nedenfor.
MapSCII benytter faktisk tegn fra Braille-tegnsættet beregnet til syns-handikappede for at tegne kortet, det er smart fordi det kun består af prikker, som computerbilleder, hvilket jo også viser teknologis langtidsholdbarhed.
Sådan ser billedet af Linden Ashram ud som tekst i Braille taget direkte fra MapSCII.
Hvis man brugte et standard US-ASCII tegnsæt, så ville billedet sikkert have set ca. sådan ud, det er jo ikke helt så detaljeret, smart af MapSCII at bruge Braille.
Den avancerede understøttelse af specialtegn og skrifttyper vi har i dag, er et af de største fremskridt inden for IT siden 1969. Dengang krævede det typisk specialskærme at vise andet end US-ASCII. I dag tager vi det for givet at vores enheder kan vise de nyeste mojis. Hmm…sagde jeg fremskridt?
Kilder
Wikipedia bidragydere, “Telnet,” Wikipedia, Den frie encyklopædi,
(Hentet 03. august 2017).
Wikipedia bidragydere, “ASCII,” Wikipedia, Den frie encyklopædi,
(Hentet 03. august 2017).
For nylig var der en der kiggede mig over skulderen da jeg sad ved min computer og det resulterede i denne kommentar
“Jeg forstår ikke hvad du laver!”
Det kan jeg sådan set godt forstå for det lignende ikke just Facebook, næh det så ca. sådan ud:
og jeg skiftede mellem flere forskellige sider, der så mindst lige så mystiske ud.
Så hvad er det egentlig jeg har gang i?
Jeg hjælper med at gøre dansk kulturarv mere tilgængelig, f.eks. ved at registrere danske kirker på Wikipedia.
På billedet ovenfor kan man se hvordan en side på Wikidata ser ud, og det var bla. den jeg var i gang med at redigere, da jeg fik kommentaren.
Wikidata er en database over emners egenskaber, det der også kaldes metadata. Det kan f.eks. være et emnes, i dette tilfælde en kirkes, geografiske placering, årstal for opførsel, adresse og hjemmeside.
Når jeg er på farten og f.eks. passerer en kirke, så tjekker jeg om den er registreret på dansk Wikipedia for at kunne læse om den. Da jeg for nylig passerede en kirke nær Skælskør, dukkede den ikke op på dansk Wikipedias “I nærheden” funktion.
Det er ret let at finde “I nærheden” funktionen hvis man bruger Wikipedia fra en mobilbrowser, man skal bare åbne menuen og vælge “I nærheden”, se billede nedenfor.
Det sker faktisk ret sjældent at danske kirker ikke dukker op når man bruger “I nærheden”. Så jeg tjekkede OpenStreetMap, og fandt ud af at der måtte være tale om “Ting Jellinge Kirke”.
Da jeg kom hjem, kontrollerede jeg om der allerede var en artikel for kirken på Wikipedia, det kunne jo tænkes at grunden til at den manglede, var at der ikke var registreret en geografisk placering for kirken.
Da jeg havde oprettet artiklen, sørgede jeg for at at OpenStreetMap blev opdateret med en henvisning til den nye Wikipedia artikel.
Det viste sig iøvrigt at der allerede fandtes et billede af kirken på Wikimedia Commons, det blev, pudsigt nok, brugt på den hollandske artikel om Ting Jellinge Sogn, men ikke på den danske!
Så var jeg færdig med de første spadestik, og hvad er resultatet så af dette arbejde, der tog ca. 1 time.
“Ting Jellinge Kirke” dukker nu op når man bruger Wikipedias “I nærheden” funktion
OpenStreetMap har nu en henvisning til Wikipedia
Når man søger på Google dukker artiklen op
Kirken var allerede med på Historic Place, men nu er der også et billede hentet fra Wikidata
Alle andre tjenester der, nu og i fremtiden, benytter åbne data fra Wikipedia, Wikidata og OpenStreetMap kan drage nytte af dette arbejde
Historic Place er et godt eksempel på en side der bygger videre på mit arbejde, fordi den kombinerer data fra OpenStreetMap, Wikidata og Wikipedia som det ses nedenfor.
Den geografiske placering af kirken fik jeg, naturligvis, fra OpenStreetMap.
“Nu forstår du nok heller ikke hvad jeg laver!”
Sådan bindes det hele sammen og som det fremgår, er denne grundlæggende registrering alt andet end triviel, og man skal have et godt kendskab til hvordan man bidrager til indtil flere projekter, og hvordan man binder data sammen på kryds og tværs. Men i takt med at Wikidata vinder indpas, forventer jeg at det meste af den grundlæggende registrering kan foregå der.
Frugten af mit arbejde kan høstes fordi det nu bør være lettere for andre at bidrage med mere indhold, da jeg har foretaget den grundlæggende registrering. Der er nu især gevinst hvis, eller når, denne registrering dukker op nye og uventede steder.
For et eksempel på noget uventet, så har jeg da undret mig over hvordan det kan være at f.eks. skulpturen Afrodite og Den Døende Adonis, dukker op som et Pokéstop i Pokémon GO, kan det have noget at gøre med at det var mig der registrerede kunstværket i OpenStreetMap for tre år siden? Det er uvist, men ikke utænkeligt.
For the last couple of days I have been investigating why I couldn’t make conditional feature installation work in a Microsoft Installer (MSI) package.
Google to the rescue, but it sent me in a lot of different directions, none to the point, but then I finally managed to formulate the correct search terms:
Here I found the solution I was looking for: have each feature, conditionally, set the INSTALLLEVEL property “correctly”, the last bit was not as simple as I thought.
Oldie but goodie
But…WAIT…That article is from 2005, and the newest entry on the blog is from 2005! The author seems to have lost interest after a few months of activity.
It’s quite amazing that a blog, that has been “dead” for 12 yrs, could give me the solution.
This is why you might want to go for a “hosted” blog solution, like Blogspot, instead of hosting your blog yourself.
If you do, there’s a better chance that your content won’t get vandalised due to unpatched software, go to eternal bit fields because you stop paying, in short avoid the dreaded error 404s.
This page must get significant traffic, and a lot of people might have benefitted from this, still I was the first to leave a comment.
Almindelige søde, raske danske knægte i S-Toget. En af dem siger, mens han roder med den håndholdte internetterminal, sådan en alle sunde, raske danske drenge har:
Jeg kan lave en wiki for dig, bare skriv noget random shit, alle kan skrive der!
Jeg henvender mig til dem, i det jeg peger på min Wikipedia-sticker der dækker æble-logoet på min laptop, og siger:
Det bliver slettet, der er nogen der overvåger det.
Dreng:
:-O gør du det?
Mig:
Nej, men jeg kender nogen der gør.
#herligt det skal nok få dem til at prøve hårdere på at teste patruljanternes tålmodighed 😀 / :'(, og hvad mon deres forældre siger til at ældre mænd henvender sig til deres drenge, selv om det er for at påpege vandalisme og hærværk.
…hvis du ellers er præcis nok og der er andre der hjælper med at løfte. Det eneste det kostede mig var en registrering på Stack Overflow så jeg kan vise respekt, når jeg selv er blevet respektabel
As outlined in the inaugural speech January 20th 2017 by POTUS, the POTUS would, as one of the first actions, work to bring U.S. Citizen, cyber terrorist, Edward Joseph Snowden to justice.
This early morning Russian police arrested Mr. Snowden and deported him to his last country of origin, Hong Kong, where a US. airplane waited for him. In the airport Mr. Snowden brandished something that looked like a knife, and he was fatally injured in the head by Hong Kong police, Mr. Snowden died 30 minutes later from his injuries.
The funeral took place at sea from USS Enterprise.
In the investigation ordered by Congress, it was revealed that Mr. Snowden wasn’t brandishing a knife but a plastic toy called a Rubik’s cube, that he was holding behind his back.
Umiddelbart er den tegning jo fin, men i min ungdom var det anderledes.
I begyndelsen af 70’erne var jeg meget optaget af den kommende dommedag, olien var ved at slippe op, The Limits to Growth dokumenterede at uanset hvad vi gjorde, så ville det gå galt, og at feks. de kommende supersoniske fly og raketter ville ødelægge ozonlaget.
Alt det var jeg meget bevidst om, og det var ikke noget jeg lærte i skolen, det var gennem Danmarks Radio, ikke mindst det hedengange P1 program: Leksikon.
I 1977 tog jeg så selv et kursus på Ungdomsskolen for at lære at programmere, i 1978 tog jeg kurset igen, på det alter ofrede jeg min spejderkarriere, som også var svært inkompatibel med sen 70’ernes fremherskende ideologi i Gymnasierne. Det var også svært inkompatibelt at arbejde med datamaskiner i sen 70’erne, så det droppede jeg også til fordel for politik og marginalkultur – nørden var ikke velset dengang…
Men dette, mit første program skrevet i BASIC, hang dog, trods alt, ved:
10 LET H=5
20 LET G=10
30 LET A=0.5*H*G
40 PRINT A
Og det mere generelle:
10 INPUT H,G
20 LET A=0.5*H*G
30 PRINT A
Senere, efter Gymnasiet hvor jeg startede på et teknisk universitet, rettede jeg ind, og har vel i min karriere været medvirkende til at kanalisere rigtig mange millioner, regnestykket er komplekst, til Seattle og Cupertino, men også til Indien, Kina og Ukraine.
Jeg magtede så ikke at gennemføre min uddannelse, men jeg har alligevel arbejdet professionelt det meste af tiden siden 1983, og jeg tør slet ikke regne min gennemsnitlige timeløn ud, og min månedsløn før skat har svinget fra 0 til 80.000, og min arbejdsuge fra 0 til over 100 timer.
Udokumenterede kompetencer
At du så næppe kan få et fast arbejde i det etablerede system, bla. pga. manglende dokumenterede kompetencer, er vore alles problem.
Pensum
Mit budskab er at du, når du har lært de basale færdigheder som at læse og skrive, så lær informationssøgning og kildekritik, herefter står du for din egen uddannelse, men find nogle gode lærere, det der populært kaldes venner.
Sjovt nok var det første programmeringssprog jeg lærte, i 1977, programmeringssproget BASIC, og det stadig er i udbredt brug, f.eks. til makroer i Microsoft Office, så det mest karrierefremmende du kan gøre, hvis du vil arbejde med udvikling af programmer, er måske stadig at lære BASIC.
Myten om den hurtige teknologiske udvikling
At den teknologiske udvikling går ekstremt hurtigt, er en vandrehistorie, dine udokumenterede, såvel som de dokumenterede, kompetencer indenfor teknologi er langtidsholdbare.
Her viser jeg bla. hvordan mit første program ville se ud i andre programmeringssprog, nå ja, det minder mig om hvor meget jeg elsker APL, det er måske det du skal lære først, dine kompetencer er så mindre brugbare, underdrivelse, hvis du skal have et arbejde som programmør i en virksomhed…
Samme program i APL som i BASIC :-O. Jep! Det skal læses fra højre mod venstre.
Enhver har ret til tanke-, samvittigheds- og religionsfrihed; denne ret omfatter frihed til at skifte religion eller tro og frihed til enten alene eller i fællesskab med andre, offentligt eller privat, at give udtryk for sin religion eller tro gennem undervisning, udøvelse, gudsdyrkelse og overholdelse af religiøse forskrifter.
Verdenserklæringen om menneskerettighederne
For snart mange år siden gik det op for mig at ortodokse muslimske kvinder ikke kunne bade offentligt, og jeg spurgte en af dem, hvad hun sagde til at man lavede en ny slags badedragt, der kunne muliggøre det, det synes hun var en rigtig god idé.
Jeg følte ikke at det er et knæfald for en fremmed kultur, men bare et udtryk for at jeg synes det var synd, at de ikke kunne komme i vandet, da det øger min livskvalitet at gøre det.
Når en medlemsstat har tiltrådt en konvention, har staten pligt til at sikre, at national lovgivning og praksis lever op til konventionens krav. Dette betyder, at man som borger kan påberåbe sig konventionen over for danske administrative myndigheder og domstole, hvis man mener, at konventionens bestemmelser overtrædes.
FN og menneskerettigheder – Justitsministeriet
Kulturel sensitivitet
I mit møde med fremmede kulturer, har det bærende element, de sidste 12 år, været “kulturel sensitivitet”, det betyder at jeg prøver at se situationerne fra de fremmedes synspunkt.
I begyndelsen provokerede det mig voldsomt at mænd og kvinder, der er ortodokse muslimer, ikke måtte give det modsatte køn hånden, med mindre der var “stof i mellem”, kommentaren var at det var mod deres religion.
12 år senere oplever jeg at kvinder, der tidligere, ikke kunne give mig hånden, nu er i stand til det.
Så måske er jeg halalhippie, men jeg har også et signeret eksemplar af Naser Khaders bog “Ære og Skam”, som jeg betragter som pligtlæsning, men min tilgang virker i det små, og det har nu aldrig været os Khader har skudt på.
Om principperne for mit frivillige arbejde
For at sikre at aktiviteterne foregår indenfor klare etiske rammer har Dansk Flygtningehjælp, vores tidligere samarbejdspartner, opstillet otte principper for det frivillige arbejde, som vi følger:
At arbejdet bygger på almindeligt menneskeligt samvær, gensidig respekt, ligeværd og forståelse for andres situation.
At arbejdet foregår uafhængigt af partipolitiske, religiøse og lignende interesser.
At nye frivillige indføres i frivilligarbejdet og det grundlag, som det bygger på.
At arbejdet i en frivilliggruppe udføres ud fra demokratiske beslutninger.
At oplysninger om personlige og private forhold behandles fortroligt.
At økonomiske mellemværender med frivilliggruppens brugere undgås.
At der arbejdes ud fra en forståelse af, hvornår frivilligt arbejde er gavnligt, og hvornår der bør henvises til professionel rådgivning.
At man til pressen kun udtaler sig på vegne af det frivillige arbejde, som man står for lokalt. arbejdet overholder landets love og regler.
Disse otte principper forpligter man sig på, når man som ny frivillig udfylder en individuel samarbejdsaftale med Dansk Flygtningehjælp (red: og Netværksgruppen i Mjølnerparken).
Som frivillig organisation skal vi desuden indhente en såkaldt børneattest fra alle frivillige. Attesten videregives til Politiet, der på den baggrund kan tjekke, at der ikke er tale om tidligere straffede for overgreb på børn.
Baggrunden for “Verdenserklæringen om menneskerettighederne” var tanker som disse.
24) Vi kræver Frihed i Staten for alle religiøse Bekendelser, såfremt de ikke truer Statens Beståen eller støder an mod den germanske Races Sædeligheds- eller Moralfølelse. Partiet som sådant repræsenterer en positiv Kristendoms Standpunkt uden konfessionelt at være bundet til en bestemt Bekendelse, Det bekæmper den jødiske materialistiske Ånd i og udenfor os, og er overbevist om, at varig Helbredelse af vort Folk kun kan ske indefra på Grundlaget:
Gemeinnutz vor Eigennutz
Det nazistiske partiprogram
Heldigvis ved vi jo bedre i dag, men…
Hvad giver egentlig fællesskabet ret til at blande sig i hvordan enkeltindivider går klædt?
ps. Jeg ved godt jeg har tabt fordi jeg trak nazi-kortet, men jeg håber alligevel at se jer som aktive i det frivillige integrationsarbejde, det er “vores fred”.