261 karma · joined June 13, 2023
Do you actually mean the DataGrid? Because the WinForms "DataGrid" was deprecated in 2002 with .NET 2.0 which added the DataGridView. The software I work on is Windows Forms and I can't say I've had any issues like you describe with the DataGridView. I was able to create a control derived from it that does all the heavy lifting for customizations(Visual, interaction, cell spanning, etc.), of which we had a lot. Enough that we were exploring third party controls, but found we would have to customize those ourselves anyway, so I just wrote my own control based on DataGridView to save us the licensing.
WPF had it's own DataGrid control from the start, though I can't comment from experience on it's versatility, I'd assume given WPF's nested-content approach it is surely at least more flexible than the DataGridView.
Some implementations use more bytes for the length data, such as Delphi which changed over to a 4 byte prefix length, though those aren't technically Pascal strings anymore. I can't find anything about a Pascal string being two pointers?
Also, the environment on a kitchen counter is wildly different than the environment inside out stomach, so airborne bacteria- even if we were to presume these were the exact same kinds of bacteria present in our stomach - being uninterested in foods in the open air doesn't really translate to the idea that the food is indigestible. Many gut bacteria rely on us to break down foods into the things that they can digest, so a colony couldn't start on the surface of the same food(s) in the open air.
I don't think this is done automatically when you simply install a new postgres version, but I'm not certain of that.
As for the particular claim regarding the start menu, What he actually claimed is that his implementation was removed in production builds. However, at the same time, there's no evidence of it in any of the various Beta and release candidate versions of NT4. Not only that, but prior to the NT4 betas, it was effectively the NT 3.51 "Desktop Shell Update" and none of the releases of that have his claimed implementation. So when and where is it?
He states "I wrote the programmatic version in '94 and we ran it internally". The issue is that there really was no "NT4 beta" at that point in time, nor any start menu in NT to add his rotated text code to. It was only around the start of 1994 that what would be known as the Taskbar and Start Menu really appeared in Chicago milestones- we know he isn't referring to those, since 9x didn't support the needed LOGFONT structures. What would become the start menu on Windows NT only appeared with the "Newshell" project which was preview software that you installed on NT 3.51 to add the Windows 95 enhanced shell. originally a desktop update for Windows NT 3.51 which started around the time of 95's release in, well, 1995. There's no evidence of his special code there- in fact the NT 3.51 Desktop Shell Update previews all used a bitmap.
And you might think, ahh, hew must mean before that, but the rotation feature in question, I believe, was new to NT4 altogether- so it would presumably have appeared somewhere during the betas.
The problem with his claims seems to be that evidence never seems particular forthcoming. When new information comes out he retracts claims and re-titles videos in order to move his claim into "gaps" where his claims are less falsifiable.
You sort of see the same issue with division. The forward slash is a completely invented binary operator since the actual division symbol was often not present- and let's be real nobody uses the binary division operator when writing formulae. It's supposed to represent the dividing line in a fraction, similar to how division is usually represented in a formula as a fraction of two other expressions. It's got lower precedence than anything in either term- but, if you just replace the dividing line with a forward slash to input the formula into a computer, you'll get incorrect results, because it's replacing what is part of a complete term (the division line) with a new binary operator inserted between sets of terms, which is now subject to precedence rules.
In that section of the book, he takes a Java port of Donald Knuth's PrintPrimes program, and refactors it. But in doing so, he actually breaks it. He moves state out of local variables and parameters and makes them all static fields, and then refactors the code into long-winded methods that specifically perform side effects or operate on those fields (names like isNotMultipleOfAnyPreviousFactor(), isLeastRelevantMultipleOfNextLargerPrimeFactor()). But the simple act of moving state that would otherwise be part of the stack frame into static fields means he has changed the behaviour of the code - it is no longer thread safe! calling it from different threads will have undefined results because all threads will be operating on the static fields. He demonstrably made the code worse!.
It invalidated the entire book for me at that point. Here's "Uncle Bob" trying to pretend to be some aged, skilled, craftsman hand guiding us young, ignorant whippersnappers into being proper craftsman and not only can't he properly refactor a simple prime number sieve as a demonstration, but he's so blind to awful code that he doesn't even see it in his awful example enough that it gets published in the same book that complained about programmers who don't have "code-sense". Mistakes and "errata" are one thing, but when he makes such a big noise about "do it right the first time" and then has an example where he refactors and literally breaks something, that's another.
I feel he violated what I feel are very basic, elementary ethical principles with regards to software development, by specifically setting out to create software products that were not designed to give the user value but to scam and trick them out of their money.
(There's an argument to be made that he was merely ahead of his time at Microsoft but that's perhaps another discussion.)
He's retired and supposedly wealthy. Not sure what sort of stock options he might have for 7 years at Microsoft, but how much of that wealth (if it even exists) is or was from the scam company? He didn't have to pay most of the fine and the number of customers that requested refunds is hardly documented. For all we know dude is still living off money he scammed from people.
Either way when you stoop that low I don't think you can ever stand up straight again- all you can do is try to hide your slouch.
>What would it take for you to let go of this vendetta that you say you have?
Well, to take an extreme but analogous (IMO) example - what would it take to trust Bernie Madoff for financial advice? That's kind of what I feel this is like. Doesn't matter if they "went through the justice system". You never regain the trust in the field when you so readily violated it to make money.
The 32GB limit for FAT32 doesn't appear to be handled by the shell code or the dialog, so when I said it was handled internally to the formatting code, I couldn't actually find that. It's just somewhere loweer than the UI. What I did do howeever was boot up Windows 2000, the first version that did have FAT32, and there's no limitation in the format dialog itself. It goes through the entire process and then gives a "Volume too big" error after it has gone through the process, an error shared by not just the format dialog, but diskpart, disk management, and format, which certainly suggests that that is happening at some lower level. The dialog in question does just call into other functions to perform the actual format, but I wasn't able to find the actual source files for it.
>Dave for his part provided his credentials.
Now he understandably does leave out a bit of info about his history which you could arguably say is part of my "vendetta" that you observed. The reason for the proportion of comments is less a vendetta and more that I get kind of worked up every time stuff of his is posted and people applaud how great he is. He's no Dave Cutler but he certainly talks like he was.
Now, as to the tidbit. Dave Plummer ran a scam company that was sued by Washington State in 2006, "SoftwareOnline.com, Inc. ". He actually left Microsoft specifically to run this company. Court documents can be seen here:
https://www.atg.wa.gov/news/news-releases/attorney-general-s...
You can find David W. Plummer listed in the court complaint.
The short of it is that it was an online software scam company that tricked people into downloading fake Anti-virus and security software using online ads, and then the software delivered additional adware and nagware onto users machines.
That is why it may appear I have a vendetta. I don't trust a word he says and especially when what he says directly contradicts other sources. Mistakes in memory are one thing, but some of them are rather beyond the sort of thing I think is reasonable. Paired with his history, I'm convinced he's actually lying intentionally because he's trying to build a "following" and "Dave's Garage" is just his latest scam. That's why he keeps "coming forward" in posts and his youtube as writing this or doing that. What bothers me is that it's working, because most people don't seem to even question it, even where there are rather severe contradictions.
>"I also had to decide how much 'cluster slack' would be too much, and that wound up constraining the format size of a FAT volume to 32GB."
NT4 didn't support FAT32, and NT4 actually was actually able to be 4GB rather than 2GB for a FAT volume because NT4 allowed 64K clusters, so actually exceeded what most systems were able to do at the time. Formatting as FAT in NT4 had no cluster check or option. The cluster size used was decided based on the size of the volume.
Furthermore, the The 32GB limitation for FAT32 volumes was originally in the internal format functions, not the dialog itself. On Windows 2000 (Which does support FAT32) you can try to format a drive bigger than 32GB as FAT32, but the formatting will fail, as it is hard-coded at the end of the format to fail trying to format FAT32 volumes larger than 32GB. The dialog itself isn't what presents this limitation and it is shared by the command line format.com which uses the same functions.
Not sure why he seems to always exaggerate his own involvement. He's got people believing that he wrote the Zip folder code that Microsoft literally licensed from Info-Zip because he had to touch it to get it integrated. I guess exaggeration is what "influencers" do, and that's what he is at least trying to be now.
According to Raymond Chen here: https://devblogs.microsoft.com/oldnewthing/20180515-00/?p=98... "Furthermore, since the compression and decompression code weren’t written by anybody from Microsoft, there is no expertise in the code base, which means that debugging and making changes is a very difficult undertaking."
Which kind of conflicts with Dave's story, where he was, in fact, working at Microsoft.
Additionally, Raymond Chen says: "On of the terms of the license is that the compression and decompression code for Zip folders should be tied to UI actions and not be programmatically drivable. The main product for the company that provided the compression and decompression code is the compression and decompression code itself. If Windows allowed programs to compress and decompression files by driving the shell namespace directly, then that company would have given away their entire business!"
It doesn't really make sense that he would have had this sort of restriction on the licensing since there was no "company" involved and he had no main product to protect there.
According to the leaked source code for XP/2K3, The zipped-folders support in Windows was from Info-zip. Dave did copy something from "VZip" on his own:
History: Sep-26-96 Davepl Created (from old VZip code)
This was a set of utility CIDL functions and not related to the zip functionality in Windows.The person referenced who Nintendo hired is Kawase Tomohiro.
The basis for calling him "The iNES Developer" is that, in a changelog for 0.7 of iNES, Marat Fayzullin - the developer of iNES - wrote: "Sound support completely rewritten, thanks to Kawase Tomohiro"
That is the entirety of the association. That single line in a changelog. Based on similar "thanks" lines it was probably because they reported some emulation issues and not because they personally rewrote the sound support for the emulator, but resulted in Marat doing so. It's actually interesting how these stories seem to change over time. The last time I heard this, the story was that Nintendo had hired somebody who contributed to iNES, which was at least technically true if a bit misleading, but it seems that now the story is that they hired *the* iNES Developer. Which seems particularly silly when we consider the basis is that 8 word changelog line.
That method wouldn't be possible for DS9 or Voyager as both of those shows were shot digitally at 480p. I remember hearing that there's been some community work that upscales DS9 to 1080p using neural networks, but haven't really been able to find anything concrete about that.
I've not seen it since. Only side effect is videos sometimes pause right as they start. I assume because it stops the video and shows the pop up. I can just resume immediately though.
Nowadays, one can get replacement parts, and fairly easily restore/fix the problem. Add in a bit of PTFE lube or lithium grease and it greatly extends the lifespan of the replacement as well. Used to be able to get rather fancy steel bowls and analog sticks which significantly reduced the wear even more.
The more 'standard' thumbstick design has a similar self-centering mechanism. They are actually susceptible to the same problem. However, two things contribute to it being witnessed less frequently, I suspect. The first, is that the "bowl" in those sticks actually has lubricant which greatly reduces the wear, and the second is that the mechanical parts tend to outlast the potentiometers; that is, the sticks start to drift before you get the "floppy stick" problem to begin with and then you stop using it or replace the stick, and therefore it doesn't actually see enough wear to cause the floppy stick problem.