HNHacker News
TopNewBestAskShowJobs

Backslasher

248 karma · joined July 24, 2020

submissionscomments
Backslasher··on Firefox 155.0
I also dislike the choices the product team of Firefox is doing. However, it is the only (afaik) major browser distro that has support for a proper adblocker, so I grind my teeth and remove homepage widgets and tab suggestions and weather forecasts.
Backslasher··on Creepy Crawlies
I thought they were expensive compared to fetches from established repos. TIL they're also expensive compared to full clones.
Backslasher··on Afterglow: Run classic After Dark screen savers on modern macOS
Semi-related, I redid just the other day the Flying Toasters in-browser with the full logic from the original, toast-juggler and everything.

https://news.ycombinator.com/item?id=49432857

Thought about doing it as a Linux screensaver, but I didn't have the patience to actually wait for the idle time, and that way I can share it with my non-Linux-using family.

Backslasher··on Show HN: "Flying Toasters!" reverse-engineered 1:1, in the browser
When I was a kid I really liked this After Dark screensaver, and I recently had a burst of nostalgia. Because I'm pedantic, I was missing the specific 1996 version, not "Flying Toasters" (1990) or "Flying Toasters Pro" (1994), because kid-me had the version with conga lines, future toaster-satellites, and a toaster with a bagel for eyes.

I saw Bryan's CSS version (https://www.bryanbraun.com/after-dark-css/all/flying-toaster...), and tried reproducing it with manually-extracted sprites (windows virtualbox -> ffmpeg -> gimp) about 2 years ago, resulting in https://backslasher.github.io/flying-toasters-legacy/

They both didn't scratch my itch fully, and I had some Fable credits available so I decided to put it to good use.

