<?xml version="1.0" encoding="UTF-8"?>
<posts type="array">
  <post>
    <body>F&#248;rste dag efter ferien og jeg kan n&#230;sten ikke f&#229; mig selv sl&#230;bt tilbage til arbejdes-mode. Misforst&#229; mig ikke, jeg f&#248;ler mig meget priviligeret i min situation og den fantastiske mulighed jeg har for at dele ud af min lidenskab, strategi og tekniske spidsfindigheder. Men i dag er jeg bare ikke i hum&#248;r.  

Vi har alle tidspunkter som dette - vi v&#229;gne op og vi ikke har lyst til at g&#248;re noget. Det betyder ikke noget hvor stor succes vi er eller hvor meget vi er n&#248;dt til at f&#229; gjort, nogle gange er vi bare har lyst til at blive i sengen. Indr&#248;m det bare. Du har ogs&#229; dage som denne. 

Hvad g&#248;r du, n&#229;r du har lyst til at v&#230;re doven? De fleste mennesker jeg kender m&#230;rker ikke efter gennem deres f&#248;lelser, og de ignorerer hvad deres krop fort&#230;ller dem. Tv&#230;rtimod kan de tvinge sig til at arbejde mens deres sind er et andet sted. Det er som regel der siger ting som &quot;Gosh&quot;, jeg gider virkelig ikke arbejde i dag. Der er hundredvis af ting jeg vil hellere vil g&#248;re. Sikke et spild af tid og energi. 

Sandheden er at du &#248;nsker at holde fri men du vil ikke give dig selv tilladelse. S&#229; du pr&#248;ve at skubbe dig selv, og g&#230;t hvad du f&#229;r ud af det? Du bliver frustreret, irriteret og keder dig. Dit arbejde vil snart blive en trummerum fordi du ikke har tillid til, at du havde brug for en fridag. 

Her er fem vigtige strategier du kan bruge hvis du ikke f&#248;ler lyst til arbejdet i dag. 

# G&#229; hjem. Hvis du f&#248;le at du har brug for en fridag, komme v&#230;k fra dit skrivebord og forlade embedet lige nu. G&#229; hjem og i seng. Fyr dit h&#230;vekort af i det n&#230;rmeste indk&#248;bscenter. Giv dig selv tid til hvile og genopbygning. N&#229;r du f&#248;ler dig nede skal du stole p&#229; den fornemmelse og komme ud af kontoret. Du &#248;nsker ikke at din karriere eller din virksomhed skal k&#248;re af sporet p&#229; grund af d&#229;rlig motivation.  Nogle gange er det bedst at forlade og vende tilbage n&#230;ste dag re-inspirerede. Men hvad nu hvis du skal producere noget hver dag? Find en m&#229;de er g&#248;r tingene hurtigt og bel&#248;n dig selv n&#229;r du er f&#230;rdig. Hvilket bringer mig retten til strategi nr. 2. 
# Bel&#248;n dig selv. Indstil en bel&#248;nning s&#229; du flytter din sl&#248;vhed ud over i produktiviteten. Pas p&#229; at du ikke forveksler din sl&#248;vhed med noget andet. Nogle gange du har lyst til pj&#230;k fordi du ikke har fundet en grund til ikke at g&#248;re dit arbejde. Eller du lader din angst f&#229;r overtaget og forhaler processen. &#216;nsker du virkelig en fridag eller vil du blot undg&#229; noget? 
# St&#229; op og flyt. En af de bedste m&#229;der at &#230;ndre dine f&#248;lelser er at &#230;ndre din krop. Det er nemt at blive frustreret og irriteret n&#229;r man sidder ved dit skrivebord 10 timer om dagen, fem dage om ugen. 
M&#229;ske er den f&#248;lelse vil g&#229; v&#230;k hvis du kan f&#229; dit blod til at flytte sig rund i kroppen. M&#229;ske kan du spille et st&#248;rre spil. Hvis du ikke &#248;nsker at arbejde mere end en gang om m&#229;neden, er der noget st&#248;rre i gang. Tag denne f&#248;lelse som et wake-up kald. M&#229;ske er det tid til finde et nyt job. 
# Start et nyt enormt projekt der er udfordrende. G&#229; til interview til et nyt job. Find finansiering til at starte din egen virksomhed. Flyt til nye ansvarsomr&#229;der p&#229; din virksomhed. G&#229; efter forskellige kunder. Denne f&#248;lelse du har kan v&#230;re et signal om, at du keder dig. Men hvad med mig? Det lader til, at jeg har brugt strategi nr. 5: 
# Bliv ved indtil den gode f&#248;lelse vender tilbage. Da jeg f&#248;rst kom i gang l&#248;b cirkushesten rundt i manegen og gnisten kom tilbage. 

