Hacker News new | past | comments | ask | show | jobs | submit login
AltWinDirStat (github.com/ariccio)
138 points by theandrewbailey on March 31, 2022 | hide | past | favorite | 74 comments




The author's views on code seem rather opinionated in general. Their thoughts on internationalization in particular go against all best practices in the pursuit of clean code dogma: https://github.com/ariccio/altWinDirStat/tree/master/WinDirS...

I'm amused that the author rants about the importance of being able to easily analyze code and then wants to produce (presumably) a different binary per language to analyze all over.

Their commit messages are also rather colorful. This is an interesting project, but seemingly not someone I'd enjoy working with.


A fun read indeed. I wonder about the insistence on keeping it less than 20k loc?

Is that the developer basically saying "this problem can and should be solved in less than 20k lines?"


Looks like it; the author also says he sticks to certain paradigms like an indentation style I've not seen in the wild before and making as many things as possible 'const'.

I don't mind, I can respect people having Strong Opinions, it's an improvement over having too weak opinions which lead to inconsistencies in a codebase.


I'm guilty of the const / final thing... it really does help in the language I use for work all the time, but that's because its compiler and analyzer are built around using those hints to do static analysis in my editor.


fwiw, we went from in-memory to sqlite and had massive performance gains for a language model trie we were working with in an app. Best part: cross-platform! I just find this so odd, the gall of the forker who literally started with someone else's code then, after asking about a collab, told them "sorry, I think better." So weird. Ah well, 7 years old, I'm sure they've both gotten over it.


Thanks for sharing! What a fun read!


I always liked diskonaut, since I can use it anywhere (remote computer ssh is mostly where I live). https://github.com/imsnif/diskonaut

It's in Rust, which I don't code, but it is if anyone cares about such things.

It works fast, is easy to use, and looks pretty.


I’m going to guess that AltWinDirStat is much faster as the readme references several windows specific performance improvements.

Commenting though to thank you for bringing Diskonaught into my life.

FWIW I have been using ncdu for this purpose for many years, I like it, but diskonaught looks like a solid improvement.


Where's the improvements list? I can't see it.


I like it, reminds me a lot of something I used to use with Windows -- SpaceSniffer

This might get me to finally stop writing so many loops, but getting this on servers at work might be questionable :D


How are you using it over SSH? :)


Looks great, thanks for sharing.


Old SpaceMonger[0] and now SpaceSniffer[1] present a much better visualization of folders while also letting you adjust the granularity of how deep you want to see through.

[0]: https://web.archive.org/web/20121126062443/http://www.sixty-...

[1]: http://www.uderzo.it/main_products/space_sniffer/index.html


I second SpaceSniffer...it's not actively developed any more :(


Shameful self-plug for a small project that I stopped improving as soon as it became useful for me: https://github.com/alanbernstein/treemonger

The subdivision algorithm and display style are intended to mimic the old version of spacemonger. For whatever reason, that was always my favorite way of visualizing disk space, and I wanted to use something similar on Linux.

I wanted to replace the Tk renderer with an SVG one using SMIL [1],but got discouraged when I learned it was deprecated. Looking it up just now, I see that the deprecation is apparently suspended, so maybe I'll get around to that after all...

[1] https://developer.mozilla.org/en-US/docs/Web/SVG/SVG_animati...


I'm a big fan of the original project, so I'm curious what the changes amount to. (It claims there are performance improvements, but nothing detailed.)


A long time ago I switched to WizTree, which does the same thing except it basically only takes ~5 seconds to do it for an entire drive.


WizTree cheats (in a good way) and uses the NTFS MFT to find files.

Another tool "Everything" uses the same idea, to search for file names etc in an absurdly fast manner.


Everything is incredibly fast. Still blows me away that MS haven't implemented something like this in their search.


Voidtool's Everything is one of those things I pretty much can't use a PC without. It's just stunningly useful and performant. MSFT's file search is so slow in comparison it feels almost like a malicious prank.


> so slow it feels like a malicious prank

Windows Explorer -> Sort by date

Unfathomable how someone thought that was a good idea.


What do you mean? I sort by (reverse) date almost everywhere where I look at files.


The "date" column and sort order in Explorer is a "deep state metadata inspection" kind of deal. For ordinary files this makes no difference, it's the same as Date modified, but sorting by date in a folder full of media files generally ends badly and in any case takes a long, long time until Explorer has parsed every last one of them. Explorer also seems to be rather unable to cache the results of this operation.


I am on Linux and I had to use updatedb recently and I thought, this crap is so damn slow I want to use Everything again.


Pretty sure they said it's because it doesn't support permissions, so you could see anything on your hard drive, that's why they don't support it and do indexing instead


The operating system doesn't need permissions to see anything on your hard drive and it is the operating system that is enforcing the permissions so it can filter the results afterwards. Also, an index can be stale and show files whose permissions have changed that you shouldn't be able to see so the permissions have to be checked on the search results either way.


The developer of WizTree also makes WizFile for instant fast file search.

https://antibody-software.com/wizfile/


Unexpectedly, searching the generic word `Everything` find exactly what I was looking for.


Yeah, not the most SEO friendly name.

I'm 99% sure the comment is referring to Voidtool's "Everything": https://www.voidtools.com/

It and WinDirStat are some of the first things I install on any new instance of a computer. But I may check out this fork and Whiztree for other inspiration.


