Hacker News new | comments | show | ask | jobs | submit login
NirSoft Freeware (2008) (nirsoft.net)
625 points by valgaze 69 days ago | hide | past | web | favorite | 232 comments

> While many software companies create a bloated installation package with size of 1 - 3 MB, the size of single utility in NirSoft is usually less than 100KB.

The early 2000s were a different time. While as modern day electron apps are regularly 100+ MB.

Fun fact: the icon for my Objective-C Mac app is larger than the executable binary (517 vs 394 KB).

You can probably shrink your icon down (losslessly) by dropping it into ImageOptim. https://imageoptim.com/mac

Or the command line util pngcrush

pngcrush is fairly old. And terribly unoptimized. If you want a command line solution, I recommend optipng (which does what pngcrush does, but better), and sending the result through advdef, which improves the compression even further.

...but really. ImageOptim is super awesome and zero-effort.

Super awesome yes, zero-effort no—just try to make it into part of an CI/CD asset build pipeline ;)

But really, why isn't ImageOptim itself available in command-line form?

IIRC, ImageOptim is a front end for a bunch of CLI image compression tools. So, in theory, you could roll your own for a CI system if you figured out all the arguments that ImageOptim was passing to those tools.

This looks promising:

> Automates ImageOptim, ImageAlpha, and JPEGmini for Mac to make batch optimisation of images part of your automated build process.


> automated build process

> Mac

Why would anyone run a CI server on a Mac?

Perhaps it's just their preferred platform. If it weren't for the expense I'd probably prefer it over Windows at least. At any rate, the readme does link to this article[1] if macOS isn't your thang.

[1] https://addyosmani.com/blog/image-optimization-tools/

You need to if your product is a macOS or iOS/watchOS/tvOS app.

I find Optimage has better lossless compression. I never regretted paying for the full version. https://getoptimage.com

Not OP, but thanks for the link to that app. It's quite amazing.

Yes, the size is after optimization (although I suspect iconutil recompresses it) :-) It's just that there are 10 images inside, from 1024x1024 to 16x16.

I recently introduced proper minification and tree-shaking to my Cordova app and noticed it only reduced size by ~23% (after 2+ years of active development, so quite some code).

Looking at the output directory, I saw that the fonts I'm using make up about 45% of the whole app!

A JPG screenshot of Super Mario is bigger than the binary of entire game.

At what quality settings?

Just about any. The SMB ROM is 31KB.

You really need to shrink that file.

"Things that Turbo Pascal is smaller than" - http://prog21.dadgum.com/116.html

I've come to see the rise of Electron not as a shortcoming of other UI tech, not a problem with Electron. OSX, Windows and Linux failed to have any viable cross-platform UI solution[0]; Electron is what we deserve for this failure.

[0] I would be very happy with Qt/QML and would grudgingly accept GTK, but others apparently are not that complacent

We've had perfectly viably cross platform GUI-applications for decades. Lots of them. Done one way or another, or a third. I'm sorry, I fail to see the problem that abominations like Electron are trying to solve.

Could you demonstrate an alternative that allows for UI as complex, with fewer cross platform issues that can easily target usage on MacOS, Windows and Linux? Let alone leveraging the language and UI interface/api that are the most widely developed against.

We used to get along just fine on things like Qt, Gtk (perhaps via Wx), or indeed Tk - in some ways still my favorite after all these years. But then 'easily' wasn't necessarily the gold standard of everything.

The electronisms I occasionally have to use are glorified chat-apps like Signal. Hardly complex UI cases.

By comparison, I wouldn't consider VS Code a "simple" UI. And replicating it with Qt, GTX or anything else would be a significant endeavor for even one platform, let alone three very different platforms. They all have serious flaws. As a user, I'd rather have something useful now, than wait a couple years hoping to maybe see a linux or mac release of a program.

To each his own, of course, and if VS Code does it for you, well then - excellent.

I personally find it a bloated mess, and like to stick with my Komodo and my Geany - two neat examples of portable UIs done right.

Anyway, I'm sure there are ways of embedding runtime web macinery in somewhat less than 100Mb. Twenty years ago I did so in a megabyte or two, admittedly without the js.

Effectively it is VB for the web age...

Exactly. And nothing new in my being contrarian. Back in my Windows days, back in the nineties, I had an iron rule that no vbrun.dll ever entered my machines. Mainly because they invariably turned out to be badly designed, poorly implemented, and just not worth the trouble.

These days, I do* have a couple of Electron-things installed, because I occasionally need them, but they are ugly hacks which bring me no joy.

No JRE either, by the way, if I can help it. Same reasoning.

Around 2000, I had a laptop with 5g of harddisk and 64mb of ram, now I'm at ~1tb and 16gb ram. Roughly a 200x increase in raw numbers, though lots of other things since then make the actual increase larger, so it sounds like we're using net-smaller apps :)

> ...so it sounds like we're using net-smaller apps :)

I also remember circa 2000 when the CS meta was, "who cares about optimization when you're riding the perpetual tailcoat of Moore's law"...then homogeneous parallel architectures became a thing overnight and much of the software development community was caught with their pants down.

