Links

Mind-shifting articles, videos and quotes.

Programming

General

Devil's dictionary of programming
Rob Pike's 5 Rules of Programming
Semanthic versioning
The Twelve-Factor app
Big-O cheatsheet

Complexity

Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it. Alan Perlis

Simplicity does not preceed complexity but follows it. Alan Perlis

Beware of the Turing tarpit where everything is possible but nothing of interest is easy. Alan Perlis

Why I hate frameworks
Simple made easy
The mess we're in
Out of the Tar Pit

Abstraction

Duplication is far cheaper than a wrong abstraction. About Programming

Minimal API Surface Area

OOP & FP

It's better to have 100 functions over one data structure than 10 functions over 10 datastructures. Alan Perlis

When something isn't first class, you invent all sort of bullshit workarounds. GoF = no firstclass functions. Templates = no light elements. Dan Abramov

Inheritance locks you into the first shitty design you come up with. Dan Abramov

Pure, functional languages don't make easy things hard. Other languages just pretend hard things are easy and blame you when things blow up. Erik Hinton

Everything should be top-down, except the first time. Yogi Berra

Why Functional Programming matters
OOP is expensive disaster
Inheritance is evil
Programming without objects
Thoughts about variadic functions
Hey Underscore, You're Doing It Wrong
Why Ramda

Reactivity

Turning database inside out
The web after tomorrow
Reactive MVC and the Virtual DOM

Type Systems

What to know before debating type systems

Dynamic and static type systems are two completely different things, whose goals happen to partially overlap.

Study of Code Quality on GitHub

The data indicates functional languages are better than procedural languages; it suggests that strong typing is better than weak typing; that static typing is better than dynamic; and that managed memory usage is better than unmanaged.

Consider static typing (Reddit thread)

Personally, I'm ready to call it... dynamic typing is wrong. It is an accident of history that statically-typed languages were so bad in the 90s that dynamic languages were an improvement, but the answer turns out to be better static typing, which we increasingly have.

Frontend

What if the user was a function?

Awesome talk about UI principles.

Microservices

Failing at microservices

Design, UI/UX

Good UI tips
UX Myths
Contrast Rebellion
The best icon is a text label

Resources

Subtle Patterns
Codrops

Project Management

No. of developers who use Jira for their own personal projects: 0.
This has to tell us something… I am Devloper

How GitHub uses GibHub to build GitHub