Small shell script that adds a task to Todoist (due today by default) via the Todoist REST API v1.
TODOIST_API_TOKEN=<your-token> ./add_todoist_task.sh "Buy milk"
TODOIST_API_TOKEN= ./add_todoist_task.sh "Call accountant" "tomorrow"| #!/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 |
| ╭─── 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 │ │ |
| <?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/"/> |
| <?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" /> |
| 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: |
| 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 |