Books I Love
Posted on September 15, 2018
(Last modified on May 19, 2026)
| Thomas Nelson
I can expand more or add to this list later, but here’s a quick list of books I love:
- Albert Camus - The Fall
- Aldous Huxley - Brave New World
- Aldous Huxley - Island
- Daniel Keyes - Flowers for Algernon
- David Foster Wallace - Infinite Jest
- Douglas Adams - The Hitchhiker’s Guide to the Galaxy
- Ernest Hemingway - A Farewell to Arms
- F. Scott Fitzgerald - The Great Gatsby
- Franz Kafka - Metamorphosis
- George Orwell - 1984
- George Orwell - Animal Farm
- George Orwell - Homage to Catalonia
- H.P. Lovecraft - The Colour Out of Space
- Hermann Hesse - Steppenwolf
- J.D. Sallinger - The Catcher in the Rye
- J.K. Rowling - Harry Potter series
- J.R.R. Tolkien - The Hobbit
- John Green - Looking For Alaska
- John Steinbeck - In Dubious Battle
- John Steinbeck - Of Mice and Men
- Kurt Vonnegut - Cat’s Cradle
- Kurt Vonnegut - Mother Night
- Lewis Carrol - Alice’s Adventures in Wonderland and Through the Looking Glass
- Mark Z. Danielewski - House of Leaves
- Neil Gaiman - The Ocean at the End of the Lane
- Orson Scott Card - Ender’s Game
- Orson Scott Card - The Worthing Saga
- Oscar Wilde - The Portrait of Dorian Gray
- Philip K. Dick - Ubik
When to Use Programming Languages
Posted on August 30, 2018
(Last modified on May 19, 2026)
| Thomas Nelson
Java
- Willing to take a small speed decrease in order to have a much better time programming than C/C++
- Need to interface with <
Obscure Technology>. Because Java probably has a library for it
Kotlin
- Want/need to use Java libraries but want to feel modern
Groovy
- I want to write a version of Java that gets rid of everything good about Java while keeping all of the bad
C
- Need the maximum amount of speed possible
C++
- Need the maximum amount of speed possible while also having the maximum number of language features that don’t fit together
Javascript
- Need to write something quick for the browser
Typescript
- Need to write something large for the browser
Python
- Short scripts, one-offs
- Want to have a good time programming while not caring about speed or ease of refactoring
Go
- Want the power of concurrency, but don’t want to actually learn concurrency
Clojure
- Want/need to use Java libraries but are a hipster
- Rich Hickey is my spirit animal
- Seriously though, Clojure is really good for processing data. It has a lot of functions in the standard library for manipulating lists and maps. It’s my tool of choice when working with large JSON files.
Rust
- I’m a sub and I want my compiler to be the dom
Haskell
- Want to prove that all those years of mathematics were useful
- Want to feel superior to the plebs that can’t understand your beautiful monads
OCaml
- Want to use a high-level language but am intimidated by Haskell
- Want a functional language with the opportunity to use imperative programming without having to wrap all values in a ThisIsImpureDontLetItContaminateThePurity monad
PHP
Tips
Posted on July 11, 2018
(Last modified on May 19, 2026)
| Thomas Nelson
Best Practices
Everything is Code
Advantages:
- Copy paste! Easily take concepts from one project and use them in another
- Source control. See who changed what why.
- Rebuilding. If you have everything in source control, it becomes way easier to rebuild in case of a disaster.
- Editing. You know what computers are really good at? Manipulating text. Take advantage of that by expressing everything as text.
And by everything, I mean EVERYTHING that you possibly can. Jenkins jobs, server configuration, Spinnaker pipelines. All of these things can be expressed in text form.
[Read More]