Morten Jagd Christensen

Mange eller få fejl ?

Der er selvsagt mange interessante betragtninger i dette felt: Det ledelsesmæssige, udviklingsprocessen, klassifikationen, visualiseringen, gruppdynamik etc.

Men spørgsmålet stillet af PHK var relateret til antal af fejl i tidligere utestet (-ish) kode og det var det jeg prøvede at addressere. Som nævnt ca. 1 per 20-100 liniers eksekverbar kode i et helt konkret setup.

Er der andre der har tal at dele?

15. januar kl. 08:09
Mange eller få fejl ?

Generelt klassificerede vi fejl bredt, men der var tale om reelle fejl der ville kunne manifestere sig i forkert opførsel. Typisk corner cases. Meget sjældent, hvis overhovedet, katastrofale så som memory corruption eller processor exceptions.

Klassifikationen vi mest var interesseret i var af processorienteret art: i hvilken del af udviklingsprocessen blev fejlen introduceret: specifikation, design, development, integration, operation. Tanken var at holde dette op imod i hvilken del af processen fejlen blev fundet i. Her var unit test kun en del af spillet.

Drømmen var at kunne bruge den viden til at ændre udviklingsprocessen målrettet. Men vi fik ikke rigtig fulgt op på de data i det omfang man kunne.

14. januar kl. 18:24
Mange eller få fejl ?

Det bliver jo hurtigt lidt anekdotisk og urepræsentativt og det er også muligt at hukommelsen spiller mig et puds, men:

For kode som ikke havde unit tests, baseret på erfaring fra et firma der lavede satellittelefoner og modems, fra 2003 - 2007 (ca), fandt jeg at når vi testede systematisk var det nærmest sikkert at der blev fundet en fejl for hver 20 - 100 liniers eksekverbar kode.

Det kan jo hurtigt blive til en del for en mellemstor kodebase. Jeg aner ikke om vi var specielt gode eller dårlige, formentlig nogenlunde i midten for perioden.

Men det var næsten altid en øjenåbner, selv for de meget erfarne udviklere.

14. januar kl. 16:46
Plan10 - Det er faktisk raketvidenskab

Jeg har ikke rigtig nogen holdning til disse, så for min skyld behøver de ikke være en del af Plan10 i den form :-)

Men stdin og stdout konceptet er jo en integreret del af unix pipe implementeringerne for eksempel ved

ls -1 | grep myfile | xargs cat | osv. osv.

hvor 'stdout' fra en process bliver 'stdin' for den næste.

Er der nogle spændende alternativer?

6. april 2021 kl. 12:55
Plan10 - Det er faktisk raketvidenskab

Min use case er ikke super relevant for diskussionen. Legen var at der skulle designes et nyt OS med frie hænder til at forholde sig til mangt og meget. Her spørger jeg blot om tidssynkronisering mellem cores er noget der er værd at overveje nu da valg af hvilke cores der skal startes og dynamisk cpu clock er nævnt.

Emnet er svært, men nok ikke irrelevant som et par bidragydere mener.

Men hvis (præcis, eller veldefineret) tid på et OS var irrelevant var der vel heller ikke brug for NTP, eller PTP, usleep(), gettime(), eller on-core clock counters som kan læses med rdtsc instruktioner?

Det var den diskussion jeg ønskede at bringe op, ikke kategoriske svar som

Der gælder generalt, at du aldrig må have tidsbegrebet på en computer. Du skal betragte CPU'en til at regne uendeligt hurtigt.

som for eksempel udelukker ethvert forsøg på at regne data rates ud, hvilket ellers godt kan lade sig gøre i praksis.

6. april 2021 kl. 12:46
Plan10 - Det er faktisk raketvidenskab

Jeg har selv kæmpet lidt med at (forsøge) at opnå en accpetabel tidssynkronisering mellem cores på en multicore cpu. Det er jo om noget et samspil mellem hardware og software.

Det er jo helt vildt svært, men rigtig brugbart. Nogen tanker om dette og samspillet mellem det du skriver om variabel clock frekvens i det tænkte OS?

5. april 2021 kl. 09:24
PHK's 2021 quiz

00101000

Jeg håber ikke jeg får ret i meget af det her :-)

4. december 2020 kl. 22:25
Intern modstand: The Internet Society kræver fuld transparens i salget af .org

