PHloggen
Politik, hysteri, spin, monopoler, frihedskampe gør-det-selv-teknologi og humor. Poul-Henning Kamp, selvstændig open source-softwareudvikler.
EMNER

Genudsendelse: IC4

Af Poul-Henning Kamp,  onsdag 20. maj 2009 kl. 16:10

Nej, jeg gider ikke skrive noget nyt om IC4, I må nøjes med genudsendelser:

Citat:

DSB's administrerende direktør udtaler til Berlingske at IC-4 sagen er som den slags projekter vil køre i fremtiden.

Årsagen skulle efter sigende være manglende kapacitet og standardiseringsproblem er hos europæiske producenter.

God så, men hvorfor er der så ikke nogen der starter en ny togfabrik ?

(Fra: "Lad os starte en tog-fabrik", 6 sep 2007)

Citat:
Der er én ting som ingen af Folketingets politkere kræver af IC4: en kulegravning af hele forløbet, så man ikke laver samme fejl næste gang.

(Fra: "IC4 kulegravning", 23 maj 2008)

Citat:
Som om IC4 farcen ikke allerede var Dario Fo værdig, så kommer det nu frem at de tog som DSB ville leje "med det samme" først skal bygges, før DSB kan leje dem.

(Fra: "Ebberød amatørbane", 28 maj 2008)

Citat:
Forklaringen på IC4 katastrofen er kort sagt: Arven fra Struer.

Ideen om at man kan lave det hele computerstyret og science-fiction-agtigt er selvfølgelig "den danske stil" og alt det der, men faktum er at den slags ikke virker ordentligt.

(Fra: "Indrømmelse IC4 har computer problemer", 22 okt 2008)

phk



21. maj 2009 kl 23:05

Niels Chr. Nielsen

Smart Danmarkskort i IC3

Der er en herlig elektronisk ting i IC3-togene, rettet direkte mod passagererne: en lille "tavle" i indstignings/udstignings-området der med tændte hhv. slukkede lysdioder på et kort viser hvor langt toget er kommet på den aktuelle tur. Den har vist været der lige siden slut-firserne (da der også var mønttelefon ombord), men er der nogen der ved, hvordan den egentlig virker - hvor lav- eller høj-teknologisk systemet er, hvordan det kobles til informationssystemet i øvrigt? Og nogen gode bud på, om der mon kommer et tilsvarende system i IC4 (måske ligefrem GPS-baseret), eller om det også vil lykkes at forkludre dette?

Der er for øvrigt også en læsværdig genudsendelse her, fra en jernbaneentusiasts perspektiv:
http://www.signalpost.dk/IC4-a....htm


21. maj 2009 kl 23:16

Rasmus Andersen

Re: Smart Danmarkskort i IC3

Der er en herlig elektronisk ting i IC3-togene, rettet direkte mod passagererne: en lille "tavle" i indstignings/udstignings-området der med tændte hhv. slukkede lysdioder på et kort viser hvor langt toget er kommet på den aktuelle tur. Den har vist været der lige siden slut-firserne (da der også var mønttelefon ombord), men er der nogen der ved, hvordan den egentlig virker - hvor lav- eller høj-teknologisk systemet er, hvordan det kobles til informationssystemet i øvrigt? Og nogen gode bud på, om der mon kommer et tilsvarende system i IC4 (måske ligefrem GPS-baseret), eller om det også vil lykkes at forkludre dette?

Det er ikke så smart. Har tit set det hvor det viser en fuldstændig forkert destination, men kan ikke lige huske om resten af togets informationssystem var forkert på den også..

Og jeg har ikke set sådan et kort i IC4, men jeg har været så heldig kun at være fanget i det en gang, så jeg skal ikke sige om det findes eller ej.


22. maj 2009 kl 00:41

Jens Madsen

Re: Re: Smart Danmarkskort i IC3

