<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Programmering är roligt!</title>
    <link>http://mikael.tylmad.com/</link>
    <description>Mikael skriver om programmering, systemadministration och mycket annat!</description>
    <language>sv</language>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>blosxom/2.1.2</generator>

  <item>
    <title>Mikael Tylmad - a brief introduction</title>
    <pubDate>Tue, 09 Apr 2013 13:35:00 +0200</pubDate>
    <link>http://mikael.tylmad.com/2013/04/09#jag</link>
    <category>/om</category>
    <guid isPermaLink="false">http://mikael.tylmad.com/om/jag</guid>
    <description>
&lt;p&gt;
  Jag som driver denna blog heter Mikael Tylmad, är född 1984 och bor
  i en förort till Stockholm som heter Tullinge. Där bor jag med min
  fru och en dotter som heter Tilde (eller ~ som jag brukar kalla
  henne).
&lt;/p&gt;

&lt;p&gt;
  Jag jobbar som systemadminstratör på
  högstadieskolan &lt;a href=&quot;http://www.friskola.nu/&quot;&gt;Södertörns
  friskola&lt;/a&gt;, där jag också driver skolans datorklubb. Jag tycker
  att det behövs mer programmering på högstadiet!
&lt;/p&gt;

&lt;p&gt;
  &lt;a href=&quot;/files/2013/04/cv_2012_08_02.pdf&quot;&gt;Min meritförteckning (pdf)&lt;/a&gt;
&lt;/p&gt;

&lt;table&gt;
  &lt;tr&gt;
    &lt;td style=&quot;width: 50%;&quot;&gt;&lt;img style=&quot;width: 100%;&quot; src=&quot;/files/2013/04/tilde.jpg&quot; /&gt;&lt;/td&gt;
    &lt;td style=&quot;width: 50%;&quot;&gt;&lt;img style=&quot;width: 100%;&quot; src=&quot;/files/2013/04/micke_island.jpg&quot; /&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style=&quot;padding: 3px;&quot;&gt;
      Min dotter ~ som vid fyra månaders ålder bekantar sig med en
      dator.
    &lt;/td&gt;
    &lt;td style=&quot;padding: 3px;&quot;&gt;
      Jag är och vandrar på Island. Vulkaner är häftiga, Island är
      i princip en stor vulkan =&gt; Island är häftigt.
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;
  För det mesta håller jag på med lite allt möjligt, dock alltid något
  som jag vill göra. Om man sysslar med saker som man inte trivs med
  blir resultatet oftast dåligt. Exempel på saker som jag gillar:
  &lt;dl&gt;
    &lt;dt&gt;Systemadministration&lt;/dt&gt;
    &lt;dd&gt;
      Sedan 2006 har jag installerat, konfigurerat och administrerat
      linux-servrar, linux-klienter och windows-klienter
      på &lt;a href=&quot;http://www.friskola.nu&quot;&gt;Södertörns friskola&lt;/a&gt;. Jag
      trivs själv bäst i linux och finner alla andra alternativ
      undermåliga. Om det ska skriptas gör jag det helst
      i &lt;code&gt;bash&lt;/code&gt;, men jag inser fördelen med kraftfullare
      språk som exempelvis &lt;code&gt;perl&lt;/code&gt;. I skrivande stund
      administrerar jag ett antal webbservrar (mestadels Apache) som
      hanterar ett tiotal olika webbtjänster (många egenutvecklade,
      några wordpress och annat gott och blandat). Utöver servrar och
      klientdatorer så bygger jag och sköter om trådade samt trådlösa
      nätverk.
    &lt;/dd&gt;

    &lt;dt&gt;Undervisning&lt;/dt&gt;
    &lt;dd&gt;
      På Södertörns friskola driver
      jag &lt;a href=&quot;http://datorklubben.friskola.nu/&quot;&gt;Datorklubben&lt;/a&gt;
      där jag undervisar elever på högstadiet och gymnasiet. På
      Tullinge Gymnasium har jag totalt fyra gånger hållit i en 50p
      gymnasiekurs som heter Datalogi A (en lokal kurs som vi gjort
      allt material själva till, inklusive en kursbok). Det senaste
      året har jag jobbat som gästföreläsare för teknik-fyran på Tumba
      Gymnasium.
    &lt;/dd&gt;

    &lt;dt&gt;Webbutveckling&lt;/dt&gt;
    &lt;dd&gt;
      Jag utvecklar ofta olika typer av webbtjänster och jag använder
      mig i princip uteslutande av &lt;code&gt;PHP&lt;/code&gt; på serversidan.
    &lt;/dd&gt;

    &lt;dt&gt;Läromedelsutveckling&lt;/dt&gt;
    &lt;dd&gt;
      Det är väldigt roligt att syssla med undervisning och jag söker
      alltid efter den mest pedagogiska lösningen. När det gäller
      programmering har jag jobbat med att göra undervisningen
      roligare och samtidigt bättre. Detta har resulterat i en lärobok
      som använder spelprogrammering för att lära ut
      programmering: &lt;a href=&quot;http://goo.gl/6Rl7m&quot;&gt;Spelprogrammering.nu
      med HTML5 och JavaScript&lt;/a&gt;. Denna lärobok har också en egen
      hemsida: &lt;a href=&quot;http://www.spelprogrammering.nu/&quot;&gt;www.spelprogrammering.nu&lt;/a&gt;. Givetvis
      är hela boken skriven i LaTeX.
    &lt;/dd&gt;

    &lt;dt&gt;Frisbeegolf&lt;/dt&gt;
    &lt;dd&gt;
      Den enda sport jag sysslar med är frisbeegolf, och detta har jag
      gjort sedan 1996. Numera spelar jag oftast på Visättra
      sportcenter, men har tidigare spelat mycket på Järva.
    &lt;/dd&gt;
    &lt;dt&gt;Hiking&lt;/dt&gt;
    &lt;dd&gt;
      Hiking är det bästa sättet att uppleva naturen på. Min
      favorit-hike är Laugavegur på Island, som jag gått två
      gånger. Utöver Island har jag också vandrat i Härjedalen och
      även gått runt Mount Blanc-massivet längst med den berömda
      TMB-rutten, en riktigt trevlig och spektakulär vandring.
    &lt;/dd&gt;

    &lt;dt&gt;Brädspel&lt;/dt&gt;
    &lt;dd&gt;
      Jag älskar att spela brädspel. Bland favoriterna finns Dominion,
      Race for the galaxy, Titan, och många andra!
    &lt;/dd&gt;
  &lt;/dl&gt;
