Caching with CodeIgniter: Zen, headaches and performance

CodeIgniter_Fade_Logo

CodeIgniter is already a very fast PHP framework, but that alone might not be fast enough for high traffic web applications. To get to the next level of performance you will need to implement some kind of caching.

Luckily for the CodeIgniter crowd, the framework comes with one of the fastest caching systems possible, Output Caching. Short of writing static HTML files or output caching to memory there is no faster way to serve pages.

However, if you have any degree of interactive or dynamic content, total output caching can be painful (if not impossible) to implement. Now there are other options, such as database caching and third party caching libraries, but none of them will be quite as fast as full output caching. So if at all possible that is what you should use.

Let me provide you with an overview of the caching systems available and a few of my tricks.

Read more…

How to set up a Team Fortress 2 dedicated server on Ubuntu

Team Fortress 2 Logo

I recently decided that I wanted to set up a dedicated server running Team Fortress 2, the very entertaining multiplayer first-person shooter game by Valve.  I was pleasantly surprised at how easy it was to install and configure a server that runs exactly the way I want.

All Valve multiplayer games run off of the same base server software, Source Dedicated Server (SRCDS). They build a version for Windows, Linux and Mac so you can run it on whatever system you happen to have available. In my case I had Ubuntu 10.04 LTS, which is a great operating system for any server.

This article will give you a walk though guide for installing and configuring srcds on Ubuntu. I am writing specifically about TF2 here, but much of this information will apply to other Source games such as Counter Strike: Source, Left 4 Dead, and Half-Life 2: Deathmatch.

Read more…

Must have software for your Microsoft Windows computer

Windows Logo

Microsoft Windows is my operating system of choice, for many reasons. One of the best reasons is because of the wide array of software available for it. I’ve been a Windows user since Windows 3.1, before that I used MS DOS.

Despite the many criticisms levied against the Windows operating system (many completely unfounded, many are very true) it is an excellent OS for casual users, home users, business users, gamers, software developers, graphics artists, etcetera, etcetera. Unfortunately most of the point is lost if you don’t know what software to install.

This is my personal list of must have software for your Microsoft Windows computer. When I set up a new computer every item on this list gets installed, and I can do everything that I want to do. This list is valid for Windows XP, Vista or 7.

Read more…

Will the really real programmers please stand up?

Get Real

How do you define a real programmer? There are many facets that you can use to judge someone’s skill as a programmer: ability, experience, enthusiasm, dedication, etc. But I recently read an article by RethinkDB blogger Slava, and he boils all of these points down to one item, memorization. Some people agree with this idea, but I do not, at all.

I have heard several companies bragging about having interview scripts like this, saying that this kind of testing is the most effective way to filter out unqualified applicants. However I think that the post by Slava perfectly demonstrates just how flawed this concept is. If there is one thing you should have learned in school, it’s that standardized tests are a terrible metric for gauging skill or intelligence.

But more to the point, I think that this is the wrong way to define a real programmer. Allow me to present you with my definition of a real programmer.

Read more…

The 5 types of programmers

Awesome Code

In my code journeys and programming adventures I’ve encountered many strange foes, and even stranger allies. I’ve identified at least five different kinds of code warriors, some make for wonderful comrades in arms, while others seem to foil my every plan.

However they all have their place in the pantheon of software development. Without a healthy mix of these different programming styles you’ll probably find your projects either take too long to complete, are not stable enough or are too perfect for humans to look upon.

Read more…

Page 1 of 712345Last »