Hvis SAS laver en uskyldig og humoristisk annonce bryder helvede løs. Her sker der sikkert intet.

Men hele 'professionaliseringen' af ICANN (og ISOC) stank langt væk i sin tid. Pludselig sad der karrierejurister i spidsen af hvad der i mange år havde været drevet af ideologiske folk med tekniske kompetencer. Når jeg kikker på the 'board' for ICANN sidder den eneste person jeg kan genkende som teknisk kompetent (Harald Alvestrand) som 'non voting' member.

Nu ser vi konsekvenserne. Gamle Postel må rotere i sin grav.

Jeg undrer mig over at jeg ikke selv havde fanget dette.

Læs evt. en grundig analyse her:https://www.theregister.co.uk/2019/11/20/org_registry_sale_shambles/

In fact there are virtually no controls on ICANN executives despite their ability to set the policies that guide a multi-billion-dollar market. As just one example, it appears that both board and staff members are free to hold shares in companies whose value is closely linked to decisions that they make and that they are not required to disclose such holdings.

Hvis du kender nogle gode kanaler, så brug din indflydelse til at forsøge at stoppe dette korrupte takeover.

19. februar 2020 kl. 15:48
Adgang til mobilmaster og rejsekort: Kommuner vil have flere værktøjer imod socialt bedrageri

Jeg er lidt splittet omkring det her. På den ene side synes jeg det er uaccpetabelt med socialt bedrageri og at det bare skal opdages og straffes.

På den anden side synes jeg at det lyder som 'småpenge' der findes her. Det er så på bekostning af frihedsrettigheder, mistænkeliggørelse og ofte baseret på anonyme indberetninger. Så lige på TV i går at 5/6 af alle anmeldelser ikke fører til afsløring af svindel. Bevares 468+ milioner er også penge, men i realiteten blot en lille del af et enkelt kuldsejlet statsligt IT projekt og en dråbe i forhold til (måske) 95 miliarder i svindel med moms.

Jeg ville ønske at man hørte om tilsvarende entusiasme og initiativer fra administrationen der hvor der faktisk er noget at hente: Endeløse kuldsejlede IT projekter, manglende skatteindrivning, skødesløs udbetaling aktieudbytte, momskarusseller, og ejendomsvurderinger der er trukket ud af en tilfældighedsgenerator. Hertil kommer nær-nulskat til de smarte virksomheder.

Samtidig med at 'man' ønsker udstrakte beføjelser til overvågning af borgerne, som i realiteten har dårlige muligheder for at svindle, har man i lang tid arbejdet på at gøre det så nemt som muligt for virksomheder: nedskæringer i skat fjerner kontrol og stærkt nedsatte krav til revision nærmest blåstempler svindel.

Hvorfor hører vi ikke om tilsvarende samkørsler og stramninger indenfor disse felter? Det er da meget mere at hente her.

19. februar 2019 kl. 14:08
Lægeforening: Nationalt Genom Center vil gemme og dele dit genom - uden du bliver spurgt

Foreligger der allerede nu et udkast til lovtekst? Jeg har ikke været i stand til at finde noget.

3. november 2017 kl. 11:23
Datatilsynet: Opbevaring af bloddonorers fingeraftryk som bitmap-filer er ikke godt nok

På sundhed.dk kan man læse: "Oplysninger i patientjournalen må ikke slettes eller gøres ulæselige"

Det er for så vidt fornuftigt nok. I mit tilfælde har man så gjort det sidste alligevel. Jeg kan i hverttilfælde ikke længere læse den forkerte information.

Problematikken er mangfoldig: Først tager det to år at få foretaget en rettelse hvilket er uhørt dårlig performance. Dernæst nærmest lyver man ved at få det til at lyde som om oplysningen er slettet. Man har så - mod hvad der bliver informeret om er lovligt - blot gjort dem ulæselige. Jeg er således ikke i stand til at vide om oplysningen nu er kategoriseret som ugyldig eller om den formelt og juridisk stadig er gyldig men blot skjult fra den besværlige borger.

Alt dette burde man ved første henvendelse oplyse om, men det gør man ikke. En sådan lemfældig omgang med mine rettigheder og data gør mig blot endnu mere bekymret over at mit fingeraftryk nu ligger til ubestemt opbevaring og fri hacking.