&lt;/p&gt;</description>
  </item>
  <item>
    <title>Skapa online-pussel med jQuery</title>
    <pubDate>Tue, 09 Apr 2013 10:00:00 +0200</pubDate>
    <link>http://mikael.tylmad.com/2013/04/09#pussel_med_jquery</link>
    <category>/programmering</category>
    <guid isPermaLink="false">http://mikael.tylmad.com/programmering/pussel_med_jquery</guid>
    <description>
&lt;p&gt;
  JavaScript-biblioteket jQuery lämpar sig utmärkt om man snabbt vill
  göra ett peka-och-klicka spel. Jag gav några elever uppdraget att
  skapa online-spel för små barn, och första idén blev att göra
  pussel.
&lt;/p&gt;

&lt;p&gt;
  Steg ett var att för hand rita de motiv som pusslen ska baseras
  på. Ett av dessa pussel skulle bli en vacker solnedgång, och
  resultatet blev (efter att ha skannats) följande:
&lt;/p&gt;

&lt;img class=&quot;center&quot; style=&quot;width: 80%;&quot; src=&quot;/files/2013/04/isabella.png&quot; /&gt;

&lt;p&gt;
  Vi laddade sedan in bilderna i en dator och efterbehandlade de
  lite. Prefekt tillfälle att träna på hur man använder Gimp! I Gimp
  är det dessutom enkelt att skära ut pusselbitar ur
  originalbilderna. Solnedgången fick följande bitar:
&lt;/p&gt;

&lt;img style=&quot;width: 20%; &quot; src=&quot;/files/2013/04/Isabella1.png&quot; /&gt;
&lt;img style=&quot;width: 20%; &quot; src=&quot;/files/2013/04/Isabella2.png&quot; /&gt;
&lt;img style=&quot;width: 20%; &quot; src=&quot;/files/2013/04/Isabella3.png&quot; /&gt;
&lt;img style=&quot;width: 20%; &quot; src=&quot;/files/2013/04/Isabella4.png&quot; /&gt;
&lt;img style=&quot;width: 20%; &quot; src=&quot;/files/2013/04/Isabella5.png&quot; /&gt;
&lt;img style=&quot;width: 20%; &quot; src=&quot;/files/2013/04/Isabella6.png&quot; /&gt;

