609 private links
This is an extension of the very common find ... -exec grep ... {} \; construct I use almost daily to find which files contain a particular text string.
Now, let's say you're looking for files in all your Ansible roles containing the string ppa:, because you want to create a new role using a suitable existing role as a template. In this case, I think most recently modified is an excellent proxy for suitability.
Thus, the challenge: can we tack on something to the find ... grep construct such that the output shows matching files in order of most recently modified?
taha@asks2:~
$ cd /media/bay/taha/projects/ansible && find . -not -path '*/legacy/*' -type f -name "*.yml" -exec grep -il "ppa:" {} \; -printf "%T+ %p\n" | grep -v "^\\./.*" | sort && cd $OLDPWD
2021-06-09+22:27:20.6889730070 ./roles/public/php-versions/tasks/setup-Debian.yml
2022-01-09+07:39:51.1836426130 ./roles/public/java-openjdk/tasks/ppa.yml
2022-02-23+15:33:13.2318546100 ./roles/dev/deluge/tasks/install.yml
2022-03-31+04:42:16.5644336650 ./roles/dev/editor-notepadqq/tasks/main.yml
2022-05-09+15:21:01.7974094830 ./roles/dev/qownnotes/tasks/main.yml
2022-06-25+02:46:13.0580097480 ./playbooks/workstation/roles/boot-grub/tasks/main.yml
2022-06-25+02:46:18.2940273650 ./roles/dev/libreoffice/tasks/main.yml
2022-07-03+00:16:44.5563131800 ./roles/dev/shutter/tasks/main.yml
2022-07-04+20:35:15.6128270470 ./roles/dev/magnus/tasks/main.yml
2022-07-14+21:09:01.6502524570 ./roles/dev/flatpak-remote/tasks/main.yml
2022-07-14+22:05:43.3325667290 ./roles/public/firejail/tasks/install.yml
2022-07-16+13:42:04.3756138100 ./roles/public/variety/tasks/main.yml
2022-07-16+22:05:52.0552035060 ./roles/public/browser-chromium/tasks/install.yml
2022-07-21+00:14:51.1137716920 ./roles/public/foliate-ebookreader/tasks/ppa.yml
2022-07-21+03:07:42.2876610030 ./roles/public/graphics-driver-nvidia/tasks/install.yml
2022-07-21+06:05:27.4514643180 ./roles/public/foliate-ebookreader/tasks/flatpak.yml
2022-07-23+18:32:46.8466638700 ./roles/dev/handbrake/tasks/main.yml
2022-08-12+00:09:51.6575729520 ./roles/dev/x2goclient/tasks/main.yml
2022-08-19+15:28:49.5605481840 ./roles/dev/x2goserver/tasks/main.yml
2022-11-04+11:35:14.6208169990 ./roles/public/python3/tasks/python-ppa.yml
2022-11-19+03:16:16.7832183030 ./roles/public/browser-firefox/tasks/main.yml
2022-12-24+23:04:01.2033026010 ./roles/public/R/tasks/dependencies.yml
2022-12-31+19:38:32.9105553030 ./roles/public/digikam/tasks/install-ppa.yml
2023-01-01+01:39:08.2045090970 ./roles/public/digikam/tasks/install-appimage.yml
2023-01-14+00:44:34.8526187360 ./roles/public/java-openjdk/defaults/main.yml
2023-01-26+14:10:18.9247087870 ./roles/public/ansible/tasks/main.yml
2023-01-26+16:14:59.9903243110 ./roles/public/sioyek-pdf/defaults/main.yml
2023-05-12+12:01:30.4705549280 ./roles/public/mpv/tasks/install.yml
2023-05-13+00:47:41.1561557100 ./roles/public/nextcloud-desktop/tasks/main.yml
2023-08-27+18:19:44.8291334420 ./roles/public/digikam/defaults/main.yml
Eureka!
Explainer
- the initial
cd <path-parent>ensure that the resulting paths displayed byfinddon't contain the<path-parent>part (to avoid cluttering the output), and the finalcd $OLDPWDjust make sure that the bash prompt is not changed to<path-parent>. - unless you want to exclude some path from the search, there is obviously no need for
-not -path '*/<some-path>/*'. grep -ifor case insensitive matching, and-l(that's the letterlfor list) makesgrepprint only the filename and not each matching line (this is crucial for this hack to work, we wantgrepto produce as little output as possible, in fact, if I could figure out a way to silencegrepaltogether I would have, but I couldn't).-printf "%T+ %p\n"adds the filemtimeto the output (on a new line). Thanks angus@Unix.SE.
At this point, an example of the unfinished product is order. Before sorting, and before the final grep -v, the output looks like this (excerpt):
taha@asks2:~
$ cd /media/bay/taha/projects/ansible && find . -not -path '*/legacy/*' -type f -name "*.yml" -exec grep -il "ppa:" {} \; -printf "%T+ %p\n" && cd $OLDPWD
./roles/public/java-openjdk/defaults/main.yml
2023-01-14+00:44:34.8526187360 ./roles/public/java-openjdk/defaults/main.yml
./roles/public/java-openjdk/tasks/ppa.yml
2022-01-09+07:39:51.1836426130 ./roles/public/java-openjdk/tasks/ppa.yml
./roles/public/browser-firefox/tasks/main.yml
2022-11-19+03:16:16.7832183030 ./roles/public/browser-firefox/tasks/main.yml
./roles/public/R/tasks/dependencies.yml
2022-12-24+23:04:01.2033026010 ./roles/public/R/tasks/dependencies.yml
./roles/public/browser-chromium/tasks/install.yml
2022-07-16+22:05:52.0552035060 ./roles/public/browser-chromium/tasks/install.yml
./roles/dev/x2goclient/tasks/main.yml
2022-08-12+00:09:51.6575729520 ./roles/dev/x2goclient/tasks/main.yml
with the grep output on its own line, followed by the time-stamped output of printf. Like I said, it would have been better if we could somehow silence the grep output at this point. If you know a way, feel free to let me know!
As expected, sorting resulted in the non-time-stamped lines dangling about like some unwanted appendage:
taha@asks2:~
$ cd /media/bay/taha/projects/ansible && find . -not -path '*/legacy/*' -type f -name "*.yml" -exec grep -il "ppa:" {} \; -printf "%T+ %p\n" && cd $OLDPWD
2022-01-09+07:39:51.1836426130 ./roles/public/java-openjdk/tasks/ppa.yml
2022-07-16+22:05:52.0552035060 ./roles/public/browser-chromium/tasks/install.yml
2022-08-12+00:09:51.6575729520 ./roles/dev/x2goclient/tasks/main.yml
2022-11-19+03:16:16.7832183030 ./roles/public/browser-firefox/tasks/main.yml
2022-12-24+23:04:01.2033026010 ./roles/public/R/tasks/dependencies.yml
2023-01-14+00:44:34.8526187360 ./roles/public/java-openjdk/defaults/main.yml
./roles/public/java-openjdk/tasks/ppa.yml
./roles/public/browser-chromium/tasks/install.yml
./roles/dev/x2goclient/tasks/main.yml
./roles/public/browser-firefox/tasks/main.yml
./roles/public/R/tasks/dependencies.yml
./roles/public/java-openjdk/defaults/main.yml
At this point I was out of ideas, so grep -v ... it was, and we end up with the one-liner shown above. It's an ugly hack, but hey, it works :-)
Bash 5.1 on Ubuntu 22.04.3, with GNU find 4.8.0, GNU grep 3.7, and GNU sort 8.32.
Energisystemet är alltid i balans. Det betyder att den tillförda energin alltid är lika stor som den använda energin, inklusive förluster.
Via Energimyndigheten.
[...] Reddit cut off public access to Pushshift this summer, so Redditmap.social can only use data generated early this year.
From the blog post "How Big is YouTube?" by Ethan Zuckerman.
It really is time to learn to use a more open platform, preferably a Fediverse-compatible one.
Thanks mnalis for posting the fix on the Github issue thread. I had spent time fruitlessly trying the Nextcloud app settings, permissions settings, and other stuff, but nothing had any effect - auto upload would not trigger.
Under Android Settings / User & accounts / Nextcloud / Sync the options File sync was OFF! I toggled it ON and the thing started uploading photos immediately.
This is just a quick-and-dirty one-liner. I was compiling beamer slides, and for some reason the TikZ-generated PDF figures contained two pages under some circumstances. This way we can quickly see whether just some PDF files or all of them suffered a problem:
$ find figure/ -type f -name "*.pdf" -exec pdftk "{}" dump_data \; | grep NumberOfPages | awk '{print $2}'
1
1
1
1
1
1
(in this case they were all one page long).
This is just awesome! An open source magnetic stir heating plate!
Dr Erik Johansson (Uppsala universitet) ger i denna korta video en beskrivning av kvantprickar med anledning av årets nobelpris i kemi.
A very nice resource!
I found it while reading up on presentation software (pdfpc and such).
Det första föredraget av Petter Falk (doktorand på Karlstads universitet) var riktigt bra. Man får hoppas Trafikverket lyssnar.
Really nice work by Steve Byrnes. Very useful.
Archived.
I keep getting annoyed by Doodle. In this latest example, it proved impossible to change the shown "name" as guest user once my answer was submitted, despite it being possible to change everything else, or even decline. (I wanted to make use of the "name" field to include a single-word message to the organizer.) And when logged in the name field never even showed up during the answer flow.
Alternatives to Doodle
- https://crab.fit (it's FOSS, source code on Github)
- https://framadate.org/abc/en (FOSS, by the well-known French organization Framasoft)
- https://datumprikker.nl (not FOSS, but perhaps convenient since it offers Google and Apple apps). Don't forget to change to English in the menu.
Self-hostable alternatives
- https://github.com/lukevella/Rallly >2k stars, on v3.3.0, built on Next.js. Reddit thread.
- https://github.com/kellerben/dudle >300 stars, on v1.2, built on Ruby. Reddit thread.
- Nextcloud may have some doodle-like app (I haven't checked).
- https://www.nytimes.com/2023/10/15/business/nigeria-fertilizer-shortage.html Behind paywall, inaccessible. Intro to the article here, what appears to be the full article here. Via chemjobber.
- https://www.poynter.org/reporting-editing/2022/world-food-supply-threatened-global-fertilizer-shortage/
African farmers on average use the least fertilizer per acre in the world and have some of the lowest yields, particularly for corn and other grains that provide the bulk of the continent’s calories. As a result, despite having 60 percent of the world’s arable land, almost half the countries in Africa depends on imported wheat from Russia and Ukraine, with 14 African countries getting more than half their wheat from the two warring nations.
- https://www.nationalgeographic.com/environment/article/global-food-crisis-looms-as-fertilizer-supplies-dwindle National Geographic, 2023-05-23
First farm in Kenya to produce fossil-free fertilizer (ammonia from renewably produced hydrogen), built by US startup firm Talus Renewables. Yale Environment 360 Magazine, 2023-10-11.
- https://www.businessinsider.com/fertilizer-shortage-is-at-the-heart-of-pending-food-crisis-2022-8 Business Insider, 2022-08-01
- https://nelhydrogen.com/press-release/awarded-iberdrola-contract-for-20-mw-green-fertilizer-project-in-spain/
- https://africafertilizer.org - slightly suspect website, but might contain useful data.
avtal med företaget ArkivIT om drift och support av ett e-arkivsystem baserat på programvarorna Archivematica och AtoM (Access to Memory)
Hösten 2021 gick det Enskilda e-arkivet med Arkiv Sörmland i spetsen in i slutfasen för E-arkivportalen. Tanken är att portalen ska nyttjas av föreningar som vill arkivera digitalt material som i första hand tillkommit digitalt. Det kan röra sig om hemsidor, sociala medier, mailkorrespondens, avtal, räkenskaper, fotografier, videofiler, och mycket mer.
UNIDO's (UN Industrial Development Organization) projects and programmes at a glance. Has a really nice by country explorer.
Unfortunately neither the UNIDO website nor its Open Data platform appear to feature any RSS feeds.
I takt med att prisjakt försämras och dag för dag blir mindre användbart (senaste försämringen var Cloudflare "säkerhetskontroll" när man klickar på en produktlänk för att "gå till butik"...) blir det tyvärr nödvändigt att hålla en egen lista över återförsäljare och dylikt.
Tabell i bokstavsordning.
| Shop | Product categ. | Jurisdiction | Notes |
|---|---|---|---|
| Alina | även begagnat | Uppsala | |
| Atea | Stockholm | ||
| Batteriexperten | batteries, etc. | Sweden | |
| Billigteknik.se | även begagnat | Sweden | |
| Buyzero | Raspberry Pi & Co | Germany | |
| CombIT Data | Sweden | ||
| ComputerSalg | även begagnat | Denmark | |
| cryptoshop | FIDO keys, etc. | Germany | |
| Direktronik | Sweden | ||
| Dustin | Sweden | ||
| electro:kit | electronic kits | Sweden | |
| elektronik24.se | Sweden | ||
| FLOSS Shop | Librem, etc. | Germany | |
| Geekworm.com | Raspberry Pi and SBC accessories | China | |
| GG Serverparts | beg. servrar | Sweden | |
| Induo | routers, etc. | Sweden | |
| Inet.se | även begagnat | Sweden | |
| inrego.se | bara begagnat | Sweden | |
| IT-Auktion AB | beg. auktion | Stockholm | |
| iXpress | bara begagnat: mobiler | Malmö | |
| Kjell & Company | Sweden | ||
| Komplett.se | Sweden | ||
| Loh Electronics AB | routers, sensors, RPi, m.m. | Örebro | |
| Mobilfynd.se | även begagnat: mobiler | Sweden | Ecommerce Sweden AB |
| Mullet AB | servrar, etc. | Malmö | |
| MyElectronics | Server racks, etc. | Netherlands | |
| Net2World | även begagnat | Sweden | |
| NetOnNet | även begagnat | Sweden | |
| Netvaruhuset.com | Sweden | ||
| Nordway Store | bara begagnat: datorer, mobiler, plattor, mm | Sweden | |
| Nördic | kablar, etc. | Stockholm | |
| Pimoroni | Raspberry Pi, etc. | United Kingdom | |
| Proshop | även begagnat | Denmark | |
| Refurbly | bara begagnat: mobiler | Sweden | |
| Renewtech | beg. servrar | Danmark | |
| Senetic | routers, APs, etc. | Sweden | |
| Server Part Deals | beg. HDD/SSD | USA | |
| shift.eco | phones, etc. | Germany | |
| TekLager | Routers, servers | Stockholm | |
| teknikdelar.se | även begagnat, mobiler. Kablar, mm | Malmö | Spares Nordic AB, en del av Clas Ohlson-koncernen |
| teknikhouse.se | även begagnat: datorer, mobiler, mm | Stockholm | Nordic Teknik House AB |
| teknikproffset.se | kablar, etc. | Göteborg | TP E-commerce Nordic AB |
| Verbit.se | Stockholm | ||
| Westium Data | Göteborg | ||
| XO Service | servrar, etc. | Linköping |
Manufacturers
Aggregators (they pretend to be markets, terms may vary)
| Shop | Product categ. | Jurisdiction | Notes |
|---|---|---|---|
| Amazon SE | Sweden | ||
| Elgiganten | Sweden | ||
| Refurbed | bara begagnat: laptops, plattor, mobiler, mm | Österrike |
Notes
- http://www.youtube.com/watch?v=xYOwCF7u69U SHIFT sound bar (repairable)
Let's say you have a very large Zotero library, from which you export a likewise large BibLaTeX file, say full-library.bib.
In your document you load that large BIB-file (because that's easy), \addbibresource{full-library.bib}, but naturally cite only a subset of works.
Now you want to share the source code for this document with someone else, and provide them with a BIB-file so they can recompile it if they wish. Can we produce a BIB-file containing only the entries that were actually cited in the document?
Yes, we can. biber has built-in support for this scenario. Just make sure your latest compilation produced a proper .bcf file, then:
biber --output_format=bibtex --output_resolve document.bcf
which will create document_biber.bib, a properly formatted BibLaTeX BIB-file containing only the subset of works from your library that were actually cited in this document.
I'm afraid I don't remember where I learned this.
This is cool, research data on SND is now indexed and findable via the Swedish data portal.
At least not reliably. What is going on?
I can see new messages in other IMAP clients, such as K9 Mail. But Thunderbird shows no new messages, despite F5 or Shift+F5.
TB never behaved this way before (102). New messages were automatically fetched.
Going offline by clicking the icon in the lower left makes TB prompt if we first want to download all messages; the blue list in the status bar keeps pulsing forever, but no new messages are fetched.
Restarted into "troubleshoot mode" - now it works. Ok, so could it be a problem with one of my extensions?
Seems not - I restarted Thunderbird with all extensions disabled, and it still will not fetch any messages from any email account. I have no time for this. I am reverting to v102 from my profile backup (always good to have a backup of your profile!).