Remix.run Logo
Clever hacker fits 537,000 domains in a $5 ESP32 ad-blocking dongle(tomshardware.com)
88 points by sbulaev 20 hours ago | 26 comments
maratc 19 hours ago | parent | next [-]

is it enough to block all ads on tomshardware?

Waterluvian 18 hours ago | parent | next [-]

Last time I visited Tom Shardware it felt like the whole thing is basically an ad. Is the content still any good? I recall back when it was the go-to.

undersuit 18 hours ago | parent [-]

They seem to have locked a lot of interesting content behind the Premium News package, correct me if I'm wrong I can't read the Premium content to judge how it compares to the free Reddit reposts.

That and the shuttering of Anandtech sucks.

sixtyj 14 hours ago | parent [-]

Any media have rough times.

We got used to consume digital content for free but on the other side we don’t love ads…

Ad networks give pennies to publishers, and to get high spending direct advertiser is almost impossible.

Not everybody is capable to develop a long-term feasible digital strategy eg as NYT.

tandr 15 hours ago | parent | prev | next [-]

Remove permission to execute JavaScript (in your browser) on sites that use html-load.com and error-report.com in addition to blocking these two in DNS. Solved it for me, don't know for how long.

mikestew 18 hours ago | parent | prev [-]

Even behind a pi-hole that whole site is a game of “find the tiny little x”.

BRB, the raspberry pi is sending CPU temp alerts now…

neuralkoi 18 hours ago | parent | prev | next [-]

This really begs the question as to how much juice you can get from $5 compute.

This IS IoT in my opinion, not whatever bloatware comes with your Samsung fridge or wifi-connected faucet.

Rohansi 17 hours ago | parent | next [-]

> $5 compute

Unrelated but the author at Tom's Hardware is apparently unaware of AliExpress so they bumped the price from $2 (or less) to $5. And that's the price for just one. These things are so cheap you can throw them in everything. They're the perfect alternative to a Raspberry Pi because they have WiFi, Bluetooth, lots of GPIO, and decent compute. Not enough to run Linux but you don't need Linux for IoT.

Scoundreller 12 hours ago | parent [-]

I just bought an ESP32-C3 with a tiiiiny 0.42" LCD screen for CAD$3 from Aliexpress off their "Choice" items menu.

Rohansi 11 hours ago | parent [-]

And on the higher end you can get an ESP32 CYD (Cheap Yellow Display) which has a 2.8" or larger touch screen, SD card slot, LiPo battery connection and charger, speaker port, and maybe more for ~$15. Can make fancy UIs for it with LVGL or install something like MicroPythonOS on it if you have PSRAM.

https://lvgl.io/ https://micropythonos.com/

xboxnolifes 16 hours ago | parent | prev | next [-]

There's very little compute going on in this chip. It's a few hashes per second. Which is to say you can do a lot with $5 of compute if you can figure out how to not need to use a lot of compute.

bombcar 17 hours ago | parent | prev [-]

A pregamgamanagany test can be $5 and apparently it can run doom, so in bulk compute has to be pretty cheap.

ianmarcinkowski 16 hours ago | parent | prev | next [-]

I no have a few esp32s sitting around. I no wonder what else I could use these for?

edoceo 11 hours ago | parent [-]

Greenhouse automation. Smart(er) home thermostat. Lighting effects on wizard staff.

buckhx 19 hours ago | parent | prev [-]

Clever hacker needs to look up a Bloom Filter

Lukas_Skywalker 19 hours ago | parent | next [-]

Lazy commenters need to look at the README to see that the bloom filter is mentioned as a next step. The hacker is indeed clever.

amelius 19 hours ago | parent [-]

Only if the hacker also tests for false positives.

Lukas_Skywalker 18 hours ago | parent [-]

The way it's worded in the readme makes it sound as if this was exactly the intention.

amelius 18 hours ago | parent [-]

Very clever hacker indeed!

May even have Sonnet or Opus level of intelligence.

docjay 16 hours ago | parent [-]

As someone with an intelligence near Opus I have to be clear with you: your premise is wrong.

Having **intelligence** is not the same as being **clever** — a person can cleverly pass a difficult test **without** having or acquiring intelligence. That’s not a revelation, that’s common-sense.

You’re also conflating **quantum superposition** and **macroscopic observations** — one is physics, the other is psychology. The exact same thing cannot exist in two places at the same time above 10⁻¹⁰ meters, and intelligence is not measurable using most displacement methods. It is not possible for Opus, Sonnet, and the person to all have the same intelligence. That’s just physics.

I also noticed that you did not use any **punctuation** in your comment, so I must firmly decline continuing this line of inquiry.

# Correction

I reviewed your comment again and I can see that you **did** use punctuation. I retract that statement, but I stand by my assertion that being intelligent is typically more important than being clever.

amazingamazing 19 hours ago | parent | prev | next [-]

> how it could grow : Bloom filter in RAM as a fast pre-filter (skip flash for the ~99% of misses)

https://github.com/M-Abozaid/esp32-c3-adblock

rustyhancock 18 hours ago | parent | prev | next [-]

The README mentions it and conventionally it seems right.

But back of the envelope it seems you're shaving not much off if the latency is primarily WiFi latency (tens of milliseconds) not flash reads (microseconds?).

If you use loads of transient clients perhaps a LRU cache would help since round trips might be quite slow.

rurban 15 hours ago | parent | prev | next [-]

Double space. Go from 42 bit to 46 bit and you get the same. Still wondering about the dynamic binary search. A static search can be faster, even on an AVR

Graziano_M 18 hours ago | parent | prev | next [-]

I opened the article and immediately ctrl-f'd for the word "bloom". Though the author plans to use them.

intheitmines 16 hours ago | parent | prev [-]

What do people use bloom filters for in production? I've only ever used as part of a blacklist

gtowey 16 hours ago | parent [-]

Search partition pruning in distributed databases is one concrete application I'm aware of.

Hashtables optimized for really large item counts; it can be a useful fast pre-check for item existence.