joshuago’s programming Bookmarks

29 SEP 2010
A really great introduction to awk for anyone who only uses sed and grep.
13 AUG 2010
The extra effort caused by our overengineering carries a hefty opportunity cost.
20 JUL 2010
A really good explanation of Ruby modules as mixins, bundles of functionality.
20 JUL 2010
An excellent explanation of one of the main purposes of Ruby modules: namespacing, and a fun read.
27 MAY 2010
In programming as in the rest of life, attitude trumps intelligence. It is in the crucible of practical problems that great new ideas can form.
27 MAY 2010
If you want to dramatically increase your programming skills you need to be reading other people’s code.
24 MAY 2010
A good survey of good, non-mainstream but powerful programming languages. Gives overview of Haskell, Scala, Standard ML, OCaml, and Scheme.
22 APR 2010
Great tutorial on how to create an offline HTML5 iPhone application. Does so through the process of building a Tetris game.
12 JAN 2010
Duntemann starts at the beginning -- the real beginning -- and explains what computers are and what they do. Assembly language must take the hardware into account (at least as far as memory addressing is concerned) so he talks at length about the Intel/AMD x86 hardware architecture. When he finally gets down to teaching assembly language itself, the emphasis is on memory addressing. If you know where your operands are, you're three quarters of the way to anywhere else you might want to go.
22 DEC 2009
Over the course of the past decade we have invented a dozen technologies to solve the problem of asynchronous and bi-directional communication between the browser and the server: AJAX, Comet & HTTP Streaming, BOSH, ReverseHTTP, WebHooks & PubSubHubbub, and Flash sockets amongst many others. Having said that, it does not take much experience with any of the above to realize that each has a weak spot and none solve the fundamental problem: web-browsers of yesterday were not designed for bi-directional communication.