4. juli 2017 kl. 15:45
Datatilsynet: Opbevaring af bloddonorers fingeraftryk som bitmap-filer er ikke godt nok

Jeg har gennem næsten to år forsøgt at få slettet en fejlagtig information i min sundhedsjournal. Jeg har i den anledning kommunikeret med adskillige personer som har forhalet sagen og intet gjort. Efter til sidst at måtte true med at indgive en formel klage blev problemet 'løst'.

Men beskeden var kryptisk: Den fejlagtige information fremgår ikke længere af din sundhedsjournal. Det vil sige at informationen formentlig stadig er til stede, men nu blot ikke vises når jeg selv logger ind.

Det er selvfølgeligt utilstedeligt at de ansvarlige er ligeglade med om der er fejl borgernes informationer - og med at der med stor sandsynlighed er tale om svindel med offentlige midler fra en praktiserende øjenlæge.

Men det er et endnu større problem at data i praksis aldrig slettes og vi ikke har skyggen af en chance for at validere dette.

Hilsen en mangeårig bloddoner som er stærkt utilfreds med at skulle afgive fingeraftryk for at kunne hjælpe samfundet.

4. juli 2017 kl. 12:06
Open Source routere

Hvis der er brug for store mængder af high speed netværks trafik til en 10G router test, vil jeg anbefale jer at tage kontakt til Xena Networks. Xena er en danskejet virksomhed der udvikler trafikgeneratorer til Ethernet.

Xenas nyeste produkt, XenaScale, kan simulere omkring 25 milioner samtidige tcp forbindelser, og understøtter multiple 10G og 40G porte. Der er også mulighed for andre trafik typer, som http, etc. baseret på replay af pcap captures.

Hvis man kan nøjes med stateless trafik understøttes hastigheder på 100G. Til routing formål kan der varieres forskellige header felter, f.eks. destination ip address, ds, pakkestørrelse, etc.

Jeg vil mene at der er gode chancer for at lave et samarbejde, og jeg ved at de ikke bider (særligt hårdt).

31. december 2015 kl. 14:25
30-årig fængslet for læk af folketingsmedlemmers cpr-numre

Danmarks retssystem viser sig igen fra sin bedste side.

2. oktober 2014 kl. 19:48
Open Source router

Nej jeg er klar over at en router laver noget andet, men så væsensforskelligt er det ikke: Der modtages en pakke på en port, udfra headeren skal der slås et element op i en 'tabel' og udfra det element skal der findes en output port, så skal der modificeres lidt i IP headeren, og skiftes mac adresse og beregnes checksum.

Det er stort set de samme operationer der skal til for at servicere en tcp pakke på klient/server siden.

Xeon E5 har 20M L3 cache og benytter RSS til at reducere dybden af søgetræet, og netop fordi CPU'en også laver andre ting har flere cores en positiv indflydelse på performance.

Så jo der kan sagtens pines mere ud end de tal du nævner - også teoretisk.

Men det var nu også mest for at gøre lidt reklame for DPDK som er en meget interessant ny(ere) spiller på pakke processerings arenaen, nu da bloggeren spørger.

Så hvis man er nysgerrig så besøg https://www.dpdk.org

15. august 2014 kl. 00:24
Open Source router

Jeg ser ingen performance relaterede grunde til ikke at lave en open source router på helt almindeligt hardware (med mindre man er Netflix).

Jeg har rigtig god erfaring med Intel's Data Plane Development Kit (DPDK) på Linux i kombination med all-Intel chipsets: Dual Xeon E5, 82599 2x10Gbit/s NICs, Cave /Coleto Creek coprocessors og Intel transceivers (giver mindst bøvl med DPDK).

Her har vi for eksempel 10Gbit/s på TCP mellem to 10G porte og blot 2 ud af i alt 32 hyperthreads. Vi har også set mere end 6M TCP connections/s og det er ikke langt fra wirespeed i pps.

En af serverne har 128G RAM så der er plads til de største routing tabeller hvis det skulle være.

Derfor kan der godt være strømforbrug, varme genererings, holdbarhedsmæssige, sourcing og andre grunde til ikke at gøre det, men performance er allerede nu ganske god og der er nyere og hurtigere NIC's og CPU'er på vej.

14. august 2014 kl. 20:33
SF’s medlemsdatabase hacket – CPR-numre offentliggjort i hævnaktion

