aard

joined 2 years ago
[–] aard@kyu.de 2 points 2 years ago

Ich hab compose auf l_ctrl, aber Tippgeschwindigkeit geht zu weit nach unten mit den schlecht erreichbaren Tasten, daher nutz ich das selten.

[–] aard@kyu.de 13 points 2 years ago (2 children)

Ich hab nach den diversen Kommentaren ueber das "falsch geparkte Fahrrad" etwas gesucht, gibt dazu einiges interessantes.

Halteverbotsschilder untersagen nicht das Abstellen von Fahrraedern auf dem Gehweg. Fuer Parkplaetze gibt es keine Regelung was da jetzt parken darf - man muss aber platzsparend parken. Mit einem Fahrrad den kompletten Parkplatz blockieren kann wohl 10 EUR Bussgeld kosten. So wie auf dem obigen Bild abgestellt waere aber OK.

Die naechste Frage waere dann ob man einen Parkschein braucht - Berlin hat das wohl jetzt geregelt, und erlaubt kostenloses Parken fuer Fahrraeder. In anderen Staedten ist die Frage offen, hier ist ein interessanter Artikel mit Kommentaren dazu - beim Fahrrad kann der Parkschein nicht Diebstahlsicher aufbewahrt werden, und mangels Kennzeichen ist das mit dem Bussgeld auch nicht so einfach, daher Tendenz zu "evtl. muss man nicht loesen, falls doch unklar wie das durchgesetzt wird"

[–] aard@kyu.de 34 points 2 years ago (2 children)

Der Zeitpunkt den die da planen ist etwas spaet um da korrigierend einzugreifen.

Mal zum Vergleich wie das hier in Finnland laeuft: Ab 5 (das sind hier noch zwei Jahre Kindergarten, Schule ist ein Jahr spaeter als in Deutschland) bekommen die Auslaenderkinder im Kindergarten jede Woche Sprachunterricht. Die Lehrerin die dazu die Kindergaerten abklappert geht aber auch regelmaessig zu den kleineren Kindern, und schaut ob es da Foerderbedarf gibt - wir haben bei unseren Kindern ab 3 immer Rueckmeldungen bekommen wie das mit der Sprachentwicklung aussieht.

[–] aard@kyu.de 2 points 2 years ago

As a shortsighted person - reading with an ebook reader in bed after removing glasses is significantly easier than reading an actual book.

[–] aard@kyu.de 21 points 2 years ago (2 children)

Because it isn't. This impacts when the scheduler kicks in, not on how many cores stuff is running on. With fewer cores scheduler is faster triggered again, and and at 8 cores the adjustment for that stops. Which may be an intentional decision to avoid high latency issues.

[–] aard@kyu.de 24 points 2 years ago (1 children)

Ich hatte mal nen Nachbarn der sich immer wahnsinnig ueber Glutamat in verschiedenen Restaurants aufgeregt hat.

Er hat mir dann irgendwann zum Kochen ein Einmachglas mit so einem tollen Gewuerz das er immer von den Philippinen mitbringt gegeben. Total natuerlich, wird dort aus Algen hergestellt.

Fast 20 Jahre spaeter fuelle ich in seinem Andenken mein Glutamat immer noch in das Glas.

[–] aard@kyu.de 4 points 2 years ago

I assume you mean "lookup", as import doesn't really make much sense.

I'm currently using this with wofi, though I'll eventually rewrite it as anyrun plugin, which provides a bit more control:

#!/usr/bin/env python3
from argparse import ArgumentParser
import subprocess
import json
import os
 
ssh_config_file = "~/.ssh/config"
ssh_known_hosts_file = "~/.ssh/known_hosts"
 
# Returns a list of all hosts
def get_hosts():
 
    hosts = []
 
    with open(os.path.expanduser(ssh_config_file)) as f:
        content = f.readlines()
 
    for line in content:
        line = line.lstrip()
        # Ignore wildcards
        if line.startswith('Host ') and not '*' in line:
            for host in line.split()[1:]:
                hosts.append(host)
 
    # Removes duplicate entries
    hosts = sorted(set(hosts))
 
    return hosts
 
