Posts Tagged ‘boganmeldelse’

The Cathedral & the Bazaar cover

The Cathedral & the Bazaar cover


The Cathedral & the Bazaar – Musing on Linux and Open Source by an accidental revolutionary.
Det er efterhånden en gammel bog, der for første gang udkom i 1999 og opdateret igen 2 år efter (måske igen senere, men ikke den version jeg lånte). Kort fortalt er det en række essays der fortæller om Open Source revolutionens historie, og kommer med en række argumenter for fordele og ulemper ved Open Source som udviklingsmodel.

Første afsnit sætter hacker- og open source kulturen i et historisk perspektiv. Her fortælles der bl.a. kort om internettets ophav, og hvordan UNIX-systemerne blev skabt og brugt, samt bevæggrundende for at nogle af disse senere gik hen og åbnede deres kildekode for omverdenen.

I næste afsnit “The Cathedral and the Bazaar” fortælles der hvordan open source udviklingsmodellen udviklede sig, samt de rent pragmatiske fordele og ulemper i forhold til closed source udvikling. Forfatteren, Eric S. Raymond, tager i essayet udgangspunkt i Popclient, en e-mailklient han selv har bidraget til, og senere overtager og laver til Fetchmail. Han bruger de erfaringer han har gjort sig med Fetchmail-projektet, samt de erfaringer han har samlet ved at følge andre projekter, såsom Linus Thorvalds enorme Linux-projekt.

Tredje afsnit handler om de ting der driver Open Source udviklere. Mange folk udenfor miljøet stiller ofte spørgsmål til hvorfor folk vælger at bruge deres fritid på at bidrage til projekter, gratis. Dette spørgsmål besvares i dette afsnit hvor forfatteren med udgangspunkt i de normer og skikke der opereres efter i open source miljøet analyserer sig frem til nogle teorier om hvordan open source udviklere ledes, og hvordan de organiserer sig. Det hele sættes også i et antropologisk perspektiv, og der sammenlignes med kendte normer og regler for hvordan andre menneskelige samfund opstår og opererer. Der trækkes bl.a. en direkte linje mellem ejerskabet af Open Source software, og ejerskabet af landområder under den amerikanske kolonisering.

Fjerne afsnit giver et økonomisk syn på Open Source miljøet. Der er i dette afsnit ikke fokus på den enkelte bidragsyder, men nærmere på økonomi i en større sammenhæng. Hvornår bør virksomheder basere deres software på Open Source software, hvornår er det relevant og hensigtsmæssig for en virksomhed at udgive deres egen kildekode under en Open Source licens, og hvornår dette ikke vil være hensigtsmæssigt.

Det sidste afsnit er igen en historisk fortælling om Open Source miljøets gennembrud. Med udgangspunkt i Netscape Communication’s plan om at udgive deres kendte Netscape-browser, under en Open Source licens, det projekt som lagde grundstenene for the Mozilla Project, det er denne Open Source browser der senere blev til Mozilla Firefox. Forfatteren fortæller om hvordan han selv blev en del af Netscape’s projekt med at frigive browseren, og hvordan han via dette projekt pludselig i en periode endte som talsmand, for en stor del af Open Source miljøet.

Jeg synes bogen er et interessant historisk værk. Den fortæller på en, for det meste, spændende måde om Open Source miljøets opståen og arbejdsmetoder, både fra set fra et historisk, et psykologisk, et antropologisk og et økonomisk perspektiv. Det giver et godt indblik i kulturen, og hvordan en stor del af deltagerne tænker og agerer i forhold til hinanden.
Forfatterens idé med at opdele bogen i essays, der hver angriber emnet men en ny vinkel synes jeg også er rigtig interessant, da det giver en masse forskellige indblik i kulturen og folkene der driver den. Jeg tror samtidig at det gør bogen interessant for flere mennesker, da man, hvis man vil, kan udvælge de vinkler man finder interessant, og nøjes med at læse om kulturen fra disse vinkler.
Bogen anbefales til alle der har med software at gøre, både programmører, og de chefer og konsulenter der skal tage beslutningerne, da jeg mener den ligger op til en række interessante, og ikke mindst meget vigtige, overvejelser, som jeg mener er nødvendige at tage inden man kaster sig ud i et softwareprojekt.

