May 31, 2005
VB.NET vs. C#: Religious Fanatisizm 101
1. VB developers get no respect.
2. VB can do everything C# can do.
3. VB is so cool now.
4. Granted VB6 sucked, and everyone should be moving to VB.NET anyway
5. Except for those developers who only know VB6 and never wanted to be developers in the first place.
6. VB is so cool now.
The main problem is that as soon as you talk about VB developer culture, people start jumping out of the wood work screeming "Thats not me--that isn't who I am--I dont do that--I write VB and I rock!!!" Did COBAL and FORTRAN programmers go through these growing pains?
Good Lord people, please stop blathering the blaintantly obvious and mayby we can have a real debate. So far we have made it to: "VB can do everything C# can do!" Sorry, call me a heritic, but that is not a compelling reason for me to switch from C# to VB.NET. Heck, that isn't even a compelling argument for me to switch from ANY other language. I remember my father stopping the car for the sole purpose of beating the living tar out of me and my sister for the same intillectually stimulating arugments. You know the ones, they sounded like this: "Are too! ", "Am not!", "Are too!".
Give me some stats, give me multiple arguments, give me something to sink my teeth into. Otherwise, please shut up! Frankly, I don't care what .NET language you use, and right now you are waisting oxigen and my time.
In the grand scheme if things, what language you use the THE most piddly thing you can talk about to a fellow .NET developer. Wake up and smell the framework (remember kids, that is why we are here in the first place). Work on you ego with your therapist.
May 30, 2005
G. W. Bush at Calvin College
May 26, 2005
Trinity Joy Eliana
Born: May 25, 2005, 9:11 am
More found here.
May 24, 2005
CodeSmith 3.0 Released
This tool has been demoed at BSDG (version 2.6), and I've used it enough to consider it a must have tool. Until C# 2.0 hits the streets, this is how I do generics.
I know it can do a lot more than I use it for (I haven't even scratched the surface yet), but there are only so many hours in the day.
May 12, 2005
.NET stuff: ahhh and GASP!!!
ComputerZen is recompiling his ULTIMATE TOOL LIST!!! (should be spoken with loud deep voice, using a reverb affect, and a good sound system -- thunder is optional).
One nice like off of the site is this link to Jeff Key. He has a really nice page of .NET utilities, code samples, and some documented words of wisdom. A couple of nice ones of his are a MessageDlg with custom buttons, and a .NET snipit compiler.
Now, for the GASP!!!! CodeSmith is going COMMERCIAL!!!! There is a new web site: http://www.codesmithtools.com/ announcing version 3.0, which will be strictly for pay! Standard addition will be $99, Professional will be $399. (if you buy now, you can get it for $49 or $299).
Of course, version 2.6 will remain freeware.
My opinion: it is a great tool, he has obviously put a LOT of work into it, it is obviously professional quality (I use it regularly), it probably should be a commercial tool. It is just sad to see these projects grow up so quickly (sniff)! I just wish the price would stay of $49 instead of jumping to $99. I will probably buy the thing anyway.
May 11, 2005
Hungarian Notation and Exceptions
The name of it is Making Wrong Code Look Wrong
The basic premise is that some forms of Hungarian notation are VERY good, and that the current Exception based programming we do in .NET is harmful.
The really excellent part about this article is: I can agree with him completely! And I have for years. You can read one of my old blogs on Hungarian notation. Though, Joel says it much more convincingly than I do.
The part on exceptions has been running through my head for a while now, but I hadn't spent any quality time with it. But it definitely deserves some more thought.
May 10, 2005
Calvinism vs Arminianism
(I'm talking about Christian doctrine movements here -- not computers)
http://www.the-highway.com/compare
Background:
Calvinism is named after John Calvin, a Protestant, and is used by Reformed, Presbyterian, and some Baptist churches.
Armenian is named after Jacobus Arminius, and is used by Nazarene and Methodists.
Full discloser: I consider myself to be a Calvinist.
May 04, 2005
Fun with the WorkingSet and int32
I finally found an honest to goodness bug in the .NET framework.
I've been playing around with the Process class lately to log the WorkingSet (memory usage). The problem I've found is that the WorkingSet returns the amount of memory being used by the process as an integer (32 bit signed integer). OK, so the maximum value of an integer is 2,147,483,647 -- which is remarkably close to the total amount of memory that a process can have in its working set.
So, no problems right? Wrong.
There is actually a switch in Windows that will allow a process to use 3 gig of memory instead of 2 gig. This switch is often turned on when dealing with Analysis Services -- this thing can be a memory hog. So now what happens is that when I poll the WorkingSet I get a negative number, a really big negative number. Usually, in the realm of -2,147,482,342.
That looks kind of funny -- I'm pretty sure you cannot be using a negative amount of memory.
Worse is that I didn't realize what the problem was for a couple of weeks. The overflow bit.
Working set is returned to the .NET framework as a binary value. The first bit of an integer is the sign bit. 0 is positive, 1 is negative. So, when the value turned from (binary) 1111111111111111111111111111111 to (binary) 10000000000000000000000000000000 the value goes from 2147483647 to -2147483647.
OK, so I still have to fix this. Here is what I came up with (in C#):
long lWorkingSet = 0;
if (process.WorkingSet >= 0)
lWorkingSet = processWorkingSet;
else
lWorkingSet = ((long)int.MaxValue*2)+process.WorkingSet;
Hopefully that fixes the problem for now.
The real question will come in down the road. Microsoft knows about this problem. I still have find out how they are going to fix this for Win64...where this trick will no longer work.
May 02, 2005
Life after relational databases
A Call to Arms (on the ACM Queue site)
Apparently it it trying to detail life after DBMS. Written by Turning award winner Jim Gray.
Hitchhiker's Guide to the Galaxy Review
I saw this movie Friday night. I will say this: walking into the theater I was a little concerned. We got there right at the time the movie started, and there was 1 person there already. 2 others showed up after I got there. So, unfortunately I got no crowd vibe from the movie...and it needs it. Or else a lot of beer -- but one or the other anyway.
My over all grade: C.
My thought is that the director and everyone else working on the movie, were NOT on the same page when composing this. One group wanted one thing, another group wanted something else. For some it was a love story, for others an adventure file, but they just couldn't get the 2 to sync together.
I also got the feeling while watching the movie that the director was a perpetual C student in dialog classes. All the dialog was done such that it was good enough. Not great, just OK. You especially get this while watching Mos Def as Ford Perfect. But I also don't think it was his fault. I've seen him be funny. But in this movie, most of his lines were flat.
Where was the problem: the editing. Whoever oversaw the cutting of the movie needs some help. This was probably the worst cut film I've ever seen...or they spent too much time watching Napoleon Dynamite. The camera switched back and forth between people at odd times, and lulled on others for too long. It totally broke the flow of the movie. That was the major reason this film isn't great.
Other than that, the movie has some very funny parts, and some of the parts that could have been funny weren't. The parts that were added worked well with the rest of the movie (I'm not comparing the movie to the book). The Volgons were great. The special effects were great. But things were still very choppy.
New project: USB Drive Archiver
So I finished a simple little project for myself, a small program that can sit on a USB drive (no dependencies for Win32) and ZIP a directory onto the
I did this as my starter project for Delphi 2005. The biggest problem I had was finding the right ZIP library for the project. The best I found was ZipForge from ComponentArt. All
One note: Delphi 2005 does come with a zip compression library...but it is totally stream based, and doesn't have a lot of documentation (like, how would you zip more than one file). I could have accomplished the same thing with the
There are also a project call TZipMaster that I have used in the past, it is small, and open source -- but it requires that 2 static DLLs and a resource file exist on the machine. If you can live with that requirement, this project is fine. But again, I wanted no dependencies.
Now, why else did I do this? Well, my father needs a better backup solution, most of the time, when he does a backup, he just backs up the entire directory and calls it good -- to a 3.5" floppy! I tried just setting up some batch files to copy files to the USB drive for a zip solution, but that was really slow. So now, with the program to zip the directory onto the
Not bad.
Anyway, if I get enough people who are interested in this little program, I'll go ahead and purchase a license to the zip library and distribute the program. Right now I'm calling it the "USB Drive Archiver".