go
golang
zero-values
valid-by-default
null-safety
memory-model
default-values
api-design
python
java
comparison
nil
none
programming-paradigms
declaration
In Python, undeclared variables don’t exist. In Java, local variables can’t be used before assignment. In Go, declaration creates a valid value. There is no uninitialized state - every value works from the moment it’s declared.
go
golang
interfaces
type-system
structural-typing
design-patterns
api-design
testing
composition
polymorphism
java-comparison
programming-languages
software-architecture
implicit-interfaces
duck-typing
compile-time-safety
You write a struct with a Write method. Three months later, you discover it implements io.Writer. You never declared this. How did it happen? Exploring Go’s implicit interfaces and the power of accidental implementation.
go
golang
values
objects
memory-model
philosophy
python
java
comparison
concurrency
stack-allocation
heap-allocation
programming-paradigms
type-systems
performance
mental-models
In Python, everything is an object. In Java, everything is a class. In Go, everything is a value. These are fundamental design philosophies that shape how you write concurrent code, manage memory, and reason about performance.
go
golang
escape-analysis
performance
optimization
memory-management
stack-allocation
heap-allocation
compiler
benchmarking
profiling
zero-cost-abstractions
pointers
values
The Go compiler decides whether your values live on the stack or heap through escape analysis. Understanding this mechanism explains Go’s performance characteristics and helps you write faster code without sacrificing clarity.
python
gil
concurrency
parallelism
big-data
numpy
pandas
data-science
machine-learning
performance
cpython
threading
multiprocessing
pyspark
polars
optimization
distributed-computing
reference-counting
memory-management
pep-703
Discover why Python dominates big data despite the GIL: Python coordinates, C/Rust/JVM executes. Learn how NumPy, pandas, Polars, and PySpark bypass the GIL for true parallelism.
open-source
licensing
gpl
agpl
lgpl
copyleft
software-licensing
viral-licensing
fsf
gnu
legal
mit-license
apache-license
compliance
intellectual-property
oss
github
project-management
software-development
dual-licensing
commercial-use
derivative-works
developer-tools
software-law
Why copyleft licenses ‘infect’ derivative works, how GPL differs from permissive licenses, and when viral licensing protects community contributions from proprietary capture
python
memory-management
performance
cpython
internals
optimization
heap
stack
data-structures
object-model
memory-layout
pyobject
reference-counting
garbage-collection
c
go
rust
java
comparison
systems-programming
profiling
All Python developers know that everything in Python is an object. But at what cost? A deep dive into Python’s heap-only memory model and the 28-byte overhead of storing a simple integer.
open-source
licensing
apache-license
apache-2.0
software-licensing
patents
legal
mit-license
gpl
copyleft
permissive
intellectual-property
oss
github
project-management
software-development
compliance
commercial-use
patent-protection
developer-tools
software-law
Why Apache 2.0 matters for patent-heavy projects, how it differs from MIT, and when explicit patent grants protect your users and contributors
open-source
licensing
mit-license
software-licensing
legal
gpl
apache
bsd
copyleft
permissive
intellectual-property
oss
github
project-management
software-development
compliance
commercial-use
license-compatibility
developer-tools
software-law
Why MIT became the most popular open-source license, when to choose it over GPL/Apache/BSD, and a decision framework for selecting the right license for your project
shell
unix
patterns
glob
cli
developer-tools
terminal
bash
zsh
reference
syntax
gitignore
file-matching
Part 2: A comprehensive reference covering every glob pattern from basic wildcards to advanced features like brace expansion and extended globs. Learn the rules that apply everywhere.
shell
unix
patterns
glob
regex
cli
developer-tools
terminal
bash
zsh
gitignore
file-matching
pattern-matching
Glob patterns are everywhere - .gitignore, shell wildcards, build configs - yet most developers learn them by accident through copy-paste. Here’s why glob deserves explicit teaching.
zsh
completion
tab-completion
shell-scripting
command-line
productivity
terminal
compinit
compdef
automation
Part 4: Learn how ZSH completions work under the hood. Build custom completions for your scripts, understand _arguments and completion contexts, and make tab completion actually useful.
documentation
readme
open-source
developer-tools
technical-writing
markdown
github
documentation-patterns
software-engineering
best-practices
api-documentation
crates-io
npm
pypi
repository-management
code-hygiene
documentation-sprawl
content-strategy
engineering-culture
oss-maintenance
More features always lead to more sprawl. The longer it goes on, the harder it is to bring back under control. Here’s how to treat your README like a landing page - with hooks, not walls of text.
rust
testing
unit-testing
integration-testing
property-based-testing
snapshot-testing
rstest
proptest
insta
doctest
test-driven-development
tdd
software-testing
test-automation
cargo
rust-testing
end-to-end-testing
test-strategies
rust-best-practices
quality-assurance
code-coverage
A complete overview of Rust testing strategies: unit tests, integration tests, property-based testing, snapshot testing, parameterized tests, and doctests. Learn which testing approach fits your needs.
rust
error-handling
thiserror
anyhow
error-envelope
api-design
web-development
axum
rest-api
http
architecture
best-practices
library-design
application-development
type-safety
debugging
observability
ergonomics
rust-crates
web-frameworks
Three Rust error handling crates that seem to overlap but fill distinct roles. Learn when to use thiserror for typed errors, anyhow for application code, and error-envelope for HTTP boundaries.
rust
error-handling
question-mark-operator
result-type
option-type
type-conversion
from-trait
try-trait
rust-syntax
best-practices
control-flow
early-return
error-propagation
rust-patterns
functional-programming
type-system
compiler
rust-fundamentals
programming-patterns
code-clarity
The ? operator looks like magic. One character that handles errors, converts types, and returns early. Understand how it actually works under the hood and when to use it.
json
xml
architecture
software-evolution
design-philosophy
modularity
jsx
react
vue
angular
graphql
history
patterns
zeitgeist
monolithic
microservices
ecosystem
fragmentation
trade-offs
JSON recreated XML’s entire ecosystem modularly. JSX brought back XML’s syntax. What does this teach us about technology evolution? Explore the architectural zeitgeist, pattern survival, and the modularity paradox: choice vs. discoverability.
json
data-formats
xml
yaml
serialization
web-development
api-design
javascript
rest-api
data-interchange
json-schema
standards
rfc
history
web-standards
parsing
validation
configuration
distributed-systems
microservices
Everyone thinks they know JSON. But do you know why it was created, what problems it solved, and more importantly - what problems it created? Part 1 explores JSON’s origins, its triumph over XML, and the fundamental weaknesses that spawned an entire ecosystem of extensions.
json
json-schema
validation
api-design
openapi
swagger
type-safety
schema-validation
ajv
jsonschema
data-validation
typescript
go
python
rest-api
microservices
contract-testing
api-contracts
schema-generation
runtime-validation
JSON lacks types and validation - any structure parses successfully. JSON Schema solves this by adding a validation layer without changing JSON itself. Learn how to define schemas, validate at runtime, generate code, and build type-safe APIs.
json
jsonb
bson
binary-serialization
performance
optimization
postgresql
mongodb
data-formats
database-optimization
parsing
encoding
Database-managed binary JSON formats solve storage and query performance problems. JSONB enables fast PostgreSQL queries with indexing, while BSON adds extended types for MongoDB. Learn when databases beat text JSON.
No posts match the selected tag. Show all posts