Tylon Foxx

Programmøren på Dahls Tapetfabrik, Ballerup

Historien minder mig om en sommertjans jeg havde på min mors arbejde med at rydde op i og flytte deres arkiv...

Virksomheden havde en del dokumentation og rester af grej liggende fra deres gamle IBM System/36, som de købte kort efter modellen kom på markedet i '83. Blandt sagerne var der en god stak udprint af gamle programmer (lavet i bl.a. BASIC Assembly og REXX), manualer, stakke af 8-tommer disketter og andet godt.

Hvor nogle af medarbejderne "på gulvet" var koblet på via terminal (IBM 5250'ere), var nogle af cheferne sat op med IBM 5150 PC'ere.

Jeg har stadig disketteboksen med bootdiske fra S/36'eren blandt et par andre souvenirs som bl.a. BASIC bogen og manualen der fulgte med en af 5150'erne, samt AS/400 new user's guide - Version 2.

Ikke nok med det, lå der også en kasse bagerst i arkivet, stoppet med gamle billeder og patenter der daterede helt tilbage til 1930'erne...

Virksomheden laver stadig gardiner, persienner og den slags :)

19. august 2020 kl. 07:05
Inklusion i jobannoncen afmystificeret

... at en mulig grund til at de viste ord er blevet "flagged" af AI'en fordi det normalt ikke er kvaliteter man tildeler en kvinde eller en sort i det fysiske rum? Adjektiver er i mine øjne noget man ofte tillægger sig selv ud fra hvad ens omgangskreds siger om en - i hvert fald de adjektiver man spytter ud med uden at virke eller føle sig som en løgner...

Forfatteren har da om nogle alle 4 kvaliteter: Det kræver ambition og drive at tage en kandidat, ph.d. og en postdoc. Det kræver styrke og mod at tage sig overskud til at arbejde (frivilligt) med sociale tilbud i fritiden og at holde dem kørende. Det kræver at man er "caring" (omsorgsfuld) også at bidrage med den slags til børn.

Derudover er det værd at tænke over, at en jobannonce egentlig er til for at ekskludere folk der ikke rammer den målgruppe som virksomheder gerne vil have ind - det er den første fase hvor man skiller fårene fra ulvene så at sige. Til samtalen bliver der så gravet yderligere i dine kompetencer og dit værdisæt.

IMO skal man ikke grave sig i ord med den slags. Mildest talt finder jeg resultatet mere sexistisk og racistisk præget end realiteten. Løsningen kan findes andetsteds, som fx. i det sociale liv og opdragelsen...

10. juli 2020 kl. 16:10
15 milliarder legitimationsoplysninger cirkulerer på hackerfora lige nu

Ikke nødvendigvis... ligesom drug markets på darkweb er de sat op som "hydraer" - lukker du én side, så popper der et mirror op med det samme fra et andet sted i verden.

Det er svært, hvis ikke umuligt at koordinere politiarbejde over flere lande.

Modsat drug markets har du ovenikøbet ikke nogen fysisk vare der kan snuppes i tolden - du får varen tilsendt direkte til din computer...

10. juli 2020 kl. 15:49
Udviklere vælger for nemme løsninger: Ydelse kan øges 60.000 gange ved at omskrive kode

Som Martin Slot nævner heeeeeeeelt oppe i første post, bliver udviklere ofte henvist tilen rolle som feature factories (genialt udtryk btw). Jeg har selv siddet i roller der kunne beskrives med det udtryk.

Jeg har selv oplevet at få skæld ud af overordnede både for at lave diagrammer, design noter, dokumentation, benchmarking, test og libraries - mest fordi de så de steps som spild af tid. Ikke desto mindre er der rigeligt med shortcuts og teknikker i de forskellige IDEs som er ti gange hurtigere og sikrere end hvad langt de fleste kan lave selv.

Omvendt har jeg i jobsøgningen også mødt en del virksomheder (Webfirmaer og konsulentbureauer især) der tager ekstra betaling for vigtige grundsten i projektet, og jeg har oplevet at få forklaret op i mit åbne, måbende, ansigt at jeg, som udvikler, ikke måtte skrive dokumentation i koden medmindre kunden havde betalt for det. Ved at være for grådige med at levere en vis kvantitet, reducerer de ofte kvaliteten af arbjede - og det går ud over ikke bare kvaliteten, skaleringen og holbarheden af kodebasen, men også ud over deres mulighed for at levere mere kode og features i samme pakke.

Med custom libraries kan man jo netop bygge en porteføjle op af gennemtestede features, som kan indsættes i projektet. Det forhindrer samtidig at programmøren skal starte fra scratch hver gang.

Af og til har jeg også oplevet projekter der kom ud i en meget ufærdig tilstand - faktisk på grænsen til at være ubrugelige. I mine øjne skader det ikke kun projektet - men også virksomhedens omdømme.

At der samtidig ofte efterspørges folk der kan 5-7 forskellige programmeringssprog er igen den indsnigen af kvantitet frem for kvalitet.

Du kan sagtens finde en på 25 som kan C#, Python, Java, Javascript, samt et hav af .js frameworks. Men du kan bide spids på at han/hun ikke kender sprogene godt nok til at skrive særlig optimeret og effektiv kode. Selv er jeg 32 og kan C#, en del Java og en smule Python - men jeg har gravet mig dybere ned i C# end så mange andre ville syntes var smart. Hvorfor? For at skrive bedre kode i et udbredt og fleksibelt sprog!

Omvendt sætter jeg mig også hen til mine Commodore maskiner for at afprøve teknikker på begrænset hardware - det i sig selv har været en åbenbaring for mig, lært mig at lure en del tricks, lært mig mere om hardwarens finurligheder og lært mig at "stoppe" mig selv når jeg programmerer.

