Posts tagged "geekery"

Exporting references from Zotero to Tiddlywiki

geekery

Regular readers will know how much I enjoy a good tinker with my system. I have been playing with Tiddlywiki recently, partly as a result of admiring Jack Baty’s rudimentarylathe.wiki instance of Tiddlywiki, and partly because of Soren Bjornstad’s Grok Tiddlywiki book, which I think I also found out about via Jack. I had tried out Tiddlywiki before but never quite got it. Soren’s book helped me to see how flexible it could be and how I might be able to use it in a similar fashion to the way I have been using org-roam. While I still enjoy org-roam, things feel (to me anyway) a bit up in the air with it at the moment, as there are big changes coming in version 2 which will probably involve a bit of backwards incompatibility. I couldn’t decide whether to wait to make the changes, or transition to the new version now, and that indecision made me reluctant to add to my collection of notes. In addition — for reasons too long and boring to go into here — I have also moved (reluctantly) from Bookends to Zotero. I like the flexibility that Zotero offers to those of us having to live in a dual Word/Pandoc citations world, but I really miss Bookends’ speed and UI.

Anyway, this change in the tools I depend on left me with a puzzle: how could I export references (with metadata) from Zotero to Tiddlywiki so that I could make notes (known as ‘tiddlers’) on each journal article of interest? There’s a vanishingly small possibility that anyone else might want to solve a similar problem in exactly the same way as me, but in case anyone is curious, this is how I made it work.

Continue reading →

Learning Go

geekery

I might be terrible at learning human languages, but I really enjoy learning programming languages. In my last post, I mentioned setting up Johnny.Decimal, and that I was thinking of writing some tools to help me interact with the system. I’m a dedicated Alfred user, and when I spotted a very nifty library called awgo for writing Alfred workflows in Go, it seemed like the perfect excuse to dip my toes in Go and learn another programming language. The result after only a couple of weeks of tinkering in spare moments was this alfred-jd workflow. I really like Go.

Continue reading →

Digital spring clean

life geekery

I’ve had a bit of an obsession with spring cleaning recently. I’ve tidied and cleaned elements of our physical space (nothing makes you more aware of how much junk you have accumulated than a period of lockdown), but I’ve also had a ‘services and digital’ spring clean too. It has taken quite a bit of time, but I do feel better for it.

Continue reading →

Using the tab-bar in Emacs

emacs geekery

When I’m working in Emacs, I like to have some visual separation between different workspaces (which roughly equate to different projects). Previously, I was using Doom Emacs’ workspaces feature, which uses persp-mode. My initial reason for disabling workspaces was because I found that projectile-switch-project didn’t work properly with it enabled, but I also thought it would be interesting to see what I could set up using built-in Emacs functions. What I ended up using was Emacs’ built-in tab-bar.

Continue reading →

Switching to Selectrum for incremental narrowing in Emacs

geekery emacs

My Emacs tweaking tends to go in waves. I keep an eye on the Emacs subreddit and the Doom Discord channel on a fairly regular basis, but I try not to jump on every cool new package I see discussed there. Every now and again though, I see something interesting which coincides with an itch to tinker with Emacs, and away I go… This time, it was reading discussions about a constellation of relatively new packages concerned with incrementally narrowing lists (and other related functions) that caught my eye. This sounds very niche, but for many people (me included) being presented with a list of things and being able to type to incrementally narrow the list and then select something is a core part of the Emacs UI. Since I use Doom, and it offers you an easy way to choose either Ivy or Helm, I had been using Ivy, for the sake of easy configuration. Both are fine packages, but having tried both, I preferred Ivy’s more minimal interface, and the fact that it used the minibuffer rather than a buffer for completions. However, it — and the related packages, Counsel and Swiper — are somewhat complex and difficult to get to grips with. I was also not using all the features that they provided, so was curious if I would enjoy using something even simpler. That’s why I tried out Selectrum.

Continue reading →

Obsidian

geekery productivity