Flash forward over a decade later with low-power embedded being the dominant end user platform and heterogenous compute already at the competitive forefront. Perhaps it's personal bias, but when I read net-smaller apps, my hardware design instincts immediately kick and scream net-complacency.

My personal complaint is that, with 200x more compute, we should be doing 200x more and/or more powerful things. Instead we're doing the same things ~200x less efficiently.

Yep. If you look at many of the daily tools out there, they do basically the same as was done using CLI or TUI tools back in the day, but now they pile on graphics "assets" to make the experience shinier.

The last time I noticed a real performance increase was going from HDD to SSD. I mean, I do also ask a lot more of my machine than 10 or 15 years ago so it probably balances out.

What is the biggest current bottleneck? Going from HDD to SSD makes even a 5 year old laptop feel close to current. Is there something that would do the same now?

Past 10 years is getting the same performance with less energy so you don't have fan noise and you get long battery life. Past 5 years is soldering everything to motherboard so you can't upgrade or replace anything without buying a new laptop.

Depending on the CPU, RAM speed can be a big one. Laptop vs desktop still carries a performance cost due to the power requirements. NVMe SSDs are to regular SSDs what they were to hard drives, but there are limits, especially gigabit internet and slower CPUs. Honestly though, the biggest gains are generally in making software more efficient — like choosing Safari instead of Chrome, or removing unnecessary drivers and bloat from your system. Run a startup log or check your system’s logs for errors that might slow down your computer. Oh, and install browser-native adblockers on every device. :)

As blockers can be very bad for performance because they are dumb. uBlock Origin is good though.

Sadly, no. Clock speed and multi-thread aware apps haven't gone far enough to give that feel of 'snap' we all got. I remember my Intel x25m so fondly. Even dual nvme drives in raid0 don't make thing hugely faster. I'm interested in what one of the 18-core i9s would be like clocked at 5ghz with our optane storage. Probably 1/3 of a second faster to load Firefox....

M.2 SSD PCIe hard drives are amazing. You can boot Windows in under 15 seconds inside of a VirtualBox VM instance. So about the speed of what it would boot in if it were directly running off your SSD. PCIe SSDs can transfer data at speeds greater than regular SATA SSD drives.

With Spectre & Meltdown patches, looks like we took a step back.

To go further back into the 80s where we were hard locked at 64k for commodore or 640k for DOS Assembly became the norm and optimizing for everything was the common goal for the whole community. It ended up creating a hack centric environment but it sure wasn't A) pretty nor B) beginner friendly. I'm old and have fond memories of assembly on the C64 as a kid, but I think we are in a better place where we have higher level languages and where Racket (Lisp of your choice here) and Python can run on a micro controller.

I wish there was a community of actively-developed 2000-era software that ran on modern hardware. We'd have so much space...

im really fed up with this argument. most "native" apps use big chunks of the platform "frameworks" and are not platform independent, which was introduced by os companies and politics in the first place. most modern apple native apps are the ones that crash the most while electron are stable as fuck.

> most modern apple native apps are the ones that crash the most while electron are stable as...

I'd hesitate to make this generalization. I need to use slack on a macbook for work and it crashes regularly. I tried out VS code and it also would crash on occasion. Worse than that, coworkers of mine have rolled bug-ridden electron apps that we're required to use. There are plenty of non-electron apps that are stable.

Not necessarily your main point, but this triggered me:

> coworkers of mine have rolled bug-ridden electron apps that we're required to use

This is quickly becoming one of those things I can't stand, especially when there are open source/free options out there. No, I don't want to use your homegrown application unless there really isn't a good option out there. And if that's the case, make it a good tool and release it OSS and try to get some traction behind it.

> No, I don't want to use your homegrown application unless there really isn't a good option out there.

Most 'home grown' corporate apps I've used are dependent on internal resources, processes and requirements. They'd be useless to anybody else, there are no alternatives anywhere at any money and in many cases you can't do big chunks of your job without them.

I'm on a mac and use slack an vscode. Neither has crashed on me. I'm wondering if there is something about your mac setup.

I don't like that slack consumes some many resources. I love vscode so I don't care.

He is likely holding it wrong.

I've seen VS Code crash on Windows more than Mac... also, it often leaves anything you had running in the integrated terminal running in the background when it does crash. I haven't seen that specific behavior on mac though.

Most of the issues I've had with VS Code were actually due to extensions and not VS Code itself. Like for example, we started getting issues with CPU's getting pegged to 100% and it seems it was a couple of linters that were running causing that.

What do these custom apps do and why aren't they webapps?

I'm curious. If you have 20 electron apps running, does that mean you would have 20 copies of the completely same thing wasting your disk space and RAM?

How would that work if all the application developers decided that native sucks and all should use Electron?

Yes, that's essentially what happens. And it's a huge waste if you have 20 Electron apps running. Each ships with its own copy of Chromium which is as large as an operating system.

I created a proof-of-concept called Electrino that uses the platform native libraries to cut down on app size: https://medium.com/dailyjs/put-your-electron-app-on-a-diet-w...

Unfortunately I haven't had the time to work on Electrino due to family, etc. — I wish I did because the need is clearly there.

