Programming
Book Review: Pragmatic thinking and learning by Andy Hunt
by Travis Johnston on Aug.27, 2010, under Books, Programming
This book should be within the top top 3 in your list of books to read this year. Andy Hunt managed to follow up his amazing first book ” The Pragmatic Programmer” with sequel that might even be more profound.
It starts off with a basic breakdown of how the different parts of the brain work and the interactions between them. Nothing revolutionary and all things you could find in other books like “How the mind works”. But then he starts to tie it back to our daily programming tasks and show how each of our different skill sets taxes the different parts and some common things we do that make it harder on ourselves. A great example was music, most programmer listen to something while coding and debugging. But voice process is handled by the left side of the brain which needs to be thinking about the code your writing. Music without words is fine as only the right side of the brain is needed to process it.
He found some research that goes against the theory that your born with the max # of brains cells and you just slowly loose them over time. For years they thought his because mice in labs never seem to gain new ones. But then someone finally wondered if environment played a factor and put the mice in a more natural and interesting environment instead of just a cage. They started growing new brain cells right away and rewiring how their mind worked. Something to think about at your current job, are you stuck in a cubical cage running the same maze every night and not growing your brain?
He also shows how programmers really need to not neglect the right side of their brain as it is instrumental for tasks like debugging which we think are left brain but really not. We have all had that moment were on the drive home we think of the solution to a problem that we could not get all day. Its not that we did not know the solution all along it’s just the right side of our brain was blocked by the left all day and could not give us the answer. Learning how to get answers from the right side quickly instead of at the pace of 1 per night is very important and he does a great job of explaining how to help this process.
That is just the tip of the iceberg of all the info in “Programmatic thinking and learning”, I could go on for pages about all the things I learned. Its a great book that ever programmer should read twice.
Interviewing with two game console dev support teams
by Travis Johnston on Jul.27, 2010, under Graphics, Programming
Some time ago I interviewed at Sony based on the recommendations of a friend who had joined their R&D department and was really loving his new job. Their R&D department at the time only need a hard core graphics specialist but they had some other positions that they wanted to interview me for. So I took a day and went to see what things were all about at Sony. Most of their jobs were doing some sort of lead tech support for other developers so I expected I would get grilled on:
- Tech & coding skills
- Customer support
- Documentation
- Time management skills
After an entire day of interviews I had not had any questions on anything that was not tech & coding. In fact many of the questions were so esoteric that I do not believe they were really looking for a programmer but a PS3 manual with a better personality.
eg. Interviewer: How many instructions would this take on the cell processor
float temp = (bool) 0;
Me: Not sure, why would you ever cast a bool to a float?
Interviewer: You wouldn’t, but if you did how many instructions would it be?
Me: Not sure, on the PS2 they had an Zero register so it would have been 1 instruction but since your asking I am sure that is no longer the case.
Interviewer: See he does not know.
This in my mind clears up a lot of stuff, if they do not value customer support, documentation or coding samples to even ask about it in a interview then it is no wonder they are so badly know for the poorest developer support in the industry.
Contrast that to the interviews at Microsoft I recently went through for similar positions. The first half of the day was all about tech and coding but they asked relevant questions about algorithms, error checking, comments and architecture. Second part of the day was all about dealing with customers, creating white papers, writing good sample code and other tasks. Last part of the interview was about what makes great games and user experiences, tech trends and how it will shape the games of the future and last how to communicate and let people know how to take advantage of it.
Perfectly clear why in one generation Microsoft has taken over the console market, they understand what is real dev support is and know that supporting the dev teams has to be the one of the core’s pillars in getting the best games.
Googles new site performance lab is pretty good
by Travis Johnston on Dec.28, 2009, under Lessons, Programming, Testing
Was going through googles webmasters tools and noticed they have added a new page in their lab section called Site Performance. Clicking on it I got some bad news about my website.
“On average, pages in your site take 3.7 seconds to load (updated on Oct 29, 2009). This is slower than 60% of sites.”
Wow that is not so good. So I installed google’s Page Speed addition to the Firebug pluggin for Firefox. This is a great tool by google as it shows a great ordered list of worst offenders. Then it goes beyond that and gives you estimates of how much faster things could be if you gzip compressed your code, minimized you DNS look-ups, adjusted your image cache dates and a bunch of other techniques.
My offenders were not quite what I expected.
- 248k of Java download
- 7 DNS look-ups
- 243k of image transfers
Tracking it all down I found out Google Maps was the source of my problems. Kind of ironic; I need new google tools to figure out that google was the screwing me in the first place.
It loads in all of Java and not just a stripped down lib, then it contacts another site to convert your coords to what it needs, contacts itself (google) to look up your map and then send you a image of where you are.
Hmm, those little maps on the bottom of your page are cute but not worth that, gone.
The only thing I wish I could do at the Performance Site is request it to be re-ran now that I am done optimizing. In general though very cool tools and I hope it gets out of the lab and becomes part of the webmasters tool suite soon.
Its time to make a better Poker Tracker
by Travis Johnston on Jul.21, 2009, under Programming
This will be a good home project as it will get me to work with a lot of different technologies and it feeds into my second passion of playing poker.
Here is the problem with the current technology of poker trackers:
- Hud displays can not show much data and is of very limited value.
- They do not distinguish between how someone plays against you vs other players.
- They only break stats down by starting hand types which is very limited.
- They do take into account position but not the situation.
- They give some betting / folding averages on each street but do not take into account the texture of the board
- They do not account for the hand held at the time of the action, just the final hand on the river.
This limited information helps you play against someone a little bit and may even help you tune your game a little bit. You can use it to pick off if they raise to much pre-flop or c-bet to much on the flop. But it does not give you any idea if they just smooth call with AA pre-flop or what a min-raise on the turn means.
Sadly that is the information that makes you a ton of money and you really need to know to dominate someone.
So now I have to write a poker tracker that will database hand histories and allow me to create all the situational queries I want to dissect any one’s game. I like it, I already have a Texas hold em engine in C++. So I just need a c++ importer and situational tagger, a mySQL back end and most likely a c# front end.
The poker sites have made it harder to data mine on players as most of them no longer send you hand histories to tables that you are not sitting at. But I should still get enough information if playing multiple tables at once to quickly home in on players I run into often.
For more poker info see my other blog at Darkened Poker
Airtight is looking for programmers
by Travis Johnston on Apr.17, 2009, under Interviews, Programming
You have experience in Unreal Engine, effects programming or combat systems and would like to work on a AAA title with a great publisher, we would like to talk to you…
Posting…
Website…
