Nobody Understands C++: Part 8: Operator Overloading

There has been much discussion over the years about the usefulness of operator overloading in C++ as well as the ability to get it right.



iPhone Puzzle Game - In a Weekend

A couple of weekends ago I decided to borrow a friend’s Mac and learn how to do some iPhone development. The result of that weekend’s work was a small puzzle game.



Understanding the ChaiScript clone Function

In ChaiScript variable assignments create a copy of the object being assigned.



ChaiDraw: Programming Toy and Chaiscript Use Case

I have been working for the past few weeks on ChaiDraw. ChaiDraw is an application that’s both meant as an educational toy and as a showcase for how to effectively use ChaiScript in your application.



Nanobots Review Posted

My second adventure game review was published at Adventure Gamers.



ChaiScript Performance Updates

ChaiScript is a trivially easy to use scripting language designed for integration with C++. I have been working on it with Jon for the past several months now, and we have reached the point of doing performance optimizations and minor bug fixes.



ChaiScript: Easy C++ Scripting

Jon and I released the first release of ChaiScript earlier today. ChaiScript is designed to make it trivially easy to use scripting in your C++ application and to expose your C++ to the scripting system.



Online C++ Resources

I often mention books that I use as resources, but rarely websites. It seems, on average, that online C++ resources are lacking. However, there are a few that I have found that provide quite valuable insight.



Using colorgcc in Ubuntu (and other Linux distributions)

colorgcc is an awesome little tool for colorizing the output of gcc and g++, making compiler errors and warnings much easier to spot.



MySQL Stored Routines are setuid By Default

By default, all views and stored routines in MySQL run with the privileges of the definer, not the invoker. This is equivalent to the setuid bit in Unix. In the case where you need to provide execute permissions to stored routines (via EXECUTE) to a read-only user, it is possible to inadvertantly give your read-only user the ability to modify data. If the user has access to a stored routine that modifies data, then the user will be able to modify data.