aard

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

Ohne die Diskussion haette ich wieder komplett vergessen dass ich mal die ganzen Connie-Pixies vom Klo einscannen wollte, weil da auch paar gute Vorlagen dabei sind.

Und eventl. dann noch lora fuer AI damit trainieren.

[–] aard@kyu.de 41 points 13 hours ago (1 children)

Nur mal wieder zur Erinnerung - komplette Rueckforderung von Cum-Ex waere etwa ein Jahr Buergergeld (also, komplett).

Das ist noch ohne andere Arten von Steuerhinterziehung, die auch nicht ordentlich verfolgt werden.

Vorschlag: Wir lassen das Buergergeld-Budget erstmal so, auch wenns zu wenig ist, und sagen aber das muss hauptsaechlich durch aufgedeckte Steuerhinterziehung finanziert werden - und wenn das nicht reicht kann man annehmen dass die Regierungsparteien das sabotieren, und daher werden proportional ihre Diaeten gekuerzt (also, 10% Buergergeld muss aus anderen Mitteln bezahlt werden -> Abgeordnete der Regierungsparteien bekommen 10% weniger).

[–] aard@kyu.de 13 points 1 day ago

Just like the UK exemptions most of those were given to early members as rules changed to get them to agree to the rule changes.

New members don't get that - and UK would be treated like a new member.

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

Well, one thing is that I have significantly less tabs than I had bookmarks. My bookmarks where somewhere high in the 5-figure range, maybe even 6 figure.

My heaviest used system has less than 10k tabs open.

It's not ideal, but the tab trees in treestyle tabs mean I usually can just scroll a short bit and click to find what I need.

Ideal would be a fully external bookmark manager - but browsers don't have APIs for that, so you'd have to end up writing an extension just to talk to your external management solution, and since they gimped the firefox plugin system about a decade ago you don't really have any useful APIs for doing that. (I'm current maintainer of the emacs keybindings extension for firefox, it's a hot mess to get a fraction of the functionality that was possible with the old extension system working. No idea why they don't offer the ability to do custom keybindings)

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

Bei winzigen Platten kommst du schon auf fast 10kg, wenn das dann in halbwegs ordentliche Groessen geht bist du schnell im Bereich 30-50kg/Platte.

Ich hatte das vor paar Jahren als Unterlage fuers Gewaechshaus und um den Grill gemacht, das zieht sich dann irgendwann schon.

Und: Das Zeug ist rauh. Wenn man da ganz unbedarft ohne Handschuhe mit den zarten Buroehaendchen rangeht hat man erstmal offene Haende.

[–] aard@kyu.de 2 points 2 days ago (3 children)

I haven't really used bookmarks for probably close to two decades, for various reasons.

Keeping them synchronized always was a pain, and that was before you got into multiple browsers. That part at least is better now.

Then the interfaces to manage them sucked - I did try a bit back then to manage them externally, but the storage formats also were stupid.

And then I seemed to have reached the number of bookmarks the browsers no longer were able to handle (presumably due to the shitty way they were storing them), and adding or editing bookmarks always included several seconds between clicks to wait for the browser to react.

Pretty much everything apart from the first point is still true for the built in bookmark managers.

[–] aard@kyu.de 16 points 2 days ago (2 children)

Hat meine Frau auch ein Talent fuer, aber wenigstens ist sie dann beim Abholen dabei.

Als wir noch einen Citigo hatten hatte sie einen Wohnzimmertisch aus Glas organisiert, mit nicht abnehmbaren Fuessen. Das war lustig bis das im Auto war.

Als wir dann einen Fabia Kombi hatten hat sie einen grossen Esstisch aus Glas organisiert. Immerhin diesmal mit abnehmbaren Fuessen, was die Sache durch die groessere Glasplatte aber nicht wahnsinnig viel leichter gemacht hat. Fuer die die noch nie Glasplatten transportiert haben: Das Zeug ist schwer, und hat keinerlei Interesse sich an die Umgebung anzupassen.

[–] aard@kyu.de 3 points 2 days ago (6 children)

treestyle tabs helps a lot with tab organization. Reasonably amount of tabs can't really be managed with the default tab interface of any browser (haven't tried the recently added native vertical tabs yet - they also added in tab groups, which I was heavily relying on before they ripped it out a bit over a decade ago. Not sure if I'll find back to my old workflow after all that time, though)

[–] aard@kyu.de 3 points 3 days ago

It's one of the cases where I actually ended up buying the extra levels back then.

