RSSAmplifier

Blog

Winging it

Running, Ironman and stuff

blog.ivor.orgRSS feed ↗25 posts

Latest posts

Speeeedo

So my 'running truck' * is a Japanese imported car, converted from kph to mph. As a result, the speedo is more of a general guideline that a reliable indicator of travelling speed. This is not ideal. *running truck - truck for running, it can be used as a mobile aid station etc. The previous one (RIP) was my "tri truck" then my "tt truck" before becoming "trail running truck" A speedo that says…

Attempting the Vanguard Way

So I tried to do a thing. I really should smile I'd been wanting to do this for a while, but needed to workout how to fit it into my calendar. Last Thursday the 16th July was the chosen slot, the weather wasn't ideal with the current heatwave, but it wasn't completely unreasonable with a slight dip in the daily temperature trend for a couple of days. A supported run of the Vanguard Way, 66 miles…

When I'm fixing windows

Our house dates from the turn of the century and has been redeveloped several times, at some point it had metal "Crittall" windows installed. These were single glazed, and in poor state of repair so when we had rebuilding work done we had to find similar/matching designs and settled on some new metal windows called "heritage" windows from a company called "Duration Windows". They looked great,…

Psion 5mx case repair

I picked up a water damaged Psion 5x to have some spare parts available to repair the first Psion 5x I bought. Psion in pieces with screens being repaired The first Psion had a broken screen and was sold as "fixable, complete with spare screen" the "spare screen" however had clearly been poorly removed from somewhere and had missing PCB pads and traces. The currently installed screen had a cracked…

Sharp Objects

Step 10 - Sharp Objects So someone asked, can you dynamically load the library in csharp just like python? Hmm. Probably.... That would be nice, and I'm pretty sure we can do a lot of manipulation on the go with C#, like we can in python, there's a comprehensive reflection and invocation interface. How hard can it be? Can we build a c# interface on the fly instead of outputting source code to be…

62++C (C++26 Reflection)

Preamble I've always been better at the 'doing' rather than the explaining, so as part of my “what can we do with C++26” exercise I thought this would be a good opportunity to attempt to practice the 'explain it' bit. (In other words this might not be great! let me know if I can improve or change this) C++26 has now introduced reflection capabilities (…

But what about Java

Step 9 - But what about Java This is the final step, adding a Java generator - each step adds or improves a small feature, this text is just highlighting a few details along the way, the best way to work through is to build and run each one, reading through the code with this description alongside. Similarly reading this alongside the diff for each step will also mean more than either just reading…

Not remotely funny

Step 8 - Not remotely funny This is the eighth step, adding out-of-process calling - each step adds or improves a small feature, this text is just highlighting a few details along the way, the best way to work through is to build and run each one, reading through the code with this description alongside. Similarly reading this alongside the diff for each step will also mean more than either just…

gnioG kcaB nI emiT

Step 7 - gnioG kcaB nI emiT This is the seventh step, adding c++20 compatability - each step adds or improves a small feature, this text is just highlighting a few details along the way, the best way to work through is to build and run each one, reading through the code with this description alongside. Similarly reading this alongside the diff for each step will also mean more than either just…

Turtles all the way down

Step 6 - Turtles all the way down This is the sixth step, adding recursive structures - each step adds or improves a small feature, this text is just highlighting a few details along the way, the best way to work through is to build and run each one, reading through the code with this description alongside. Similarly reading this alongside the diff for each step will also mean more than either…

Containment

Step 5 - Containment This is the fifth step, adding collection - each step adds or improves a small feature, this text is just highlighting a few details along the way, the best way to work through is to build and run each one, reading through the code with this description alongside. Similarly reading this alongside the diff for each step will also mean more than either just reading the text or…

A new type

Step 4 - A new type. std::chrono::y_m_d This is the fourth step, adding a new type, date - each step adds or improves a small feature, this text is just highlighting a few details along the way, the best way to work through is to build and run each one, reading through the code with this description alongside. Similarly reading this alongside the diff for each step will also mean more than either…

Some Structure

Step 3 - Some Structure This is the third step, adding structs - each step adds or improves a small feature, this text is just highlighting a few details along the way, the best way to work through is to build and run each one, reading through the code with this description alongside. Similarly reading this alongside the diff for each step will also mean more than either just reading the text or…