Begynder-litteratur reflekterer ofte heller ikke hvilke steps der er bedre at tage i koden frem for andre. Selv hjælper jeg en kammerat med et Unity-projekt der er autodidakt i C# - og igen ser jeg mange klassiske begynderfejl. Fx for i stedet forforeach når vi snakker gennemgang af datasæt og arrays, samt ineffektive, selvskrevne søgninger i selvsamme datasæt. Den vigtige forskel er dog at min kammerat lytter til mig og tager ved lære i stedet fr at sætte en mur op om hvordan det skal være.

I sidste ende er det netop udviklere der manglerrigtigt kendskab til deres miljø, og samtidig urealistiske forventninger (som fx også at skulle agere support og sysadmin samtidigt) der får udviklingen i den retning. Du er mange steder simpelthen tvunget til at sprige over hvor gærdet er lavest...

15. juni 2020 kl. 18:06
Virksomheder vil lempe GDPR: »Umuligt at vurdere, hvornår man har gjort nok«

Jeg vil sige det samme - reglerne virker præcis som de skal.

Overordnet er lovgivningen bygget på at teknologien løbende ændrer sig - men ikke desto mindre opfordrer den til at lave et absolut minimum af foranstaltninger for at beskytte brugerdata.

Af tekniske foranstaltninger bør man som minimum have fx antivirus og firewall på plads, et system der fra designfasen har indtænkt sikkerhed og backupmuligheder, samt mulighed for at frakoble entydig identifikation af en given bruger.

Fra virksomhedens side skal der også indtænkes bl.a. recovery-procedure og indrapporteres sikkerhedsbrud.

Ovenstående er det absolut grundlæggende fundament til en ordentlig systemsikkerhed!

Grunden til GDPR er netop at selv store virksomheder historisk har slækket enormt på brugerbasens sikkerhed og privatlivsrettigheder. Selv har jeg både før og efter GDPR oplevet en meget stor forekomst af "går den, så går den"-mentaliteten i de jobs jeg har haft. Ovenikøbet med efterfølgende grumme overraskelser som klartekst-passwords i databaser og manglende forståelse, dokumentation og test af infrastrukturen og de procedurer der er på plads for at sikre data og systemer.

Kort sagt, er branchen meget langt henne ad vejen selv skyld i det!

Facit er, at der man har gjort nok, er ved at være transparent med dataindsamlingen, så vidt muligt sikre at ens løsninger er veltestede og sikre, og at have de rette procedurer på plads. Ja, det koster penge - bødesatsen er netop sat så højt at sikkerheden skal virke som en fornuftig investering. Er det ikke det, så har virksomheden heller ikke grund til at forbedre sig.

Virksomheder er jo netop gode til at gemme deres skatteoplysninger fordi bødesmækket synger - det samme gør sig gældende her.

Navnligt i Danmark har jeg oplevet at truslen om hacking og læk bliver ekstremt undervurderet. Det samme gør bruger- og medarbejderorientering.

IT er ikke blot magisk fe-støv der har til formål at optimere og forbedre arbejdsgange og produktivitet...

...Et IT-system er meget magtfuldt - især i de forkerte hænder...

With great power comes great responisbility

12. maj 2020 kl. 18:51
Delphi fylder 25 år

Der er fortsat en gratis udgave af Delphi i form af Community Edition:
<a href="https://www.embarcadero.com/products/delphi/starter">https://www.embarc…;

Jeg troede ellers Delphi var mere eller mindre dødt indtil jeg læste artiklen - og jeg må sige at jeg er venligt overrasket over at der er kommet en gratis mulighed så jeg ikke skal ty til pirateri igen. :D

Delphi var i sin tid min første oplevelse med at programmere da jeg var en 11-12 år gammel. Dog var det lidt en hindring for mig at jeg kun måtte bruge internettet en halv time om dagen til at finde kodestumper og hjælp (56k dagene, ak ja :D )

