Counting number of records – Int or UInt?

Posted by Monty on December 14th, 2011

Lets say, you wanted a count for the number of records/customers/orders/Whatever else you have in your database/rdbms/nosql database/file system, how would you achieve that? 99% of the time, you would use something like this:


public int CountNumberOfRecords()
{
// Fancy code goes in here that does what it should do.
}

But, is using int the right thing to do? Int(32) has possible values from -2,147,483,648 to 2,147,483,648 – do you really need the negative? I don’t know about you, but I never have a negative number of rows in my database!

What you should be using is :


public uint CountNumberOfRecords()
{
// Fancy code goes in here that does what it should do.
}

What is the difference I hear you ask? Well a UInt (UInt16, 32, 64) is an Unsigned Integer – it does not contain a “bit” that can be used to signify that the number is a positive or a negative – the max value now is 4,294,967,295 – double!

The only issue with using a uint is that it is not CLS compliant – in other words, other languages that use the .net framework might not support UInt, so you might have to decorate your methods with [CLSCompliantAttribute(false)]

Error 2 when starting Windows Event Log

Posted by Monty on May 3rd, 2011

… On Windows 7

If you have the above error (Cannot find the file specified) when trying to start the windows event log, then have no fear, for I may have the solution. If you have tried everything else online, then try this fix.

Open up regedit, and delete the following key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Parameters

Basically, a hotfix (not sure which) malforms that registry key, rendering the event log useless.

Helicopter on the M25

Posted by Monty on March 18th, 2010

Well, no one seems to believe me, so here are the pics.

Slowness with Windows 7

Posted by Monty on February 16th, 2010

Well, recently I have been having trouble with my Win7 installation. I was getting very frequent slowdowns (every 2-3 seconds), but only if I used the hdd, if I was playing around with something in memory, then it was perfectly fine. Playing games could get rather frustrating because of the slowdowns, but once everything was loaded into memory, it was ok

After some research, and getting incredibly pissed off with my machine, to the point where I was convinced it was a hardware fault after disabling a bunch of services, updating all the drivers, antivirus, all the extra faff in windows, in one of my moments of desperation before I waved bye bye to my machine, I had a look in Resource Monitor, you know the little button located in the Task Manager’s Performance tab?

Well under there, I noticed that a certain process was hammering the hard disk, wmpnetwk, and whenever it seemed to hit the hard disk, I would get a slow down. After some research on the all mighty tinterweb, its the Windows Media Player Network Sharing Service, basically for streaming your stuff to other pc’s and/or Xbox etc, and from what I read online, that if it comes across a corrupted (or half downloaded .avi’s which I have loads of, after trying to convert a few vid’s for my friends), it tends to hammer the hard drive. Once I disabled this service, my PC was lightning fast!

Javascript – Encoding

Posted by Monty on December 15th, 2009

The escape() method does not encode the + character which is interpreted as a space on the server side as well as generated by forms with spaces in their fields. Due to this shortcoming and the fact that this function fails to handle non-ASCII characters correctly, you should avoid use of escape() whenever possible. The best alternative is usually encodeURIComponent().

escape() will not encode: @*/+

Use of the encodeURI() method is a bit more specialized than escape() in that it encodes for URIs [REF] as opposed to the querystring, which is part of a URL. Use this method when you need to encode a string to be used for any resource that uses URIs and needs certain characters to remain un-encoded. Note that this method does not encode the ' character, as it is a valid character within URIs.

encodeURI() will not encode: ~!@#$&*()=:/,;?+'

Lastly, the encodeURIComponent() method should be used in most cases when encoding a single component of a URI. This method will encode certain chars that would normally be recognized as special chars for URIs so that many components may be included. Note that this method does not encode the ' character, as it is a valid character within URIs.

encodeURIComponent() will not encode: ~!*()'

Shamelessly stolen from xkr.us – This can very well bite you on the ass.

Disable Warning As Error on WEBSITE project

Posted by Monty on December 8th, 2009

Well after spending half an hour looking on the net on how to disable WarningAsError on a WEBSITE project, everyone kept saying the same thing – edit the project settings – WELL A WEBSITE PROJECT DOSENT HAVE PROJECT SETTINGS!

Anyway, here is the solution, you need to edit your web.config :

<system.codedom>
 <compilers>
 <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="3" compilerOptions="/d:DEBUG;TRACE">
 </compiler>
 </compilers>
</system.codedom>

Should turn into the following:

<system.codedom>
 <compilers>
 <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="3" compilerOptions="/d:DEBUG;TRACE">
 <providerOption name="WarnAsError" value="false"/>
 </compiler>
 </compilers>
</system.codedom>

The line you want in question is:

<providerOption name="WarnAsError" value="false"/>

And this baby will make it work! Enjoy!

Clearing FK’s and tables from database

Posted by Monty on July 14th, 2009
SELECT 'ALTER TABLE ' +  OBJECT_NAME(f.parent_object_id) + ' DROP CONSTRAINT [' + f.name + ']' FROM sys.foreign_keys AS f INNER JOIN sys.foreign_key_columns AS fc ON f.OBJECT_ID = fc.constraint_object_id
union all
SELECT 'DROP TABLE '+ name FROM dbo.sysobjects WHERE (type = 'u') and name != 'sysdiagrams'

Curiosity

Posted by Monty on June 28th, 2009

Iv recently come across this rather … strange custom in the US navy, where an aircraft would land at the wrong aircraft carrier during a war – either because it got disoriented, or because it ran out of fuel (or, the pilot is a moron), with some hilarious affects:

