Anders Munch

Én medarbejder hos politiet holdt styr på 100 forskellige dataformater inden teledata-skandale

100 formater lyder af meget, men det er det faktisk ikke.

Det er jo ikke de store komplicerede formater vi snakker om, det er formentlig bare CSV og XML i en masse varianter som ligner hinanden til forveksling.

Hvis bare det bliver automatiseret, både på producent- og modtagerside, så er der ikke noget i det.

Jeg har siddet med en tilsvarende opgave i en del år, omend på den producerende side, ikke den modtagende. Det har jeg sagtens kunnet klare uden at være nogen form for jonglør.

To steder der kan opstå problemer:

  • Manglende automatisering. Hvis producenten ikke automatiserer, men i stedet gør et eller andet ad-hoc, fx i Excel eller med et database-rapporteringsværktøj, så er man aldrig sikker på at få det samme to gange i træk.
  • Manglende validering: 1 person kan sagtens udvikle understøttelse af 100 formater, men det er nødvendigt at der kommer andre øjne på inden noget går i produktion.
7. december 2020 kl. 19:36
Er det altid godt at være dynamisk?

Nemt nok: Du finder programmer i Haskell og oversætter dem så direkte som muligt (linje per line) til Python, og ser om du kommer til at introducere fejl, som statisk typecheck ville have fanget.

Jeg ved ikke hvad det skal forestille at teste. Selv hvis jeg ikke introducerede en eneste fejl af nogen slags, så ville jeg jo ikke kunne påstå at jeg havde bevist noget. Der er ingen analogi til Prechelts studie. Transskribering er en meget atypisk måde at udvikle software på.

Derimod ville jeg vældigt gerne se et komparativt studie af produktivitet i programmeringssprog som inkluderer mere moderne statisk typede sprog; en opdatering af Prechelt. Men jeg havde sådan set forventet at universitetsverdenen studerede den slags.

2. marts 2020 kl. 19:17
Er det altid godt at være dynamisk?

Du kan downloade oversættere her:

Jeg mener naturligvis: Hvordan skal jeg gennemføre et eksperiment i stil med Prechelts.

Jeg har skam prøvet både SML og Miranda.

28. februar 2020 kl. 19:52
Er det altid godt at være dynamisk?

http://evanfarrer.blogspot.com/2012/06/unit-testing-isnt-enough-you-need

Interessant udviklingsstrategi. Først skriver man et programbibliotek i et dynamisk typet sprog, og så oversætter man det linie for linie til et statisk typet sprog.

Jeg ville have foreslået ham at bruge Common Lisp i stedet for Python og Haskell, for så kunne han bare have tilføjet typer i stedet for at skrive noget om. Det er en idé i hvert fald, jeg har ikke selv prøvet at skrive CL med typeannotering, så det kan godt være jeg overvurderer deres praktiske anvendelighed.

Han får mere eller mindre gendrevet påstand 2 og 3, hvilke ikke kan overraske. Det kan godt være han har hørt folk sige de ting mange gange, men derfor behøver jeg ikke være enig i dem. Påstand 1 derimod er jeg enig i, med det forbehold at unit testing er ikke den eneste måde at teste på. Men den påstand kan hans metode hverken be- eller afkræfte.

Men altså, nej, det er ikke et svar på Prechelt, for det studerer noget helt andet.

Prøv i stedet ML, Haskell eller F#.

Jeg er ikke forsker, hvordan vil du have jeg skal gøre det?

28. februar 2020 kl. 18:02
Er det altid godt at være dynamisk?

('b' + 'a' + + 'a' + 'a').toLowerCase()

Der er meget man kan kritisere JS for, men det har bare ikke noget at gøre med statisk vs. dynamisk. Et statisk typet JS vil producere nøjagtigt den samme værdi eller fejlmeddelelse.

28. februar 2020 kl. 08:31
Er det altid godt at være dynamisk?

Og hvad mon så a+b giver

Det giver 2, ganske som forventet.

28. februar 2020 kl. 08:25
Er det altid godt at være dynamisk?

Statiske typer finder fejl, men det er ikke det samme som at statisk typede programmer har færre fejl.

Ganske vist er type-annotering en aktivitet der finder fejl, men det er en blandt mange: Afprøvning, unit tests, granskning, omhu - det er alt sammen aktiviteter som også finder fejl, og som konkurrerer om software-udviklerens tid. Hvad der er den bedste brug af tiden, det finder man ikke ud af uden at måle.

Så hvor er empirien? Hvor er studierne? Jeg håber forskningen på DIKU har andet at tilbyde end anekdoter og karikaturtegninger...

Lad mig åbne ballet med Prechelt(2000). Det samme program tager kortere tid at udvikle i dynamiske sprog, vel og mærke uden at korrektheden lider.

27. februar 2020 kl. 20:50
Teledatasagen: Unikke IMEI-numre har været udsat for afrunding

Procedure for at korrumpere data i Excel:

  1. Klik på et felt, der indeholder en lang cifferkode, som fx et IMEI nummer.
  2. Tast return.

Alternativ procedure:

  1. Åbn en CSV-fil.
  2. Gem.
5. oktober 2019 kl. 10:59
Sundhedsplatformens nye ekspertråd har sat kritikerne uden for døren