Aktionen er efter min mening et ganske rimeligt eksempel på civil ulydighed. Den understreger at mange mener at overvågning og efterretning har fået for vide beføjelser, og at uligheden imellem hvad myndigheder kan tilade sig og hvad befolkningen kan tillade sig vokser tilsyneladende ukontrollabelt og udenfor reel demokratisk indflydelse.

Man kan altid diskuttere om sprogbruget er for hårdt, men jeg sympatiserer med protesten. Jeg kunne i lighed med en tidligere post godt have tænkt mig at langt mere data var lækket for virkelig at understrege hvilke konsekvenser detaljeret overvågning har for individet.

Der har været rigtig mange advarsler og bekymringer fra forskellige interessenter i denne sag. Men på trods af dette, og uden konkrete definitioner på sikkerhedhændelse og hvilke interesser der skal varetages, så indføres loven alligvel. Hvordan er dette på nogen måde demokrati?

Det interessante er at aktionen betragtes af forsvarsministeren som "et angreb på demokratiet", hvorimod jeg ser den som et forsvar for demokratiet.

Problemet er at der efterhånden ikke er nogen tilbage at stemme på.

13. juni 2014 kl. 11:30
Sjov underholdning med middeldovne teenagere: Geocaching

Jeg købte for år siden en 'rigtig' GPS. Garmin Oregon 300. Med den kunne jeg kombinere tre interesser: Mountain Bike, Geocaching og Openstreetmap mapping.

Oregon blev valgt fordi den havde support for geocaches og fordi Garmins kort format var blevet reverse engineered og kunne bruges med openstreetmap :-)

Så har den en fordel dom de fleste smartphones ikke har: Vandtæt. Så den har ligget og skvulpet i overfladen på en sø mens jeg dykkede ned og hentede en cache på 3m vand.

Spøg til side - til lejlighedsvis geocaching er alle værktøjer lige fine: Jeg har både gået med en TomTom og sigtet efter nogle koordinater skrevet ned på papir, benyttet Android, Garmin Oregon - og nogle gange bare google earth.

Til die-hard cachere: I skal betale for et premium geocaching abonnement og evt. købe GSAK programmet. Det giver nogle flere muligheder for at holde styr på sagerne. F.eks. kan man uploade et gpx track eller en ruteplan for turen sydpå og få en liste over caches inden for 100m fra vejen. Så kan man kombinere tissepauser med lidt skattejagt.

Jeg har selv haft megen sjov gennem årene - udlagde min første cache i 2002, men har kun dyrket det halvhjertet. Har vist fundet omkring 650 og det er ikke så imponerende.

Happy caching.

22. april 2014 kl. 20:23
Hvad bør man vide om kryptografi?

Jeg kan varmt anbefale coursera kurset Cryptography I.

Forelæseren brænder for emnet og kommer med flere eksempler på hvor små fejl der skal til for at ødelægge sikkerheden. Hans mantra, som gentages igen og igen er 'never ever implement your own cryptography algorithm'.

Så hvis ikke andet sidder fast så har man forhåbentlig lært det.

13. marts 2014 kl. 08:38
Jeg vil skrive en bog - men hvordan?

Hvis nu der var tale om en guide til layout, design, logodesign etc. Så ville jeg nok ikke vælge LaTeX. Typisk leges der her meget med kerning, fonts, fontstørrelser, alignment af text med billedelementer osv. Det er altsammen temmelig uproduktivt i LaTeX efter min mening.

Men hvis dine figurer er grafer eller billeder som 'bare' skal placeres et passende sted og teksten 'blot' skal flyde passende udenom, så er LaTeX da en klar mulighed.

Hvis du selv generer figurerne og de ikke er alt for komplicerede rent grafisk så kan LaTeX i kombination med TikZ og Memoir pakkerne være en fin løsning. Du kan her i høj grad parametrisere figurene (baggrund, rammer og andre elementers størrelse, farve, orientering osv.).

Her er et eksempel jeg selv har arbejdet på i et års tid: http://issuu.com/mortenjc/docs/matematik

Ulempen er klart at man skal være lidt af en tekniknørd for at finde glæde i at arbejde med LaTeX. Det er både du og jeg, men er dine bogprojekt-samarbejdspartnere også? Hvis ikke skal du måske overveje noget andet ;-)

7. december 2012 kl. 13:10