Ideen om at man kan lave det hele computerstyret og science-fiction-agtigt er selvfølgelig "den danske stil" og alt det der, men faktum er at den slags ikke virker ordentligt.
På en måde gør det lidt ondt i mig - jeg mener nemligt, at det må være en spændende opgave, at lave softwaren og hardwaren, så det faktisk fungerer. Og opgaven, er ikke uoverskueligt, og indeholder bunker af features, så det er ikke noget om, at det er en voldsom software opgave. Det at gøre opgaven mindre, gør ikke opgaven nemmere - for det som er det interessante - men også problemet - ved en sådan opgave, er at kunne gøre det sikkert og godt. Og, hvis du har nogle (undskyld) uduelige softwarefolk, så vil du ikke kunne opnå, at de kan det, uanset hvor simpel at opgaven er. Giver du dem en meget simpel opgave, som at aflæse en kontakt, og tænde en lampe hvis kontakten er tændt - så kan de ganske enkelt ikke løse opgaven. Hvorfor? Fordi, at de ikke ved, at de af sikkerhedsmæssige årsager skal bruge en kontakt der kan stå i to stillinger (on, off), og hvor begge kan aflæses, for at sikre at kontakten fungerer. Hvis kun den ene stilling kan aflæses, så vil en løs ledning, eller en dårlig kontakt, ikke afsløres. Det er også vigtigt at vide, at ingen mekanisk kontakt skifter fra off, til on - og modsat momentant, men har såvel skiftetid, som prel, og at tage hensyn til dette, uden det medfører data logges i fejlfiler. Og endeligt er vigtigt, at vide at kommunikationen på en linie teoretisk kan forstyres af støj - trods det er sjælden. Man skal have styr på dette, og gensende enhver ordre der ikke forstås straks - i princippet skal du kan fjerne netforbindelsen, og sætte den på igen, og så skal det fungere når den sættes på. At det skal dette, er nok logik for burhøns, og de fleste elektrikkere vil synes det er underligt, hvis de tager en ledning af, og sætter den på igen, at lyset så ikke mere skulle fungere. Men, bruger du dårlige programmører, er ikke sikkert at de håndterer den slags. Måske skriver de en fejlmelding ud, dumper et image, og får det totale system til at gå ned. Endeligt, er vigtigt, at ikke overbebyrde med warnings og fejlmeldinger, så der hele tiden skrives ud, hvis der er en lille fejl, f.eks. at det er nødvendigt at gensende en ordre, fordi der er støj - ingen gidder at læse dette alligvel, og det giver indtryk af, at noget som fungerer som det skal ikke fungerer. Derimod, er vigtigt at "notere" det, og f.eks. angive det på en statistik - og der kan eventuelt være en skjult log, hvor en teknikker kan hente de seneste forekomster af hver fejltype, hvor det kan ses med klokslet hvornår det er sket. Sker flere fejl, umiddelbart efter hinanden, er ofte en idé, at slå dem sammen, så logfilen ikke "spammes", men at det bare noteres, at der er opstået så mange fejl umiddelbart efter hinanden, med få millisekunders mellemrum. Dertil kommer, at man skal have en pålidelig computer, der ikke går ned. Dette kan løses på mange måder. Hvis den går ned, skal det naturligvis "logges", så man har kendskab til det, under de normale regler (uden at spamme). Og, den skal have en hurtig oppetid, efter en eventuel "hang-up". Typisk, vil man som minimum hardwaremæssigt have en timer, der er lavet til at være enormt stabil, og ikke fejler (kan ikke have hang-up tilstande selv), en såkaldt watch-dog timer. Ikke alle watch-dog timere er af god kvalitet, da nogle udbydere ikke forstår funktionen, og tror den er en general applikation timer der typisk bruges til at vågne computeren fra sleep tilstand, og ikke forstår det som en vigtig sikkerhedsmæssig komponent. Skal den brugs som watch-dog, skal den dog være sikker, og den må ikke pludseligt kunne hænge, eller indeholde en bit, der tilfældigvis kan disable den. Watch-dog timeren, får en "godkend" ordre fra softwaren, der indikerer at alt softwaren fungerer og er ok, og det er softwarens opgave at sikre, at "ok" tilstanden kun gives, når dette er sikker. Man må ikke lave en process, der bare siger ok uafbrudt til watch-dog timeren, så vi er af med det problem, selvom det måske er fristende... Sker en fejl, vil watch-dog timeren, udføre en fysisk reset af CPU'en og systemet, således det efter få millisekunder er oppe igen: Ikke noget med et tungt operativsystem, der ikke klarer dette hurtigt. For så må du leve uden computer, i meget lang tid, og det er ikke godt, hvis det du laver er bare en smule kritisk. Naturligvis, er det også en fejlhændelse der skal logges med tidspunkt osv. i den sædvanlige logfil, for at du kan se om der er en fysisk årsag til problemet, eller om noget er galt. Det må ikke ske, hvis vi ikke kan finde en fysisk årsag. Watch-dog timere, og anden "fejljhåndtering", må ikke være en del af funktionen, således det er nødvendigt for at det fungere - men det er kun en sikkerhed, som kun må og skal være der, hvis noget går galt, og vi er tvungen til at undersøge om noget rimeligt har været årsag til funktionen er aktiveret. Typisk, vil side en kontakt, der også registrerer om dækslet åbnes ind til elektronikken, så det kan sammenholdes med det. Når computeren genstartes efter watch-dog timeren har reset den, skal vi forvente at der kan være opstået fejl - så de tilstande, der "overleveres" og som vi stadigt skal bruge, skal være fejltollerante. Typisk, vil vi altid gemme alle data på en fejlsikker måde, således der gemmes ekstra bits, der gør at vi kan fejlrette data. I så fald, behøver vi ikke at foretage os noget vildt. For alt, gælder at hvis vi opdager en fejl i en register, på data fra ram osv. så gælder de sædvanlige regler til logning.

