RSSAmplifier

Blog

Dr Ian Hocking

Recent content on Dr Ian Hocking

//ianhocking.com/prog/RSS feed ↗17 posts

Latest posts

Debugging Thumbnails and Previews in macOS Sequoia

Debugging Thumbnails and Previews in macOS 
 If, like me, you’re a macOS developer working with app extensions, particularly those that generate file thumbnails and previews, you might have found debugging these components to be challenging. This post walks through the process of attaching a debugger to thumbnail and preview extensions on macOS Sequoia (15.4.1). It contains pointers that…

What the hell is this thing?

I’ve been looking through old drafts of my novel, Flashback , which features several technologies that did not exist when I wrote it back in 2011. First, a time machine that used centrifuges to create a gravity-based mechanism for sending objects backward in time: fictional, and remains so. Second, a human-brain interface that imposed a donor personality: still science fiction. Third, a…

ChatGPT: Looking into the Abyss

I will always read an article by John Noughton, who is professor of the public understanding of technology at the Open University, where I worked a few years back teaching psychology. In The ChatGPT bot is causing panic now - but it’ll soon be as mundane a tool as Excel he writes: 
 
 at best, it’s an assistant, a tool that augments human capabilities. 
 
 Which I think is a…

Our First Foster Cat, Sheldon

I wrote the below in the late spring of 2021. 
 Small Packages 
 My wife, Britta, went to bed a few minutes before me, calling down, ‘Good night!’ as I was locking the front door. Just before I called back, I thought I heard a stranger say, ‘Good night.’ 
 I called, ‘What did you say?’ 
 ‘Nothing—did you say something?’ 
…

Baker Street

Baker Street is a natural deduction tool for macOS written in Swift. It is open
source and you can view the code on Github . 
 Manual 
 Download . 
 Overview 
 Available for macOS (10.12 -), Baker Street is a free-form tool that helps you produce natural deduction proofs in propositional logic. Use Baker Street to enter your proof, check for errors, clarify relationships…

Solving Sudoku Puzzles with Prolog

Prolog has been a mind-expanding discovery. It is, at once, the most frustrating
computer language I’ve ever used, and the most elegant and expressive. It
works by taking a question about a notional world and trying to make it true. Any
variables that are needed to achieve this truth can then feed into other
questions. Sound weird? It is! 
 Because Prolog is…

Merge Sort and Recursion

One of the trickiest concepts of my MSc in Computer Science is recursion, which
is defined as the act of ‘calling oneself’ . In the context of computer functions, calling
oneself is useful because it means doing whatever the function just did, but
again, on something it has produced. Tricky to get your head around; even
writing that last sentence was difficult! 
 As…

Java Puzzles

I’m not that far into my Java journey, but I’ve come across this interesting
Java puzzle, set by one of my MSc instructors. I’m setting it down here to help
me remember it. The puzzle isn’t unique to our course, and I’ve seen it
discussed elsewhere (not that I searched until I’d given it a thorough
working over privately, first!). 
…

Some .httaccess Settings to Separate my Blogs

Until recently, if a visitor went to https://ianhocking.com , they’d be redirected to my
WordPress blog of several years called This Writing Life . I now want to
move this to one side this so I can give prominence to my new programmer blog .
However, I’d been having trouble keeping the two blogs separate. 
 If a person went to https://ianhocking.com , they’d see…

Login

This Writing Life

Meta

Login: This Writing Life

Using Git Hooks to Automate Blog Publishing

Background 
 This blog is produced from a plaintext Org mode file
that is passed to an org module called
 ox-hugo . Essentially, ox-hugo looks at the
 org file and produces
 Markdown files, which are then
processed by a static website generation framework called
 Hugo . It goes without saying that these
are all fantastic, free tools. 
 My Prior Workflow 
…

Permanently Set File-Local Variables in Doom Emacs

From time to time, it’s useful to set local variables within an org 
file. For instance, I have a file whose subsections I’d like to
encrypt. This being the case, I need to turn off autosave (since this could save
plain text). To do this for the buffer, I add this to the top: 
 # -*- buffer-auto-save-file-name: nil; -*- 
 Emacs is understandably wary of running…

Blogging with Emacs, Hugo and Org Mode

This blog is brand–not to say spanking–new. For a while, this summer, I was in
the process of transitioning out of my current role (a story another time), I
was thinking about updating my web presence. Not that I don’t have one. I’ve
been on the the Twitter and Facebook for a long old time, and my blog dates back
to 2003 . But my online identity focused…

Hello world

Hello! Please consider this blog to be in maintenance mode.

About

Hi, I’m Ian. 
 I live in Cornwall with my wife and cat. 
 Following a successful career in academic psychology researching psycholinguistics
and creativity 1 , I’m now enjoying opportunities
and challenges in my first love, software development. I enrolled on the University
of Kent’s MSc in Computer Science 2 in September 2019 and graduated in
2021with…

Style Guide

Let’s read about how to write posts in Ox-Hugo–after the jump. (This will
probably only work in the RSS.)