Profile picture of Colin Yates

Colin Yates

Random thoughts from a random guy

`© Colin Yates $2025`
Home References Tags Source RSS My CV

Why Rust?

What's this now? Somebody asked me a while ago "Why Rust?" and I brain-dumped this stream-of-consciousness. Somebody else asked me today "why Rust?" so I thought I'd surface this.  this is a few years old now, but I don't think anything has necessarily changed.  Context...
2025-03-12
#java #rust

The human touch

I posted about a tool called Zero Duplicates and made a comment about how you needed to select each row. The author found my post, found the mistake I made and decided to rectify it. And they did it in the absolutely perfect way:  it was non-confrontational  ...
2025-02-12

preparing for a tech leader position

Preparing for a tech leader position is hard. How do you summarise your personality, your passions, your needs, your lessons learnt and abilities honed from decades of experience without writing the next Encyclopaedia Britannica? You then get a job description: a few pages and a company name. How do you even start to answer the enormous question ...
2025-02-05
#jobs #linkedIn

References

I've added a new section to the web site:  Feel free to check it out. You can also find most of these on my LinkedIn profile. Enjoy! 
2025-02-04

Building the right thing the right way

TLDR: upskilling on ensuring you "build the right thing" is just as, if not more important than upskilling on "build the thing right". We need to be experts in building the right thing, the right way. STLDR: prototyping and using a whiteboard effectively are superpowers In some martial arts, a black belt is considered the point at which you know ...
2025-01-22
#dev #softwareEngineering

My first (real) LinkedIn post - woot!

https://www.linkedin.com/posts/yatescolin_here-is-a-code-sample-obfuscated-from-a-activity-7286017536901447683-idjK Go read it please :-) 
2025-01-17
#linkedin

finding duplicate files on the mac (or Linux)

I've been messing around with https://unraid.net again, trying to tidy up my data which was spread across multiple disks. This has led to a bunch of interesting needs:  removing duplicates finding series (Books, Music, Movies, TV) with missing items storing TBs of data temporarily as I move it around ...
2025-01-17
#macos #tip

Exposing localhost to the world

It's sometimes useful exposing a web server running on your local machine to the big World Wide Web. Why? There are a bunch of services around that need to be able to access your website in order to analyse it For example, maybe you are doing some SEO or checking HTML validation, and exposing your local server means you can make a change and it is ...
2025-01-05
#cloudflare #dev #ngrok #webdev

hearing loss

My hearing is pretty weird. An audiologist (from Specsavers) said I have excellent hearing up to a certain frequency and then it stops, like a cliff edge. No gentle gradual decrease, just really bad loss. What I can hear I can hear very well. What I can't hear I can't hear at all. I can hear the bassy sounds but the "t"s, "h"s, and "s"s just ...
2025-01-04
#life #old

Apple Shortcuts - meh

 DISCLAIMER: It's entirely possible that some of these pain points are due to me not being idiomatic! So Apple Shortcuts (mac and iOS) has the potential to be * ...
2025-01-03
#apple shortcuts #macos

Emailing a Contact Us Form

Creating a no-JS contact us form I wanted to create a "Contact us" form for my business web site (https://fhlgroup.co.uk/#contact) but with a strict "NO JS" policy (I'll explain later but TLDR: we've lost the essence of the web in favour of JSifying everything). Turns out there is a lovely little service https://web3forms.com/ which works f ...
2024-12-26
#js #no-js #web

Sending Docs to Kindle Macos

So I wanted to send a recent book I'd purchased (https://www.thegoodbook.co.uk/just-be-honest) to the Kindle from my macbook. I hadn't quite realised how complicated it could be - sigh. Native Kindle App "Install Kindle" I thought - surely they must have a way? Nope - logged in and was greeted with a very elegant and clean UI. However, afte ...
2024-11-30
#kindle #macos #saga

Modules within Emacs

The pitch Do you maintain your own .emacs.d and worry that it is a single pile of complected and unmaintainable logic? Fancy a bit of spacemacs' layers? Modules, modules and more modules for the win. Tooling This approach requires a trivially small amount of elisp and a single plugin ([ivy, actually counsel, all of which is confusingly ...
2017-10-15
#emacs #tip

A new experiment

So I am trying a new experiment... Thanks to HUGO and ox-hugo there is now a feasibly blogging platform that doesn't take me out of emacs. I am <span class="underline">very</span> bad at blogging. This at least removes a number of barriers (markdown, non-emacs-editor etc.). So, welcome, a...
2017-10-11

mpd, ncmpcdd, perl, CPAN and song ratings on OSX

Hi there, been a while - so, buzzword bingo anyone ;-). Having grown tired of the weight and cost of a GUI I am returning to my lighter-weight roots as much as possible. I can't quite reproduce the fantastic experience of i3 on the mac but using terminal based apps is a good first step. So, after experimenting with the excelle ...
2017-02-14
#cli #music #osx #perl #tools