&lt;p&gt;
  Tanken är nu att pusselbitarna ska finnas blandade runt om på
  skärmen, och i mitten ska det finnas en svartvit, svagt utsuddad
  version av det färdiga pusslet så att man får lite hjälp att lösa
  pusslet. Bakgrundsbilden kan också Gimp hjälpa oss med:
&lt;/p&gt;

&lt;img class=&quot;center&quot; style=&quot;width: 80%;&quot; src=&quot;/files/2013/04/Isabella_svartvit_bakgrund.png&quot; /&gt;

&lt;p&gt;
  Nu är det dags att börja programmera! Vi börjar med lite enkel
  HTML-kod. En grundregel med HTML är att man ska få med all data som
  en sida/applikation ska innehålla, men hålla sig från att skriva in
  beteende och design. Därför är det helt korrekt att nu börja vårt
  pusselspel med att fylla HTML-koden med alla bilder som pusslet
  består av:
&lt;/p&gt;

&lt;pre id=&quot;pussel_steg1&quot; class=&quot;code&quot;&gt;
&amp;lt;!DOCTYPE html&gt;
&amp;lt;html lang=&quot;sv&quot;&gt;
  &amp;lt;head&gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&gt;
    &amp;lt;title&gt;Ett pussel!&amp;lt;/title&gt;
  &amp;lt;/head&gt;
  &amp;lt;body&gt;
    &amp;lt;img src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella_svartvit_bakgrund.png&quot; /&gt;
    &amp;lt;img src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella1.png&quot; /&gt;
    &amp;lt;img src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella2.png&quot; /&gt;
    &amp;lt;img src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella3.png&quot; /&gt;
    &amp;lt;img src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella4.png&quot; /&gt;
    &amp;lt;img src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella5.png&quot; /&gt;
    &amp;lt;img src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella6.png&quot; /&gt;
  &amp;lt;/body&gt;
&amp;lt;/html&gt;
&lt;/pre&gt;

&lt;p&gt;
  Detta är ännu inte så imponerande. Du kan se resultatet här: &lt;br /&gt;
  &lt;a href=&quot;http://mikael.tylmad.com/files/2013/04/pussel_steg1.html&quot;&gt;http://mikael.tylmad.com/files/2013/04/pussel_steg1.html&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
  För att positionera den svartvita-bakgrunden lite bättre kan vi
  lägga till lite CSS, och vi passar på att ge hela sidan ett
  trevligare intryck.
&lt;/p&gt;

&lt;pre id=&quot;pussel_steg2&quot; class=&quot;code&quot;&gt;
&amp;lt;!DOCTYPE html&gt;
&amp;lt;html lang=&quot;sv&quot;&gt;
  &amp;lt;head&gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&gt;
    &amp;lt;title&gt;Ett pussel!&amp;lt;/title&gt;
    &amp;lt;style&gt;
      html
      {
        background-color: black;
      }
      #bakgrund
      {
        position: fixed;
        top: 50%;
        left: 50%;
        margin-top: -219px;
        margin-left: -367px;
        z-index: -1;
      }
    &amp;lt;/style&gt;
  &amp;lt;/head&gt;
  &amp;lt;body&gt;
    &amp;lt;img id=&quot;bakgrund&quot; src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella_svartvit_bakgrund.png&quot; /&gt;
    &amp;lt;img src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella1.png&quot; /&gt;
    &amp;lt;img src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella2.png&quot; /&gt;
    &amp;lt;img src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella3.png&quot; /&gt;
    &amp;lt;img src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella4.png&quot; /&gt;
    &amp;lt;img src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella5.png&quot; /&gt;
    &amp;lt;img src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella6.png&quot; /&gt;
  &amp;lt;/body&gt;
&amp;lt;/html&gt;
&lt;/pre&gt;

&lt;p&gt;
  Visserligen en lite enkel och kanske ful lösning för att centrera
  den gråa bakgrunden på skärmen, men det fungerar :-) &lt;br /&gt;
  &lt;a href=&quot;http://mikael.tylmad.com/files/2013/04/pussel_steg2.html&quot;&gt;http://mikael.tylmad.com/files/2013/04/pussel_steg2.html&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
  För att nu lägga till intelligens till pusselspelet behövs jQuery
  samt jQuery UI. Dessa bibliotek används extremt mycket numera på
  nätet, och inkluderas bäst i koden genom att man använder deras egna
  CDN:er. För att få jQuery UI att fungera bra på enheter med petskärm
  behövs biblioteket &lt;a href=&quot;http://touchpunch.furf.com/&quot;&gt;jQuery UI
  Touch Punch&lt;/a&gt;. Detta får man ladda hem och lägga på samma plats
  som HTML-filerna.