I've been thinking of something along those lines for years. I hope your project gets traction. I'd love to develop with web technologies exclusively, but what we've been doing with Electron is crazy. Imagine loading a whole new Win32 or Carbon/Cocoa for every app you open.

I can understand the inconsistencies and lack of feature support that could emerge from using a different browser engine for each OS (Webkit/Edge), but there should at least be away for Electron apps to share Chromium/Node runtimes between them.

Isn't this basically what PWAs will hopefully solve?

Rather than Spotify, Slack, Discord, ... all coming with their own Electron bundle they can be packaged up as a PWA and use the browser as the runtime environment along with all the nice offline stuff, safe OS integration for notifications, sandboxed file system access, ability to still do some work in S0i3 (aka Modern Standy on Windows), etc.

Or am I totally wrong about this? I am not a web developer so I could be :)

Bonus question: how would this work for things like Atom and VS Code that are electron based. Could they become a PWA?

All good questions and some things will probably be well addressed by PWA or whatever we decide to call JavaScript rich webpages by then.

But some UI issues, like the lack of a proper menu, browser's chrome and address bar will still be a turn off. Besides, having unrestriced access to the user's drive is not something a web page should be able to do and is a must for something like a text editor.

There's no reason a text editor, or most applications really, need unrestricted access to a user's disk. They have to prompt the user with a file open dialog anyway, so you may as well let the OS handle that and pass an fd/handle across the boundary for you.

What if you are using a smart IDE like editor that, for instance, minimizes and concatenates your css and js files?

It’s going to want access to all files in that directory, not only the ones you are editing.

tbh that doesn't sound like a huge problem to solve. Setup some working folders that the PWA has R/W access to and leave it at that.

Browser chrome and address bar are not an issue as I believe a PWA can run in a generic application Windows with it's own icon, etc. Similar to if you have used a Chrome Web App in the past? Unless you go looking for it you wouldn't know it was running within a Chrome process.

Not sure how menus are handled. A standard menu API would seem to make the most sense to me?

What is "PWA"?

Progressive Web Apps, but I honestly can't explain exactly what they are.

It's the combination of various technologies helping make websites which pretend (poorly) they are applications.

Hey, I saw the post that got the ball rolling on Electrino and I've been meaning to reach out to you. Do you have any tips on where to start on porting Electrino to Linux?

Electron-like "web" apps (that follow W3C standards) seem to be the future, and I'd love to help out however I can.

Great! I use desktop Linux regularly and I have some ideas where the Linux port could start off. Would you drop me an email at pauli@lacquer.fi and let’s talk?

Why wouldn’t google just ship a “libchrome” shared library so that they could share it?

They do, it's called Google Chrome.

Because google is more inclined to break their own APIs without concern of the integrations of others.

Adobe AIR was an effort to create a common runtime for similar things... wouldn't mind seeing a few OS vendors coming together to support something similar, but on the flip side, I don't want to be stuck with Node 4.0's API in 2024.

20 electron apps would be 20 copies of mostly the same browser

You also have 20 security nightmare apps running

> im really fed up with this argument. most "native" apps use big chunks of the platform "frameworks" [...]

Yeah, and that's a good thing. Furthermore, there are toolkits that don't, and they are still more efficient than Electron.

It's better (and more efficient) to have a developer write (or waste, if you consider doing their job "wasting time") two interfaces than to waste the computer resources of a million people.

Electron is just outsourcing cross platform development to the Chromium project.

Unfortunately waste of users' computer resources is an externality and developers are more expensive than ever. Revealed preferences show that customers would rather buy more hardware resources than pay higher prices for efficient software (within reasonable limits).

I would be careful talking about revealed preferences here - individual customers have close to zero choice in the matter. They select from what's available on the market, not from the space of all possible software.

If the efficient market theory is to be believed, then as soon as a competitor shows up with the user's preferred choice, they will gain the market share.

The fact that no such competitor exists is evidence that the user's preferences aren't what you stated, but is in fact consistent with reality, namely they prefer free and bloated.

The mistake here is believing in efficient market theory.

It's not so easy for a competitor to show up, because they have to work against heavy first-mover advantage and network effects in software. Those who do a crap job get first to the market and set the trend (and the expectations). Moreover, there's a heavy component of tragedy of the commons here, with commons being users' computing resources - the software is often designed with implicit belief that it's the only thing running on user's machine. It's enough to make a sale, and you don't get a reward for making it so that your users can run many other stuff simultaneously with your application.

Generally I agree with you but for Electron we're talking about own-goals the developers inflict on themselves. No one outside of the HNosphere uses Electron apps.

Plenty of people outside of HN use Slack, Discord, Atom, VS Code, Skype and Twitch.

Right now I have Discord, VS2017, a Postgres IDE and a bunch of Chrome tabs open. Task manager reports for memory usage (descending order): Discord: 1168,4MB, VS2017: 463MB, Chrome tabs: about 300MB each, PostgresTool: 152MB and the rest below 100MB. If I dont include all the chrome tabs, Discord uses more memory than all the other apps together, and some of them are "big" apps.

So my 32GB RAM, high specs system, is able to run only up to ~ 30 instances of Discord, not counting even the OS.

Wtf. It feels like malware.

