I really dislike it when ill-informed people write blogs, articles, and even books about things they know really nothing about. In the C# world, there a couple of topics that are the subject of literally thousands of ill-informed blog and forum posts, for which the real, correct advice is buried and lost in the noise and chatter of supposed “experts” offering words of “wisdom” to newbies out there. The couple of topics that I see come up again that I find particularly upsetting are whether or not it is okay to ever call “lock(this)”, and whether or not, and how-often, anyone should call “GC.Collect()”. Continue reading “In defense of lock(this) and GC.Collect()”
Delphi XE6 is just announced before Delphi XE4 and XE5 really even truly “work”. I’ve only seen 1 half-way decent case-study for XE5 so far, as they’re already trying to sell me Delphi XE6. This is NOT good business, Embarcadero! Not at all! Continue reading “Delphi XE6, You’ve got to be kidding me.”
I have a cheap AMD-based server in my basement. Cheap servers generally aren’t terribly power efficient and the latest/greatest AMD cpu, the AMD-FX(tm)-9590, has been scoffed at by reviewers for how power inefficient it is, running a ridiculous 220W TDP. Continue reading “AMD/Hyper-V does a terrible job of managing the CPU C-State that is probably causing you serious performance issues.”
My “fun” weekend nerd project: Now that my iSCSI server is dishing out respectable performance numbers and supports virtual space allocation (The physical location of data stored is decoupled from the “virtual” location of the data, allowing for “hot moves” of data without bringing virtual disks offline.) My next step is… PARITY. Yes… I’m going to build RAID-5-style parity into the system. Continue reading “Raid-5 in a dynamically Allocated iSCSI virtual disk array”
This guy plays on wine glasses better than most piano players. Nothing short of amazing.
The gaming world is buzzing about the so-called “Resolution Gate”. An alarming scandal surrounding the next-gen console systems, the Xbox One and PlayStation 4. I’ll admit, I’m a bit turned off by the idea that these new systems both seem to be content with running 720p resolutions on my 1080p televisions… I mean.. I’ve been running 1080p standard on all my PC games for years now. It seems rather odd that they can’t release a console capable of full 1080p resolution. Continue reading “XBox One vs. PS4: How software makes the XBox One games look and play better.”
I did a random search today. I wanted to find out what the community thought about the “Pros and Cons of Linux”, and was appalled at the amount of misinformation I found. I think the world loves to hate on Microsoft Windows, because… well.. it is made by Microsoft. I was originally simply thinking to myself that maybe there is something about linux that I can learn to like and maybe my own biases were half-baked, but the intelligence level of the average responder was extremely low and their comparisons were petty.
For whatever reason, society has deemed Apple to be “sexy”, Unix to be “cool”, and Windows is just an ugly, unusable, unstable, virus prone operating system. I felt like most of the people who hated on Windows probably hadn’t even used it for anything other than playing World of Warcraft. Continue reading “The Pros and Cons of Windows vs. Linux vs. OSX”
I began my computer programming career roughly 20 years ago with a trial-by-fire in the smoldering ashes of Control Data. Control Data was once a giant in the industry as much as Microsoft and Google are today, and Minneapolis was a nucleus of the tech world. When Control Data went under, it gave birth to a number of spin-offs, including the company that I worked for, PLATO Learning. As a young 18-year-old kid, I learned a lot from the former Control Data engineers. I ate lunch with them every day. I picked their brains. I heard their stories about the dawn of computer science, Star Trek, and … cats.
One thing about Control Data programmers was certain… they were not intimidated by real programming tasks. They were around when computer programs were written on punch cards. Many had been working on the same product lines for 28 or more years. The PLATO learning system was a platform that pioneered some of the very first multi-player games, and featured the very first plasma display to ever go to market. Continue reading “How to NOT be a Terrible Software Executive: An Anecdotal Study.”
I’ll be up front about it. I’m not a fan of Linux or any other Unix variant. This includes BSD and Debian and Android and all those other little pet names they give the various distributions of Unix that are far too variable to count. Over the years, Linux enthusiasts loved to tout all the reasons that their beloved open source operating system was superior to Windows, citing “stability” and “security” being two of the biggest reasons.
Now from the perspective of a guy who works mostly with Windows but is forced to tolerate Unix variants from time to time, I have to say that all the reasons people choose Unix over Windows are just completely baseless, especially in these modern times with just one notable exception: Windows has a price, and open source operating systems are typically free. Continue reading “4 Myths Propagated by Delusional Linux Enthusiasts”
I’ve been fascinated by the idea that a computer could potentially do more than one thing at the same time since before I got my hands on my first Pentium Pro back in the 90’s. I was so fascinated by this concept, I decided to build a Dual Processor Pentium III machine as soon as it became reasonably affordable for 20-year old kid to have one in his home. I was fascinated by the idea of unlocking the potential of this second processor and predicted that maybe one day, all home computers would have multiple processors, or multiple cores on a single processor. I was right.
I generally obsess over threads and multi-processing, and now I run multiple machines with both Intel i7 processors (8 virtual cores) and AMD chips featuring 8 integer cores coupled with 4 floating point cores. It can be quite the challenge to take full advantage of 8 cores. You really need to have something significant for each core to do. Additionally, unless you’re smart about your threading, you can waste valuable CPU cycles and time just creating and destroying threads. Continue reading “A universally useful Thread class without all the guesswork.”