Regular readers will know that I am a big fan of Emacs and have been using it for most of my writing, coding and task-related activity for quite a while now. Emacs is famously able to handle just about any kind of function, many of which can be handled within a single mode: Org mode. However, just because you can do it in Emacs, it doesn’t mean that you necessarily should. For example, I tried out managing my personal email in Emacs using mu4e, and while I really enjoyed writing and managing email in Emacs, I found having to constantly open HTML emails in some form of browser (inside Emacs or outside) a chore. So now I have reverted back to Mailmate for my email needs and am very happy with it.

I had also been using org-roam and the related ecosystem of tools (org-roam-bibtex and org-roam-server) to handle my work notes on journal articles, books, and ideas arising from them. I absolutely loved the ease of linking between ideas, and the graph view which helped me to see what kinds of broader topics were emerging organically from my research. However, I found myself having frequent problems with the database needing to be cleared and rebuilt, and org-roam-bibtex-mode needing to be reloaded. This — I am certain — is some quirk of my own setup and configuration. I was syncing the note files via Dropbox and it is likely that this was causing issues. Whatever the cause, I couldn’t seem to fix it properly, and so I started to look around for alternatives outside of Emacs. Eventually, I settled on Obsidian.

Continue reading →

A shelf and keyboard mat for my desk

sewing geekery

I was thinking the other day that I am incredibly grateful that past me (back in September last year, which seems about a decade ago) decided to take the plunge and buy a proper sit-stand desk. Like many people, I’ve been basically living at this desk for six months (though I’m very lucky to be able to work from home), so it has been fantastic to have a good, ergonomic setup which allows me to change position throughout the day. It doesn’t make endless Zoom meetings any more bearable, but my body does thank me at the end of the day.

I’ve made a couple more tweaks recently to improve things further: I’ve added a home-made desk shelf and a felt/cork keyboard mat.

Continue reading →

Back to evil key bindings in Emacs

geekery

Apparently — to quote The Byrds — ‘to everything there is a season, turn, turn, turn’. Despite what I have written, I’ve gone back to Doom’s evil (i.e. vim) bindings. As I thought about it more I realised that it made more sense to go with the grain in Doom. Doom works perfectly fine with plain Emacs bindings (if you tweak a little), but it is designed around evil-bindings, so you are missing out on some well thought-out aspects of the configuration. You can, of course, still use plain Emacs bindings in insert mode (which is often quite useful), and you can switch to Emacs mode temporarily by using the binding C-z. The two systems co-exist quite peacefully, so it is easy to use whatever seems best in context. I have, for example, continued to use isearch rather than vim-style search because I have found that I prefer it for simple searches. However, for search and replace, I prefer the vim :%s/foo/bar/ command. That’s no problem in Doom, and you can use either whenever you want.

Continue reading →

Using Tailwind CSS

geekery

A while ago I came across a link to a new CSS framework called Tailwind CSS. What I read intrigued me. I’ve used a number of different frameworks to style this site, including (most recently) Skeleton and also the Bourbon Sass toolset. The tools certainly made styling the site how I wanted and also making it behave nicely on different screen sizes easier than plain old CSS, but I still came up against frustrating problems that I found hard to fix because I don’t understand CSS in enough depth. Tailwind looked interesting, so I decided to give it a whirl. When I redesigned my photography site, I used another framework (Tachyons) with a similar rationale to Tailwind, but I like Tailwind much better.

Continue reading →

Reverting to qwerty

geekery

Remember when I wrote about switching to the BEAKL15 layout, and an anonymous commenter said that it would wreck my ability to type on a QWERTY layout keyboard when I needed to do that? Well, it happened. The better I got at the new layout, the worse I got at QWERTY. It got to the point where — if I needed to just hop on my laptop keyboard for a moment — I was single-finger typing, and having to hunt around for every letter. I’ve reluctantly reverted back to QWERTY.

Continue reading →

Advising Emacs

geekery emacs

One of the delightful and surprising things about Emacs, as you get to know it better, is the depth of customisation which is available. Emacs can be a completely different editor for different people and for different purposes. Being able to tweak things on the fly and try them out before you commit to them, or even as a temporary fix to solve the particular problem you have right now, is empowering. The more you delve into it and try things out, the better you understand what is possible and the more comfortable you get with writing elisp. Recently I discovered the ‘advice’ system in Emacs, and now every problem looks like a situation for some well-placed advice!