SSH Keys and unRAID

I wanted to rsync some data directly to and from my unRAID server. (And yes, the eagle eyed amongst you will remember I moved away from it previously. I'm back, but that's for another post.) The problem is that sshd is a pig about permissions and whilst ...
2016-12-08
#ssh #unraid

Managing dependant projects with lein

I strongly believe that ignorance is one of the most powerful tools we should employ when we build software. As a mechanism to enforce de-coupling it is great. What?! Huh?! No, I haven't lost the plot (any more than usual), I simply mean that I strive to build small components that are as ignorant as possible. The opposite of ignorance is knowled ...
2016-12-02
#clojure #dev #lein #maven

NAS fun

Fun with NAS's. If you find that a contradiction in terms then you might not be the right audience for this post - all the best :-). I have about 2TB of data that I need to maintain. Some of it is (legally owned) media, some of it are documents, photos, machine backups etc. Having managed ...
2016-11-18
#backup #drivepool #nas #storage

The rotting Apple

I don't usually moan publicly as it never does any good and misery likes company. However, I am having a bad day, this is my personal blog and so Apple is the target. When I first started using computers the major contenders were DOS, NextStep or Apple I (or II?). There were also Linux variants such as the venerable twm and fvwm. I think Gnome 1 w ...
2016-11-17
#apple #moan #ux

Adding go-faster stripes to ClojureScript compilation

If you are using ClojureScript (and if not, why not? :-)) then I strongly recommend you enable parallel build. I mistakenly thought this meant that it would run separate builds in parallel, but no, it is far cleverer a ...
2016-11-11
#cljs #cljsbuild #clojurescript #dev #tip

Restricting helm and ag to certain files

ag is great and searches through your code base in the blink of an eye. Coupled with helm it makes for a great experience finding things. If run in a git project then it helpfully ignores those in your .gitignore file. However, in most projects I have f ...
2016-11-10
#ag #dev #emacs #helm #spacemacs #tip

The power of an abstraction

I see a lot of code bases getting into a mess through an inappropriate use of abstraction. Like many things in the Software Engineering industry, it is a tool which is in wide-spread use, learned from poor examples and not particularly well understood. For me, the best definition of an abstraction, and I apologise for not crediting whoever coined ...
2016-11-08
#abstraction #dev

Cancelling an online.net server

I have found Online.net great in terms of provisioning time, capability of their UI, customer service etc. (I have also found some not-so-nice things: setup-costs, cannot use your own Windows license, unclear documentation on whether your server can access the RPN etc. but let's not spoil a nice day :-)) Anyway, I needed t ...
2016-10-16
#infrastructure #online.net #servers

Seafile history

(NOTE: updated to include images) Another fly-by post. Seafile has a really neat 'history' browser - on the web site you will see a little clock icon when viewing a library. If you click this you can navigate to a point-in-time and then either restore the entire library, a folder or a file from that snapshot. ...
2016-10-09
#seafile

Lost

Is it me? Am I getting old and grumpy? Well yes, I am, but that might not be cause. I am watching Lost again, and I am struck again how brilliant it is: the cinematography; the acting; the perfect amount of quirkiness and consistency; the character development and so on. And yet, whilst I am really appreciating watching it I can't help but feel a ...
2016-10-07
#lost #tv

Been a while

So.... how have you all been? It has been a worryingly long time since I last saw you all ;-) Life seems to be doing all it can to stop me blogging, so this is 'fly by' blog post to keep me in rhythm. seafile Wow, this is rocking my world big time - it is great. Disappointed there isn't a 'one-way sync TO the server ...
2016-10-06
#blogging #discipline #seafile

Quick update on seafile and plex

