Argh! Windows XP theme ga kieta!

January 18, 2007

*squint* At first I though I’d made a huge bugger up somewhere… then I though for a bit and blamed it on the program… then I found a website which told me about some possible fixes… none of the fixes worked because the people didn’t really know what they were talking about… then I eventually found a fix which that worked… and I was happy… such is the story of *loud noises* The Vanishing XP Theme!
In case you didn’t know, the default Windows XP theme is called Luna (a cool name) and can be found in the Windows directory under Resources\Themes. The actual theme file is luna.msstyles located in the Luna subdirectory. If you are like me then you may have had the misfortune of experiencing the following:

  • You boot into Windows XP and instead of the default XP style theme you have the old school Windows theme
  • You right-click and go to Properties – Appearance and lo and behold – there is no Windows XP theme listed! *shock*
  • Try as you might you can’t select the Windows XP style because the only option is Windows Classic style *you start getting worried/irritated*
  • You search the internet and find a link telling you to double-click the luna.msstyles file in the Themes folder and you do so only to have it *poong* out an error message stating that there is… an error! *great shock and increased worry/irritation*
  • You search the internet further until you realise that the world is full of imbeciles who don’t know what the hell they’re talking about and start to give up on ever resolving the problem without reformatting Windows XP

Fortunately there is a solution! Two in fact, one of which should work regardless of the situation. Now, let me first say that the most common cause for this problem is uninstalling an application. How uninstalling an application does this I don’t know and it really shouldn’t happen. Another cause is hard drive problems or viruses or tampering which corrupts the Luna theme file(s). Should the file(s) be corrupt simply search the internet for Luna theme download or luna.msstyles download and download the theme files. Once you have them copy them and overwrite the existing files within the theme folder. If this does not solve the problem then the following will be the most likely solution:

  • Right-click on My Computer and click on Manage to bring up the Computer Management display. You can also access this through Control Panel – Administritive Tools – Computer Management
  • Yoshi, now double-click Services and Applications at the bottom on the left-hand side
  • Now left-click/double-click Services just underneath it and the list of services will be displayed on the right hand side
  • Look for the service called Themes (it will most likely be disabled or set to manual) and double-click it
  • In the middle of the form that pops up will be a label saying Startup Type with three choices
  • Select Automatic and click OK
  • The XP theme will return either immediately or the next time you boot into Windows XP

And that is that. Why themes are a service I don’t know – and don’t care – but it is rather a nuisance. If this doesn’t solve the problem then I don’t know what will.

MegaUpload! Kyaaah! *chop*

January 13, 2007

Yoshi! We have all downloaded stuff from online file hosts like MegaUpload, RapidShare, TurboUpload, ZShare, etc. I dunno if many of you have noticed but one by one these free file hosts (TurboUpload and ZShare excluded) are starting to make you pay to access files, all the while allowing you to upload them for free. Seriously, what is the point of uploading something you can’t ever access again? Don’t get me wrong, they perform an awesome service and I really appreciate the effort but forcing and coercing someone to pay for access is not on. In most cases these hosts offer free access, albeit limited in speed and number of connections, which is okay since we can access the files and in South Africa the limited speed is pretty much our maximum connection speed in any case! There is one host in particular, however, which causes unlimited grief and that it MegaUpload.

I remember the days when we could access it without a care in the world, now, however, they have limited access to pretty much one person per IP and limited access per country. This is particularly irritating since the majority of people who use the Internet nowadays do so through routers and proxies. So, since we all share a common IP, what the hell are we supposed to do? The answer was simple – don’t use MegaUpload and find the files somewhere else. Unfortunately, there are plenty of people who only know how to use MegaUpload and so it is extremely bloody difficult getting the files otherwise – until now that is! Kyaaaaah! *chop*

Purely by mistake I stumbled across a handy little FAQ detailing how to bypass the nuisance which is the download limit. I’m pretty sure plenty of people know about this already but to me it is an extraordinary and fantastic discovery which I will now disclose. Sou sou *nods* Oh yes, this applies to FireFox (awesome browser that it is) and I don’t know, and doubt, if it will work in Internet Explorer or Opera or whatever.

