May 2022 BenGoldhaber(.com) Newsletter
:friendly wave:
#projects
I had a desire to build a simple dashboard where I could add friends and coworkers to a map, see their locations, and get a weather report of what was happening for them. I figured it'd take me about two weekends to build; I went for it both because it seemed like a fun way to dip my toes back into the waters of web development, and because I was curious how long it would take me to go from idea to finished project.
Well a few months later I've finally deployed it as connectedweather.us! You can add friends and teammates and share a map of them + view the current weather and time in their city. Nice, simple, and it only hung around half finished through April and May, which I shall count as a win.
The outside view is it should never be surprising that 'small' projects take an order of magnitude to complete than we expect, but the experience for me is always shock and vague disappointment at past Ben. The 'final 10% taking as long as the first 90%' really is true, in part because the fiddly details are hard to anticipate and require either luck or deep familiarity with the process, and because the final 10% is really unfun. Just like how when writing my essay on the FDA it took me longer to do the editing and rewrites than the initial sprint of writing because of how awful the editing process is.
Scope creep is another aspect of delays, but for side projects I feel like it's a forgivable sin. For instance I decided to add a Slack connection to import people from my workspace, and Stripe subscriptions so it could roleplay as a real app. It was fun and educational to see how those integrations worked. That's what side projects are great for: helping make concrete the vague intuitions you had about a domain. A few other thoughts I had while building it are below.1 2 3
Anyways you can sign up now at connectedweather.us. I'll continue tooling around it with over the next few months, adding features here and there and trying to get over my aversion to CSS and web design.
Related bounties:
$10 bounty if you provide me with an alternative map icon that I like.
$15 bounty if you provide me with a better design for a table view that I like and accept. An additional $35 if you provide me with the html + CSS to implement it.
#links
Muse App: I’ve started using Muse, a note taking app that prioritizes spatial and visual design. It’s very pretty - I’m way too good at typing and way too bad at drawing to use it as my default tool for thought, but I like it for ‘mood boards’.
The E-Pimps of Only Fans: A NYMag piece describing the men who pretend to be nude models and engage in intimate internet based relationships with customers. This isn’t actually that surprising or that recent of a business development, but I wonder what it portends about the future of para-social internet relationships. Should we expect to see more ‘verification required’ of avatars, confirming that someones internet persona matches their real life age and sex, or will people lean into the illusion?
My Students Cheated… A Lot: A teacher found a WhatsApp group containing most of her students sharing tests, quizzes, and engaging in massive cheating. Has a redemptive arc, but it left me feeling a bit naive - I knew that cheating was possible but was surprised at the scale described.
How Evusheld Works: Evusheld is an anti-COVID drug that confers vaccine like immunity through an antibody infusion. This is a good description of the effects, and I was left with the same confusion as the author; if antibody engineering like this is possible, why can’t we do it against all types of viral infections?
Worker Rush: Descent to Bronze: A (long) series of forum posts from a top-tier Starcraft player who decided to throw away his ranking and try a very stupid one trick move against his opponents; rushing all of his workers against his opponent. The surprise was that it worked at all, and in fact it worked a lot. People who had spent hundreds, thousands of hours playing Starcraft, were flummoxed by the weird opening, and lost the game within minutes, despite an obvious easy counter. I like stories like this in the same way that I like tragedies; I get the eery sense that this could be me, and probably is me, in other domains in life. This is on the same theme as another of my favorite internet essays, Dan Luu’s 95%-ile isn’t that good.
To avoid the fate of the scrub, I think you need the desire to improve and also to structure your environment such that you get feedback + specific pointers and suggestions on how to improve. In video games, you get feedback when you win or lose, but it’s hard to backpropagate and figure out what specific thing you should have done different. The efficacy of coaches comes down to someone having the mental models of what success looks like, plus the ability to reflect on how to apply it in a given situation. This timeless video of schoolchildren giving feedback on how to draw a butterfly is my north star of feedback giving. Related, humanity spent a lot of time thinking we knew how to fight and being very very wrong.
Instantaneous Gratitude: Act on a generous impulse as soon as it arises. A nice habit I hope to adopt.
18 Charts that Explain the American Economy: I kinda miss this style of article, which I feel like peaked in 2017 and has largely disappeared, at least from my feed.
#good-content
Upload: A fun Amazon Prime show exploring a near future world where human beings can be uploaded to a simulation whey they die. It’s reminiscent of Parks and Rec and the Good Place.
Talent: Tyler Cowen’s latest book dives into the question of how to find and identify talented people. The high level takeaway of this book is that many people are doing fake things to meet fake standards, and you can benefit by building good heuristics for finding authentic credible signals of competence and integrity.
Hitler's American Gamble: Explores the week of Pearl Harbor and Hitler’s decision to declare war on the US, one of the most pivotal decisions in WWII and world history. Very well researched and makes a compelling case that Nazi Germany might have avoided the United States entering into the European theatre, but a series of strategic blunders - like giving Japan a blanket promise they would back them if they got into conflict with the US - and a mistaken view of the character of the US and FDR prompted the Axis powers to unify against the US, sealing their fate. Related: The Last Citadel, a fictionalization of the Battle of Kursk, a tank battle with millions of men on both the Nazi and USSR sides. Still boggles the mind to comprehend the scale of WWII and the eastern front in particular.
Unsouled: A series of martial arts fantasy books. I quite liked them; good action sequences and a compelling protagonist. It can get repetitive in the later books, but it’s fun to read a series that has at its heart the motto Tsuyoku Naritai !(I want to become stronger).
Stranger Things: Season Four is out, and it remains the best ‘action-horror-comedy’ TV series I’ve seen.
American Hostage: A podcast serial from Jon Hamm detailing the true story of a radio DJ who ends up in a hostage crisis. However I want an end to the naming convention of “American [INSERT NOUN]”.
Super Pumped: A fictional take on Uber and the rise and fall of Travis Kalanick. I’d watch anything with Joseph Gordon Levitt, and I enjoyed SuperPumped even if I’m skeptical it’s an accurate retelling - Hollywood is too culturally aligned with the tech press for me to trust their take on an avowed enemy. But it’s still worth watching, and it strengthened my conviction that there’s a whole untapped genre of media to be made singing the ballads of the corporate world. Like Narcocorrido songs but about Jeffrey Bezos.
Ben
I initially looked for a dashboard or website for this, assuming it existed, but couldn't find any. Maybe there's a good general dashboarding tool that I should've used, but I'd like a framework that makes it easy to integrate with Slack or Discord (or an enterprise equivalent) and that lets users write arbitrary transformations and create dynamic JavaScript based presentations.
Django is really starting to feel old as a web framework. It had been a few years since I had last used it, and trying to get it to play nice with JavaScript libraries and external integrations feels like cobbling together tech that was never meant to do anything except REST calls.
I get the appeal of low-code no-code tools. One of the features that dragged on for a long time was setting up an email provider to send password resets, which in turn meant I'd need to relearn a bunch of things related to MX records and configuring AWS S3 for email forwarding etc. All of which I just wanted handled for me! Makes me feel more confident tools like retool will continue to eat the low-end or B2B app market.