Sunday, August 18, 2013

JavaScript - Regex to format currency

A simple way to format currency! Given a number, format it to a currency-esque format.

number.toFixed(decimalPlaces).replace(/(\d)(?=(\d{3})+\.)/g, "$1,");


Symbol (EG: R, $):
Number (EG: 1234567.50):
Decimal Places (EG: 1, 2, 3 - Probably 2):

Saturday, August 3, 2013

Handler "PHP53_via_FastCGI" has a bad module "FastCgiModule" in its module list

I found this error after installing PHP on IIS, and attempting to browse to a local .php page.

Do the following to fix it.

1.) Go to Add / Remove Programs
2.) Click "Turn Windows features on or off"
3.a.) Open "Internet Information Services"

3.b.) Open "World Wide Web Services"
3.c.) Open "Application Development Features"
3.d.) Tick "CGI"
3.e.) Click "OK
3.f) Wait for it to complete.

4.) Attempt to go to your php page again.


Wednesday, July 10, 2013

Online ASP.NET ViewState Decoder

I was looking for one of these, and it took me awhile to locate - Maybe someone will find it useful :)
Link: Here

Monday, July 8, 2013

XNB Decompressor

Whilst messing around with some XNA .XNB files, I wanted to see if I could extract any useful information from them.

A bit of googling later lead me to an archive with several files, and this!

Whilst it keeps the files as the ".xnb" format, it decompresses them allowing you to pull some info using a basic text editor :)

Thanks to the XeNTaX forum for the link :)

Tuesday, June 18, 2013

3D JavaScript is weird...

3D JavaScript is weird...

An object can ONLY be collided with if it's in the scene, even if you're only using the object collection as collision reference.
The problem is that an object can only be collided with if it's of type geometry , which normal .obj's aren't.

Now, for the fun part!

Rendering a textured object is significantly faster than rendering an object with a mesh, so, whilst you could just use textured mesh's and render those, this is slow as heck.

And how do you get past this dilemma... ?

Add both the object AND the mesh to the scene, and hide the mesh's. Since they're technically there, they can still be collided with, and since they're invisible, they don't use rendering cycles ;D

Result: 60 FPS with full collision ♥

Friday, May 17, 2013

How to block ads from websites

As you probably see below this post (If it's the latest) and on the right of the page under the "Site History", I have added some ads.

But fret not - For this post shall include how to remove ads such as these! \o/

1.) Download and install Adblock for Firefox, Chrome, or Opera - If you're using IE... Download Chrome ^_^
2.) Subscribe to the recommended filter list - Should be called 'EasyList'
3.) Enjoy an ad-free experience :D
4.) Example With Adblock Installed: Click Me :D
Note: Some of the items in the image (Pencil, Spanner, Etc) only appear for me since I own the page ^_^

Monday, May 6, 2013

Create a SQL Database using an existing MDF File

If you have an MDF file, and you need to create a SQL Database from it using code, do the following:
USE [master]
CREATE DATABASE [insert_database_name_here] ON 
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\fileNameHere.mdf' ),

Thursday, March 14, 2013

SharePoint 2010 CAML Query Nuance In C#

Whilst playing around in SharePoint with pulling data from lists (Which requires a wonderfully syntactically obscene language known as CAML Query), I found that my query simply refused to filter out data.

string camlQuery = @"
            <FieldRef Name = 'Title' />
            <Value Type='Text'>" + chosenIndex + @"</Value>
SPListItemCollection items = myList.GetItems(camlQuery);

Seems simple, enough - Right?

Not quite...

Turns out, if you include the <Query> tags in your CAML Query, the entire thing gets blatantly ignored! No errors - It just selects everything o_O

To fix this problem, simply remove the <Query></Query> tags from your statement, and everything will work as planned...

Note: Thanks to for the formatting code :D

Thursday, October 18, 2012

Identifying an unknown Device Manager device

I was recently browsing through Device Manager, and came across the following:
Unkown PCI Simple Communications Controller

Unfortunately, the properties window didn't provide much insight...
Useless Device Manager

Googling around, I found a useful tip!
If you click "Details", then scroll through the properties, one of the options will have something with "VEN_" in it.
Identifying an unknown PCI device
In this case:
VEN (Short for Vendor): 8086
DEV (Short for Device): 29C4

Simply jump along to this site, plug the DEV code in "Device Search", and *Poof* - Component Identified! (In my case, It was the Intel Management Engine Interface. Unfortunately for me, my board is End of Life, so no drivers were made for Windows 7)

For the lazy ones, copy and paste the following, and add the device code to the end :p

Good luck! \o/

Tuesday, July 24, 2012

Quickly Formatting the date in an ASP.NET Gridview

I have recently been dealing with GridViews quite a bit, and one of the things that annoyed me was the way you had to format a date.

You are normally forced to create a function in your code-behind page, and pass the date to it - Which is annoying if you only ever need to format a single date on the page. Something like the following:


<asp:TemplateField HeaderText="Date Header Here">
public object FormatDate(object input)
   string stringObject = input.ToString();
   DateTime dttm = DateTime.Parse(stringObject);
   return dttm.ToString("dd-MMM-yyyy");

This was rather annoying, as it seemed like a very roundabout way to do something seemingly small. After messing around a bit, I found a nice compact way to do it in the GridView itself!

<asp:TemplateField HeaderText="Date Header Here">

Win! \o/

On an unrelated note, getting decently formatted ASP.NET / C# code in blogspot is a nightmare >_>

Friday, July 20, 2012

Kitten Attack!

Since I really need to start posting something here (I always plan to, but it gets delayed), a little something comical to fill the space :D

Tuesday, June 26, 2012

Nikola Tesla - An Eye Opener

A real inspirational eye opener about Nikola Tesla - HIGHLY recommended for pretty much everyone :D

---> \o/ Click Me! \o/ <---

Thanks to The Oatmeal for the comic <3

Google annoyance

Whilst trying to migrate my domain to blogspot, I came across a rather annoying error:

"Another blog or Google Site is already using this address."

After a bit of Googling, I found out that, since I was using my GMail account for my site, it had already set up a Google Apps account for me, and included the Blogspot settings (By default...). So... My site was indeed used - By myself, preventing me from setting up the DNS settings correctly o_O

After deleting the Blogspot site from my Google account, I was able to successfully map everything, resulting in "" now being live! \o/ \o/

Sunday, June 24, 2012


Hi all (Well - Just you really - The one reading this :p), and welcome to my new site!

My previous site, whilst fun to play with, was primarily a location for me to learn PHP, and have a rather vague web presence. It was fraught with hosting issues, DNS issues, coding issues, and layout issues - Many which I have now learned about, and hopefully found my way around :)

For hosting, I have switched to our supreme internet overlords - Google.
They have proved reliable in the past for hosting (And everything else they do, really...), and my previous testing with them went better than expected (Significantly so - They do fantastic SEO... Which, since everyone searches using Google, is probably expected really... :P)

As I have minimal (Read: No) layout skills, I have switched to a template-based layout (Which, knowing me, I'll probably still mess up ;D), which comes with pretty widgety things, which I'll play around with (Expect totaly chaos for now :P)

Oh well - That's about it from me really. Hope you enjoy browsing around, and may the site entertain you when you're feeling bored, educate you when you feel the need for knowledge, and surprise you when you least expect it ;D