aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--blog/content/notes/index.gmi8
-rw-r--r--blog/content/notes/principles-of-service-and-support.gmi54
-rw-r--r--blog/content/notes/software-i-use.gmi350
-rw-r--r--blog/content/notes/tech/document-formats.gmi1
-rw-r--r--interesting-projects/interesting-projects.gmi5
5 files changed, 417 insertions, 1 deletions
diff --git a/blog/content/notes/index.gmi b/blog/content/notes/index.gmi
index 5453c5ee..fb49de8c 100644
--- a/blog/content/notes/index.gmi
+++ b/blog/content/notes/index.gmi
@@ -1,7 +1,9 @@
# Notes
-=> interesting-articles Interesting articles
=> interesting-projects Interesting projects
+=> software-i-use Software I use
+
+=> interesting-articles Interesting articles
=> greek-task-list Greek task list
## Cliff's notes
@@ -66,3 +68,7 @@ Notes about some books and long articles I like:
=> tech/gadgets/about-headphones About headphones
=> tech/gadgets/x12 Lenovo ThinkPad X12 Detachable Gen 1
=> tech/gadgets/pocket-computers Pocket computers
+
+## Others
+
+=> principles-of-service-and-support Principles of service and support
diff --git a/blog/content/notes/principles-of-service-and-support.gmi b/blog/content/notes/principles-of-service-and-support.gmi
new file mode 100644
index 00000000..0c056a80
--- /dev/null
+++ b/blog/content/notes/principles-of-service-and-support.gmi
@@ -0,0 +1,54 @@
+# Principles of service and support
+
+This document is a reflection of my personal experiences both providing and support services, and using services.
+
+## Service criticality
+
+A basic requirement of good service and support is alignment on the criticality of the service.
+
+Both providers and users should have aligned expectations, which might be informed by the service cost, impact of problems, and others.
+
+It is fine to provide an "as-is" service with support that would be otherwise unacceptable, as long as users are aware and decide to use the service with full conscience of the provided level of support.
+
+## Support channels
+
+Always provide multiple support channels as independent as reasonable to minimize the possibilities of users not being able to reach support due to errors of any kind.
+
+Always provide multiple support channels that are public and do not require logging in to any service. A support channel inside your application can provide a better support experience, but might not be useful to report that the application is not working.
+
+Always provide multiple support channels that work over widely available "open" communication protocols, such as email or the public switched telephone network (i.e. a phone number). SMS might be valid, although not everyone has a mobile phone.
+
+For non-interactive support channels, consider providing clear and accurate means to verify any request has been received. For example, email confirmations.
+
+## Ownership
+
+Support requests and channels must have clear ownership at all times.
+
+Clear ownership includes:
+
+* A clear linear chain of individual human owners ending in the ultimate responsible of the organization
+* Aby non-human services in the chain are followed by the human responsibl for the service.
+* All humans in the chain knows which requests and channels they own and which are owned by humans below them in the chain.
+* All humans in the chain acknowledge their responsibility in the requests and services.
+
+## Service level objectives
+
+Support requests and channels should have clear service level objectives, such as "99% of support requests are solved automatically or receive a human response within 2 hours".
+
+Service level objectives measurements should be available at most times to as much people as possible, preferrably they should be completely public.
+
+The ultimate responsible of the organization is responsible for reviewing the service level objectives multiple times per year, although they can delegate the review.
+
+## Service status and incident information
+
+Services should provide an independent means of verifying the organization's known status of the service. For example, a public status page.
+
+Users should be able to consult any ongoing incidents (including known bugs) and a record of past incidents. Incidents should include a clear timeline of changes in their status.
+
+Any organization members responsible for the services must be able to consult all incidents related to their services.
+
+## Public complaints
+
+An individual human in the organization should be responsible for monitoring public complaints about the service outside the support channels.
+
+Public complaints about the service should be analyzed and measures should be taken to ensure that support channel problems are not causing the public complaints.
diff --git a/blog/content/notes/software-i-use.gmi b/blog/content/notes/software-i-use.gmi
new file mode 100644
index 00000000..cc5b7a9d
--- /dev/null
+++ b/blog/content/notes/software-i-use.gmi
@@ -0,0 +1,350 @@
+# Software I use
+
+Linux
+Operating system
+:os
+:desktop
+:server
+:3/10
+
+Android
+Mobile operating system
+:os
+:android
+:2/10
+
+Firefox
+:browser
+:android
+:desktop
+:4/10
+
+Lagrange
+Gemini client
+:gemini
+:android
+:desktop
+:9/10
+
+Amfora
+Gemini terminal client
+:gemini
+:terminal
+:8/10
+
+Thunderbird
+:email
+:android
+:desktop
+:7/10
+
+=> https://wezterm.org/ wezterm
+Terminal emulator with nice keyboard-based select and copy
+:terminal-emulator
+:desktop
+:7/10
+
+=> https://connectbot.org/ ConnectBoy
+Terminal emulator for Android
+:terminal-emulator
+:android
+:6/10
+
+=> https://git.sr.ht/~delthas/senpai/ Senpai
+Terminal IRC client
+:chat:irc
+:terminal
+:8/10
+
+=> https://soju.im/ soju
+IRC bouncer
+:chat:irc
+:server
+:8/10
+
+Discord
+Chat
+:chat
+:proprietary
+:service
+:4/10
+
+Slack
+Chat
+:chat
+:proprietary
+:service
+:3/10
+
+
+=> https://tuba.geopjr.dev/ Tuba
+GNOME ActivityPub client
+:activitypub
+:desktop:gnome
+:7/10
+
+=> https://tusky.app/ Tusky
+Android ActivityPub client
+:activitypub
+:android
+:8/10
+
+=> https://github.com/avaraline/incarnator Incarnator
+ActivityPub server with multidomain support
+:activitypub
+:server
+:7/10
+
+Signal
+Instant messenger
+:im
+:android
+:desktop
+:proprietary
+:3/10
+
+WhatsApp
+Instant messenger
+:im
+:android
+:desktop
+:proprietary
+:0/10
+
+Telegram
+Instant messenger
+:im
+:android
+:desktop
+:proprietary
+:3/10
+
+Conversations
+XMPP client for Android
+:im:xmpp
+:android
+:6/10
+
+=> https://github.com/trufae/parla Parla
+Delta Chat GNOME desktop client
+:im:delta-chat
+:desktop:gnome
+:8/10
+
+Delta Chat
+Instant messenger
+:im:delta-chat
+:android
+:9/10
+
+Emacs
+Text editor
+:text-editor:emacs
+:desktop
+:terminal
+:9/10
+
+GNOME
+Desktop environment
+:desktop:gnome
+:8/10
+
+=> https://github.com/paperwm/PaperWM PaperWM
+Tiling plugin for GNOME
+:desktop:gnome
+:9/10
+
+Bitwarden
+Password manager clients for Firefox and Android
+:password-manager
+:browser:extension
+:android
+:7/10
+
+Vaultwarden
+Bitwarden-compatible password manager server
+:password-manager
+:server
+:9/10
+
+Kagi
+(Paid) search engine
+:search-engine
+:service
+:paid
+:proprietary
+:6/10
+
+NoScript
+Extension to disable JavaScript in browsers
+:browser:extension
+:8/10
+
+Google Calendar
+Calendar service with email notifications
+:service
+:organization
+:proprietary
+:4/10
+
+GMail
+Email service
+:service
+:email
+:proprietary
+:4/10
+
+Migadu
+Email service
+:service
+:email
+:proprietary
+:paid
+:8/10
+
+Keep Notes
+Shopping lists
+:service
+:organization
+:proprietary
+:3/10
+
+org-mode
+Text format for organization
+:desktop
+:terminal
+:text-editor:emacs
+:organization
+:8/10
+
+=> https://orgzlyrevived.com/ Orgzly Revived
+Org-mode Android client with sync and widgets
+:text-editor:emacs
+:organization
+:android
+:8/10
+
+Nextcloud
+File synchronization and sharing
+:desktop
+:android
+:file-sync
+:server
+:6/10
+
+Cisco AnyConnect
+VPN client for Android
+:android
+:vpn
+:proprietary
+:6/10
+
+Wireguard
+Site-to-site VPN
+:server
+:vpn
+:7/10
+
+=> https://ocserv.openconnect-vpn.net/ ocserv
+VPN server
+:7/10
+:server
+:vpn
+
+Nagios
+Monitoring system
+:7/10
+:server
+
+F-Droid
+Android alternative appstore
+:android
+:6/10
+
+OpenFoodFacts
+Food database
+:service
+:9/10
+:android
+
+Pressreader
+Press reader
+:android
+:desktop
+:service
+:proprietary
+:7/10
+
+FreeIPA
+Identity service for desktops, servers, and websites
+:server
+:identity:freeipa
+:8/10
+
+Ipsilon
+SAML/OIDC for FreeIPA
+:server
+:identity:freeipa
+:8/10
+
+PostgreSQL
+Relational SQL database
+:server
+:database
+:9/10
+
+ClickHouse
+Relational SQL database for analytics
+:server
+:database
+:9/10
+
+Miniflux
+RSS Reader
+:rss
+:8/10
+:server
+
+Flexisip
+SIP server
+:phone
+:server
+:7/10
+
+Grafana
+Graph service
+:server
+:6/10
+
+=> https://seaweedfs.com/ SeaweedFS
+Object storage
+:server
+:7/10
+
+=> https://www.siderolabs.com/talos-linux Talos Linux
+Kubernetes distribution
+:server
+:kubernetes
+:6/10
+
+Proxmox
+Virtualization for servers
+:server
+:7/10
+
+GitHub
+Git hosting service
+:service
+:proprietary
+:3/10
+
+=> https://sourcehut.org/ Sourcehut
+Git hosting service
+:service
+:7/10
+
+=> https://www.tvmaze.com/ TVmaze
+TV show tracking service
+:service
+:proprietary
+:6/10
diff --git a/blog/content/notes/tech/document-formats.gmi b/blog/content/notes/tech/document-formats.gmi
index 43aaad97..32144ec4 100644
--- a/blog/content/notes/tech/document-formats.gmi
+++ b/blog/content/notes/tech/document-formats.gmi
@@ -80,6 +80,7 @@ A Markdown-like closely tied to the Lean programming language.
=> https://github.com/nvim-neorg Neorg (similar to Org Mode for Neovim)
=> https://github.com/sile-typesetter/sile Sile (typesetting system)
=> https://github.com/davidchisnall/igk David Chisnall's "I got Knuth'd", HTML + ePub + written/online PDF, modular Lua passes, etc.
+=> https://bford.info/2022/12/28/minml/ MinML is a more concise syntax for HTML-likes based on the interesting "matchertext" syntactic discipline
## Creating your own formats
diff --git a/interesting-projects/interesting-projects.gmi b/interesting-projects/interesting-projects.gmi
index 5a694d22..20c826cc 100644
--- a/interesting-projects/interesting-projects.gmi
+++ b/interesting-projects/interesting-projects.gmi
@@ -1264,3 +1264,8 @@ UDP file transfer utility that was used to great success at a previous job
:tool:transfer
:programmed-in:c
:networking
+
+=> https://bford.info/pub/lang/matchertext/ Matchertext
+A simple cross-language syntactic discipline that enables the safe embedding a string in any compliant language into a string in any other language via simple "copy-and-paste", in particular with no escaping, obfuscation, or expansion of embedded strings.
+:coding:parsing
+:lightweight-markup