Categories

Why is Windows so slow?

I’m a fan of Windows, specifically Windows 7. For the most part I like it better than OSX. I have 4 Macs, 3 Windows machines and 3 Linux machines that I access regularly.

But…I work on a relatively large project. Windows is literally an ORDER OF MAGNITUDE slower to checkout, to update and to

read more…

Microtransactions: Good or Evil?

This is just a random brain fart but I was thinking this morning, aren’t micro-transactions in games kind of scammy?

You could argue if people are willing to pay it’s not scammy since no one is forcing them to pay. It’s more the issue of value for money. If I buy GTAIV for $60 I’m

read more…

My First Game Jam

A co-worker of mine used to work in the Research Triangle area where he used to participate in some of their local game jams. Even though he’s on the other side of the country now at Google he still wanted to participate so he put out the call and 6 of us jammed for

read more…

How I Learned to Like Code Review

Code review is a development process where each time you write some code someone else is supposed to review the code before you check it in. As far as I know, most teams do not practice code review. Certainly most game development teams? I know that until I came to Google I had zero experience

read more…

Moonlighting

Or, doing things “on your own time”.

First let me make it clear “I AM NOT A LAWYER”. But…my understanding of the law in California is that if you create something related to the business of the company you work for, EVEN ON YOUR OWN TIME, it belongs to the company, not you. That may

read more…

std::vector and std::remove

You might have known this but I just found this out yesterday.

I knew std::remove doesn’t actually remove anything. The way it is used goes something like this.

std::vector int_array;

int_array.push_back(1);
int_array.push_back(1);
int_array.push_back(1);
int_array.push_back(2);
int_array.push_back(3);
int_array.push_back(4);

// call remove to remove all the elements that equal 1
// remove reorders all elements so that the

read more...

Stop Pasting Code

This topic seems almost too basic to even discuss but I’ve run into these issues fairly often so appearently they do need discussion

When coding somethings to keep in mind, how can we code both efficiently and defensively. In other words, how can we get things done faster and with less bugs.

Here’s a few

read more…

Expand Your Code

I’m not familiar with more than a few debuggers, but, the ones I use generally have an issue with single line member

read more…

Private / Semi Private Offices vs Team Spaces

What’s your experience? Lots of management books etc say that private offices are super important for software engineers. The basic argument usually goes that engineers need to concentrate and be uninterrupted. That it takes them 30-45 minutes to get “in the zone”. If they are interrupted for anything (phone call, conversation, question, distraction from the

read more…

Self Documenting Names

You’d think this would be obvious but it’s surprising how often I run into source code that doesn’t use self documenting names. Many developers will use the shortest names possible. I’m sure plenty of my old code is this way. Some of you may have asthetic reasons for short names. I’d argue asthetics should come after logic and practicality. You’re goal should be to write code fast with as few complications and bugs as possible. Code that is easy for others to understand so that they also don’t get confused and run into bugs.

Let me attempt to point out some examples of self documenting names and non-self documenting names and the problems they

read more…

Page 1 of 212