Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Diskitude: Disk usage visualization tool in 10 KB (madebyevan.com)
83 points by pmarin on Dec 5, 2020 | hide | past | favorite | 56 comments


Speaking of the size and Win32: I remember fondly in Delphi years there was a full-fledged framework which replaced the included libraries: KOL and MCK [1] (latter one replaced VCL), written from scratch and relying mostly on Win32 and a bit of asm.

It produced ridiculously tiny and responsive programs, both CLI and GUI, while still integrating into Delphi (and later Lazarus) drag-n-drop IDE workflow.

Needless to say, the specifics of the project attracted the obsessive type. Currently, the main developer is working on his own language Al-IV [2][3]. One of the goals, it seems, is total platform mobility, the language supposedly compiles (transpiles?) to "C#, Delphi (32 bit old style, with VCL), Free Pascal/Lazarus and Java/Android". I honestly don't know what it is, a work of a genius or fringe art, but that's a lot of work and I think it deserves a bit of attention.

1. https://wiki.freepascal.org/KOL

2. http://f0460945.xsph.ru/AL4/index.html

3. https://sourceforge.net/projects/al-iv/


I use WizTree for this which is faster but maybe less accurate? The end report is, in my opinion, more intuitive and easier/faster to navigate.


WizTree is unbelievably fast (for NTFS volumes). Nothing else I've found comes close. I believe it reads NTFS metadata directly rather than going through the OS, which is why it needs admin access, but it's breathtakingly faster than WinDirStat etc.

The speed difference is less important when you have fewer files, but for people with packrat volumes that include a decade of personal documents, photos, and bits of defunct Windows installs that you need to prune, it's an absolute lifesaver.

Ed: on my 3 terabytes of poorly organized files, Diskitude takes about 5 minutes to index. WizTree finishes in 10 seconds. I can't say which is more accurate, but I know the tree view in WinDirStat is much more useful, it lets you search by filename, it colors by filetype, it exports to CSV, etc. It's better in every way that matters to me.


For people on the commandline, `ncdu`, I highly recommend it.


"tkdu" for a graphical, treemap version. The nice thing about tkdu is that you can pipe the output of du into it, allowing you to visualise a disk on another machine remotely.


Do you happen to know where I can find current tkdu's source? I couldn't find this package in Ubuntu's repos and all I found were a few forks, one of the more recent hasn't been updated in over 4 years: https://github.com/zeehio/tkdu


I think that's it, I'm afraid. The one I have on my system has a copyright date of 2004, I don't think it's been updated recently.

But it still works just fine, despite being old.


I'd also recommend aliasing `ncdu` to `ncdu -r` (which enables read-only mode), so you can't hit 'd' (delete) by mistake.


Agreed. I even use it on my Android device with Termux sometimes.


Back in the day tinyapps.org was the go to site for all tiny programs. I think today it would be much harder to round up such huge collection of tiny programs that are free and actually useful.


Tinyapps is still very much alive and kicking.


2f30.org Codemadness.org Bitreich.org


Thanks for the link. I'm a sucker for GNOME's disk usage visualizer, so it's nice to have something similar on Windows.





It's funny, I only have used the program on Linux via wine. Is the GNOME tool any better?


I'd say they are roughly the same from a user's perspective, though the file systems are very different of course.


I remember when there was an MSDOS tree command that was 512 bytes, same as a disk block at the time. I think it was written in assembly, and was from pc magazine or similar, can't remember the author. not saying this as "10k is a lot", just a reminder of how ppl acheive amazing things with constraints.


While I was trying out Ubuntu, there was a view of disk usage that used this kind of circular layout. And it confused me. Does the position on the circle indicate hierarchy? I don't know just looking at it why things are where they are on the circle. Am I missing something that others find intuitive?


Assuming sibling comment is right and it was baobab, mouse over any part of the circular layout and a tooltip will tell you that directory and how much it uses, and other markers will point at and label the child directories that use the most space.

The center circle is the directory you've chosen to analyze, the next ring out is the immediate subdirectories of it, the ring after that is the next level of subdirectories, etc.