Bogen kan lånes på biblioteket, det meste af den kan læses online eller den kan købes hvis man er interesseret i at eje den. Under alle omstændigheder vil jeg anbefale at man får den læst på et tidspunkt :-)

Build your own database driven website using PHP & MySQL - forsidecover

Build your own database driven website using PHP & MySQL - forsidecover


Jeg har brugt (lidt af) de sidste par dage på at tøffe mig igennem Sitepoint bogen med det lange, men meget præcise navn “Build your own database driven website using PHP & MySQL”, og titlen fortæller lige præcis hvad det er bogen handler om.
Bogen giver en generel introduktion til programmeringssproget PHP, samt hvordan man arbejder med databasesystemet MySQL.
Bogen starter med en introduktion til hvad PHP og MySQL er, installation af Linux, Apache, MySQL & PHP og fortsætter derefter med en meget grundlæggende introduktion til PHP hvor der bl.a. introduceres variabler og kontrol strukturer, samt en introduktion til MySQL inkl. hvad er databaser, hvad er SQL og hvordan bruges det.
Bogen kommer heldigvis en tand højere op i niveau senere i bogen med en gennemgang af relationelt databasedesign og MySQL administration på MySQL-siden, og cookies & sessions til adgangskontrol på PHP-siden. Der røres også ved lidt mere eksotiske emner, såsom regulære udtryk og filer/binær data i PHP.

Bogen forudsætter kendskab til HTML og ingen af de brugte HTML-elementer i bogen, forklares nærmere, CSS bliver hverken brugt eller nævnt. Dette gør selvfølgelig at bogen kræver en lille smule baggrundsviden, men jeg synes det er rigtig lækkert, da det giver plads i bogen til nogle af de mere interessante emner indenfor databasedrevne websites. Dette gør bogen til en god introduktion til PHP og MySQL for folk der allerede har kendskab til basal opbygning af hjemmesider, men gerne vil lave mere dynamiske sites, eller webdesigneren der gerne vil lære PHP og MySQL.
For folk med bare en smule forhåndskendskab til programmering og PHP og/eller SQL virker bogen dog lidt for basic til at nå at blive rigtig interessant. Til gengæld er jeg rigtig glad for at bogen, i modsætning til mange så grundlæggende bøger, rent faktisk vælger at give en introduktion til struktureret kode, og hvordan man separer kode og præsentationslaget i bedste MVC-stil. Det er rigtig positivt da jeg mener det er vigtigt for at kunne lave ordentlig kode.

Så konklusionen er altså at bogen er rigtig god til den spirende webprogrammør, eller webdesigneren der gerne vil lære lidt mere om hvad der foregår bag scenen, men den er for grundlæggende til folk med egentlig programmeringserfaring, især folk der har erfaring med PHP eller SQL.

Bogen kan lånes på biblioteket men der er i skrivende stund kun adgang til de 3 første udgaver, og så vidt jeg ved er det først i denne 4. udgave at den meget vigtige del, med fokus på struktureret kode er medtaget, vil man have denne del med (hvilket jeg klart vil anbefale) skal man ud og købe bogen.

Using Drupal cover forside

Using Drupal cover forside


Da jeg er i gang med at lave det nye website for Ubuntu Danmark er jeg ved at sætte mig ordentlig ind i hvordan det populære CMS Drupal fungerer, jeg har derfor ledt efter noget godt materiale til at komme i gang, og det synes jeg helt sikkert jeg har fået.
Det jeg fandt var bogen Using Drupal, udgivet af teknologivirksomheden O’Reilly.
Bogen starter med 2 kapitler der giver en introduktion til hvad Drupal er, hvorfor man bør bruge det, samt hvordan man kommer i gang med det. Det er en meget god introduktion, så man ved hvad det er man har at arbejde med. Men det er først i de efterfølgende kapitler at det bliver rigtig interessant.
I hvert af de efterfølgende 8 kapitler bliver der taget udgangspunkt i en use case, hvor der skal bruges et website til et bestemt formål, og der gennemgås så hvordan man kan bygge det pågældende website vha. Drupal og de tilhørende moduler. De 8 use cases omfatter:

  • Job Posting Board – Med jobopslag og ansøgninger til opslagene.
  • Product Reviews – Inkl. produktafstemninger og samarbejde med Amazon vha. Amazons API.
  • Wiki – Med fokus på brugergenereret indhold og “pæne” URLer.
  • Managing Publishing Workflow – Med fokus på sider med et større antal skribenter, samt moderatorer der skal godkende indhold osv.
  • Photo Gallery – Á la Flickr
  • Multilingual Sites – Hvor der arbejdes med at lave både site og alt indhold flersproget.
  • Event Management – Med kalender og deltagere.
  • Online Store – Inkl. produkter, skatter, shipping og betalingsløsninger.

