HNHacker News
TopNewBestAskShowJobs

binaryturtle

539 karma · joined January 3, 2025

Two Turtles, One, and Zero.
submissionscomments
binaryturtle··on Email obfuscation: What works in 2026?
It's more fun? :)

/edit

And you can combine both approaches: XOR'ing the code first for good measurements. :)

binaryturtle··on Email obfuscation: What works in 2026?
When I wrote my own brainf*ck interpreter (in C) at the start of the year I was really struggling to find a use for the language. Eventually I had the idea to obfuscate emails on my websites with the language.

Basically each email gets written as a brainf*ck program and stored in a "data-" attribute. The html only includes a more primitively obfuscated statement "Must enable Javascript to see e-mail." by default which then gets replaced by another brainf*ck interpreter (in JS) with the output of the brainf*ck code. Since we only output ASCII we can reduce the size of the brainf*ck code by always adding 32 to each value it outputs. The Javascript is loaded from what seemingly looks like a 3rd party domain. There we filter basing on heuristics and check if the "referer" matches before sending out the actual interpreter code.

Of course all this would not help if a scraper properly runs things through Javascript too.

Recently I read you soon will be able to run DOOM via CSS, so certainly it should be possible to have a brainf*ck interpreter in CSS? That would be the next step… just to get rid of the Javascript, but then I'm okay with all the downsides of using Javascript just for the e-mail obfuscation.

Anyway… I also regularly (at least once a year) rotate those public contact addresses.

binaryturtle··on ChatGPT won't let you type until Cloudflare reads your React state
It's going on since quite a while. Want to update some GNU software, or look up something? I have to switch the user agent to "curl" to be able to visit the sites.
binaryturtle··on How to turn anything into a router
Sounds interesting. I always wanted to use a Raspberry PI as router (to have one as backup in case the OpenWRT Linksys goes down), but couldn't wrap my head around properly how to overcome the single network port (I think the usual recommendation is to use an extra USB network card/adapter). Can you elaborate more about this VLAN stuff (you would put your modem, your router, and all your machines on the switch... and in the switch you tell the router connection to double use the connection for WAN and LAN separated via VLANs? And put the modem into the "WAN VLAN" too?)

Ideally the PI also should to what the extra DSL Modem does… but I guess that's where the dram must stop. :D

binaryturtle··on ChatGPT won't let you type until Cloudflare reads your React state
I'm with a slightly older Firefox and can't use many websites at all anymore because the Cloudflare cancer.

Of course then you got sites like gnu.org too that block you because your slightly outdated user agent.

binaryturtle··on Obsolete Sounds
Needs a recording of an Amiga reading in a floppy disk... and the floppy drive just waiting to be feed. Those were the sounds! :)

(The interface on the website is a bit confusing to use, IMHO)

binaryturtle··on Show HN: Email.md – Markdown to responsive, email-safe HTML
I still can check the SPAM folder, if needed.

But most SPAMs are HTML, so you'll have a good default last-stage in-client filtering in place in case some SPAM actually makes it through the other setup on the server (greylisting, DNS based filtering lists, policy-based filtering, etc.) :)

binaryturtle··on Show HN: Email.md – Markdown to responsive, email-safe HTML
Any "HTML emails" get filtered straight into the spam folder here. I think I'm not part of the target audience here.
binaryturtle··on macOS 26 breaks custom DNS settings including .internal
I run a setup like that on my (outdated) Yosemite machine to provide multiple private TLDs for local deployment/development needs.

I set that up in like 2014? Even back then it was known already that the quick /etc/resolver way was the deprecated way to do things. So I guess they finally killed that feature off?

The proper (more awkward) way is to use scutil directly (which then stores the settings in some binary plist somewhere, I assume).

Maybe try this and see if it still works afterwards?

binaryturtle··on The 49MB web page
It would be less hypocritical if that critique of the situation wasn't posted on a website that itself loads unnecessary 3rd party resources (e.g. cloudflare insights).

Luckily I use a proper content blocker (uBlock Origin in hard mode).

binaryturtle··on Changes to OpenTTD Distribution on Steam
So does OpenTTD gets a part of the generated income then? The team has costs too to support the game.
binaryturtle··on Printf-Tac-Toe
That's the content why I check HN! :)
binaryturtle··on Case Study: lynnandtonic.com 2025 refresh
Actually I can select text too it seems, but I can't see the selection and it acts weirdly. Probably some JavaScript overloading user interactions.

I need to use the "Allow Right Click" extension (it also fixes other annoyances than just pure right click blocking) to make it act sanely.

