CINXE.COM
Technical – Open Knowledge Foundation blog
<!DOCTYPE html> <html lang="en-GB" prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="shortcut icon" href="https://blog.okfn.org/wp-content/themes/wordpress-theme/assets/img/favicon.ico" /> <link rel="profile" href="https://gmpg.org/xfn/11"> <link rel="pingback" href="https://blog.okfn.org/xmlrpc.php"> <!-- Twitter Card data --> <!-- end Twitter Card data --> <!-- Author Meta Tags by Molongui Authorship, visit: https://wordpress.org/plugins/molongui-authorship/ --> <!-- /Molongui Authorship --> <title>Technical – Open Knowledge Foundation blog</title> <script defer data-domain="blog.okfn.org" src="https://plausible.io/js/plausible.js"></script> <meta name='robots' content='max-image-preview:large' /> <link rel='dns-prefetch' href='//s.w.org' /> <link rel="alternate" type="application/rss+xml" title="Open Knowledge Foundation blog » Feed" href="https://blog.okfn.org/feed/" /> <script> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.1.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.1.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/blog.okfn.org\/wp-includes\/js\/wp-emoji-release.min.js?ver=5.9.10"}}; /*! This file is auto-generated */ !function(e,a,t){var n,r,o,i=a.createElement("canvas"),p=i.getContext&&i.getContext("2d");function s(e,t){var a=String.fromCharCode;p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,e),0,0);e=i.toDataURL();return p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,t),0,0),e===i.toDataURL()}function c(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(o=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},r=0;r<o.length;r++)t.supports[o[r]]=function(e){if(!p||!p.fillText)return!1;switch(p.textBaseline="top",p.font="600 32px Arial",e){case"flag":return s([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])?!1:!s([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!s([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]);case"emoji":return!s([10084,65039,8205,55357,56613],[10084,65039,8203,55357,56613])}return!1}(o[r]),t.supports.everything=t.supports.everything&&t.supports[o[r]],"flag"!==o[r]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[o[r]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(n=t.source||{}).concatemoji?c(n.concatemoji):n.wpemoji&&n.twemoji&&(c(n.twemoji),c(n.wpemoji)))}(window,document,window._wpemojiSettings); </script> <style> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://blog.okfn.org/wp-includes/css/dist/block-library/style.min.css?ver=5.9.10' media='all' /> <style id='global-styles-inline-css'> body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--duotone--dark-grayscale: url('#wp-duotone-dark-grayscale');--wp--preset--duotone--grayscale: url('#wp-duotone-grayscale');--wp--preset--duotone--purple-yellow: url('#wp-duotone-purple-yellow');--wp--preset--duotone--blue-red: url('#wp-duotone-blue-red');--wp--preset--duotone--midnight: url('#wp-duotone-midnight');--wp--preset--duotone--magenta-yellow: url('#wp-duotone-magenta-yellow');--wp--preset--duotone--purple-green: url('#wp-duotone-purple-green');--wp--preset--duotone--blue-orange: url('#wp-duotone-blue-orange');--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} </style> <link rel='stylesheet' id='stylesheet-css' href='https://blog.okfn.org/wp-content/themes/wordpress-theme/style.css?ver=1700142288' media='all' /> <script src='https://blog.okfn.org/wp-content/themes/wordpress-theme/assets/js/jquery.min.js?ver=5.9.10' id='jquery-js'></script> <script src='https://blog.okfn.org/wp-content/themes/wordpress-theme/assets/js/bootstrap.min.js?ver=5.9.10' id='bootstrap-js'></script> <script src='https://blog.okfn.org/wp-content/themes/wordpress-theme/assets/js/jquery.mmenu.all.js?ver=5.9.10' id='mmenu-js'></script> <link rel="https://api.w.org/" href="https://blog.okfn.org/wp-json/" /><link rel="alternate" type="application/json" href="https://blog.okfn.org/wp-json/wp/v2/categories/54" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://blog.okfn.org/xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://blog.okfn.org/wp-includes/wlwmanifest.xml" /> <style> .molongui-disabled-link { border-bottom: none !important; text-decoration: none !important; color: inherit !important; cursor: inherit !important; } .molongui-disabled-link:hover, .molongui-disabled-link:hover span { border-bottom: none !important; text-decoration: none !important; color: inherit !important; cursor: inherit !important; } </style> <link rel="icon" href="https://blog.okfn.org/wp-content/files/2020/02/cropped-OKF-icon-for-social-media-32x32.png" sizes="32x32" /> <link rel="icon" href="https://blog.okfn.org/wp-content/files/2020/02/cropped-OKF-icon-for-social-media-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://blog.okfn.org/wp-content/files/2020/02/cropped-OKF-icon-for-social-media-180x180.png" /> <meta name="msapplication-TileImage" content="https://blog.okfn.org/wp-content/files/2020/02/cropped-OKF-icon-for-social-media-270x270.png" /> <!-- START - Open Graph and Twitter Card Tags 3.3.2 --> <!-- Facebook Open Graph --> <meta property="og:locale" content="en_GB"/> <meta property="og:site_name" content="Open Knowledge Foundation blog"/> <meta property="og:title" content="Technical"/> <meta property="og:url" content="https://blog.okfn.org/category/technical/"/> <meta property="og:type" content="article"/> <meta property="og:description" content="A fair, sustainable and open future"/> <meta property="og:image" content="https://blog.okfn.org/wp-content/files/2023/12/okfn-standard-thumb.png"/> <meta property="og:image:url" content="https://blog.okfn.org/wp-content/files/2023/12/okfn-standard-thumb.png"/> <meta property="og:image:secure_url" content="https://blog.okfn.org/wp-content/files/2023/12/okfn-standard-thumb.png"/> <!-- Google+ / Schema.org --> <!-- Twitter Cards --> <meta name="twitter:title" content="Technical"/> <meta name="twitter:url" content="https://blog.okfn.org/category/technical/"/> <meta name="twitter:description" content="A fair, sustainable and open future"/> <meta name="twitter:image" content="https://blog.okfn.org/wp-content/files/2023/12/okfn-standard-thumb.png"/> <meta name="twitter:card" content="summary_large_image"/> <meta name="twitter:site" content="@okfn"/> <!-- SEO --> <!-- Misc. tags --> <!-- is_category --> <!-- END - Open Graph and Twitter Card Tags 3.3.2 --> </head> <body class="archive category category-technical category-54"> <div id="page"> <header class="site-header"> <div class="header"> <div class="container"> <div class="brand" id="header-brand"> <h1> <a class="brand_link" rel="home" href="https://blog.okfn.org"> <?xml version="1.0" encoding="utf-8"?> <!-- Generator: Adobe Illustrator 27.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" id="Ebene_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 587.7 166.1" style="enable-background:new 0 0 587.7 166.1;" xml:space="preserve"> <style type="text/css"> .st0{enable-background:new ;} .st1{fill:#03D1FF;} .st2{fill:#00D1FF;} .st3{display:none;enable-background:new ;} .st4{font-family:'HKGrotesk-Bold';} .st5{font-size:18.1px;} </style> <g> <g> <g class="st0"> <path d="M170.1,107.3h8.9v2.1h-6.7v3h5.9v2.1h-5.9v5.4h-2.3V107.3z"/> </g> <g> <g> <g class="st0"> <path d="M166.4,66.3c0-11.8,7.2-19.5,17.9-19.5c10.7,0,17.9,7.8,17.9,19.5c0,11.7-7.2,19.5-17.9,19.5 C173.6,85.7,166.4,78,166.4,66.3z M195.4,66.3c0-8.1-4.3-13.2-11.2-13.2s-11.2,5-11.2,13.2c0,8.1,4.3,13.1,11.2,13.1 S195.4,74.3,195.4,66.3z"/> </g> <g class="st0"> <path d="M234.4,71.7c0,8.6-4.7,13.7-11.2,13.7c-3,0-6-1.2-7.6-3.2v13.6h-6.4V58.5h6.4v2.6c1.8-2.3,4.8-3.2,7.6-3.2 C230.5,57.9,234.4,63.8,234.4,71.7z M228,71.7c0-5.2-2-8.1-6.3-8.1c-4.7,0-6.7,3.4-6.7,8.1c0,4.6,2,8.2,6.6,8.2 C225.9,79.8,228,76.8,228,71.7z"/> </g> <g class="st0"> <path d="M263.5,73.8h-18.1c0.3,3.5,2.4,5.8,6.6,5.8c2.4,0,4.5-0.8,6.3-2.8l4.5,3.9c-2.9,3.2-6.4,4.8-10.8,4.8 c-9.1,0-13-6.6-13-13.6c0-6.9,3.8-13.9,12.6-13.9c8.2,0,12.2,6.1,12.2,13.4C263.6,72.2,263.6,73,263.5,73.8z M257.4,68.7 c-0.1-3.4-2.7-5.4-6.1-5.4c-3.9,0-5.7,2.8-6.1,5.4H257.4z"/> </g> <g class="st0"> <path d="M294.8,67.9v17.1h-6.4V69.5c0-1.8,0-5.9-4.9-5.9c-6,0-6,6.1-6,10.8v10.6H271V58.5h6.4v3.1c1.9-2.5,4.8-3.6,8-3.6 C291.4,57.9,294.8,61.6,294.8,67.9z"/> </g> <g class="st0"> <path d="M343.1,84.9l-11.1-18.6l-7.1,7.2v11.4h-6.7V47.5h6.7v17.6l16.8-17.6h8.8l-13.9,14.2l14.3,23.3H343.1z"/> <path d="M379.3,67.9v17.1h-6.4V69.5c0-1.8,0-5.9-4.9-5.9c-6,0-6,6.1-6,10.8v10.6h-6.4V58.5h6.4v3.1c1.9-2.5,4.8-3.6,8-3.6 C375.9,57.9,379.3,61.6,379.3,67.9z"/> </g> <g class="st0"> <path d="M381.9,71.7c0-7.5,5-13.7,13.3-13.7c8.2,0,13.3,6.2,13.3,13.7c0,7.5-5.1,13.8-13.3,13.8 C387,85.5,381.9,79.1,381.9,71.7z M402,71.7c0-4.3-1.9-8.1-6.8-8.1s-6.8,3.8-6.8,8.1c0,4.3,1.9,8.2,6.8,8.2S402,76,402,71.7z" /> </g> <g class="st0"> <path d="M411.3,58.5h6.9l4.5,16.6l5-16.6h5.5l5,16.5l4.6-16.5h6.9l-8.2,26.5h-5.8l-5.2-17.3l-5.2,17.3h-5.8L411.3,58.5z"/> </g> <g class="st0"> <path d="M455.7,78.6V47.5h6.4v30.7c0,1.2,0.7,1.7,1.9,1.7c0.6,0,1.3-0.1,2-0.3v5.2c-1.4,0.5-2.9,0.8-4.1,0.8 C458.3,85.5,455.7,83.3,455.7,78.6z"/> </g> <g class="st0"> <path d="M493.7,73.8h-18.1c0.3,3.5,2.4,5.8,6.6,5.8c2.4,0,4.5-0.8,6.3-2.8l4.5,3.9c-2.9,3.2-6.4,4.8-10.8,4.8 c-9.1,0-13-6.6-13-13.6c0-6.9,3.8-13.9,12.6-13.9c8.2,0,12.2,6.1,12.2,13.4C493.9,72.2,493.8,73,493.7,73.8z M487.7,68.7 c-0.1-3.4-2.7-5.4-6.1-5.4c-3.9,0-5.7,2.8-6.1,5.4H487.7z"/> </g> <g class="st0"> <path d="M524.3,47.5v37.4h-6.4v-2.6c-1.8,2.3-4.8,3.2-7.6,3.2c-7.2,0-11.2-5.9-11.2-13.8c0-8.6,4.7-13.7,11.2-13.7 c3,0,6,1.2,7.6,3.2V47.5H524.3z M518.5,71.7c0-4.4-2-7.9-6.6-7.9c-4.3,0-6.3,3-6.3,7.9c0,4.9,2,7.8,6.3,7.8 C516.5,79.5,518.5,76.1,518.5,71.7z"/> </g> <g class="st0"> <path d="M555.6,88.5c0,5.5-5,7.9-12.2,7.9c-7.9,0-12.4-2.9-12.4-8.4c0-0.6,0.1-0.9,0.1-1.2l3.8-2.4c-1.9-1-3.2-2.7-3.2-5.4 c0-2.3,0.9-4,2.5-5.3c-1.3-1.7-2.1-3.8-2.1-6.1c0-5.7,4.9-9.7,10.8-9.7c2.3,0,4.5,0.6,6.2,1.7l4-3.4l3.4,4.1l-3.8,3.1 c0.7,1.3,1.1,2.9,1.1,4.6c0,5.9-4.9,9.7-10.7,9.7c-1.8,0-3.5-0.4-5.1-1c-0.5,0.3-0.8,0.8-0.8,1.4c0,1.9,2.7,2.5,6,2.9 C548.6,81.6,555.6,82.2,555.6,88.5z M549.1,89.1c0-2-3.4-2.3-7.2-2.8l-2.2-0.3l-2.3,2.2c-0.1,0.2-0.1,0.3-0.1,0.4 c0,2.3,3.3,3,6.3,3C546.4,91.6,549.1,91,549.1,89.1z M538.5,67.8c0,2.5,1.5,4.6,4.5,4.6c3,0,4.4-2,4.4-4.6 c0-2.7-1.7-4.5-4.4-4.5S538.5,65.1,538.5,67.8z"/> </g> <g class="st0"> <path d="M583.4,73.8h-18.1c0.3,3.5,2.4,5.8,6.6,5.8c2.4,0,4.5-0.8,6.3-2.8l4.5,3.9c-2.9,3.2-6.4,4.8-10.8,4.8 c-9.1,0-13-6.6-13-13.6c0-6.9,3.8-13.9,12.6-13.9c8.2,0,12.2,6.1,12.2,13.4C583.6,72.2,583.5,73,583.4,73.8z M577.4,68.7 c-0.1-3.4-2.7-5.4-6.1-5.4c-3.9,0-5.7,2.8-6.1,5.4H577.4z"/> </g> </g> <g> <g class="st0"> <path d="M179.8,113.6c0-4,2.4-6.6,6-6.6c3.6,0,6,2.6,6,6.6c0,3.9-2.4,6.6-6,6.6C182.3,120.2,179.8,117.5,179.8,113.6z M189.6,113.6c0-2.7-1.5-4.4-3.8-4.4s-3.8,1.7-3.8,4.4c0,2.7,1.5,4.4,3.8,4.4S189.6,116.3,189.6,113.6z"/> </g> <g class="st0"> <path d="M202.1,119.9l-3-5.2h-0.8h-0.8v5.2h-2.2v-12.6h4.1c3,0,4.3,1.4,4.3,3.6c0,1.8-0.8,3-2.3,3.5l3.4,5.5H202.1z M199.1,112.6c1.5,0,2.3-0.4,2.3-1.6c0-1.2-0.8-1.6-2.3-1.6h-1.6v3.2H199.1z"/> <path d="M219.5,117.3h-4.9l-1,2.6h-2.5l5-12.6h1.7l5,12.6h-2.5L219.5,117.3z M218.7,115.2l-1.7-4.6l-1.7,4.6H218.7z"/> </g> <g class="st0"> <path d="M231.3,107.3h8.9v2.1h-6.7v3h5.9v2.1h-5.9v5.4h-2.3V107.3z"/> </g> <g class="st0"> <path d="M248,117.3h-4.9l-1,2.6h-2.5l5-12.6h1.7l5,12.6H249L248,117.3z M247.2,115.2l-1.7-4.6l-1.7,4.6H247.2z"/> </g> <g class="st0"> <path d="M254.4,107.3h2.3v12.6h-2.3V107.3z"/> </g> <g class="st0"> <path d="M267.1,119.9l-3-5.2h-0.8h-0.8v5.2h-2.2v-12.6h4.1c3,0,4.3,1.4,4.3,3.6c0,1.8-0.8,3-2.3,3.5l3.4,5.5H267.1z M264.2,112.6c1.5,0,2.3-0.4,2.3-1.6c0-1.2-0.8-1.6-2.3-1.6h-1.6v3.2H264.2z"/> </g> <g class="st0"> <path d="M273.2,117.5h2.5l-2.3,5H272L273.2,117.5z"/> </g> <g class="st0"> <path d="M282.4,116.3l2.2-0.6c0.2,1.5,1.2,2.4,2.6,2.4c1.3,0,2.1-0.6,2.1-1.7c0-0.9-0.7-1.4-2.5-2.2c-2.6-1-3.6-2-3.6-3.8 c0-2,1.6-3.4,3.9-3.4c1.7,0,3,0.8,3.8,2.3l-1.9,1.2c-0.4-0.9-1.2-1.4-2-1.4c-0.9,0-1.6,0.6-1.6,1.4c0,0.8,0.6,1.3,2.5,2 c2.7,1,3.6,2,3.6,3.8c0,2.4-1.8,3.9-4.4,3.9C284.7,120.1,282.8,118.6,282.4,116.3z"/> </g> <g class="st0"> <path d="M294.7,115.3v-8.1h2.3v7.8c0,2.1,0.7,2.9,2.6,2.9c1.9,0,2.6-0.8,2.6-2.9v-7.8h2.3v8c0,3.3-1.6,4.9-4.8,4.9 C296.3,120.2,294.7,118.5,294.7,115.3z"/> </g> <g class="st0"> <path d="M306.5,116.3l2.2-0.6c0.2,1.5,1.2,2.4,2.6,2.4c1.3,0,2.1-0.6,2.1-1.7c0-0.9-0.7-1.4-2.5-2.2c-2.6-1-3.6-2-3.6-3.8 c0-2,1.6-3.4,3.9-3.4c1.7,0,3,0.8,3.8,2.3l-1.9,1.2c-0.4-0.9-1.2-1.4-2-1.4c-0.9,0-1.6,0.6-1.6,1.4c0,0.8,0.6,1.3,2.5,2 c2.7,1,3.6,2,3.6,3.8c0,2.4-1.8,3.9-4.4,3.9C308.8,120.1,306.8,118.6,306.5,116.3z"/> </g> <g class="st0"> <path d="M321.5,109.3h-3.9v-2.1h10.2v2.1h-3.9v10.5h-2.3V109.3z"/> </g> <g class="st0"> <path d="M335.9,117.3h-4.9l-1,2.6h-2.5l5-12.6h1.7l5,12.6h-2.5L335.9,117.3z M335.1,115.2l-1.7-4.6l-1.7,4.6H335.1z"/> </g> <g class="st0"> <path d="M342.3,107.3h2.3v12.6h-2.3V107.3z"/> </g> <g class="st0"> <path d="M358.1,107.3v12.6h-2.4l-5.3-8.7v8.7h-2.3v-12.6h2.3l5.3,8.7v-8.7H358.1z"/> </g> <g class="st0"> <path d="M368.4,117.3h-4.9l-1,2.6h-2.5l5-12.6h1.7l5,12.6h-2.5L368.4,117.3z M367.7,115.2l-1.7-4.6l-1.7,4.6H367.7z"/> </g> <g class="st0"> <path d="M374.8,107.3h4.4c2.5,0,4,1.2,4,3.2c0,1.2-0.5,2.1-1.4,2.6c1.4,0.5,2.1,1.5,2.1,3.1c0,2.3-1.5,3.7-4.1,3.7h-5V107.3z M379.2,112.3c1.1,0,1.7-0.5,1.7-1.4c0-1-0.6-1.5-1.7-1.5h-2.1v2.9H379.2z M379.6,117.8c1.3,0,2-0.7,2-1.8c0-1.1-0.7-1.6-2-1.6 h-2.5v3.4H379.6z"/> </g> <g class="st0"> <path d="M386.9,107.3h2.3v10.5h5.4v2.1h-7.7V107.3z"/> </g> <g class="st0"> <path d="M396.9,107.3h8.4v2.1h-6.1v3h5.7v2.1h-5.7v3.4h6.1v2.1h-8.4V107.3z"/> <path d="M421,117.3h-4.9l-1,2.6h-2.5l5-12.6h1.7l5,12.6H422L421,117.3z M420.2,115.2l-1.7-4.6l-1.7,4.6H420.2z"/> </g> <g class="st0"> <path d="M436.8,107.3v12.6h-2.4l-5.3-8.7v8.7h-2.3v-12.6h2.3l5.3,8.7v-8.7H436.8z"/> </g> <g class="st0"> <path d="M440.4,107.3h3.7c4.2,0,6.6,2.3,6.6,6.4c0,4-2.3,6.2-6.6,6.2h-3.6V107.3z M443.9,117.8c3.2,0,4.5-1.2,4.5-4.2 c0-2.9-1.3-4.2-4.3-4.2h-1.4v8.5H443.9z"/> </g> <g class="st0"> <path d="M458,113.6c0-4,2.4-6.6,6-6.6c3.6,0,6,2.6,6,6.6c0,3.9-2.4,6.6-6,6.6C460.4,120.2,458,117.5,458,113.6z M467.8,113.6 c0-2.7-1.5-4.4-3.8-4.4c-2.3,0-3.8,1.7-3.8,4.4c0,2.7,1.5,4.4,3.8,4.4C466.3,118,467.8,116.3,467.8,113.6z"/> </g> <g class="st0"> <path d="M473.4,107.3h4.1c2.8,0,4.3,1.2,4.3,3.6c0,2.4-1.5,3.7-4.3,3.7h-1.9v5.2h-2.2V107.3z M477.3,112.6 c1.6,0,2.3-0.5,2.3-1.6c0-1.1-0.7-1.6-2.3-1.6h-1.6v3.2H477.3z"/> </g> <g class="st0"> <path d="M484.3,107.3h8.4v2.1h-6.1v3h5.7v2.1h-5.7v3.4h6.1v2.1h-8.4V107.3z"/> </g> <g class="st0"> <path d="M505.7,107.3v12.6h-2.4l-5.3-8.7v8.7h-2.3v-12.6h2.3l5.3,8.7v-8.7H505.7z"/> </g> <g class="st0"> <path d="M514.6,107.3h8.9v2.1h-6.7v3h5.9v2.1h-5.9v5.4h-2.3V107.3z"/> </g> <g class="st0"> <path d="M525.2,115.3v-8.1h2.3v7.8c0,2.1,0.7,2.9,2.6,2.9s2.6-0.8,2.6-2.9v-7.8h2.3v8c0,3.3-1.6,4.9-4.8,4.9 C526.9,120.2,525.2,118.5,525.2,115.3z"/> </g> <g class="st0"> <path d="M540.8,109.3h-3.9v-2.1H547v2.1h-3.9v10.5h-2.3V109.3z"/> </g> <g class="st0"> <path d="M549.5,115.3v-8.1h2.3v7.8c0,2.1,0.7,2.9,2.6,2.9s2.6-0.8,2.6-2.9v-7.8h2.3v8c0,3.3-1.6,4.9-4.8,4.9 C551.2,120.2,549.5,118.5,549.5,115.3z"/> </g> <g class="st0"> <path d="M569.6,119.9l-3-5.2h-0.8H565v5.2h-2.2v-12.6h4.1c3,0,4.3,1.4,4.3,3.6c0,1.8-0.8,3-2.3,3.5l3.4,5.5H569.6z M566.6,112.6c1.5,0,2.3-0.4,2.3-1.6c0-1.2-0.8-1.6-2.3-1.6H565v3.2H566.6z"/> </g> <g class="st0"> <path d="M574.7,107.3h8.4v2.1H577v3h5.7v2.1H577v3.4h6.1v2.1h-8.4V107.3z"/> </g> </g> </g> </g> <g> <path class="st1" d="M103.1,63c4.2,4.2,7,9.7,7.9,15.6l12.1-12.1l30.4-30.4L130,12.6L99.6,42.9V0H66.4v60.1 C77.7,52,93.2,53.2,103.1,63z"/> <path class="st2" d="M111,87.5c-2.4,15.4-16.9,26-32.3,23.5c-4.4-0.7-8.6-2.4-12.2-5.1V166h33.2v-42.9l30.4,30.4l23.5-23.5 l-30.4-30.4C123.2,99.6,111,87.5,111,87.5z"/> <path d="M111,87.5c-2.5,15.4-17,26-32.5,23.5c-15.4-2.5-26-17-23.5-32.5c1-5.9,3.8-11.4,7.9-15.6c1.1-1.1,2.2-2,3.4-2.9 c12.6-9.2,30.3-6.4,39.5,6.2c2.6,3.6,4.4,7.8,5.1,12.3l12.1-12.1l30.4-30.4L130,12.6L99.6,42.9V0H66.4v42.9L36.1,12.6L12.6,36.1 l30.4,30.4H0v33.2h42.9L12.6,130l23.5,23.5l30.4-30.4v42.9h33.2v-42.9l30.4,30.4l23.5-23.5l-30.4-30.4L111,87.5z M104.2,47.4 l25.9-25.9l14.5,14.5L118.7,62l-4.9,4.9c-1.7-3.1-3.7-5.9-6.2-8.4c-2.5-2.5-5.3-4.6-8.3-6.2L104.2,47.4L104.2,47.4z M93.3,6.4 v43.6c-6.7-2-13.8-2-20.5,0V6.3C72.8,6.3,93.3,6.3,93.3,6.4z M21.6,36.1l14.5-14.5l24,24V57c-0.6,0.5-1.1,1-1.6,1.5 c-2.5,2.5-4.6,5.3-6.2,8.4L47.4,62C47.4,62,21.6,36.1,21.6,36.1z M6.4,93.3V72.8h43.6c-2,6.7-2,13.8,0,20.5 C49.9,93.3,6.3,93.3,6.4,93.3z M60.1,120.5l-24.1,24l-14.5-14.5l25.9-25.8l4.9-4.9c1.7,3.1,3.7,5.9,6.2,8.3c0.5,0.5,1,1,1.6,1.5 L60.1,120.5L60.1,120.5z M93.3,123.1v36.6H72.7v-43.6c6.7,2,13.8,2,20.5,0L93.3,123.1L93.3,123.1z M130,144.5l-25.8-25.9l-4.9-4.9 c6.2-3.3,11.2-8.3,14.5-14.5l4.9,4.9l25.9,25.9L130,144.5L130,144.5z"/> </g> </g> <text transform="matrix(1 0 0 1 573.11 119.88)" class="st3 st4 st5">E</text> </svg> </a> </h1> </div> <a href="#mmenu" class="show-menu"> <span class="icon-menu" aria-hidden="true"></span> <span class="sr-only">Open the menu</span> </a> <nav> <ul id="nav-social" class="secondary nav"> <li class="nav-item"> <a class="twitter nav-link" href="https://twitter.com/okfn">Twitter/X</a> </li> <li class="nav-item"> <a class="discuss nav-link" href="https://discuss.okfn.org/#">Forum</a> </li> <li class="nav-item"> <a class="linkedin nav-link" href="https://www.linkedin.com/company/open-knowledge-foundation">LinkedIn</a> </li> <li class="nav-item"> <a class="mastodon nav-link" href="https://fosstodon.org/@okfn">Mastodon</a> </li> </ul> <ul class="primary nav"><li id="menu-item-17197" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17197"><a href="http://okfn.org">↪ OKFN website</a></li> <li id="menu-item-8980" class="menu-item menu-item-type-post_type menu-item-object-page current_page_parent menu-item-has-children menu-item-8980"><a href="https://blog.okfn.org/latest/">All Posts</a> <ul class="sub-menu"> <li id="menu-item-12666" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-12666"><a href="https://blog.okfn.org/submit/">Submit a guest post</a></li> </ul> </li> <li class="search"><label for="search"><span class="icon-search" aria-hidden="true" id="display-search-bar"></span><span class="sr-only">Search</span></label></li></ul> </nav> </div> <div class="search-bar" id="main-search-bar"> <div class="container"> <form class="search-form" action="https://blog.okfn.org/" method="get" role="search"> <input type="text" name="s" class="search-bar_input" value="" placeholder="Search..."> <div class="search-bar_submit"> <button type="submit" class="search-bar_button"> <span class="icon-search"></span> <span class="sr-only">Submit</span> </button> </div> </form> <button class="search-bar_button cancel"> <span class="icon-close" aria-hidden="true"></span> <span class="sr-only">Cancel</span> </button> </div> </div> </div> <div class="banner" id="page-banner"> <div class="container"> <div class="banner_text"> <h1> Blog </h1> </div> </div> </div> </header> <div id="breadcrumb" role="navigation" class="d-none d-xl-block"> <nav class="container" aria-label="breadcrumb"> <ol class="breadcrumb"><li class="breadcrumb-item"><a class="breadcrumb-item_link" href="https://blog.okfn.org">Home</a></li><li class="breadcrumb-item"><a class="breadcrumb-item_link" href="https://blog.okfn.org/category/events/">Events</a></li></ol> </nav> </div> <main class="content"> <div class="container"> <div class="row"> <div class="col-lg-8"> <article id="post-30752" class="post post--excerpt post-30752 type-post status-publish format-standard has-post-thumbnail hentry category-events category-open-software category-open-standards category-openclosed category-talks category-technical category-the-tech-we-want category-the-tech-we-want-summit"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2024/11/20/panel-we-are-making-the-tech-we-want/" rel="bookmark">Panel: We are Making the Tech We Want</a></h1> </header> <div class="entry-content"> <p>With the skills that the panellists have, it would be easier to work for the mainstream tech industry and just go with the flow. But they’ve all chosen a different path: making software that makes sense. In this conversation, we’ll share the trajectories of some open, free/libre, and alternative technologies, and discuss how to tip the scales in our favour amidst a solutionist discourse in an ultra-specialised industry.</p> </div> </article> <article id="post-30580" class="post post--excerpt post-30580 type-post status-publish format-standard hentry category-open-data category-open-data-editor category-open-software category-our-work category-okfn-projects category-technical category-the-tech-we-want"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2024/10/22/open-data-editor-our-open-source-dependency-just-disappeared/" rel="bookmark">Open Data Editor: Our Open Source Dependency Just Disappeared</a></h1> </header> <div class="entry-content"> <p>The sudden disappearance of this core dependency only reinforces the idea that we should aim to build simpler, less dependent technologies.</p> </div> </article> <article id="post-30370" class="post post--excerpt post-30370 type-post status-publish format-standard hentry category-ckan category-open-software category-releases category-technical category-the-tech-we-want"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2024/08/21/ckan-2-11-hypermedia-approach-for-the-tech-we-want/" rel="bookmark">CKAN 2.11: Hypermedia approach for the tech we want</a></h1> </header> <div class="entry-content"> <p>The new version integrates HTMX to CKAN and opens up the way for creating dynamic user interfaces.</p> </div> </article> <article id="post-30180" class="post post--excerpt post-30180 type-post status-publish format-standard hentry category-datapkg category-frictionless-data category-open-data category-open-standards category-okfn-projects category-releases category-technical category-the-tech-we-want"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2024/06/26/data-package-version-2-0-release/" rel="bookmark">Data Package version 2.0 is out!</a></h1> </header> <div class="entry-content"> <p>Thanks to the generous support of NLnet, now Data Package includes features that were often requested throughout the years and improves extensibility for domain-specific implementations.</p> </div> </article> <article id="post-29154" class="post post--excerpt post-29154 type-post status-publish format-standard hentry category-frictionless-data category-open-data category-okfn-projects category-technical category-the-tech-we-want"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2023/11/15/frictionless-specs-update/" rel="bookmark">Frictionless specs update</a></h1> </header> <div class="entry-content"> <p>Originally published on: https://frictionlessdata.io/blog/2023/11/15/frictionless-specs-update/ We are very pleased to announce that thanks to the generous support of NLnet we have kickstarted the Frictionless specifications update. After a first discussion with the community in the last call, we are setting up a working group to help us with the v2 release. Taking into account the group’s concerns about the […]</p> </div> </article> <article id="post-25475" class="post post--excerpt post-25475 type-post status-publish format-standard has-post-thumbnail hentry category-frictionless-data category-open-knowledge category-open-research category-open-science category-open-software category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2019/12/09/andre-heughebaert-frictionless-darwincore/" rel="bookmark">Frictionless DarwinCore Tool by André Heughebaert</a></h1> </header> <div class="entry-content"> <p>This blog is part of a series showcasing projects developed during the 2019 Frictionless Data Tool Fund. The 2019 Frictionless Data Tool Fund provided four mini-grants of $5,000 to support individuals or organisations in developing an open tool for reproducible research built using the Frictionless Data specifications and software. This fund is part of the […]</p> </div> </article> <article id="post-17294" class="post post--excerpt post-17294 type-post status-publish format-standard has-post-thumbnail hentry category-events category-open-data category-open-education category-technical tag-cameralibre tag-video"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2014/06/09/community-sessions-video-skillshare-and-open-education/" rel="bookmark">Community Sessions: Video Skillshare and Open Education</a></h1> </header> <div class="entry-content"> <p>Happy June! We have a few Community Sessions to announce. OKFestival is almost a month away. Videos are key for storytelling, so we are hosting a Video Skillshare to help us all learn. The Open Education Working Group will join us to talk about why open data matters in education. Join us for these two […]</p> </div> </article> <article id="post-17290" class="post post--excerpt post-17290 type-post status-publish format-standard hentry category-austria category-technical tag-gbpn tag-semantic-web-company"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2014/06/06/energy-buildings-performance-scenarios-as-linked-open-data/" rel="bookmark">Energy Buildings Performance Scenarios as Linked Open Data</a></h1> </header> <div class="entry-content"> <p>This is a blog post by Martin Kaltenböck & Anne-Claire Bellec, cross-posted from the Semantic Puzzle Blog. Anne-Claire Bellec is Communications Manager at the Global Buildings Performance Network (http://www.gbpn.org), located at GBPNs headquarters in Paris, France, and Martin Kaltenböck is the responsible for web-based data tools at Semantic Web Company, a Linked Open Data specialised […]</p> </div> </article> <article id="post-16877" class="post post--excerpt post-16877 type-post status-publish format-standard hentry category-belgium category-open-data category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2013/12/05/the-datatank-4-0/" rel="bookmark">The DataTank 4.0</a></h1> </header> <div class="entry-content"> <p>This post was written by Pieter Colpaert, a member of the Open Knowledge Foundation Belgium Chapter. The DataTank is open source software, just like CKAN, Drupal or Elastic Search, which you can use to transform a dataset into an HTTP API. Today (the 5th of December 2014), we are proud to launch the 4.0 version […]</p> </div> </article> <article id="post-16595" class="post post--excerpt post-16595 type-post status-publish format-standard hentry category-ckan category-open-data category-open-government-data category-okfn category-our-work category-school-of-data category-technical category-training"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2013/09/26/open-data-training/" rel="bookmark">Open Data Training at the Open Knowledge Foundation</a></h1> </header> <div class="entry-content"> <p>We’re delighted to announce today the launch of a new portfolio of open data training programs. For many years the Open Knowledge Foundation has been working — both formally and informally — with governments, civil society organisations and others to provide this kind of advice and training. Today marks the first time we’ve brought it […]</p> </div> </article> <article id="post-15559" class="post post--excerpt post-15559 type-post status-publish format-standard hentry category-open-data category-small-data category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2013/07/02/git-and-github-for-data/" rel="bookmark">Git (and Github) for Data</a></h1> </header> <div class="entry-content"> <p>The ability to do “version control” for data is a big deal. There are various options but one of the most attractive is to reuse existing tools for doing this with code, like git and mercurial. This post describes a simple “data pattern” for storing and versioning data using those tools which we’ve been using […]</p> </div> </article> <article id="post-14521" class="post post--excerpt post-14521 type-post status-publish format-standard hentry category-ckan category-news category-open-data category-open-government-data category-okfn-projects category-releases category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2013/05/10/announcing-ckan-2-0/" rel="bookmark">Announcing CKAN 2.0</a></h1> </header> <div class="entry-content"> <p>CKAN is a powerful, open source, open data management platform, used by governments and organizations around the world to make large collections of data accessible, including the UK and US government open data portals. Today we are very happy and excited to announce the final release of CKAN 2.0. This is the most significant piece […]</p> </div> </article> <article id="post-14143" class="post post--excerpt post-14143 type-post status-publish format-standard hentry category-labs category-open-data category-open-standards category-small-data category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2013/04/24/frictionless-data-making-it-radically-easier-to-get-stuff-done-with-data/" rel="bookmark">Frictionless Data: making it radically easier to get stuff done with data</a></h1> </header> <div class="entry-content"> <p>Frictionless Data is now in alpha at http://data.okfn.org/ – and we’d like you to get involved. Our mission is to make it radically easier to make data used and useful – our immediate goal is make it as simple as possible to get the data you want into the tool of your choice. This isn’t […]</p> </div> </article> <article id="post-10984" class="post post--excerpt post-10984 type-post status-publish format-standard hentry category-news category-open-data category-our-work category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2012/07/10/announcing-linked-open-vocabularies-lov-enabling-the-vocabulary-commons/" rel="bookmark">Announcing: Linked Open Vocabularies (LOV), enabling the vocabulary commons</a></h1> </header> <div class="entry-content"> <p>We are delighted to announce that Linked Open Vocabularies is now being hosted on Open Knowledge Foundation servers and is now officially an Open Knowledge Foundation project. ##LOV Project in 5 points LOV is about vocabularies (aka. metadata element sets or ontologies) in OWL / RDFS used to describe linked data. LOV provides a single-stop […]</p> </div> </article> <article id="post-10606" class="post post--excerpt post-10606 type-post status-publish format-standard hentry category-our-work category-okfn-projects category-pybossa category-technical category-wg-open-data-in-science category-working-groups"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2012/06/08/introducing-pybossa-the-open-source-micro-tasking-platform/" rel="bookmark">Introducing PyBossa – the open-source micro-tasking platform</a></h1> </header> <div class="entry-content"> <p>For a while now our network has been working on applications, tools and platforms for crowd-sourcing and micro-tasking. At the end of last year, we posted about a cute little app developed at a hackday called the Data Digitizer that was being used to transcribe Brazillian budgetary data. In recent months we’ve been working closely […]</p> </div> </article> <article id="post-9339" class="post post--excerpt post-9339 type-post status-publish format-standard hentry category-ckan category-our-work category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2012/03/27/introducing-the-datastore/" rel="bookmark">Introducing the DataStore</a></h1> </header> <div class="entry-content"> <p>A major new feature in the DataHub is good news for data wranglers. The DataStore allows users to store and load structured data into a database, where it can be queried, filtered, or accessed from other programs via a rich data API. The API is also used by CKAN’s inbuilt Recline Data Explorer, giving in-page […]</p> </div> </article> <article id="post-8301" class="post post--excerpt post-8301 type-post status-publish format-standard hentry category-metadata category-our-work category-releases category-technical category-wg-open-bibliographic-data tag-jiscopenbib2 tag-openbiblio"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2012/02/13/open-biblio-launches-bibsoup-in-beta/" rel="bookmark">Open Biblio launches BibSoup in beta</a></h1> </header> <div class="entry-content"> <p>BibSoup is here! And it’s going to revolutionise how you work with bibliographic metadata. The team has been coding and blogging and bugfixing for a while now on the BibServer software, and we’ve mentioned in passing that our own instance has been up and running under the name of BibSoup… Now we are officially launching […]</p> </div> </article> <article id="post-7331" class="post post--excerpt post-7331 type-post status-publish format-standard hentry category-ckan category-news category-open-data category-okfn-projects category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2011/11/14/major-new-ckan-release-v1-5/" rel="bookmark">Major new CKAN release: v1.5!</a></h1> </header> <div class="entry-content"> <p>The following post is by David Read, on behalf of the CKAN team. We’re proud to announce a major new release of CKAN! Version 1.5 brings major improvements including: Major user experience upgrades around dataset publication and access plus a new theme Integrated structured and blob data storage, with associated with data previewing and visualization […]</p> </div> </article> <article id="post-7087" class="post post--excerpt post-7087 type-post status-publish format-standard hentry category-ckan category-metadata category-open-data category-open-government-data category-okfn-projects category-technical category-wg-eu-open-data category-wg-open-government-data category-working-groups"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2011/10/14/what-open-data-catalogs-are-there-in-your-country/" rel="bookmark">What open data catalogs are there in your country?</a></h1> </header> <div class="entry-content"> <p>The following post is from Jonathan Gray, Community Coordinator at the Open Knowledge Foundation. Earlier this year at OKCon 2011 in Berlin we launched datacatalogs.org to make a comprehensive list of open data catalogs around the world. We’ve just upgraded it to run on the latest version of CKAN, our open source data hub software, […]</p> </div> </article> <article id="post-6134" class="post post--excerpt post-6134 type-post status-publish format-standard hentry category-ckan category-news category-open-data category-open-government-data category-our-work category-press category-okfn-projects category-releases category-technical category-wg-eu-open-data category-wg-open-government-data category-working-groups"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2011/06/30/release-of-datacatalogs-org-to-map-open-data-around-the-world/" rel="bookmark">Release of DataCatalogs.org to map open data around the world</a></h1> </header> <div class="entry-content"> <p>The following post is from Jonathan Gray, Community Coordinator at the Open Knowledge Foundation. We’re very pleased to announce an alpha version of datacatalogs.org, a website to help keep track of open data catalogues from around the world. The project is being launched to coincide with our annual conference, OKCon 2011. You can see the […]</p> </div> </article> <article id="post-5056" class="post post--excerpt post-5056 type-post status-publish format-standard hentry category-annotator category-news category-releases category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2011/05/12/the-annotator-preview/" rel="bookmark">The Annotator – Preview</a></h1> </header> <div class="entry-content"> <p>In November 2010, Rufus Pollock announced the Annotator project on the OKFN blog. Since this initial release the project has been developed into a fully fledged product. The Annotator is a JavaScript widget that can be added to any webpage to allow inline annotation of its contents. Combined with a storage system, such as AnnotateIt, […]</p> </div> </article> <article id="post-4981" class="post post--excerpt post-4981 type-post status-publish format-standard hentry category-ckan category-lod2 category-open-government-data category-technical category-wg-open-government-data"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2011/03/16/open-data-search-finding-useful-datasets-worldwide/" rel="bookmark">Open Data Search: finding useful datasets, worldwide</a></h1> </header> <div class="entry-content"> <p>The following post is from Friedrich Lindenberg, who is a developer at the Open Knowledge Foundation working on CKAN, PublicData.eu and Open Spending. Recently, there has hardly been a week in which there hasn’t been an announcement of a new local, regional or national open data initiative – including ever more extensive catalogues of data […]</p> </div> </article> <article id="post-4156" class="post post--excerpt post-4156 type-post status-publish format-standard hentry category-events category-open-data category-open-government-data category-okfn category-okfn-projects category-technical category-wg-eu-open-data category-wg-open-government-data category-working-groups"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2010/12/06/eurostat-hackday-16th-december-2010/" rel="bookmark">Eurostat Hackday, 16th December 2010</a></h1> </header> <div class="entry-content"> <p>We’re currently organising a ‘hackday’ on the Eurostat data, which will take place on Wednesday 16th December 2010: If you’d like to get involved, please get in touch on the euopendata mailing list, or drop us a line on eurostat at okfn dot org. From the website: Eurostat Hackday What is Eurostat? Eurostat is the […]</p> </div> </article> <article id="post-3742" class="post post--excerpt post-3742 type-post status-publish format-standard hentry category-ckan category-open-data category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2010/09/03/next-version-of-the-linked-open-data-cloud-based-on-ckan/" rel="bookmark">Next version of the Linked Open Data cloud based on CKAN!</a></h1> </header> <div class="entry-content"> <p>Many of you will be familiar with the now ubiquitous Linked Open Data cloud diagram, maintained by Richard Cyganiak. The diagram illustrates efforts to link together many different data sources, from the CIA World Factbook to DBpedia, a structured database of information extracted from Wikipedia. It looks like this: We’re very pleased that the diagram’s […]</p> </div> </article> <article id="post-3695" class="post post--excerpt post-3695 type-post status-publish format-standard hentry category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2010/08/21/begginnings-of-an-object-description-mapper/" rel="bookmark">Beginnings of an Object Description Mapper</a></h1> </header> <div class="entry-content"> <p>The analogue to an Object-Relational Mapper for RDF. Helping to make OWL Description Logic accessible from Python in a way that will seem familiar to people who are accustomed to things like SQLAlchemy and Django. http://packages.python.org/ordf/odm.html</p> </div> </article> <article id="post-3433" class="post post--excerpt post-3433 type-post status-publish format-standard hentry category-germany category-open-data category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2010/07/23/how-to-visualise-worldbank-data-with-google-maps/" rel="bookmark">How to Visualise Worldbank Data with Google Maps</a></h1> </header> <div class="entry-content"> <p>The following guest post is from Holger Drewes, who is a member of Open Knowledge Foundation Germany and the Open Data Network in Berlin. As interfaces for open datasets from political and societal institutions become more and more available, the possibilities for easy and uncomplicated data visualization are expanding in very promising ways. With a […]</p> </div> </article> <article id="post-3337" class="post post--excerpt post-3337 type-post status-publish format-standard hentry category-open-data category-open-science category-openclosed category-technical category-wg-archaeology category-wg-open-data-in-science"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2010/07/14/pollen-data-in-the-new-and-old-world/" rel="bookmark">Pollen data in the New and Old World</a></h1> </header> <div class="entry-content"> <p>The following guest post is from Stefano Costa at the University of Siena. He is Founder of the IOSA initiative and Coordinator of the Open Knowledge Foundation‘s Working Group on Open Data in Archaeology. Stefano wishes to thank Thomas Kluyver and David Jones for their help in reviewing the post. Since the 19th century, the […]</p> </div> </article> <article id="post-3291" class="post post--excerpt post-3291 type-post status-publish format-standard hentry category-bibliographica category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2010/07/02/ordf-the-okfn-rdf-library/" rel="bookmark">ORDF – the OKFN RDF Library</a></h1> </header> <div class="entry-content"> <p>Some months ago we started looking at how we might possibly use an RDF store instead of a SQL database behind data-driven websites — of which OKF has several. The reasons have to do with making the data reuseable in a better way than ad-hoc JSON APIs. As we tend to program in Python and […]</p> </div> </article> <article id="post-2833" class="post post--excerpt post-2833 type-post status-publish format-standard hentry category-ckan category-okfn-projects category-releases category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2010/05/18/ckan-v10-released/" rel="bookmark">CKAN v1.0 Released</a></h1> </header> <div class="entry-content"> <p>We are pleased to announce the availability of version 1.0 of the CKAN software, our open source registry system for datasets (and other resources). After 3 years of development, twelve point releases and a several successful production deployments around the world CKAN has come of age! As well as being used to power http://ckan.net and […]</p> </div> </article> <article id="post-2786" class="post post--excerpt post-2786 type-post status-publish format-standard hentry category-okfn category-okfn-projects category-public-domain category-public-domain-works category-technical category-wg-public-domain category-working-groups"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2010/05/12/public-domain-calculators-at-europeana/" rel="bookmark">Public Domain Calculators at Europeana</a></h1> </header> <div class="entry-content"> <p>The following guest post is from Christina Angelopoulos at the Institute for Information Law (IViR) and Maarten Zeinstra at Nederland Kennisland who are working on building a series of Public Domain Calculators as part of the Europeana project. Both are also members of the Open Knowledge Foundation’s Working Group on the Public Domain. Over the […]</p> </div> </article> <article id="post-1961" class="post post--excerpt post-1961 type-post status-publish format-standard hentry category-ckan category-okfn category-okfn-projects category-releases category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2010/02/12/ckan-011-released/" rel="bookmark">CKAN 0.11 Released</a></h1> </header> <div class="entry-content"> <p>We are pleased to announce the release of version 0.11 of the CKAN software, our open source registry of open data used in ckan.net and data.gov.uk. This is our biggest release so far (55 tickets) with lots of new features and improvements. This release also saw a major new production deployment with the CKAN software […]</p> </div> </article> <article id="post-784" class="post post--excerpt post-784 type-post status-publish format-standard hentry category-news category-open-data category-open-definition category-okfn category-open-standards category-okfn-projects category-technical category-wg-development"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2009/09/21/new-report-on-sharing-aid-information-is-now-open-for-comments/" rel="bookmark">New report on sharing aid information is now open for comments</a></h1> </header> <div class="entry-content"> <p>We’re pleased to announce the publication of a new report, Unlocking the potential of aid information. The report, by the Open Knowledge Foundation and Aidinfo, looks at how to make information related to international development (i) legally open, (ii) technically open and (iii) easy to find. The report and relevant background information can be found […]</p> </div> </article> <article id="post-631" class="post post--excerpt post-631 type-post status-publish format-standard hentry category-ckan category-news category-okfn category-okfn-projects category-releases category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2009/08/13/ckan-09-released/" rel="bookmark">CKAN 0.9 Released</a></h1> </header> <div class="entry-content"> <p>We are pleased to announce the release of CKAN version 0.9! CKAN is the Comprehensive Knowledge Archive Network, a registry of open knowledge packages and projects. Changes include: Add version attribute for package Fix purge to use new version of Versioned Domain Model (vdm) (0.4) Link to changed packages when listing revision Show most recently […]</p> </div> </article> <article id="post-601" class="post post--excerpt post-601 type-post status-publish format-standard hentry category-events category-open-data category-okfn category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2009/08/05/open-data-and-the-semantic-web-workshop-london-13th-november-2009/" rel="bookmark">Open Data and the Semantic Web Workshop, London, 13th November 2009</a></h1> </header> <div class="entry-content"> <p>We’re currently organising a workshop on ‘open data and the semantic web’, which will take place in London this autumn. Details are as follows: When: Friday 13th November 2009, 1000-1800 Where: London Knowledge Lab, 23-29 Emerald Street, London, WC1N 3QS. (See map) Wiki: http://wiki.okfn.org/SemanticWeb Participation: Attendance is free. If you are planning to come along […]</p> </div> </article> <article id="post-535" class="post post--excerpt post-535 type-post status-publish format-standard hentry category-ckan category-metadata category-open-data category-open-government-data category-okfn-projects category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2009/07/23/what-features-should-be-included-in-a-catalogue-of-open-government-data/" rel="bookmark">What features should be included in a catalogue of open government data?</a></h1> </header> <div class="entry-content"> <p>There have recently been several posts about what features are desirable in government data catalogues. The Sunlight Foundation recently announced they are planning to build on data.gov to allow “community participation so that people can submit their own data sources” (including support for adding data that is not open such as data with noncommercial restrictions). […]</p> </div> </article> <article id="post-270" class="post post--excerpt post-270 type-post status-publish format-standard hentry category-news category-open-data category-policy category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2009/05/22/datagov-goes-live/" rel="bookmark">Data.gov goes live!</a></h1> </header> <div class="entry-content"> <p>The US governments new data.gov site (which we blogged about last month) is now live! There are currently a selection of core datasets available – from information about World Copper Smelters to results from the Residential Energy Consumption Survey. Raw data is available in XML, Text/CSV, KML/KMZ, Feeds, XLS, or ESRI Shapefile formats. As well […]</p> </div> </article> <article id="post-267" class="post post--excerpt post-267 type-post status-publish format-standard hentry category-news category-open-data category-okfn category-okfn-projects category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2009/05/13/launch-of-open-data-grid/" rel="bookmark">Launch of Open Data Grid</a></h1> </header> <div class="entry-content"> <p>In the last couple of months we’ve had several threads on the okfn-discuss list about distributed storage for open data (see here and here). Last month we started a distributed storage project, aiming to provide distributed storage infrastructure for OKF and other open knowledge projects. After researching various technical options, we’ve launched an Open Data […]</p> </div> </article> <article id="post-293" class="post post--excerpt post-293 type-post status-publish format-standard hentry category-ckan category-news category-okfn-projects category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2009/05/12/ckan-08-released/" rel="bookmark">CKAN 0.8 Released</a></h1> </header> <div class="entry-content"> <p>A new release of CKAN is now out together with a new, and substantially improved versioned domain model library. Changes include: View information about package history (ticket:53) Basic datapkg integration (ticket:57) Show information about package openness using icons (ticket:56) One-stage package create/registration (r437) Reinstate package attribute validation (r437) Upgrade to vdm 0.4 The CKAN code […]</p> </div> </article> <article id="post-263" class="post post--excerpt post-263 type-post status-publish format-standard hentry category-events category-news category-open-data category-okfn category-policy category-talks category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2009/04/23/5th-communia-workshop-post-event-information-statement/" rel="bookmark">5th Communia Workshop: Post-Event Information + Statement</a></h1> </header> <div class="entry-content"> <p>The 5th Communia Workshop took place last month at the London School of Economics. It brought together researchers, policy-makers, stakeholders and representatives from across Europe, the United States and Australia for two days of talks and discussions about reusing public sector content and data. In the afternoon of the first day, participants co-drafted a simple […]</p> </div> </article> <article id="post-255" class="post post--excerpt post-255 type-post status-publish format-standard hentry category-events category-news category-open-access category-open-data category-okfn category-open-science category-public-domain category-talks category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2009/03/22/open-knowledge-conference-okcon-2009-saturday-28th-march/" rel="bookmark">Open Knowledge Conference (OKCon) 2009: Saturday 28th March</a></h1> </header> <div class="entry-content"> <p>Open Knowledge Conference (OKCon) 2009 will take place next Saturday 28th March – less than a week away! where: Centre for Advanced Spatial Analysis, UCL, London when: 28th March 2009, 1030-1830 home: http://www.okfn.org/okcon/ register: http://www.okfn.org/okcon/register/ If you plan to attend, and haven’t registered yet – we encourage you to book your ticket now as space […]</p> </div> </article> <article id="post-180" class="post post--excerpt post-180 type-post status-publish format-standard hentry category-events category-okfn category-talks category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2008/06/13/second-open-visualisation-workshop-saturday-21st-june-2008-trampoline-systems/" rel="bookmark">Second Open Visualisation Workshop, Saturday 21st June 2008, Trampoline Systems</a></h1> </header> <div class="entry-content"> <p>At the first Open Visualisation Workshop last month, we found there was significant demand for regular workshops. Hence, the second Open Visualisation Workshop will take place a week from Saturday! Details are as follows: When: Saturday 21st June 2008, 11am – 5pm Where: Trampoline Systems, 8-15 Dereham Place, London, EC2A 3HJ (view on OpenStreetMap) Wiki: […]</p> </div> </article> <article id="post-177" class="post post--excerpt post-177 type-post status-publish format-standard hentry category-news category-okfn-projects category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2008/05/30/versioned-domain-model-v02-with-support-for-sqlalchemy-released/" rel="bookmark">Versioned Domain Model v0.2 with Support for SQLAlchemy Released</a></h1> </header> <div class="entry-content"> <p>v0.2 of versioned domain model is now finally done — it was 95% complete in Feb but it has taken another 3 months to iron out the last bugs and polish up! Apart from being a concrete implementation of a system for versioning data(bases) — and therefore important for efforts to do more collaborative development […]</p> </div> </article> <article id="post-176" class="post post--excerpt post-176 type-post status-publish format-standard hentry category-events category-open-data category-okfn category-okfn-projects category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2008/05/26/after-the-first-open-visualisation-workshop/" rel="bookmark">After the first Open Visualisation Workshop</a></h1> </header> <div class="entry-content"> <p>The first Open Visualisation Workshop took place on Saturday as we mentioned last week. Details, notes and links are available on the event’s wiki page. The event took place at Trampoline Systems’ new site in East London. To make sure the event was as informal as it was billed to be – we left the […]</p> </div> </article> <article id="post-175" class="post post--excerpt post-175 type-post status-publish format-standard hentry category-events category-okfn category-talks category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2008/05/20/open-visualisation-workshop-saturday-24th-may-2008-trampoline-systems/" rel="bookmark">Open Visualisation Workshop, Saturday 24th May 2008, Trampoline Systems</a></h1> </header> <div class="entry-content"> <p>As we mentioned last month we’ve been organising an informal, hands-on workshop focusing on open source visualisation technologies. This will take place on this coming Saturday in London. Details are as follows: When: Saturday 24th May 2008 from 11 am until whenever people need to leave (probably 4 or 5 pm); Where: Trampoline Systems, 8-15 […]</p> </div> </article> <article id="post-148" class="post post--excerpt post-148 type-post status-publish format-standard hentry category-metadata category-news category-okfn-projects category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2008/02/01/ckan-05-released/" rel="bookmark">CKAN 0.5 Released</a></h1> </header> <div class="entry-content"> <p>The Comprehensive Knowledge Archive Network (CKAN) version 0.5 has just been released. Changes include: feature to list and search tags feature to make data available in machine-usable form via sql dump feature to purge a revision and associated changes support for reserved html characters in urls upgrade to Pylons 0.9.6 new spam management utilities including […]</p> </div> </article> <article id="post-455" class="post post--excerpt post-455 type-post status-publish format-standard hentry category-open-shakespeare category-technical category-texts"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2007/08/14/ocring-shakespeare-entry-from-encyclopaedia-britannica-11th-edition/" rel="bookmark">OCRing Shakespeare Entry from Encyclopaedia Britannica 11th Edition</a></h1> </header> <div class="entry-content"> <p>One of next things we want to do for open shakespeare is provide an open introduction for to his works. The obvious idea for this was to use the Shakespeare entry in the 11th ed of the Encyclopaedia Britannica as detailed in this ticket: http://p.knowledgeforge.net/shakespeare/trac/ticket/24 We’ve now written code to grab the relevant tiffs off […]</p> </div> </article> <article id="post-453" class="post post--excerpt post-453 type-post status-publish format-standard hentry category-news category-open-shakespeare category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2007/04/10/annotation-is-working/" rel="bookmark">Annotation is Working!</a></h1> </header> <div class="entry-content"> <p>After another push over the last few days I’ve got the web annotation system for Open Shakespeare operational (we’ve been hacking on this on and off since back in December). To see the system in action visit: http://demo.openshakespeare.org/view?name=phoenix_and_the_turtle_gut&format=annotate Quite a bit of effort has been made to decouple the annotation system from Open Shakespeare so […]</p> </div> </article> <article id="post-74" class="post post--excerpt post-74 type-post status-publish format-standard hentry category-open-data category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2007/02/20/collaborative-development-of-data/" rel="bookmark">Collaborative Development of Data</a></h1> </header> <div class="entry-content"> <p>$ This version: 2007-02-15 (First version 2006-05-24) $ We already have some fairly good working processes for collaborative development of unstructured text: the two most prominent examples being source code of computer programs and wikis for general purpose content (encyclopedias etc). However these tools perform poorly (or not at all) when we come to structured […]</p> </div> </article> <article id="post-65" class="post post--excerpt post-65 type-post status-publish format-standard hentry category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2007/01/24/thinking-about-annotation/" rel="bookmark">Thinking about Annotation</a></h1> </header> <div class="entry-content"> <p>Annotation means the adding of comments/notes/etc to an underlying resource. For the present I’ll focus on the situation where the underlying resource is textual (as opposed to being an image, or a piece of film or some data). Various things to consider when implementing an annotation/comment system: Addressing and atomisation: Are annotations specific to particular […]</p> </div> </article> <article id="post-451" class="post post--excerpt post-451 type-post status-publish format-standard hentry category-open-shakespeare category-technical"> <header class="post-header"> <h1 class="entry-title"><a href="https://blog.okfn.org/2007/01/03/improvements-to-the-concordance/" rel="bookmark">Improvements to the Concordance</a></h1> </header> <div class="entry-content"> <p>One of the main items scheduled for v0.4 of open shakespeare is improvements to the responsiveness of the concordance. Using the v0.3 codebase, using just the sonnets as test material, loading up the list of words for the concordance alone took around 24s on my laptop. This is because even with a single text there […]</p> </div> </article> <nav class="blog-pagination" role="navigation"> <span class="page-numbers current">1</span> <a class="page-numbers" href="https://blog.okfn.org/category/technical/page/2/">2</a> <a class="next page-numbers" href="https://blog.okfn.org/category/technical/page/2/">Next →</a> </nav><!-- .blog-pagination --> </div> <div class="sidebar col-lg-4"> <ul> <li id="search-3" class="widget widget_search"><h3 class="widgettitle">Search</h3><form class="search-form" action="https://blog.okfn.org/" method="get" role="search"> <input type="text" name="s" class="search-bar_input" value="" placeholder="Search..."> <div class="search-bar_submit"> <button type="submit" class="search-bar_button"> <span class="icon-search"></span> <span class="sr-only">Submit</span> </button> </div> </form> </li><li id="tag_cloud-4" class="widget widget_tag_cloud"><h3 class="widgettitle">Browse by Topic</h3><div class="tagcloud"><a href="https://blog.okfn.org/category/okfn-projects/ckan/" class="tag-cloud-link tag-link-65 tag-link-position-1" style="font-size: 13.222222222222pt;" aria-label="CKAN (99 items)">CKAN</a> <a href="https://blog.okfn.org/category/community-en/" class="tag-cloud-link tag-link-354 tag-link-position-2" style="font-size: 12.333333333333pt;" aria-label="Community (82 items)">Community</a> <a href="https://blog.okfn.org/category/data-journalism/" class="tag-cloud-link tag-link-117 tag-link-position-3" style="font-size: 10.555555555556pt;" aria-label="Data Journalism (56 items)">Data Journalism</a> <a href="https://blog.okfn.org/category/events/" class="tag-cloud-link tag-link-10 tag-link-position-4" style="font-size: 20pt;" aria-label="Events (409 items)">Events</a> <a href="https://blog.okfn.org/category/okfn-projects/frictionless-data/" class="tag-cloud-link tag-link-466 tag-link-position-5" style="font-size: 11.777777777778pt;" aria-label="Frictionless Data (73 items)">Frictionless Data</a> <a href="https://blog.okfn.org/category/okfn-projects/global-open-data-index/" class="tag-cloud-link tag-link-362 tag-link-position-6" style="font-size: 8.6666666666667pt;" aria-label="Global Open Data Index (38 items)">Global Open Data Index</a> <a href="https://blog.okfn.org/category/okfn/join-us/" class="tag-cloud-link tag-link-207 tag-link-position-7" style="font-size: 9.3333333333333pt;" aria-label="Join us (44 items)">Join us</a> <a href="https://blog.okfn.org/category/metadata/" class="tag-cloud-link tag-link-21 tag-link-position-8" style="font-size: 8.1111111111111pt;" aria-label="Metadata (34 items)">Metadata</a> <a href="https://blog.okfn.org/category/news/" class="tag-cloud-link tag-link-23 tag-link-position-9" style="font-size: 18.888888888889pt;" aria-label="News (322 items)">News</a> <a href="https://blog.okfn.org/category/open-data-day/odd-stories/" class="tag-cloud-link tag-link-2627 tag-link-position-10" style="font-size: 9.5555555555556pt;" aria-label="ODD Stories (46 items)">ODD Stories</a> <a href="https://blog.okfn.org/category/events/okfest/" class="tag-cloud-link tag-link-191 tag-link-position-11" style="font-size: 9.2222222222222pt;" aria-label="OKFest (43 items)">OKFest</a> <a href="https://blog.okfn.org/category/openclosed/" class="tag-cloud-link tag-link-45 tag-link-position-12" style="font-size: 10.555555555556pt;" aria-label="Open/Closed (56 items)">Open/Closed</a> <a href="https://blog.okfn.org/category/open-access/" class="tag-cloud-link tag-link-31 tag-link-position-13" style="font-size: 12.777777777778pt;" aria-label="Open Access (91 items)">Open Access</a> <a href="https://blog.okfn.org/category/open-data/" class="tag-cloud-link tag-link-32 tag-link-position-14" style="font-size: 22pt;" aria-label="Open Data (610 items)">Open Data</a> <a href="https://blog.okfn.org/category/open-data-day/" class="tag-cloud-link tag-link-465 tag-link-position-15" style="font-size: 18.111111111111pt;" aria-label="Open Data Day (276 items)">Open Data Day</a> <a href="https://blog.okfn.org/category/open-data-day/open-data-day-2018/" class="tag-cloud-link tag-link-1931 tag-link-position-16" style="font-size: 8pt;" aria-label="Open Data Day 2018 (33 items)">Open Data Day 2018</a> <a href="https://blog.okfn.org/category/open-data-day/open-data-day-2020/" class="tag-cloud-link tag-link-2079 tag-link-position-17" style="font-size: 11.444444444444pt;" aria-label="Open Data Day 2020 (68 items)">Open Data Day 2020</a> <a href="https://blog.okfn.org/category/okfn-projects/open-definition/" class="tag-cloud-link tag-link-34 tag-link-position-18" style="font-size: 12.444444444444pt;" aria-label="Open Definition (84 items)">Open Definition</a> <a href="https://blog.okfn.org/category/open-geodata/" class="tag-cloud-link tag-link-36 tag-link-position-19" style="font-size: 8pt;" aria-label="Open Geodata (33 items)">Open Geodata</a> <a href="https://blog.okfn.org/category/open-glam/" class="tag-cloud-link tag-link-182 tag-link-position-20" style="font-size: 9.5555555555556pt;" aria-label="Open GLAM (46 items)">Open GLAM</a> <a href="https://blog.okfn.org/category/open-government-data/" class="tag-cloud-link tag-link-37 tag-link-position-21" style="font-size: 19.888888888889pt;" aria-label="Open Government Data (395 items)">Open Government Data</a> <a href="https://blog.okfn.org/category/open-knowledge/" class="tag-cloud-link tag-link-383 tag-link-position-22" style="font-size: 15.777777777778pt;" aria-label="Open Knowledge (167 items)">Open Knowledge</a> <a href="https://blog.okfn.org/category/okfn/" class="tag-cloud-link tag-link-27 tag-link-position-23" style="font-size: 18pt;" aria-label="Open Knowledge Foundation (271 items)">Open Knowledge Foundation</a> <a href="https://blog.okfn.org/category/open-knowledge-network/" class="tag-cloud-link tag-link-239 tag-link-position-24" style="font-size: 15.555555555556pt;" aria-label="Open Knowledge Network (163 items)">Open Knowledge Network</a> <a href="https://blog.okfn.org/category/open-science/" class="tag-cloud-link tag-link-40 tag-link-position-25" style="font-size: 13.555555555556pt;" aria-label="Open Science (106 items)">Open Science</a> <a href="https://blog.okfn.org/category/okfn-projects/open-spending/" class="tag-cloud-link tag-link-115 tag-link-position-26" style="font-size: 11.666666666667pt;" aria-label="Open Spending (72 items)">Open Spending</a> <a href="https://blog.okfn.org/category/open-standards/" class="tag-cloud-link tag-link-43 tag-link-position-27" style="font-size: 10.666666666667pt;" aria-label="Open Standards (58 items)">Open Standards</a> <a href="https://blog.okfn.org/category/our-work/" class="tag-cloud-link tag-link-188 tag-link-position-28" style="font-size: 13.555555555556pt;" aria-label="Our Work (106 items)">Our Work</a> <a href="https://blog.okfn.org/category/policy/" class="tag-cloud-link tag-link-46 tag-link-position-29" style="font-size: 15pt;" aria-label="Policy (142 items)">Policy</a> <a href="https://blog.okfn.org/category/okfn-projects/" class="tag-cloud-link tag-link-29 tag-link-position-30" style="font-size: 17pt;" aria-label="Projects (216 items)">Projects</a> <a href="https://blog.okfn.org/category/public-domain/" class="tag-cloud-link tag-link-49 tag-link-position-31" style="font-size: 12.666666666667pt;" aria-label="Public Domain (88 items)">Public Domain</a> <a href="https://blog.okfn.org/category/okfn-projects/public-domain-works/" class="tag-cloud-link tag-link-50 tag-link-position-32" style="font-size: 8.3333333333333pt;" aria-label="Public Domain Works (35 items)">Public Domain Works</a> <a href="https://blog.okfn.org/category/releases/" class="tag-cloud-link tag-link-51 tag-link-position-33" style="font-size: 8.8888888888889pt;" aria-label="Releases (40 items)">Releases</a> <a href="https://blog.okfn.org/category/okfn-projects/school-of-data/" class="tag-cloud-link tag-link-190 tag-link-position-34" style="font-size: 8.1111111111111pt;" aria-label="School of Data (34 items)">School of Data</a> <a href="https://blog.okfn.org/category/talks/" class="tag-cloud-link tag-link-53 tag-link-position-35" style="font-size: 12.555555555556pt;" aria-label="Talks (87 items)">Talks</a> <a href="https://blog.okfn.org/category/technical/" class="tag-cloud-link tag-link-54 tag-link-position-36" style="font-size: 10.444444444444pt;" aria-label="Technical (55 items)">Technical</a> <a href="https://blog.okfn.org/category/the-tech-we-want/" class="tag-cloud-link tag-link-2724 tag-link-position-37" style="font-size: 8.3333333333333pt;" aria-label="The Tech We Want (35 items)">The Tech We Want</a> <a href="https://blog.okfn.org/category/working-groups/wg-economics/" class="tag-cloud-link tag-link-73 tag-link-position-38" style="font-size: 8pt;" aria-label="WG Economics (33 items)">WG Economics</a> <a href="https://blog.okfn.org/category/working-groups/wg-eu-open-data/" class="tag-cloud-link tag-link-74 tag-link-position-39" style="font-size: 13.555555555556pt;" aria-label="WG EU Open Data (106 items)">WG EU Open Data</a> <a href="https://blog.okfn.org/category/working-groups/wg-open-data-in-science/" class="tag-cloud-link tag-link-78 tag-link-position-40" style="font-size: 8.1111111111111pt;" aria-label="WG Open Data in Science (34 items)">WG Open Data in Science</a> <a href="https://blog.okfn.org/category/working-groups/wg-open-government-data/" class="tag-cloud-link tag-link-80 tag-link-position-41" style="font-size: 15.666666666667pt;" aria-label="WG Open Government Data (166 items)">WG Open Government Data</a> <a href="https://blog.okfn.org/category/working-groups/wg-public-domain/" class="tag-cloud-link tag-link-82 tag-link-position-42" style="font-size: 8.5555555555556pt;" aria-label="WG Public Domain (37 items)">WG Public Domain</a> <a href="https://blog.okfn.org/category/okfn-projects/wdmmg/" class="tag-cloud-link tag-link-59 tag-link-position-43" style="font-size: 8.5555555555556pt;" aria-label="Where Does My Money Go (37 items)">Where Does My Money Go</a> <a href="https://blog.okfn.org/category/working-groups/" class="tag-cloud-link tag-link-60 tag-link-position-44" style="font-size: 14.333333333333pt;" aria-label="Working Groups (124 items)">Working Groups</a> <a href="https://blog.okfn.org/category/events/workshop/" class="tag-cloud-link tag-link-61 tag-link-position-45" style="font-size: 10pt;" aria-label="Workshop (50 items)">Workshop</a></div> </li><li id="block-6" class="widget widget_block"> <h5>Tools</h5> </li><li id="block-7" class="widget widget_block widget_media_image"> <figure class="wp-block-image size-full is-resized"><a href="https://opendatacommons.org" target="_blank"><img loading="lazy" src="https://blog.okfn.org/wp-content/files/2023/11/open-data-commons.png" alt="" class="wp-image-28853" width="146" height="46"/></a></figure> </li><li id="block-5" class="widget widget_block widget_media_image"> <figure class="wp-block-image size-full is-resized"><a href="https://opendefinition.org/" target="_blank"><img loading="lazy" src="https://blog.okfn.org/wp-content/files/2023/11/open-definition-1.png" alt="" class="wp-image-28852" width="166" height="47"/></a></figure> </li><li id="block-8" class="widget widget_block widget_media_image"> <figure class="wp-block-image size-full is-resized"><a href="https://opendataeditor.okfn.org" target="_blank"><img loading="lazy" src="https://blog.okfn.org/wp-content/files/2023/11/opendataeditor-landscape-full-1x.png" alt="" class="wp-image-28855" width="149" height="47"/></a></figure> </li><li id="block-9" class="widget widget_block widget_media_image"> <figure class="wp-block-image size-full is-resized"><a href="https://frictionlessdata.io" target="_blank"><img loading="lazy" src="https://blog.okfn.org/wp-content/files/2023/11/frictionlessdata-short-full-1x.png" alt="" class="wp-image-28854" width="159" height="47"/></a></figure> </li><li id="block-10" class="widget widget_block widget_media_image"> <figure class="wp-block-image size-full is-resized"><a href="https://ckan.org" target="_blank"><img loading="lazy" src="https://blog.okfn.org/wp-content/files/2023/11/CKAN-full.png" alt="" class="wp-image-28856" width="107" height="30"/></a></figure> </li><li id="block-14" class="widget widget_block"> <div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div> </li><li id="block-11" class="widget widget_block"> <h5>Community</h5> </li><li id="block-12" class="widget widget_block widget_media_image"> <figure class="wp-block-image size-full is-resized"><a href="https://network.okfn.org/specialist/" target="_blank"><img loading="lazy" src="https://blog.okfn.org/wp-content/files/2023/11/global-directory.png" alt="" class="wp-image-28857" width="217" height="45"/></a></figure> </li><li id="block-13" class="widget widget_block widget_media_image"> <figure class="wp-block-image size-full is-resized"><a href="https://network.okfn.org/project/" target="_blank"><img loading="lazy" src="https://blog.okfn.org/wp-content/files/2023/11/project-repository.png" alt="" class="wp-image-28858" width="238" height="45"/></a></figure> </li><li id="block-15" class="widget widget_block widget_media_image"> <figure class="wp-block-image size-full is-resized"><a href="https://opendataday.org" target="_blank"><img loading="lazy" src="https://blog.okfn.org/wp-content/files/2023/11/ODD-logo-landscape-full-1x.png" alt="" class="wp-image-28859" width="231" height="37"/></a></figure> </li><li id="block-16" class="widget widget_block"> <div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div> </li><li id="text-12" class="widget widget_text"> <div class="textwidget"><p style="text-align: center;"><a href="http://creativecommons.org/licenses/by/4.0/" rel="license"><img class="alignnone aligncenter" style="border-width: 3;" src="https://i.creativecommons.org/l/by/4.0/88x31.png" alt="Creative Commons License" /></a></p> <p style="text-align: center;">This work is licensed under a <a href="http://creativecommons.org/licenses/by/4.0/" rel="license">Creative Commons Attribution 4.0 International License</a>.</p></div> </li> </ul> </div> </div><!-- / .row --> </div><!-- / .container --> </main> <section class="footer-cta"> <div class="container"> <div class="text"> <p>Don't miss a thing! Stay on top of what's happening in the #OpenMovement around the world.</p> </div> <div class="link"> <a href="https://us9.list-manage.com/subscribe?u=73f922f8e68e21a10efa21f02&id=32d370a7fc">Subscribe to our Newsletter</a> </div> </div> </section> <footer class="site-footer"> <div class="container"> <div class="footer-primary"> <a class="footer-logo" href="https://okfn.org/"> <?xml version="1.0" encoding="utf-8"?> <!-- Generator: Adobe Illustrator 27.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" id="Ebene_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 587.7 166.1" style="enable-background:new 0 0 587.7 166.1;" xml:space="preserve"> <style type="text/css"> .st0{enable-background:new ;} .st1{fill:#03D1FF;} .st2{fill:#00D1FF;} .st3{display:none;enable-background:new ;} .st4{font-family:'HKGrotesk-Bold';} .st5{font-size:18.1px;} </style> <g> <g> <g class="st0"> <path d="M170.1,107.3h8.9v2.1h-6.7v3h5.9v2.1h-5.9v5.4h-2.3V107.3z"/> </g> <g> <g> <g class="st0"> <path d="M166.4,66.3c0-11.8,7.2-19.5,17.9-19.5c10.7,0,17.9,7.8,17.9,19.5c0,11.7-7.2,19.5-17.9,19.5 C173.6,85.7,166.4,78,166.4,66.3z M195.4,66.3c0-8.1-4.3-13.2-11.2-13.2s-11.2,5-11.2,13.2c0,8.1,4.3,13.1,11.2,13.1 S195.4,74.3,195.4,66.3z"/> </g> <g class="st0"> <path d="M234.4,71.7c0,8.6-4.7,13.7-11.2,13.7c-3,0-6-1.2-7.6-3.2v13.6h-6.4V58.5h6.4v2.6c1.8-2.3,4.8-3.2,7.6-3.2 C230.5,57.9,234.4,63.8,234.4,71.7z M228,71.7c0-5.2-2-8.1-6.3-8.1c-4.7,0-6.7,3.4-6.7,8.1c0,4.6,2,8.2,6.6,8.2 C225.9,79.8,228,76.8,228,71.7z"/> </g> <g class="st0"> <path d="M263.5,73.8h-18.1c0.3,3.5,2.4,5.8,6.6,5.8c2.4,0,4.5-0.8,6.3-2.8l4.5,3.9c-2.9,3.2-6.4,4.8-10.8,4.8 c-9.1,0-13-6.6-13-13.6c0-6.9,3.8-13.9,12.6-13.9c8.2,0,12.2,6.1,12.2,13.4C263.6,72.2,263.6,73,263.5,73.8z M257.4,68.7 c-0.1-3.4-2.7-5.4-6.1-5.4c-3.9,0-5.7,2.8-6.1,5.4H257.4z"/> </g> <g class="st0"> <path d="M294.8,67.9v17.1h-6.4V69.5c0-1.8,0-5.9-4.9-5.9c-6,0-6,6.1-6,10.8v10.6H271V58.5h6.4v3.1c1.9-2.5,4.8-3.6,8-3.6 C291.4,57.9,294.8,61.6,294.8,67.9z"/> </g> <g class="st0"> <path d="M343.1,84.9l-11.1-18.6l-7.1,7.2v11.4h-6.7V47.5h6.7v17.6l16.8-17.6h8.8l-13.9,14.2l14.3,23.3H343.1z"/> <path d="M379.3,67.9v17.1h-6.4V69.5c0-1.8,0-5.9-4.9-5.9c-6,0-6,6.1-6,10.8v10.6h-6.4V58.5h6.4v3.1c1.9-2.5,4.8-3.6,8-3.6 C375.9,57.9,379.3,61.6,379.3,67.9z"/> </g> <g class="st0"> <path d="M381.9,71.7c0-7.5,5-13.7,13.3-13.7c8.2,0,13.3,6.2,13.3,13.7c0,7.5-5.1,13.8-13.3,13.8 C387,85.5,381.9,79.1,381.9,71.7z M402,71.7c0-4.3-1.9-8.1-6.8-8.1s-6.8,3.8-6.8,8.1c0,4.3,1.9,8.2,6.8,8.2S402,76,402,71.7z" /> </g> <g class="st0"> <path d="M411.3,58.5h6.9l4.5,16.6l5-16.6h5.5l5,16.5l4.6-16.5h6.9l-8.2,26.5h-5.8l-5.2-17.3l-5.2,17.3h-5.8L411.3,58.5z"/> </g> <g class="st0"> <path d="M455.7,78.6V47.5h6.4v30.7c0,1.2,0.7,1.7,1.9,1.7c0.6,0,1.3-0.1,2-0.3v5.2c-1.4,0.5-2.9,0.8-4.1,0.8 C458.3,85.5,455.7,83.3,455.7,78.6z"/> </g> <g class="st0"> <path d="M493.7,73.8h-18.1c0.3,3.5,2.4,5.8,6.6,5.8c2.4,0,4.5-0.8,6.3-2.8l4.5,3.9c-2.9,3.2-6.4,4.8-10.8,4.8 c-9.1,0-13-6.6-13-13.6c0-6.9,3.8-13.9,12.6-13.9c8.2,0,12.2,6.1,12.2,13.4C493.9,72.2,493.8,73,493.7,73.8z M487.7,68.7 c-0.1-3.4-2.7-5.4-6.1-5.4c-3.9,0-5.7,2.8-6.1,5.4H487.7z"/> </g> <g class="st0"> <path d="M524.3,47.5v37.4h-6.4v-2.6c-1.8,2.3-4.8,3.2-7.6,3.2c-7.2,0-11.2-5.9-11.2-13.8c0-8.6,4.7-13.7,11.2-13.7 c3,0,6,1.2,7.6,3.2V47.5H524.3z M518.5,71.7c0-4.4-2-7.9-6.6-7.9c-4.3,0-6.3,3-6.3,7.9c0,4.9,2,7.8,6.3,7.8 C516.5,79.5,518.5,76.1,518.5,71.7z"/> </g> <g class="st0"> <path d="M555.6,88.5c0,5.5-5,7.9-12.2,7.9c-7.9,0-12.4-2.9-12.4-8.4c0-0.6,0.1-0.9,0.1-1.2l3.8-2.4c-1.9-1-3.2-2.7-3.2-5.4 c0-2.3,0.9-4,2.5-5.3c-1.3-1.7-2.1-3.8-2.1-6.1c0-5.7,4.9-9.7,10.8-9.7c2.3,0,4.5,0.6,6.2,1.7l4-3.4l3.4,4.1l-3.8,3.1 c0.7,1.3,1.1,2.9,1.1,4.6c0,5.9-4.9,9.7-10.7,9.7c-1.8,0-3.5-0.4-5.1-1c-0.5,0.3-0.8,0.8-0.8,1.4c0,1.9,2.7,2.5,6,2.9 C548.6,81.6,555.6,82.2,555.6,88.5z M549.1,89.1c0-2-3.4-2.3-7.2-2.8l-2.2-0.3l-2.3,2.2c-0.1,0.2-0.1,0.3-0.1,0.4 c0,2.3,3.3,3,6.3,3C546.4,91.6,549.1,91,549.1,89.1z M538.5,67.8c0,2.5,1.5,4.6,4.5,4.6c3,0,4.4-2,4.4-4.6 c0-2.7-1.7-4.5-4.4-4.5S538.5,65.1,538.5,67.8z"/> </g> <g class="st0"> <path d="M583.4,73.8h-18.1c0.3,3.5,2.4,5.8,6.6,5.8c2.4,0,4.5-0.8,6.3-2.8l4.5,3.9c-2.9,3.2-6.4,4.8-10.8,4.8 c-9.1,0-13-6.6-13-13.6c0-6.9,3.8-13.9,12.6-13.9c8.2,0,12.2,6.1,12.2,13.4C583.6,72.2,583.5,73,583.4,73.8z M577.4,68.7 c-0.1-3.4-2.7-5.4-6.1-5.4c-3.9,0-5.7,2.8-6.1,5.4H577.4z"/> </g> </g> <g> <g class="st0"> <path d="M179.8,113.6c0-4,2.4-6.6,6-6.6c3.6,0,6,2.6,6,6.6c0,3.9-2.4,6.6-6,6.6C182.3,120.2,179.8,117.5,179.8,113.6z M189.6,113.6c0-2.7-1.5-4.4-3.8-4.4s-3.8,1.7-3.8,4.4c0,2.7,1.5,4.4,3.8,4.4S189.6,116.3,189.6,113.6z"/> </g> <g class="st0"> <path d="M202.1,119.9l-3-5.2h-0.8h-0.8v5.2h-2.2v-12.6h4.1c3,0,4.3,1.4,4.3,3.6c0,1.8-0.8,3-2.3,3.5l3.4,5.5H202.1z M199.1,112.6c1.5,0,2.3-0.4,2.3-1.6c0-1.2-0.8-1.6-2.3-1.6h-1.6v3.2H199.1z"/> <path d="M219.5,117.3h-4.9l-1,2.6h-2.5l5-12.6h1.7l5,12.6h-2.5L219.5,117.3z M218.7,115.2l-1.7-4.6l-1.7,4.6H218.7z"/> </g> <g class="st0"> <path d="M231.3,107.3h8.9v2.1h-6.7v3h5.9v2.1h-5.9v5.4h-2.3V107.3z"/> </g> <g class="st0"> <path d="M248,117.3h-4.9l-1,2.6h-2.5l5-12.6h1.7l5,12.6H249L248,117.3z M247.2,115.2l-1.7-4.6l-1.7,4.6H247.2z"/> </g> <g class="st0"> <path d="M254.4,107.3h2.3v12.6h-2.3V107.3z"/> </g> <g class="st0"> <path d="M267.1,119.9l-3-5.2h-0.8h-0.8v5.2h-2.2v-12.6h4.1c3,0,4.3,1.4,4.3,3.6c0,1.8-0.8,3-2.3,3.5l3.4,5.5H267.1z M264.2,112.6c1.5,0,2.3-0.4,2.3-1.6c0-1.2-0.8-1.6-2.3-1.6h-1.6v3.2H264.2z"/> </g> <g class="st0"> <path d="M273.2,117.5h2.5l-2.3,5H272L273.2,117.5z"/> </g> <g class="st0"> <path d="M282.4,116.3l2.2-0.6c0.2,1.5,1.2,2.4,2.6,2.4c1.3,0,2.1-0.6,2.1-1.7c0-0.9-0.7-1.4-2.5-2.2c-2.6-1-3.6-2-3.6-3.8 c0-2,1.6-3.4,3.9-3.4c1.7,0,3,0.8,3.8,2.3l-1.9,1.2c-0.4-0.9-1.2-1.4-2-1.4c-0.9,0-1.6,0.6-1.6,1.4c0,0.8,0.6,1.3,2.5,2 c2.7,1,3.6,2,3.6,3.8c0,2.4-1.8,3.9-4.4,3.9C284.7,120.1,282.8,118.6,282.4,116.3z"/> </g> <g class="st0"> <path d="M294.7,115.3v-8.1h2.3v7.8c0,2.1,0.7,2.9,2.6,2.9c1.9,0,2.6-0.8,2.6-2.9v-7.8h2.3v8c0,3.3-1.6,4.9-4.8,4.9 C296.3,120.2,294.7,118.5,294.7,115.3z"/> </g> <g class="st0"> <path d="M306.5,116.3l2.2-0.6c0.2,1.5,1.2,2.4,2.6,2.4c1.3,0,2.1-0.6,2.1-1.7c0-0.9-0.7-1.4-2.5-2.2c-2.6-1-3.6-2-3.6-3.8 c0-2,1.6-3.4,3.9-3.4c1.7,0,3,0.8,3.8,2.3l-1.9,1.2c-0.4-0.9-1.2-1.4-2-1.4c-0.9,0-1.6,0.6-1.6,1.4c0,0.8,0.6,1.3,2.5,2 c2.7,1,3.6,2,3.6,3.8c0,2.4-1.8,3.9-4.4,3.9C308.8,120.1,306.8,118.6,306.5,116.3z"/> </g> <g class="st0"> <path d="M321.5,109.3h-3.9v-2.1h10.2v2.1h-3.9v10.5h-2.3V109.3z"/> </g> <g class="st0"> <path d="M335.9,117.3h-4.9l-1,2.6h-2.5l5-12.6h1.7l5,12.6h-2.5L335.9,117.3z M335.1,115.2l-1.7-4.6l-1.7,4.6H335.1z"/> </g> <g class="st0"> <path d="M342.3,107.3h2.3v12.6h-2.3V107.3z"/> </g> <g class="st0"> <path d="M358.1,107.3v12.6h-2.4l-5.3-8.7v8.7h-2.3v-12.6h2.3l5.3,8.7v-8.7H358.1z"/> </g> <g class="st0"> <path d="M368.4,117.3h-4.9l-1,2.6h-2.5l5-12.6h1.7l5,12.6h-2.5L368.4,117.3z M367.7,115.2l-1.7-4.6l-1.7,4.6H367.7z"/> </g> <g class="st0"> <path d="M374.8,107.3h4.4c2.5,0,4,1.2,4,3.2c0,1.2-0.5,2.1-1.4,2.6c1.4,0.5,2.1,1.5,2.1,3.1c0,2.3-1.5,3.7-4.1,3.7h-5V107.3z M379.2,112.3c1.1,0,1.7-0.5,1.7-1.4c0-1-0.6-1.5-1.7-1.5h-2.1v2.9H379.2z M379.6,117.8c1.3,0,2-0.7,2-1.8c0-1.1-0.7-1.6-2-1.6 h-2.5v3.4H379.6z"/> </g> <g class="st0"> <path d="M386.9,107.3h2.3v10.5h5.4v2.1h-7.7V107.3z"/> </g> <g class="st0"> <path d="M396.9,107.3h8.4v2.1h-6.1v3h5.7v2.1h-5.7v3.4h6.1v2.1h-8.4V107.3z"/> <path d="M421,117.3h-4.9l-1,2.6h-2.5l5-12.6h1.7l5,12.6H422L421,117.3z M420.2,115.2l-1.7-4.6l-1.7,4.6H420.2z"/> </g> <g class="st0"> <path d="M436.8,107.3v12.6h-2.4l-5.3-8.7v8.7h-2.3v-12.6h2.3l5.3,8.7v-8.7H436.8z"/> </g> <g class="st0"> <path d="M440.4,107.3h3.7c4.2,0,6.6,2.3,6.6,6.4c0,4-2.3,6.2-6.6,6.2h-3.6V107.3z M443.9,117.8c3.2,0,4.5-1.2,4.5-4.2 c0-2.9-1.3-4.2-4.3-4.2h-1.4v8.5H443.9z"/> </g> <g class="st0"> <path d="M458,113.6c0-4,2.4-6.6,6-6.6c3.6,0,6,2.6,6,6.6c0,3.9-2.4,6.6-6,6.6C460.4,120.2,458,117.5,458,113.6z M467.8,113.6 c0-2.7-1.5-4.4-3.8-4.4c-2.3,0-3.8,1.7-3.8,4.4c0,2.7,1.5,4.4,3.8,4.4C466.3,118,467.8,116.3,467.8,113.6z"/> </g> <g class="st0"> <path d="M473.4,107.3h4.1c2.8,0,4.3,1.2,4.3,3.6c0,2.4-1.5,3.7-4.3,3.7h-1.9v5.2h-2.2V107.3z M477.3,112.6 c1.6,0,2.3-0.5,2.3-1.6c0-1.1-0.7-1.6-2.3-1.6h-1.6v3.2H477.3z"/> </g> <g class="st0"> <path d="M484.3,107.3h8.4v2.1h-6.1v3h5.7v2.1h-5.7v3.4h6.1v2.1h-8.4V107.3z"/> </g> <g class="st0"> <path d="M505.7,107.3v12.6h-2.4l-5.3-8.7v8.7h-2.3v-12.6h2.3l5.3,8.7v-8.7H505.7z"/> </g> <g class="st0"> <path d="M514.6,107.3h8.9v2.1h-6.7v3h5.9v2.1h-5.9v5.4h-2.3V107.3z"/> </g> <g class="st0"> <path d="M525.2,115.3v-8.1h2.3v7.8c0,2.1,0.7,2.9,2.6,2.9s2.6-0.8,2.6-2.9v-7.8h2.3v8c0,3.3-1.6,4.9-4.8,4.9 C526.9,120.2,525.2,118.5,525.2,115.3z"/> </g> <g class="st0"> <path d="M540.8,109.3h-3.9v-2.1H547v2.1h-3.9v10.5h-2.3V109.3z"/> </g> <g class="st0"> <path d="M549.5,115.3v-8.1h2.3v7.8c0,2.1,0.7,2.9,2.6,2.9s2.6-0.8,2.6-2.9v-7.8h2.3v8c0,3.3-1.6,4.9-4.8,4.9 C551.2,120.2,549.5,118.5,549.5,115.3z"/> </g> <g class="st0"> <path d="M569.6,119.9l-3-5.2h-0.8H565v5.2h-2.2v-12.6h4.1c3,0,4.3,1.4,4.3,3.6c0,1.8-0.8,3-2.3,3.5l3.4,5.5H569.6z M566.6,112.6c1.5,0,2.3-0.4,2.3-1.6c0-1.2-0.8-1.6-2.3-1.6H565v3.2H566.6z"/> </g> <g class="st0"> <path d="M574.7,107.3h8.4v2.1H577v3h5.7v2.1H577v3.4h6.1v2.1h-8.4V107.3z"/> </g> </g> </g> </g> <g> <path class="st1" d="M103.1,63c4.2,4.2,7,9.7,7.9,15.6l12.1-12.1l30.4-30.4L130,12.6L99.6,42.9V0H66.4v60.1 C77.7,52,93.2,53.2,103.1,63z"/> <path class="st2" d="M111,87.5c-2.4,15.4-16.9,26-32.3,23.5c-4.4-0.7-8.6-2.4-12.2-5.1V166h33.2v-42.9l30.4,30.4l23.5-23.5 l-30.4-30.4C123.2,99.6,111,87.5,111,87.5z"/> <path d="M111,87.5c-2.5,15.4-17,26-32.5,23.5c-15.4-2.5-26-17-23.5-32.5c1-5.9,3.8-11.4,7.9-15.6c1.1-1.1,2.2-2,3.4-2.9 c12.6-9.2,30.3-6.4,39.5,6.2c2.6,3.6,4.4,7.8,5.1,12.3l12.1-12.1l30.4-30.4L130,12.6L99.6,42.9V0H66.4v42.9L36.1,12.6L12.6,36.1 l30.4,30.4H0v33.2h42.9L12.6,130l23.5,23.5l30.4-30.4v42.9h33.2v-42.9l30.4,30.4l23.5-23.5l-30.4-30.4L111,87.5z M104.2,47.4 l25.9-25.9l14.5,14.5L118.7,62l-4.9,4.9c-1.7-3.1-3.7-5.9-6.2-8.4c-2.5-2.5-5.3-4.6-8.3-6.2L104.2,47.4L104.2,47.4z M93.3,6.4 v43.6c-6.7-2-13.8-2-20.5,0V6.3C72.8,6.3,93.3,6.3,93.3,6.4z M21.6,36.1l14.5-14.5l24,24V57c-0.6,0.5-1.1,1-1.6,1.5 c-2.5,2.5-4.6,5.3-6.2,8.4L47.4,62C47.4,62,21.6,36.1,21.6,36.1z M6.4,93.3V72.8h43.6c-2,6.7-2,13.8,0,20.5 C49.9,93.3,6.3,93.3,6.4,93.3z M60.1,120.5l-24.1,24l-14.5-14.5l25.9-25.8l4.9-4.9c1.7,3.1,3.7,5.9,6.2,8.3c0.5,0.5,1,1,1.6,1.5 L60.1,120.5L60.1,120.5z M93.3,123.1v36.6H72.7v-43.6c6.7,2,13.8,2,20.5,0L93.3,123.1L93.3,123.1z M130,144.5l-25.8-25.9l-4.9-4.9 c6.2-3.3,11.2-8.3,14.5-14.5l4.9,4.9l25.9,25.9L130,144.5L130,144.5z"/> </g> </g> <text transform="matrix(1 0 0 1 573.11 119.88)" class="st3 st4 st5">E</text> </svg> </a> <ul class="footer-links"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17197"><a href="http://okfn.org">↪ OKFN website</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page current_page_parent menu-item-has-children menu-item-8980"><a href="https://blog.okfn.org/latest/">All Posts</a></li> </ul> </div> <div class="footer-secondary"> <p> <a href='https://github.com/okfn/wordpress-theme/' title='Site source code'> Source code </a> available under the MIT license. </p> <p> <a class="license" rel="license" href="https://creativecommons.org/licenses/by/4.0/"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 54.95 54.95"><title>cc</title><path d="M7117.46,7140.15a26.81,26.81,0,0,1,19.63,8A26.42,26.42,0,0,1,7143,7157a29,29,0,0,1,0,21.15,25.21,25.21,0,0,1-5.86,8.71A28.23,28.23,0,0,1,7128,7193a27.35,27.35,0,0,1-10.55,2.11A26.71,26.71,0,0,1,7107,7193a28.28,28.28,0,0,1-14.94-14.94,27.44,27.44,0,0,1,0-20.93,27.57,27.57,0,0,1,6.06-9A26,26,0,0,1,7117.46,7140.15Zm0.1,5a21.29,21.29,0,0,0-15.85,6.57,23.63,23.63,0,0,0-5,7.38,21.79,21.79,0,0,0,0,17.07,23.26,23.26,0,0,0,12.29,12.22,22.29,22.29,0,0,0,17.1,0,23.7,23.7,0,0,0,7.48-5,21.11,21.11,0,0,0,6.43-15.75,22.57,22.57,0,0,0-1.67-8.64,22,22,0,0,0-4.86-7.26A21.74,21.74,0,0,0,7117.55,7145.1Zm-0.34,18-3.68,1.91a3.77,3.77,0,0,0-1.45-1.72,3.26,3.26,0,0,0-1.59-.49q-3.68,0-3.68,4.86a6,6,0,0,0,.93,3.53,3.14,3.14,0,0,0,2.75,1.33,3.44,3.44,0,0,0,3.39-2.36l3.39,1.72a8.48,8.48,0,0,1-13.15,2.06,9.76,9.76,0,0,1,0-12.51,7.77,7.77,0,0,1,5.76-2.31Q7115,7159.09,7117.21,7163.06Zm15.85,0-3.63,1.91a3.77,3.77,0,0,0-1.45-1.72,3.33,3.33,0,0,0-1.64-.49q-3.68,0-3.68,4.86a6,6,0,0,0,.93,3.53,3.14,3.14,0,0,0,2.75,1.33,3.44,3.44,0,0,0,3.39-2.36l3.43,1.72a8.44,8.44,0,0,1-3,3.16,8.63,8.63,0,0,1-10.13-1.1,9.8,9.8,0,0,1,0-12.51,7.77,7.77,0,0,1,5.77-2.31Q7130.9,7159.09,7133.06,7163.06Z" transform="translate(-7090.03 -7140.15)"></path></svg> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 54.95 54.95"><title>by</title><path d="M7117.46,7140.15a27.23,27.23,0,0,1,27.52,27.48,25.9,25.9,0,0,1-7.85,19.28,27.15,27.15,0,0,1-19.67,8.19,27.64,27.64,0,0,1-27.43-27.48,26.93,26.93,0,0,1,8.1-19.53A26.31,26.31,0,0,1,7117.46,7140.15Zm0.1,5a21.39,21.39,0,0,0-15.85,6.57,22.11,22.11,0,0,0-6.72,15.95,22.79,22.79,0,0,0,22.57,22.47,22.06,22.06,0,0,0,16-6.72,20.93,20.93,0,0,0,6.48-15.75A22.45,22.45,0,0,0,7117.55,7145.1Zm7.36,15.7V7172h-3.14v13.35h-8.54V7172h-3.14V7160.8a1.76,1.76,0,0,1,1.77-1.77h11.28a1.73,1.73,0,0,1,1.23.52A1.67,1.67,0,0,1,7124.91,7160.8Zm-11.24-7.07q0-3.88,3.83-3.88t3.83,3.88q0,3.83-3.83,3.83T7113.68,7153.74Z" transform="translate(-7090.03 -7140.15)"></path></svg> </a> Content on this site, made by <a xmlns:cc="http://creativecommons.org/ns#" href="https://okfn.org/" property="cc:attributionName" rel="cc:attributionURL">Open Knowledge Foundation</a>, is licensed under a <a rel="license" href="https://creativecommons.org/licenses/by/4.0/"> Creative Commons Attribution 4.0 International License </a>. </p> </div> </div> </footer> </div><!-- / #page--> <nav id="mmenu" class="menu-top-menu-container"><ul id="menu-top-menu-2" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17197"><a href="http://okfn.org">↪ OKFN website</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page current_page_parent menu-item-has-children menu-item-8980"><a href="https://blog.okfn.org/latest/">All Posts</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-12666"><a href="https://blog.okfn.org/submit/">Submit a guest post</a></li> </ul> </li> <li class="nav-item"> <a class="twitter nav-link" href="https://twitter.com/okfn">Twitter/X</a> </li> <li class="nav-item"> <a class="discuss nav-link" href="https://discuss.okfn.org/#">Forum</a> </li> <li class="nav-item"> <a class="linkedin nav-link" href="https://www.linkedin.com/company/open-knowledge-foundation">LinkedIn</a> </li> <li class="nav-item"> <a class="mastodon nav-link" href="https://fosstodon.org/@okfn">Mastodon</a> </li> </ul></nav><script src='https://blog.okfn.org/wp-content/themes/wordpress-theme/assets/js/main.min.js?ver=1.0.0' id='okfn-wp-js'></script> <script id="molongui-authorship-front-inline-js-extra">var molongui_authorship_front_params = {"byline_prefix":"","byline_suffix":"","byline_separator":", ","byline_last_separator":" and ","byline_link_title":"View all posts by","byline_link_class":"","byline_dom_tree":"","byline_dom_prepend":"","byline_dom_append":""};</script><script id="molongui-authorship-front-inline-js" type="text/javascript" data-file="front.d7be.min.js" data-version="4.6.18">var addBylineModifiers=function(){var r="?m_bm=true",e=document.querySelectorAll('a[href$="'+r+'"]');Array.prototype.forEach.call(e,function(e,t){e.setAttribute("href",decodeURIComponent(e.getAttribute("href")).replace(r,"")),e.insertAdjacentHTML("beforebegin",molongui_authorship_front_params.byline_prefix+" "),e.insertAdjacentHTML("afterend"," "+molongui_authorship_front_params.byline_suffix)})},decodeMultiAuthorBylines=function(){var e=document.querySelectorAll('a[href*="molongui_byline=true"]');Array.prototype.forEach.call(e,function(e,t){var r=e.getAttribute("href"),r=new URL(decodeURIComponent(r)),i=new URLSearchParams(r.search),n=r.origin,r=r.pathname,a="";if(!i.has("molongui_byline"))return!1;if(i.has("lang")&&(a="?lang="+i.get("lang")),""===e.innerText)return i.has("m_main_disabled")?e.removeAttribute("href"):e.setAttribute("href",n+r+a),!1;var o,l=[molongui_authorship_front_params.byline_separator,molongui_authorship_front_params.byline_last_separator],s=e.innerText.split(new RegExp(l.join("|"),"gi")),u=(i.has("m_main_disabled")?(o=i.getAll("mca")).unshift("molongui-disabled-link"):(p=r.replace(/^\/|\/$/g,"").split("/").pop(),r.replace(/\/$/g,"").replace(p,""),(o=i.getAll("mca")).unshift(n+r+a)),""),m=s.length,p=e.getAttribute("class"),i=e.getAttribute("target"),n=e.getAttribute("rel"),r=e.getAttribute("itemprop"),_='class="'+(p?p+" ":"")+molongui_authorship_front_params.byline_link_class+'"',d=i?'target="'+i+'"':"",h=n?'rel="'+n+'"':"",c=r?'itemprop="'+r+'"':"",u=molongui_authorship_front_params.byline_dom_prepend;for(j=0;j<m;j++){var f=s[j].trim(),b="",b=""!==molongui_authorship_front_params.byline_dom_tree?molongui_authorship_front_params.byline_dom_tree.replace("{%ma_authorName}",f):f;"molongui-disabled-link"===o[j]||j>=o.length?u+=b:u+='<a href="'+o[j]+'" '+_+" "+h+" "+c+" "+d+' title="'+molongui_authorship_front_params.byline_link_title+" "+f+'">'+b+"</a>",j<m-1-1?u+=l[0]:j<m-1&&(u+=l[1])}u+=molongui_authorship_front_params.byline_dom_append,e.insertAdjacentHTML("afterend",u),e.parentNode.removeChild(e)})},disableEmptyLinks=function(){var e=document.querySelectorAll('a[href="#molongui-disabled-link"]');Array.prototype.forEach.call(e,function(e,t){e.classList.add("molongui-disabled-link"),e.removeAttribute("href")})},initBylines=function(){addBylineModifiers(),decodeMultiAuthorBylines(),disableEmptyLinks()};document.addEventListener("DOMContentLoaded",function(){initBylines();var e=document.body;new MutationObserver(function(e){Array.prototype.forEach.call(e,function(e,t){initBylines()})}).observe(e,{attributes:!0,childList:!0,subtree:!0,characterData:!0})});</script><div data-m-brand="Molongui" data-m-id="Authorship" data-m-license="Lite" data-m-version="4.6.18" data-m-link="https://www.molongui.com/authorship/"></div></body> </html>