I det sidste kapitel gives der så en introduktion til Drupal Theming, altså hvordan man tilpasser udseendet på sit site. Dette kapitel skimmede jeg hurtigt henover, da jeg har en hel bog liggende omhandlende emnet.

Using Drupal er en god omfattende bog der virkelig giver et indblik i hvor kraftigt et værktøj Drupal kan være, når man får sat sig ind i det. Jeg har som sagt brugt bogen mens jeg har arbejdet på det nye ubuntudanmark.dk. Det har været let at overføre materialet fra bogen direkte til den virkelige verden pga. det store fokus på use cases. Det kommer til udtryk i at en stor del af alle kapitler er “Hands on”-dele, hvor forfatterne simpelthen gennemgår skridt for skridt hvordan de forskellige moduler installeret og slås til, samt giver forslag til hvordan man kan sætte dem op, man kan altså ved at læse et enkelt kapitel ende med et fuldt funktionelt site, der kan klare de opgaver der beskrives i starten af kapitlet.

Jeg synes som nævnt at det er en rigtig interessant bog der giver et godt indblik i Drupal. Dens fordele er at den er så case orienteret at man kan se direkte at de ting man sætter op i systemet kan bruges lige efter man har sat dem op. Den er altså utroligt praktisk orienteret. De kraftige fokus på cases kan dog også virke som lidt negativt, man kan nemlig godt ende ud med at mangle en lidt mere dybdegående indsigt i nogle af elementerne. F.eks. er der sådan noget som views, der er en meget vigtig del af et Drupal site. Disse views bliver løbende indkorporeret i de forskellige cases, men man kan godt føle at man mangler et mere overordnet blik over hvad det er Views er, og hvordan man sætter dem ordentligt op så man bedre kan benytte dem i sine egne projekter. Det er lidt synd at nogle af disse bredere emner til en hvis grad bliver underprioriteret, men man vil nok kunne dække de fleste behov med bogen i hånden.

Bogen kan lånes på dit lokale bibliotek, eller købes online.

Forsidebillede til Art of Community

Forsidebillede til Art of Community

Jeg er i dette foreningsår valgt som LoCo kontaktperson mellem Ubuntudanmark og Canonical virksomheden bag Ubuntu.
Det betyder at det er min opgave at holde øje med hvad der foregår ude i den store LoCo-verden. En af de meget spændende ting der foregår lige i øjeblikket er The Art of Community. Det er en bog, der handler om hvordan man danner og administrer communitities, altså forsamlinger af frivillige der arbejder på et fællesprojekt.
Bogen der skulle udkomme i løbet af August måned i år, er skrevet af Ubuntu’s Community manager Jono Bacon, som også er medforfatter på The Official Ubuntu Book som jeg tidligere har omtalt.
Grunden til at jeg nævner dette nu, da der er over en måned til bogens udgivelse, er at Jono idag valgte at udgive bogens første kapitel (på engelsk).
Jeg har brugt noget af min aften på at læse dette første kapitel igennem for at få et indblik i hvad bogen kommer til at handle om, samt dens opbygning. Første kapitel bliver det teoretiske kapitel, der bruges på at komme med definitioner der er nødvendige at kende til, samt baggrunden for bogen og Jono’s interesse for communities.
Jono definerer et community som:
By definition, a community is a collection of people (or animals) who interact together in the
same environment. Community exists everywhere in nature. From people to penguins, from
monkeys to meerkats, the vast majority of organisms exhibit some form of collective grouping.
Altså en gruppe væsner som kollektivt operer i det samme miljø.
Udover at have dette fælles grundlag er der også nogle mere specifikke elementer der spiller sammen for at bygge den fællesskabsfølelse der er nødvendig for et community:

  • Et fælles mål – I dette tilfælde mener Jono at folk leder efter et “belonging” altså et tilhørsforhold
  • Social Kapital – Altså et sæt af fælles værdier der kan tildeles den enkelte eller gruppen. Dette er communitiets “Medium of exchange”.
  • Økonomiens hjerte – Altså nogle retningslinjer der sørger for at det hele ikke løber løbsk så alle til sidst ødelægger det for alle, i dette tilfælde er der skabt nogle “processer”.
  • Lim – Til at binde det hele sammen. I dette tilfælde er limen kommunikation, der sørger for at alle elementer spiller ordentligt sammen.

