Skip to content

Instantly share code, notes, and snippets.

View ckunte's full-sized avatar

Chetan Kunte ckunte

View GitHub Profile
@ckunte
ckunte / raspberrypi-yubikey.md
Created September 9, 2021 12:39
Setting Raspberry Pi Desktop for U2F with YubiKey
  1. sudo apt install libu2f-udev
  2. Download u2f.rules file
  3. Save the downloaded file under /etc/udev/rules.d/
  4. Upon system reboot, U2F should be available (say from Chromium browser)

Credits to Angela for the article Using Your U2F YubiKey with Linux

@ckunte
ckunte / vqm.csv
Created June 11, 2021 17:13
Vim quick manual (by @lilibasousa)
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 / common.py
Created November 2, 2020 05:10
SACS commands common across its modules
#!/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 October 21, 2020 12:10
Tension leg platforms
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 September 6, 2020 01:55
Getting USFOS to run on linux is pretty breezy. Give it a try.

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 July 14, 2020 11:37
Generate formatted model data from CSV file
#!/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
Last active November 14, 2023 08:48
Brother HL-L2321D as a network-enabled AirPrint printer

Brother HL-L2321D as a network-enabled AirPrint printer

Brother HL-L2321D does one thing and does it well. It's fast, prints duplex, and is lean on cartridge usage. Its drivers are available for MacOS and Windows 10, and so installing it is a breeze. Despite the fact that it has one USB port for interface, making this printer accessible (a) over network and (b) on iOS devices is easy too. This requires setting up a print server. Here's why: The key difference between a non-network and a network printer is that the latter not only features hardware (viz., a network port and / or a wireless chip) but that it also has a print server built-in to the printer itself. These missing features in a non-network printer can easily be outsourced to, say, a Raspberry Pi, which may in fact make this a more capable printer than an off-the-shelf network printer.

Setting up a print server on Raspberry Pi

Connecting it to a Raspberry Pi on your home network to enable sharing requires a little work, but when done, it mak

@ckunte
ckunte / rmdstore.sh
Created June 11, 2020 01:03
Getting rid of these pesky per-folder-setting files (.DS_Store)
#!/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 March 6, 2020 06:50
Atom feed template in Jinja
{% 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 March 7, 2020 01:01
JSON feed template in Jinja
{% 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 }}"