As Side Door sign v3 seemed to have fallen off, I needed to make a new one. With access to a laser cutter, I can make really permanent things now, so I designed this:
Yes, that’s a pointy thing filled with pointy things (all without thumbs, you’ll notice) and labelled with Cooper Black. Irony, much? Fe!
In order to get the sign to hang correctly, I needed to work out the centroid of the pointy outline. thedatachef/inkscape-centroid: Centroids for Inkscape paths and shapes to the rescue! Well, kinda. First off, the installer had a bug that said a Ruby file was a dependency when the plugin was in Python. So I forked the repo, made the change, tested it, and issued a pull request. So yay, working centroid calculations in Inkscape!
Secondly, the plugin only works well for simple shapes, like these:
But compound shapes? Not so well:
I guess it doesn’t like the negative moments generated by the holes, and does its own thing. Oh well.
svgo is, on the face of it, pretty neat: it takes those huge vector graphic files and squozes them down to something more acceptable. Unfortunately, though, the authors have seen too many files with junk machine-generated <metadata> sections, and decided that it’s all worthless.
Metadata isn’t junk; it’s provenance. Your RDF? Gone. Your diligently researched and carefully crafted Dublin Core entries? Blown away. The licence you agonized over? teh g0ne, man. svgo does this by default. It would be very easy to use this tool to take someone else’s graphic, strip out the ownership information, and claim it as your own. It would be wrong to do that, but the original creator would have to find your rip-off and go to the effort of challenging your use of it. All so much work, all so easily avoided.
You can make svgo do the right thing by calling it this way:
There’s apparently a config option to make this permanent, but the combination of javascript, no docs and YAML brings me out in hives. Given that the metadata section of a complex file is typically a couple of percent of the total, it’s worth keeping. Software passes; but data lives forever, so be kind to it.
NB: this is in the early stages of development, but does work. It’s by no means a plug-and-play solution. You’re going to have to do some coding, and perhaps some soldering. Undaunted? Read on …
I really like the Blue Line Innovations PowerCost Monitorâ„¢ (aka the Black & Decker Power Monitor EM100B). I bought one long before the OPA started to give them away free to Ontario households as part of their peaksaver PLUS program. It’s a little device that clamps to your hydro meter and sends instantaneous power readings to a display.
Wouldn’t it be so much better if you could log and analyze these data? So a day’s power consumption might graph to something like this:
Yup, this is my real electricity consumption, as logged from the PowerCost Monitor. You can see the fridge cycling on and off, and I think the big mid-day spike was either the AC or the dryer; someone was home on that Monday. The rather blocky green line is Toronto Hydro’s hourly smart meter data. It really hasn’t got the resolution to show really detailed power use.
That spike at 06:30; what’s that? Let’s take a look:
That’s me boiling the kettle. You can see that the time resolution is better than a minute, and the power is to the watt. Mmm, coffee …
All of this is recorded using a simple Arduino-based solution, originally cooked up by Bryan Mayland. I’ve forked his code and added some instructions: scruss/Powermon433. Here’s the rig I’ve been using to log data over a USB serial link:
That’s a particularly ugly rig, due to the limitations of the 3.3 V receiver board I was using. There are other options that work with more normal Arduino boards up on github.
Here’s a sample of the data I’m logging, including the kettle incident:
Datetime
Elapsed_s
Energy_Wh
Power_W
Temp_C
2014-09-29T06:27:44
23241.7
25876
289
15
2014-09-29T06:28:16
23273.6
25876
290
15
2014-09-29T06:28:48
23305.5
25876
291
15
2014-09-29T06:29:20
23337.4
25892
294
15
2014-09-29T06:29:52
23369.2
25892
286
15
2014-09-29T06:30:24
23401.1
25892
277
15
2014-09-29T06:30:56
23433.0
25892
357
15
2014-09-29T06:31:28
23464.9
25892
1844
15
2014-09-29T06:32:00
23496.8
25892
1836
15
2014-09-29T06:32:31
23528.5
25952
1829
15
2014-09-29T06:33:03
23560.2
25952
1818
15
2014-09-29T06:33:35
23592.1
25952
1836
15
2014-09-29T06:34:07
23624.0
25952
1836
15
2014-09-29T06:34:39
23655.8
25952
1836
15
2014-09-29T06:35:11
23687.7
25952
1848
15
2014-09-29T06:35:43
23719.6
26048
1832
15
2014-09-29T06:36:15
23751.5
26048
2000
15
2014-09-29T06:36:46
23783.4
26048
2000
15
2014-09-29T06:37:18
23815.2
26048
2000
15
2014-09-29T06:37:50
23846.9
26048
368
15
You’ll see that I’m recording:
a system timestamp
the elapsed logging time, from the Arduino’s clock
instantaneous meter readings in watt-hours. Note that not every row has an update
the average power since the last record. The product of this and the time between records adds up to the energy consumption
the outside temperature in °C. This is not very accurate (in full sun it over-reads vastly) but better than nothing.
Compare that to the smart meter data:
DateTime
Hour
KwhUsage
Cost
Rate
2014-09-29 05:00:00
5
0.29
$0.02
$0.075
2014-09-29 06:00:00
6
0.31
$0.02
$0.075
2014-09-29 07:00:00
7
0.59
$0.04
$0.075
Not much data there, is there? Certainly not enough resolution to tell if a kettle has been running.
Even though this interface is homebrew and cheap, it is accurate. Here’s how four days of continuous readings stack up against Toronto Hydro’s meter:
Â
Power Monitor
ndToronto Hydro Smart Meter
Day
First Reading / Wh
Last Reading / Wh
Total Consumption / kWh
No of readings
Daily Total / kWh
No of readings
2014-09-29
23896
43668
19.772
2711
19.77
24
2014-09-30
43668
52500
8.832
2710
8.82
24
2014-10-01
52500
68004
15.504
2711
15.51
24
2014-10-02
68004
81996
13.992
2712
13.99
24
The difference looks to me like aliasing; THES’s reporting is much more granular.
I’m going to develop this further to turn it into an easy (or at least, easier) to use logging platform. It’s taken us a few years to get here, but there’s nothing quite like a project finally working!
ICQuestionBank2csv: A tool to extract both the Basic and Advanced Amateur Radio Examination guides from Industry Canada’s rather annoying two-column PDFs. Written for IC’s 2014-02 database updates.