Complexity

Step 2 - Complexity This is the second step, adding enums and method wrappers - each step adds or improves a small feature, this text is just highlighting a few details along the way, the best way to work through is to build and run each one, reading through the code with this description alongside. Similarly reading this alongside the diff for each step will also mean more than either just…

Open the PoD bay doors

Step 1 - Open the PoD bay doors This is the first step, basic types and calls - each step adds or improves a small feature, this text is just highlighting a few details along the way, the best way to work through is to build and run each one, reading through the code with this description alongside. Similarly reading this alongside the diff for each step will also mean more than either just…

Capsure pwned

Capsure Hacking #3 Third post on this topic, see also post 1(JTAG connections) - and post 2 (USB decoding) . So after the Capsure USB hacking , and with a little more knowledge (which can be a dangerous thing*) (*see later) what can we do with access to the flash memory? The bootloader has a built in "view NAND" tool (see end of last post ), in there we can see the contents but there's no direct…

Decoding Capsure USB

After my initial tinkering and playing with the RM200 Capsure colorimeter I wanted to be able to experiment with firmware tweaks, also having to use the X-Rite Windows app, using fiddler to hack the packets connecting to their servers each time I switched firmwares wasn't ideal, so it was time to try to decode the interface to see if it's possible to talk to the handset directly without the app…

Capsure RM200 hacking

After reading Adam Zeloof's notes on using an X-Rite Capsure cosmetic colorimeter with the "standard" edition firmware with a "minor" serial number tweak - I had to give it a go myself, it's easy to pick up the cosmetic versions off ebay. Upgrade So firstly lets try the upgrade route Adam talked about in his write-up. What we need to do is use fiddler or similar to intercept the http requests to…

Mow Cop Killer Mile win(*)

(* in the M50 category) So. On the Bad Boy running podcast they mentioned a 1 mile run called the " Killer Mile " running up Mow Cop in Staffordshire, a famous hill that hits a 25% incline in places. They had been given a place, did anyone want to do it? Well, duh, obviously! That's my kind of thing! The place was offered on the condition that there was some fancy dress element involved - details…

Carbon Dioxide

After the last tinkering with CO ₂ sensors on the VO₂ max device, Sensirion released an updated chip the STC31-C with finer resolution (0.2% vs 0.5%) and a more "raw" reading mode. The idea had been to use the CO₂ sensor to calculate the respiratory quotient, the VO₂ max device uses the O₂ sensor primarily to determine consumed oxygen. The O₂ sensor appears to be more accurate, reliable and…

Tracker III (with a vengeance)

Following on from the last post which was about the process and building, this is just an overview of the latest design. The kicad project files along with the schematic , layout , and BOM can all be found on github . The future Firstly, and I think I've expressed these comments before - but I'm still absolutely dumbfounded that the software and facilities are available for a basic hobbyist to be…

T3 Rise of the machines

After the success of " Tracker Two " I decided, as I mentioned at the end of that previous write up, that it was time to see if I could build my own custom hardware. How hard could it be? 🤷 Evolution Version 0 For version zero of the tracker I tried using off the shelf 'personal tracking' devices, this proved that it was possible to build my own tracking site. Initially I thought I really didn't…

The ongoing VO2 Max saga

Testing the first version I constructed the VO 2 max device when I first heard about it on Instructables it was great fun to make and I was really impressed with the quality of design and construction. (I ordered the case parts from an online 3D printing service) All the bits The resulting unit is really professional and fun to use. The finished device I played with the code and made a few tweaks…

Spartathlon the 41th

Spartathlon - a 153 mile, 246 km race from Athens to Sparta in Greece . Supposedly to be retracing the steps of the ancient runner/messenger Pheidippides running to ask for help from the Spartan army. Apparently he did it before the sun set on the second day, so our race cut off is 36 hours. 7am on Saturday to 7pm on Sunday. Makes sense. Of course, then he ran back with the bad news, they'll come,…

A lot went wrong.

Firstly some backlog/admin to write up. After the injury in August 2022* it's been a long slow road to recovery and all of the years races were in doubt, but after cautious exercises and stretching and much frustration I still attempted the Crawley 24 in mid April following my good run last year, I'd had high hopes to be able to have a good training block coming into this and had set myself a…