Querying Tasks from Yesterday's Daily Note in Obsidian

I'm a fairly prolific note-taker and have been, in both my personal and professional lives, for years.

I manage my notes with Obsidian (in fact, even this post was drafted in it) putting its Daily Notes Plugin into use to manage my to-do list. At the start of each day, the rollover daily todos plugin copies any incomplete to-do's over from the previous day's notes.

This combination gives me a fresh notes file each day with any unfinished tasks copied across.

I've been using this system for quite a while, so there are now a lot of daily note files, which does make manually navigating to an older set of notes a little inconvenient.

Recently, I've developed a more regular need to look at the previous day's todo list: I've found that it's sometimes quite helpful to also be able to see what was completed in the previous day (as well as being useful for giving updates, it helps me avoid getting stuck in a rut where it feels like I'm not getting anything done).

Obsidian has template support which is able to insert the current date, but it's quite simple and cannot do date maths to work out what the filename of the previous notes file would be.

In this post, I'm going to write about the approach that I've taken to have Obsidian show me yesterdays work and display a link back to the relevant notes file.

Read more…

Heating With Electricity Instead Of Gas

When we first had solar installed, I really didn't envisage it leading to us switching to using electricity for heating over winter - after all, the sun doesn't shine very much, heaters are pretty energy hungry and mains gas was quite a bit cheaper than mains electricity.

However, my perception of the viability of using electricity to help heat the house shifted once we moved away from fixed rate tariffs and onto Octopus Agile. Plus, of course, using heaters to consume the free electricity delivered in a Octopus Powerups really has been something of a no brainer.

In fact, having Solar probably doesn't really factor into it much at all. We switched to Agile because the battery allowed us to load shift, but it plays no real role in running electric heaters in the evening.

In this post, I'm going to write a little about the approach that we've taken this winter, along with some issues that we've encountered along the way.

Read more…

Making an Upholstered End for A Sofa

The sofa in our living room, is actually only part of a sofa: it's the long side of a corner sofa.

When we originally bought the sofa, it was the perfect size and shape for our living room. Unfortunately, our landlord later did what landlords do and decided to switch letting agent on the sly, landing us with a section 21 no-fault eviction in the process.

At the next house, although the sofa could physically fit into the room, it absolutely dominated it.

Finally we moved to our current home, which has a layout that really can't accommodate a corner sofa at all. So, we unhooked the shorter side, leaving us with a straight sofa and an open-ended sofa-bit.

For a while, we had the sofa-bit on the opposite side of the room, but it never really worked particularly well: the seating cushions tended to find their way off the open end and move about under your arse as you get on and off the sofa. Not really needing that extra seating, we eventually moved the sofa-bit into storage instead.

For various reasons, we're taking in another dog. In preparation for this, I wanted to make sure that there'd be enough lounging space and so decided that the sofa-bit needed to come back out of storage.

Conscious of the cushion slipping issue and emboldened by my relative success at making and upholstering a pelmet I decided that I'd make a new end for the sofa.

This post describes that process.

Read more…

Updating iptables to allow Chromecast discovery and casting

I occassionally find that I want to cast a browser tab from my laptop - usually to put a chart onto a display so that I can periodically glance at it.

However, my laptop runs a fairly strict set of firewall rules - after all, it's a portable device and, on occasion, will connect to networks that aren't mine.

Strict firewall rules can prevent Chromecast discovery from working, mean that no devices will appear available to be casted to.

This post details adding rules to iptables to allow casting.

Read more…

Our Solar Battery Started Kicking In Late

Over the past 9 months or so, I've written fairly extensively about how we've tried to improve the savings that our Pylontech US2000C solar battery is able to yield.

Using the battery to shave pricing peaks relies on schedules to control when the battery kicks in, ensuring that it supplies the house when prices are most likely to be high.

Getting that timing right is all the more important over winter, with the majority of savings being achieved by charging cheaply and discharging at peak rather than coming from the panels.

Recently, though, our savings attempts have been somewhat thwarted because the battery hasn't been kicking in when it's supposed to.

Over the course of January, I attempted to troubleshoot this whilst also engaging with our inverter's manufacturer.

This post details what we experienced, what was checked and how it was ultimately resolved.

Read more…

Making Our Dumb Dishwasher Smarter

Our dishwasher is about as simple as it's possible for an appliance to be: it's got a wheel to select a program and a push button that you hit to start the cycle.

I'm not actually sure how many years it's been in use (it came with the house), but it's still going strong and does what's needed of it.

The one small gripe that I've ever really had with it is the inability to turn it on remotely: it doesn't matter how cheap electricity is at 3am, I'm am not getting up just to turn the dishwasher on.

Nowadays, there are a ton of "smart" dishwashers available on the market, each offering some part of a huge range of features including the ability to be switched on and off remotely.

The one thing that they all have in common, though, is increasing your exposure to the manufacturer:

  • If the manufacturer decides to discontinue their IoT platform (or applies non-backwards compatible updates), those coveted smart features will stop working.
  • If the manufacturer changes their terms and conditions to something you don't find acceptable, your smart features will stop working.
  • If the manufacturer starts charging for access to their platform, you'll need to pay or your smart features will stop working.
  • The appliance (and the network it's connected to) may well also be exposed to the risk of compromise (as SmartThinkQ owners found out)

Those feel like some fairly serious trade-offs considering that, amongst those offered by dishwashers, the only "smart" feature that I've really felt any need for is remote-start.

This post talks about implementing the ability to remote-start our existing dumb dishwasher (though it'll also work for any appliance with physical push buttons).

Read more…

2023 Solar Performance

Over the course of the year I've published various posts looking at the performance of our solar install, so as 2023 has now rolled over into 2024, it seemed worth posting a summary of performance across that year.

The system was installed at the end of May so we've not had a full year (and due to delays in the install, missed some absolutely cracking weekends), though we did get all of Summer.

Unlike my others, this post does not go into much depth - it simply looks at overall performance and a few trends across the year.

Read more…

Pouring a new (black) polished concrete table

A couple of years ago, I made a polished concrete table to use on our decking.

A family member really liked it, so has (quite regularly) reminded me that they'd like one if I was ever in the mood to create another.

This year, I decided that it'd make a good christmas present and so set about pouring a new table, changing my approach based on things that I learnt (or, thought that I'd learnt) last time.

In this post, I'll talk about the process that I followed to make this new table, what went wrong and what I've learnt this time around.

This post is a little unusual in that it was written as I progressed (and then scheduled for publishing after Christmas): Normally I write posts just after doing them, but given the timescales involved decided it would be better to try and write things down as I went.

Read more…

Moving Files And History Between Git Repos

Although primarily used for revision control of source code, git repos are also often used to store a wide array of other things. For example, I use it for notes, a wiki, my website and even an audit-able means to share my public keys.

When troubleshooting, having a revision log showing when I changed something and (if I've written a decent commit message) why is invaluable.

However, just occasionally, you may find that you want to move a file out of one repo into another - whether to absorb it into a broader project, or simply as a result of a tidy up leading to some form of repository consolidation.

Copying files between repos with cp takes seconds, but, may be something that you later come to regret: git log on the copied files will no longer reveal why you chose to write $obviously_bizzare_code in the way that you did, destroying a lot of the value that using a git repo is supposed to provide.

It's therefore desirable to preserve histories where possible - in this documentation I'll detail how to copy a file from one repo to another without losing history.

Read more…

Reconfiguring Mastodon to use Object Storage

If you ask anybody that runs a small Mastodon server, you're quite likely to hear that media storage can be a bit of a pain.

Although there are various tootctl incantations that are used to help free up space (I've included mine further down), as the fediverse grows so do a server's storage demands.

When I originally set up my Mastodon server, I used a locally attached volume for media storage.

Over time, though, the instance's needs have started to out-grow the storage that I've made available, and the volume has hit 100% a couple of times (although I have alerts, it's not something I'm going to rush back home to fix if I happen to be out).

Recently, I decided to move to using object storage instead: that way, the server could (within reason) consume whatever space it needed without costing a fortune.

The Mastodon documentation does a fantastic job of describing how to enable object storage, but information on how to move an existing server is much more limited.

There is, however, an excellent post by Thomas Leister on moving to Amazon S3.

I ran into some issues along the way though, so thought it was still worth putting some information up on my experience. I also use DigitalOcean Spaces rather than AWS S3, which slightly changes the config that's required.

Read more…