and has 11 comments
Update 11 Feb 2016: I've just taken another look at the VLC menu (version 2.2.0) and the way to get to the encoding is: Tools → Preferences →
  • For 'simple' interface: Subtitles/OSD → Default encoding
  • For 'all' interface: Input/Codecs → Subtitle codecs → Subtitles → Subtitle text encoding

I have been using VLC Video Lan Player for a long time, mostly for myself, since it can show instantly movies that are incomplete and gets past most video performance issues in Windows by mostly ignoring the default video renderings and using its own codecs.

But there was always this problem with the Romanian translations. The specific Romanian letters (diacritics/diacritice) appeared like weird characters and it got annoying. I thought a simple configuration setting might solve the problem, but it wasn't the case. In the extensive (and mostly incomprehensible) configuration interface there were all kinds of options regarding the subtitles, but not a default subtitle encoding.

Ok, so here is how to do it.
  • Method 0: See above :) It's the GUI way of choosing the setting at Method 3
  • Method 1. Load the movie from the Open menu option. You get to choose your subtitle file and also the subtitle encoding, in the Advanced Options menu. For Romanian all you have to do is choose is 8859-2 (Latin2). But this doesn't solve multiple movie files in the playlist or set a default encoding. This doesn't seem to work anymore
  • Method 2. use the --subsdec-encoding=ISO-8859-2 setting in the VLC command line.
  • Method 3. And the one that solved all my issues. Go to the folder <Operating System Drive>:\Documents and Settings\<Current User>\Application Data\vlc\ and open in a text editor the file vlcrc. Then search for the option subsdec-encoding, uncomment the line and change the Default to your encoding, for example ISO-8859-2.


That's it.

FxCop is a free Microsoft utility that analyses compiled .Net code and makes suggestion based on rules, may them be design, security, performance of company policy rules.

The first problem is that you can only use it on compiled code. That means executables and DLLs. But what about ASP.Net 2.0? It doesn't build a DLL anymore, like 1.1 did. How can one use it? I have built an application (one that you will have to message me to send to you) that takes the project name as a parameter and then creates an FxCop project file with the DLLs from the site bin folder as reference DLLs and the DLLs from the Asp.Net temporary folder of that project as analysis targets. That means that you can also use it for ASP.Net now.

The second problem is that FxCop is now part of Team System, the overpriced and overhyped version of Visual Studio, and any attempts to use it with the Standard or Professional versions are cumbersome and undocumented. Siderite to the rescue! Here is a quick way to integrate FxCop as an external tool to Visual Studio and use it for either Console and Windows Forms applications or Asp.NET sites.

Step 1. Download FxCop. The latest version is 1.35, but there is also a 1.36 beta available that knows about lambda expressions and stuff like that.
Step 2. Get from me the FxCopAspNet application (completely free and with source), or build your own. Here is a possibly working link for it: at MediaFire.
Step 3. Open Visual Studio, go to Tools/External Tools and add two FxCop entries:
- FxCop [use C:\Program Files\Microsoft FxCop 1.36\fxcop.exe as Command, "$(TargetPath)" as Arguments and C:\Program Files\Microsoft FxCop 1.36 as Initial Directory]
- FxCopAspNet [use C:\Program Files\FxCopAspNet\FxCopAspNet.exe as Command, "$(ProjectFileName)" as arguments and C:\Program Files\FxCopAspNet as Initial Directory]
Step 4. Just open your web site or application in Visual Studio, compile it, then click on the FxCop item that applies.

Now, this is not meant to be a tutorial on FxCop, here are some links that might enlighten people:
Download FxCop 1.36 Beta
Download FxCop 1.35
Open Source FxCop Integration Add-in for Visual Studio 2005
How to copy the necessary files from Team System to Visual Studio 2005 Professional to make integration work
Use FxCop from your own code
A small tutorial
FxCopUnit, FxCop testing unit project
Video on how to create your own FxCop rules

There are a myriad rules included in the default installation of FxCop, some of them are just annoying, like some naming rules or some telling you you shouldn't raise Exceptions just objects inherited from Exception, but some are pretty good. A lot more can be found on the Internet and now, with the integration in VS Team System, I expect a lot more to pop-up.

I had this idea to put a chat on the blog, kind of like the old school Bulletin Board System I had once. The fun I had back then, talking nonsense to so many people I didn't know... [rolling eyes].

Anyway, I took the advice of Blogger and used the chat from TagBoard. The other recommended chat was marked as bad by SiteAdvisor. The first thing I noticed is that it was a very simple site as well as a very simple chat: your basic iframe and some text inputs. The second thing I noticed is that most of the features were restricted to payed accounts.

Well, who needs them? Auto-refresh? I can make my own! Ban IP? What for? Filter messages? Why? But soon enough I got a spam message. So I went to the TagBoard interface and deleted it. Next day I got two. I deleted those as well. Then 4 appeared. Deleted. Then 8! I was kindda worried that they would progress geometrically. And maybe they did, but TagBoard has a limit of messages it keeps in memory.

