Code portabilityIf you’ve been following me recently, you’ve probably seen me mention Bredbox, my new application for saving bookmarks. This is the first time in years I’ve built a web application, so I put a lot of thought into the process. My philosophy is to leave as many options open as possible in case I need to change direction later. That’s why I recommend targeting Node.js for JavaScript applications, even if you plan to run them on Deno or Bun. Both Deno and Bun are largely compatible with Node.js APIs, which makes switching between runtimes straightforward. By contrast, if you build with Deno- or Bun-specific APIs, you’ll need to rewrite or abstract those parts of your code. With the growing number of JavaScript runtimes and frameworks, portability matters more than ever. The goal is to avoid getting locked into a specific runtime, hosting provider, or any other tool that limits flexibility. With that in mind, here are the choices I made for Bredbox to keep it as portable as possible.
By making these choices, I’ve set up Bredbox to be flexible and future-proof. Whether it’s changing runtimes, swapping hosting providers, or adjusting infrastructure, I can adapt without major rewrites. If you’re starting a new project, I encourage you to think about portability early—it’s one of the best ways to keep your options open as your application grows. Key Takeaways
Stuff I've Enjoyed this Month🎬 GPT 5: Five AI model improvements to address LLM weaknesses by IBM Technology 📖 The Good Life by Robert Waldinger M.D. and Marc Schulz Ph.D 📝 LLMs get lost in multi-turn conversations by Elvis Savaria 🎬 You should drop Express and try Hono by Syntax 📝 📖 Our Dollar, Your Problem by Kenneth Rogoff 🎬 Index data in the background with Cloudflare Workflows by Cloudflare Developers What I'm Working On🏠 Real Estate: Another of my syndications I invested in got bit by the high interest rate environment. Whereas the plan was to refinance out of their initial loan, that couldn't work. So the property was sold to another group that agreed to keep investors like me involved in the deal. That likely means I won't get my investment back, and if I do, it won't be for many years. Very disappointing outcome. Follow my Instagram for real estate photos. 📝 Blog: I did a bunch of writing this past month:
💻 Open Source: I released S3Bucket, a small (89KB) JavaScript utility for CRUD operations on any S3-compatible storage bucket. 🍞 Bredbox: Bredbox is getting ready to let in the first batch of test users. I'm pretty excited about this and will be slowly rolling out to everyone on the waiting list in the coming months. 💻 ESLint:
Coaching for Tech Leads and Staff+ EngineersIf you're a tech lead or staff+ engineer, chances are your manager has no experience in your role. While they may be well-intentioned, they may not know how to help you grow in such a challenging position. That's where working with me can help. As a former tech lead and principal engineer at multiple companies, I learned firsthand the ins and outs of these roles. I work with my clients one-on-one to develop their leadership, communication, organization, and problem-solving skills to succeed in the upper ranks of the individual contributor track.
|
A once-per-month newsletter discussing topics important to senior-level software engineers, with a particular focus on frontend technology and leadership.
The return of tech specs When I was studying computer science as an undergraduate from 1996 to 2000, I took a course called Software Engineering that focused on the formal process of developing software. We learned to write a functional requirements document describing what the application should do, followed by a technical specification outlining how the software would achieve that. Only after completing both documents, often a semester-long effort with multiple review cycles, were we...
Deno: What happened? When Ryan Dahl introduced Deno at JSConf EU 2018, it generated significant interest in the JavaScript community. As the creator of Node.js, Dahl presented a compelling vision: a new runtime that would address the common pain points developers face. Deno (a palindrome of "node") promised a fresh approach with new core APIs, ESM-only modules, familiar web APIs, independence from npm, and security by default. Who better to reimagine the JavaScript runtime than the person who...
Getting Buy-In You’re a tech lead with an idea for a large project, one that would make your life easier. But to make it happen, you'll need help. The project requires additional developers and possibly some cross-team collaboration. That means getting it on the roadmap and securing resources. Whether this is your first proposal or not, there’s a clear path you can follow to get your project approved. Start by clearly defining the problem. To build a strong case for your project, you need to...