Men det vil ikke stoppe mig fra at g&#229; til mine foretrukne caf&#233; og f&#229; en stor cappuccino som bel&#248;nning for min dag off!

</body>
    <category-id type="integer">12</category-id>
    <created-at type="datetime">2008-07-21T01:18:00Z</created-at>
    <id type="integer">114</id>
    <post-id type="NilClass">114</post-id>
    <published type="boolean">false</published>
    <tag-id type="NilClass">6</tag-id>
    <title>Don't feel like working today</title>
    <updated-at type="datetime">2008-08-07T05:26:27Z</updated-at>
  </post>
  <post>
    <body>Jeg har lige modtaget en java kildefil fra en kollega med ca. 300 linjer. Jeg vil ikke vise den fordi den er alt for verbose eller lowlevel. Der er en main metode og et par metoder med noget dato fis. I teorien skulle klassen kunne beregne b&#248;rneydelse og er en del af en st&#248;rre skattepakke der er baseret p&#229; Magnus og kan beregne b&#229;de skat og budget. 

Det var faktisk noget jeg skulle ha brugt min tid p&#229; men min kollega kunne bare ikke g&#248;re for det. Opgaven er jo faktisk sjov n&#229;r man kan de ret enkelte regler som udg&#248;r denne ydelse. Og Java klassen regner rent faktisk korrekt. 

Det giver til geng&#230;ld mig en god mulighed for at abstrahere lidt over noget kode hvilket jeg synes er sjovt. Der hvor k&#230;den hopper af for mig er m&#230;ngden af kodelinjer brugt p&#229; simple konstruktioner. Fint nok, jeg bruger da koden i det forretningsmodul hvori denne funktionalitet skal v&#230;re men kan ikke lade v&#230;re at t&#230;nke over de implikationer det har p&#229; for eksempel drift, vedligehold, videreudvikling osv. 

Hvad betyder det n&#229;r f&#229; og ret enkelt regler bliver implementeret og fragmenteret ud i 300 linjer procedural  kode? Ja til at starte med er det jo ikke enkelt mere. Jo jeg medgiver at alle os der arbejder professionelt med Java tendere til at g&#248;re alting mere komplekst end det i virkeligheden er. Selv vores projektledere kan ikke genkende selv simple opgave efter vi har fundet en lille variation af et kendt teknisk problem som vi lige skal l&#248;se f&#248;rst, alle opgaver ender med at v&#230;re Java problemer. 

Et andet problem er l&#230;sbarhed. Kan jeg i det hele taget forst&#229; koden. Kan koden klassificeres efter kravet om beautyful code (en anden post). Nej, allerede efter ca. 40 linjer gider jeg ikke l&#230;se mere. Giver det fremtidige problemer? Ja, for reaktionen er jo at jeg selv vil bygge en helt ny udgave n&#229;r der kommer en mindre tilf&#248;jelse. 

&quot;Beautyful code&quot;:http://www.frankvilhelmsen.com/posts/71-Beautyful-code

Et at de vigtigste objektorienterede principper er genbrug. Men meget f&#229; t&#230;nker i de baner n&#229;r de udvikler software. Ofte er undskyldningen at der ikke er tid! Pis, hvis der er tid til d&#229;rligt design er der ogs&#229; tid til bedre design. 

