{"id":523,"date":"2009-11-03T22:12:10","date_gmt":"2009-11-03T21:12:10","guid":{"rendered":"https:\/\/www.entropywins.wtf\/blog\/?p=523"},"modified":"2009-11-03T22:12:10","modified_gmt":"2009-11-03T21:12:10","slug":"progressbar-with-percentage","status":"publish","type":"post","link":"https:\/\/www.entropywins.wtf\/blog\/2009\/11\/03\/progressbar-with-percentage\/","title":{"rendered":"Progressbar with percentage"},"content":{"rendered":"<p>Last few months I haven&#8217;t really done a lot of .Net work, apart from the <a href=\"https:\/\/www.entropywins.wtf\/blog\/tag\/downloadlib\/\" target=\"_blank\">.Net DownloadLib project<\/a>, and therefore also not released anything. After someone on <a href=\"http:\/\/www.codeproject.com\/\" target=\"_blank\">The Code Project<\/a> gave me a poke on an update to my custom made <a href=\"http:\/\/www.codeproject.com\/KB\/progress\/progressbar-percentage.aspx\" target=\"_blank\">ProgressbarWithPercentage component<\/a> I had promised, I made an update to that component and released it.<\/p>\n<p>ProgressbarWithPercentage is not at version 1.0.10. The changes I made since the last release are:<\/p>\n<ul>\n<li>Style support for XP and earlier<\/li>\n<li>You can now customize the display format of the percentage<\/li>\n<\/ul>\n<p>I also updated the demo, to include both an XP and a Vista\/Win7 layout, and added a property grid that enables you to change the properties of the progress bars at runtime. On top of that, I decided it was a good idea to create a repository for this component <a href=\"http:\/\/sourceforge.net\/projects\/pprogressbar\/\" target=\"_blank\">on SourceForge<\/a>, where you can now freely download and browse the code. I&#8217;ve send an update request to TCP with a new version of my article, but this has yet to appear.<\/p>\n<p><strong>Downloads:<\/strong><\/p>\n<ul>\n<li><a href=\"http:\/\/code.bn2vs.com\/viewtopic.php?mode=attach&amp;id=214\" target=\"_blank\">Demo applications<\/a><\/li>\n<li><a href=\"http:\/\/code.bn2vs.com\/viewtopic.php?mode=attach&amp;id=215\" target=\"_blank\">Source project<\/a><\/li>\n<li><a href=\"http:\/\/pprogressbar.svn.sourceforge.net\/viewvc\/pprogressbar\/\" target=\"_blank\">SVN repo<\/a><\/li>\n<\/ul>\n<p>Some nice screenshots of the new demo (click to enlarge):<\/p>\n<p><a href=\"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/11\/pBarPercentage7.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-524 alignnone\" title=\"ProgressbarWithPercentage v1.0.10 Vista\/Win7 demo\" src=\"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/11\/pBarPercentage7.jpg\" alt=\"ProgressbarWithPercentage v1.0.10 Vista\/Win7 demo\" width=\"605\" height=\"254\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/11\/pBarPercentageXP.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-525\" title=\"ProgressbarWithPercentage v1.0.10 XP\/earlier demo\" src=\"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/11\/pBarPercentageXP.jpg\" alt=\"ProgressbarWithPercentage v1.0.10 XP\/earlier demo\" width=\"605\" height=\"255\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last few months I haven&#8217;t really done a lot of .Net work, apart from the .Net DownloadLib project, and therefore&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,67,201,239,258,273],"class_list":["post-523","post","type-post","status-publish","format-standard","hentry","category-programming","tag-net","tag-component","tag-progressbar","tag-sourceforge","tag-the-code-project","tag-vb"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Progressbar with percentage - 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\/11\/03\/progressbar-with-percentage\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Progressbar with percentage - Blog of Jeroen De Dauw\" \/>\n<meta property=\"og:description\" content=\"Last few months I haven&#8217;t really done a lot of .Net work, apart from the .Net DownloadLib project, and therefore&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.entropywins.wtf\/blog\/2009\/11\/03\/progressbar-with-percentage\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog of Jeroen De Dauw\" \/>\n<meta property=\"article:published_time\" content=\"2009-11-03T21:12:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/11\/pBarPercentage7.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=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/11\\\/03\\\/progressbar-with-percentage\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/11\\\/03\\\/progressbar-with-percentage\\\/\"},\"author\":{\"name\":\"Jeroen\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"headline\":\"Progressbar with percentage\",\"datePublished\":\"2009-11-03T21:12:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/11\\\/03\\\/progressbar-with-percentage\\\/\"},\"wordCount\":191,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"image\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/11\\\/03\\\/progressbar-with-percentage\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/11\\\/pBarPercentage7.jpg\",\"keywords\":[\".Net\",\"Component\",\"Progressbar\",\"SourceForge\",\"The Code Project\",\"VB\"],\"articleSection\":[\"Programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/11\\\/03\\\/progressbar-with-percentage\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/11\\\/03\\\/progressbar-with-percentage\\\/\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/11\\\/03\\\/progressbar-with-percentage\\\/\",\"name\":\"Progressbar with percentage - Blog of Jeroen De Dauw\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/11\\\/03\\\/progressbar-with-percentage\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/11\\\/03\\\/progressbar-with-percentage\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/11\\\/pBarPercentage7.jpg\",\"datePublished\":\"2009-11-03T21:12:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/11\\\/03\\\/progressbar-with-percentage\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/11\\\/03\\\/progressbar-with-percentage\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/11\\\/03\\\/progressbar-with-percentage\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/11\\\/pBarPercentage7.jpg\",\"contentUrl\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/11\\\/pBarPercentage7.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/11\\\/03\\\/progressbar-with-percentage\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Progressbar with percentage\"}]},{\"@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":"Progressbar with percentage - 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\/11\/03\/progressbar-with-percentage\/","og_locale":"en_US","og_type":"article","og_title":"Progressbar with percentage - Blog of Jeroen De Dauw","og_description":"Last few months I haven&#8217;t really done a lot of .Net work, apart from the .Net DownloadLib project, and therefore&hellip;","og_url":"https:\/\/www.entropywins.wtf\/blog\/2009\/11\/03\/progressbar-with-percentage\/","og_site_name":"Blog of Jeroen De Dauw","article_published_time":"2009-11-03T21:12:10+00:00","og_image":[{"url":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/11\/pBarPercentage7.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":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/11\/03\/progressbar-with-percentage\/#article","isPartOf":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/11\/03\/progressbar-with-percentage\/"},"author":{"name":"Jeroen","@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"headline":"Progressbar with percentage","datePublished":"2009-11-03T21:12:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/11\/03\/progressbar-with-percentage\/"},"wordCount":191,"commentCount":0,"publisher":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"image":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/11\/03\/progressbar-with-percentage\/#primaryimage"},"thumbnailUrl":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/11\/pBarPercentage7.jpg","keywords":[".Net","Component","Progressbar","SourceForge","The Code Project","VB"],"articleSection":["Programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.entropywins.wtf\/blog\/2009\/11\/03\/progressbar-with-percentage\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/11\/03\/progressbar-with-percentage\/","url":"https:\/\/www.entropywins.wtf\/blog\/2009\/11\/03\/progressbar-with-percentage\/","name":"Progressbar with percentage - Blog of Jeroen De Dauw","isPartOf":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/11\/03\/progressbar-with-percentage\/#primaryimage"},"image":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/11\/03\/progressbar-with-percentage\/#primaryimage"},"thumbnailUrl":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/11\/pBarPercentage7.jpg","datePublished":"2009-11-03T21:12:10+00:00","breadcrumb":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/11\/03\/progressbar-with-percentage\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.entropywins.wtf\/blog\/2009\/11\/03\/progressbar-with-percentage\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/11\/03\/progressbar-with-percentage\/#primaryimage","url":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/11\/pBarPercentage7.jpg","contentUrl":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/11\/pBarPercentage7.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/11\/03\/progressbar-with-percentage\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.entropywins.wtf\/blog\/"},{"@type":"ListItem","position":2,"name":"Progressbar with percentage"}]},{"@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-8r","jetpack-related-posts":[{"id":1165,"url":"https:\/\/www.entropywins.wtf\/blog\/2013\/12\/23\/wikibase-datamodel-released\/","url_meta":{"origin":523,"position":0},"title":"Wikibase DataModel released!","author":"Jeroen","date":"2013-12-23","format":false,"excerpt":"I\u2019m happy to announce the 0.6 release of Wikibase DataModel. This is the first real release of this component. DataModel? Wikibase is the software behind Wikidata.org. At its core, this software is about describing entities. Entities are collections of claims, which can have qualifiers, references and values of various different\u2026","rel":"","context":"In \"Component\"","block_context":{"text":"Component","link":"https:\/\/www.entropywins.wtf\/blog\/tag\/component\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1453,"url":"https:\/\/www.entropywins.wtf\/blog\/2015\/08\/11\/wikibase-datamodel-services\/","url_meta":{"origin":523,"position":1},"title":"Wikibase DataModel Services","author":"Jeroen","date":"2015-08-11","format":false,"excerpt":"I'm happy to announce the immediate availability of a new Wikibase library: Wikibase DataModel Services (which I'll in this blog post refer to as DMS). Rationale behind the library The main motivation for introducing this new library is to reduce technical debt and draw more solid architectural boundaries in the\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":1141,"url":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/01\/new-database-abstraction-layer-for-mediawiki\/","url_meta":{"origin":523,"position":2},"title":"New database abstraction layer for MediaWiki","author":"Jeroen","date":"2013-11-01","format":false,"excerpt":"Disclaimer: the views and opinions expressed in this blog post are my own, and do not reflect those of Wikmedia Germany or my colleagues. At Wikimedia Germany, we\u2019ve created a library that acts as database abstraction layer and which is largely build on top of the MediaWiki database abstraction layer.\u2026","rel":"","context":"With 1 comment","block_context":{"text":"With 1 comment","link":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/01\/new-database-abstraction-layer-for-mediawiki\/#comments"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2330,"url":"https:\/\/www.entropywins.wtf\/blog\/2018\/08\/30\/base-libraries-should-be-stable\/","url_meta":{"origin":523,"position":3},"title":"Base Libraries Should be Stable","author":"Jeroen","date":"2018-08-30","format":false,"excerpt":"In this post I go over the principles that govern package (library) design and one specific issue I have come across several times. Robert C Martin has proposed six Package Principles. Personally I find the (linked) description on Wikipedia rather confusing, especially if you do not already understand the principles.\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2018\/08\/lib-hierarchy-used-by-app.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2018\/08\/lib-hierarchy-used-by-app.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2018\/08\/lib-hierarchy-used-by-app.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2018\/08\/lib-hierarchy-used-by-app.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":1363,"url":"https:\/\/www.entropywins.wtf\/blog\/2014\/07\/12\/component-design\/","url_meta":{"origin":523,"position":4},"title":"Component design","author":"Jeroen","date":"2014-07-12","format":false,"excerpt":"This week I gave a presentation titled \"Component design: Getting cohesion and coupling right\" at Wikimedia Deutschland. Components are a level of organization, in between classes and layers. They are an important mechanism in avoiding monolithic designs and big balls of mud. While everyone can recognize a component when they\u2026","rel":"","context":"In &quot;Software&quot;","block_context":{"text":"Software","link":"https:\/\/www.entropywins.wtf\/blog\/category\/software\/"},"img":{"alt_text":"slides-0-first","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2014\/07\/slides-0-first-1024x547.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2014\/07\/slides-0-first-1024x547.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2014\/07\/slides-0-first-1024x547.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":1287,"url":"https:\/\/www.entropywins.wtf\/blog\/2014\/03\/20\/status-of-the-new-wikibase-deserialization-code\/","url_meta":{"origin":523,"position":5},"title":"Status of the new Wikibase (de)serialization code","author":"Jeroen","date":"2014-03-20","format":false,"excerpt":"A quick update on the status of the new serialization and deserialization code for Wikibase, the software behind Wikidata. For a long time now, we've had two serialization formats. One intended for external usage, and one intended for internal usage. The former one is the format our web API uses.\u2026","rel":"","context":"In &quot;Software&quot;","block_context":{"text":"Software","link":"https:\/\/www.entropywins.wtf\/blog\/category\/software\/"},"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\/523","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=523"}],"version-history":[{"count":0,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/523\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/media?parent=523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/categories?post=523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/tags?post=523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}