Skip to main content
Topic: Minimal Apps (Read 27775 times)

Re: Minimal Apps

Reply #75
Perhaps you're wondering why I called you all here? :)
My "new" late-2012 Mac mini has a severe case of what I call The Mysterious Mac CPU Spikes™...
[Yes, I took the time to read the last page of the thread in its entirety: Good stuff; some quite interesting!]
When it's having an episode of TMMCPUS™ and I still feel like using my computer, I've found that some of the older, "simpler" software works; and some even works reasonably well. For instance, Opera 11.64!
(Except -for some reason- it wouldn't post my comment... Had to copy/paste it via Vivaldi.)

Over the last few months I've tried many software-oriented "fixes", and none has really worked. I finally found someone who'd admit that it was a hardware problem: Something under the hood is causing excessive heat! (The machine's case is hot to the touch, but not so much that you could fry an egg on it -- unless you like yours runny.:)
And -I confess- I wouldn't be without this version of Opera, old as it is. I'll likely never completely abandon  11.64!

For much the same reason, among others, I'll keep Opera Mail around. And jEdit!
Watching the CPU monitor's 4 cores (...2 are "virtual") run like an energetic spastic four-banger headed for an inevitable seizing is a lot of fun, when I can do so while I actuall continue to use my computer! And seek your commiseration...? :)

Well, it's dinner time. I shall return. (Yes, ersi, that's a threat! :)
进行 ...
"Humor is emotional chaos remembered in tranquility." - James Thurber
"Science is the belief in the ignorance of experts!" - Richard Feynman
 (iBook G4 - Panther | Mac mini i5 - El Capitan)

Re: Minimal Apps

Reply #76
A hardware problem requires a hardware solution

Sorry if your Mac Mini can't play the video - then buy a new computer, a proper one this time. I got a nice Thinkpad X60 for 15 euros.

The anti-Mac Mac repairsman whose video I showed you the other day, he says that cooling (i.e. lack of it) is one of the more serious problems on Macs, and that's by design. Apple is not forgetting to include fans on the computers, but rather markets the missing fan as if it were an extra feature that somehow makes for a better (and pricier) product. On some occasion when the fan is included, it is deliberately misaligned, again as an extra service for the customers.[1]

Even though I do not use Macs, I pay some attention to cooling. All the computers I own are bought second-hand, I have opened them up and taken a look inside to clean things up a bit if needed. And when I set up my desktop environment (around Linux obviously, never anything else in this life anymore), one of the things I put on the statusbar is the temperature.

Mac is allegedly close enough to BSD under the hood. This means it should be possible to install any free and open-source desktop environment or window manager on it. Or at least conky to show the system temperature.

I am simply assuming that those solutions would work, having never tried a modern Mac. Not my fault, if attempts to install them would screw up your computer even further. But please definitely report back if it happens.
Obviously, a physical fan to cool the processor is an absolute must for any computer, given the way computers are built. Mac is no exception. Faith in Macan exceptionalism is a delusion.

Stack calculator already onboard!

Reply #77
Earlier I discovered bc, a command-line calculator for basic arithmetic that is likely preinstalled in your Linux. Now I discovered dc, another command-line calculator, likely preinstalled in your Linux, except that dc operates on a stack like financial calculators do.

Quote from: info dc
'dc' is a reverse-polish desk calculator which supports unlimited precision arithmetic.  [...] Normally 'dc' reads from the standard input; if any command arguments are given to it, they are filenames, and 'dc' reads and executes the
contents of the files instead of reading from standard input.


To enter a number in 'dc', type the digits (using upper case letters 'A' through 'F' as "digits" when working with input bases greater than ten), with an optional decimal point.  [...] To enter two numbers in succession, separate them with spaces or newlines; these have no meaning as commands.

Basic arithmetic:
Quote from: info dc
Pops two values off the stack, adds them, and pushes the result.
The precision of the result is determined only by the values of the
arguments, and is enough to be exact.

Pops two values, subtracts the first one popped from the second one
popped, and pushes the result.

Pops two values, multiplies them, and pushes the result.  The
number of fraction digits in the result is the largest of the
precision value, the number of fraction digits in the multiplier,
or the number of fraction digits in the multiplicand; but in no
event exceeding the number of digits required for an exact result.

Pops two values, divides the second one popped from the first one
popped, and pushes the result.  The number of fraction digits is
specified by the precision value.

Pops two values, computes the remainder of the division that the
'/' command would do, and pushes that.  The value computed is the
same as that computed by the sequence 'Sd dld/ Ld*-' .

Pops two values and exponentiates, using the first value popped as
the exponent and the second popped as the base.  The fraction part
of the exponent is ignored.  The precision value specifies the
number of fraction digits in the result.

Pops one value, computes its square root, and pushes that.  The
maximum of the precision value and the precision of the argument is
used to determine the number of fraction digits in the result.

Another thing worth noting is that the stack and the answers are not visible unless explicitly called. Therefore the most important call:

Quote from: info dc
Prints the value on the top of the stack, without altering the
stack.  A newline is printed after the value.

So first, launch it by issuing dc in the terminal. Second, type two numbers either with a space between them (and operators-commands with no space required) or in successive lines, as follows, either

Code: [Select]
3 2+p 
for "put three and two, add them, and show me the result"; or

Code: [Select]

for the same. More calls:

Quote from: info dc
Duplicates the value on the top of the stack, pushing another copy
of it.  Thus, '4d*p' computes 4 squared and prints it.

Reverses the order of (swaps) the top two values on the stack.

Pops the value off the top of the stack and uses it to set the


Code: [Select]
2k6 3/p
results in 2.00 as in "set two-decimal precision, put 6 and 3, divide them head-first and show me". And immediately after this

Code: [Select]
6 3r/p
results in .50 as in "6 and 3, divide them tail-first and show me".

Some stack calls:

Quote from: info dc
Prints the entire contents of the stack without altering anything.
This is a good command to use if you are lost or want to figure out
what the effect of some command has been.

Clears the stack, rendering it empty.

And zp shows the depth of the stack (the number of items in the stack).

To quit, type q.

Re: Minimal Apps

Reply #78
That sounds very 1970s. ;)