Hvordan organiseres logiskesammenh&#248;rerne sprog konstruktioner? Skal man fokusere p&#229; sproget eller p&#229; forretningen? Et andet objektorienteret princip omhandler adf&#230;rd og m&#229;ske ville det v&#230;re nyttigt at bruge de gamle dyder og give objektet mulighed for at l&#248;se sine egen opgaver ved at implementer disse egenskaber i klassen selv. Sproget betyder mindre hvis man implementerer efter objektorienteret paradigmer.

Hvis man vil lave god software mener jeg at man m&#229; forst&#229; pr&#230;misserne om opgaven. En ting som undrede mig var at der i Java koden ikke er brugt datastrukturer til at repr&#230;sentere fx, perioder, &#229;rgange og kvartaler. Ca. 25% er brugt til simple traversering af dato. Det kan jeg g&#248;re bedre. Faktisk vil jeg definere alle de ting som jeg med sikkerhed ved fra start og binde dem i strukturer. 

Et andet sted hvor jeg virkelig kan g&#248;re en forskel er omkring selve algoritmen som beregner de n&#230;ste 12 m&#229;neders b&#248;rneydelse. Java klassen har defineret 100 linjer til denne metode alene. F&#248;rst findes de n&#230;ste 4 kvartaler. Dern&#230;st det ultimative stopkriteriet som er at b&#248;rneydelsen udl&#248;ber den dag man fylder 18. Sjovt er det at man begynder f&#248;rst p&#229; den 20 i n&#230;ste kvartal efter f&#248;dsel. Til slut er det blot at plukke de respektive bel&#248;b. 

&lt;pre&gt;
module Childcontribution

  class Calculate_benefits
    
    def initialize(child)
      @child  = child
      @petite_18_teen_birthday = Date.new(y=@child.year+18, m=@child.month, d=@child.day)
      @today = Date.today
      periods
      quarters
      ranges
    end

    def payment_next_12_month
      
      @ydelse = Hash.new(0)
      @quarters.each do |quarter| 
        y = calculate_age(quarter, @child)
        if y == 18
          if birthday_in_last(quarter) 
            @ydelse[quarter] = calculate_speacial_case(quarter) 
          else
            @ydelse[quarter] = 0
          end
        else 
          @ydelse[quarter] = @ranges[y]
        end
      end

      @ydelse.each_pair do |key, value|
        puts &quot;Ydelse pr. #{key} kr. #{value} &quot;
      end
      
      amount = 0
      @ydelse.values.collect {|value| amount += value }
      amount
    end
    
    private

    def birthday_in_last(quarter)
      start = @periods[@periods.rindex(quarter)-1]
      is_birthday_in_last = start &lt; @petite_18_teen_birthday &amp;&amp; quarter &gt; @petite_18_teen_birthday
    end
    
    def calculate_speacial_case(quarter)
      start_date = @periods[@periods.rindex(quarter)-1]
      puts day_pay = @ranges[@ranges.size-1] / 90 # 2515 / 90
      days = @petite_18_teen_birthday - start_date
      day_pay * days
    end
    
    def calculate_age(quarter, birthday)
      (quarter - birthday).to_i / 365
    end

    def ranges
      @ranges = Hash.new(0)
      (0..2).each  { |n| @ranges[n] = 4039 } # 0-2- &#197;rige 
      (3..6).each  { |n| @ranges[n] = 3198 } # 3-6- &#197;rige 
      (7..17).each { |n| @ranges[n] = 2516 } # 7-17 &#197;rige 
    end
    
    def periods 
      @periods  = Array.new()
      for y in [2007, 2008, 2009, 2010] 
        for m in [1, 4, 7, 10]
          @periods &lt;&lt; Date.new(y=y,m=m,d=20)  
        end
      end
    end

    def quarters
      @quarters = Array.new(0) # Hash.new(0)
      for i in 0...@periods.length
        if @periods[i] &gt; @today
          for n in i...i+=4
            @quarters &lt;&lt; @periods[n]
          end
          break
        end
      end
    end
    
  end
