Filter by tag:
-
JavaScript Modules and Bundlers
JavaScript module systems (IIFE, CommonJS, ESModules), modern bundlers, and build types for apps and libraries
-
PixieShop Authentication Playbook — OIDC SSO Across Four Identity Providers
-
Backend Architectures — history, case studies & dogfooding
From monolith → services → serverless; lessons from Amazon, Netflix, Google, Uber; how dogfooding turns platforms into products.
-
Web Accessibility V3 — Topics cheat-sheet & decision guide
Compressed guide to the Web Accessibility (V3) course topics with quick heuristics, team workflow, and checklists.
-
XState — model UI behavior correctly and make it testable
State modeling in React with XState: finite states, events, guards, effects. Clear behavior and cheap tests.
-
Domain-Driven, Data-Oriented Design (DDDOD)
Bill Kennedy’s Go-centric take on DDD focusing on data flow, validation, and layered boundaries.
-
Gophers 2025 — Event Report
Comprehensive recap of the Gophers 2025 conference (13–14 May) including sessions, workshops, detailed technical notes, and recommended next steps for Go teams.
-
Go Serialization Options
How Go types expose custom wire formats with MarshalText, MarshalJSON, and helper-based serialization.
-
Package Oriented Design
Bill Kennedy’s approach to Go package design: purpose-driven packages, clear boundaries, and modular structure.
-
Design by Contract (DbC)
Summary of Bertrand Meyer’s Design by Contract principles for robust software.
-
Conway’s Law — origins, literature, and team design
Summary of Melvin Conway’s original essay, subsequent research, and practical implications for structuring engineering teams.
-
No Silver Bullet — Essence & Accidents
Summary of Frederick Brooks Jr.’s 1986 essay on inherent vs accidental complexity in software engineering.
-
Modularization Criteria — Parnas 1972
Summary of David Parnas’s criteria for decomposing systems into modules (KWIC case study).
-
Software Aging
Summary of David Parnas’s 1994 essay on software aging, causes, and preventive practices.
-
Decision-Making Traits of Great Software Engineers
Highlights from Meyer et al. (2015) on decision-making characteristics in top engineers.
-
TDD Effects on Quality and Productivity
Summary of Bissi et al.'s systematic review on Test-Driven Development impacts.
-
Teach Yourself Programming in Ten Years
Summary of Peter Norvig’s essay on long-term skill development in programming.
-
JavaScript Sets, Maps, and Hashing
Understanding Set vs Map behaviour, hashing, caching patterns, and differences from C#.
-
ADR — Architecture Decision Records
How to use Architecture Decision Records (ADRs) to document important architectural choices, their context, and trade-offs.
-
Agile Software Development
Comprehensive guide to Agile methodologies, values, and practices for modern software development teams.
-
Behavior-Driven Development (BDD)
BDD with Cucumber and Gherkin — principles, syntax reference, step definitions in JS/TS, best practices, and comparison with TDD.
-
Domain-Driven Design: Tackling Complexity in the Heart of Software
Domain-Driven Design (DDD) is a software design approach that focuses on modeling complex systems based on the real-world domains or concepts they represent.
-
Design Patterns
Notes and presentation outline about design patterns, their intent, trade-offs, and related connections.
-
Closures and Curries
Closures and currying are both important concepts in JavaScript, especially for functional programming.
-
Generator
A generator is a special type of function in JavaScript that can be paused and resumed multiple times. Practical deep-dive with redux-saga as the real-world use case.
-
Prototype
JavaScript prototype chain and inheritance
-
Recursion
Recursion concepts and examples
-
This Object Inside Call, Apply and Bind
How the this keyword works in JavaScript across four binding rules — implicit, explicit (.call, .apply, .bind), new, and window binding — with practical examples.
-
React ForwardRef
Forwarding Refs is a technique in React where you pass a ref from a parent component to a child component
-
Optimizing React with Memoization
Optimizing React applications with memoization techniques
-
React.Suspense
React.Suspense for lazy loading
-
useRef
useRef hook in React
-
Shape Up: Stop Running in Circles and Ship Work that Matters
Notes and practice guide merging book takeaways and course review on Shape Up by Ryan Singer, connected with The Mythical Man-Month, Design by Contract, Programming with Abstract Data Types, and Domain-Driven Design.
-
SVG Are the Best
Why SVG is often a better choice than icon fonts and bitmap images for modern web interfaces.
-
TensorFlow
TensorFlow notes and resources from 2019
-
Mapped Types and Generics
Mapped types and generics in TypeScript
-
Typescript Overwrite Types
Overwriting types in TypeScript
-
Master’s Article Summaries
Key takeaways from replay attack detection, deepfake speech, plant identification with remote sensing, and spoofing countermeasures.
-
Testing Concepts Notes
Core testing concepts covering BDD, Sinon, accessibility, Lighthouse, CSS snapshots, unit testing best practices, and Storybook integration with Cypress.
-
Testing Library vs Enzyme
Complete migration guide from Enzyme to Testing Library, covering the mindset shift, custom renders, wrapper patterns, form testing, and real-world Calendar component examples.