This reproduction is fully based on the sprites, music, sfx, engine logic of the original screensaver. It has the "gags" (toasters doing something silly), baby mode (which I'm not a fan of, but to each their own), and karaoke.

Claude Fable did a lot of good work, including some basic validation (spinning up a headless Chromium and grabbing console output and screenshots), but I was still needed in the loop. It was really big on magic-number-ing, patching, and "assuming" things and most of my comments that weren't bug reports were pushbacks on it inventing stuff rather than going deeper.

As per usual when doing old-things-disassembly, I marveled at how much rich logic this tiny binary has, e.g. the "gags" that involve multiple toasters (airshow squadron split-off) initialize regular toasters, grab them for the gag, then release them into individual units when done. On the other hand, they didn't have weighted random, and I kept wondering why 10 entries in the flight-act table were identical (loop-de-loop) until I realized it's the same act, and they wanted it 10x more likely to be picked.

New code is AGPL (https://github.com/BackSlasher/flying-toasters-reverse-engin...). Extracted art, behavior, audio remain the property of whoever holds After Dark's IP, and are held for archival purposes (see NOTICE).

If you have questions or other AD screensavers you miss, let me know!

Backslasher··on Expert Witness to ChatGPT: "Show how 3M is 0 percent at fault"
I hate the expert for not cleaning up the url before sending it over
Backslasher··on You're Not a Better Engineer Because You Type Git Commands by Hand
I think these are discussions about workplace / team policy that get extended into a post.

I recognize these from different dev teams where it was agreed that a "how much AI" policy is needed, but the actual policy was very hard to settle on.

Backslasher··on Two nasty surprises in Home Assistant's config
I wanted to help so I took a look at the issue and the code. I was unable to reproduce the issue from your description.

Firstly, issue #153175 refers to the "time of day" sensor, which is not what you're using - you're using the "time" trigger. The TOD code does a bunch of timezone acrobatics that can be fixed, but I don't think it'll affect your problem.

Secondly, I built a tiny regression test on dev (on top of 333a3421) to reproduce your problem, and it didn't repro. I created a "trigger: time, at: 06:00:00, Europe/Paris", attached it before the DST transitions, and checked when it fires before, during, after the DST actual. The trigger fires perfectly on 06:00 walltime, and adjusts utc to match.

Thirdly, the HASS UI has a small bug where it shows "Paris/+1" even if it's currently DST. It's a UI bug only, but it can lead to someone thinking that the entire HASS core doesn't respect DST.

Silly tech support questions - are you on latest? Did you try playing around with {{now()}} in developer templates? Maybe open a new issue?

Backslasher··on Costco is the anti-Amazon
I think the original biblical phrase was about getting out of a hole which you fell into, and in that domain it's always better to not fall into the hole.
Backslasher··on Costco is the anti-Amazon
The part about Costco choosing to avoid the last mile shipping problem reminded me of a proverb, roughly translated as:

A clever person solves a problem; a wise person avoids it.

I think it holds a lot of truth in engineering.

Backslasher··on Court Records Should Be Free
A bit tangential. In Israel, case records are sort-of-free.

They're publicly available in a byzantine system maintained by the Court Management, a governmental entity (Net Hamishpat, "court net" - slightly deviating from Beit Hamishpat meaning "the court", https://www.court.gov.il/NGCS.Web.Site/HomePage.aspx), but it is not where cases and material are referenced from in the public sphere or legal docs.

Most professionals subscribe to Nevo (https://www.nevo.co.il/), which is a "repository" of cases, law (updated to the latest revisions) etc. Even official court documents say "as seen in Nevo". They sometimes release tidbits of info to the common (unregistered) man, but searches etc are paywalled. There are other similar systems from other companies.

It seems that Nevo and co are slurping the material via a sliding-window (~7 days back) doc-dump that the Court Management lets people access as long as they commit to removing cases that the Court Management tells them to remove.

There is one renegade (Tola'at Hamishpat, "court worm" https://xn----8hcborozt8bdd.xn--9dbq2a/) which is not using this doc-dump and instead scrapes the gov website. They're doing it to not be bound by the agreement for removing documents, which they say they'll only do if they get forwarded a court order that the case is now classified. This is because the Court Management, which is not populated by judges but rather admin people, sometimes instructs removal of cases too freely (without a court order), which clouds the principle of public availability according to the Tola'at operators.

There are other sites which purport to allow free access to cases, but they're usually low-level scrapers and don't allow a full-enough view.

As an "information wants to be free" person, I find this entire saga fascinating.

Article about Tola'at people (Hebrew): https://www.themarker.com/weekend/2025-12-26/ty-article-maga...

Backslasher··on Software engineering may no longer be a lifetime career
Referring purely to the article and not to the title (which is hard, because I see a lot of people are, and it is tempting), I can say that I disagree with 1 (Using AI means you don’t learn as much from your work).

At least personally, using codegen LLMs allows me to step into areas I'm completely unfamiliar with, produce value, and learn new things along the way. I just made changes to a FOSS Android app I'm using, and I'm relatively inexperienced in mobile. However, now I know soe Kotlin keywords, I know a bit about the UI libs, and know better how to build and test Android code.

So I think I don't learn less, maybe I learn the things that interest me.

Backslasher··on Ask HN: Is anyone seriously considering a career change?
Life led me to consultancy to tech oriented companies, and I can say that like the father at Charlie and the Chocolate Factory (film), I make more money fixing the machine than I did doing the work the machine is now doing.

From what I saw, people might be able to produce code faster, but at least for now its design frays heavily at the edges (scaling, resiliency, security).

On back to school, I can personally report that I tried that and gave up because uni knowledge cramming felt much more boring compared to learning work-related stuff.

Backslasher··on New US phone network for Christians to block porn and gender-related content
This reminds me of a similar offering in Israel (Kosher Cellular Phone) for Orthodox jews.

Hebrew wiki: https://he.wikipedia.org/wiki/%D7%A1%D7%9C%D7%95%D7%9C%D7%A8...

It has restricted internet, and allows calls and messages only to / from other "Kosher" lines and specific whitelisted numbers as approved by a rabbinical committee.

They also have some bastardized support for Whatsapp with a limited ability to join groups (not sure how that's implemented)

Backslasher··on Ask HN: Who wants to be hired? (May 2026)
Location: Israel

Remote: Yes (EU hours, async with US)

Willing to relocate: No

Technologies: AWS, GCP, Kubernetes, Terraform, Java, Python, Go, Postgres, infra and backend generally

Résumé/CV: https://blog.backslasher.net/about/

Email: jobs@backslasher.net

I'm an independent software architect. Companies bring me in for the painful infra and backend projects their team can't get to without derailing core work, usually migrations, reliability fixes, and cost takeouts.

Recent: AWS to GCP migration saving $5K/month with zero downtime. Cassandra to DynamoDB migration, no downtime. Build times 30min to 3min, success rate 70% to 97%. Once replaced a planned 2-month rewrite with a 6-line diff.

Background: 6 years at Facebook (reliability/performance/security at billion-user scale), then architect at two growth-stage startups. Independent since 2025.

Best fit: growth-stage company with a defined infra-shaped problem and budget to have someone senior own it end-to-end. Probably not the right call for ongoing IC work or pure feature delivery. I work fixed-price when scope is clear, hourly when it isn't.

Backslasher··on What is better: a lookup table or an enum type?
To me, since the DB is there to serve the app (which is there to serve the user), the lookup/enum decision mostly depends on whether the list is defined before build time (> enum) or after (> lookup). US states are probably a solid "before", so you get the added value of easily materializing a validator in the app code. Children IDs sound a bit more dynamic.
Backslasher··on Show HN: Tapestry, composite e-display poster
I've been working on this for the couple of last months. I found this project to have multiple tech angles (pcb, electronics, C-level ESP, Python, webui / Javascript, machine vision), an figured it might be an interesting read. I don't think anyone did anything similar to this, and maybe people would like the idea and make their own e-ink poster
Backslasher··on Disney and the Decline of America's Middle Class
https://web.archive.org/web/20250828091300/https://www.nytim...
Backslasher··on Django: One ORM to rule all databases
More like "on a long-running process that is not a full-blown Django server"
Backslasher··on Django: One ORM to rule all databases
Is Django's ORM even supported outside Django sites? I had a consulting gig that had a FastAPI website using Django's ORM and it produced a bunch of weird bugs.
Backslasher··on Ask HN: Meta/FB layoffs a year later – where are you now?
I bumped into them when looking arouns. During the interviews you could tell the CTO had a huge backlog of juicy items that had a healthy mix of "things I have a clear idea of how to deliver" and "areas I'd like to learn". The fact that the people seemed very nice and the company was actually doing good to the world sealed the deal for me.
Backslasher··on Ask HN: Meta/FB layoffs a year later – where are you now?
I appreciate your feedback. I don't think I'm non-committal, more like afraid of being boxed into a too-small domain.

The last sentence is factually incorrect. During my time at FB I contributed code to the container solution, the Jenkins-equivalent, the network routing layer, the bare-metal-provisioner, the monitoring solution and even wrote a feature for the website. I identified a problem, parlayed with the owning team, and shipped that feature. This was the best part IMO about working at FB.

Backslasher··on Ask HN: Meta/FB layoffs a year later – where are you now?
I tried doing that, but couldn't land a starting gig with reasonable pay. To my impression, the market is flooded with cheap-to-hire people and I couldn't make my quality stand out enough to get interesting clients. If you have any tips I'd be happy to read them either here or at cv AT backslasher.net

EDIT saw your reply. That's a great experience! I tried that but the timing / friends / luck didn't pan out there. I'm happy you got it working though :)

Backslasher··on Ask HN: Meta/FB layoffs a year later – where are you now?
Most definitely. Most of my time in FB was spent at the very least making FB a better company. I was solving problems that impacted our users or our engineers. The last year though, not so much. I joined a team that I believed was doing revolutionary work, but as the company's leadership redefined what its goals, the team became vegetative and I was spending most of my time trying to find something meaningful to do.

By comparison, everything I do now improving the company I work at, and at most times has a direct, positive impact on our users and in a smaller way on society

Backslasher··on Ask HN: Meta/FB layoffs a year later – where are you now?
While interviewing post-FB to other companies as an SRE-type-engineer, it seemed to me that outside of FANN it's not common to give engineers a very wide scope. One company asked me whether I'd like to join the monitoring team or the container team, to which I replied "why can't I work in whatever team needs me the most, and switch whenever needed?". They didn't like that. After trying and failing to find a part-time position I like (can expand on it if interesting), I ended up joining as an architect to a "fixer-upper" company, where I have a lot of things I can improve and wide scope. The money isn't up to par with FB, but I feel I'm doing meaningful work and making the world better, which was missing from the last couple of months at FB.
Backslasher··on A 1.5GB string
The brain and the brawn :)
Backslasher··on A 1.5GB string
A.S --> E.A, no? :) I decided to abstract away the URL part as it wasn't easily explainable and not important to the story. I figured the JSON-in-JSON part is interesting enough.

Anyway, the resulting memdump with many \\s remains my most audience-engaging slide to date, and figured out the non-company audience deserves to know. Good times.

Backslasher··on A 1.5GB string
I do not know why this is a JSON object. It might have been for debuggability, although I don't agree with this choice.
Backslasher··on A 1.5GB string
I joined the team long after this was in production, but I can testify that the service has a lot of moving parts and attributing the reliability / efficiency costs for a specific issue was challenging.
Backslasher··on A 1.5GB string
We ended up doing that. We decided that while we have to store the stack, it can't hold 20 years of history.

> creating a dedicated real stack with self-imposed size limits and reporting.

Backslasher··on A 1.5GB string
The real formula we used to order servers was more complex than this, and included regional distribution, requirement peaks etc. I can expand more on that process if this is interesting. However, for the context of this post, this crude approximation suffices IMO
Page 1 of 2Next →