Moderne Software

januar 4, 2009

Et eller andet sted er jeg nok lidt en atypisk datalog og nørd, jeg gider ikke gadget, spil som oftes kedelige og jeg er ikke dybt facineret af alt ny teknologi og software, nærmest lidt skuffet.

Jeg kan faktisk godt forstå at langt de fleste mennesker enten ikke gider eller ikke forstår deres computer, jeg forstår den heller ikke. I løbet af de sidste 20 – 30 år har vi ikke rigtigt flyttet os specielt langt, oftes benytter vi en eller anden form for tekstbehandling eller database applikation, så man skulle jo egentligt tro at vi var blevet bedre til det, men nej.

Ud over at vi nu kan sætte billeder ind i vores dokumenter, hvilket de flest nu heller ikke så ofte benytter sig af, hvad er det så lige vi har fået i de sidste mange versioner af Word og andre lignende programmer? Wordperfect 5 kunne lave afsnit, vise tekst på skærmen, man kunne printe og en masse andre fine ting. Hvorfor stoppede vi ikke ved Wordperfect og begyndte at kigge på nye ting, de resterende features er faktisk ikke noget man specielt ofte har brug for og de fleste kan alligevel ikke finde ud af at bruge dem, eller ved ikke at de er der og savner dem derfor ikke.

Wordperfect 5.1

Generelt tror jeg at langt flere mennesker ville være tryg ved deres computer og have mere glæde af den, hvis vi var stoppet omkring Wordperfect 5. Måske man skulle skrive et tekst behandlings program der kun lige havde de features som de fleste mennesker har behov for… Gad vide om det kunne sælges?

Ud og tekst behandling, så er det meste moderne software dybest set ikke meget andet en database frontends. Vi putter noget data ned i en stor boks i kældere og så hiver vi det frem igen senere. Ind i mellem kræves der en smule beregningsarbejde på vores data, men som oftes kan vi bede databasen gøre det, inden vi henter den retur, det er typisk blot et spørgsmål om hvor intelligent vi var var da vi oprindelig gemte dataen. Hvorfor er det at vi stadig har svært ved at lave software til administration af data? Vi har gjort det siden 60′erne, der burde ikke være mange overraskelser tilbage.

Vores software har flere knapper end nogensinde, det er skinnende, har 3D grafer, koster en bondegård, kræver mere CPU tid og lager plads end IBM i deres vildste fantasi kunne forestille sig, men der er flere fejl end nogensinde, mange af dem må man bare leve med, andre kan en leverandør rette for en mindre million og vi har egentligt ikke få løst nogle nye problemer.

De få positive eksempler jeg kan komme på at vejrudsigterne, det er blevet lidt billigere at lave dem og de er nu en smule mere præcise. Google søger lyn hurtigt igennem en internet der er ubegribeligt stort. Bort set fra det, så sidder vi stadig og så holde styr på folk penge, forsikringer og telefonregninger, præcis som for 20 år siden, men vi er ikke blevet meget bedre til det.

Måske et hint

december 18, 2008

Samlet set virker det som om at tidligere tiders dataloger og software udviklere har et svar på de fleste situationer i mit liv. 

If you think your management doesn’t know what it’s doing or that your organisation turns out low-quality software crap that embarrasses you, then leave - Edward Yourdon

Lige nu er jeg i øvrigt i gang med at læse bogen “De ti bud om fiasko i forretningslivet”. Det er en facinerende lille bog der hjælper dig til at køre en virksomhed i sænk. Ideen er selvfølgelig at man skal bruge de “gode” råd til at finde evt. fejl i ens egen virksomhed. Bogen har dejlige eksempler på hvordan virksomheder rent faktisk har fejlet pga. fuldstædigt tåbelige og indlysende fejl. For en person som mig der er mere eller mindre besat af at forstå andre menneskers idiotiske beslutninger er det en yderst interessant bog. 

Virtualisering er IKKE cool

december 14, 2008

For selvom vi nok alle synes, virtualisering er cool, må vi jo nok erkende at grunden til, at man i hele verden pumper penge i at ligge sin IT om til en virtuel, og der igennem mere fleksibel, infrastruktur så er det jo .. for at spare. Spare på CO2, Spare strøm. http://www.version2.dk/artikel/9360-server-virtualisering-skal-den-vaere-groen-eller-blaa

Personligt er jeg meget lidt fan af virtualisering, det er en interessant teknologi, som helt klart har en anvendelse, men slet ikke i den grad som man forsøger at sælge det i dag.