end

child = Date.new(y=1991,m=1,d=1)
calc = Childcontribution::Calculate_benefits.new(child)
puts &quot;Next 12 month #{calc.payment_next_12_month}&quot;
&lt;/pre&gt;</body>
    <category-id type="integer">11</category-id>
    <created-at type="datetime">2008-06-09T02:52:00Z</created-at>
    <id type="integer">112</id>
    <post-id type="NilClass">112</post-id>
    <published type="boolean">false</published>
    <tag-id type="NilClass">6</tag-id>
    <title>Child Care Benefit</title>
    <updated-at type="datetime">2008-06-11T22:10:05Z</updated-at>
  </post>
  <post>
    <body>Lidt p&#229; samme m&#229;de som n&#229;r man h&#248;rer &#230;ldre mennesker tale om forurening. I gamle dage var der ikke s&#229; meget forurening, vi gravede bare det hele ned. 

Okey, m&#229;ske bliver her varmer? Men det jeg m&#230;rker p&#229; min arm n&#229;r jeg k&#248;re hjem er det samme som sidste &#229;r. Jeg er ikke ramt af global opvarmning men blot sm&#229; udsving i naturen. 

Det kan jeg vel nemt sige, ja men lad mig rise et par andre vinker op. 

Vulkaner har f&#248;rt til katastrofale verdensomsp&#230;ndende atmosf&#230;riske p&#229;virkninger. Udbruddet fra El Chicho i Mexico i 1982 f&#248;rte til globale forstyrrelser ved at millioner af tons gas og aske blev spredt af vinden. Det f&#248;rte til globale klima&#230;ndringer p&#229; grund af det h&#248;je svovlinhold som hold solen varme str&#229;ler v&#230;k fra jorden. Et s&#229;dan vulkansk udbrud kan f&#248;re til kraftig nedk&#248;ling af jorden. Vulkanske gasser indeholder ogs&#229; klorin, som kan virke forstyrrende p&#229; ozon-laget i atmosf&#230;ren og beskytter jordens befolkning mod d&#248;delige ultraviolette str&#229;ler. Vi har haft smukke solnedgange siden vulkanen i Mexico, partiklerne i atmosf&#230;ren farver solen str&#229;ler. 

If&#248;lge forskerne kommer der istid med en 10.000 til 15.000 &#229;rs mellemrum. Og hvis jeg ikke tager meget fejl er det nu mere end 10.000 &#229;r siden landskabet omkring Haslev blev skabt. Det betyder jo at vi er relativ t&#230;t p&#229; n&#230;ste istid? N&#229;r det er istid bliver det vel koldere? 

Vi lever i et tyndt lag mellem voldsom kulde og ekstrem varme. Hvis vi l&#248;fter os blot 10 km op i luften falder temperaturen til minus 70 - 80 grader. Hvis vi p&#229; den anden side graver en hul p&#229; ca. 1 km stiger temperaturen til lige under 100 grader. 

Der findes ogs&#229; meget mere kortvarig temperatur udsving. I 1832 blev &#216;hlensl&#230;gers kone syg af kulde og vinderdepression efter en vulkan i Indonesien var skyd i flere &#229;rs m&#248;rke over hele kloden. P&#229; blot et par &#229;r gik klimaet i Danmark fra meget varmt og solrigt om sommeren til n&#230;sten totalt m&#248;rke og kulde i &#229;revis. Disse reaktioner holdt sig i mere end hundred &#229;r frem imod vor tid. 

Den sidste ting jeg vil fyre af i dag er konvektion. Konvektion opst&#229;r mellem saltvand og ferskvand. Dette f&#230;nomen holder Gulfstr&#248;mme i en evig l&#229;s der transportere smeltet isvand mod syd og varm vand transporteret mod nord. Hvis temperaturen stiger vil der naturligvis smelte mere af isen p&#229; polerne og langt mere fersk vand vil blande sig i havstr&#248;mmene. N&#229;r Gulfstr&#248;mmen bliver for fersk vil konventionen stoppe med katastrofale f&#248;lger. Varmen vil samles sig om &#230;kvator og kulden vil blive ved polerne. 

