Eunice Foote (206).
Google AI Overview: rounding 17.58 to 1.8
In case you were unconvinced that it makes sense to avoid the Google AI Overview I mentioned recently, there's an example:

It's... something.
In case you were unconvinced that it makes sense to avoid the Google AI Overview I mentioned recently, there's an example:
It's... something.
Recently the default search on google.com starts with a section labeled "AI Overview" containing an attempt to generate, uh... well, an answer to your search, I guess?
In my browsers I have defined a shortcut to do a websearch, so I can type "go " and then what to search for. To get rid of the AI overview at the top, you can click the "Web" tab, instead of the default "All".
To make that the default, I have changed the bookmark shortcut to http://www.google.com/search?udm=14&q=%s
(adding udm=14&
) so I don't have to wait for and look at the "AI Overview."
Yay!
In ZuriHac 2025 Trip Report Tristan de Cacqueray writes:
I still wish there were an official recommended way of doing mundane things, like handling HTTP request errors, to avoid wasting time figuring this out on your own.
Yes, a hundred times this - as a, still fledgling, Haskell programmer, such guidance would be ever so nice!
When you start having a bit of an overview and when you have developed a "taste", then it's easier to pick and choose. Until then it's nice to be able to put on the "learning wheels" of 'recommended ways of doing basic things'.
P.S. If every library also had a section in the documentation showing a fully working example of how it can be used ("SYNOPSIS" in CPAN terms), that would be perfect.
every.to has a section called The Crazy Ones with often interesting stories from the computer history - todays story is about Compaq, how they created a clean room clone of the BIOS and made a better (more compatible) DOS than Microsoft, how they were first with the 386, and made the open standard EISA that won over IBM's attempt to close the PC-architecture down with MCA: The Man Who Beat IBM.
Worth a read.
Earlier this week I learned that EUPL "European Union Public Licence" exists. Wikipedia explains:
The European Union Public Licence (EUPL) is a free software licence that was written and approved by the European Commission. The licence is available in 23 official languages of the European Union. All linguistic versions have the same validity. EUPL v1.2 was published in May 2017. Revised documentation for v1.2 was issued in late 2021.
That sounds like a good idea - and I was intrigued by the availability in all the official languagues, it could be fun to read it in Danish.
I clicked on the "Website" link on Wikipedia: interoperable-europe.ec.europa.eu/collection/eupl - and started looking for the text.
And kept looking. Clicking and looking. And looking some more. There is a lot of explanatory text there, but I was not able to locate the actual text of the license.
Using a search engine you'll find eupl.eu, which is ... not official.
But searching some more, I finally found this page: interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 which has links to the actual license texts, in PDF and text formats.
I think this link ought to be easy to find on the Welcome page of EUPL.
Guidelines, Overview matrices, License explanations, Explanations of compability and instructions on how to apply the license are all well and good, but the actual text is arguably more important.
Compare to the page of the GNU General Public License - the text is 0 clicks away, or the Apache license - the text is 1 click away.
It's not that often I encounter a QR code I want to open on my computer, but when I do it would be nice to simply be able to select the graphic on the screen, and then have the URL open.
Combining Flameshot and zbar-tools in a small shell script allows me to do just that: the script checks for PNG in the clipboard, and if there is none, launches Flameshot. After that zbarimg
is run to extract the URL, which is then opened in the default browser:
#!/bin/sh # open-qr-code - script to interpret a qr-code in the clipboard and # open it. # # Depends on: xclip, zbar-tools, libnotify-bin, flameshot. # 1) Save png from clipboard in file: CAPTURE=0 if ! xclip -o -t TARGETS -selection clipboard | grep --quiet image/png; then # 0) If there is no image in clipboard, launch flameshot to pick one: sed -i 's/showDesktopNotification=true/showDesktopNotification=false/' ~/.config/flameshot/flameshot.ini flameshot gui --clipboard --accept-on-select sed -i 's/showDesktopNotification=false/showDesktopNotification=true/' ~/.config/flameshot/flameshot.ini CAPTURE=1 fi if xclip -o -t TARGETS -selection clipboard | grep --quiet image/png; then IMAGE=$(/bin/mktemp --tmpdir qr-codeXXXXXX.png) xclip -t image/png -selection clipboard -o > "$IMAGE" # 2) Run QR-code detector: if CONTENT=$(zbarimg --quiet "$IMAGE"); then # 3) If it is a URL, open it in a browser: URL=$(echo "$CONTENT" | sed 's/^QR-Code://') if echo "$URL" | grep --quiet '^http'; then notify-send --icon /usr/share/icons/Moka/256x256@2x/apps/qr-creator.png "Open QR code" "Opened $URL" x-www-browser --new-window "$URL" & else notify-send --icon /usr/share/icons/Moka/256x256@2x/apps/qr-creator.png "Open QR code" "QR code contained non-url: '$URL'" fi else notify-send --icon /usr/share/icons/Moka/256x256@2x/apps/qr-creator.png "Open QR code" "Did not find a QR code in the image" fi if [ $CAPTURE = 1 ]; then echo "" | xclip -in -selection clipboard fi else notify-send --icon /usr/share/icons/Moka/256x256@2x/apps/qr-creator.png "Open QR code" "No image/png in clipboard" fi
Recently I was editing a Markdown file and I was converting it to HTML with pandoc for every edit.
Re-running the command quickly became tedious - I could use some kind of framework for editing Markdown or something elaborate, but what I really wanted was just "run a command when a file changes".
So, watchfile
was born - it basically just wraps inotifywait
from the inotify-tools package:
#!/bin/sh # watchfile FILE COMMAND - run a command whenever a file changes. FILE=$1 shift while inotifywait --quiet --quiet "$FILE"; do echo -n "Running '$*' ... " "$@" echo "done." done
Rosetta Stone discovered in Egypt (226).
Eunice Foote (206).
Nelson Mandela (107).
First moonlanding (56).
H.C. Ørsted describes electromagnetism (205).
Amiga launched (40).
Christina Ruskær Nielsen (46).
Dolly (28).
d-a-d.com (28).