Continue reading →

Re-mapping my keyboard and re-wiring my brain

geekery

I don’t really know what I was thinking. It’s just that sometimes I get an idea in my head and I run with it. I’m pretty sure that it is going to be a good thing (or a very good thing) in the long run, but it has challenged my poor old brain a good deal, I can tell you.

It started when I got one of the regular newsletters from ErgoDox, the makers of my keyboard. They were featuring a ‘layout of the month’ produced by Graeme Geldenhuys which used the BEAKL15 keyboard layout. I was intrigued. Typing has felt much more comfortable since I got the ErgoDox, but there’s still plenty of room for improvement as QWERTY still involves awkward reaches and an unbalanced workload between the hands. Since I could just download and tweak Graeme’s layout to try it, there was no reason not to, and so it began.

Continue reading →

Building a Raspberry Pi Roon end-point

geekery hifi

I learned recently that you can turn a Raspberry Pi into a networked DAC which can act as a Roon endpoint. I’ve always wanted to play with a Raspberry Pi so it seemed an ideal easy project to try it out, and also to replace the ageing Squeezebox player which I currently use as a Roon endpoint. I ordered all the bits and put it together on Sunday — it was fun and successful (the best kind of project)!

Continue reading →

Extending org-roam

geekery

I was in the middle of the activity I’m about to describe below and listening to the BBC Radio 4 programme A History of the World in 100 Objects about the Olduvai stone chopping tool when I heard something that made me smile. Neil MacGregor said something to the effect that one of the defining features of humans is that we make things more complicated than they need to be. Busted!

Continue reading →

DEVONthink Pro 3

geekery productivity

I have been a DEVONthink user for a long time. I’m not sure exactly when I started using it, but my records suggest that it was at least as far back as 2006. For many years, it held all my documents, notes, links, manuals, receipts and other random snippets. However, at some point, I needed to sync at least some of my databases between computers and to my phone for mobile use. The early iterations of syncing were a bit clunky and eventually I threw in the towel and looked around for something else. I told myself that I didn’t need all the bells and whistles of DEVONthink, and that anything into which I could throw my documents and which would sync them quickly and reliably would do the job. For a while, I used KeepIt (formerly, Together) which is a great and easy to use application, but (for whatever reason) I didn’t add items to it very often, and was increasingly finding myself in a situation where I couldn’t remember where I had put that snippet of information I needed. To cut a long story short, I’m back with DEVONthink Pro 3, and couldn’t be happier about it.

Continue reading →

Further adventures in org-mode

emacs geekery

Emacs is really the gift that keeps giving. It has now been about 4 months since I started using org-mode to manage all my todos, and it has been working terrifically well for me. Despite having lots of different projects to juggle at the moment, I continue to feel more or less on top of things — or at least, I know how much stuff I haven’t been able to get to yet! The best thing about Emacs and org-mode is that you can expand and develop your system as your needs change. You don’t need to set up a complex system at the start, nor do you need to make the whole system complex if only one part of it needs extra structure. It’s all very flexible. I’ve made a couple of tweaks recently, and also started adapting my system of keeping notes which I thought might be interesting for other Emacs users and the Emacs-curious.

Continue reading →

All in with org-mode

emacs geekery

After I posted about using org-mode, Jack Baty wondered (somewhat tongue-in-cheek) how I managed with keeping only some of my tasks in org-mode. Actually, it wasn’t really a problem copying tasks across from OmniFocus to enter into my journal entry for the day. However, I inevitably started wondering whether I might be able to go the whole hog and use only org-mode for tasks. Would I lose track of things? Could I capture tasks efficiently when away from my computer before I forgot about them? Would the world explode into chaos? Well, if you don’t feel like reading further, the answers to those questions are No, Yes, and Quite Probably, But Not Because I’m Using org-mode.

Continue reading →

My standing desk setup

geekery productivity