That's why I have a simple rule:

"No JavaScript on the desktop"

And suddenly 8GBs of ram is at least 4x too much(Linux) even when I'm using "bloated" Java apps...


  Millions of jobs are based on outputting HTML in an inefficient way.

Then perhaps OS vendor should start thinking about unifying their UI SDK using web engines, because having to support the finicky toolkit of every OS is a waste of engineering time.

That was Boot2Gecko aka FirefoxOS. I would not mind having that on a phone.

> Electron is just outsourcing cross platform development to the Chromium project.

... and ultimately to the consumer, who pays for higher spec'd hardware and more electricity.

> most "native" apps use big chunks of the platform "frameworks" and are not platform independent, which was introduced by os companies and politics in the first place

That's the point. Why download another framework when you have one on your computer already that's tailored to your platform?

All of the mess in apps belong to developers and it has very little or nothing to do with the underlying framework.

I've seen and used nirsoft products for years, never realized his name was Nir Sofer. What a great name for a software developer.

It's strange to me that people still remember this. It's been 14 years, but I guess it's nice to be known for something :)

Every time I say or hear Microsoft, I think of Mike Rowe Soft in my head. Every single time.

Wait...are you the legendary Mike Rowe????

I think the story blew up around the time that I connected with a bunch of Linux-loving friends in college, so in my case, the timing was perfect for memorability. I'll bet that some friends from then would remember it too, if I brought it up.

Hey, it still works: https://MikeRoweSoft.com

The thought of Microsoft still paying for that domain name is funny. I like to imagine they don't dare to stop doing it or they'll risk opening this whole can of worms again.

Come on now, you were near the top of fark.com for a moment. That kind of infamy can never leave you.

Mnenomic devices are a powerful thing

Haha. Never heard about that case.

>>> A settlement was eventually reached, with Rowe granting ownership of the domain to Microsoft in exchange for an Xbox and additional compensation.

Depending on how many games he later bought for that xbox, MS may well have been the ones that came out on top.

