Page MenuHomePhabricator

Articles and Videos
Updated 139 Days AgoPublic

"Most programmers don't read much about their own discipline. That leaves them trapped in infinite loops of self-ignorance." -Scott Rosenberg, Dreaming in Code (pg 274)


Bad Habits We Learn In School
by James Hood
"I've noticed a pattern that seems to disproportionately affect recent college hires, but experienced engineers are by no means immune. My hypothesis is that these patterns or habits are actually formed while we're in school."

(While geared mainly towards programmers, it's relevant to graphics design and content dev as well.)

Pixar in a Box with Kitt Hirasaki
by Software Engineering Daily podcast
A podcast episode that applies to programmers and artists alike. Pixar software engineer Kitt Hirasaki talks about Pixar’s movie-making process from a software design/artistic point of view.

(While this podcast has snippets of self-promotion for Pixar in a Box, most of it gives a clear picture of the math, programming, and art process that Pixar uses.)


19 Tips for Everyday Git Use
by Alex Kras
"I’ve been using git full time for the past 4 years, and I wanted to share the most practical tips that I’ve learned along the way. Hopefully, it will be useful to somebody out there."

A Brief History of Hackerdom
by Eric S. Raymond
"I explore the origins of the hacker culture..."

The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
by Joel Spolsky
(Title is self-explanatory.)

Are we out of memory?
by Christian Gyrling
"Memory for any application is a crucial resource. No matter what type of application you are creating you will benefit from having good memory management. With some basic memory management in place you can know your memory distribution between systems, finding memory leaks much easier, simplify memory alignment requirements… These are just a few of the areas where you will benefit greatly with good memory management."

Beware the Trendites
by Jason C. McDonald
Are languages like C and Assembly still relevant in the modern computing world?

C++ Template: A Quick UpToDate Look(C++11/14/17/20)
by Vishal Chovatiya
"In this article he talks about c++ templates in quite detail and how they are used in the industry I took away a lot of basic concepts that I otherwise would have missed out on and also some basic difference in C++11/14/17/20 when it comes to use of templates and different styles of using templates"

A Coffee Break Introduction to Time Complexity of Algorithms
by Vicky Lai
"The fundamental concepts of complexity analysis are well worth studying. You'll be able to better understand how the code you're writing will interact with the program's input, and as a result, you'll spend a lot less wasted time writing slow and problematic code. It won't take long to go over all you need to know in order to start writing more efficient programs - in fact, we can do it in about fifteen minutes. You can go grab a coffee right now (or tea, if that's your thing) and I'll take you through it before your coffee break is over. Go ahead, I'll wait."

The Cathedral and the Bazaar
by Eric S. Raymond
"I anatomize a successful open-source project, fetchmail, that was run as a deliberate test of the surprising theories about software engineering suggested by the history of Linux. I discuss these theories in terms of two fundamentally different development styles, the "cathedral'' model of most of the commercial world versus the "bazaar'' model of the Linux world."

Computer Programming as an Art
by Donald Knuth
" programming is an art, because it applies accumulated knowledge to the world, because it requires skill and ingenuity, and especially because it produces objects of beauty. A programmer who subconsciously views himself as an artist will enjoy what he does and will do it better. "

Coroutines in C++
by Dave Cridland
This article serves as a soft introduction to coroutines.

Crafting Better Code Reviews
by Vaidehi Joshi
We’ve heard that having our own code reviewed by our peers and reviewing the code of our colleagues are both Very Good Things™, that we should all be doing. And a good many of us already happen to be doing all of these highly-recommended things. But when was the last time we evaluated these methodologies? Are any of us sure that our code review processes are actually working? Are we certain that they’re serving the roles that they were originally intended to fill? And if not: how can we try and make them better?

Design Patterns
by Refactoring Guru
A comprehensive resource for learning common code design patterns and how they work.

Documenting a New Feature
by Laurie On Tech
"These are things to consider and questions to answer when putting together docs!"

Doing Terrible Things to Your Code
by Jeff Atwood
Just when you thought you knew how to test your code...

Homesteading the Noosphere
by Eric S. Raymond
"In this paper, I examine in detail the property and ownership customs of the open-source culture."

How to Build an Online Presence as a Junior Developer
by Sam Jarman
Those who do not feel established do not feel as if they have an authority to write. This led to very few documented mistakes and lessons from beginners.

Git Cheat Sheet
by Alex Kras
A handy list of common Git commands. Totally worth printing off!

Goto Fail, Heartbleed, and Unit Testing Culture
by Mike Bland
An in depth article discussing a couple famous bugs, how better testing practices could have prevented them, and how and why a good testing culture can improve the development cycle.

Habits of highly mathematical people
by Jeremy Kun
Computer programming and math are sister disciplines, and many of the habits outlined in this article carry over.

How to Become a Hacker
by Eric S. Raymond
"I often get email requests from enthusiastic network newbies asking (in effect) "how can I learn to be a wizardly hacker?". Back in 1996 I noticed that there didn't seem to be any other FAQs or web documents that addressed this vital question, so I started this one."

How to Write Without Writing
by Jeff Atwood
"Over the last 6 years, I've come to believe deeply in the idea that becoming a great programmer has very little to do with programming. Yes, it takes a modicum of technical skill and dogged persistence, absolutely. But even more than that, it takes serious communication skills..."

ITWAMTSP: I Think We're All Making The Same Point
by Jason C. McDonald
The banner acronyms of Python and Perl are totally different...or are they?

Inline Functions
by ISO C++ Wiki
The benefits and problems with inline functions in C++.

The Inner Game of Software Development
by Daragh Byrne
Developer Daragh Byrne discusses the all-important skill of self-awareness in the programming industry.

In 2017, learn *every* language
by Ozan Onay
Don't just learn one new language this year...master them all! Learn why and how.

Keep A Changelog
by Olivier Lacan
Explains the purpose of a changelog, and how to write a good one.

Key Frame Animation (Video)
by National Research Council of Canada
This is a digital dub of a 7 minute, 45 second 16 mm film produced in 1971 by the National Research Council of Canada, in Ottawa. It demonstrates not only one of the first ineractve computer systems for animation, one used for production, it was also an outstanding example of early user-centred design.

Land Mines
by Ryan Silva
"These decisions—changing a boolean based on a keyword in a large blob of otherwise unnecessary text, applying a setting based on create date—are land mines. They fix an issue at hand and lie silent for months or years only to explode when an unsuspecting developer makes a routine change. Nobody likes land mines, but how do you prevent them?"

Making Wrong Code Look Wrong
by Joel Spolsky
Joel makes a strong case for "Apps Hungarian" notation.

Plan Your Commits
by Ryan Palo
What if, instead of committing at some arbitrary point when it "feels right," we actually plan our commits in advance?

Quantifiable metrics (benchmarks) on the usage of header-only c++ libraries
From StackOverflow. Question by Homer6, Answer by Realz Slaw
" quantifiable terms, what's different between using traditionally separated c++ header and implementation files versus header only?"

The 4-Letter Word That Makes My Blood Boil
by Marcus Blankenship
"JUST. It’s one of the worst four-letter words I know. Whenever I catch myself using it, I stop and apologize. And when I hear it, I hold up my hand and stop the person speaking."

The Cake is a Lie
by Jason C. McDonald
Is programming really a science, and if it is, why don't we really understand it?

The Honey Trap of Copy/Pasting Open Source Code
by Rami Sass
"I couldn’t agree more with Bill Sourour’s article ‘Copy.Paste.Code?’ which says that copying and pasting code snippets from sources like Google and StackOverflow is fine as long as you understand how they work. But, extra measures need to be taken if that code is open source."

The Law of Leaky Abstractions
by Joel Spolsky
Why do things get murkier the higher up we go, and why do we never TRULY leave machine-level behind?

The Magic Cauldron
by Eric S. Raymond
"This paper analyzes the economics of open-source software. It includes some explosion of common myths about software production economics, a game-theoretical account of why open-source cooperation is stable, and a taxonomy of open-source business models."

Top Ten Pull Request Review Mistakes
by Scott Nonnenberg
A look at the common mistakes done in code reviews - "pull requests" in GitHub terminology. (These are analogous to our Differentials, so you can apply this directly to our own code reviews!)

Multiple Inheritance Considered Useful
by Jack W. Reeves
"Arguments against multiple inheritance range from the philosophical to the practical, but in the end only one question matters: Is it useful?"

Mutable and Conceptual Constness
by Alan De Smet
Surprise - you are almost certainly using mutable wrong!

Python Names and Values
by Ned Batchhelder (a.k.a. nedbat on #python)
"Python is a very approachable language. Often it works just as you expect if you come to it from other languages. But you might suddenly encounter surprising behavior. The underlying mechanisms of Python are often quite simple, but their combined effects might not be what you expect. By understanding the mechanisms, you can reason about their effects. Today I'll be talking about names, values, assignment, and mutability."

This is vital to read when you are coming into Python from another language.

Quasi-classes Article
by Conrad Weisert
A very helpful article on what a class is...and ISN'T.

Revenge of the Hackers
by Eric S. Raymond
"The eruption of open-source software into the mainstream in 1998 was the revenge of the hackers after 20 years of marginalization. I found myself semi-accidentally cast as chief rabble-rouser and propagandist. In this essay, I describe the tumultuous year that followed, focusing on the media stategy and language we used to break through to the Fortune 500. I finish with a look at where the trend curves are going."

Software Design Manifesto
by Mitch Kapor
What should be done to create user-friendly software?

Help the compiler warn you
by Andrzej Krzemieński
Helpful tips on how to understand different compiler warning to create better software and use compiler in an efficient way.

Testing For People Who Hate Testing
by Lexy Munroe
Helpful tips for writing good tests, and hating them less.

Things You Should Never Do, Part I
by Joel Spolsky
" ...It’s a bit smarmy of me to criticize them for waiting so long between releases. They didn’t do it on purpose, now, did they? Well, yes. They did. They did it by making the single worst strategic mistake that any software company can make: They decided to rewrite the code from scratch."

Top 10 ways to become a self taught developer.
by Shubham Sharma
"An article about the self-taught programmer's life. I found that a lot of what was talked about was what I experienced. The big thing for me was going from learning to code, to writing my first real program. It was Blueshell for my internship. Made a difference on how I saw myself as a newbie. I actually could make something useful."

What are our responsibilities as software developers beyond writing code?
by Kate
Provides questions that we often don't think about when writing code.

What Have You Tried?
by Matt Gemmell
"If you’re a developer and you’re about to ask another developer a technical question (on a forum, via email, on a chat channel, or in person), you’d better be ready to answer the question 'What have you tried?'"

Why I like C++ Attributes
by Marius Bancila
A great resource that provides a soft intro into attributes. I'll definitely try and use these in my programming!

Working from home tips from our experienced remote employees
from StackOverflow Blog
"...we asked some of our long-time remote workers, folks who have spent years doing this, for tips on how to make remote work effective, enjoyable, and sustainable. "

Your Project Isn't Done Yet
by Jason C. McDonald
I discuss the six questions every software project should be able to answer.

How to become a Senior Software Engineer and beyond
by Lorenzo Pieri
A good article on what skills are required to become a senior software engineer.

Game Design

20 Years, 20 Lessons Learned (Video)
by Mark Rosewater
The veteran head designer for Magic: The Gathering discusses twenty things he's learned about game design in the twenty years he's spent working on Magic. These same rules apply to all games!

Death To Icon Fonts (Video)
by Seren Davis
Do you use icon fonts? Are you aware of their shortcomings? In this talk Seren will highlight some of the accessibility issues that icon fonts have and discuss an alternative.

Dyslexic Fonts
by Seren Davies
In this article, Seren Davies discusses the pros and cons of dyslexic fonts, as well as font selection for dyslexic users.

Game Accessibility Guidelines
An exhaustive, live document discussing game accessibility.

How Mainstream Devs Are Getting It Wrong (Video)
by Jonathan Blow
The developer behind Braid and The Witness talks about the indie scene, if games should be fun, and the state of Japanese game development.

Graphics Design

Rovio Animation Studios: Behind the Scenes
by Rovio Animation Studios
A video tour behind the scenes of Rovio Animation Studios, the creators of Angry Birds Toons.

CGI Dreamworks Animation Studio Pipeline
by Dreamworks Animation Studio Pipeline Script to Screen
A detailed inside view of the complete animation process at Dreamworks Animation Studio.

Season 5 My Little Pony Panel Animatic
by Pony Panel
The storyboard animatic shown at the 2014 MLP Panel.

The Cutie Remark Animatic to Final Comparison
by Pony Panel
The opening scene from The Cutie Remark with the storyboard version from the 2015 Comic Con and the final version.

My Little Pony: Friendship is Magic - Behind the Scenes
by Hasbro
A behind the scenes peek at the many aspects of creating an episode for the Hasbro hit series.

My Little Pony game -Behind the Scenes with Ashleigh Ball
by Let's PlayGL
Asleigh Ball, the voice of Applejack & Rainbow Dash gives The Game an interview.

Pixar Storyboarding Mini Doc
by Daniel Garcia
A background peek at the storyboarding process for "A Bug's Life".

The Purpose Of Storyboarding
by Disney Studios
A detailed look at the creation and implementation of the storyboarding process developed by Walt Disney.

Last Author
Last Edited
Nov 7 2022, 3:22 PM

Event Timeline

jcmcdonald edited the content of this document. (Show Details)
jcmcdonald edited the content of this document. (Show Details)
jcmcdonald edited the content of this document. (Show Details)
jcmcdonald edited the content of this document. (Show Details)
jcmcdonald edited the content of this document. (Show Details)
jcmcdonald changed the title from Articles to Articles and Videos.Jan 6 2016, 8:37 PM
jcmcdonald edited the content of this document. (Show Details)
jcmcdonald edited the content of this document. (Show Details)
jcmcdonald edited the content of this document. (Show Details)
bdvolwiler edited the content of this document. (Show Details)
bdvolwiler edited the content of this document. (Show Details)
ajmcdonald changed the edit policy from "All Users" to "Administrators".
jcmcdonald edited the content of this document. (Show Details)
jcmcdonald changed the edit policy from "Administrators" to "All Users".May 21 2020, 8:42 PM
emlarson edited the content of this document. (Show Details)
mahussain edited the content of this document. (Show Details)
ardunster edited the content of this document. (Show Details)
tfu edited the content of this document. (Show Details)