Re: Minimal Apps

Reply #79
GnuCash is bloat. What if you need minimal double-entry accounting? Try BSD[1] Ledger :)

John Wiegley's Ledger program ( is intended for those who want to keep their transactions in an easy plain-text format. You just create a list of them in text files, and then run the utility to produce reports, balance sheets, budgets etc. All very cool, but entering stuff in an editor can be very tedious which is why I switched to GnuCash.

Entering accounting information in a text file can be tedious indeed, until you discover ledger-mode for Emacs, provided by the developers of Ledger itself!

- Ledger never creates or modifies your data. Your entries are kept in a text file that you maintain, and you can rest assured, no automated tool will ever change that data.
- The amount of data required by Ledger is minimal. It figures out from looking at your data what you mean by it and how you want it reported back to you. Accounts are created as they appear; currencies are created as they’re referenced. Anywhere that a value can be calculated, you can leave it out.
- Ledger is a double-entry accounting tool, meaning that all entries must balance.

A more full-featured version of Ledger is Hledger, a reimplementation of Ledger in Haskell. Hledger is largely compatible with Ledger, but not identical. Hledger works around the need for an external text editor by means of the interactive hledger add function. However, there is also a specific hledger-mode for Emacs even though ledger-mode might largely work.

hledger is a Plain Text Accounting system. Some strengths of the PTA approach:

- Runs on your local computer, keeping your financial data private and under your control
- Simple model of operation: put a log of transactions in, get reports out
- Simple, expressive, human-readable, future-proof plain text format
- Can be version controlled, eg with Git, to safeguard your data, track changes, or collaborate
- Edit with your favourite text editor, or a data entry UI, or import from other formats
- Easy to script, automate, and integrate into custom workflows
- Lightweight, fast, non-distracting to use
- Great for learning more of double-entry bookkeeping and accounting.

Besides having more features and extensions, Hledger also seems more extensively documented. However, both Ledger and Hledger are being actively maintained. Edit: I think both of them are worth trying side by side, as they seem different enough. An important difference I discovered is that Hledger apparently has difficulties understanding the file if it's written in other than English, whereas Ledger can munch through the file, calculating everything properly as long as the terminology is consistent, regardless of the language.
Edit: BSD, not GNU. I am getting ever sloppier, which means a need to take a very long vacation from work.

Re: Minimal Apps

Reply #81
Dclock may not have a minimal codebase, but it does little, so I guess it qualifies as a minimal app.

Dclock displays a graphical window with clocktime in digital format only. No analog.

Some keybinds and options:
- m toggles 24-hour format
- s toggles seconds display
- d toggles date display
- q quits

From terminal, dclock -miltime -seconds launches in 24-hour format with seconds.

More options at man dclock.