The name Nir Sofer "ניר סופר" means "Field Scribe" ("nir" also means plowed, but refers to a plowed field, too.

Now you know!

So if he travels to Israel he's a DBA?

He's Israeli. Not sure if he lives there right now though.

I think it was Ted Nelson who pointed out that Mark Miller's name is his vocation.

( https://en.wikipedia.org/wiki/Mark_S._Miller )

What's a miller do?

A miller operates a mill. The joke hinges on the idea of a computer as a "mill" for information, a symbol grinder.

Babbage called the 'cpu' in the Analytical engine the 'mill'.

Nir is his first name, Sofer last, which in Hebrew means “writer” (as in scripture etc.)

I agree. His marketing almost writes itself.

My parents have been shortening my name to "Code" pretty much since I was born. My friends and coworkers tend get a kick out of it when they realize my name can be shortened that way.

Why, what's your full name?

I'm struggling to come up with anything other than "Cody".

I can't claim to have used all of Nirsoft's tools, or even half of them, but I've used more than a handful, and they always do exactly what they claim. Quickly, quietly, and compactly.

This guy is a personal hero of mine, and I'm proud to say I sent him a few bucks a few years ago to say thanks. I don't know how many others think to do so, but I hope it's a lot of us!

> Quickly, quietly, and compactly.

Just like a good cli tool should. There is currently a disturbing trend of tools coming from certain communities that are extremely noisy with garbage in various colours and even emojis (the community is the Mac community). I can't wait for it to end.

Nirsoft and Sysinternals should be part of Windows. Add Notepad++ and you have a decent OS all of a sudden.

WSCC[0] to have them all in one place.

[0]: https://www.kls-soft.com/wscc/

I thought Sysinternals was acquired by Microsoft?

I would guess OP meant "integrated into" rather than acquired by, so that they are available by default rather than having to be installed separately.

Parts of them were integrated. Take a look at the Win XP Task Manager and at the Win 10 one.

They are still way behind ProcExp for example.

A straightforward tool for everyone is not "behind" a comprehensive tool for experts just because it does less. Minimizing the probability of someone using Task Manager to shoot themselves in the foot is probably more challenging than adding an advanced feature to ProcExp.

The "Details" tab on the current task manager is plenty for shooting yourself in the foot but it lacks features for power users. I personally think they just don't care.

Unfortunately, ProcExp started breaking with Windows 10 (columns regularly got into a broken state, requiring reset of the registry settings), plus they ruined the color scheme for the tray icons, so I switched to Process Hacker instead.

Mark went work for MS, as I recall. This was some years ago; I don't know about currently.

MS sucked in the tools/pages onto its domain. Navigation to/of their pages and versions became somewhat shittier (per the... "canonical" MS web experience, I guess). I seem to recall a bit of public pushback on this point, and things improved somewhat. Maybe I mis-recollect; I've been mostly away from Windows for quite a number of years, now.

He's CTO of Azure and therefore a VIP at Microsoft...

In his spare time he's also managed to write three novels.

But there's also https://live.sysinternals.com/ as usual.

I think the former developer of process monitor and process explorer is now CTO of azure if memory serves me correctly.

And for some (stupid?) reason they weren't integrated into the OS so a lot of people don't know about them.

If they're integrated into the OS they have to be supported at the same level as the rest of the OS, which entails the same rigorous processes w.r.t. updates, bug fixes, etc...

By keeping them out-of-band, that support requirement doesn't apply, allowing the tools to be much more aggressively updated and released without the same degree of oversight. There's a reason they're licensed separately and effectively with no support or warranty. Doing so enables their rapid development without/less-of the usual bureaucracy.

I can confirm, I downloaded the suite from Microsoft a few weeks ago.

Still comes in handy to track down some specific types of bugs.

I really hope they someday integrate the tools into Windows considering how few megabytes they take up

I really hope they don't, because then their releases would be intertwined. Instead of getting the latest and greatest sysinternals tools all the time, I'd probably have to wait until the next Windows release.

That is not how it works these days, a lot of things can update separately from Windows itself, my current solution is to use Scoop an open source Windows CLI package manager which can update it whenever a new version comes out

they were

If that happens Notepad++ will probably the first explicit GNU GPL product from MS.

I think that would be the Hyper-V Linux driver: https://www.infoworld.com/article/2631026/server-virtualizat...

It's still hard to understand that they haven't touched Notepad in such a long time. The effort to get a good editor must be tiny compared to a lot of other stuff they are doing. I am pretty sure I could improve Notepad substantially with just a few days of work.

I'm sorry for going off topic, but I keep seeing this kind of comment and I want to get an answer - how is Notepad not a good editor? It can take any ASCII/ANSI/UTF file and output it in plaintext. It has line-wrap as an option. It loads fast and can handle files of decent size without lag. Users can set display and print fonts, etc. I'm really lost as to why anyone says Notepad is not a good text editor for basic text.

I've written entire websites in Notepad, not to mention it being my go-to writing tool for anything that doesn't need to be visually impressive or which I can add formatting tags to. I prewrite emails, cover letters, and long forum posts in Notepad. Heck, if I need a DOS batch file, I turn to either Notepad or Edit.

On the other hand, Notepad++ takes much longer to load, has more UI elements, and generally makes it harder to do the one very simple thing I want it to do - allow me to create and edit plaintext. Notepad2 was better on the UI last time I used it, but still took longer to load.

> how is Notepad not a good editor?

- Line endings. It mauls anything not "windows line endings" format

- Crappy undo (it will occasionally eat 5 lines of text instead of one word)

- No redo

- Barfs on large files (on a modern machine) If by accident you double click on a 1GB file you better kill it.

Please note I did not mention anything which could be argued as "rather belonging in a professional editor". No syntax highlighting, brackets matching, collapsing code / paragraphs, diff'ing 2 documents, tabs, macros, etc etc.

I agree with you actually. Back in the day I coded almost exclusively in Notepad when writing lots of HTML code and Basic code, for example. For the first year of Java I used it for Java because I wanted to really know the language (and without the help of an IDE, you get really, really good at spotting syntax errors and memorizing APIs). The simplicity was impossible to beat, and its ubiquity made it always available.

Maybe that's why I use vim for everything now. It's like notepad but with much more efficient keybindings :-)

P.S. I do use Intellij for java now when I'm writing Java code, mostly because I have to. That said, the feature set is amazing and for doing Java I'd probably use it even if I didn't have to because I'm spoiled. Still use vim for everything else tho.

> how is Notepad not a good editor?

1. Only understands Windows line endings.

2. Always saves UTF-8 with a BOM.

Only the first one is really a significant issue, but the second one can be a pain in the ass sometimes. Granted, yes, it's a pain in the ass primarily because *nix applications often treat a BOM as data, but it's still a pain in the ass.

> Heck, if I need a DOS batch file, I turn to either Notepad or Edit.

Edit? You've been gone awhile. Edit has never been released on any x64 platform of Windows, AFAIK. Why? Because it's a 16-bit application! NTVDM, the 16/32-bit DOS and 16 bit Windows emulator only runs on 32-bit Windows. WoW64, the 32-bit Windows emulator for x64 Windows, does not run 16 bit applications.

>Edit? You've been gone awhile. Edit has never been released on any x64 platform of Windows, AFAIK. Why? Because it's a 16-bit application! NTVDM, the 16/32-bit DOS and 16 bit Windows emulator only runs on 32-bit Windows. WoW64, the 32-bit Windows emulator for x64 Windows, does not run 16 bit applications.

I only use a 32-bit OS and a 32-bit processor for Win7. If it doesn't work in x64, you've just given me a reason to never "upgrade". Then again, if my computer didn't throw a hissy fit over it, I'd be using FreeDOS as my primary OS. Either that or just get an old MS-DOS 6.2 installed.

Interesting, can I ask what kind of work you do? I'm assuming programming, what kind of programming do you primarily do?

Actually, I'm just a teacher/office admin/etc for work - by passion and hobby I'm a writer but that hasn't turned into money and likely never will.

I don't do programming and never have, the closest I ever came was a brief scrape with BASIC back in the days before Windows. I do some web design, but not too much anymore because I don't do Javascript and I don't like off-page CSS (I sometimes use inline, but that's about it).

