Online advertising networks: How Phorm plans to overtake Facebook in the race for online privacy invasion supremacy
As you might have seen from the homepage, I used to work in IT security, I also avidly follow security bulletins and news, so I like to think I’m pretty well-versed in how the internet works and how exceptionally poor our level of online privacy really is.
Is internet privacy really that bad?
Email address harvesting, spyware, desktop software that phones home, retention of personally identifiable data by insecure sites and such aside, my disgust with user tracking and profiling for the purpose of serving targeted advertising has grown over the years.
I remember being disgusted when I learned that Google stores all your searches with an anonymous cookie that expired in 2020 (this has now been reduced to 2 years lifetime, which is still a disgrace in my opinion). Incidentally, search engines like Clusty – which queries other engines including Google – will serve you search results without storing them. Google has, incidentally, never stated why the search keywords are stored or what they are used for.
I remember being disgusted when some ISPs were threatened with action if they didn’t packet sniff or use stateful analysis for monitoring peer-to-peer file sharing network traffic. A lot of P2P traffic is surely in copyrighted material, but since when did ISPs have the right to wiretap everyone’s connection by default? That in itself is illegal in most countries. It’s equivalent to recording every phone call you make and scanning it for key words to profile your activity.
I remember being disgusted when Gmail was launched and it was revealed that the service scans the contents of emails you write for key words to target advertising at you. More than enough reason never to use Gmail.
Recently I met a fairly naive person on MSN (hey, you have to be naive to use MSN in the first place right, or is that paranoid? You decide :P). I told them in explicit steps how, just from my MSN username, they could obtain my full name, address and cellphone number, along if they want, with my occupation and personal interests. If you don’t know how, I won’t tell you, suffice to say it takes less than 5 minutes to do online and is free. People don’t understand stuff like this, and it’s worrying (before you ask, my MSN profile is completely blank).
Why Facebook is bad for your privacy
I remember being especially disgusted about Facebook. Its privacy policies are awful in many ways, including but not limited to the fact all your interests, profile text, and basically any information you give them whatsoever are used to profile you for target advertising purposes (I know – I’m a hypocrite – I have a paid advertising campaign on Facebook for our radio station, and the targeting is much more accurate than Google AdSense). Facebook’s 3rd party application system is a disgrace. Your average user will install any Facebook application by default, giving the 3rd party carte blanche to transmit more or less any of your Facebook profile data to any 3rd party web site or server without your knowledge. Even something that seems innocuous like a quiz application can do this, you’d never know. The much-maligned and ill-fated Beacon system was the nail in the coffin for Facebook’s privacy reputation to date. Beacon was to allow Facebook to monitor purchases you made from initially 30 partner sites (some very major online retailers were included in this), record the information for themselves and tell all your friends what you’ve been buying. Beacon was mandatory for Facebook users when it was first introduced, now you can opt-out – if you are skilful enough to wade through the privacy options.
Facebook is easily the most invasive use of user profiling we’ve seen so far online. Really it’s pure genius from a business perspective. However, we now have a new threat to our privacy that is a whole magnitude higher than anything we’ve seen before. It works at the network level in conjunction with the ISPs themselves, analysing everything you do and everywhere you go online, without your knowledge, and whether or not the web sites in question have chosen to participate. The name of the company developing this technology is Phorm1.
How advertising networks work
All online advertising networks – including Phorm – work roughly like this:
- Advertisers who want to sell you products sign up with the network (such as DoubleClick or Google) and describe in key words what kind of products they are selling. The key words eg. “music”, “graphic novels”, enable the advertising network to categorise the ads so they can be served to people with matching interests.
- Web sites who want to increase their revenue sign up to serve ads from the network. The web site owners also provide key words to describe the kind of web site they are running. The web site now becomes a ‘participating site’, and users who visit the site will have their visits recorded on the advertising network, with the key words being used by the site owner noted as part of your interests, if you visit the site often enough.
The technical process behind this is quite simple (this is valid for all advertising networks except Phorm):
- The first time you visit a participating site, the advertising network will assign you a random number for “non-peronsally identifiable” identification purposes, and store it as a cookie in your web browser.
- Each time you visit a participating site from then on, the ID cookie is sent back to the advertising network, the network notes which site you’re on, and according to its targeting methods, increases the weighting of your personal interests according to the key words specified by the participating site owners.
- Once sufficient profiling information is collected about your surfing habits, next time you visit a participating site, ads in the visible ad space on the site will be selected by comparing the key words of the participating sites you visited against those supplied by advertisers. So for example, if you visit a lot of sites with the “books” keyword, and Amazon has signed up to run ads in the “books” channel, then next time you visit a participating site (whether it’s about books or not), you might get an ad for Amazon.
- The profiling and targeting process continues until you delete the cookie, at which point all the profiling information becomes dis-associated from your future online activity. Next time you visit a participating site, you will be assigned a new cookie with a new random ID and the process will start over.
What is the solution to prevent being tracked by advertising networks? Turn off 3rd party cookies in your web browser, or set the browser to delete cookies when you close it.
If you’re wondering how this fits into social networking sites like Facebook, the process is essentially the same except the users are naive enough to provide all their personal interests directly and explicitly to the advertising network (Facebook) itself, and all advertising occurs only on Facebook’s site, so no cookies are needed and the information provided to the advertisers is much more accurate. Remember that you have also told Facebook who your friends are, and what their interests are, and who their friends are etc. so the potential for targeting on Facebook is really quite insipid and much more dangerous to your privacy than non-social-networking site profiling. You can’t turn off user profiling on Facebook. The only way to do that is not to open an account (and BTW, Facebook does not provide you with a way to delete your account from their servers, only to “deactivate” it).
Limitations of current advertising networks
There are some important restrictions – for technical reasons – about what advertising networks can and can’t do. Specifically:
- the targeting process is made possible only by the behaviour of the user’s web browser (storing a cookie with a number that identifies you to the advertising network, which is sent to the advertising network each time you visit a participating site to let them know you’ve been there). Without cookies, there is no way to identify you and no profiling can take place.
- the actual text content of the participating sites you visit – or individual pages within such sites – is ignored, only the category of the site as described by the site owner to the advertising network is used as an indication of your interests when profiling you as a result of visits to participating sites. It doesn’t matter which specific pages you visit, or what specific actions you take; you will be profiled the same way regardless of whether you spend 5 seconds on the homepage or 1 hour filling out forms and interacting with people and pages on the site.
- no information is transmitted to the advertising network other than the cookie with your identification number and the URL of the site you visited (which the advertising network then looks up in its database to find the profiling keywords for that site).
In particular you’ll notice that – disgraceful though it is to anyone who cares about their privacy – this is a software-only solution where – like your cellphone provider – transmissions between you and the web site you’re visiting are funnelled directly between each other with no 3rd party redirection or interception. The web sites who are allowing you to be tracked have explicitly made this agreement with the advertising network, and you can disable tracking at any time (except on Facebook and similar closed-economy sites) by deleting a cookie.
Phorm1 have developed two products – Webwise and OIX (Open Internet Exchange) – which work together to target advertising at you while you surf. Webwise profiles your surfing habits, while OIX uses the information gathered by Webwise to serve advertising relevant to your perceived interests on OIX-participating web sites. This is not much different to how other advertising networks such as Google and DoubleClick work: all the systems track which web sites you visit, all of them build up a profile of your interests, and all of them match up your interests with their advertiser base to select appropriate ads to show you.
The OIX part of Phorm’s service works exactly as described above in a similar manner to Google and DoubleClick; however the way you are profiled for your interests in the first place (the Webwise product) is completely different and should be of grave concern to everyone.
Webwise does not rely on sites’ willing participation in Phorm’s advertising network. Instead, Phorm wants to install hardware at your ISP which will intercept and re-transmit every page request you make and every page you receive to this new hardware, which will scan the entire contents of each page and use the most commonly found words to profile your interests. Phorm has in its PR leveraged the convenient loophole that their profiling software runs on ISP-owned hardware to state that no page content or personally identifiable data is ever sent to Phorm’s servers – but there is really little meaningful difference if the ISP hardware is running software created by Phorm anyway.
Let me re-iterate: Phorm will analyse the entire text of every page you view to profile you. Phorm’s software will receive a copy of every page you visit, including pages only accessible when you are logged on to particular sites*. Phorm will see the entire contents of most webmail, all forum sites, banking, shopping, social networking and yes, even porn sites you may choose to visit. Any ISP that makes a partnership agreement with Phorm will pump everything you do on the web directly into Phorm’s advertising system. This is completely transparent and will happen without your knowledge, unless you have read your subscription agreement properly.
I have great faith in the country I chose to make home (Norway) – I wouldn’t live here if I didn’t – to tell Phorm exactly where they can go with this idea. Lesser-developed democracies may not be so fortunate. In the UK, the top three ISPs who harbour 9-10 million subscribers between them have already announced they will integrate Webwise into their networks. That means 9-10 million UK broadband users will shortly be having all their web traffic pumped directly into Phorm’s advertising system. Phorm is also in discussion with many major US ISPs about deploying the same system there.
Interception of traffic intended for a specific recipient is illegal in some territories, including in Norway, as it constitutes an illegal wiretap. Phorm’s system provides for exactly that.
* except for pages encrypted with SSL
Phorm technical details (skip this section if you don’t care how it works)
Each user who subscribes to a Phorm-enabled ISP is assigned a random ID known as the tracking ID, which allows you to be tracked by Phorm without – in principle – revealing your actual identity.
Phorm will provide user tracking hardware and software known as the profiler to your ISP, which will be installed and run on your ISP’s closed network, independent of Phorm itself. When you request a web page, your request will be intercepted by the profiler and redirected there instead of the actual web site. The request will typically include the URL of the page you want to view, your Phorm tracking ID, the User-Agent (web browser) you’re using, and potentially other information such as the time of the request, your IP address (which may be personally identifying), all the cookies relating to the site you’re visiting (which may contain personally identifying information) and so on.
The profiler will process the request for the purpose of profiling you (see next paragraph), and redirect your browser to the actual web site you requested. When the page is retrieved, it is again intercepted by the profiler, the entire contents scanned for profiling (see next paragraph) and the page is then finally returned to your browser and displayed. The process, therefore, is completely transparent to the user, there is no evidence of any communications interception at all.
The page requests and contents are (according to Phorm) processed by the profiler as follows: all personally identifiable data is stripped from the page, all form fields are discarded, and the most commonly repeating words on the page are ranked to evaluate what the page is about. The rest of the page is discarded. Your Phorm tracking ID, the most common word list and the current time are then sent to Phorm’s servers (outside your ISP’s network) for keyword profiling, and stored in Phorm’s database. It is important to realise therefore, that all of the page contents processing and filtering/sanitising of data is done within your ISP’s network, and the page contents and potentially sensitive data are – supposedly – never seen by Phorm at all. Phorm only sees your tracking ID, common word list and timestamp for each page you visit. The profiler does not save any data to disk, all data is discarded as soon as it has been turned into a keyword list and sent to Phorm’s servers.
Phorm was audited by Ernst & Young in May 2007, and more recently in February 2008 by 80/20 Thinking Ltd., and both reports state that Phorm’s software does meet all the privacy and data retention claims made by the company. Phorm is under long-term review by these companies, although in my searches for 80/20 Thinking’s company web site (18th March 2008), all I could find were references to newspaper articles about Phorm being audited by them, interestingly enough.
Only HTTP port 80 is intercepted by Phorm, so no email, Usenet, IRC, instant messaging or other such sessions are hijacked, nor are encrypted web pages. To ensure things like streaming audio and video continue to work properly – and other protocols layered over HTTP – Phorm ignores all data except those from specific User-Agents, such as Internet Explorer, Firefox/Mozilla and Opera.
Why I have a problem with Phorm
There are obvious moral and in some cases legal implications of listening in to someone else’s communications. When you make a phone call, you don’t expect every word you or the person on the other end of the line says to be scanned to profile your interests for marketing purposes, do you? How would you like it if a stranger was looking over your shoulder watching everything you do on the web, every time you used it, and taking notes about your surfing habits at the same time then selling them to advertisers? What we’re talking about here, is tapping millions of people’s internet connections and funnelling all the data to a 3rd party, private sector company, probably in a different country to where you live which will be subject to different privacy laws. You as an individual have basically no control over where the data ultimately goes, what is retained, how long it is retained for or how it is used.
The issues at stake are privacy, accountability, trust and informed consent by all parties. Here are some reasons why I think Phorm is not going to be particularly good at any of these things.
- “Increased privacy” – Phorm has done much trumpeting about the way the data is handled and how the page data is discarded in memory once used (see above), claiming that this actually increases the user’s privacy. Of course, a database of your interests is still kept, and in reality, it is not possible to reduce the risk of privacy invasion or identity fraud by storing more information about a person. When a server stores information that I like chocolate cookies, whether it’s online or on a floppy disk, my personal privacy is reduced more than if the data was not stored at all.
- Opting-out relies on a browser cookie – Although it hasn’t been made entirely clear yet (18th March 2008), it seems that opting out of Phorm tracking will require a cookie to be set in your browser. In that case, what happens when you clear your browser cookies? You get opted in to Phorm again. What happens when you reinstall Windows? You get opted in to Phorm again. What happens when your spyware software detects Phorm cookies and removes them? You get opted in to Phorm again. This scheme is especially suspect because unlike Google and DoubleClick, Phorm runs at the network level, so there is really no need to involve the browser or the user’s machine in general at all. A simple yes/no setting in the subscriber database for each ISP user’s account should allow the user to opt-in or opt-out permanently. Using a cookie to opt-out makes it far too easy for unwitting users (ie. most users) to opt-in again without their knowledge.
- Opting out doesn’t prevent your data being sent to the profiler – It seems the implementation of Phorm may vary from ISP to ISP, but in the default architecture proposed to date, opting out of Phorm does not stop any of your page requests or page contents from being sent to the profiler. Phorm states that data received by the profiler for opted-out users is ignored completely and discarded, no content analysis or keyword creation is done, and no data is forwarded on from the ISP to Phorm’s own servers. Which begs the question: if what they say is true, why do they still need to intercept the data of opted-out users in the first place?
- Anonymisation is too weak – The concept that companies can track everything you do online yet somehow not store any personally identifying information about you (such as your name, address, phone number etc.) is an old one, and it works simply by replacing any such information by a randomly assigned number which essentially identifies the precise browser/PC you’re using, but not the person using it. The assumption is that it’s usually the same person using a specific machine, so being able to identify the machine is good enough. Unfortunately, in some cases it is not too difficult to de-anonymise the data, and if a profile is detailed enough, it might be obvious simply from looking at the profile information who the person is. With a network-level system like Phorm, we have a particularly dangerous situation. Phorm knows some tracking IDs and which pages those users visited and when. Your ISP knows which pages you visited and when, and your IP address and personally identifying subscriber details, and they might know your Phorm tracking ID too. Some part of your ISP’s network is connected to Phorm’s profiler within that network. Some part of Phorm’s profiler at your ISP is connected to Phorm’s advertising database servers, which are on the internet. An accident, hack, or disgruntled employee, is just a matter of time (or, if you prefer, history repeats itself). The anonymisation used by Phorm is woefully insufficient if it works as described by the company, and as an engineer I do not really see a truly secure way to compartmentalize the ISP’s knowledge and Phorm’s knowledge sufficiently to mitigate the risk of real individuals being linked directly to their profiling data sooner or later. See example press coverage of a similar thing happening at AOL9.
- Webmail scanning – Do you use a webmail service? Beware, Phorm may read your email. Phorm has a blacklist of major webmail sites such as hotmail and yahoo which it will not process, however no such list has been published to date, and – while I tend to believe them – a blacklist system is completely ineffective for this kind of problem anyway. Thousands of smaller webmail sites exist. I run a webmail service for our radio station; does Phorm have my webmail site on their blacklist? Thought not.
- Search keyword scanning – Do you use a popular search engine like Google or Yahoo? Beware, Phorm will read all your search queries using special analysis tools they have developed specifically for monitoring your activity on those sites. You almost have to feel sorry for Google: they have spent an enormous amount of time, effort and resources dominating the search engine market so they can mine your searches for profiling data, only to have Phorm come along and mine exactly the same data for free, with no effort to provide a useful service at all.
- Form field worries – Phorm state they will not analyse the contents of any form fields you submit, with the search-engine-related exceptions above. If you use forums, Facebook or any other social-networking site, this should not make you feel any better. Facebook, for example, displays Wall posts, user profile text, private message exchanges etc. as a normal part of the web page which will be scanned by Phorm accordingly. You almost (calm down, I said almost) have to feel sorry even for Facebook: 55 million users at the start of 2008, huge expenses in research and development, now Phorm can come along and mine all of Facebook’s user data for free too.
- “Intended recipient” issues – By processing all web site content, Phorm assumes implicit consent by the site owners for their content to be processed by someone other than the individual requesting the page. Aside from the fact many site owners will be infuriated by this in the first instance, pages that can only be served to a user once they login, pages that aren’t linked to elsewhere on the web (private documents sent to colleagues via direct URL links), and pages whose material is “not for commercial use” obviously do not confer implied consent. A simple non-consent disclosure such as the one used by BadPhorm5 – “RIPA NOTICE: NO CONSENT IS GIVEN FOR INTERCEPTION OF PAGE TRANSMISSION” – is enough to make 3rd party scanning a criminal offence in some territories. In other territories, lack of explicit non-consent does not infer implied consent, which means Phorm would have to obtain permission for each individual site whose pages it wants to process. I would certainly deny permission for my and my clients’ sites to be processed by Phorm if such a facility was made available – which of course, it isn’t.
- “Relevant” advertising – Phorm claim in their interview with The Register2 that what people hate most about the internet is being bombarded with irrelevant advertising. In my experience, what people really hate most about the internet is being bombarded with any advertising at all, whether it’s relevant or not. When I want to buy something, I go to the shops. When I want to order a product online, I go to one of my favourite shopping sites, or use a search engine to find online stores selling the kind of product I want to buy. At no point do I ever go online to look at the ad space on sites profiling me to see if there is any advertising that is relevant to my needs on that particular day. Advertising is already pervasive in all other forms of media, it is even pervasive in our homes, we are advertised to every time we open the bathroom cabinet to find our toothpaste. Online advertising wastes screen space and bandwidth (which means it indirectly pushes up the cost of internet connections), it is not welcome on my desktop. The internet is in fact the only media where people actually pay to receive advertising (either directly via call/connection costs or indirectly by the volume of ad traffic pushing up the global demand for bandwidth vs supply), which makes it particularly insipid and unwelcome.
- “Reduced” advertising – Phorm asserts that by opting in to their system (or failing to opt out as the case may be), you will actually see less advertising. This claim is predicated on the very far-fetched assumption that a significant proportion of existing web sites will not only dump Google, DoubleClick and other advertising networks they currently use to switch to OIX, but that they will also dedicate less ad space to OIX than to their previous advertising partner. The much more likely scenario is that the internet will continue as now, and we will receive the same amount of advertising as before, plus the OIX ads. Even if Phorm manages to corner the online advertising market and eradicate Google, opted-out users are hardly going to suffer: they will see the same amount of ads as opted-in users, except they won’t be targeted. As you can see, the idea Phorm will somehow reduce the amount of advertising on the web is highly untenable.
- Multiple users, one PC – Phorm were asked in an interview with the BBC6 how they would deal with the problem of multiple users on a single PC, when faced with conceptual examples such as person A in a household planning a surprise party or searching for engagement rings online, and then allowing person B to use the same PC and for that person to suddenly see wedding-related adverts, arousing suspicion or spoiling the surprise. Phorm’s two unconvincing responses to this were: “Most people have a separate login if they are sharing a computer”, and “If the person really wants to hide a surprise, they can switch webwise off!”. Well, I think most of us know that in reality, most Windows PCs have a single logon that everyone in the house uses, because people don’t know how to setup user accounts. I think we also know that most people aren’t going to remember or know how to switch Webwise off for such a purpose, nor would it be convenient for the average person to do so. Their argument is a compelling reason to store the Phorm tracking ID in an opt-in cookie – which would be different from user account to user account – rather than at the ISP, however on the whole, the technique won’t work anyway because most people in a household share the same account.
- Advertising channel categories – Phorm’s advertising partners will be ascribed into so-called “channels” depending on the nature of their ads. The channels are basically just a long list of product categories, so if you are often profiled with the “books” interest keyword, you might be served ads from one of the advertisers in the Books advertising channel, and companies like Amazon will be placed into the Books channel so that the advertising is, ahem, “relevant”. Concern has been expressed that some categories may be more sensitive to profiling than others, at least if the information fell into the wrong hands. Sir Tim Berners-Lee (the inventor of HTML 1) put it eloquently in an interview with the BBC7: “I want to know if I look up a whole lot of books about some form of cancer that that’s not going to get to my insurance company and I’m going to find my insurance premium is going to go up by 5% because they’ve figured I’m looking at those books,”. Phorm have stated they will not profile any adult-related, gambling-related, medical or certain other kinds of words, however no specific list of words to be included or excluded has been published. For transparency, I think most people would like to see a complete list of channels and keywords that will be assigned to each channel. Needless to say, even if such a list is provided, it is certain that some channels will be sensitive to some groups of people.
- Phorm is the outgrowth of a spyware company – Phorm’s CEO Marc Burgess used to run a company called 121Media, responsible for PeopleOnPage, a spyware toolbar used to profile your surfing habits and generate targeted advertising pop-ups on your desktop. Phorm were quick to point out in their interview with The Register2 that PeopleOnPage was infact adware rather than spyware, and that they closed the company – reported to be netting some millions of dollars in revenue annually – because people were “having trouble telling the difference”. Well, Marc, if you’re reading this, that’s because there is no difference except in the minds of marketeers. Both classes of software track your online activity, both phone home with the results without the user’s knowledge, and neither provides a useful service to the user. Security vendors call both classes of software malware. Windows Defender calls them Potentially Unwanted Programs. Questions have to be asked about the trustworthiness of a company whose directors come from such a background.
It should be noted that Phorm are not the only company to come up with this idea. Their main competitor NebuAd4 is embarking on a similarly insidious project.
Phorm exists because short-sighted marketeers and misguided consumers created a market for them. Marketeers drove price competition in the broadband ISP market to near or below zero profit-margin levels. Consumers bought these products and expected the prices to remain the same or lower, and their willingness to pay the true price for their connections eroded.
Such a situation is not sustainable. The ISP either has to raise its prices, go bankrupt, or seek an alternative source of revenue. By dividing its share of advertiser pay-per-click revenue up with its partner ISPs, Phorm for the first time provides ISPs with the ability to monetize every piece of web traffic flowing through their networks (normal ad networks like Google keep most of the ad revenue for themselves and pay a small portion of it to web sites providing them with ad space).
So, my first advice is, if you are unhappy about your data being sold off to help your ISP break even, switch to an ISP which charges you a realistic price for the connection you’re getting, which yes, means, pay more for your connection. The money goes towards your line, bandwidth and the employees’ salaries, if you pay them the fair rate, they won’t need to supplement their income in this kind of way.
On the subject of Phorm specifically, listen to both sides of the story. Read The Register’s interview with Phorm2, and the BBC’s interview with Phorm6 also.
The Phorm Files3 links to many articles and press coverage regarding Phorm, including information about which ISPs are already involved, how security vendors are planning to respond to Phorm, opinions from FIPR and other research and regulatory bodies, and more.
Further information can be found at BadPhorm5 which is an independent site covering all breaking news regarding Phorm.
Finally, if you’re unhappy with what you’ve learned and are a UK citizen, I would urge you to sign the government petition regarding Phorm8 as soon as possible.
Feel free to leave your comments and opinions below.
1 – Phorm company web site
2 – The Register interview with Phorm’s Marc Burgess and Kent Ertegrul
3 – The Register: The Phorm Files
4 – NebuAd company web site
5 – BadPhorm.co.uk
6 – Phorm interview with BBC News
7 – Sir Tim Berners-Lee interview with BBC News
8 – UK Government Petition to Stop ISP’s from breaching customers privacy via advertising technologies
9 – New York Times Technology: A Face Is Exposed for AOL Searcher No. 4417749
- UK Police Investigate Alleged Phorm Lunch With Officer (yro.slashdot.org)
- Online privacy in the modern world (epiphanysearch.co.uk)
- Change to Twitter account
- The Future of my Blog: I’m Still Alive
- LightSwitch for Games Part 4: OData Access from C++ Client Code with the C++ REST SDK
- How to statically link the C++ REST SDK (Casablanca)
- Simple2D 1.13 now available
- Final Wishes: Crowdfund Update
- Dying with M.E. as a software developer
- 2D Platform Games Part 12: A Framework for Interactive Game Objects
Top Posts & Pages
- C++11 / Boost: Multi-threading - The Parallel Aggregation Pattern
- Coding Challenge: Write Asteroids in 10 hours or less
- C++11: Using std::unique_ptr as a class member: initialization, move semantics and custom deleters
- Printing numbers in binary format in C++
- 2D Platform Games Part 1: Collision Detection for Dummies
- Tutorial: How To Fix WMI Corruption
- XInput Tutorial Part 1: Adding gamepad support to your Windows game
- PHPCron: Running scheduled tasks from PHP on a web server
- How to statically link the C++ REST SDK (Casablanca)
- C++: Polymorphic cloning and the CRTP (Curiously Recurring Template Pattern)
- Blog Updates (10)
- Bluetooth (2)
- Filesystems (3)
- NTFS (3)
- IT Industry (3)
- Learning To Code (2)
- Media (5)
- Operating Systems (15)
- Programming (67)
- Science (5)
- Software (18)
- Video Games Industry (57)
- July 2015 (2)
- April 2014 (2)
- March 2014 (2)
- January 2014 (3)
- November 2013 (3)
- October 2013 (1)
- August 2013 (11)
- July 2013 (2)
- May 2013 (3)
- April 2013 (1)
- March 2013 (4)
- February 2013 (11)
- January 2013 (14)
- October 2012 (4)
- September 2012 (7)
- June 2012 (3)
- May 2012 (12)
- October 2010 (3)
- September 2010 (2)
- June 2010 (10)
- May 2010 (6)
- April 2010 (16)
- March 2010 (11)
- February 2010 (4)
- October 2008 (2)
- September 2008 (2)
- March 2008 (2)
- February 2008 (2)
- January 2008 (3)
- December 2007 (1)
- September 2007 (3)
- August 2007 (1)
- July 2007 (1)
- June 2007 (2)
- April 2007 (1)
- February 2007 (3)
- November 2006 (1)
- October 2006 (3)
- September 2006 (1)
- July 2006 (3)