Planet Lysator http://www.lysator.liu.se/planet/ en Planet Lysator - http://www.lysator.liu.se/planet/ Leif Nixon (nixon) tag:blogger.com,1999:blog-3861328598189272741.post-8101638727232504752 http://tankar-fran-rooten.blogspot.com/2022/03/mop-uppdatering-tnr-211848-idag-behover.html <h1 style="text-align: left;">MÖP-uppdatering Tnr 211848</h1><p>Idag behöver vi prata om termobariska vapen. Normala sprängämnen, sådana som används i vanliga vapen, är så att säga "self-contained" - de innehåller i sig själv allt som behövs för att skapa en explosion. Det går utmärkt att avfyra en pistol i rymden, för krutet exploderar av sig själv. Termobariska vapen, däremot, använder syre från luften som en av beståndsdelarna för att skapa en explosion. De bygger på att finfördela någon form av bränsle i luften, och sedan detonera molnet med hjälp av en liten vanlig sprängladdning.</p><p>Det är rätt svårt att förklara verkan av en termobarisk explosion på ett intuitivt begripligt sätt, men om ni har sett filmer från någon av tsunamikatastroferna vet ni att en tsunami inte bara är en ovanligt kraftig våg; det är snarare som om hela havet höjer sig och flödar in över land. Man kan ha den bilden i huvudet.</p><p>En vanlig sprängladdning ger en skarp chockvåg; det är som om man slänger en sten i ett badkar och orsakar en cirkelformig våg på vattnet. Eftersom en termobarisk explosion inte kommer från en enda punkt, utan orsakas av ett helt moln som exploderar, kommer det en hel vägg av luft. Det är som om man snabbt skulle lyfta ena änden av badkaret så att en jättevåg slår iväg mot andra änden.</p><p>Och efter den stora tryckvågen från den termobariska explosionen kommer ett undertryck. (Man pratar ibland om termobariska vapen som "vakuum-bomber"). Det blir som en stor pumprörelse genom luften. Tänk er att ni ställer ner den där badkarsänden direkt när vågen farit iväg - då har ni en djup vågdal i er ände.</p><p>Den här pumpande rörelsen är väldigt effektiv för att förstöra byggnader och strukturer, och människokroppar. Särskilt lungorna blir sönderslitna av tryckvågen.</p><p>Explosionen ger också upphov till en våg av hetta (det hörs på namnet: "termo" - värme, "bar" - tryck) som bränner sönder allt i sin väg.</p><p>En stor termobarisk explosion är bara snäppet under ett taktiskt kärnvapen.</p><p>I videon nedan syns en TOS-1A. Det är ett ryskt vapensystem som skjuter iväg raketer med termobariska sprängladdningar, upp till 24 stycken i en enda salva. (Branden som uppstår är buskage som antänds av raketavgaserna.)</p><p>Just den här salvan skjuts mot Mariupol. Även om 80% av stadens infrastruktur är förstörd, finns det fortfarande tiotusentals civila kvar.</p><div style="clear: both; text-align: center;" class="separator"></div><br /><div><br /></div> Mon, 21 Mar 2022 17:51:36 +0000 noreply@blogger.com (Leif Nixon) Leif Nixon (nixon) tag:blogger.com,1999:blog-3861328598189272741.post-4755066548830896079 http://tankar-fran-rooten.blogspot.com/2022/03/mop-uppdatering-tnr-182224-fler-och.html <h1 style="text-align: left;">MÖP-uppdatering Tnr 182224</h1><p>Fler och fler människor slängs ner i köttkvarnen i Ukraina, utan några nämnvärda resultat. Ryssland verkar oförmöget att släppa det som bevisligen inte funkar, utan fortsätter att kasta in unga pojkar för att slaktas.</p><p>I Mariupol sökte barnfamiljer skydd i en teater där man hade gjort stora markeringar i marken utanför: "дети" - "barn" (bild nedan). Den enda effekten det hade var att teatern blev ett mål för ryska flygvapnet. De enda säkra uppgifterna som finns just nu är "många har överlevt".</p><div style="clear: both; text-align: center;" class="separator"><a style="margin-left: 1em; margin-right: 1em;" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8d2pSdmd0072x2sCJHOcvj5ntOum2aL3ulcEGvsXKXi8It8jAkRtvBAySZqoP6m7mqAfnevtj0ZvZ-u9I1hwGRIgcdci7U1ctgX4_cX_Rok8qW5ReHl4YmjsUfy2cH8Dhb6iRgeH6rA_GFg1B2BTJ-EyRhL6uokXT5gtr-ORivY0tfXUXoo3KArBz/s1200/deti.jpeg"><img width="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8d2pSdmd0072x2sCJHOcvj5ntOum2aL3ulcEGvsXKXi8It8jAkRtvBAySZqoP6m7mqAfnevtj0ZvZ-u9I1hwGRIgcdci7U1ctgX4_cX_Rok8qW5ReHl4YmjsUfy2cH8Dhb6iRgeH6rA_GFg1B2BTJ-EyRhL6uokXT5gtr-ORivY0tfXUXoo3KArBz/s320/deti.jpeg" border="0" height="200" /></a></div><br /><p><br /></p><p>Jag möter hela tiden personer som har svårt att bearbeta det här. "Men, kan de verkligen bomba barn med flit?". Det är det här jag har försökt förklara i flera år. Det här är vad Ryssland gör. De har åter och åter igen visat att deras taktik är att skapa största möjliga lidande bland civilbefolkningen.</p><p>Jag lägger också till en film från Voznesensk, staden som jag nämnde häromdagen, som käkade upp en hel mekaniserad bataljonsstridsgrupp. Innehållsvarning: den börjar med liksäckar med döda ryska soldater. Men resten är sevärd.</p><div style="clear: both; text-align: center;" class="separator"></div><br /><p><br /></p><p>Slutligen:</p><p>Det är förmodligen rätt få av er som missat att jag är engagerad i Hemvärnet. Vi är runt tjugotusen soldater, och vi har på kort tid fått tiotusen ansökningar. Vi är glada, men det kommer att ta lång tid att processa alla frivilliga personer, och om man inte har tidigare militär erfarenhet hamnar man lite längre bak i kön.</p><p>Jag vill peka på att vi bara är en av en lång rad frivilligorganisationer, och att det finns många, många ställen där man kan göra konkret, omedelbar nytta som frivillig. Ett bra ingångsställe är https://www.frivilligutbildning.se/.</p><p>Särskilt vill jag slå ett slag för två alternativ:</p><p>- Röda Korset. Det är alltid Röda Korset som står främst och som håller ut längst.</p><p>- Kommunernas FRG:er; frivilliga resursgrupper. Där kan man göra omedelbar nytta utan att lära sig skjuta ihjäl andra människor med automatkarbin. Googla "[kommunnamn] FRG". </p> Fri, 18 Mar 2022 21:26:59 +0000 noreply@blogger.com (Leif Nixon) dentarg: Mermaid diagrams can be displayed within Markdown · Issue #372 · github/roadmap https://dentarg.blog/post/674193029290196992 https://dentarg.blog/post/674193029290196992 <a href="https://github.com/github/roadmap/issues/372">Mermaid diagrams can be displayed within Markdown · Issue #372 · github/roadmap</a>: <p>Currently planned for <strong>Q1 2022 – Jan-Mar</strong> according to the roadmap issue.</p> <p>I wonder if it will be supported by the <a href="https://docs.github.com/en/rest/reference/markdown"><code>/markdown</code> endpoint</a> in the REST API? (If it will include the SVG code for it.)</p> Sun, 23 Jan 2022 17:56:15 +0000 dentarg: "These assistants are all deeply flawed." https://dentarg.blog/post/671856439539662848 https://dentarg.blog/post/671856439539662848 “These assistants are all deeply flawed.”<br /><br /> - <em><a href="https://daringfireball.net/linked/2021/12/28/alexa-penny">John Gruber</a> comments on <a href="https://www.bbc.com/news/technology-59810383">Alexa tells 10-year-old girl to touch live plug with penny</a></em> Tue, 28 Dec 2021 22:57:10 +0000 Hugo Hörnquist (hugo): Up Again! http://blog.hornquist.se/hugo/?filename=20211029Up_again.md http://blog.hornquist.se/hugo/?filename=20211029Up_again.md <p>My blog (and server in general) is up again! I still host it on that <a href="http://blog.hornquist.se/hugo/?filename=20150715Att_bygga_en_webbsida.md">puny server</a>. The problem was however that my parents ISP earlier misbehaved with their DHCP-server, and their front line support not knowing anything.</p> <p>ComHem has however since been bought by Tele2, and while I can't vouch for their customer service, they have at least configured their DHCP server correct, allowing both their home router and this server to get their public IP:s as expected.</p> <p>Now we just hope that everything keeps working until we finally get IPv6.</p> Thu, 28 Oct 2021 22:00:00 +0000 Hugo Hörnquist (hugo): Macro Walking http://blog.hornquist.se/hugo/?filename=20191223Macro_Walking.md http://blog.hornquist.se/hugo/?filename=20191223Macro_Walking.md <p>Understanding Lisp-macros is hard, even harder is understanding how to effectively use them. Here I delve deeper into code walking through macros on my journey to really understand what makes Lisp macros, and by extension Lisp, unique.</p> <p>One of the best information sources for advanced macros I have found is the book <a href="https://blog.hornquist.se/hugo/rss.php#let-over-lambda">Let over Lambda</a>, which I'm currently (slowly) making my way through. So far the major take-away from it is that macros are my tool for parsing lisp code [Section 5.4].</p> <hr /> <p>The code in this page is written in Guile, but most of it is applicable to any Lisp. <code>Syntax-case</code> appears to be non-standard.</p> <h2>Let Lazy &amp; Symbol Macros</h2> <p>One really simple, but still powerful example of code walking through macros is <code>let-lazy</code>; a variant of <code>let</code> which creates lazy bindings, and only evaluates them on demand. [1].</p> <p>Just to be clear, the expected behavior is the value of a binding is only evaluated if needed, and then only evaluated once. For example:</p> <pre><code>(let-lazy ((x (begin (display "Hello\n") 10))) (+ x x)) ⊣ Hello ⇒ 20 (let-lazy ((x (begin (display "Hello\n") 10))) 'x) ⇒ x</code></pre> <p>Also note that this isn't possible to achieve with functions in an eager language, since function parameters are evaluated before a function is called.</p> <div style="font-size: 80%;"> [1] This assumes that our Lisp already has `delay` and `force` forms. Otherwise they are not much more than wrapping a value in a function, and calling the function to get the value (caching it for future accesses along the way). </div> <hr /> <p>My first naïve solution used a simple macro, along with a manual tree-map.</p> <pre><code>;; apply proc to each node in tree, keeping structure. ;; optionally pass descend: #f to skip a branch. (define* (tree-map proc tree #:key (descend (const #t))) (cond ((not (list? tree)) (proc tree)) ((null? tree) '()) ((list? (car tree)) (cons (if (descend (car tree)) (tree-map proc (car tree) #:descend descend) (car tree)) (tree-map proc (cdr tree) #:descend descend))) (else (cons (proc (car tree)) (tree-map proc (cdr tree) #:descend descend))))) (define (quote? form) (and (not (null? form)) (eq? 'quote (car form)))) (define-macro (let-lazy bindings . body) (let ((keys (map car bindings))) `(let ,(map (lambda (b) `(,(car b) (delay ,@(cdr b)))) bindings) ,@(tree-map (lambda (t) (if (memv t keys) `(force ,t) t)) body #:descend (negate quote?)))))</code></pre> <p>It works decently, but quickly brakes down. For example, something as simple as a back-tick in the body breaks it.</p> <pre><code>(let-lazy ((x (begin (display "Hello\n") 10))) `x) ⇒ (force x)</code></pre> <p>And as Let over Lambda mentions, there are many more special forms in a lisp than expected, and continues to issue the following Common Lisp example, where <em>exactly one</em> of the following <code>blah</code> should be expanded.</p> <pre><code>(let (blah (blah (blah blah))) blah) ;; Borrowed from Let over Lambda under fair use.</code></pre> <hr /> <p>My updated solution instead uses my underlying Lisp interpreter to handle my variable substitution. In the bellow example I introduce my field mappings in a <code>let-syntax</code> towards the bottom, followed by me giving control back to scheme to figure the rest of the tree out.</p> <pre><code>(define-syntax let-lazy (syntax-rules () ;; Match rule, and capture symbols [(_ ((field value) ...) body ...) ;; give symbols their delayed slots (let ((field (delay value)) ...) ;; introduce local syntax for replacing fields with ;; their forced counterparts (let-syntax ((field (identifier-syntax (force field))) ...) body ...))])).</code></pre> <p>The macro is also rewritten in scheme's hygienic macro system. Here it doesn't make a big difference, but identifier-syntax gets happier, and I sleep better knowing that symbols don't slip in our out of macro-expanded code.</p> <h2>Structures and Self Reference</h2> <p>Another more practical example (which actually was written earlier) was my attempt to create objects with an implicit reference to <code>self</code>, similar to C++ or Java. In this example my end goal was a way to generate static configuration files [2], so I could do away with updating slots.</p> <div style="font-size: 80%;"> [2] I later realized I just reinvented Puppet. </div> <p>After expansion my forms look more or less like</p> <pre><code>(define struct-1 `(a (b ,(lambda (self) (get-field self '(c)))))).</code></pre> <p>Of note is that the field /a/b wants the value /c, which is allowed since it doesn't get evaluated before I actually instantiate the object, and that my system allows for rudimentary inheritance.</p> <p>Before expansion the same information is written:</p> <pre><code>(struct struct-1 () (a (b ,(? c))))</code></pre> <p>Which is rather similar. But keep in mind that the <code>(? c)</code> can be deep within arbitrary other code.</p> <hr /> <p>The base macro <code>struct</code> is just basic setup, but is here for completeness sake,</p> <pre><code>;; Comments added for this article. (define-syntax struct (lambda (stx) (syntax-case stx () [(_ name (parent ...) (key value ...) ...) ;; allow the symbol `?' to be used within the ;; input. Required due to hygienic macros (with-syntax ((? (datum-&gt;syntax stx '?))) #'(define name ;; Call to inner (let ((new-data (inner ? (acc-name ,(symbol-&gt;string 'name)) (key value ...) ...))) ;; Inheritance (mostly unimportant) (lambda (mergable) (alist-merge mergable (fold $ new-data (list parent ...)))))))])))</code></pre> <p><code>Inner</code> is however where all the fun stuff happens! To get it out of the way: all rules takes <code>?</code> due to above mentioned hygienic macros, the leaves of the tree are wrapped in functions to delay evaluation, and the first case below matches on <code>unquote</code> (<code>,</code>) in a stroke of <del>ingenuity</del> madness when I realized that I could hijack scheme's syntax for my own bidding.</p> <pre><code>(define-syntax inner (syntax-rules (unquote) ;; case 1 [(_ ? (unquote value)) (lambda (self) ;; actually give a value to `?' (let-syntax ((? (with-ellipsis .. (syntax-rules () [(? path ..) (get-field self `(path ..))])))) ;; give scheme the job to find all intances of (? ...) value))] ;; case 2 [(_ ? (key sub ...) ...) (sort* `((key ,(inner ? sub ...)) ...) symbol&lt;=? #:get car) ] ;; case 3 [(_ _ v v* ...) (lambda _ (values `v `v* ...))]))</code></pre> <p>Relevant to code walking and macros is case one. The <code>self</code> is captured, the <code>?</code> is finally given a value through let-syntax, which uses our captured <code>self</code> in a simple call to <code>get-field</code>. The core is still the same as above; introduce a binding with <code>let-syntax</code> and let our scheme do the job of finding all appropriate instances of our symbol. Here we just have more fancy stuff around it.</p> <hr /> <p>The scripts in their entirety can be found on <a href="https://blog.hornquist.se/hugo/rss.php#hugonikanor-github">GitHub</a>, even though it feels a bit to intimate to share them this way. <code>Struct</code> there is called <code>account</code>, due to the code's original use case.</p> <h2>References</h2> <h3 id="let-over-lambda">Let over Lambda</h3> <ul> <li>Section 5.4, Code-Walking with Macrolet <a href="https://letoverlambda.com/index.cl/guest/chap5.html#sec_4">https://letoverlambda.com/index.cl/guest/chap5.html#sec_4</a></li> <li>Section 7.7, Pandoric Macros (<code>define-handy-method</code>) <a href="https://letoverlambda.com/index.cl/guest/chap6.html#sec_7">https://letoverlambda.com/index.cl/guest/chap6.html#sec_7</a></li> </ul> <h3 id="hugonikanor-github">Full Scripts</h3> <ul> <li><a href="https://github.com/HugoNikanor/dotfiles/blob/5c74da19aa12171495cb8b857cb2cd6135ff4ea1/scripts/conf-base.scm">https://github.com/HugoNikanor/dotfiles/blob/5c74da19aa12171495cb8b857cb2cd6135ff4ea1/scripts/conf-base.scm</a></li> </ul> Sun, 22 Dec 2019 23:00:00 +0000 dentarg: Scott Galloway on why you have an Amex card, from Pivot. https://dentarg.blog/post/184557612322 https://dentarg.blog/post/184557612322 <video id="embed-62a73bdc5e626581781610" width="400" class="crt-video crt-skin-default" controls="controls" height="225"> <source src="https://va.media.tumblr.com/tumblr_pqsiom8gqK1qz5x2z_480.mp4" type="video/mp4"> </source></video> <br /><br /><p>Scott Galloway on why you have an Amex card, from <a href="https://overcast.fm/+OwaL_AfuU/15:00">Pivot</a>.</p> Tue, 30 Apr 2019 20:10:54 +0000 Jon Lindholm (lindholm): Har du data ska du använda den! http://www.jonlindholm.se/?p=126 http://www.jonlindholm.se/2016/10/12/har-du-data-ska-du-anvanda-den/ <p>Alla har vi hört buzz-orden <i>datadriven marknadsföring</i>, <i>marketing automation </i>och liknande. Alla inom marknadsföring pratar om detta. Och digitaliseringen, såklart – det är ju nyckel till framgång – men det är ett annat inlägg.</p> <p> </p> <p>Även om alla pratar om det och alla företag säger att det jobbar med det så dyker man förvånansvärt ofta på exempel där stora och välkända företag gör det ganska enkelt för sig och använder inte den data (alltså din personliga information) de har. Man får tänka på att konkurrensen bland webbshoparna idag är stenhård och det kan vara detaljer som gör att en kund väljer en annan webbshop än just din.</p> <p> </p> <p>Jag tänkte därför plocka fram två färska exempel på företag som skulle kunna föra detta bättre än vad de gör idag. Dessa exempel handlar om något så enkelt som de bekräftelsemail man får när man handlat hos dem. Ett bekräftelsemail har stor potential att dels göra köparen trygg att allt gått som det ska och man kommer få varorna, men det kan även skapa merförsäljning.</p> <p> </p> <h2>Först ut: Footway</h2> <p>En riktigt nice webbutik som funkar väldigt bra och där jag nyss beställde från. Företaget vet precis vad jag köpt – både nu och tidigare – och kan därför passa på att ge mig erbjudande och rabatter.</p> <p><img width="780" alt="footway-mail" src="http://www.jonlindholm.se/wp-content/uploads/2016/10/footway-mail.jpg" class="alignnone size-full wp-image-127" height="608" /></p> <p>Footway, i det här fallet, utnyttjar inte helt sin data här. Jag valde att betala med Klarna, vilket de naturligtvis vet om. Istället för att skriva som de gör ska de naturligtvis skriva något i stil med: ”Du valde att betala med Klarna. Håll utkik efter ett mail från dem med fakturan.” Väldigt enkelt och ger mer trygghet i hur man betalar – eller om man t.om. glömt hur man betalade så får man en påminnelse.</p> <p> </p> <p>Här skulle man också kunna ge förslag på andra skor som passar till dem jag köpt och kanske till och med ge rabatt om man köper direkt. Här finns det stora utrymmen för att testa sig fram och med relativt enkla medel skapa merförsäljning i ett läge då kunden ofta är mottagbar för det.</p> <h2>Zalando</h2> <p>Ännu värre är Zalando. De skriver all information i brödtext, vilket gör det lätt att missa och jobbigt att läsa. Känslan av trygghet, som jag tidigare nämnde, försvinner mycket i att de måste förklara olika scenarion i texten.</p> <p><img width="780" alt="zalando-mail" src="http://www.jonlindholm.se/wp-content/uploads/2016/10/zalando-mail.jpg" class="alignnone size-full wp-image-129" height="763" /></p> <p>I min beställning skrev jag in mitt mobilnummer, adress och mail.</p> <p> </p> <p>Här borde de skriva ut mitt mobilnummer, vilket skulle göra att de slipper flera meningar i mailet som det ser ut nu. ”Vi kommer skicka ett SMS till dig på 070-123 45 67 när paketet finns att hämta hos dit närmaste postombud.” Hur mycket trevligare är inte det?</p> <p> </p> <p>Jag betalade ordern med mitt kort, men istället för att skriva att allt är betalt och klart så väljer de alltså att skriva ut det väldigt kryptiskt. ”Du har valt följande betalningssätt: <strong>Bank-</strong> eller <strong>kreditkort</strong>.” Kom igen!</p> <p> </p> <p>Zalando försöker ändå med att ge mig 10% rabatt om jag skriver upp mig för deras nyhetsbrev. Att jag redan prenumererar på det verkar inte spela någon roll. Detta skapar frågor istället för att fokusera på det bra erbjudandet.</p> <p> </p> <p>Genom att använda den data (information) jag skrev in vid köpet plus mina tidigare köp så skulle de kunna ta bort mycket av den krångliga texten och istället lyfta fram produkter som jag troligtvis skulle kunna vara intresserad av.</p> <p> </p> <p>De kan fortfarande ge mig rabatt men istället för att få den via att jag registrerar mig för ett nyhetsbrev – som jag alltså redan är prenumerant på – så skulle det t.ex. kunna vara att jag får 10% om jag tipsar en kompis om Zalando.</p> <h2>Finns det några bra exempel då?</h2> <p>Visst finns det bra exempel! Hotels.com är en favorit till mig. De arbetar inte med merförsäljning i bekräftelsemailet utan de arbetar bara med att göra mig som kund trygg i mitt köp, vilket är helt rätt i deras fall.</p> <p><img width="780" alt="hotels-mail" src="http://www.jonlindholm.se/wp-content/uploads/2016/10/hotels-mail.jpg" class="alignnone size-full wp-image-128" height="1135" /></p> <p>Först och främst så är det först man ser att allt är betalt och bekräftat. Inte gömt i en brödtext utan stort och tydligt så jag släpper den första oron. De ger mig sen bild på hotellet, adress med länk till karta, telefonnummer till hotellet och precis den information jag som kund är ute efter. Den snyggaste detaljen måste ändå vara att de först skriver informationen på ditt förvalda språk men sen lägger de även till språket i det landet du bokat i. Vilken skön detalj är inte det!?</p> <p> </p> <p>Det finns fortfarande stor potential och möjligheter vad gäller att använda kundernas data i kommunikationen. I dessa fallen var det enbart bekräftelsemail men man ser liknande vid nyhetsbrev och andra marknadsföringskampanjer.</p> <p> </p> <p><b>Slutsatsen blir då</b>: Använd ALL data du har för att förbättra kundupplevelsen, även om det skapar lite merjobb för dig. Det andra är att tänka på de små detaljerna. Vad behöver kunden veta i just detta skede och hur kan vi överträffa förväntningarna?</p> Wed, 12 Oct 2016 14:34:16 +0000 Jon Lindholm (lindholm): Ladda ner Vansbro-posters http://www.jonlindholm.se/?p=113 http://www.jonlindholm.se/2016/07/08/vansbro-posters/ <p>Något man ofta ser på inredningssiter är posters med rena motiv i form av svartvita kartor. Dessa är snygga och ger ett häftigt uttryck på väggarna. Tanken om att göra något liknande, fast mer lokalt, slog mig för ett tag sedan. Därför lägger jag nu ut två varianter av dessa posters föreställande Vansbros gatunät och Vansbro Landmarks, dvs. några utvalda byggnader som har betydelse i gatubilden. Liknande Landmarks-posters finns att köpa över Stockholm, London och New York, för att nämna några städer. Och nu finns även Vansbro i detta angenäma sällskap.</p> <p>Vansbro Landmarks-postern är konturerna av de ånglok som står efter Järnvägsgatan, Lokstallet sett från ena kortsidan, järnvägsbron som går över Vanån och sist, men inte minst, är såklart järnvägsstationen med. Ladda ner dem och be ditt lokala tryckeri att skriva ut dem.<br /> <img width="1200" alt="vansbro-posters-webb-2016" src="http://www.jonlindholm.se/wp-content/uploads/2016/07/vansbro-posters-webb-2016.jpg" class="big-image-1200 box-shadow alignnone wp-image-110 size-full" height="852" /></p> <h2>Ladda ner</h2> <p>Ladda ner poster av <a href="http://www.jonlindholm.se/wp-content/uploads/2016/07/VANSBRO-KARTPOSTER.pdf" target="_blank">karta över Vansbro</a>. <em>Postern är gjord i A3-format (297mm × 420mm) men går att skriva ut i andra storlekar med.</em></p> <p>Ladda ner postern <a href="http://www.jonlindholm.se/wp-content/uploads/2016/07/vansbro_landmarks.pdf" target="_blank">Vansbro Landmarks</a>. <em>Postern är gjort 500mm × 700mm men går att skriva ut i andra storlekar.</em></p> <p>Såhär snygga blir de inramade.</p> <p><img width="1200" alt="vansbro-posters-webb-foton-2016" src="http://www.jonlindholm.se/wp-content/uploads/2016/07/vansbro-posters-webb-foton-2016.jpg" class="big-image-1200 box-shadow alignnone wp-image-109 size-full" height="772" /></p> Fri, 08 Jul 2016 14:03:55 +0000 Hans Persson (unicorn): Läst under 2014 tag:blogger.com,1999:blog-15467815.post-7247874051895880302 http://pinkunicornblog.blogspot.com/2015/01/last-under-2014.html <img src="http://www.lysator.liu.se/planet/images/unicorn.png" alt="" align="right" style="float: right;"/>Jag brukar tycka att jag borde hinna med att läsa en bok i veckan och även det här året har det stämt: totalsumman blev 54 vilket är ungefär detsamma som de senaste åren.<br /><br />Vad som däremot är noterbart är att jag visst läst mycket mer på engelska än under de närmast föregående åren. Under 2011-2013 kom jag aldrig upp i mer än 38% engelska böcker som mest. I år blev det 67%. Inte mig emot egentligen och en tillbakagång till hur det varit förr när jag flera år passerade 90% men det ett tag sedan sist.<br /><br />Engelska vet jag å andra sidan att jag kan läsa obehindrat. Vad jag skulle vilja är att komma igång att läsa på tyska. Under 2014 har jag läst ett par tidskrifter på tyska och börjat på en ungdomsroman men jag har inte kommit så många sidor i den och får erkänna att det än så länge går lite trögt. Jag får se det som ett mål för 2015 att lära mig att läsa på tyska.<br /><br />De bästa romanerna jag läste under 2014:<br /><br /><ul><li>Mats Strandberg &amp; Sara Bergmark Elfgren: <i>Nyckeln</i></li><li>Jo Walton: <i>Among Others</i></li><li>Neil Gaiman: <i>The Ocean at the End of the Lane</i></li><li>Cory Doctorow: <i>Pirate Cinema</i></li><li>Simon Stålenhag: <i>Ur varselklotet</i></li><li>George R. R. Martin: <i>A Dance with Dragons</i></li></ul><br /><div>Vad det gäller <i>Nyckeln</i> och <i>A Dance with Dragons</i> kan noteras att jag inte menar att de nödvändigtvis är de bästa delarna i sina respektive serier men att jag uppskattat serierna i sin helhet mycket även om resten av delarna lästs under andra år.</div><div><br /></div><div>De bästa serierna jag läste under 2014:</div><div><ul><li>Robert Kirkman: <i>The Walking Dead</i></li><li>Greg Rucka: <i>Lazarus</i></li><li>Liv Strömqvist: <i>Prins Charles känsla</i></li><li>Craig Thompson: <i>Habibi</i> och <i>Blankets</i></li><li>Alison Bechdel: <i>Fun Home: A Family Tragicomic</i></li></ul><div>Här måste jag speciellt lyfta fram Craig Thompson som en väldigt trevlig bekantskap som jag ska hålla utkik efter framöver.</div></div><div><br /></div> Fri, 02 Jan 2015 08:59:37 +0000 noreply@blogger.com (Hans Persson) David Hall (dp): Friends arena http://moonhouse.se/posts/friends-arena http://moonhouse.se/posts/friends-arena <p>[bambuser id=”4700375”]</p> Fri, 13 Jun 2014 16:15:17 +0000 Hans Persson (unicorn): 2014-12: Joe Hill: Alpha & Omega tag:blogger.com,1999:blog-15467815.post-1549033895925723250 http://pinkunicornblog.blogspot.com/2014/04/2014-12-joe-hill-alpha-omega.html <img src="http://www.lysator.liu.se/planet/images/unicorn.png" alt="" align="right" style="float: right;"/><div style="clear: both; text-align: center;" class="separator"><a style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" href="http://familjen-persson.se/bilder/omslag/2014/0012.jpg"><img width="208" src="http://familjen-persson.se/bilder/omslag/2014/0012.jpg" border="0" height="320" /></a></div>Det här albumet är den sjätte och sista delen i serien <i>Locke &amp; Key</i> och jag tycker att det har varit en mycket trevlig bekantskap. Personerna har känts trovärdiga trots de ibland rätt skruvade övernaturligheter de har drabbats av. Illustrerandet har genomgående skötts med den äran av Gabriel Rodriguez.<br /><br />I den här avslutande volymen får vi så klart en del extra fyrverkerier innan upplösningen som jag tycker fungerar bra. Jag vill inte avslöja några detaljer men saker som jag förväntat mig skulle vara väsentliga utan att veta exakt hur blev mycket riktigt det och gav dessutom en extra knorr till själva berättandet.<br /><br />Man kan också notera att Hill gör en liten <a href="http://2.bp.blogspot.com/-SdttRIvD3Js/Uk9bTBMOsuI/AAAAAAAAGiM/48N9Om_2y80/s1600/carrie_1976_1.jpg">homage till pappa</a> i en scen. Som alltid med referenser är det inte alla som kommer att förstå den, men här konstaterar de inblandade själva efter händelsen att det är just ingen i deras omgivning som förstår dem så det är väl inte mer än rätt att även en del av läsarna inte gör det.<br /><br />Jag är faktiskt lite sugen på att läsa om hela serien en gång till utan långa uppehåll mellan varje album (jag har köpt dem allt eftersom de kommit ut hela vägen) för att få lite bättre koll på handlingen genom att läsa hela på en gång.<br /><br />Joe Hill: <i>Alpha &amp; Omega</i><br />Illustrationer: Gabriel Rodriguez<br />IDW, 2014<br />192 sidor<br />ISBN: 978-1-61377-853-1<br /><br /> Mon, 14 Apr 2014 20:08:31 +0000 noreply@blogger.com (Hans Persson) David Hall (dp): Blogg 100 som Flipboard-magasin http://moonhouse.se/posts/blogg-100-som-flipboard-magasin http://moonhouse.se/posts/blogg-100-som-flipboard-magasin <p>Jag väljer ut inlägg från <a href="http://bisonblog.se/2014/02/blogg100-tredje-gangen-gillt/">Blogg 100</a> och lägger ut i ett magasin på appen Flipboard:</p> <p><a href="https://flipboard.com/section/blogg-100-__YXV0aC9mbGlwYm9hcmQvY3VyYXRvciUyRm1hZ2F6aW5lJTJGbjAyOUk3cG1SeFdzT2g3SEw5T3RZdyUzQW0lM0E1MjM5ODY%3D">View my Flipboard Magazine.</a></p> <p>Kriterierna för mitt urval är helt godtyckliga men andemeningen är att jag själv ska tycka det är intressant och/eller att jag tror att andra tycker det är intressant att läsa.</p> <p>Själv tänker jag inte lova 100 inlägg närmaste 100 dagarna på denna blogg. Kanske kommer det ett och annat inlägg här. Däremot tänker jag och mina kolleger skriva på bloggen <a href="http://http.tv4.se/">http.tv4.se</a>. Imorgon kommer mitt första inlägg som en del av Blogg 100. </p> <p>Senast jag bloggade på jobbloggen var från Las Vegas <a href="http://http.tv4.se/2014/01/">när jag bevakade International Consumer Electronics Show</a> för TV4:s räkning.</p> Sat, 01 Mar 2014 17:36:56 +0000 tobbez: PuTTY-url 0.63 https://blog.ryara.net/?p=313 https://blog.ryara.net/2013/08/08/putty-url-0-63/ <p>I just released PuTTY-url based on PuTTY 0.63. PuTTY-url is a patch that adds support for clickable URLs to PuTTY.</p> <p>You can download it from <a href="http://ryara.net/putty-url/">http://ryara.net/putty-url/</a>.</p> <p>Make sure to update, since PuTTY 0.63 includes fixes for four security issues. See the <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">PuTTY web site</a> for more information.</p> Wed, 07 Aug 2013 23:36:21 +0000 tobbez: Upgrading firmware on the Linksys SRW2024 without using the web interface https://blog.ryara.net/?p=256 https://blog.ryara.net/2012/11/29/upgrading-firmware-on-the-linksys-srw2024-without-using-the-web-interface/ <p>This is useful if, for example, the web interface keeps resetting the connections.</p> <p>Upgrading the firmware requires first updating the boot code, and the regular console in the earlier firware doesn’t have support for flashing the boot code. However, there is a hidden IOS-like cli available, that makes it possible to upgrade the boot code over tftp. An additional benefit is that it is much faster than using xmodem.</p> <p><b>The steps</b></p> <ol> <li>Setup a tftp server on your machine, serving the files <code>srw2024_16_boot-101.rfb</code> and <code>ls20xx-12230.ros</code> (download from <a href="http://www.cisco.com/cisco/pub/software/portal/select.html?mdfid=282414074&amp;catid=268438038" title="Cisco">Cisco</a>) </li><li>Connect your computer to the switch using ethernet and serial cables.</li> <li>Boot the switch.</li> <li>Log into the console.</li> <li>Press C-z.</li> <li>On the new promt, type <code>lcli</code> and press enter.</li> <li>To upgrade the boot code, type <code>copy tftp:///srw2024_16_boot-101.rfb boot</code></li> <li>Then upgrade the firmware: <code>copy tftp:///ls20xx-12230.ros image</code></li> <li>Lastly, restart the switch: <code>reload</code></li> </ol> <p>That’s it.</p> <p>As an aside, please note that the web interface only works in Internet Explorer, so if it seems like it doesn’t work, it’s probably because your’re using another browser.</p> Thu, 29 Nov 2012 13:55:35 +0000 Per Jonsson (poj): Gott Nytt År! (igen) urn:md5:01a340e9aeb92d0fa2aaec1d8ce969ac http://blog.dravejk.net/post/2010/12/31/Gott-Nytt-%C3%85r%21-%28igen%29 <p>Det har varit lite dåligt med postningar på bloggen, men nu är det i alla fall dags att önska ett Gott Nytt År!</p> <p>Ett nytt år som är det näst sista på väldigt länge som har en dag där tvåsiffrigt årsnummer, månad och dag i månad alla har samma värde. Efter den 11 november 2011 är det bara 12 december 2012 kvar innan man får vänta ända till den 1:a januari 2101 innan det går igen, och det är fasligt länge.</p> <p>Hoppas att 2011 eller 0x7DB blir ett minst lika intressant år som 2010!</p> Fri, 31 Dec 2010 21:42:00 +0000 Per Jonsson (poj): Bacon och Broccoli urn:md5:01a2076792763f307a76dab3cc94c8b0 http://blog.dravejk.net/post/2010/09/26/Bacon-och-Broccoli <p>Vissa kombinationer råkar man bara kombinera, och sen är man fast. Bacon och Broccoli är en sådan kombination. Dessutom låter det trevligt.</p> Sun, 26 Sep 2010 17:07:00 +0000 Thomas Axelsson (axl): AVR, Gentoo and Paludis tag:blogger.com,1999:blog-4947850669095347038.post-7020398281341188310 http://thomasa88.blogspot.com/2009/12/avr-gentoo-and-paludis.html Seeing that there is a new AVR simulator for linux in town, <a href="http://gitorious.org/simavr">simavr</a>, I decided to get the latest avr gcc packages for Gentoo. (More about simavr when I have gotten a bit accustomed to it)<br /><br />As the crossdev scripts don't really wants to play nice with Paludis the packages have to be "created" manually. This is really a simple procedure as the packages themself already works for different targets, they just need to be told. I got the information on how to do it from the <a href="http://en.gentoo-wiki.com/wiki/Paludis/AVR_Crossdev">Gentoo wiki</a>. <br /><br />First one needs a repo for the cross avr chain. We will call it cross-avr. It is created by putting this configuration file in /etc/paludis/repositories:<br /><br /><pre class="bash" name="code">master_repository = gentoo<br />format = ebuild<br />location = /var/paludis/repositories/cross-avr<br />names_cache = /var/cache/paludis/names<br />write_cache = /var/cache/paludis/metadata<br /></pre><br />And to get the files in the repo, make the directory and create symbolink links for the required packages:<br /><br /><pre class="bash" name="code">mkdir /var/paludis/repositories/cross-avr/{cross-avr,profiles} -p<br />cd /var/paludis/repositories/cross-avr/cross-avr<br />ln -s /usr/portage/dev-embedded/avr-libc<br />ln -s /usr/portage/sys-devel/binutils<br />ln -s /usr/portage/sys-devel/gcc<br />ln -s /usr/portage/sys-devel/gdb<br /></pre><br />The repo also needs to be named and as the category is not in the master tree (portage) it needs to be added to the categories file:<br /><br /><pre class="bash" name="code">cd ../profiles<br />echo cross-avr &gt; repo_name<br />echo cross-avr &gt; categories<br /></pre><br />Finally we need to tell paludis to use the avr-gcc for the other cross-avr packages, by placing this in /etc/paludis/bashrc<br /><br /><pre class="bash" name="code">#cross-build avr<br />if [[ "${CATEGORY}" == "cross-avr" ]]<br />then<br /> if [[ "${PN}" != "gcc" &amp;&amp; "${PN}" != "binutils" ]]<br /> then<br /> CBUILD=${CHOST}<br /> CHOST=avr<br /> CFLAGS="-Os"<br /> fi<br />fi<br /></pre><br />Now we have the ("auto-syncing" :D) repo set up!<br /><br />To make sure that paludis knows about the new packages we run:<br /><pre class="bash" name="code">paludis --regenerate-installable-cache cross-avr<br /></pre><br /><br />Next up is the installation. Do a pretend to see what paludis will pull in:<br /><pre class="bash" name="code">paludis cross-avr/binutils cross-avr/gcc cross-avr/avr-libc cross-avr/gdb -ip<br /></pre><br />Here it is important to note all the use flags for gcc. My experience is that most of them will break avr-gcc and my recommendation is to turn them all off.<br /><br />At last we are ready. Start the build and grab a mug of cocoa.<br /><br />While you wait it may be interesting to know that avr-libc will place the libs in /usr/avr. And if you want to start playing with simavr you need to change AVR_ROOT, in its Makefile.common, to this path. But more on that another time ;)<br /><br />When the packages are installed you may want to create a symlink in /usr/avr/lib to /usr/x86_64-pc-linux-gnu/avr/lib/ldscripts (substitute architechture as appropriate) because ld will have problems finding the linker scripts otherwise. (/usr/libexec/gcc/avr/ld: cannot open linker script file ldscripts/avr4.x: No such file or directory, <a href="http://bugs.gentoo.org/show_bug.cgi?id=147155">Gentoo bug</a>)<br /><br />Now you can compile your avr projects with avr-gcc! Happy hacking! Wed, 30 Dec 2009 00:09:08 +0000 noreply@blogger.com (Unknown) Thomas Axelsson (axl): Custom PATH in KDE run dialog tag:blogger.com,1999:blog-4947850669095347038.post-8464019484431267479 http://thomasa88.blogspot.com/2009/05/custom-path-in-kde-run-dialog.html It has bothered me for a while that the KDE run dialog (Alt+F2) won't find my custom scripts in <i>~/bin</i>. After a failed attempt, with <i>~/.kde/env/bin_path</i>, I found a way that should (in theory) work with any desktop manager.<br /><br />The solution is to put the export command in a file called <i>~/.xprofile</i><br /><pre class="bash" name="code"><br />export PATH="/home/thomas/bin:${PATH}:/home/thomas/installs/bin"<br /></pre><br />(I keep all my user installed apps in ~/installs/bin ;)) Fri, 29 May 2009 18:31:59 +0000 noreply@blogger.com (Unknown) bjowi: Stockholm beer and whisky. tag:blogger.com,1999:blog-3853179060413646984.post-6966036186395718966 http://essgee.blogspot.com/2007/09/stockholm-beer-and-whisky.html <br /><a href="http://www.lysator.liu.se/~bjowi/img/2007-09-29:21:45:01.306107-002.jpg"><img src="http://www.lysator.liu.se/~bjowi/img/2007-09-29:21:45:01.306107-002_small.jpg" /></a> Sat, 29 Sep 2007 19:45:13 +0000 noreply@blogger.com (essgee) bjowi: Kom till Villevalla! Nu. tag:blogger.com,1999:blog-3853179060413646984.post-7386693857068733264 http://essgee.blogspot.com/2007/09/kom-till-villevalla-nu.html <br /><a href="http://www.lysator.liu.se/~bjowi/img/2007-09-06:21:25:48.951630-002.jpg"><img src="http://www.lysator.liu.se/~bjowi/img/2007-09-06:21:25:48.951630-002_small.jpg" /></a> Thu, 06 Sep 2007 19:26:01 +0000 noreply@blogger.com (essgee)