&lt;/p&gt;

&lt;p&gt;
  Totalt behövs alltså tre inkluderade filer:
&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
&amp;lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js&quot;&gt;&amp;lt;/script&gt;
&amp;lt;script src=&quot;http://code.jquery.com/ui/1.10.0/jquery-ui.js&quot;&gt;&amp;lt;/script&gt;
&amp;lt;script src=&quot;http://mikael.tylmad.com/js/jquery.ui.touch-punch.min.js&quot;&gt;&amp;lt;/script&gt;
&lt;/pre&gt;

&lt;p&gt;
  Koden som behövs för att nu göra våra pusselbitar flyttbara är
  totalt &lt;i&gt;en&lt;/i&gt; rad lång.
&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
&amp;lt;script&gt;
  $(&quot;.pusselbit&quot;).draggable();
&amp;lt;/script&gt;
&lt;/pre&gt;

&lt;p&gt;
  Här väljer vi ut alla HTML-element som tillhör
  klassen &lt;i&gt;pusselbit&lt;/i&gt; och gör dem dragbara. I HTML-koden kommer
  vi givetvis behöva ge bilderna rätt klass, men hela den resulterande
  koden blir fortfarande väldigt simpel:
&lt;/p&gt;

&lt;pre id=&quot;pussel_steg3&quot; class=&quot;code&quot;&gt;
&amp;lt;!DOCTYPE html&gt;
&amp;lt;html lang=&quot;sv&quot;&gt;
  &amp;lt;head&gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&gt;
    &amp;lt;title&gt;Ett pussel!&amp;lt;/title&gt;
    &amp;lt;style&gt;
      html
      {
        background-color: black;
      }
      #bakgrund
      {
        position: fixed;
        top: 50%;
        left: 50%;
        margin-top: -219px;
        margin-left: -367px;
        z-index: -1;
      }
    &amp;lt;/style&gt;
  &amp;lt;/head&gt;
  &amp;lt;body&gt;
    &amp;lt;img id=&quot;bakgrund&quot; src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella_svartvit_bakgrund.png&quot; /&gt;
    &amp;lt;img class=&quot;pusselbit&quot; src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella1.png&quot; /&gt;
    &amp;lt;img class=&quot;pusselbit&quot; src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella2.png&quot; /&gt;
    &amp;lt;img class=&quot;pusselbit&quot; src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella3.png&quot; /&gt;
    &amp;lt;img class=&quot;pusselbit&quot; src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella4.png&quot; /&gt;
    &amp;lt;img class=&quot;pusselbit&quot; src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella5.png&quot; /&gt;
    &amp;lt;img class=&quot;pusselbit&quot; src=&quot;http://mikael.tylmad.com/files/2013/04/Isabella6.png&quot; /&gt;

    &amp;lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js&quot;&gt;&amp;lt;/script&gt;
    &amp;lt;script src=&quot;http://code.jquery.com/ui/1.10.0/jquery-ui.js&quot;&gt;&amp;lt;/script&gt;
    &amp;lt;script src=&quot;http://mikael.tylmad.com/js/jquery.ui.touch-punch.min.js&quot;&gt;&amp;lt;/script&gt;
    &amp;lt;script&gt;
      $(&quot;.pusselbit&quot;).draggable();
    &amp;lt;/script&gt;
  &amp;lt;/body&gt;
&amp;lt;/html&gt;
&lt;/pre&gt;

&lt;p&gt;
  Testa att lägga pusslet:&lt;br /&gt;&lt;br /&gt;
  &lt;a href=&quot;http://mikael.tylmad.com/files/2013/04/pussel_steg3.html&quot;&gt;http://mikael.tylmad.com/files/2013/04/pussel_steg3.html&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
  Nästa naturliga steg är att vidareutveckla designen på sidan och
  kanske ha några olika pussel som man kan lägga. Det skulle också
  vara snyggt med lite mer JavaScript-kod som exempelvis slumpar ut
  pusselbitarna på skärmen varje gång man laddar ett pussel, och som
  kanske inser när pusslet är färdigt. Jag återkommer!
&lt;/p&gt;</description>
  </item>
  </channel>
</rss>