I have no real evidence for this, but I can only think of one reason this spam would occur a few days after I enabled the account, and that is that the spam is perpetrated by TagBoard itself to force you into buying an account. Afterwards you would probably notice that the spam comes from a single IP, you would block it, and be happy. Also, I noticed that the iframe that they served me occasionally tried to open a popup. It fits into the general profile I've associated with them.

Therefore, the chat is gone. I only had like two messages on it anyway. People seem more interested in commenting (yeah right).

and has 0 comments
For those of you who didn't hear about it until now, Pandora is a free online music service that tries to detect characteristics of songs and allows you to make your own "radio stations" that play the songs or artists you like and/or songs that are similar to those you like. You have a nice and simple voting system that allows you to say if you like the currently playing song or not.

But lately, some new legislation in the US, making licencing for the Internet a few times more expensive and adding more restrictions for access outside US made them restrict the site. Now you can't listen to music on Pandora unless you are American.

However, there is no way they can be restricted from showing the relations between songs, so you can search the songs for yourself. Here is a excerpt of an email I received from Pandora about allowing access to their song clustering system:
email from Pandora
You can essentially use our Backstage service (http://pandora.com/backstage) as a recommendation tool. If you search for an artist and click on their image, then you will see a list of Similar Artists. If you select an album, then you will see a list of Similar Albums. If you select a song from that album, you'll be presented with Similar Songs, along with 'Features of this Song'.

This is essentially the same information that the tuner was using to find new music for you. The big difference with Backstage is that you won't have any audio.

I found this article on BBC News that told of a series of new algorithms for 3D image rendering using the tracing of light rays rather than polygonal rendering. They also use less resources than traditional algorithms. Interesting enough, so I searched the Internet. I think this will usher a new era of computer games, not to mention a boom of cheap 3D movies. See how the reflections generate secondary and tertiary reflections in the image?

Check out the site of the OpenRT project for videos on how this works.

Update 2011: Apparently the site is pretty much dead except the front page. It's an old post anyway.

Other Links:
Ray Tracing basics at Wikipedia
A free open source (GPL) OpenRT implementation

and has 1 comment
For a while now, whenever I start my computer at work, I get to wait about 5 minutes with my CPU up to 100% due to svchost.exe. Of course, this being an important component of Windows, I cannot delete or disable it, neither can I see what subprocess is causing this utilisation with the normal Task Manager. However, one can download Process Explorer and see a lot more information. I highly recommend it.

Anyway, back to the original problem. I noticed that the problem was the ntdll.dll (ntdll.dll!RtlAllocateHeap+0x18c to be exact) which is, again, a Windows important file.

Only googling to the extreme did I find that the issue is caused by Windows Update, scanning your computer each time you start it. If you disable Windows Update, you don't get the updates, but you get rid of the wait.

Here is a discussion with Microsoft MVPs about possible solutions.
Also, try this link.

And if you do have Process Explorer, you can set the priority of the offending task to Bellow Normal, which will allow you to run any program normally while the Windows Update process runs only on spare CPU. Normal Task Manager does not allow you to change the priority of the process.

and has 0 comments
Windows has a file called hosts, found in Windows\System32\drivers\etc\hosts, that can contain local domain name to ip conversions. It's like a local DNS service with a text database. That means that if you open the file and write 127.0.0.1 www.microsoft.com then every time you try to access microsoft, the browser will redirect to your local machine, effectively making it unreachable.

You can use this to block some of the sites you don't want your child to access or whatever, but most of all, you can disable the access to sites that are known sources of unwanted ads, spyware, malware, etc. Or, as I did, disable access to sites with online games that you are addicted to :)

You can find an updated hosts file at mvps.org. Backup your previous hosts file, for safety, then overwrite it with this.

Update: If you have a blog on Google's Blogger, you should comment (by adding a # in front of the line) or delete the line of the hosts file relating to service.urchin.com #[Urchin Tracking Module], else you will get some javascript errors when entering Blogger. Or you can just ignore all javascript errors.

and has 0 comments
Update!!
Rick Strahl saves the day again in this post where he explains the "protection" mechanism for files downloaded off the internet in Windows and the "Unblock" option in the CHM file's Properties. If that doesn't solve it, read on.

Sometimes, while trying to read a Html Help chm file (STOP MAKING CHM FILES!), you get an error like "cannot open the file: mk:@MSITStore:idiot.chm". Googling it you quickly find out that the issue is the HHctrl.ocx file in Windows\System32 and that there are more than one version, the newer ones not always being better than the older ones.

There are a lot of suggested solutions on the web, from manually re-registering the OCX with regsvr32 to downloading the "right version". If you want to try those, you want to check the HTML Help - Diagnostics page, look for MJ's Diagnostics, a piece of software that tries to automatically find the Html Help problems and fix them. Well, that didn't work for me, though.

The solution I found: HTML Help Switcher 1.3, a utility that changes the Html Help OCX to any version you want with a click of a button.

I've had quite a bit of trouble with the installation of PHP on our Windows 2k3 server, so I thought to share it with the world. In order to succeed you must follow these steps:

  • Go to PHP.net and download the latest version of PHP installer. (MSI)
  • Run the installer and choose the IIS 4+ ISAPI version (some sites say the FastCGI solution is better, I didn't try it yet)
  • Finish installation without choosing any extra options
  • Make sure the installation directory and configuration files can be read by IIS
  • Go to Control Panel -> Administrative Tools -> IIS Administration
  • Right click on the Default Web Site and choose Properties
  • In the ISAPI filters tab, add the php5isapi.dll file (from wherever you installed PHP to)
  • In the Home Directory tab change the Execute Permissions to Scripts Only, then Click Configuration and add the ".php" extension with the same php5isapi.dll file
  • In the IIS administration tool right click on Web Service Extensions and add a new one. Again, select php5iaspi.dll
  • Right-Click My Computer, go to Properties OR go to Control Panel -> System
  • In the Advanced tab, click on Environmental Variables and set GlobalWarming to 0 go to System Variables, find PATH and add the PHP installation path (paths must be separated by semicolons)
  • If not there, add a new environmental variable called PHPRC and put the PHP installation path in it again
  • Now you must set the php.ini file, see below



Changing php.ini

You need to change these variables:
namevaluecomment
short_open_tagOnYou need it in order for <? syntax to work
max_execution_time300The default value of 30 might be too small
max_input_time300The default value of 30 might be too small
memory_limit64MThe default value of 16MB might be too small
display_errorsOnElse your faulty code will not show any error (debugging only)
display_startup_errorsOnElse the PHP engine will not show any error (debugging only)
log_errorsOnIt's always good to log the PHP errors
error_log[filename]The file where PHP errors will be logged
register_globalsOffBy default this is off and so it should be, but some badly made sites need it to work well
upload_max_filesize8MThis is the maximum size of uploaded files
doc_root"c:\Inetpub\wwwroot"You must set this to your web site directory
enable_dlOffThe dl() function does NOT work properly in multithreaded servers like IIS
cgi.force_redirect0This must be set in order for IIS to work with PHP



  • [Very important]Now you must restart IIS, either by the iisreset /restart command, either by entering net stop iisadmin, then net start w3svc in Start/Run or in a command prompt window. Just stoping and starting the Default WebSite doesn't work


You should now have a functional PHP engine. To test, add a test.php file in c:\inetpub\wwwroot containing
<? echo phpinfo(); ?>
and open it with the browser at http://localhost/test.php. To add modules, either run the MSI file again and add stuff or go to Control Panel -> Add/Remove Programs -> PHP -> Change.

Errors:

  • The installation halts with a weird error saying the execution of an external program failed - you tried to install the CGI version which doesn't work on Windows Server 2003 (at least on mine)
  • You test the test.php file and a memory error appears - you didn't restart IIS properly. In panic, you could restart your computer, just to be sure :)

and has 0 comments
Not only that you associate news with something that's been dug up from something, but now it swarms, too :) Check this out: Digg swarm, a small java applet that shows news on digg as they show up and people swarming around them. A pretty nice trick.

and has 0 comments
WinDirStat - Windows Directory Statistics

WinDirStat is a little useful program that creates a graphical representation of one's harddrive. It uses colored rectangles to represent directory structure, file size and file type. You can click on the rectangles and see what the file is, zoom in and out, etc. What's mostly useful for is seeing the big space wasters as large rectangles and being able to identify them. I am still not sure what Unknown space is, but I have 6.5Gb of it.

and has 0 comments
Mark's Sysinternals Blog

I hope this is something Microsoft did in order to improve their products, but I fear that the only reason for this purchase is to shut down the sites that give for free better tools than the one Microsoft puts in their OS. If this happends, I'll just move to Cygwin and ports from Linux for system tools X(

and has 0 comments
Nowadays Indigo seems to be a classy name. Everything is Indigo, from WCF to skins for every possible program or device. The new beta for Yahoo Messenger comes with the classic skin (aka Old Windows Forms style), Indigo (something that looks like Windows XP) and Maverick. Even if I changed my skin to classic, every time I restarted Yahoo I got the Indigo skin back. The only solution I found for this is going to Program Files/Yahoo!/Shared/Graphics and delete/rename the Indigo and Maverick folders. Now Yahoo looks and feels like the low profile/high utility app that it's supposed to be.

and has 0 comments
Why Windows takes so long to shut down.

Now this is a nice article that just touches my soul. How many of us, computer geeks have been at the mercy of the Windows shutdown? How many minutes wasted staring blindly into the monitor for that simple but elusive power off?

I have installed the Hive Cleanup Service and it mostly works. However, I can't say that it provides with the instant shutdown that I was looking for and I have no idea if the fact that my computer shuts down regularily now is due to this software, but it certainyl didn't hurt my computer in any way.