I think you read the comment backwards.


I miss Everything on MacOS


There's Disk Inventory X


Disk Inventory X has been a little hit or miss for me. Works OK on my two Macs (Catalina), but can’t index the whole (128GB?) drive on my wife’s MacBook Air (Mojave). Just crashes at some point.


There is HoudahSpot. Not free though.


WizTree has been my go-to for a long time


I've also been using WizTree for quite a while, but recently learned WinDirStat scans the filesystem instead of trusting the NTFS metadata because it can sometimes be incorrect(?) and is a bit tricky due to poor documentation. The WDS developer actually addressed this in AWDS's issues 4[1] and 19[2] a few years ago, and even said he's contemplating supporting the MFT but it seems he hasn't gotten around to it.

1: https://github.com/ariccio/altWinDirStat/issues/4#issuecomme... 2: https://github.com/ariccio/altWinDirStat/issues/19#issuecomm...


By using cached NTFS metadata instead of actually querying the allocation tables I presume?


Yep. Their related product wizfile uses the same trick for fast search by filename/path. Obviously doesn't work for non-local file locations.


Me too, been using it for 10 years.


"AltWinDirStat" could totally be a German town.


With an additional "d" even better: "AltwinderStadt"


Quite a bit more charming than Neuwinderstadt.


Fork of WinDirStat, a disk usage analysis tool for Windows: https://windirstat.net/


Which itself is a Windows port of the linux utility KDirStat (Which itself has been superseded on most linuxes by QDirStat)


GNOME comes with a useful utility which does that as well called Disk Usage Analyser. Usually installed by default via the gnome package on many distros.


With a binary name of `baobab`. I always wondered, what the mnemonic here was/is.


Other alternatives:

• du | xdu

• filelight


ncdu when you don't have x


Thanks for letting me know about this, what a handy utility.


I even prefer ncdu even if I have X. It's just that good.


+1 for `ncdu`. One of my favourite tools.


There’s an amazing tool for this on Mac called DaisyDisk. It’s one of my all-time favorite Mac apps.


DaisyDisk is very polished and nice, but I'd like to add GrandPerspective [1] to the discussion - it's not as pretty, but it's free and does a very good job as well. If you don't mind spending $9.99, DaisyDisk is definitely worth it, though.

[1] https://sourceforge.net/projects/grandperspectiv/


GrandPerspective is a quite delightful disk space visualizer, and was the app I used to replace the delightful workhorse 'Disk Inventory X'[0] since Disk Inventory X was infrequently updated and would routinely become incompatible on new OS X versions (this was almost 10 years ago).

[0] - http://www.derlien.com/


DasiyDisk is insanely faster than the rest, it can scan my HD in about 30 seconds


I've never liked this nested pie chart style. I don't understand the purpose of a disk space visualizer where the area of an element on the screen doesn't really represent relative file size.

I wonder if anyone can explain what I'm missing?


"Disk Inventory X" is free, linked from the windirstat site.

Great program, however not on the appstore, and possibly does not work with latest versions of MacOS.


The homepage and download page haven't been updated, but I can confirm that Disk Inventory X works just fine for me in MacOS Monterey (12.3, Intel machine)


WinDirStat was a clone of KDirStat (KDE3-era); today there is Filelight. There's a Gnomeclone of it, but it's quite a lot worse (The sunburst only has only or two levels, which cannot be adjusted, and you can't have anything other than a 50:50 split).


I guess is this the subthread where we list other disk space analyzer tools.

I've been using TreeSize Free/Pro on Windows since as long as I can remember. Solid program, nice "old school" interface that I really enjoy using. Not open source, but worth paying for.


TreeSize is a good alternative to WizTree now that it also has MFT scanning. It's a bit slower than WizTree but has more relaxed licensing/pricing.


Yea TreeSize is great - I may have to check out this new one though

I do wonder how they compare because I always found ( I think? ) TreeSize to be much faster than WinDirStat



The only one that worked well for me on Windows is SpaceSniffer. It correctly treated symlinks and junctions (most tools duplicate those) and alternate data streams (which most tools ignore).


No idea about ADS, but junctions work exactly as they should with WizTree [0]. I have junction folders that are bigger than the entirety of C, so with that not working, the tool would have been uselesss.

[0]: https://www.diskanalyzer.com/


I like ncdu for cleaning up from the command line


I implemented an ncdu clone as an rclone subcommand as I love ncdu so much: https://rclone.org/commands/rclone_ncdu/

This means that rclone ncdu runs locally and on your favourite cloud storage. It also runs on Windows, macOS, Linux!


For Windows systems I'm a big fan of this freeware: Scanner.exe (one executable of 478 kB) –http://www.steffengerlach.de/freeware/


And I'm a big fan of SpaceSniffer (http://www.uderzo.it/main_products/space_sniffer/)

The executable is a bit bigger (950K), but it's very fast, looks nice but not fancy, and gets the job done.


Anyone else amused just reading the commit comments?


At $DAYJOB all the commits have a particular uniform format and are quite restrained and professional. I wouldn't say 'amused' but I agree with you, it did bring me a smile to see this person showing their humanity in their side project, especially in such a deep technical context.


Is there a such software that can do this on network shared folders?


I am a big fan of: Directory Report

It is faster than WinDirStat, and

Can create more reports too




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: