I liked listening to how an expert GTDer is using OmniFocus to implement GTD on GTD Focus President Meg Edwards Returns - The Omni Show (Oct 23, 2023). I\'m still trying to get a good GTD implementation using Obsidian. I see larslockefeer/obsidian-plugin-todo -- but it\'s not been updated since Feb, 2022 -- so I wouldn\'t use it. (Obsidian plugins that aren\'t being regularly updated are probably not worth the effort to use.). There\'s the fascinating little Issues · saibotsivad/obsidian-gtd-no-next-step. Probably the key insight is that I should focus on time-blocking than diving into a complicated GTD setup right now.
Category Archives: Uncategorized
MIC-06-1 Surprise: Keyboard Maestro 11 is released
I was delighted to get an email today saying that I was eligible to upgrade to a new version of Keyboard Maestro (a license for which I had just purchased a few months ago.) From Stairways Software: Press Releases:
The engine adds a new keyboardmaestro command line tool for triggering macros, modern JavaScript syntax, Apple Text Recognition option, a new palette to show active macro groups, enhanced scripting support, and more.
MIC-05-5 Jupyter widgets made easier?
This morning, I learned about manzt/anywidget: jupyter widgets made easy. I\'m excited to figure out how to use it because I think it\'ll make developing custom widgets much easier.
As described in anywidget: Jupyter Widgets Made Easy | by Trevor Manz | Jupyter Blog:
*anywidget* is a Python library that makes it simple and enjoyable to create custom Jupyter Widgets that run in classic Jupyter notebooks, JupyterLite, JupyterLab, Google Colab, VS Code, and more.
MIC-05-4 Stepping back into web scraping
Today, as I revisited the Open Context: About - Web Services and APIs, I also started to think about how I would use Installation | Playwright Python and CDPSession | Playwright Python to interact with certain websites I have running on Chrome.
MIC-05-3 tools for finances
In preparing to meet with a financial advisor today, I was scrambling around to create a comprehensive inventory of our financial assets. It shouldn't have been that hard but I did have to do some amount of digging around. Now that I have the skeleton of an inventory, what tools should I use to fill out the outline and keep it up to date? Are there tools that will keep a financial inventory up-to-date automatically? I will work through the list at Tools and calculators - Bogleheads in search of such tools.
Let me tell you what perplexity.ai writes in response to the paragraph above:
Keeping a comprehensive inventory of your financial assets up-to-date
can indeed be a challenging task. However, there are several tools
available that can help you manage your financial inventory and keep it
updated automatically.
Portfolio Management Apps: Apps like Empower (formerly Personal
Capital), SigFig Wealth Management, Sharesight, and Yahoo Finance
can help you manage your financial portfolio. These apps can sync
with your existing accounts, providing real-time information on all
your investments in one place. They offer features like tracking
your net worth, creating a savings plan, tracking performance, asset
allocation, and fees with easy-to-read graphs and charts. Some of
these apps also offer automated investing for a fee, optimizing your
portfolio and providing daily monitoring to keep it on track with
rebalancing, dividend reinvestment, and tax-efficient
strategies refBudget Apps: Apps like Mint, YNAB (You Need A Budget),
Goodbudget, EveryDollar, and PocketGuard can help you manage your
budget and track your spending. These apps can sync with your
financial accounts, track spending, and categorize expenses so you
can see where your money is going. Some of these apps also offer
features like setting up alerts when you have exceeded your budget
in various categories, establishing goals, scheduling payments, and
reviewing your
investments refBogleheads Tools and Calculators: The Bogleheads website offers
a variety of tools and calculators that can help you manage your
financial inventory. These include tools for backtesting, Monte
Carlo simulation, tactical asset allocation and optimization, and
investment analysis. There are also tools for maintaining your
portfolio, computing and comparing tax costs, and modeling virtually
every aspect of a retiree\'s financial life. Some of these tools are
spreadsheets that you can download and use to manage your financial
inventory ref, refCredit Card Tracker Apps: If you have multiple credit cards,
apps like TPG To Go, Spending Tracker, Mint, Bill Tracker, and
Credit Card Manager can help you manage your credit cards. These
apps can track your spending, set reminders for bill payments, and
even recommend which card to use for a particular purchase to
maximize
rewards refDebt Reduction Software: If you have debts, software like
Quicken can help you manage and reduce your debts. This software can
provide a comprehensive view of your financial situation, including
your debts, and help you create a plan to reduce your
debts ref
MIC-05-2 Bike Outline Paths
I\\'m looking forward to a complete implementation of a new feature in Bike: Using Outline Paths - Bike, a language for specifying a subset of rows in an outline.
MIC-05-1 A new direction
Although I will continue working on the Bike-pandoc integration, I am stepping back to work on the bigger picture of MyInfoNet.
MIC-04-5 Recycling electronics instead of programming
No programming but I did manage to bring to the ewaste collective in Berkeley years of built up electronic waste we had in our apartment, including two Macbook Pros, an iPad, my Pixel 2, two old iPhones, and many, many cables. The fall cleaning was inspired by setting up my new phone and figuring out what to do with the Pixel 4a, which I'm hanging on to for now.
MIC-04-4 Can perplexity.ai help me give me the answer?
Tomorrow, I'll see whether the suggested function that perplexity.ai gave me does what I want.
MIC 04-3 Non-recursive walk of a panflute document
Next round of programming yields:
def panflute_to_bike_etree_nr(e, level=0) -> ET.Element:
# questions about how header levels are handled as we put them into the etree
etree = None
stack = [(e, level)]
# current ul_elem
ul_elem = None
heading_level = 0
while stack:
(e, level) = stack.pop()
print(" " * level, e.tag)
if is_inline_or_contentless(e):
li_elem = ET.Element("li")
# TO DO: handle rich text
p_elem = ET.SubElement(li_elem, "p")
p_elem.text = pf.stringify(e).strip()
# 2 things to figure out: parent_ul (where to attach li_elem) and what the current ul_elem is
if e.tag == "Header":
print ("header", e.level, e.identifier, e.classes, e.attributes, pf.stringify(e))
li_elem.attrib["data-type"] = "heading"
li_elem.attrib["data-level"] = str(e.level)
if e.level > heading_level:
# child
parent_ul = ul_elem
print ("e.level > heading_level", ul_elem)
elif e.level == heading_level:
# sibling
# parent_ul has to be ul parent of ul_elem
parent_ul = ul_elem.getparent().getparent()
else:
# e.level < heading_level
# uncle or higher
parent_ul = find_ul_ancestor(ul_elem, int(e.level)-1)
heading_level = e.level
ul_elem = ET.SubElement(li_elem, "ul")
parent_ul.append(li_elem)
else:
ul_elem.append(li_elem)
else:
if e.tag == "Doc":
etree = empty_bike_etree()
ul_elem = etree.xpath("//ul")[0]
else:
# BulletList
# OrderedList
# ListItem
print("block", e.tag)
try:
for c in reversed(e.content):
stack.append((c, level + 1))
except AttributeError:
pass
# clean up etree by adding ids
etree = add_ids_to_bike_etree(etree)
return etree