I kraft af sit arbejde som Community manager kommer en del af bogen og dens anekdoter selvsagt til at handle om open source- og især Ubuntus community. Men han tilstræber hele tiden at gøre bogen så grundlæggende som muligt, for at gøre den i brugbar i andre sammenhænge. Et eksempel på dette er at han også i løbet af første kapitel når at nævne Obama’s præsidentkampagne, hvor det er lykkedes Obama at skabe en så stor fællesskabsfølelse i hans bagland og blandt de stemmeberettigede, i en tid hvor kun få havde tillid til den siddende præsident. Denne fællesskabsfølelse har en stor del af æren for at Obama vandt valget.

Jeg synes at det er et rigtigt spændende første kapitel, og jeg glæder mig meget til at modtage den færdige bog. Hvis du kan lide dette første kapitel må du meget gerne være med til at sprede ordet ved at fortælle andre om det, videresende det, eller bare digge det, og hvis det har interesse er det allerede nu muligt at forudbestille bogen hos Amazon som vil afsende den så snart den kommer ud af trykken.

Jeg har for nyligt bestilt bogen Relationelle databaser (ISBN: 87-7843-616-8) af Mark Whitehorn og Bill Marklyn i håb om at lære noget om de lidt mere avancerede emner indenfor området.
Forsidebillede af bogen Relationelle databaser
Bogen er opdelt i 4 dele, og har en helt klar fast opbygning hvor der startes meget basalt, og langsomt fyldes på med gradvist mere avancerede emner mens niveauet stiger. Dette giver mulighed for at alle kan være med, også selvom man ikke har tidligere erfaring med at arbejde med databaser eller den relationelle model.
Desuden skrives det i indledningen at bogens eksempler benytter nogle Microsoft Access-databaser som er tilgængelige via bogens bilag, men at bogen behandler alle emner på en teoretisk måde, og at det derfor hverken kræver adgang til Microsoft Access eller forudgående kendskab til programmet.

Del 1 – En simpel database med én tabel

Der startes som sagt helt grundlæggende

  • Hvad er en database?
  • Hvad består en database af? Heriblandt, hvad er:
    • Tabeller
    • Formularer
    • Forespørgsler
    • Rapporter
  • Hvorfor tabeller?

Det handler altså om hvad en database i bund og grund er, samt hvilke elementer en database indeholder. Derudover forklares de basale begreber og det forklares hvordan de bruges i bogen.

Del 2 – Enkeltbrugerdatabase med flere tabeller

Alle der har arbejdet med databaser ved at en enkelt tabel meget sjældent er nok, dette understreger forfatterne da også fra starten af. Andet kapitel omhandler derfor hvordan man får opbygget en brugbar databasemodel med flere tabeller. Det bliver diskutteret grundene til at én tabel ikke er nok, og hvordan man finder ud af hvor mange, samt hvilke, tabeller der er nødvendige for at løse en given opgave, samt hvilke data de enkelte tabeller skal indeholde for at få opbygget sin database mest hensigtsmæssigt.
Udover det basale med “hvorfor mere end en tabel?”, behandler bogen også emnet “hvordan mere end en tabel?”. Der gennemgås hvad der menes med relationer i databasesammenhænge, hvordan disse relationer skabes og opretholdes, samt hvordan dataintegritet opretholdes via. primær- og fremmednøgler. Derudover kommer bogen kort ind på hvordan man laver en databaseapplikation vha. excels brugergrænseflade, makroer samt VBA-programmering, SQL nævnes kun kort.

Del 3 – Databaser med flere tabeller og flere brugere

