diff --git a/blog/165_norske_overv_kningskamera_registert_s__langt_i_OpenStreetmap_org.html b/blog/165_norske_overv_kningskamera_registert_s__langt_i_OpenStreetmap_org.html
index b9608c2470..83643b2cbf 100644
--- a/blog/165_norske_overv_kningskamera_registert_s__langt_i_OpenStreetmap_org.html
+++ b/blog/165_norske_overv_kningskamera_registert_s__langt_i_OpenStreetmap_org.html
@@ -74,7 +74,7 @@ kontakt slik at jeg kan få med også disse.
diff --git a/blog/90_percent_done_with_the_Norwegian_draft_translation_of_Free_Culture.html b/blog/90_percent_done_with_the_Norwegian_draft_translation_of_Free_Culture.html
index 961755daad..9a79aa8dd4 100644
--- a/blog/90_percent_done_with_the_Norwegian_draft_translation_of_Free_Culture.html
+++ b/blog/90_percent_done_with_the_Norwegian_draft_translation_of_Free_Culture.html
@@ -102,7 +102,7 @@ saw no point in linking to that version.
diff --git a/blog/A_Christmas_present_for_Skolelinux___Debian_Edu.html b/blog/A_Christmas_present_for_Skolelinux___Debian_Edu.html
index 3370f1fe57..0beaa5c805 100644
--- a/blog/A_Christmas_present_for_Skolelinux___Debian_Edu.html
+++ b/blog/A_Christmas_present_for_Skolelinux___Debian_Edu.html
@@ -74,7 +74,7 @@ you want to donate to the project.
diff --git a/blog/A_French_paperback_edition_of_the_book_Free_Culture_by_Lawrence_Lessig_is_now_available.html b/blog/A_French_paperback_edition_of_the_book_Free_Culture_by_Lawrence_Lessig_is_now_available.html
index 20ad4d7600..5a763e1bcf 100644
--- a/blog/A_French_paperback_edition_of_the_book_Free_Culture_by_Lawrence_Lessig_is_now_available.html
+++ b/blog/A_French_paperback_edition_of_the_book_Free_Culture_by_Lawrence_Lessig_is_now_available.html
@@ -102,7 +102,7 @@ to make this happen.
diff --git a/blog/A_Raspberry_Pi_based_batman_adv_Mesh_network_node.html b/blog/A_Raspberry_Pi_based_batman_adv_Mesh_network_node.html
index 3c349db10f..05c6f15025 100644
--- a/blog/A_Raspberry_Pi_based_batman_adv_Mesh_network_node.html
+++ b/blog/A_Raspberry_Pi_based_batman_adv_Mesh_network_node.html
@@ -138,7 +138,7 @@ and how much packet loss we will experience around the park. :)
diff --git a/blog/A_word_on_bitcoin_support_in_Debian.html b/blog/A_word_on_bitcoin_support_in_Debian.html
index dab23fa3ff..5fecadcef1 100644
--- a/blog/A_word_on_bitcoin_support_in_Debian.html
+++ b/blog/A_word_on_bitcoin_support_in_Debian.html
@@ -119,7 +119,7 @@ the same address as last time,
diff --git a/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html b/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html
index 0a043db1e9..a4b5524ecb 100644
--- a/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html
+++ b/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html
@@ -76,7 +76,7 @@ similar to how they use the Xsession.d framework today.
diff --git a/blog/Aktivitetsb_nd_som_beskytter_privatsf_ren.html b/blog/Aktivitetsb_nd_som_beskytter_privatsf_ren.html
index d6b2f2e8a4..cdc3bf05f1 100644
--- a/blog/Aktivitetsb_nd_som_beskytter_privatsf_ren.html
+++ b/blog/Aktivitetsb_nd_som_beskytter_privatsf_ren.html
@@ -114,7 +114,7 @@ dele sine personopplysninger med leverandøren.
diff --git a/blog/All_drones_should_be_radio_marked_with_what_they_do_and_who_they_belong_to.html b/blog/All_drones_should_be_radio_marked_with_what_they_do_and_who_they_belong_to.html
index a66056f9ca..a16f267990 100644
--- a/blog/All_drones_should_be_radio_marked_with_what_they_do_and_who_they_belong_to.html
+++ b/blog/All_drones_should_be_radio_marked_with_what_they_do_and_who_they_belong_to.html
@@ -101,7 +101,7 @@ should not have privacy. It is people who need privacy.
diff --git a/blog/Amazon_steal_books_from_customer_and_throw_out_her_out_without_any_explanation.html b/blog/Amazon_steal_books_from_customer_and_throw_out_her_out_without_any_explanation.html
index 1784f6d62d..670a96037e 100644
--- a/blog/Amazon_steal_books_from_customer_and_throw_out_her_out_without_any_explanation.html
+++ b/blog/Amazon_steal_books_from_customer_and_throw_out_her_out_without_any_explanation.html
@@ -110,7 +110,7 @@ details about the original story.
diff --git a/blog/Anonym_ferdsel_er_en_menneskerett.html b/blog/Anonym_ferdsel_er_en_menneskerett.html
index baddb0b337..9dcc832f53 100644
--- a/blog/Anonym_ferdsel_er_en_menneskerett.html
+++ b/blog/Anonym_ferdsel_er_en_menneskerett.html
@@ -87,7 +87,7 @@ kollektivtrafikken i Oslo. Jeg synes det er hårreisende.
diff --git a/blog/Automatic_Munin_and_Nagios_configuration.html b/blog/Automatic_Munin_and_Nagios_configuration.html
index f45132924b..76a1318cdb 100644
--- a/blog/Automatic_Munin_and_Nagios_configuration.html
+++ b/blog/Automatic_Munin_and_Nagios_configuration.html
@@ -103,7 +103,7 @@ everything is taken care of.
diff --git a/blog/Automatic_proxy_configuration_with_Debian_Edu___Skolelinux.html b/blog/Automatic_proxy_configuration_with_Debian_Edu___Skolelinux.html
index 77cbdfc5e2..58f8936c10 100644
--- a/blog/Automatic_proxy_configuration_with_Debian_Edu___Skolelinux.html
+++ b/blog/Automatic_proxy_configuration_with_Debian_Edu___Skolelinux.html
@@ -128,7 +128,7 @@ page for those that want to learn more.
diff --git a/blog/Avisene_i_endring.html b/blog/Avisene_i_endring.html
index 90f2367afa..8356aeda8a 100644
--- a/blog/Avisene_i_endring.html
+++ b/blog/Avisene_i_endring.html
@@ -64,7 +64,7 @@ eksisterer. Det blir spennende å se hva vi ender opp med.
diff --git a/blog/Bilkollektivet_vil_ha_retten_til___se_hvor_jeg_kj_rer___.html b/blog/Bilkollektivet_vil_ha_retten_til___se_hvor_jeg_kj_rer___.html
index 0e96e1169f..d061069ef9 100644
--- a/blog/Bilkollektivet_vil_ha_retten_til___se_hvor_jeg_kj_rer___.html
+++ b/blog/Bilkollektivet_vil_ha_retten_til___se_hvor_jeg_kj_rer___.html
@@ -90,7 +90,7 @@ eller bare ser meg om etter alternativer.
diff --git a/blog/Bokhandeldistribusjon_av_boken_Fri_kultur_av_Lawrence_Lessig.html b/blog/Bokhandeldistribusjon_av_boken_Fri_kultur_av_Lawrence_Lessig.html
index 646e02d95e..e50f1eb4d6 100644
--- a/blog/Bokhandeldistribusjon_av_boken_Fri_kultur_av_Lawrence_Lessig.html
+++ b/blog/Bokhandeldistribusjon_av_boken_Fri_kultur_av_Lawrence_Lessig.html
@@ -134,7 +134,7 @@ hva slags problemer vi ser med dagens opphavsrettsregime.
diff --git a/blog/Broken_umask_handling_with_sshfs.html b/blog/Broken_umask_handling_with_sshfs.html
index e103ee6cab..353f3703a3 100644
--- a/blog/Broken_umask_handling_with_sshfs.html
+++ b/blog/Broken_umask_handling_with_sshfs.html
@@ -157,7 +157,7 @@ script so useful that he created a GIT repository and stored it in
diff --git a/blog/Browser_plugin_for_SPICE__spice_xpi__uploaded_to_Debian.html b/blog/Browser_plugin_for_SPICE__spice_xpi__uploaded_to_Debian.html
index c48290b87d..3b1bfcc1a5 100644
--- a/blog/Browser_plugin_for_SPICE__spice_xpi__uploaded_to_Debian.html
+++ b/blog/Browser_plugin_for_SPICE__spice_xpi__uploaded_to_Debian.html
@@ -73,7 +73,7 @@ NEW. I hope it will be available in Debian in a few days.
diff --git a/blog/Change_the_font__save_the_world__and_save_some_money_in_the_process_.html b/blog/Change_the_font__save_the_world__and_save_some_money_in_the_process_.html
index e2954826d8..2dde544b2e 100644
--- a/blog/Change_the_font__save_the_world__and_save_some_money_in_the_process_.html
+++ b/blog/Change_the_font__save_the_world__and_save_some_money_in_the_process_.html
@@ -99,7 +99,7 @@ the fonts they recommend, with Centory Gothic at the top.
diff --git a/blog/Chrome_plan_to_drop_H_264_support_for_HTML5__lt_video_gt_.html b/blog/Chrome_plan_to_drop_H_264_support_for_HTML5__lt_video_gt_.html
index 269210a574..1d2815f38d 100644
--- a/blog/Chrome_plan_to_drop_H_264_support_for_HTML5__lt_video_gt_.html
+++ b/blog/Chrome_plan_to_drop_H_264_support_for_HTML5__lt_video_gt_.html
@@ -132,7 +132,7 @@ background and information on the move it a blog post yesterday.
diff --git a/blog/Cura__the_nice_3D_print_slicer__is_now_in_Debian_Unstable.html b/blog/Cura__the_nice_3D_print_slicer__is_now_in_Debian_Unstable.html
index e83829e6c3..a5c57248e1 100644
--- a/blog/Cura__the_nice_3D_print_slicer__is_now_in_Debian_Unstable.html
+++ b/blog/Cura__the_nice_3D_print_slicer__is_now_in_Debian_Unstable.html
@@ -88,7 +88,7 @@ version 3.0.3 and then update the entire set of packages to version
diff --git a/blog/DIFI_foresl_r___kaste_ut_ODF_og_ta_inn_OOXML_fra_statens_standardkatalog.html b/blog/DIFI_foresl_r___kaste_ut_ODF_og_ta_inn_OOXML_fra_statens_standardkatalog.html
index 420c750888..dec79cc262 100644
--- a/blog/DIFI_foresl_r___kaste_ut_ODF_og_ta_inn_OOXML_fra_statens_standardkatalog.html
+++ b/blog/DIFI_foresl_r___kaste_ut_ODF_og_ta_inn_OOXML_fra_statens_standardkatalog.html
@@ -120,7 +120,7 @@ klassisk tekst som er like gyldig i dag som da det ble skrevet.
diff --git a/blog/DND_hedrer_overv_kning_av_barn_med_Rosingsprisen.html b/blog/DND_hedrer_overv_kning_av_barn_med_Rosingsprisen.html
index 465294f972..04aeb36622 100644
--- a/blog/DND_hedrer_overv_kning_av_barn_med_Rosingsprisen.html
+++ b/blog/DND_hedrer_overv_kning_av_barn_med_Rosingsprisen.html
@@ -95,7 +95,7 @@ lese alle de tre bøkene.
diff --git a/blog/Database_over_bensinpriser_fra_dinside_no.html b/blog/Database_over_bensinpriser_fra_dinside_no.html
index 3adc8f7ede..2098456f90 100644
--- a/blog/Database_over_bensinpriser_fra_dinside_no.html
+++ b/blog/Database_over_bensinpriser_fra_dinside_no.html
@@ -90,7 +90,7 @@ av å dele informasjon med andre uten bruksbegresninger.
diff --git a/blog/Datalagringsdirektivet__et_angrep_p__demokratiet.html b/blog/Datalagringsdirektivet__et_angrep_p__demokratiet.html
index 716d047fab..0a7ae06811 100644
--- a/blog/Datalagringsdirektivet__et_angrep_p__demokratiet.html
+++ b/blog/Datalagringsdirektivet__et_angrep_p__demokratiet.html
@@ -112,7 +112,7 @@ fra Stopp DLD-organisasjonen for mer informasjon om dette.
diff --git a/blog/Datalagringsdirektivet_kaster_skygger_over_H_yre_og_Arbeiderpartiet.html b/blog/Datalagringsdirektivet_kaster_skygger_over_H_yre_og_Arbeiderpartiet.html
index 1d13351041..2092d3af7c 100644
--- a/blog/Datalagringsdirektivet_kaster_skygger_over_H_yre_og_Arbeiderpartiet.html
+++ b/blog/Datalagringsdirektivet_kaster_skygger_over_H_yre_og_Arbeiderpartiet.html
@@ -99,7 +99,7 @@ brukere med Ring, slik at jeg også bruker
diff --git a/blog/Datatilsynet_svarer_om_Bilkollektivets__nske_om_GPS_sporing.html b/blog/Datatilsynet_svarer_om_Bilkollektivets__nske_om_GPS_sporing.html
index 22bbdda31f..70a40dc3cb 100644
--- a/blog/Datatilsynet_svarer_om_Bilkollektivets__nske_om_GPS_sporing.html
+++ b/blog/Datatilsynet_svarer_om_Bilkollektivets__nske_om_GPS_sporing.html
@@ -157,7 +157,7 @@ dagene, eller om jeg bare finner et annet alternativ.
diff --git a/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html b/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html
index 8a904333d7..331482633e 100644
--- a/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html
+++ b/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html
@@ -72,7 +72,7 @@ and have just a few weeks or months to make it happen.
diff --git a/blog/Debian_Edu_in_the_Linux_Weekly_News.html b/blog/Debian_Edu_in_the_Linux_Weekly_News.html
index 24df5fba23..222ac1eb70 100644
--- a/blog/Debian_Edu_in_the_Linux_Weekly_News.html
+++ b/blog/Debian_Edu_in_the_Linux_Weekly_News.html
@@ -65,7 +65,7 @@ distribution for education if you want to learn more.
diff --git a/blog/Debian_Edu_interview__Andreas_Mundt.html b/blog/Debian_Edu_interview__Andreas_Mundt.html
index 7987913201..c6a8e86cb0 100644
--- a/blog/Debian_Edu_interview__Andreas_Mundt.html
+++ b/blog/Debian_Edu_interview__Andreas_Mundt.html
@@ -131,7 +131,7 @@ software and the philosophy behind it more known and popular.
diff --git a/blog/Debian_Edu_interview__Angela_Fu_.html b/blog/Debian_Edu_interview__Angela_Fu_.html
index bf2ff663a8..6f3aa20968 100644
--- a/blog/Debian_Edu_interview__Angela_Fu_.html
+++ b/blog/Debian_Edu_interview__Angela_Fu_.html
@@ -193,7 +193,7 @@ offer to become more and more independent from us.
diff --git a/blog/Debian_Edu_interview__Bernd_Zeitzen.html b/blog/Debian_Edu_interview__Bernd_Zeitzen.html
index d95563090a..48927eb360 100644
--- a/blog/Debian_Edu_interview__Bernd_Zeitzen.html
+++ b/blog/Debian_Edu_interview__Bernd_Zeitzen.html
@@ -139,7 +139,7 @@ develop their software, added to the school books, for Windows.
diff --git a/blog/Debian_Edu_interview__Dominik_George.html b/blog/Debian_Edu_interview__Dominik_George.html
index 14e53efa78..e17743ad2a 100644
--- a/blog/Debian_Edu_interview__Dominik_George.html
+++ b/blog/Debian_Edu_interview__Dominik_George.html
@@ -261,7 +261,7 @@ If that is wanted, just let me know ;).
diff --git a/blog/Debian_Edu_interview__Giorgio_Pioda.html b/blog/Debian_Edu_interview__Giorgio_Pioda.html
index b4d8901b3c..6a78a7cc89 100644
--- a/blog/Debian_Edu_interview__Giorgio_Pioda.html
+++ b/blog/Debian_Edu_interview__Giorgio_Pioda.html
@@ -150,7 +150,7 @@ Those who don't have such needs will hardly move to Linux.
diff --git a/blog/Debian_Edu_interview__J_rgen_Leibner.html b/blog/Debian_Edu_interview__J_rgen_Leibner.html
index 3af5825d30..0cb592d51a 100644
--- a/blog/Debian_Edu_interview__J_rgen_Leibner.html
+++ b/blog/Debian_Edu_interview__J_rgen_Leibner.html
@@ -202,7 +202,7 @@ countries and areas all over the world.
diff --git a/blog/Debian_Edu_interview__John_Ingleby.html b/blog/Debian_Edu_interview__John_Ingleby.html
index 69f1cdbd71..ff4ddc8ca4 100644
--- a/blog/Debian_Edu_interview__John_Ingleby.html
+++ b/blog/Debian_Edu_interview__John_Ingleby.html
@@ -135,7 +135,7 @@ Edu users in this country has to be part of it.
diff --git a/blog/Debian_Edu_interview__Jonathan_Carter.html b/blog/Debian_Edu_interview__Jonathan_Carter.html
index 36485ddf22..fb8a2a7cbe 100644
--- a/blog/Debian_Edu_interview__Jonathan_Carter.html
+++ b/blog/Debian_Edu_interview__Jonathan_Carter.html
@@ -176,7 +176,7 @@ make a decision that would work for them.
diff --git a/blog/Debian_Edu_interview__Justin_B__Rye.html b/blog/Debian_Edu_interview__Justin_B__Rye.html
index 013fd563fe..906afd4f30 100644
--- a/blog/Debian_Edu_interview__Justin_B__Rye.html
+++ b/blog/Debian_Edu_interview__Justin_B__Rye.html
@@ -107,7 +107,7 @@ you would hardly need a strategy.
diff --git a/blog/Debian_Edu_interview__Roger_Marsal.html b/blog/Debian_Edu_interview__Roger_Marsal.html
index bc922fe2f1..d86a00425f 100644
--- a/blog/Debian_Edu_interview__Roger_Marsal.html
+++ b/blog/Debian_Edu_interview__Roger_Marsal.html
@@ -137,7 +137,7 @@ first scenarios where this will happen.
diff --git a/blog/Debian_Edu_interview__Victor_Ni_u.html b/blog/Debian_Edu_interview__Victor_Ni_u.html
index 1b42917e3b..d3d5b7c2f1 100644
--- a/blog/Debian_Edu_interview__Victor_Ni_u.html
+++ b/blog/Debian_Edu_interview__Victor_Ni_u.html
@@ -188,7 +188,7 @@ very hard to convert against their will.
diff --git a/blog/Debian_Edu_interview__Wolfgang_Schweer.html b/blog/Debian_Edu_interview__Wolfgang_Schweer.html
index 6204da3390..95aa8905d9 100644
--- a/blog/Debian_Edu_interview__Wolfgang_Schweer.html
+++ b/blog/Debian_Edu_interview__Wolfgang_Schweer.html
@@ -134,7 +134,7 @@ interested and hope to get multiplicators that way.
diff --git a/blog/Debian_boots_quicker_and_quicker.html b/blog/Debian_boots_quicker_and_quicker.html
index 1193d7c12a..9cad16f77d 100644
--- a/blog/Debian_boots_quicker_and_quicker.html
+++ b/blog/Debian_boots_quicker_and_quicker.html
@@ -104,7 +104,7 @@ insserv'. Will need to test if that work. :)
diff --git a/blog/Debian_init_d_boot_script_example_for_rsyslog.html b/blog/Debian_init_d_boot_script_example_for_rsyslog.html
index ca6b88841f..f4486bdf39 100644
--- a/blog/Debian_init_d_boot_script_example_for_rsyslog.html
+++ b/blog/Debian_init_d_boot_script_example_for_rsyslog.html
@@ -249,7 +249,7 @@ and the kernel have not behaved sequentially in years.
diff --git a/blog/Debian_now_with_ZFS_on_Linux_included.html b/blog/Debian_now_with_ZFS_on_Linux_included.html
index 1081c56958..cd60c7455b 100644
--- a/blog/Debian_now_with_ZFS_on_Linux_included.html
+++ b/blog/Debian_now_with_ZFS_on_Linux_included.html
@@ -70,7 +70,7 @@ it is an important piece of the puzzle to get ZFS working.
diff --git a/blog/Departementenes_servicesenter_har_ingen_avtale_om_bruk_av_H_264_med_MPEG_LA.html b/blog/Departementenes_servicesenter_har_ingen_avtale_om_bruk_av_H_264_med_MPEG_LA.html
index cccf9dea3c..3c3b24336a 100644
--- a/blog/Departementenes_servicesenter_har_ingen_avtale_om_bruk_av_H_264_med_MPEG_LA.html
+++ b/blog/Departementenes_servicesenter_har_ingen_avtale_om_bruk_av_H_264_med_MPEG_LA.html
@@ -102,7 +102,7 @@ de brutt dem og så langt sluppet unna med det? Jeg aner ikke.
diff --git a/blog/Det_totalit_re_samfunn_kommer_stadig_n_rmere.html b/blog/Det_totalit_re_samfunn_kommer_stadig_n_rmere.html
index 6437758bc1..0e6193134f 100644
--- a/blog/Det_totalit_re_samfunn_kommer_stadig_n_rmere.html
+++ b/blog/Det_totalit_re_samfunn_kommer_stadig_n_rmere.html
@@ -104,7 +104,7 @@ ta kontakt slik at jeg kan få med også disse.
diff --git a/blog/Detect_OOXML_files_with_undefined_behaviour_.html b/blog/Detect_OOXML_files_with_undefined_behaviour_.html
index 47ab0165da..dd40711bd0 100644
--- a/blog/Detect_OOXML_files_with_undefined_behaviour_.html
+++ b/blog/Detect_OOXML_files_with_undefined_behaviour_.html
@@ -79,7 +79,7 @@ available? Please send me an email if you know of any such tool.
diff --git a/blog/Detecting_NFS_hangs_on_Linux_without_hanging_yourself___.html b/blog/Detecting_NFS_hangs_on_Linux_without_hanging_yourself___.html
index 6929a0963e..7adc723f98 100644
--- a/blog/Detecting_NFS_hangs_on_Linux_without_hanging_yourself___.html
+++ b/blog/Detecting_NFS_hangs_on_Linux_without_hanging_yourself___.html
@@ -159,7 +159,7 @@ much welcome some clues, as we regularly run into NFS hangs.
diff --git a/blog/Digitale_b_ker_uten_digitale_restriksjonsmekanismer__DRM__b_r_f__mva_fritak.html b/blog/Digitale_b_ker_uten_digitale_restriksjonsmekanismer__DRM__b_r_f__mva_fritak.html
index fb5383649c..ba0c22c3a5 100644
--- a/blog/Digitale_b_ker_uten_digitale_restriksjonsmekanismer__DRM__b_r_f__mva_fritak.html
+++ b/blog/Digitale_b_ker_uten_digitale_restriksjonsmekanismer__DRM__b_r_f__mva_fritak.html
@@ -89,7 +89,7 @@ der for å se hva de har.
diff --git a/blog/Digitale_restriksjonsmekanismer_fikk_meg_til___slutte___kj_pe_musikk.html b/blog/Digitale_restriksjonsmekanismer_fikk_meg_til___slutte___kj_pe_musikk.html
index a6a5ec491b..199133ab21 100644
--- a/blog/Digitale_restriksjonsmekanismer_fikk_meg_til___slutte___kj_pe_musikk.html
+++ b/blog/Digitale_restriksjonsmekanismer_fikk_meg_til___slutte___kj_pe_musikk.html
@@ -81,7 +81,7 @@ Kommer neppe til å ta i bruk Blueray, og ei heller de nye DRM-greiene
diff --git a/blog/Do_you_need_an_agreement_with_MPEG_LA_to_publish_and_broadcast_H_264_video_in_Norway_.html b/blog/Do_you_need_an_agreement_with_MPEG_LA_to_publish_and_broadcast_H_264_video_in_Norway_.html
index 61e163377d..038805ea18 100644
--- a/blog/Do_you_need_an_agreement_with_MPEG_LA_to_publish_and_broadcast_H_264_video_in_Norway_.html
+++ b/blog/Do_you_need_an_agreement_with_MPEG_LA_to_publish_and_broadcast_H_264_video_in_Norway_.html
@@ -161,7 +161,7 @@ requirement to limit the use to personal and non-commercial.
diff --git a/blog/Dokumentaren_om_Datalagringsdirektivet_sendes_endelig_p__NRK.html b/blog/Dokumentaren_om_Datalagringsdirektivet_sendes_endelig_p__NRK.html
index 39e5ae9211..513a916c56 100644
--- a/blog/Dokumentaren_om_Datalagringsdirektivet_sendes_endelig_p__NRK.html
+++ b/blog/Dokumentaren_om_Datalagringsdirektivet_sendes_endelig_p__NRK.html
@@ -84,7 +84,7 @@ side om filmen om datalagringsdirektivet om fem dager. Hold et
diff --git a/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html b/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html
index 016c91993a..8fc18152ec 100644
--- a/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html
+++ b/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html
@@ -121,7 +121,7 @@ slik at du kan oppdatere direkte.
diff --git a/blog/EU_domstolen_konkluderer_motsatt_av_Skatteetaten_n_r_det_gjelder_Bitcoin.html b/blog/EU_domstolen_konkluderer_motsatt_av_Skatteetaten_n_r_det_gjelder_Bitcoin.html
index 2b286df62a..cab176936c 100644
--- a/blog/EU_domstolen_konkluderer_motsatt_av_Skatteetaten_n_r_det_gjelder_Bitcoin.html
+++ b/blog/EU_domstolen_konkluderer_motsatt_av_Skatteetaten_n_r_det_gjelder_Bitcoin.html
@@ -80,7 +80,7 @@ Skatteetaten til å bytte mening. Gleder meg til fortsettelsen.
diff --git a/blog/E_valg__fortsatt_en_d_rlig_id___evaluering_legges_frem_i_Oslo_.html b/blog/E_valg__fortsatt_en_d_rlig_id___evaluering_legges_frem_i_Oslo_.html
index 2b5f1da76d..15a6ae3a80 100644
--- a/blog/E_valg__fortsatt_en_d_rlig_id___evaluering_legges_frem_i_Oslo_.html
+++ b/blog/E_valg__fortsatt_en_d_rlig_id___evaluering_legges_frem_i_Oslo_.html
@@ -344,7 +344,7 @@ artikler. Ta en titt der hvis du vil lese mer. :)
diff --git a/blog/Easier_recipe_to_observe_the_cell_phones_around_you.html b/blog/Easier_recipe_to_observe_the_cell_phones_around_you.html
index 3e132ab6f8..c455afabd9 100644
--- a/blog/Easier_recipe_to_observe_the_cell_phones_around_you.html
+++ b/blog/Easier_recipe_to_observe_the_cell_phones_around_you.html
@@ -128,7 +128,7 @@ with GNU Radio on raspbian, causing glibc to abort().
diff --git a/blog/Elektronisk_stemmegiving_over_Internet_og_datalagringsdirektivet.html b/blog/Elektronisk_stemmegiving_over_Internet_og_datalagringsdirektivet.html
index 9b8a152c17..23ddacc8e7 100644
--- a/blog/Elektronisk_stemmegiving_over_Internet_og_datalagringsdirektivet.html
+++ b/blog/Elektronisk_stemmegiving_over_Internet_og_datalagringsdirektivet.html
@@ -116,7 +116,7 @@ systemet som ikke kan kontrolleres av hver enkelt innbygger.
diff --git a/blog/En_grunn_til___takke_nei_til_usikker_digital_post.html b/blog/En_grunn_til___takke_nei_til_usikker_digital_post.html
index 2169dcec9b..c2680629df 100644
--- a/blog/En_grunn_til___takke_nei_til_usikker_digital_post.html
+++ b/blog/En_grunn_til___takke_nei_til_usikker_digital_post.html
@@ -85,7 +85,7 @@ integritet i dagens norske samfunn.
diff --git a/blog/Etterpr_vbar_kunnskap_under_press__alle_mann_til_pumpene_.html b/blog/Etterpr_vbar_kunnskap_under_press__alle_mann_til_pumpene_.html
index e4d9ada7a4..5ad9c50a84 100644
--- a/blog/Etterpr_vbar_kunnskap_under_press__alle_mann_til_pumpene_.html
+++ b/blog/Etterpr_vbar_kunnskap_under_press__alle_mann_til_pumpene_.html
@@ -87,7 +87,7 @@ vi vet hvor vi skal fly.
diff --git a/blog/Experimental_Open311_API_for_the_mySociety_fixmystreet_system.html b/blog/Experimental_Open311_API_for_the_mySociety_fixmystreet_system.html
index 6e67f83c0b..24739f42cc 100644
--- a/blog/Experimental_Open311_API_for_the_mySociety_fixmystreet_system.html
+++ b/blog/Experimental_Open311_API_for_the_mySociety_fixmystreet_system.html
@@ -74,7 +74,7 @@ to have a look. Please send feedback to the
diff --git a/blog/FAD_lanserer_reiseregningsskjema_som_fri_programvare.html b/blog/FAD_lanserer_reiseregningsskjema_som_fri_programvare.html
index 2ad19da5b3..179ab657ab 100644
--- a/blog/FAD_lanserer_reiseregningsskjema_som_fri_programvare.html
+++ b/blog/FAD_lanserer_reiseregningsskjema_som_fri_programvare.html
@@ -135,7 +135,7 @@ gjorde det litt vanskeligere for brukeren.
diff --git a/blog/F_rste_NUUG_fordrag_sendt_p__TV.html b/blog/F_rste_NUUG_fordrag_sendt_p__TV.html
index f034ac19b2..8d220b560b 100644
--- a/blog/F_rste_NUUG_fordrag_sendt_p__TV.html
+++ b/blog/F_rste_NUUG_fordrag_sendt_p__TV.html
@@ -75,7 +75,7 @@ meg, Tollef og alle andre de som deltok på møtet på TV.
diff --git a/blog/Faktasjekk__Trond_Giske_hevder_Henry_Ford_sa_at_hvis_du_sp_r_folk_hva_de_vil_ha_s__svarer_de__en_st_rre_hest_.html b/blog/Faktasjekk__Trond_Giske_hevder_Henry_Ford_sa_at_hvis_du_sp_r_folk_hva_de_vil_ha_s__svarer_de__en_st_rre_hest_.html
index 3735ac4956..13bdf391ec 100644
--- a/blog/Faktasjekk__Trond_Giske_hevder_Henry_Ford_sa_at_hvis_du_sp_r_folk_hva_de_vil_ha_s__svarer_de__en_st_rre_hest_.html
+++ b/blog/Faktasjekk__Trond_Giske_hevder_Henry_Ford_sa_at_hvis_du_sp_r_folk_hva_de_vil_ha_s__svarer_de__en_st_rre_hest_.html
@@ -85,7 +85,7 @@ Næringsliv skrev det som ble sagt, og ikke det journalisten hørte.
diff --git a/blog/FiksGataMi___fylkesoversikt_p__kart.html b/blog/FiksGataMi___fylkesoversikt_p__kart.html
index f32a3a4458..cbc61df874 100644
--- a/blog/FiksGataMi___fylkesoversikt_p__kart.html
+++ b/blog/FiksGataMi___fylkesoversikt_p__kart.html
@@ -94,7 +94,7 @@ navnene fra %20 til %2B, slik at de fungerer i flere nettlesere.
diff --git a/blog/Fiksgatami_begynner___ta_form.html b/blog/Fiksgatami_begynner___ta_form.html
index cf28dcfaa0..a81c2817b9 100644
--- a/blog/Fiksgatami_begynner___ta_form.html
+++ b/blog/Fiksgatami_begynner___ta_form.html
@@ -76,7 +76,7 @@ med dem. Dette blir bra.
diff --git a/blog/Fiksgatami_tar_form___snart_klar_for_test.html b/blog/Fiksgatami_tar_form___snart_klar_for_test.html
index dbb2cbd2ad..7894ce9494 100644
--- a/blog/Fiksgatami_tar_form___snart_klar_for_test.html
+++ b/blog/Fiksgatami_tar_form___snart_klar_for_test.html
@@ -105,7 +105,7 @@ epostadresse for innsender, og det tror jeg vi skal fortsette med.
diff --git a/blog/Fildeling_er_lovlig___ulovlig_fildeling_er_ulovlig.html b/blog/Fildeling_er_lovlig___ulovlig_fildeling_er_ulovlig.html
index db07c3aa04..ffdf02c793 100644
--- a/blog/Fildeling_er_lovlig___ulovlig_fildeling_er_ulovlig.html
+++ b/blog/Fildeling_er_lovlig___ulovlig_fildeling_er_ulovlig.html
@@ -74,7 +74,7 @@ og fildeling av slike filer er fullt ut lovlig.
diff --git a/blog/First_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html b/blog/First_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html
index a3a1876e46..d29707bc38 100644
--- a/blog/First_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html
+++ b/blog/First_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html
@@ -168,7 +168,7 @@ To download the multiarch netinstall CD release you can use
diff --git a/blog/First_paper_version_of_the_Norwegian_Free_Culture_book_heading_my_way.html b/blog/First_paper_version_of_the_Norwegian_Free_Culture_book_heading_my_way.html
index 83109fd873..c61c9504b2 100644
--- a/blog/First_paper_version_of_the_Norwegian_Free_Culture_book_heading_my_way.html
+++ b/blog/First_paper_version_of_the_Norwegian_Free_Culture_book_heading_my_way.html
@@ -113,7 +113,7 @@ result in a few months.
diff --git a/blog/Fixing_an_hanging_debian_installer_for_Debian_Edu.html b/blog/Fixing_an_hanging_debian_installer_for_Debian_Edu.html
index 1885846666..fb816a63f9 100644
--- a/blog/Fixing_an_hanging_debian_installer_for_Debian_Edu.html
+++ b/blog/Fixing_an_hanging_debian_installer_for_Debian_Edu.html
@@ -90,7 +90,7 @@ developers. We plan to release beta2 this weekend.
diff --git a/blog/Flytting_er_et_tidssluk.html b/blog/Flytting_er_et_tidssluk.html
index c372df6a93..fa9aa8af35 100644
--- a/blog/Flytting_er_et_tidssluk.html
+++ b/blog/Flytting_er_et_tidssluk.html
@@ -67,7 +67,7 @@ Jeg håper det blir bedre etter flytting i oktober.
diff --git a/blog/Forslag_i_stortinget_om___stoppe_elektronisk_stemmegiving_i_Norge.html b/blog/Forslag_i_stortinget_om___stoppe_elektronisk_stemmegiving_i_Norge.html
index c94e5c8af0..a9197594c1 100644
--- a/blog/Forslag_i_stortinget_om___stoppe_elektronisk_stemmegiving_i_Norge.html
+++ b/blog/Forslag_i_stortinget_om___stoppe_elektronisk_stemmegiving_i_Norge.html
@@ -66,7 +66,7 @@ er fremmet av Erna Solberg, Michael Tetzschner og Trond Helleland.
diff --git a/blog/Free_Software_vs__proprietary_softare___.html b/blog/Free_Software_vs__proprietary_softare___.html
index 2b5b8bfb3d..d027b57f57 100644
--- a/blog/Free_Software_vs__proprietary_softare___.html
+++ b/blog/Free_Software_vs__proprietary_softare___.html
@@ -68,7 +68,7 @@ the time to read their content, the terms are simply unacceptable.
diff --git a/blog/Free_software_car_computer_solution_.html b/blog/Free_software_car_computer_solution_.html
index 857e8c51de..2bb1ac6f36 100644
--- a/blog/Free_software_car_computer_solution_.html
+++ b/blog/Free_software_car_computer_solution_.html
@@ -104,7 +104,7 @@ some or all of these features, please let me know.
diff --git a/blog/Free_software_forced_Microsoft_to_open_Office__and_don_t_forget_Officeshots_.html b/blog/Free_software_forced_Microsoft_to_open_Office__and_don_t_forget_Officeshots_.html
index 1da96ee3c7..99a2634363 100644
--- a/blog/Free_software_forced_Microsoft_to_open_Office__and_don_t_forget_Officeshots_.html
+++ b/blog/Free_software_forced_Microsoft_to_open_Office__and_don_t_forget_Officeshots_.html
@@ -65,7 +65,7 @@ recommend both to those of my readers interested in ODF. :)
diff --git a/blog/FreedomBox_milestone___all_packages_now_in_Debian_Sid.html b/blog/FreedomBox_milestone___all_packages_now_in_Debian_Sid.html
index fb7486802b..9a9a90fd97 100644
--- a/blog/FreedomBox_milestone___all_packages_now_in_Debian_Sid.html
+++ b/blog/FreedomBox_milestone___all_packages_now_in_Debian_Sid.html
@@ -133,7 +133,7 @@ mailing list if you want to help make this vision come true.
diff --git a/blog/Freedombox_on_Dreamplug__Raspberry_Pi_and_virtual_x86_machine.html b/blog/Freedombox_on_Dreamplug__Raspberry_Pi_and_virtual_x86_machine.html
index 42804a332c..33895abf45 100644
--- a/blog/Freedombox_on_Dreamplug__Raspberry_Pi_and_virtual_x86_machine.html
+++ b/blog/Freedombox_on_Dreamplug__Raspberry_Pi_and_virtual_x86_machine.html
@@ -115,7 +115,7 @@ mailing list if you want to help make this vision come true.
diff --git a/blog/French_Docbook_PDF_EPUB_MOBI_edition_of_the_Free_Culture_book.html b/blog/French_Docbook_PDF_EPUB_MOBI_edition_of_the_Free_Culture_book.html
index 944e3e3a93..e71eb11fb6 100644
--- a/blog/French_Docbook_PDF_EPUB_MOBI_edition_of_the_Free_Culture_book.html
+++ b/blog/French_Docbook_PDF_EPUB_MOBI_edition_of_the_Free_Culture_book.html
@@ -77,7 +77,7 @@ the drawings and the cover need to be provided for this to happen.
diff --git a/blog/Frikanalen__Norwegian_TV_channel_for_technical_topics.html b/blog/Frikanalen__Norwegian_TV_channel_for_technical_topics.html
index 82a51cf364..615ae8228f 100644
--- a/blog/Frikanalen__Norwegian_TV_channel_for_technical_topics.html
+++ b/blog/Frikanalen__Norwegian_TV_channel_for_technical_topics.html
@@ -106,7 +106,7 @@ know how to fix it using free software.
diff --git a/blog/Frikanalen_og_jul_i_studentr_det.html b/blog/Frikanalen_og_jul_i_studentr_det.html
index 7477ad17d2..327443a61d 100644
--- a/blog/Frikanalen_og_jul_i_studentr_det.html
+++ b/blog/Frikanalen_og_jul_i_studentr_det.html
@@ -97,7 +97,7 @@ NUUG lykkes med å få ut sine opptak med like stor suksess.
diff --git a/blog/Frikart___Free_Garmin_maps_for_European_countries_based_on_OpenStreetmap.html b/blog/Frikart___Free_Garmin_maps_for_European_countries_based_on_OpenStreetmap.html
index a267963ff2..4114b856ad 100644
--- a/blog/Frikart___Free_Garmin_maps_for_European_countries_based_on_OpenStreetmap.html
+++ b/blog/Frikart___Free_Garmin_maps_for_European_countries_based_on_OpenStreetmap.html
@@ -72,7 +72,7 @@ map you can just edit the
diff --git a/blog/Gjendikte_sangen__Copying_Is_Not_Theft__p__Norsk_.html b/blog/Gjendikte_sangen__Copying_Is_Not_Theft__p__Norsk_.html
index 9175d07c3a..568773cbf9 100644
--- a/blog/Gjendikte_sangen__Copying_Is_Not_Theft__p__Norsk_.html
+++ b/blog/Gjendikte_sangen__Copying_Is_Not_Theft__p__Norsk_.html
@@ -123,7 +123,7 @@ til å få denne sangen over i norsk språkdrakt, ta kontakt med video
diff --git a/blog/Good_bye_subkeys_pgp_net__welcome_pool_sks_keyservers_net.html b/blog/Good_bye_subkeys_pgp_net__welcome_pool_sks_keyservers_net.html
index 20bede1568..215442e6b0 100644
--- a/blog/Good_bye_subkeys_pgp_net__welcome_pool_sks_keyservers_net.html
+++ b/blog/Good_bye_subkeys_pgp_net__welcome_pool_sks_keyservers_net.html
@@ -107,7 +107,7 @@ for a future version of the protocol?
diff --git a/blog/Graphing_the_Norwegian_company_ownership_structure.html b/blog/Graphing_the_Norwegian_company_ownership_structure.html
index 10a4f4b932..e51526d77c 100644
--- a/blog/Graphing_the_Norwegian_company_ownership_structure.html
+++ b/blog/Graphing_the_Norwegian_company_ownership_structure.html
@@ -124,7 +124,7 @@ willing to accept the terms or pay the price.
diff --git a/blog/Half_way_there_with_translated_docbook_version_of_Free_Culture.html b/blog/Half_way_there_with_translated_docbook_version_of_Free_Culture.html
index 5b2ff92289..7eb688c98e 100644
--- a/blog/Half_way_there_with_translated_docbook_version_of_Free_Culture.html
+++ b/blog/Half_way_there_with_translated_docbook_version_of_Free_Culture.html
@@ -107,7 +107,7 @@ saw no point in linking to that version.
diff --git a/blog/Hamar_kommune_imponerer_i_FiksGataMi_rapportert_problem_i_dag.html b/blog/Hamar_kommune_imponerer_i_FiksGataMi_rapportert_problem_i_dag.html
index eeb04e3bb7..bda2e1a6cc 100644
--- a/blog/Hamar_kommune_imponerer_i_FiksGataMi_rapportert_problem_i_dag.html
+++ b/blog/Hamar_kommune_imponerer_i_FiksGataMi_rapportert_problem_i_dag.html
@@ -79,7 +79,7 @@ tjeneste. Måtte de få følge av resten av landets kommuner snart. :)
diff --git a/blog/Holder_de_ord_og_NUUG_lanserer_testtjeneste_med_stortingsinformasjon.html b/blog/Holder_de_ord_og_NUUG_lanserer_testtjeneste_med_stortingsinformasjon.html
index 98003ae7ec..960f563256 100644
--- a/blog/Holder_de_ord_og_NUUG_lanserer_testtjeneste_med_stortingsinformasjon.html
+++ b/blog/Holder_de_ord_og_NUUG_lanserer_testtjeneste_med_stortingsinformasjon.html
@@ -80,7 +80,7 @@ til å ta en sniktitt.
diff --git a/blog/How_does_it_feel_to_be_wiretapped__when_you_should_be_doing_the_wiretapping___.html b/blog/How_does_it_feel_to_be_wiretapped__when_you_should_be_doing_the_wiretapping___.html
index 47a1bc5f7f..26a445b4b0 100644
--- a/blog/How_does_it_feel_to_be_wiretapped__when_you_should_be_doing_the_wiretapping___.html
+++ b/blog/How_does_it_feel_to_be_wiretapped__when_you_should_be_doing_the_wiretapping___.html
@@ -89,7 +89,7 @@ Intercept report that US Senator Rand Paul confirm what I state above.
diff --git a/blog/How_is_booting_into_runlevel_1_different_from_single_user_boots_.html b/blog/How_is_booting_into_runlevel_1_different_from_single_user_boots_.html
index 443e9b95b3..a14021ac05 100644
--- a/blog/How_is_booting_into_runlevel_1_different_from_single_user_boots_.html
+++ b/blog/How_is_booting_into_runlevel_1_different_from_single_user_boots_.html
@@ -117,7 +117,7 @@ from when sysvinit was introduced into Debian, a long time ago.
diff --git a/blog/How_to_figure_out_which_RAID_disk_to_replace_when_it_fail.html b/blog/How_to_figure_out_which_RAID_disk_to_replace_when_it_fail.html
index 3113f8a996..409379ef8d 100644
--- a/blog/How_to_figure_out_which_RAID_disk_to_replace_when_it_fail.html
+++ b/blog/How_to_figure_out_which_RAID_disk_to_replace_when_it_fail.html
@@ -108,7 +108,7 @@ disk(s) is failing when the RAID is running short on disks.
diff --git a/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html b/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html
index 809a7719b9..f5bddad172 100644
--- a/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html
+++ b/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html
@@ -120,7 +120,7 @@ is not yet in iceweasel from Debian.
diff --git a/blog/How_to_install_Linux_on_a_Packard_Bell_Easynote_LV_preinstalled_with_Windows_8.html b/blog/How_to_install_Linux_on_a_Packard_Bell_Easynote_LV_preinstalled_with_Windows_8.html
index b25fd5f552..d2d09d34af 100644
--- a/blog/How_to_install_Linux_on_a_Packard_Bell_Easynote_LV_preinstalled_with_Windows_8.html
+++ b/blog/How_to_install_Linux_on_a_Packard_Bell_Easynote_LV_preinstalled_with_Windows_8.html
@@ -98,7 +98,7 @@ Michael Tokarev and others for feedback and ideas.
diff --git a/blog/How_to_test_Debian_Edu_Jessie_despite_some_fatal_problems_with_the_installer.html b/blog/How_to_test_Debian_Edu_Jessie_despite_some_fatal_problems_with_the_installer.html
index 6248d36a4d..d9140fe286 100644
--- a/blog/How_to_test_Debian_Edu_Jessie_despite_some_fatal_problems_with_the_installer.html
+++ b/blog/How_to_test_Debian_Edu_Jessie_despite_some_fatal_problems_with_the_installer.html
@@ -122,7 +122,7 @@ installation ready before the distribution freeze in a month.
diff --git a/blog/Hva_er_egentlig_en__pen_standard_.html b/blog/Hva_er_egentlig_en__pen_standard_.html
index aa90887ae1..bd44c1f6b7 100644
--- a/blog/Hva_er_egentlig_en__pen_standard_.html
+++ b/blog/Hva_er_egentlig_en__pen_standard_.html
@@ -156,7 +156,7 @@ av en standard for at en standard skal kunne kalles fri og åpen.
diff --git a/blog/Hva_har_mine_representanter_stemt_i_Storinget_.html b/blog/Hva_har_mine_representanter_stemt_i_Storinget_.html
index 734dc20f39..7a42065c43 100644
--- a/blog/Hva_har_mine_representanter_stemt_i_Storinget_.html
+++ b/blog/Hva_har_mine_representanter_stemt_i_Storinget_.html
@@ -131,7 +131,7 @@ at vi i NUUG har fått operativ en norsk utgave av
diff --git a/blog/Hvem_samler_inn_flest_bensinpriser_.html b/blog/Hvem_samler_inn_flest_bensinpriser_.html
index 057a15ed89..94af8d1e10 100644
--- a/blog/Hvem_samler_inn_flest_bensinpriser_.html
+++ b/blog/Hvem_samler_inn_flest_bensinpriser_.html
@@ -98,7 +98,7 @@ deler data med andre, og det gjør ikke Bitfactory.
diff --git a/blog/Hvor_godt_fungerer_Linux_klienter_mot_MS_Exchange_.html b/blog/Hvor_godt_fungerer_Linux_klienter_mot_MS_Exchange_.html
index edb9be5f99..711d054ead 100644
--- a/blog/Hvor_godt_fungerer_Linux_klienter_mot_MS_Exchange_.html
+++ b/blog/Hvor_godt_fungerer_Linux_klienter_mot_MS_Exchange_.html
@@ -129,7 +129,7 @@ personer som har signert.
diff --git a/blog/Hvor_samles_det_inn_bensinpriser_for_Norge_.html b/blog/Hvor_samles_det_inn_bensinpriser_for_Norge_.html
index b33d903192..4922a672ea 100644
--- a/blog/Hvor_samles_det_inn_bensinpriser_for_Norge_.html
+++ b/blog/Hvor_samles_det_inn_bensinpriser_for_Norge_.html
@@ -208,7 +208,7 @@ legge inn og hente ut informasjon. Så får vi se hva de sier.
diff --git a/blog/Hvordan_b_r_RFC_822_formattert_epost_lagres_i_en_NOARK5_database_.html b/blog/Hvordan_b_r_RFC_822_formattert_epost_lagres_i_en_NOARK5_database_.html
index 259ba5a24d..59512f8395 100644
--- a/blog/Hvordan_b_r_RFC_822_formattert_epost_lagres_i_en_NOARK5_database_.html
+++ b/blog/Hvordan_b_r_RFC_822_formattert_epost_lagres_i_en_NOARK5_database_.html
@@ -142,7 +142,7 @@ meg en epost hvis du har innspill.
diff --git a/blog/Hvorfor_jeg_ikke_bruker_eFaktura.html b/blog/Hvorfor_jeg_ikke_bruker_eFaktura.html
index 5b8caf6534..729279ca26 100644
--- a/blog/Hvorfor_jeg_ikke_bruker_eFaktura.html
+++ b/blog/Hvorfor_jeg_ikke_bruker_eFaktura.html
@@ -86,7 +86,7 @@ liker rett og slett ikke dagens faktureringsmodeller.
diff --git a/blog/Hvorfor_leverer_noen_sent_til_Offentlig_Elektronisk_postjournal_.html b/blog/Hvorfor_leverer_noen_sent_til_Offentlig_Elektronisk_postjournal_.html
index ed4859f80d..22c1b1bb88 100644
--- a/blog/Hvorfor_leverer_noen_sent_til_Offentlig_Elektronisk_postjournal_.html
+++ b/blog/Hvorfor_leverer_noen_sent_til_Offentlig_Elektronisk_postjournal_.html
@@ -240,7 +240,7 @@ at det er interesse for leveringen til OEP.
diff --git a/blog/Hyperions_magasin_Pegasus_g_r_for_Creative_Commons.html b/blog/Hyperions_magasin_Pegasus_g_r_for_Creative_Commons.html
index e90832d621..8c47885523 100644
--- a/blog/Hyperions_magasin_Pegasus_g_r_for_Creative_Commons.html
+++ b/blog/Hyperions_magasin_Pegasus_g_r_for_Creative_Commons.html
@@ -198,7 +198,7 @@ bokutgivelsen har fått noen til å tenke mer på problemene med dagens
diff --git a/blog/IDG_mener_linux_i_servermarkedet_vil_vokse_med_21__i_2009.html b/blog/IDG_mener_linux_i_servermarkedet_vil_vokse_med_21__i_2009.html
index d2c6140cd6..b096548479 100644
--- a/blog/IDG_mener_linux_i_servermarkedet_vil_vokse_med_21__i_2009.html
+++ b/blog/IDG_mener_linux_i_servermarkedet_vil_vokse_med_21__i_2009.html
@@ -66,7 +66,7 @@ bakgrunnskunnskapen kan jeg godt tro at IDG er inne på noe.
diff --git a/blog/IETF_standardize_its_first_multimedia_codec__Opus.html b/blog/IETF_standardize_its_first_multimedia_codec__Opus.html
index 6fb8292d25..e6e5183775 100644
--- a/blog/IETF_standardize_its_first_multimedia_codec__Opus.html
+++ b/blog/IETF_standardize_its_first_multimedia_codec__Opus.html
@@ -78,7 +78,7 @@ you want to learn more about the solution.
diff --git a/blog/I_dag_skal_Stortinget_votere_over_datalagringsdirektivet.html b/blog/I_dag_skal_Stortinget_votere_over_datalagringsdirektivet.html
index 4f27bf08e8..efc391954f 100644
--- a/blog/I_dag_skal_Stortinget_votere_over_datalagringsdirektivet.html
+++ b/blog/I_dag_skal_Stortinget_votere_over_datalagringsdirektivet.html
@@ -172,7 +172,7 @@ er noen aktuelle lenker, både nye og gamle:
diff --git a/blog/I_want_the_courts_to_be_involved_before_the_police_can_hijack_a_news_site_DNS_domain___domstolkontroll_.html b/blog/I_want_the_courts_to_be_involved_before_the_police_can_hijack_a_news_site_DNS_domain___domstolkontroll_.html
index 4ac1c976a4..ad5fd78bd8 100644
--- a/blog/I_want_the_courts_to_be_involved_before_the_police_can_hijack_a_news_site_DNS_domain___domstolkontroll_.html
+++ b/blog/I_want_the_courts_to_be_involved_before_the_police_can_hijack_a_news_site_DNS_domain___domstolkontroll_.html
@@ -112,7 +112,7 @@ your support by donating to NUUG.
diff --git a/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html b/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html
index ec0ef311e8..d0b21e6d8a 100644
--- a/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html
+++ b/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html
@@ -132,7 +132,7 @@ personal home page over at redhat.com.
diff --git a/blog/Initial_notes_on_adding_Open311_server_API_on_FixMyStreet.html b/blog/Initial_notes_on_adding_Open311_server_API_on_FixMyStreet.html
index 5ea726b85a..98d113eeb6 100644
--- a/blog/Initial_notes_on_adding_Open311_server_API_on_FixMyStreet.html
+++ b/blog/Initial_notes_on_adding_Open311_server_API_on_FixMyStreet.html
@@ -131,7 +131,7 @@ work like the free software project communities I am used to.
diff --git a/blog/Inspirerende_fra_en_ukjent_Skolelinux_skole.html b/blog/Inspirerende_fra_en_ukjent_Skolelinux_skole.html
index ceb9951729..ec625a05af 100644
--- a/blog/Inspirerende_fra_en_ukjent_Skolelinux_skole.html
+++ b/blog/Inspirerende_fra_en_ukjent_Skolelinux_skole.html
@@ -307,7 +307,7 @@ skoleverdagen etter å ha jobbet med det i 10 år.
diff --git a/blog/Install_hardware_dependent_packages_using_tasksel__Isenkram_0_7_.html b/blog/Install_hardware_dependent_packages_using_tasksel__Isenkram_0_7_.html
index 0501ab5a52..bac1132eba 100644
--- a/blog/Install_hardware_dependent_packages_using_tasksel__Isenkram_0_7_.html
+++ b/blog/Install_hardware_dependent_packages_using_tasksel__Isenkram_0_7_.html
@@ -139,7 +139,7 @@ moment I got no better place to store it.
diff --git a/blog/Internet_leverand_rer_er_ikke_vokterne_av_sine_kunders_nettbruk.html b/blog/Internet_leverand_rer_er_ikke_vokterne_av_sine_kunders_nettbruk.html
index d79d4fdd4e..52029e210a 100644
--- a/blog/Internet_leverand_rer_er_ikke_vokterne_av_sine_kunders_nettbruk.html
+++ b/blog/Internet_leverand_rer_er_ikke_vokterne_av_sine_kunders_nettbruk.html
@@ -82,7 +82,7 @@ publiseres med mer brukervennlige vilkår, som CC-BY og lignende.
diff --git a/blog/Intervju_med_digi_no_om_Norge_Digitalt_og_Openstreetmap.html b/blog/Intervju_med_digi_no_om_Norge_Digitalt_og_Openstreetmap.html
index e12c17b7fb..527e65067f 100644
--- a/blog/Intervju_med_digi_no_om_Norge_Digitalt_og_Openstreetmap.html
+++ b/blog/Intervju_med_digi_no_om_Norge_Digitalt_og_Openstreetmap.html
@@ -95,7 +95,7 @@ til å publisere sine kartdata på Internet uten bruksbegresninger.
diff --git a/blog/Is_Ogg_Theora_a_free_and_open_standard_.html b/blog/Is_Ogg_Theora_a_free_and_open_standard_.html
index 82af0ca260..7dd27993f2 100644
--- a/blog/Is_Ogg_Theora_a_free_and_open_standard_.html
+++ b/blog/Is_Ogg_Theora_a_free_and_open_standard_.html
@@ -211,7 +211,7 @@ see if they are free and open standards.
diff --git a/blog/Is_Pentagon_deciding_the_Norwegian_negotiating_position_on_Internet_governance_.html b/blog/Is_Pentagon_deciding_the_Norwegian_negotiating_position_on_Internet_governance_.html
index 956beb437a..74df6f283a 100644
--- a/blog/Is_Pentagon_deciding_the_Norwegian_negotiating_position_on_Internet_governance_.html
+++ b/blog/Is_Pentagon_deciding_the_Norwegian_negotiating_position_on_Internet_governance_.html
@@ -166,7 +166,7 @@ And what exactly was said and done at the meeting? Anyone know?
diff --git a/blog/Is_there_a_PHP_expert_in_the_building___Debian_Edu_need_help_.html b/blog/Is_there_a_PHP_expert_in_the_building___Debian_Edu_need_help_.html
index 09d366a91a..80e9519539 100644
--- a/blog/Is_there_a_PHP_expert_in_the_building___Debian_Edu_need_help_.html
+++ b/blog/Is_there_a_PHP_expert_in_the_building___Debian_Edu_need_help_.html
@@ -83,7 +83,7 @@ irc.debian.org) and provide patches via the BTS.
diff --git a/blog/Isenkram_updated_with_a_lot_more_hardware_package_mappings.html b/blog/Isenkram_updated_with_a_lot_more_hardware_package_mappings.html
index ec8da2531b..61ba9755c7 100644
--- a/blog/Isenkram_updated_with_a_lot_more_hardware_package_mappings.html
+++ b/blog/Isenkram_updated_with_a_lot_more_hardware_package_mappings.html
@@ -151,7 +151,7 @@ the mean time I provide an override in isenkram.
diff --git a/blog/Isenkram_with_PackageKit_support___new_version_0_23_available_in_Debian_unstable.html b/blog/Isenkram_with_PackageKit_support___new_version_0_23_available_in_Debian_unstable.html
index 6421a3049d..bfe5617550 100644
--- a/blog/Isenkram_with_PackageKit_support___new_version_0_23_available_in_Debian_unstable.html
+++ b/blog/Isenkram_with_PackageKit_support___new_version_0_23_available_in_Debian_unstable.html
@@ -112,7 +112,7 @@ blog posts about isenkram to learn how to do that.
diff --git a/blog/Jeg_skal_p__konferansen_Go_Open_2012.html b/blog/Jeg_skal_p__konferansen_Go_Open_2012.html
index 5679fb9d47..63294b6617 100644
--- a/blog/Jeg_skal_p__konferansen_Go_Open_2012.html
+++ b/blog/Jeg_skal_p__konferansen_Go_Open_2012.html
@@ -63,7 +63,7 @@ programvare i Norge der i år. Kommer du?
diff --git a/blog/July_13th__Debian_Ubuntu_BSP_and_Skolelinux_Debian_Edu_developer_gathering_in_Oslo.html b/blog/July_13th__Debian_Ubuntu_BSP_and_Skolelinux_Debian_Edu_developer_gathering_in_Oslo.html
index 19f6edcc72..78a448f264 100644
--- a/blog/July_13th__Debian_Ubuntu_BSP_and_Skolelinux_Debian_Edu_developer_gathering_in_Oslo.html
+++ b/blog/July_13th__Debian_Ubuntu_BSP_and_Skolelinux_Debian_Edu_developer_gathering_in_Oslo.html
@@ -71,7 +71,7 @@ wiki page if you plan to join us.
diff --git a/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html b/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html
index 8f3581e822..0b2719de0e 100644
--- a/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html
+++ b/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html
@@ -81,7 +81,7 @@ but I am pretty sure that waiting for each other is not it.
diff --git a/blog/Kartverkets_lansering_av_tjenesten_Se_Eiendom_har_potensiale__hvis_bruksvilk_rene_ikke_blokkerer.html b/blog/Kartverkets_lansering_av_tjenesten_Se_Eiendom_har_potensiale__hvis_bruksvilk_rene_ikke_blokkerer.html
index bebf64d528..dd743425c4 100644
--- a/blog/Kartverkets_lansering_av_tjenesten_Se_Eiendom_har_potensiale__hvis_bruksvilk_rene_ikke_blokkerer.html
+++ b/blog/Kartverkets_lansering_av_tjenesten_Se_Eiendom_har_potensiale__hvis_bruksvilk_rene_ikke_blokkerer.html
@@ -145,7 +145,7 @@ Finnmarksvidda) ikke fungerer. Vet ikke hva det kommer av.
diff --git a/blog/Kategorisering_av_problemer_p__FiksGatami.html b/blog/Kategorisering_av_problemer_p__FiksGatami.html
index 98bf9c370a..db18e0d1a1 100644
--- a/blog/Kategorisering_av_problemer_p__FiksGatami.html
+++ b/blog/Kategorisering_av_problemer_p__FiksGatami.html
@@ -122,7 +122,7 @@ med i laget når det gjelder kategorisering.
diff --git a/blog/Kerberos_for_Debian_Edu_Squeeze_.html b/blog/Kerberos_for_Debian_Edu_Squeeze_.html
index 450c6ff31d..7de8c58fc7 100644
--- a/blog/Kerberos_for_Debian_Edu_Squeeze_.html
+++ b/blog/Kerberos_for_Debian_Edu_Squeeze_.html
@@ -94,7 +94,7 @@ up in a few days.
diff --git a/blog/Kontant_betaling__takk_.html b/blog/Kontant_betaling__takk_.html
index e66e76536f..d5c2981844 100644
--- a/blog/Kontant_betaling__takk_.html
+++ b/blog/Kontant_betaling__takk_.html
@@ -1020,7 +1020,7 @@ henvendelsen min, men ikke hatt tid til å følge opp saken videre.
diff --git a/blog/Korrupsjon_p__h_yeste_niv__.html b/blog/Korrupsjon_p__h_yeste_niv__.html
index 533eddcf18..4448d2bc0e 100644
--- a/blog/Korrupsjon_p__h_yeste_niv__.html
+++ b/blog/Korrupsjon_p__h_yeste_niv__.html
@@ -74,7 +74,7 @@ Sverige blir søndagskolefortellinger i sammenligning.
diff --git a/blog/LUMA__a_very_nice_LDAP_GUI.html b/blog/LUMA__a_very_nice_LDAP_GUI.html
index e3a31210bf..91b47251d0 100644
--- a/blog/LUMA__a_very_nice_LDAP_GUI.html
+++ b/blog/LUMA__a_very_nice_LDAP_GUI.html
@@ -88,7 +88,7 @@ changes, it will not be an option for Debian Edu based on Squeeze.
diff --git a/blog/L_r_kidsa_koding_har_vanligvis_ikke_samtykkeerkl_ringer.html b/blog/L_r_kidsa_koding_har_vanligvis_ikke_samtykkeerkl_ringer.html
index e3e45c9376..9733d853ed 100644
--- a/blog/L_r_kidsa_koding_har_vanligvis_ikke_samtykkeerkl_ringer.html
+++ b/blog/L_r_kidsa_koding_har_vanligvis_ikke_samtykkeerkl_ringer.html
@@ -157,7 +157,7 @@ mer interessant i det opprinnelige, og hva som er endret i den nye.
diff --git a/blog/Lawrence_Lessig_interviewed_Edward_Snowden_a_year_ago.html b/blog/Lawrence_Lessig_interviewed_Edward_Snowden_a_year_ago.html
index 551e966a58..e71b34aa06 100644
--- a/blog/Lawrence_Lessig_interviewed_Edward_Snowden_a_year_ago.html
+++ b/blog/Lawrence_Lessig_interviewed_Edward_Snowden_a_year_ago.html
@@ -79,7 +79,7 @@ that this is the political leadership we have here in Norway.
diff --git a/blog/Ledger___double_entry_accounting_using_text_based_storage_format.html b/blog/Ledger___double_entry_accounting_using_text_based_storage_format.html
index b7b685e60e..819cb0da3f 100644
--- a/blog/Ledger___double_entry_accounting_using_text_based_storage_format.html
+++ b/blog/Ledger___double_entry_accounting_using_text_based_storage_format.html
@@ -109,7 +109,7 @@ for the organisations I am involved in.
diff --git a/blog/Lenker_for_2014_08_03.html b/blog/Lenker_for_2014_08_03.html
index 0c4b829661..e3f9eee2f3 100644
--- a/blog/Lenker_for_2014_08_03.html
+++ b/blog/Lenker_for_2014_08_03.html
@@ -212,7 +212,7 @@ narkotikamarkedet er mye bedre enn å overlate det til kriminelle.
diff --git a/blog/Lenny__Squeeze_upgrades_of_the_Gnome_and_KDE_desktop__now_with_apt_get_autoremove.html b/blog/Lenny__Squeeze_upgrades_of_the_Gnome_and_KDE_desktop__now_with_apt_get_autoremove.html
index 3705f5f546..ca56c219f8 100644
--- a/blog/Lenny__Squeeze_upgrades_of_the_Gnome_and_KDE_desktop__now_with_apt_get_autoremove.html
+++ b/blog/Lenny__Squeeze_upgrades_of_the_Gnome_and_KDE_desktop__now_with_apt_get_autoremove.html
@@ -495,7 +495,7 @@ the upgrade, but hope those that do can have a look.
diff --git a/blog/Lets_make_a_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook.html b/blog/Lets_make_a_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook.html
index 8f3e83da89..02955fd080 100644
--- a/blog/Lets_make_a_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook.html
+++ b/blog/Lets_make_a_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook.html
@@ -78,7 +78,7 @@ available for many more languages.
diff --git a/blog/Litt_informasjon_om_Bitfactorys_Bensinpris_API.html b/blog/Litt_informasjon_om_Bitfactorys_Bensinpris_API.html
index 0497d6b422..7cf2c36823 100644
--- a/blog/Litt_informasjon_om_Bitfactorys_Bensinpris_API.html
+++ b/blog/Litt_informasjon_om_Bitfactorys_Bensinpris_API.html
@@ -214,7 +214,7 @@ en liste med stasjoner på samme format som PriserVedStasjoner.
diff --git a/blog/Litt_om_valgfusk_og_problemet_med_elektronisk_stemmegiving.html b/blog/Litt_om_valgfusk_og_problemet_med_elektronisk_stemmegiving.html
index 89ceeb7bf4..ea4de9b872 100644
--- a/blog/Litt_om_valgfusk_og_problemet_med_elektronisk_stemmegiving.html
+++ b/blog/Litt_om_valgfusk_og_problemet_med_elektronisk_stemmegiving.html
@@ -87,7 +87,7 @@ inneholdt i Iran hvis de ikke hadde hemmelige valg?
diff --git a/blog/Litt_statistikk_fra_Offentlig_Elektronisk_postjournal.html b/blog/Litt_statistikk_fra_Offentlig_Elektronisk_postjournal.html
index 0f12608423..37b0844e7e 100644
--- a/blog/Litt_statistikk_fra_Offentlig_Elektronisk_postjournal.html
+++ b/blog/Litt_statistikk_fra_Offentlig_Elektronisk_postjournal.html
@@ -127,7 +127,7 @@ til å levere hver uke. Har ikke undersøkt noen av de andre.
diff --git a/blog/MPEG_LA_on__Internet_Broadcast_AVC_Video__licensing_and_non_private_use.html b/blog/MPEG_LA_on__Internet_Broadcast_AVC_Video__licensing_and_non_private_use.html
index ea2c74bf24..5db77c9b90 100644
--- a/blog/MPEG_LA_on__Internet_Broadcast_AVC_Video__licensing_and_non_private_use.html
+++ b/blog/MPEG_LA_on__Internet_Broadcast_AVC_Video__licensing_and_non_private_use.html
@@ -313,7 +313,7 @@ the patents are not valid in Norway?
diff --git a/blog/Magnetstripeinnhold_i_billetter_fra_Flytoget_og_Hurtigruten.html b/blog/Magnetstripeinnhold_i_billetter_fra_Flytoget_og_Hurtigruten.html
index 05284d50f9..c13638cb2e 100644
--- a/blog/Magnetstripeinnhold_i_billetter_fra_Flytoget_og_Hurtigruten.html
+++ b/blog/Magnetstripeinnhold_i_billetter_fra_Flytoget_og_Hurtigruten.html
@@ -112,7 +112,7 @@ ser jeg mye korrespondanse mellom påtrykk og magnetstripe.
diff --git a/blog/Making_battery_measurements_a_little_easier_in_Debian.html b/blog/Making_battery_measurements_a_little_easier_in_Debian.html
index eaf7b6cada..934000056e 100644
--- a/blog/Making_battery_measurements_a_little_easier_in_Debian.html
+++ b/blog/Making_battery_measurements_a_little_easier_in_Debian.html
@@ -102,7 +102,7 @@ I would love some help to improve the system further.
diff --git a/blog/Martin_Bekkelund__En_stille_b_nn_om_Datalagringsdirektivet.html b/blog/Martin_Bekkelund__En_stille_b_nn_om_Datalagringsdirektivet.html
index 440ffbc183..49a21a397c 100644
--- a/blog/Martin_Bekkelund__En_stille_b_nn_om_Datalagringsdirektivet.html
+++ b/blog/Martin_Bekkelund__En_stille_b_nn_om_Datalagringsdirektivet.html
@@ -114,7 +114,7 @@ får snart se om det stemmer.
diff --git a/blog/Measuring_and_adjusting_the_loudness_of_a_TV_channel_using_bs1770gain.html b/blog/Measuring_and_adjusting_the_loudness_of_a_TV_channel_using_bs1770gain.html
index b172ebf3f7..b942e6162e 100644
--- a/blog/Measuring_and_adjusting_the_loudness_of_a_TV_channel_using_bs1770gain.html
+++ b/blog/Measuring_and_adjusting_the_loudness_of_a_TV_channel_using_bs1770gain.html
@@ -104,7 +104,7 @@ should be able to adjust it for all the formats handled by ffmpeg.
diff --git a/blog/Mer_allemannseie_til_inspirasjon_og_glede.html b/blog/Mer_allemannseie_til_inspirasjon_og_glede.html
index f278432c4d..051b383e93 100644
--- a/blog/Mer_allemannseie_til_inspirasjon_og_glede.html
+++ b/blog/Mer_allemannseie_til_inspirasjon_og_glede.html
@@ -1589,7 +1589,7 @@ to map books to long dead authors.
diff --git a/blog/Mer_detaljert_OEP_statisikk_for_2014_over_journalf_rte__gamle__dokumenter.html b/blog/Mer_detaljert_OEP_statisikk_for_2014_over_journalf_rte__gamle__dokumenter.html
index 19ca58ab62..dd40dc7d7d 100644
--- a/blog/Mer_detaljert_OEP_statisikk_for_2014_over_journalf_rte__gamle__dokumenter.html
+++ b/blog/Mer_detaljert_OEP_statisikk_for_2014_over_journalf_rte__gamle__dokumenter.html
@@ -214,7 +214,7 @@ Eller finnes det andre forklaringer?
diff --git a/blog/Mer_l_gnpropaganda_fra_BSA.html b/blog/Mer_l_gnpropaganda_fra_BSA.html
index 9e0c0fbde2..ae5606c79d 100644
--- a/blog/Mer_l_gnpropaganda_fra_BSA.html
+++ b/blog/Mer_l_gnpropaganda_fra_BSA.html
@@ -108,7 +108,7 @@ føre til at flere tar i bruk fri programvare.
diff --git a/blog/Migrating_Xen_virtual_machines_using_LVM_to_KVM_using_disk_images.html b/blog/Migrating_Xen_virtual_machines_using_LVM_to_KVM_using_disk_images.html
index f86f8e1e4f..63f77ae2f0 100644
--- a/blog/Migrating_Xen_virtual_machines_using_LVM_to_KVM_using_disk_images.html
+++ b/blog/Migrating_Xen_virtual_machines_using_LVM_to_KVM_using_disk_images.html
@@ -130,7 +130,7 @@ seem to work just fine.
diff --git a/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html b/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html
index c81fc27da1..95d96d3f7a 100644
--- a/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html
+++ b/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html
@@ -305,7 +305,7 @@ in /sys/ with space in them.
diff --git a/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html b/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html
index ec59a12c78..796da8a8f9 100644
--- a/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html
+++ b/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html
@@ -106,7 +106,7 @@ those that want to check back later to find it.
diff --git a/blog/NRK_nekter___finne_og_utlevere_eventuell_avtale_med_MPEG_LA.html b/blog/NRK_nekter___finne_og_utlevere_eventuell_avtale_med_MPEG_LA.html
index ef14240bdf..a9d33d58a6 100644
--- a/blog/NRK_nekter___finne_og_utlevere_eventuell_avtale_med_MPEG_LA.html
+++ b/blog/NRK_nekter___finne_og_utlevere_eventuell_avtale_med_MPEG_LA.html
@@ -184,7 +184,7 @@ at NRK ikke trenger avtale, eller noe helt annet?
diff --git a/blog/NUUG_contests_Norwegian_police_DNS_seizure_of_popcorn_time_no.html b/blog/NUUG_contests_Norwegian_police_DNS_seizure_of_popcorn_time_no.html
index c5792579b1..3311e88c57 100644
--- a/blog/NUUG_contests_Norwegian_police_DNS_seizure_of_popcorn_time_no.html
+++ b/blog/NUUG_contests_Norwegian_police_DNS_seizure_of_popcorn_time_no.html
@@ -73,7 +73,7 @@ as it must go to stop this kind of DNS hijacking.
diff --git a/blog/NUUGs_sp_rreunders_kelse_for_2012_endelig__pnet.html b/blog/NUUGs_sp_rreunders_kelse_for_2012_endelig__pnet.html
index 79c3f5a1c2..a780cff769 100644
--- a/blog/NUUGs_sp_rreunders_kelse_for_2012_endelig__pnet.html
+++ b/blog/NUUGs_sp_rreunders_kelse_for_2012_endelig__pnet.html
@@ -67,7 +67,7 @@ har 27 spørsmål og vil ta om lag fem minutt å fylle ut.
diff --git a/blog/Nagios_module_to_check_if_the_Frikanalen_video_stream_is_working.html b/blog/Nagios_module_to_check_if_the_Frikanalen_video_stream_is_working.html
index 2827b6f22f..9038848cbb 100644
--- a/blog/Nagios_module_to_check_if_the_Frikanalen_video_stream_is_working.html
+++ b/blog/Nagios_module_to_check_if_the_Frikanalen_video_stream_is_working.html
@@ -97,7 +97,7 @@ streams are working as they should.
diff --git a/blog/Nasjonalbiblioteket_avslutter_sin_ulovlige_bruk_av_Google_Skjemaer.html b/blog/Nasjonalbiblioteket_avslutter_sin_ulovlige_bruk_av_Google_Skjemaer.html
index 944546be44..06b9e60660 100644
--- a/blog/Nasjonalbiblioteket_avslutter_sin_ulovlige_bruk_av_Google_Skjemaer.html
+++ b/blog/Nasjonalbiblioteket_avslutter_sin_ulovlige_bruk_av_Google_Skjemaer.html
@@ -86,7 +86,7 @@ det å spørre hva i alle dager det offentlige holder på med.
diff --git a/blog/Naturvernforbundet_i_Oslo_bruker_OpenStreetmap_i_sin_kalender.html b/blog/Naturvernforbundet_i_Oslo_bruker_OpenStreetmap_i_sin_kalender.html
index 76df5e062e..a816ee2ffa 100644
--- a/blog/Naturvernforbundet_i_Oslo_bruker_OpenStreetmap_i_sin_kalender.html
+++ b/blog/Naturvernforbundet_i_Oslo_bruker_OpenStreetmap_i_sin_kalender.html
@@ -74,7 +74,7 @@ til slutt så lite at frykten for å frigjøre data overvinnes.
diff --git a/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html b/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html
index 42523183bb..2c4b6fae71 100644
--- a/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html
+++ b/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html
@@ -72,7 +72,7 @@ including links to Lego related packages is now available.
diff --git a/blog/New_book___Fri_kultur__by__lessig__a_Norwegian_Bokm_l_translation_of__Free_Culture__from_2004.html b/blog/New_book___Fri_kultur__by__lessig__a_Norwegian_Bokm_l_translation_of__Free_Culture__from_2004.html
index 01ff5603a6..888bd36d92 100644
--- a/blog/New_book___Fri_kultur__by__lessig__a_Norwegian_Bokm_l_translation_of__Free_Culture__from_2004.html
+++ b/blog/New_book___Fri_kultur__by__lessig__a_Norwegian_Bokm_l_translation_of__Free_Culture__from_2004.html
@@ -101,7 +101,7 @@ progress and insights I had along the way.
diff --git a/blog/New_chrpath_release_0_16.html b/blog/New_chrpath_release_0_16.html
index aed953e04c..b61cb1d081 100644
--- a/blog/New_chrpath_release_0_16.html
+++ b/blog/New_chrpath_release_0_16.html
@@ -99,7 +99,7 @@ include a test suite check.
diff --git a/blog/New_home_and_release_1_0_for_netgroup_and_innetgr__aka_ng_utils_.html b/blog/New_home_and_release_1_0_for_netgroup_and_innetgr__aka_ng_utils_.html
index 4ba021dba1..b078a39eff 100644
--- a/blog/New_home_and_release_1_0_for_netgroup_and_innetgr__aka_ng_utils_.html
+++ b/blog/New_home_and_release_1_0_for_netgroup_and_innetgr__aka_ng_utils_.html
@@ -82,7 +82,7 @@ if you want to check it out. The new version is also uploaded into
diff --git a/blog/New_laptop___some_more_clues_and_ideas_based_on_feedback.html b/blog/New_laptop___some_more_clues_and_ideas_based_on_feedback.html
index 82d29829ba..3726f088f9 100644
--- a/blog/New_laptop___some_more_clues_and_ideas_based_on_feedback.html
+++ b/blog/New_laptop___some_more_clues_and_ideas_based_on_feedback.html
@@ -107,7 +107,7 @@ thinkpad X models, and provide one year warranty.
diff --git a/blog/New_lsdvd_release_version_0_17_is_ready.html b/blog/New_lsdvd_release_version_0_17_is_ready.html
index f40b01cc7e..daeeb50f9b 100644
--- a/blog/New_lsdvd_release_version_0_17_is_ready.html
+++ b/blog/New_lsdvd_release_version_0_17_is_ready.html
@@ -94,7 +94,7 @@ project the last nine years. Please check it out. :)
diff --git a/blog/Norge_trenger_en_personvernforening.html b/blog/Norge_trenger_en_personvernforening.html
index f4162afc82..1f8a6ac598 100644
--- a/blog/Norge_trenger_en_personvernforening.html
+++ b/blog/Norge_trenger_en_personvernforening.html
@@ -71,7 +71,7 @@ nå får vi se om noen er enig.
diff --git a/blog/Norsk_utgave_av_Alaveteli___WhatDoTheyKnow_p__trappene.html b/blog/Norsk_utgave_av_Alaveteli___WhatDoTheyKnow_p__trappene.html
index 9e11b61113..684920a6dd 100644
--- a/blog/Norsk_utgave_av_Alaveteli___WhatDoTheyKnow_p__trappene.html
+++ b/blog/Norsk_utgave_av_Alaveteli___WhatDoTheyKnow_p__trappene.html
@@ -101,7 +101,7 @@ fått oversatt 76%, men trenger hjelp for å komme helt i mål. :)
diff --git a/blog/Norwegian_Bokm_l_edition_of_Debian_Administrator_s_Handbook_is_now_available.html b/blog/Norwegian_Bokm_l_edition_of_Debian_Administrator_s_Handbook_is_now_available.html
index 4f0c2b8ed0..a3eed3e2d4 100644
--- a/blog/Norwegian_Bokm_l_edition_of_Debian_Administrator_s_Handbook_is_now_available.html
+++ b/blog/Norwegian_Bokm_l_edition_of_Debian_Administrator_s_Handbook_is_now_available.html
@@ -82,7 +82,7 @@ for Debian-administratoren" will be well received.
diff --git a/blog/Norwegian_citizens_now_required_by_law_to_give_their_fingerprint_to_the_police.html b/blog/Norwegian_citizens_now_required_by_law_to_give_their_fingerprint_to_the_police.html
index 2ee7800c72..8265f62e6f 100644
--- a/blog/Norwegian_citizens_now_required_by_law_to_give_their_fingerprint_to_the_police.html
+++ b/blog/Norwegian_citizens_now_required_by_law_to_give_their_fingerprint_to_the_police.html
@@ -112,7 +112,7 @@ summary of the sources I have for concluding the way I do
diff --git a/blog/Nude_body_scanner_now_present_on_Norwegian_airport.html b/blog/Nude_body_scanner_now_present_on_Norwegian_airport.html
index 3b0480d5fb..7671a20977 100644
--- a/blog/Nude_body_scanner_now_present_on_Norwegian_airport.html
+++ b/blog/Nude_body_scanner_now_present_on_Norwegian_airport.html
@@ -84,7 +84,7 @@ something everyone should have to accept to travel.
diff --git a/blog/Officeshots_still_going_strong.html b/blog/Officeshots_still_going_strong.html
index 91ecd48370..08e841e8f4 100644
--- a/blog/Officeshots_still_going_strong.html
+++ b/blog/Officeshots_still_going_strong.html
@@ -71,7 +71,7 @@ got such a great test tool available.
diff --git a/blog/OpenALPR__find_car_license_plates_in_video_streams___nice_free_software.html b/blog/OpenALPR__find_car_license_plates_in_video_streams___nice_free_software.html
index 6e214cf33c..1bb90bdc17 100644
--- a/blog/OpenALPR__find_car_license_plates_in_video_streams___nice_free_software.html
+++ b/blog/OpenALPR__find_car_license_plates_in_video_streams___nice_free_software.html
@@ -103,7 +103,7 @@ package show up in unstable.
diff --git a/blog/Opphavet_til_Skolelinux_prosjektet.html b/blog/Opphavet_til_Skolelinux_prosjektet.html
index 0d1ac4b72a..a0f80fd9be 100644
--- a/blog/Opphavet_til_Skolelinux_prosjektet.html
+++ b/blog/Opphavet_til_Skolelinux_prosjektet.html
@@ -86,7 +86,7 @@ Resten er historie. :)
diff --git a/blog/Osloskolen_bryter_loven_n_r_de_sender_politihunder_inn_i_klasserom_med_elever.html b/blog/Osloskolen_bryter_loven_n_r_de_sender_politihunder_inn_i_klasserom_med_elever.html
index eadfd6d9ff..a2394f5c61 100644
--- a/blog/Osloskolen_bryter_loven_n_r_de_sender_politihunder_inn_i_klasserom_med_elever.html
+++ b/blog/Osloskolen_bryter_loven_n_r_de_sender_politihunder_inn_i_klasserom_med_elever.html
@@ -85,7 +85,7 @@ over mange år i Norge.
diff --git a/blog/PGP_key_transition_statement_for_key_EE4E02F9.html b/blog/PGP_key_transition_statement_for_key_EE4E02F9.html
index 8d30d3ba7f..d9acedab6c 100644
--- a/blog/PGP_key_transition_statement_for_key_EE4E02F9.html
+++ b/blog/PGP_key_transition_statement_for_key_EE4E02F9.html
@@ -87,7 +87,7 @@ you have a similarly signed transition statement to present.
diff --git a/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html b/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html
index aad6d463a9..fa9ce917dd 100644
--- a/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html
+++ b/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html
@@ -84,7 +84,7 @@ list of usertagged bugs related to this.
diff --git a/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html b/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html
index 053412bd63..45514c581e 100644
--- a/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html
+++ b/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html
@@ -97,7 +97,7 @@ list of usertagged bugs related to this.
diff --git a/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html b/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html
index 8ef5149b33..22396518d3 100644
--- a/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html
+++ b/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html
@@ -93,7 +93,7 @@ list of usertagged bugs related to this.
diff --git a/blog/Perl_modules_used_by_FixMyStreet_which_are_missing_in_Debian_Squeeze.html b/blog/Perl_modules_used_by_FixMyStreet_which_are_missing_in_Debian_Squeeze.html
index 36f489db67..a531bfc6b0 100644
--- a/blog/Perl_modules_used_by_FixMyStreet_which_are_missing_in_Debian_Squeeze.html
+++ b/blog/Perl_modules_used_by_FixMyStreet_which_are_missing_in_Debian_Squeeze.html
@@ -82,7 +82,7 @@ do not have time for.
diff --git a/blog/Pledge_for_funding_to_the_Gnash_project_to_get_AVM2_support.html b/blog/Pledge_for_funding_to_the_Gnash_project_to_get_AVM2_support.html
index a0c12c1800..3f9685be95 100644
--- a/blog/Pledge_for_funding_to_the_Gnash_project_to_get_AVM2_support.html
+++ b/blog/Pledge_for_funding_to_the_Gnash_project_to_get_AVM2_support.html
@@ -100,7 +100,7 @@ project gets, the more features it can develop using these funds.
diff --git a/blog/RFID_pass_deler_bilder_av_fingeravtrykkene_dine_ved_enhver_grensepassering.html b/blog/RFID_pass_deler_bilder_av_fingeravtrykkene_dine_ved_enhver_grensepassering.html
index 0cf5e8f433..b61e50fc77 100644
--- a/blog/RFID_pass_deler_bilder_av_fingeravtrykkene_dine_ved_enhver_grensepassering.html
+++ b/blog/RFID_pass_deler_bilder_av_fingeravtrykkene_dine_ved_enhver_grensepassering.html
@@ -95,7 +95,7 @@ befinner seg hos fingerens eier. Jeg vil ikke ha et slikt pass.
diff --git a/blog/RSS_kilde_for_friteksts_k_i_offentlige_anbud_hos_Doffin.html b/blog/RSS_kilde_for_friteksts_k_i_offentlige_anbud_hos_Doffin.html
index d1edd5fead..c9ab35a41d 100644
--- a/blog/RSS_kilde_for_friteksts_k_i_offentlige_anbud_hos_Doffin.html
+++ b/blog/RSS_kilde_for_friteksts_k_i_offentlige_anbud_hos_Doffin.html
@@ -109,7 +109,7 @@ Scraperwiki for de som vil grave dypere.
diff --git a/blog/Radiomerking_med_RFID.html b/blog/Radiomerking_med_RFID.html
index ef6251ab5f..82ff491950 100644
--- a/blog/Radiomerking_med_RFID.html
+++ b/blog/Radiomerking_med_RFID.html
@@ -107,7 +107,7 @@ mer om de nye biometriske passene.
diff --git a/blog/Regjerningen_forlater_prinsippet_om_ingen_royalty_betaling_i_standardkatalogen_versjon_2.html b/blog/Regjerningen_forlater_prinsippet_om_ingen_royalty_betaling_i_standardkatalogen_versjon_2.html
index 925102d40a..f1dd05e54a 100644
--- a/blog/Regjerningen_forlater_prinsippet_om_ingen_royalty_betaling_i_standardkatalogen_versjon_2.html
+++ b/blog/Regjerningen_forlater_prinsippet_om_ingen_royalty_betaling_i_standardkatalogen_versjon_2.html
@@ -91,7 +91,7 @@ er det tydelig at problemstillingen var kjent og forstått.
diff --git a/blog/Reprap_bygging_i_p_sken.html b/blog/Reprap_bygging_i_p_sken.html
index 5340325634..cfc159877c 100644
--- a/blog/Reprap_bygging_i_p_sken.html
+++ b/blog/Reprap_bygging_i_p_sken.html
@@ -111,7 +111,7 @@ kommer til å bruke denne plasttypen som håndterer temperaturer mellom
diff --git a/blog/Reprap_pakke_tapt_i_posten.html b/blog/Reprap_pakke_tapt_i_posten.html
index 272e7ec035..9ccf1a4d94 100644
--- a/blog/Reprap_pakke_tapt_i_posten.html
+++ b/blog/Reprap_pakke_tapt_i_posten.html
@@ -67,7 +67,7 @@ lenge alt er klart til Go Open
diff --git a/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html b/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html
index 74648ccaec..235972a22d 100644
--- a/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html
+++ b/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html
@@ -111,7 +111,7 @@ Squeeze, so I guess this will be my tool of choice in the future.
diff --git a/blog/Robot__reis_deg___.html b/blog/Robot__reis_deg___.html
index 26e375a37b..7c9e7f418d 100644
--- a/blog/Robot__reis_deg___.html
+++ b/blog/Robot__reis_deg___.html
@@ -96,7 +96,7 @@ der hvis du er nysgjerrig.
diff --git a/blog/Running_TP_Link_MR3040_as_a_batman_adv_mesh_node_using_openwrt.html b/blog/Running_TP_Link_MR3040_as_a_batman_adv_mesh_node_using_openwrt.html
index b7b19de34c..fe8a555f92 100644
--- a/blog/Running_TP_Link_MR3040_as_a_batman_adv_mesh_node_using_openwrt.html
+++ b/blog/Running_TP_Link_MR3040_as_a_batman_adv_mesh_node_using_openwrt.html
@@ -176,7 +176,7 @@ still wrapped up in plastic.
diff --git a/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html b/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html
index 38de3802df..1870d19668 100644
--- a/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html
+++ b/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html
@@ -143,7 +143,7 @@ you know of one, drop me an email. :)
diff --git a/blog/Saving_power_with_Debian_Edu___Skolelinux_using_shutdown_at_night.html b/blog/Saving_power_with_Debian_Edu___Skolelinux_using_shutdown_at_night.html
index 437019f568..f60039a874 100644
--- a/blog/Saving_power_with_Debian_Edu___Skolelinux_using_shutdown_at_night.html
+++ b/blog/Saving_power_with_Debian_Edu___Skolelinux_using_shutdown_at_night.html
@@ -90,7 +90,7 @@ Perhaps you too can use it to save some power?
diff --git a/blog/Second_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html b/blog/Second_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html
index 20aaed387e..78fa45c062 100644
--- a/blog/Second_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html
+++ b/blog/Second_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html
@@ -65,7 +65,7 @@ need a software solution for your school.
diff --git a/blog/Self_appointed_leaders_of_the_Free_World.html b/blog/Self_appointed_leaders_of_the_Free_World.html
index 0a47e1f00e..351c37a3b8 100644
--- a/blog/Self_appointed_leaders_of_the_Free_World.html
+++ b/blog/Self_appointed_leaders_of_the_Free_World.html
@@ -79,7 +79,7 @@ one taken by any Free World.
diff --git a/blog/Setting_up_a_new_school_with_Debian_Edu_Squeeze.html b/blog/Setting_up_a_new_school_with_Debian_Edu_Squeeze.html
index 3b3a00e7bf..fc0be710f4 100644
--- a/blog/Setting_up_a_new_school_with_Debian_Edu_Squeeze.html
+++ b/blog/Setting_up_a_new_school_with_Debian_Edu_Squeeze.html
@@ -104,7 +104,7 @@ original text, and have added it to the text now.
diff --git a/blog/Seventy_percent_done_with_Norwegian_docbook_version_of_Free_Culture.html b/blog/Seventy_percent_done_with_Norwegian_docbook_version_of_Free_Culture.html
index 3e5fea10f3..36a2340f8f 100644
--- a/blog/Seventy_percent_done_with_Norwegian_docbook_version_of_Free_Culture.html
+++ b/blog/Seventy_percent_done_with_Norwegian_docbook_version_of_Free_Culture.html
@@ -89,7 +89,7 @@ saw no point in linking to that version.
diff --git a/blog/Sikkerhet_til_sj_s_trenger_sj_kart_uten_bruksbegresninger.html b/blog/Sikkerhet_til_sj_s_trenger_sj_kart_uten_bruksbegresninger.html
index 3c2ec6a419..f621c59d03 100644
--- a/blog/Sikkerhet_til_sj_s_trenger_sj_kart_uten_bruksbegresninger.html
+++ b/blog/Sikkerhet_til_sj_s_trenger_sj_kart_uten_bruksbegresninger.html
@@ -111,7 +111,7 @@ det viser at behovet for fribruks-sjøkart er til stedet.
diff --git a/blog/Sikkerhetsteateret_p__flyplassene_fortsetter.html b/blog/Sikkerhetsteateret_p__flyplassene_fortsetter.html
index db1f224122..a59b9d0fc3 100644
--- a/blog/Sikkerhetsteateret_p__flyplassene_fortsetter.html
+++ b/blog/Sikkerhetsteateret_p__flyplassene_fortsetter.html
@@ -87,7 +87,7 @@ en god ting sett fra et miljøperspektiv, men det er en annen sak.
diff --git a/blog/Skjermbilder_fra_nordsamisk_installasjon_av_Skolelinux_Squeeze.html b/blog/Skjermbilder_fra_nordsamisk_installasjon_av_Skolelinux_Squeeze.html
index 08a6dfb122..7e4bd84040 100644
--- a/blog/Skjermbilder_fra_nordsamisk_installasjon_av_Skolelinux_Squeeze.html
+++ b/blog/Skjermbilder_fra_nordsamisk_installasjon_av_Skolelinux_Squeeze.html
@@ -96,7 +96,7 @@ men det har vært veldig liten aktivitet der de siste årene.
diff --git a/blog/Skolelinux_intervju__Arnt_Ove_Gregersen.html b/blog/Skolelinux_intervju__Arnt_Ove_Gregersen.html
index 8f6db5cc01..272e5ffc00 100644
--- a/blog/Skolelinux_intervju__Arnt_Ove_Gregersen.html
+++ b/blog/Skolelinux_intervju__Arnt_Ove_Gregersen.html
@@ -139,7 +139,7 @@ veldig bra utvalg av gratis spill som er av høy kvalitet. Veldig lett
diff --git a/blog/Skolelinux_intervju__Embrik_Kaslegard.html b/blog/Skolelinux_intervju__Embrik_Kaslegard.html
index e23d73477e..94885d17a6 100644
--- a/blog/Skolelinux_intervju__Embrik_Kaslegard.html
+++ b/blog/Skolelinux_intervju__Embrik_Kaslegard.html
@@ -149,7 +149,7 @@ spørsmålene litt mer tekst fra Embrik.
diff --git a/blog/Skolelinux_intervju__Helge_Tore_H_yland.html b/blog/Skolelinux_intervju__Helge_Tore_H_yland.html
index f7a09af199..10d23312c5 100644
--- a/blog/Skolelinux_intervju__Helge_Tore_H_yland.html
+++ b/blog/Skolelinux_intervju__Helge_Tore_H_yland.html
@@ -136,7 +136,7 @@ men det er svært hjelpevillig og engasjert.
diff --git a/blog/Skolelinux_intervju__Morten_Amundsen.html b/blog/Skolelinux_intervju__Morten_Amundsen.html
index 5bc1f17693..daebe31001 100644
--- a/blog/Skolelinux_intervju__Morten_Amundsen.html
+++ b/blog/Skolelinux_intervju__Morten_Amundsen.html
@@ -118,7 +118,7 @@ få mest mulig læring for pengene man har.
diff --git a/blog/Skolelinux_intervju__Odin_Hetland_N_sen.html b/blog/Skolelinux_intervju__Odin_Hetland_N_sen.html
index 5474b66d9e..787ffa5039 100644
--- a/blog/Skolelinux_intervju__Odin_Hetland_N_sen.html
+++ b/blog/Skolelinux_intervju__Odin_Hetland_N_sen.html
@@ -196,7 +196,7 @@ det. Problemet er å få dem som har makt til å bestemme det til faktisk
diff --git a/blog/Skolelinux_intervju__Olav_Dahlum.html b/blog/Skolelinux_intervju__Olav_Dahlum.html
index 9e4a0efe18..9801b8af0e 100644
--- a/blog/Skolelinux_intervju__Olav_Dahlum.html
+++ b/blog/Skolelinux_intervju__Olav_Dahlum.html
@@ -118,7 +118,7 @@ selvstendige individer som kan være med å skape sin egen fremtid.
diff --git a/blog/Skolelinux_intervju__Sturle_Sunde.html b/blog/Skolelinux_intervju__Sturle_Sunde.html
index ecc2f3d6b9..c0e7f76f92 100644
--- a/blog/Skolelinux_intervju__Sturle_Sunde.html
+++ b/blog/Skolelinux_intervju__Sturle_Sunde.html
@@ -182,7 +182,7 @@ Det er eit godt produkt, brukt av mange og godt likt.»
diff --git a/blog/Skolelinux_noe_for_Ballangen___Leserinnlegg_til_avisen_Fremover_.html b/blog/Skolelinux_noe_for_Ballangen___Leserinnlegg_til_avisen_Fremover_.html
index 1a468665a7..0c7964c123 100644
--- a/blog/Skolelinux_noe_for_Ballangen___Leserinnlegg_til_avisen_Fremover_.html
+++ b/blog/Skolelinux_noe_for_Ballangen___Leserinnlegg_til_avisen_Fremover_.html
@@ -114,7 +114,7 @@ senere, men jeg har ikke sett det selv.
diff --git a/blog/Sleep_until_morning___home_automation_for_the_kids.html b/blog/Sleep_until_morning___home_automation_for_the_kids.html
index adacebd8c4..ffdde3181e 100644
--- a/blog/Sleep_until_morning___home_automation_for_the_kids.html
+++ b/blog/Sleep_until_morning___home_automation_for_the_kids.html
@@ -110,7 +110,7 @@ can also delay it if we want to.
diff --git a/blog/Software_created_using_taxpayers__money_should_be_Free_Software.html b/blog/Software_created_using_taxpayers__money_should_be_Free_Software.html
index bb73507616..ee63cde477 100644
--- a/blog/Software_created_using_taxpayers__money_should_be_Free_Software.html
+++ b/blog/Software_created_using_taxpayers__money_should_be_Free_Software.html
@@ -64,7 +64,7 @@ them. I hope you too will do the same.
diff --git a/blog/Software_updates_2010_10_24.html b/blog/Software_updates_2010_10_24.html
index 7f3b1d51fc..953a552212 100644
--- a/blog/Software_updates_2010_10_24.html
+++ b/blog/Software_updates_2010_10_24.html
@@ -88,7 +88,7 @@ clients to get a Linux desktop on request.
diff --git a/blog/Some_thoughts_on_BitCoins.html b/blog/Some_thoughts_on_BitCoins.html
index 6b0f1ae19c..54153533d2 100644
--- a/blog/Some_thoughts_on_BitCoins.html
+++ b/blog/Some_thoughts_on_BitCoins.html
@@ -134,7 +134,7 @@ equally valid for gold, which was used as a currency for many years.
diff --git a/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html b/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html
index 13aea70944..b228ec395d 100644
--- a/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html
+++ b/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html
@@ -272,7 +272,7 @@ request 768893 is accepted, it should be working again.
diff --git a/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html b/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html
index f84448a13c..bb139db92c 100644
--- a/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html
+++ b/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html
@@ -83,7 +83,7 @@ application that do not use open network protocol or open formats.
diff --git a/blog/TED_talks_p__norsk_og_NUUG_foredrag___frivillige_trengs_til_teksting.html b/blog/TED_talks_p__norsk_og_NUUG_foredrag___frivillige_trengs_til_teksting.html
index bf7d0282f1..f4cca29896 100644
--- a/blog/TED_talks_p__norsk_og_NUUG_foredrag___frivillige_trengs_til_teksting.html
+++ b/blog/TED_talks_p__norsk_og_NUUG_foredrag___frivillige_trengs_til_teksting.html
@@ -85,7 +85,7 @@ lar en bidra med teksting via en nettleser.
diff --git a/blog/TISA___nok_en_problematisk_og_hemmelig_handelsavtale.html b/blog/TISA___nok_en_problematisk_og_hemmelig_handelsavtale.html
index c7a4e5f295..f4f60c6596 100644
--- a/blog/TISA___nok_en_problematisk_og_hemmelig_handelsavtale.html
+++ b/blog/TISA___nok_en_problematisk_og_hemmelig_handelsavtale.html
@@ -83,7 +83,7 @@ penger, og se om jeg har kapasitet til å bidra med mer.
diff --git a/blog/Taking_over_sysvinit_development.html b/blog/Taking_over_sysvinit_development.html
index 4a1138d733..b303b553d6 100644
--- a/blog/Taking_over_sysvinit_development.html
+++ b/blog/Taking_over_sysvinit_development.html
@@ -80,7 +80,7 @@ distributions are moving to upstart as a syvinit replacement.
diff --git a/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html b/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html
index 0c4227b337..458edcc9c2 100644
--- a/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html
+++ b/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html
@@ -98,7 +98,7 @@ Theora, and avoid MPEG-4 and H.264 if you can.
diff --git a/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html b/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html
index a249c9a7a8..e2bafce87c 100644
--- a/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html
+++ b/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html
@@ -281,7 +281,7 @@ script so useful that he created a GIT repository and stored it in
diff --git a/blog/The_Citizenfour_documentary_on_the_Snowden_confirmations_to_Norway.html b/blog/The_Citizenfour_documentary_on_the_Snowden_confirmations_to_Norway.html
index b24c6f624b..6805715a10 100644
--- a/blog/The_Citizenfour_documentary_on_the_Snowden_confirmations_to_Norway.html
+++ b/blog/The_Citizenfour_documentary_on_the_Snowden_confirmations_to_Norway.html
@@ -81,7 +81,7 @@ here in Norway, but I am afraid he would not be safe.
diff --git a/blog/The_Pyra___handheld_computer_with_Debian_preinstalled.html b/blog/The_Pyra___handheld_computer_with_Debian_preinstalled.html
index 12888e00f2..df43179ef1 100644
--- a/blog/The_Pyra___handheld_computer_with_Debian_preinstalled.html
+++ b/blog/The_Pyra___handheld_computer_with_Debian_preinstalled.html
@@ -74,7 +74,7 @@ first computer being sold with Debian preinstalled?
diff --git a/blog/The_fight_for_freedom_and_privacy.html b/blog/The_fight_for_freedom_and_privacy.html
index 83d307ae89..3542a84f25 100644
--- a/blog/The_fight_for_freedom_and_privacy.html
+++ b/blog/The_fight_for_freedom_and_privacy.html
@@ -79,7 +79,7 @@ transforming our society to a huge Panopticon on our own.
diff --git a/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html b/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html
index d3e434f4a8..a9725852ad 100644
--- a/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html
+++ b/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html
@@ -76,7 +76,7 @@ be the only one fitting our needs. :/
diff --git a/blog/Third_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html b/blog/Third_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html
index aab28e4823..97c8829d47 100644
--- a/blog/Third_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html
+++ b/blog/Third_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html
@@ -103,7 +103,7 @@ will see you there?
diff --git a/blog/Third_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html b/blog/Third_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html
index 975aac7d64..605094f79b 100644
--- a/blog/Third_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html
+++ b/blog/Third_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html
@@ -64,7 +64,7 @@ need a software solution for your school.
diff --git a/blog/Tor___from_its_creators_mouth_11_years_ago.html b/blog/Tor___from_its_creators_mouth_11_years_ago.html
index 04b7b45cb2..10eb8b25f2 100644
--- a/blog/Tor___from_its_creators_mouth_11_years_ago.html
+++ b/blog/Tor___from_its_creators_mouth_11_years_ago.html
@@ -81,7 +81,7 @@ want to help the military in USA (and everyone else), use Tor. :)
diff --git a/blog/Ubuntu_used_to_show_the_bread_prizes_at_ICA_Storo.html b/blog/Ubuntu_used_to_show_the_bread_prizes_at_ICA_Storo.html
index e1e247c9c1..e558826db3 100644
--- a/blog/Ubuntu_used_to_show_the_bread_prizes_at_ICA_Storo.html
+++ b/blog/Ubuntu_used_to_show_the_bread_prizes_at_ICA_Storo.html
@@ -68,7 +68,7 @@ about this hidden Linux installation. It is interesting what
diff --git a/blog/Using_modalias_info_to_find_packages_handling_my_hardware.html b/blog/Using_modalias_info_to_find_packages_handling_my_hardware.html
index 37a7c7ebca..bfa47e7dd0 100644
--- a/blog/Using_modalias_info_to_find_packages_handling_my_hardware.html
+++ b/blog/Using_modalias_info_to_find_packages_handling_my_hardware.html
@@ -164,7 +164,7 @@ machine, please send me an email or talk to me on
diff --git a/blog/Venstre_m_tte_ikke_opp_mannsterke_for___stoppe_datalagringsdirektivet_sist_fredag___.html b/blog/Venstre_m_tte_ikke_opp_mannsterke_for___stoppe_datalagringsdirektivet_sist_fredag___.html
index 08b1331d60..b2b2c162f7 100644
--- a/blog/Venstre_m_tte_ikke_opp_mannsterke_for___stoppe_datalagringsdirektivet_sist_fredag___.html
+++ b/blog/Venstre_m_tte_ikke_opp_mannsterke_for___stoppe_datalagringsdirektivet_sist_fredag___.html
@@ -121,7 +121,7 @@ votering, i en situasjon der det ville vært enklere å la være. :)
diff --git a/blog/Videos_about_the_Freedombox_project___for_inspiration_and_learning.html b/blog/Videos_about_the_Freedombox_project___for_inspiration_and_learning.html
index 12045e907f..b9a3448bcd 100644
--- a/blog/Videos_about_the_Freedombox_project___for_inspiration_and_learning.html
+++ b/blog/Videos_about_the_Freedombox_project___for_inspiration_and_learning.html
@@ -117,7 +117,7 @@ mailing list if you want to help make this vision come true.
diff --git a/blog/Vitenskapens_dogmer___.html b/blog/Vitenskapens_dogmer___.html
index adb66bdbdb..996b8c03d6 100644
--- a/blog/Vitenskapens_dogmer___.html
+++ b/blog/Vitenskapens_dogmer___.html
@@ -126,7 +126,7 @@ skyskrapere. Takke meg til en tur til månen.
diff --git a/blog/Vitenskaplig_metode_i_politikken_.html b/blog/Vitenskaplig_metode_i_politikken_.html
index 91e53d89a7..4683334470 100644
--- a/blog/Vitenskaplig_metode_i_politikken_.html
+++ b/blog/Vitenskaplig_metode_i_politikken_.html
@@ -86,7 +86,7 @@ politiet og sykehussammenslåinger kommer meg i hug.
diff --git a/blog/Web_service_to_look_up_HP_and_Dell_computer_hardware_support_status.html b/blog/Web_service_to_look_up_HP_and_Dell_computer_hardware_support_status.html
index 68b469e38f..844c0c96fe 100644
--- a/blog/Web_service_to_look_up_HP_and_Dell_computer_hardware_support_status.html
+++ b/blog/Web_service_to_look_up_HP_and_Dell_computer_hardware_support_status.html
@@ -83,7 +83,7 @@ Scraperwiki and I welcome help with adding more features.
diff --git a/blog/Welcome_to_the_world__Isenkram_.html b/blog/Welcome_to_the_world__Isenkram_.html
index 8687b94cfa..7a3e77779f 100644
--- a/blog/Welcome_to_the_world__Isenkram_.html
+++ b/blog/Welcome_to_the_world__Isenkram_.html
@@ -95,7 +95,7 @@ clone argument to avoid the need for authentication.
diff --git a/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html b/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html
index dcfe815519..199c87a5a5 100644
--- a/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html
+++ b/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html
@@ -120,7 +120,7 @@ maintainers, but would make the end user experience a lot better.
diff --git a/blog/What_standards_are_Free_and_Open_as_defined_by_Digistan_.html b/blog/What_standards_are_Free_and_Open_as_defined_by_Digistan_.html
index 63d2939802..f1a3721d40 100644
--- a/blog/What_standards_are_Free_and_Open_as_defined_by_Digistan_.html
+++ b/blog/What_standards_are_Free_and_Open_as_defined_by_Digistan_.html
@@ -79,7 +79,7 @@ scared by the sketchy form of the current pages. :)
diff --git a/blog/When_web_browser_developers_make_a_video_player___.html b/blog/When_web_browser_developers_make_a_video_player___.html
index e0d381ce78..4d98850680 100644
--- a/blog/When_web_browser_developers_make_a_video_player___.html
+++ b/blog/When_web_browser_developers_make_a_video_player___.html
@@ -100,7 +100,7 @@ sure hope it was using the announced Ogg Theora support. :)
diff --git a/blog/Why_isn_t_Debian_Edu_using_VLC_.html b/blog/Why_isn_t_Debian_Edu_using_VLC_.html
index 97abc01cac..ba5bbee05d 100644
--- a/blog/Why_isn_t_Debian_Edu_using_VLC_.html
+++ b/blog/Why_isn_t_Debian_Edu_using_VLC_.html
@@ -89,7 +89,7 @@ what is going on.
diff --git a/blog/Why_isn_t_the_value_of_copyright_taxed_.html b/blog/Why_isn_t_the_value_of_copyright_taxed_.html
index 70d8d354b7..06d9991220 100644
--- a/blog/Why_isn_t_the_value_of_copyright_taxed_.html
+++ b/blog/Why_isn_t_the_value_of_copyright_taxed_.html
@@ -120,7 +120,7 @@ would like to tax copyrighted work values if they could.
diff --git a/blog/_Free_Culture__by__lessig___The_background_story_for_Creative_Commons___new_edition_available.html b/blog/_Free_Culture__by__lessig___The_background_story_for_Creative_Commons___new_edition_available.html
index 94eef366fd..96532b43a0 100644
--- a/blog/_Free_Culture__by__lessig___The_background_story_for_Creative_Commons___new_edition_available.html
+++ b/blog/_Free_Culture__by__lessig___The_background_story_for_Creative_Commons___new_edition_available.html
@@ -110,7 +110,7 @@ Parliament and other decision makers here in Norway.
diff --git a/blog/_Fri_kultur__av__lessig___norsk_utgave_av__Free_Culture__tilgjengelig_p__papir__PDF_og_ePub.html b/blog/_Fri_kultur__av__lessig___norsk_utgave_av__Free_Culture__tilgjengelig_p__papir__PDF_og_ePub.html
index ca21eee282..4ed2ca4c00 100644
--- a/blog/_Fri_kultur__av__lessig___norsk_utgave_av__Free_Culture__tilgjengelig_p__papir__PDF_og_ePub.html
+++ b/blog/_Fri_kultur__av__lessig___norsk_utgave_av__Free_Culture__tilgjengelig_p__papir__PDF_og_ePub.html
@@ -110,7 +110,7 @@ Stortingsrepresentanter og andre beslutningstakere her i Norge.
diff --git a/blog/archive/2009/06/index.html b/blog/archive/2009/06/index.html
index fdb106195a..a2319c236c 100644
--- a/blog/archive/2009/06/index.html
+++ b/blog/archive/2009/06/index.html
@@ -224,7 +224,7 @@ inneholdt i Iran hvis de ikke hadde hemmelige valg?
diff --git a/blog/archive/2009/07/index.html b/blog/archive/2009/07/index.html
index 47eaf7ea8e..2af81dc67a 100644
--- a/blog/archive/2009/07/index.html
+++ b/blog/archive/2009/07/index.html
@@ -214,7 +214,7 @@ er det tydelig at problemstillingen var kjent og forstått.
diff --git a/blog/archive/2009/12/index.html b/blog/archive/2009/12/index.html
index 6cd8b9313f..244ee52df0 100644
--- a/blog/archive/2009/12/index.html
+++ b/blog/archive/2009/12/index.html
@@ -164,7 +164,7 @@ meg, Tollef og alle andre de som deltok på møtet på TV.
diff --git a/blog/archive/2010/01/index.html b/blog/archive/2010/01/index.html
index 2fda9a0ad8..054f5bb441 100644
--- a/blog/archive/2010/01/index.html
+++ b/blog/archive/2010/01/index.html
@@ -149,7 +149,7 @@ everything is taken care of.
diff --git a/blog/archive/2010/02/index.html b/blog/archive/2010/02/index.html
index 2709c352eb..a1ce1273ba 100644
--- a/blog/archive/2010/02/index.html
+++ b/blog/archive/2010/02/index.html
@@ -82,7 +82,7 @@ and have just a few weeks or months to make it happen.
diff --git a/blog/archive/2010/03/index.html b/blog/archive/2010/03/index.html
index 746af2ac81..8bd8714a85 100644
--- a/blog/archive/2010/03/index.html
+++ b/blog/archive/2010/03/index.html
@@ -167,7 +167,7 @@ der for å se hva de har.
diff --git a/blog/archive/2010/04/index.html b/blog/archive/2010/04/index.html
index 09b071dae8..cff1c0c634 100644
--- a/blog/archive/2010/04/index.html
+++ b/blog/archive/2010/04/index.html
@@ -221,7 +221,7 @@ up in a few days.
diff --git a/blog/archive/2010/06/index.html b/blog/archive/2010/06/index.html
index 9a8480cb62..715077ed11 100644
--- a/blog/archive/2010/06/index.html
+++ b/blog/archive/2010/06/index.html
@@ -990,7 +990,7 @@ but I am pretty sure that waiting for each other is not it.
diff --git a/blog/archive/2010/09/index.html b/blog/archive/2010/09/index.html
index d5d106c1b8..9e4174ffd9 100644
--- a/blog/archive/2010/09/index.html
+++ b/blog/archive/2010/09/index.html
@@ -413,7 +413,7 @@ those that want to check back later to find it.
diff --git a/blog/archive/2010/10/index.html b/blog/archive/2010/10/index.html
index a4b530c8d6..bd48185b56 100644
--- a/blog/archive/2010/10/index.html
+++ b/blog/archive/2010/10/index.html
@@ -713,7 +713,7 @@ lar en bidra med teksting via en nettleser.
diff --git a/blog/archive/2011/06/index.html b/blog/archive/2011/06/index.html
index 0148bce7ed..369c8072b1 100644
--- a/blog/archive/2011/06/index.html
+++ b/blog/archive/2011/06/index.html
@@ -185,7 +185,7 @@ Finnmarksvidda) ikke fungerer. Vet ikke hva det kommer av.
diff --git a/blog/archive/2011/09/index.html b/blog/archive/2011/09/index.html
index 787be28a67..6bda0b0f8f 100644
--- a/blog/archive/2011/09/index.html
+++ b/blog/archive/2011/09/index.html
@@ -292,7 +292,7 @@ føre til at flere tar i bruk fri programvare.
diff --git a/blog/archive/2012/01/index.html b/blog/archive/2012/01/index.html
index 3589d04937..6d699a511b 100644
--- a/blog/archive/2012/01/index.html
+++ b/blog/archive/2012/01/index.html
@@ -495,7 +495,7 @@ developers. We plan to release beta2 this weekend.
diff --git a/blog/archive/2012/02/index.html b/blog/archive/2012/02/index.html
index b9b7672e1f..b54c1c469e 100644
--- a/blog/archive/2012/02/index.html
+++ b/blog/archive/2012/02/index.html
@@ -763,7 +763,7 @@ will see you there?
diff --git a/blog/archive/2012/04/index.html b/blog/archive/2012/04/index.html
index a6aec78dd3..fe010891c2 100644
--- a/blog/archive/2012/04/index.html
+++ b/blog/archive/2012/04/index.html
@@ -776,7 +776,7 @@ interested and hope to get multiplicators that way.
diff --git a/blog/archive/2012/05/index.html b/blog/archive/2012/05/index.html
index 89b586c836..049db38d11 100644
--- a/blog/archive/2012/05/index.html
+++ b/blog/archive/2012/05/index.html
@@ -1201,7 +1201,7 @@ til å publisere sine kartdata på Internet uten bruksbegresninger.
diff --git a/blog/archive/2013/08/index.html b/blog/archive/2013/08/index.html
index 83185f0cef..467d03595e 100644
--- a/blog/archive/2013/08/index.html
+++ b/blog/archive/2013/08/index.html
@@ -298,7 +298,7 @@ saw no point in linking to that version.
diff --git a/blog/archive/2013/11/index.html b/blog/archive/2013/11/index.html
index 7d5abcd829..fab88ee1ed 100644
--- a/blog/archive/2013/11/index.html
+++ b/blog/archive/2013/11/index.html
@@ -793,7 +793,7 @@ NEW. I hope it will be available in Debian in a few days.
diff --git a/blog/archive/2014/01/index.html b/blog/archive/2014/01/index.html
index 7da5720e55..f5a3108714 100644
--- a/blog/archive/2014/01/index.html
+++ b/blog/archive/2014/01/index.html
@@ -206,7 +206,7 @@ include a test suite check.
diff --git a/blog/archive/2014/03/index.html b/blog/archive/2014/03/index.html
index e1fd4bda09..5ffc16a9a2 100644
--- a/blog/archive/2014/03/index.html
+++ b/blog/archive/2014/03/index.html
@@ -708,7 +708,7 @@ meg en epost hvis du har innspill.
diff --git a/blog/archive/2014/05/index.html b/blog/archive/2014/05/index.html
index 957aebecd6..b9f0843aaa 100644
--- a/blog/archive/2014/05/index.html
+++ b/blog/archive/2014/05/index.html
@@ -114,7 +114,7 @@ some or all of these features, please let me know.
diff --git a/blog/archive/2014/08/index.html b/blog/archive/2014/08/index.html
index f1c9942d5e..94ad53e948 100644
--- a/blog/archive/2014/08/index.html
+++ b/blog/archive/2014/08/index.html
@@ -345,7 +345,7 @@ narkotikamarkedet er mye bedre enn å overlate det til kriminelle.
diff --git a/blog/archive/2014/09/index.html b/blog/archive/2014/09/index.html
index b9de088538..c0dd5bf00d 100644
--- a/blog/archive/2014/09/index.html
+++ b/blog/archive/2014/09/index.html
@@ -757,7 +757,7 @@ for a future version of the protocol?
diff --git a/blog/archive/2014/10/index.html b/blog/archive/2014/10/index.html
index 849aa4d42c..c1103d2eba 100644
--- a/blog/archive/2014/10/index.html
+++ b/blog/archive/2014/10/index.html
@@ -596,7 +596,7 @@ project the last nine years. Please check it out. :)
diff --git a/blog/archive/2015/02/index.html b/blog/archive/2015/02/index.html
index 97f8ee7772..f3135fd432 100644
--- a/blog/archive/2015/02/index.html
+++ b/blog/archive/2015/02/index.html
@@ -1938,7 +1938,7 @@ to map books to long dead authors.
diff --git a/blog/archive/2015/03/index.html b/blog/archive/2015/03/index.html
index 84fa8bd665..a8b71c4116 100644
--- a/blog/archive/2015/03/index.html
+++ b/blog/archive/2015/03/index.html
@@ -116,7 +116,7 @@ know how to fix it using free software.
diff --git a/blog/archive/2015/08/index.html b/blog/archive/2015/08/index.html
index 02d55153ca..8e711aff99 100644
--- a/blog/archive/2015/08/index.html
+++ b/blog/archive/2015/08/index.html
@@ -167,7 +167,7 @@ result in a few months.
diff --git a/blog/archive/2015/10/index.html b/blog/archive/2015/10/index.html
index 1ca23efc86..e9198ec707 100644
--- a/blog/archive/2015/10/index.html
+++ b/blog/archive/2015/10/index.html
@@ -586,7 +586,7 @@ the drawings and the cover need to be provided for this to happen.
diff --git a/blog/archive/2015/11/index.html b/blog/archive/2015/11/index.html
index c02321c1bb..b90fd5461c 100644
--- a/blog/archive/2015/11/index.html
+++ b/blog/archive/2015/11/index.html
@@ -930,7 +930,7 @@ And what exactly was said and done at the meeting? Anyone know?
diff --git a/blog/archive/2015/12/index.html b/blog/archive/2015/12/index.html
index 754c3f4fee..6d6b23c5eb 100644
--- a/blog/archive/2015/12/index.html
+++ b/blog/archive/2015/12/index.html
@@ -330,7 +330,7 @@ hva slags problemer vi ser med dagens opphavsrettsregime.
diff --git a/blog/archive/2016/03/index.html b/blog/archive/2016/03/index.html
index 8c91a0dc0a..7841dd6c57 100644
--- a/blog/archive/2016/03/index.html
+++ b/blog/archive/2016/03/index.html
@@ -296,7 +296,7 @@ I would love some help to improve the system further.
diff --git a/blog/archive/2016/05/index.html b/blog/archive/2016/05/index.html
index 6f038ed97b..72ef10971e 100644
--- a/blog/archive/2016/05/index.html
+++ b/blog/archive/2016/05/index.html
@@ -473,7 +473,7 @@ first computer being sold with Debian preinstalled?
diff --git a/blog/archive/2016/11/index.html b/blog/archive/2016/11/index.html
index c7b9847196..a071630e07 100644
--- a/blog/archive/2016/11/index.html
+++ b/blog/archive/2016/11/index.html
@@ -738,7 +738,7 @@ dele sine personopplysninger med leverandøren.
diff --git a/blog/archive/2017/07/index.html b/blog/archive/2017/07/index.html
index 6191afa2dc..9974abcb87 100644
--- a/blog/archive/2017/07/index.html
+++ b/blog/archive/2017/07/index.html
@@ -92,7 +92,7 @@ for Debian-administratoren" will be well received.
diff --git a/blog/archive/2017/09/index.html b/blog/archive/2017/09/index.html
index cd089f5b76..8a728ec433 100644
--- a/blog/archive/2017/09/index.html
+++ b/blog/archive/2017/09/index.html
@@ -270,7 +270,7 @@ brukere med Ring, slik at jeg også bruker
diff --git a/blog/archive/2018/04/index.html b/blog/archive/2018/04/index.html
index 579b1eb9c1..a4e513795b 100644
--- a/blog/archive/2018/04/index.html
+++ b/blog/archive/2018/04/index.html
@@ -207,7 +207,7 @@ integritet i dagens norske samfunn.
diff --git a/blog/archive/2018/10/10.rss b/blog/archive/2018/10/10.rss
index c35ee7c49f..46e18aa3a2 100644
--- a/blog/archive/2018/10/10.rss
+++ b/blog/archive/2018/10/10.rss
@@ -6,6 +6,112 @@
http://people.skolelinux.org/pere/blog/
+
+ Fetching trusted timestamps using the rfc3161ng python module
+ http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html
+ http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html
+ Mon, 8 Oct 2018 12:30:00 +0200
+ <p>I have earlier covered the basics of trusted timestamping using the
+'openssl ts' client. See blog post for
+<a href="http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html">2014</a>,
+<a href="http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html">2016</a>
+and
+<a href="http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html">2017</a>
+for those stories. But some times I want to integrate the timestamping
+in other code, and recently I needed to integrate it into Python.
+After searching a bit, I found
+<a href="https://dev.entrouvert.org/projects/python-rfc3161">the
+rfc3161 library</a> which seemed like a good fit, but I soon
+discovered it only worked for python version 2, and I needed something
+that work with python version 3. Luckily I next came across
+<a href="https://github.com/trbs/rfc3161ng/">the rfc3161ng library</a>,
+a fork of the original rfc3161 library. Not only is it working with
+python 3, it have fixed a few of the bugs in the original library, and
+it has an active maintainer. I decided to wrap it up and make it
+<a href="https://tracker.debian.org/pkg/python-rfc3161ng">available in
+Debian</a>, and a few days ago it entered Debian unstable and testing.</p>
+
+<p>Using the library is fairly straight forward. The only slightly
+problematic step is to fetch the required certificates to verify the
+timestamp. For some services it is straight forward, while for others
+I have not yet figured out how to do it. Here is a small standalone
+code example based on of the integration tests in the library code:</p>
+
+<pre>
+#!/usr/bin/python3
+
+"""
+
+Python 3 script demonstrating how to use the rfc3161ng module to
+get trusted timestamps.
+
+The license of this code is the same as the license of the rfc3161ng
+library, ie MIT/BSD.
+
+"""
+
+import os
+import pyasn1.codec.der
+import rfc3161ng
+import subprocess
+import tempfile
+import urllib.request
+
+def store(f, data):
+ f.write(data)
+ f.flush()
+ f.seek(0)
+
+def fetch(url, f=None):
+ response = urllib.request.urlopen(url)
+ data = response.read()
+ if f:
+ store(f, data)
+ return data
+
+def main():
+ with tempfile.NamedTemporaryFile() as cert_f,\
+ tempfile.NamedTemporaryFile() as ca_f,\
+ tempfile.NamedTemporaryFile() as msg_f,\
+ tempfile.NamedTemporaryFile() as tsr_f:
+
+ # First fetch certificates used by service
+ certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
+ ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
+
+ # Then timestamp the message
+ timestamper = \
+ rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
+ certificate=certificate_data)
+ data = b"Python forever!\n"
+ tsr = timestamper(data=data, return_tsr=True)
+
+ # Finally, convert message and response to something 'openssl ts' can verify
+ store(msg_f, data)
+ store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
+ args = ["openssl", "ts", "-verify",
+ "-data", msg_f.name,
+ "-in", tsr_f.name,
+ "-CAfile", ca_f.name,
+ "-untrusted", cert_f.name]
+ subprocess.check_call(args)
+
+if '__main__' == __name__:
+ main()
+</pre>
+
+<p>The code fetches the required certificates, store them as temporary
+files, timestamp a simple message, store the message and timestamp to
+disk and ask 'openssl ts' to verify the timestamp. A timestamp is
+around 1.5 kiB in size, and should be fairly easy to store for future
+use.</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+
+
+
Automatic Google Drive sync using grive in Debian
http://people.skolelinux.org/pere/blog/Automatic_Google_Drive_sync_using_grive_in_Debian.html
diff --git a/blog/archive/2018/10/index.html b/blog/archive/2018/10/index.html
index e9d9c4549b..715e5f5526 100644
--- a/blog/archive/2018/10/index.html
+++ b/blog/archive/2018/10/index.html
@@ -21,6 +21,124 @@
I have earlier covered the basics of trusted timestamping using the
+'openssl ts' client. See blog post for
+2014,
+2016
+and
+2017
+for those stories. But some times I want to integrate the timestamping
+in other code, and recently I needed to integrate it into Python.
+After searching a bit, I found
+the
+rfc3161 library which seemed like a good fit, but I soon
+discovered it only worked for python version 2, and I needed something
+that work with python version 3. Luckily I next came across
+the rfc3161ng library,
+a fork of the original rfc3161 library. Not only is it working with
+python 3, it have fixed a few of the bugs in the original library, and
+it has an active maintainer. I decided to wrap it up and make it
+available in
+Debian, and a few days ago it entered Debian unstable and testing.
+
+
Using the library is fairly straight forward. The only slightly
+problematic step is to fetch the required certificates to verify the
+timestamp. For some services it is straight forward, while for others
+I have not yet figured out how to do it. Here is a small standalone
+code example based on of the integration tests in the library code:
+
+
+#!/usr/bin/python3
+
+"""
+
+Python 3 script demonstrating how to use the rfc3161ng module to
+get trusted timestamps.
+
+The license of this code is the same as the license of the rfc3161ng
+library, ie MIT/BSD.
+
+"""
+
+import os
+import pyasn1.codec.der
+import rfc3161ng
+import subprocess
+import tempfile
+import urllib.request
+
+def store(f, data):
+ f.write(data)
+ f.flush()
+ f.seek(0)
+
+def fetch(url, f=None):
+ response = urllib.request.urlopen(url)
+ data = response.read()
+ if f:
+ store(f, data)
+ return data
+
+def main():
+ with tempfile.NamedTemporaryFile() as cert_f,\
+ tempfile.NamedTemporaryFile() as ca_f,\
+ tempfile.NamedTemporaryFile() as msg_f,\
+ tempfile.NamedTemporaryFile() as tsr_f:
+
+ # First fetch certificates used by service
+ certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
+ ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
+
+ # Then timestamp the message
+ timestamper = \
+ rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
+ certificate=certificate_data)
+ data = b"Python forever!\n"
+ tsr = timestamper(data=data, return_tsr=True)
+
+ # Finally, convert message and response to something 'openssl ts' can verify
+ store(msg_f, data)
+ store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
+ args = ["openssl", "ts", "-verify",
+ "-data", msg_f.name,
+ "-in", tsr_f.name,
+ "-CAfile", ca_f.name,
+ "-untrusted", cert_f.name]
+ subprocess.check_call(args)
+
+if '__main__' == __name__:
+ main()
+
+
+
The code fetches the required certificates, store them as temporary
+files, timestamp a simple message, store the message and timestamp to
+disk and ask 'openssl ts' to verify the timestamp. A timestamp is
+around 1.5 kiB in size, and should be fairly easy to store for future
+use.
+
+
As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
I have earlier covered the basics of trusted timestamping using the
+'openssl ts' client. See blog post for
+2014,
+2016
+and
+2017
+for those stories. But some times I want to integrate the timestamping
+in other code, and recently I needed to integrate it into Python.
+After searching a bit, I found
+the
+rfc3161 library which seemed like a good fit, but I soon
+discovered it only worked for python version 2, and I needed something
+that work with python version 3. Luckily I next came across
+the rfc3161ng library,
+a fork of the original rfc3161 library. Not only is it working with
+python 3, it have fixed a few of the bugs in the original library, and
+it has an active maintainer. I decided to wrap it up and make it
+available in
+Debian, and a few days ago it entered Debian unstable and testing.
+
+
Using the library is fairly straight forward. The only slightly
+problematic step is to fetch the required certificates to verify the
+timestamp. For some services it is straight forward, while for others
+I have not yet figured out how to do it. Here is a small standalone
+code example based on of the integration tests in the library code:
+
+
+#!/usr/bin/python3
+
+"""
+
+Python 3 script demonstrating how to use the rfc3161ng module to
+get trusted timestamps.
+
+The license of this code is the same as the license of the rfc3161ng
+library, ie MIT/BSD.
+
+"""
+
+import os
+import pyasn1.codec.der
+import rfc3161ng
+import subprocess
+import tempfile
+import urllib.request
+
+def store(f, data):
+ f.write(data)
+ f.flush()
+ f.seek(0)
+
+def fetch(url, f=None):
+ response = urllib.request.urlopen(url)
+ data = response.read()
+ if f:
+ store(f, data)
+ return data
+
+def main():
+ with tempfile.NamedTemporaryFile() as cert_f,\
+ tempfile.NamedTemporaryFile() as ca_f,\
+ tempfile.NamedTemporaryFile() as msg_f,\
+ tempfile.NamedTemporaryFile() as tsr_f:
+
+ # First fetch certificates used by service
+ certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
+ ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
+
+ # Then timestamp the message
+ timestamper = \
+ rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
+ certificate=certificate_data)
+ data = b"Python forever!\n"
+ tsr = timestamper(data=data, return_tsr=True)
+
+ # Finally, convert message and response to something 'openssl ts' can verify
+ store(msg_f, data)
+ store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
+ args = ["openssl", "ts", "-verify",
+ "-data", msg_f.name,
+ "-in", tsr_f.name,
+ "-CAfile", ca_f.name,
+ "-untrusted", cert_f.name]
+ subprocess.check_call(args)
+
+if '__main__' == __name__:
+ main()
+
+
+
The code fetches the required certificates, store them as temporary
+files, timestamp a simple message, store the message and timestamp to
+disk and ask 'openssl ts' to verify the timestamp. A timestamp is
+around 1.5 kiB in size, and should be fairly easy to store for future
+use.
+
+
As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
As usual, if you use Bitcoin and want to show your support of my
-activities, please send Bitcoin donations to my address
-15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
PS: See
-the
-followup post for a even better approach.
-
-
A while back, I was asked by a friend how to stream the desktop to
-my projector connected to Kodi. I sadly had to admit that I had no
-idea, as it was a task I never had tried. Since then, I have been
-looking for a way to do so, preferable without much extra software to
-install on either side. Today I found a way that seem to kind of
-work. Not great, but it is a start.
-
-
I had a look at several approaches, for example
-using uPnP
-DLNA as described in 2011, but it required a uPnP server, fuse and
-local storage enough to store the stream locally. This is not going
-to work well for me, lacking enough free space, and it would
-impossible for my friend to get working.
-
-
Next, it occurred to me that perhaps I could use VLC to create a
-video stream that Kodi could play. Preferably using
-broadcast/multicast, to avoid having to change any setup on the Kodi
-side when starting such stream. Unfortunately, the only recipe I
-could find using multicast used the rtp protocol, and this protocol
-seem to not be supported by Kodi.
-
-
On the other hand, the rtsp protocol is working! Unfortunately I
-have to specify the IP address of the streaming machine in both the
-sending command and the file on the Kodi server. But it is showing my
-desktop, and thus allow us to have a shared look on the big screen at
-the programs I work on.
-
-
I did not spend much time investigating codeces. I combined the
-rtp and rtsp recipes from
-the
-VLC Streaming HowTo/Command Line Examples, and was able to get
-this working on the desktop/streaming end.
Note the 192.168.11.4 IP address is my desktops IP address. As far
-as I can tell the IP must be hardcoded for this to work. In other
-words, if someone elses machine is going to do the steaming, you have
-to update screenstream.m3u on the Kodi machine and adjust the vlc
-recipe. To get started, locate the file in Kodi and select the m3u
-file while the VLC stream is running. The desktop then show up in my
-big screen. :)
-
-
When using the same technique to stream a video file with audio,
-the audio quality is really bad. No idea if the problem is package
-loss or bad parameters for the transcode. I do not know VLC nor Kodi
-enough to tell.
-
-
Update 2018-07-12: Johannes Schauer send me a few
-succestions and reminded me about an important step. The "screen:"
-input source is only available once the vlc-plugin-access-extra
-package is installed on Debian. Without it, you will see this error
-message: "VLC is unable to open the MRL 'screen://'. Check the log
-for details." He further found that it is possible to drop some parts
-of the VLC command line to reduce the amount of hardcoded information.
-It is also useful to consider using cvlc to avoid having the VLC
-window in the desktop view. In sum, this give us this command line on
-the source end
-
-
Still bad image quality, though. But I did discover that streaming
-a DVD using dvdsimple:///dev/dvd as the source had excellent video and
-audio quality, so I guess the issue is in the input or transcoding
-parts, not the rtsp part. I've tried to change the vb and ab
-parameters to use more bandwidth, but it did not make a
-difference.
-
-
I further received a suggestion from Einar Haraldseid to try using
-gstreamer instead of VLC, and this proved to work great! He also
-provided me with the trick to get Kodi to use a multicast stream as
-its source. By using this monstrous oneliner, I can stream my desktop
-with good video quality in reasonable framerate to the 239.255.0.1
-multicast address on port 1234:
-
-
Note the trick to pick a valid pulseaudio source. It might not
-pick the one you need. This approach will of course lead to trouble
-if more than one source uses the same multicast port and address.
-Note the ttl-mc=1 setting, which limit the multicast packages to the
-local network. If the value is increased, your screen will be
-broadcasted further, one network "hop" for each increase (read up on
-multicast to learn more. :)!
-
-
Having cracked how to get Kodi to receive multicast streams, I
-could use this VLC command to stream to the same multicast address.
-The image quality is way better than the rtsp approach, but gstreamer
-seem to be doing a better job.
As usual, if you use Bitcoin and want to show your support of my
activities, please send Bitcoin donations to my address
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
@@ -825,7 +784,7 @@ activities, please send Bitcoin donations to my address
diff --git a/blog/index.rss b/blog/index.rss
index 2faa9a8da3..5756f07f83 100644
--- a/blog/index.rss
+++ b/blog/index.rss
@@ -6,6 +6,112 @@
http://people.skolelinux.org/pere/blog/
+
+ Fetching trusted timestamps using the rfc3161ng python module
+ http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html
+ http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html
+ Mon, 8 Oct 2018 12:30:00 +0200
+ <p>I have earlier covered the basics of trusted timestamping using the
+'openssl ts' client. See blog post for
+<a href="http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html">2014</a>,
+<a href="http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html">2016</a>
+and
+<a href="http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html">2017</a>
+for those stories. But some times I want to integrate the timestamping
+in other code, and recently I needed to integrate it into Python.
+After searching a bit, I found
+<a href="https://dev.entrouvert.org/projects/python-rfc3161">the
+rfc3161 library</a> which seemed like a good fit, but I soon
+discovered it only worked for python version 2, and I needed something
+that work with python version 3. Luckily I next came across
+<a href="https://github.com/trbs/rfc3161ng/">the rfc3161ng library</a>,
+a fork of the original rfc3161 library. Not only is it working with
+python 3, it have fixed a few of the bugs in the original library, and
+it has an active maintainer. I decided to wrap it up and make it
+<a href="https://tracker.debian.org/pkg/python-rfc3161ng">available in
+Debian</a>, and a few days ago it entered Debian unstable and testing.</p>
+
+<p>Using the library is fairly straight forward. The only slightly
+problematic step is to fetch the required certificates to verify the
+timestamp. For some services it is straight forward, while for others
+I have not yet figured out how to do it. Here is a small standalone
+code example based on of the integration tests in the library code:</p>
+
+<pre>
+#!/usr/bin/python3
+
+"""
+
+Python 3 script demonstrating how to use the rfc3161ng module to
+get trusted timestamps.
+
+The license of this code is the same as the license of the rfc3161ng
+library, ie MIT/BSD.
+
+"""
+
+import os
+import pyasn1.codec.der
+import rfc3161ng
+import subprocess
+import tempfile
+import urllib.request
+
+def store(f, data):
+ f.write(data)
+ f.flush()
+ f.seek(0)
+
+def fetch(url, f=None):
+ response = urllib.request.urlopen(url)
+ data = response.read()
+ if f:
+ store(f, data)
+ return data
+
+def main():
+ with tempfile.NamedTemporaryFile() as cert_f,\
+ tempfile.NamedTemporaryFile() as ca_f,\
+ tempfile.NamedTemporaryFile() as msg_f,\
+ tempfile.NamedTemporaryFile() as tsr_f:
+
+ # First fetch certificates used by service
+ certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
+ ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
+
+ # Then timestamp the message
+ timestamper = \
+ rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
+ certificate=certificate_data)
+ data = b"Python forever!\n"
+ tsr = timestamper(data=data, return_tsr=True)
+
+ # Finally, convert message and response to something 'openssl ts' can verify
+ store(msg_f, data)
+ store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
+ args = ["openssl", "ts", "-verify",
+ "-data", msg_f.name,
+ "-in", tsr_f.name,
+ "-CAfile", ca_f.name,
+ "-untrusted", cert_f.name]
+ subprocess.check_call(args)
+
+if '__main__' == __name__:
+ main()
+</pre>
+
+<p>The code fetches the required certificates, store them as temporary
+files, timestamp a simple message, store the message and timestamp to
+disk and ask 'openssl ts' to verify the timestamp. A timestamp is
+around 1.5 kiB in size, and should be fairly easy to store for future
+use.</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+
+
+
Automatic Google Drive sync using grive in Debian
http://people.skolelinux.org/pere/blog/Automatic_Google_Drive_sync_using_grive_in_Debian.html
@@ -572,153 +678,6 @@ wait "$gstpid"
<p>I hope you find the approach useful. I know I do.</p>
-<p>As usual, if you use Bitcoin and want to show your support of my
-activities, please send Bitcoin donations to my address
-<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
-
-
-
-
- Streaming the Linux desktop to Kodi using VLC and RTSP
- http://people.skolelinux.org/pere/blog/Streaming_the_Linux_desktop_to_Kodi_using_VLC_and_RTSP.html
- http://people.skolelinux.org/pere/blog/Streaming_the_Linux_desktop_to_Kodi_using_VLC_and_RTSP.html
- Thu, 12 Jul 2018 02:00:00 +0200
- <p>PS: See
-<ahref="http://people.skolelinux.org/pere/blog/Simple_streaming_the_Linux_desktop_to_Kodi_using_GStreamer_and_RTP.html">the
-followup post</a> for a even better approach.</p>
-
-<p>A while back, I was asked by a friend how to stream the desktop to
-my projector connected to Kodi. I sadly had to admit that I had no
-idea, as it was a task I never had tried. Since then, I have been
-looking for a way to do so, preferable without much extra software to
-install on either side. Today I found a way that seem to kind of
-work. Not great, but it is a start.</p>
-
-<p>I had a look at several approaches, for example
-<a href="https://github.com/mfoetsch/dlna_live_streaming">using uPnP
-DLNA as described in 2011</a>, but it required a uPnP server, fuse and
-local storage enough to store the stream locally. This is not going
-to work well for me, lacking enough free space, and it would
-impossible for my friend to get working.</p>
-
-<p>Next, it occurred to me that perhaps I could use VLC to create a
-video stream that Kodi could play. Preferably using
-broadcast/multicast, to avoid having to change any setup on the Kodi
-side when starting such stream. Unfortunately, the only recipe I
-could find using multicast used the rtp protocol, and this protocol
-seem to not be supported by Kodi.</p>
-
-<p>On the other hand, the rtsp protocol is working! Unfortunately I
-have to specify the IP address of the streaming machine in both the
-sending command and the file on the Kodi server. But it is showing my
-desktop, and thus allow us to have a shared look on the big screen at
-the programs I work on.</p>
-
-<p>I did not spend much time investigating codeces. I combined the
-rtp and rtsp recipes from
-<a href="https://wiki.videolan.org/Documentation:Streaming_HowTo/Command_Line_Examples/">the
-VLC Streaming HowTo/Command Line Examples</a>, and was able to get
-this working on the desktop/streaming end.</p>
-
-<blockquote><pre>
-vlc screen:// --sout \
- '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:rtp{dst=projector.local,port=1234,sdp=rtsp://192.168.11.4:8080/test.sdp}'
-</pre></blockquote>
-
-<p>I ssh-ed into my Kodi box and created a file like this with the
-same IP address:</p>
-
-<blockquote><pre>
-echo rtsp://192.168.11.4:8080/test.sdp \
- > /storage/videos/screenstream.m3u
-</pre></blockquote>
-
-<p>Note the 192.168.11.4 IP address is my desktops IP address. As far
-as I can tell the IP must be hardcoded for this to work. In other
-words, if someone elses machine is going to do the steaming, you have
-to update screenstream.m3u on the Kodi machine and adjust the vlc
-recipe. To get started, locate the file in Kodi and select the m3u
-file while the VLC stream is running. The desktop then show up in my
-big screen. :)</p>
-
-<p>When using the same technique to stream a video file with audio,
-the audio quality is really bad. No idea if the problem is package
-loss or bad parameters for the transcode. I do not know VLC nor Kodi
-enough to tell.</p>
-
-<p><strong>Update 2018-07-12</strong>: Johannes Schauer send me a few
-succestions and reminded me about an important step. The "screen:"
-input source is only available once the vlc-plugin-access-extra
-package is installed on Debian. Without it, you will see this error
-message: "VLC is unable to open the MRL 'screen://'. Check the log
-for details." He further found that it is possible to drop some parts
-of the VLC command line to reduce the amount of hardcoded information.
-It is also useful to consider using cvlc to avoid having the VLC
-window in the desktop view. In sum, this give us this command line on
-the source end
-
-<blockquote><pre>
-cvlc screen:// --sout \
- '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:rtp{sdp=rtsp://:8080/}'
-</pre></blockquote>
-
-<p>and this on the Kodi end<p>
-
-<blockquote><pre>
-echo rtsp://192.168.11.4:8080/ \
- > /storage/videos/screenstream.m3u
-</pre></blockquote>
-
-<p>Still bad image quality, though. But I did discover that streaming
-a DVD using dvdsimple:///dev/dvd as the source had excellent video and
-audio quality, so I guess the issue is in the input or transcoding
-parts, not the rtsp part. I've tried to change the vb and ab
-parameters to use more bandwidth, but it did not make a
-difference.</p>
-
-<p>I further received a suggestion from Einar Haraldseid to try using
-gstreamer instead of VLC, and this proved to work great! He also
-provided me with the trick to get Kodi to use a multicast stream as
-its source. By using this monstrous oneliner, I can stream my desktop
-with good video quality in reasonable framerate to the 239.255.0.1
-multicast address on port 1234:
-
-<blockquote><pre>
-gst-launch-1.0 ximagesrc use-damage=0 ! video/x-raw,framerate=30/1 ! \
- videoconvert ! queue2 ! \
- x264enc bitrate=8000 speed-preset=superfast tune=zerolatency qp-min=30 \
- key-int-max=15 bframes=2 ! video/x-h264,profile=high ! queue2 ! \
- mpegtsmux alignment=7 name=mux ! rndbuffersize max=1316 min=1316 ! \
- udpsink host=239.255.0.1 port=1234 ttl-mc=1 auto-multicast=1 sync=0 \
- pulsesrc device=$(pactl list | grep -A2 'Source #' | \
- grep 'Name: .*\.monitor$' | cut -d" " -f2|head -1) ! \
- audioconvert ! queue2 ! avenc_aac ! queue2 ! mux.
-</pre></blockquote>
-
-<p>and this on the Kodi end<p>
-
-<blockquote><pre>
-echo udp://@239.255.0.1:1234 \
- > /storage/videos/screenstream.m3u
-</pre></blockquote>
-
-<p>Note the trick to pick a valid pulseaudio source. It might not
-pick the one you need. This approach will of course lead to trouble
-if more than one source uses the same multicast port and address.
-Note the ttl-mc=1 setting, which limit the multicast packages to the
-local network. If the value is increased, your screen will be
-broadcasted further, one network "hop" for each increase (read up on
-multicast to learn more. :)!</p>
-
-<p>Having cracked how to get Kodi to receive multicast streams, I
-could use this VLC command to stream to the same multicast address.
-The image quality is way better than the rtsp approach, but gstreamer
-seem to be doing a better job.</p>
-
-<blockquote><pre>
-cvlc screen:// --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:rtp{mux=ts,dst=239.255.0.1,port=1234,sdp=sap}'
-</pre></blockquote>
-
<p>As usual, if you use Bitcoin and want to show your support of my
activities, please send Bitcoin donations to my address
<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
diff --git a/blog/jXplorer__a_very_nice_LDAP_GUI.html b/blog/jXplorer__a_very_nice_LDAP_GUI.html
index 0b38d94d61..c2579f7e5f 100644
--- a/blog/jXplorer__a_very_nice_LDAP_GUI.html
+++ b/blog/jXplorer__a_very_nice_LDAP_GUI.html
@@ -72,7 +72,7 @@ and remove the failing query. Nothing big, but very annoying.
diff --git a/blog/tags/bootsystem/index.html b/blog/tags/bootsystem/index.html
index 2234c92749..eaaa9b92ce 100644
--- a/blog/tags/bootsystem/index.html
+++ b/blog/tags/bootsystem/index.html
@@ -1334,7 +1334,7 @@ insserv'. Will need to test if that work. :)
diff --git a/blog/tags/debian-handbook/index.html b/blog/tags/debian-handbook/index.html
index 1a9e59a3a2..f366e1a00b 100644
--- a/blog/tags/debian-handbook/index.html
+++ b/blog/tags/debian-handbook/index.html
@@ -211,7 +211,7 @@ available for many more languages.
diff --git a/blog/tags/debian/index.html b/blog/tags/debian/index.html
index 2a86d9a43d..45dc54b412 100644
--- a/blog/tags/debian/index.html
+++ b/blog/tags/debian/index.html
@@ -13547,7 +13547,7 @@ be the only one fitting our needs. :/
diff --git a/blog/tags/dld/index.html b/blog/tags/dld/index.html
index 04fcf95bd7..f4a8486dd0 100644
--- a/blog/tags/dld/index.html
+++ b/blog/tags/dld/index.html
@@ -1604,7 +1604,7 @@ får snart se om det stemmer.
diff --git a/blog/tags/docbook/index.html b/blog/tags/docbook/index.html
index 0b9b8657fd..cfb3fbc89e 100644
--- a/blog/tags/docbook/index.html
+++ b/blog/tags/docbook/index.html
@@ -1736,7 +1736,7 @@ slik at du kan oppdatere direkte.
diff --git a/blog/tags/drivstoffpriser/index.html b/blog/tags/drivstoffpriser/index.html
index 87c0999ac0..5bbe728d1e 100644
--- a/blog/tags/drivstoffpriser/index.html
+++ b/blog/tags/drivstoffpriser/index.html
@@ -505,7 +505,7 @@ en liste med stasjoner på samme format som PriserVedStasjoner.
diff --git a/blog/tags/english/english.rss b/blog/tags/english/english.rss
index 3a90698965..6b357c0f62 100644
--- a/blog/tags/english/english.rss
+++ b/blog/tags/english/english.rss
@@ -6,6 +6,112 @@
http://people.skolelinux.org/pere/blog/
+
+ Fetching trusted timestamps using the rfc3161ng python module
+ http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html
+ http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html
+ Mon, 8 Oct 2018 12:30:00 +0200
+ <p>I have earlier covered the basics of trusted timestamping using the
+'openssl ts' client. See blog post for
+<a href="http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html">2014</a>,
+<a href="http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html">2016</a>
+and
+<a href="http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html">2017</a>
+for those stories. But some times I want to integrate the timestamping
+in other code, and recently I needed to integrate it into Python.
+After searching a bit, I found
+<a href="https://dev.entrouvert.org/projects/python-rfc3161">the
+rfc3161 library</a> which seemed like a good fit, but I soon
+discovered it only worked for python version 2, and I needed something
+that work with python version 3. Luckily I next came across
+<a href="https://github.com/trbs/rfc3161ng/">the rfc3161ng library</a>,
+a fork of the original rfc3161 library. Not only is it working with
+python 3, it have fixed a few of the bugs in the original library, and
+it has an active maintainer. I decided to wrap it up and make it
+<a href="https://tracker.debian.org/pkg/python-rfc3161ng">available in
+Debian</a>, and a few days ago it entered Debian unstable and testing.</p>
+
+<p>Using the library is fairly straight forward. The only slightly
+problematic step is to fetch the required certificates to verify the
+timestamp. For some services it is straight forward, while for others
+I have not yet figured out how to do it. Here is a small standalone
+code example based on of the integration tests in the library code:</p>
+
+<pre>
+#!/usr/bin/python3
+
+"""
+
+Python 3 script demonstrating how to use the rfc3161ng module to
+get trusted timestamps.
+
+The license of this code is the same as the license of the rfc3161ng
+library, ie MIT/BSD.
+
+"""
+
+import os
+import pyasn1.codec.der
+import rfc3161ng
+import subprocess
+import tempfile
+import urllib.request
+
+def store(f, data):
+ f.write(data)
+ f.flush()
+ f.seek(0)
+
+def fetch(url, f=None):
+ response = urllib.request.urlopen(url)
+ data = response.read()
+ if f:
+ store(f, data)
+ return data
+
+def main():
+ with tempfile.NamedTemporaryFile() as cert_f,\
+ tempfile.NamedTemporaryFile() as ca_f,\
+ tempfile.NamedTemporaryFile() as msg_f,\
+ tempfile.NamedTemporaryFile() as tsr_f:
+
+ # First fetch certificates used by service
+ certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
+ ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
+
+ # Then timestamp the message
+ timestamper = \
+ rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
+ certificate=certificate_data)
+ data = b"Python forever!\n"
+ tsr = timestamper(data=data, return_tsr=True)
+
+ # Finally, convert message and response to something 'openssl ts' can verify
+ store(msg_f, data)
+ store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
+ args = ["openssl", "ts", "-verify",
+ "-data", msg_f.name,
+ "-in", tsr_f.name,
+ "-CAfile", ca_f.name,
+ "-untrusted", cert_f.name]
+ subprocess.check_call(args)
+
+if '__main__' == __name__:
+ main()
+</pre>
+
+<p>The code fetches the required certificates, store them as temporary
+files, timestamp a simple message, store the message and timestamp to
+disk and ask 'openssl ts' to verify the timestamp. A timestamp is
+around 1.5 kiB in size, and should be fairly easy to store for future
+use.</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+
+
+
Automatic Google Drive sync using grive in Debian
http://people.skolelinux.org/pere/blog/Automatic_Google_Drive_sync_using_grive_in_Debian.html
diff --git a/blog/tags/english/index.html b/blog/tags/english/index.html
index 11f96eecc2..393ed60504 100644
--- a/blog/tags/english/index.html
+++ b/blog/tags/english/index.html
@@ -20,6 +20,124 @@
I have earlier covered the basics of trusted timestamping using the
+'openssl ts' client. See blog post for
+2014,
+2016
+and
+2017
+for those stories. But some times I want to integrate the timestamping
+in other code, and recently I needed to integrate it into Python.
+After searching a bit, I found
+the
+rfc3161 library which seemed like a good fit, but I soon
+discovered it only worked for python version 2, and I needed something
+that work with python version 3. Luckily I next came across
+the rfc3161ng library,
+a fork of the original rfc3161 library. Not only is it working with
+python 3, it have fixed a few of the bugs in the original library, and
+it has an active maintainer. I decided to wrap it up and make it
+available in
+Debian, and a few days ago it entered Debian unstable and testing.
+
+
Using the library is fairly straight forward. The only slightly
+problematic step is to fetch the required certificates to verify the
+timestamp. For some services it is straight forward, while for others
+I have not yet figured out how to do it. Here is a small standalone
+code example based on of the integration tests in the library code:
+
+
+#!/usr/bin/python3
+
+"""
+
+Python 3 script demonstrating how to use the rfc3161ng module to
+get trusted timestamps.
+
+The license of this code is the same as the license of the rfc3161ng
+library, ie MIT/BSD.
+
+"""
+
+import os
+import pyasn1.codec.der
+import rfc3161ng
+import subprocess
+import tempfile
+import urllib.request
+
+def store(f, data):
+ f.write(data)
+ f.flush()
+ f.seek(0)
+
+def fetch(url, f=None):
+ response = urllib.request.urlopen(url)
+ data = response.read()
+ if f:
+ store(f, data)
+ return data
+
+def main():
+ with tempfile.NamedTemporaryFile() as cert_f,\
+ tempfile.NamedTemporaryFile() as ca_f,\
+ tempfile.NamedTemporaryFile() as msg_f,\
+ tempfile.NamedTemporaryFile() as tsr_f:
+
+ # First fetch certificates used by service
+ certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
+ ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
+
+ # Then timestamp the message
+ timestamper = \
+ rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
+ certificate=certificate_data)
+ data = b"Python forever!\n"
+ tsr = timestamper(data=data, return_tsr=True)
+
+ # Finally, convert message and response to something 'openssl ts' can verify
+ store(msg_f, data)
+ store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
+ args = ["openssl", "ts", "-verify",
+ "-data", msg_f.name,
+ "-in", tsr_f.name,
+ "-CAfile", ca_f.name,
+ "-untrusted", cert_f.name]
+ subprocess.check_call(args)
+
+if '__main__' == __name__:
+ main()
+
+
+
The code fetches the required certificates, store them as temporary
+files, timestamp a simple message, store the message and timestamp to
+disk and ask 'openssl ts' to verify the timestamp. A timestamp is
+around 1.5 kiB in size, and should be fairly easy to store for future
+use.
+
+
As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
diff --git a/blog/tags/fiksgatami/index.html b/blog/tags/fiksgatami/index.html
index 3e4c1bc750..2a9298b044 100644
--- a/blog/tags/fiksgatami/index.html
+++ b/blog/tags/fiksgatami/index.html
@@ -1356,7 +1356,7 @@ med dem. Dette blir bra.
diff --git a/blog/tags/fildeling/index.html b/blog/tags/fildeling/index.html
index 73bf8705fb..87674ca54e 100644
--- a/blog/tags/fildeling/index.html
+++ b/blog/tags/fildeling/index.html
@@ -1058,7 +1058,7 @@ og fildeling av slike filer er fullt ut lovlig.
diff --git a/blog/tags/freeculture/index.html b/blog/tags/freeculture/index.html
index 5856139257..3790dc5bea 100644
--- a/blog/tags/freeculture/index.html
+++ b/blog/tags/freeculture/index.html
@@ -2679,7 +2679,7 @@ slik at du kan oppdatere direkte.
diff --git a/blog/tags/frikanalen/index.html b/blog/tags/frikanalen/index.html
index 095fcb2f15..7e2a20eb63 100644
--- a/blog/tags/frikanalen/index.html
+++ b/blog/tags/frikanalen/index.html
@@ -1436,7 +1436,7 @@ NUUG lykkes med å få ut sine opptak med like stor suksess.
diff --git a/blog/tags/h264/index.html b/blog/tags/h264/index.html
index 45d6588efb..5dc2902917 100644
--- a/blog/tags/h264/index.html
+++ b/blog/tags/h264/index.html
@@ -2522,7 +2522,7 @@ sure hope it was using the announced Ogg Theora support. :)
diff --git a/blog/tags/intervju/index.html b/blog/tags/intervju/index.html
index e0db161694..33f07a666b 100644
--- a/blog/tags/intervju/index.html
+++ b/blog/tags/intervju/index.html
@@ -5144,7 +5144,7 @@ veldig bra utvalg av gratis spill som er av høy kvalitet. Veldig lett
diff --git a/blog/tags/kart/index.html b/blog/tags/kart/index.html
index c164017a81..5d270df4e2 100644
--- a/blog/tags/kart/index.html
+++ b/blog/tags/kart/index.html
@@ -1597,7 +1597,7 @@ det viser at behovet for fribruks-sjøkart er til stedet.
diff --git a/blog/tags/lego/index.html b/blog/tags/lego/index.html
index e184c014ec..b695ee9299 100644
--- a/blog/tags/lego/index.html
+++ b/blog/tags/lego/index.html
@@ -339,7 +339,7 @@ including links to Lego related packages is now available.
diff --git a/blog/tags/multimedia/index.html b/blog/tags/multimedia/index.html
index 68ee209a0a..b380e5056c 100644
--- a/blog/tags/multimedia/index.html
+++ b/blog/tags/multimedia/index.html
@@ -3461,7 +3461,7 @@ be the only one fitting our needs. :/
diff --git a/blog/tags/offentlig innsyn/index.html b/blog/tags/offentlig innsyn/index.html
index d434340e28..f715f06970 100644
--- a/blog/tags/offentlig innsyn/index.html
+++ b/blog/tags/offentlig innsyn/index.html
@@ -3942,7 +3942,7 @@ til å levere hver uke. Har ikke undersøkt noen av de andre.
diff --git a/blog/tags/open311/index.html b/blog/tags/open311/index.html
index 7bba64b337..e154f4c20b 100644
--- a/blog/tags/open311/index.html
+++ b/blog/tags/open311/index.html
@@ -176,7 +176,7 @@ work like the free software project communities I am used to.
diff --git a/blog/tags/raid/index.html b/blog/tags/raid/index.html
index 50f2553565..39559cb8c8 100644
--- a/blog/tags/raid/index.html
+++ b/blog/tags/raid/index.html
@@ -211,7 +211,7 @@ disk(s) is failing when the RAID is running short on disks.
diff --git a/blog/tags/rfid/index.html b/blog/tags/rfid/index.html
index 6957b13e52..2ca91e69ff 100644
--- a/blog/tags/rfid/index.html
+++ b/blog/tags/rfid/index.html
@@ -447,7 +447,7 @@ mer om de nye biometriske passene.
diff --git a/blog/tags/scraperwiki/index.html b/blog/tags/scraperwiki/index.html
index 88607ea844..f124e8ad50 100644
--- a/blog/tags/scraperwiki/index.html
+++ b/blog/tags/scraperwiki/index.html
@@ -159,7 +159,7 @@ av å dele informasjon med andre uten bruksbegresninger.
I have earlier covered the basics of trusted timestamping using the
+'openssl ts' client. See blog post for
+2014,
+2016
+and
+2017
+for those stories. But some times I want to integrate the timestamping
+in other code, and recently I needed to integrate it into Python.
+After searching a bit, I found
+the
+rfc3161 library which seemed like a good fit, but I soon
+discovered it only worked for python version 2, and I needed something
+that work with python version 3. Luckily I next came across
+the rfc3161ng library,
+a fork of the original rfc3161 library. Not only is it working with
+python 3, it have fixed a few of the bugs in the original library, and
+it has an active maintainer. I decided to wrap it up and make it
+available in
+Debian, and a few days ago it entered Debian unstable and testing.
+
+
Using the library is fairly straight forward. The only slightly
+problematic step is to fetch the required certificates to verify the
+timestamp. For some services it is straight forward, while for others
+I have not yet figured out how to do it. Here is a small standalone
+code example based on of the integration tests in the library code:
+
+
+#!/usr/bin/python3
+
+"""
+
+Python 3 script demonstrating how to use the rfc3161ng module to
+get trusted timestamps.
+
+The license of this code is the same as the license of the rfc3161ng
+library, ie MIT/BSD.
+
+"""
+
+import os
+import pyasn1.codec.der
+import rfc3161ng
+import subprocess
+import tempfile
+import urllib.request
+
+def store(f, data):
+ f.write(data)
+ f.flush()
+ f.seek(0)
+
+def fetch(url, f=None):
+ response = urllib.request.urlopen(url)
+ data = response.read()
+ if f:
+ store(f, data)
+ return data
+
+def main():
+ with tempfile.NamedTemporaryFile() as cert_f,\
+ tempfile.NamedTemporaryFile() as ca_f,\
+ tempfile.NamedTemporaryFile() as msg_f,\
+ tempfile.NamedTemporaryFile() as tsr_f:
+
+ # First fetch certificates used by service
+ certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
+ ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
+
+ # Then timestamp the message
+ timestamper = \
+ rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
+ certificate=certificate_data)
+ data = b"Python forever!\n"
+ tsr = timestamper(data=data, return_tsr=True)
+
+ # Finally, convert message and response to something 'openssl ts' can verify
+ store(msg_f, data)
+ store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
+ args = ["openssl", "ts", "-verify",
+ "-data", msg_f.name,
+ "-in", tsr_f.name,
+ "-CAfile", ca_f.name,
+ "-untrusted", cert_f.name]
+ subprocess.check_call(args)
+
+if '__main__' == __name__:
+ main()
+
+
+
The code fetches the required certificates, store them as temporary
+files, timestamp a simple message, store the message and timestamp to
+disk and ask 'openssl ts' to verify the timestamp. A timestamp is
+around 1.5 kiB in size, and should be fairly easy to store for future
+use.
+
+
As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
diff --git a/blog/tags/sikkerhet/sikkerhet.rss b/blog/tags/sikkerhet/sikkerhet.rss
index d1752e0614..77af9a8996 100644
--- a/blog/tags/sikkerhet/sikkerhet.rss
+++ b/blog/tags/sikkerhet/sikkerhet.rss
@@ -6,6 +6,112 @@
http://people.skolelinux.org/pere/blog/
+
+ Fetching trusted timestamps using the rfc3161ng python module
+ http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html
+ http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html
+ Mon, 8 Oct 2018 12:30:00 +0200
+ <p>I have earlier covered the basics of trusted timestamping using the
+'openssl ts' client. See blog post for
+<a href="http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html">2014</a>,
+<a href="http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html">2016</a>
+and
+<a href="http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html">2017</a>
+for those stories. But some times I want to integrate the timestamping
+in other code, and recently I needed to integrate it into Python.
+After searching a bit, I found
+<a href="https://dev.entrouvert.org/projects/python-rfc3161">the
+rfc3161 library</a> which seemed like a good fit, but I soon
+discovered it only worked for python version 2, and I needed something
+that work with python version 3. Luckily I next came across
+<a href="https://github.com/trbs/rfc3161ng/">the rfc3161ng library</a>,
+a fork of the original rfc3161 library. Not only is it working with
+python 3, it have fixed a few of the bugs in the original library, and
+it has an active maintainer. I decided to wrap it up and make it
+<a href="https://tracker.debian.org/pkg/python-rfc3161ng">available in
+Debian</a>, and a few days ago it entered Debian unstable and testing.</p>
+
+<p>Using the library is fairly straight forward. The only slightly
+problematic step is to fetch the required certificates to verify the
+timestamp. For some services it is straight forward, while for others
+I have not yet figured out how to do it. Here is a small standalone
+code example based on of the integration tests in the library code:</p>
+
+<pre>
+#!/usr/bin/python3
+
+"""
+
+Python 3 script demonstrating how to use the rfc3161ng module to
+get trusted timestamps.
+
+The license of this code is the same as the license of the rfc3161ng
+library, ie MIT/BSD.
+
+"""
+
+import os
+import pyasn1.codec.der
+import rfc3161ng
+import subprocess
+import tempfile
+import urllib.request
+
+def store(f, data):
+ f.write(data)
+ f.flush()
+ f.seek(0)
+
+def fetch(url, f=None):
+ response = urllib.request.urlopen(url)
+ data = response.read()
+ if f:
+ store(f, data)
+ return data
+
+def main():
+ with tempfile.NamedTemporaryFile() as cert_f,\
+ tempfile.NamedTemporaryFile() as ca_f,\
+ tempfile.NamedTemporaryFile() as msg_f,\
+ tempfile.NamedTemporaryFile() as tsr_f:
+
+ # First fetch certificates used by service
+ certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
+ ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
+
+ # Then timestamp the message
+ timestamper = \
+ rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
+ certificate=certificate_data)
+ data = b"Python forever!\n"
+ tsr = timestamper(data=data, return_tsr=True)
+
+ # Finally, convert message and response to something 'openssl ts' can verify
+ store(msg_f, data)
+ store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
+ args = ["openssl", "ts", "-verify",
+ "-data", msg_f.name,
+ "-in", tsr_f.name,
+ "-CAfile", ca_f.name,
+ "-untrusted", cert_f.name]
+ subprocess.check_call(args)
+
+if '__main__' == __name__:
+ main()
+</pre>
+
+<p>The code fetches the required certificates, store them as temporary
+files, timestamp a simple message, store the message and timestamp to
+disk and ask 'openssl ts' to verify the timestamp. A timestamp is
+around 1.5 kiB in size, and should be fairly easy to store for future
+use.</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+
+
+
Stortingsflertallet går inn for ny IP-basert sensurinfrastruktur i Norge
http://people.skolelinux.org/pere/blog/Stortingsflertallet_g_r_inn_for_ny_IP_basert_sensurinfrastruktur_i_Norge.html
diff --git a/blog/tags/sitesummary/index.html b/blog/tags/sitesummary/index.html
index c5adf3fbe2..8272687aba 100644
--- a/blog/tags/sitesummary/index.html
+++ b/blog/tags/sitesummary/index.html
@@ -275,7 +275,7 @@ everything is taken care of.
diff --git a/blog/tags/skepsis/index.html b/blog/tags/skepsis/index.html
index 75e952a298..2fe38942ba 100644
--- a/blog/tags/skepsis/index.html
+++ b/blog/tags/skepsis/index.html
@@ -455,7 +455,7 @@ skyskrapere. Takke meg til en tur til månen.
diff --git a/blog/tags/stortinget/index.html b/blog/tags/stortinget/index.html
index 71c4e99faf..7b10b0e6c0 100644
--- a/blog/tags/stortinget/index.html
+++ b/blog/tags/stortinget/index.html
@@ -1161,7 +1161,7 @@ at vi i NUUG har fått operativ en norsk utgave av
diff --git a/blog/tags/valg/index.html b/blog/tags/valg/index.html
index be47bc2b3a..fc7ac6d842 100644
--- a/blog/tags/valg/index.html
+++ b/blog/tags/valg/index.html
@@ -1018,7 +1018,7 @@ inneholdt i Iran hvis de ikke hadde hemmelige valg?
diff --git a/blog/tags/verkidetfri/index.html b/blog/tags/verkidetfri/index.html
index 321413d272..f1123f7ff3 100644
--- a/blog/tags/verkidetfri/index.html
+++ b/blog/tags/verkidetfri/index.html
@@ -3112,7 +3112,7 @@ would like to tax copyrighted work values if they could.
diff --git a/blog/tags/vitenskap/index.html b/blog/tags/vitenskap/index.html
index dac3bbcc49..a5b5e7f3b1 100644
--- a/blog/tags/vitenskap/index.html
+++ b/blog/tags/vitenskap/index.html
@@ -411,7 +411,7 @@ skyskrapere. Takke meg til en tur til månen.
diff --git a/blog/tags/web/index.html b/blog/tags/web/index.html
index 293ced30fb..390bae3446 100644
--- a/blog/tags/web/index.html
+++ b/blog/tags/web/index.html
@@ -3791,7 +3791,7 @@ be the only one fitting our needs. :/