For the best experience on desktop, install the Chrome extension to track your reading on news.ycombinator.com
Hacker Newsnew | past | comments | ask | show | jobs | submit | history | scary-size's commentsregister

Have been paying for Fastmail for years. It’s actually fast and lets me use my own domain. (And doesn’t shove AI down my throat). Cash well spent.

Installed CachyOS to replace my Win 10 installation a month ago. Not looking back! But yeah this sucks, I've mostly used Ubuntu with apt in the past. Pacman and makepkg felt a bit weird to use in the beginning.

Best to stick to official repositories only.

I thought the AdGuard folks were looking doing just that!

It's so satisfying to see all these techniques applied to a product. There's nothing really new tech-wise. Optimistic updates were shown in a lot of early React demos more than ten years ago. Bundle splitting, preloading and service workers have been around for a long time. But it does take a huge amount of rigor and determination to apply these methods in each layer.

Huh, that somehow reminds me of Crassus from Rome [1]

> The first ever Roman fire brigade was created by Crassus. Fires were almost a daily occurrence in Rome, and Crassus took advantage of the fact that Rome had no fire department, by creating his own brigade—500 men strong—which rushed to burning buildings at the first cry of alarm. Upon arriving at the scene, however, the firefighters did nothing while Crassus offered to buy the burning building from the distressed property owner, at a miserable price. If the owner agreed to sell the property, his men would put out the fire; if the owner refused, then they would simply let the structure burn to the ground. After buying many properties this way, he rebuilt them, and often leased the properties to their original owners or new tenants.

[1] https://en.wikipedia.org/wiki/Marcus_Licinius_Crassus


Nice establishment you got here—be a shame if something happened to it.

I wonder if the incidence of fires increased during this time.


Or a side hustle of exorbitant P&C insurance.


https://en.wikipedia.org/wiki/Battle_of_Carrhae

For the curious, above is how Crassus died.

TLDR: Got over his skis and mad with power and money. Decides to invade Parthia. Gets wrecked by horse archers. That ends up being typical for Romans, but this was the first-ish time that happened. Some of those captured legionaries may have ended up in China, though it is unlikely.

https://en.wikipedia.org/wiki/Liqian#Lost_Romans_myth


> Gets wrecked by horse archers. That ends up being typical for Romans

I don't think the Western Romans ever really learned from it did they? The Huns ended up wreaking them pretty hard.

I know the Eastern Romans did learn at some point out of necessity by creating their own professional units and hiring mercs.


massed horse archers wrecked pretty much everyone constantly until the 1600s


Fighter Jets with missiles are the modern version of the same concept.


Historia Civilis did a great video on this battle:

https://www.youtube.com/watch?v=bR7VDPUj5AE


so instead of simply financing military operation and staying home, he went in himself?

in some sense I even respect that decision


Not going probably never even crossed his mind. Social status in Roman society was very strongly influenced by military success. He was a previously successful general.

Historically (with all the accuracy you get when you summarize all of history) raising an army and not leading it was effectively telling everyone that you should be replaced by whoever did lead it.


The point was to win military glory since he resented being outdone in that respect by his fellow triumvirs.


>Upon arriving at the scene, however, the firefighters did nothing while Crassus offered to buy the burning building from the distressed property owner, at a miserable price.

sigma


IIIRC, new individual systems are already required to have the capability to wind down export based on external signals.


Is this required even for PV systems under 7 kWp ? I could only find new regulations from March 2025 for PV systems over 7 kWp.

https://www.mvv.de/photovoltaik/ratgeber/solarspitzengesetz-...


I guess „it‘s complicated“. For our system, 6kWp with iMSys, the grid operator can cap the ingestion as they see fit. For systems over 7kWp, you are required to install a iMSys that allows them to cap. Systems without a iMSys must have the capability to cap to 60% (either at all times or „intelligently“ depending on your consumption). BUT if you install anything today, you most likely will install a iMSys anyway. Also export fees for 7kWp and below are a bit of a joke anyway.


Interesting perspective! Are we in the „fast fashion“ period of software now?


Pretty cool! (I can't test it, seems unavailable in Germany).

How are you handling the text extraction with Readability.js? Does that run in a WebView in the background? I've built a similar, albeit less feature-complete, read-it later app in the past [1]. Spent most of my rewriting the core of the Postlight parser [2] in native Swift.

Anyway, cool project, and I'd probably buy this once its available.

[1] https://franz.hamburg/writing/read-later-app.html

[2] https://github.com/postlight/parser


Thanks! It should be available in Germany now — let me know if you still have trouble finding it.

Yes, Readability.js is injected into a hidden WKWebView for each extraction. I also recently added Defuddle as a second engine to handle JS-heavy sites and ones with custom extractors (Twitter/X, Reddit, YouTube, Hacker News, GitHub, etc.). A coordinator routes to the right engine based on the domain. After extraction, the HTML gets parsed into typed content blocks and rendered as native SwiftUI views — much nicer for theming and performance than using a web view. The Share Extension just grabs the URL and hands it off to the main app for full processing.

That's really cool that you rewrote the Postlight parser in native Swift — that's a serious undertaking. I considered going fully native for parsing but the JS engines are surprisingly capable when you let them run in a WebView. Really enjoyed reading your write-up too! The scoring approach you took for content extraction is essentially what Readability.js does under the hood too — scoring DOM nodes by heuristics and bubbling scores up to parents. Impressive that you reimplemented that in native Swift.


Real nice! Shutting down networking between refreshes definitely helps with the battery life. I also prevent mine [1] from updating between 10PM and 6AM. Nobody is looking at it anyway. If you search around on Github for Kindle dashboards, there's a lot of scripts out there with a bunch of battery life improvements (shutting down daemons, wifi etc.).

I built GTFS based public transit display on top of a Raspberry Pi Zero and a 2" e-ink display ~10 years ago [2].

[1] https://franz.hamburg/writing/kindling-e-ink-dashboard.html

[2] https://github.com/Scarysize/transit-pi


Hah I love the random Pokemon + remaining time for Laundry + Dishwasher! I'm not usually a big fan of smart appliances but boy oh boy would it be cool to display remaining time left for laundry on a dashboard...


Maybe the folks at TRMNL? https://trmnl.com/


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search:

HN For You