I tredje del forklares det så hvorfor man normalt vil have databasen liggende på en central server som alle brugere har adgang til, i stedet for på den enkelte brugers maskine, og det gennemgås hvorfor det er en fordel. Desuden gennemgås forskellige måder hvorpå serverne kan opsættes for at adskille databaselaget fra applikationslaget, dog kun rent teoretisk.
Herefter, virker det lidt som om forfatteren løber tør for indhold til det igangværende emne, og går tilbage til emnet fra del 2 om brug af flere tabeller, samt hvordan databaseplanlægningen foregår. Hvorfor det ikke kunne samles i én del, som bogens opbygning ligger op til er dog uvist.
I slutningen af tredje del går forfatterne dog igen tilbage til at omtale koncepter for centrale flerbrugerdatabaser, og der beskrives emner som logføring, backup og samtidighed. Dette beskrives kun overordnet, men grundigt nok til at man som læser når at opfatte de vigtigste koncepter, samt hvad det er for nogle problemstillinger man står overfor, og hvorfor de er vigtige at medtænke fra starten.
Disse beskrivelser er for en gangs skyld fuldstændig uafhængige af hvilken databasesoftware man har valgt, og det lykkes faktisk at gøre denne del af bogen en smule interessant. Man kommer ihvertfald som semi-nørd til at glæde sig lidt til fjerde del af bogen der omtaler de avancerede emner.

Del 4 – Relaterede emner

Bogens fjerde del handler om nogle lidt mere avancerede emner indenfor relationelle databaser. Det er i denne del de mest nørdede og interessante (og praktisk anvendelige) emner tages op, og der diskuteres både normalisering, indeksering og SQL. Der dækkes nogle interessante og relevante emner på en forståelig måde uden at indskrænke det til kun at virke i et enkelt stykke databasesoftware.

Opsummering og konklussion

Det gøres fra starten af klart at bogen er skrevet med til folk med begrænset erfaring med Microsoft Access og som ikke nødvendigvis kender til den relationelle databaser. Derudover fortæller indledningen at der ikke er tale om en lærebog omkring brugen af Microsoft Access, da dette er det mest benyttede databasesoftware (hvor denne påstand kommer fra er jeg dog ikke sikker på), men jeg synes at bogen ligger rigtig meget vægt på hvordan tingene hænger sammen i Access, mere end den ligger vægt på den teoretiske side. Jeg mener derfor ikke at dette vil være den bedste bog til folk der gerne vil lære om den relationelle model, men som måske ikke har så meget lyst til at arbejde med Access. Hvis man har en smule erfaring med access, og har lyst til at lære mere om de lidt mere avancerede teorier bag tror jeg at det vil være en rigtig god bog at arbejde videre med.

Selve indholdet synes jeg overordnet set er ok. Der bliver gået nok i dybden med de fleste emner til at man får en overordnet forståelse, men som nævnt tidligere, kun nok til at gøre brug af den via. Microsoft Access, jeg synes det er lidt synd at en bog der ellers er rettet mod alle der ønsker at vide mere om brugen af relationelle databaser, rammer så forholdsvist smal en målgruppe. Desuden er der rigtig meget ligegyldig fyldtekst i bogen, af bl.a. dårlige jokes. Derudover er der rigtig mange sidespring, og henvisninger til senere afsnit, og rigtig mange afsnit slutter med ligegyldige linjer som “men det er jo ikke det emne vi skal tale om her”, eller “men det er alt for teoretisk til dette afsnit, men vil blive gennemgået dybere i kapitel XX”. Meget af dette kunne sagtens udelades da det ikke tjener noget egentligt formål.

Jeg vil i dette post prøve at eksperimentere lidt med en decideret boganmeldelse. Det er ikke noget jeg har brugt siden engang i gymnasiet, og dengang handlede det noget mere om metaforer og ordbrug end det vil gøre denne gang :-)

Jeg har et stykke tid har været interesseret i fri software, og er i den forbindelse begyndt at benytte Ubuntu, som er et GNU/Linux-baseret styresystem. Da jeg godt kunne tænke mig at lære mere om Ubuntusystemet valgte jeg at finde en bog om emnet, efter lidt søgen fandt jeg: The official Ubuntu Book.
Overordnet set synes jeg det er en rigtig god bog, der kommer ind på mange interessante emner den dækker et bredt udvalg af både tekniske og ikke-teknisk spørgsmål omkring Ubuntu, dette giver læseren mulighed for at lære noget hvad end denne måtte være helt ny til Linuxverden, eller en garvet command-line hacker.
Bogen starter med en del om hvad Ubuntu er, afsnittet giver en ikke-teknisk beskrivelse af Linux og idéen bag Fri og Open Source Software (FOSS), ydermere indeholder afsnittet en gennemgang Ubuntu’s historie, virksomheden Canonical der står bag systemet, samt Canonicals hovedsponsor Mark Shuttleworth.

