Rory Primrose

I don't have a solution but I admire the problem

Recent Posts

Tags

Community

Email Notifications

Archives

January 2005 - Posts

Creating Web Custom Controls With ASP.Net 1.1 - Part I - Know Your Heritage
The first decision that needs to be made when creating a web custom control is what the control will inherit from. At the minimum, you will inherit from System.Web.UI.Control which will hook the control into the web page rendering. The Control object...
Posted: Jan 27 2005, 09:21 PM by Rory Primrose | with 1 comment(s)
Filed under:
Just came back from a little holiday

I have just come back from a little holiday up in the mountains. It seems that Australia has found some new species of Kangaroos and Wombats. Be on the lookout if you are driving on Australia's rural roads.

These ones gave me a bit of a giggle too:

Posted: Jan 26 2005, 08:22 AM by Rory Primrose | with 1 comment(s)
Filed under:
Creating Web Custom Controls With ASP.Net 1.1 - Introduction
This is the first of what will probably be a never ending series in creating web custom controls for ASP.Net using the 1.1 framework. I have been built many controls over the last year and have come across many problems while trying to achieve a good...
Posted: Jan 26 2005, 08:58 AM by Rory Primrose | with no comments
Filed under:
More Holidays

It's such a terrible thing, but I am off on holidays for most of the next week.

Next week, I want to start putting out some articles on creating web custom controls for ASP.Net 1.1. Hopefully they will help other people who have hit the same barriers as I have.

Anyway, gotta go. Do have fun...

Posted: Jan 22 2005, 09:45 PM by Rory Primrose | with no comments
Filed under:
If he wasn't old yesterday, he definitely is today!

Geoff had a theory yesterday that threw is age into question. Regardless of which side of the fence (of his argument) you decide on, he is definitely old now. hehe :P

Source Control

Since the New Year, I have been adding all my recent code to source control. I have never previously used any source control product because it was the great unknown. I had heard bad things about Microsoft's Visual Source Safe (VSS), had tried CVS in a previous job and didn't like it, and I use Rational ClearCase at work and well, it definitely has its problems.

The main issue is that I really do need source control for my development so it had to happen. I still don't like CVS and I don't want to buy ClearCase so I have implemented VSS. I am starting to get the hang of it and now have all my .Net code covered. I won't bother putting the older Visual Basic 6 code into source control because I am not going to continue developing in VB6. From now on, all releases will be in .Net.

On that point, I will also not be supporting anything other than Windows 2000 or XP with new releases. That's not to say that the new releases won't run on those OS's, but perhaps some things won't work as expected. It is no longer viable for me to support the old OS's that can't do many things that W2K and XP can and not many people have it anyway.

XP Themes + some

Having a great looking XP theme displayed is all very well and good. But in typically style, I want more, especially when I have see more in the screen-shots of the themes I have downloaded. Not satisfied with what I have got XP to do, I tried to understand how to take it to the next step.

What I saw in the screen-shots was a skinned log off/shutdown/reset dialog. I had a look at some of the themes that I have downloaded and several of them have some extra folders with images in them. The images are obviously the skin files for that dialog.

It turns out that this OS skin trick is a bit more of a hassle than getting around XP theme digital signatures (see previous post about uxtheme.dll). There are two files that need to be changed and they just happen to be core system dll's. These two files are shell32.dll and msgina.dll. In each of these files, are five bitmap images which need to be replaced.

Firstly, you will need an application like Resource Hacker. This is what you will need to do:

1. Take two copies of shell32.dll and msgina.dll from C:\Window\System32.
2. The first copy is a backup, just in-case of a rainy day or you might want to go back to the original theme.
3. Modify the second copy of each file. The theme folder should have five bitmap images for each of these dll's. Hopefully the theme will have these files appropriately named.
4. Replace the existing bitmap resources in shell32.dll by replacing the resources marked as 14351, 14353, 14354, 14355 and 14356. Save this new copy of the changed dll.
5. Do the same with msgina.dll for the resources marked as 20140, 20141, 20142, 20143 and 20150. Save this new copy of the changed dll.
6. Copy the modified versions somewhere that is easily accessible like C:\.
7. Reboot and press F8 to get the boot options and select Safe mode with Command Prompt.
8. Type CD\
9. Type CD Windows\System32
10. Type ren shell32.dll shell32.dll.old
11. Type copy C:\shell32.dll shell32.dll
11. Type ren msgina.dll msgina.dll.old
12. Type copy C:\msgina.dll msgina.dll
13. Reboot and you should have new log off etc dialogs.

As mentioned in the previous post, you do this at your own risk and you will also not be supported by Microsoft. That being said, have fun.

RSS feeds fixed

I have fixed the bug in the RSS feeds that didn't render the HTML tags of an items contents correctly. The result was a very ugly and unformatted feed that also wouldn't include images. Feeds should now be much better to read.

More updates coming

I have some more updates and fixes lined up for the site. There are some issues with the RSS feed among other things that need to be given some attention.

More soon.

Theme Playground

I have always loved the idea of skins. There is just something on the cool side of having software that is intelligent enough to change itself to how the user wants it. Allowing the user to store UI preferences like menu positions is only so fun (okay, so not fun at all, only functional).

I like to see what people can come up with when they add a little creativity to the mix. I am a huge fan of digital graphics and it is great to see something that has been designed and put together well. It doesn't matter if it is a wallpaper or skin, UI or site design.