When there’s a problem to be solved, I often try to improvise a solution. Generally, I think that’s a good thing: better to try to make something yourself with resources you already have than to go out and buy something new. However, sometimes it leads to wasting time setting something up and then living with a solution that comes with too many compromises. I’ve been trying to sort out a compact, ergonomic desk arrangement for my home office for quite some time. I started with an Ergotron WorkFit arm (5 years ago), which worked well for me for some time. It allowed me to sit or stand to work, changing quickly between them. It bounced a bit, as I mentioned in my article, but I more or less got used to that. However, over time, things changed. My ‘home office’ is a small room which has to serve many purposes. As my sewing hobby has grown, my desk has to share the space with sewing machines and a fold-up cutting table, and the Ergotron WorkFit jutted out enough to cause an awkward obstruction. More importantly, the arrangement meant that I couldn’t write (with a notebook and pen) comfortably at the desk, as the arm covered most of the desk surface, and using the metal base meant leaning uncomfortably over the keyboard support. Finally, a variety of other changes to my working evironment meant that I started to think about whether I could improvise something else myself.

Continue reading →

Doom Emacs tweaks: Org Journal and Super Agenda

emacs geekery

I’ve been back a week from a work trip, and — as I often do after a busy period — I’ve been taking stock of what I need to do next and refining my systems a bit. Cynics might argue that this is either procrastination or yak shaving (and they wouldn’t be entirely wrong), but when I have been at full stretch at work I do find it helpful to have a period of sorting out the mess that I had to let accumulate, to tie up loose ends and to plan the next bit of work.

I am spending more and more of my time in Emacs for all things, so I wanted to refine both my agenda and journalling setup.

Continue reading →

All change on the fonts front

blogging geekery

You might notice a bit of a change to the appearance of the pages around here. I’ve changed the way that I define how the fonts are rendered, and in the process I have switched the fonts that I use. I had used Typekit for about five years, which enabled me to select from a range of fonts and then easily include them in my CSS file with a bit of Javascript boilerplate. It was a nice system, though it did generate a bit of overhead on page loading. Nevertheless, I was quite happy with it. Then Adobe acquired Typekit and doubled the annual subscription rate. There’s now no limitation on how many fonts you use, but given that I only need a handful at most, that doesn’t work in my favour. So I decided to ditch Typekit/Adobe Fonts and load some webfonts myself.

Continue reading →

Back to Doom Emacs

emacs geekery

The inevitable wheel of Emacs life has circled back again, and — as the title suggests — I have moved back to Doom Emacs. When I last wrote about my Emacs configuration, I was trying to move away from frameworks (including Doom), and to set up my own configuration from scratch. It was a really fun process, and I think a necessary one for me to really understand how to configure and use Emacs, and the way that all the moving parts fitted together. However, I have recently overhauled my whole command line setup (again… more on this later), so I got curious to try out Doom again. It was always a great project, but in the time since I last used it Henrik Lissner has polished and improved it even more to the point where it is a really fast, slick and easy to use framework.

Continue reading →

Trying out Commento

blogging geekery
As I mentioned in my previous post, I’ve been looking around for a replacement to Disqus for handling the comments on my blog. It’s a tricky thing to manage because I’ve got a bit archive of comments that I want to preserve. The system obviously needs to handle this static site, but also enable commenters to comment easily, without needing an account if they don’t want to create one. I ended up coming across Commento, which seemed to fulfil all of those conditions. Continue reading →

Keeping track with Fathom

geekery blogging

For much of the time that I’ve had a blog, I’ve kept a vague eye on its visitor numbers in one way or another. I’ve used a variety of different tracking methods from the no-longer-supported Mint, to Matomo (formerly Piwik), and the usual Google Analytics that everyone uses. I’ve always favoured simpler web analytics, as my needs are very simple, but those have been increasingly difficult to find. Since it opened to beta testers, I have been using Fathom Analytics, and I have been really happy with how it works.

Continue reading →

ErgoDox EZ keyboard

review geekery hardware