Alle disse ting, er almindeligt, bare for at tænde/slukke en lampe, på baggrund af en omskifter der er on/off. Dertil kommer, at man skal have en pålidelig computer, der "ikke går ned". Og alt vores programmerede knowhow, aldrig bruges. Ikke noget med at bruge en "ustabil" computer, der gør at fejl rettes et par gange i sekundet, og som på grund af vores fantastiske software faktisk fungerer. Der må aldrig komme en fejl, og logfilen skal være tom. Er der data i, kan vi eventuelt tænde en lampe, så man kan se der er sket en fejl, og man bør tilkalde service straks. Logfilerne, vil så blive undersøgt, og man vil tage stilling til, hvad det skal gøres. Måske skyldes det noget kendt, f.eks. en elektrikker, eller anden, der har midlertidigt fjernet ledningen til infodisplayet, eller toiletkontakten. Eller det skyldes en meget sjælden årsag, vi ikke vil tage hensyn til, såsom direkte lynnedslag i toget, og vi accepterer at elektronikken kun retter fejl i det pågældende tilfælde på datanet og andet, der går rundt i toget.

Som ses, kræves en vis knowhow, bare for at aflæse en toiletkontakt - og det gælder præcis det samme, med enhver anden kontakt.

Derfor, er opgaven reelt ikke væsentligt større, selvom vi både har et infodisplay, passagersystem osv.

Det, som går galt, er at dem der koder det, end ikke kan lave en aflæsning korrekt af en toilet kontakt. Og så har de hellerikke kunnen nok, til at kunne lave det andet.

Normalt, er den type opgaver, også med data for svartider - og det betyder, at du skal have styr på din kode, og på dens svartid. I nogle tilfælde, kan anvendes specielle programmeringssprog, der kan garantere svartiden for din kode. Men, under alle omstændigheder, skal det kodes, så svartiden er under kontrol. Og der kan ikke anvendes kode fra en dårlig programmør, der ikke har styr på sit ram forbrug, og sine svartider. Alle, dokumenter sådanne vigtige karakteristika for alle deres objekter/funktionsblokke, således de andre som bruger dem, også har styr på deres timing når de ser data på modulerne/komponenterne.

Og til sidst - men ikke mindst - kræves også en vis logik. F.eks. kan jeg ikke bruge en programmør, som ikke forstår at problemerne skal løses så der sikres at A+B = B + A, hvis det er et rimeligt krav at sætte til operatoren "+". Det er så uanset, om det er prisudregninger på strækninger, eller andet. Problemstillinger, af den slags, som selv børn forstår, skal en programmør beside evner til at forstå. Og de skal kunne analysere, om deres algorithmer gør noget forkert, og ikke bare kode. Er der et problem, skal det klares helst inden det kodes. Måske, er problemet, at der ganske enkelt er noget, man ikke har forstået, eller fejl i opgavens formulering. Og så skal man have det på plads, så man får skrifteligt at det skal være "ulogisk", fra dem der har lavet opgaven, så de tager det fulde ansvar og står inde for at det fungerer på den pågældende måde. Og, måske skal man sende det endnu videre i systemet, hvis man mener det er forkert.

