apple
A-la-carte App Store aka What do I get for that 30%? Apple’s proposal for the Netherlands Dating App Purchase ACM ruling has had many decrying the proposal. At best the proposal is obtuse, at worst it’s pure greed. South Korea has laid out similar requirements. What does it cost Apple to deliver apps for developers?
11th February 2022, five minutes to read
WWDC 2021: Apple is building the metaverse substrate in plain sight I thought it might be fun to take a semi-serious look at technology from the Apples WWDC21 keynote, and how it might help building the metaverse. I may have spent way too much time watching sessions at 1.5x, and it may have broken my brain a little. The WWDC 2021 keynote made it ever clearer Apple is building the components of a metaverse substrate in the open. This isn’t their first year — WWDC 2019 was where they first pulled back the curtain. Since then, it’s been clear they have the skills pull off the hardware & device software stack. I’ve been less sure they understood the full scope needed to build a compelling AR ecosystem – a metaverse. With this years features, it’s become clear they might be able to pull it off. And it’s out there, in the open - every year they’re moving a little bit closer.
20th June 2021, 19 minutes to read
appstore
A-la-carte App Store aka What do I get for that 30%? Apple’s proposal for the Netherlands Dating App Purchase ACM ruling has had many decrying the proposal. At best the proposal is obtuse, at worst it’s pure greed. South Korea has laid out similar requirements. What does it cost Apple to deliver apps for developers?
11th February 2022, five minutes to read
book
Thoughts on testing Extract from my book on testing with Visual Studio 2005 Many — many — years ago I wrote a few chapters for a book: “Professional Software Testing with Visual Studio 2005 Team System”. While I think the book is now probably out of date, I thought it would be worth posting some of the more timeless content (aka not the “Press this button” parts) as a blog post. Do note this was written back in 2007. Also, the publisher was pushing to hit a specific page count to justify the price, so in some cases I am… wordier… than one should be. Sorry.
3rd September 2007, 14 minutes to read
business
A-la-carte App Store aka What do I get for that 30%? Apple’s proposal for the Netherlands Dating App Purchase ACM ruling has had many decrying the proposal. At best the proposal is obtuse, at worst it’s pure greed. South Korea has laid out similar requirements. What does it cost Apple to deliver apps for developers?
11th February 2022, five minutes to read
c++
co_wait, C++/CX and the UI Thread
16th January 2017, three minutes to read
I was working on some supporting code for my Windows 10 Instapaper client, and I ended up going down a rabbit hole of trying to understand the way that co_await works with the XAML/WinRT dispatcher. I ended up writing some sample code & sharing on GitHub. I’ve included the readme below, but the most up to date details will be on the repo.
c++/cx
co_wait, C++/CX and the UI Thread
16th January 2017, three minutes to read
I was working on some supporting code for my Windows 10 Instapaper client, and I ended up going down a rabbit hole of trying to understand the way that co_await works with the XAML/WinRT dispatcher. I ended up writing some sample code & sharing on GitHub. I’ve included the readme below, but the most up to date details will be on the repo.
empathy
The ogre at the end of the keyboard
7th July 2017, five minutes to read
I’m not talking about trolls on Twitter, flunkies on Facebook, or the ill-informed on the internet that have you seeing red.
git
Simple Git Secrets Apps have secrets, and you don't want to accidentally put them in git. Lets try a simple approach There are lots of solutions, guides, and services that help you manage your secrets in a professional, secure manner. These are absolutely the type of solution you want for your production environment.
31st May 2022, four minutes to read
hardware
Three Displays, Three Times the Fun, Triple the Pain Turns out, connecting three high resolution displays to a MacBook Pro 13” is a bit bothersome. Getting it just-so, total pain. Worth it. I’ve always liked large displays. Prior to The Distancing™ I was constantly going between meetings & my workspace, so one large 40” monitor sufficed to stop me from being hunched over a 13” laptop display at my desk. With work-from-home, I pined for mo’ monitor. I’ve never been able get into the groove with dual monitors though. With one dead-ahead, one to the side always felt lopsided. If you put one either side of the center, you’re staring at a seam all day; no thank you!
27th September 2020, eight minutes to read
ide
File/New/Project — Simple Developer Inner Loops with VS Code Developer inner loops are critical. Getting them setup requires many steps. I take a few steps to make the simplest cases simple in Visual Studio Code and Panic Nova. You have a programming idea. It’s not complicated, it’s not fancy, and doesn’t matter to anyone but you. You have limited time, and you just kinda wanna get on with it. You don’t want complexity, you’re not looking for “best practices”, and you’re not looking for the latest whizzbang thing. But you do want it to be easy.
5th April 2022, 11 minutes to read
javascript
File/New/Project — Simple Developer Inner Loops with VS Code Developer inner loops are critical. Getting them setup requires many steps. I take a few steps to make the simplest cases simple in Visual Studio Code and Panic Nova. You have a programming idea. It’s not complicated, it’s not fancy, and doesn’t matter to anyone but you. You have limited time, and you just kinda wanna get on with it. You don’t want complexity, you’re not looking for “best practices”, and you’re not looking for the latest whizzbang thing. But you do want it to be easy.
5th April 2022, 11 minutes to read
learning
Learning Swift While making a concerted effort to learn Swift properly, I finally understood an unexpected pattern I saw with extensions I’ve been reading Swift for a while, even wrote a little bit of code in it at a previous employer. But I’ve never taken the time to learn it. I’ve been reading “The Swift Programming Guide” (aka Apple official book) for a couple years (on and off). I recently started to work through Apples “Intro to App Dev” ‘course’. Everything has been pretty reasonable, but a couple things have caused me to raise an eyebrow. One was the whole existential / opaque / some / any complexity — but, reading the chapters it became clear that these are choices made by the compiler team for optimization & safety reasons. All good. The other was extension (doc) – that was not so clear.
22nd January 2023, three minutes to read
link-roundup
🔗 Roundup No. 8 Comin' in just under the wire with mo’ links, striking a reflective tone I note, for the record, once again there seem to be a large number of AI related links. I think this is a byproduct of the times we’re living in that the visible ‘new and interesting’ (good, or bad) things in the industry are AI. I certainly make zero claims about any sensible understanding of the underlying technology that goes into making the GPUs go Brrrr. But I do find it fasinating.
29th May 2024, seven minutes to read
🔗 Roundup No. 7 Look, I did one sooner than 6 months. Mo’ Links, apparently about AI? *sigh* Some links, and I’ve noticed that AI seems to be dominating them. I don’t know quite why that is? Maybe it’s because we’re in the Cambrian explosion phase. Maybe it’s because for some reason I find it interesting to think about ‘cause theres a thread of philosophy running through it? Anyway, take a read, and let me know what you think.
3rd January 2024, four minutes to read
🔗 Roundup No. 6 I collected too many links, now you get to read them too It’s been a while since I rolled up some links here. I’ve collected quite a few it seems, so buckle up, and give them a read if they tickle your fancy. Or, read them because I said so. Whatever.
7th November 2023, seven minutes to read
🔗 Roundup No. 5 Some links that I think are interesting. You may not. It’s not been that long since my last round up of links. I’ve collected enough that I think it’s worth doing again. So, without furthur ado…
4th March 2023, four minutes to read
🔗 Roundup No. 4 Whaddya know, a roundup of recent things I've found interesting It’s been a while — over six months! — since my last link-a-thon. But the time has come, and I have some more interesting links to dump upon you all to read at the end of the year.
18th December 2022, six minutes to read
🔗 Roundup No. 3 Another roundup of recent things I've found interesting Another round of links — with a slightly smaller gap (90 days on the dot!) between dumps collations.
25th May 2022, four minutes to read
🔗 Roundup No. 2 More Links I've recently read Time for another round of links. It’s been checks notes 8 months, 6 days since my last round of links, and I’ve finally collected enough for another round!
24th February 2022, three minutes to read
🔗 Roundup No. 1 Links I've recently read, and think are interesting As I make my daily rounds on the internet I read way to many things. Some are new, some are old. I thought it might be worth sharing some of the most interesting ones people, so here’s some recently read 🔗 that I thought might be worth your time!
19th June 2021, two minutes to read
metaverse
The Clutterverse aka Exposing Digital Clutter in ARverse, aka how might we organise information & assets in an AR world Inspired by a comment by a friend that they don’t like ebooks because they’re hidden from physical view, thus not seeing their unread pile of books nagging at them relentlessly.
12th September 2022, three minutes to read
WWDC 2021: Apple is building the metaverse substrate in plain sight I thought it might be fun to take a semi-serious look at technology from the Apples WWDC21 keynote, and how it might help building the metaverse. I may have spent way too much time watching sessions at 1.5x, and it may have broken my brain a little. The WWDC 2021 keynote made it ever clearer Apple is building the components of a metaverse substrate in the open. This isn’t their first year — WWDC 2019 was where they first pulled back the curtain. Since then, it’s been clear they have the skills pull off the hardware & device software stack. I’ve been less sure they understood the full scope needed to build a compelling AR ecosystem – a metaverse. With this years features, it’s become clear they might be able to pull it off. And it’s out there, in the open - every year they’re moving a little bit closer.
20th June 2021, 19 minutes to read
mixpanel
My Mixpanel client library for Windows UWP
25th February 2018, two minutes to read
tl;dr: I needed a client for calling Mixpanel’s API to log telemetry. Existing ones were either C# or Javascript-delivered-over-the-web. I wrote one C++. Find source here, and NuGet here.
monitors
Three Displays, Three Times the Fun, Triple the Pain Turns out, connecting three high resolution displays to a MacBook Pro 13” is a bit bothersome. Getting it just-so, total pain. Worth it. I’ve always liked large displays. Prior to The Distancing™ I was constantly going between meetings & my workspace, so one large 40” monitor sufficed to stop me from being hunched over a 13” laptop display at my desk. With work-from-home, I pined for mo’ monitor. I’ve never been able get into the groove with dual monitors though. With one dead-ahead, one to the side always felt lopsided. If you put one either side of the center, you’re staring at a seam all day; no thank you!
27th September 2020, eight minutes to read
open-source
File/New/Project — Simple Developer Inner Loops with VS Code Developer inner loops are critical. Getting them setup requires many steps. I take a few steps to make the simplest cases simple in Visual Studio Code and Panic Nova. You have a programming idea. It’s not complicated, it’s not fancy, and doesn’t matter to anyone but you. You have limited time, and you just kinda wanna get on with it. You don’t want complexity, you’re not looking for “best practices”, and you’re not looking for the latest whizzbang thing. But you do want it to be easy.
5th April 2022, 11 minutes to read
My Mixpanel client library for Windows UWP
25th February 2018, two minutes to read
tl;dr: I needed a client for calling Mixpanel’s API to log telemetry. Existing ones were either C# or Javascript-delivered-over-the-web. I wrote one C++. Find source here, and NuGet here.
opinions
🔗 Roundup No. 8 Comin' in just under the wire with mo’ links, striking a reflective tone I note, for the record, once again there seem to be a large number of AI related links. I think this is a byproduct of the times we’re living in that the visible ‘new and interesting’ (good, or bad) things in the industry are AI. I certainly make zero claims about any sensible understanding of the underlying technology that goes into making the GPUs go Brrrr. But I do find it fasinating.
29th May 2024, seven minutes to read
🔗 Roundup No. 7 Look, I did one sooner than 6 months. Mo’ Links, apparently about AI? *sigh* Some links, and I’ve noticed that AI seems to be dominating them. I don’t know quite why that is? Maybe it’s because we’re in the Cambrian explosion phase. Maybe it’s because for some reason I find it interesting to think about ‘cause theres a thread of philosophy running through it? Anyway, take a read, and let me know what you think.
3rd January 2024, four minutes to read
🔗 Roundup No. 6 I collected too many links, now you get to read them too It’s been a while since I rolled up some links here. I’ve collected quite a few it seems, so buckle up, and give them a read if they tickle your fancy. Or, read them because I said so. Whatever.
7th November 2023, seven minutes to read
🔗 Roundup No. 5 Some links that I think are interesting. You may not. It’s not been that long since my last round up of links. I’ve collected enough that I think it’s worth doing again. So, without furthur ado…
4th March 2023, four minutes to read
Formula One & Software Development — two peas in a pod Wherein I ruminate on the similarities between thee pinnacle of motorsport and software development It’s that time of year – twelve months of hard engineering work, and your team can share your new creation to the world. The team will be judged on its performance relative to your competitors. Your users will speak honestly about their love or hate for your creation. Not only has the team poured every ounce of energy into working towards this moment, they’ve gone above & beyond to support last years creation being used by those same users, against those same competitors. They saw where they’d made mistakes, where they’d excelled — they’ve strived to address those issues tactically with the existing product, and strategically in the soon-to-be-revealed creation.
20th February 2023, four minutes to read
🔗 Roundup No. 4 Whaddya know, a roundup of recent things I've found interesting It’s been a while — over six months! — since my last link-a-thon. But the time has come, and I have some more interesting links to dump upon you all to read at the end of the year.
18th December 2022, six minutes to read
The Clutterverse aka Exposing Digital Clutter in ARverse, aka how might we organise information & assets in an AR world Inspired by a comment by a friend that they don’t like ebooks because they’re hidden from physical view, thus not seeing their unread pile of books nagging at them relentlessly.
12th September 2022, three minutes to read
Simple Git Secrets Apps have secrets, and you don't want to accidentally put them in git. Lets try a simple approach There are lots of solutions, guides, and services that help you manage your secrets in a professional, secure manner. These are absolutely the type of solution you want for your production environment.
31st May 2022, four minutes to read
🔗 Roundup No. 3 Another roundup of recent things I've found interesting Another round of links — with a slightly smaller gap (90 days on the dot!) between dumps collations.
25th May 2022, four minutes to read
Demoralized by complexity – a rant Sometimes, software development gets you down. Sometimes a rant about it helps. On the back of my blog post about a simple dev inner loops, I decided I need an extension that would open the internal browser in VS Code when my project opened, or my http server started. Seems simple right?
12th April 2022, six minutes to read
File/New/Project — Simple Developer Inner Loops with VS Code Developer inner loops are critical. Getting them setup requires many steps. I take a few steps to make the simplest cases simple in Visual Studio Code and Panic Nova. You have a programming idea. It’s not complicated, it’s not fancy, and doesn’t matter to anyone but you. You have limited time, and you just kinda wanna get on with it. You don’t want complexity, you’re not looking for “best practices”, and you’re not looking for the latest whizzbang thing. But you do want it to be easy.
5th April 2022, 11 minutes to read
🔗 Roundup No. 2 More Links I've recently read Time for another round of links. It’s been checks notes 8 months, 6 days since my last round of links, and I’ve finally collected enough for another round!
24th February 2022, three minutes to read
A-la-carte App Store aka What do I get for that 30%? Apple’s proposal for the Netherlands Dating App Purchase ACM ruling has had many decrying the proposal. At best the proposal is obtuse, at worst it’s pure greed. South Korea has laid out similar requirements. What does it cost Apple to deliver apps for developers?
11th February 2022, five minutes to read
WWDC 2021: Apple is building the metaverse substrate in plain sight I thought it might be fun to take a semi-serious look at technology from the Apples WWDC21 keynote, and how it might help building the metaverse. I may have spent way too much time watching sessions at 1.5x, and it may have broken my brain a little. The WWDC 2021 keynote made it ever clearer Apple is building the components of a metaverse substrate in the open. This isn’t their first year — WWDC 2019 was where they first pulled back the curtain. Since then, it’s been clear they have the skills pull off the hardware & device software stack. I’ve been less sure they understood the full scope needed to build a compelling AR ecosystem – a metaverse. With this years features, it’s become clear they might be able to pull it off. And it’s out there, in the open - every year they’re moving a little bit closer.
20th June 2021, 19 minutes to read
🔗 Roundup No. 1 Links I've recently read, and think are interesting As I make my daily rounds on the internet I read way to many things. Some are new, some are old. I thought it might be worth sharing some of the most interesting ones people, so here’s some recently read 🔗 that I thought might be worth your time!
19th June 2021, two minutes to read
What happens with a decoupled App Store? Concerns about walled-garden stores are growning. No-one talks about possible outcomes, and what that might look like. There’s a lot of discussion& hand wringing about the various App Store walled gardens. Many are asking if they should be dismantled, some suggest they be opened up through regulation. The final outcome is not yet clear, but what if decoupled app stores are part of the aftermath? What does that world look like? Lets explore!
21st March 2021, eight minutes to read
Thoughts On Working From Home A little waffle on working from home during the pandemic I’ve never enjoyed working from home. I’ve always found it more intense, more stressful, and just, well, generally more. Sure, I’d work from home if I had to (snow storms etc), but in the 16 years I’ve been employed I’d always favour being at work when real work was needed — even when it was on a weekend for just a few hours.
26th July 2020, six minutes to read
The ogre at the end of the keyboard
7th July 2017, five minutes to read
I’m not talking about trolls on Twitter, flunkies on Facebook, or the ill-informed on the internet that have you seeing red.
Always be looking ahead. Not everyone is an asshole.
29th May 2017, two minutes to read
Recently, I was watching a talk by Matt Drance from his 2015 CocoaConf talk “What The Race Track Taught Me About Software Development” [Currently unavailable]. I wanted to watch it because I’ve found his tweets & writings in the past to be interesting & thought provoking — that and I like to think I’m kinda a car guy. Race tracks? Software development? Sure, this should be fun!
Thoughts on testing Extract from my book on testing with Visual Studio 2005 Many — many — years ago I wrote a few chapters for a book: “Professional Software Testing with Visual Studio 2005 Team System”. While I think the book is now probably out of date, I thought it would be worth posting some of the more timeless content (aka not the “Press this button” parts) as a blog post. Do note this was written back in 2007. Also, the publisher was pushing to hit a specific page count to justify the price, so in some cases I am… wordier… than one should be. Sorry.
3rd September 2007, 14 minutes to read
personal
FileDeduper Why I wrote a tool to find duplicate files (by MD5-hash) I’ve authored a tool called FileDeduper, which scavenges a file system, MD5-hashes all the files, and then moves all the duplicates to a destination directory keeping the original tree structure. The intent with “move” rather than “delete” was to keep data rather than accidently delete it. Sure, the MD5 hash should mean this isn’t a risk, but you know, safety first.
7th January 2017, 1 minute to read
pro-tip
Better default architecture target for Visual Studio Solutions Ever wanted to make your Visual Studio solution buildable on open? Read on! For a long time, I’ve always been frustrated with the default CPU target when opening a Visual Studio solution — ARM. I don’t have an ARM CPU device to deploy to, let alone the machine opening the solution having an ARM CPU.
28th December 2020, five minutes to read
Generating sharable UWP test certs
25th February 2018, two minutes to read
Update Dec 28th 2020: Visual Studio 2019 no longer generates certificates by default when creating a UWP project (yay), so you don’t end up broken out of the box! Plus, when you go through the ‘Create App Package’ flow, it will ask to create certifcates – when prompted for a password, just don’t enter one, and it’ll do the right thing. Hurrah!
programming
Learning Swift While making a concerted effort to learn Swift properly, I finally understood an unexpected pattern I saw with extensions I’ve been reading Swift for a while, even wrote a little bit of code in it at a previous employer. But I’ve never taken the time to learn it. I’ve been reading “The Swift Programming Guide” (aka Apple official book) for a couple years (on and off). I recently started to work through Apples “Intro to App Dev” ‘course’. Everything has been pretty reasonable, but a couple things have caused me to raise an eyebrow. One was the whole existential / opaque / some / any complexity — but, reading the chapters it became clear that these are choices made by the compiler team for optimization & safety reasons. All good. The other was extension (doc) – that was not so clear.
22nd January 2023, three minutes to read
The Story of Storyvoid How Storyvoid came to be, and the details of how it was put together Since June 2011, I’ve been working on Storyvoid, and Instapaper client for Windows. With 619 commits spanning nine years of active development, it’s a labour of love. As a free app, it isn’t going to be a business or a breakout hit, but it is mine, for all its warts.
18th December 2022, 33 minutes to read
Inner Loop Buddy tl;dr: I made a VS Code Extension (Inner Loop Buddy) that opens a browser tab when you run a task I made an extension to automatically opens a browser inside VS Code when tasks are executed. Install it from the VS Code marketplace. Leave feedback on GitHub
30th April 2022, two minutes to read
Demoralized by complexity – a rant Sometimes, software development gets you down. Sometimes a rant about it helps. On the back of my blog post about a simple dev inner loops, I decided I need an extension that would open the internal browser in VS Code when my project opened, or my http server started. Seems simple right?
12th April 2022, six minutes to read
File/New/Project — Simple Developer Inner Loops with VS Code Developer inner loops are critical. Getting them setup requires many steps. I take a few steps to make the simplest cases simple in Visual Studio Code and Panic Nova. You have a programming idea. It’s not complicated, it’s not fancy, and doesn’t matter to anyone but you. You have limited time, and you just kinda wanna get on with it. You don’t want complexity, you’re not looking for “best practices”, and you’re not looking for the latest whizzbang thing. But you do want it to be easy.
5th April 2022, 11 minutes to read
Better default architecture target for Visual Studio Solutions Ever wanted to make your Visual Studio solution buildable on open? Read on! For a long time, I’ve always been frustrated with the default CPU target when opening a Visual Studio solution — ARM. I don’t have an ARM CPU device to deploy to, let alone the machine opening the solution having an ARM CPU.
28th December 2020, five minutes to read
co_wait, C++/CX and the UI Thread
16th January 2017, three minutes to read
I was working on some supporting code for my Windows 10 Instapaper client, and I ended up going down a rabbit hole of trying to understand the way that co_await works with the XAML/WinRT dispatcher. I ended up writing some sample code & sharing on GitHub. I’ve included the readme below, but the most up to date details will be on the repo.
FileDeduper Why I wrote a tool to find duplicate files (by MD5-hash) I’ve authored a tool called FileDeduper, which scavenges a file system, MD5-hashes all the files, and then moves all the duplicates to a destination directory keeping the original tree structure. The intent with “move” rather than “delete” was to keep data rather than accidently delete it. Sure, the MD5 hash should mean this isn’t a risk, but you know, safety first.
7th January 2017, 1 minute to read
Thoughts on testing Extract from my book on testing with Visual Studio 2005 Many — many — years ago I wrote a few chapters for a book: “Professional Software Testing with Visual Studio 2005 Team System”. While I think the book is now probably out of date, I thought it would be worth posting some of the more timeless content (aka not the “Press this button” parts) as a blog post. Do note this was written back in 2007. Also, the publisher was pushing to hit a specific page count to justify the price, so in some cases I am… wordier… than one should be. Sorry.
3rd September 2007, 14 minutes to read
pull-requests
The ogre at the end of the keyboard
7th July 2017, five minutes to read
I’m not talking about trolls on Twitter, flunkies on Facebook, or the ill-informed on the internet that have you seeing red.
Always be looking ahead. Not everyone is an asshole.
29th May 2017, two minutes to read
Recently, I was watching a talk by Matt Drance from his 2015 CocoaConf talk “What The Race Track Taught Me About Software Development” [Currently unavailable]. I wanted to watch it because I’ve found his tweets & writings in the past to be interesting & thought provoking — that and I like to think I’m kinda a car guy. Race tracks? Software development? Sure, this should be fun!
rant
Computers are a utility — they should behave like one Wherein I get a bit ranty about some bad computering. This post inspired by yet again going to pootle around on my personal “computers” at the weekend, and yet again one of them decides to just get “in the way” for nearly an hour before I can actually use it for the purpose intended.
21st April 2019, three minutes to read
releases
Inner Loop Buddy tl;dr: I made a VS Code Extension (Inner Loop Buddy) that opens a browser tab when you run a task I made an extension to automatically opens a browser inside VS Code when tasks are executed. Install it from the VS Code marketplace. Leave feedback on GitHub
30th April 2022, two minutes to read
software
Formula One & Software Development — two peas in a pod Wherein I ruminate on the similarities between thee pinnacle of motorsport and software development It’s that time of year – twelve months of hard engineering work, and your team can share your new creation to the world. The team will be judged on its performance relative to your competitors. Your users will speak honestly about their love or hate for your creation. Not only has the team poured every ounce of energy into working towards this moment, they’ve gone above & beyond to support last years creation being used by those same users, against those same competitors. They saw where they’d made mistakes, where they’d excelled — they’ve strived to address those issues tactically with the existing product, and strategically in the soon-to-be-revealed creation.
20th February 2023, four minutes to read
Learning Swift While making a concerted effort to learn Swift properly, I finally understood an unexpected pattern I saw with extensions I’ve been reading Swift for a while, even wrote a little bit of code in it at a previous employer. But I’ve never taken the time to learn it. I’ve been reading “The Swift Programming Guide” (aka Apple official book) for a couple years (on and off). I recently started to work through Apples “Intro to App Dev” ‘course’. Everything has been pretty reasonable, but a couple things have caused me to raise an eyebrow. One was the whole existential / opaque / some / any complexity — but, reading the chapters it became clear that these are choices made by the compiler team for optimization & safety reasons. All good. The other was extension (doc) – that was not so clear.
22nd January 2023, three minutes to read
The Story of Storyvoid How Storyvoid came to be, and the details of how it was put together Since June 2011, I’ve been working on Storyvoid, and Instapaper client for Windows. With 619 commits spanning nine years of active development, it’s a labour of love. As a free app, it isn’t going to be a business or a breakout hit, but it is mine, for all its warts.
18th December 2022, 33 minutes to read
What happens with a decoupled App Store? Concerns about walled-garden stores are growning. No-one talks about possible outcomes, and what that might look like. There’s a lot of discussion& hand wringing about the various App Store walled gardens. Many are asking if they should be dismantled, some suggest they be opened up through regulation. The final outcome is not yet clear, but what if decoupled app stores are part of the aftermath? What does that world look like? Lets explore!
21st March 2021, eight minutes to read
Using embedded and IoT devices with a VPN I needed to connect smart devices to a VPN. Here's what I found Modern embedded devices such as connected media players (Apple TV, Roku, Smart TVs), or IoT (internet of things) devices are constrained in what you, the end user, can change in configuration, and the software you can run. This is for good reasons — providing a secure environment for media devices, or enabling ‘zero maintenance’ of IoT devices.
26th July 2020, seven minutes to read
The ogre at the end of the keyboard
7th July 2017, five minutes to read
I’m not talking about trolls on Twitter, flunkies on Facebook, or the ill-informed on the internet that have you seeing red.
Always be looking ahead. Not everyone is an asshole.
29th May 2017, two minutes to read
Recently, I was watching a talk by Matt Drance from his 2015 CocoaConf talk “What The Race Track Taught Me About Software Development” [Currently unavailable]. I wanted to watch it because I’ve found his tweets & writings in the past to be interesting & thought provoking — that and I like to think I’m kinda a car guy. Race tracks? Software development? Sure, this should be fun!
sports
Formula One & Software Development — two peas in a pod Wherein I ruminate on the similarities between thee pinnacle of motorsport and software development It’s that time of year – twelve months of hard engineering work, and your team can share your new creation to the world. The team will be judged on its performance relative to your competitors. Your users will speak honestly about their love or hate for your creation. Not only has the team poured every ounce of energy into working towards this moment, they’ve gone above & beyond to support last years creation being used by those same users, against those same competitors. They saw where they’d made mistakes, where they’d excelled — they’ve strived to address those issues tactically with the existing product, and strategically in the soon-to-be-revealed creation.
20th February 2023, four minutes to read
storyvoid
The Story of Storyvoid How Storyvoid came to be, and the details of how it was put together Since June 2011, I’ve been working on Storyvoid, and Instapaper client for Windows. With 619 commits spanning nine years of active development, it’s a labour of love. As a free app, it isn’t going to be a business or a breakout hit, but it is mine, for all its warts.
18th December 2022, 33 minutes to read
My Mixpanel client library for Windows UWP
25th February 2018, two minutes to read
tl;dr: I needed a client for calling Mixpanel’s API to log telemetry. Existing ones were either C# or Javascript-delivered-over-the-web. I wrote one C++. Find source here, and NuGet here.
swift
Learning Swift While making a concerted effort to learn Swift properly, I finally understood an unexpected pattern I saw with extensions I’ve been reading Swift for a while, even wrote a little bit of code in it at a previous employer. But I’ve never taken the time to learn it. I’ve been reading “The Swift Programming Guide” (aka Apple official book) for a couple years (on and off). I recently started to work through Apples “Intro to App Dev” ‘course’. Everything has been pretty reasonable, but a couple things have caused me to raise an eyebrow. One was the whole existential / opaque / some / any complexity — but, reading the chapters it became clear that these are choices made by the compiler team for optimization & safety reasons. All good. The other was extension (doc) – that was not so clear.
22nd January 2023, three minutes to read
technology
Formula One & Software Development — two peas in a pod Wherein I ruminate on the similarities between thee pinnacle of motorsport and software development It’s that time of year – twelve months of hard engineering work, and your team can share your new creation to the world. The team will be judged on its performance relative to your competitors. Your users will speak honestly about their love or hate for your creation. Not only has the team poured every ounce of energy into working towards this moment, they’ve gone above & beyond to support last years creation being used by those same users, against those same competitors. They saw where they’d made mistakes, where they’d excelled — they’ve strived to address those issues tactically with the existing product, and strategically in the soon-to-be-revealed creation.
20th February 2023, four minutes to read
The Clutterverse aka Exposing Digital Clutter in ARverse, aka how might we organise information & assets in an AR world Inspired by a comment by a friend that they don’t like ebooks because they’re hidden from physical view, thus not seeing their unread pile of books nagging at them relentlessly.
12th September 2022, three minutes to read
A-la-carte App Store aka What do I get for that 30%? Apple’s proposal for the Netherlands Dating App Purchase ACM ruling has had many decrying the proposal. At best the proposal is obtuse, at worst it’s pure greed. South Korea has laid out similar requirements. What does it cost Apple to deliver apps for developers?
11th February 2022, five minutes to read
WWDC 2021: Apple is building the metaverse substrate in plain sight I thought it might be fun to take a semi-serious look at technology from the Apples WWDC21 keynote, and how it might help building the metaverse. I may have spent way too much time watching sessions at 1.5x, and it may have broken my brain a little. The WWDC 2021 keynote made it ever clearer Apple is building the components of a metaverse substrate in the open. This isn’t their first year — WWDC 2019 was where they first pulled back the curtain. Since then, it’s been clear they have the skills pull off the hardware & device software stack. I’ve been less sure they understood the full scope needed to build a compelling AR ecosystem – a metaverse. With this years features, it’s become clear they might be able to pull it off. And it’s out there, in the open - every year they’re moving a little bit closer.
20th June 2021, 19 minutes to read
What happens with a decoupled App Store? Concerns about walled-garden stores are growning. No-one talks about possible outcomes, and what that might look like. There’s a lot of discussion& hand wringing about the various App Store walled gardens. Many are asking if they should be dismantled, some suggest they be opened up through regulation. The final outcome is not yet clear, but what if decoupled app stores are part of the aftermath? What does that world look like? Lets explore!
21st March 2021, eight minutes to read
testing
Thoughts on testing Extract from my book on testing with Visual Studio 2005 Many — many — years ago I wrote a few chapters for a book: “Professional Software Testing with Visual Studio 2005 Team System”. While I think the book is now probably out of date, I thought it would be worth posting some of the more timeless content (aka not the “Press this button” parts) as a blog post. Do note this was written back in 2007. Also, the publisher was pushing to hit a specific page count to justify the price, so in some cases I am… wordier… than one should be. Sorry.
3rd September 2007, 14 minutes to read
threading
co_wait, C++/CX and the UI Thread
16th January 2017, three minutes to read
I was working on some supporting code for my Windows 10 Instapaper client, and I ended up going down a rabbit hole of trying to understand the way that co_await works with the XAML/WinRT dispatcher. I ended up writing some sample code & sharing on GitHub. I’ve included the readme below, but the most up to date details will be on the repo.
tools
FileDeduper Why I wrote a tool to find duplicate files (by MD5-hash) I’ve authored a tool called FileDeduper, which scavenges a file system, MD5-hashes all the files, and then moves all the duplicates to a destination directory keeping the original tree structure. The intent with “move” rather than “delete” was to keep data rather than accidently delete it. Sure, the MD5 hash should mean this isn’t a risk, but you know, safety first.
7th January 2017, 1 minute to read
uwp
Better default architecture target for Visual Studio Solutions Ever wanted to make your Visual Studio solution buildable on open? Read on! For a long time, I’ve always been frustrated with the default CPU target when opening a Visual Studio solution — ARM. I don’t have an ARM CPU device to deploy to, let alone the machine opening the solution having an ARM CPU.
28th December 2020, five minutes to read
Generating sharable UWP test certs
25th February 2018, two minutes to read
Update Dec 28th 2020: Visual Studio 2019 no longer generates certificates by default when creating a UWP project (yay), so you don’t end up broken out of the box! Plus, when you go through the ‘Create App Package’ flow, it will ask to create certifcates – when prompted for a password, just don’t enter one, and it’ll do the right thing. Hurrah!
My Mixpanel client library for Windows UWP
25th February 2018, two minutes to read
tl;dr: I needed a client for calling Mixpanel’s API to log telemetry. Existing ones were either C# or Javascript-delivered-over-the-web. I wrote one C++. Find source here, and NuGet here.
co_wait, C++/CX and the UI Thread
16th January 2017, three minutes to read
I was working on some supporting code for my Windows 10 Instapaper client, and I ended up going down a rabbit hole of trying to understand the way that co_await works with the XAML/WinRT dispatcher. I ended up writing some sample code & sharing on GitHub. I’ve included the readme below, but the most up to date details will be on the repo.
vpn
Using embedded and IoT devices with a VPN I needed to connect smart devices to a VPN. Here's what I found Modern embedded devices such as connected media players (Apple TV, Roku, Smart TVs), or IoT (internet of things) devices are constrained in what you, the end user, can change in configuration, and the software you can run. This is for good reasons — providing a secure environment for media devices, or enabling ‘zero maintenance’ of IoT devices.
26th July 2020, seven minutes to read
vscode
Inner Loop Buddy tl;dr: I made a VS Code Extension (Inner Loop Buddy) that opens a browser tab when you run a task I made an extension to automatically opens a browser inside VS Code when tasks are executed. Install it from the VS Code marketplace. Leave feedback on GitHub
30th April 2022, two minutes to read
Demoralized by complexity – a rant Sometimes, software development gets you down. Sometimes a rant about it helps. On the back of my blog post about a simple dev inner loops, I decided I need an extension that would open the internal browser in VS Code when my project opened, or my http server started. Seems simple right?
12th April 2022, six minutes to read
File/New/Project — Simple Developer Inner Loops with VS Code Developer inner loops are critical. Getting them setup requires many steps. I take a few steps to make the simplest cases simple in Visual Studio Code and Panic Nova. You have a programming idea. It’s not complicated, it’s not fancy, and doesn’t matter to anyone but you. You have limited time, and you just kinda wanna get on with it. You don’t want complexity, you’re not looking for “best practices”, and you’re not looking for the latest whizzbang thing. But you do want it to be easy.
5th April 2022, 11 minutes to read
web
Inner Loop Buddy tl;dr: I made a VS Code Extension (Inner Loop Buddy) that opens a browser tab when you run a task I made an extension to automatically opens a browser inside VS Code when tasks are executed. Install it from the VS Code marketplace. Leave feedback on GitHub
30th April 2022, two minutes to read
File/New/Project — Simple Developer Inner Loops with VS Code Developer inner loops are critical. Getting them setup requires many steps. I take a few steps to make the simplest cases simple in Visual Studio Code and Panic Nova. You have a programming idea. It’s not complicated, it’s not fancy, and doesn’t matter to anyone but you. You have limited time, and you just kinda wanna get on with it. You don’t want complexity, you’re not looking for “best practices”, and you’re not looking for the latest whizzbang thing. But you do want it to be easy.
5th April 2022, 11 minutes to read
windows
Generating sharable UWP test certs
25th February 2018, two minutes to read
Update Dec 28th 2020: Visual Studio 2019 no longer generates certificates by default when creating a UWP project (yay), so you don’t end up broken out of the box! Plus, when you go through the ‘Create App Package’ flow, it will ask to create certifcates – when prompted for a password, just don’t enter one, and it’ll do the right thing. Hurrah!
working-from-home
Three Displays, Three Times the Fun, Triple the Pain Turns out, connecting three high resolution displays to a MacBook Pro 13” is a bit bothersome. Getting it just-so, total pain. Worth it. I’ve always liked large displays. Prior to The Distancing™ I was constantly going between meetings & my workspace, so one large 40” monitor sufficed to stop me from being hunched over a 13” laptop display at my desk. With work-from-home, I pined for mo’ monitor. I’ve never been able get into the groove with dual monitors though. With one dead-ahead, one to the side always felt lopsided. If you put one either side of the center, you’re staring at a seam all day; no thank you!
27th September 2020, eight minutes to read
Using embedded and IoT devices with a VPN I needed to connect smart devices to a VPN. Here's what I found Modern embedded devices such as connected media players (Apple TV, Roku, Smart TVs), or IoT (internet of things) devices are constrained in what you, the end user, can change in configuration, and the software you can run. This is for good reasons — providing a secure environment for media devices, or enabling ‘zero maintenance’ of IoT devices.
26th July 2020, seven minutes to read
Thoughts On Working From Home A little waffle on working from home during the pandemic I’ve never enjoyed working from home. I’ve always found it more intense, more stressful, and just, well, generally more. Sure, I’d work from home if I had to (snow storms etc), but in the 16 years I’ve been employed I’d always favour being at work when real work was needed — even when it was on a weekend for just a few hours.
26th July 2020, six minutes to read