Posts
Using ChatGPT to Automatically Tag Documents in a Zettelkasten Document Graph
Project to Automatically Select Tags for Zettelkasten Documents Motivation for the Project When working within a zettelkasten, it’s not uncommon to neglect the task of tagging documents. This can be attributed to the speed of creating a new card, leaving little time to tag it properly. Additionally, it’s easy to overlook certain tags that may be relevant at that moment. There’s also the consideration of whether it would be beneficial to create new tags.
Posts
Adding Merge Note Feature to Workflow
Merging Notes with Obsidian and ZKVR: An Engaging Workflow In my notetaking workflow, I frequently use the merge note feature in Obsidian. This feature is a powerful tool that allows me to clean up old notes and update all the backlinks of a note to point to a new one.
Recently, I found myself wishing for a similar feature within zkvr, my terminal user interface graph IDE. I set out to implement this feature and found the resulting workflow to be highly engaging.
Posts
Mass Running Vulnerability Scan Tools on Github Repositories
vuln scanning github repos I decided to run code vulnerability scanning tools en-masse on all of the PHP github repositories that have a certain amount of stars/followers. It helped that I already started with a list of github repositories. That is a major limiting factor for this project. It would be difficult to scrape a list of PHP repositories from github.
I sorted the repositories by number of stars so the most interesting ones get scanned, and I scanned the top 30k.
Posts
How to Implement Modular Subcommands in Bash
how to implement a modular subcommand with lightweight scripts Creating powerful Command Line Interface (CLI) tools quickly can be achieved through a method that focuses on organizing your code. This approach involves a modular design that is not only easy to test but also allows for the separation of concerns. Subcommands, which can be written in whatever language appropriate for their specific job, play a significant role in this process.
Posts
Platform Specific Version Selector Install Scripts
creating platform specific install scripts for my environment My environment and dotfiles are installed automatically when the install scripts are run. These scripts will run other dependent scripts designed as version selectors for programs where there is no common apt or brew installation package candidate.
There are two such programs:
bat version selector script lazygit version selector and interactive install script bat is a command to preview and pretty print code or markdown with syntax highlighting.
Posts
Testing Recurrent Openai Chatgpt Prompts
creating your own assistant with your own data The quickest option to get started playing with creating you own assistants with a GUI tool is to use flowise
https://flowiseai.com/ https://github.com/FlowiseAI/Flowise coding example from youtube creating an assistant with your own data using python: https://youtu.be/9AXP7tCI9PI?si=dOd8TuYSDxM5Ke79 link to example python project from video https://github.com/techleadhd/chatgpt-retrieval crafting prompts you can make pretty complicated assistants just by crafting GPT prompts. the example assistant scripts make use of python langchain library to load your own data to create an assistant and encode it somehow into the prompt.
Posts
Zettelkasten Github TUI - ZKVR Project
zkvr project I developed the zkvr project in 2022 after learning about zettelkasten. I developed it using bash and awk scripts and other open source TUI (Text User Interface) tools available. I watched rwxrob’s youtube for inspiration for the structure of the project. I took the ideas and ran with them, creating an fzf menu-driven workflow script for maintaining a graph database of markdown files. I even created a simple but powerful graph query language for it that can be used to find a path of document nodes connected to other nodes, filtering by tags.
Posts
Setting Up Github Webhooks for the Blog
testing setuid I tried making a setuid executable to change to the user and run update scripts, but it is was not working. I think the PATH and other environment variables are not configured right when running under www-data and switching with a setuid executable. Therefore, the simplest solution is to create a local service to run the update command.
creating a local service code for a simple local “service” to perform the update literally any tcp connection to this port on localhost will launch the update, so make sure it is only open to localhost.
Posts
FSDB: A Partitioned Event Sourced Database on Filesystem
FSDB project partitioned database that exists in a directory on the filesystem works by partitioning rows of text into files, essentially turning a directory into a giant hashmap with compressed partitions optional timestamps can be added to rows and searched (resolution: 1 second, epoch time) link to notes about the project: partitioned filesystem database project github: https://github.com/nicholas-long/fsdb justification for the project I need something like Kafka that can store things in partitions.
Posts
My Terminal Environment and Dotfiles
what is my environment repository? link to environment: https://github.com/nicholas-long/environment permalink to post about this blog platform specific install scripts I made a zettelkasten for dotfiles and scripts. Maintaining and working within it feels like being plugged directly into an enormous and ever-changing project.
what i put in the environment vim dotfiles tmux dotfiles bashrc and zshrc configuration scripts useful scripts i need or come up with for specific purposes shortcut commands that are available on the command line install scripts to set it all up on multiple platforms and architectures using zettelkasten as a graph database for storing programs Having it structured like a zettelkasten makes it feel like it is coming alive.