Anders Lind

Vejen til software-success: Drop test og skriv funktioner på fem linjer

Så snart der er flere tilstande i et system, dvs. opførsel i et system, og der ikke er tale om "simple" datalogiske funktioner, så vil jeg i den grad våge at påstå, at man har behov for at unit-teste (og evt. behov for at integrations-teste) - og pssst man har osse brug for at teste "simple" datalogiske funktioner. ;-) Mennesker plejer at være ekstremt dårlige til at begribe et helt system og dets mange tilstande. Så hvis man ikke har aftestning, der beskriver forventet opførsel set ud fra fx use cases/ansvarsområder, jamen så er du på herrens mark, når to forskellige mennesker skal komme med deres bud på, hvordan systemet virker på kode-niveau og evt. logiske "mellemlag" - fx service til service. Jeg synes man glemmer at forholde sig til, at der er forskellige skoler for fx at teste/unit-teste. Altså der er dem, der skriver tests først, og dem der skriver tests efterfølgende. Så man kunne jo evt. vælge at bruge at skrive tests til sidst eller undervejs i artiklens eksempler. Man kunne osse overveje at prototype sig, og når man har noget der mocker tilpas (fx i forhold til det gamle system, men skrevet fx i nyt sprog/ny kode), til det man ønsker, så kan man overveje at skrive test, der beskriver systemets forventede opførsel. Men det afhænger af kultur og personlighed, hvad man lægger sig op ad. Findes der nogen eksakt videnskab, der beviser, hvad den rette fremgangsmåde er? Hvis ja, lad os høre om det, og hvis nej, så kan "min" holdning være ligeså god som "din", men jeg lytter gerne, hvis argumenter mht. noget "nyt og fancy" er godt. :-) Tester man ikke koden, inden den sendes til kunden og slutbrugeren, så ender man med, at det er dem, der sidder med problemet. Det er billigst at rette fejlene tættest på problemet og så tidligt som muligt. Jeg savner i artiklen, om vi primært snakker brugerflade, eller snakker vi forretningslogik, eller hvor er vi henne?

12. oktober kl. 22:35
Uhyre simpelt hack kan gætte brugernavne og blokere adgangen til MitID

Hør her, hvis det står så slemt til med MitID, hvordan mon det så ikke står til med mindre prominente løsninger? Jeg har tidligere i 2020 orienteret en kommunal myndighed, derpå datatilsynet og til sidst V2 vedr. et problem ang. brug af 4-cifrede pinkoder, som kan bruges til køb af "et meget alm. fritids-produkt", men hvor brugeren ikke kan vælge 0000 og 1234 som pinkode, men fint fx 1111. Her er det på lign. vis utvivlsomt muligt at gætte pinkode og login. Fx kan man bruge enten tlf.nummer eller email som login. Pointen er her, at brugeren selv kan vælge pinkoden, og vi ved alle, at folk ikke jævnt fordeler de pinkoder, de selv vælger - og der er kun under 1000 at vælge imellem! Desværre er ingen af de nævnte, som jeg har orienteret, gået videre med sagen, men for at skære problemet ud i pap, så se fx her https://www.datagenetics.com/blog/september32012/index.htmlJeg er ikke ekspert i sandsynlighedsregning og statistik, men det er nemt at se, at hvis man fx har 5 login-forsøg, en telefonbog (eller liste over mail adresser), og man ved de 20 mest populære pinkoder, ja så er det som V2 viser let at gå i gang, hvis man har onde hensigter. Fx hop ned på linkede side til afsnittet "The Data". Fx har pinkoden 1111 en frekvens på ca. 6 %, og hvis man har 5 login-forsøg, så kan man fx forsøge med de mest populære (minus 0000 og 1234) eller en blanding af de 20 mest populære. Så hvorfor er det lige, at fx myndigheder og Datatilsynet ikke skærper deres overvågning og opfølgning på brug af 4-cifrede pinkoder i 2022, når omtalte system fx stadig bruges?

30. september kl. 11:14
Eksperter revser MitID: »Det fungerer ikke«

Som anden infrastruktur, så bør NemID/MitID være ejet af staten og open source, så at man osse kunne samarbejde med andre stater om at lave en fælles løsning med flere øjne på kvalitet, sikkerhed, aftestning, integration osv. Det er gjort før! Bare spørg de danske biblioteker, der samarbejder om at lave open source software til deres fælles/delte behov https://github.com/DBCDK