binaryturtle··on Case Study: lynnandtonic.com 2025 refresh
I can't select text. A huge accessibility issue. A site like that is disqualified by default. The whole content is in a thin stripe in the middle, left and right huge areas unused. Resizing the browser window causes weird effects.

If that's a case study how to not do things: Congrats! Job well done!

binaryturtle··on Show HN: ANSI-Saver – A macOS Screensaver
Those are some intense system requirements.
binaryturtle··on Good Bad ISPs
.onion, aka a TOR internal URL. They look like this.
binaryturtle··on No right to relicense this project
Isn't the real issue here that tons of projects that depend on the "chardet" now drag in some crappy still unverified AI slop? AI forgery poisoning, IMHO.

Why does this new project here needed to replace the original like that in this dishonourable way? The proper way would have been to create a proper new project.

Note: even Python's own pip drags this in as dependency it seems (hopefully they'll stick to a proper version)

binaryturtle··on Show HN: Rust compiler in PHP emitting x86-64 executables
Why do we assume this was created with AI? Is there some marker we can use to detect that?
binaryturtle··on Disable Your SSH access accidentally with scp
When I load the site in my (slightly older) Firefox I just get some random junk and gibberish (markov chain generated nonsense?)

<bleep> that nonsense!

binaryturtle··on Enable CORS for Your Blog
That's rater like "gnu.org" which blocks you when you're using a slightly older browser. But when you change your user agent to "curl" it magically starts working. Or the German news site "spiegel.de" which also blocks old browsers from accessing the site entirely, unless you change the user agent to "bingbot" (or some other random bot from their whitelist). *insert a facepalm emoji here*
binaryturtle··on RAM now represents 35 percent of bill of materials for HP PCs
How about you ask a model of a competitor? You could just hitting build-in OpenAI propaganda on their own bot. :)
binaryturtle··on Ask HN: Have you ever cloned a cat?
I have no idea what genetic material is, but cloning a `cat` is very easy, the instructions in German are very clear: "Nie Kaffee verwenden, sondern immer `tee`!" :) I'm also not sure why it costs `60K` for you? Only `14,320` here.
binaryturtle··on Approaches to writing two-sentence journal entries
Typo. Not using AI yet to write my comments, so things can go wrong like this. :D
binaryturtle··on Approaches to writing two-sentence journal entries
I once made one photo out of my window every day for a year. "Project 266 days", I called it. That year (2016) had a few very foggy days, so all I was able to shot on those days was white. :D

I guess writing a short journal everyday is a bit similar like this. Just forcing yourself into a routine of some sort. Just to get one thing surely checked off per day.

binaryturtle··on GNU Pies – Program Invocation and Execution Supervisor
Absolutely. I recently wrote my first compiler to get it off the bucket list… brainf*ck compiler/interpreter #100010134 or such? :-) Well… it was a fun half hour.
binaryturtle··on Show HN: Lightwave – Real-time notes app, 3.5 years of hand-rolled JavaScript
I'm so confused… when did NewTek switch Lightwave from a 3D renderer/ design application to a notes app? :-)

(AKA: I'm not sure it's a good idea to use someone else's long-standing well-known brand in the digital space as name for your own digital space project)

binaryturtle··on Apple's MacBook Pro DFU port documentation is wrong
Now the question is: what is left and what is right. For the user this most logically would be whats left and what's right when they look at the open display. For Apple it may be when you look at the top cover with the logo in proper direction. They have odd priorities like that. :D
binaryturtle··on Teaching my neighbor to keep the volume down
I wish there was an easy solution like this for smoking "neighbours". Some sort of detection device that instantly closes my windows automatically and then "explodes" a nasty "stinking bomb" outside (e.g. automatic opening of a container with butyric acid or similar), so it smells worse than their smoke. Eventually their brains would connect smoking with nasty stinking and stop doing it.

But I wouldn't know where to start. :-\

binaryturtle··on Raspberry Pi Drag Race: Pi 1 to Pi 5 – Performance Comparison
I still use a PI3 as a daily driver. I never got around to the PI4 (too expensive, low availability), and when the PI 5 came along it was severely downgraded for my main usage purpose (x264/AVC playback) while much pricier too. I don't expect a further PI 6 will remedy this properly.
binaryturtle··on Maze Algorithms (2017)
If I squeeze the eyes I can read the "MAZE". :)

Sadly neither version works here with an older clang on OS X. Both variants build fine with 9 warnings each. But the old variant dies with a "Bus Error: 10", and the new variant with "Segmentation fault: 11". Same with gcc (albeit only 8 warnings.)

/edit

OK, just wrong user input. You gotta feed it a number, and not a "foobar" or another random string.

← PreviousPage 5 of 8Next →