News for hackers. Stuff that matters.

DavidBuchanan

Re:PNG files can be animated via network latency on Wednesday June 23, 2021 @09:35PM (#27612870)
It's with HostUS. I got a coupon a few years ago (via LowEndBox), and it's been renewing at the same rate ever since. I have no complaints about them, but I'm not sure you can get the same pricing today.
Re:PNG files can be animated via network latency on Wednesday June 23, 2021 @09:32PM (#27612842)
Server seems fine, I think it just doesn't work on Safari
Re:PNG files can be animated via network latency on Wednesday June 23, 2021 @08:45PM (#27612513)
Author here - this was just a quick PoC, I'm pleasently surprised that it seems to be handling all the HN traffic.

It's served from a python script using aiohttp, behind nginx, on a $16/year VPS.

I might make a github repo with more details, but in the meantime, here's the server script: https://pastebin.com/ykUeppqc (apologies for pastebin, I don't have access to my github account at present)

Just in case the server dies, there's a video of it here: https://twitter.com/David3141593/status/1388602027484356614

Re:Understanding how AES encryption works on Monday December 21, 2020 @01:14AM (#25492548)
This is my "textbook" implementation of AES128, which follows the FIPS specification as closely as possible (in python): https://github.com/DavidBuchanan314/aes-playground

It also includes from-scratch Galois field arithmetic functions.

Re:What's in a Linux Executable? on Thursday October 29, 2020 @08:19AM (#24929692)
Here's my writeup/solution for the same challenge, represented as a diagram:

https://twitter.com/David3141593/status/1253122980525334529

This was recently suggested to me on Twitter, I'll have a look at implementing it tomorrow.

https://twitter.com/arnaud_lb/status/1212512382859251712

It isn't massively complex, but it did require some custom encoding/decoding logic. I plan to write a blog post on this some time soon...
Not quite, ICC profile chunk size limits.
And yet, nobody has done the same for Twitter until now.

The difference is that twitter applies a series of operations to all uploaded image, stripping EXIF data, recompressing, etc., which would normally be difficult to work around.

> The main issue with RDTSC is that task-switches may cause your thread of execution to change cores or mess up your timing

I got around this by running my benchmarks in a kernel module, with interrupts disabled. Obviously this is only possible under certain circumstances.

I also disabled caching via the CR0 register for maximum repeatability, although of course that isn't at all reflective of "real world" performance, so it depends on what you're actually trying to measure.

I performed an experiment based on this idea - I wired up a clicky relay to the numlock LED (via a transistor), and glued it to a decent Dell keyboard. Then, I rigged up a python script to toggle the numlock led on each key press/release event.

Honestly, typing experience wasn't too different to a real mechanical keyboard.

Re:640k Really Is Enough for Anyone on Friday December 29, 2017 @01:00PM (#16030776)
Amusingly, loading that page takes up 897kB.
How do busses work without tri-state logic?
I wouldn't categorise security as an "arbitrary concern".
Here's my take on libfaketime, which hooks also hooks syscalls:

https://github.com/DavidBuchanan314/TARDIS

It isn't intended for any kind of serious usage, I mainly just wanted to understand ptrace and LD_PRELOAD.

I wrote a simple extension to disable the new direct image link behaviour: https://github.com/DavidBuchanan314/imgur-anti-anti-hotlink
One thing I'd recommend is to try to find some 5V erasable EEPROMs, so you can reprogram it in-system wthout having to transfer it over to a dedicated (and expensive) programmer.

I went with a 12V-EEPROM at the time, so I had to write my own emulator to speed up my development cycles :)

I built my SBC without any prior experience. You pretty much just have to connect all the adress and data lines, and then figure out the chip selection logic. I used an MC68B50 for the UART, which can still be found very cheaply on eBay.
Not really. You can get up to about 1Mhz on a breadboard, and my wire-wrap SBC works at 4Mhz without any issues. If you did run into timing issues, you could just underclock the whole thing.
Writing a 6502 emulator is also a lot of fun!

Shameless plug: https://github.com/DavidBuchanan314/6502-emu