There is a lot to be said for things that look great. Many a great product has failed because it didn't look good, while others that looks great, but didn't do anything, went a lot further because the interface made a decision maker go 'Ooooh, I like that!'.

Anyway, (back on track) the other day I was reading the latest APC mag and it had an article about skinning. PC mags have covered skinning many times in the last year, but I always want to see what they think about it.

One thing the article talked about was the Microsoft XP themes. I like the idea of XP themes, but didn't like the fact that there were only a couple of themes installed in the OS. I had looked into getting more a couple of times, but I didn't want to pay for anything. This meant that I couldn't get the additional, but limited, set of themes from Microsoft or software like StyleXP which gets around the theme security issues as explained below.

My free limitation meant that the few times that I started to look into getting some XP themes, I stopped looking as soon as I started. That was until I read the above APC article. It outlined how the themes are loaded and what is required.

XP themes are loaded (and rendered???) by uxtheme.dll which lives in Windows\System32. When it attempts to load a theme, it checks for a digital signature that ensures that the theme is safe, genuine and not tampered with etc etc. This means that you will have a lot of fun finding free themes that are digitally signed, hence why I gave up each time I looked into it.

APC made references to hacked versions of the dll that cause the dll to not check for the digital signature in the dll. This is the easy workaround because cracking a digital signature in each theme you want to load isn't possible (well, at least not feasible).

If you want load free themes, the following is what you need to do. Beware though, that changing this dll will render you as not being supported by Microsoft. I don't really have a problem with doing this to my computer because I have never called, let alone needed, Microsoft support. Also, don't complain to me if you computer dies. You do this at your own risk.

1. Get a hacked uxtheme.dll from somewhere like Softpedia, but make sure the hacked dll version is correct for your XP SP version.
2. Copy that hacked dll somewhere that is easy to access, like C:\.
3. Reboot and press F8 (or whatever you need) to get into the boot options. Select Safe mode with Command Prompt.
4. Enter CD Windows\System32
5. Enter ren uxtheme.dll uxtheme.dll.old
6. Enter copy C:\uxtheme.dll uxtheme.dll
7. Reboot.

You have now installed the hacked version of the XP skinning renderer. You should now be able to load any theme whether it is digitally signed or not. Places like DeviantArt or Customize are a good start looking for themes. My current favorite is Passion.

If you have a favourite theme, post a link to it.

Enjoy.
Microsoft's New Toy

I'm sure Microsoft likes to play with their new toys as much as any other, even if they do pay a lot of money to buy up another company to get said toy. Their new anti-spyware program (which they bought from GIANT) is no doubt another one that quick fingered Microsoft developers wanted to get their hands on.

I downloaded the Microsoft AntiSpyware beta version yesterday. I had read a few blog posts about it and thought that I should give my new laptop(ish) build a test.

The application installed fine and I set it off on a scan. It did a good job, or at least I hope it did because it didn't find anything (That's good right????). I did have a few issues with the interface though.

The UI is clearly not Microsoft developed as it doesn't fit their UI standards. For example, the menu system doesn't act like a normal Microsoft menu which is a bit unusual. This however isn't a major problem.

The main beef I have with it is that in the middle of the scan, I wanted to change some options like when the scheduled scan is to run. The menu system was enabled so as far as UI design is concerned, I am able to change the options while scanning. So off I go and try to access the options, only to be told that the scan has been aborted.

Excuse Me?!?!?!?!?!?

You would think, again from a UI design point of view, that the menus would have been disabled while scanning, requiring the user to cancel the running scan first, or at the very least, allow the user to use the menus and give them the option of canceling the scan if they want to continue into the menu system. The designers of the application, however, decided it was a much better idea to cut everything off at the knees. As much as I might complain about this inconvenience, it isn't a deal-breaker as the whole scan only took 10 minutes anyway, but its the principle of the thing.

Aborting the scan did also highlight another thing that was a little over the top in the UI. The developers seem to have a bit of a thing going on with the MessageBox API. It is everywhere. If you change the options and click save, it pops up a MessageBox saying the settings are saved (just in case you weren't aware that you clicked the save button). It does this type of behavior in so many places and is a little annoying.

On the plus side, I do love features like the auto-update. That will be great for set and forget style operations. Overall, I think it is a great program, but it needs some definite Microsoft UI attention.

In South Park style

Several weeks ago, Geoff made some images of himself, his family, our team leader and myself, all in a South Park style. This is his impression of me:

What do you think? I can recognise myself at least.

Just your typical hobby developer

I am a technically minded person. I kind of have to be given that I work in IT. One of the reasons I am good at IT (Geoff, back me up here!) is that I love to develop my own stuff. That's great for my employers because they get an obvious benefit from that tinkering, but I am really doing it because I like it.

I call it hobby development because I do it on my own time, it doesn't make any money and I don't get any time to do it. Sounds like a hobby right? Ring any bells with you???

There is a major problem with this hobby developer (and not any of the problems that are currently going through your mind). The problem is that I start developing a project because I have a good idea or I want to achieve something. So there I go, developing this latest idea. I get part way through the project and realise that I really need [insert name or purpose here] tool/utility to help me continue in the original project. So I start working on a new project. Part way through that project, I realise that I need [insert name........

You can see where this is going. This is one of the reasons that this time-limited hobby developer struggles to get stuff done. BTW, stuff does get done though.

What I want to know, is does this happen to anyone else? I have this sudden desire to see that I am not the only one. Perhaps there is hope. :)