Hello, I'm Michael. I am a computing scientist and software engineering leader, currently residing in New York City.
I enjoy writing software, crafting thoughtful user experiences, and helping startups and companies leverage technology in innovative ways.
Feel free to reach out with questions about software engineering, cybersecurity, or tech startups. Thanks for visiting!
Make content more accessible for LLM-based workflows by exposing your Jekyll posts as Markdown.
Learn how to detect and store user timezone in browsers using JavaScript, Stimulus, and client-side cookies.
Introducing a Go port of Rails' Kredis library, providing a set of higher-level data structures that encapsulate Redis keys as coherent objects to simplify data manipulation and enable interoperability between Go and Ruby services.
Decouple user-facing text from Rails controllers by using a custom concern that automatically sets localized flash messages based on the action name and response status.
Integrating Mixpanel into a Rails application often leads to controllers cluttered with tracking logic that distracts from your core business logic. This guide demonstrates how to leverage Rails' built-in instrumentation API to create a clean, decoupled analytics layer that keeps your codebase elegant and maintainable.
Rails 5.2 introduces purpose and expiry metadata options to MessageEncryptor and MessageVerifier classes, enabling developers to create more secure encrypted and signed messages by preventing cross-feature replay attacks and automatically expiring time-sensitive tokens.
Rails 5.2 added AES-GCM encryption for sessions and cookies, reducing ciphertext size by 30% and improving speed by 25% with stronger security.
An overview of how the secret_key_base works and what it is used for in the Ruby on Rails framework