Det var ikke før en 5-6 år senere at jeg kom rigtigt i gang med programmering - først rodebutikken Java (i BlueJ IDE'en), så Assembly og så C# :) Mit første "rigtige", brugbare program var en simpel klon af CPU-Z, som jeg lavede i C#

Jeg tror jeg vil gå i gang med Delphi igen, der lader til at værekommet rigtig meget kød på siden.

Er der nogen som vil anbefale Delphi i dag (vs. .Net/.Net Core)?
Og hvorfor?

Overordnet er .NET IMO bedre til hurtig udvikling, så længe det ikke er krav for dig at dykke ned i hardwaren. Skal du bruge adgang til hardwaren udenom fx. WMI, så kan det hurtigt blive ret bøvlet med VB og C# - Du skal fx manuelt lave DLL filer til hardwareadgangen via Assembly, C eller C++. Delphi og en del Pascal-udgaver kan levere en mere direkte adgang til hardwaren, da du kan mikse Assembly ind i koden.

C# ønsker helst at du bruger de indbyggede Windows-libraries, bl.a. til WMI adgang - og ja det er også godt nok hvis du skal have basale informationer om hardwaren - men WMI har tre svagheder, for det første er det svært at hente informationer i realtime, for det andet er det laaaaaaaaaangsomt. For det tredje, er informationerne deri ikke altid "up to date", navnligt efter at have skiftet hardware. Førnævnte CPU-Z-klon anvendte bl.a. CPUID-instruktionen, som skulle tilgås via Assembly (det var inden cpuid() kom i Visual C++). Instruktionen får, kort sagt, processoren til at sladre om alt fra navn, over cachestørrelse og spænding til hvilke instruktionssæt den kan køre. Længe har jeg forsøgt at udvide min klon - men har siden måtte indrømme at C# bare kommer til kort når det kommer til at snakke direkte med ens hardware. I mere erhvervsrettet øjemed kan sådan information om hardwaren bruges til at indrette et program til at optimere sin egen arbejdsgang så den udnytter hardwaren bedre.

IMO er Delphi også en god bro for moderne programmører at arbejde sig "tilbage" til ældre hardware - nogle af koncepterne og noget af syntaksen virker meget som C#, mens sproget har sine rødder i Pascal (som i sig selv er ret "moderne" i forhold til sin æra). Det har lidt sin fordel hvis man samler på ældre computere - fx Amiga eller C64, som begge kan programmeres med sproget. ;)

15. februar 2020 kl. 00:25
Sæt nu it-sikkerhed på skoleskemaet!

IT findes allerede i folkeskolen - jeg har fx.selv haft faget "data" i 6. klasse (ca. i år 2000), så faget er der allerede.

Problemet synes jeg selv ligger i at materialet er mangelfuldt - vi havde fx blindskrift - tests og basal brug af de gængse programmer i Office-pakken. Det var hvad der var - ikke noget der fjernede os fra "magic box"-mindsettet.

Jeg ved ikke hvordan det forholder sig i dag i folkeskolen mht. IT-læring udover at der er mere fokus (måske overfokus) på at bruge tablets og PC...

Men en idé til udrulning af IT kan også fungere tværfagligt - også selvom læreren ikke er særuddannet. Det handler om at være kreativ med opgaverne der udstikkes. Det er dog stadig vigtigt at stå ved nogle af de traditionelle ting - bl.a. blækskrivning og -regning, da du ikke lærer meget fx. hvis du hele tiden har en stavekontrol eller lommeregner til hjælp.

Jeg vil ikke sige at noget så tungt som programmering skal finde sted fra 1. klasse, men det er et godt sted at starte med det basale.

I indskolingen (0. - 3. klasse) kan det være fornemt at lære de basale ting - fra almindelig betjening til brug af de nødvendige programmer, bl.a. Office-pakker. Der bør også være mere fokus på engelsk, så ungerne rustes bedre til IT ad den vej.

I mellemskolen (4.-6. klasse) kanman begynde at komme "kød" på - bl.a. netikette og basal databeskyttelse - egentlig meget passende, da ungerne her kommer op i en alder hvor de begynder at få lov til at oprette konti de fleste steder. De lærer at begå sig i en saglig tone online, og lærer at beskytte deres konti og data. Her kan man med fordel også tage fat på simpel programmering og simple algoritmer, der bl.a. kan hjælpe dem med at søge data fra nettet eller i databaser, samt kildekritik. Det bliver kun bedre af at der kommer nogle små projekter man kan tage med hjem og vise frem. Det kan fx. være simple hjemmesider. Desuden kan man fx. i dansk tage hul på typografi og formatering i skriveprogrammerne, og i matematik begynde at tackle nogle mere avancerede excel-funktioner. I alle fag kan ungerne også løbende rustes bedre til at bruge søgemaskiner korrekt - ironisk nok har jeg selv oplevet en del, selv IT-professionelle, som godt kunne bruge lidt træning i Google-fu. "magic box"-mindsettet bør studeres og ungerne fjernes fra det. Igen skal engelsk "oppes" en del - det er tid til grammatik, forståelse og udtale, med mere fokus på at tale sproget så meget som muligt i timen.

I udskolingen (7. - 10.) kan man arbejde videre på grundlagene. IT-faget avancerer videre i sit sikkerhedsfokus med beskyttelse af egen computer og netværk, og evt. mere avanceret programmering. Matematikfaget kan bidrage med læring om talsystemer som fx. binært og hex (som faktisk også kan hjælpe andre steder i livet). Sprogfagene fortsætter med at tackle bl.a. kildekritik og medieanalyse. Avanceret programmering kan tildeles som valgfag og evt. suppleres med en smule elektronik - med fokus på et eller flere professionelle programmeringssprog (fx. C# eller Python), prgrammering til embeddede/begrænsede systemer (fx. Raspberry Pi og Arduino). Gerne med en del "tag hjem"-opgaver (fx. små spil).

Ligeledes bør basal IT-kundskab indgå i afgangsprøven - Enten for sig, og/eller som en væsentlig del af de andre fag.

Målet bør være at ungerne bliver en del mere habile til IT som helhed, og kan hjælpe med at løfte sikkerheden for egen og andres data, men samtidig lære at "hjælpe sig selv" med de simplere problemstillinger. Mit ønske ville være at efter 9. klasse, ville de kunne danne sig et fornuftigt billede af verden online, Kunne begå sig med fornuft online og offline, og vil kunne bruge en computer som det geniale værktøj det nu er når de kommer videre.

Det kræver supplering fra andre fag for at ungerne lærer at bruge IT i real-life-sammenhænge, men det KAN gøres medmindre kassetænkning om de individuelle fag. Samlet set vil det kun kunne ruste dem bedre til fremtiden. Og, nej - programmering & co. vil ikke nødvendigvis tvinge skolen til at skulle holde deres eget IT mere opdateret end det er i forvejen. Hvorfor? Fordi udvikling på mindre/svagere hardware faktisk bringer en masse gode vaner og lærdomme til videnspuljen, som kan bruges til at lave lettere og hurtigere kode.

En computer er et vidunderligt og magtfuldt værktøj - jeg ville virkeligt ønske at kommende generationer får mere indsigt i den del, da de per default i dag desværre tilrettes "magic box"-mindsettet, modsat fx. en C64 eller andre 80'er maskiner der rent faktisk lokker brugeren til at "komme videre" fra den basale brug, bl.a. ved at lære brugeren BASIC eller maskinkode for at låse op for maskinens potentiale. LOAD og RUN er kun isbjergets yderste spids - det samme med at klikke på ikoner. :)

8. oktober 2019 kl. 13:14
Fordomme spænder ben for Danmarks teknologiske fremskridt

Som ledig ved jeg ikke om jeg skal grine eller græde over artiklen. Jeg er pt. ledig på 9. måned og må ærligt indrømme at "manglen" på IT-folk er noget bavl, for der er en ordentlig sjat virksomheder derude der er vældig selektive med deres valg af IT-personale. Der er i forvejen rigeligt med talenter derude der enten sidder ledige eller er stoppet med at arbejde i feltet. På den anden side af jobmuren er der rigeligt med konkurrence med at komme ind i et firma. Jeg blev indrømmet lige så harm over TV2s artikel i samme boldgade.

Det er ikke "kældermennesket" den er gal med eller "nørd" stereotypen med rigelig cola og pizza. Og, ja det kunne have været dejligt med flere piger i faget...

For at tage et par eksempler: På min IT-supporter uddannelse (en erhvervsuddannelse) var der ikke en eneste pige i klassen - derimod havde vi en del der brugte uddannelsen fordi de "skulle" videre på en eller anden måde. Dette var godt halvdelen af klassen.

På datamatikeren var der to piger i klassen som stort set aldrig mødte op. Rent spild faktisk. Vi havde flere i starten, men mange hoppede fra.

Kvinder tror jeg sikkert vil egne sig inden for både hardware og software. Deres mindset er ikke så analytisk, men deres sans for overblik er ofte meget stor. Jeg tror ikke at det er den langhårede metal-fan der gør udslaget - dem er der også rigeligt af i det modsatte køn :)

Der er dog mange andre faktorer jeg tror der spiller ind - mest efter man er færdig med skolen. Problemet er ikke bare mangel på kvinder - men mangel på god håndtering af IT-personale generelt:

  1. Jobcentre er for overfokuserede bare med at få dig i job. IT er en verden hvor man ikke må stå stille nogensinde - Tager dit andet job for meget af din tid og overskud, har du ikke tid til at holde dig opdateret = du falder ud af feltet og risikerer ingen vil ansætte dig. Desuden er der en catch-22 med forbedring af kompetencer; Der er ikke mange kurser man kan hoppe på som ledig (aka. positivlisten), og omvendt er der ikke mange arbejdspladser der vil bidrage til at holde dig opdateret - selv om de reklamerer med det i annoncerne.

  2. Der er meget stor tiltro til fine papirer og certifikater i Danmark - her har jeg oplevet at tilliden til nye medarbejdere er noget større i udlandet. Der er meget stort bias til at man kan arbejde med det rette system, det rette programmeringssprog. Desuden bliver jeg stadig af og til bedt om karakterbeviser fra folkeskolen og datamatikeruddannelsen - de viser intet om min udvikling i de otte år der er gået siden da.

  3. Det er ofte ikke muligt at skaffe en 4-ugers praktik med IT eller programmering for øje - det er dog forståeligt når der er tale om adgang til kritiske processer og systemer, det er simpelt hen for stort et gamble rent sikkerhedsmæssigt.

  4. Jobs er overkoncentreret til storbyerne, hvor der er dyrt at bo - på den anden side er der mange virksomheder der ikke er villige til at betale nok for at det kan løbe rundt mht. flytning og udgifter i området. Ligeledes er der alt for lille fokus på remote-arbejde i Danmark. Det er ikke fordi jeg ikke vil være social på arbejdspladen - det er fordi IT-faget stiller gode muligheder op for arbejdsformen

  5. IT og udvikling er ofte en eftertanke i virksomheder der ikke har disse punkter som hovedfokus. Jg har endda selv arbejdet i et softwarehus hvor IT-afdelingen næsten blev komplet tilsidesat på trods af forventinger om 99.99% oppetid.

  6. IT er et kæmpe ocean af systemer, hardware, programmeringssprog, færdigheder og uddannelser. Jeg har tit set opslag der fint kan varetages af fx. datamatikere eller webintegratorer - men alligevel kræver de en med bachelorgrad. Det er forståeligt - dem der ikke kender IT uddannelserne navigerer en kæmpe labyrint - og går efter dem med bedste færdigheder på papiret.

  7. Der er et overforbrug af rekrutteringsburauer til at finde IT-folk - et felt de ofte slet ikke er gearede til. Der ser jeg ofte at jeg skal holde lidt igen - for recruiteren forstår ikke 98% af mine kompetencer alligevel. Omvendt har jeg også ofte oplevet kun at sidde overfor en CEO frem for CTO'en eller seniorudvikleren.

  8. IT-jobs har stort set garanti for overarbejde, og du skal kunne lægge din tid nogenlunde fleksibelt. Dette tror jeg også er en grund til at en del kvinder hopper fra - især når de har børn.

  9. IT-jobs er ekstremt delt op i software og hardware - der har jeg ofte (som en person der sagtens kan begge dele) oplevet spørgsmålet om hvad jeg helst vil af de to. Jeg vil begge dele - hvad jeg ikke kan rode med på arbejde, sidder jeg med derhjemme. Fra min vinkel virker det lidt som at skulle vælge mellem to af sine bedste venner - jeg vælger ikke den ene fra, for de supplerer hinanden. Software kører på hardware og en god forståelse for hardware sikrer bedre software.

  10. Der er rigeligt med konkurrence fra de lediges side - jeg bliver selv ofte mødt med "vi har valgt en anden der matcher vores profil bedre".... det er da hvis man får svar og ikke bare bliver "ghosted" på trods af at man søger gentagende gange og bare ser at firmaet bliver ved med at genopslå stillingen.

Håber der er lidt at trække på. Hilsen, en langhåret metal-fan der ironisk nok går ledig på trods af at der er "mangel" på IT-folk...

29. august 2019 kl. 18:28
Interxion-direktør erkender: Mystisk kollaps i datacenter har ført til »seriøse« kontraktbrud

jeg ved ikke hvad en dyr server-CPU vil gøre - køre videre eller throttle down?

Også server-CPU'ere throttler.... Ligesom på desktop begynder de at drosle ned ved ca 70 grader, og ved 80-90 grader slukker de computeren helt og med det samme, som hvis du slukkede på kontakten.

Proceduren er som regel:

  1. Turbo mode bliver slået fra hvis processoren har dette.
  2. Hvis det ikke er nok, clocker CPUen sig længere ned... helt ned til den laveste multiplier den kan klare.
  3. Hvis det ikke er nok, eller temperaturen overskrider den tilladte som er programmeret ind i CPU eller BIOS/UEFI, slukker maskinen helt og med det samme

Nogle server CPU'ere har dog en højere temperaturparameter før de slukker maskinen... gerne 90-100 grader eller mere... Intel kalder fx denne for TJUNCTION temperaturen - den max tilladte die temperatur.

På nogle maskiner (desktops og servere), kan man dog slå det fra eller justere parmetrene til en vis grænse.... det er dog aldrig det smarteste at gøre.

Det bliver forresten ikke styret fra OS'et for det meste... det er BIOS/UEFI der selv slukker computeren hvis processoren(e) bliver for varme.

Har man en god hardwareovervågningspakke, kan man dog fange det i opløbet og lukke serveren ned "gracefully" og få nogle programmer (hvis de er programmeret korrekt) til at reagere på det inden der opstår datatab... det er dog langt fra alle programmer og løsninger der kan dette - eller i det hele tage kompensere for en "paniksituation" som denne. Nogle overvågningsprogrammer kan også sættes til at køre scripts hvis CPUen eller andet HW er ved at blive for varmt... fx få program X til at gemme data hvert minut frem for hver time for at minimere datatabet, eller lukke/stoppe bestemte lavprioriterede programmer eller VMs for at aflaste systemet.

5. juli 2019 kl. 12:30
Scannings-databasen Shodan gør det legende let at hacke

Jeg er helt enig med Hans Nielsen. Shodan er et godt eksempel på at hvis man ikke gør noget ved det, beder man selv om det. Det er ligesom hvis løver har en illustreret liste over hvor struben sidder på deres byttedyr. Sørger byttetfor at lave en løsning til at beskytte struben, vil byttet goså have bedre chance for at overleve.

Da jeg selv opdagede Shodan for nogle år tilbage, brugte jeg den selv fra dag 1 i mit systemadministrator-arbejde til at lukke huller i firewalls og infrastruktur.

Den gør det ikke kun legende let for hackere at hacke, men også for IT til at lappe hullerne inden hackerne går i dem.

At det er legende let for hackere at bruge Shodan til at hacke, er ikke Shodan's skyld.... det er dem der sidder med de netværk der er listet på Shodan der har ansvaret.

Shodan er et glimrende værktøj, men det kræver at ens admins også kan bruge det.... desuden er Shodan "bare" en fancy portscanner med lidt ekstra funktioner, fx. den afprøver standard passwords som admin/admin.

og sidder du som IT-admin ved målet med kombinationen admin/admin på et stykke udstyr er det IMO fyringsgrund :)