def get_known_hosts():
 
    hosts = []
 
    with open(os.path.expanduser(ssh_known_hosts_file)) as f:
        content = f.readlines()
 
    for line in content:
        line = line.lstrip()
        host_entry = line.partition(" ")[0]
        hosts.append(host_entry.partition(",")[0])
 
    # Removes duplicate entries
    hosts = sorted(set(hosts))
 
    return hosts
 
# Returns a newline seperated UFT-8 encoded string of all ssh hosts
def parse_hosts(hosts):
    return "\n".join(hosts).encode("UTF-8")
 
# Executes wofi with the given input string
def show_wofi(command, hosts):
 
    process = subprocess.Popen(command,shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE)
    ret = process.communicate(input=hosts)
    host, rest = ret
    return host
 
# Switches the focus to the given id
def ssh_to_host(host, terminal, ssh_command):
 
    if "]:" in host:
        host, port = host[1:].split("]:")
        command = "{terminal} \'{ssh_command} {host} -p {port}\'".format(terminal=terminal, ssh_command=ssh_command, host=host, port=port)
    else:
        command = "{terminal} \'{ssh_command} {host}\'".format(terminal=terminal, ssh_command=ssh_command, host=host)
 
    process = subprocess.Popen(command,shell=True)
 
# Entry point
if __name__ == "__main__":
 
    parser = ArgumentParser(description="Wofi based ssh launcher")
    parser.add_argument("terminal", help='Terminal command to use')
    parser.add_argument("--ssh-command", dest='ssh_command', default='ssh', help='ssh command to use (default=ssh)')
    parser.add_argument("--mode", dest='mode', default='known_hosts', help='where to read from (default=known_hosts)')
    parser.add_argument("--command", default='wofi -p \"SSH hosts: \" -d -i --hide-scroll', help='launcher command to use')
    args = parser.parse_args()
 
    if (args.mode == "config"):
        hosts = get_hosts()
    elif (args.mode == "known_hosts"):
        hosts = get_known_hosts()
 
    parsed_hosts = parse_hosts(hosts)
 
    selected = show_wofi(args.command, parsed_hosts)
 
    selected_host = selected.decode('utf-8').rstrip()
 
    if selected_host != "":
        ssh_to_host(selected_host, args.terminal, args.ssh_command)
[–] aard@kyu.de 4 points 2 years ago

There's a lot of other stuff where Wayland improves the experience. Pretty much everything hotplug works to some extend on X, but it's all stuff that got bolted on later. Hotplugging an input device with a custom keymap? You probably can get it working somewhat reliably by having udev triggers call your xmodmap scripts - or just use a Wayland compositor handling that.

Similar with xrandr - works a lot of the time nowadays, but still a compositor just dealing with that provides a nicer experience.

Plus it stops clients from doing stupid things - changing resolutions, moving windows around or messing up what is focused is also a thing of the past.

[–] aard@kyu.de 7 points 2 years ago (2 children)

You have a list of systems you've connected to in known_hosts, though. And the config file is easy enough to parse - throwing away the stuff you don't care about - to expand on that list.

[–] aard@kyu.de 2 points 2 years ago (1 children)

Lack of accountability goes both ways, though...

[–] aard@kyu.de 53 points 2 years ago (6 children)

For the usual candidates I either keep detailed notes, or make sure I can quickly find an earlier conversation (chat, email, whatever).

So in that case I'm then just answering "As we've discussed on 14.04. at 13:39, 17.04 14:30 and 20.04 at 14:15 already..."

They typically get the hint that when I'm capable of remembering in detail when we discussed it they maybe should make an effort of remembering what we discussed.

[–] aard@kyu.de 2 points 2 years ago

I have a custom TrueType font embedding the UCS bitmap fonts so I can use it with modern font renderers which dropped support for those old font formats.

view more: ‹ prev next ›