CI without root Avoid warnings like "Running pip as the 'root' user can result in broken permissions" in Docker ‒ in the simplest possible way!
Coding exercise: Binary Gap Binary Gap is the first exercise on Codility. Codility is used by some companies for screening job applicants. Exercises on Codility engage you to: 1. Find an answer to an algorithmic problem, 2. Optimize your solution for resources (computation time and space), 3. Look for alternative data structures and algorithms
Coding together A colleague once told me it was a wonderful experience for him to share a pair programming session instead of writing code and submitting a pull request afterwards. He said in under 3 hours he got done with a task that initially seemed very difficult. He also didn't
Interactive Python for Incremental Programming Learn a much more efficient way to program in Python. Move a step closer to the legendary concept of Incremental Programming.
Teaching programming How should we be teaching programming? Here is an account of a good impression a student had when he encountered a lecture where they would actually improve something about their programming: Hal put the archetypical Lisp program on the blackboard: (define (fact x) (if (zero? x) 1 (* x (fact (-
A happy student How should we teach programming? Let us look at an example of a very satisfied student: There were several great lectures in 6.001, but that first one was the most memorable because it showed me that real computer hackers weren't writing accounts receivable and inventory reporting programs
Write better Python In order to write better Python code, you can check out the PEP8 guidelines. Specifically: Use lines of 79 characters or less. To set a marker that will help you keep that line length in VIm, add this to your .vimrc: :set colorcolumn=79 When breaking a long expression into
Semantic Versioning Highlights 1. We start our version as 0.1.0 2. The 1 in 0.1 is a minor release, which indicates functional changes 3. As we're in a 0.x release, we're able to push out breaking changes, as a 0.x release does not promise
Remove an element from a singly linked list elegantly Without a special case, the way Linus Torvalds prefers.