{"id":334,"date":"2009-08-21T02:37:23","date_gmt":"2009-08-21T01:37:23","guid":{"rendered":"https:\/\/www.entropywins.wtf\/blog\/?p=334"},"modified":"2009-08-21T02:37:23","modified_gmt":"2009-08-21T01:37:23","slug":"closing-zend-and-opening-visual-studio","status":"publish","type":"post","link":"https:\/\/www.entropywins.wtf\/blog\/2009\/08\/21\/closing-zend-and-opening-visual-studio\/","title":{"rendered":"Closing Zend and opening Visual Studio"},"content":{"rendered":"<p>Now the <a href=\"https:\/\/www.entropywins.wtf\/blog\/2009\/04\/26\/google-summer-of-code-2009\/\" target=\"_blank\">Google Summer of Code<\/a> coding period has finished, I can divide my attention between multiple projects again. Since I&#8217;ve been doing PHP and JavaScript only for over 2 months now, I&#8217;m starting off with taking a PHP-break. This means I won&#8217;t do any development of mayor new features for <a href=\"http:\/\/www.mediawiki.org\/wiki\/Extension:Maps#Description\" target=\"_blank\">Maps<\/a> or <a href=\"http:\/\/www.mediawiki.org\/wiki\/Extension:Semantic_Maps#Description\" target=\"_blank\">Semantic Maps<\/a>, and definitely won&#8217;t work on any other PHP project. Of course I&#8217;ll still ensure bugs get fixed for my mapping extensions, and help people out with code when needed, but that&#8217;s about it. So basically I&#8217;m closing my Zend Studio, which has become one of my most used applications in the last months, and starting my Visual Studio again. Now I think of it, this is really awkward. I used to start my VS practically every time I booted my computer for over a year, and then only opened it a handful of times in a 2 month period.<\/p>\n<p>So, what am I going to work on now? One of my last projects before I started GSoC was a <a href=\"http:\/\/code.bn2vs.com\/viewtopic.php?t=150\" target=\"_blank\">VB.Net background file downloader<\/a>, of which I released <a href=\"http:\/\/www.codeproject.com\/KB\/vb\/FileDownloader.aspx\" target=\"_blank\">an article on The Code Project<\/a>, and later on created <a href=\"http:\/\/www.codeproject.com\/KB\/cs\/BackgroundFileDownloader.aspx\" target=\"_blank\">a C# version<\/a>. I got quite some positive feedback on this project by people, although it was initially created with the sole purpose of helping that needed a simple downloader someone out, to improve my own skills, and to demonstrate how to create a simple to implement downloader. I&#8217;m now continuing this project, by rewriting it from scratch, to both add some mayor new features, and mess around with some multi-threading stuff I&#8217;ve been wanting to try out for months now.<\/p>\n<p>The mayor new features that will be added are simultaneous downloads (the current classes only support one download at a time), segmented downloads (woot!), download priorities and bandwidth limitation options. This will require a nice OOP approach, with some more advanced multi-threading. I&#8217;m basing part of my code on <a href=\"http:\/\/www.codeproject.com\/KB\/IP\/MyDownloader.aspx\" target=\"_blank\">MyDownloader<\/a>, an extremely nice C# downloader, which has quite some more functionality then what I&#8217;m doing. It&#8217;s more extensive then required for most people though, and not all that easy to implement. I also don&#8217;t really agree with some naming choices, and it lacks both code docs for devs that want to modify it, and devs that want to implement it. So clearly, I&#8217;ll put a lot of effort in keeping the new project as small and to-the-point as possible, and pay attention to easy of implementation, and usability. Another obvious difference is that this project is in VB.Net and not C#.Net. This has more advantages then disadvantages IMHO. If the project is compiled to a .dll or is used in a multi-project solution, it simply doesn&#8217;t matter what language it uses. A lot of casual programmers don&#8217;t know how to handle either, and the majority of these uses VB.Net, and not C#. And the ones that do know C# are more likely to know VB.Net then the other way around.<\/p>\n<p>I&#8217;ve created a project on <a href=\"http:\/\/sourceforge.net\" target=\"_blank\">SourceForge<\/a> to host the code, and be able to commit to <a href=\"http:\/\/download-lib.svn.sourceforge.net\/viewvc\/download-lib\/\" target=\"_blank\">the project&#8217;s SVN<\/a>. Since the project now contains multiple classes, I renamed it to <a href=\"https:\/\/sourceforge.net\/projects\/download-lib\/\" target=\"_blank\">.Net DownloadLib<\/a>.<\/p>\n<p>After that project I&#8217;m planing to put some real effort into my mapping extension for MediaWiki again, and possibly to have a look at Python and Ruby. When school starts again, somewhere half way through September, some new project opportunities will probably arise for me, but I guess I&#8217;ll see that then. I&#8217;m also looking forward to &#8216;learning to program&#8217; at school, which is destined to give me some great laughs. Luckily for me I&#8217;ll have to learn C++ at university, so I won&#8217;t be totally bored with it. I hope they don&#8217;t drive the low-level aspects of the language to far, since that&#8217;s pretty useless in today&#8217;s world IMHO.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Now the Google Summer of Code coding period has finished, I can divide my attention between multiple projects again. Since&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":[9,55,62,80,181,206,220,239,253,258,273,278,304],"class_list":["post-334","post","type-post","status-publish","format-standard","hentry","category-programming","tag-net","tag-c","tag-class-lirary","tag-downloadlib","tag-open-source","tag-python","tag-ruby","tag-sourceforge","tag-svn","tag-the-code-project","tag-vb","tag-visual-studio","tag-zend-studio"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Closing Zend and opening Visual Studio - 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\/2009\/08\/21\/closing-zend-and-opening-visual-studio\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Closing Zend and opening Visual Studio - Blog of Jeroen De Dauw\" \/>\n<meta property=\"og:description\" content=\"Now the Google Summer of Code coding period has finished, I can divide my attention between multiple projects again. Since&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.entropywins.wtf\/blog\/2009\/08\/21\/closing-zend-and-opening-visual-studio\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog of Jeroen De Dauw\" \/>\n<meta property=\"article:published_time\" content=\"2009-08-21T01:37:23+00:00\" \/>\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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/08\\\/21\\\/closing-zend-and-opening-visual-studio\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/08\\\/21\\\/closing-zend-and-opening-visual-studio\\\/\"},\"author\":{\"name\":\"Jeroen\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"headline\":\"Closing Zend and opening Visual Studio\",\"datePublished\":\"2009-08-21T01:37:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/08\\\/21\\\/closing-zend-and-opening-visual-studio\\\/\"},\"wordCount\":670,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"keywords\":[\".Net\",\"C#\",\"Class lirary\",\"DownloadLib\",\"Open Source\",\"Python\",\"Ruby\",\"SourceForge\",\"SVN\",\"The Code Project\",\"VB\",\"Visual Studio\",\"Zend Studio\"],\"articleSection\":[\"Programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/08\\\/21\\\/closing-zend-and-opening-visual-studio\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/08\\\/21\\\/closing-zend-and-opening-visual-studio\\\/\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/08\\\/21\\\/closing-zend-and-opening-visual-studio\\\/\",\"name\":\"Closing Zend and opening Visual Studio - Blog of Jeroen De Dauw\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#website\"},\"datePublished\":\"2009-08-21T01:37:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/08\\\/21\\\/closing-zend-and-opening-visual-studio\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/08\\\/21\\\/closing-zend-and-opening-visual-studio\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/08\\\/21\\\/closing-zend-and-opening-visual-studio\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Closing Zend and opening Visual Studio\"}]},{\"@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":"Closing Zend and opening Visual Studio - 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\/2009\/08\/21\/closing-zend-and-opening-visual-studio\/","og_locale":"en_US","og_type":"article","og_title":"Closing Zend and opening Visual Studio - Blog of Jeroen De Dauw","og_description":"Now the Google Summer of Code coding period has finished, I can divide my attention between multiple projects again. Since&hellip;","og_url":"https:\/\/www.entropywins.wtf\/blog\/2009\/08\/21\/closing-zend-and-opening-visual-studio\/","og_site_name":"Blog of Jeroen De Dauw","article_published_time":"2009-08-21T01:37:23+00:00","author":"Jeroen","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/JeroenDeDauw","twitter_site":"@JeroenDeDauw","twitter_misc":{"Written by":"Jeroen","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/08\/21\/closing-zend-and-opening-visual-studio\/#article","isPartOf":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/08\/21\/closing-zend-and-opening-visual-studio\/"},"author":{"name":"Jeroen","@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"headline":"Closing Zend and opening Visual Studio","datePublished":"2009-08-21T01:37:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/08\/21\/closing-zend-and-opening-visual-studio\/"},"wordCount":670,"commentCount":0,"publisher":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"keywords":[".Net","C#","Class lirary","DownloadLib","Open Source","Python","Ruby","SourceForge","SVN","The Code Project","VB","Visual Studio","Zend Studio"],"articleSection":["Programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.entropywins.wtf\/blog\/2009\/08\/21\/closing-zend-and-opening-visual-studio\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/08\/21\/closing-zend-and-opening-visual-studio\/","url":"https:\/\/www.entropywins.wtf\/blog\/2009\/08\/21\/closing-zend-and-opening-visual-studio\/","name":"Closing Zend and opening Visual Studio - Blog of Jeroen De Dauw","isPartOf":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#website"},"datePublished":"2009-08-21T01:37:23+00:00","breadcrumb":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/08\/21\/closing-zend-and-opening-visual-studio\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.entropywins.wtf\/blog\/2009\/08\/21\/closing-zend-and-opening-visual-studio\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/08\/21\/closing-zend-and-opening-visual-studio\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.entropywins.wtf\/blog\/"},{"@type":"ListItem","position":2,"name":"Closing Zend and opening Visual Studio"}]},{"@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-5o","jetpack-related-posts":[{"id":202,"url":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/16\/zend-studio-6-1-2\/","url_meta":{"origin":334,"position":0},"title":"Zend Studio 6.1.2","author":"Jeroen","date":"2009-07-16","format":false,"excerpt":"While working on Maps and Semantic Maps, I needed to refactor some class names, and tried to use the refactor tool of Zend Studio, the PHP IDE of my choice. The only thing that happened was an error popping up though. After some searching on the web and posting that\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"Zend Studio - A popular PHP IDE","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/07\/zendstudio_logo.gif?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":277,"url":"https:\/\/www.entropywins.wtf\/blog\/2009\/08\/01\/zend-studio-7\/","url_meta":{"origin":334,"position":1},"title":"Zend Studio 7","author":"Jeroen","date":"2009-08-01","format":false,"excerpt":"Zend Studio 7.0 is the next generation of our professional-grade PHP application development environment. It has been designed to maximize developer productivity by enabling you to develop and maintain code faster, solve application problems quickly and improve team collaboration. - zend.com I just noticed, the new Zend Studio, 7.0, has\u2026","rel":"","context":"In \"Eclipse\"","block_context":{"text":"Eclipse","link":"https:\/\/www.entropywins.wtf\/blog\/tag\/eclipse\/"},"img":{"alt_text":"Zend Studio 7, a PHP IDE","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/08\/studio7-release-product-main.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/08\/studio7-release-product-main.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/08\/studio7-release-product-main.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":906,"url":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/17\/zend-server-for-more-awesomeness\/","url_meta":{"origin":334,"position":2},"title":"Zend Server for more awesomeness","author":"Jeroen","date":"2010-07-17","format":false,"excerpt":"About a year back I decided I had to change my development environment from working on a remote server with a simple text editor to something more solid, if I wanted to do serious PHP development. I went for Eclipse as IDE, which is without a doubt the most awesome\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"Eclipse, the AWESOME IDE","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/eclipse-logo.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":48,"url":"https:\/\/www.entropywins.wtf\/blog\/2009\/06\/24\/semantic-maps-split\/","url_meta":{"origin":334,"position":3},"title":"Semantic Maps split","author":"Jeroen","date":"2009-06-24","format":false,"excerpt":"Two days ago, me and Yaron decided, after getting the suggestion from Sergey Chernyshev, the author of the Google Geocoder extension, to split the Semantic Maps extension into two parts. The first part will contain all non semantic elements, like the parser functions, and geocoding related code, and will be\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":904,"url":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/18\/mediawiki-testing-with-phpunit\/","url_meta":{"origin":334,"position":4},"title":"MediaWiki testing with PHPUnit","author":"Jeroen","date":"2010-07-18","format":false,"excerpt":"I figured having some unit tests for Maps, the MediaWiki extension to work with geographical data and display it by embedding dynamic maps into your articles, would be beneficial to it's quality. It's pretty hard to try cover all possible use cases with manual tests, and consumes a lot of\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"PEAR logo","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/pearsmall.gif?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1094,"url":"https:\/\/www.entropywins.wtf\/blog\/2011\/05\/05\/some-fun-with-python\/","url_meta":{"origin":334,"position":5},"title":"Some fun with Python","author":"Jeroen","date":"2011-05-05","format":false,"excerpt":"Yesterday I for some reason decided to have some fun with Python by writing a simple script to Find Dead Translation keys in MediaWiki extensions. The resulting script, titled FDT, can be found on GitHub, and is licenced under the GNU GPL v3+ (yes, the later probably comes as a\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"FDT (Find\/Fix Dead Translations) script running on my laptop for the Maps MediaWiki extension","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2011\/05\/fdt.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2011\/05\/fdt.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2011\/05\/fdt.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2011\/05\/fdt.png?resize=700%2C400&ssl=1 2x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/334","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=334"}],"version-history":[{"count":0,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/334\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/media?parent=334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/categories?post=334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/tags?post=334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}