UDB

Alle ved hvad EDB er, UDB derimod er "Unødvendig DataBehandling", (Hat-tip: Per Lieberkind)

Såsom f.eks at tegne en te-potte med javascript.

Hvad er dit bedste UDB hack ?

phk

Poul-Henning Kamps billede
Poul-Henning er selvstændig systemprogrammør, kernekoder, Varnish-forfatter, data-arkæolog og brokkehoved uden særlig portefølje.

Kommentarer (34)

Torben Mogensen

Jeg har kodet beregning af ATAN2 funktionen i LaTeX. Formålet var at kunne tegne arbitrære linjestykker i LaTeX's picture environment. Det hører under UDB, da man med PS-tricks pakken kan lave vilkårlige linjestykker og bezierkurver med PostScript primitiver.

Lars Tørnes Hansen

Det projekt som jeg pt husker klarest hvor der forekom en del UDB var et 4. semester projekt hvor vi skulle styre en fysisk robot med et IDE vi også selv skulle lave efter nærmere specifikationer. IDEet skulle f.eks. også kunne køre et program, og gentage det i en uendelighed (tænk automatik i industrien).

Alt skulle absolut hentes og gemmes fra en database var flertallet i gruppen enige om meget tidligt i projektet.
Det blev også besluttet at lave et domæne specifikt programmeringssprog til formålet, som jeg fik til opgave at designe og implementere.

Nu kommer så UDBen.

Det mest idiotiske programmet lavede var at der blev hentet et program fra en database via mange midlertidige tabeller. Data i tabellerne blev lavet om til 1 eneste tekststreng - her kunne man så have brugt noget så simpelt som en fil. Her fra blev teksten sendt ind i vores fortolker, hvor teksten bliver opdelt i tokens af den leksikalske analysator og derefter tog den syntax styrede LL(1) parser over.

Til sidst i projektforløbet var alle i gruppen enige om at databasen med fordel kunne klippes ud af programmet, hvorved programmet ville blive meget mindre komplekst, og meget mindre i SLOCs.

Vi fik i øvrigt alle sammen en 10'er (ny karakterskala) for den præstation.

Rudi Bjørn Rasmussen

I 80‘erne sad jeg med en disassembler og fandt det sted hvor Leisure Suit Larry stillede åndsvage spørgsmål for at man fik lov at starte spillet, og satte en jump ind der startede op med det samme.
Først mange år senere da jeg fortalte det til en af mine venner, fandt jeg ud af at der stod i manualen at man bare skulle trykke Alt+x for at komme videre.

Casper Bang

Nu skal man så også lige huske på, at både Beckman og Meijer er ansat hos Microsoft Research til at lege med sprog/matematik/fysik, og bidrog betydeligt i forbindelse med LINQ, Reactive Framework etc. i C#.

Det simpleste og mest optimale UDB, må nok være følgende x86 assembly: jmp $

Bjarke Walling

Jeg var med i en slags konkurrence på OSDev om at lave det fedeste x86 bootsector program (BIOS-kald tilladt). Jeg prøvede at lave en LISP-fortolker, men den blev ikke helt god. En anden rickrollede os alle sammen ved at indkode den kendte melodi og afspiller på 512 bytes. :-)

Lars Lundin

Hvis man bliver en bedre programmør af sin UDB, så er det måske ikke helt UDB.

Jeg blev f.eks. dus med cachegrind og de forbedringer den i almindelighed kan hjælpe til, mens jeg rodede med mit program til at finde primtal.

Første version blev iøvrigt skrevet i min tid under selvsamme Lieberkind.

Peter Makholm

Jeg er ikke sikker på at jeg deler din opfattelse af hvad der er unødvendig databehandling.

Det er korrekt at det at tegne en velkendt tepotte i sig selv ikke tilfører samfundet værdi. Men når man skal bevise at en bestemt teknologi kan anvendes inden for et givet område er det rart med nogle velkendte standard-eksempler. Det giver bedre mulighed for at sammenligne forskellige typer løsninger. Og nu er lige præcis den tepotte jo et af standardeksemplerne inden for computergrafik. Andre standardeksempler er primtal eller oversættere skrevet i sproget selv.

Så det er efter min mening ikke 'at tegne en tepotte' der er UDB. At det kan gøres i ren Javascript/HTML/CSS når vi har alternativer som SVG, WebGL og Canvas (HTML5) er måske det interessante spørgsmål. Det kunne eventuelt være brugbart at kunne emulere HTML5's canvas element med ældre systemer istedet at måske skulle tvinges til at bruge næsten-canvas?

Næhhh, unødvendig databehandling, det er når man involverer banksektoren i at indskrive børn til vuggestuepladser.

Kasper Henriksen

Og så alligevel ikke. Fordi pdfTeX og luaTeX understøtter ikke PostScript, så TikZ/pgf har været nødt til at implementere en masse ting i ren TeX for at få deres tegne- og matematikpakker til at fungere i den mest populære TeX-engine. Prøv at åbne TikZ/pgf manualen (f.eks. ved at køre `texdoc pgf') og søg på atan2 eller log10.

Peter Hansen

Da jeg havde datalogi på HF var et af blokkene at lære grundlæggende programmeringselementer vha turtletalk, lave et program og en rapport over forløb og program. Jeg programmerede turtletalk til at fungere som en grafisk regnemaskine, til og med tredjegradligninger.

Marianne Rosenkvist

Nej Jesper

Det hedder ikke Unødvendig DataBehandling

Det hedder SDB. S som i Skadelig, skødesløs, skammelig, Socialdemokratisk, SF'sk, Sjuftet, Sejlende, Sæbeoperask, Skrækkelig...

(Note: læs gerne, som var det Egon Olsen, der skældte!)

Klaus Elmquist Nielsen

Det er da vist især en radikal ide - men de 2 andre kan også se deres fordele ved at industrial-scale valgsvindel bliver mulig


Sådan er det jo når man mener at man er bedre til at sammensætte folketinget end vælgerne er!

Interessant nok sker dette efter aftale (forhandlinger/partidisciplin) og i forening (flertal stemmer for). Hvad er det lige man kalder den slags!?

Log ind eller opret en konto for at skrive kommentarer

IT Businesses