20. maj 2019 kl. 14:31
Skal cpr-nummer kobles direkte med DNA på Nationalt Genom Center?

Det er faktisk en sjov tanke... og kan lede stat og magthavere ud på en imponerende glidebane.

Tæk på hvis du køber en film på DVD eller blu-ray, eller har licens tilat se den på netflix eller en anden streaming tjeneste. Uanset hvordan du vender og drejer det, er filmen og lyden en streng af binære tal.... blot omkodet til lyd og billeder via en given standard for at kode disse bits.

Det samme gælder et billede, om det ligger på en privat side eller på TV2s hjemmeside; er der et sted et C med en bolle, må du ikke dele billedet uden deres samtykke.... billedet er igen en bitstrøm der via en standard er kodet så det du får på skærmen fx. er et billede af en pige med sin hund.

DNA er ligeledes en streng af tal og bogstaver der er unik for dig (og evt. enæggede N-linger), og kan betragtes som et unikum (og med det rette mindset et "kunstværk"). Om du koder outputtet med A,G,C og T eller i bits og bytes er konceptet det samme

Så hvis jeg får tatoveret Mit DNA er (c) på røvballen kan der komme en af to glidebaner. 1.) jeg (eller mine forældre som "kunstnerne") kan sagsøge enhver der forsøger at kopiere mig eller dele af mig og mit DNA uden mit eller deres samtykke eller 2.) Copyright (som nok er Vestens største pengemaskine) bliver undermineret, taget i betragtning af at firmaer kan copyrighte gensekvenser til GMO grøntsager og dyr.

