A Brief Rant on the Future of Interaction Design
As it happens, designing Future Interfaces For The Future used to be my line of work . I had the opportunity to design with real working prototypes, not green screens and After Effects, so there certainly are some interactions in the video which I'm a little skeptical of, given that I've actually tried them and the…
Up and Down the Ladder of Abstraction
"In science, if you know what you are doing, you should not be doing it. In engineering, if you do not know what you are doing, you should not be doing it. Of course, you seldom, if ever, see either pure state."
Bitbucket now rocks Git
Automating releases, semantic version bumps, and API calls often involves configuring branch permissions and storing long-lived credentials in pipeline variables. Managing credential rotation adds an ongoing maintenance burden. Today, we’re introducing granular step-level permissions and container tokens in Bitbucket…
I took "abusing the HTML5 History" to the next level.
We have completely reviewed the Nintendo switch for those who are considering to buy it. Learn all about the Nintendo gaming console and if it is for you.
Advice From An Old Programmer
You've finished this book and have decided to continue with programming. Maybe it will be a career for you, or maybe it will be a hobby. You'll need some advice to make sure you continue on the right path and get the most enjoyment out of your newly chosen activity.
Git Is Simpler Than You Think
Git Is Simpler Than You Think It was about one year ago that we switched to Git. Previously, we used Subversion, through the Mac app Versions, which (rightly) holds an Apple Design Award. I made the...
IOS 5's "Cleaning" Behavior
(Screenshot by someone on Twitter two weeks ago. I can’t find the tweet now — sorry.)
Cool, but obscure Unix tools
A little collection of cool unix terminal/console/curses tools Just a list of 20 (now 28) tools for the command line. Some are little-known, some are just too useful to miss, some are pure obscure -- I hope you find something useful that you weren't aware of yet! Use your operating system's package manager to install…
Accounting for Computer Scientists
Every educated person really ought to have a basic understanding of accounting. Just like maths, science, programming, music, literature, history, etc., it’s one of those things which helps you make sense of the world. Although dealing with money is not much fun, it’s an unavoidable part of life, so you might as well…
Technical Papers Every Programmer Should Read (At Least Twice)
Let me preface this post by saying that no programmer should feel compelled to read any of these papers. I list them because I think that they provide a breadth of information that is generally useful and interesting from a computer science perspective. What you do with that information is your prerogative, including…
Signs that you are a bad programmer
Reasoning about code means being able to follow the execution path (“running the program in your head”) while knowing what the goal of the code is.
What every programmer should know about time
This is a trade-off: you can't represent a leap second, and your time is guaranteed to go backwards. On the other hand, every day has exactly 86,400 seconds, and you don't need a table of all previous and future leap seconds in order to format Unix time as human-preferred hours-minutes-seconds.
Tangle is a JavaScript library for creating reactive documents.
Tangle is a JavaScript library for creating reactive documents . Your readers can interactively explore possibilities, play with parameters, and see the document update immediately. Tangle is super-simple and easy to learn.
Python and Django on Heroku
Python has joined the growing ranks of officially-supported languages on Heroku's polyglot platform, going into public beta as of today. Python is the...
How (not) to write Factorial in Java
I will admit this post was inspired by How would you write factorial(n) in java? So excuse me while I rant in code: I have a point to make at the bottom of this article. Now most people who write f…
How to Level Up as a Developer
How does a good developer become a great developer?
Understanding the Git Workflow
If you don't understand the motivation behind Git's design, you're in for a world of hurt. With enough flags you can force Git to act the way you think it should instead of the way it wants to. But that's like using a screwdriver like a