I frequently break my site in ways that aren't obvious. Right now, I use a combination of visualping and a homebrew tests.sh that hits various endpoints and runs checks, but I have been meaning to integrate screenshoting into my tests script (via selenium or cutycapt) rather than relying on a hosted service.
Have you found a good way of diffing the screenshots? DiffPDF works pretty well, but I haven't found a good solution for checking whether there are relevant changes automatically, rather than just has-changed, in a way that could be integrated into a script.
I only use the built-in diffing by Playwright. It comes with a nice overview page [0] that shows all the failed tests including traces and screenshots. There you have a pixel diff. If you have some notion of irrelevant changes that shouldn't warrant a test failure, I wouldn't know of a way to pull that off.
This is a super cool project! Probably the most interesting neurotech hardware I've run across since OpenBCI was released.
It would be great to see a side-by-side comparison of Cerelog and OpenBCI data from the same session/patient.
A few questions:
- Could you clarify which parts of the project are licenced MIT, which are CC-BY-SA, and which are CC-BY-NC-SA? It seemed like the guide and the README had more restrictive language than the actual license file.
- What made you decide to start fresh, rather than adding the features you needed to the OpenBCI?
Thanks for the kind words! About the Side by side comparison, that is high on my to do list!
Regarding licensing, sorry about the confusion between my repo init and the docs. I have updated the repo to clarify the distinction: Firmware & Software: MIT License. I want people to build whatever they want on top of the stack. Hardware Schematics: CC-BY-NC-SA (Non-Commercial). Why the split? Since I am a solo bootstrapper, I need to protect the hardware from low-effort commercial clones while I get the business off the ground. But I strongly believe in "Source Available" schematics so researchers and engineers can debug, learn, and modify their own units, hence the CC-BY-NC-SA choice for the board files.
Why start fresh? It was an architecture decision. The Cyton uses a PIC32 + RFduino stack. I wanted to handle everything natively on the ESP32 for high-bandwidth WiFi streaming, which required a ground-up redesign. I also wanted to add onboard LiPo charging and the ability to experiment with different filter topologies. Building it from scratch helped me uncover a lot of subtle design constraints that aren't obvious until you dig into the layout.
I second your comment about referring back to sysadmin posts. I do this all the time! Sometimes I even find my own old blogposts in Google.
And I still get a steady trickle of grateful comments/emails in response to a tossed-off post about getting Linux scanner drivers working, many of which are genuinely moving to read.
I started blogging long before AI became mainstream, but I'd say: totally worth it.
Re blockers:
- Novelty: I routinely search for very niche, "boring" information, and am disappointed by how few in-depth blogposts I find.
- “AI can explain most topics better than I can”. I doubt it! I rarely find current AI as valuable as a good blog post. It tends to be shallow and regress to the mean, and b/c of hallucinations it's untrustworthy, so a lot of time is wasted fact-checking.
- Fear of shipping: if it isn't relevant, nobody will read it (unless you're already famous)
Re questions:
- What made it worth it for you?
Clarifying my thoughts, connecting with strangers who think about the same things, the leverage "having a platform" produces (it opens a lot of doors), and gaining prestige in certain niches.
- What kinds of posts actually worked (for learning, career, network, opportunities)?
I don't think this is simple to answer until the heat death of the universe. Traffic stats is a very poor estimator of value delivered. Which posts I am most proud of, and how much traffic they got, are weakly correlated.
- Any practical format that lowers the bar (length, cadence, themes)?
Things that you are obsessed with. It's a tonne of work writing a good post, and sometimes you publish it and nobody cares, so it has to be intrinsically rewarding.
- If you were starting today, what would you do differently?
I don't know! Probably put less effort into trying to appear intelligent/impressive, which rarely works anyway.
These are my off-the-top thoughts based on over a decade of blogging.
I have been tinkering on a little price drop alert scraper written in Python. It's run as a cron job, and every day it checks the prices of a list of urls (my clothing staples from various outdoor retailers, mostly) and sends me an email with any products that have gone on sale.
I've been running it for over a year, but now I have fixed it up and made a little landing page to see if there's interest for a stupid-simple price watch service like this (no need to install an extension or create an account):
I tried to use pandoc+revealJS, then tried presenterm (which was really nice but didn't give me enough control over font sizes), and then settled on Marp, which worked great.
I frequently break my site in ways that aren't obvious. Right now, I use a combination of visualping and a homebrew tests.sh that hits various endpoints and runs checks, but I have been meaning to integrate screenshoting into my tests script (via selenium or cutycapt) rather than relying on a hosted service.
Have you found a good way of diffing the screenshots? DiffPDF works pretty well, but I haven't found a good solution for checking whether there are relevant changes automatically, rather than just has-changed, in a way that could be integrated into a script.
reply