frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Start all of your commands with a comma (2009)

https://rhodesmill.org/brandon/2009/commands-with-comma/
224•theblazehen•2d ago•65 comments

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
691•klaussilveira•15h ago•205 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
961•xnx•20h ago•553 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
5•AlexeyBrin•55m ago•0 comments

How we made geo joins 400× faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
129•matheusalmeida•2d ago•35 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
66•videotopia•4d ago•5 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
52•jesperordrup•5h ago•24 comments

Jeffrey Snover: "Welcome to the Room"

https://www.jsnover.com/blog/2026/02/01/welcome-to-the-room/
34•kaonwarb•3d ago•27 comments

ga68, the GNU Algol 68 Compiler – FOSDEM 2026 [video]

https://fosdem.org/2026/schedule/event/PEXRTN-ga68-intro/
10•matt_d•3d ago•2 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
236•isitcontent•15h ago•26 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
232•dmpetrov•15h ago•123 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
335•vecti•17h ago•147 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
501•todsacerdoti•23h ago•244 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
384•ostacke•21h ago•97 comments

Where did all the starships go?

https://www.datawrapper.de/blog/science-fiction-decline
31•speckx•3d ago•18 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
300•eljojo•18h ago•186 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
360•aktau•22h ago•185 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
422•lstoll•21h ago•282 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
68•kmm•5d ago•10 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
96•quibono•4d ago•22 comments

Was Benoit Mandelbrot a hedgehog or a fox?

https://arxiv.org/abs/2602.01122
21•bikenaga•3d ago•11 comments

The AI boom is causing shortages everywhere else

https://www.washingtonpost.com/technology/2026/02/07/ai-spending-economy-shortages/
18•1vuio0pswjnm7•1h ago•5 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
264•i5heu•18h ago•215 comments

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
33•romes•4d ago•3 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
63•gfortaine•13h ago•27 comments

Female Asian Elephant Calf Born at the Smithsonian National Zoo

https://www.si.edu/newsdesk/releases/female-asian-elephant-calf-born-smithsonians-national-zoo-an...
39•gmays•10h ago•13 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
1076•cdrnsf•1d ago•460 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
297•surprisetalk•3d ago•47 comments

I spent 5 years in DevOps – Solutions engineering gave me what I was missing

https://infisical.com/blog/devops-to-solutions-engineering
154•vmatsiiako•20h ago•72 comments

Why I Joined OpenAI

https://www.brendangregg.com/blog/2026-02-07/why-i-joined-openai.html
165•SerCe•11h ago•150 comments
Open in hackernews

Never Use Pixelation to Hide Sensitive Text (2014)

https://dheera.net/posts/20140725-why-you-should-never-use-pixelation/
117•basilikum•1mo ago

Comments

tom1337•1mo ago
related: https://news.ycombinator.com/item?id=43695701
KronisLV•1mo ago
To make it more fun for the maths nerds and to keep them guessing, replace the underlying contents with mostly random garbage (probably not full on obvious white noise) and then pixelize that: https://imgur.com/a/CTM4Zlv :)

Not serious advice.

MadameMinty•1mo ago
I remember a protocol which required the text to be replaced with random-length output of a Markov chain text generator, and only then pixelizing.

Oh, you've spent hours on unpixelizing my secrets? Well congratulations, is the last telescope that, nor drink from shrinking nothing out and this and shutting.

