• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Today’s the Day: Critical Productivity Enhancement for Finder 6.0-7.x

Crutch

Well-known member
Okay maybe not critical. But I like it.

Drop this in your System Folder so that the Finder under 7.x (and probably 6.x and probably, I think, back much farther than that) will show files modified today or yesterday as “Today” or “Yesterday,” like Mac OS 8 does. (At least, I’ve heard it does. I don’t actually use it.)

It’s quick and easy and at least a tiny bit nice. Works in Finder list views and Get Info. It only patches DrawString in the Finder’s application heap so won’t slow down anything else.

1681702357490.png
 

Attachments

  • TodaysTheDay.bin
    14.6 KB · Views: 7

pax

Well-known member
Wonderful work! Out of curiosity, is it generally "better" to have many small extensions with single features like this, rather than one "big" extension with multiple features that can be turned on/off? Not sure what the definition of "better" would be, but it could be faster boot time, less memory usage, or something else.
 

Crutch

Well-known member
Thanks! And your question is on point @pax . Since I’ve written a handful of these little guys, I’ve thought about this too!

Just my opinion: If users are likely to use multiple features scattered across various extensions and/or the extensions are pretty small, it’s probably better to combine them into one. For example, most extensions that need to perform an action periodically or on some user action will path SystemEvent. It’s (slightly) slower and less efficient to have a long chain of SystemEvent patches calling each other across multiple extensions than to just have a single, integrated patch. To your point, loading multiple extensions also definitely slows boot time.

Larger or more complicated extensions should probably be separated, since otherwise their patches will slow execution (a tiny bit) and the patch code will (for sure) take up RAM if that code is installed as part of a larger extension, even if the particular feature it implements is turned “Off” in a control panel etc. (There are ways to write an extension to unload parts of itself when turned off, but it’s [I would expect - never actually done this] liable to be cumbersome and liable to introduce bugs, and anyway extensions are supposed to be pretty small.)

At some point I’d like to combine a few of the little extensions I’ve written into a single bigger one, but doing so also complicates the code a little.
 
Top