[–] aard@kyu.de 3 points 3 days ago

aber Bildung sollte doch erstmal jedem ermöglicht werden. Eigentlich auch Nazis, denn es sollte doch die Chancen erhöhen dass die ihre Ideologie vielleicht überwinden.

Bildung ja, Lehre nein - und Hiwis sind halt nunmal unter anderem auch Lehrkraefte.

[–] aard@kyu.de 1 points 5 days ago

I haven't been TUI only for roughly two decades now - that's around the time the server got properly usable.

I typically have a daemon running - on Linux via systemd user session, on MacOS via launchd, on Windows via startup. I then attach GUI frames to that, and - at least on the unix style platforms - typically have a tmux with a TUI frame running.

I have scripts to open files in emacs - that's easy configurable to either open in the last used frame, or attach a TUI frame in the terminal, and open it there. I also have the EDITOR variable set to those scripts.

When fully using emacs you'd probably end up doing more work in emacs, and only occasionally wanting to do shell call outs.

For example, I edit some project, commit it via magit, trigger a build via compile to pack things up, open dired to move the files to a publish location, then open dired at the publish location and modify the publish package from there, and then finally start a shell in that directory to trigger the publish workflow. Only slight annoyance with that is that out of the box emacs shells are not setup for that kind of multiple shell buffers in specific directiories with easy throwaway - but it's easy enough to make that work.

[–] aard@kyu.de 4 points 6 days ago

Ich kenn die Situation in Daenemark nicht, aber vermute dass die da aehnliches machen wie in anderen nordischen Laendern. Eine niedriger Prozentsatz an Migranten in einer Klasse ist durchaus wuenschenswert da das bei der Integration hilft - aber er wird eben nicht durch Quoten erreicht, sondern durch andere Integrationsbestrebungen.

Geht z.B. schon damit los dass man bei Personen mit Wohnberechtigungsschein oder aehnlichem schaut dass man die halbwegs gleichmaessig auf Siedlungen verteilt statt in Ghettos abzuschieben - damit hast du dann auch fast automatisch die entsprechende Mischung fuer Schulen. Damit das funktioniert braeuchtest du aber eben Mischviertel wo Einfamilienhaeuser, Reihenhaeuser und Wohnblocks gemischt sind, und bei den Bauformen dann auch wieder Mischung fuer Eigenbedarf und gefoerderte Wohnungen.

Ist hier das Standardviertel, in Deutschland gibts das glaub ich eher selten.

 
 

This uses the tool support from gptel to let any LLM with tool support

  • search my bbdb for contact info
  • perform a bbdb search for all contacts with an anniversary field
  • use gnus to compose an email

plus a few helper functions to make it useful (like giving it the ability to query the current date).

The tool definition it used in the above screenshot are:

(defun gptel-tool--get-date ()
  "Return the current date"
  (format-time-string "%Y-%m-%d"))

(defun gptel-tool--compose-email (to-address subject text)
  "Open an email compose buffer '*new message*' to to-address with subject subject."
  (gnus-setup-message 'message (message-mail to-address subject))
  (insert (concat "\n" text)))

(defun gptel-tool--bbdb-search (name)
  "Search bbdb for NAME"
  (bbdb-search (bbdb-records) :name name))

(defun gptel-tool--bbdb-search-anniversary (anniversary-type)
  "Search bbdb for anniversary with ANNIVERSARY-TYPE"
  (let ((bbdb-default-xfield 'anniversary))
    (bbdb-search (bbdb-records) :xfield anniversary-type)))

And they get registered with the following code:

      (gptel-make-tool
       :function #'gptel-tool--get-date
       :name  "gptel-tool--get-date"
       :description "Use to get the current date in %Y-%m-%d format. After calling this tool, stop. Then continue fulfilling user's request."
       :category "emacs")

      (gptel-make-tool
       :function #'gptel-tool--compose-email
       :name  "gptel-tool--compose-email"
       :description "Open an email compose buffer and set subject, to-address and body. After calling this tool, stop. Then continue fulfilling user's request."
       :args (list '(:name "to-address"
                           :type string
                           :description "The address to send to")
                   '(:name "subject"
                           :type string
                           :description "The mail subject")
                   '(:name "body"
                           :type string
                           :description "The body text of the email"))
       :category "emacs")

      (gptel-make-tool
       :function #'gptel-tool--bbdb-search
       :name  "gptel-tool--bbdb-search"
       :description "Return a bbdb entry for name, or nil if not found. After calling this tool, stop. Then continue fulfilling user's request."
       :args (list '(:name "name"
                           :type string
                           :description "The name to search for"))
       :category "emacs")

      (gptel-make-tool
       :function #'gptel-tool--bbdb-search-anniversary
       :name  "gptel-tool--bbdb-search-anniversary"
       :description "Return or a specific anniversary type. After calling this tool, stop. Then continue fulfilling user's request."
       :args (list '(:name "anniversary-type"
                           :type string
                           :description "The anniversary to search for, for example 'birthday' for birthdays"))
       :category "emacs")
 
 

