Rails is not MVC
There is a terminology problem in the Rails community. Everyone promotes Rails as a MVC framework. I did that as well. However, the truth ...
The latest blog posts to take off on Hacker News. 21,843 posts.
There is a terminology problem in the Rails community. Everyone promotes Rails as a MVC framework. I did that as well. However, the truth ...
What Teachers do Wrong Teachers use subversive language. They say things like “this is a bit tricky” before introducing a concept. It’s in...
As many of you already know I am publishing my monthly income reports each month. Here is another one that will sum up the August 2011. As I have discovered some new methods to make your applicatio…
C is, today, a unique programming language. Surprisingly few people can really program in C and yet many of us have quite strong opinions about it. Buffer overflows, stack smashing, integer overflows — C has many well publicised flaws, and these terms are often bandied about confidently, even by those unfamiliar with…
I spent about a month in my spare time reading the source code of Quake II. It was a wonderful learning experience since one major improvement in idTech3 engine was to unify Quake 1, Quake World and QuakeGL into one beautiful code architecture. The way modularity was achieved even though the C programming language…
A crit-bit tree can be used as a high-speed associative array. For example, an array mapping 54 to 1, 19 to 2, 99 to 3, 85 to 4, and 88 to 5 can be stored as a crit-bit tree containing 54=1, 19=2, 99=3, 85=4, and 88=5. The smallest string in the crit-bit tree larger than 85= is 85=4.
LLVM has two new register allocators: Basic and Greedy. When LLVM 3.0 is released, the default optimizing register allocator will no longer be linear scan, but the new greedy register allocator.
ORM looks great early in a project but breaks down as complexity grows, forcing you to learn SQL anyway. Relations aren't objects. Either use NoSQL for object-like data or write a model layer with real SQL. ORM's abstraction is leaky, its efficiency poor, and the alternatives are better.
The Google+ project brings the nuance and richness of real-life sharing to software . The Google+ platform brings that nuance and richness t...
Miguel de Icaza's Blog
Set up a development environment that works for you, build native Windows apps, and create AI-powered and agentic experiences with Windows.
Ludum Dare coding secrets: continuous, thorough testing for better user experience. Learn how to level up your game development process!
Here are ten things about numerical linear algebra that you may find surprising if you're not familiar with the field. Numerical linear algebra applies very advanced mathematics to solve problems that can be stated with high school mathematics. Practical applications often require solving enormous systems of…
The bash (Readline) shortcuts worth knowing for editing, recalling and controlling commands, plus the ! and ^ history tricks.
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…