{
  "author" : {
    "name" : "Douglas Hill",
    "url" : "https://douglashill.co/"
  },
  "feed_url" : "https://douglashill.co/micro-feed.json",
  "home_page_url" : "https://douglashill.co/",
  "items" : [
    {
      "content_html" : "<p>lol special announcement on the train from Brussels to London now saying their Wi-Fi is “not the best” and to please stream the football using your own 4G/5G connection instead.</p>\n",
      "date_published" : "2026-07-15T21:07:30+02:00",
      "id" : "https://douglashill.co/2026/stream-the-football/",
      "url" : "https://douglashill.co/2026/stream-the-football/"
    },
    {
      "content_html" : "<p>Heading to Berlin today for <a href=\"https://www.localfirstconf.com/\">Local First Conference</a>. It‘s a software conference themed around goals rather than technologies. Very interested to see how this goes and what other people there are building.</p>\n",
      "date_published" : "2026-07-08T08:17:18+02:00",
      "id" : "https://douglashill.co/2026/heading-to-berlin-today-for-local-first-conference/",
      "url" : "https://douglashill.co/2026/heading-to-berlin-today-for-local-first-conference/"
    },
    {
      "content_html" : "<p>I’m seeing a regression in Apple Shortcuts where “Count Characters in …” says “Unable to decode file contents” when passed rich text. Workaround: Add a “Get text from (rich text)” and count with that instead. (I’m on macOS 26.5 but this might have been there for a while.)</p>\n",
      "date_published" : "2026-07-03T13:13:08+02:00",
      "id" : "https://douglashill.co/2026/shortcuts-count-characters-rich-text/",
      "url" : "https://douglashill.co/2026/shortcuts-count-characters-rich-text/"
    },
    {
      "content_html" : "<p>Limited social connection was always a challenge with remote work, but with AI human-to-human communication is further minimised. We exchange messages with people’s robots, or more likely we have our robots talk to their robots. Efficient, but makes me think it would be nice to hang out with people.</p>\n",
      "date_published" : "2026-07-03T12:37:57+02:00",
      "id" : "https://douglashill.co/2026/social-connection-remote-work-ai/",
      "url" : "https://douglashill.co/2026/social-connection-remote-work-ai/"
    },
    {
      "content_html" : "<p><a href=\"https://douglashill.co/2026/rustweek/\">Notes from attending the RustWeek conference in Utrecht.</a></p>",
      "date_published" : "2026-07-01T00:00:28+0200",
      "id" : "https://douglashill.co/2026/rustweek/",
      "url" : "https://douglashill.co/2026/rustweek/"
    },
    {
      "content_html" : "<p>Looking forward to being back in Wales in September to talk about Rust at <a href=\"https://www.iosdevuk.com/\">iOSDevUK</a>. Early bird <a href=\"https://www.iosdevuk.com/tickets\">conference tickets</a> are available until the end of this month. It’s my favourite and best-value iOS conference. Also let me know if you’re interested in hiking in Eryri/Snowdonia the weekend before.</p>\n\n<p><img src=\"https://douglashill.co/2026/rust-at-iosdevuk/iosdevuk-card.jpg\" alt=\"Speaker card: Douglas Hill; Rust for iOS developers: more Swifty than Swift; iOSDevUK; 7th to 10th September 2026; Aberystwyth University; www.iosdevuk.com\" title=\"\" /></p>\n",
      "date_published" : "2026-06-24T09:45:15+0200",
      "id" : "https://douglashill.co/2026/rust-at-iosdevuk/",
      "url" : "https://douglashill.co/2026/rust-at-iosdevuk/"
    },
    {
      "content_html" : "<p>WWDC labs are conspicuously missing from the <a href=\"https://developer.apple.com/wwdc26/\">activities this year</a>. (The private WebEx calls usually with the person who worked on the thing you're asking about.) At Nutrient, <a href=\"https://www.nutrient.io/blog/wwdc-at-nutrient/\">we found these the most valuable part of WWDC</a>.</p>\n",
      "date_published" : "2026-05-19T17:29:09+02:00",
      "id" : "https://douglashill.co/2026/wwdc-labs-are-conspicuously-missing/",
      "url" : "https://douglashill.co/2026/wwdc-labs-are-conspicuously-missing/"
    },
    {
      "content_html" : "<p>I’m excited to be learning new things at the <a href=\"https://2026.rustweek.org/\">RustWeek</a> conference in the Netherlands.</p>\n",
      "date_published" : "2026-05-19T08:43:50+02:00",
      "id" : "https://douglashill.co/2026/at-rustweek/",
      "url" : "https://douglashill.co/2026/at-rustweek/"
    },
    {
      "content_html" : "<p>We’re trying something new for NSLondon this month: If you’re a woman, non-binary, or otherwise feel underrepresented in the London iOS developer community, you can request an early-access spot by <a href=\"https://docs.google.com/forms/d/e/1FAIpQLSfkWvVomYXUwESWHet2HDxTia4euvYcP2WKtkVQLXCzjmtbvA/viewform\">filling in this very short form</a>. General availability opens at 1pm BST this Monday <a href=\"https://www.meetup.com/nslondon/events/313347930/\">on Meetup</a>.</p>\n",
      "date_published" : "2026-05-01T16:11:39+01:00",
      "id" : "https://douglashill.co/2026/nslondon-justpark-underrepresented-early-access/",
      "url" : "https://douglashill.co/2026/nslondon-justpark-underrepresented-early-access/"
    },
    {
      "content_html" : "<p>TIL about the <a href=\"https://developer.apple.com/documentation/contactprovider\">ContactProvider</a> framework on iOS (not Mac). Sounds like a way to build an end-to-end encrypted replacement for iCloud/CardDAV contacts sync if you can get your head around the difference between <code>ContactItemEnumerating</code> and <code>ContactItemEnumerator</code>.</p>\n\n<p><img src=\"https://douglashill.co/2026/contactprovider-framework/screenshot.png\" alt=\"protocol ContactItemEnumerating: A protocol to provide enumerators for collections of contact items. protocol ContactItemEnumerator: A protocol to provide enumerations of all contact items and changed contact items.\" title=\"\" /></p>\n",
      "date_published" : "2026-04-14T08:18:30+0100",
      "id" : "https://douglashill.co/2026/contactprovider-framework/",
      "url" : "https://douglashill.co/2026/contactprovider-framework/"
    },
    {
      "content_html" : "<p>Interesting evening yesterday at <a href=\"https://www.meetup.com/rust-london-user-group/events/313816694\">Rust London</a> learning all sorts. Dan Groshev spoke about <a href=\"https://dgroshev.com/blog/okmain/\">picking a dominant colour from an image</a>. (I used a similar approach in Jamie Oliver‘s Recipes in 2014.) Jérôme Étévé gave a talk on <a href=\"https://github.com/jeteve/mokapot\">Mokaccino</a> and <a href=\"https://github.com/evadne\">Evadne Wu</a> on sandboxing AI agents.</p>\n",
      "date_published" : "2026-04-03T10:11:52+01:00",
      "id" : "https://douglashill.co/2026/rust-london-learning-all-sorts/",
      "url" : "https://douglashill.co/2026/rust-london-learning-all-sorts/"
    },
    {
      "content_html" : "<p>At NSLondon we’re <a href=\"https://www.meetup.com/nslondon/events/313805476/\">meeting for coffee on Sat 18th</a> followed by a stroll in Hyde Park if the weather is fine. Bring a laptop and show your coding project. I’ll be there with non-iOS projects.</p>\n",
      "date_published" : "2026-04-01T21:02:49+01:00",
      "id" : "https://douglashill.co/2026/nslondon-coffee-april/",
      "url" : "https://douglashill.co/2026/nslondon-coffee-april/"
    },
    {
      "content_html" : "<p>I hope everyone going has a fantastic time at <a href=\"https://www.meetup.com/nslondon/events/313347937/\">NSLondon at Apple Battersea</a> this evening. Beautiful space, and both talks sound really useful. Bit of a shame I’m away.</p>\n",
      "date_published" : "2026-03-12T11:29:27+01:00",
      "id" : "https://douglashill.co/2026/nslondon-apple-this-evening/",
      "url" : "https://douglashill.co/2026/nslondon-apple-this-evening/"
    },
    {
      "content_html" : "<p>One day I assume there will be a Mac with Internal Headphones to explain the need for this precise copy writing.</p>\n\n<p><img src=\"https://douglashill.co/2026/external-headphones/screenshot.png\" alt=\"Screenshot of macOS volume change notification showing the title External Headphones\" title=\"\" /></p>\n",
      "date_published" : "2026-03-11T18:14:20+0100",
      "id" : "https://douglashill.co/2026/external-headphones/",
      "url" : "https://douglashill.co/2026/external-headphones/"
    },
    {
      "content_html" : "<p>Here’s a <a href=\"https://douglashill.co/2026/swift-ios-conferences-in-europe/\">roundup of upcoming Swift/iOS conferences in Europe</a>. UK conference scene is strong!</p>",
      "date_published" : "2026-02-20T09:37:45+01:00",
      "id" : "https://douglashill.co/2026/swift-ios-conferences-in-europe/",
      "url" : "https://douglashill.co/2026/swift-ios-conferences-in-europe/"
    },
    {
      "content_html" : "<p>Great evening at <a href=\"https://engineeringkiosk.dev/meetup/alps/\">Engineering Kiosk Alps</a> hosted by <a href=\"https://www.cloudflight.io/\">Cloudflight</a>. Similar format to <a href=\"https://nslondon.com/\">NSLondon</a>. Talks:</p>\n\n<ul>\n<li>Anna Larch: <a href=\"https://nextcloud.com/\">Nextcloud</a> is good place to work. Like <a href=\"https://www.nutrient.io/\">Nutrient</a>: ~160 people, remote, high trust, no fixed hours.</li>\n<li><a href=\"https://www.studio-craft.at/\">Beate Öttl</a>: Still good to avoid building the wrong thing fast.</li>\n</ul>\n",
      "date_published" : "2026-02-19T22:22:24+01:00",
      "id" : "https://douglashill.co/2026/engineering-kiosk-alps-cloudflight/",
      "url" : "https://douglashill.co/2026/engineering-kiosk-alps-cloudflight/"
    },
    {
      "content_html" : "<p>This <a href=\"https://www.cultofmac.com/how-to/stop-ios-update\">trick from Cult of Mac to disable iOS 26 update nags</a> seems to be working well on my iPad running iOS 18: <em>Enable iOS 18 Developer Betas</em>. Suddenly the OS is “up to date”. No more red badges or notifications that can’t otherwise be turned off.</p>\n",
      "date_published" : "2026-02-12T21:56:45+01:00",
      "id" : "https://douglashill.co/2026/disable-ios-26-update-nags/",
      "url" : "https://douglashill.co/2026/disable-ios-26-update-nags/"
    },
    {
      "content_html" : "<p>In 2025, I read 50% more books than in 2024, all DRM-free, mostly audiobooks. I wrote about <a href=\"https://douglashill.co/2025/books/\">my reading trends and shared some book picks from the year</a>, featuring Min Jin Lee, Marjan Kamali, Sarah Wynn-Williams and more.</p>",
      "date_published" : "2026-01-31T22:53:49+0100",
      "id" : "https://douglashill.co/2025/books/",
      "url" : "https://douglashill.co/2025/books/"
    },
    {
      "content_html" : "<p>Removed LinkedIn way to <a href=\"https://douglashill.co/follow/\">follow</a> my posts, since it wasn’t working anyway. The cross posting from <a href=\"https://micro.blog/\">Micro.blog</a> doesn’t seem reliable, and I don’t want to look at LinkedIn to check for replies.</p>\n",
      "date_published" : "2026-01-30T18:34:13+01:00",
      "id" : "https://douglashill.co/2026/removed-linkedin/",
      "url" : "https://douglashill.co/2026/removed-linkedin/"
    },
    {
      "content_html" : "<p>😳 rdar:45025538</p>\n\n<p><img src=\"https://douglashill.co/2026/rdar-45025538/screenshot.jpg\" alt=\"iPhone mini simulator home screen screenshot showing a red status bar showing only the text “😳 rdar:45025538”\" title=\"\" /></p>\n",
      "date_published" : "2026-01-30T18:02:39+0100",
      "id" : "https://douglashill.co/2026/rdar-45025538/",
      "url" : "https://douglashill.co/2026/rdar-45025538/"
    }
  ],
  "title" : "Douglas Hill",
  "version" : "https://jsonfeed.org/version/1"
}