Skip to content

Instantly share code, notes, and snippets.

@djmattyg007
djmattyg007 / manifesto.md
Last active November 26, 2022 02:08
Releasing new versions of tools and libraries - a manifesto

Releasing new versions of tools and libraries - a manifesto

If you've come from the world of deploying production applications in a commercial setting, you might be familiar with the concept of continuous deployment. Fundamentally, it stipulates that every merge to master main should be deployed. This makes a lot of sense in the age of modern web apps, where your users don't care about the underlying tech and aren't interacting directly with the software.

The world of tools and libraries is totally different. Our software is depended on by other software. It has a contract (implicit or explicit) that other things depend on. It usually has a

local function outputSides(box, north, east, south, west)
box.setOutput("top", false)
box.setOutput("bottom", false)
box.setOutput("north", north)
box.setOutput("east", east)
box.setOutput("south", south)
box.setOutput("west", west)
end
return { outputSides = outputSides }
22:58:07.231 [INFO] cli_log::init: Starting broot v1.5.1 with log level DEBUG
22:58:07.231 [DEBUG] broot::cli: Conf::from_default_location() took 119.443µs
22:58:07.231 [DEBUG] broot::cli: config: Conf {
files: [
"/home/djmattyg007/.config/broot/conf.hjson",
],
default_flags: None,
date_time_format: None,
verbs: [
VerbConf {
I am the Miaou user with id 6468 and name "djmattyg007" on https://miaou.dystroy.org
diff --git a/mopidy_iris/core.py b/mopidy_iris/core.py
index 720318f6..f376c93a 100755
--- a/mopidy_iris/core.py
+++ b/mopidy_iris/core.py
@@ -713,7 +713,7 @@ class IrisCore(pykka.ThreadingActor):
logger.debug(error)
return False
- def check_for_radio_update(self):
+ async def check_for_radio_update(self):
Jan 28 08:59:00 crond[258]: wakeup dt=60
Jan 28 08:59:00 crond[258]: file root:
Jan 28 08:59:00 crond[258]: line run-parts /etc/periodic/15min
Jan 28 08:59:00 crond[258]: line run-parts /etc/periodic/hourly
Jan 28 08:59:00 crond[258]: line run-parts /etc/periodic/daily
Jan 28 08:59:00 crond[258]: line run-parts /etc/periodic/weekly
Jan 28 08:59:00 crond[258]: line run-parts /etc/periodic/monthly
Jan 28 08:59:00 crond[258]: file root:
Jan 28 09:00:00 crond[258]: wakeup dt=60
Jan 28 09:00:00 crond[258]: file root:
@djmattyg007
djmattyg007 / gist:6b5e845ad1140c8a0fa66b64f953bf9a
Created April 7, 2016 11:20
Example of allowing management of individual systemd units with polkit
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.systemd1.manage-units") {
if (action.lookup("unit") == "myservice.service") {
var verb = action.lookup("verb");
if (verb == "start" || verb == "stop" || verb == "restart") {
return polkit.Result.YES;
}
}
}
});
<?php
/* © 2013 Mantas Mikulėnas <grawity@gmail.com>
* Released under WTFPL v2 <http://sam.zoy.org/wtfpl/>
*/
class Journal implements Iterator
{
protected $filter;
protected $startpos;
protected $proc;
@djmattyg007
djmattyg007 / gist:7714993
Created November 30, 2013 03:22
My .rtorrent.rc file
# This is an example resource file for rTorrent. Copy to
# ~/.rtorrent.rc and enable/modify the options as needed. Remember to
# uncomment the options you wish to enable.
# Maximum and minimum number of peers to connect to per torrent.
min_peers = 30
max_peers = 60
# Same as above but for seeding completed torrents (-1 = same as downloading)
min_peers_seed = 5
@djmattyg007
djmattyg007 / gist:7714887
Created November 30, 2013 03:03
rtorrent systemd service file
[Unit]
Description=rTorrent
Requires=network.target local-fs.target
[Service]
Type=oneshot
RemainAfterExit=yes
KillMode=none
User=%I
ExecStart=/usr/bin/tmux new-session -s rt -n rtorrent -d rtorrent