Tuesday, September 25, 2007

MORSOMT: Farlig å bruke høye hæler

Noen menn synes jo at høye hæler er veldig lekkert på en jente. Men det er ikke uten farer.

Sunday, September 23, 2007

ROMAN:"Harry Potter and the Deathly Hallows" av J.K.Rowling

Jeg har lest to tidlige bøker i serien om Harry Potter. De var morsomme og var en god beskrivelse av en vanlig verden hvor magi virker. En god blanding av ungdomsroman og SF/fantasy.

Etterhvert har Harry Potter-fenomenet blitt større og større. Det bygget seg opp en velregissert forventning mot siste bok som det store klimakset.

Jeg måtte jo lese denne siste boken og se hva all den hysteriske entusiasmen dreiet seg om. Aldri har vel så mange ventet med slik lengsel på en bok og blitt så overstadig lykkelig når den endelig kom ut.
Hvis man er litt slem kan man vel si at aldri før har et forlag vært så dyktig til å styre og manipulere markedet.
Hvis man er enda slemmere kan man si at aldri før har avisenes anmeldere vært så ukritiske.....

Det er knapt noen vits å fortelle hva boken handler om. Alle har vel hørt at
  1. Den siste kampen mellom Harry og Voldemort skal finne sted.
  2. Minst en person kommer til å dø.
  3. Tonen i boken er mørkere.
Det har tydeligvis ikke vært lov å fortelle mere enn dette. Jeg har aldri lest så tomme og intetsigende anmeldelser før. I tillegg til å referere punktene over så er de alle jodlende henrykte over hvor utrolig bra det er og over hvor ufattelig dyktig forfatteren har vært til å knytte trådene sammen og få alle smådetaljer til å passe sammen.

Mine kommentarer er:
  1. Tonen i boken er mørkere ja, men mørk trenger vel ikke være synonymt med kjedelig?
  2. Forfatteren klarer overhodet ikke å beskrive følelser mellom personene.
  3. Forfatteren klarer ikke å beskrive de hendelsene som skal være spennende på en spennende måte.
  4. Spesielt midtpartiet er drepende kjedelig.
  5. Forfatteren har stjålet masse fra "Lord of the Rings". Spesielt det kjedelige midtpartiet er som tatt ut av Frodo og Sams ensomme ferd mot Mordor.
  6. Jada, forfatteren klarer å få knyttet trådene sammen. Det skulle vel strengt tatt bare mangle. Og det hadde nok vært mulig å lage ganske mange andre avslutninger basert på de tidligere bøkene.
Så jeg beklager, jeg er ikke så imponert. En kjedelig avslutning på en bokserie som begynte bra.

Alle har den vel fra før, men den kan kjøpes på play.com.

Amazon sier med samme entusiasme som andre anmeldelser:
Readers beware. The brilliant, breathtaking conclusion to J.K. Rowling's spellbinding series is not for the faint of heart--such revelations, battles, and betrayals await in Harry Potter and the Deathly Hallows that no fan will make it to the end unscathed. Luckily, Rowling has prepped loyal readers for the end of her series by doling out increasingly dark and dangerous tales of magic and mystery, shot through with lessons about honor and contempt, love and loss, and right and wrong. Fear not, you will find no spoilers in our review--to tell the plot would ruin the journey, and Harry Potter and the Deathly Hallows is an odyssey the likes of which Rowling's fans have not yet seen, and are not likely to forget. But we would be remiss if we did not offer one small suggestion before you embark on your final adventure with Harry--bring plenty of tissues.

The heart of Book 7 is a hero's mission--not just in Harry's quest for the Horcruxes, but in his journey from boy to man--and Harry faces more danger than that found in all six books combined, from the direct threat of the Death Eaters and you-know-who, to the subtle perils of losing faith in himself. Attentive readers would do well to remember Dumbledore's warning about making the choice between "what is right and what is easy," and know that Rowling applies the same difficult principle to the conclusion of her series. While fans will find the answers to hotly speculated questions about Dumbledore, Snape, and you-know-who, it is a testament to Rowling's skill as a storyteller that even the most astute and careful reader will be taken by surprise.

A spectacular finish to a phenomenal series, Harry Potter and the Deathly Hallows is a bittersweet read for fans. The journey is hard, filled with events both tragic and triumphant, the battlefield littered with the bodies of the dearest and despised, but the final chapter is as brilliant and blinding as a phoenix's flame, and fans and skeptics alike will emerge from the confines of the story with full but heavy hearts, giddy and grateful for the experience. --Daphne Durham


