593 private links
Arabic language library for Python, provides basic functions to manipulate Arabic letters and text
Note to self: please come back to this post with links on R, its packages and related resources.
Grammar of graphics
- https://github.com/tidyverse/ggplot2
- https://exts.ggplot2.tidyverse.org/gallery community-maintained list of extensions
Integration with reference manager Zotero
- https://github.com/oeysan/c2z (manipulate your Zotero collections, items from R; can be integrated with other tools such as cronR, mailR, or even HomeAssistant)
PDF tools
- https://ropensci.org/blog/2016/03/01/pdftools-and-jeroen (pdftools - A fast and portable PDF extractor)
Integration with GPG
- https://ropensci.org/technotes/2016/10/19/gpg-release (Encryption and Digital Signatures in R using GPG)
Web scraping
- https://blog.rsquaredacademy.com/web-scraping Introduction to web scraping with
rvest
, 2019 - https://www.brodrigues.co/blog/2018-11-01-nethack Scraping with
rvest
and building a data package, 2018 - My own package periodicdata uses
rvest
to create a data package
Email from R
- https://github.com/rstudio/blastula send great-looking HTML email messages from R
- https://github.com/datawookie/emayili send email messages from R
- https://github.com/rpremraj/mailR utility to send emails from R
Integration with MS Office (yes, yes, I know...)
- https://ardata-fr.github.io/officeverse
- https://github.com/davidgohel/officer
- https://github.com/davidgohel/flextable
Interfacing with Google Docs
Resources
- https://emilyriederer.netlify.app/post/team-of-packages (post of Emily Riederer's rstudio::global 2020 talk)
- https://indrajeetpatil.github.io/awesome-r-pkgtools Awesome R Package Development Tools, compiled by Indrajeet Patil, 2024
- https://win-vector.com/2017/02/05/evolving-r-tools-and-practices John Mount, 2017
- https://github.com/nanxstats/awesome-shiny-extensions
- https://zenodo.org/record/7023492#.YwnwHuxBxhH R from Zero to Hero, slides from talk by Batool Almarzouq (in Arabic)
Tools to consider
- https://alexioannides.com/2016/11/02/asynchronous-and-distributed-programming-in-r-with-the-future-package (the
futures
package: distributed computation, non-blocking async input/output, and more) - https://cran.r-project.org/web/packages/geomtextpath/vignettes/geomtextpath.html
The Open Knowledge Network connects specialists of the open movement and promotes them through the Open Knowledge Global Directory.
CKAN is an open-source DMS (data management system) for powering data hubs and data portals. CKAN makes it easy to publish, share and use data.
CKAN is a free open source Data Management System (DMS) to build open data portals, and its code is held in trust by the Open Knowledge Foundation.
This is a one-liner that I find useful when deciding a free IPv4 address to assign a new container:
$ lxc network list-leases lxdbr0 | grep STATIC | sort -t "." -n -k4
| taipei | 00:16:3e:9c:dd:28 | 10.252.116.3 | STATIC |
| hunan | 00:16:3e:f7:4f:b2 | 10.252.116.4 | STATIC |
| xian | 00:16:3e:b0:54:12 | 10.252.116.5 | STATIC |
| samarkand | 00:16:3e:e8:79:60 | 10.252.116.6 | STATIC |
| karachi | 00:16:3e:e5:4c:47 | 10.252.116.7 | STATIC |
| lahore | 00:16:3e:f1:73:ab | 10.252.116.8 | STATIC |
| muscat | 00:16:3e:9a:89:05 | 10.252.116.9 | STATIC |
| antioch | 00:16:3e:92:79:ca | 10.252.116.11 | STATIC |
| delhi | 00:16:3e:22:9c:d0 | 10.252.116.13 | STATIC |
| bahrain | 00:16:3e:4b:b6:ee | 10.252.116.14 | STATIC |
| lusail | 00:16:3e:fd:1f:49 | 10.252.116.15 | STATIC |
| pergamon | 00:16:3e:0e:9c:82 | 10.252.116.16 | STATIC |
The one-liner is simplified by the fact that only the IP address field contains dots, so we can use them as delimiters for sort
without first having to sort
on the column delimiters.
Non-spherical nanostructures explain the fruit’s colour.
I never reflected on the colour of blueberries, and just assumed it was pigment-based. Turns out it is more interesting than that!
R Middleton et al, Sci. Adv., 2024, https://dx.doi.org/10.1126/sciadv.adk4219
I suppose this should be seen in light of the official endorsement of Matrix by eSam over a year ago, which I noted at the time.
Sweden’s public sector is keen to adopt open source and open standards to ensure data sovereignty and protection against vendor lock-in
As a part of Tele2 Collaborate, Element is seen as a natural Skype for Business (S4B) replacement for Sweden’s public sector, and an alternative to US-based Big Tech vendors.
Stöd
- https://www.slutarokalinjen.se (samtal eller chatt på svenska, även samtal på arabiska)
- https://www.1177.se/Stockholm/liv--halsa/tobak-och-alkohol/tobak/hjalp-att-sluta-roka
- https://www.1177.se/Stockholm/undersokning-behandling/behandling-med-lakemedel/lakemedel-utifran-diagnos/lakemedel-mot-rokning
Kunskap
Keep code, data, containers under control with git and git-annex
Built in Python.
- https://doi.org/10.21105/joss.03262 (paper)
- https://github.com/datalad/datalad (repo)
- https://www.datalad.org
- http://docs.datalad.org (docs)
- http://handbook.datalad.org (crash course)
Best way to write and share your knowledge in markdown.
Pretty neat!
You do not need to master every aspect of git to make use of it in your daily work.
Even a little bit of git will take you a long way towards best practice with regards to reproducibility!
Enjoy these videos
- https://youtu.be/s3JldKoA0zw (science setting, also awesome soundtrack!)
- https://www.youtube.com/watch?v=CvbLVVRzJF8 (business setting)
Git introductions or tutorials
- The missing semester of your CS education, online classes on the command-line, Git, the shell and more from MIT
- Git Magic, by Ben Lynn
- Become a Git pro in just one blog. A thorough guide to Git architecture and command line interface, by Uday Hiwarale
- How To Make Life Easier When Using Git, by Shane Hudson
- Confusing git terminology, Julia Evans, 2023-11-01
- How Git Works!, Julia Evans, 2024-06-03
- Inside .git, Julia Evans, 2024
- Git en välskriven guide på svenska från IT-institutionen vid Uppsala universitet
Opinions or comments
- How to be a 'good' git evangelist?, by Sunniva Indrehus, 2021-09-02
- Git is my buddy: Effective Git as a solo developer, Mikkel Paulson, 2021. Via https://www.eamoncaddigan.net/posts/git-links
- Nobody cares about your Git history, Dan Kelch, 2024
- https://matklad.github.io/2023/12/31/git-things.html
- Scandinavia nordic-rse.org
- Germany: de-rse.org
- Netherlands: nl-rse.org
- Belgium: be-rse.org
- UK: society-rse.org
- USA: us-rse.org
- Australia/New Zealand rse-aunz.github.io
- Asia rse-asia.github.io
Via Github.
- FAIR principles for Research Software, released in May 2022 as an endorsed recommendation of the Research Data Alliance
- FAIR software checklist - if you are a researcher who writes software, check it out! Via Netherlands e-Science Center
WireHole is a combination of WireGuard, Pi-hole, and Unbound in a docker-compose project with the intent of enabling users to quickly and easily create a personally managed full or split-tunnel WireGuard VPN with ad blocking capabilities thanks to Pi-hole, and DNS caching, additional privacy options, and upstream providers via Unbound.
Interesting... Via Awesome Wireguard.
With frequent changes to my Ansible roles it often becomes tricky to keep track of which version of a particular role was executed for a particular play.
This is not thoroughly tested yet, but my approach is simple: each role contains a task that writes its git repo state (a git log formatted one-liner containing last commit hash, date, author, etc.).
These tasks are set to write to a log-file per inventory host, which is for two reasons: to avoid drowning in the default log file defined by log_path
in ansible.cfg
, and because log_path
cannot be overridden by a play or role.
This results in a log-file (one per inventory host) looking something like this:
Started playbook execution at 2024-02-22 12:34:32.327042
Role 'locales' last commit caa6355 2024-02-21 23:38:31 +0100 by solarchemist
Role 'digikam' last commit 16f0643 2024-02-21 22:50:49 +0100 by solarchemist
Playbook 'workstation' last commit 4775cf7 2024-02-20 22:53:56 +0100 by solarchemist
Ended playbook execution at 2024-02-22 12:34:55.913856
My implementation illustrated in code below.
In a role:
- name: Log the last commit and git repo status to playbook log-file
local_action: >
shell git -C {{ role_path }} log
--pretty="Role '{{ role_name }}' last commit %h %ci by %cn" -1 >>
logbook-{{ inventory_hostname }}.log
args: { chdir: "{{ playbook_dir }}" }
become: true
become_user: "{{ local_user }}"
In the playbook:
vars:
local_user: "{{ lookup('env', 'USER') }}"
pre_tasks:
- name: Write a start message to the playbook log
ansible.builtin.shell: >
printf "\nStarted playbook execution at {{ now() }}\n" >> logbook-{{ inventory_hostname }}.log
run_once: true
delegate_to: localhost
args: { chdir: "{{ playbook_dir }}" }
become: true
become_user: "{{ local_user }}"
changed_when: true
tags: always
tasks: [...]
post_tasks:
- name: Log the current commit of this playbook
local_action: >
shell git log
--pretty="Playbook '{{ playbook_dir | basename }}' last commit %h %ci by %cn" -1
>> logbook-{{ inventory_hostname }}.log
args: { chdir: "{{ playbook_dir }}" }
become: true
become_user: "{{ local_user }}"
tags: always
- name: Write an end message to the playbook log
ansible.builtin.shell: >
echo "Ended playbook execution at {{ now() }}" >> logbook-{{ inventory_hostname }}.log
run_once: true
delegate_to: localhost
args: { chdir: "{{ playbook_dir }}" }
become: true
become_user: "{{ local_user }}"
changed_when: true
tags: always
https://www.berrycells.com/how-to-make-a-berry-cell
According to professor Michael Grätzel the best "berry" to use for this kind of demonstrator cells is hibiscus tea (known as karkadè in Arabic).
- https://en.wikipedia.org/wiki/Hibiscus_tea
- https://en.wikipedia.org/wiki/Roselle_(plant) Hibiscus sabdariffa
ReproHack is a sandbox environment for practicing research reproducibility-
Why have I not heard about this before!
I should consider submitting my own paper to their general list of papers.
Ännu så länge sker ingen utvinning av de enskilda metallerna på denna anläggning, utan uttjänta batterier kontrolleras, kortsluts och monteras isär innan de individuella modulerna mals ner, krossas, skiktas, silas, skakas och sorteras efter densitet.
An EU Horizon 2020 project, grant ID 862030. Coordinated out of Messina University, Italy.
Solar-to-fuel direct conversion devices are a key component to realize a full transition to a renewable-energy based chemistry and energy, but their limits and possibilities are still under large debate. In this review article, we focus on the current density as a fundamental figure of merit to analyse these aspects and to compare different device configurations and types of solar fuels produced from small molecules such as H2O, CO2 and N2. Devices with physical separation of the anodic and cathodic zones, photoelectrochemical-type (PEC) or with a photovoltaic element integrated in an electrochemical cell (PV/EC), are analysed. The physico-chemical mechanisms involved in device operation that affect the current density and relations with device architecture are first discussed. Aspects relevant to device design in relation to practical use are also commented on. Then discussion is moved towards the relevance of these aspects to compare the behaviour in the state-of-the-art of the conversion of these small molecules, with focus on solar fuels from H2O, CO2 and N2 conversion, highligthing the gaps and perspectives of such technologies. The still significant lack of crucial data, notwithstanding the extensive literature on the topic, has to be remarked on, particularly in terms of the need to operate these cells in conjunction with sun concentration (in the 50–100 sun range) which emerges as the necessary direction from this analysis, with consequent aspects in terms of cell and materials design to operate in these conditions. The work provides a guide for the optimisation of the investigated technology and the fixing of their practical limits for large-scale applications.
The DECADE project proposes a new photoelectrocatalytic (PEC) approach for the conversion of CO2 avoiding water oxidation as an anodic reaction to overcome the current limits in the PEC system and to maximize effective energy utilization.
The project partnership has a strong industrial character but comprises top-level scientists in the area and international collaboration with Japan to allow the best possible benchmarking for the novel approach developed.
- ENLIGHT European University Alliance, ten research-intensive universities (including Uppsala University). Site has RSS and Atom feeds.
- Arqus European University Alliance, Granada, Graz, Leipzig, Lyon 1, Maynooth, Minho, Padua, Vilnius and Wroclaw. Site has newsletter, but no visible RSS feeds.