Så det at kode en toiletkontakt, er ikke nødvendigvis enkelt. I togsammenhæng, er krav til, at enhver ledning der "kappes" oftest skal detekteres. Ofte, overvåges også ledningsmodstande, således man kan detektere kontakter og ledninger, der er beskadiet. Dette bør også være med i vores aftastning af toiletventilen. Hardwaren, der kan måle modstande, er forholdsvis billigt, da de fleste microcontrolere idag er forsynet med præcise A/D konvertere. Typisk, vil man også "måle" på modstand i relæer, og lamper, for at sikre deres funktion og holde kontrol med ælde eller eventuelt beskadielse. Men, det kræves jo også, at de kodes, så de opdager problemer med modstand i ledninger.

Kan du først kode toiletkontakten og toiletventilen ordentligt, tror jeg først på, at du kan kode det samlede infosystem. Her gælder omtrent samme regler, for overvågning af ledninger, modstand, om de kappes/sættes på igen, fejl på transmissionen, og fejltollerante registre i såvel infodisplayet, som i styrecomputeren, samt verifikation af, at det faktisk står det som skal. Man skal altid "verificere" at det man har kontakt med fra hovedcomputeren fungerer som det skal, og ellers udsende ordrene igen, så fejlene rettes, og det logges. Uanset, om det er et relæ (ved at tjekke på både on/off kontakten), eller om det er display (ved at tjekke som minimum checksum på samtlige segmenter, eller lignende).

Det er ganske simple regler, som bare gælder, og hvor man også skal tjekke at det er gjort, f.eks. ved at ændre bits, indføre fejl i kommunikation mv. Fejl i kommunikation, sker normalt samlet (i byger), og det skal et system altid håndtere.

Min opfattelse er, at hvis du kan kode aflæsning af en kontakt, samt styring af en indikator, og tager hensyn til alt du skal tage højde for, og gør det korrekt - så er du en god programmør der sandsynligvis kan løse hele opgaven. Det, at kode en advanceret opgave, er ikke væsentligt sværre, end at styre en toilet kontakt. Men, åbentbart er problem at finde programmører som kan styre en lampe, på baggrund af en kontakt, og ikke mindst gøre det korrekt, så det lever op til vores krav om verifikation, fejlretning, sikkerhed og logning. Og, naturligvis, skal det kunne gennemgå et tjek, der viser at softwaren faktisk fungerer som det skal, f.eks. hvis modstande ændres, ledninger afbrydes/sættes sammen, fejl introduceres i byger, og endog at der indføres fejl i programmet kortvarrigt, hvor indstruktionspointeren hopper af helvede til i kort tid, eller går i uendelig løkke, eller registre muterer, og sikre at systemet kører trods det, og laver korrekt logning. Ofte, vil man endog studere programmet, med henblik på at finde worst-case omstændigheder.

Kan du løse toiletlampen så ovenstående opfyldes, så vil du med stor sandsynlighed kunne løse togopgaven. Er du typen, som starter med at sige, at det behøves da ikke, så må du holde dig til Linux, og C, eller HTML. Ikke fordi, at det ikke er noget. Det er da også noget, at kunne XML.


22. maj 2009 kl 01:00

Jens Madsen

Re: Re: Re: Smart Danmarkskort i IC3

Tjah, og så glemte jeg endog, at computersystemerne og hovedledningsnet, altid skal være redundante, så det stadigt virker trods en del at toget beskadies. Og måske er der også mere jeg har glemt. Men, under alle omstændigheder, så er det væsentlige ved en sådan opgave, at man som programmør/hardware ingeniør, tager det som en spændende udfordring, og ønsker at lave den type software, og ikke har som største interesse at lave brugergrænseflader.


22. maj 2009 kl 01:43

Carsten Scherrebeck Møller

Re: Re: Re: Smart Danmarkskort i IC3

