Will's avatar

Farewell, Nextcloud 15 May 2025

Nextcloud was probably my first foray into proper self-hosting. I ran it on Linode for a few years before moving it to run at home over Tailscale. It was my self-hosting gateway to all there was to come – from RSS aggregation through to HomeAssistant, recipe management, and business and … Read more (5 minute read)

The UK Online Safety Act 30 December 2024

About the Act In March, the Online Safety Act comes into force for UK online services. The Act attempts to curb the spread of harmful content online and puts the onus on the service providers to ensure that online spaces are kept safe from such content. The Act applies to services that involve … Read more (6 minute read)

Improved home printing 20 December 2024

Who still owns a printer, anyway? For some reason, I have a printer at home. I think I bought it for printing wet signature-requiring legal documents a few years back, and buying a printer was cheaper/easier than getting things remotely printed and posted back to me. It’s a cheap-ish Brother … Read more (5 minute read)

Using aerc as my daily email client 22 October 2024

TL;DR (can I see your setup?): see this note. – I’ve now been exclusively using aerc for my day-to-day email workflows for a few months. This has been my first proper foray into using terminal-based mail clients as I never fully got around to trying other ones, such as Mutt (and … Read more (3 minute read)

My Knowledge Base With "nb" 22 September 2024

Whilst browsing my GitHub home feed a little while back (not something I’m in a habit of doing, generally), I stumbled upon the command line journaling tool jrnl. I thought it looked interesting, and so subsequently posted about it and had a good discussion on this and alternatives over on … Read more (5 minute read)

Ramblings on Hypermedia APIs for Pure Web Applications 7 September 2024

Many moons ago I would write web applications using technologies like PHP or Python to directly serve web content – often using templating engines to more easily handle data display. These apps would thus ship server-side rendered plain HTML, along with a mix of browser-native forms and AJAX … Read more (8 minute read)

Borgtastic Backups 19 August 2024

Restic has been my go-to backup tool for many years, and I’ve used it for a wide range of workloads – including for managing filesystem, Postgres, Photoprism and Vaultwarden backups. At the point I was researching suitable backup options for these cases, and considering my personal … Read more (3 minute read)

Becoming a Dad Through Adoption 15 July 2024

A few months ago, the boy that my husband and I are in the process of adopting came to live with us for good. It was such an incredibly amazing day, full of a mixture of hugely strong emotions, that I’ll certainly never forget. Despite there being (potentially) still months to go before the … Read more (18 minute read)

'Valuable Humans in Transit and Other Stories' and 'There is No Antimemetics Division' by qntm 2 July 2024

It’s not too often that a book really makes you think – whether this is about yourself and your own position in the universe, or just about bizarre or interesting concepts. I’ve recently happened across a couple of books written by qntm that definitely do both of these things: … Read more (2 minute read)

Cross-publishing web content to Gemini 1 June 2023

My personal website is generated using Hugo, which allows me to write nearly all of the actual content itself in plain markdown files. I also maintain a Gemini capsule (hosted at gemini://wilw.capsule.town). For a while I’ve wanted to be able to add more content to this capsule, and to try and … Read more (2 minute read)

CI/CD with Woodpecker and Gitea 23 April 2023

Some of my personal projects are beginning to get larger and more complicated, often involving different front-ends and services that all need to be separately built and deployed. Managing all of these is taking away more of my personal time, and I’ve been on the look-out for a good CI/CD … Read more (2 minute read)

Thoughts on book logging 24 March 2023

I’ve been a member of Goodreads since 2013. I follow a few of my friends and family on there, and whilst it was nice to see the types of things people are reading, I only really ever used the service as a way for logging what I had read. The other social aspects didn’t keep me coming … Read more (2 minute read)

A question about encryption for self-hosting 5 March 2023

I self-host a number of services - Nextcloud, FreshRSS, PhotoPrism etc. - at home on a Raspberry Pi. Attached to this Pi is a large SSD to hold the service data and configuration, and all of this is periodically backed-up via Restic to a remote site. The SSD is simply formatted with ext4, and the … Read more (3 minute read)

Window management workflows on macOS 10 December 2022

macOS window management Every Mac user seems to have a different way of managing their open applications and windows. Some people prefer to view each window in “full” mode, in which they take up the entire display and the user can cycle apps or use the dock to change the active window. … Read more (3 minute read)

From Google and Apple Photos to Photoprism 25 November 2022

A history of media storage solutions Back in 2021 I blogged about how and why I wanted to switch from Google Photos as a storage solution (and source of truth) for my life’s photo and video library. The post compared several solutions, such as Piwigo, Mega, and Nextcloud. In that time … Read more (5 minute read)

Tailscale: multi-service HTTPS on a single machine 27 October 2022

Update 2024-09-01: I have since written a note on Tailscale Sidecars which provides a more elegant solution to this problem. I have left this post here for posterity. HTTPS on Tailscale Tailscale’s HTTPS feature is an excellent tool for adding TLS connections to web services exposed over the … Read more (4 minute read)

Note-taking apps: Bear and Joplin 2 October 2022

The Bear notes app has been my go-to notes app for Mac, iPhone, and iPad for some time now. It’s got a great UX, a customisable UI, and is one of those apps that feels like a (clichéd) “delight” to use. Some of my gripes with Bear (and CloudKit in general) Bear is written … Read more (3 minute read)

Re-Building my Website with Hugo 3 September 2022

GatsbyJS For several years I’ve been using GatsbyJS to generate the static site content for this website. Gatsby is a great tool and produces blazing-fast websites through the use of an interesting combination of technologies. In Gatsby, pages are simply React components, and developers can … Read more (6 minute read)

Making Tax Digital and Plain-Text Accounting 30 July 2022

HMRC’s Making Tax Digital Making Tax Digital (MTD) is part of the UK Government’s plan for modernising the tax system for both businesses and individuals. For years, HMRC (the Government’s tax department) has had an online tax system that is infamously complicated and slow to use … Read more (3 minute read)

Switching-up my workouts 🏋️‍♀️ 20 July 2022

Starting to workout I’ve worked out every day - pretty much - now since March 2020. The only days I’ve missed were because of illness (Covid), or another reason that made it physically (e.g. my dislocated shoulder) or logistically (e.g. during travel) impossible. These workouts have … Read more (4 minute read)

My setup for coding on iPad 12 June 2022

Since getting a Magic Keyboard for my iPad Pro, I’ve been using the iPad for many areas of work for which before I would have needed a laptop. In fact, last week I was able to use the iPad full-time when at work in our new office space, and I didn’t need to reach for my MacBook once. … Read more (6 minute read)

Parcel to the rescue 25 May 2022

Earlier this week I needed to make some changes and re-deploy an old Vue app. I hadn’t touched the codebase in over a year, and my experience with the rate of change in the front-end web space made me dread what would happen if I tried to re-awaken this thing. Sure enough, after running a yarn … Read more (3 minute read)

Simple Ledger visualisations using Python 24 April 2022

If you’re a current follower of this blog then you may already know that I’m a bit of a fan of using plain text accounting for managing finances. I mainly use the Ledger text file format and CLI tool for bookkeeping and reporting on finances. This works great, and I can quickly and … Read more (7 minute read)

On alcohol 12 April 2022

Whilst my days of binge drinking as a student are thankfully far in my past, alcohol is still an ongoing, yet much more minor, part of my life. Like many millennials (and I’m sure it must be the same for other generations too), we got used to it as a mechanism for socialising. Whether this is … Read more (3 minute read)

Self-hosting apps and services using Traefik reverse proxy 9 April 2022

I often talk about self-hosting on this blog, and I’m certainly a big fan of being able to control my own data and systems wherever possible (and feasible). I’ve recently switched from using Nginx to Traefik as a reverse proxy for my server and for terminating TLS connections. In this … Read more (7 minute read)

Interacting with a Nextcloud instance deployed with Docker 28 January 2022

If you’ve ever run your own Nextcloud before, you may have noticed screens like the following in your instance’s settings pages. The messages advise a number of maintenance procedures to help ensure the smooth running of your instance. These could be to run database migrations or to … Read more (2 minute read)

The future of the decentralised web: thoughts on web0 and web3 21 January 2022

I recently signed the web0 manifesto, which embodies many of the values I consider to be important when it comes to technology - and the web in particular. web0 is the decentralised web… web0 is web3 without all the corporate right-libertarian Silicon Valley bullshit. – The web0 … Read more (8 minute read)

Completing the #100DaysToOffload challenge 13 January 2022

Twelve months ago - in January 2021 - I started my attempt at the #100DaysToOffload challenge. I had set myself a new year’s resolution to try to write more and, around the same time, I noticed the hashtag for the challenge circulating on Mastodon. It seemed like the perfect opportunity to fulfil my … Read more (7 minute read)

Browser push notifications in a Flutter web application 18 December 2021

🎉 This is post 100 in my attempt at the #100DaysToOffload challenge! For a couple of years I have been writing mobile apps using the Flutter framework, having previously been a React Native advocate. Flutter is a great tool for writing applications that target multiple platforms and architectures … Read more (6 minute read)

Moving my Matrix identity to Element One 15 December 2021

For as long as I’ve been using Matrix I’ve hosted my own homeserver on my own VPS and at my own domain. Why I chose to move I previously wrote about how I self-host my homeserver with the help of the Synapse project. Although this set-up is quite straight forward, it’s an extra … Read more (4 minute read)

Nextcloud for photos: using cheaper object storage 11 December 2021

Some people may remember my quest a few months back to find a good alternative to Google Photos for image storage and backup. At the time, I talked about Piwigo, Mega and pCloud as potential candidates. I also briefly touched upon Nextcloud in that post - a service I use (and self-host) anyway for … Read more (7 minute read)

The Idiot Brain by Dean Burnett 8 December 2021

Dean Burnett’s The Idiot Brain is an interesting insight into why people think the way they do, personality, emotion, and the biology of the brain. The author (who happens to live in the same city as me: Cardiff), covers a wide range of examples of human behaviour and relates them to brain … Read more (1 minute read)

Parse and process incoming emails in a web application 5 December 2021

Most applications include some sort of outbound transactional email as part of their normal function. These email messages could be to support account-level features (such as password-resets) or to notify the user about activity relevant to them. In the latter case, such emails might be read, and … Read more (6 minute read)

Open-sourcing projects 2 December 2021

I maintain a small number of projects in my spare time. The amount of time I get to work on and maintain these varies depending on my other workloads. The projects were never designed to be a means of making additional income, and were usually created simply to solve a need that I (or somebody else … Read more (1 minute read)

Server back-ups with Restic 27 November 2021

A while ago I posted about how I back-up my personal servers to Backblaze B2. That approach involved adding all of the files and directories into a single compressed archive and sending this up to an encrypted bucket on B2. Whilst this does achieve my back-up goals (and I use Telegram to notify me … Read more (5 minute read)

Nightfall City 25 November 2021

From the hills of Dusk’s End to the small alleys of Main Street, you feel drawn to the lights of this vibrant metropolis in an uncharted internet territory. The sign reads “Nightfall”. – Nightfall City The Nightfall City Gemini capsule (also available via the web) is an … Read more (2 minute read)

Webzines 20 November 2021

I’ve really enjoyed my recent discovery of a couple of traditional-style webzines. Webzines (sometimes referred to as online magazines, or - in this instance - simply “zines”) are a way of distributing periodic content through the web. I’m not referring to modern-day online … Read more (1 minute read)

Rebel Ideas by Matthew Syed 17 November 2021

I feel that this book really resonated with my own thoughts around the importance of diversity in groups and teams. Matthew Syed’s Rebel Ideas: The Power of Diverse Thinking is a book that examines how effectiveness and output can be dramatically altered through building teams that contain … Read more (2 minute read)

On websites and creativity 13 November 2021

I’ve recently been reminiscing about the “old” days of the web. They felt much more like expressions of personality and creativity. These days, most people have social media accounts on mainstream services that act as their sole representation of themselves online. Whilst the … Read more (2 minute read)

Our DIY bathroom project 10 November 2021

I’ve recently posted about our home, in which we’ve completed a few DIY projects, such as renovating the garden and building a small loft conversion (amongst other things!). Today I’m writing about a project we did on the bathroom in the house. When we first moved into the house, … Read more (5 minute read)

Automatically scanning for malicious user-uploaded files 6 November 2021

If you run a service that accepts file uploads from users, and then subsequent re-download by other users (such as images), then your service is potentially at risk of becoming a system for distributing malware. Without safeguards in place, bad actors could potentially use your service to upload … Read more (5 minute read)

A little trip to A&E 3 November 2021

On Sunday I slipped and fell in the pouring rain. I landed hard on my side and ended up dislocating my shoulder. I didn’t really want to try risking it and putting it back in myself (sensibly, as it turns out!), so I got a taxi to A&E (an emergency ward in UK NHS hospitals). I was lucky … Read more (1 minute read)

Thinking positive 30 October 2021

It’s been a weird 18 months. Before pandemic-initiated changes, our daily lives might have involved getting up and travelling on some form of commute (either by walking, public transport, car, or something else) to a place of work each morning, before reversing the process every evening. From … Read more (5 minute read)

Taking FreeBSD for a spin 29 October 2021

Background I’ve recently noticed (and read) more and more posts discussing *BSD systems. Creations like the new (and excellent) OpenBSD Webzine and blogs (such as Rubenerd’s and Solene’s) do a great job in raising awareness of the family of operating systems. I’m pretty … Read more (5 minute read)

A mini loft conversion 24 October 2021

Following on from my previous post about renovating our garden, I wanted to write an entry about another project we’ve recently completed. Our home is a Victorian townhouse over three storeys, but the top floor has only one bedroom and a bathroom. The rest of that floor is essentially attic … Read more (3 minute read)

Extraterrestrial by Avi Loeb 23 October 2021

I often enjoy books that try to take a different view on known events. I don’t mean consipiracy theory - more around thinking laterally or “out of the box”. Such ways of thinking often inspire ideas that drive innovative change, and it’s important in order to counter … Read more (2 minute read)

This Week in Tech (TWiT) 17 October 2021

Another podcast I frequently listen to likely needs no introduction of its own. The This Week in Tech (or just “TWiT”) network’s flagship podcast - also called TWiT - must be one of the longest-running tech podcasts. The podcast series started back in 2005. It runs weekly, with … Read more (1 minute read)

Giving a talk at the BSV Wales meet-up 13 October 2021

Last week I gave a talk at the Bitcoin Association BSV Meet-up for Wales, hosted by Tramshed Tech in Cardiff. Before learning about this meetup, I had not heard of BSV - either from a technology or currency perspective. However, as well as promoting an interesting project, the event welcomes … Read more (1 minute read)

Dotty 11 October 2021

A few years ago I was in the position of needing a solution to backup and sync dotfiles (configuration files for various pieces of software) across my machines. Specifically, I had Mac computers and Linux servers, and needed a way to nicely keep these files up-to-date between them. For example, I … Read more (2 minute read)

This is Going to Hurt by Adam Kay 6 October 2021

Having recently read The Secret Barrister, which I loved, I was recommended to also check out This is Going to Hurt by Adam Kay. The book is similar to the Secret Barrister in that it’s a collection of insights and stories from a working professional - this time a hospital doctor. The book is … Read more (2 minute read)

Pinephone: Manjaro and Phosh 2 October 2021

It’s been a few weeks since my last post about the Pinephone. Since then I have been playing further with a different graphical shell and have been trying out new applications. In that previous post, I noted a few points that made the phone tricky to use as a daily-driver. However, it should … Read more (3 minute read)

The Secret Barrister: Stories of the Law and How It's Broken 30 September 2021

The Secret Barrister: Stories of the Law and How It’s Broken is an oustanding book. In my opinion it is easily the best book I have read in the past year - certainly the most interesting. The book is written by an anonymous barrister working in the criminal justice system for England and … Read more (2 minute read)

Two months with Duolingo 25 September 2021

English speakers’ privilege I’ve always been crap at learning languages. From an early age my parents would encourage me to learn French, and I picked up Spanish and German at around the GCSE level too (exams we take around the age of 16 in the UK). But things just didn’t really … Read more (4 minute read)

Accessibility is for everyone 22 September 2021

For many developers, the notion of adding accessibility features - such as image alt text attributes to web page images and integrations with host usability enhancements, such as screen-zoom and text-to-speech - might feel like a chore. Especially for those still in the startup or “do things … Read more (3 minute read)

Pacman: signature is unknown trust 19 September 2021

I was performing a standard system upgrade on an Arch server this morning and received the following messages (maintainer details redacted): $ sudo pacman -Syyu ... # Download of packages (159/159) checking keys in keyring [######################] 100% (159/159) checking package integrity … Read more (1 minute read)

Twitter Learnings 18 September 2021

I recently wrote about reviewing my Twitter usage, with the aim of discovering any constructive takeways I get from the platform that warrants me keeping it installed as an app on my phone. The up-shot is that I have now removed it. I didn’t delete my account as there is still enough value in … Read more (2 minute read)

Columbus Day by Craig Alanson 12 September 2021

Having recently read Project Hail Mary - and rated it highly - Goodreads suggested I try Columbus Day by Craig Alanson. This is the first book in the Expeditionary Force series - one that I hadn’t yet heard of at the time. Although it’s sci-fi, the book is set in the modern-day. Earth … Read more (2 minute read)

Using Telegram bots to receive updates from your automated systems 9 September 2021

The need for notifications I self-host several services on various servers - for both some professional and personal uses. I use automated backup scripts to periodically sync data to Backblaze (which I recently posted about). However, once they were setup I would often worry about whether they were … Read more (4 minute read)

Twitter is still too addictive 7 September 2021

TL,DR; I’m starting a Twitter diary to log interesting findings, and to measure its value to me. Twitter is pretty much the last bastion of mainstream centralised social media that I use (aside from messaging services like Whatsapp and Telegram). Although I primarily use Mastodon for my … Read more (4 minute read)

SSO Tools 2 September 2021

Another project I try to maintain (when I can!) is SSO Tools. This is a simple web service that aims to help developers test their own services’ single sign-on (SSO) functionality. The motivation behind the project was that many commmercial offerings were too expensive for solo developers, or … Read more (1 minute read)

Darknet Diaries: True stories from the dark side of the Internet 29 August 2021

Another of my favourite podcasts is Darknet Diaries. Created and presented by the excellent Jack Rhysider, Darknet Diaries releases new episodes fornightly. Each episode contains a true story from the “dark side of the internet” and includes content related to cybercrime, hacking (in the … Read more (1 minute read)

Stripping sensitive EXIF data from uploaded images 28 August 2021

The problem with image uploads Many services - including web and mobile apps - allow for their users to upload imagery. This could be to enable users to upload an avatar image or perhaps create a gallery of image files. Either way, many photos contain some degree of sensitive metadata information as … Read more (7 minute read)

Adding 'dark mode' and dynamic theming to your React websites 21 August 2021

Adding theming and the choice between “light” and “dark” modes to your website can enhance your site’s accessibility and make it feel more consistent with the host operating system’s own theme. With JavaScript (and React in particular) this is easy to do, as … Read more (8 minute read)

Starting out with BookWyrm 20 August 2021

For several years I’ve been a user of Goodreads. It’s a very popular platform, and I primarily use it for keeping track of the books I’ve read, for receiving suggestions about new books, and for keeping up with what some of my friends are reading. It’s a good service (though … Read more (2 minute read)

Fixing up our outside space 14 August 2021

About 18 months ago we bought a new home. The house is an 1880s (ish) Victorian building, and many of its original features - such as tile floors, cornice, and fireplaces - had been retained, which is great. It had previously been a student-style (HMO - house of multiple occupation) house, in which … Read more (3 minute read)

Treadl 13 August 2021

I don’t tend to talk much about the projects I’m working on, but thought this would be a good opportunity to write a post about one such project - Treadl. Treadl is a web app (and more recently and less popularly a mobile app too). It enables weavers to create and store their weaving … Read more (2 minute read)

Pinephone update: the first few weeks 9 August 2021

Back in April, I bought a Pinephone. I used the phone quite consistently for the first few weeks and I meant to write an update here a couple of months back, but work (and other things) got in the way a bit. So, here is my delayed “first few weeks with a Pinephone” update. As mentioned, … Read more (4 minute read)

My development stack 4 August 2021

Some people have complex development processes and flows - making use of tools such as heavy editors and IDEs, Docker for running and building locally in development, or even develop entirely remotely over SSH connections. Other people use simpler combinations of tools. I thought I’d write … Read more (2 minute read)

Our first few months with a dog 3 August 2021

About nine months ago - at the end of November last year - we adopted a dog. Although I’ve always grown up with and around dogs owned by parents and siblings, I’ve never been a huge “dog person” myself. However, it is very easy to get attached very quickly! The dog we adopted … Read more (2 minute read)

Code syntax highlighting in Gatsby 28 July 2021

Providing code snippets on your website or blog can be a great way to convey meaning for technical concepts. Using the HTML pre tag can help provide structure to your listings, in terms of spacing and indentation, but highlighting keywords - as most people do in their code text editors - also vastly … Read more (2 minute read)

Capsule.Town 27 July 2021

The Gemini protocol has gathered even more momentum in the few months since I last posted about it. Its popularity is largely driven by its privacy-focused and content-oriented design. It doesn’t allow for bloated sites or resource-hungry client-side scripting. It’s a means for simply … Read more (2 minute read)

Accidental Tech Podcast 26 July 2021

I listen to a number of podcasts each week. One of these is ATP (Accidental Tech Podcast). This is one of my favourite weekly podcasts. It’s humurous and full of cutting-edge discussion from the tech world, and I always look forward to new episodes. The episodes are primarily Apple focused, … Read more (1 minute read)

Generating video previews in webapps 19 July 2021

Many web apps have support for uploading video files. Whether it’s a media-focused platform (such as a video sharing service) or just offering users a chance to add vlogs to their profile - videos are a powerful mechanism for distributing ideas. For services providing image upload … Read more (2 minute read)

The Night Circus by Erin Morgenstern 14 July 2021

Every now and again it’s nice to dive back into a young adult book. I recently read The Night Circus by Erin Morgenstern. The book is a sort of dark romantic/fantasy mashup. It’s about a travelling circus, those who perform in it, and those who run it. Le Cirque des Rêves is not just any … Read more (2 minute read)

Syncing RSS feeds with FreshRSS 12 July 2021

I enjoy reading my RSS feeds across my devices - whether it’s on my phone when out and about, my Mac in between bouts of work, or my iPad when in downtime. Being able to sync feeds across these devices is important to me, both so I can maintain a single collection of feeds and to ensure that I … Read more (2 minute read)

The '5AM Club' 7 July 2021

Recently my colleague was talking to me about the concept of the “5AM Club”, as defined in the book by Robin Sharma. The “Club” is focused around starting your day early, with defined time slots for exercising and thinking. There’s a great video here that summarises it … Read more (2 minute read)

How to resize images client-side in your webapps 6 July 2021

The problem Image processing and resizing is a common task in many types of applications. This is made even more important by modern phones that take photos several megabytes in size. For example, if you offer an application that allows people to choose an avatar image, you won’t want to … Read more (4 minute read)

Project Hail Mary by Andy Weir 5 July 2021

Andy Weir has become renowned over the past decade for his science fiction novels. The Martian (and its movie) was hugely enjoyable and successful. I wasn’t so keen on Artemis, but still did enjoy the excitement of the story. I thought his latest book - Project Hail Mary - was fantastic. The … Read more (2 minute read)

Using Blurhash to create placeholders for your images 30 June 2021

Loading indicators In user-facing software, loading indicators are extremely important to let your users know that something is happening. This is the same no matter whether your software is a CLI program, a GUI application, a web app - or anything else. Without such indicators, users of your … Read more (6 minute read)

Self-host your web searches with Whoogle 24 June 2021

Google and DuckDuckGo It’s common knowledge that part of Google’s business model is to use the data it knows about you, your searches, and browsing patterns in order to more effectively serve ads. Many people feel uncomfortable with this and so there is a strong movement to adopt more … Read more (3 minute read)

Joining a panel at Wales Tech Week 23 June 2021

Wales Tech Week is an annual event held by Technology Connected. The 2021 event is running this week, aiming to bring technologists together from a wide range of businesses and organisations across Wales. Today, I was a member of a panel discussing blockchain - “Welsh Businesses Bringing … Read more (1 minute read)

Anxious People by Fredrik Backman 19 June 2021

Anxious People is a book about an attempted bank robbery in a Swedish town (not Stockholm!). It is written by Fredrik Backman. The story involves a would-be bank robber arriving unexpectedly at an open apartment viewing whilst trying to run away, and taking the prospective buyers hostage in the … Read more (2 minute read)

Tmuxinator: simple terminal workspaces for your projects 18 June 2021

Living without workspaces IDEs and richly-featured text editors - such as VS Code and Sublime Text - support many great features. One of these is the notion of projects or workspaces. Such workspaces let you save your project’s development configuration to disk - things like the project … Read more (5 minute read)

RSS: include your entire posts in your feeds! 12 June 2021

Recently I’ve noticed that some of the RSS feeds I subscribe to have become more and more restrictive. A post might contain just a title, or perhaps a short snippet or introductory paragraph, with the expectation that I then proceed to follow the link to visit the website itself in order to … Read more (5 minute read)

City-centre beekeeping 11 June 2021

Getting and “installing” the nuc For his birthday a few years back, I bought my (now-)husband a beehive and a honeybee nucleus. Some might see this as a strange gift, especially given that we live close to the city centre. It was certainly a surprise for him, but given his love for … Read more (14 minute read)

Married 10 June 2021

Just a quick post to say that I recently got married! By coincidence the event was three years to the day after our engagement. It was a lovely day - great weather and really nice to see those that could attend. Hopefully we’ll get a chance to go away later in the year if/when things start … Read more (1 minute read)

I can't play games anymore 2 June 2021

Growing up and the “Warcraft years” In my earlier years I was fairly into gaming. I was definitely only ever a “casual gamer” in the scheme of things today, but I would play at least a small amount of something most days. When I was young it was mainly those games based on … Read more (4 minute read)

The H.G. Wells Classic Collection 26 May 2021

The Classic Collection of H.G. Wells novels contains five well-known stories: The War of the Worlds, The First Men in the Moon, The Time Machine, The Invisible Man, and The Island of Doctor Moreau. Despite the fame of these novels, I had never read any of them until I recently listened to them via … Read more (3 minute read)

The networking mall 23 May 2021

Someone non-technical recently asked me the question, “what actually is a server?”. They knew it was just a type of computer that runs somewhere that can be accessible over the internet, but they were interested in how they differ from “normal” computers. The conversation … Read more (5 minute read)

How I back-up my personal server 18 May 2021

For a couple of years now I have been using a self-hosted Nextcloud as a replacement for iCloud and Google Drive. I won’t go into the details as to why (especially given the additional upkeep and other overheads required), as this has been covered before - but mainly it’s about … Read more (5 minute read)

Running 12 May 2021

The effects of working from home The UK went into its first proper COVID-induced lockdown back around March time last year. At this time, our company locked its office doors and we all began working from home. We’re now all still working remotely about 14 months later and will continue to do … Read more (6 minute read)

Self-hosted notes and to-do lists 9 May 2021

In this post I will talk a little about how I handle my digital notes and to-do lists. In the spirit of my last post on data sovereignty, the focus will be on self-hosted approaches. To-do list management It feels odd that the first task many new technical frameworks guide users through, by way of a … Read more (5 minute read)

Data Sovereignty 5 May 2021

The term ‘data sovereignty’ is something we hear much more about these days. Increasingly I’ve also heard it being mentioned in different contexts. We’ve seen it more in the world of enterprise SaaS; particularly in the case of UK-based public sector organisations amid … Read more (2 minute read)

Go Time 4 May 2021

I listen to a number of podcasts each week. One of these is Go Time. The Go Time podcast releases episodes every Thursday. Its format is mostly comprised of panel discussions and interviews with founders and specialists in the community about the Go programming language. Episodes are usually between … Read more (2 minute read)

Starting out with the Pinephone 27 April 2021

As you may know, I recently purchased the beta edition of the Pinephone. It arrived last week in the Pinephone Beta Edition box shown below. As mentioned in my previous post on the subject, I bought the phone for purely experimental purposes, to get involved in the community, and to be a part of the … Read more (3 minute read)

My appearance in the Wales "35 Under 35" 26 April 2021

This is a bit of a vanity post, but back in December I was lucky enough to be included in the 2020 WalesOnline “35 Under 35”. This list aims to present the “best young businessmen in Wales” for the year. It was definitely an honour to be included and it’s great to see … Read more (1 minute read)

Steve Jobs by Walter Isaacson 25 April 2021

I was recently asked whether Steve Jobs was someone that inspired me. It’s a difficult question, I find; he’s definitely an inspiring person in the sense of his work ethic, the products he envisages, and his way of understanding the needs of the target customer better than they know it … Read more (2 minute read)

The Giver of Stars by Jojo Moyes 18 April 2021

The Giver of Stars by Jojo Moyes tells the story of a young English woman - Alice - who marries an American man and moves to a small town in Kentucky in the late 1930s. Not long after arriving in Kentucky Alice realises she may have made a mistake when it comes to her new husband. However, the real … Read more (2 minute read)

Reporting business accounts using Ledger 17 April 2021

As is the case with many countries, all businesses in the UK must report the state of their financial accounts to the relevant inland revenue service at their year-end (in the UK, this is HMRC). This is also the case if you are a freelancer or sole-trader (or if you’ve made other untaxed … Read more (4 minute read)

Six months of Invisalign 12 April 2021

Back in November I started an Invisalign course to help straighten my teeth. Invisalign works like traditional braces, but is instead formed from transparent teeth “trays” that others can only really notice up-close. Given my personal situation, this seemed like a better approach than … Read more (4 minute read)

Is Facebook scraping the Fediverse? 7 April 2021

I don’t use Facebook often. In fact, I only have an account currently because our company uses the “Login with Facebook” functionality in order to offer an additional single sign-on option for some customers. I logged-in today as we needed to update some of the app’s … Read more (2 minute read)

From Apple Mail to Spark to Thunderbird 4 April 2021

Like many people, I own and manage multiple email accounts - for example, some are for work, for home, or for specific projects. I used to be a strong user of solely web-based email clients (such as Gmail or Fastmail’s web apps) for each of my accounts. However the number of tabs I needed to … Read more (7 minute read)

The simplicity and flexibility of HTTP for APIs 31 March 2021

Simple and RESTful HTTP APIs The HTTP standard is an expressive system for network-based computer-computer interaction. It’s a relatively old standard - it started life as HTTP/1.0 in 1996 and the HTTP/1.1 standard was formally specified in 1999. HTTP/2 (2015) introduced efficiencies around … Read more (6 minute read)

PinePhone and PineTime 27 March 2021

Pre-ordering the PinePhone Beta Earlier this week I ordered a PinePhone, which recently became available as a Beta Edition. I’ve been excitedly following the progress of the PinePhone for some time now. I’ve joined various Matrix rooms, subscribed to blogs, and started listening to the … Read more (2 minute read)

The Great Alone by Kristin Hannah 23 March 2021

The Great Alone by Kristin Hannah is a book set out in the Alaskan wild. It tells the story of a young family that move in order to live off-the-grid after the father returns from being a prisoner of war in the Vietnam war. The book mostly focuses on the viewpoint of the daughter, Leni, who is … Read more (2 minute read)

Running your own Matrix homeserver 22 March 2021

Why use decentralised communication services Centralised communication services, such as Telegram, Signal, and Whatsapp, offer convenient means to chat to friends and family using your personal devices. However these services also come with a number of pitfalls that are worth considering. For … Read more (7 minute read)

Blood, Sweat, and Pixels by Jason Schreier 17 March 2021

This post contains some of my thoughts on the book Blood, Sweat, and Pixels by Jason Schreier. This book contains a number of stories about how some of the most well-known (and other less well-known) video games are made. The book’s subtitle, “The Triumphant, Turbulent Stories Behind How … Read more (2 minute read)

The Tildeverse 15 March 2021

The last twenty years of internet evolution Although I was still somewhere between being of single-digit age and a young teen back in the ’90s and early ’00s, I still fondly remember discovering and becoming a small part of the flourishing community of personal, themed, and hobby … Read more (5 minute read)

The Hunt for Red October by Tom Clancy 10 March 2021

I recently finished reading The Hunt for Red October by Tom Clancy. This genre of novel (sort of military thriller fiction) is not usual for me and this is the first Clancy book I have read. That being said, the book has been on my “to-read” list for a fair amount of time and so I am … Read more (2 minute read)

Thoughts on minimalism, and what happens when I get mail 8 March 2021

Minimising possessions Like many people I these days try and live a minimal life when it comes to possessions. Having more stuff means there is a greater level of responsibility required to look after it. I love the principles involved in “owning less”. Although I am in a very different … Read more (6 minute read)

Easily set up discoverable RSS feeds on a Gatsby website 4 March 2021

RSS has had a bit of a resurgence for personal websites and blogs in recent years, especially with the growing adoption of Small Web and IndieWeb ideologies. Many static site generators - including Hugo, Jekyll, and Eleventy - can easily support the automatic generation of RSS feeds at build time … Read more (7 minute read)

Making your Python Flask app serverless 28 February 2021

Python’s Flask framework is an easy and excellent tool for writing web applications. Its in-built features and ecosystem of supporting packages let you create extensible web APIs, handle data and form submissions, render HTML, handle websockets, set-up secure account-management, and much more. … Read more (8 minute read)

Migrating from Google Photos: Nextcloud, Piwigo, Mega, and pCloud 24 February 2021

By now I’m sure everyone has heard the horror stories about people (seemingly-) randomly losing access to their Google accounts. Often the account closures are reported to have been accompanied with vague automated notifications from Google complaining that the account-holder violated their … Read more (8 minute read)

The Glamour of Cyberpunk and the Road to Solarpunk 20 February 2021

A few months ago I stumbled across this article: Beyond Cyberpunk: Towards a Solarpunk Future. It was posted on the excellent blog Tales from the Dork Web, by Steve Lord, which I can certainly recommend subscribing to. I had never heard of the term “Solarpunk” before, but I read up more … Read more (5 minute read)

A Year Without Answering my Phone 18 February 2021

This month marks a year from when I decided to (mostly - see below) stop answering my phone. This was not because I wanted to be antisocial (quite the opposite), but because it’s become the wrong form of communication for me. Why did I stop? Like many people, I am inundated with sales-y and … Read more (3 minute read)

The Midnight Library by Matt Haig 13 February 2021

Last week I read The Midnight Library by Matt Haig. The book won the 2020 Goodreads Choice Award for Fiction. “Set” in Bedford, England, the story starts by introducing the main character - Nora Seed - who feels completely down. She is depressed and thinks that she has nothing further to … Read more (3 minute read)

SSH Jumping and Bastion Hosts 10 February 2021

For many small or personal services running on a VPS in the cloud, administration is often done by connecting directly to the server via SSH. Such servers should be hardened with firewalls, employ an SSHd config that denies root and password-based login, run fail2ban, and other services and … Read more (4 minute read)

Using Monica to Help Manage your Personal Relationships 7 February 2021

Many people no longer feel comfortable using Facebook. Whether you were never a member to begin with or you’ve had an account but chosen to remove yourself from the service, or you’ve simply tried to start using it less - either way, it’s no surprise given the way that they, across … Read more (5 minute read)

Add icing to your websites using pattern.css 6 February 2021

Shapes and patterns can be leveraged in user interfaces to guide your users, draw attention to content, lend weight or emphasis, or just for aesthetics and decoration. Layout and styling on the web is typically handled using CSS, however mastering CSS to the level where you can confidently take … Read more (2 minute read)

React State Management with Zustand 5 February 2021

React state React state management is what gives the library its reactiveness. It’s what makes it so easy to build performant data-driven applications that dynamically update based on the underlying data. In this example the app would automatically update the calculation result as the user … Read more (5 minute read)

RSS: The Rise and Fall... and Rise Again 3 February 2021

Many people would consider RSS - Really Simple Syndication - to be a relic of the past. However I think it has been making a comeback. RSS is a mechanism by which people can automatically receive updates from individual websites, similar to how you might follow another user on a social networking … Read more (9 minute read)

Blogging for Devs 2 February 2021

A few months ago I discovered Blogging for Devs - I think through Product Hunt when it made it to #1 Product of the Day back in August last year. At the time blogging was something I had been thinking about quite a lot. I actively followed several other blogs - both from people I know and from … Read more (4 minute read)

Why not SQLite? 1 February 2021

If you need a database for your next project, why not first consider if SQLite might be a good option? And I don’t mean just for getting an MVP off the ground or for small personal systems; I mean for “real” production workloads. Many people will be quick to jump on this with … Read more (3 minute read)

Dirty Little Secrets by Jo Spain 31 January 2021

Recently I finished reading Dirty Little Secrets. This is the first book I have read by Jo Spain and the first time I have known of the author. The book first appears as though it’s a typical murder mystery set in a relatively wealthy gated community in Ireland - however the intricacies of the … Read more (2 minute read)

Out with the Old: Moving to Gitea 30 January 2021

If you’ve visited my geminispace (gemini://wilw.capsule.town) you’ll have noticed that I’ve recently been on a mission to decentralise the every-day tools and services I use, and will understand the reasons why. This post will likely become part of a series of posts in which I talk … Read more (4 minute read)

100 Days to Offload Challenge 29 January 2021

I know that I’ve been a bit crap at updating my blog properly and consistently over the past few years. One of my new year’s resolutions this year is to get into the habit of writing more, and so #100DaysToOffload seems a good opportunity to challenge myself to make sure I do. The … Read more (1 minute read)

Project Gemini 20 January 2021

Over the past few months I have been trying to use centralised “big tech” social media platforms less and instead immerse myself into the more community-driven “fediverse” of decentralised services that are connected (“federated”) using common protocols (e.g. … Read more (3 minute read)

Scaling serverless apps: some lessons learned 3 January 2021

Building apps on serverless architecture has been a game-changer for me and for developers everywhere, enabling small dev teams to cheaply build and scale services from MVP through to enterprise deployment. Taking advantage of serverless solutions - such as AWS’ Lambda, Google’s Cloud … Read more (6 minute read)

React Query 15 December 2020

If you write React web apps that interface with a backend web API then definitely consider trying React Query. The library makes use of modern React patterns, such as hooks, to keep code concise and readable. It probably means you can keep API calls directly inside your normal component code rather … Read more (1 minute read)

JS Tidbit: Nullish Coalescing 20 November 2020

This short post introduces a useful JavaScript operator to help make your one-liners even more concise. The specification was added formally in the 11th edition of ECMAScript. It is implemented as a logical operator to selectively return the result of one of two expressions (or operands) based on … Read more (1 minute read)

JS Tidbit: Optional Chaining 10 October 2020

JavaScript has lots of handy tools for creating concise code and one-liners. One such tool is the optional chaining operator. The optional chaining operator is useful for addressing an attribute of a deeply-nested object in which you cannot be fully certain that the successive levels of the object … Read more (2 minute read)

Command-line bookkeeping in Animal Crossing 23 May 2020

I recently stumbled across an article on Hacker News discussing the pros of basic personal accounting using GnuCash - a free and open-source desktop accounting program. The article was interesting as the data geek in me resonated with the notion of being able to query the information in useful ways, … Read more (26 minute read)

Kubernetes Cluster: Essentials 2 February 2020

This note documents the set-up of a k8s cluster from scratch, including ingress and load-balanced TLS support for web applications. It’s mainly for myself to revisit and reference later on. The result of this note is not (quite) production-grade, and additional features (e.g. … Read more (6 minute read)

Go backends on Now 20 August 2019

ZEIT’s Now service is great for deploying apps and APIs that are able to make use of serverless execution models, and I use it for many of my projects (including this website, at the time of writing). I recently needed to deploy a backend written in Go and kept running into problems when … Read more (2 minute read)

Hue: Security Lights 18 August 2017

A previous note about Philips Hue bulbs got me thinking that the API exposed by the bridge might be used to warn if the house lights are left on too late at night, or even if they get turned on at unexpected times - potentially for security. I put together a simple program that periodically checks … Read more (1 minute read)

Alexa, ask Sherlock... 19 July 2017

I have recently posted about CENode and how it might be used in IoT systems. Since CENode is partially designed to communicate directly with humans (particularly those out and about or “in the field”) it makes sense for inputs and queries to be provided via voice in addition to or … Read more (4 minute read)

CENode in IoT 26 June 2017

In a previous note I discussed CENode and briefly mentioned its potential for use in interacting with the Internet of Things. I thought I’d add a practical example of how it might be used for this and for ’tasking’ other systems. I have a few Philips Hue bulbs at home, and the Hue … Read more (3 minute read)

CENode 22 June 2017

Whilst working on the ITA Project - a collaborative research programme between the UK MoD and the US Army Research Laboratory - over the last few years, one of my primary areas has been to research around controlled natural languages, and working with Cardiff University and IBM UK’s Emerging … Read more (5 minute read)

Two Year Update 16 March 2017

I haven’t written a post since summer 2015. It’s now March 2017 and I thought I’d write an update very briefly covering the last couple of years. I finished researching and lecturing full-time in the summer of 2015. It felt like the end of an era; I’d spent around a third of … Read more (3 minute read)

Android: Consuming Nintendo Hotspot Data 27 May 2015

I recently blogged about Nintendo Hotspot data and mentioned it could be more usefully consumable in a native mobile app. As such, I wrote a small Android app for retrieving this data and displaying it on a Google Map. The app shows nearby hotspots, allows users to also search for other non-local … Read more (1 minute read)

Nintendo's Hotspot 'API' 12 May 2015

Since getting a DS, StreetPass has become quite addictive. It’s actually pretty fun checking the device after walking through town or using public transport to see a list of Miis representing the people you’ve been near recently, and the minigames (such as StreetPass Quest) that require … Read more (3 minute read)

Using Weka in Go 1 May 2015

A couple of years ago I wrote a blog post about wrapping some of Weka’s classification functionality to allow it to be used programmatically in Python programs. A small project I’m currently working on at home is around taking some of the later research from my PhD work to see if it can … Read more (1 minute read)

Media and volume keys in i3 28 April 2015

As is the case with many people, all music I listen to on my PC these days plays from the web through a browser. I’m a heavy user of Google Play Music and SoundCloud, and using Chrome to handle everything means playlists and libraries (and the way I use them through extensions) sync up … Read more (2 minute read)

Web and Social Computing 18 February 2015

his week I begin lecturing a module for Cardiff School of Computer Science and Informatics’ postgraduate MSc course in Advanced Computer Science. The module is called Web and Social Computing, with the main aim being to introduce students to the concepts of social computing and web-based … Read more (2 minute read)

Developing Useful APIs for the Web 5 February 2015

Yesterday, I gave a talk about my experiences with developing and using RESTful APIs, with the goal of providing tips for structuring such interfaces so that they work in a useful and sensible way. I went back to first principles, with overviews of basic HTTP messages as part of the request-response … Read more (1 minute read)

NHS Hack Day 27 January 2015

This weekend I took part in the NHS Hack Day. The idea of the event is to bring healthcare professionals together with technology enthusiasts in order to build stuff that is useful for those within the NHS and for those that use it. It was organised by AnneMarie Cunningham, who did a great job in … Read more (3 minute read)

End of an Era 20 January 2015

I recently received confirmation of my completed PhD! I submitted my thesis in May 2014, passed my viva in September and returned my final corrections in December. I was examined internally by Dr Pete Burnap and also by Dr Jeremy Pitt of Imperial College London. The whole PhD was an amazing … Read more (1 minute read)

Talk on Open-Source Contribution 26 March 2014

Today I gave an internal talk at the School of Computer Science & Informatics about open-source contribution. The talk described some of the disadvantages of the ways in which hobbyists and the non-professional sector publicly publish their code. A lot of the time these projects do not receive … Read more (1 minute read)

Node.js Contribution to Heroku's Dev Center 17 March 2014

I recently wrote a new article for Heroku’s Dev Center on carrying out asynchronous direct-to-S3 uploads using Node.js. he article is based heavily on the previous Python version, where the only major change is the method for signing the AWS request. This method was outlined in an earlier blog … Read more (1 minute read)

Seminar at King's College London 28 January 2014

Last week, I was invited to give a seminar to the Agents and Intelligent Systems group in the Department of Informatics at King’s College London. I gave an overview of my PhD research conducted over the past two or three years, from my initial research into retweet behaviours and propagation … Read more (1 minute read)

Direct-to-S3 Uploads in Node.js 17 January 2014

A while ago I wrote an article for Heroku’s Dev Center on carrying out direct uploads to S3 using a Python app for signing the PUT request. Specifically, the article focussed on Flask but the concept is also applicable to most other Python web frameworks. I’ve recently had to implement … Read more (1 minute read)

Workshop Presentation in Germany 5 October 2013

Last week I visited Karlsruhe, in Germany, to give a presentation accompanying a recently-accepted paper. The paper, “Inferring the Interesting Tweets in Your Network”, was in the proceedings of the Workshop on Analyzing Social Media for the Benefit of Society (Society 2.0), which was … Read more (1 minute read)

CasaStream 14 September 2013

In my last post I discussed methods for streaming music to different zones in the house. More specifically I wanted to be able to play music from one location and then listen to it in other rooms at the same time and in sync. After researching various methods, I decided to go with using a compressed … Read more (3 minute read)

Zoned Network Sound-Streaming: The Problem 2 September 2013

For a while, now, I have been looking for a reliable way to manage zoned music-playing around the house. The general idea is that I’d like to be able to play music from a central point and have it streamed over the network to a selection of receivers, which could be remotely turned on and off … Read more (3 minute read)

A rather French week 31 August 2013

I recently spent a week in France as part of a holiday with some of my family. Renting houses for a couple of weeks in France or Italy each summer has almost become a bit of a tradition, and it’s good to have a relax and a catch-up for a few days. They have been the first proper few days … Read more (2 minute read)

Gower Tides v1.4 31 July 2013

Last week I released a new version of the tides Android app I’m currently developing. The idea of the application was initially to simply display the tidal times and patterns for the Gower Peninsula, and that this should be possible without a data connection. Though, as the time has gone by, … Read more (2 minute read)

Magic Seaweed's Awesome New API 3 July 2013

Back in March, I emailed Magic Seaweed to ask them if they had a public API for their surf forecast data. They responded that they didn’t at the time, but that it was certainly on their to-do list. I am interested in the marine data for my Gower Tides application. Yesterday, I visited their … Read more (2 minute read)

Accidental Kernel Upgrades on Digital Ocean 20 June 2013

I today issued a full upgrade of the server at flyingsparx.net, which is hosted by Digital Ocean. By default, on Arch, this will upgrade every currently-installed package (where there is a counterpart in the official repositories), including the Linux kernel and the kernel headers. Digital Ocean … Read more (2 minute read)

WekaPy 12 June 2013

Over the last few months, I’ve started to use Weka more and more. Weka is a toolkit, written in Java, that I use to create models with which to make classifications on data sets. It features a wide variety of different machine learning algorithms (although I’ve used the logistic … Read more (2 minute read)

Gower Tides Open-Sourced 26 May 2013

This is just a quick post to mention that I have made the source for the Gower Tides app on Google Play public. The source repository is available on GitHub. From the repository I have excluded: Images & icons - It is not my place to distribute graphics not owned or created by me. Authors are … Read more (1 minute read)

Contribution to Heroku Dev Center 7 May 2013

The Heroku Dev Center is a repository of guides and articles to provide support for those writing applications to be run on the Heroku platform. I recently contributed an article for carrying out Direct to S3 File Uploads in Python, as I have previously used a very similar approach to interface with … Read more (1 minute read)

eartub.es 25 April 2013

Last weekend I went to CFHack Open Sauce Hackathon. I worked in a team with Chris, Ross and Matt. We started work on eartub.es, which is a web application for suggesting movies based on their sound tracks. We had several ideas for requirements we wanted to meet but, due to the nature of hackathons, … Read more (2 minute read)

flyingsparx.net On Digital Ocean 23 April 2013

My hosting for my website has nearly expired, so I have been looking for renewal options. These days I tend to need to use servers for more than simple web-hosting, and most do not provide the flexibility that a VPS would. Having (mostly) full control over a properly-maintained virtual cloud server … Read more (1 minute read)

Trials of Eduroam 16 April 2013

I’ve been having trouble connecting to Eduroam, at least reliably and persistently, without heavy desktop environments or complicated network managers. Eduroam is the wireless networking service used by many Universities in Europe, and whilst it would probably work fine using the tools … Read more (2 minute read)

Cardiff Open Sauce Hackathon 11 April 2013

Next week I, along with others in a team, am taking part in Cardiff Open Sauce Hackathon. If you’re in the area and feel like joining in for the weekend then sign up at the link above. he hackathon is a two-day event in which teams work to ‘hack together’ smallish projects, which … Read more (1 minute read)

AJAX + Python + Amazon S3 5 April 2013

I wanted a way in which users can seamlessly upload images for use in the Heroku application discussed in previous posts. Ideally, the image would be uploaded through AJAX as part of a data-entry form, but without having to refresh the page or anything else that would disrupt the user’s … Read more (2 minute read)

Decking Building 30 March 2013

I managed to turn about two tonnes of material into something vaguely resembling ‘decking’ in my back garden this weekend. It makes the area look much nicer, but whether it actually stays up is a completely different matter. Read more (1 minute read)

Gower Tides App Released 7 March 2013

A few posts back, I talked about the development of an Android app for tide predictions for South Wales. This app is now on Google Play. If you live in South Wales and are vaguely interested in tides/weather, then you should probably download it :) The main advantage is that the app does not need … Read more (1 minute read)

ScriptSlide 18 February 2013

I’ve taken to writing most of my recent presentations in plain HTML (rather than using third-party software or services). I used JavaScript to handle the appearance and ordering of slides. I bundled the JS into a single script, js/scriptslide.js which can be configured using the js/config.js … Read more (1 minute read)

Research Poster Day 21 January 2013

Each January the School of Computer Science hosts a poster day in order for the research students to demonstrate their current work to other research students, research staff and undergraduates. The event lets members of the department see what other research is being done outside of their own group … Read more (1 minute read)

Delving into Android 13 November 2012

I’ve always been interested in the development of smartphone apps, but have never really had the opportunity to actually hava a go. Whilst I’m generally OK with development on platforms I feel comfortable with, I’ve always considered there to be no point in developing applications … Read more (3 minute read)

Seminar: Retweeting 10 October 2012

I gave a seminar on my current research phase. I summarised my work over the past few months; in particular, the work on the network structure of Twitter, the way in which tweets propagate through different network types, and the implications of this. I discussed the importance of precision and … Read more (1 minute read)

DigiSocial Hackathon 20 September 2012

We recently held our DigiSocial Hackathon. This was a collaboration between the Schools of Computer Science and Social Sciences and was organised by myself and a few others. The website for the event is hosted here. The idea of the event was to try and encourage further ties between the different … Read more (2 minute read)