List of resources, tools, and services I recommend.
If you ever start losing your enthusiasm for programming, watch one of these:
- Doing with images makes symbols — Alan Kay (Streaming video)
- Is it really “complex”? Or did we just make it “complicated”? — Alan Kay (streaming video)
- Normal Considered harmful? — Alan Kay (streaming video)
- The mother of all demos — Douglas Engelbart (streaming video)
When I’ve decided to learn frontend development, I had no idea where to start and what exactly I need to learn. Older version of this roadmap gave me direction.
For Haskell and fp-ts, I wanted to understand some standard typeclasses to know what’s going on. This is a good place to start. It’s not too advanced, but it’s not too basic either.
Not everything was clear to me from this documentation, but it’s a good reference which I still use. Also, what you learn from it is transferable to any languages which use typeclasses with algebraic or category-theoretic underpinnings.
- Adventure gamers forums
- GameSpot boards
- GiantBomb forums
- IGN board
- Penny arcade forums
- TouchArcade forums
- Video game forums
If you’re starting to use Git for the first time, I’d start here. It has the critical things in order in which you need them.
I used this when I was starting out and wasn’t sure, what are the critical things I need to do/remember/understand.
I use this template for my commit messages.
- The Better parts — Douglas Crockford (Streaming video)
- ECMAScript proposals
- ECMAScript language specification
- How to read the ECMAScript specification
It’s not on the same level as the Economist, but I find it the best for Czech news.
This book had a large influence on my programming style and on how I think about software design.
There’s a summary of design principles and red flags at the end of the book, which I still keep as a quick reference.
Great book about type theory and type systems, but I won’t pretend some of it didn’t go over my head. I still recommend it, the parts I understood were great. But it’s pretty dry and theoretical, so I was skimming through some parts.
I didn’t understand this book when I was starting out, but now I really appreciate it. It’s a great book for understanding how programming languages work.
I enjoyed it up until the chapter on Computing with register machines. It’s not the fault of the book, I wasn’t interested in that content. But until then, it’s amazing.
The book has so many great moments. Read this review from Peter Norvig to get a feeling, why it’s so great.
I also recommend as an alternative the video lectures, if you prefer videos and condensed version.
- Breakthrough advertising — Eugene M. Schwartz
- Hemingway app
- On writing — Stephen King
- Scientific advertising — Claude C. Hopkins
I no longer develop for iOS (the last time was in 2017, at a junior, hobby, level).
I went through this course to learn iOS development. It’s great, it was pretty understandable and fun. It’s beginner oriented, but as a prerequisite, you should know at least a little how to program.
There were countless resources for learning Swift, but nothing beats the official documentation.
These books are great, but they are older. I’m not sure if they’re still relevant.
Again, great books, but older. I’m not sure if they’re still relevant. I don’t code in Python anymore.
Things I used to recommend but no longer do. It’s not that they are not great, it’s that I don’t use them anymore.
I haven’t used Ramda for some time. I liked it, but it doesn’t really work nicely with TypeScript — last time I tried it, it didn’t infer types in a lot of cases. I now use fp-ts instead which infers types every time.
I don’t recommend learning Objective-C anymore. For iOS development, you should learn Swift instead.
I find Google still faster and more comfortable. I never got used to using these.
Vim as an IDE
I still use Vim for quick edits, but I don’t use it as an IDE anymore.
I was using Vim for around two years as an IDE, but in the end, I’ve decided I prefer something I don’t enjoy customizing that much. I now use Visual Studio Code which I still sometimes tweak, but not as much as Vim.
Also, for a lot of things, I find mouse faster and more comfortable than keyboard. Vim doesn’t support this well.
I was using WebStorm for around half a year, but in comparison to Visual Studio Code and Vim, the autocomplete had too much of a delay, and it felt too much as an IDE. Just a personal feeling, I don’t know how to put it in words.
tmux as a terminal tiling window manager
It just felt clunky, and I wanted something more future-proof. I now just write notes in Markdown and sync them with any file sync service I want.
Things I liked but they no longer exist.