Kan du løse toiletlampen så ovenstående opfyldes, så vil du med stor sandsynlighed kunne løse togopgaven.

Hej Jens. Dine beskrivelser, er et kendetegn for finanssystemer og regnskabssystemer, i den verden kalder man det for transaktioner. Hvis man sender et tal igennem en ledning, skal man være totalt sikker på at tallet ikke forsvinder undervejs, eller ankommer to gange. Dette er fuldstændig omvendt i forhold til typiske tjenester via Internet, hvor alle data kan forsvinde, og gør det uafbrudt, og hvor en bruger blot trykker på "gentag", når en side ikke opfører sig som forventet. Transaktioner er meget vanskelige at gøre sikre, fordi et lyn netop risikerer at ramme en ledning, blot et eksempel, og hvad nu hvis at hele databasen går i stykker og man behøver at lave en fuld recovery af alle systemer? Uanset hvad der måtte hænde, må et tal aldrig kunne forsvinde eller ankomme fordoblet undervejs igennem en ledning. Det er klart, at samme totale grad af sikkerhed behøver at gælde også i tog og i flyvemaskiner og i biler.

Det bedste eksempel på god programmering, er dog biologiske væsener. Et menneske kan få hovedpine, høj feber, kramper, men ophører på intet tidspunkt med at fungere, der sker kun en reduktion i graden af styrke og fart, medmindre at fatalitet indtræder. Denne evne i et menneske er fantastisk, at vi fx altid kan stole på at kunne holde vor balance selv i allerfarligste situationer hvor en balance ikke må svigte os. Det er kun i samlejer, orgasmer, når to mennesker er forenet i sjæl og i legeme, at det programmerede system bliver overbelastet, fordi da sker der en overbelastning af båndbredden i det indre elektriske system imellem hjerne og muskler. Ufødte børn, derimod, i en mor mave, er så lille, og har samtidig hele sit system, kan på én og samme tid tåle at afteste alle bevægelser i hele kroppen, uden at der sker nedbrud, vi kender det som at "barnet sparker i mors mave". Når det ufødte barn konstaterer, at alle registre opfører sig som de skal og kan dette alt sammen på én gang, da godkender barnet sig selv, fordi barnet på dette tidspunkt intet ved om at barnet sidenhen vil blive seks gange længere. Som voksne er vor indre båndbredde ikke tilstrækkelig, vi kan kun tåle at maksimere vore bevægelser inden for få muskelgrupper ad gangen, fx at løbe, eller slås. Samlejer, i biologien, overtræder denne regel, derfor sker der systemnedbrud, og derfor har evolutionen udnyttet dette, ved at gøre selve denne funktion, nedbrud, til noget brugbart. Det er indlysende korrekt som du skrev ovenfor, at fejl og nedbrud i togsystemer skal håndteres på en måde så et tog aldrig svigter. I hvert fald ikke før at et tog støder imod et andet tog, en parallel til biologien. Sikker programmering handler om at gøre et system fuldstændig driftssikkert, bortset fra når det omgivende fysiske system bryder sammen.

I biologien, i en parallel til "en kontakt i et tog", kan en besked fra hjernen til en muskel, aldrig nogensinde forsvinde undervejs. Vi kan opleve en krampe i en muskel, men det er kun selve den fysiske muskel der svigter, ikke det programmerede system. Systemet er så dygtigt lavet, at hvis vi lever i 100 år, svigter systemet ikke én eneste gang. Bortset fra i samlejer. I visse meget intense samlejer, hvor to mennesker gnider sig intenst tæt imod hinanden, og hvor der samtidig udskilles en særlig væske der forøger den elektriske kontakt, denne væske kommer fra kvindens krop, da sker der ulovligheder i disse to mennesker interne systemer, hver især. En ordre fra den ene hjerne, om at bevæge fx en baldes muskel, risikerer at havne i den forkerte krop. Når dette sker for første gang i et menneskes liv, da får man sig en temmelig stor overraskelse, at man udfører bevægelser som man ikke selv har ønsket sig, og at man beordrer sin krop til at gøre bevægelser som udebliver, det tager et stykke tid før man fatter hvad det er, der sker, at bevægelserne bliver udført, blot i partnerens krop, og ikke spor på en forventet måde. Samlejet bliver da kaotisk, bevægelserne bliver til fraktaler, fuldstændig som når fx græshopper har samlejer, og formålet er da, biologisk set, et forsøg på i to hjerner at smelte sig sammen til kun at blive én. Forsøget er dog heldigvis dømt til at mislykkes, fordi en sammensmeltning forudsætter så mange bevægelser på én gang i begge kroppe (dette for at opnå så intense gnidninger at overfladeneuroner kan opnå en omtrentlig permanent forbindelse), at de to kroppes indre båndbredder i de elektriske systemer ikke er tilstrækkeligt dimensionerede til at formidle alle disse mange beskeder imellem hjerner og muskler, og i stedet sker der til sidst et katastrofalt nedbrud, værre end normalt, og måske med voldsom feber som følgevirkning, såkaldt totalorgasme. Værd at studere for dataloger og programmører, siger jeg bare. :-))

