Things to learn and do in 2017

As 2017 comes up, I just wanted to write a list of all the things I would like to do and learn in the new year. I honestly do not know if this list will help, but I think it’s nice to have it on the website so people might be inspired to check out some of this tech. Maybe we can help each other learn.

Code

I do a lot of JavaScript for the day-job, I try to keep it sane and interesting by using lots of functional programming patterns, ESLint, and Flowtype.

I would like to diversify my skills more, though, and really invest in technology where ideas like immutability and type-safety are part of the language and culture, unlike JavaScript, which requires numerous tools and libraries, plus lots of discipline to write good, clean, functional code.

Languages I want to spend some time learning. For these languages, I have a list of resources I’ve found and/or bought and will post on the site at some point.

Some JavaScript technologies I use currently, but want to learn more deeply:

Some JavaScript technologies that I want to evaluate:

Side projects

I’ve bought a few domain names that I would like to turn into some design- and education-focused destinations.

objectsandarrows.com

The title “Objects & Arrows” is my hipster branding for Category Theory. Category Theory has begun to receive some interest among programmers as its ideas inform some of the more technical expositions and implementations of Functional Programming (e.g. Haskell and Fantasyland spec for JavaScript).

I never had the opportunity to study Category Theory when I was studying math, so thought I would try to do a deep dive into it and summarize the material in a way that is accessible to me (and hopefully others).

a modern guide to LaTeX

Haven’t bought a domain name for this, and it’s hard to find catchy names that aren’t ambiguous (e.g. “modernlatex.com”?).

Back in the day, I used to be the quite competent LaTeX user. I did all my math homeworks in LaTeX, rather than subjecting my teachers to my handwriting. While many people are using alternatives like Markdown for structured documents, I believe LaTeX will continue to be relevant in the STEM fields, as Markdown can barely do tables right, much less a commutative diagram.

My idea is to maybe do some tutorials for getting started in LaTeX, especially focusing on alternative tools like Atom instead of the old IDEs I used to use.

flannelpedia.com

I bought this one kind of impulsively. The idea, though, is that I wear a lot of shirts that have flannel design (not necessarily flannel fabric). I intuitively know what I like in a design, but wondered how designers come up with the colors and proportions of the lines.

This site would either catalog some flannel-type designs out in the wild, or reproduced in Sketch or something, and maybe some exposition on flannel “theory”. I don’t know.

algebrai.cc

Like “Objects & Arrows”, I would like algebrai.cc to be a place that presents undergraduate-level Abstract Algebra in an accessible and attractive way. This might include videos and articles with custom-designed artwork.

Books about code

  • Clean Code, Uncle Bob
  • Refactoring, Martin Fowler
  • Practical Object-Oriented Programming, Sandi Metz (re-read)
  • 99 Bottles of OOP, Sandi Metz and Katrina Owen
  • The Pragmatic Programmer, Andy Hunt and David Thomas

Books about theoretical computer science

  • Types and Programming Languages, Benjamin Pierce
  • Basic Category Theory for Computer Scientists, Benjamin Pierce
  • Practical Foundations for Computer Science, Robert Harper.

Books on design, mainly typography

  • Stop Stealing Sheep, Erik Spiekermann
  • Elements of Typographic Style, Robert Bringhurst
  • Butterick’s Practical Typography, Matthew Butterick
  • Creative Confidence, David Kelley
  • Atomic Design, Brad Frost

General reading

  • The Righteous Mind, Jonathan Haidt
  • Deep Work, Cal Newport
  • Citizen’s of the Green Room, Mark Leibovich
  • Seinfeldia, Jennifer Keishin Armstrong
  • America’s Original Sin, Jim Wallis
  • Between the World And Me, Ta-Nehisi Coates
  • The Fractured Republic, Yuval Levin
  • The Great Debate, Yuval Levin
  • The Art of Being Free, James Poulos
  • How To Bake Pi, Eugenia Cheng
  • Shop Class as Soulcraft, Matthew B. Crawford