De kan tage en snak med dem som arbejder ude i marken.
De kan tale med dem som sidder bag systemet og forsøger at omprogrammere systemet.

Kan en gruppe direktører nu også det? Direktører er generalister, som ved lidt om det hele, men som ikke går så dybt i detaljen. Sådan noget som at gå ud i marken og følge en sygeplejerske en hel dag, og en læge den næste, det har de jo typisk slet ikke tid til.

Man må huske på, når man udvikler it-systemer, at direktører er en interessegruppe ligesom alle andre. De har behov for nogle ting som vil lette deres arbejde, og hvor meget de end prøver at tilgodese alle, så vil de i sidste ende altid have et bedre blik for de ting som de selv ønsker.

Og det vil sige rapporter og måltal. Det er det en direktør har brug for.

Så hvis det her ekspertråd når frem til at der måles nogen KPI'er og der skal nedsættes følgegrupper, der kan skrive nogen flere rapporter, så vil jeg ikke være overrasket. For det er den bias, som et ensidigt sammensat udvalg vil have.

I øvrigt, det er jo et ekspertråd uden eksperter. De her folk er måske nok eksperter i IT-ledelse, men det gør dem ikke til eksperter i systemudvikling, som de universitetsfolk man har ekskluderet.

24. november 2018 kl. 14:55
Amazon: Lambdaer er det nye COBOL

Ikke "eventuel".

Det er et svært ord at oversætte. Det var nok bedre at lade det engelske udtryk, "eventual consistency", blive stående.

3. november 2017 kl. 08:13
Google aflyser stormøde efter læk: Frygter medarbejdere bliver angrebet online

Peter, jeg kan ikke bevise et negativ. Hvis du mener at det ikke er en stråmand, så må du jo vise hvor der er belæg for det i manifestet.

11. august 2017 kl. 16:32
Google aflyser stormøde efter læk: Frygter medarbejdere bliver angrebet online

What you just did was incredibly stupid and harmful.

Sådan skriver man hvis man vil have et skænderi, ikke en reel samtale. For al hans snak om cooperation, collaboration, and empathy, så praktiserer Zunger det ikke selv.

You just put out a manifesto inside the company arguing that some large fraction of your colleagues are at root not good enough to do their jobs, and that they’re only being kept in their jobs because of some political ideas.

Stråmand.

Zungers blogindlæg ville have været et glimrende 'næste indlæg' i en diskussionstråd, og jeg er meget enig i hans beskrivelse i afsnit 2 af udvikling som problemløsning, og hvordan cooperation, collaboration, and empathy er en vigtig del af det.

Men når han mener at det foregående indlæg i den diskussion aldrig burde have eksisteret, når han opstiller stråmænd og støtter at nogen blev fyret alene for at deltage i diskussionen med andre holdninger end hans egne, så praktiserer han ikke de værdier selv.

11. august 2017 kl. 15:06
Telenor lægger sig fladt ned: Har offentliggjort 11.914 hemmelige telefonnumre

Hensigten er formentlig at spare penge ved ikke at gøre noget for at forebygge. Hvis man indretter sin forretning sådan, at det bare er et spørgsmål om tid før der sker et læk, så er man ansvarlig for det når det sker.

Hvis en enkeltperson har begået en ærlig fejl og trykket på den forkerte knap, så kan det tilgives. Men virksomheden er altså ansvarlig for, at der i det hele taget findes en forkert knap at trykke på.

20. marts 2017 kl. 14:58
Velkommen til det nye Version2

Meget læsevenlig, det sætter jeg pris på.

Én lille fejl: Den knap man bruger til at logge ind på bærer teksten "Din profil". Indtil man er logget ind burde der stå "Log ind" i stedet.

25. oktober 2016 kl. 19:32
Version2-læsere om vildfaren sundhedsdata: Ubegribelig sikkerhedsprocedure

V2 har en vidende læserskare, og efter min mening er det kun godt, at de benytter sig af det. Et godt referat kan være guld værd.

23. juli 2016 kl. 15:46
It-sårbarhed får britisk NSA til at gribe ind i omfattende udrulning af el- og gasmålere

Fordi nøglen kunne maskeprogrammeres og derved spare energi ?

Godt svar.

Det hjælper bare ikke når specifikationen siger at nøglen skal være udskiftelig.

30. marts 2016 kl. 09:56
It-sårbarhed får britisk NSA til at gribe ind i omfattende udrulning af el- og gasmålere

Den oprindelige løsning var baseret på, at den samme nøgle var fordelt til 53 millioner målere, samtidigt med at en gasmåler næppe er den mest beskyttede sted at opbevare en nøgle.

Gasmåleren skal, udover sin egen unikke private nøgle, kun opbevare offentlige nøgler. Selv hvis det lykkes dig at trække en nøgle ud fra en måler du har splittet ad, så vil den nøgle ikke give adgang til andre målere.

Full disclosure: Jeg arbejder for Flonidan som producerer gasmålere.

29. marts 2016 kl. 23:44
It-sårbarhed får britisk NSA til at gribe ind i omfattende udrulning af el- og gasmålere

Batteriet er faktisk ikke problemet. Briterne bruger elliptisk-kurve kryptering, ikke RSA, og det kan godt lade sig gøre på et batteri. Omend et stort et, ikke CR2032.

29. marts 2016 kl. 21:32