Screenshots of the UI changes on the Mac - in my opinion it is now just wasting a lot of screen estate for zero benefit.

On non-Macs they're adding an extra usability issue by hiding the top menu bar. I've gove back to 2.7.4 for now - fortunately I had my configuration in git.

Up to 2.7.4:

2.8.4:

 
 

Vor ein paar Tagen gabs hier ein Post zu Deutschlandwochen im Lidl in Italien, wo einer aus Schweden und ich mich ueber das Layout gewundert haben.

Jetzt sind auch hier Deutschlandwochen - und anscheinend wurde generell das Packungslayout geaendert - frueher war das alles "Alpenfest", jetzt "taste of deutschland".

Einige Produkte haben sich auch geaendert - z.b. waren die Apfel/Kirsch/Pflaumenkuchen frueher grosse runde Kuchen, jetzt sinds mehrere Teile.

Und Maultaschen sind wieder nicht dabei.

 

This is OpenDalle with img2img to make an existing picture into a futuristic city.

I took this picture at work a while ago, and it reminded me of cities with brutalist architecture we see in movies now and then, so I tried to get it made into one:

Other interesting attempts:

Forcing it to stay closer to the source made things look more like a highschool cardboard model:

 

I've finally found a bag which nicely fits almost everything I want to carry every day, and alos makes everything easily accessible - it is about the same size as what I used to carry, but now I no longer need to dump everything out to find what I neede, even with some lose parts still in there.

Contents:

Center:

  • 4 empty 64 microSD with SD adapter
  • one rpi 2040 with USB-A interface
  • headphones
  • bag of female jumper cables, with male-male adapters
  • a collection of the most used NFC keyfobs

Left side:

  • USB-C cable with attached USB-A adapter (USB3, missing on picture)
  • two USB-C to headphone adapters
  • satechi USB-C power meter
  • headphone splitter
  • USB-C to SATA adapter
  • USB-C smartcart reader
  • VGA to HDMI
  • USB Ninja (USB-C)
  • proxmark3 with battery/bt
  • collection of NFC magic cards

Right side:

  • USB-C hub with charging port
  • miniDP to HDMI
  • small USB-C dock
  • USB-C to whatever adapters (mini, micro, B, HDMI, ..)
  • Chameleon ultra
  • MPP pen
  • Ninja USB remote
  • USB-C to serial, connected via jumper cables

 

I recently had to add a Mac to my zoo of hardware I'm trying to do productive work on - which prompted me to clean up and document my environment variable importer, which had grown to platform specific functions with lots of code duplication.

On both Windows and MacOS I have properly configured shells with all relevant variables - so it makes sense to query them, instead of duplicating the logic how they create that configuration into Emacs.

On Linux that'd have worked too, but I also have the relevant variables in the systemd user session, and querying that is a tiny bit faster than launching a shell.

 

I was thinking about that when I was dropping my 6 year old off at some hobbies earlier - it's pretty much expected to have learned how to ride a bicycle before starting school, and it massively expands the area you can go to by yourself. When she went to school by bicycle she can easily make a detour via a shop to spend some pocket money before coming home, while by foot that'd be rather time consuming.

Quite a lot of friends from outside of Europe either can't ride a bicycle, or were learning it as adult after moving here, though.

edit: the high number of replies mentioning "swimming" made me realize that I had that filed as a basic skill pretty much everybody has - probably due to swimming lessons being a mandatory part of school education here.

 

My kids broke the flap on one of our sockets, so I had to look into getting them replaced.

Initially I tried to make them clip on to avoid having to remove the complete socket for future replacements, but that ended up either weakening the hinges too much, or making it impossible to attach it with the spring in the right position.

The gasket and O-ring are donated from the original flap:

The original flap and the first test prints to check if I got the dimensions right:

The whole thing is over on printables

view more: next ›