Anden og også den største del af bogen er den tekniske del. Den er opbygget meget logisk, i og med at den starter fra bunden af, med en beskrivelse af hvordan man får fat i Ubuntu, samt hvordan det installeres. De færreste med en smule computererfaring skulle have problemer med installationen af Ubuntu, ellers skulle denne guide nok kunne afhjælpe de fleste problemer.
Efter installationsguiden kommer det naturlige næste step, hvordan man bruger systemet. Her gives en gennemgang af hvordan man navigerer rundt på sit nye Gnome Desktop Environment, der er standarden i Ubuntu. Desuden indeholder afsnittet beskrivelser af de en række af de standardprogrammer der følger med Ubuntu; Firefox til webbrowsing, Evolution til e-mails, Gimp til billedredigering, samt en række andre programmer der kan være nyttige i det daglige.
Efter introduktionen til den daglige brug af Ubuntu følger et endnu mere teknisk afsnit. Det handler om systemadministration, herunder opdatering af systemet samt af installerede programmer. Derudover beskrives det hvordan man arbejder med ekstern hardware som printere, netværksdrev, og der gives en introduktion til at arbejde med terminalen, desuden gives der en introduktion til Ubuntu som server. Bogen er fyldt med små “indskydelser” i form af korte ekstra tips og tricks som, f.eks. hvilke problemer folk normalt oplever i forbindelse med de emner der beskrives. En af bogens forcer er da også, efter min mening, forfatternes tendens til at skrive som om de rent faktisk taler af egne erfaringer. Der er bl.a. et helt kapitel med “typiske problemer” som mange folk vil løbe ind i. Dette giver nybegynderne en mulighed for at følge med, samtidig med at de mere teknisk erfarne får nogle nye tips.
Det tekniske afsnit afsluttes med en introduktion til Ubuntu-afarten Kubuntu, samt en beskrivelse af nogen af de mange andre Ubuntu-afarter der findes. Bogen giver altså mulighed for at lære at bruge Ubuntu, samtidig med at den giver inspiration til hvordan man kan eksperimentere med lignende systemer hvis man har lyst til det.

Den sidste, og efter min mening mest interessante del af bogen handler om det jeg ligeledes finder som noget af det mest interessante ved fri software; fællesskabet, eller communitiet. Der gives en god gennemgang af hvordan det foregår når så mange mennesker rundt omkring i hele verden arbejder sammen. Der forklares både om de involverede parters mest brugte kommunikationsformer via internettet såsom mailing-lister, og IRC-kanaler og indeholder også en gennemgang af de vigtigste lister og kanaler, samt en beskrivelse af hvad de hver især er beregnet til. Udover selve kommunikationen gennemgåes også en række af de værktøjer der bliver brugt af disse communities, som Launchpad og Bazaar.

Jeg synes det er en rigtig interessant bog der spænder meget bredt, helt fra “hvordan” og “hvorfor” bør man overveje Ubuntu som almindelig computerbruger, til hvordan og hvorfor kan man hjælpe med at gøre hele oplevelsen bedre både for sig selv for andre. Der er altså noget for enhver smag, hvad end man har er en garvet bruger der gerne vil give noget tilbage til Ubuntu, eller man bare har leget med tanken om at prøve Ubuntu men stadig er i tvivl om man “got what it takes”. Bogen er skrevet med henblik på Ubuntu version 6.06, det er ikke den nyeste version, men det er en LTS (Long Term Support), der bliver stadig bliver lavet opdateringer til. Desuden vil næsten alt der bliver beskrevet i bogen stadig være brugbart i de nyere versioner. De største ændringer er nok til communitiets opbygning hvor der nu bl.a. er kommet mange flere mailinglister.

En del af bogen kan læses online, eller man kan som jeg låne den på biblioteket, eller bestiles på
Amazon.co.uk