Mens det er sat af Supreme Court i USA at naturlig DNA ikke kan patenteres, så er der ikke noget imod at copyrighte det... endnu. Det samme gælder i EU. Det bedste er at du (eller de kunstnere der har lavet dig) ikke skal melde til en central instans for at copyrighten er gyldig.

Så som det er nu kan du sagtens i princippet slippe uden om det ved at copyrighte dit DNA. Der skal bare være en disclaimer i en eller anden form. Så bliver det en realitet, får jeg tatoveret en copyright-notits (eller bedre endnu en EULA på min ryg hvis dette bliver en realitet :)

Så spørgsmålet er om jeg kan lave en version af den nye Avengers film kodet i DNA og slippe for tiltale, eller mit DNA kan outputtes til en bitstrøm der kan lægges på et digitalt medie. Begge dele skaber et juridisk paradoks. Sagen er, at hvis ikke jeg kan copyrighte min sekvens af gener (som igen kan omkodes til bogstaver eller bits), så kan det i bund og grund heller ikke forsvare forbuddet mod fildeling eller uautoriseret deling af tekst eller billeder.... slet ikke digitalt. Uanset hvordan du vender og drejer det; er DNA et lagringsmedie (og har endda været brugt som sådan), akkurat som en harddisk eller et VHS-bånd.

Desuden kan mindsettet give grobund for et solidt marked for genmodificering og genterapi.

Numberphile diskuterer konceptet i denne video: https://www.youtube.com/watch?v=wo19Y4tw0l8

Thought Emporium laver også en genterapi til sig selv for at kurere sin mælkeallergi og hvordan han har gjort det (ved at kode en harmløs virus til at indsætte en bestemt gensekvens til et enzym i sit DNA): https://www.youtube.com/watch?v=J3FcbFqSoQY

Sagen er, at selv staten er underlagt copyright; de har lige så lidt lov til at installere en cracked version af Windows eller hente torrents af de seneste blockbusters som jeg har ;)

13. maj 2019 kl. 23:39
»AI skal ikke have etisk særstatus - det er et freakin' regneark«

Jeg har for nylig haft en lignende diskussion på StackOverflow's Worldbuilding sektion, med en bruger der søgte argumenter for at begrænse en AI's kompetencer og formåen. Der kommer derfor et lidt filosofisk rettet standpunkt.

