800 watts of panels, 5.4 kWH of battery*, satellite internet, all I could need for work-from-woods
This was a constant tinkering project, but it always basically worked all summer.
800 watts of panels, 5.4 kWH of battery*, satellite internet, all I could need for work-from-woods
This was a constant tinkering project, but it always basically worked all summer.
In 2020 I noted that you can build a small gadget-charging off-grid solar power system for about $200. In 2021 I deployed it to a spot in the woods of Vermont.
This is largely a tale of what kinda-worked and what I should do better next time.
Instant Runoff Voting, the form of Ranked Choice Voting most enacted in the US, known for decades to be flawed, has failed again.
The August 16, 2022 special election in Alaska elected Mary Peltola to US House, but more people wanted Nick Begich.
This isn't an obvious conclusion from the top line reported results, so let's dig and see how this happened.
The IRV rounds played out like this, with Begich in third and eliminated in the first round.
Round 1 | Round 2 | |
---|---|---|
Peltola, Mary S. | 75803 | 91375 |
Palin, Sarah | 58937 | 86195 |
Begich, Nick | 54009 | |
exhausted | 3304 | 14626 |
overvote | 236 | 93 |
active | 188749 | 177570 |
First | Second | ||
---|---|---|---|
73948 | Peltola, Mary S. | 41424 | Begich, Nick |
8447 | Write-in | ||
3635 | Palin, Sarah | ||
56669 | Palin, Sarah | 32551 | Begich, Nick |
3197 | Peltola, Mary S. | ||
1214 | Write-in | ||
51762 | Begich, Nick | 25699 | Palin, Sarah |
14093 | Peltola, Mary S. | ||
1391 | Write-in | ||
3051 | Write-in | 1075 | Begich, Nick |
997 | Peltola, Mary S. | ||
429 | Palin, Sarah |
1 | 2 | 3 | |
---|---|---|---|
(1) Begich, Nick | 88212 | 101500 | |
(2) Peltola, Mary S. | 79515 | 91438 | |
(3) Palin, Sarah | 63693 | 86283 |
Lots of debate about DST and time zones and should we change them.
Around where I am in Boston, with DST, sunrise varies by over two hours from 05:06 to 07:22, and sunset varies by over four hours from 4:11pm to 8:25pm. (DST is really "sunrise stabilization time".)
What I think I hear underneath is that people want their schedules aligned to the sun. The want more sun in their day. They want their waking aligned to the sun and the end of their day aligned with the sun.
Then they run up against needing a bunch of states going in on change together, or even an act of Congress. The sad fact of astronomy is that summer days are over 15 hours but winter days are only 9 hours and maybe with that scarcity of daylight we're just not going to make everyone happy.
But, we can act locally starting any time. Businesses can change their hours. School districts can change their hours. There's nothing sacred about school starting at a time named "7:35 am" or whatever. DST or not, that time could even shift a couple times during the year, maybe in steps of half an hour. If I was running a coffee shop I'd be tempted to declare "opens at sunrise" (or an hour before sunrise in some places).
Act locally, start now.
The good news is that San Francisco publishes full ballot data from their elections [1]. It's a quarter-gigabyte zip file full of JSON and I can go digging into it and look for deeper patterns in how people rank candidates on their ballot. Is there a hidden story about who 2nd-choice candidates were and what people really want? Did IRV screw up and we should switch to Condorcet?
The bad news is that I can't reproduce their results. They publish the full data, but the program they run isn't open source.
The Board of Elections of New York City released full vote data for the Ranked Choice Votes (RCV) for the 2021-06-22 primary election. I downloaded this data and processed it with my software to do some analysis. Out of 63 elections: 3 had different outcomes than pick-one (Yay! This way is better!) and none had different outcomes IRV vs Condorcet. I still maintain that IRV is inferior because sometimes it can fail and for no additional cost or complexity we can have something better, but that 'sometimes' is looking more rare in practice, though it did happen.
A year ago I posted a teaser of some work I'm doing on Open Source Voting Machines.
The ballots are looking a lot better now. There's a proper header and 'how to vote' instructions. The big feature I've been working for the last month is ballot recognition. Given a scan of any known ballot page, identify which precinct it is and scan the appropriate bubbles. With that I think this is now much closer to being a practical system where a central scanning operation could receive absentee ballots and precinct ballots and scan them all. All this with no barcodes, it's 100% human readable. This can be important psychologically to voters because there are no mysterious markings for people to get suspicious of. Most places I've voted still have a plain serial number on each ballot to prevent duplication, that can be addded if desired.
The test ballot I'm generating is based on random words from the Linux dictionary, so just look at it visually and don't read too much into the nonsense ;-)
I'd seen a couple other posts and decided to do the analysis myself.
There are two word lists of 5 letter words; one with 2315 words and one with 10657 words. Others have noted that the shorter list is probably words that could ever be a solution to wordle, and the longer list is things that will also be accepted as guesses. Linux /usr/share/dict/words contains only 6112 words that match ^[a-zA-Z]{5}$ .
Doing letter frequency analysis on the union of these lists leads to the impression that the best word (with the most frequent letters) is "soare" (an obsolete word for a young hawk). Doing this just on the solution list yields "later" "alter" or "alert".
But we can do better. wordlehack.go does the following:
for each guess word:
for each target word:
for some {target} and {guess}, how many possible words remain?
get the sum of remaning words for all targets
So, what word has on average the fewest remaining words after it has been guessed, across all possible targets? "raise"
This takes into account letter position, not just letter frequency. "arise" is not quite as good.
And if "raise" gets you nothing, the best next word is "clout".
So, there you go, go forth and be more reputable among your peers. raise your clout.
---
Source code (jupyter notebook python and Go)
https://github.com/brianolson/wordlehack
Go play the game
https://www.powerlanguage.co.uk/wordle/
Open Drone Map promises to be an open source tool chain that takes a set of aerial photos and turns them into a map with 3d reconstruction. Last summer I took a bunch of aerial videos hoping to feed them into a process like this. I hadn't researched the details of the tools I'd use to do it, but I vaguely knew they were out there.
I wish I'd known two rules for working better with ODM:
ffmpeg -i 'source.MP4' -ss 3:24 -to 4:48 -filter:v fps=2 /path/to/odm/data/images/%05d.jpg
Then from the ODM source dir, I activated the python venv and ran the ODM wrapper script:
(source odmve/bin/activate && ./run.sh --project-path /path/to/odm data)
I'm hoping when I go back and scan the area with what I know of technique I'll get better output. The system is tantalizing enough that I want to do more.