Today on r/programming: Understanding how Kerberos works, but also WHY it works the way it does. (PDF)
Category Archives: Programming
AWS SDK for PHP
Today I learned about AWS SDK for PHP. Haven’t actually used it.
Elegant bash conditionals
Some discussion concerning Elegant bash conditionals. Personally I use both forms, variously.
Semantic Versioning Will Not Save You
An article about the practical limits of SemVer: Semantic Versioning Will Not Save You. It references Hyrum’s Law:
With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.
Four Ways of Writing Thoughtful Code to Think Less
This was good: Four Ways of Writing Thoughtful Code to Think Less.
I particularly like the “Colocate or Barrel things” section with the advice to barrel your app’s features together.
A Vim Guide for Advanced Users
Today I stumbled upon A Vim Guide for Advanced Users. Learned a trick or two, but it’s still a long road ahead for me.
“REST” interfaces
I just wanted to get something that I’ve thought for many years on record, because I don’t think I’ve ever had the chance to discuss it much before, but I believe JSON web services (“REST APIs”) and web applications should deal only in two HTTP verbs, being: GET and POST. You use GET for queries and you use POST for submissions. All POST operations go through business logic for particular services and CRUDing URLs is a supremely bad idea, in my opinion. Just wanted to get that on record. Thanks. p.s for web applications you should 3xx on success, not 2xx on success; what you do for JSON web services is up to you, but for those 2xx is probably fine.
Plain Text Protocols
Some discussion about Plain Text Protocols. Who doesn’t love plain text? :)
Files are hard
A great article on the complexity of file systems: Files are hard.
10 Years of Open-Source Visualization
Some notes from Mike Bostock about what he’s learned from the D3.js project over the years: 10 Years of Open-Source Visualization.