Getting into 3D printing
I’ve been doing 3D printing for over five years. Designing and printing things for practical use gives you an appreciation for everyday objects and what makes them useful (or not)1.
Thinking of getting into 3D printing? Here’s some considerations:
Swift Testing: ready for prime time?
I took the new Swift Testing framework out for a spin and used it seriously on a small project.
Conclusion: to me, Swift Testing isn’t ready for serious production use, because either it’s buggy in some important ways, or Apple’s documentation is not specific enough about Testing’s design philosophy and how you should (or should not) use certain features.
My time ratio for “writing tests” to “work out why Testing is crashing” is 1:2 (or worse) at this point.
Testing tools should be well understood and well presented; we trust them with a lot. I think if issues are found with a new framework like Testing, this should be mentioned in the framework documentation.1
Tip: quicker cable recognition
If you have various nests of cables around the place you’re not unusual (USB anyone?). Organising your cable types, and keeping them organised, feels like a classic Sisyphean task.
One way to make things easier is to make your most important cables easier to recognise. Here’s a handy system I use.
Interview home coding tasks: my policy
In recent years there seems to have been a shift in interviews: less pairing exercises and more home coding tasks / projects.
After recent experience of home coding projects pre-interview, I’ve set a policy for my engagement in these tasks. I’m detailing it below, partly to avoid repeating myself to recruiters. Further down I give some reasons and discussion.
Functional Swift: Currying
Currying. It’s one of the stalwarts of functional programming.
Is Currying something you need to know about to be a developer?
Nope.
Is it handy to know about?
Yes. Think of it as a pattern for your toolbox. It can allow some elegant solutions and less code.
Is it weird and esoteric?
No; there’s a certain ‘shape’ to currying code but once you recognise it, there’s no mystery.
How’s your greenfield project game?
Here’s something a lot of devs would like to hear:
I’d say that anyone at senior level (and definitely above1) should have some justified2 thoughts on the greenfield question:
jdupes: file de-duplication tool
This simple guide to jdupes is split into traffic light sections 🚦 based on the danger of the commands.
If you want some file de-duplication test data, there’s a simple repo at https://github.com/alexhunsley/file-duplication-test-data.
Orthogonal flight path intersection: my own solution
After seeing my post on ChatGPT dazzle, a friend asked what the code for that exact problem would look like if I rewrote it in a better way.
I did criticise the original code, so it’s fair that I should show my own version.
Beware of ChatGPT dazzle
I’ve long known about the power of computer visualisation to dazzle and distract, to give cover to bad or poorly supported ideas. The case study I saw at university was about a famous computer animation of the single-bullet theory in the JFK assassination.
This general idea of dazzle pops up in different contexts over the years. Most recently we can see ChatGPT and other AI tools being used in some very low-effort dazzle attempts.
Here’s a recent example in a post from Twitter:
How this site is built and published
Meta-content time!
As the site develops, this post will be updated.