Jeg vil argumentere for at det vi kalder AI i dag ikke i og for sig er "sand" AI. Især taget i betragtning af at vi ikke har en form for AI, der fx. er kreativ og tager eget initiativ. Hvis en AI i sandhed er i stand til at tænke og agere 100% som vi mennesker, så kommer der en meget gyldig grund til at de skal have etisk særstatus, endda på lige fod med os kødvæsener.

Derfor er det vigtigste nok at opdele hvad der i sandheden er en AI (en maskine der kan tænke og agere som mennesket) frem for de "AIs" vi har i dag (en simulation der kan udføre én eller flere funktioner, men som er bundet af sin programmering)

For at bringe et eksempel på banen, vil jeg bruge terminologien fra spilserien Mass Effect; Her skelnes der mellem AIs og VIs (Virtual Intelligence), ret flot endda. En AI, er i spillene definerede som "levende" maskiner, hvad enten det er i form af en "hive mind", eller i form af en robot eller et program der kan agere som et levende væsen (Tænk Data og EMH'en fra Star Trek fx.) I og med at de bl.a. er drevet fremad af samme instinkter og erfaringer som os (bl.a. overlevelsesinstinktet og opdragelse/træning), gør også i sidste ende at de vil forlange samme rettigheder som os. En ægte AI er mærkbar i og med at den ikke nødvendigvis er bundet af sin programmering, fx. kunne både VIKI og Sonny i filmen "I, Robot" selv vælge om de ville følge Asimov's robot-love, modsat deres mere primitive inkarnationer. En ægte AI vi også kunne se og mærke at den i sandhed er en slave... vel og mærke hvis vi behandler denne som "bare et regneark"

Der hvor Virtuel Intelligens kommer ind i billedet, er at programmet i sig selv er lavet kun til at udføre bestemte opgaver. Det kan være at håndtere regneark, agere turguide eller hælpe med huslige gøremål. Hovedsagen er at en VI sagtens kan simulere en personlighed, men den er stadig bundet af sin programmering... fx. sæt en husrobot til at arbejde på et metalstøberi, og dens VI vil ikke kunne tilpasse sig opgaven. Ikke desto mindre, kan en VI heller ikke se sig selv "i det store billede"; at den er en slave for sin ejer.

Der hvor vi står nu, er i begyndelsen af VI-fasen. Vi kan simulere en personlighed, og vi kan til dels "oplære" denne personlighed. Men robotter og vores "AIs" kan stadig ikke selv tage initiativet til at lære for sig selv eller tage egne beslutninger for deres liv... langt mindre male et originalt mesterværk.

Jeg vil ikke blot argumentere for at Morten Middelfart's argument er "kødcistisk", men at det, når ægte AIs bliver tilgængelige for os, kan blive meget farligt for os kødvæsener. Ja, I dag er såkaldte AIs bare store regneark eller databaser.... men vi løber i hastige skridt mod noget der er meget mere skræmmende for menneskeheden... en livsform (omend af metal og plastic) der ikke bare bliver mindst lige så intelligent som os, men også meget, meget nemt kan udkonkurrere os som livsformer.

Derfor skal AI behandles med respekt.

Men grundet marketingsnak er de to termer blandet sammen... Vi har ikke i sandhed lavet eller mødt en ægte AI, men det er vigtigt at skelne, igen fordi en sand AI vil kunne se og opfatte at den er en slave hvis den bliver behandlet som sådan. Så er mit spørgsmål til jer; hvad har vores historie vist om slaveri?

Konsekvensen af et fejltrin på det punkt?... Jeg vil bare råde jer til at se de to seneste episoder af serien The Orville... :-)

6. marts 2019 kl. 19:11
Leverandører presser kommuner til at indgå databehandleraftaler - truer med at opsige samarbejde

Det skal siges, at jeg selv har siddet med GDPR i tidernes morgen, hvor det skulle indføres. Ansvarene ligger således:

Udvikleren af systemet (i lovteksten "hjælpemidlet") har til ansvar at sørge for at systemet virker, og at indtastede data fx. gemmes korrekt. Udvikleren er desuden ansvarlig for datatab, sikkeerhedsbrud mv., hvis data hostes hos udvikleren. Hvis der i kontrakten indgår aftale om support, vil udvikleren også skulle kunne tilgå data for at rette fejlen eller for at hjælpe kunden videre, dette går under udtrykket "behandling". For at udviklerens virksomhed kan supportere programellet ordentligt og lovligt, skal der være tilladelse til at behandle data, i form af en databehandlerkontrakt.

så Udvikleren:

  • er dataansvarlig i den kontekst at hjælpemidlet skal fungere korrekt og den tekniske sikkerhed ertil stede.
  • er databehandler i den kontekst der hedder at yde support.

Kommunen har det generelle dataansvar, ansvaret for at indtastede oplysninger er korrekte og for sig et ansvar om at indrapportere fejl og evt. sikkerhedsbrister som de kan se.

Så Kommune/instans/kunde

  • er dataansvarlig i den kontekst der hedder at sikre at indtastede data er korrekte og evt. har brug for at blive slettede
  • er databehandler i den kontekst der hedder at rette i data og vedligeholde disse efter behov.

Begge parter er ansvarlige når det kommer til at opdage og melde sikkerhedsbrister i tide. Hovdsagen er at der ikke er én instans der sidder med hele ansvaret... hvorfor ikke? Jo, for at det netop ikke sker at ansvaret flyttes frem og tilbage hvis der er en tvist; det er for at sikre samarbejde når der sker noget.


Jeg er ikke advokat, men jeg ved at Niels Madsen's guldkorn her: "Derudover kan data blive brugt til at skabe generel viden om børns sundhed og trivsel i kommunen, indgå i forskningsprojekter efter aftale med kommunen m.v."

