summaryrefslogtreecommitdiffstats
path: root/content/blog
diff options
context:
space:
mode:
Diffstat (limited to 'content/blog')
-rw-r--r--content/blog/2015-08-04-some-webcomics/cheerupemokid-comic.pngbin0 -> 123964 bytes
-rw-r--r--content/blog/2015-08-04-some-webcomics/index.md75
-rw-r--r--content/blog/2015-08-04-some-webcomics/oglaf-comic.jpgbin0 -> 44560 bytes
-rw-r--r--content/blog/2015-08-04-some-webcomics/pepper-carrot-cover_by-david-revoy.jpgbin0 -> 57922 bytes
-rw-r--r--content/blog/2015-08-04-some-webcomics/ssss-comic.jpgbin0 -> 94979 bytes
-rw-r--r--content/blog/2015-08-04-some-webcomics/wws-comic.jpgbin0 -> 80697 bytes
-rw-r--r--content/blog/2015-08-07-hvem-betaler-for-kirkevalget/index.md17
-rw-r--r--content/blog/2015-08-08-gchq-and-me/index.md15
-rw-r--r--content/blog/2015-08-20-rettighetsalliansen-mot-rettsvernet/index.md30
-rw-r--r--content/blog/2015-08-21-the-puritanical-glee-over-ashley-madison/index.md17
-rw-r--r--content/blog/2015-09-14-stop-using-noreply-addresses/index.md36
-rw-r--r--content/blog/2015-09-14-stop-using-noreply-addresses/noreply-banned.pngbin0 -> 39903 bytes
-rw-r--r--content/blog/2015-10-02-kalandra/index.md39
-rw-r--r--content/blog/2015-10-02-kalandra/kalandra-onto-the-fire.jpgbin0 -> 723591 bytes
-rw-r--r--content/blog/2015-10-02-kalandra/kalandra-sell-your-voice.jpgbin0 -> 768782 bytes
-rw-r--r--content/blog/2015-11-14-a-sad-day/index.md13
-rw-r--r--content/blog/2015-12-09-eagles-of-death-metal-back-in-paris/index.md24
-rw-r--r--content/blog/2015-12-16-java-as-afirst-language/index.md110
-rw-r--r--content/blog/2015-12-21-setting-up-lets-encrypt-with-ruby-on-rails-and-freebsd/index.md71
-rw-r--r--content/blog/2015-12-21-setting-up-lets-encrypt-with-ruby-on-rails-and-freebsd/letsencrypt-logo-horizontal.svg165
-rw-r--r--content/blog/2015-12-24-are-we-up-for-anonymity/index.md25
-rw-r--r--content/blog/2015-12-25-do-not-track/do-not-track.pngbin0 -> 21433 bytes
-rw-r--r--content/blog/2015-12-25-do-not-track/index.md20
-rw-r--r--content/blog/2016-01-30-robb-flynn-comments-anselmos-nazi-salute/index.md17
-rw-r--r--content/blog/2016-01-31-dagbladet-sponser-facebook/index.md93
-rw-r--r--content/blog/2016-06-21-paypal-som-demokratisk-problem/index.md73
-rw-r--r--content/blog/2016-07-22-noen-sår-må-aldri-gro/index.md26
27 files changed, 866 insertions, 0 deletions
diff --git a/content/blog/2015-08-04-some-webcomics/cheerupemokid-comic.png b/content/blog/2015-08-04-some-webcomics/cheerupemokid-comic.png
new file mode 100644
index 0000000..0e453b9
--- /dev/null
+++ b/content/blog/2015-08-04-some-webcomics/cheerupemokid-comic.png
Binary files differ
diff --git a/content/blog/2015-08-04-some-webcomics/index.md b/content/blog/2015-08-04-some-webcomics/index.md
new file mode 100644
index 0000000..ef81670
--- /dev/null
+++ b/content/blog/2015-08-04-some-webcomics/index.md
@@ -0,0 +1,75 @@
++++
+title = "Some webcomics"
+lang = "en"
+
+[taxonomies]
+tags = ["comics", "art"]
+
+[extra]
+author = "harald"
++++
+
+Just the way the web has made distribution easier for independent musician, the same has happened for comics. I see a lot of fresh and interesting comics on the web these days, so I thought I'd share some of my favourites at the moment.
+
+<!-- more -->
+
+## Stand Still, Stay Silent
+
+{% figure(img="ssss-comic.jpg") %}
+_Stand Still Stay Silent_
+{% end %}
+
+This is hands down some of the best I've seen on the web yet. It easily matches high quality comics in paper, has a interesting storyline and is updated every weekday! We're set in the future Scandinavia after some disaster has pretty much wiped out all of the rest of the world, and most of Scandinavia too. We follow a crew sent out on an expedition to reclaim some of the knowledge from the old world. This comic has a strong root in scandinavian mythology, and some absolutely beautiful artwork.
+
+[Stand Still, Stay Silent on the web](http://www.sssscomic.com/)
+
+## Wormworld Saga
+
+{% figure(img="wws-comic.jpg") %}
+_Wormworld_
+{% end %}
+
+Another great comic with a longer storyline. We follow a small boy in his adventures in a strange and different world, that he accidentally stumbles upon by walking through a painting in his grandmothers attic. The artwork is very well done, and the format is really made for the web in a way I haven't seen in any other comics. Each chapter is released only when it is complete, which is not too often, about one chapter a year or so seems to be a normal pace. The wait is worth it however, thought I find I have to refresh by re-reading the previous chapter whenever a new one is released.
+
+[Wormworld Saga on the web](http://wormworldsaga.com/)
+
+## Cheer up, Emo-kid
+
+{% figure(img="cheerupemokid-comic.png") %}
+_Cheer up Emo Kid_
+{% end %}
+
+This is a stripe series that is updated a few times a week. This is black humour, without too much regard for social norms or conventions. Most stripes are self-contained, but the artist sometimes make longer sequences too, like the classic http://www.cheerupemokid.com/comic/dog-part-1[``Dog'']. The comic is well done, but not in the naturalistic style of the comics above. It makes for a good laught, if you're not too easily offended. (And why should you be?)
+
+[Cheer up, Emo-kid on the web](http://www.cheerupemokid.com/)
+
+## Oglaf
+
+{% figure(img="oglaf-comic.jpg") %}
+_Oglaf_
+{% end %}
+
+I just recently stumbled upon this brilliant pearl of a panel based comic. Really well drawn, and with lot's on infantile, sexually loaded puns and jokes in a semi-medeaval setting. It's not too often I laugh loudly at work from reading anything on the web, with this one I did! (Be warned, less liberal workplaces may consider this comic NSFW, so check it out in private first.) Updated every sunday.
+
+[Oglaf on the web](http://oglaf.com/)
+
+## Pepper & Carrot
+
+{% figure(img="pepper-carrot-cover_by-david-revoy.jpg") %}
+_Pepper & Carrot_
+{% end %}
+
+Back to more family friendly stuff: Pepper & Carrot is a really cute comic
+about a young whitch, her cat and their various adventures in their world of
+magic, potions and dragons. This is a child friendly comic that still is fun
+and entertaining also for the adults. In addition to being a well made comic it
+is also one of the few where all the artwork is [free to use and
+reuse](http://www.peppercarrot.com/en/static2/philosophy) under the [Creative
+Commons Attribution Licence
+v4.0](https://creativecommons.org/licenses/by/4.0/)! Also all the artwork and
+the web site is made entirely using [free
+software](https://www.gnu.org/philosophy/free-sw.html)!
+
+[Pepper & Carrot on the web](http://www.peppercarrot.com/)
+
+I hope you will enjoy at least some of these comics! Check them out and follow them on RSS if you like them. Spread the word and support the great artist making such great art available on the free web.
diff --git a/content/blog/2015-08-04-some-webcomics/oglaf-comic.jpg b/content/blog/2015-08-04-some-webcomics/oglaf-comic.jpg
new file mode 100644
index 0000000..5b82f27
--- /dev/null
+++ b/content/blog/2015-08-04-some-webcomics/oglaf-comic.jpg
Binary files differ
diff --git a/content/blog/2015-08-04-some-webcomics/pepper-carrot-cover_by-david-revoy.jpg b/content/blog/2015-08-04-some-webcomics/pepper-carrot-cover_by-david-revoy.jpg
new file mode 100644
index 0000000..d50c878
--- /dev/null
+++ b/content/blog/2015-08-04-some-webcomics/pepper-carrot-cover_by-david-revoy.jpg
Binary files differ
diff --git a/content/blog/2015-08-04-some-webcomics/ssss-comic.jpg b/content/blog/2015-08-04-some-webcomics/ssss-comic.jpg
new file mode 100644
index 0000000..8bf8438
--- /dev/null
+++ b/content/blog/2015-08-04-some-webcomics/ssss-comic.jpg
Binary files differ
diff --git a/content/blog/2015-08-04-some-webcomics/wws-comic.jpg b/content/blog/2015-08-04-some-webcomics/wws-comic.jpg
new file mode 100644
index 0000000..28c99c2
--- /dev/null
+++ b/content/blog/2015-08-04-some-webcomics/wws-comic.jpg
Binary files differ
diff --git a/content/blog/2015-08-07-hvem-betaler-for-kirkevalget/index.md b/content/blog/2015-08-07-hvem-betaler-for-kirkevalget/index.md
new file mode 100644
index 0000000..d31ace0
--- /dev/null
+++ b/content/blog/2015-08-07-hvem-betaler-for-kirkevalget/index.md
@@ -0,0 +1,17 @@
++++
+title = "Hvem betaler for kirkevalget?"
+lang = "no"
+
+[taxonomies]
+tags = ["statskirke", "kirkevalg", "religionsfrihet"]
++++
+
+Velskrevet og interessant [innlegg i Dagbladet][1]:
+
+> Det er i seg selv problematisk at kirkevalget gjennomføres i sammenheng med landets demokratiske prosesser. Det er jo tross alt ikke til en del av staten det skal velges, men til et av landets mange trossamfunn. Et av over 700 tros- og livssynssamfunn.
+
+Akkurat her tar imidlertid forfatteren feil. Den norske Kirke *er* en del av staten, og det er nettopp derfor den har en egen lov, egne finansieringsordninger, og at kirkevalget gjennomføres i forbindelse med stortings- og kommunevalg.
+
+Ellers er jeg helt enig i forfatterens observasjoner og konklusjoner.
+
+[1]: http://www.dagbladet.no/2015/08/07/kultur/debatt/kronikk/meninger/kirkevalget/40495753/
diff --git a/content/blog/2015-08-08-gchq-and-me/index.md b/content/blog/2015-08-08-gchq-and-me/index.md
new file mode 100644
index 0000000..f2e492a
--- /dev/null
+++ b/content/blog/2015-08-08-gchq-and-me/index.md
@@ -0,0 +1,15 @@
++++
+title = "GCHQ and me"
+lang = "en"
+
+[taxonomies]
+tags = ["surveillance", "echelon"]
++++
+
+A really great read from Duncan Campbell, the investigative reporter who exposed the Echelon program in 1988.
+
+> In my 40 years of reporting on mass surveillance, I have been raided three times; jailed once; had television programs I made or assisted making banned from airing under government pressure five times; seen tapes seized; faced being shoved out of a helicopter; had my phone tapped for at least a decade; and — with this arrest — been lined up to face up to 30 years imprisonment for alleged violations of secrecy laws. And why do I keep going? Because from the beginning, my investigations revealed a once-unimaginable scope of governmental surveillance, collusion, and concealment by the British and U.S. governments — practices that were always as much about domestic spying during times of peace as they were about keeping citizens safe from supposed foreign enemies, thus giving the British government the potential power to become, as our source that night had put it, a virtual “police state.”
+
+Read [the full article][1] over at The Intercept.
+
+[1]: https://firstlook.org/theintercept/2015/08/03/life-unmasking-british-eavesdroppers/
diff --git a/content/blog/2015-08-20-rettighetsalliansen-mot-rettsvernet/index.md b/content/blog/2015-08-20-rettighetsalliansen-mot-rettsvernet/index.md
new file mode 100644
index 0000000..1034ce6
--- /dev/null
+++ b/content/blog/2015-08-20-rettighetsalliansen-mot-rettsvernet/index.md
@@ -0,0 +1,30 @@
++++
+title = "Rettighetsaliansen mot rettsvernet"
+lang = "no"
+
+[taxonomies]
+tags = ["film", "popcorn time", "sensur"]
+
+[extra]
+author = "harald"
++++
+
+I en [artikkel i Aftenposten][1] kommenterer leder for [Rettighetsalliansen][2] Willy Johansen nyheten om at dansk politi er satt inn mot brukere av piratprogramvaren Popcorn Time. Han vil ikke gå for samme fremgangsmåte i Norge:
+
+> **Johansen mener den beste løsningen snarere er å pålegge bredbåndstilbyderene å blokkere trafikken.**
+>
+> \- Det er fort gjort, og vi mener at Kulturdepartementet etter å ha fastslått at Popcorn Time er ulovlig, burde fulgt opp med å pålegge bredbåndstilbyderne å blokkere Popcorn Time. Nå må vi gå rettens vei, noe som både er en tidkrevende og svært kostbar prosess, sier Johansen.
+
+Det som likevel bekymrer meg er at Johansen ser ut til å mene at det å sensurere internett på bakgrunn av kommersielle interesser burde være en trivialitet som man ikke trengte å blande rettsvesnet inn i. Det virker som han synes det er litt brysomt.
+
+<!-- more -->
+
+Det er jeg sterkt uenig i. Dersom internettilbydere skal pålegges å blokkere noe som helst så er det et absolutt minstekrav at det skal finnes en rettskraftig dom på akkurat det. Selv da er jeg tvilende til at dette er riktig fremgangsmåte. Sensur er et veldig alvorlig inngrep, å i det heletatt foreslå at dette burde kunne løses uten domstolenes medvirkning er rett og slett hårreisende!
+
+Nå er ikke det å sensurere internett særlig enkelt, så noen effektiv måte å stoppe en tjeneste man ikke liker er det uansett ikke. Det som snarere bekymrer meg er filmbransjens brennende iver etter å sensurere. Man skulle tro at en bransje som selv lever av å kunne uttrykke seg fritt ville være litt mer restriktive med å foreslå den utveien. Hvis først filmbransjen skal få blankofullmakt til å sensurere nettsteder de ikke liker, hvorfor skal ikke f.eks. oljebransjen få det samme?
+
+Hva burde de så gjøre i stedet? Hva med å lage noe som er bedre selv? [Koden][3] er tross alt tilgjengelig. Jeg skjønner ikke at bransjen ikke har tatt tak i den og bygget sin egen plattform på den. Det kunne både vi som liker film, og bransjen selv tjene godt på!
+
+[1]: http://www.aftenposten.no/digital/Dansk-politi-aksjonerer-mot-Popcorn-Time-585971_1.snd
+[2]: http://www.ra-norge.no/
+[3]: https://git.popcorntime.re/popcorntime/desktop
diff --git a/content/blog/2015-08-21-the-puritanical-glee-over-ashley-madison/index.md b/content/blog/2015-08-21-the-puritanical-glee-over-ashley-madison/index.md
new file mode 100644
index 0000000..ce5c0af
--- /dev/null
+++ b/content/blog/2015-08-21-the-puritanical-glee-over-ashley-madison/index.md
@@ -0,0 +1,17 @@
++++
+title = "The Puritanical Glee Over the Ashley Madison Hack"
+lang = "en"
+
+[taxonomies]
+tags = ["moralism", "puritanism", "ashley madison"]
++++
+
+From [The Intercept][1]:
+
+> That the cheating scoundrels of Ashley Madison got what they deserved was a widespread sentiment yesterday. Despite how common both infidelity and online pornography are, tweets expressing moralistic glee were legion. Websites were created to enable easy searches of the hacked data by email address. An Australian radio station offered to tell listeners on air if their spouse’s names appeared in the data base, and informed one horrified woman caller that her husband did.
+
+This is one leak we could live without. I agree it's important to expose lacking privacy/security in sites that claims more than they can deliver. Especially when charging for something that clearly has not been done. However, exposing private information about ordinary people is not the way to do this.
+
+This is just moralistic self righteusness in a digital equivalent to the inquisition. I'm not impressed.
+
+[1]: https://firstlook.org/theintercept/2015/08/20/puritanical-glee-ashley-madison-hack/
diff --git a/content/blog/2015-09-14-stop-using-noreply-addresses/index.md b/content/blog/2015-09-14-stop-using-noreply-addresses/index.md
new file mode 100644
index 0000000..99475bb
--- /dev/null
+++ b/content/blog/2015-09-14-stop-using-noreply-addresses/index.md
@@ -0,0 +1,36 @@
++++
+title = "Stop using noreply-addresses!"
+lang = "en"
+
+[taxonomies]
+tags = ["email", "netiquette"]
++++
+
+{% figure(img="noreply-banned.png") %}
+Ban noreply addresses!
+{% end %}
+
+Noreply-addresses are way to common in my inbox these days. These are usually emails from some company, a website or an automated system that wants to notify me about something. Sometimes it is notifications I want, sometimes not. The source of the email is for the most part irrelevant, the important thing is: _I should be able to reply to any email!_
+
+<!-- more -->
+
+By all means, there's quite a lot of emails I would not normally respond to anyways, but that desicion should be mine. There may be a number of resons I want to respond, and preventing me from doing so feels like an intrusion. It's quite simply rude. If you're not capable of handling responses to messages you send out, you should not send them in the first place.
+
+Even worse is that a lot of these emails even ask for responses, but force me to use another medium (usually a web form, sometimes social media) to actually deliver the response. This is both rude, and unnecessary complex.
+
+Please respect normal [netiquette][5]: Identify yourself and provide a real email address as the sender of your emails!
+
+Thanks!
+
+PS: Here's some other ponters on the web about the same topic:
+
+* [What’s the deal with noreply@ emails?][3]
+* [Why You Should Never Use a noreply@][1]
+* [“Do Not Reply” Address? Don’t Bother.][2]
+* [No name? Then you are a nobody!][4]
+
+[1]: http://blog.cakemail.com/noreply/
+[2]: https://blog.aweber.com/email-marketing/do-not-reply-address-dont-bother.htm
+[3]: https://blog.serverdensity.com/whats-the-deal-with-noreply-emails/
+[4]: http://www.netmanners.com/295/no-name-then-you-are-a-nobody/
+[5]: http://dictionary.reference.com/browse/netiquette
diff --git a/content/blog/2015-09-14-stop-using-noreply-addresses/noreply-banned.png b/content/blog/2015-09-14-stop-using-noreply-addresses/noreply-banned.png
new file mode 100644
index 0000000..3442f6d
--- /dev/null
+++ b/content/blog/2015-09-14-stop-using-noreply-addresses/noreply-banned.png
Binary files differ
diff --git a/content/blog/2015-10-02-kalandra/index.md b/content/blog/2015-10-02-kalandra/index.md
new file mode 100644
index 0000000..e406be8
--- /dev/null
+++ b/content/blog/2015-10-02-kalandra/index.md
@@ -0,0 +1,39 @@
++++
+title = "Kalandra"
+lang = "en"
+
+[taxonomies]
+tags = ["kalandra", "music"]
+
+[extra]
+author = "harald"
++++
+
+{% figure(img="kalandra-onto-the-fire.jpg") %}
+Kalandra - _Onto the fire_
+{% end %}
+
+I discovered this wonderful band while attending the Fjell og Ord (Mountains
+and Words) festival at Finse 1222 this last weekend of september. Finse is
+located at the topmost point on the railway between Bergen and Oslo, and is an
+excellent base for walking in one of the most beautiful but harsh areas of the
+Norwegian mountains.
+
+<!-- more -->
+
+In accordance with the theme for the festival - quiet - the band performed a
+purely accoustic set the first night. They're originally a six-piece, but for
+this appearance only three members was present. The next day we got to see a
+more "plugged" set where one of the accoustic guitars was exchanged for an
+electric one. There was also some more experimental use of effects on the
+vocals. Both sets were very well performed, and showed a band that's both
+confident and able to come close to the audience.
+
+{% figure(img="kalandra-sell-your-voice.jpg") %}
+Kalandra - _Sell your voice_
+{% end %}
+
+Check them out at their [Bandcamp][1] or [SundCloud][2] sites!
+
+[1]: https://kalandra.bandcamp.com/
+[2]: https://soundcloud.com/kalandra
diff --git a/content/blog/2015-10-02-kalandra/kalandra-onto-the-fire.jpg b/content/blog/2015-10-02-kalandra/kalandra-onto-the-fire.jpg
new file mode 100644
index 0000000..28af45f
--- /dev/null
+++ b/content/blog/2015-10-02-kalandra/kalandra-onto-the-fire.jpg
Binary files differ
diff --git a/content/blog/2015-10-02-kalandra/kalandra-sell-your-voice.jpg b/content/blog/2015-10-02-kalandra/kalandra-sell-your-voice.jpg
new file mode 100644
index 0000000..c427337
--- /dev/null
+++ b/content/blog/2015-10-02-kalandra/kalandra-sell-your-voice.jpg
Binary files differ
diff --git a/content/blog/2015-11-14-a-sad-day/index.md b/content/blog/2015-11-14-a-sad-day/index.md
new file mode 100644
index 0000000..c78575d
--- /dev/null
+++ b/content/blog/2015-11-14-a-sad-day/index.md
@@ -0,0 +1,13 @@
++++
+title = "A sad day"
+lang = "en"
+
+[taxonomies]
+tags = ["terror", "france"]
+
+[extra]
+author = "harald"
++++
+
+What a [sad day](http://www.bbc.com/news/world-europe-34814203)!
+My thoughts are with my french friends today.
diff --git a/content/blog/2015-12-09-eagles-of-death-metal-back-in-paris/index.md b/content/blog/2015-12-09-eagles-of-death-metal-back-in-paris/index.md
new file mode 100644
index 0000000..63025d7
--- /dev/null
+++ b/content/blog/2015-12-09-eagles-of-death-metal-back-in-paris/index.md
@@ -0,0 +1,24 @@
++++
+title = "Eagles of Death Metal back on stage in Paris"
+lang = "en"
+
+[taxonomies]
+tags = ["terrorism", "music"]
+
+[extra]
+author = "harald"
++++
+
+I can't express how much respect these guys deserve for being back on stage in
+Paris less than a month after the horrible tragedy they and their fans had to
+endure. _This_ is the way to fight terrorism! To stand up unafraid and show
+that we won't let terrorists or powerhungry politicians dictate how we live our
+lives. Contrast this to the response by politicians both in France and the rest
+of europe calling for _more violence_, _more oppression_, and _more propaganda_
+to fuel fear and hate.
+
+Rock'n'roll shows the way forward!
+
+Respect dudes! Respect!
+
+{{ youtube(id="Wzi_A2cyWu8") }}
diff --git a/content/blog/2015-12-16-java-as-afirst-language/index.md b/content/blog/2015-12-16-java-as-afirst-language/index.md
new file mode 100644
index 0000000..a6c4cca
--- /dev/null
+++ b/content/blog/2015-12-16-java-as-afirst-language/index.md
@@ -0,0 +1,110 @@
++++
+title = "Why Java is not good as a first language"
+lang = "en"
+
+[taxonomies]
+tags = ["programming", "java", "learning"]
+
+[extra]
+author = "harald"
++++
+
+During the spring semester of the last year, a friend of mine was trying to
+learn Java as part of her studies. I think it's great when anybody shows an
+interest in programming so I of course volunteered to help her out a bit. That
+was an interesting experience in many ways.
+
+<!-- more -->
+
+On the one hand I found it very difficult to find ways to explain in plain and
+simple terms concepts that after decades of programming feel like second nature
+to me. Another challenge was of course to guide her towards understanding
+without giving her the answer to her excercises, especially when the email
+exchanges got rapid and I sensed the frustration rise at the other end.
+
+On the other hand though, the language itself also created some obstacles to
+learning in my opinion. To understand why, let's look at the seminal "Hello,
+World"-sample program:
+
+```java
+import java.lang.*;
+
+public class Hello
+{
+ public static void main(String[] args)
+ {
+ System.out.println("Hello, world!");
+ }
+}
+```
+
+There's not many lines of code here, and the gist of it is not hard to
+comprehend even for a beginning programmer. But there's a lot going on here
+that unnecessarily obstructs the understanding of the code.
+
+To fully understand this code, you need to be familiar with _classes_,
+_objects_, _methods_, _accessibillity_, _arrays_, _packages_ and _streams_.
+That's a very tall order for the first day of class. So what the teacher does
+is to teach the students to ignore the stuff they haven't learned yet:
+
+* Why do you have to write `public class Hello`? Don't worry about that, just
+ copy it for now.
+* What's the `public static void main`-thing? It's where you should write your
+ program, just ignore it for now.
+* What about the `args`? ...
+
+And they have to. There's no way you can get around this code without ignoring
+pretty much everything in it. That's bad for many reasons.
+
+Programming is about paying attention to details, not ignoring them. So this
+very way of introducing someone to programming encourages habits you have to
+unlearn again as you advance. Another reason this is bad is that since the
+students won't understand it, they will not be able to write it from scratch
+either. This again encourages them to use crutches like editor macros for
+generating code templates, or simply by copying something that works from
+somewhere else.
+
+Now contrast this to a programming language that was designed for learning:
+
+```pascal
+program Hello;
+
+begin
+ writeln('Hello, World!');
+end.
+```
+
+This is the same program written in Pascal[^1]. There's essentially nothing
+that even the novice programmer can not grasp here. You declare the name of the
+program, and write the code of your program between the `begin` and
+`end.`-statements. Output to the terminal is handled by a simple call to
+`writeln`, there's no need to know about streams, functions or anything else.
+
+Now it's easy to expand by introducing variables, loops, conditionals,
+functions etc. Along each step the students should be able to follow without
+having to repeat, memorize or copy incantations of unintelligible code that
+just has to be there. Once the basic concepts are learned properly it should be
+much easier to move to new languages, as it will now mostly amount to mapping
+the same concepts to a different syntax.
+
+It can of course be argued that "Hello world" is not a realistic example of
+programs that you will write as a student. You will quickly move beyond this,
+but to learn the basics the extra stuff still gets in the way. By removing the
+cruft and allowing the students to build understanding one concept at the time,
+they have a far better chance of learning anything at all. And there will be
+less bad habits to unlearn afterwards.
+
+Neither is it my intention to single out [Pascal] as the perfect teaching
+language here. [Ruby], [Python] and perhaps even [JavaScript] are also good
+candidates, as are numerous other modern languages. In fact I don't think the
+language itself is all that important. The important thing is that the student
+can understand the code she writes even from the very beginning. And that you
+can progress from there without having to bite over too many concepts at the
+time.
+
+[^1]: This is quite likely the first Pascal code I've written in 25 years!
+
+[Pascal]: http://freepascal.org/
+[Ruby]: http://ruby-lang.org
+[Python]: https://www.python.org/
+[JavaScript]: http://prog21.dadgum.com/203.html
diff --git a/content/blog/2015-12-21-setting-up-lets-encrypt-with-ruby-on-rails-and-freebsd/index.md b/content/blog/2015-12-21-setting-up-lets-encrypt-with-ruby-on-rails-and-freebsd/index.md
new file mode 100644
index 0000000..1784881
--- /dev/null
+++ b/content/blog/2015-12-21-setting-up-lets-encrypt-with-ruby-on-rails-and-freebsd/index.md
@@ -0,0 +1,71 @@
++++
+title = "Setting up Let's Encrypt with Ruby on Rails and FreeBSD"
+lang = "en"
+
+[taxonomies]
+tags = ["FreeBSD", "letsencrypt", "tips & tricks"]
+
+[extra]
+author = "harald"
++++
+
+{% figure(img="letsencrypt-logo-horizontal.svg") %}
+Let's Encrypt logo.
+{% end %}
+
+I've been following [Let's Encrypt] for a while, and the idea is as simple as
+it's brilliant! Make it so easy to add a encryption to your webserver setup
+that there's really no reson not to. Traditionally this has been both a
+cumbersome and potentially expensive investment. At least for smaller stuff
+like your average blog or community web site getting a certificate and setting
+it all up has been a hassle.
+
+<!-- more -->
+
+So I really like the idea of Let's Encrypt, and since they've just launched
+their [public beta program] in time for the renewal of one of my certificates
+I decided to give it a spin. The process was surprisingly painless.
+
+The base Let's Encrypt program is already in the [FreeBSD ports collection],
+so installing it was as simple as running:
+
+ portmaster -P /usr/ports/security/py-letsencrypt
+
+There was quite a bit of dependencies to be installed, but the ports system
+takes care of that, and portmaster helps make the process really smooth. A few
+config options and 10 minutes later everything was built and installed.
+
+Next step was to generate the certificates. After a few misses I found the
+right invocation:
+
+ sudo letsencrypt certonly --webroot \
+ -w /usr/local/www/my_rails_app_dir/current/public/ \
+ -d mydomain.com -d www.mydomain.com
+
+Half a minute later I have my certificates in
+`/usr/local/etc/letsencrypt/live/mydomain.com`. I just had to update the apache
+config and everything worked right away.
+
+The Let's Encrypt website warns that you may have to shut down your webserver
+while it does it's job. That was not neccesary in this case. It seems this is
+only neccesary if you run with the `--standalone` option. The `--webroot`
+and `-w` options on the other hand allows you to specify manually where
+`letsencrypt` should put it's challenge files.
+
+The Let's Encrypt server then accesses these files using the regular webserver
+you're already running. Since this particular domain runs a [Ruby on Rails]
+app deployed using [Capistrano] I ended up with the path above.
+
+I had quite frankly expected that there should be more bumps. For one, this
+*is* still a beta, and they do warn that there will be bugs on their website.
+Further not all software developed for Linux runs equally smooth on FreeBSD,
+but this time there was no need for worrying.
+
+The plugins for apache and nginx are not yet available in the ports tree
+however, so I'm running things manually for now.
+
+[Let's Encrypt]: https://letsencrypt.org/
+[public beta program]: https://letsencrypt.org/2015/12/03/entering-public-beta.html
+[FreeBSD ports collection]: https://www.freebsd.org/cgi/ports.cgi?query=letsencrypt&stype=all
+[Ruby on Rails]: http://rubyonrails.org/
+[Capistrano]: http://capistranorb.com/
diff --git a/content/blog/2015-12-21-setting-up-lets-encrypt-with-ruby-on-rails-and-freebsd/letsencrypt-logo-horizontal.svg b/content/blog/2015-12-21-setting-up-lets-encrypt-with-ruby-on-rails-and-freebsd/letsencrypt-logo-horizontal.svg
new file mode 100644
index 0000000..72370c9
--- /dev/null
+++ b/content/blog/2015-12-21-setting-up-lets-encrypt-with-ruby-on-rails-and-freebsd/letsencrypt-logo-horizontal.svg
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="339"
+ height="81"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="letsencrypt-logo-horizontal.svg">
+ <metadata
+ id="metadata37">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs35" />
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1106"
+ inkscape:window-height="797"
+ id="namedview33"
+ showgrid="false"
+ inkscape:zoom="1.0501475"
+ inkscape:cx="169.5"
+ inkscape:cy="40.5"
+ inkscape:window-x="0"
+ inkscape:window-y="20"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2" />
+ <g
+ id="svg_1"
+ style="fill:#0000ff">
+ <g
+ id="svg_2"
+ style="fill:#0000ff">
+ <g
+ id="svg_3"
+ style="fill:#0000ff">
+ <path
+ style="fill:#0000ff"
+ inkscape:connector-curvature="0"
+ d="m 76.621002,68.878998 0,-31.406998 7.629997,0 0,24.796997 12.153999,0 0,6.609001 -19.783997,0 0,9.99e-4 z"
+ id="svg_4" />
+ <path
+ style="fill:#0000ff"
+ inkscape:connector-curvature="0"
+ d="m 121.547,58.098999 c 0,0.295998 0,0.592003 0,0.888 0,0.295997 -0.015,0.576004 -0.044,0.843002 l -16.01301,0 c 0.059,0.620995 0.244,1.182999 0.555,1.685997 0.311,0.502998 0.71,0.938004 1.197,1.308998 0.488,0.370003 1.035,0.658005 1.642,0.864006 0.605,0.208 1.234,0.310997 1.885,0.310997 1.153,0 2.13,-0.213997 2.928,-0.642998 0.799,-0.429001 1.449,-0.983002 1.952,-1.664001 l 5.05699,3.194 c -1.03498,1.507996 -2.40199,2.668999 -4.10299,3.482002 -1.701,0.811996 -3.676,1.219994 -5.922,1.219994 -1.657,0 -3.224,-0.259995 -4.702,-0.775993 -1.479,-0.518005 -2.772,-1.271004 -3.882,-2.263 -1.108,-0.990005 -1.981,-2.210007 -2.616996,-3.659004 -0.635994,-1.448997 -0.953003,-3.104996 -0.953003,-4.969002 0,-1.802994 0.309998,-3.437996 0.931,-4.900997 0.620999,-1.463001 1.463999,-2.706001 2.528999,-3.726002 1.064,-1.021 2.32,-1.811996 3.771,-2.373997 1.448,-0.561001 3.016,-0.843002 4.701,-0.843002 1.626,0 3.12,0.274002 4.48,0.820999 1.36,0.546997 2.528,1.338001 3.505,2.373001 0.976,1.035 1.73599,2.292 2.284,3.771 0.546,1.478001 0.819,3.165001 0.819,5.056 z m -6.698,-2.794998 c 0,-1.153 -0.362,-2.144001 -1.087,-2.972 -0.725,-0.827 -1.812,-1.242001 -3.26,-1.242001 -0.71,0 -1.36,0.111 -1.952,0.333 -0.59199,0.222 -1.108,0.525002 -1.553,0.909 -0.443,0.384998 -0.798,0.835999 -1.064,1.354 -0.266,0.517998 -0.414,1.057999 -0.443,1.618 l 9.359,0 z"
+ id="svg_5" />
+ <path
+ style="fill:#0000ff"
+ inkscape:connector-curvature="0"
+ d="m 133.168,52.200001 0,8.461002 c 0,1.038994 0.2,1.816994 0.60001,2.337997 0.39799,0.519997 1.11499,0.778 2.151,0.778 0.35399,0 0.73098,-0.028 1.13099,-0.089 0.39901,-0.05901 0.73101,-0.147003 0.998,-0.266006 l 0.089,5.323006 c -0.50299,0.176994 -1.13899,0.332001 -1.90699,0.465996 -0.76999,0.133003 -1.538,0.199005 -2.307,0.199005 -1.479,0 -2.722,-0.186005 -3.727,-0.556007 C 129.19,68.484002 128.384,67.949998 127.77901,67.252 127.172,66.556001 126.73599,65.725999 126.47,64.762002 126.203,63.799005 126.071,62.724 126.071,61.538003 l 0,-9.338001 -3.549,0 0,-5.412003 3.504,0 0,-5.810997 7.142,0 0,5.810997 5.19,0 0,5.412003 -5.19,0 z"
+ id="svg_6" />
+ <path
+ style="fill:#0000ff"
+ inkscape:connector-curvature="0"
+ d="m 161.91299,53.307999 c -0.59201,-0.560997 -1.28601,-1.034 -2.085,-1.418999 -0.79801,-0.383999 -1.64099,-0.577 -2.528,-0.577 -0.681,0 -1.30899,0.133999 -1.885,0.398998 -0.57699,0.267002 -0.865,0.726002 -0.865,1.375 0,0.621002 0.317,1.064003 0.953,1.331001 0.636,0.266998 1.664,0.562 3.08299,0.887001 0.82801,0.177998 1.664,0.43 2.50701,0.754997 0.843,0.324997 1.604,0.754005 2.28399,1.286003 0.68001,0.531998 1.22701,1.182999 1.64202,1.951996 0.41299,0.769005 0.62098,1.686005 0.62098,2.75 0,1.391006 -0.28099,2.565002 -0.84298,3.526001 -0.56201,0.960999 -1.29401,1.737 -2.19602,2.329002 -0.902,0.592002 -1.91499,1.019997 -3.03799,1.286003 -1.12399,0.266998 -2.248,0.398994 -3.371,0.398994 -1.80499,0 -3.571,-0.287994 -5.302,-0.864998 C 149.161,68.146002 147.719,67.294996 146.566,66.170995 l 4.08099,-4.303001 c 0.649,0.710007 1.448,1.302002 2.395,1.774002 0.946,0.473999 1.952,0.709999 3.017,0.709999 0.592,0 1.176,-0.140999 1.752,-0.421997 0.577,-0.279999 0.86501,-0.776001 0.86501,-1.485001 0,-0.681 -0.35401,-1.182999 -1.06401,-1.509003 -0.71,-0.324997 -1.818,-0.664993 -3.327,-1.020996 -0.769,-0.177002 -1.53799,-0.413002 -2.30699,-0.709 -0.77001,-0.295998 -1.457,-0.694 -2.06202,-1.197998 -0.60598,-0.502007 -1.10199,-1.123001 -1.48599,-1.863007 -0.384,-0.737995 -0.576,-1.625996 -0.576,-2.660995 0,-1.331001 0.28,-2.462002 0.843,-3.394001 0.562,-0.931999 1.286,-1.692001 2.174,-2.284 0.88701,-0.591999 1.87001,-1.027 2.949,-1.308998 1.079,-0.281998 2.151,-0.422001 3.217,-0.422001 1.655,0 3.274,0.259998 4.856,0.776001 1.582,0.517998 2.921,1.293999 4.015,2.328999 l -3.995,4.127998 z"
+ id="svg_7" />
+ <path
+ style="fill:#0000ff"
+ inkscape:connector-curvature="0"
+ d="m 179.56799,68.878998 0,-31.406998 21.114,0 0,6.388 -13.795,0 0,5.944 13.041,0 0,6.077 -13.041,0 0,6.521 14.594,0 0,6.476997 -21.913,0 z"
+ id="svg_8" />
+ <path
+ style="fill:#0000ff"
+ inkscape:connector-curvature="0"
+ d="m 220.675,68.878998 0,-12.065994 c 0,-0.621002 -0.053,-1.212002 -0.155,-1.774002 -0.104,-0.562 -0.274,-1.057003 -0.511,-1.486 -0.237,-0.428001 -0.569,-0.769001 -0.998,-1.021 -0.429,-0.25 -0.96899,-0.377003 -1.619,-0.377003 -0.65001,0 -1.22,0.127003 -1.70799,0.377003 -0.487,0.251999 -0.89501,0.599998 -1.22001,1.042999 -0.32499,0.443001 -0.569,0.953999 -0.731,1.529999 -0.16299,0.577 -0.244,1.175999 -0.244,1.797001 l 0,11.976997 -7.319,0 0,-22.091 7.05301,0 0,3.061001 0.089,0 c 0.26699,-0.473 0.613,-0.938 1.043,-1.396 0.428,-0.459 0.932,-0.850998 1.50801,-1.175999 0.57699,-0.325001 1.20498,-0.591999 1.88598,-0.799 0.68001,-0.206001 1.40401,-0.311001 2.17301,-0.311001 1.479,0 2.735,0.266998 3.77099,0.799 1.036,0.532002 1.87001,1.220001 2.50701,2.062 0.636,0.842999 1.09401,1.812 1.375,2.904999 0.28,1.095001 0.421,2.189003 0.421,3.283001 l 0,13.661999 -7.321,0 0,9.99e-4 z"
+ id="svg_9" />
+ <path
+ style="fill:#0000ff"
+ inkscape:connector-curvature="0"
+ d="m 246.71301,53.929001 c -0.41501,-0.532001 -0.977,-0.959999 -1.686,-1.285999 -0.70999,-0.325001 -1.43601,-0.488003 -2.174,-0.488003 -0.77,0 -1.464,0.155003 -2.085,0.466 -0.62101,0.310997 -1.153,0.726002 -1.59701,1.242001 -0.44299,0.518002 -0.79199,1.117001 -1.04299,1.797001 -0.251,0.681004 -0.377,1.404003 -0.377,2.174 0,0.768997 0.11799,1.493004 0.35499,2.173004 0.23601,0.681 0.58301,1.279999 1.04201,1.796997 0.45799,0.517998 1.005,0.924995 1.642,1.220001 0.636,0.295998 1.35299,0.443001 2.151,0.443001 0.73801,0 1.47099,-0.139999 2.19501,-0.421005 0.72401,-0.281006 1.30899,-0.687996 1.75198,-1.220001 l 4.03702,4.924004 c -0.91703,0.887001 -2.10102,1.582001 -3.54901,2.084999 -1.44899,0.501999 -2.987,0.753998 -4.61299,0.753998 -1.74501,0 -3.37401,-0.266998 -4.88701,-0.798996 -1.512,-0.531998 -2.82601,-1.308998 -3.941,-2.329002 -1.11599,-1.019997 -1.99299,-2.253998 -2.63299,-3.702995 -0.64,-1.448997 -0.959,-3.090004 -0.959,-4.924004 0,-1.804001 0.31898,-3.431 0.959,-4.880001 0.64,-1.447998 1.51699,-2.683998 2.63299,-3.703999 1.11499,-1.021 2.43,-1.804001 3.941,-2.351002 1.513,-0.546997 3.127,-0.820999 4.843,-0.820999 0.798,0 1.589,0.074 2.373,0.223 0.783,0.147003 1.53699,0.348 2.26199,0.599003 0.72501,0.251003 1.39002,0.562 1.996,0.931999 0.60599,0.369999 1.13202,0.776001 1.57502,1.219997 l -4.21201,4.877003 z"
+ id="svg_10" />
+ <path
+ style="fill:#0000ff"
+ inkscape:connector-curvature="0"
+ d="m 268.03201,52.776001 c -0.32599,-0.089 -0.64401,-0.146999 -0.95401,-0.177002 -0.30999,-0.03 -0.61398,-0.045 -0.90899,-0.045 -0.97599,0 -1.797,0.177998 -2.46201,0.530998 -0.66498,0.354 -1.19699,0.781002 -1.59698,1.283001 -0.39902,0.500999 -0.68802,1.047001 -0.86503,1.636997 -0.177,0.589996 -0.26599,1.105003 -0.26599,1.548004 l 0,11.324997 -7.27499,0 0,-22.063999 7.009,0 0,3.194 0.089,0 c 0.56201,-1.132 1.35901,-2.055 2.396,-2.77 1.03402,-0.715 2.23202,-1.071999 3.59302,-1.071999 0.29498,0 0.58398,0.016 0.86499,0.045 0.27999,0.029 0.51001,0.074 0.68801,0.133003 L 268.03201,52.776 Z"
+ id="svg_11" />
+ <path
+ style="fill:#0000ff"
+ inkscape:connector-curvature="0"
+ d="m 285.12201,72.206001 c -0.44299,1.153 -0.939,2.181 -1.48599,3.083 -0.547,0.901001 -1.19702,1.669998 -1.95102,2.306999 -0.754,0.636002 -1.642,1.114998 -2.66199,1.441002 -1.01999,0.324997 -2.22601,0.487999 -3.61499,0.487999 -0.681,0 -1.38299,-0.045 -2.10602,-0.134003 -0.72598,-0.089 -1.354,-0.207001 -1.88598,-0.353996 L 272.215,72.916 c 0.354,0.116997 0.746,0.213997 1.17602,0.288002 0.42798,0.073 0.81998,0.110001 1.17499,0.110001 1.12399,0 1.93701,-0.259003 2.44,-0.776001 0.50199,-0.518005 0.931,-1.249001 1.28601,-2.195 l 0.70999,-1.818001 -9.22699,-21.736 8.073,0 4.92398,14.195 0.133,0 4.392,-14.195 7.71802,0 -9.89301,25.417 z"
+ id="svg_12" />
+ <path
+ style="fill:#0000ff"
+ inkscape:connector-curvature="0"
+ d="m 321.496,57.745003 c 0,1.537994 -0.237,3.016998 -0.70999,4.435997 -0.474,1.419998 -1.16101,2.668999 -2.06201,3.748001 -0.90201,1.080002 -2.004,1.945 -3.30499,2.596001 -1.30201,0.649002 -2.78,0.975998 -4.43702,0.975998 -1.35998,0 -2.64599,-0.273003 -3.85901,-0.82 -1.21301,-0.546997 -2.15799,-1.293999 -2.83898,-2.239998 l -0.088,0 0,13.085999 -7.27502,0 0,-32.739002 6.92001,0 0,2.706001 0.133,0 c 0.681,-0.887001 1.61899,-1.662998 2.81698,-2.328999 C 307.98801,46.5 309.39999,46.167 311.02701,46.167 c 1.59698,0 3.04498,0.311001 4.34698,0.931999 1.301,0.621002 2.40201,1.464001 3.305,2.528 0.90298,1.063999 1.59701,2.299999 2.08502,3.704002 0.488,1.404999 0.73199,2.876999 0.73199,4.414001 z m -7.05301,0 c 0,-0.709999 -0.11001,-1.403999 -0.332,-2.085003 -0.22201,-0.68 -0.548,-1.278999 -0.97699,-1.797001 -0.42901,-0.516998 -0.96902,-0.938 -1.61902,-1.264 -0.64999,-0.326 -1.40399,-0.487999 -2.26199,-0.487999 -0.828,0 -1.56799,0.162998 -2.21799,0.487999 -0.651,0.325001 -1.20602,0.754002 -1.664,1.285999 -0.45901,0.532001 -0.81302,1.139 -1.06402,1.818001 -0.25199,0.681004 -0.37699,1.375004 -0.37699,2.085003 0,0.709999 0.125,1.404999 0.37699,2.084999 0.251,0.681 0.60501,1.285995 1.06402,1.818001 0.45798,0.531998 1.013,0.961998 1.664,1.286995 0.64899,0.325005 1.38999,0.487 2.21799,0.487 0.85699,0 1.61099,-0.161995 2.26199,-0.487 0.651,-0.325005 1.19001,-0.754997 1.61902,-1.286995 0.42902,-0.531998 0.75498,-1.146004 0.97699,-1.841003 0.22101,-0.693001 0.332,-1.394997 0.332,-2.104996 z"
+ id="svg_13" />
+ <path
+ style="fill:#0000ff"
+ inkscape:connector-curvature="0"
+ d="m 333.11801,52.200001 0,8.461002 c 0,1.038994 0.20001,1.816994 0.60001,2.337997 0.39798,0.519997 1.11499,0.778 2.151,0.778 0.354,0 0.73099,-0.028 1.13098,-0.089 0.39902,-0.05901 0.73102,-0.147003 0.99802,-0.266006 l 0.089,5.323006 c -0.50299,0.176994 -1.139,0.332001 -1.90698,0.465996 -0.77002,0.133003 -1.53802,0.199005 -2.307,0.199005 -1.47901,0 -2.72202,-0.186005 -3.72702,-0.556007 -1.00599,-0.369995 -1.81199,-0.903999 -2.417,-1.601997 -0.60699,-0.695999 -1.043,-1.526001 -1.30899,-2.489998 C 326.15302,63.799005 326.021,62.724 326.021,61.538003 l 0,-9.338001 -3.54898,0 0,-5.412003 3.50399,0 0,-5.810997 7.142,0 0,5.810997 5.19,0 0,5.412003 -5.19,0 z"
+ id="svg_14" />
+ </g>
+ </g>
+ <path
+ style="fill:#0000ff"
+ inkscape:connector-curvature="0"
+ d="m 145.00999,36.869999 c -2.18299,0 -3.89199,1.573002 -3.89199,3.582001 0,2.116001 1.43899,3.536999 3.582,3.536999 0.183,0 0.35599,-0.017 0.51899,-0.05 -0.343,1.566002 -1.852,2.690002 -3.27799,2.915001 l -0.29001,0.046 0,3.376999 0.376,-0.036 c 1.73,-0.165001 3.439,-0.951 4.691,-2.157001 1.632,-1.572998 2.49501,-3.843998 2.49501,-6.568001 0,-2.691998 -1.76799,-4.646 -4.20301,-4.646 z"
+ id="svg_15" />
+ </g>
+ <g
+ id="svg_16">
+ <path
+ style="fill:#f9a11d"
+ inkscape:connector-curvature="0"
+ d="m 46.488998,37.568001 -8.039997,0 0,-4.128002 c 0,-3.296997 -2.683002,-5.979 -5.98,-5.979 -3.297001,0 -5.979,2.683002 -5.979,5.979 l 0,4.128002 -8.040001,0 0,-4.128002 c 0,-7.73 6.288998,-14.019999 14.02,-14.019999 7.731002,0 14.02,6.289 14.02,14.019999 l 0,4.128002 -0.001,0 z"
+ id="svg_17" />
+ </g>
+ <path
+ style="fill:#0000ff"
+ inkscape:connector-curvature="0"
+ d="m 49.731998,37.568001 -34.524998,0 c -1.474001,0 -2.68,1.205997 -2.68,2.68 l 0,25.540001 c 0,1.473999 1.205999,2.68 2.68,2.68 l 34.524998,0 c 1.474003,0 2.68,-1.206001 2.68,-2.68 l 0,-25.540001 c 0,-1.474003 -1.205997,-2.68 -2.68,-2.68 z m -15.512997,16.769001 0,3.460995 c 0,0.966003 -0.784,1.749001 -1.749001,1.749001 -0.965001,0 -1.749001,-0.783997 -1.749001,-1.749001 l 0,-3.459995 c -1.076,-0.611 -1.803001,-1.764 -1.803001,-3.09 0,-1.962002 1.591,-3.552002 3.552002,-3.552002 1.961998,0 3.551998,1.591 3.551998,3.552002 0,1.325001 -0.727001,2.478001 -1.802998,3.089001 z"
+ id="svg_18" />
+ <path
+ style="fill:#f9a11d"
+ inkscape:connector-curvature="0"
+ d="m 11.707001,33.759998 -8.331,0 c -1.351001,0 -2.446,-1.094997 -2.446,-2.445999 0,-1.351002 1.094999,-2.445999 2.446,-2.445999 l 8.331,0 c 1.351,0 2.445999,1.095001 2.445999,2.445999 0,1.350998 -1.096001,2.445999 -2.445999,2.445999 z"
+ id="svg_19" />
+ <path
+ style="fill:#f9a11d"
+ inkscape:connector-curvature="0"
+ d="m 17.575001,20.655001 c -0.546001,0 -1.097,-0.182001 -1.552,-0.557001 l -6.59,-5.418999 C 8.39,13.820999 8.239001,12.280001 9.098,11.236 9.956,10.193001 11.497,10.042 12.541001,10.9 l 6.59,5.419001 c 1.042999,0.858 1.194,2.399 0.334999,3.442999 -0.483,0.589001 -1.184,0.893002 -1.890999,0.893002 z"
+ id="svg_20" />
+ <path
+ style="fill:#f9a11d"
+ inkscape:connector-curvature="0"
+ d="m 32.469002,14.895 c -1.351002,0 -2.446003,-1.095001 -2.446003,-2.446001 l 0,-8.396999 c 0,-1.351 1.095001,-2.446 2.446003,-2.446 1.351002,0 2.445999,1.095 2.445999,2.446 l 0,8.396999 c 0,1.351 -1.095001,2.446001 -2.445999,2.446001 z"
+ id="svg_21" />
+ <g
+ id="svg_22">
+ <g
+ id="svg_23">
+ <path
+ style="fill:#f9a11d"
+ inkscape:connector-curvature="0"
+ d="M 47.362999,20.655001 C 46.655998,20.655001 45.956001,20.351 45.472,19.761999 44.613998,18.719 44.764,17.177 45.806999,16.319 l 6.59,-5.419001 c 1.044003,-0.858 2.585003,-0.706999 3.442997,0.336 0.858002,1.042999 0.708,2.584999 -0.334999,3.443001 l -6.589996,5.418999 C 48.459999,20.472999 47.91,20.655 47.362999,20.655 Z"
+ id="svg_24" />
+ </g>
+ </g>
+ <path
+ style="fill:#f9a11d"
+ inkscape:connector-curvature="0"
+ d="m 61.563004,33.759998 -8.410004,0 c -1.351002,0 -2.445999,-1.094997 -2.445999,-2.445999 0,-1.351002 1.094997,-2.445999 2.445999,-2.445999 l 8.410004,0 c 1.350998,0 2.445999,1.095001 2.445999,2.445999 0,1.350998 -1.095001,2.445999 -2.445999,2.445999 z"
+ id="svg_25" />
+</svg>
diff --git a/content/blog/2015-12-24-are-we-up-for-anonymity/index.md b/content/blog/2015-12-24-are-we-up-for-anonymity/index.md
new file mode 100644
index 0000000..b68bd12
--- /dev/null
+++ b/content/blog/2015-12-24-are-we-up-for-anonymity/index.md
@@ -0,0 +1,25 @@
++++
+title = "Are we up for anonymity?"
+lang = "en"
+
+[taxonomies]
+tags = ["press", "freedom", "anonymity", "privacy", "surveillance"]
+
+[extra]
+author = "harald"
++++
+
+The Berliner Gazette explores the negative stigma around anonymity, and asks
+what this means for a free press and privacy.
+
+> The dominant narrative of anonymity, as portrayed in popular media, is an
+> unflattering one and its usage is associated with trolling, seedy
+> transactions, harassment and terrorism. The conventional wisdom seems to be
+> that online anonymity protects criminals and enables the hateful and toxic
+> side of human nature. Such a negative reputation undermines an important
+> practice with many legitimate uses. Anonymity can also offer vital protection
+> to those who need it most.
+
+Read the [full article].
+
+[full article]: http://berlinergazette.de/are-we-up-for-anonymity/
diff --git a/content/blog/2015-12-25-do-not-track/do-not-track.png b/content/blog/2015-12-25-do-not-track/do-not-track.png
new file mode 100644
index 0000000..12aa566
--- /dev/null
+++ b/content/blog/2015-12-25-do-not-track/do-not-track.png
Binary files differ
diff --git a/content/blog/2015-12-25-do-not-track/index.md b/content/blog/2015-12-25-do-not-track/index.md
new file mode 100644
index 0000000..43fa2a0
--- /dev/null
+++ b/content/blog/2015-12-25-do-not-track/index.md
@@ -0,0 +1,20 @@
++++
+title = "Do Not Track - A personalized documentary"
+lang = "en"
+
+[taxonomies]
+tags = ["privacy", "tracking", "internet"]
+
+[extra]
+author = "harald"
++++
+
+{% figure(img="do-not-track.png") %}
+[https://donottrack-doc.com/](https://donottrack-doc.com/)
+{% end %}
+
+[Do Not Track] is a great interactive documentary about tracking and privacy on
+the internet. Definitely worth a watch if you are unsure about just how much
+the ad networks and social media sites actually know about you.
+
+[Do Not Track]: https://donottrack-doc.com/
diff --git a/content/blog/2016-01-30-robb-flynn-comments-anselmos-nazi-salute/index.md b/content/blog/2016-01-30-robb-flynn-comments-anselmos-nazi-salute/index.md
new file mode 100644
index 0000000..9cba01e
--- /dev/null
+++ b/content/blog/2016-01-30-robb-flynn-comments-anselmos-nazi-salute/index.md
@@ -0,0 +1,17 @@
++++
+title = "Robb Flynn comments Anselmo's Nazi salute"
+lang = "en"
+
+[taxonomies]
+tags = ["metal", "racism", "pantera"]
+
+[extra]
+author = "harald"
++++
+
+Robb Flynn of Machine Head comments on Phil Anselmo's "White Power"-stunt at
+this years Dimebash tribute.
+
+{{ youtube(id="fCBKzWg4WYo") }}
+
+Well said!
diff --git a/content/blog/2016-01-31-dagbladet-sponser-facebook/index.md b/content/blog/2016-01-31-dagbladet-sponser-facebook/index.md
new file mode 100644
index 0000000..54595f8
--- /dev/null
+++ b/content/blog/2016-01-31-dagbladet-sponser-facebook/index.md
@@ -0,0 +1,93 @@
++++
+title = "Dagbladet sponser Facebook"
+
+[taxonomies]
+tags = ["internett", "facebook", "dagbladet"]
+
+[extra]
+author = "harald"
++++
+
+Dagbladet kan fortelle at de vil [være først i Norge] med å publisere
+artikler direkte på en lukket og kommersiell plattform. Dette kommer i
+kjølvannet av at de vil [legge ned kommentarfeltene sine] siden mye
+av diskusjonen likevel foregår i andre fora enn deres egne kommentarfelt.
+
+Det siste synes jeg nok gir mening, og selv om det nok er noen som vil savne
+kommentarfeltene så tror jeg ikke dette vil hindre videre konstruktiv debatt i
+mer (eller mindre) egnede fora på nettet.
+
+Det første punktet bekymrer meg imidlertid litt mer.
+
+<!-- more -->
+
+Dagbladet var tidlig ute med å bruke web til å formidle nyheter i Norge. De har
+hele veien hatt en solid og gjennomført satsning på sine websider.
+
+Det fine med web er at det er et medium som ikke forutsetter noe annet enn at
+du har tilgang til internett og en nettleser. Det skiller ikke på hvilke
+nettleverandører du har, hvilken programvare du bruker til å lese sidene, eller
+hvor i verden du måtte befinne deg.
+
+Det finnes selvsagt metoder for å begrense hvem som får tilgang, men disse er
+mangelfulle og i beste fall verdiløse. Dagbladet har også stort sett vært
+flinke til å følge standarder og å sørge for at innholdet har vært tilgjengelig
+uavhengig av programvare og hvor man befinner seg. Unntaket er selvfølgelig
+betalingsveggen for tilgang til dere Pluss-innhold, men det er en litt annen
+diskusjon.
+
+Når Dagbladet nå går for å publisere noe av innholdet direkte på én utvalgt
+kommersiell tjeneste så viker de fra tankegangen bak det åpne nettet. Facebook
+er en kommersiell tjeneste hvor man enten er medlem eller ikke. For å bli
+medlem må man godta et ganske krasst sett med betingelser. Det er ikke gitt at
+alle ønsker det, og det kan ikke være et krav at man skal gjøre det heller. Er
+man ikke medlem får man heller ikke tilgang til tjenesten, eller i beste fall
+svært begrenset tilgang.
+
+Nå vet jeg ikke om Dagbladet har planer om å publisere dette innholdet
+eksklusivt på Facebook. Jeg både tror og håper at det ikke er tilfelle, men
+signalet de sender er likevel et som er ganske vesentlig: Fra å drive sine egne
+tjenester, hvor alle blir behandlet likt, vil de nå gi medlemmene av én bestemt
+kommersiell tjeneste forrang. Det er et skritt i feil retning, og et stort tap
+for den frie veven i Norge. Jeg er redd de eneste som kommer til å tjene på
+dette tiltaket er Facebook.
+
+Nå presiserer riktignok Dagbladet at dette er et eksperiment, og eksperimenter
+er jeg i utgangspunktet helt for. Jeg kan likevel ikke fri meg fra følelsen av
+at dette følger en trend som jeg mener er negativ.
+
+Dagbladet er forøvrig absolutt ikke blant de værste her. Det er en økende
+tendens til å anta at _alle_ er medlem av Facebook, og at man derfor kan
+erstatte informasjon på egne sider til fordel for publisering kun via Facebook.
+Selv om det er ekstremt mange som har tilgang til Facebook, er det hverken et
+fritt eller åpent medium.
+
+Facebook er en kommersiell tjeneste med sine retningslinjer, og sine krav til
+medlemsskap. De har også egne retningslinjer om hvilket innhold de godtar, og
+hva de ikke ønsker å formidle. Det er også helt greit, men det gjør at den er
+uegnet som et generelt publiseringsmedium.
+
+Web, eller den frie veven om du vil, er et slikt åpent og fritt medium. Siden
+ingen kontrollerer selve veven, er det et medium hvor alle fritt kan publisere
+og lese det de selv ønsker.
+
+Siden både Dagbladet og Facebook har sine retningslinjer kan det være lett å
+avfeie dette som et ikke-problem så lenge disse retningslinjene er noenlunde
+kompatible. Jeg er uenig i det.
+
+Ved å omfavne Facebook som en publiseringsplattform bidrar dagbladet til å
+legge ned den frie veven. Det blir enda et bidrag til å usynliggjøre alle som
+ikke er velkomne til å publisere sine ting på Facebook, eller de som bare rett
+og slett ikke ønsker det.
+
+Den frie veven er i ferd med å bli fullstendig overtatt av en håndfull
+kommersielle aktører. Det taper vi alle på i det lange løp. Med Dagbladets
+historie på veven som bakteppe, er det derfor veldig skuffende at de nå velger
+denne veien videre.
+
+Vi får bare håpe eksperimentet blir mislykket, selv om jeg tror jeg og
+Dagbladets eiere nok vil ha forskjellige kriterier for om det lykkes eller
+ikke.
+
+[være først i Norge]: https://www.dagbladet.no/2016/01/30/kultur/media/facebook/dagbladet/sosiale_medier/42932003/
+[legge ned kommentarfeltene sine]: https://www.dagbladet.no/2016/01/27/kultur/ytringer/kommentarfelt/medier/tv_og_medier/42910034/
diff --git a/content/blog/2016-06-21-paypal-som-demokratisk-problem/index.md b/content/blog/2016-06-21-paypal-som-demokratisk-problem/index.md
new file mode 100644
index 0000000..3b8a265
--- /dev/null
+++ b/content/blog/2016-06-21-paypal-som-demokratisk-problem/index.md
@@ -0,0 +1,73 @@
++++
+title = "PayPal som et demokratisk problem"
+
+[taxonomies]
+tags = ["paypal", "samfunn", "teknologi"]
+
+[extra]
+author = "harald"
++++
+
+Monopolinstitusjoner er alltid problematiske. Det gjelder uavhengig av om det
+er et statlig regulert monopol, eller et de-facto monopol som har oppstått
+innenfor rammene av kapitalismen.
+
+PayPal er et slikt monopol når det gjelder betalingsløsninger på internett. Det
+finnes sagtens alternativer, men de er små, dyre, utilgjengelige eller gjerne
+alle tre på en gang. For alle praktiske formål er PayPal såpass dominerende på
+sitt felt at jeg føler det er riktig å betegne det som et monopol.
+
+<!-- more -->
+
+At PayPal har lykkes i sitt marked skal man ikke holde imot dem, men når de
+gjentatte ganger bruker sin monopolmakt politisk blir det et problem. Det
+finnes mange eksempler på dette misbruket av makt.
+
+Mest kjent er nok [Wikileaks], som foruten PayPal også blir [boikottet av VISA
+og Mastercard]. I tillegg har [Diaspora*], [Protonmail] og flere blitt utsatt
+for PayPals politiske sensur.
+
+De fleste av disse sakene har løst seg etter at de aktuelle prosjektene klarte
+å samle nok publisitet rundt situasjonen, men det er ikke en holdbar løsning i
+lengden. Hva med de som ikke har nok velvilje blant en tilhengerskare til å
+samle nok publisitet?
+
+Sist i rekken (så langt) finner vi [Seafile.de], et selskap som driver
+med lagringstjenester a'la Dropbox men i langt mindre skala. De bruker den frie
+programvaren [Seafile], og i motsetning til Dropbox profilerer de seg på
+at de _ikke_ overvåker brukernes filer eller hvordan de bruker tjenesten.
+
+Seafile tilbyr også kryptert lagring slik at Seafile.de slett ikke kan overvåke
+filene som en bruker har valgt å laste opp kryptert. Dette ser ut til å
+være [selve ankepunktet] for PayPal, og grunnen til at de ikke vil betjene
+betalinger for selskapet lengre.
+
+Her bruker altså PayPal sin markedsmakt til å forsøke å tvinge en
+tjenestetilbyder å overvåke sine kunder ved å nekte å formidle betalinger for
+tjenestetilbyderen. Heldigvis lar ikke Seafile.de seg presse, og ser seg nå om
+etter en ny betalingsformidler - fortrinnsvis en i Europa.
+
+I et reelt og fritt marked ville dette selvsagt ikke være noe problem. PayPal
+må jo gjerne få bestemme hvilke kunder de vil ha og hvilke de ikke vil ha.
+
+Desverre så har vi ikke et reelt marked, og PayPals dominans på dette markedet
+gjør det svært problematisk når de bruker sin makt til å legge politisk eller
+andre former for press på kundene sine. Ofte finnes det ikke reelle
+alternativer, og man står mellom valget å ikke kunne ta betalt eller å føye
+seg.
+
+Som forbrukere har vi svært lite å stille opp med. Vi kan (og bør) unngå å selv
+være kunde av PayPal, men siden det er de som tar betalt som bestemmer hvilken
+betalingsofrmidler de bruker er det vanskelig å helt unngå å bruke dem.
+
+PayPals makt må med andre ord reguleres, og vi trenger alternative
+betalingsformidlere utenfor USA. Intill det er på plass bør vi styre unna
+PayPal så langt det lar seg gjøre.
+
+[Wikileaks]: https://www.wired.com/2010/12/paypal-wikileaks/
+[boikottet av VISA og Mastercard]: http://www.bbc.com/news/business-11938320
+[Diaspora*]: http://readwrite.com/2011/10/19/diaspora-becomes-paypals-lates/
+[Protonmail]: https://protonmail.com/blog/paypal-freezes-protonmail-campaign-funds/
+[selve ankepunktet]: https://seafile.de/en/important-infos-about-app-seafile-de-and-licensing-purchases-through-our-web-shops/
+[Seafile]: https://github.com/haiwen/seafile
+[Seafile.de]: https://seafile.de/en/
diff --git a/content/blog/2016-07-22-noen-sår-må-aldri-gro/index.md b/content/blog/2016-07-22-noen-sår-må-aldri-gro/index.md
new file mode 100644
index 0000000..07a158c
--- /dev/null
+++ b/content/blog/2016-07-22-noen-sår-må-aldri-gro/index.md
@@ -0,0 +1,26 @@
++++
+title = "Noen sår må aldri gro"
+
+[taxonomies]
+tags = ["terrorisme", "fremmedhat", "rasisme"]
+
+[extra]
+author = "harald"
++++
+
+I dag er det nøyaktig fem år siden terroranslaget mot regjeringskvartalet og
+Arbeiderpartiets sommerleir på Utøya. Det var også en fredag.
+
+Fem år etter massakren er det likevel lite som tyder på at vi har lært noe som
+helst av hendelsen. Hatet mot innvandrere og i særdeleshet mot muslimer føles
+sterkere enn noen gang. Breiviks inspirasjonskilder slipper i langt større grad
+til i media, og forestillingen om muslimer og innvandrere får formes av
+motstanderne og haterne.
+
+Sårene var dype i dagene etter terroranslaget for fem år siden. Vi skylder oss
+selv og de som vi mistet at vi ikke glemmer, og at vi ikke lar sårene gro før
+hatet og rasmismen er rykket opp med roten og marginalisert.
+
+Noen sår vil aldri gro.
+
+Noen sår må aldri gro...