RunAsDate – Run a program with the specified date/time (2019)
nirsoft.net
nirsoft.net
Really, the only other (windows) applications I can sing the same praise for are the sysinternals suite.
His full list of tools is jaw dropping:
https://www.nirsoft.net/utils/index.html
(The IP tools have been very helpful in the past. I've got a new install now and that's a reminder for myself to get set up again; will use the donate link too.)
I have no idea how much he brings in from thankful folks like us who recognize how much time he's saved us, but it's surely not as much as it should be. I set aside a chunk of money every year for supporting software authors, and Nir comes up in my list every few years.
At the end of next month (September 2021) the root CA certificate for DST Root CA X3 expires.
When a new CA comes into existence in the Web PKI they face a significant problem, even if all the brand new shiny software trusts their excellent new CA root, almost everybody at least sometimes needs old software that might not have the latest updates. So, they get an existing trusted CA to sign to say that they trust this new CA.
The charity that provides Let's Encrypt, ISRG, has a root CA named ISRG Root X1 (and a newer one named ISRG Root X2 but that's another matter) but they also sought such cross signatures from IdenTrust, who had bought the Digital Signature Trust and with it DST Root CA X3 in order to "bootstrap" trust on older systems.
So up until late September, a device that has no idea who ISRG are or what Let's Encrypt is, still trusts Let's Encrypt certificates, because it trusts DST Root CA X3. And then the self-signed certificate for DST Root CA X3 expires.
Tools like RunAsDate allow you to test your software to see whether it will still work after that expiry date. It wasn't really practical to run such tests a few months ago, because if in say May you tell the computer it's now the 1st of October all your perfectly good Let's Encrypt certificates issued in April have expired by October, so that's why nothing works. However, since early July it has been possible to have certificates that will not be expired when DST Root CA X3 expires and perform such tests.
Lots of maintainers probably look after systems where they can't (or at least, daren't) add a newer root like ISRG Root X1 and would value knowing in advance that the system will blow up completely at the end of September, rather than being blind-sided when it inevitably happens. RunAsDate (and similar tools on other systems) enable them to find that out with a few weeks left to fix or at least mitigate the problem.
Regardless, moving the date up is a good way to test.
Many times I've needed to do something that seems simple but isn't exposed easily, and rather than figure it out myself there's a gui or cli app that just does exactly what I need.
EDIT: I just sent NirSoft's GDIView, which is the tool I tried to use in the past, to virustotal and it sadly gets flagged by two vendors. Now that's only two out of about 70. Unfortunately in large organizations we have no choice, if it gets detected it cannot be used.
I mean, I can't fault some of the antivirus for these, especially since "regular"* users they don't really know about these powerful tools, but I agree that clicking a standalone executable that is otherwise safe shouldn't automatically trigger an antivirus.
* "Regular" at least as viewed by antivirus companies, like picture a grandma, but I think that's not representative of the real world today.
Not being a windows guy for a long time, I was impressed that windows users were happy when chrome implemented the "print to pdf" feature, I said "CUPS let me print to ps or pdf a decade ago". Another moment like that was when I showed the 'time' command to a student as a crude benchmark for algorithms and also using LD_PRELOAD to easily show that his code had leaks, then complemented it with valgrind and leak sanitizer.
Leak sanitizer is multi-platform, valgrind can be replaced by drmemory and, of course, windows has many advantages that made it earn the desktop but, at the time, nothing like that was close on windows as a quick apt-get.
A trick I usually do these days is when someone argues about developing something new. I think about a somewhat similar package and "apt-get build-dep" and "apt-get source" it. In a matter of minutes I have dependencies for a package, its source code, compile and install it. People always get impressed at how easy it can be.
RunAsDate also has an equivalent cmdline interface, if that is what you are referring to?
> Note that time namespaces do not virtualize the CLOCK_REALTIME clock. Virtualization of this clock was avoided for reasons of complexity and overhead within the kernel.
Its nice that "Nir" or whoever has made them freely available, but when the day comes that they are not updated anymore, because of lack of interest, or life changes or whatever, all the effort that went into making them is lost to history. No one will be able to fork the project, or continue on with the work, as the source code was never released.
If you wrote a book and some of your readers demanded that you let them write the sequels, you might be quite annoyed.
Creators have rights and it is respectful and just to honor their choices.
Maybe "Nir" or whoever will release the tools under an open source license upon retirement or something, but that is up to them.
https://en.wikipedia.org/wiki/Year_2000_problem
https://bugs.launchpad.net/ubuntu/+source/cupsys/+bug/255161...
https://en.wikipedia.org/wiki/Year_2038_problem
Testing features like:
- night mode
- calendar 'today' visualisation on different days of month etc.
Cheating like:
https://smartphones.gadgethacks.com/how-to/hacking-time-spee...
https://www.raymond.cc/blog/how-to-extend-the-trial-period-o...
In that last link, #1 is actually (coincidentally, that wasn't in my search) the software submitted here.
Maybe a bug only appears around midnight, or near Easter. This makes that easier to reproduce.
For all others, see [1] and [2] .
[1]: https://unix.stackexchange.com/questions/405783/why-does-man...
You might be able to get an indefinite extension for running some time-limited trialware.
It's a niche statistical analytics programming language. Used by banks and pharmaceutical companies mostly because it makes it easier to audit things. The open source alternative would be R.