@hugo Good things come to those that wait? https://github.com/opnsense/core/pull/9923
@ktims.nonexistent.ca.ap.brid.gy
I enjoy long coding sessions in #rust, LED-lit #electronics projects, #linux systems integration, and learning about any interesting technology. AMA about the 737MAX [โฆ] ๐ bridged from โ https://nonexistent.ca/@ktims, follow @ap.brid.gy to interact
@hugo Good things come to those that wait? https://github.com/opnsense/core/pull/9923
Prototype of my next project - a PTP clock with a 1,000,000fps, 1us display, with a true displayed accuracy of better than 500ns with respect to PTP time. No, I don't know why this is useful. Maybe some high speed photography setup with a need for absolute [โฆ]
[Original post on nonexistent.ca]
The hypocrisy of a bank insisting I give my password for my account at another bank to 3rd party Flinks/Plaid, while insisting in the ToS that if I did so with their account, they're no longer liable for fraud.
A while back I noticed that my hosted-at-home services (media library etc.) sometimes felt very slow from outside. But never thought much of it.
Needed to do a large file transfer from home and seeing 200KB/s, finally had enough.
Only affects IPv6. Only affects traffic to the OpnSense router [โฆ]
Since I recently moved my primary DNS to PowerDNS, I realized I can expose its API to my OpnSense and _finally_ get support for dynamic DNS for IPv6 with host-part replacement. Now I can choose if I want to expose things natively on IPv6 PD addresses and proxied on IPv4, or proxied on both AFs [โฆ]
Maybe https://woodpecker-ci.org/ is worth a look? Been quite happy with it, but it might not be a good fit for ngscopeclient.
A scope shot with infinite persistence on, showing a stable yellow trace and a blue trace with approximately -5/+60ns of jitter.
This is the situation after an hour or so of data collection, with the PLL tuning back to defaults (65536s). Trigger on channel 1 (yellow), the PPS out from PRS10, cyan is PPS out from the GPS. The PRS10 seems to be working totally fine.
We should expect the [โฆ]
[Original post on nonexistent.ca]
It seems like this unit might have been a cold spare, given its excellent condition. It didn't arrive to me in original packaging, but was clean and didn't bear the typical scratches of rackmounted gear.
The PRS10 reports less than a year of total runtime so it is practically new.
Still need [โฆ]
A Symmetricom TimeSource 2700 on the kitchen table, with its original binder-bound paper manual sitting atop.
A Stanford Research Systems PRS10 Rubidium Frequency Standard on the messy bench. In the distance an oscilloscope can be seen measuring time offset between two PPS signals.
Picked up a very obsolete Symmetricom TimeSource 2700 on eBay, solely to harvest the PRS10 Rubidium Frequency Standard inside (which go for more than double what I paid for the donor). Now I can proudly report that I have an atomic clock!
Preliminary tests [โฆ]
[Original post on nonexistent.ca]
I've been banging on this general "allowing strong technical locks which lock out the ostensible owner are a serious problem" drum for a long time now. As usual @pluralistic offers a poignant analysis [โฆ]
Another offset plot comparing local offset to the sync source (GPSDO PPS) and PTP source.
Replaced the cheap Netgear switch with a Cisco C2960CX. This increased the static offset from ~1.2ฮผs to ~2ฮผs. Interesting, and seems to corroborate asymmetric delay based on the network switch. I'd need to think a bit more on it and how it interacts with PTP's [โฆ]
[Original post on nonexistent.ca]
A Grafana plot showing time offset between the local clock and two of chrony's sources
How chrony interprets the performance of local PPS vs. PTP. Green trace is the offset of the local clock and GPSDO PPS, captured locally using the BeagleBone timer capture hardware (see my previous posts on that platform). Yellow is the offset between the [โฆ]
[Original post on nonexistent.ca]
Been binge watching #39c3 talks (https://media.ccc.de) the last couple days. This con is amazing, it's got it all. I hope to go some day. Thank you for generously providing the high quality online versions.
Anyone aware of an affordable 5-12 port switch with proper management & PTP transparent and/or boundary clock support? Primary or secondary market is fine. < $300 CAD, GigE+, PoE would be nice.
My survey so far:
* Arista - 710P series seems to have good support, but not remotely affordable [โฆ]
@fasterthanlime Learned this one last week when it put multiple k8s nodes into disk pressure and broke everything. Fun times.
A photo of a PCB bristling with SMA ports in the omnivise. A port on the left and a port on the bottom are connected to the NanoVNA, which is showing an S11 plot. The plot shows a bandpass response.
Finally back to #timenuts stuff! GNSS distribution amplifier seems to be working as designed. S11 seems much higher than expected at only around -5 to -10dB. The filter is meant to be internally matched, as is the amplifier stage so not sure what is going on [โฆ]
[Original post on nonexistent.ca]
#adventofcode day 5 report
Why is Rust's `Bound` and `RangeBounds` API the way it is?!
Tried to build a templated `RangeSet` based on `RangeBounds`, but determining overlap and merging ranges was so ugly due to having to handle the 3 types of `Bound` everywhere. It was impossible to sort out [โฆ]
#adventofcode day 4 report
Today was an exercise in remembering how my custom Grid helper class works. And thinking it already had the necessary methods to solve today's problem, but ending up adding them.
[AoC Solution Discussion]
#adventofcode day 3 report.
Solved in under 30 min, but my solutions are slow. Just using a totally dumb recursive DFS with memoization.
This problem would probably be better solved with BFS, then it is simple to cull the obviously worse paths (e.g. if we have [โฆ]
[AoC Solution Discussion]
Hitting my self-imposed time limit for #adventofcode day 2.
Performance progression:
First attempt, string-based brute force:
Part1 - 24ms
Part2 - 239ms
Second attempt, arithmetic based brute force:
Part1 - 4.5ms
Part2 - 13ms
Third attempt, arithmetic based on [โฆ]
Redeemed myself a bit today, remembered to solve first and optimize later!
Reasonably good solution in about 15 minutes, but there is plenty of room for obvious optimizations and style points.
#adventofcode
[AoC Solution Discussion]
Not a great start to #adventofcode this year, I completely forgot how my build setup was working last year, and the boilerplate I copied to start from did not work at all.
Then, I could not quite work out the edge cases for the modular arithmetic after 90 minutes of [โฆ]
New (very minimal) Internet-Draft submitted: ASN Prefix-based Addressing for IPv6
"This document describes a method and policy for ASN prefix-based addressing for IPv6."
If this goes anywhere I expect it will change, and grow, markedly [โฆ]
A Brief, Incomplete, and Mostly Wrong History of Programming Languages
James Iry; Thursday, May 7, 2009
1801 - Joseph Marie Jacquard uses punch cards to instruct a loom to weave "hello, world" into a tapestry. Redditers of the time are not impressed due to the lack of tail call recursion [โฆ]
After a couple of evenings I think I've mostly rebuilt all my compose manifests and lost volumes. Pretty painful error in time wasted setting things up again, but didn't really _lose_ anything. At least now I have Overseer up and running for all that effort.
Learned my lesson. Now taking hourly [โฆ]
In more minor issues with Trixie migration, the `restic` package maintainer apparently decided to just silently remove Azure support because of packaging difficulties.
So that sucks, I upgraded my storage server to Debian Trixie. Sloppily, apparently, since I seem to have lost all my docker containers and volumes somehow. I guess some interaction between the Debian Docker package and the Docker CE package during the upgrade.
Without backups since I never got [โฆ]
I am Jack's complete lack of surprise.
RE: https://mastodon.cloud/@wakko/115572609162243537
So far we've only synchronized the PHC on the NIC - the system can observe this clock, and it can be used to precisely timestamp network packets - but it is not coupled to the system's timekeeping yet.
In order to do that, we need a second control loop. In my current setup, that role is taken [โฆ]