A Honeybadger customer replied to one of my onboarding emails:
“I don’t know if I watch too much stand up comedy but this email was a fucking epic opener and I loved it. Bravo!” #Honeybadger #Quotes
Another Honeybadger testimonial (emphasis added):
As far as how it compares to Sentry, I have had a great experience with Honeybadger. The UI is much much easier to navigate than Sentry. It is less cluttered, and gives me the information I need right away, all in one place. The setup in Elixir was so much easier than Sentry too! I haven’t explored all the options in Honeybadger yet, but I’m excited about uptime tracking as I’ve been using Pingdom for that, but I’d rather consolidate as many tools as I can.
If I had to summarize my experience in one sentence, it would be: Honeybadger does more of what I need while keeping the interface simple enough that I don’t need a degree in error tracing just to use it. #Honeybadger #Quotes
Taking a break from FounderQuest for a few months. Don’t worry, we’ll be back for season 3 with fresh episodes (and fresh attitudes?) Time off is important, but I’m already looking forward to recording again. 🤙
TFW you deploy a change to a complex system and IT WORKS!!!
Josh Pigford wants a Calm Companies directory:
A listing of companies that don’t desperately email and call you constantly saying “Remember us! Please use our tools! Check us out! Hey hey hey!
No lifecycle emails. No sales calls. No contact with you outside of the product itself.
If you have the choice, write a book, teach a course, build an app… just don’t start an infrastructure monitoring company. 😂 Link
I just had a thought about middleman-roam (which I guess is what I’ll call the Middleman project that builds this site for now). This may help me reduce the build time and the number of pages.
Currently Middleman builds a page for every Roam block (including nested blocks) in the export.
Being able to link directly to blocks is really nice if I want to write a short blog post in Daily Notes, for example, but then link to it on its own page. I.e., here’s this post.
I will rarely want to link to more than one or two levels deep, however. I could add a setting for that, so that it only generates pages N-blocks deep.
I could also add an option to skip creating pages for blocks without children.
“I like that you are a small caring team of devs. Or so I’ve been told by random internet strangers.” #Quotes #Honeybadger
Thank you, random internet strangers. <3
Using the Daily Notes section in Roam as a journal seems like a nice alternative to a blog feed, and serves as a place to re-surface content as it grows. #Digital Garden
I’m already starting to see why generating a static site from Roam will be important: Roam loads the entire database locally, which isn’t ideal for sharing (also, page previews would be nice). #Digital Garden
14:19 Thinking about TypeScript and how it can help keep bad data out of a system when you have data coming in from many different sources (users, browsers, 3rd-party integrations).
If you define the edges of the system, you can receive any
typed data and sanitize it before allowing it to cross the boundary—from that point on you’re working with typed data.
For instance, given a Client
API, methods which are exposed to non-TS users receive input as type unknown.
These methods have tests to verify type conversion (to whatever type the data should be).
Beyond the public API, the rest of the (internal) system is strictly typed.
Number of calling arguments in public methods should also be tested, since outside of TS it’s easy to introduce undefined
values by omitting arguments.
Thanks to Julio for helping me think about TypeScript data structures