Skip to content

Instantly share code, notes, and snippets.

@haridsv
haridsv / GoogleBookmarks.py
Created July 2, 2023 13:16
Extracts entries that contain the specified keywords from the Google Bookmarks export HTML file.
View GoogleBookmarks.py
import re
import click
from bs4 import BeautifulSoup
bookmarks = dict()
def add_bookmark(linknode, descnode):
link = linknode.get("href")
linktext = linknode.next.text.strip()
@haridsv
haridsv / ghPRExpandAllMyComments.js
Created July 21, 2020 07:38
Expand all the comments made by the current user (handles only those that are part of a review submission).
View ghPRExpandAllMyComments.js
var currentUser = document.querySelector(".user-profile-link").href.replace(/.*\//, "")
document.querySelectorAll("div.js-comment.js-targetable-comment.js-updatable-content").forEach(function(n) {
var authorNode = n.parentNode.querySelector(".author");
if (authorNode && authorNode.textContent == currentUser) {
n.parentNode.querySelectorAll(".js-toggle-outdated-comments").forEach(n => n.click());
}
})
@haridsv
haridsv / ghPRExpandAll-bookmarklet
Last active July 3, 2020 08:56
Expand all pages ("Load more..." buttons) in a Github PR conversation view.
View ghPRExpandAll-bookmarklet
NOTE: Doesn't work because of github CSP meta tags.
javascript:s=document.createElement('script');s.type='text/javascript';document.body.appendChild(s);s.src='https://git.io/JJTwA';void(0);
@haridsv
haridsv / bookmarklet
Last active November 4, 2016 13:10
Open Citibank India login dialog and set it right.
View bookmarklet
javascript:s=document.createElement('script');s.type='text/javascript';document.body.appendChild(s);s.src='https://goo.gl/e8GRr5';void(0);
@haridsv
haridsv / bookmarklet
Last active November 2, 2016 18:56
Copy all members of a chatter group. Click "Show All" and run the bookmarklet. See the member names in the console log.
View bookmarklet
javascript:s=document.createElement('script');s.type='text/javascript';document.body.appendChild(s);s.src='https://goo.gl/8V4KtP';void(0);
@haridsv
haridsv / docker-mount.sh
Last active August 12, 2016 16:39
Improved the script from https://jpetazzo.github.io/2015/01/13/docker-mount-dynamic-volumes/ to work with more scenarios. Save this file in the same directory as nsenter (https://github.com/jpetazzo/nsenter) and chmod +x it. This allows you to mount a host path on a running container. You may have to adjust the ownership of the mounted directory…
View docker-mount.sh
#!/bin/bash -e
# Based on https://jpetazzo.github.io/2015/01/13/docker-mount-dynamic-volumes/
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
[[ $# -eq 3 ]] || {
echo "Usage: $0 <container_name_or_id> <host_path> <container_path>" 1>&2
exit 1
}
@haridsv
haridsv / 01-esc-dot.py
Last active July 15, 2016 17:53 — forked from konradkonrad/01-esc-dot.py
restore yank-last-arg and yank-nth-arg in ipython 5
View 01-esc-dot.py
# ~/.ipython/profile_default/startup/01-esc-dot.py
from IPython import get_ipython
from prompt_toolkit.enums import DEFAULT_BUFFER
from prompt_toolkit.keys import Keys
from prompt_toolkit.filters import HasFocus, HasSelection, ViInsertMode, EmacsInsertMode
ip = get_ipython()
insert_mode = ViInsertMode() | EmacsInsertMode()
@haridsv
haridsv / note.md
Created June 6, 2016 13:15
Cause of "Failed to renew token: Kind: HDFS_DELEGATION_TOKEN"
View note.md

One of the reasons that this failure occurs is because of the incorrect client setting of yarn.resourcemanager.cluster-id that ends up not matching the one in the cluster. This often results in a cryptic error that looks like this:

Failed to renew token: Kind: HDFS_DELEGATION_TOKEN, Service: ha-hdfs:test-local-EMPTY, Ident: (HDFS_DELEGATION_TOKEN token 40242 for hari)

Unfortunately, the original IOException seems to get completely lost, neither logged on the server nor gets seen on the client. When I put an extra trace log line to print the exception, I got this:

2016-06-06 12:57:57,394 ERROR [tionTokenRenewer #50] security.DelegationTokenRenewer - Failed to renew token: Kind: HDFS_DELEGATION_TOKEN, Service: ha-hdfs:test-local-EMPTY, Ident: (HDFS_DELEGATION_TOKEN token 40663 for sfdc)
java.io.IOException: Unable to map logical nameservice URI 'hdfs://test-local-EMPTY' to a NameNode. Local configuration does not have a failover proxy provider configured.
        at org.apache.hadoop.hdfs.DFSCl
@haridsv
haridsv / hbase_shell_snippets.md
Last active June 22, 2019 10:17
Decode byte strings from HBase shell, a collection of snippets
View hbase_shell_snippets.md
hbase(main):002:0> T = create 'emp',  {NAME => 'f', VERSIONS => 5}
0 row(s) in 1.1300 seconds

=> Hbase::Table - emp
hbase(main):003:0> T.put '001', 'f:name', 'Tom'
0 row(s) in 0.0890 seconds
hbase(main):003:0> T.put '001', 'f:name', 'Tom Too'
0 row(s) in 0.0890 seconds
@haridsv
haridsv / bookmarklet
Last active June 14, 2022 05:14
Paste Enabler, remove attributes from form text fields that restrict copy and paste operations. Tested to be working on many financial websites, though on some it causes duplication (workaround: undo).
View bookmarklet
javascript:s=document.createElement('script');s.type='text/javascript';document.body.appendChild(s);s.src='https://goo.gl/OrQlxL';void(0);