To download via MegaUpload and bypass the horror that is the country limit do the following:

  • ┬áType about:config in the address bar (the place you type and press enter
  • In the filter bar which appears type agent which will decrease the number of items so that there is roughly about 4 left
  • Double-click the item that says general.useragent.extra.firefox and a little popup will appear stating Firefox/ and the current version
  • At the end of the text type ;Alexa Toolbar and press enter
  • Dekita! You will now be able to access downloads regardless of the country limit

As far as I know this pretty much just simulates the MegaUpload toolbar which is available in Internet Explorer. While it bypasses the country limit you may still be unable to download files because of your IP address aka. You are currently downloading nyah nyah nyah and have a few little radio boxes to choose from. To get past this do the following:

  • Once you have reached the download page the timer will countdown and you will see a small rectangle with Click here to download inside it
  • Instead of left-clicking the rectangle, right-click and select to Open Link in New Tab
  • After a short time a small popup will appear allowing you to save the desired file, thus all is well

Aparently this last workaround sometimes fails, in which case just try again and it will most likely turn out fine. I haven’t had a problem yet so you can take my word for it.

That is that and the limits are shown to be the rubbish that they are! If you want to use a file host try TurboUpload (< 70MB), ZUpload (< 500MB) and FilesFly (<100 MB). They are all free and the speeds are good and downloads can be resumed at any time (although you may have to refresh the link)

Naming conventions and how irritating some are.

January 13, 2007

Alright (is that actually an English word? Not s’pposed to be as far as I can remember. Oh well) . Anyway, this has been a sore issue with me ever since I’ve had to read other people’s code and it is possibly the most irritating thing I have ever come across in programming – bad naming conventions. Seriously, what the hell is gts_fwd_A? And what about _tys? How are they are s’pposed to make any sense to a normal human being? One could swear that the world was filled a bunch of unimaginative and illogical people *nods* and that they all managed to get their grubby hands on a computer and generate insensible code *nods again*. I’ll admit that in some instances, very very very very very rare instances, a few of these bad naming conventions are necessary but these are special cases and as such people should steer clear of these conventions to the best of their abilities.

In any case what I’m gonna do is give a bunch of guidelines on good (in my experience at least) naming convetions and in the process mention those which are bad and bloody irritating.

1: First off, the most important rule is to make sure that the names mean something. For god’s sake don’t go calling a text box bob! I’ll admit that if you’re just testing an idea, or a piece of code that you’ll never actually use, then this is ok but only if noone will never ever see it again once you’ve used it. If there is any doubt whatsoever that the code might be seen by another human being, or yourself, sometime in the future then make sure the name means something! There is nothing worse than going through code and having to memorize and familiarize yourself with a bunch of names which make no bloody sense. It’s damned confusing!

2: Association and consistency! For example, if you work with forms and multiple windows alot make sure that the controls you are working with have decent names. Say for example you are working with a text box, then name the text box TB… . This way as soon as you see a variable with TB at the start you’ll know exactly what it is. If you’re working with controls which have similar abreviations then just add a letter someplace so that it still holds meaning. Like check boxes and combo boxes will be prefixed by CHB and CB or CB and COB. It’s really simple and makes life alot easier. Also, make sure that you use the same abbreviations for all controls of the same type so that you don’t confuse yourself.

3: Along the same lines, make sure that the name matches the purpose of the control/class/object and describes it. If you have a label with the text ‘Name:’ then name it LName. It makes a huge difference when working with it in code. If you have a bunch of controls which have the same text but are in different windows or tabs or group boxes then name them according to the window or tab or group box. So if two labels with the text ‘Name:’ are in two tabs ‘Personal’ and ‘Work’ then name the LPersonalName and LWorkName so that just by looking at the name you can determine exactly which label is being referenced.

4: Don’t use bloody underscores! I cannot tell you how crap underscores truly are! (Oh, in case you didn’t know, there are instances when underscores must be used but most people will never come across them so just pretend these special cases don’t exist.) Underscores should be avoided at all costs. The reason being that they are stupid looking and make names much longer than they have to be! ‘That’s all?’ you ask, and the answer is yes. The phrase ‘pet peev’ doesn’t even cover it. The worst is when people use underscores as the first character in a name. For god’s sake why!?! It doesn’t make any sense! Why have the underscore there at all? Why not just omit the bloody thing? Another thing, I have lost track of how many beginners emulate their predecessors (the folks who started programming back when the Internet was still unknown) by using underscores as often and as frequently as possible. They just can’t think for themselves! *pant* Lets just leave it at that.

5: Use capital letters. It’s really very simple. If the name has multiple words in it then start each word with a captial letter so it is more legible and the words are easily differentiable. For example, usebloodycapitals becomes UseBloodyCapitals. Also, replace underscores by capitalising the first letter after each underscore!! That way the name is shorter and looks better *nods firmly* I don’t know why but a lot of people use lower case letters together with underscores and end up with ugly bloody names which are bloody long and bloody irritating. use_bloody_capitals changes to become the nice and classy UseBloodyCapitals. See. Common sense goddamnit!

Argh. These are just a few of the many guidelines which should be followed, not because they must be followed but because they make sense! In any case, using these guidelines takes a bit of time to get used to and everybody has their own way of doing things but over time you’ll eventually get into the habit of things. Ultimately, you’ll end up doing things in your own special way but, whatever you do, try and stick to these guidelines because they’ll make your life and the live’s of those who read and use your code much easier. Not too mention the quality of your code will be alot better.

So say we all!

Site Update

January 6, 2007

Argh! I haven’t been doing much with this SB since I started it but this has changed! *shouts and screams* I’ve added a bunch of links to my favourite Anime download sites – note that these are ALL direct download so there is no hassle with P2P and no speed issues (most of the time). One or two of the sites also support BT so there is that if you wanna use it. These sites are all very good (except the one which is good but changes like quicksilver) and are in a league of their own compared to most of the sites out there. They are updated almost every day as well so you can find ongoing series pretty quickly. I have a list of another 50 or so sites which offer downloads but I don’t really use them all that often so I wont put up the links unless someone wants them. If wanted I can put up a link to a list of top anime download sites (I wont guarentee the quality of these site though).

For reasons known only to my bored mind I decided to make a banner! I pretty much just copied the background bit off my favourite wall and put the text on. Skilled if I say so myself! Lemme know if its good or not so I can change it if I need to *nods*.

Within the next few days I’m gonna put up a bunch of programming articles on the following:

  • How to use a template when designing forms
  • Proper naming conventions for variables and classes
  • How to properly comment and describe code
  • The usefulness of structures and classes
  • Short description of an awesome control: Explorer Bar and the source code for managing and using it

That aside I’m gonna put up pages for anime reviews as well as site reviews for download sites.

There is a bunch of other stuff as well but I’ll get to it when I do >_<