An Eccentric Anomaly: Programming

Ed Davies's Blog

Pages tagged: Programming

Programming and related frustrations

Oil Use

Oops, wrote this post in February but forgot to actually, you know, post it!

My recent Heating Requirements Revisited post looked at the relationship between the heating requirement based on a model using the outside temperature and the wind speed compared to the measured boiler run time. However, the boiler run time is measured somewhat indirectly and might be dependent on other factors so it's worth taking a quick look at its accuracy.


Heating Requirements Revisited

Back at the beginning of 2019 I had a go at finding a formula to approximate the heating requirement of the rental house I'm in now. I wasn't too satisfied with the results but I've recently added some features to my software which help with looking into this a bit more and also have a lot more data available to base the approximations on.

The recent cold and very windy weather has also helped focus my attention on the matter. The small back bedroom I use as a study and the downstairs bathroom have kept comfortably warm and the kitchen, which is on the west side of the house, has actually been warmer than normal but the rest of the house, which is all exposed to the easterly winds, has been pretty chilly.


Mqttrunner Introduction

Four years ago, in 2016 November, I slung together a few hundred lines of Python to do some logging of data from around the house. It was intended as a plan-to-throw-one-away effort for exploration before writing something a bit more general. As with all things temporary, it's continued in operation since and has grown a bit to about 10'000 lines of Python and 5000 lines of HTML, CSS, JavaScript, JSON, Rust, C/C++ and other eldritch horrors.

There are a few aspects of it which might be worth discussing so a brief overview to give some context seems a good way to start.


Dark Theme

I've added a rudimentary dark colour scheme to this site for those who prefer the screen to be mostly dark.


Greenwich Mean Time

OK, explain this to me: WTF are programmers so bad at telling the time?


YouTube Feeds

At the beginning of 2019 I wrote about a little bookmarklet, Show All Feeds, which finds RSS and Atom feeds associated with web pages, blogs mostly.

A few months later I found out that YouTube has feeds for its users and channels. They're not linked or advertised but they can be composed knowing the user or channel identification so I added the ability to do that to the bookmarklet.


Web Key Directory Implementation

In the last few days I've seen a couple of write ups of implementations of Web Key Directory (for finding the public cryptographic key associated with an email address) so I thought it might be useful to describe mine.


Programming the Sonoff TH16 version 2.1

Sonoff make a range of Wi-Fi-connected devices for various monitoring and switching applications based around ESP8266 processors. As I wasn't happy with the performance of the thermostat in the fridge in the house I'm renting I got a few of their TH16 switches with the idea of using one of them to switch the fridge on and off without freezing the food in the salad compartment.

A few sources indicate that supplying power to these devices while flashing programs in them is tricky. tl;dr, I found that a surprisingly high voltage, about 3.9 volts or higher, was needed to load software in the version 2.1 devices I received. I'll explain the process by which I got to this conclusion in some detail as there may be some useful hints for others along the way.


Solar Gain?

In my previous post I said I thought solar gain would not be a significant influence on the boiler run time. It's worth checking, though.


Continuous Heating

A few people I've talked to have suggested that running the heating continuously in a house might actually reduce the amount of oil burned. I was a bit sceptical so decided to do a little science.