{"id":1188,"date":"2026-04-20T10:00:00","date_gmt":"2026-04-20T09:00:00","guid":{"rendered":"https:\/\/wade.one\/blog\/?p=1188"},"modified":"2026-04-13T15:08:23","modified_gmt":"2026-04-13T15:08:23","slug":"why-i-prefer-explicit-over-magical-defaults","status":"publish","type":"post","link":"https:\/\/wade.one\/blog\/2026\/04\/20\/why-i-prefer-explicit-over-magical-defaults\/","title":{"rendered":"Why I Prefer Explicit Over Magical Defaults"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/04\/05-switch-panel.jpg\" alt=\"Labelled aircraft switch panel\" style=\"float:right;width:280px;max-width:40%;height:auto;margin:0 0 1rem 1rem\" loading=\"lazy\" \/><\/p>\n<p>I like defaults when they save time. I do not like them when they quietly turn into policy.<\/p>\n<p>That is the bit people miss. A good default helps you move quickly at the start. A magical default helps until the day you need to understand why something is behaving the way it is. Then you are not looking at a decision anymore. You are looking at behavior that was baked in somewhere else.<\/p>\n<p>That is usually where the pain starts.<\/p>\n<h2>Defaults are fine when they are obvious<\/h2>\n<p>I am not arguing against defaults in general. They are useful. They reduce setup friction, make tools easier to try, and keep simple cases simple.<\/p>\n<p>If I am setting something up for the first time, I want the sensible thing to happen without a lot of ceremony.<\/p>\n<p>The problem is not defaults themselves. The problem is when defaults stop being convenience and start being invisible control.<\/p>\n<p>Once that happens, the system becomes harder to reason about. You think you are using the thing you configured, but you are actually using a chain of assumptions, fallbacks, and inherited values. That is fine right up until it is not.<\/p>\n<h2>Hidden policy is where the trouble lives<\/h2>\n<p>The reason I prefer explicit settings is simple: explicit settings show their work.<\/p>\n<p>If I can see the value, I can change it. If I can change it, I can test it. If I can test it, I can trust it more.<\/p>\n<p>Magical defaults often fail that chain. They hide the decision in a different layer, or in some other file, or in a platform convention nobody remembers until something breaks. Then the first question is not &#8220;what should this be?&#8221; It is &#8220;where is this even coming from?&#8221;<\/p>\n<p>That is a bad place to start.<\/p>\n<p>You end up with people fixing the symptom instead of the cause because the real configuration is too spread out or too implicit to inspect quickly. It does not feel like a big problem when the system is small. It feels annoying. Then the codebase grows, the team changes, and the annoyance turns into wasted time.<\/p>\n<h2>Explicit is usually easier to debug<\/h2>\n<p>For me, the biggest argument for explicit configuration is debugging.<\/p>\n<p>When something is explicit, you can usually trace it in a straight line. The value is there. The setting is there. The behavior makes sense once you follow the path.<\/p>\n<p>When something depends on too many defaults, the debugging path gets messy fast. You have environment variables, framework defaults, inherited values, old compatibility behavior, and maybe one special case from three versions ago that no one wants to touch.<\/p>\n<p>That kind of setup is fragile because it works by agreement, not by clarity.<\/p>\n<p>I would rather have a config file that looks slightly boring than a system that feels smart but needs a small detective story every time something changes.<\/p>\n<h2>Explicit also makes change safer<\/h2>\n<p>Another reason I prefer explicit settings is that they are easier to change safely.<\/p>\n<p>If a value is written down, the change is visible in code review. If it is hidden in a default, the change is often invisible until the behavior shifts in production or in some environment nobody checked properly.<\/p>\n<p>That matters because a lot of engineering work is really about controlling surprises. Explicitness reduces surprises. It makes the system less dependent on tribal knowledge and memory.<\/p>\n<p>That is especially important in teams. One person may know the defaults well. The rest of the team probably does not. A system that only one person understands is already more expensive than it looks.<\/p>\n<h2>The real tradeoff<\/h2>\n<p>There is a tradeoff, of course. Too much explicit configuration can be noisy. Nobody wants a wall of boilerplate for things that genuinely should be left alone.<\/p>\n<p>So I am not saying &#8220;never use defaults.&#8221; I am saying know when a default is just convenience and when it has become a hidden design decision.<\/p>\n<p>If a setting affects behavior in a meaningful way, I usually want to see it. If it affects reliability, deployment, compatibility, or data handling, I want it spelled out even more.<\/p>\n<p>That is not because I enjoy extra typing. It is because I value systems that are predictable under pressure.<\/p>\n<h2>My rule of thumb<\/h2>\n<p>If a default would be harmless to forget, I am fine with it.<\/p>\n<p>If forgetting it would change behavior, create operational risk, or make debugging harder later, I want it explicit.<\/p>\n<p>That line is not perfect, but it is a useful one. It keeps me from hiding important decisions behind convenience. And in practice, that usually makes the software easier to live with.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Defaults are useful until they become hidden policy. I usually prefer explicit configuration because it is easier to understand, easier to change, and much less surprising later.<\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"closed","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":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[13,25],"tags":[58,110,62,109,111],"class_list":["post-1188","post","type-post","status-publish","format-standard","hentry","category-programming","category-software-engineer","tag-architecture","tag-clarity","tag-configuration","tag-defaults","tag-settings"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Why I Prefer Explicit Over Magical Defaults - wade.one<\/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:\/\/wade.one\/blog\/2026\/04\/20\/why-i-prefer-explicit-over-magical-defaults\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Why I Prefer Explicit Over Magical Defaults - wade.one\" \/>\n<meta property=\"og:description\" content=\"Defaults are useful until they become hidden policy. I usually prefer explicit configuration because it is easier to understand, easier to change, and much less surprising later.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wade.one\/blog\/2026\/04\/20\/why-i-prefer-explicit-over-magical-defaults\/\" \/>\n<meta property=\"og:site_name\" content=\"wade.one\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-20T09:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/04\/05-switch-panel.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:site\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/20\\\/why-i-prefer-explicit-over-magical-defaults\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/20\\\/why-i-prefer-explicit-over-magical-defaults\\\/\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"Why I Prefer Explicit Over Magical Defaults\",\"datePublished\":\"2026-04-20T09:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/20\\\/why-i-prefer-explicit-over-magical-defaults\\\/\"},\"wordCount\":779,\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"image\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/20\\\/why-i-prefer-explicit-over-magical-defaults\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/05-switch-panel.jpg\",\"keywords\":[\"architecture\",\"clarity\",\"configuration\",\"defaults\",\"settings\"],\"articleSection\":[\"Programming\",\"Software Engineer\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/20\\\/why-i-prefer-explicit-over-magical-defaults\\\/\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/20\\\/why-i-prefer-explicit-over-magical-defaults\\\/\",\"name\":\"Why I Prefer Explicit Over Magical Defaults - wade.one\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/20\\\/why-i-prefer-explicit-over-magical-defaults\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/20\\\/why-i-prefer-explicit-over-magical-defaults\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/05-switch-panel.jpg\",\"datePublished\":\"2026-04-20T09:00:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/20\\\/why-i-prefer-explicit-over-magical-defaults\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/20\\\/why-i-prefer-explicit-over-magical-defaults\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/20\\\/why-i-prefer-explicit-over-magical-defaults\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/05-switch-panel.jpg\",\"contentUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/05-switch-panel.jpg\",\"width\":1023,\"height\":765,\"caption\":\"Labelled aircraft switch panel\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/04\\\/20\\\/why-i-prefer-explicit-over-magical-defaults\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wade.one\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Why I Prefer Explicit Over Magical Defaults\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/\",\"name\":\"wade.one\",\"description\":\"wade womersley - york based software engineer\",\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wade.one\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\",\"name\":\"Wade Womersley\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"contentUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"width\":202,\"height\":200,\"caption\":\"Wade Womersley\"},\"logo\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Why I Prefer Explicit Over Magical Defaults - wade.one","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:\/\/wade.one\/blog\/2026\/04\/20\/why-i-prefer-explicit-over-magical-defaults\/","og_locale":"en_GB","og_type":"article","og_title":"Why I Prefer Explicit Over Magical Defaults - wade.one","og_description":"Defaults are useful until they become hidden policy. I usually prefer explicit configuration because it is easier to understand, easier to change, and much less surprising later.","og_url":"https:\/\/wade.one\/blog\/2026\/04\/20\/why-i-prefer-explicit-over-magical-defaults\/","og_site_name":"wade.one","article_published_time":"2026-04-20T09:00:00+00:00","og_image":[{"url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/04\/05-switch-panel.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_creator":"@wadewomersley","twitter_site":"@wadewomersley","twitter_misc":{"Estimated reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wade.one\/blog\/2026\/04\/20\/why-i-prefer-explicit-over-magical-defaults\/#article","isPartOf":{"@id":"https:\/\/wade.one\/blog\/2026\/04\/20\/why-i-prefer-explicit-over-magical-defaults\/"},"author":{"name":"","@id":""},"headline":"Why I Prefer Explicit Over Magical Defaults","datePublished":"2026-04-20T09:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/wade.one\/blog\/2026\/04\/20\/why-i-prefer-explicit-over-magical-defaults\/"},"wordCount":779,"publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"image":{"@id":"https:\/\/wade.one\/blog\/2026\/04\/20\/why-i-prefer-explicit-over-magical-defaults\/#primaryimage"},"thumbnailUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/04\/05-switch-panel.jpg","keywords":["architecture","clarity","configuration","defaults","settings"],"articleSection":["Programming","Software Engineer"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/wade.one\/blog\/2026\/04\/20\/why-i-prefer-explicit-over-magical-defaults\/","url":"https:\/\/wade.one\/blog\/2026\/04\/20\/why-i-prefer-explicit-over-magical-defaults\/","name":"Why I Prefer Explicit Over Magical Defaults - wade.one","isPartOf":{"@id":"https:\/\/wade.one\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wade.one\/blog\/2026\/04\/20\/why-i-prefer-explicit-over-magical-defaults\/#primaryimage"},"image":{"@id":"https:\/\/wade.one\/blog\/2026\/04\/20\/why-i-prefer-explicit-over-magical-defaults\/#primaryimage"},"thumbnailUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/04\/05-switch-panel.jpg","datePublished":"2026-04-20T09:00:00+00:00","breadcrumb":{"@id":"https:\/\/wade.one\/blog\/2026\/04\/20\/why-i-prefer-explicit-over-magical-defaults\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wade.one\/blog\/2026\/04\/20\/why-i-prefer-explicit-over-magical-defaults\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wade.one\/blog\/2026\/04\/20\/why-i-prefer-explicit-over-magical-defaults\/#primaryimage","url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/04\/05-switch-panel.jpg","contentUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/04\/05-switch-panel.jpg","width":1023,"height":765,"caption":"Labelled aircraft switch panel"},{"@type":"BreadcrumbList","@id":"https:\/\/wade.one\/blog\/2026\/04\/20\/why-i-prefer-explicit-over-magical-defaults\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wade.one\/blog\/"},{"@type":"ListItem","position":2,"name":"Why I Prefer Explicit Over Magical Defaults"}]},{"@type":"WebSite","@id":"https:\/\/wade.one\/blog\/#website","url":"https:\/\/wade.one\/blog\/","name":"wade.one","description":"wade womersley - york based software engineer","publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wade.one\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3","name":"Wade Womersley","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","contentUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","width":202,"height":200,"caption":"Wade Womersley"},"logo":{"@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png"}}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":556,"url":"https:\/\/wade.one\/blog\/2011\/04\/25\/automating-implemented-methods-for-a-web-based-api\/","url_meta":{"origin":1188,"position":0},"title":"Automating &#8220;Implemented methods&#8221; for a web based API","author":"Wade","date":"April 25, 2011","format":false,"excerpt":"In my leedsphp talk last week I mentioned making a developer (and consumers) life easier by automatically implementing the allow methods functionality that your API may expose (e.g. you call PUT on a URL that only allows GET or POST). I did have an example slide there showing how to\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1170,"url":"https:\/\/wade.one\/blog\/2026\/04\/03\/why-environment-management-gets-messy-faster-than-people-expect\/","url_meta":{"origin":1188,"position":1},"title":"Why Environment Management Gets Messy Faster Than People Expect","author":"Wade","date":"April 3, 2026","format":false,"excerpt":"Environment management usually looks simple at first. Then defaults drift, secrets spread out, local setups stop matching production, and the whole thing becomes a source of avoidable mistakes.","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":964,"url":"https:\/\/wade.one\/blog\/2015\/10\/31\/how-to-help-make-the-governments-attempts-to-view-your-search-history-that-bit-harder-in-chrome\/","url_meta":{"origin":1188,"position":2},"title":"How to make the governments attempts to view your search history that bit harder (in Chrome)","author":"Wade","date":"October 31, 2015","format":false,"excerpt":"I'm sure a lot of you have heard our sorely out-of-the-times member of parliament Theresa May wants to give UK police to request users internet history + search queries without a warrant at any time. I for one am not a fan of a nanny state and especially not one\u2026","rel":"","context":"In &quot;Software&quot;","block_context":{"text":"Software","link":"https:\/\/wade.one\/blog\/category\/software\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1154,"url":"https:\/\/wade.one\/blog\/2026\/03\/25\/typescript-7-0-looks-like-the-bigger-story\/","url_meta":{"origin":1188,"position":3},"title":"TypeScript 7.0 Looks Like the Bigger Story","author":"Wade","date":"March 25, 2026","format":false,"excerpt":"TypeScript 6.0 matters, but TypeScript 7.0 looks like the real shift. The native compiler work is the part I think most teams should actually care about.","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":220,"url":"https:\/\/wade.one\/blog\/2009\/10\/15\/windows-7-allows-changing-on-logon-ui-background\/","url_meta":{"origin":1188,"position":4},"title":"Windows 7 Allows Changing on Logon UI Background","author":"Wade","date":"October 15, 2009","format":false,"excerpt":"One of those little things that help make Windows 7 one of the most user oriented OS's to come out of Redmond yet - the logon screen can be changed without any 3rd party software allowing more customisation straight out of the box. It's small, but it's nice to know\u2026","rel":"","context":"In &quot;Software&quot;","block_context":{"text":"Software","link":"https:\/\/wade.one\/blog\/category\/software\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":938,"url":"https:\/\/wade.one\/blog\/2015\/07\/06\/cloudant-ibm-query-indexing-arrays-directly-using-erlang\/","url_meta":{"origin":1188,"position":5},"title":"Cloudant (IBM) Query &#8211; Indexing arrays directly using Erlang","author":"Wade","date":"July 6, 2015","format":false,"excerpt":"Really short post this one on indexing using Cloudant Query\u00a0to index arrays in your document, e.g. documents that have a field like this: { \"ids\": [ \"alpha\", \"bravo\", \"charlie\" ] } I was reading the documentation and just could not get it to index these items using anything but the\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/wade.one\/blog\/wp-content\/uploads\/2015\/07\/SmJYeZ0r_400x400.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1188","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/comments?post=1188"}],"version-history":[{"count":3,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1188\/revisions"}],"predecessor-version":[{"id":1226,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1188\/revisions\/1226"}],"wp:attachment":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/media?parent=1188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/categories?post=1188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/tags?post=1188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}