bq. Bliver der s&#229; varmer her eller? Hmm, men enkelt er det ikke. </body>
    <category-id type="integer">12</category-id>
    <created-at type="datetime">2008-02-10T06:58:00Z</created-at>
    <id type="integer">36</id>
    <post-id type="NilClass">36</post-id>
    <published type="boolean">false</published>
    <tag-id type="NilClass">6</tag-id>
    <title>Jeg er tr&#230;t af global opvarmning</title>
    <updated-at type="datetime">2008-02-11T01:47:33Z</updated-at>
  </post>
  <post>
    <body>
| &quot;Bill de h&#211;ra&quot;:http://www.dehora.net/journal | &quot;Atom&quot;:http://www.dehora.net/journal/atom.xml |
| &quot;JohnWilger&quot;:http://johnwilger.com | &quot;Atom&quot;:http://johnwilger.com/feeds/posts/default |
| &quot;Gettin all zoidal on ya&quot;:http://netzooid.com/blog | &quot;Atom&quot;:http://netzooid.com/blog/feed |
| &quot;What fettle, marras&quot;:http://blog.whatfettle.com | &quot;Atom&quot;:http://blog.whatfettle.com/feed/atom |
| &quot;Raganwald&quot;:http://weblog.raganwald.com/welcome.html | &quot;Atom&quot;:http://www.blogger.com/feeds/7618424/posts/full |
| &quot;Stuff I think about&quot;:http://www.snellspace.com/wp | &quot;Atom&quot;:http://www.snellspace.com/wp/wp-atom1.php |
| &quot;Sound advice&quot;:http://soundadvice.id.au/blog | &quot;Atom&quot;:http://soundadvice.id.au/blog/index.atom |
| &quot;Stefan Tilkov's Random Stuff&quot;:http://www.innoq.com/blog/st | &quot;Atom&quot;:http://www.innoq.com/blog/st/atom.xml |
| &quot;Stu says stuff&quot;:http://www.stucharlton.com/blog | &quot;Atom&quot;:http://www.stucharlton.com/blog/index.rdf |
| &quot;Tor Norbye&quot;:http://blogs.sun.com/tor | &quot;RSS&quot;:http://blogs.sun.com/tor/feed/entries/rss |
| &quot;Martin Fowler&quot;:http://martinfowler.com/bliki | &quot;Atom&quot;:http://martinfowler.com/bliki/bliki.atom |
| &quot;Owen Taylor&quot;:http://www.jroller.com/owentaylor | &quot;RSS&quot;:http://www.jroller.com/owentaylor/feed/entries/rss |
| &quot;Neal Gafter&quot;:http://gafter.blogspot.com | &quot;Atom&quot;:http://gafter.blogspot.com/feeds/posts/default |
| &quot;Alex Miller&quot;:http://tech.puredanger.com | &quot;Atom&quot;:http://tech.puredanger.com/feed/atom/ |
| &quot;Interoperability Happens&quot;:http://blogs.tedneward.com | &quot;Atom&quot;:http://blogs.tedneward.com/SyndicationService.asmx/GetAtom |
| &quot;The fishbowl&quot;:http://fishbowl.pastiche.org | &quot;RSS&quot;:http://fishbowl.pastiche.org/index.rdf |</body>
    <category-id type="integer">2</category-id>
    <created-at type="datetime">2007-02-15T04:25:00Z</created-at>
    <id type="integer">98</id>
    <post-id type="NilClass">98</post-id>
    <published type="boolean">false</published>
    <tag-id type="NilClass">6</tag-id>
    <title>Blogrolls</title>
    <updated-at type="datetime">2008-02-28T04:33:40Z</updated-at>
  </post>
</posts>
