- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
Check your reading skills, it's $14 million, not $148 million
Admin
Admin
damn, i didn't see noOne's comment because he didn't quote you. ugh.
Admin
But even more to the point: that would give an inaccurate count. Installers don't just say "I installed to c:\blah, time to deltree c:\blah"; they maintain an actual list of files which are installed, and only remove those files. If you or the program put other files into the installation directory, they will be left.
How big of a problem this would be in practice is probably up for debate, but it'd certainly be annoying if you are trying to free up, say, 2 GB, see that there's a 2 GB entry in the programs list, uninstall it, and then see that only 1 GB has been freed.
Even single queries take far more than "nanoseconds" if they have to go to disk; usually more like "milliseconds" (6 orders of magnitude more than "nanoseconds"). Maybe many microseconds if you're on an SSD.But remember, that has a tradeoff: you're increasing the amount that you have to write when you change the size of a file. (Effectively, I think this will usually be true for every file write, as I think most programs don't do in-place changes.) My guess is it's not worth it.
Admin
Yes, remember the bad old MSDOS days when "installing an application" meant creating a directory for it and then copying the files from the floppy to a directory? And "uninstalling" meant deleting the directory?
But applications today have to spread their files across twenty directories, make entries all over the registry, check if supporting libraries are already installed, and who knows what else. Frequently the authors of the app don't know how to uninstall it completely.
And this whole idea of DLLs ... Just as disk space was becoming cheap, Microsoft came up with this brilliant idea that we could save disk space by sharing common libraries. Of course that creates a ton of problems (or at least 625 pounds of problems), like, How do you deal with multiple versions of a DLL? Can you assume that the DLL is always upward compatible? If an app that uses a DLL is uninstalled, can you delete the DLL? What if there are other apps installed that use it? How do you keep track of what DLLs an app uses? Etc etc. So in order to carefully conserve on a plentiful resource -- disk space -- we consume large amounts of a scarce resource -- programmer and user time. It's like someone who lives in a desert carefully safeguarding his supply of sand while thoughtlessly wasting hundreds of gallons of water.
Admin
On the serious side: Does NTFS support sparse files? I don't have a Linux or Unix box handy to check on this, but back in my Unix days you could create "sparse files", i.e. if you did a seek to byte 1,000,000 and wrote 1 byte, the file would actually occupy only 1 block on the hard drive, but there would be dummy pointers for all the previous blocks so it would look like it was 1,000,001 bytes long and if you read it you would get back 1,000,0001 bytes. But 1,000,000 of those bytes were phantoms.
Admin
The tax probably includes the Obamacare surcharge. http://www.dailymail.co.uk/news/article-2233221/Dennys-charge-5-Obamacare-surcharge-cut-employee-hours-deal-cost-legislation.html
Admin
(Lovely spam, wonderful spam!)
Admin
I like your math, but you caught an extra 7 compared to the receipt.
Should be starting with 14,817,804.04 rather than 148,177,804.04
Following your math, comes to 572.3 pounds.
Admin
I know it's below you, but sometimes by looking elsewhere to find that all those "hard problems" have long been solved you may actually learn something.
Admin
15M$ tax for a starter. I'm not surprized. I told you so!
CAPTCHA: populus. Dead on, that's our populist communist government at work!
Admin
Admin
At least most modern Unixen have a comprehensive package-and-update management system that you use to install most everything, unlike Windows, where every application vendor botches up their own, and your system while they're at it.
Unix just makes an admin's life soooo much easier!
Admin
Here's two more issues:
Searching speed. This in particular affects the (main) executables. When the user types "foo", the traditional Unix (and, as I gather, also Windows) approach only has to search in a few directories (/usr/bin etc. on Unix). When each packages installs their binaries in their own place, it has to search all of them.
Heterogeneous networks: Though surely not as important anymore today, this is one of the classic reasons for the Unix file system design: Architecture-independent stuff (documentation, data) goes under /usr/share, so they can be shared on a network, whereas /usr/bin, /usr/lib etc. can only be shared across machines of the same architecture.
Admin
You know, OS X has that capability - most application "bundles" (which are really directories) contain the entire application - just drag and drop. Or use the Mac App Store where everything must be self-contained. (This results in some difficulty for certain types of programs, which is why the MAS is not the be-all-end-all solution to software distribution. Like device drivers cannot be installed this way).
Yep, it's Altium's fault. It's what you get when you shift your software production from Australia to the US, back to Australia, and then lay off practically the entire staff and move it all to Shanghai (and a bankruptcy or two? Altium's a sordid mess - it's a wonder how it even still works given the complete loss of institutional knowledge several times). And China's got a not-quite-metric system of measurement, so perhaps the installer reported 1.4 Chinese TB.
Admin
Oracle Varchar Null?
Admin
Actually, I think the story is more like.
Boss: Just put some placeholder text in there until we get the real text. Minion: Lorum Ipsum FTW! Boss: WTF is this?! I can't even read it! Put something real in there. Minion: ...
Admin
Upvoooooooote!
Admin
It would be if we were talking about $148 million instead of $15 million.... you added an extra digit in there somewhere.
Admin
Oh, and if you think gold is $1775.50 per ounce, I'll sell you all you want to buy considering the market price is currently $1657.07 as I type this. And I converted directly from Troy ounces to "A" pounds with a conversion factor of 14.58 Toz/lb, which is close enough for WTF work.
Admin
Oh, you went back and looked at the historical gold price on that day. That's nice.
Admin
Not to mention the inflation!
Admin
Apparently some people missed the first image?
Admin
Admin
It just compresses very efficiently.
Admin
Admin
On TDWTF, an order of magnitude is not significant.
Admin
I meant to quote...
On TDWTF, an order of magnitude is not significant.
Admin
Alas, most sites, like this one, behave like my total screen estate is theirs, and have a nice wide (most often unused by visitors like me) column on the left which pushes their actual contents way to the right, and no way to suppress it.
And yes, I also have a bookmark column on the left. That one I use way more than this site, so it stays.
P.s. Not everyone has eyes of a 16-year old.
Admin
Admin
42 is the answer, and 1.4 million is the amount of tax, but both of those are piddly little irrelevant stuff. Did you notice the receipt doesn't show the tip? The haven't finished uploading the amount of the tip. That singer was out of this world.
Admin
They're in that jar that's holding the door open.
Admin
If someone is willing to pay $15 for a salad, they deserve to be taxed like that.
Admin
The Real WTF is that idiot comments like this one get "featured". (I had to say it and you know it…)
But i can see how the tax calculation was performed.
"Deep Thought, we have finally come to hear your answer. What is the tax for that meal, the meal of one crab roll, one house salad and all the rest?" "It's fourteen million, eight hundred and seventeen thousand, eight hundred and four dollars and four cents." "Uh, okay, and what kind of tax is that actually?" "I don't know. I wasn't built to calculate that. But I can help you build a much more powerful computer for that purpose."
Admin
Admin
Admin
Admin
Admin
Admin
Admin
Admin
Captcha: Lorakeet - how appropriate
Admin
Yeah, I found a site that quoted gold prices in kg, and that was 53201.77 USD, so 278.52 kg, or about 614 pounds. I like the fact that the editors highlighted the comment from idiot who was pedantic and completely wrong.
Admin
I do hope you were being ironic.
I've only ever found Linux package systems to make life (relatively) easy if you are using something a 'standard' package.
Eg, try to install a later (released) version of a program than the one for which a package is available and you'll be spending 5 days trying to find all the right versions of the dependency source files
Admin
While that's PROBABLY strange - it is possible that the app was installed on the D: drive (or E: etc) or that it was installed on what looked likes the C: drive, but there was a hard directory link meaning that it was actually on another physical disk
Admin
If you have two apps running at the same time that use the same version of the same DLL. In any case, RAM is getting cheaper, too.
Does it say somewhere in the DLL spec that minor versions must be upward compatible? Maybe so, I don't know. Do all software developers follow this rule? You casually say "otherwise bug". Umm, yeah. Can you guarantee me 100% that no program that uses a given DLL relies on behavior that is changed, intentionally or not, with a new version? Because if not, then I could install app A, it appears to work fine for years and years, then I install app B which has no obvious relation to app A (as far as the user is concerned), and suddenly A quits working. That has happenned to me, and in at least one case I tracked it down to an incompatible DLL. Maybe the developer screwed up, but that's my point. Installing app B can make app A fail. That is VERY mysterious to the user and difficult to track down.
In any case, it appears your answer is: Generally no, you can't assume upward compatibility, and so you have to maintain multiple versions. At which point, what have you gained over just letting each app keep its own copy of a library and forget this DLL stuff?
Which sound great but are not simple nor entirely reliable. Have you never had a case where an app that used to work suddenly failed because of a missing DLL, or where DLLs have been left behind after you deleted an app?
Oh brother. I know it's below you, but if you come down from the ivory tower and visit the real world now and then you may actually learn something. Ever hear the slogan, "That's great in theory, but it doesn't work in practice"? To say that a solution will work as long as no one writes code that has bugs in practice means that the solution does not work.
Admin
Sure. It's not just Windows that throws files everywhere, Unix/Linux do too. I wasn't bashing Windows per se. I'm an equal opportunity basher.
Admin
Search speed: That depends on how you search for executables. In Windows and Linux GUIs, you don't type in an app name and the OS searches a couple of directories for it. You have icons or shortcuts for all your apps that include the full path to the executable. There is no search so it's a non-issue.
IMHO, each app should have its own directory. Then have one central, shared place where we list all the apps, that would basically have just an app name, the path to the executable, and a path to an icon. I think that would be it. Maybe some security-related info or some such. So yes, an install would have to update that central list. But that would be far simpler than the many places that an install updates today.
For GUIs, we'd then read that list and display the list of installed apps, just like Windows does now using the registry. For command-line, there'd be one place to search.
RE networks: Sure, some files should be accessible to anyone and others only to certain users. But it's hard to see why some pieces of a single app need to be available to different users than other pieces. Why would someone need to access the documentation for an app if they can't run the app? Okay, we might have a single copy of an app on a server but users each have their own data and can't see each other's. In those cases, the executables would have to be separate from the data. Actually I think that would often be the case. For almost any app, I might well want to have multiple sets of data. Like for an accounting program, we might have separate databases for different divisions. And certainly for a word processing program, we wouldn't say that you can only have one document, or that all users must keep all their documents in a single directory. So yes, I'd separate code from end-user data. But I wouldn't separate main executable from libraries from help screens from configuration data from preferences etc etc.
Admin
In 2004, when that blog entry was written, you might have had a point. But assuming that the software has been updated in the last, I dunno, decade, it cleans MS's hands.
(Even ignoring that objection, I think it's more likely that the installer screwed up the EstimatedSize hint [Altium's fault] than it is that Windows is calculating the directory size incorrectly.)
Admin