Lately I’ve gotten behind on blogging again but would like to try out some new things such as hosting all of my static content on Amazon s3. Meanwhile I’ve been very busy typing away on my lastest project which will be my first published book. Enough talk… just click on this stub to read the rest of my rant.
So What’s The Book Going To Be About?
I was contacted by a representative from Packt publishing to write a book for networking programming with C++. Although initially skeptic I mean what did I really understand about network development other than a series of blog posts I did awhile back for a game I wrote for some introductory programming class I was forced to take as a graduation requirement back in college. Anyways its been pretty interesting so far having just completed the first chapter which was around 30 pages long that also included some BSD sockets as well as Winsock2 API usage I’m looking forward to writing the later chapters that will delve deeper into game design and possibly some heavy duty graphics rendering if I try to make a 3D game. Oh and by the way I’ve bought some books for background research on the subject of network programming in C/C++ as well as game development. However, the surprising thing is that despite the number of large scale multi-million dollar games being pushed out practically daily the amount of great tutorial/instructional books on the subject is close to nil. Is game development some sort of giant trade secret, I don’t understand why companies such as Nintendo or EA games don’t try to cash in on the sheer amount of indie gamers trying to create the next big hit by releasing books about their development process.
I mean when software developers outside of the games industry hear the constant moaning and complaining about the so called stagnation crisis thats afflicting the video games industry(the media also makes it seems as if Japanese game developers are rotting corpses just because I think Final Fantasy doesn’t sell well anymore or something) and then we look at all those quirky fun interesting titles comming out of the indie game pipeline one has to wonder why the insane amounts of creative talent often found in successful indie titles doesn’t percolate up to the big time game studios with the possible the exception of Valve software (Counter-Strike and DotA both started out as mods of popular games) and a few others I probably don’t know about.
If you want my TL;DR opinion I believe the explosive growth and innovation of web development over the past decade in contrast to the so called decline of video games has been in much part due to the overall acceptance of open source practices and communication by web developers in stark contrast to the almost complete lack of open source and open communication by the game dev industry.
In short what I mean is compare the Google search results for say how to build a web app versus say some kid chooses to Google the term how to write a fps game, notice the huge variation in content and depth of understanding from the two search results. Well that about wraps up my short rant on the difficulty of finding good information on game development in comparison to web development.
Offloading My Static Files And Assets
Ok so I just signed up for a new account on Amazon S3 and I just bookmarked this dev’s amazing tutorial on how to leverage S3 for content hosting. In addition I’m going to start using GitHub Gist for all of my code samples, I have no clue why I wasn’t doing this before. Maybe it was due to me going through this phase where I had to build everything from scratch and totally “SELF HOST ALL THE THINGS” because you know I like wasting time and re-inventing the wheel every two week iteration.
As a short example of my new goal of not self hosting everything here is a preview of how all of my new code snippets will appear as; notice how I don’t have to bother with loading all the google-code-prettify css and tinkering with html code tags and getting the attributes correct for the styles and language settings.
And one more thing… I found this cool article on using CSS3 to draw images that would normally have to be done with Photoshop… more of that means less PNGs your browser has to pull down.
Increasing My Productivity As A Software Developer
Been doing some reading on programmer productivity lately and I have to say that I’ve found myself guilty of many of the pain points popular software bloggers have mentioned.
For starts CodingHorror.com mentions some things I agree with such as ideas are worth nothing unless executed which to me reminds myself of all the times where I had this “super cool awesome idea” but completly and utterly failed to actually follow through with the implementation. I mean whats the point of sitting around and talking about your so called “next best thing” when you can’t even follow through and build anything tangible.
Other than some of the excellent post on CodingHorror I’ve also taken an intrest in another software blogger whos written some interesting post surrounding programmer productivity and other things.
Aaronontheweb and in particular his post that really got to me was ten reasons why you’re failing to become a better developer. Not sure about anyone reading this but I’ve fallen victum to several of the points he mentions in his elaborate post.
Ok that wraps up what is essentially my first real blog post. What I mean by real is that up until now I’ve been thinking that I’ve been sort of pseudo-blogging. I’ve been just kinda posting random tutorials and minor updates on my status but nothing really substantial or opinionated. It was almost as if I was afraid of people striking my arguments down or calling me out on BS. Up until now I haven’t been blogging… well its time to change that. This of course doesn’t mean that I’ll stop writing technical articles but it more so means that I’m human and like most humans I have stuff I want to say and get out to the public as opposed to just going through code tutorials and linking to projects.
Bye now thanks for reading… oh yeah and Markdown lets me blog faster than writing regular HTML.