29. september kl. 13:57
Netcompany vinder valgsystemet efter DXC-fyring

Hvad er der galt med det gammeldags og velafprøvede papirvalgsystem? Hvordan kan vælgerne og demokratiet stole på og gennemchecke det system? Og er det open source og transeperent eller endnu en osteklokke?

11. december 2021 kl. 13:31
Ærlig webudvikler: Vi bruger for meget Javascript, og det rammer brugerne

Her er et godt eksempel på noget, der er vokset sig stort og langsomt:https://www.ssi.dk/covid19data

2. december 2021 kl. 10:58
Er du bange for at blive svindlet eller er du blevet udsat for et datalæk? Her er myndighedernes råd

Jo, jeg er ikke uenig, men nogle gange er konkurrence godt for at få smurt skinnerne, så toget går til tiden. Og selvfølgelig ville private efterforskere så også have mulighed for at forespørge om relevante oplysninger (input), chrunche/analysere og derpå lave output til anklagemyndigheden. Så ja, når myndighederne finder ud af, at de private gør et godt stykke arbejde, så vil de måske også derigennem få fokus på at få forbedret den offentlige opgave i at lave it-efterforskning, uanset om det drejer sig om midler, mandskab, viden eller værktøjer.

5. oktober 2021 kl. 16:03
Er du bange for at blive svindlet eller er du blevet udsat for et datalæk? Her er myndighedernes råd

Derudover ville det også være interessant at forlange at alle, der har krav overfor en person, som i virkeligheden er blevet svindlet online, får udleveret udskrifter - som standard - på hvilke ip-adresser, tidspunkter m.m., der direkte er knyttet til fx låneoptagelsen, så man herefter kan få igangsat en evt. privat efterforskning af forsikringsselskabet eller en sammenslutning af nørder (under ordnede forhold), der vil have svindlerne bliver buret inde - fordi vi jo ofte hører, at politiet mangler resourcer til at lave efterforskning. Det er ligesom, at hvis sundhedsgarantien ikke kan blive overholdt, så ryger man videre i det private.

Og så burde der også blive sat mere spot på, at finans-branchen nyder godt af de hurtige lån, fordi folk, der optager dem, ikke når at tænke så meget over, om det nu i virkeligheden er en god idé. Derfor har finans-branchen også selv et kæmpe ansvar for, at de gør låneoptagelserne så nemme, fordi det udsætter alle i kongeriet for fare mht. digital svindel.

5. oktober 2021 kl. 14:56
Er du bange for at blive svindlet eller er du blevet udsat for et datalæk? Her er myndighedernes råd

»Kreditvarslen giver banker og andre kreditinstitutioner en advarsel om, at man skal være mere opmærksom, hvis nogen prøver at at optage lån i ens navn,« siger Marie Wessel der også fortæller, man med fordel kan kontakte ens egen bank og sige, de skal være ekstra opmærksomme, fordi ens CPR-nummer er kompromitteret.

Hvorfor ikke bare forhindre, at man kan igangsætte et lån før end man har troppet op fysisk i fx en bank og medbragt mindst 2 stykker identifikation samtidig med at man skal skrive fysisk under, få taget sit foto sammen med bankrådgiveren og evt. lave andre test, der sandsynliggør, at man er den man er. Hvorfor skal ting være for lette, bare fordi vi er blevet det "digitale Danmark"? Og hvornår kommer der en revision af cpr-nummeret, så det ikke altid skal bruges i alle mulige sammenhænge, men at man fx kun har et id/token i forhold til én bestemt sammenhæng, fx et lån/en bank, så det bagvedliggende token ikke kan misbruges ved blot at kunne udtale eller skrive det?

5. oktober 2021 kl. 14:36
Ikke-digitale borgere dømt skyldige uden at vide det: Automatiske tilståelser udfordrer retssikkerheden

Hmm, man burde også overveje andre scenarier fx:

  • Folk der er på længere rejser, hvor man fx er afskåret fra Internet enten pga. stedet eller pga. de naturkatastrofer, der sker fra tid til anden.
  • Folk der fx i længere tid er indlagt på hospitalet.

Hvordan med disse personers retssikkerhed både i forhold til at modtage bøden eller gøre indsigelser?

5. august 2021 kl. 09:53
Utålmodige politikere: Vil have app til rejsekort »hurtigst muligt«