One the machines I'm using at home and at work (Windows 10 Desktop + laptop, Windows 7 latptop, Windows server 2012 running in VMware), I've found that notepad is way slower than notepadd++ to launch. And adding tab support, syntax coloring, sane undo, restoring workspace on load and reload the file without closing the app, there's no competition between the two.

Some things that I like in Notepad++:

* Multi-window editing * Restoring workspace on load * Background, font, and default spacing options * Source formatting by source type

These were just some basic things I used in the few times I used Notepad++ after hearing people talk highly of it; there are probably a ton more along with plug-ins but my usage was basic. It definitely made serious-ish development on Windows easier for me to do.

> I am pretty sure I could improve Notepad substantially with just a few days of work.

With the diverse and enormous install base that Notepad has, do you really think it would be that simple? There must be all kinds of localization concerns, legal concerns, trademark issues, patent concerns, design and Windows brand concerns, that must go into a core OS application update.

I agree that Notepad should be updated. But updating a text editor preinstalled on Windows should be no easy feat for one person over just a few days. The repercussions of each change are potentially huge, and going in especially with a cavalier attitude of "it would only be a few days work to substantially improve" a piece of software used by hundreds of millions of people daily, definitely sounds like it wouldn't work out as easily as you'd expect.

I was slightly facetious but compared to other changes this should be an easy one. It's probably one of the simplest changes you can make to Windows. I hope we can agree on that.

> It's probably one of the simplest changes you can make to Windows. I hope we can agree on that.

I certainly do not agree with that!

For example, Notepad has been one of the buggiest and weirdest pieces of software I used on stock Windows. It does weird things when saving files, like moving your cursor to another location, so if you are typing and saving and typing and saving you will end up with text misplaced all over and a bizarre file that has a weird back/undo history. With its large host of weird bugs I would not expect the current codebase to be simple to update, and surely you'd agree a rewrite of Notepad is more than a few days.

I in no way think that improving Notepad would be one of the easiest changes to make to Windows. Sure, there would be harder things to improve I'm sure, but I don't see why it's a contest at all. Updating Notepad sounds like the opposite of easy to me.

Improving Notepad for everyone who uses it, while not receiving millions of death threats for errors or bugs or unexpected, unwelcome changes in behaviour sounds nearly impossible to me, personally. Perhaps this is part of the reason it is so stagnant - MS sees little upside to making large improvements while seeing enormous risk. Just a guess.

Well, then make a new editor and give it a different name. Leave the old one in for compatibility. It's not hard.

They did, it's called Wordpad

Which was introduced 20 years ago and can't handle large files.

yet they decided to destroy the one thing everyone uses... the start menu.

Someone got a big promotion for doing that. The Ribbon disaster too.

Eh. The only thing I really miss in Notepad is the ability to easily view text files that have Linux line endings. That's really all I care about. For anything else I'll probably use Notepad++ or VS Code.

The reality is that Windows isn't a text-based operating system, so a text editor with features isn't a vital component.

I don't see why they would. Notepad is great if you want to do something really quickly w/ plaintext, and the fact that it doesn't really do anything else is the best part IMO.

If you want nicer formatting you can use WordPad. Beyond that, there are a million alternatives (including the MS office suite)

I think a system should come with a decent editor out of the box. I sometimes have to deal with locked down systems where I can't install Notepad++. So I have to choose between two bad options like notepad or Wordpad. Both at least 20 years old and unchanged since then.

yes. at least put something decent on a server.

Ever use replace all in Notepad, where it then begins slowly iterating, repainting at every step?

Notepad is just for taking quick notes and viewing text files and for that it is perfectly fine. It is my most used default Windows accessory (i do not include explorer on that of course) and even on Linux i install Leafpad[1] which is basically a Gtk2-based clone of Notepad and i use for pretty much the same reasons (taking quick temporary notes, writing out stuff, viewing text files, etc). I use another text editor for editing code (Notepad++ on Windows, Geany on Linux) that has a more busy and heavyweight UI that i am ok when working for long sessions. Notepad/Leafpad/etc is supposed to be as minimal as it gets, launch instantly, etc.

The only things that i'd like is support for Unix line endings and perhaps autoindentation. But considering that Notepad is really just the `EDIT` window wrapped up in a toplevel window frame and i doubt Microsoft is going to touch `EDIT` anymore (which is sad but that is beyond the point and FWIW much harder than just improving Notepad itself) i'm fine with that.

[1] http://tarot.freeshell.org/leafpad/

Interesting to hear of someone using Geany for coding on Linux. I used it briefly maybe a decade ago when I was still a vim noob. Glad to hear it's still around and used by at least one person :-)

Looking back I can't understand how I coded in notepad for several years until I finally had enough and asked around for a better editor. Back then it didn't even have "goto line". So I often counted the lines, and write comments like "this is line 500".

Notepad will be tabbed soon by Windows Sets. https://arstechnica.com/gadgets/2017/11/tabs-come-to-every-w...

The article is from 2008 so maybe a (2008) should be added.

Like many of you who commented I used the nirsoft tools without knowing they were created by one man. Kind of impressive there was a time when you only found niersoft tools when searching for password recovery tools

It's up there now. Thanks!

