Skip to content

Instantly share code, notes, and snippets.

@srgrn
srgrn / Configuration.h
Created December 9, 2022 15:27
My Marlin 2.x configuration files for ender 3 pro
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
@srgrn
srgrn / gist:51606d6f6aff950f7e8c7a5b2d0e2c70
Last active September 4, 2022 17:48
Save history to file based on date.
There is a whole discussion at https://news.ycombinator.com/item?id=20054082
however for bash i used
export PROMPT_COMMAND='if [ "$(id -u)" -ne 0 ]; then echo "$(date "+%Y-%m-%d.%H:%M:%S") $(pwd) $(history 1)" >> ~/.logs/bash-history-$(date "+%Y-%m-%d").log; fi'
i suspect it is from https://spin.atomicobject.com/2016/05/28/log-bash-history/
in the discussion there is reference to https://github.com/tkf/rash
another interesting option - https://www.thegeekdiary.com/how-to-log-every-shell-command-in-linux/
@srgrn
srgrn / proxy.go
Created October 26, 2019 20:43
a simple proxy to convert basic auth to token auth
package main
import (
"flag"
"fmt"
"log"
"net/http"
"net/http/httputil"
"net/url"
"strings"
@srgrn
srgrn / linkheaderpagination.py
Created February 28, 2018 11:37
Django DRF LinkHeaderPagination
from rest_framework import pagination
from rest_framework.response import Response
class LinkHeaderPagination(pagination.CursorPagination):
def paginate_queryset(self, queryset, request, view=None):
try:
self.count = queryset.count()
except (AttributeError, TypeError):
self.count = len(queryset)
return super().paginate_queryset(queryset, request, view=None)
@srgrn
srgrn / DyanmicFieldSeriazliers.py
Created February 28, 2018 11:35
django_dyamic_field_serializer
from rest_framework import serializers
from rest_framework.utils import model_meta
from django.db.models.fields import Field as DjangoModelField
from django.db.models.fields import FieldDoesNotExist
class DynamicAppendFieldsModelSerializer(serializers.ModelSerializer):
"""
A ModelSerializer that takes an additional `fields` argument that
controls which fields should be displayed.
"""
@srgrn
srgrn / check_dockerinfo
Created July 20, 2017 10:52
Docker info for nagios
#!/bin/bash
infotext=$(docker info -f 'Containers {{.Containers}}, Running {{.ContainersRunning}}, Stopped {{.ContainersStopped}}, KernelVersion:{{.KernelVersion}} DockerVersion:{{.ServerVersion}} OS:{{.OperatingSystem}}')
infoGraph=$(docker info -f '|Total={{.Containers}},Running={{.ContainersRunning}}, Stopped={{.ContainersStopped}}')
RESULT=$?
output="OK"
if [ $RESULT -eq 1 ]
then
echo "CRITICAL- Docker not running"

Keybase proof

I hereby claim:

  • I am srgrn on github.
  • I am eran (https://keybase.io/eran) on keybase.
  • I have a public key ASDpcNfDcioQA9vcUTNrjPweE8CJxRBIuAsaM2lgEnYuwgo

To claim this, I am signing this object:

@srgrn
srgrn / Vagrantfile
Created March 5, 2017 11:06
Simple vagrant file for devops linux course
Vagrant.configure("2") do |config|
config.vm.define "arch" do |arch|
arch.vm.box = "ogarcia/archlinux-x64"
end
config.vm.define "ubuntu" do |ubuntu|
ubuntu.vm.box = "ubuntu/xenial64"
end
config.vm.network "private_network", type: "dhcp"
end
@srgrn
srgrn / line_by_line_python3.py
Created November 17, 2016 08:55
download a gzipped file line by line (for example http://csr.lanl.gov/data/cyber1/ files)
import urllib.request
import gzip
N = 200000
def read_line_by_line(url,handlefunc,**kwargs):
with gzip.open(urllib.request.urlopen(url),'r') as f:
for i in range(N):
try:
arr =f.readline().decode('ascii').strip().split(',')
handlefunc(arr,kwargs)
""" simple azure uploader script """
import sys
import argparse
import os
from azure.storage.blob import BlockBlobService
import logging
LOG_LEVEL = 'WARNING'