Skip to content

Instantly share code, notes, and snippets.

Avatar

Chetan Kunte ckunte

View GitHub Profile
@ckunte
ckunte / vqm.csv
Created Jun 11, 2021
Vim quick manual (by @lilibasousa)
View vqm.csv
Topic Shortcut Description
Change mode Esc Exit edit mode
Change mode i Entry edit mode inserting on current position
Change mode I Entry edit mode inserting at the beginning of the line
Change mode a Entry edit mode inserting after the current position
Change mode A Entry edit mode inserting at the end of the line
Change mode o Entry edit mode inserting a line below
Change mode O Entry edit mode inserting a line above
Navigation :[0–9]+ Go to line (e.g. :9 goes to line 9)
Navigation G Go to the last line of the file
@ckunte
ckunte / localpub.md
Last active Apr 24, 2021
Publish using one git repository with three branches for three different sites respectively
View localpub.md

Publish using one git repository with three branches for three different sites respectively

Local set-up on my Mac

My static site generator of choice is chisel, and it resides at ~/Sites/chisel folder. Aside from master branch, which is the original upstream version (maintained by the primary author @dz), it has my three personalised (git) branches, viz.,

  1. ch -- A custom fork for publishing a family-oriented blog; uses posts from ~/Sites/posts
  2. ck -- A custom fork for publishing semi-professional articles; uses posts from ~/Sites/notes
  3. mc -- A custom fork for publishing weeknotes; uses posts from ~/Sites/wkly
@ckunte
ckunte / common.py
Created Nov 2, 2020
SACS commands common across its modules
View common.py
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# Find most common sacs commands across modules, 2020 ckunte
import re
from collections import Counter
# read a file containing all sacs commands
commands = re.findall(r'\w+', open('sacs-commands-all.txt').read())
# print 85 most common commands across all sacs modules
mcom = Counter(commands).most_common(85)
for com, nos in mcom:
@ckunte
ckunte / tlp.csv
Created Oct 21, 2020
Tension leg platforms
View tlp.csv
Platform Operator Displacement (t) Topside weight (t) Water depth (m) Year installed
Hutton ConocoPhillips 61500 20792 147 1984
Jolliet MC Offshore Petroleum 16602 1950 536 1989
Snorre A StatOil 106000 43700 335 1992
Auger Shell 66224 21772 873 1994
Heidrun StatOil 290610 89000 345 1995
Mars Shell 49099 6532 894 1996
Ram-Powell Shell 49100 8100 980 1997
Morpeth Eni 10605 2817 518 1998
Ursa Shell 88451 20321 1159 1999
@ckunte
ckunte / usfos-on-linux.md
Last active Sep 6, 2020
Getting USFOS to run on linux is pretty breezy. Give it a try.
View usfos-on-linux.md

USFOS on linux

As a commercial (engineering) software, [USFOS][u] needs to be manually installed. I tried this today on [elementary OS][e], powered by frugal hardware, and USFOS runs just fine. At minimum, the following are needed:

  1. usfos, xact binary, and usfos_etc files.
  2. A valid license usfos.key file.
  3. A computer with Linux 64-bit OS to run on.

As each binary needs to be separately downloaded from USFOS site, I’ve automated this via [wget][]. Here are the commands to run in a terminal:

@ckunte
ckunte / gendata.py
Last active Jul 14, 2020
Generate formatted model data from CSV file
View gendata.py
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""Generate formatted model data from CSV file
2020 ckunte
Usage: gendata.py --fn=filename.ext
gendata.py --help
gendata.py --version
Options:
@ckunte
ckunte / HL-L2321D.md
Created Jun 14, 2020
Brother HL-L2321D as a network-enabled AirPrint printer
View HL-L2321D.md

Brother HL-L2321D as a network-enabled AirPrint printer

Brother HL-L2321D is a delightful bare bones printer. It's fast, prints duplex, and is lean on cartridge usage. HL-L2320D drivers are readily available for Windows 10 and MacOS, and installing this printer is a breeze.

Since connection to the printer is only via USB-A interface, it is not a network printer, since it has no LAN port and no built-in WiFi. For those that want their printers to work with their iOS devices, no AirPrint support out of the box either. But that said, making this printer accessible over network is pretty easy with any of the following two ways:

  1. Connect it to a router that has a USB-A port.
  2. Connect it to a Mac, PC, or a Raspberry Pi, and share this printer to be accessible for printing.

Setup on a Raspberry Pi

@ckunte
ckunte / rmdstore.sh
Created Jun 11, 2020
Getting rid of these pesky per-folder-setting files (.DS_Store)
View rmdstore.sh
#!/usr/bin/env bash
sudo find / -depth -name ".DS_Store" -exec rm {} \;
#
# Run these periodically via a cronjob. Type `sudo crontab -e` in
# a Terminal and enter the following job.
#
# 0 9 * * * root find / -name ".DS_Store" -depth -exec rm {} \;
#
# What this job does:
# At 9AM everyday (in the example below), root looks for .DS_Store
@ckunte
ckunte / atom.xml
Created Mar 6, 2020
Atom feed template in Jinja
View atom.xml
{% from 'site_settings.jinja2' import site_title, site_author, site_url -%}
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>{{ site_title }}</title>
<link rel="alternate" type="text/html" href="{{ site_url }}"/>
<link rel="self" type="application/atom+xml" href="{{ site_url }}/atom.xml"/>
{%- for entry in entries -%}
{%- if loop.index < 1 + 1 %}
<updated>{{ entry.year }}-{{ entry.month }}-{{ entry.day }}T{{ entry.hour }}:{{ entry.minute }}:{{ entry.second }}Z</updated>
@ckunte
ckunte / feed.json
Last active Mar 7, 2020
JSON feed template in Jinja
View feed.json
{% from 'site_settings.jinja2' import site_title, site_author, site_url -%}
{
"version": "https://jsonfeed.org/version/1",
"title": "{{ site_title }}",
"description": "Description of the website",
"home_page_url": "{{ site_url }}",
"feed_url": "{{ site_url }}/feed.json",
"author": {
"name": "{{ site_author }}",
"url": "{{ site_url }}"