We should have a sub-thread of these comments devoted just to the silly things people use NirSoft stuff to do. I'll start.


I have a HTPC hooked up to a projector that I use to play movies, and the projector has native support for 24 FPS, so I use this:


to quickly set framerate. Make batch files for 24 Hz, 60 Hz, etc. bind them to keys, and then you don't have to bother going into a display settings GUI.

I'd love to have a utility that quickly toggles between two audio outputs in windows.

You can create a shortcut to

  C:\Windows\system32\rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,playback

I could have sworn that's a feature in Windows 10.

Edit: nope, but https://soundswitch.aaflalo.me/ will do it - never used it though.

There are several, but I haven't used any of them in a while (probably around Win8/8.1. Here are a couple I've used...



I think there was another that was some variation on "audio" and "switch"/"switcher".

You can also create a shortcut to nircmd with the setdefaultsounddevice value set and assign a hotkey for the shortcut.

Now I use EarTrumpet, which lists devices in the right click menu.

I use the nirSoft CSVFileView utility all of the time. The near instantaneous load time is how computing should be.

Nir's utilities and Mark Russinovich's PSTools are usually the first thing I download on a fresh Windows box.

I tried opening a 3M-line (550MB) CSV. It took a couple minutes to get to 1M, and it seems to have an O(n^2) algorithm because it was doing 40k lines/second on my machine and now (after around 1.5M rows) it's doing about 1/10th of that. Memory consumption is at over 2GB for this first half of the file.

It's definitely a nice tool, but it's far from instantaneous loading!

Well, it says right there on the page:

Known Limitations - CSVFileView cannot load extremely large csv files.

Does anybody remember the tiny Windows games that fit in a little window the size of an icon? I remember playing pool and Tetris in a little corner of my screen at a very boring job where I was a couple months ahead of my work. I never did find the game developer after that.

There’s always still Defender: http://www.p01.org/defender_of_the_favicon/

This site was GOD MODE when I was in high school.

The tool I used the most was RunAsDate: https://www.nirsoft.net/utils/run_as_date.html

It used to work really well in bypassing software trials. I'm not recommending its use for that(if it even still works).

Thanks for reminding me of that workaround :-)

I wonder if I used his tool back in the mid 90s... Ah, can't have been - he says he first put utilities on the web in 2001

lifesaver! ThrottleStop devs have a stupid habit of setting 6 month expiry date on every new version, totally offline unfriendly. runasdate was the only option to keep it working on a laptop in remote location.

The NirSoft tools for windows are great! I have used various ones for years -- the SysExporter tool has saved many many hours of time. This lets you export Windows widget labels, so if a dialog has no export, it lets you generate a CSV of the string values.

Nir Sofer -- publish a Bitcoin address and ill send you something as a thank you!

you can donate here https://www.nirsoft.net/donate.html (i am neither user nor affiliated with the site)

Same here, there are a bunch that make managing a Windows box for development so much easier. Essentially they provide a GUI to whatever mix of registry and binary files that control something normally configured by a text file on other OSes.

I've been using ShellExView to get rid of annoying, useless context menus for years. Great stuff!

> Each time that a popular AntiVirus software begins to detect one of my utilities as Virus or Trojan, my email is flooded with messages from worried people that think my Web site is infected with Viruses. Some of them even blame me that I spread Viruses through my Web site.

I wonder if there is a defamation/libel type of lawsuit here. Anti virus vendors are making false accusations.

>I wonder if there is a defamation/libel type of lawsuit here. Anti virus vendors are making false accusations.

Some (many? most?) will report these applications as 'potentially unwanted applications' (PUAs) and sidestep the issue of blame or malicious intent, often asking the user if they want to proceed rather than just denying access.

Source: former Sophos employee.

My employer's security team, in their infinite wisdom, is entirely blocking access to the NirSoft site.

Malware authors often incorporate legitimate software into their malware - e.g. Nir Sofer's Mail PassView and Web PassView are used in Emotet spam bot to harvest user credentials. Usually such files are marked as "Potentially unsafe software" by analysts, or in some cases could be detected as part of a malware family by AV companies' automated detection tools.

Another thing is that actions malware take and actions legitimate "power user" software takes are separated only by context. Thus automated behavior analysis is always going to produce false positives.

Is there much behaviour analysis done by consumer AV? Even Defender seems to be mostly signature based.

Yep. Malware is constantly repacked/encrypted. It is impractical/impossible to write static unpacking engines for every type of malware packing technique, so behavioral analysis engine is a must (btw, behavioral engines still detect malware using signatures).

Same for psexec and xexec for remote execution.

I wonder if there is a defamation/libel type of lawsuit here.

If that would ever fly, I want to take action against mail servers that tell me my mail is "spam" when it clearly isn't and was double opted-in by their users :-D

Google seems to have a habit of dumping directly to spam emails from any domain they do not recognize.

Or at least i have seen some complaints bouncing around certain mailing lists in that regard.

viruses may use the tools to achieve things, which creates an association

Even if you are familiar with his utilities, note that there are many new ones, as of April 2018:


Also note the comment of "newusertoday" here.