Hvor meget spare man f.eks. hvis man har 50 virtuelle servere, fremfor 10 alm? Der bliver flere og flere servere der skal administreres, fordi man rask væk opretter en dedikeret server til en eller anden lille applikation, den er jo gratis, den er virtuel. Skal de virtuelle servere ikke administreres, skal der ikke laves backup osv?

Selvfølgelig spare vi lidt størm, fordi vi kan køre flere servere på den samme hardware, men samtidig indkøber vi langt større servere. der bruger mere strøm for at dække et evt. fremtidigt behov.

Virtualisering er en fin teknik at have i baghånd, men det er altså ikke løsningen på alt og i et eller andet omfang føler jeg at det komplicere altid at der nødvendigvis skal virtualiseres over alt.

Angående sikkerhed, som ofte anvendes som et argument for virtualisering og seperation af applikationer på selvstædige virtuelle servere, så er jeg faktisk meget enig med OpenBSDs Theo de Raadt, selv om jeg nok ville have formuleret det anderledes, når han udtaler:

You are absolutely deluded, if not stupid, if you think that a worldwide collection of software engineers who can’t write operating systems or applications without security holes, can then turn around and suddenly write virtualization layers without security holes. http://marc.info/?l=openbsd-misc&m=119318909016582&w=2

MythTV setup

december 10, 2008

Da jeg har planer om at flytte lidt rundt på mine ting på diverse domainer, har jeg valgt at flytte min MythTV guide/beskrivelse her over, så jeg forhåbentligt kan få dugg.dk frigivet til et par andre projekter.

Hardwaren:

    * Via EPIA EN15000G - Et mini-itx bundkort med en 
      1.5GHz Via C7 processor.
    * WinTV-PVR-150 MCE - Hauppauges billigste 
      analoge TV tuner kort, men med hardware 
      accelereret mpeg encoding.
    * Silverstone LC09 - Pænt lille mini-itx media- 
      center kabinet, med en 60W strømforsyning.

Software:

    * MythDora - Fedora baseret MythTV distrobution.
    * Ubuntu - Standard installation.

Jeg løb ind i problemer og besvær med at få den nyeste MythDora til at fungere som jeg ville have, så jeg valgte i stedet at installerer Ubuntu. Dette har vist sig at være en rigtig god ide, det tager lidt længere tid at få alle pakkerne installeret, men tilgengæld har jeg fået et bedre system. Jeg har lige pludselig let adgang til f.eks. sensor overvågning, noget jeg savnede da min boks bliver lidt varm. Samtidigt har jeg fået en bedre forståelse for præcis hvordan MythTV fungere, og da jeg kender Debian bedre end Fedora, så letter det administrationen en del.

Efter at have studeret MythTV og mini-itx kombinationen lidt på internettet, valgte jeg, på trods af advarslerne at jeg ville benytte VGA stikket på mit Samsung TV, fremfor at rode med komposit signal fra enten TV tuner kortet eller bundkortet. Dette resulterede i at jeg, som lovet blev straffet da jeg ville installere MythBuntu, ingen X og dermed ingen installation. Overbevist om at dette måtte være et problem, relateret til MythBuntu hentede jeg KnoppMyth, samme resultat. Diverse forumer advare om at de forskellige Linux installationer, i kombination med Vias EPIA systemer, ikke automatisk kan finde den rigtige opløsning til skærmen, hvilket var præcis hvad jeg oplevede. En kollega havde løst problemet ved at bruge komposit udgangen på bundkortet, dette fungerede heller ikke for mig. I gamle dage, da jeg første gang legede med Linux, der havde vi ikke den slags problemer, vi installerede i konsol-mode, ikke alt det grafiske pjat, men det er jo nok desværre det de unge vil have. Min plan blev derfor at installere Debian og derefter installere MythTV fra apt. Inden da, besluttede jeg dog at give MythDora en chance. MythDora har en lille fordel som MythBuntu og KnoppMyth ikke har, OpenChrome driverne til Via grafikkortet følger med. Efter ca. en halv time var MythDora installeret og klar til at konfigurere MythTV.

MythTV mangler lidt i brugervenlighed under konfigurationen, noget tyder på at det er bedre hvis man sidder i USA, men det gør jeg altså ikke. Fjernbetjeningen var nemt, jeg bytter den der følger med mit TV tuner kort, en standard USB2/IR Microsoft Media Center fjernbetjening, man vælger fjernbetjeningen har en menu og færdig. TV tuner kortet er kendt for bare at virke med MythTV, så det medførte ingen problemer. Derefter kommer en masse menuer, med informationer jeg ikke ved hvad er, program guide sprang jeg over, da jeg som nævnt ikke sidder i USA og derfor skal klare den detalje manuelt senere. Det eneste jeg gjorde yderligere var at bede MythTV om automatisk at skanne antennesignalet igennem for kanaler. Nu er det så muligt at se TV, pause live TV, og afspille diverse media filer, glimrende.

