Technology Commentary

Technology Commentary

8890 bookmarks
Custom sorting
If KVO is right, why does it feel so wrong?
If KVO is right, why does it feel so wrong?
Let’s do something extremely simple: We’ve got a view controller, it has a user, the user’s got a username, and we want to show that in our navbar title. With an @ in front, because that’s what all the cool kids do these days. Simple, right? - (void)viewDidLoad { [super viewDidLoad]; self.title = [NSString stringWithFormat:@"@%@", self.user.username]; } Yep! That’s all it takes. As long as the username never changes.
·ianthehenry.com·
If KVO is right, why does it feel so wrong?
Why LFI is a tough sell
Why LFI is a tough sell
There are two approaches to doing post-incident analysis: the (traditional) root cause analysis (RCA) perspective the (more recent) learning from incidents (LFI) perspective In the RCA perspective,…
·surfingcomplexity.blog·
Why LFI is a tough sell
hahaha we live in hell
hahaha we live in hell
sitting in my car in a Seattle parking lot. there's a knock on my window. it's an old lady, who asks me "how do we pay for parking?" ---------------------------------------- she's taking her husband to the hospital to see his doctor, but there's a massive road project that has cut off access for months, no end in sight, so she's parked a few blocks away. almost every parking lot in town removed their pay stations years ago. she has a smartphone but no idea how to handle this situation. she never would have figured it out. her words, and I don't doubt her. the lot has three signs hung up with instructions on how to pay, because every single lot in town supports one to five different competing parking lot apps. there's one sign that says you can use Park Mobile, and gives a lot ID, and then on another wall there's a sign that says you can use PayByPhone, with a different lot ID, and then there's a huge sign with a QR code that encourages you to Scan Here To Park, as if it's the official primary method for doing so. It is not, it's just another app. I've scanned these before and gotten an "Instant App." I figure this is minimal friction for this person, so I suggest she do so. she pulls up a QR Scanner app - either because she's been bamboozled into believing that's the only way to get QR support, or because her particular Android phone actually does not have it built into the camera for God knows what reason; I didn't have time to figure out which. at first she struggles to figure out how to change cameras, but this turns out to be only because she's used to every camera app opening with the front facing selected by default; it has actually selected the rear camera, so I help her get it aimed right, and it goes bleep, and then... pops up an ad. i have to stop her before she hits open on whatever sludge is trying to put itself on her device then we get a screen with 30 different elements on it describing different qualities of the QR code. the most prominent is a "Search The Web" button, which would have dumped the scanned URL into Google for some reason and produced irrelevant results; i have to direct her to tap the tiny blue link. that link opens Instant App. Google play prints a huge permissions message; I direct her to accept it. it installs a 16mb app; so what was the point of Instant here, exactly? well, that's moot anyway, because as soon as it opens, it asks for permission, and then simply installs the normal version of the app, 24mb. we get into that. it asks for the street address of the lot. I have never seen this information printed on any parking lot in my life. it suggests several "nearby" options; they are actually half a mile away. unable to figure this conundrum out even for myself, i sigh and walk her through installing Park Mobile, which I know works. i help her find the lot ID. it asks for duration. she picks two hours. it asks for payment. she gets out her CC and types in the info. proceeding to checkout, it then... selects google pay. even though she just put in a CC. she hits proceed, and i go "is that the right card?" and she double takes and goes "...no." i maybe just saved this woman from losing $30 in overdrafts. I direct her to tap the payment options field. nothing. i sigh. "I'm sorry, it looks like you have to tap that tiny pencil icon in the CORNER of the field." yep. finally she's able to select her credit card. she hits proceed. it now pops up the duration selector again. what???? why????? it's back at the default of 1 hour, and she tries to pick two again, but it just won't do it. I happen to know this UI pretty well, so I know that if parking time was actually limited to 1 hour, it wouldn't show the option at all. This is just completely glitched out. with no other options, she just picks one hour, and successfully pays. we both breathe a sigh of relief, and I advise her that if she needs more time, she should be able to just tap a button in the app to extend her parking. I really hope it actually works like I described. throughout all this we had to grant Location permissions at least three times, and each time you have to decide between three options, none of which are "Yes." the one you want is "while the app is open" but there is no way to know this, and nobody alive has ever picked either of the other options. nobody would. i have struggled to write an ending to this post three times. words genuinely fail me.
·cohost.org·
hahaha we live in hell
An aberrant generation of programmers with Justin Searls & Landon Gray from Test Double (Changelog & Friends #11)
An aberrant generation of programmers with Justin Searls & Landon Gray from Test Double (Changelog & Friends #11)
Our friend Justin Searls recently published a widely-read essay on enthusiast programmers, inter-generational conflict & what we do with this information. That seemed like a good conversation starter, so we grabbed Justin and Landon Gray to discuss. Let’s talk!
·changelog.com·
An aberrant generation of programmers with Justin Searls & Landon Gray from Test Double (Changelog & Friends #11)
Structuring your Infrastructure as Code | lbr.
Structuring your Infrastructure as Code | lbr.
If you’re thinking of migrating to another infrastructure as code tool (and why would you, everything is great in the IaC world now, right?!) you might find yourself asking yourself
·leebriggs.co.uk·
Structuring your Infrastructure as Code | lbr.
Musings on depth and speed in analysis
Musings on depth and speed in analysis
Speed and depth as core values in ‘ways of working’ in-themselves seem mutually exclusive. Collating and considering ‘all the facts’ required for making a decision takes tim…
·decisionradius.com·
Musings on depth and speed in analysis
Rob Pike - Array Languages are Important — The Array Cast
Rob Pike - Array Languages are Important — The Array Cast
Rob Pike, co-creator of the Go language and UTF-8, tells us why every programmer should know about the array languages. Host: Conor Hoekstra Panel: Marshall Lochbaum, Adám Brudzewsky, Stephen Taylor and Bob Therriault.
·arraycast.com·
Rob Pike - Array Languages are Important — The Array Cast
Logging Etiquette
Logging Etiquette
Logging etiquette is something that should naturally pop-up in any codebase that grows complex enough (hopefully before it is actually needed the most 😅🤞). When you start having too many simultaneously moving parts, crash reports and stack traces won’t always be enough to understand the underlying cause of a bug, and this is where logs will shine the brightest. If implemented correctly, they might just provide you with the missing puzzle pieces 🧩.
·aclima93.com·
Logging Etiquette
Crafting Collaboration in Elixir: A Case Study of Success in Software Development
Crafting Collaboration in Elixir: A Case Study of Success in Software Development
In this case study, we'll explore how we collaborated to update the system's architecture, handle changes in technology, and navigate the business landscape while nurturing a partnership built on adaptability and shared knowledge.
·atlantbh.com·
Crafting Collaboration in Elixir: A Case Study of Success in Software Development
Praise To The Headless
Praise To The Headless
Praise To The Headless Software Development, API development, Indutrial IOT
·kevwe.com·
Praise To The Headless
Benefits of hybrid search
Benefits of hybrid search
Improve accuracy with a combination of semantic and keyword search
·neuml.hashnode.dev·
Benefits of hybrid search
On Software Design... and Good Writing
On Software Design... and Good Writing
Anchoring my experiences in the wisdom of Akin's Laws of Spacecraft Design, I explore the confluence of software design and the finesse of good writing. Yes, ChatGPT wrote this description, but the article is entirely my own work.
·iximiuz.com·
On Software Design... and Good Writing
Thinking outside the box of code with Leslie Lamport (Changelog Interviews #552)
Thinking outside the box of code with Leslie Lamport (Changelog Interviews #552)
Leslie Lamport is a computer scientist & mathematician who won ACM’s Turing Award in 2013 for his fundamental contributions to the theory and practice of distributed and concurrent systems. He also created LaTeX and TLA+, a high-level language for “writing down the ideas that go into the program before you do any c...
·changelog.com·
Thinking outside the box of code with Leslie Lamport (Changelog Interviews #552)
Two Ways Incident Responders Can Make Sense of Kubernetes
Two Ways Incident Responders Can Make Sense of Kubernetes
Service ownership and process automation are critical to enabling responders to manage incidents and reduce time spent on manual tasks and escalation.
·thenewstack.io·
Two Ways Incident Responders Can Make Sense of Kubernetes
Interrogate Your Software with AI — The Future for SREs
Interrogate Your Software with AI — The Future for SREs
Generative AI is good at capturing, storing and sharing necessary context for determining the severity of incidents, root-cause analysis and postmortems.
·thenewstack.io·
Interrogate Your Software with AI — The Future for SREs
Platform Engineering Is a Bandwagon Worth Jumping on
Platform Engineering Is a Bandwagon Worth Jumping on
Platform engineering is not just about toolchains or internal developer platforms. At its core, it's a discipline that can increase developer productivity.
·thenewstack.io·
Platform Engineering Is a Bandwagon Worth Jumping on