Oh cool! He makes produkey. I've been using that for years, haven't had much use for it as of late with windows using uefi to store keys. Looks like he updated it since last I checked to support windows 10, but only for certain license types.

I haven't used windows in years, but when I did, downloading all of the nirsoft tools was on my new box checklist. I can't go to the site to see what has been added though, my company proxy has it blocked.

He describes False Positives from antivirus software when scanning his utilities. Do you think your company's proxy blocks the site because of that?

Thats what I thought at first, but the message says that it was because it was in the "Shareware/Freeware" Category. Which is blocked unless specifically allowed.

>But after many users complained about the keys that I added to the Registry

How odd...that's literally what the registry is for. One company putting all their sht in one place in a standardized efficient format.

For over a decade Nir Sofer has enabled kids across the world to take their dreams of breaking into people's computers and make them a reality.

These tools made my life so much easier when I worked as Windows System Admin several years ago! Thank you Nir Sofer for your work!!!

Do you want to play a game?

Speak from command line: https://www.nirsoft.net/articles/speak_from_command_line.htm...

Have been using these tools for years. As essential as sysinternals. Would love to see some of his source code from which to learn. Everytime Im in a bind will turn to tools from this site, such as when forgot PST passwords on a 10 year old mail file. The networking and port tools have always been hugely useful. For context I work in a large global ISV, use Windows laptop, and travel often. Having Nir's utilities available has often enabled me to rescue myself from my own mistakes, or resolve things like networking. I too would be very happy if he would put up a donate button!

I love NirSoft utilities as much as anyone, but this isnot right

> Anonymous Information Collected on this Website: Anonymous data is recorded on this Web site. Most of the information collected from this website is anonymous information, such as the pages you visit. Other anonymous data I may collect might include the name of your internet service provider, the website that you used to link to my site, the websites that you visit from our site, and your IP address. The data is only used for statistical purposes, but you, as the individual user, remain anonymous.

IP address is not anonymous!

At least he's upfront that he's keeping info from user connecting to his website. And perhaps at the time when it was written (2008), the author considered that IP was anonymous enough, from his viewpoint, as he couldn't do much with it.

Big fan of BlueScreenView and WiFiInfoView! Thanks for all the great products.

Kind of retro site with a @yahoo.com email. Very weird for an advanced IT guy. "searchmyfiles" is awesome, by the way.

I tried searchmyfiles, and it's alright, but the best search tool I've found for windows is "Everything" by voidtools ( https://www.voidtools.com/support/everything/ )

I occasionally use it on a multi TB windows fileserver at work and after it does the initial index (which is really pretty fast because it uses the NTFS journals) searches are pretty much instantaneous. (I also use it at home, it's just less impressive after using it on that many files at work.)

Seconded. Everything is brilliant if you need to find files by name, not contents....

If it works, don't fix it.

I find it particularly funny that he doesn't explain why his binaries are literally plagued with "false positives". I'm really curious. Does he use some arcane compression techniques which usually are found in virus signatures?

I think the issue is that his freeware utilities were used as part of spyware by third parties.

AV back in the days were mainly all blacklists of known actors and a few tricks (eg: when the executable was obfuscated with a compressor like UPX or using some more advanced techniques)

A freeware legend!

Interesting list, however I feel like a lot of these should be open source, or at least signed with gpg. I read too many cryptocurrency posts these days, they make me paranoid about security...

He says all of his time goes into the website and the tools. So I'm wondering, how does he make money? Surely he does some consulting or something on the side to pay the bills.

"NirSoft is not a full-time job, but I use all my free time to maintain and develop this Web site."

Oh, thanks, I misread that.

I'm confused why NirSoft software is not open source. I've always seen open source as easier than doing all the work on your own.

Maybe he doesn't want all the pull requests, supporting other programmers has a cost.

I've sent a few emails to Nir asking to license a few of his applications, not no replies.

Open sourcing the entire thing with both a decent license would be great.

I'd imagine it cuts out the donation incentive, along with taking out a lot of the glory for creating items thousands of people use by yourself.

I've lost count of the number of times I used mailpv.exe to recover clients 'lost' email passwords.

Love this site. Helped me often in my first career as a sysadmin and made me want to write freeware.

Wow Chromepass actually worked..I didn't even enter my windows admin password or anything..

I thought Chrome encrypts all the saved passwords. How is another program so easily able to read the passwords?

It does encrypt, using Windows DPAPI :) They are freely available to any program as long as you are logged in, or offline if you know windows/victims password.


I love the NirSoft utilities they're great! The kind of OS bundled tools Microsoft should have been making instead of <cough> Media Player and the like.

Oh man I still remember when Windows Media Player used to be a useful, compact player, and the disappointment when they came out with the skinned abomination. Gave room for MPC and VLC to grow though!

Amazing coincidence. I was just introduced to Nir’s tools a few weeks ago. The ones I’ve used are awesome. They are simple and do what they do well!

Nirsoft <3

> The entire Web site and all the utilities that you can find here were developed by me, and only by me.

I look at HTML for 2 seconds to find a link to Google Analytics...

Collection of visitor information is clearly mentioned in human readable terms at the privacy policy section at the end of the page, which I find refreshingly honest and considerate.

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