Skip to content

Instantly share code, notes, and snippets.

🌴
Hiking the Pacific Crest Trail

Kyle Barron kylebarron

View GitHub Profile
@kylebarron
kylebarron / scrape-sitemap.sh
Created Apr 1, 2019 — forked from pix0r/scrape-sitemap.sh
Use wget to scrape all URLs from a sitemap.xml Usage: scrape-sitemap.sh http://domain.com/sitemap.xml
View scrape-sitemap.sh
#!/bin/sh
SITEMAP=$1
if [ "$SITEMAP" = "" ]; then
echo "Usage: $0 http://domain.com/sitemap.xml"
exit 1
fi
XML=`wget -O - --quiet $SITEMAP`
@kylebarron
kylebarron / lvm_personal.md
Created Mar 30, 2019
Using LVM; My Setup
View lvm_personal.md
title date author
Using LVM; My Setup
August 11, 2017
Kyle Barron

TODO: Create personal_backup folder and logical volume on bulk_hdd. This is for non-current tasks which I don't want to have on my NVME.

My Personal LVM Setup

@kylebarron
kylebarron / hn_archive.py
Last active Mar 27, 2019
HN Archiving with ArchiveBox
View hn_archive.py
#! /usr/bin/env python3
import requests
r = requests.get('https://hacker-news.firebaseio.com/v0/topstories.json')
top_ids = r.json()[:40]
url_scrape_list = ['https://news.ycombinator.com']
for hn_id in top_ids:
hn_comment_url = f'https://news.ycombinator.com/item?id={hn_id}'
url_scrape_list.append(hn_comment_url)
@kylebarron
kylebarron / combine_halfmile_gpx.py
Created Feb 14, 2019
Combine Halfmile GPX segments into one or a few big GPX files
View combine_halfmile_gpx.py
#! /usr/bin/env python3
"""
Program: Combine Halfmile GPX tracks into a single GPX track
Author: Kyle Barron
"""
import io
import requests
import gpxpy
import gpxpy.gpx
@kylebarron
kylebarron / TrueColour.md
Created Oct 19, 2018 — forked from XVilka/TrueColour.md
True Colour (16 million colours) support in various terminal applications and terminals
View TrueColour.md

Colours in terminal

It's a common confusion about terminal colours... Actually we have this:

  • plain ascii
  • ansi escape codes (16 colour codes with bold/italic and background)
  • 256 colour palette (216 colours + 16 ansi + 24 gray) (colors are 24bit)
  • 24bit true colour ("888" colours (aka 16 milion))
printf "\x1b[${bg};2;${red};${green};${blue}m\n"
View tmux-cheatsheet.markdown

Printable version. Just delete this line and use pandoc tmux-cheatsheet.markdown -o tmux.pdf -V geometry="margin=1in"

tmux shortcuts & cheatsheet

kill session:

tmux kill-session -t myname

Sessions

@kylebarron
kylebarron / deleteStataComments.py
Created Aug 7, 2018 — forked from mcaceresb/deleteStataComments.py
Delete all comments from a Stata do file
View deleteStataComments.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# TODO: Comment code; include regexp? explanations
# TODO: parse with delimit in separate file; note this is imperfect. It
# has to be because of the way it works, which is super messy (specially
# for multi-line strings; i.e. stuff in quotes spanning many lines).
# TODO: scan code for `/*/`, `*/*`, and similar constructs. 'Please open
@kylebarron
kylebarron / check_stata_log.sh
Created Jul 24, 2018
Check Stata log for errors and issue a non-zero return code if an error occurred.
View check_stata_log.sh
#! /usr/bin/env bash
# Check Stata log for errors and issue a non-zero return code if an error
# occurred.
#
# The idea for this came from
# https://gist.github.com/pschumm/b967dfc7f723507ac4be
# Accepts either:
# a single argument, the log file
# the log file piped to stdin
@kylebarron
kylebarron / parquet_build_linux.sh
Last active Oct 31, 2018
Script to build parquet-cpp with Arrow as a static dependency
View parquet_build_linux.sh
#! /usr/bin/env bash
# Script to build parquet-cpp with Arrow as a static dependency
# Modified from:
# https://stackoverflow.com/questions/48157198/how-can-i-statically-link-arrow-when-building-parquet-cpp
mkdir -p parquet-cpp-deps
DEPDIR=$PWD/parquet-cpp-deps
git clone https://github.com/apache/parquet-cpp
View init.js
const { CompositeDisposable, Point, Range } = require('atom');
atom.commands.add('atom-text-editor', 'me:insert-number-list', () => {
var editor = atom.workspace.getActiveTextEditor();
var selections = editor.getSelections();
for (var i = 0; i < selections.length; i++) {
selection = selections[i]
selection.insertText(String(i + 1))
}
You can’t perform that action at this time.