Some thoughts on Andriod app design: Everything I’d do differently if I could go back and rewrite my Android app today.
Category Archives: Programming
SliceTricks
Today I stumbled upon SliceTricks (over here). It’s about how to do array manipulations with slice syntax in Go.
Best practices for REST API design
Over on the StackOverflow blog: Best practices for REST API design. Some of it is good but I disagree with a bunch of things. I made some notes:
* Use singular https://www.example.com/comment/list Not: https://www.example.com/comments * Use multidimensional selectors, not path/hierarchical selectors: https://www.example.com/comment/list?artist=nirvana&album=nevermind Not: https://www.example.com/album/nirvana/nevermind/comments * Use noun/verb format: https://www.example.com/comment/list https://www.example.com/comment/register https://www.example.com/comment/edit/54688 https://www.example.com/comment/view/54688 https://www.example.com/comment/reply/54688 * The [ noun, verb ] pairs map to Facilities for implementation: [ comment, list ] => CommentLister [ comment, edit ] => CommentEditor [ comment, view ] => CommentViewer Facilities have submit/render functionality and round-trip view state. * HTTP success 30x's not 2xx's. * Include a 'submission ID' on <form> elements for idempotent operations * GET and POST only, don't CRUD URLs, rather invoke business processes
An incomplete list of complaints about real code
Today I read An incomplete list of complaints about real code. I don’t agree with most of her conclusions, but they were interesting to read and consider.
A Practical Intro to Covariance and Contravariance in C#
A Practical Intro to Covariance and Contravariance in C#. I wish I had time to read it closely.
10 Must-Have VS Code Extensions for ReactJS Developers
Over on 10 Must-Have VS Code Extensions for ReactJS Developers are a few suggested VS Code extensions.
OWASP Cheat Sheet Series
Oh wow, this is great: OWASP Cheat Sheet Series.
Common C libraries and data structures
Today I discovered: Common C libraries and data structures. (C99) over on github. So awesome.
I really like the project layout too. Each module in a directory with an example, a bunch of tests, and some documentation to go along with the code. I feel like this is how it should be done. I think today I grew as a programmer because I read this code.
On navigating a large codebase
A really excellent article: On navigating a large codebase, about how to read software.
github1s.com
So there’s this new domain github1s.com where you can load the web version of VS Code and open a github project all in one go, e.g.: https://github1s.com/jj5/apache-formula/.