I’m talking to a film producer friend about a make-up prosthesis that includes small lights that need to be remote-controlled. Here’s some thoughts on practical design and safety. Trade-offs loom large in a project like this; the practicalities of filming and production is one of the most interesting parts.
There’s lots of documentation and chat on the web about OpenSCAD. This is good, but it also means some of the things I want to remember are scattered all over the place. So here is a collection of some of useful reminders for OpenSCAD. 1
I’ve experimented with method design at various times and place notation is a very useful tool, but it’s lacking in some situations. Here’s a few ideas for some bolt-ons.
In which your hopeful protagonist describes Million Point Sculptures, and a highly interactive exploration tool written in Metal. In the 1980s there was a wave of fascination with fractals and chaos in popular culture, and several books really caught the imagination of young me. One was Chaos by James Gleick ( un classique ) 1 . Also there were some lovely books by Clifford Pickover, like…
This helper is installable with SPM, see GitHub repo I’ve been using the Swift Testing framework more. Despite my previous grumble I do like the arguments: feature of the @Test macro and how much it can clean up tests: @Test(arguments: [ ( true , 'bob' , 38 ), ( false , 'sue' , 45 ) ]) func testUserPermissions (isBasketEmpty: Bool , username: String , age: Int ) { #expect( ... ) } The…
The orth concept in 2D geometry and graphics is where, given some vector, we find a vector (line) that is at right angles to the original. We have a tiny bit of choice about how to do it – we can pick a vector to the left, or to the right – but it’s very simple (more here ). The equivalent function in 3D is one of those odd little problems where you are given some freedom with…
I want to mention the concept of walkabout and then go for a meander with the ohmaps idea. The idea is to eventually look at if the ohmap extends from resistance (DC behaviour circuits) to impedance (AC circuits) in any useful way. Let’s go walkabout For quite a lot of years I would go walkabout and not really thinking about what that meant. Walkabout is my expression for when I’m…
I introduced ohmaps in parts 1 and 2 and looked at some simpler examples. We looked at parallel and series resistor networks (and combinations of those): And I wrote this: And not every resistor network can be shown as an ohmap – things outwith simple series/parallel nestings, like delta or Y networks. It turns out I was a little hasty here. So how might ohmaps cope with more interesting networks?
I’ve been meaning to look into PCB fabrication forever, and it’s time, baby. What would I make for my first small PCB? I settled on designing an educational demo board for capacitors. I call it cap-fun . Capacitor demo boards are nothing new, but I’ve remixed things a little because the usual designs hide some nuances of capacitors that I think can be easily demonstrated.
A recent news story was about doctors not knowing the basics of Bayes’ theorem: they were asked a basic question about false results on a disease test. A lot of them flubbed it. Let’s be fair: I wouldn’t expect most doctors to be able to regurgitate Bayes law or do an applied example. I would expect them to say “That question is more complex than it sounds”, rather…
I’ve exhibited at Colony of Artists several times, a vibrant art festival at Abbeyhill Colonies in Edinburgh. One of the things I was showing and selling was my tesselation pieces: designs inspired by MC Escher’s work, particularly matamorphosing tesselations. Some of these pieces play with negative space and the transition from 3D to 2D:
These are notes from a workshop I gave on Snare technique for Beltane 2021 (Acropolyptic). The target audience is someone learning basic technique from the ground up, particularly in the context of processional drumming (playing a single drum). But the skills can equally apply to kit drumming etc. Developing snare technique is hard. It can take ten hours or more practice time to start solidifying…
Sometimes I do some GLSL or similar: much graphics and geometry. I usually scribble down some back-of-envelope variant of the usual geometry equations, but I’ve never consistently decided what to call things or how to write them down. Here I’m setting down the notation I’m going to use, and capturing the definitions. Reference pseudo-implementations are given too (Swift). The…
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:
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…
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.
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.
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…
Here’s something a lot of devs would like to hear: We’re doing a new project from scratch, you’re in the hot seat. Go! I’d say that anyone at senior level (and definitely above 1 ) should have some justified 2 thoughts on the greenfield question : What technologies should this new project use?
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 .
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.
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…
I’m a big fan of Flour Water Salt Yeast , Ken Forkish’s epic book on fancy bread 1 . Hence I’m writing a recipe app for fancy artisanal bread and pizza. For these loaves the ingredient calculations go a bit beyond bog standard bread 2 .
Here’s a few details about the weird clocks in the previous post The Lost Clock Emporium . The clocks are all regular analogue clocks (rotation aside), with the exception of Hades’ Timepiece, which has numbers and hands going counter-clockwise (so a mirror image of a normal clock). The entire clocks are rotating clockwise at these rates (per day):
I can’t remember exactly how I ended up at the Lost Clock Emporium. I do remember brushing by disturbed looking people making their way out. “Clock a load of you!”, the proprietor muttered, before looking up. “Sorry, no time for introductions, I have things to show you.”
If you’re working with image processing and discrete Fourier transforms (frequency analysis/filtering) 1 you need test images, and possibly even videos. Xor Xor Gabor 2 is my name for an easy to make test image (and video) that is a nutritious source of frequencies: $$ i = x \oplus y \tag{\(0 <= x,y < 2^L\)} $$
More on Ohmaps: component failure battles, limitations, ambiguity… Disclaimer: I am not an electrician. Nothing here is electrical advice/expertise. Insure your garments.
Occasionally there’s a lovely moment when I’m working on a problem and I realise I’m also looking at some other thing that seems completely unrelated. It’s like a metaphor made flesh. These ‘ isomorphism moments’ can be powerful because the two seemingly unrelated things can give you insights into each other. Their commonality encourages you think about the essential thread running through them…
This is the first of a few notes about combinatorics and probability. Simpler concepts first, and eventually might get to stuff like analytic combinatorics. I’m interested in the point where more simple combinatorics and multinomials become blunt tools and we have to move to higher concepts like generators and species.
I’m a computer scientist and developer with over 25 years industry experience. I’m a veteran iOS developer (since 2009). I’m writing about software development, maths, electronics, making, art, music, and a few curiosities. If you think you understand something, try explaining it to someone. I’m keen on The Composable Architecture and Point Free . I’ve worked in and with a wide…
dev How’s your greenfield project game? Functional Swift: Currying Interview home coding tasks: my policy Swift Testing: ready for prime time? Graphics and projective geometry: equation reference Tesselation project (and a simple concave polygon hit test algorithm) Graphics & geometry: the orth function in 3D Swift Testing: an ergonomic combination helper electronics Ohmaps: your image montage is…
How to use this touch reference: The table lists rotations of the touch calling (when it’s multiple part and worthwhile). The stable bells are the easiest to call from: they do the same thing in every part of the touch. The part cycle tells us what the other bells are doing: for example, (243) means that 2, 4 and 3 cycle through each other’s starting point in each part (2 → 4 → 3 → 2).
We tend not to chase named rows in Little Bob, but here’s a few touches for Minor with Queens, Tittums. Called from tenor unless stated otherwise. No 65s at back. Length Touch Call as Music ATD 72 PBSPSBPPP W s(3rds) s(2nds) W Q 1.27 112 PPSBPBPPBPPPPS s(3rds) H W H sH Q, T(h) 1.12 120 PSPPPPSPPSPPPPS sW x2 sH x2 repeated Q(h), T(h) 1.22 144 PPSBPS x3 From 3rd: sW, In, s(3rds) x3 From 4th:…