HNHacker News
TopNewBestAskShowJobs

rbdixon

23 karma · joined February 19, 2016

submissionscomments
rbdixon··on 1.5M PDFs in 25 Minutes
I have a complex document generation tool based on latex. I’ve been working on replacing it with typst. Typst is simply 10x faster.

Crazy example of how fast typst is: 30”x30” document with 2600 tiny images generates a 40MB PDF in under a half second.

Check typst out. It’s amazing. Not quite latex equivalent in some ways but moving fast on an amazing foundation.

rbdixon··on Maccarone: AI-managed code blocks in Python
Here is a framework which uses decorators to delegate runtime behavior to an LLM. Not quite what you meant but the closest I’ve seen.

https://askmarvin.ai/components/ai_function/

rbdixon··on Tqdm (Python)
doit [0] is a superb toolkit for building task-oriented tools with dependencies. It isn't too complex to get started and gives you a lot to work with. I've used it for an internal tool used by everyone in the company for 5+ years and it has never given me a headache.

[0]: https://pydoit.org

rbdixon··on Mitmproxy 7.0
Scripting flow manipulations in mitmproxy is easy. There are a lot of great examples to learn from which help. The filter syntax is expressive and simplifies writing code to mangle flows. I've done body conversion [0], weird types of authorization testing, manipulated system update packages on the fly, all sorts of bizarre things. Auto-reloading scripts on change is such a time saver. If you want a python-based programmable HTTPS proxy for testing I have not found anything better.

[0]: https://carvesystems.com/news/proxying-wbxml-services/

rbdixon··on USBQ Toolkit
I used the BeagleBone Black. There is a loadable kernel module which, lucky for me, just worked. The kernel module is from the USBiquitous project [1].

See my other comment about recommending starting with usb-tools / Facedancer.

[1]: https://www.sstic.org/media/SSTIC2016/SSTIC-actes/usb_toolki...

rbdixon··on USBQ Toolkit
"USB in a Nutshell" [1] was really useful to me. As far as tooling goes I'd take a look at the "usb-tools" project [2] on Github. The GreatFET One hardware [3] is good and works with the Facedancer software hosted by the usb-tools project.

I enjoyed working on USBQ and learned a lot by doing it but the kernel loadable module it depends on wasn't written by me and probably needs some love. The usb-tools project and the related hardware has advanced quickly. Were I to do the same project over again (hacking Zwift for fun) I'd probably start there.

There is so much to USB... even some surprising things! [4]

[1]: https://www.beyondlogic.org/usbnutshell/usb1.shtml

[2]: https://github.com/usb-tools

[3]: https://www.greatscottgadgets.com/greatfet/one/

[4]: https://link.springer.com/chapter/10.1007%2F978-3-030-28752-...

rbdixon··on Parsing binaries with Katai Struct with example from ESP8266 firmware images
Tutorial on how to parse a binary format using Katai Struct. KS can output parsing code in Python, C++, Java, Lua, JavaScript. The example shows a parser for the ESP8266 binary format.