Digiwar - the Yeep-blog

January 28th, 2005

The threat of incompetence

I see it happen in the company I work for. The people who adminster certain machines or applications are simply incompetent for the task at hand. Which has its consequences. It’s just a sad fact that because of the economy we can’t afford to hire better people, so we have to make it work with the people that bother to respond to our job openings, which are less and less people every day. And training them is only part of the solution (although it would help a bit), they need experience as well. A Unix application administrator that doesn’t know more than the absolute basics of ps, ls and cp is a big no-no, but unfortunatly also the sad and harsh reality.

[Now playing: White Zombie - El Phantasmo And …]

January 22nd, 2005

Bush might be cool

Okay, I know this sounds just completelty wrong, but Bush, apparently, is Metal!

Maybe there is hope after all. Even Jesus is Metal these days :-)

[Now playing: Strapping Young Lad - The filler - Swee…]

January 21st, 2005

Things learned this week

This week was a very tiresome week. Not because of all the work I did, but more because of the lack of sleep. For some reason I could not sleep for more then 5 hours at a time at night, so I was very tired through-out the week.
But, I did learn two very interesting things:

  1. When a file is added to a Visual Studio Project/Solution, make sure to specify “FileShare.Read” when opening it with a FileStream from inside that project. Otherwise you’ll get an “Access denied”-error. Which is very distracting, because I’d expect a “Sharing violation”-error, but maybe that’s just me.
  2. When making an MPS provider and you’re storing data in the ProviderHelper rollback store, use strings and ints! I made a really handy class to encapsulate the data for me, but then I got “No such interface supported” errors somewhere inside MPS (not even inside my provider!!). At first we thought it might me a bug in MPS, or maybe a configuration error on my dev machine, but then I wondered if the MPF maybe tries to serialize the object stored in a database or something and my class wasn’t serializable. So I just started storing the data as strings and it worked. I’m not sure if it was the serializable thing, because making my classes serializable would probably be more work them just reworking the data to be stores as strings. So, just use strings!



[Last played: - ]

January 12th, 2005

More fruit!!!

More fruit from my labor. Although this isn’t much fruit, it’s a little fruit, maybe even slighty weird fruit, but that’s just a cheesy movie reference.
The fruit in question is a small class that contains one static member to retrieve a string value from an XML file. The name of the XML file is based on the name of the assembly that called the function and it only looks for the file in the current working directory. In other words, it’s a assemblyname-based configuration file reader!
I made this, because I couldn’t get the (mandatory :-( ) ’standard’ configuration reader, that was provided by my teamleader, to work. I just used mine for the debug build and implemented theirs for the release build. Let them figure out wich goddamn filename to use for their fucking ’standard’ config file. Do I seem frustrated? Hell yes! I changed the source for this config reader to match my personal style, but for the project I had to make it conform to their ‘coding standards’. The difference is about half the lines of code. That’s 50% of the source that’s unnecessary crud. And they want it for ‘readability’. Yeah…right….

[Last played: Strapping Young Lad - Critic]

[Now playing: My Life With The … - Starmartyr]

January 10th, 2005

Mythbusters

And on the subject of interesting Discovery channel programs, have you ever seen Mythbusters? It’s a real cool show where two guys (although in the episode I’m currently watching there are 3 women and an extra guy all of a sudden) try and find out if all sorts of myths are real or not. So in this episode they’re trying to find out if you can create a real-working hovercraft using nothing more then normal household items. They’ve split up into two teams and created a sort of a race. The first team built a hovercraft based on a surfboard and 4 normal leaf-blowers and the second team built one using three round wooden plates, a chair and 3 first-class leaf-blowers (they had a $500 spending limit due to the race, but then they cheated and the first team added a first-class leaf-blower and the second team tried to add a weed-whacker powering a propellor (it failed and now they driver has 4 pizza boxes duck-taped to his arm and he’s trying to fly :-) )). Then they’re gonna race at the beach.

And the second myth they’re trying to test is whether or not you can survive crashing down in an elevator by jumping at the exact last minute. I’m curious about that myself as well :-) But I think it’s a myth, because the downwards force is way too big and if you push off against the bottom of the elevator, I’d say you just push the elevator down a bit more and won’t gain any upwards force.

Well, it’s the moment of truth…..

As I expected :-) The elevator came down at a speed of 85 Kph and when the rigged dummy jumped (they made a dummy on a spring to simulate a jump and dummy would jump slighly faster and higher then a human) it reached a speed of 3 Kph, so the dummy still smashed into the ground at 82 Kph.
Conclusion: If you’re ever in an elevator crashing down, don’t bother jumping. Just kiss your ass goodbye :-)

By the way, you can view some videos where the dummy (called: “Buster”) is being abused. I especially like the last video :-)

[Now playing: Rob Zombie - Return of the pha…]

January 10th, 2005

Top gear has become more fun

I’ve never had many of the common manly-interests, like sports and cars. So I never liked programs like Top Gear that much. However, last week I was making some diner while a house-mate was watching Top Gear. They had a small item that did interest me. Apparently they’ve been trying to figure out how fast a car must drive to avoid being flashed by a speed camera. And they figured it out: 270 Kph (about 170 Mph) :-) You’ll need one helluva fast card and about 3 KM of road to get you going, but it is possible :-)

Next week they’ll have an item about stunt drivers. Stunt drivers always brag about how many busses they can jump on their motorbikes. So next week they’ll see how many motorbikes they can jump with a bus :-)

[Now playing: Green Day - Basket case]

January 10th, 2005

Don’t use the word banner!