</p>
<blockquote>
<p>Så man kun har behov for at checke ind, når man starter rejsen op, idet man også vælger destinationen. (Resten af rejsen kan man slappe af - også ved forsinkelser uden at frygte at rejsekortet overtakserer og man skal oprette supportsager.)

Det kommer aldrig til at ske!

Hvordan kan du være sikker på det? Det handler om vilje, det handler om magt. Jeg beskæftiger mig ikke med afmagt.

Hvis man kigger i https://www.retsinformation.dk/eli/lta/2019/206 så har transport-, bygnings- og boligministeren en hvis magt jvf. § 27 Stk. 4, idet en embedsmand fra staten er med i bestyrelsen og staten er også med til at vælge et eksternt medlem som formand for bestyrelsen. Derudover er ministeren som tjener af folketinget også underlagt, hvad flertallet af folketinget ønsker, så presses ministeren, så ryger der også et pres over på Rejsekort & Rejseplan A/S. Derudover se også hvor mange gange der står "Transport-, bygnings- og boligministeren kan fastsætte ..." i "Lov om ændring af lov om trafikselskaber og jernbaneloven".

Derudover kan folketinget altid - hvis det ønsker det - vedtage en lov om zoner eller lave en lov, der fastlægger, at autoriteten til at definere et zonesystem i Danmark ligger hos transport-, bygnings- og boligministeren. Så vil jeg gerne være trafikselskab og forsøge at argumentere imod, hvad et flertal af folketinget, der repræsenteret folket(!), har vedtaget. :)

21. juli 2021 kl. 18:40
Utålmodige politikere: Vil have app til rejsekort »hurtigst muligt«

@ Palle Due Larsen Jeg har ikke nævnt, at man skal skanne QR-koden, når man går ind i bus/tog, men det vil jo effektivt registrere, at man har brugt koden. Håber det giver svar. Så er det ikke anderledes end i dag, hvor kontrollører også kommer i tog og bus af og til for at se, om folk har gyldig rejsehjemmel.

21. juli 2021 kl. 13:04
Utålmodige politikere: Vil have app til rejsekort »hurtigst muligt«

Ville være rart med en app, så:

  1. Så man kun har behov for at checke ind, når man starter rejsen op, idet man også vælger destinationen. (Resten af rejsen kan man slappe af - også ved forsinkelser uden at frygte at rejsekortet overtakserer og man skal oprette supportsager.)

  2. At man har en liste over de mest alm. rejser, man foretager, så man derved let kan vælge, hvor man skal hen (og dermed starte rejsen/checke ind).

  3. At man kan printe en lap papir ud til børn og ældre, så de fx har en rejsekort app-QR kode på papir, som kontrolløren kan checke. Mange har netværksprinter i dag, så man fluks kan printe fra mobil til printer og alternativt sende pdf til mail og sende til nærmeste person med printer...

  4. At zonesystemet blev mere simpelt - underligt at en bus og togtur fra ca samme sted til samme destination koster forskelligt, selvom der bruges rejsekort begge steder. Ofte er det basse-øre / kroner i forskel, men det gør i al fald ikke systemet mere simpelt at vedligeholde og forstå for menigmand. Fx togtur fra Hjallese st. til Odense st. vs tilsvarende bustur i samme område. (Kan godt være det er lavet om - man kan håbe :D )

  5. Man kunne lave 10 turs QR-klippekort (fastdefinerede rejser start og destination; tidsubestemte som klippekort), som man tager med på et ark og fx streger over, som man har brugt turene. (Lidt ligesom man kan have flere sudokuer på en A4-side for at tage en lidt wack sammenligning: http://www.opensky.ca/~jdhildeb/software/sudokugen/ )

21. juli 2021 kl. 11:27
Fejl i opdatering af Sundhedsplatformen: Medarbejdere brugte nødprocedure i otte timer

Glemte at nævne, at koden selvfølgelig er synlig for dem, der skal installere opdateringen og kunden, og hvis man vil, kan man selv bygge den, så man er sikker på, er der ikke følger skrammel med som unødvendig telemetry, bagdøre, åbne porte etc. (hvis man har folk/ressourcer til det) og det er mere tilgængeligt for andre at undersøge kvaliteten af koden, så man kan se, om man har fået det, man har betalt for (i forhold til udvikling og opdateringer) og evt checke, om der er rettet op på problemer og ikke bare lavet lappe-løsninger. Jeg siger ikke, at der ikke kan opstå samarbejdsproblemer. Tag bare et nyt eksempel som samarbejdet mellem Netgate og Wireguard (hvor de nok begge kunne være bedre til at kommunikere), men om ikke andet så kan koden i al fald checkes til kundens og brugernes fordel.

18. marts 2021 kl. 11:29
Fejl i opdatering af Sundhedsplatformen: Medarbejdere brugte nødprocedure i otte timer

At dem man skal have fat på er i Danmark og ikke et sted langt, langt væk (USA), som måske kan føles som in a galaxy far far away i en anden tidszone. At der er større forståelse for, hvordan sundheds-IT er i Danmark. At det er en virksomhed fokuseret på danske forhold og ikke, hvordan tingene er skruet sammen i USA. At tingene bygges og ikke om-bygges til Danske forhold og at alt det tilsammen også kan gøre at opdateringer/opgraderinger kan foregå mere smidigt og måske endda med forståelse for, hvordan danske sygehuse og hospitaler er meget afhængige af change-vinduer og at de overholdes :)

