#48 - Brian Christian on better living through the wisdom of computer science
Optimal shopping. Multi-armed bandit. Really great parallels between CS and life. Will be picking up the book.
Languages, Compilers and Interpreters
Lecture notes from Bradfield's languages class
Software should be optimized for the domain it is performing in, or else it will turn into an unmaintainable nightmare for both developers and domain experts.
Lecture notes from Bradfield's networking class
How to deliver on Machine Learning projects
Step-by-step pipeline from idea to production for an ML project
Java Design Patterns
Design patterns implemented in Java. Really good reference. All designs should be as simple as possible.
101: Ben Orenstein - How to Build an App in a Week
Be ruthless about cutting and be flexible about scope. Set hard deadlines.
Analyzing 50k fonts using deep neural networks
Perfect dataset for training fonts, trained model even has 40 latent factors.
Coolest Things I Learned in 2018
Assorted snippets from the author of Monday Musings
The Yoda of Silicon Valley
Profile of Donald Knuth, author of the Bible of CS
Code Smells: Mutation
Make things immutable as much as you can!
Code Smells: Multi Responsibility Methods
Methods should do one thing. Extract things until this is the case.
Code Smells: Null
All about the Null code smell. Use `Optional`, `@NotNull` to combat it.
Effective Java, 2nd Edition
Very good grab bag of tips and tricks for Java. Many were immediately applicable. Explained at the perfect level of abstraction for me.
Documents OCR: Improving Efficiency by Making PDFs Searchable
Use Google Cloud Vision. Good OCR pipeline reference for startup.
What Truly Makes a Senior Developer
Senior developers understand that nothing is without possible issues, downsides, and risks.
Web Architecture 101
Walkthrough of Web Application Architecture
The Pragmatic Programmer
Collection of somewhat common sense but well-stated programming advice.
Lots of good architecture advice (not all JS-specific!) from a JS architect at Google
How I Learned to Stop Worrying and Love the State Machine
Any reasonably complex domain object degenerates into a state machine, so you might as well get ahead of the curve.
Core Java Volume 1 -- Fundamentals
More of a reference book than a read-through book. Goes through the Java core API. Already knew most of it
AWS, MongoDB, and the Economic Realities of Open Source
Open Source financials echo those of the music industry; what's being sold is not the software, but the packaging. This is dangerous if left unaddressed.
Building an Inclusive Code Review Culture
Clear communication and good practices keeps code quality high and people's feelings happy.
Crafting Beautiful UX with API Requests
Developer experience matters internally and externally and there are some simple patterns to make it better.
Some Code I Deleted
Always look for existing well-written, well-tested code before embarking on your own adventure. No code is better than no code.
Code Smells: Too Many Problems
Break the method into smaller pieces. Work on one smell at a time. Step back, get a bigger picture to model the problem. Introduce new domain objects if appropriate. Document your changes.
Code Smells: If Statements
Avoid crazy conditionals by moving them to the correct place, collapsing them, extracting to methods
Code Smells: Deeply Nested Code
Deeply nested code is bad. Encapsulate, use streams.
Patterns of Enterprise Application Architecture
Solid set of backbone concepts for enterprise applications. Many of his ideas have developed a lot since this book was released in 2002 but it strengthened my understanding to see them explained firsthand.
What Tech Stacks are Indie Hackers Using for Their Apps, and Why?
Descriptions of tech stacks and justifications for them at small startups. Bottom line: build modularly with technology you're familiar with.
How to unit test machine learning code
Actual code examples for testing neural networks and ML algorithms yay
Software Estimation: Demystifying The Black Art
More of a reference book than a read-through book. Goes through a lot of software estimation techniques. Meat of the book was in the first section.
Computer Science as a Lost Art
'Curmudgeonly' take on computer science vs. programming