pfortuny•1mo ago
Only names are allowed, of long-dead people.
0_____0•1mo ago
if you fully control the text and layout, you could just replace the redacted text with [redacted]
MadameMinty•1mo ago
Yes, but that doesn't potentially waste your opponents' time.
ErroneousBosh•1mo ago
Oooh oooh I know, I know! Replace the text with strings of all-caps five-letter groups that look just like oldschool CW encrypted messages, and that'll keep the MXGJD SWLTW UODIB guessing until AMEJX OYKWJ SKYOW LKLLW MYNNE XTWLK!
Dwedit•1mo ago
SATOR AREPO TENET OPERA ROTAS
MadameMinty•1mo ago
You should be blacking out information, to be sure, but credit card numbers are one of the very few examples where cracking makes sense, given that otherwise you don't know the pattern nor the font. Assuming it's text at all.
fwip•1mo ago
Or the common case of redacting a name, address, or other sensitive text in a screenshot of a web page, word doc or PDF. In those, getting the font is very straightforward.

You also don't need to match the whole redacted text at once - depending on the size of the pixels, you can probably do just a few characters at a time.

Havoc•1mo ago
Or put simply - remove the info don't transform the info
vunderba•1mo ago
Good article - one takeaway is that any redaction process which follows a fixed algorithmic sequence (convolutions, transformation filters, etc) is potentially vulnerable to a dictionary attack.
dahart•1mo ago
I see what you mean, but FWIW “fixed” doesn’t sufficiently constrain or describe it. For example, filling a rectangle with black or random pixels is a fixed algorithmic sequence, same might go for in-painting from the background. The redaction output simply should not be a function of the sensitive region’s pixels. The information should be replaced, not modified.
eurleif•1mo ago
To be pedantic, `f(x) = 0` is a function of x.
dahart•1mo ago
Yeah, true. Is there a proper math term for a function of x that does not depend on x?
MarkusQ•1mo ago
That's called a constant.
dahart•1mo ago
That’s not quite the word I was looking for, since a function returning a random number isn’t a constant, and also doesn’t depend on it’s inputs.
MarkusQ•1mo ago
If we're talking "proper math terms", if it "returns a random number" it isn't a function. In math, the value of a function can't change unless the arguments change. If you evaluate it repeatedly with the same argument(s) you'll always get the same result.
dahart•3w ago
Yes, you’re right, good point. Maybe there is no one good term for this case (but given the ocean of terminology, I’d be slightly surprised). ‘Not a function’ also isn’t the right term here because functions of x that returns a constant are okay - they just don’t depend on x. Hashed random functions are true functions but are designed to be non-invertible, so maybe non-invertible (or irreversible) is a decent single term for what @vunderba meant. Other terms that broach it might be ‘non-injective’ and ‘entropy-reducing transform’. I suspect those aren’t technically strong enough for the kind of information loss we need in this context.
loeg•1mo ago
A black redaction rectangle still leaks the dimensions of the occluded pixels, potentially revealing possible contents.
hyperific•1mo ago
Also related

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

petters•1mo ago
Paedophile Used 'Swirl' Effect To Hide. How Interpol 'Unswirled' Him: https://www.ndtv.com/world-news/christopher-paul-neil-paedop...
croes•1mo ago
So there are cases where I would recommend using such obfuscation techniques.
hinkley•1mo ago
Maybe we should use whistle blowers and freedom fighters as examples though and not predators.
awesome_dude•1mo ago
Yeah - although the hard fact is, any tool designed for "good" can, and will, be used for "evil"
hinkley•1mo ago
Yeah I helped out a bit with Freenet before I saw what was being posted. Basically 4chan. Lots of edge lords.

But I helped because a friend dragged me to Amnesty International meetings in college and so I knew there were people who legitimately needed this shit.

awesome_dude•1mo ago
Tor is the big example for me, created to allow people to have the ability to speak freely without being tracked, often criticized because it allows those things for our criminals (it has to be kept in mind that the spies and dissidents that are/were using Tor are considered criminals in their country)
hinkley•1mo ago
When a law is unjust it will be broken by those on the right side of history. Software can’t tell if a law is just or not.

So if you want to support suffragists or underground railroads you’re making software that breaks the law.

Really we are all breaking some law all the time. Which is how oppression works. Selective enforcement. ‘Give me six lines from the most innocent man and I will find in them something to damn his soul.”

