Skip to content

Instantly share code, notes, and snippets.

Avatar
🏠
Working from home

Chris Jones cmsj

🏠
Working from home
View GitHub Profile
@cmsj
cmsj / Labists.diff
Created Jan 12, 2021
Changes in Labists X1 vs EasyThreeD X1
View Labists.diff
diff --git Marlin/Configuration.h Marlin/Configuration.h
index 949f021d6a..55f5baa152 100644
--- Marlin/Configuration.h
+++ Marlin/Configuration.h
@@ -296,8 +296,8 @@ Here are some standard links for getting your machine calibrated:
* the firmware will halt as a safety precaution.
*/
-#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
-#define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed
@cmsj
cmsj / X3.diff
Created Jan 12, 2021
EasyThreeD X3 diff vs EasyThreeD X1
View X3.diff
diff --git Marlin/Configuration.h Marlin/Configuration.h
index 949f021d6a..965a523e41 100644
--- Marlin/Configuration.h
+++ Marlin/Configuration.h
@@ -149,7 +149,7 @@ Here are some standard links for getting your machine calibrated:
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_3 0
-#define TEMP_SENSOR_BED 0
+#define TEMP_SENSOR_BED 1
@cmsj
cmsj / ContentView.swift
Created Aug 21, 2020
Extending someone else's Swift enum to make it more friendly for a SwiftUI Picker
View ContentView.swift
//
// ContentView.swift
// EnumExtensionPicker
//
// Created by Chris Jones on 21/08/2020.
//
import SwiftUI
enum Strategy {
@cmsj
cmsj / gist:23935c42a10cf10c9ea0d544b8c31f65
Created Aug 4, 2020
Google Script mail header example
View gist:23935c42a10cf10c9ea0d544b8c31f65
function processInbox() {
// process all recent threads in the Inbox (see comment to this answer)
var threads = GmailApp.search("from:(bugzilla@redhat.com) newer_than:1d");
GmailApp.createLabel('Bugzilla');
Logger.log("Got threads: " + threads.length);
for (var i = 0; i < threads.length; i++) {
processThread(threads[i]);
}
}
View gist:ccc7e7b60661a705c1003788436382fe
// Configuration data
// Each config should have the following keys:
// * age_min: maps to 'older_than:' in gmail query terms.
// This is how old you want matching emails to be before they are archived.
// * age_max: maps to 'newer_than:' in gmail query terms.
// This is how far back in history you want to search, to find emails to archive.
// It's useful to set fairly long for your first run, but after that set it to a
// reasonably low value (don't expect Google to search your entire email archive
// every time this script runs!)
// * query: freeform gmail query terms to match against
@cmsj
cmsj / ContentView.swift
Created Jun 25, 2020
Trying to use @ObservableObject and @EnvironmentObject, but changes in subviews don't propagate
View ContentView.swift
class Person: RawRepresentable, ObservableObject {
@Published var name: String
@Published var age: Int
// RawRepresentable
var rawValue: String {
get {
let value = "\(name):\(age)"
print("Returning raw value: "+value)
return value
@cmsj
cmsj / code.js
Last active Jul 12, 2018
Google Apps Script: given a regular email (e.g. backup results), archive old copies
View code.js
// Configuration data
// Each config should have the following keys:
// * age_min: maps to 'older_than:' in gmail query terms
// * age_max: maps to 'newer_than:' in gmail query terms
// * query: freeform gmail query terms to match against
//
// The age_min/age_max values don't need to exist, given the freeform query value,
// but age_min forces you to think about how frequent the emails are, and age_max
// forces you to not search for every single email tha matches the query
//
View zz-busybox-initramfs-fix
#!/bin/sh
# This hook is for fixing busybox-initramfs issue while unlocking a luks
# encrypted rootfs. The problem is that the included busybox version
# is stripped down to the point that it breaks cryptroot-unlock script:
# https://bugs.launchpad.net/ubuntu/+source/busybox/+bug/1651818
# This is a non-aggressive fix based on the original busybox-initramfs hook
# until the bug is fixed.
# busybox or busybox-static package must be present for this to work
View syslogreceiver.service
[Unit]
Description=Remote syslog to journald bridge
After=systemd-journald.service
[Service]
Type=simple
User=nobody
Group=nogroup
WorkingDirectory=/
ExecStart=/usr/local/bin/syslogreceiver.py
View syslogreceiver.py
#!/usr/bin/env python3
"""syslogreceiver.py - receive remote syslog events and pass them into
systemd's journal"""
import re
import socketserver
from systemd import journal
HOST, PORT = "0.0.0.0", 514