Development Resources
A
Apple
Resource | Description |
---|---|
Downloadable resources for developers | XCode tools, etc. |
B
Blogs
Resource | Description |
---|---|
Amy Hoy | Example post: The fine art of "Flintstoning" |
Andy Baio | Writer with a creative, illustrative, technical flair. Example post: Invasive Diffusion: How one unwilling illustrator found herself turned into an AI model |
Andy Wingo | Writer with an emphasis on free software and open-source projects. Example post: fibs, lies, and benchmarks |
Axel Rauschmayer (2ality) | Writes about JavaScript in a deeper than usual way. |
Basecs | Blog on Medium with the following tagline: "Exploring the basics of computer science, every Monday, for a year." |
Camille Fournier | Engineer, CTO, member of the Apache ZooKeeper community. Author of The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change. Example post: An incomplete list of skills senior engineers need, beyond coding |
Chelsea Troy | Staff Engineer at Mozilla. Example post: How I do (and don’t) prepare a talk for a tech conference |
CSS Tricks | CSS site useful for a very wide array of things. Example post: Centering in CSS: A Complete Guide |
Dan Luu | Programming blog posts (more technical). Example post: Files are hard |
David Eppstein | Personal blog from a professor of computer science at University of California, Irvine. Example post: Stack-based graph traversal ≠ depth first search: Goes into detail about how modifying the standard version of the BFS algorithm on generalized graphs by replacing the queue with a stack does not result in a true DFS. The Wiki article on DFS, specifically the pseudocode section, provides David's comments in a different manner. |
InterviewingIO | Better interviewing (and hiring) through data. |
James Mickens | Example post: Researcher in the Distributed Systems group at Microsoft’s Redmond lab. |
Jeff Fowler | Example post: Hott reloading |
Julia Evans | Author of the Wizard Zines. Her blog has every post she's ever written, organized by category. Example posts: The fish shell is awesome; entr: rerun your build when files change; A little bit of plain Javascript can do a lot; Things that used to be hard and are now easy; SQL queries don't start with SELECT; sqlite-utils: a nice way to import data into SQLite for analysis: Useful for taking any CSV file(s) and dumping them into a SQLite database for querying purposes. CLI reference can be helpful, specifically the part about inserting data and making field conversions. The sqlite-utils GitHub repo and the csvs-to-sqlite GitHub repo might be useful for future exploration as well. |
Kamal Marhubi | Example post: Segfaults are our friends and teachers |
Lara Hogan | Author, public speaker, and coach for managers and leaders across the tech industry. Example post: What does sponsorship look like? |
Laurent Luce | Writes about more performance-driven topics. Example post: Least frequently used cache eviction scheme with complexity O(1) in Python |
Maciej Ceglowski (Idle Words) | Example post: Dabblers and Blowhards |
Marianne Bellotti | Author of Kill It with Fire Manage Aging Computer Systems (and Future Proof Modern Ones). Example post: All the best engineering advice I stole from non-technical people |
Mark Dominus | Amateur mathematician. Example post: Software horror show: SAP Concur |
Monica Dinculescu | Example post: Doing the work |
Nelson Elhage | Example post: Computers can be understood |
rachel by the bay | Example post: A mystery with memory leaks and a magic number |
Robert Heaton | Example posts: How does a TCP Reset Attack work?; Programming Feedback for Advanced Beginners (archive) |
Robin Wieruch | Writes about React a good deal. |
Safia Abdalla | Example post: Getting into git init |
Vicki Boykis | Example post: Google Drive is production |
Will Larson | Example post: Model, document, and share |
Books
SICP
Resource | Description |
---|---|
SICP book | Self-descriptive |
SICP MIT Video Lectures | In the SICP tradition but with Python. |
Brian Harvey's SICP Lectures | Self-descriptive |
Composing Programs | Self-descriptive |
How to Design Programs, 2nd Ed. | Self-descriptive |
C
Cheatsheets
Resource | Description |
---|---|
Devhints | This resource has numerous high-quality cheatsheets for various things developers are likely to use (e.g., bash, fish-shell, ffmpeg, homebrew, vim, etc.). There's also a search interface on the homepage to make it easier to find possible cheatsheet resources for your desired tool. |
tldr | The tldr-pages project is a collection of community-maintained help pages for command-line tools, that aims to be a simpler, more approachable complement to traditional man pages. For example, tldr tar won't be a billion pages but a quick reference of commands that are likely to be quite helpful. |
cheat | This project makes it possible to create and view cheatsheets on the command-line. Cheatsheets can be either those by the community (ones that come by default upon package installation) or those you make for yourself. Being able to make your own personal cheatsheets makes this an awesome resource. |
Big O Cheatsheet | Well-known resource that discusses big-O in terms of time- and space-complexities for various data structures and algorithms. |
Classes (education)
Resource | Description |
---|---|
Teach Yourself Computer Science | If you're a self-taught engineer or bootcamp grad, you owe it to yourself to learn computer science. Thankfully, you can give yourself a world-class CS education without investing years and a small fortune in a degree program. |
Colors
Resource | Description |
---|---|
Canva color wheel | Pick a color, then specify a color combination, and then use the color combination provided. I've used this before to find nice complementary colors. |
Color | Colors available via Material-UI |
D
Data structures and algorithms (DSA)
General-purpose resources
Resource | Description |
---|---|
AlgoMonster | Platform for learning and practicing DSA. Example resource: AlgoMonster coding interview problem frequency analysis: Breakdown of different problems and their frequencies in top tech companies. |
Big O Cheatsheet | Well-known resource that discusses big-O in terms of time- and space-complexities for various data structures and algorithms. |
binarytree | Useful package for Python users when studying trees. |
Bit manipulation (practice) | This quiz provides practice with bit operations. This web page gives you an opportunity to practice with applying these operators to positive integers. In some cases, you'll need to convert the integers to binary first before applying the operation. |
Handbooks
Resource | Description |
---|---|
Front End Interview Handbook | By Yangshun Tay, this is similar to the Tech Interview Handbook by the same author. |
Tech Interview Handbook | Start of book |
Interviewing
Resource | Description |
---|---|
interviewing.io | Anonymous technical mock interviews with engineers from Google, Facebook, and other top companies |
Interview.io recordings | Watch mock interviews with engineers from Google, Facebook, Netflix and more |
Resume checklist | From the Tech Interview Handbook |
Deployment and hosting
Namecheap and Netlify
The following are some helpful resources for setting up private email with a custom domain on Netlify:
Resource | Description |
---|---|
Gmail Fetcher setup for Namecheap Private Email | Self-descriptive |
How can I set up MX records required for mail service? | Self-descriptive |
Private Email | Self-descriptive |
How to Add DKIM Record in Namecheap: Namecheap DKIM Setup Guide | Self-descriptive |
How to set up a DKIM record for Private Email | Self-descriptive |
How do I add TXT/SPF/DKIM/DMARC records for my domain? | Self-descriptive |
Namecheap -> Dashboard -> Domain List | To be able to activate your Private Email subscription to receive mail and create mailboxes, you must first set up these important DNS records from the table below. (Something like what appears below -- these details need to be added to Netlify if you are using Netlify DNS.) |
Description of last point above:
Hostname | Record type | Priority | Value |
---|---|---|---|
@ | MX | 10 | mx1.privateemail.com |
@ | MX | 10 | mx2.privateemail.com |
@ | TXT | v=spf1 include:spf.privateemail.com ~all |
DNS
Resource | Description |
---|---|
The website is unknown - how DNS works | Fun way of learning how DNS works. |
Docusaurus
Some helpful links for learning about Docusaurus, the static site generator that is especially helpful for hosting project documentation:
Resource | Description |
---|---|
Stack Overflow | Top questions tagged with docusaurus . |
Jamstack | All about the jamstack, which Docusaurus is based on. |
MDX | Markdown for the component era that Docusaurus uses. |
Front Matter | Details about the front matter used in Markdown (helpful for authoring posts on Docusaurus-powered sites). |
Markdown syntax | Helpful notes on Markdown syntax. |
KaTeX | Helpful reference to see what can be used on Docusaurus-powered sites. |
Documentation Made Easy | Discussion on YouTube about what Docusaurus offers out of the box. |
Example sites that have been built with Docusaurus:
- COVID-19 in France: See the use of graphs.
- Unleash
- Verida
- Hasura
- IOTA Wiki
E
F
File conversions
Resource | Description |
---|---|
Cloud Convert | Probably the best free resource for executing high quality file conversions. They also have an API that can be used for free even though it doesn't have the most user-friendly interface. |
G
H
I
Icons
Resource | Description |
---|---|
Icon-icons | Tons of free icons where you can often download png, svg, and ico file types. |
J
K
L
LeetCode
General-purpose posts
| How to practice for 2200+ rating in LC | A user's guide concerning what they did over several years to achieve a 2200+ contest rating. |
Templates
| Sliding window template | A template for solving most "substring" problems by using the sliding window technique. |
M
Material-UI
Resource | Description |
---|---|
Material SVG Icons | |
Material icons (visual list) | Visual listing of icons available via Material-UI. |
Color | Colors available via Material-UI |
N
Newsletters
Resource | Description |
---|---|
Serverless Status | Self-descriptive |
Golang Weekly | Self-descriptive |
JavaScript Weekly | Self-descriptive |
React Status | Self-descriptive |
Node Weekly | Self-descriptive |
Ruby Weekly | Self-descriptive |
Frontend Focus | Self-descriptive |
Deno Weekly | Self-descriptive |
JAMStacked | Self-descriptive |
Postgres Weekly | Self-descriptive |
MongoDB Memo | Self-descriptive |
StatusCode Weekly | Self-descriptive |
Awesome Newsletters | Self-descriptive |
O
P
Professor pages
google search -> so many results
-> useless first result
-> useless second result
-> hm, this result seems promising
-> notice the useful result is tied to a page by some professor
-> visit professor's page and notice TONS of other awesome resources
-> spend countless hours browsing
-> profit
The process above is something most of us have encountered at some point. For example, recently I was searching about Abstract Data Types (ADTs), and many of the results I didn't find all that useful at first. But then I stumbled across this random handout that seemed quite nice. I looked at the URL more closely:
https://math.hws.edu/eck/cs327_s04/chapter2.pdf
Hm, I thought visiting https://math.hws.edu/eck
might lead to some other high quality content. It did. This general idea made me think it might be useful to start tabulating some of the very high quality content I've come across from different web pages dedicated to the work by some seriously awesome professors. Such pages are often gold mines of information. Professors will often list courses they've taught along with the associated coursework and resources they've either recommended or created themselves.
Below are some different "professor pages" I've come across that I've found to be quite valuable.
Resource | Description |
---|---|
David Eck | Courses taught; Course handout pages |