{"id":792,"date":"2010-04-26T20:24:39","date_gmt":"2010-04-26T19:24:39","guid":{"rendered":"https:\/\/www.entropywins.wtf\/blog\/?p=792"},"modified":"2010-04-26T20:24:39","modified_gmt":"2010-04-26T19:24:39","slug":"google-summer-of-code-2010","status":"publish","type":"post","link":"https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/","title":{"rendered":"Google Summer of Code 2010"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-793\" title=\"Google\" src=\"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/04\/google_logo-300x125.jpg\" alt=\"Google\" width=\"300\" height=\"125\" \/><\/p>\n<p>Like <a href=\"https:\/\/www.entropywins.wtf\/blog\/2009\/04\/26\/google-summer-of-code-2009\/\">last year<\/a>, I\u2019ve been accepted for GSoC 2010 \u2013 yay!<\/p>\n<p>The Google Summer of Code (GSoC) is an annual program, first held from May to August 2005, in which Google  awards stipends  to hundreds of students who successfully complete a requested free software \/ open-source coding project during the summer.<\/p>\n<p>My project is creating an <strong>awesome<\/strong> extension management platform for MediaWiki,  facilitating the installation, updating, removal and configuration of  extensions. I&#8217;ll get mentored by <a href=\"http:\/\/en.wikipedia.org\/wiki\/Brion_Vibber_Day\">Brion Vibber<\/a>, which is probably the best known MediaWiki developer there is. The underneath paragraphs are out-takes of <a href=\"http:\/\/www.mediawiki.org\/wiki\/User:Jeroen_De_Dauw\/GSoC2010\">my actual proposal<\/a>.<\/p>\n<p><a href=\"http:\/\/www.mediawiki.org\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-794 alignright\" title=\"Mediawiki\" src=\"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/04\/Mediawiki.png\" alt=\"Mediawiki\" width=\"180\" height=\"170\" \/><\/a><\/p>\n<h2>Project summary<\/h2>\n<p>The goal of this project is to create an administration panel from  where wiki administrators can update, install and remove extensions. A  second goal would be to allow management of the installed extensions.<\/p>\n<p>A panel where wiki administrators can install, update and remove  extensions would have huge benefits. First of all, people would not have  to manually download an extension and put an includes in LocalSettings,  neither would they need to worry about compatibility and dependencies.  Hitting an update button also takes considerably less time then doing  the whole download routine again, and will cause people to run more up  to date extensions. Another important advantage is that people will get  extensions recommended, and can easily browse them. This way people will  find extensions that do something they wanted but did not know about,  and in general have extensions that better suit their needs. A third  advantage is that extension developers won&#8217;t need to do extreme efforts  to let people know there is a new version (and probably still only reach  part of the relevant public). This is inspired on the way Word-press  does things.<\/p>\n<p>The second goal of this project is to add setting management for  individual extensions. Currently extension settings are managed via  LocalSettings. The aim here is to completely remove the need of editing  any file directly by storing the configuration the the MediaWiki  database, and creating a GUI to modify these settings. This would  involve creating API modules so extensions can add and update their own  settings. Work on this will only be started after the first goal is  completed, and is seen as an &#8220;if time permits to-do&#8221;.<\/p>\n<p>A third, also optional, goal would be to create a management  interface for the wiki&#8217;s configuration itself. This is very similar to  the second goal, and should be kept in mind while creating the  management for extension settings. I do not expect to complete this  to-do during GSoC, but want to provide the foundations for it, so this  can be completed after the project itself is finished.<\/p>\n<h2>Deliverables<\/h2>\n<p>Note: the beneath list is a guideline only.<\/p>\n<p>Things the  administration panel should be capable of:<\/p>\n<h3>Required deliverables<\/h3>\n<ul>\n<li>Automatic checking for extension updates (and updates to MW itself)<\/li>\n<\/ul>\n<ul>\n<li>Download and install option for extension updates<\/li>\n<\/ul>\n<ul>\n<li>Download and install option for extensions that have not yet been  installed<\/li>\n<\/ul>\n<ul>\n<li>Removal of installed extensions<\/li>\n<\/ul>\n<ul>\n<li>Dependency and compatibility checking (both for installation,  removal and updating)<\/li>\n<\/ul>\n<ul>\n<li>Extension browsing\n<ul>\n<li>Recommendation of similar extensions<\/li>\n<li>Showing a list of most used and most recommended extensions<\/li>\n<li>Finding extensions by category or keywords<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>Enabling and disabling of installed extensions (so without removing  them)<\/li>\n<\/ul>\n<h3>If time permits<\/h3>\n<ul>\n<li>Management of settings specific to each extension.<\/li>\n<\/ul>\n<ul>\n<li>Management of MediaWiki configuration.<\/li>\n<\/ul>\n<h2><a href=\"http:\/\/socghop.appspot.com\/\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-795 alignright\" title=\"Google Summer of Code 2010\" src=\"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/04\/2010soclogo.jpg\" alt=\"Google Summer of Code 2010\" width=\"300\" height=\"267\" \/><\/a>Project schedule<\/h2>\n<p>I&#8217;m for a loose schedule, since I believe this is the most efficient.  I have no doubt that the to-do list will change a lot during the  project, items will be changed, moved, multiple new ones will be added,  and some might be removed. A fixes schedule would take away flexibility  and stand in the way of efficiency. One of the main reasons to have a  schedule is to ensure the student does not take the project to lightly,  end ends up making insufficient progress. I like to believe I have  clearly demonstrated that I will put considerable effort in such  projects, even without any schedule, during last yeas GSoC, and with all  the commits I&#8217;ve made since then.<\/p>\n<p>This list contains some loose planning without any dates:<\/p>\n<ul>\n<li>Discuss the best way to structure the platform with mentor, and  other relevant people.<\/li>\n<\/ul>\n<ul>\n<li>Investigate how similar functionality works with other software, and  which aspects of these implementations can be used.<\/li>\n<\/ul>\n<ul>\n<li>Get the requited knowledge of MW to be able to create the platform  in an efficient and modular fashion.<\/li>\n<\/ul>\n<ul>\n<li>Create the panel with the most basic features, then release and  document it.<\/li>\n<\/ul>\n<ul>\n<li>Add the other features, possibly spread over several releases.<\/li>\n<\/ul>\n<ul>\n<li>(Start on the extension setting management functionality.)<\/li>\n<\/ul>\n<ul>\n<li>(Start on the MediaWiki configuration management functionality.)<\/li>\n<\/ul>\n<ul>\n<li>(Add other <strong>awesome<\/strong> things to the platform.)<\/li>\n<\/ul>\n<ul>\n<li>Take over the worlds and make everyone use this platform.<\/li>\n<\/ul>\n<h2>My current planning<\/h2>\n<p>I have to finish up the <a href=\"https:\/\/www.entropywins.wtf\/blog\/tag\/Storyboard\/\">work I&#8217;m currently doing<\/a> for the <a href=\"http:\/\/wikimediafoundation.org\/wiki\/Home\">Wikimedia Foundation<\/a> before I can fully start on this, and also like to release <a href=\"http:\/\/mapping.referata.com\/wiki\/Maps\">Maps<\/a> and <a href=\"http:\/\/mapping.referata.com\/wiki\/Semantic_Maps\">Semantic Maps<\/a> 0.6 before then. This will probably be in two to tree weeks from now.<\/p>\n<p>Also see the <a href=\"http:\/\/techblog.wikimedia.org\/2010\/04\/wmf-announces-our-google-summer-of-code-2010-projects\/\">Wikimedia tech blog post<\/a> which links to the other accepted projects.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Like last year, I\u2019ve been accepted for GSoC 2010 \u2013 yay! The Google Summer of Code (GSoC) is an annual&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[7],"tags":[92,110,115,116,156,181,195,283,285],"class_list":["post-792","post","type-post","status-publish","format-standard","hentry","category-programming","tag-extension-management","tag-google","tag-gsoc","tag-gsoc-2010","tag-mediawiki","tag-open-source","tag-php","tag-wiki","tag-wikimedia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Google Summer of Code 2010 - Blog of Jeroen De Dauw<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Google Summer of Code 2010 - Blog of Jeroen De Dauw\" \/>\n<meta property=\"og:description\" content=\"Like last year, I\u2019ve been accepted for GSoC 2010 \u2013 yay! The Google Summer of Code (GSoC) is an annual&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog of Jeroen De Dauw\" \/>\n<meta property=\"article:published_time\" content=\"2010-04-26T19:24:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/04\/google_logo-300x125.jpg\" \/>\n<meta name=\"author\" content=\"Jeroen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/JeroenDeDauw\" \/>\n<meta name=\"twitter:site\" content=\"@JeroenDeDauw\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeroen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/04\\\/26\\\/google-summer-of-code-2010\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/04\\\/26\\\/google-summer-of-code-2010\\\/\"},\"author\":{\"name\":\"Jeroen\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"headline\":\"Google Summer of Code 2010\",\"datePublished\":\"2010-04-26T19:24:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/04\\\/26\\\/google-summer-of-code-2010\\\/\"},\"wordCount\":846,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"image\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/04\\\/26\\\/google-summer-of-code-2010\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/04\\\/google_logo-300x125.jpg\",\"keywords\":[\"Extension management\",\"Google\",\"GSoC\",\"GSoC 2010\",\"MediaWiki\",\"Open Source\",\"PHP\",\"Wiki\",\"Wikimedia\"],\"articleSection\":[\"Programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/04\\\/26\\\/google-summer-of-code-2010\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/04\\\/26\\\/google-summer-of-code-2010\\\/\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/04\\\/26\\\/google-summer-of-code-2010\\\/\",\"name\":\"Google Summer of Code 2010 - Blog of Jeroen De Dauw\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/04\\\/26\\\/google-summer-of-code-2010\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/04\\\/26\\\/google-summer-of-code-2010\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/04\\\/google_logo-300x125.jpg\",\"datePublished\":\"2010-04-26T19:24:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/04\\\/26\\\/google-summer-of-code-2010\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/04\\\/26\\\/google-summer-of-code-2010\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/04\\\/26\\\/google-summer-of-code-2010\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/04\\\/google_logo-300x125.jpg\",\"contentUrl\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/04\\\/google_logo-300x125.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/04\\\/26\\\/google-summer-of-code-2010\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Google Summer of Code 2010\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/\",\"name\":\"Entropy Wins\",\"description\":\"A blog on Software Architecture, Design and Craftsmanship\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\",\"name\":\"Jeroen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"caption\":\"Jeroen\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/jeroendedauw\\\/\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/JeroenDeDauw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Google Summer of Code 2010 - Blog of Jeroen De Dauw","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/","og_locale":"en_US","og_type":"article","og_title":"Google Summer of Code 2010 - Blog of Jeroen De Dauw","og_description":"Like last year, I\u2019ve been accepted for GSoC 2010 \u2013 yay! The Google Summer of Code (GSoC) is an annual&hellip;","og_url":"https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/","og_site_name":"Blog of Jeroen De Dauw","article_published_time":"2010-04-26T19:24:39+00:00","og_image":[{"url":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/04\/google_logo-300x125.jpg","type":"","width":"","height":""}],"author":"Jeroen","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/JeroenDeDauw","twitter_site":"@JeroenDeDauw","twitter_misc":{"Written by":"Jeroen","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/#article","isPartOf":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/"},"author":{"name":"Jeroen","@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"headline":"Google Summer of Code 2010","datePublished":"2010-04-26T19:24:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/"},"wordCount":846,"commentCount":2,"publisher":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"image":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/#primaryimage"},"thumbnailUrl":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/04\/google_logo-300x125.jpg","keywords":["Extension management","Google","GSoC","GSoC 2010","MediaWiki","Open Source","PHP","Wiki","Wikimedia"],"articleSection":["Programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/","url":"https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/","name":"Google Summer of Code 2010 - Blog of Jeroen De Dauw","isPartOf":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/#primaryimage"},"image":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/#primaryimage"},"thumbnailUrl":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/04\/google_logo-300x125.jpg","datePublished":"2010-04-26T19:24:39+00:00","breadcrumb":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/#primaryimage","url":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/04\/google_logo-300x125.jpg","contentUrl":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/04\/google_logo-300x125.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/04\/26\/google-summer-of-code-2010\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.entropywins.wtf\/blog\/"},{"@type":"ListItem","position":2,"name":"Google Summer of Code 2010"}]},{"@type":"WebSite","@id":"https:\/\/www.entropywins.wtf\/blog\/#website","url":"https:\/\/www.entropywins.wtf\/blog\/","name":"Entropy Wins","description":"A blog on Software Architecture, Design and Craftsmanship","publisher":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.entropywins.wtf\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7","name":"Jeroen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","caption":"Jeroen"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g"},"sameAs":["https:\/\/www.linkedin.com\/in\/jeroendedauw\/","https:\/\/x.com\/https:\/\/twitter.com\/JeroenDeDauw"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p74TBF-cM","jetpack-related-posts":[{"id":941,"url":"https:\/\/www.entropywins.wtf\/blog\/2010\/08\/07\/distribution-extension-for-mediawiki\/","url_meta":{"origin":792,"position":0},"title":"Distribution extension for MediaWiki","author":"Jeroen","date":"2010-08-07","format":false,"excerpt":"With only 2 days till the suggested Google Summer of Code 'pencils down' date, and a week longer until the firm one, I'm using my remaining time to get some basic functionality working for my GSoC project. I've started creating a new extension called Distribution that will provide an API\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":925,"url":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/","url_meta":{"origin":792,"position":1},"title":"MediaWiki Deployment: Modifying the new installer","author":"Jeroen","date":"2010-07-22","format":false,"excerpt":"I got a new diagram!!!1!11!! It's based on my previous one, but slightly more elaborate, and a lot less messy, as I now used Dia to create it :) Legend: Striped lines: Existing components where code will be copied from, or based upon. Full lines: Components of the complete deployment\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"MediaWiki deployment diagram","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/MwDeployment-1024x389.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/MwDeployment-1024x389.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/MwDeployment-1024x389.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/MwDeployment-1024x389.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":11,"url":"https:\/\/www.entropywins.wtf\/blog\/2009\/06\/23\/exam-and-gsoc-weekend\/","url_meta":{"origin":792,"position":2},"title":"Exam and GSoC weekend","author":"Jeroen","date":"2009-06-23","format":false,"excerpt":"Even though I\u2019m in the middle of my exam period, I was able to work on my Google Summer of Code project this weekend since tomorrow, Monday, I have exam informatics (theory). I need to get -6.5% somehow to fail for informatics this year \u2013 lol. After I finished to\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"MediaWiki","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/06\/mediawiki.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":7,"url":"https:\/\/www.entropywins.wtf\/blog\/2009\/04\/26\/google-summer-of-code-2009\/","url_meta":{"origin":792,"position":3},"title":"Google Summer of Code","author":"Jeroen","date":"2009-04-26","format":false,"excerpt":"I\u2019ve been accepted for GSoC 2009 - yay! This will enable me to work over 2 months on open source while getting payed by Google. For more info about GSoC, check out the official GSoC site. I\u2019ll be working on in my opinion one of the most exciting open source\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"google_logo","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/04\/google_logo-300x125.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":852,"url":"https:\/\/www.entropywins.wtf\/blog\/2010\/06\/10\/extension-management-platform\/","url_meta":{"origin":792,"position":4},"title":"Extension management platform","author":"Jeroen","date":"2010-06-10","format":false,"excerpt":"After doing a pile of research on how to best create an extension management platform for MediaWiki as my Google Summer of Code project, I realized that a lot of the work that I wanted to do was already done in some form or another, and decided to somewhat augment\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1113,"url":"https:\/\/www.entropywins.wtf\/blog\/2012\/03\/05\/semantic-mediawiki-google-summer-of-code\/","url_meta":{"origin":792,"position":5},"title":"Semantic MediaWiki: Google Summer of Code","author":"Jeroen","date":"2012-03-05","format":false,"excerpt":"Are you a student, do you want to have an awesome job during the holiday and do you want to make an impact on the world? Then definitly check out the amazing Google Summer of Code program! In a nutshell: Google Summer of Code (or GSoC for short) is a\u2026","rel":"","context":"In \"GSoC\"","block_context":{"text":"GSoC","link":"https:\/\/www.entropywins.wtf\/blog\/tag\/gsoc\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/792","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/comments?post=792"}],"version-history":[{"count":0,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/792\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/media?parent=792"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/categories?post=792"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/tags?post=792"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}