HNHacker News
TopNewBestAskShowJobs

mrdonbrown

213 karma · joined February 25, 2015

Co-Founder/CTO at https://sleuth.io

Previously 20+ years as a developer, manager, and architect in the software industry, including 12 years at Atlassian.

Twitch - https://twitch.tv/mrdonbrown

Twitter - https://twitter.com/mrdonbrown

GitHub - https://github.com/mrdonbrown

YouTube - https://www.youtube.com/channel/UCmIIOHKgJnGQruIVD_Zx71g

submissionscomments
mrdonbrown··on Manim: Animation engine for explanatory math videos
I think it can: https://docs.manim.community/en/latest/examples/3d.html
mrdonbrown··on Manim: Animation engine for explanatory math videos
Sadly, it took me a few hours, but only because I went down a rabbit hole of trying to render a colorized code snippet without knowing the Code class existed. I got to the point of a custom Tex template that used listings, only to find out Manim strips any color, so I attempted to parse the SVG and reinsert color using Manim APIs... only to find out Code did everything I wanted and more :)

Once I found out about Code, I'd say probably 15 minutes to land on the opacity strategy and a few minutes to learn how to control the camera, so in the end, not bad. The limiting factor is now figuring out what I want it to do in the first place.

mrdonbrown··on Manim: Animation engine for explanatory math videos
Great timing! I've been looking for something like this to generate code walkthroughs (among other things).

After a bit of playing around, here is a simple video (with linked source) of using Manim (the community edition) to generate a quick walkthrough:

https://www.youtube.com/watch?v=i-pvpQsZD_I

Most of this could also be created via an editor like DaVinci Resolve, but the programmer in me likes the consistency and flexibility of a code-driven video.

mrdonbrown··on Clutch, the Open-Source Platform for Infrastructure Tooling
> Sad that it doesn't seem to offer any deployment visibility options. I would love to connect it to our CI/CD system to see what changes are currently being rolled out.

Deployment visibility is what my startup - https://sleuth.io - is trying to focus on, with light workflow sprinkled in. Other options I've found are usually tracking as a side feature of a tool like Sentry, Rollbar, or GitHub, or a completely custom app like what Slack built in https://slack.engineering/deploys-at-slack-cd0d28c61701

mrdonbrown··on ASGI from scratch – Let's build an ASGI web framework
It depends on the workload and app for sure, but in my experience, most of my services make a bunch of outgoing calls, usually HTTP, to different services, often in a single operation. Being able to do these in parallel, on the side, or via fork/join was pretty handy. For a simple Flask app that fronts a single db, sure, stick with wsgi, but I don't run into many apps like that anymore.
mrdonbrown··on A major reason for departures at Slack was “remote work request rejected”
This bugged me about Atlassian when I worked there as well. On one hand, one of the key marketing messages was about working from home, and additionally, they had an evangelist talking about the "future of work" being remote. On the other hand, only a couple teams out of probably 50 allowed remote work. Signs are showing the pandemic is changing attitudes, hopefully permanently.

I guess the saying "the future is here, just not evenly distributed" can apply to companies as well as society as whole.

mrdonbrown··on I deploy, therefore I am
Well, for example, say you were adding a new preference page. First, I'd do a deploy of the new database table(s), even though they aren't used. Then, I'd add a link to the page in the UI and put that behind a flag, maybe with a small non-functional UI so that the designer could play with it. Then, I'd implement the basic functionality and open it up to my team to start playing with it. Then, I'd ship other deploys for things like tests, more edge cases, UI tweaks, etc.

At some point in there, I'd open that page up to my beta customers, trial customers, or whoever is less risk-adverse. Once I'm happy with it, I'd do a percentage rollout to ensure any issues don't affect all customers at once. Just an example, but the idea is to reduce risk of each step and make each step easily reversable/hidden if something comes up.

mrdonbrown··on I deploy, therefore I am
Assuming your project supported continuous development, I'd probably say you should break that project up into multiple deployments, ideally hidden behind a flag and each easily revertable. This would reduce the risk of each step and hopefully eliminate a whole host of potential incidents.
mrdonbrown··on I deploy, therefore I am
Exactly. Agreed to all the comments that trying to find a simple metric for developer productivity is futile, but there is value in encouraging people to ship more often, and in doing so, ship smaller things that generally have less risk. Also, ownership is key here as the person writing the code should be the one that pushes it to production and owns its impacts, as I've found this results in higher quality, more sense of ownership, and quicker incident response and frequency reduction.
mrdonbrown··on Deploys at Slack
Sleuth is a SaaS deployment tracker that pulls deployments from source repositories, feature flags, and other sources, in addition to pushes via curl. You can see Sleuth used to, well, track Sleuth at https://app.sleuth.io/sleuth

[Disclaimer: am a Sleuth co-founder]

mrdonbrown··on Webcam, Lights, and Audio for Remote Work, Podcasting, Videos, and Streaming
Actually, I just started doing this yesterday. I had streamed a handful of times on Twitch (channel the same name as my username here) for side projects before, but I just joined a startup as a co-founder and decided to try streaming during work hours.

A couple tips:

  - Use multiple monitors - this is almost a hard requirement
  - Separate secrets into their own files.
  - Exclude secret files from your IDE/editor search
  - Make the second monitor the main monitor so notifications and what not go there
  - On that second (or third monitor), put everything that isn't your editor
Be prepared for few to no viewers. Remember the point is to help keep you focused, not get attention.
← PreviousPage 2 of 2