17. marts 2021 kl. 22:22
Fejl i opdatering af Sundhedsplatformen: Medarbejdere brugte nødprocedure i otte timer

Hvornår mon der er nogen, der laver et offentligt open source selskab, der laver sundheds-programmel til fx sundhedssektoren, så i det mindste alt der ikke har med højt specialiserede analyse-apparater, scannere m.m. bliver omlagt til frit open source software, uanset om det er en data-fordelings-hub mellem systemer eller det er platforme til epj eller lign.

Så kunne alle regioner samarbejde, spare omkostninger få løst problemer til tid og evighed, fordi det er FOSS, og man kunne endda vælge at samarbejde med andre lande.

Hvis de offentlige chefer og politikere har brug for at sende en abe videre, så lav også evt. et driftselskab udover et FOSS-sundheds-programmel-selskab, hvis det giver mening. Om ikke andet så bruger bibliotekerne fx FOSS, så kan sundhedsverdenen vel også gøre det i større og mindre udbredning, tænker jeg.

Eller er det kun mig, der har disse tanker, når man høre om problemer i sundhedsverdenen med it-systemer, der ikke spiller?

17. marts 2021 kl. 13:22
Open source er lige så sikkert som proprietær software

Hvilke kanaler bruger I til at holde øje med / få nyheder om sårbarheder?

Kunne være fedt at høre, hvad folk bruger af kanaler! Synes det er lang tid siden, jeg har set en snak om, hvorfra folk henter sådanne nyheder. Fx:https://linuxsecurity.com/https://thehackernews.com/search/label/Linux%20Vulnerability

17. juli 2020 kl. 11:05
Kinesisk firewall i Hong Kong: Signal bliver den mest downloadede app

Mesh netværk tror jeg ikke på. Det er ganske enkelt for nemt for myndighederne at optrevle. Men satellitkommunikation som Iridium eller Starlink ... det er meget svæt at blokere for den slags. Information will find a way.

Du har nogle gode pointe der. Også mht mesh-netværk. Min tanke er, at hvis man har enheder, der fx kun er tændte få minutter/halve timer i løbet af en dag, og der er nok af dem, så er de muligvis svære at finde, og hvis der sættes en masse op, måske også svære at få gjort kål på alle - men ok, de kan sikkert spottes med en 'pejlevogn', hvis man har det rette udstyr, mens de er tændte, og måske kan man bruge mini-laser-våben (som på fremtidens militære maritime skibe) til at sætte dem ud af drift, hvis mesh-knudepunkter fx er gemt oppe under hustage og lign.

Men jo Starlink, det er et rigtigt godt bud! Men spørgsmålene er så, hvordan skal den alm. borger få råd til at bruge Starlink, og fx hvordan skal de komme til at betale i udenlandsk valuta fx, hvis Mainland China ikke har lyst til, at det skal være muligt, eller ja har mulighed for at spore betalingen, og måtte se denne som en fjendligt handling fra borgeren og Starlink?

Men ja, måske via krypto-valuta vil det være muligt for borgeren at veksle yuan til krypto-valuta, der så kan bruges ved login-siden til Starlink måske. Men det næste styret i Kina kan gøre, er så at forbyde antennerne, der bruges til at forbinde med Starlink, så nemt bliver det ikke. Men formålet med kommunikationen kan så måske bestemme, hvordan kommunikationsopgaven løses fx på gammeldags agent-maner, hvor mennesker flytter sig fysisk og mødes, hvis man kan undgå overvågningskameraer eller ved at dumpe kodede beskeder på forud bestemte steder som i gode spionfilm, hvor ingen kameraer er.

