Recently
Saturday, 1 August 2015 · 10 min read · thoughtsRead a number of interesting books this month. People have been recommending me such good books and courses.
Reading/Listening
- Godel, Escher, Bach: An Eternal Golden Braid. Really tough read. I can spend half an hour just trying to digest a few pages.
- REST in Practice. I didn’t learn much from this book. A lot of it is obvious if you’ve written a modern RESTful API or two. It was a pioneering book back in its day.
- HN Discussion on Sheet Music (standard notation)
- The Pragmatic Programmer
- Aaron Swartz’s Blog
- Project Oberon
- Ruby Under a Microscope.
- How to write the perfect pull request
- Thoughtbot code review guide
- Failure is an option
- Accessible APIs
- RESTHooks
- Why you should do a tiny product first
- How do you create a product people want to buy?
- React.js Introduction
- The Phoenix Project. One of the most stressful books I’ve ever read. Gave me nightmares. Learned a lot about “transformations” executives work on, big corp dynamics, the four types of work, manufacturing plant management processes, and the perils of Brent in your organization.
- SOLID Principles in Object Oriented Design
- The Clean Coder. Here are some handpicked quotes from the book:
It is the lot of a professional to be accountable for errors even though errors are virtually certain.
Your career is your responsibility. It’s not your employer’s reposnsibility to make sure you are marketable. It’s not your employer’s responsibility to send you to conferences, or to buy you books. Woe to the software developer who entrusts his career to his employer.
Of all the unprofessional behaviours that a programmer can indulge in, perhaps the worst of all is saying you are done when you know you aren’t.
Learn how to ask for help. When you are stuck or befuddled, or just can’t wrap your mind around a problem, ask someone for help. It is unprofessional to remain stuck when help is easily accessible.
Professional programmers often suffer from a lack of diversity in the kinds of problems that they solve. Thus professional programmers practice on their own time. It is not your employer’s job to help you keep your skills sharp for you. Practicing is what you do when you aren’t getting paid. You do it so you will be paid, and paid well.
Professionals evaluate the priority of each task, disregarding their personal fears and desires, and execute those tasks in priority order.
Professionals do not make promises that they can’t keep, and they don’t make commitments that they aren’t sure they can meet.
Playing
This month, I’ve been playing some physical programming games. It’s really fun, and I think most programmers will find it fun. I feel games like these can help non-programmers get a taste of what programming is like.
Thinking
- BlockSpring is pursuing a similar vision as I’m pursuing with BotSquad. Very interesting project. I learned a lot from it, especially with regard to third-party OAuth authentication and managing secrets.
- There’s also hook.io and StackHut.
- I keep having to re-write parts of BotSquad as I devise new requirements. Polyglot worker support is one of them. Ideally, agents should not be limited to a single language. I’m very fearful of feature bloat, but this makes the project more extensible. There’s also a lot of scalability and resiliency issues.
- I’ve been thinking a lot about my future career path. Is this the eponymous final year crisis?
- Worryingly, I’ve noticed that I haven’t touched SheetHub in some time now. There’s an open pull request I need to finish. Some UI elements also needs fixing. I should work on SheetHub before school starts.
- I should really finish pg_tags so I can dogfood it for an upcoming project. Note to self: need a
force_lowercase
configuration option. - On the flipside, I’m spending more time outdoors and actually enjoying my summer holidays. I forget I tan easily.
Guitar
- Sunset in Paris. My kind of fingerstyle. Getting good at more percussive techniques.
- Etude of the Sun by Tanaka Akihiro. Super fun to play. The original speed is really fast.
- Keep The Groovy
Elsewhere
- Wrote an open source sample Rails application using the new PayPal REST Payment APIs.
- Finished my internship at PayPal.
- Completed the Scalable ML course from EdX.
- Wrote a blog post on Apache Spark.
- Starting to spend more time at a startup co-working space.
- In the middle of publishing a Ruby gem.
- Lazy rivers are awesome and manta rays are cool.
- Seahorses are one of the strangest animals I have ever seen.
- Luges are great fun.
📬 Get updates straight to your inbox.
Subscribe to my newsletter so you don't miss new content.