awesome_dude•1mo ago
I have a slightly different view

There is no such thing as "good" or "bad" - actions are meaningless - it's the context that makes the difference.

Example: Sex

Good when the context is consenting adult (humans)

Bad when the context is not.

Further, "One man's 'freedom fighter' is another man's 'terrorist'" - meaning context is very much in the eye of the beholder.

Couple this with the Taoist? fable "What luck you lost a horse" where the outcome of an event can not really be determined immediately, it may take days, months, years to show.

And you are left with - do we really have any idea on what is right/wrong

So, my philosophical take is - if it leads toward healthy outcomes (ooo dripping with subjective context there...) then it's /likely/ the right thing to do.

When I spoke with an AI on this recently the AI was quick to respond that "Recreational drug use 'feels good' at first, but can lead to a very dark outcome" - which is partly true, but also demonstrates the first point. Recreational drug use is fine (as far as I am concerned, after my 4th cup of tea) as long as the context isn't "masking" or "crutch" (although in some cases, eg. PTSD, drug use to help people forget is a vital tool)

croes•1mo ago
Predators are a good example of people who should use bad obfuscation.
alright2565•1mo ago
The Flameshot screenshot tool uses an interesting variant of pixelation that does protect the text from unredaction: https://github.com/flameshot-org/flameshot/commit/533a1b7d55...

> Since pixelation does not protect the contents of the pixelated area (see e.g. https://github.com/bishopfox/unredacter), _pseudo-pixelation_ is used:

> Only colors from the fringe of the selected area are used to generate a pixelation-like effect. The interior of the selected area is not used as an input at all and hence can not be recovered.

The edges of the pixelated area are used the generate a color palette, and then each pixel is generated by randomly sampling from that pallete's gradient.

jedberg•1mo ago
Or, you do the equivalent of adding a hash, and apply mosaic to it twice, with two slightly different size regions. Or apply both mosaic and swirl in random order. Or put a piece of random text over it before you mosaic it.

The main point here stands -- using something with a fixed algorithm for hashing and a knowable starting text is not secure. But there are a ton of easy fixes to add randomness to make it secure.

dheera•1mo ago
Surprised to see my article float up again so many years later.

I wouldn't consider a mosaic + swirl to be fully secure either though, especially considering both of these operations may preserve the sum of all pixels, which may still be enough entropy to dictionary attack a small number of digits.

jedberg•1mo ago
It's probably the least secure of the ones I mentioned, yes. But even so, it massively increases the search space for a dictionary attack because the attacker doesn't know which algorithm was applied first.

But yes, at the end of the day, the best bet is to just take a mosaic of a random text and place it over the text you're trying to obscure. The reason people use mosaic is because it is more aesthetic than a black box, but there is no reason it has to be a mosaic of the actual text.

ectospheno•1mo ago
You take the original document and manually retype it into a different file format. Very hard to reverse that.
quchen•1mo ago
Flameshot (a screenshot tool) in its newer versions (!!) uses random noise for pixelation, and colors it based on the un-noised surroundings so it blends in reasonably.

It's a nice mix if optically unobtrusive, algorithmically secure, and pleasant to look at.

kmoser•1mo ago
> Remember, you want to leave your visitors with NO information, not blurred information.

Blacking out text still gives attackers an idea of the length of the original, which can be useful information, especially when the original is something like a person's name. You can mitigate that by either erasing the text completely (e.g. replace it with the background color of the paper) or making the bars longer.

ElijahLynn•1mo ago
When I blur out sensitive information, I blur out: * the whole thing * then a random subset * then another random subset * then the whole thing again

This feels safe to me, I suppose with machine learning it could still be cracked though. Thoughts on this technique?

elijahdl•1mo ago
I don't think this does enough to destroy the data you're trying to hide. Each blue operation on its own is reversible, I don't see why stacking blurring operations, even if they affect different areas each time, changes things.