I don't trust Signal
A critical analysis of Signal's security model, focusing on its reliance on Google Play Services and resistance to F-Droid distribution.
A critical analysis of Signal's security model, focusing on its reliance on Google Play Services and resistance to F-Droid distribution.
A guide outlining five key factors for writing effective and clear programming tutorials that help students learn concepts without confusion.
A guide to generating random numbers and values in Swift using the native APIs introduced in Swift 4.2, covering basic generation, collections, and custom types.
A software engineer shares his experience starting a new role as a senior backend developer at the telemedicine company Doctor on Demand.
Explores Bayesian methods for quantifying uncertainty in deep neural networks, moving beyond single-point weight estimates.
A guide on how to safely upgrade a self-hosted GitLab server, including creating backups and running update commands.
An introduction to Reverse Polish Notation (RPN), explaining its stack-based logic, history with HP calculators, and providing a JavaScript evaluator.
Part two of a series on resurrecting a legacy library, focusing on adding CI and end-to-end tests to stabilize the codebase.
Explains the log() interpolation function in Terraform, including its syntax, usage, and examples.
A guide to implementing comprehensive error handling for both exceptions and HTTP status codes (like 404) in ASP.NET Core MVC applications.
A guide to integrating Google Analytics reliably into a Webpack project using HTML partials, ensuring proper initialization and maintainability.
Explains Java 11's constantdynamic feature, a JVM instruction for lazy constant creation, and demonstrates its use with Byte Buddy.
Explains how to execute Lambda Calculus, covering alpha-equivalence, beta-reduction, and normal forms in this practical guide.
An article advocating for the use of plain text and the terminal over graphical interfaces for software engineering tasks, citing efficiency and flexibility.
An interview with Steve Sanderson discussing WebAssembly's potential, its impact on web development, and the Blazor experiment.
A technical guide on configuring a local Postfix mail server for development and testing email-related software.
Explores the modular architecture of JUnit 5, detailing its Jupiter, Vintage, and Platform sub-projects and the design rationale.
A guide to using and customizing JUnit 5's @Enabled and @Disabled conditions for conditional test execution.
Explores JUnit 5's dynamic tests feature, which allows creating test cases at runtime from parameters, data sources, or lambdas.
A guide to creating custom extensions using the JUnit 5 extension model for Java testing.