For at få en program guide i en ordentlig kvalitet, har jeg valgt at betale OnTV 89kr,- for et års adgang til et XMLTV abonnement. Det slog mig som værende nemmere og mere stabilt end at slås med et script det snupper program oplysninger ved at parse en eller anden hjemmeside og langt hurtigere end f.eks. TDC tv grapper scriptet, som jeg ellers blev anbefalet.

Download af programguide:

wget -O ontv.xml <URI til DIN ontv programguide>
mythfilldatabase --file 1 ontv.xml

Her efter benyttede jeg MythTVs webinterface til at associere kanalerne med de korrekte id’er fra XMLTV filen. På længere sigt skal jeg have lavet et lille script der henter XMLTV filen en gang dagligt og loader den ind i MythTV, så jeg slipper for at gøre det manuelt, men det er en mindre opgave.

Det eneste problem jeg nu står med er at der desværre bliver meget lunt i det lille SilverStone kabinet, faktisk så varmt at maskinen bliver ustabil. Jeg håber at kunne løse problemet med en eller to små blæsere monteret over ventilationshullerne ved processoren. Indtil videre må jeg leve med at der ikke er låg på kabinettet.

Man skal da have kanal ikoner, så man bedre kan se hvor man zapper hen. Desværre kunne jeg ikke lige finde nogen der havde lavet arbejdet for mig, så jeg måtte lave en dansk iconmap.xml fil. Jeg har inkluderet følgende kanaler, men det er let at tilføje flere:

    * DR1
    * DR2
    * TV2
    * TV2 Zulu
    * TV2 Charlie
    * TV3
    * 3 Plus
    * National Geographic Channel

Husk at rette “callsign” tagget for de enkelte kanaler til hvad du selv har angivet som kortnavn for hver kanal.

Du kan hente filen her: iconmap.xml

Import kommando til MythTV:

mythfilldatabase --import-icon-map --update-icon-map

Selv tak.

For loop trick in Python

december 3, 2008

More languages should have this Python feature:

for i, x in enumerate(a):
    print "object at index ", i, " is ", x

Very often we need both the item in an array and its index, but no, most language require us to either use for loop and get the item by array[index] or implement a counter as the following

i = 0
for x in a:
    print "object at index ", i, " is ", x
    i = i + 1

I like Python.

As a software developer I can only agree with Mr. Wirth in the following observation.

Increasingly, people seem to misinterpret complexity as sophistication, which is baffling — the incomprehensible should cause suspicion rather than admiration. Possibly this trend results from a mistaken belief that using a somewhat mysterious device confers an aura of power on the user.

– Niklaus Wirth

LaTex i dansk erhversliv

november 28, 2008

Jeg sad og læse en lille artikel i Ingeniøren: “LaTeX hitter blandt studerende. Da jeg selv læse datalogi skrev vi også vores rapporter i LaTeX, det var simplethen det letteste, især fordi hverken ingeniører eller dataloger er mennesker der har meget sans for dokument opsætning.

Artiklen i Ingeniøren afsluttes meget passende, og efter min mening korrekt, med sætningen: “I dag skriver næsten alle de studerende i LaTeX. Det kan ikke betale sig at lade være”. Artiklen fremhæver også at LaTeX og version styringsværktøjer generelt spiller rigtigt godt sammen, fra artiklen: “Samtidig åbner det muligheden for brug af versionsstyrring”. Her taler vi ikke versionsstyring på SharePoints børnehave nivaue, vi taler rigtig versionsstyring som vi kender det fra vores kode.

Generelt er LaTeX et rigtigt dejligt værktøj, der passer godt ind i den tanke gang ingeniører og dataloger generelt har, men det rejser så et interessant spørgsmål: Hvorfor undgår mange virksomheder LaTeX som var det et betændt hængebugsvin? Microsofts Word er dominerende, det forventes at man kan tekstbehandling, det er underforstået at det er i Word.