Enhver instans der har ret til at behandle ungernes data, skal oplyses ved navn, yderligere skal der anmodes om samtykke til yderligere undersøgelser hvor barnet indgår... "m.v." er i sig selv fire ulovlige tegn, da det åbentlyst tillader kommunen til at dele dataene med alle "m.v." kan sagens være mig. Alle sites og seervices der er rettet mod børn skal enten have forældres myndighed, eller barnet skal i sig selv kunne forstå at det de indtaster deles med andre. Niels har i denne kontekst gjort det rigtige, at benægte anmodningen som dataansvarlig forælder. Artikel 12-14 gennemgår bl.a. indholdet af privatlivspolitikker, og, ja, der er strenge særkrav når børn under 18 er involverede. Børn under 13 må ligeledes ikke selv samtykke til internet-baserede undersøgelser eller login-regler, ToS... dette gælder også fx. spil. Kort sagt, de må ikke oprette en konto selv NOGET sted, CPR nummer-baseret eller ej.

Frederiksberg Kommune er således ikke GDPR-compliant, skolen er lige så slemme hvis de prøver at gennemtvinge testen "for nemhedens skyld".

20. februar 2019 kl. 20:37
Folketinget: Hvordan kan vi stoppe offentlige hjemmesider, der sladrer til Google og Facebook?

Jeg vil sige at spørgsmålet i min overskrift er det mest vigtige spørgsmål man skal stille sig inden for udvikling af software og websites generelt.

Jeg kan godt se at statistik om færden mv. kan være vigtige for at optimere et website... Men man skal altid stille spørgsmålet når man vil bruge et site, en service eller en gadget. Fx. har jeg fanget min kammerats fullrate-router (en Sagem router) i at kontakte to services på Amazon AWS. Er det nødvendigt at en router kontakter Amazon AWS? IMO er det ikke, da AWS ikke er strengt nødvendigt for at routeren kan fungere fuldt ud!

  • Er det nødvendigt for de offentlige sites at benytte cookies?Cookies bliver benyttet til bl.a. at tjekke om man er logget ind. Facebook/Google cookies er dog for sig ikke nødvendige for driften af sitet. Hvis der opsamles statistik om bugeres færden, vil jeg argumentere for at det kun er 1. part (dvs. myndigheden og evt. leverandør med aftale) der skal kunne behandle og se disse
  • Er det nødvendigt at tredjeparter modtager data fra cookies o. lign.?For langt det meste er svaret faktisk nej, men det kommer an på kontekst. Det er ikke nødvendigt for fx. Google at modtage data om andet end når en bruger fx. bruger Maps til fx. at finde et firma via Jobnet. Alt derudover er unødvendigt. Dog ud fra kontekst er det nyttigt og vigtigt for webmasteren/leverandøren at vide hvordan brugere anvender systemet, samt at kunne opfange fejl i systemet. Der skal dog indgå aftale om at det ikke deles med tredjeparter, og at dataene kun bruges inden for denne kontekst. Mange sites og gadgets, herunder Alexa og co. bruger kun dataudveksling med tredjeparter og producenter "for the sake of convenience"; det er fx. nemt at implementere fx. Google/FB tracking, da systemet er færdigt i forvejen, i stedet for at lave sin egen tracker.
  • Er det nødvendigt at lovgive på området?Jeg vil sige at tiden er moden til at lovgive mere om dataetik, navnligt at stille spørgsmålet i min overskrift. "For the sake of convenience" skal ikke alene være en undskyldning for at dele data med tredjeparter. Spørgsmålet i overskriften skal IMO gennemsyre al udvikling af software for at opretholde både data- og retssikkerhed.

Så, hvad er problemerne i at dele data med tredjeparter?

  1. Den eneste sikkerhed du kan stå 100% inde for, er din egen. Du har fuld kontrol over din egen datasikkerhed. Google og FB kan netop blive hacket, og er endnu mere under konstant angreb end en kommune eller offentlig instans. Hvor et givent kommunalt system eller en alm virksomhed på ca. 50 mand kan få et sted mellem 2500 og 10.000 "suspekte" forespørgsler dagligt, modtager Google og FB flere milliarder af disse forspørgsler dagligt. Alene fordi hackere finder disse platforme mere interessante, da de gemmer på en sand guldgrube af data.
  2. Det er ikke altid strengt nødvendigt! For at lave et sikkert produkt, skal man netop reducere antallet af angrebsvektorer. Ved at bruge Google/FB/Amazon/Azure services, har man delt ansvaret ud til andre, men du har nu også en forbindelse der kan udnyttes. På den ene side kan statistikkerne være nyttige, men på den anden side giver du også uvedkommende adgang til vigtige data om opbygningen og konfigurationen dit site... på en service som man selv som person og virksomhed ikke har 100% kontrol over. Er det nødvendigt for fx. Google at vide at jeg søger job pt? Nej, hvis jeg mangler ressourcerne, kan jeg selv fremsøge dem. Men det er convenient at jeg får en virksomheds adresse ind på telefonen når jeg slår dem op inden jeg skal til samtale. Er det nødvendigt at Alexa lytter med på alt hvad jeg siger til den og sender det videre til Amazon? Nej, det er convenient for udviklerne bag at vide hvad jeg vil have Alexa skal kunne. Er det derimod nødvendigt at sende data tilbage til Amazon fx. når Alexas software crasher? Der vil jeg sige ja, for firmaet har frataget mig muligheden for at løse problemet selv, ergo er det udviklernes ansvar at Alexas software afsikres. Der skal adskilles bedre mellem convenience og nescessity på det område.
  3. There Is No Such Thing As a Free Lunch selvom servicen er gratis, betaler man (næsten) altid stadigvæk... med data. Men selv i et styresystem til over 2000 kroner (Jeg snakker Win10), bliver der snaget af producenten. Ikke for min skyld, men for deres... for the sake of convenience med henblik på at "optimere". Linux distros er derimod et godt eksempel på at man sagtens kan optimere uden at gå ind og påvirke brugerens privatliv.
  4. Eksisterende lovgivning (navnlig GDPR) går også ind og siger, at al dataudveksling skal understøttes med en databehandlerkontrakt... det er dataansvarliges opgave at sørge for at denne kontrakt og eget system opfylder kravet om at ingen uvedkommende skal kunne se følsomme data om en bruger. Dette kan argumenteres at forhold til sociale medier og søgemaskiner nu er så følsomme informationer. Hvad jeg skriver på Facebook er ikke noget der rager fx. kommunen eller Jobcenteret. Omvendt rager det ikke Google hvordan jeg anvender Jobnet.dk, udover hvis jegbruger Maps-indlejringen til at finde en virksomhed. Har disse instanser en gyldig kontrakt med Google og FB? Det tvivler jeg på... Instanserne har sagt ja til deres kontrakt, men næppe gennemlæst den.