Hvad har alt dette med tog at gøre? Tja, der er rigtig mange paralleller, fordi tog heller aldrig må svigte, derfor behøver de at blive programmeret lige så sikkert, og have tilstrækkelige båndbredder altid.


22. maj 2009 kl 02:36

Jens Madsen

Re: Re: Re: Re: Smart Danmarkskort i IC3

Jeg er helt enig, i din parallel til økonomiske systemer, og biologiske systemer. Biologi, rummer utroligt meget datalogi og matematik, trods mange ikke er klar over det. F.eks. har alle celler hele koden, for at opnå total redundans. Der findes celler, som er fleksible, og kan bruges overalt. I nogle tilfælde, kan celler vælge en anden funktion hurtigt, fordi de allerede har koden i sig, og kan omprogrammere sig til andre funktioner - det kan også være en fordel i massive parallel systemer, at processer kan overtage andre processers opgave, f.eks. hvis det bliver et tidskritisk problem. Og, der er flere former for feedback - såsom følelser, visuelt, osv. så vi opdager, når noget ikke er korrekt. Ubevidst, bruger vi ofte bedre algorithmer, end computerprogrammører. Skal vi f.eks. finde et navn i en telefonbog, så kan det gøres med få opslag. Og vi anvender "æselører", eller "programmerer" bogen til at huske de mest brugte sider, ved at føre en hånd ned, så den automatisk slår op på mest anvendte. Helt vilde teknologier, for en computerprogrammør - der ofte søger bogen "linært igennem", indtil han finder den rette forekomst eller "nul" termineringssymbolet. Dette tager reelt en evighed, i forhold til menneskers måde, hvor der både anvendes selvlærende cache (siden oplæres til at slå korrekt op, ved at føre en hånd ned over siden), eller æselører, for de mest brugte sider. Og mennesker, der skal slå op, anvender reelt "komplicerede" algorithmer, der er bedre end O(log(n)), ved at f.eks. oplære en ulinær funktion, der har tendens til at slå op rette sted. Der slås ikke bare "binært" op, men tages højde for, hvor langt man er kommet ved opslaget, og laves herudfra estimering af, hvor næste opslag skal gøres. Lidt, som svarer til matematiske metoder, for at finde nulpunkt.

Selv mennesker, der ikke anser sig som dataloger, eller at kunne matematik, anvender ofte dybt advancerede matematiske og datalogiske metoder. Uanset, om de spiller bold, eller om de slår op i bøger. Dog er mange, på en eller anden måde, blevet afskrækket fra datalogi, og tror ikke, at de synes programmering er interessant.

Måske skyldes det også, at videnskaben ofte søger at udstille tingene forsimplet, og på en måde, som derved strider mod den intuitive opfattelse. Mekaniske systemer uden luftmodstand og gnidning, tages som en selvfølge i videnskaben, og amputerede beskrivelser af virkeligheden, herunder biologiske systemer, og biologi. Videnskabens vigtigste overbevisning er, at naturen - og biologi - er ikke "intelilgent", og man søger med Darwins lære, at forklare at der ikke er noget intelligent i det... Hvilket naturligvis er i strid med ethvert kvik hoveds intuitive forståelse.

