μGiffer 0.9.12 [108k] + Simple screen-to-GIF recorder by the author of Bvckup 2 and Hamachi. 📺
/windows | May 08, 2021
Takeshi Sone has generously crafted and shared (under an MIT license) BLEUnlock, "a small menu bar utility that locks and unlocks your Mac by proximity of your iPhone, Apple Watch, or any other Bluetooth Low Energy device." Unlike Unlox (formerly MacID), no iOS app is required and scripting is supported. Vital for protecting data from laptop snatchers. For a wired solution, see Introducing BusKill: A Kill Cord for your Laptop.
/mac | May 06, 2021
"If you take a mountain six miles long and six miles wide and six miles high, that’s the distance a bullock walks in a day. And a bird flies over the mountain once every hundred years with a silk scarf in its beak and brushes the tip of the mountain. In the length of time it takes the scarf to wear away the mountain, that’s how long you have been doing this."
—Ram Dass, The Idea of a Soul Mate (2010)
"Beyond human perception, in the life cycles of universes, time is measured in a unit known as a kalpa. How long does a kalpa last? Imagine a block of stone, one cubic mile in size. Now imagine a man approaching this enormous stone and rubbing it, once, with a silk cloth. Every 100 years, the man returns and rubs the stone once again. At this rate, the stone will be polished down to a tiny, smooth pebble long before a kalpa has elapsed."
—Patrick Farley, The Jain's Death (1999)
"[I]f there were a range of mountains a league in length, a league in breadth, a league in height, made of adamant, without a cleft or a crack, and once every hundred years an eagle were to fly across it with a silken streamer in its beak and were to swish the mountain just once with the streamer, the length of time that would be required for the mountain to waste away would be less than an aeon."
—W. Norman Brown, Man in the Universe: Some Continuities in Indian Thought (1966)
"Suppose, brother, there were a great crag, a hill one yojana wide, one yojana across, one yojana high without chasms or clefts, a solid mass. And a man at the end of every hundred years were to stroke it once each time with a Kāsi cloth. Well, that mountain in
this way would be sooner done away with and ended than would an æon."
—The Book Of The Kindred Sayings (Sanyutta-nikāya), Part II, Nidāna-vagga, ch. XV, Kindred Sayings on the Incalcuable Beginning, pgs. 121-122, translated by Mrs. Rhys Davids & assisted by F.L. Woodward (1922)
"Let it be supposed, say Buddhist writers, that a solid rock forming a vast cube sixteen miles high, and the same in length and breadth, were lightly rubbed once in a hundred years with a piece of the finest cloth, and by this slight friction reduced in countless ages to the size of a mango-seed; that would still give you no idea of the immense duration of a Buddhist Kalpa."
—Monier Monier-Williams, Buddhism in its connexion with Brahmanism and Hinduism and in its contrast with Christianity (1889)
"In Lower Pomerania is the Diamond Mountain, which is two miles and a half high, two miles and a half wide, and two miles and a half in depth; every hundred years a little bird comes and sharpens its beak on it, and when the whole mountain is worn away by this, then the first second of eternity will be over."
—The Shepherd Boy, from Grimm’s Household Tales, Vol. II, translated by Margaret Hunt (1884)
"A description of the duration of a kalpa can only be given in the language of Buddhism. Take a rock forming a cube of about fourteen miles, touch it once in a hundred years with a piece of fine cloth, and the rock will sooner be reduced to dust than a kalpa will have attained its end."
—Friedrich Max Müller, Lectures on the science of religion; with a paper on Buddhist nihilism, and a translation of the Dhammapada or "Path of virtue" (1872)
"[T]here is a stone four cubits square: a god dressed in white muslin passes this stone once in a hundred years; the muslin robe waved by the wind touches this stone as it passes; when, by the attrition this occasions, the stone shall have been reduced to the size of a grain of mustard, one antagh kalpé will have elapsed."
—George Annesley Earl of Mountnorris, Voyages and Travels to India, Ceylon, the Red Sea, Abyssinia, and Egypt, in the Years 1802, 1803, 1804, 1805, and 1806, Volume 1, pg. 433 (1811)
/misc | May 04, 2021
"For those unfamiliar with the Microsoft world, native microsoft applications written in C++ rely on dynamic libraries. Two of them are infamous: MSVCRT.DLL and MFCxx.dll. Because of software evolution and security fixes, multiple versions of these DLLs were often present in the system, causing application instability."
Linus Torvalds: "Shared libraries are not a good thing in general." | HN discussion
"a lightweight drop-in replacement for the (currently only Microsoft, so compatible with Intel C/C++ & Visual C++) runtime library."
32 bit versions are compiled with Microsoft Visual C++ 7 (2003) compiler. They are not linked with the standard C or C++ libraries that comes with this compiler. Instead, most of them are linked with a dynamic library I call minwcrt (Minimal Windows C Run-Time Library) linking them to crtdll.dll instead of msvcrt.dll. This makes them run in all versions of Win32 without additional dll files. This is also the reason why the exe files are very small. Source for this library is available as part of the source archive mentioned in the top of this document. Some other tools are linked to msvcrt.dll to support formatting 64-bit integers and similar features not available in crtdll.dll. This means that some such tools may require updated MS VC++ runtime dll files on Windows NT 3.51, Windows 95 or Win32s.
The mingw-w64 project "is a complete runtime environment for gcc to support binaries native to Windows 64-bit and 32-bit operating systems."
samuelsebastian succinct review: "Fast, Actual, Easy. ( I never use MSVC ) I like no install , direct to use, compact, working , things."
Chris Wellons' Small, Freestanding Windows Executables: However, [Mingw-w64] has one glaring flaw inherited from MinGW: it links against msvcrt.dll, an ancient version of the Microsoft C runtime library that currently ships with Windows. Besides being dated and quirky, it’s not an official part of Windows and never has been, despite its inclusion with every release since Windows 95. Mingw-w64 doesn’t have a C library of its own, instead patching over some of the flaws of msvcrt.dll and linking against it. ... Sometimes I’d prefer to be more direct: skip the C library altogether and talk directly to the operating system. On Windows that’s the Win32 API. Ultimately I want a tiny, standalone .exe that only links against system DLLs.
Linking statically to the CRT Library always increases the size of the application/library, sometimes dramatically so, particularly when building small application/libraries. Also, where multiple dynamic modules form part of an application, there can be multiple statically linked copies of the same code throughout the working set of a process, which is not only costly in space terms, but can cause memory locality problems. In such circumstances, the memory allocated by one module's CRT Library will cause a crash if it is passed to another module's CRT Library for deallocation.
Linking dynamically can cause dependency problems (including version incompatibilities and distribution problems) in addition to increases in load times. Because the CRT DLL is not part of the Win32 system libraries, it is even possible to encounter older systems in which it is not installed. (Windows 95 OSR1 does not ship with MSVCRT.dll as part of the operating system distribution.) Furthermore, Microsoft has encountered program-breaking incompatibilities between versions of MSVCRT.dll ("Bug++ of the Month," WDJ, May 1999), which is also something we developers are very keen to avoid. Finally, since the DLL version is only available in multithreaded form, it can also lead to subtle, but significant, performance costs.
/windows | May 01, 2021
Unknown Devices 1.4.20 "helps you find what those unknown devices in Device Manager really are." Last updated 6/2/2007.
Tweaking.com - Hardware Identify 2.5.0 "will help identify unknown hardware on your system."
SIV - System Information Viewer 5.57 offers "lots of useful Windows, Network and hardware info - CPU info, PCI info, PCMCIA info, USB info SMBus info, SPD info, ACPI methods, Machine info, Hardware Sensors, Networked computers, Operating System Information and more." Supports Windows versions from 95 & NT 3.51 through 10 & Server 2019.
/windows | Apr 26, 2021
When making a bootable clone with Carbon Copy Cloner or SuperDuper!, EFI partitions are skipped, since they aren't needed for macOS boot disks:
Though modern Macs support ... EFI booting in order to maintain compatibility with running non-Apple operating system[s] on their hardware, they do NOT need the EFI partition in order to boot [m]acOS. Because of this, the disk clone utilities do not copy the contents of the secondary EFI partition from one drive to another when doing their job.
However, this is problematic when cloning boot disks like the one produced by Ben Sova's Patched-Sur, which depend on the EFI partition for critical functionality.
Here's how to clone the EFI partition as well:
Partition (GUID) and format (HFS+) the target disk
Use Carbon Copy Cloner to clone the source disk to the target disk
Mount the source and target EFI partitions
diskutil list... /dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *126.7 GB disk2 1: EFI EFI 209.7 MB disk2s1 2: Apple_HFS Install macOS Big Sur 126.4 GB disk2s2 /dev/disk3 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *61.5 GB disk3 1: EFI EFI 209.7 MB disk3s1 2: Apple_HFS SanDisk 61.2 GB disk3s2 %
sudo diskutil mount disk2s1Volume EFI on disk2s1 mounted %
sudo diskutil mount disk3s1Volume EFI on disk3s1 mounted
Copy the EFI folder from the source disk's EFI partition to the target disk's empty EFI partition via Finder or Terminal
/bin was visible on the source disk but hidden on the target disk; used
chflags nohidden /path/to/bin to unhide.
EFI-Agent offers a simple GUI for mounting and unmounting EFI partitions (among many other features).
EFIClone is a bash script meant to be launched by Carbon Copy Cloner or SuperDuper! after cloning in order to include any EFI partition; did not work under Big Sur in my limited testing.
/mac | Apr 26, 2021
Daily backup routine for an ancient Q&A program and database which is always open:
Copy shadowspawn.exe (depends on Visual C++ runtime) and robocopy.exe (found in the Windows Server 2003 Resource Kit Tools; preinstalled in Vista onwards) to %WINDIR%\system32\.
Edit and save this batch script to desired location:
for /f %%x in ('date /t') do set today=%%x if '%today%=='Mon shadowspawn C:\QA4 Q: robocopy q:\ S:\QA4 /B /MIR if '%today%=='Tue shadowspawn C:\QA4 Q: robocopy q:\ T:\QA4 /B /MIR if '%today%=='Wed shadowspawn C:\QA4 Q: robocopy q:\ U:\QA4 /B /MIR if '%today%=='Thu shadowspawn C:\QA4 Q: robocopy q:\ V:\QA4 /B /MIR if '%today%=='Fri shadowspawn C:\QA4 Q: robocopy q:\ W:\QA4 /B /MIR if '%today%=='Sat shadowspawn C:\QA4 Q: robocopy q:\ X:\QA4 /B /MIR if '%today%=='Sun shadowspawn C:\QA4 Q: robocopy q:\ Y:\QA4 /B /MIR
Create a scheduled task to run the batch script daily without a cmd.exe popup.
/windows | Apr 18, 2021
Running a scheduled bacth script as SYSTEM (no password required) hides the cmd.exe window. In Windows 7, this can be done from the Task Scheduler GUI (Properties → Change User or Group...).
While Windows XP's Scheduled Tasks GUI appears to offer the same option (Properties → Run as:), tasks set to run as SYSTEM will fail with "Could not start"; see Microsoft KB223375, "Cannot Configure Scheduled Tasks to Use System Account"*:
When you create or modify a task in the Scheduled Tasks tool to use the System account, the task does not run as scheduled.
When you view the Scheduled Tasks log file, you receive the following error message:
The attempt to log on to the account associated with the task failed, therefore, the task did not run.
The specific error is: 0x80070057: The parameter is incorrect. Verify that the task's Run-as name and password are valid and try again.
This issue occurs because you cannot configure a task to use the System account using the Scheduled Tasks Wizard.
Currently, the only way to schedule a task as the System Account is to use AT.EXE to schedule the task. This command is shipped in Windows 2000 for backward compatibility for NT 4.0 scheduled events. Its defaults are to schedule jobs to run as the Task Scheduler service account (System by default).
To access this tool, open a Command Prompt (cmd.exe) and type AT /?. Be aware that after a job is scheduled using AT, manipulation of the task through the Scheduled Tasks folder will permanently change the job and turn it into a Windows 2000 Scheduled Tasks Job object (.JOB files). During this process, you must enter new credentials, and the only way to return the scheduled event to its original state using the system account is to delete and reschedule the event using AT.EXE.
An issue with using AT.EXE to schedule the task (e.g.,
at 09:00 /every:M,T,W,Th,F,S,Su c:\path\to\script.bat) is that properties are greyed out in the Scheduled Tasks GUI.
Tasks created with schtasks.exe, however (e.g.,
schtasks.exe /create /RU "SYSTEM" /SC daily /SD 04/18/2021 /ST 09:00:00 /TN "MyTask" /TR "C:\path\to\script.bat"), do not suffer from this limitation.
* In my testing, Scheduled Tasks → Advanced → View Log reported a different specific error:
"MyTask.job" (script.bat) 4/14/2021 7:52:32 PM ** ERROR ** The attempt to log on to the account associated with the task failed, therefore, the task did not run. The specific error is: 0x80041314: The task has been configured with an unsupported combination of account settings and run time options. Verify that the task's Run-as name and password are valid and try again.
/windows | Apr 18, 2021
After exhausting the usual suspects (Adobe Acrobat, ImageMagick, Ghostscript, etc.), stumbled onto the cleanest results and smallest file size by pairing Preview.app and IrfanView:
/misc | Apr 15, 2021
Despite regrettably miguided notions to the contrary, "emergent" is fine as the adjectival form of "emergency", at least for those willing to accept the testimony of Webster's:
and the OED (replete with usage examples spanning the centuries):
/misc | Apr 12, 2021
Subscribe or visit the archives.