So I am trying a new experiment... So.... how have you all been? It has been a worryingly long time since I last saw you all ;-) Life seems to be doing all it can to stop me blogging, so this is 'fly by' blog post to keep me in rhythm. seafile Wow, this is rocking my world big time - it is great. Disappointed there ...
2016-10-06

Moving to seafile from pydio

About We occasionally need to share sensitive files with our clients: new deployment bundles, test data etc. Due to the sensitive nature of our work we <span class="underline">must</span> have the following:  strong usernames/passwords no client installation so a decent web UI is necessary encryption in transit and at rest...
2016-10-01
#cloud #pydio #seafile

Circleci, phantomjs

Another quick tip. I use the excellent cljsbuild to compile and test our ClojureScript projects (and I can't believe how difficult it is to wire this stuff together in 2016!). To support continuous integration I use phantomjs to provide the JavaScript environment. Unfortunately ...
2016-09-29
#circleci #cljs #cljsbuild #clojurescript #lein #phantomjs #tip

Circle-ci and phantomjs

Another quick tip. I use the excellent cljsbuild to compile and test our ClojureScript projects (and I can't believe how difficult it is to wire this stuff together in 2016!). To support continuous integration I use phantomjs to provide the JavaScript environment. Unfortunat ...
2016-09-29
#clojure #clojurescript #dev

Deprecated warnings from plumatic schema

If you aren't already using plumatic's schema then I strongly recommend you do. (when did they stop being 'Prismatic' and become 'Plumatic'? Oh well) The reason why will have to be another blog post, this is simply to say that is you are using both or either then you will get a bunch of deprecated ...
2016-09-29
#cljs #clojure #clojurescript #plumatic #prismatic #schema

Secure file sharing in the cloud

We occasionally need to share sensitive files with our clients: new deployment bundles, test data etc. Due to the sensitive nature of our work we must have the following:  strong usernames/passwords no client installation so a decent web UI is necessary encryption in transit and at rest ...
2016-09-29
#cloud #pydio #seafile

Keeping project buffers tidy with projectile

Projectile is an excellent library for managing 'projects' (where a project is typically a git repository). Today I found a new tip - projectile-kill-buffers which effectively removes the project from your current emacs session: projectile-kill-buffers is an interactive autoloaded compiled Lisp fu ...
2016-09-28
#dev #emacs #projectile #spacemacs

Git tagging your builds automatically

I need to write a much longer post to explain my thoughts on 'versioning' and what constitutes a release with today's trends of continuous integration, but for now, a simple tip. I wanted a way to distinguish each build, not each release but each build. There is one excellent source of truth for that which is your git repository. Wouldn't i ...
2016-09-28
#ci #circleci #clojure #dev #lein #tip

Git tagging your builds automatically

I need to write a much longer post to explain my thoughts on 'versioning' and what constitutes a release with today's trends of continuous integration, but for now, a simple tip. I wanted a way to distinguish each <span class="underline">build</span>, not each <span class="underline">release</span> but each <span class="underline">build</span>. Th ...
2016-09-27
#dev #git

Lessons learned with Clojure's StackTraces

A hard day I learned the following lessons today:  Simplest is best Evaluate your assumptions Sometimes development is just hard...
2016-09-26
#clojure #dev

Blogging, hello, *again*!

A fresh start So, er yeah. I haven't really blogged for a long time - this time it will be different. I promise. Hmm, I am already sceptical. It is well known that 'trying harder' never works, so what is different this time? Well, I have some objectives which are SMART:  Specific Me...
2016-09-25
#broken promises #redemption

Champaigne or printer ink?

 Be careful - this is an old post and may not work anymore! {.warning}  Who knew printer ink was more expensive than champagne?...
2015-09-06
#moan

Bye bye OVH, Hello GitHub pages

 Be careful - this is an old post and may not work anymore! {.warning}  OVH (UK) are great for cheap commodity hardware and VPSes etc. Their web hosting...
2015-09-05
#blog #github #ovh

Relative links in org-mode and Jekyll

 Be careful - this is an old post and may not work anymore! {.warning}  This blog is created by Jekyll however the blog posts are written in the excellent...
2015-09-05
#emacs #faq #jekyll #org-mode

Blogging with jekyll, hexo, emacs and org

 Be careful - this is an old post and may not work anymore! {.warning}  This is really just a moan, move on - there are almost certainly better things to do with your life....
2015-08-26
#blog #emacs #jekyll #org-mode