Baobab also has a toggle below the sunburst that switches to a nested-rectangle view that might be a lot more intuitive for you. It's definitely more useful for me when trying to see relative usage across the whole drive, but I like the sunburst when looking for the largest sibling subdirectories.


Presumably you are taking about a hierarchical pie chart (wikipedia refers to it as a "ring chart" which may be the common terminology?). Perhaps not immediately intuitive but once you understand it, it's a great visualization tool. I first encountered them as visualizations for IP address management.



The arcs on the circle represent percentages, like on a pie chart


Why are disk usage tools always so slow? Can't the filesystem store diskusage hierarchically, so these tools can open instantly?


WizTree can do it for NTFS volumes by parsing the MFT directly. It's much, much faster (on NTFS) than Diskitude or any other filesystem-agnostic tools. WizTree takes seconds, not minutes, to scan hundreds of thousands of files.


writing to each parent directory would cause enormous write amplification and terrible io performance.


I guess you could delay the actual writing and use a journal to make sure everything is consistent even when the system crashes without a proper unmount.


> enormous write amplification and terrible io performance

Why would it be enormous instead of small?


imagine node_modules with dozens of layers deep nesting. each write would have 10x or 20x amplification to update the parents.


What is the best MacOSX nearest alternative?


If you want one with a similarly styled UI, it's DaisyDisk.

https://daisydiskapp.com/

Also available on the App Store but the sandbox requirement adds a minor annoyances with allowing it access to your disk.

Personally I find the big grid style visualizations make it easier to actually find large files that I don't need, like what you get with WizTree on Windows, but I'm not sure there's a current Mac option. I think DiskInventoryX is gone, but maybe Grand Perspective is still around?


I recently wanted to test DaisyDisk but ran into restrictions in the demo version as soon as I tried to drill down on something--I think it was seeing sizes of some restricted system folders?

Dear DaisyDisk developers: sorry, if you don't let me verify that it does what I need it to, I'm not paying.


Grand Perspective is in the app store--wasn't aware of this one, but GP works great.


A minor annoyance with GP is that when you delete a file, it doesn't update the graphics of only the deleted portion (with an option to refresh that folder alone) - you have to rescan the whole disk again to regenerate the view.


Disk Inventory X. Don’t let their outdated website fool you, the app works great, even on Big Sur.


Does it understand APFS snapshots? Often, when I clean up space by removing files, my disk usage percentage remains high because snapshots are holding references to the things I’ve deleted. This makes sense, but it’s opaque to most disk analyzers, and I usually don’t remember their existence right away.


I've been developing one that runs on Mac, Windows, and Linux and provides a unique/aesthetic/effective visualization.

It's definitely more for the audience that enjoys sleek, convenient interfaces over tiny files sizes though ;)

(It uses Electron for the UI, Rust for the disk scanner)

https://diskatlas.com/ It's in beta now, so I'd love feedback from anyone who wants to try it.


Personally I just use the Finder.

I go into list view, turn on "calculate all sizes", sort by size, and just go down the list, expanding and collapsing directories with the left and right arrow keys to see what's in them.


Running Diskitude or WizTree in Wine? Or with CMD+J in Finder > Calculate all sizes.


  du


Thanks! I almost forgot about that. ncdu is the ncurses version that sorts by size


I’ve always used (and love) winDirStat.


If you try WizTree, you won't come back.



IIRC SpaceSniffer can handle NTFS junctions properly whereas WinDirStat didn't understand them.


If you have a Mac, Disk Inventory X displays data in the same way. I find it invaluable.


For Windows I use space sniffer because the visualisations and UX are pretty much perfect. http://www.uderzo.it/main_products/space_sniffer/


If you didn't notice, this was created by the cofounder of Figma.



sudo find . -type d -print0 | xargs -0 du -m | sort -un

Disk usage visualization tool in 56 characters. :-)


What's wrong with:

    du -h | sort -h


I just wanted the directories, not the files. Your command is great if you want it down to the file level. The -h args are of course a matter of preference.


I was gonna say you cant beat gt5 and xdiskusage, but then I saw this is for windows


Been using this almost 10 years now to find large folders to delete, simple and fast.


There's a curses disk visualizer in python:

$ pip install --user ohmu

$ ohmu




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

Search: