News for hackers. Stuff that matters.

LittleLily

Re:The $6.3B Binance Hack Was Pulled Off in Just 20 Minutes on Friday October 30, 2026 @10:22PM (#50312648)
Most exchanges don't use a single wallet per user, but have a small pool of wallets that all their customers share, and they just do the bookkeeping of the balances of each account. That lets them group many transactions together into a single larger transaction, or avoid a transaction entirely if it's between two users on their exchange.

So that pool of wallets that stores all their customers funds needs to be managed by the exchange somehow, meaning there's going to be some sysadmins/devs/etc that have access to parts of the system that deal with those wallets, and possibly also the keys to those wallets (which it looks like was the case here).

Not even any soldering involved. The ESP32 board they used just comes with everything needed, all attached with a couple socket connectors and optionally a ribbon cable for the camera:

https://www.seeedstudio.com/XIAO-ESP32S3-Sense-p-5639.html

It's pretty much the least sophisticated recording device possible. A kid could assemble it and prompt an LLM for the software like they did.

Re:GPT‑6 and Intelligent UI for everyone on Wednesday October 07, 2026 @11:14PM (#50001538)
They could also just be creating all the html elements using javascript (i.e. document.createElement, document.body.appendChild, etc) and streaming that into a repl line by line.
A 1 square meter solar panel that weighs around 10kg contains under half a kg of actual doped silicon photovoltaic cells, with the remaining >95% being mainly aluminium framing, glass to cover the cells, and some backing material and wiring, all of which are trivially recyclable. So even if the doped silicon wasn't recyclable (which it is with a little more effort than the other materials) that's hardly the majority of the material that goes into making a solar panel.
Re:Anecdotally, Programmers Dislike "Reduce" on Wednesday September 16, 2026 @07:31PM (#49734464)
I agree it's a bit annoying, but a better solution than using `as` is just telling reduce what its generic type should be:

tasks.reduce<Record<string, (t: typeof tasks[number]) => boolean>>((acc, item) => ..., {})

Also imo it's cleaner to reduce to an object with something like this as the callback:

(acc, item) => ({ ...acc, [item.label]: t => t.label === item.label })

Any reason why you didn't just use ESPHome for the firmware?

It even has a component specifically for the ULN2003 stepper motor driver you were using

https://esphome.io/components/stepper/#uln2003-component

I wonder if it would be possible to get ZMK working on it instead, since that's built primarily for wireless support, and also supports wired configurations too as of recently. Seems like the STM32 that the Q6 pro uses is supported, so you might have some luck: https://zmk.dev/docs/hardware
Re:"Parse, don't validate" through the years with C++ on Thursday April 30, 2026 @08:05AM (#47961222)
In my experience it makes even more sense in functional programming languages, not less, since they usually also have more powerful type systems that help with actually representing parsed vs unparsed data.
Re:The Secret Life of NaN on Monday April 27, 2026 @09:28PM (#47929480)
DEL is unicode codepoint U+007F, which is the byte 0x7F in UTF-8, not 0xFF. Perhaps you were thinking of ÿ which is codepoint U+00FF, which encodes to the bytes 0xC3 0xBF in UTF-8.
Re:How do Wake-On-LAN works on Thursday April 16, 2026 @12:08AM (#47788556)
Here's an equivalent shell script that only uses bash builtins, so no other software required:

  #!/bin/bash 
  mac="\\x${1//:/\\x}" 
  wol="\xFF\xFF\xFF\xFF\xFF\xFF" 
  for i in {1..16}; do wol+="$mac"; done 
  printf "$wol" > "/dev/udp/$2/9"