Jeg bad for et par måneder siden min chef om et grundkursus i Word, efter at programmet for 117 gang i løbet af 5 minuter havde gjort ting jeg ikke forstod, det blev interessant nok afvist. Jeg må heller ikke skrive i LaTeX, vi bruger SharePoint og Word. Generelt betyder det at vi får dårligt strukturede dokumenter, der er lidt ubehjælpeligt formaterede, fordi mange reelt set ikke interessere sig for det, og den del kan som jeg ikke helt regne Word ud.

Word filer er dybest set binære klumper, eller meget avanceret XML og det egner sig derfor ikke rigtigt til en tur igennem CVS, SVN eller Git. Heldigvis har Microsoft SharePoint og kan styre Word filerne for os og forhindre at vi mister kontrollen over hvem der retter hvad, desværre er det lidt lav teknisk. SharePoint kan låse en fil mens jeg redigere den, så er der i hvert fald ikke andre der overskriver mine ændringer og vi slipper for at skulle lege med diff og merge og den slags. Jeg har nu sjælent haft problemer med konflikter i LaTeX, mest fordi dokumentet er opdelt i så mange filer at det er meget sjælent at to personer redigere i den samme fil på en gang. SharePoint løsning forhindre effektivt at to personer arbejder sammen om et dokument, jeg ser ikke “Jeg skriver lidt, så skriver du lidt” -processen som værende samarbejde.

Hvad skal der til for at overtale cheferne til at LaTeX faktisk er mere produktivt end Word, bedre for samarbejdet og som en lille bonus, via versionsstyring, yder større sporbarhed i dokumenterne. Især det med sporbarhed burde hold advokaterne i SOX- compliant virksomheder glade.

De studerende vælger det bedste værktøj til opgave, når de så kommer ud på arbejdsmarkedet risikere de at virksomhederne bomber deres arbejdsprocesser tilbage til stenalderen med utidssvarende software. Det tragiske er naturligvis at LaTeX er fra starten af firserne, før Microsoft overhovedet havde overvejet Word. Skal vi virkelig give Microsoft 20 år mere og så se om de kan tilbyde alle LaTeXs fordel, eller skal vi bare overlade Word til sekretærene med det samme?

Unix design explained

november 12, 2008

“Unix has traditionally attracted the most talented computer users and programmers, for whom working on Unix was a labor of love. One reason Unix is so wonderful is that most of it was designed before the men in suits sat up and took notice. Perhaps you have wondered why Unix works so well and why it is so elegant: it is because the basic Unix philosophy was developed long before the business and marketing people started to make money from it.” 

— The Unix Companion (page 687)

Unix I miss you

november 11, 2008

A few weeks ago I removed the DRM from my iTunes music collection, but I did’t really do anything else about it. Now I want to move my DRM free music somewhere else (the .m4a files), but not the .m4p file. Of cause I didn’t want to manually find every single .m4a fil, that would take to long. Solution: Install Cygwin on the WinXP VmWare installation.

Now that I have my Unix tool chest, I miss Unix, all I need to do is find the right tool for the job. I want to find a bunch of files so… I’ll use “find”.

The following command will find all my .m4a files:
find -name "*.m4a"

Good, now we have a list of files. I want to move all these file to an identical directory structure somewhere else, for this I need to get the directory part of the find result and create that directory elsewhere and move the file to that location afterwards.


find -name *.m4a -fprintf move.sh 'mkdir -p /music/%h && mv %h/%f /music/%h/\n'

This will make find create a small script for me. The -fprint option will write the output to a file, I called it move.sh. The part after the move.sh tells find how to format the output. The %h tells find that I want the directory part of the result here, and %f is the filename.

The “mkdir -p” is something that many doesn’t know about, but what it does is to recursively create a file path. This means that we can create /foo/bar/zoo in a one-line, rather than first create /foo, the /foo/bar and lastly /foo/bar/zoo. Of cause mv just moves the file, the & tells bash online to run the mv command if the previous command was successful, mkdir managed to create the directory.

Lastly I just need to run:
bash move.sh
to move all my files.

Aaah, a nice bit of Unix loving in a world of to much Windows.

Aaaargh Word

oktober 28, 2008

Hvorfor insistere min arbejdsgiver på at bruge Word? Jeg forstår ikke det program, hvorfor er andre folksrettelser over alt, hvordan felter jeg to dokumenter sammen. Jeg kan ikke findes ud af at rette skabelonen for 30 dokumenter samtidigt.

Hvorfor forventer folk at man automatisk kan bruge Word? Er jeg virkelig den eneste der ikke kan finde ud af alle de mange (og mærkelige features).

Microsoft Word, verdens mest debile software, det kan alt, men ikke nemt og aldrig det jeg vil.

Follow

Get every new post delivered to your Inbox.