Terningkast 2

Saturday, September 22, 2007

Sunday, September 16, 2007

FAGBOK: "Refactoring Databases: Evolutionary Database Design" av Scott W Ambler og Pramod J Sadalage

Smidige metoder baserer seg på stadige refactoringer. "Refactor Mercilessly" er en av XP sine viktigste utsagn. Problemet er at det ikke er lett å refactore databaser. Databasene er vanligvis store og tunge å endre. Det er også et problem at det ofte er forskjellige avdelinger i en organisasjon som har ansvar for programkode og for databaser. Det kan også eksistere programmer som bruker databasen og som det faktisk ikke er mulig å endre.

Denne boken prøver å avhjelpe disse vanskene. Den beskriver teknikker for å endre en database i små, kontrollerte steg. Akkurat som den klassiske boken "Refactoring - Improving the Design of Existing Code" av Martin Fowler så inneholder den en lang liste av navngitte refactoringer. En slik refactoring skal gjøre en veldefinert endring uten at systemets oppførsel skal endres. Alle enhetstester skal altså kjøres uten feil før og etter endringen. Det er dessverre et praktisk problem at det ikke finnes gode rammeverk for å lage og kjøre enhetstester for databaser.

Boken beskriver hver refactoring detaljert slik at det skal være enkelt å både analysere og å utføre tilsvarende endringer.

En refactoring vil ha følgende steg:
  • Kjøre tester.
  • Endre databaseskjema.
  • Endre kode på programmene som bruker databasen.
  • Migrere eller endre data som påvirkes av skjemaendringen. Dette er ikke nødvendig for alle typer refactoring.
  • Lage mekanismer som gjør at databasen også kan støtte programmer som ikke er endret. Dette kan for eksempel være triggere som gjør at gammel og ny versjon av et felt i databasen blir synkront oppdatert. Det er ikke mulig å lage slike mekanismer for alle typer refactoringer.
  • Kjøre tester.
Det er et viktig poeng at man ikke skal gjøre mere enn ett slik steg om gangen. Først når man er helt ferdig med en endring og alle tester går riktig kan man gå videre med et nytt steg.

Refactoringene som beskrives kan deles i grupper. De viktigste er:

Strukturelle refactoringer.
Dette omfatter metoder for å endre struktur på database. For eksempel fjerning, sammenslåing og splitting av kolonner.


Refactoringer for å forbedre datakvalitet.
Her finner vi for eksempel metoder for å innføre kodeverk, organisere primærnøkler og for å flytte data.

Refactoringer for å innføre referanseintegritet.
Eldre databaser er ofte laget uten å benytte tilgjengelige mekanismer for referanseintegritet. I denne gruppen finner vi metoder for å innføre slik referanseintegritet.


Jeg var egentlig litt skeptisk til denne boken. Ofte synes jeg at XP og smidige metoder kan være litt vel lettvinte og kjappe når det gjelder endringsvilje. Men heldigvis var min skepsis unødvendig. Det er ikke noe lettvint med denne boken. Den er meget grundig både i beskrivelse av analyse av endringer og gjennomføring av dem. Denne boken bør være en del av verktøykassen for alle som jobber med databaseorienterte systemer.

Amazon sier:
This is an excellent book that, in my opinion, serves two purposes. First, it is a compendium of well thought-out ways to evolve a database design. Each refactoring includes descriptions of why you might make this change, tradeoffs to consider before making it, how to update the schema, how to migrate the data, and how applications that access the data will need to change. Some of the refactorings are simple ones that even the most change-resistant DBAs will have used in the past ("Add index"). Most others (such as "Merge tables" or "Replace LOB with Table") are ones many conventional thinking DBAs avoid, even to the detriment of the applications their databases support.


This brings me to the second purpose of this book. Many DBAs view their jobs as protectors of the data. While that is admirable, they sometimes forget that they are part of a software development team whose job is to provide value to the organization through the development of new (and enhancement of existing) applications. One of the best DBAs I ever worked with viewed himself as a "Data Valet." He said his job was to make sure the data was presented to applications when and where they wanted and to protect the doors from getting dinged while under his care. Through its first five chapters and then the refactorings that follow, this book will help DBAs expand their view of their role in the organization from one of simply protecting data to one of enhancing the value of data to the organization.


This book is one that you'll keep on your reference shelf for many years to come. Highly recommended.


Kan kjøpes på play.com.


Terningkast 5