Ever since I started using the current design for this website, I had trouble viewing the page in Maxthon (formely MyIE2). I first thought it was an IE rendering engine problem, but IE itself showed the page just fine (well except that sometime the most recent date bar will be placed near the top of the page, in that case just refresh and it’s fine again). So today I had another look and for the first time I noticed Maxthon blocked something, a pop-up or an ad. So I looked at the log and blocked the image at the top left of the page, because it was called “banner.png”. Dammit!
So I renamed it to “logo.png” and changed all other references to “banner” into “logo” (can’t be too sure) and now it works just fine. Ah well…another lesson learned.

[Now playing: Green Day - Longview]

January 8th, 2005

My first WordPress plug-in!

Wooh!
A week or two ago I stumbled upon the excellent Now Playing WinAMP plug-in and recently I’ve been thinkering a bit with it. First I took the example PHP script that is provided on the site and used it to make my own. My script will generate the image file when it gets the post from the plug-in, while the script on the site puts the post info in a file on the server and then had a seperate script generate the image. Seeing as I might use this on forums, I wanted to generate the image once and serve it many times, instead of having the server generate it everytime someone requests it.
I also made the script ’smart’, so it will autodetect the template image dimensions and the font dimensions and cut-off the text as needed instead of at a set character like in the original, which also expected the image to be of certain dimensions.

Then after I had that working (and added the result to the left part of this website), I also wanted to have the textual version appear at each blog post. So I updated the post script to also write the text that normally goes into the image into a text file. Then I did some searching and experimenting and I came up with a really simple WordPress plug-in that reads this text file and appends it to every post I make.
I’m very content :-)

[Last played: Therion - 06 - Quetzalcoatl]

January 6th, 2005

Dammit!

I wondered why RSS Bandit couldn’t update my feed after I upgraded WordPress. Turns out the RSS link I used changed. I’m just not sure if the link I used was originally from WordPress, or something I did myself because it was the link of a previous weblog engine I used.
Anyways, it’s fixed now. You get a nice redirect :-)

January 5th, 2005

Fruits of labor 2: Revenge of the fruit

Well, well. The second fruit of my labor has risen. I’m currently developing custom Microsoft Provisioning Services (MPS) providers. These are COM DLLs written in C#. The problem is that when we test them, the MPS process keeps the DLLs loaded (so the files are in use). So if I edit the source and recompile, I get errors because my post-build script can’t overwrite the DLL, because they are in use. Stopping and starting the two MPS services doesn’t help. The only thing that helps is manually killing the DllHost process from the task manager. However, there are two such processes and I need to kill only one of them. One is owned by the system and one is owned by an MPS user. This is not an issue when killing the process by hand, you can see the owner in the task manager, but when I tried to automate it I ran into a small issue. For as far as I could see, there is no way to determine the user who owns the process from the System.Diagnostics namespace. I even looked at the standard Win32 API funcions, but still no dice. The task manager knows, so I too should be able to find it out.
Then it hit me: WMI! I checked and indeed. With WMI I can enumerate the processes (in fact, thanks to WMI’s SQL-like interface, I can select the process I want based on its name) and then get the user who owns the process.
So I wrote a small program and plugged it into my post-build step. It doesn’t work a 100% (for some reason the program is finished and the post-build script tries to copy the files while the process is still busy terminating), but it works good enough for me.

To get the program, simply download this file and put it in a new Windows Forms project. It’s an empty Windows Forms class (I created it as Windows Forms, because a console application would pop-up a DOS box and I don’t like unneeded pop-ups :-) ) and all it runs is the Main() function.

To plug it in my post-build script I used the following code, maybe you can use it as well:

position = InStrRev(WScript.ScriptFullName, "")
scriptDir = Left(WScript.ScriptFullName, position)

set shell = CreateObject(”WScript.Shell”)
shell.Run scriptDir & “ProgramKill dllhost.exe MPFServiceAcct”,, true

January 5th, 2005

Diary weblogs…..why?

Apparently weblogs are on the rise. To me this isn’t news. I first heard about weblogs 2 or maybe even 3 years ago from a colleague who had one. At that time I liked the idea, but I didn’t see any use for them in my specific case. I generally hate those “Me and my bunny”-sites. At that time I had a website with some tutorials on it. Nothing fancy. And as you might have guessed, eventually I got a weblog as well (that’s what you’re reading right now). But I’m not really using it as a weblog in the sense of a diary. I use the weblog-engine as my Content Management System. It lets me easily add new stuff. It has it’s drawbacks, I still have to make something so I can put articles online and not just “entries”, but it’s better then doing it by hand.
But anyways, the article got me thinking. Well not just that article, but also this one (warning: It’s in dutch). The article says that in the Netherlands alone, more then 3000 adolescent girls engage in webcam sex. That’s even girls of 12, 13 or 14. That’s just sick! Now, I don’t have anything against webcam sex, if you like it, be my guest, but it’s just plain wrong to have kids that young doing it.

So what does this have to do with weblogs? Well, apparently a lot of these weblogs are in fact online diaries. So you have people around the world telling you their daily highs and lows. My first question would be “How is this interesting?”. Why should I care that your mailman looked at you sideways? And secondly, why do you do it? Do you enjoy the voyeurism in that totally strange people can have a peek in your private life whenever they want and as much as they want? Or is there something I’m missing?
Is the internet tearing down our walls of privacy, not by force, but by some way of subconsious suggestion? Are we putting our private stuff up for grabs just for the hell of it?
I know a girl who maintains a diary-weblog. I think I’ll ask her what motivates her. I’m guessing it’s got to be something with online friends and seeking comfort with your peers. I’ll let you know when I know.

|