It's just an easter egg in case someone accidentally clicks on api.docspring.com or sends an API request without a path. I thought it would be more fun than a generic 404 error like this:
I'm still working on DocSpring [1], originally launched on Hacker News in October 2017 under the name "FormAPI." It's a PDF generation API with a template editor UI for setting up fields on PDF forms. It makes it easy to turn complex tax and immigration forms into simple type-safe APIs with strong validations.
I've been having a lot of fun with AI agents lately. Have tried a lot of them - Cline, Roo Code, Windsurf, and finally settled on Cursor now with Claude 3.5 sonnet. It's been a big boost for my productivity.
AI helped me write a synchronous API proxy in Go that I'm almost ready launch. One of the main challenges with Ruby on Rails is that it's terrible at handling long-lived HTTP requests. Especially a lot of them at the same time. So our PDF generation API was forced to be asynchronous and our customers need to poll for status updates (or set up webhooks.)
This new synchronous subdomain will handle all the polling logic for you, so you can just make an HTTP request, wait a few seconds (or longer), and receive a link to a PDF that's ready to download. Even with AI, it was still very difficult and took many weeks to get it right. Challenges included security, load testing, data races, concurrency, and setting up reliable, secure infrastructure with an internal load balancer. I learned a huge amount about both Go and Kubernetes. But it's almost done and I should be launching in the next day or two.
After that, I'm finally launching support for template versioning. This will allow you to pin your API requests to a published version, so you can keep making changes to a draft version without affecting production. It's long overdue so I'm excited to get this launched as well.
Also working on a side project from time to time: VisualCI [2]. We have a lot of PDF integration tests that use image diffs, and some browser tests where I compare screenshots. So this is a tool I've wanted for a long time, and the paid services I've found can be a bit pricy. I'm going to try to build a very simple MVP that just does what we need, and maybe others will find it useful too.
This is really cool! I've spent the last few years debugging lots of PDFs while working on DocSpring, so I'm always looking for new tools to make this easier. Thanks for working on pdfsyntax!
I installed a custom firmware on my ESP32-powered smart kettle and made it respond with the HTTP status code "418 I'm a teapot". [1]
I used an ESP32 to automate my kitchen rangehood light and fan [2].
I've flashed ESPHome on few smart outlets and powerboards. A lot of WiFi enabled devices that you buy in stores are actually white-labelled "Tuya" products, and there's a big community effort to hack the ESP32 chips and run your own custom firmware, such as ESPHome and Tasmota. Most off-the-shelf WiFi products don't work without the manufacturer's cloud services and apps. ESPHome means that everything works locally and it doesn't need to make any requests to the public internet.
I have KC868-AG IR/RF hubs in every room [3]. I found an awesome supplier on AliExpress who builds products specifically for ESPHome. They're quite expensive but they work really well. I mainly use them to control our air conditioners. I use one in my workshop to control an old CRT TV. And I also use them as "Bluetooth Proxies" [4] for Home Assistant. This means that I don't have to worry about range for bluetooth devices (temp/humidity sensors, switchbot, and LPG gas tank sensor.)
I run WLED [5] to control a few LED strips. I like using QuinLED controllers [6], which have an ESP32 chip plus some extra hardware for powering LEDs. I have one behind my desk in my office, and one on a board gaming table. I use Zigbee LED controllers for most of my LED lighting, but I like all the effects and patterns you can do with WLED.
I have a lot of ESP32 boards around my house running ESPresense [7]. They track the signals from our phones and watches and try to figure out which rooms are occupied, so the timers don't automatically turn off the lights. I use the ESPresense-companion app, which works ok, but I've been wanting to experiment with AI to make it more reliable.
I've been wanting to hack my espresso machine and get some feedback from the status LEDs, but I'm just using a SwitchBot to push the button [1] to turn it on. I use a smart wall plug that I use to turn it off. (It has a push button to toggle on/off, so turning it off at the wall means that the state never gets out of sync.) I also avoid the SwitchBot cloud app by communicating with the device directly via Bluetooth. YOu can also get cheaper alternatives on AliExpress.
Aww man, I added this idea to my project todo list last month when I saw another string art post: https://imgur.com/gallery/ljoJeal
I have a small CNC engraving machine that I'm planning to use for this. I'm sure I'll get around to it one day
Thanks for the tip about FreeCAD. I actually love OpenSCAD and have developed a really nice workflow in VS Code using some extensions (format on save, live preview, GitHub Copilot, etc.), but I would still like to learn some other tools as well. It looks like FreeCAD can do some really advanced things.
I have no experience with it yet but I have build123d[1] in my list of stuff to check out, it's basically OpenSCAD but in python and it seems quite more powerful (plus, fillets/chamfers/etc are built-in). It also seems to have VSCode integration through OCP CAD Viewer.
Great post. I've spend a lot of time reading through the PDF specification over the last ~5 years while building DocSpring [1], and I still feel like I've barely scratched the surface. qpdf is a great tool. One of my other favorites is RUPS [2], which really lets you dig into the structure of a PDF.
I wonder if we can use these superconducters on spacecraft and probes. Maybe we can place superconducting links on the outer hull of a spacecraft heading to Mars, or a probe heading into outer space.
Cooling them would still be a problem.
The sunny side might not be the best place for them.
They might find a niche in some instruments in probes, but for wiring it does not make sense.
The rest of the probe electronics don't like being that cold.
reply