Skip to content

Instantly share code, notes, and snippets.

@deepakjois
deepakjois / README.md
Last active September 9, 2026 12:37
Add a Todoist task due today (token via TODOIST_API_TOKEN env var)

add-todoist-task

Small shell script that adds a task to Todoist (due today by default) via the Todoist REST API v1.

Usage

TODOIST_API_TOKEN=<your-token> ./add_todoist_task.sh "Buy milk"
TODOIST_API_TOKEN= ./add_todoist_task.sh "Call accountant" "tomorrow"
@deepakjois
deepakjois / claude-hunk
Last active April 22, 2026 15:33
claude-hunk: two-stage fzf picker (file, then line range) that copies 'path:start-end' + the selected snippet to the clipboard — handy for pasting code into Claude Code or any LLM chat
#!/usr/bin/env bash
set -euo pipefail
relative=0
while [ $# -gt 0 ]; do
case "$1" in
-r|--relative) relative=1 ;;
-h|--help)
echo "usage: claude-hunk [-r|--relative]"
exit 0
@deepakjois
deepakjois / ras-deep-dive.txt
Created February 2, 2026 16:21
RAS (Recording Analytics Service) Deep Dive - Temporal Migration Analysis
╭─── Claude Code v2.1.20 ──────────────────────────────────────────────────────╮
│ │ Tips for getting │
│ Welcome back Deepak! │ started │
│ │ Run /init to create a … │
│ ▐▛███▜▌ │ ─────────────────────── │
│ ▝▜█████▛▘ │ Recent activity │
│ ▘▘ ▝▝ │ No recent activity │
│ │ │
│ Opus 4.5 · Claude Pro · deepak.jois@gmail.com's │ │
@deepakjois
deepakjois / feeds.opml
Created October 29, 2024 13:34
RSS Feeds I subscribe to via NewsBlue
<?xml version="1.0" encoding="utf8"?>
<opml version="1.1">
<!--Generated by NewsBlur - newsblur.com-->
<head>
<title>NewsBlur Feeds</title>
<dateCreated>2024-10-29 13:31:17.809210</dateCreated>
<dateModified>2024-10-29 13:31:17.809210</dateModified>
</head>
<body>
<outline text="this geeked out lifestyle blog" title="this geeked out lifestyle blog" type="rss" version="RSS" htmlUrl="https://thisgeekedoutlife.com/" xmlUrl="https://thisgeekedoutlife.com/feed/"/>
@deepakjois
deepakjois / feeds.opml
Created October 22, 2024 20:51
OPML file listing all the Podcast feeds I subscribe to
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<opml version="1.0">
<head>
<title>PodcastAddict registration feeds</title>
<dateCreated>Sep 14, 2024 23:02:38</dateCreated>
<dateModified>Sep 14, 2024 23:02:38</dateModified>
</head>
<body>
<outline text="16 Minutes News by a16z" type="rss" xmlUrl="https://feeds.simplecast.com/j9kKMsfH" htmlUrl="https://16minutes.simplecast.com" imageUrl="https://image.simplecastcdn.com/images/5e1d8c2c-81b5-4b70-bb9c-cbcfadb9366d/479fc3ec-1d90-4d0f-adec-77575ded1ac4/3000x3000/a16z-16minutes-fa-flat.jpg?aid=rss_feed" />
<outline text="A Correction Podcast" type="rss" xmlUrl="https://www.acorrectionpodcast.com/phonyeconomy?format=rss" htmlUrl="https://www.acorrectionpodcast.com/phonyeconomy/" imageUrl="https://images.squarespace-cdn.com/content/v1/570e4be5b09f951fdd672070/1468410431991-F4T0Z9BTQBOK6YLNSQ1W/Eraser+iTunes+2.jpg?format=1500w" />
@deepakjois
deepakjois / deps.txt
Last active October 30, 2018 04:50
List of PHP and Nginx deps on Tapwage Admin Server
ubuntu@ip-172-31-36-148:~/taprecruit-app$ apt list --installed | grep php
dh-php/xenial,now 0.10 all [installed,upgradable to: 0.33+ubuntu16.04.1+deb.sury.org+1]
php/xenial,now 1:7.0+35ubuntu6 all [installed,upgradable to: 2:7.2+67+ubuntu16.04.1+deb.sury.org+0]
php-apcu/now 5.1.8+4.0.11-1+deb.sury.org~xenial+1 amd64 [installed,upgradable to: 5.1.12+4.0.11-1+ubuntu16.04.1+deb.sury.org+10]
php-bcmath/xenial,now 1:7.0+35ubuntu6 all [installed,upgradable to: 2:7.2+67+ubuntu16.04.1+deb.sury.org+0]
php-common/now 1:52+deb.sury.org~xenial+1 all [installed,upgradable to: 2:67+ubuntu16.04.1+deb.sury.org+0]
php-curl/xenial,now 1:7.0+35ubuntu6 all [installed,upgradable to: 2:7.2+67+ubuntu16.04.1+deb.sury.org+0]
php-dev/xenial,now 1:7.0+35ubuntu6 all [installed,upgradable to: 2:7.2+67+ubuntu16.04.1+deb.sury.org+0]
php-gd/xenial,now 1:7.0+35ubuntu6 all [installed,upgradable to: 2:7.2+67+ubuntu16.04.1+deb.sury.org+0]
php-gearman/now 2.0.3+1.1.2+-1+deb.sury.org~xenial+1 amd64 [installed,upgradable to: 2.0.5+1.1.2-2+ubuntu16
### Keybase proof
I hereby claim:
* I am deepakjois on github.
* I am debugjois (https://keybase.io/debugjois) on keybase.
* I have a public key whose fingerprint is B745 7F64 BD5B D5AD 04AC 3A19 77DA 8872 520D A130
To claim this, I am signing this object:
@deepakjois
deepakjois / js2lua.rb
Last active June 24, 2017 04:46
Crude regexes for js to lua conversion
File.open(ARGV[0]).each { |line|
line.gsub!(/;/,"")
line.gsub!(/let /, "local ")
line.gsub!(/\/\/ /, "-- ")
line.gsub!(/:/, " =")
line.gsub!(/export default/, "return")
line.gsub!(/export /, "")
line.gsub!(/new ([a-zA-Z0-9.]+)\(/, '\1.new(')
line.gsub!(/^import (.*) from (.*)$/, 'local \1 = require(\2)')
line.gsub!(/([x\d]+) = {/, '[\1] = {')
local metrics = {}
local f = fontloader.open ("NotoNastaliqUrdu-Regular.ttf")
local fonttable = fontloader.to_table(f)
fontloader.close(f)
metrics.backmap = fonttable.map.backmap
for i,v in ipairs(metrics.backmap) do
debug.log("glyph id: %d, backmap: U+%04X", i, v)
end
-- Notice below how all the unencoded glyphs are being assigned a code starting from 0x10001 (65537) onwards. Why is that?
local make_loader = function(path, pos, loadfunc)
local default_loader = package.searchers[pos]
local loader = function(name)
local file, _ = package.searchpath(name,path)
if not file then
local msg = "\n\t[lualoader] Search failed"
local ret = default_loader(name)
if type(ret) == "string" then
return msg ..ret
elseif type(ret) == "nil" then