Selvom Darwin's lære måske er korrekt, så synes jeg ikke rigtigt om, at man søger at forkorte "intelligens" bort. Naturen er smækfyldt af intelligens, dyr og menensker er intelligente, og at bortforklare det, er at skyde sig selv i foden. Naturligvis, er naturen fyldt af intelligens, og intelligens er vigtigt for evolusionen. Men, det betyder ikke, at den ikke har kunnet opstå, udfra darwinistiske metoder. Om det så er korrekt - eller bare en af naturvidenskabens overbevisninger - er noget andet.

Er der noget at sige til, at mange opfatter naturvidenskabens amputering af virkeligheden, som et frankenstein misforster? Og et bevis for, at naturvidenskaben kun har forstået en meget lille del af virkeligheden?

Ok - nok et sidespor, i togsammenhæng. Men, jeg mener, at det er vigtigt, at få programmører, som interesserer sig for at kode, på en måde, så det tages hensyn til feedback, fejlrettelse og alt det andet, som vi kender fra vores virkelighed, og biologiske systemer. Og som forstår logik, og ikke kun koder efter ordre. Jeg plejer at opfatte det, at gøre "eksakt" som jeg siger, som at sabotere. Det vigtige er at forstå, og at kunne - og gøre det bedre end jeg siger. Har jeg begået en brøler, forventer jeg den opdages og rettes, og at essensen forstås - og ikke at man "tager mig på ordet", og bruger fejlen, til at sabotere, og lave noget forkert. I stedet, skal man forstå, og kunne gøre det korrekt, og så synes jeg det er fint, hvis det lykkedes at gøre bedre, end jeg har bedt om. Kunsten er ikke at kunne gøre det dårligt nok - men godt nok. Og det er ikke så ringe enda.


22. maj 2009 kl 08:09

avatar

Lars Helbro

Re: Re: Re: Re: Re: Smart Danmarkskort i IC3

Jeg plejer at opfatte det, at gøre "eksakt" som jeg siger, som at sabotere. Det vigtige er at forstå, og at kunne - og gøre det bedre end jeg siger. Har jeg begået en brøler, forventer jeg den opdages og rettes, og at essensen forstås - og ikke at man "tager mig på ordet", og bruger fejlen, til at sabotere, og lave noget forkert. I stedet, skal man forstå, og kunne gøre det korrekt, og så synes jeg det er fint, hvis det lykkedes at gøre bedre, end jeg har bedt om. Kunsten er ikke at kunne gøre det dårligt nok - men godt nok. Og det er ikke så ringe enda.

Denne din sidste bemærkning Jens kan jeg rigtig godt lide, og den er godt udtrykt !
Hvis du ikke har noget imod det, vil jeg citere dig på min hjemmeside under "kurser" ?

Om det er programmering eller ovnbygning så gælder det samme.
Kender man sit værktøj, materialernes egenskaber og har målet for, hvad slutproduktet skal kunne for øje, så kan det meste gøres på ufatteligt mange måder.
Gør man bare som læreren siger, så vil resultatet altid blive en smule dårligere, for man har brugt mere energi på at kopiere, end at kreère og kommunikationsfejl imellem lærer og elev vil blive til konstruktionsfejl istedet for nytænkning.

Nogle af mine elever er i begyndelsen frustrerede over, at de ikke får en tegning at arbejde efter.
Meningen er, at de selv skal opbygge den inden i hovedet, evt. suppleret af tegninger de selv udfører + evt. fotos.
Jeg er der mest for at fange de fejl der opstår, ved at spørge hvorfor denne sten ligger lige dér og på den måde - hvad er dens funktion i.f.t. omgivelserne o.s.v. - tvinge eleven til selv at tænke.
"Hvordan" giver oftest sig selv, når man har forstået "hvorfor". Jo mindre jeg siger, jo mere ro giver jeg eleven til at tænke selv, og jo mere ro har jeg selv, til at finde ud af, hvad eleven tænker.

Der findes selvfølgelig opgaver som løses mest effektivt af 1 hjerne og en flok robotter, men det gælder ikke ovnbyggeri og næppe heller IC4 tog.


Ny i debatten? Opret en brugerkonto

  • Seneste nyt
  • Mest læste
  • Debatterede
 

Nyhedsbrev

Tilmeld dig vores nyhedsbrev.