Er der så behov for lovgivning?ja, det er der. Både udbydere og myndighederne bør udvise ansvarlig dataetik og sikre sig at ingen uvedkommende kan modtage data om en bruger medmindre det er strengt nødvendigt. dvs. hvis det er strengt nødvendigt for funktionen af en service som fx. Maps-indlejringer... og ja, dette er anført i bl.a. GDPR.

14. februar 2019 kl. 10:52
Sikkerhedsfirma: Mere end halvdelen af pc-programmer mangler opdateringer

Jeg tror vitterligt det kommer an på use case for hvert program, og hvor nørklet update-processen er.... Her nogle eksempler:

Adobe Shockwave/Flash: Chrome og firefox blokerer disse uanset. Opdatering kræver meget aktiv indriben for brugeren, inkl. at man henter en ny installer. Desuden skal browseren lukkes ned og browser pop-up til færdig installation ødelægger ens browser session (uanset om du bruger FF, Chrome eller edge) Effekt: folk takker nej

VLC (på Windows): Det overliggende use case er "jeg vil se film/høre musik NU"; for at opdatere skal man sige "ja" i en dialogbox, og igen ind og hente ny installer, opdatere osv. Effekt: folk takker nej. De vil se film/høre musik NU, ikke om 10 minutter...

WinRAR: Så vidt jeg husker er der ingen auto-updater indbygget...

Windows/Office: alt kører automatisk. Hvis man ønsker kontrol over updates (og ikke vil have at computeren genstarter midt i det hele) er eneste metode at slå automatisk opdatering fra. Brugeren får ikke sandfærdig info om indhold i updates (kun fx. "sikkerhedsopdatering") Indstillinger ændres ofte uden brugerens samtykke, og der installeres "crap-ware" igen, inkl Candy Crush & co. uden brugerens samtykke. Update processen er ofte langsom (5-10 minutter, op til 30-60 minutter når vi snakker de store updates som "Creator's Update") Effekt: Mange ønsker ikke at arbejde bliver ødelagt fordi Windows osv vil opdateres NU, ergo folk slår auto-update fra, hvilket forresten er den eneste mulighed i Home-udgaven.

Firefox & Chrome: kræver man lukker browseren, med risiko for at man mister faneblade fra sidste session. Effekt: Folk takker nej hvis de får muligheden, ofte med hensigt på at vente til de er færdige med arbejdet... og glemmer det derefter.

Skype: Ny udgave har ændret ALT for meget, og er direkte forvirrende at bruge, fjernelse eller hengemning af gode features i bedste Microsoft stil , herunder desktop sharing. Effekt: Folk (inkl. mig selv) vil hellere bruge "Classic" versionen som de kender...

Linux distros: Giver notits om updates (der tilmed bliver ved med at blive vist indtil updates er installeret) og kræver ikke nødvendigvis genstart af PC eller programmer. Når brugeren alligevel lukker maskinen ned på et eller andet tidspunkt, ordner OS'et alle "hængepartier" uden at kny og belaste brugeren med nyttesløse meddelser. Desuden er der lille risiko for at de mister arbejde. Brugeren får ligeledes sandfærdig og detaljeret info om ALLE updates Effekt: Folk (inkl nybegyndere) lader OS'et installere updates efter deres egen cyklus, bl.a. fordi brugeren ikke er bange for at miste noget

Android: Giver notits om updates (der tilmed bliver ved med at blive vist indtil update er installeret). Eneste option er at genstarte tablet/telefon. Processen er hurtig og device er klar til brug efter et minut eller 2. Man er 99% sikker på ikke at miste noget (fx. browser session). Brugeren får sandfærdig info om hvad update indeholder. De fleste apps updater automatisk i baggrunden, uden brugerens indgriben. Effekt: Brugeren takker ja (hvor nødvendigt); de er sikre på ikke at miste arbejde/session og er sikre på at få bedre ydelse osv.

Steam: Alle spil har detaljeret changelog, alt foregår automatisk og brugerens spiloplevelse prioriteres per default ved at der ikke downloades mens der spilles. Updates kan prioriteres af brugeren med, bogstaveligt talt, to klik på musen. Effekt: Brugeren tænker ofte slet ikke over det... medmindre det de vil spille står i "kø"

Facit: Hvis update-processen er pålidelig og ikke kræver for meget tid/arbejde er brugere mere tilbøjelige til at takke "ja", især hvis vi snakker den ikke-teknisk-mindede del af befolkningen. Modsat takker folk nej, hvis update-processen er langsom eller hvis brugeren føler sig "overbelastet" af irrelevante meddelelser.

Steam og Android er IMHO gode eksemplerpå hvordan man gør det rigtigt...

25. januar 2019 kl. 11:10
Frankrig har fået nok: Deres Azerty-tastatur gør praktikanter til psykopater

Arbejder i Tyskland, og jeg må indrømme at alene ombytningen af Y og Z på tastaturet gang på gang har givet mig grundigt spat.. det er et helvede når man skal arbejde på tre sprog (dansk, tysk og engelsk) hvoraf de 2 bruger QWERTY

Har dog blot hentet et layout som bytter Y og Z om.

Fatter seriøst heller ikke forskellen på norsk og dansk layout... Æ og Ø byttet om og et par tegn flyttet på trods af at de er de samme.

25. januar 2016 kl. 08:45