I’ve got a new keyboard, and it’s a fabulous beast. Regular readers may remember that I have been using a Happy Hacking Keyboard Pro 2 (HHKB) for some time (about 6 years, as it turns out). That was my first mechanical keyboard since the days when mechanical keyboards were the only ones you could get. I’ve loved it to bits, but for the past few months I’ve been having pain and discomfort in my hands and wrists, and decided it might be time to look around for a more ergonomic replacement. After a lot of research and deliberation, I ended up getting an ErgoDox EZ. I’m still tweaking the configuration a bit, but I love it. It has already done wonders for both the comfort of my hands and my writing efficiency.

Continue reading →

NixOS and the Art of OS Configuration

geekery
You know how it is when you take a quick look at a framework for organising your dotfiles, and end up installing and configuring a new Linux operating system on an old MacBook Air? No? Just me then. It started innocuously enough. I’ve been really busy at work all summer, with lots of travelling, a lot of working weekends, and long hours. That hasn’t really left enough blocks of time for sewing projects, so I’ve been falling back on my other relaxation activity: pottering about with computers in odd moments. Continue reading →

Text editor spring clean

geekery

neovim in a terminal window

I’m not someone who sets about the house with a duster and mop when spring arrives, but I am a fan of having a spring clean of my text editing setup. Let’s face it, if you’ve read this blog for any length of time, you know full well that I need no excuse whatsoever to tinker with my setup. I’ve long since come to terms with the fact that I will probably never settle for good on the One True Text Editor. For one thing, I think there probably isn’t such a thing: I use a text editor for many different tasks, and in each of those I have different priorities for my working environment. It is also the case that editors are being improved all the time, so it is worth occasionally trying out (or re-visiting) and editor to see if it fits your needs better than your current system. With that in mind, I got the editor-tinkering itch recently, so I thought I’d write about about the changes I’ve made.

Continue reading →

Hugo photoblog

geekery blogging

I’ve had an itch for a while to create my own photoblog site. Flickr is convenient, but it doesn’t feel like your own site, and you can’t style it the way you would like. I’ve tried other photo hosting options, but they have the same kinds of issues. Lately I’ve wanted to host my own stuff in my own way, using — as far as possible — simple frameworks that I understand and can maintain. I have been working on it for a while, but I’ve finally got my Hugo-based static photoblog setup to a presentable state, and made it public. Here’s how it works.

Continue reading →

Pandocomatic and Scrivomatic

geekery software

Regular readers among you will know that if there’s an easy way to do it, or a difficult but deliciously geeky way to do it which involves substantial amounts of tinkering, I invariably prefer the latter. So you’ll appreciate that when a search for some tidbit of information about Pandoc turned up an article by Andrew Goldstone titled Easy Lecture Slides Made Difficult with Pandoc and Beamer (and its follow up, Programmatic Lecture Slides Made Even More Difficult with R Markdown), I smiled with recognition. It seems that Andrew and I are both connoisseurs of a geekily baroque workflow.

I’m a long-time user of Pandoc to produce most kinds of document, but this week I have been trying out a couple of linked systems — Pandocomatic and Scrivomatic — which aim to tidy up your Pandoc workflow, and make it quicker to produce the kinds of output you need.

Continue reading →

Using Zapier to post to Blot

geekery

As part of my move to simplify my hosting setup, I started experimenting with using Blot as a replacement for Tumblr to host my micro blog Slipstream. This is an amazing service which allows you to connect up a Dropbox folder, and then just throw files in that folder (Markdown, Plain text, images, and so on), and they will — apparently by magic — be turned into a nice looking website. It’s really fantastic. Since Dropbox folders are accessible to so many apps (both on the desktop and on iOS), this makes it really easy to post from anywhere, and also to automate cross posting. This is where Zapier comes in.

Continue reading →

Netlify

geekery

If you’re reading this, I’ve successfully managed to move this site from Linode to Netlify. Basically, I had heard quite a few people talking about Netlify, and got curious about it. It’s a specialist service allowing you to deploy static sites extremely easily by simply pushing a commit to one of the git hosting services (like Github or Bitbucket).

Continue reading →