Big Calc

  Ralf Hersel   Lesezeit: 5 Minuten  🗪 7 Kommentare

Gesucht ist ein Taschenrechner, der auch mit Sehschwäche lesbar ist. Bei der Suche ist viel mehr herausgekommen.

big calc

Am Freitagabend lief eine Frage durch meine Mastodon-Timeline. Da suchte jemand einen Taschenrechner, bei dem sich die Zahlen und Operations-Tasten vergrössern lassen. Vermutlich hat die Person eine Sehschwäche. Die bekannten Calculator-Anwendungen können das nicht, soweit ich das recherchieren konnte. Frei nach dem Motto: "mit Linux ist nichts unmöglich", habe ich mir Lösungen überlegt.

Im Mastodon-Thread hatte schon jemand den Standard-Rechner für das Terminal 'bc' vorgeschlagen. Dem Fragesteller hat dieser Vorschlag nicht gefallen und auch ich bin mit bc nie warm geworden. Die Frage der Grössenskalierung ist mit einer Terminal-Lösung auch noch nicht beantwortet.

Doch auch ein Terminal lässt sich skalieren. Das geht zwar nicht wie gewohnt mit Strg+Mausrad, aber über die Terminaleinstellungen. Im GNOME-Terminal (und vermutlich auch in allen anderen) kann man ein weiteres Profil anlegen und dort die Schriftgrösse auf 'sehr gross' einstellen.

Wie gesagt, bc ist nicht mein Ding und auch bei der Suche nach anderen CLI-Rechnern bin ich nicht fündig geworden. Deshalb habe ich mir eine eigene Lösung ausgedacht. Wer mich kennt weiss, dass ich gerne mit Bordmitteln arbeite, um nicht noch eine weitere Anwendung installieren zu müssen. Als Python-Progger kam mir sogleich eine Idee, die ich sogleich erklären werde.

Man schreibe ein winziges Python-Script, dass so aussieht:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
Name:           calc.py
Call:           python -i calc.py
Description:    cli calculator
Author:         Ralf Hersel - ralf.hersel@gmx.net
License:        GPL3
Date:           12.05.2023
Version:        0.01
""" 

# === Import ===================================================================

import math as f
import numpy as n
import random as r
import time as t

# === Features =================================================================

def countdown(x):
    while x:
        print(x)
        t.sleep(1)
        x -= 1

Wenn man Shebang, Kommentare und Features weglässt, macht das Skript nichts anderes, als vier Libraries zu importieren. Damit das Skript von überall ausführbar ist, kann man einen Alias in die Shell-Konfiguration aufnehmen:

alias calc='python -i ~/dev/calc.py'

Den Pfad dürft ihr auf den Speicherort der Datei calc.py anpassen. Und was kann das Ding jetzt? Wenn ihr im Terminal den Befehl calc aufruft, startet eine interaktive Python-Instanz mit erweiterten Fähigkeiten:

Man kann einfache Rechnungen eingeben. Im Gegensatz zu bc, müssen Nachkommastellen nicht extra eingestellt werden. Erweiterte Funktionen wie Wurzel oder Sinus werden mit f. aufgerufen. Das ist der Alias für die Python Math Library (siehe import im Skript). Dasselbe gilt für Zufallsfunktionen, die mit r. eingeleitet werden. Auch Konstanten können abgerufen werden: f.pi

Eigentliche sind die Möglichkeiten dieser Lösung unendlich. Ein Beispiel zeigt die Funktion countdown(x). Diese erzeugt einen Countdown für den Wert x, wie man im Screenshot sehen kann. Ein Blick in das Skript zeigt, wie einfach eigenen Funktionen umgesetzt werden können. Das Schöne ist, dass man sich nicht um die Übergabe der Parameter kümmern muss; das erledigt der interaktive Aufruf des Python-Interpreters automagisch.

Wie wäre es mit einer Matrizenmultiplikation mit Numpy?

a = n.array([ [1,0], [0,1] ])
b = n.array([ [4,1], [2,2] ])
n.matmul(a,b)
array([[4, 1],
       [2, 2]])

Zum Schluss möchte ich nicht die ursprüngliche Anforderung vergessen. Ein Taschenrechner, der bei der Darstellung skaliert (Font-Size = 30):

Falls jemand von euch einen Taschenrechner findet, der in der Grösse skaliert; nur her damit. Mir hat das Schreiben dieses Artikels sehr viel Freude bereitet, weil er ein gutes Beispiel für 'the power of linux' ist.

Tags

Taschenrechner, Calc, skalieren, bc, Terminal, Python

Lukas
Geschrieben von Lukas am 15. Mai 2023 um 14:15

In speedcrunch und qalculate kann man auch ganz leicht die Schriftgröße ändern. Bei qalculate sogar auch das Tastenfeld

Ralf Hersel
Geschrieben von Ralf Hersel am 15. Mai 2023 um 18:25

Danke für den Hinweis, Lukas. Die beiden Rechner kannte ich noch nicht.

Sam
Geschrieben von Sam am 15. Mai 2023 um 20:48

Auch in KCalc, dem Standard-Rechner unter KDE Plasma, lassen sich Schrift und Schriftgrösse anpassen, und zwar unterschieden nach Tastenschrift, Anzeigeschrift und Schrift des Verlaufs. Damit hatte ich nicht gerechnet! ;)

kamome
Geschrieben von kamome am 16. Mai 2023 um 08:11

KCalc FTW!

Aber fürs Terminal ist bc doch oft schneller (und reicht mir für eine schnelle Rechnung) – wenn ich da nur nicht immer ein scale mitgeben müsste … Folgende Funktion (z. B. in .bashrc schafft Abhilfe):

calc() { bc <<< "scale=10; $1"; }

Ein calc 5/6 liefert dann erwartungsgemäß .8333333333.

Naja
Geschrieben von Naja am 16. Mai 2023 um 08:58

bc einfach so aufrufen:

bc -l

Dann brauchts die scale-Geschichte nicht.

kamome
Geschrieben von kamome am 20. Juli 2023 um 13:43

Cool, danke!

Naja
Geschrieben von Naja am 16. Mai 2023 um 09:09

In allen hier bei mir installierten Terminals (xfce4-terminal, mate-terminal, konsole) lässt sich die Schriftgröße mit [Ctrl]-[+], [Ctrl]+[-] verändern und mit [Ctrl]+[0] wieder zurücksetzen. Beim xterm ist es [Shift]+[Keypad +] bzw. [Shift]+[Keypad -]