(Click for larger images)

^ is rather … worrying, im not sure what other ships will think if they see the Russian hammer and sickle on the tail?

The sheer amount of effort and work that went on this plane is just hilarious – “Must be airforce”, I wonder what would happened when this pilot got back to his own ship ?

Politics and expenses

Posted by Monty on June 18th, 2009

I don’t normally write about politics, because its usually such a controversial topic, and I tend to piss people off easily enough anyway, but the whole current expenses row really gets my goat.

They are elected by the public, to serve the public, but unfortunately, they do not see it this way. They see them selves as the elite, they see them selves above us “dirty commoners”, they are better than us. They believe there is one law for them, and another law for us. The whole expenses row has proved this to be correct.

Take the last Home Secretary, someone who was in charge of Anti terror legislation. She admitted to smoking cannabis in the 80′s, and warns people that they shouldn’t smoke cannabis because it will lead to mental health issues, this the day after she was appointed  as the head of the govt review of the UK Drugs strategy.

Smoking cannabis is a CRIME in the UK, so our (former) beloved Home Secretary is a *CRIMINAL*. She has committed a  CRIMINAL OFFENCE (And no, the Misuse of Drugs Act has no statute of limitations)

One of the anti terror strategies was to link, basically everything to terrorism. They have linked photographers to terrorists, something that would be done under the Home Secretary. Another thing that they have linked to terrorism was the fact that drugs will fund terrorists. So, Jacqui Smith has supported terrorism, and should be arrested under her very own Anti Terrorism Act, and held for 42 days without -food-charge.

She has stated :

“If you can’t live by the rules that we live by, the standards and the values that we live by, we should exclude you from this country and, what’s more, now we will make public those people that we have excluded”

Well, CLEARLY, by smoking a Class B drug, you have committed an offence under the Misuse of Drugs Act,  which the penalties lie from 3 months to 5 years in prison – why has she not been prosecuted, or arrested for this offence? I say prosecute her, throw her in jail, then deport her. Good luck finding a country to take the old hag though.

Then there’s the whole fiasco with the ID cards, no one wants them, it WILL NOT PREVENT TERRORIST ACTS (Madrid bombings – they had ID cards then) – and the govt make ridiculous claims such as “Its a SECURE form of identity” – Oh really? Like the countless MOD laptops “forgotten” on trains or left in pub car parks, details for 25 MILLION child benefit claimants’, 3 million learner driver’s details also “misplaced”, on top of that, 45,000 peoples names, dates of birth, and national insurance numbers of people claiming benefits in York, which also has been “misappropriated”.

And lately, the whole expenses row’s – our beloved Jacqui Spliff was caught watching pornography, not once, but twice, and tried to claim it on our expenses, which come out of my and your taxes. That’s great, does that mean I too can watch pornography, and it come out of tax payer expenses? No? That’s not fair!

And lets not forget the DNA debacle – 17 senior judges across Europe have ruled that keeping DNA after not being charged is ILLEGAL, and HAS TO STOP, and the -Nazi Government-British Government has agreed to keep DNA and fingerprints for 6 years.

Do you really trust this government, who have, repeatedly, over and over again, shown disregard for the law, and everyone’s rights, and only look out for themselves, and try to screw everyone over?

Evolution of communications

Posted by Monty on June 2nd, 2009

Iv been asked this question a few times when being interviewed about what I like about the internet – and one of the main things I respond with is the evolution of communications. Long gone are the days where you have to wait weeks to hear back from a friend on the other side of the world, where you have to carefully plan the time zone differences and risk calling someone on another continent when they might be asleep / waking up / not at home.

Nowerdays with RSS Feeds, twitter, Facebook, Myspace etc, you can keep up to date with all the latest goings on, while your at work, while you walk down to the shops, while you travel across the country on a train. Online communications has revolutionised the way news is broadcast across the world – no longer do certain news publishers say they have “exclusive” information – like the Mumbai terrorist attacks – updates were sent, on average, every 5 seconds regarding the attacks.

Twitter seems to have attracted a bunch of celebrities, from Alan Carr (@AlanCarr), to BoJo (@MayorOfLondon) – which breaks down another barrier when following your favourite celebrity, which in my case is Lance Armstrong – I no longer have to scour the net, seeing if he has appeared anywhere, I no long have to stay up till 3am watching Eurosport 3 reruns of the Giro d’Italia to see if he won it and where he placed, I can simply read his Twitter stream, and watch a few of his pre race video’s. I can get (near to) live updates on what he’s upto, and a bunch of other people I follow.

The social media phenomenon also breaks down a few other barriers – I no longer look at Paramedics with fascination and wonder “What is their job REALLY like?” – I read a bunch of medical blogs, from Random Acts of Reality (Tom, if your reading this, you are my hero <3 ) to NeeNaw – and its such a great insight into something that everyone takes for granted. I have alot more admiration and respect for the public services, after reading the amount of crap they have to deal with, especially from drunk / drugged up members of the public.

There are down sides to this evolution of communications though – I am now less “pro active” when it comes to communicating with friends, to see what’s going on with their life. For the friends I have on Facebook, I just load up the Facebook homepage, and see what’s the latest goings on with them. I no longer need to write to my friends (who are on FB at least) and ask them how they are doing, and what iv been upto lately – its all on my stream, in pretty much as real time as I care to update it.

I still love this evolution of communications though. Everything is interlinked, everything is in the now.


Copyright © 2007-2010 Muntedhar Alhakim. All rights reserved.