Blog
Articles, guides, and notes on software engineering.
What is Duck Typing? How Dynamic Type Checking Works in Python, Ruby, and Go
Learn what duck typing is, how structural typing enables flexible code, and how Python, Ruby, and Go each implement duck typing—with real code examples for each language.
Recent Posts
Polymorphism Explained: How Object-Oriented Code Stays Flexible
Understand polymorphism in object-oriented programming—subtype, parametric, and ad-hoc polymorphism—with examples in Go, Java, and Python to show how each language applies it.
Learning Software Testing Techniques for the First Time
A review of Learning Software Testing Techniques for the First Time. A book for learning fundamental software testing techniques like equivalence partitioning and boundary value analysis. A fitting first read for those who have never written test code.
Road to Vimmer
Master vim navigation, editing, and text manipulation commands for efficient terminal-based text editing without GUI shortcuts.
Order Notation and How to Determine Algorithm Complexity
An overview of the basics of calculating algorithm performance using Big O notation and complexity.
HTTP and SSL/TLS
Understand how HTTPS works: TLS handshake after TCP, confidentiality/integrity/authenticity, the history from SSL vulnerabilities to TLS 1.2/1.3, and why universal HTTPS adoption happened.
Stateless and Stateful
Learn the difference between stateless and stateful protocols. HTTP, UDP, and IP are stateless; FTP, TCP, and SMTP are stateful. Covers session-based state management implications.
Setting Up a Laravel Environment with Laravel Homestead
Set up Laravel Homestead development environment using Vagrant and VirtualBox with SSH key configuration.
Types of Test Cases and Identification
A concise summary of the basic types of test cases and how to identify them. After organizing the purposes of testing, finding bugs and assuring and improving quality, it introduces types of tests such as unit tests and the perspectives you can use to enumerate test cases.
Setting Up a Golang Development Environment
Configure a Go development environment: GOPATH setup, directory structure, package organization, and Docker development.
What is Docker? A Beginner's Complete Guide to Containers
Learn what Docker is and how containers differ from VMs. Covers images, containers, Dockerfile basics, docker-compose, and how Docker fits into modern DevOps workflows.
Resources I Used for Studying Golang
Discover essential Go learning resources: recommended books, official tutorials, and community guides for all skill levels.
Starting with Go Language
A review of Starting with Go Language. A relatively gentle introduction to Go. Since it walks through the syntax and basic usage in one pass, it suits those new to Go in taking their first step.
Modern JS Discussion ─ Proxy
Master JavaScript Proxy objects, trap handlers, target wrapping, and value validation in ES2015 development.
Modern JS Talk──async function
Explore async functions, await expressions, and Promise-based asynchronous processing in modern JavaScript development.
Creating a Custom Router with React and the History API
Implement custom React router using History API with pushState and popstate for SPA navigation without libraries.
Modern JS Talk──Promise
Master Promises for asynchronous operations, chaining with .then(), error handling, and avoiding callback hell.
Things I Bought This Year That Were Worth It
Review top 2017 purchases including Bluetooth audio gear, Cote&Ciel bags, and gym membership for enhanced personal performance.
Modern JS Talk: Arrow Functions
Learn arrow function syntax, lexical this binding, and ES2015 function expressions for modern JavaScript development.
Modern JS Talk──Classes
Explore ES6 class syntax, constructor definitions, getters/setters, and strict mode behavior in modern JavaScript.