Men hold fast, hvor den moderne teknik og teknologi også kan være med til at begrænse og ødelægge menneskers muligheder for frihed.

11. juli 2020 kl. 22:54
Kinesisk firewall i Hong Kong: Signal bliver den mest downloadede app

Mon befolkningen vil begynde at tage mesh-netværk til sig, så at kommunikation går uden om de direkte kanaler?

Det bliver sikkert gjort forbudt, og måske bliver det også påbudt med en 'personlig agent' installeret på folks telefoner - inspireret fra Nordkorea - til at holde øje med, hvad brugeren foretager sig.

Men måske folk så begynder at lave deres egne små simple elektroniske gizmos, som små arduinoer, raspberry πs m.m. både til at sende budskaber med, men også for at sætte billige mesh-stationer op med batterier, der kan holde i noget tid - fx ved nedløbsrør, tage, skraldespande, tæt ved restaturanter, stationer, stor-centre m.m.

Mht. broadcast kommunikation, der kan det være, man ud over elektronisk kommunikation også vil se, at der bruges brevduer, små droner eller lign, der måske løsner poser med flyveblade ned over gader.

Hundredmeterskoven bliver ikke stille blot pga. en firewall. Måske budskabet høres i det fjerne: "Rolig Peter, vi er ikke ude efter din honning! Vi ønsker blot vores frihed!"

9. juli 2020 kl. 20:17
Skat masse-hyrer til store it-projekter: »Der skal være balance mellem fastansatte og eksterne konsulenter«

Når man alligevel er igang med at lave nye systemer, så kunne man jo starte med at gøre dem open source, så andre kan udvikle og ændre på systemerne, så det ikke er den oprindelige leverandør, der sidder med det bredeste smil. Bibliotekerne i Danmark samarbejder fx om deres open source-systemer.

29. juni 2020 kl. 23:33
Svære valg

@Morten W. Jørgensen: Yeah, endelig en der svarede på mit indlæg :)

Well, hvad jeg ikke fik fortalt i mit oprindelige indlæg var (og det er selvfølgelig min fejl), at jeg ville forsøge at adresse PHKs FreeBSD valg ved at stille nogle spørgsmål (ikke agitere for) - altså kaste bolden i luften. Jeg foretrækker selv papir-valg, når det er muligt, men i PHKs eksempel, hvor de stemmeafgivende befinder sig forskellige steder i verden, der er der jo netop et eksempel på, at der findes en undtagelse til papir-stemmevalg, når vi ikke selv kan troppe op og lade nogle vi stoler på dvs. rigtige folk / frivillige (ofte fra politiske partier) håndtere optællingen, der sammen tæller stemmer op på en valgaften og undervejs får gule ærter og stemmeflæsk til :)

Så derfor, når PHK nu har en reel og virkelig case, så er det jo nødvendigt at holde fokus, gribe bolden, der kastes op, og forsøge at finde en løsning, der rent faktisk virker fx for FreeBSD. Så hvis det er en egentlig afstemning, folk foretrækker, og hvis det skal være en hemmelig afstemning, så er det jo der, at man skal bruge øverste etage og ligesom tænke over, hvad kunne løsningerne være. Dernæst må man snakke sammen om, hvordan det skal gøres udfra de idéer til en mulig løsning man har. Derefter lave en prototype og få folk til at evaluere den og til sidst - når masserne skal bruge værktøjet - lave nogle gode illustrationer / forklaringer på, hvordan skidtet rent faktisk virker så et barn, en ældre, en nørd, en datalog - hver for sig og sammen kan sige okay - det her shit, det virker og vi kan stole på det.

Og det er selvfølgelig deri opgaven ligger - så jeg elsker folk, der siger, at noget er umuligt for det er dem, der typisk på forhånd ikke har bevist, at opgaven er umulig at løfte. Og ja, der er masser af løsninger derude der har vist, at det kan fejle fordi det er noget skrammel - men det jo derfor, at nogle enten skal bevise, at det er umuligt at lave et 'sikkert' system (sikkert som i modellen og ikke sikker, som i der ikke findes bugs, som man kunne være grundige omkring, som inden man sender en robot til Mars) eller sætte sig sammen og forsøge at lave noget, evaluere osv. ;-)

15. juni 2020 kl. 15:21