telescope-project.nvim [1] by nvim-telescope [2] is a game-changer in its space. Excited to see how it evolves.
No description available.
References:
[1]: https://github.com/nvim-telescope/telescope-project.nvim
[2]: https://github.com/nvim-telescope
Publishing rhythm
I came across lspsaga.nvim [1] from nvimdev [2], and it’s packed with great features and ideas.
improve neovim lsp experience
References:
[1]: https://github.com/nvimdev/lspsaga.nvim
[2]: https://github.com/nvimdev
rmagatti [1] has done a fantastic job with auto-session [2]. Highly recommend taking a look.
A small automated session manager for Neovim
References:
[1]: https://github.com/rmagatti
[2]: https://github.com/rmagatti/auto-session
Vim Wsl Clipboard
I’ve long used neovim from within windows wsl, and for far too long, I went
without a proper way to get text out of it and into windows.
wsl has access to cmd applications # [1]
wsl can access clip.exe. You can do some cool things with it, such as
cat a file into the clipboard, sending output from a command to the clipboard,
or set an autocmd group in vim to send yank to the windows clipboard.
using clip.exe # [2]
Let’s say you want to send a teammate the tail of a log file over chat. You can
tail the file into clip.exe.
tail -n 1 info.log | clip.exe
pipe streams of text into clip.exe
make it a bit more natural # [3]
I recently made mine feel a bit more natural by aliasing it to clip.
alias clip=clip.exe
pop this in your ~/.bashrc or ~/.zshrc
yanking to windows clipboard from vim # [4]
I use neovim as my daily text editor and its a pain to share code with a
teammate over chat, stack overflow, into a gist, or whatever you need. The
following snippet has been quite useful ...
I’m impressed by onebuddy [1] from Th3Whit3Wolf [2].
Light and dark atom one theme
References:
[1]: https://github.com/Th3Whit3Wolf/onebuddy
[2]: https://github.com/Th3Whit3Wolf
I’m impressed by awesome-streamerrc [1] from awesome-streamers [2].
Dotfiles for various streamers on Twitch.
References:
[1]: https://github.com/awesome-streamers/awesome-streamerrc
[2]: https://github.com/awesome-streamers
If you’re into interesting projects, don’t miss out on telescope-fzf-native.nvim [1], created by nvim-telescope [2].
FZF sorter for telescope written in c
References:
[1]: https://github.com/nvim-telescope/telescope-fzf-native.nvim
[2]: https://github.com/nvim-telescope
kedro replit
I am trying to see what an embeded replit
Looking for inspiration? ltreesitter [1] by euclidianAce [2].
Standalone tree sitter bindings for the Lua language
References:
[1]: https://github.com/euclidianAce/ltreesitter
[2]: https://github.com/euclidianAce
I’m impressed by hop.nvim [1] from hadronized [2].
Neovim motions on speed!
References:
[1]: https://github.com/hadronized/hop.nvim
[2]: https://github.com/hadronized
I’m impressed by gitmux [1] from arl [2].
💻 Git [3] in your tmux status bar
References:
[1]: https://github.com/arl/gitmux
[2]: https://github.com/arl
[3]: /glossary/git/
Check out bidict [1] by jab [2]. It’s a well-crafted project with great potential.
The bidirectional mapping library for Python.
References:
[1]: https://github.com/jab/bidict
[2]: https://github.com/jab
photopea [1] by photopea [2] is a game-changer in its space. Excited to see how it evolves.
Photopea is online image editor
References:
[1]: https://github.com/photopea/photopea
[2]: https://github.com/photopea
I’m really excited about lolcat [1], an amazing project by tehmaze [2]. It’s worth exploring!
Rainbows and unicorns (without Ruby! jay!)
References:
[1]: https://github.com/tehmaze/lolcat
[2]: https://github.com/tehmaze
I’m really excited about bubbles [1], an amazing project by charmbracelet [2]. It’s worth exploring!
TUI components for Bubble Tea 🫧
References:
[1]: https://github.com/charmbracelet/bubbles
[2]: https://github.com/charmbracelet
Check out charmbracelet [1] and their project lipgloss [2].
Style definitions for nice terminal layouts 👄
References:
[1]: https://github.com/charmbracelet
[2]: https://github.com/charmbracelet/lipgloss
plenary.nvim [1] by nvim-lua [2] is a game-changer in its space. Excited to see how it evolves.
plenary: full; complete; entire; absolute; unqualified. All the lua functions I don’t want to write twice.
References:
[1]: https://github.com/nvim-lua/plenary.nvim
[2]: https://github.com/nvim-lua
Pytest capsys
Testing print/log statements in pytest can be a bit tricky, capsys makes it
super easy, but I often struggle to find it.
capsys # [1]
capsys is a builtin pytest fixture that can be passed into any test to capture
stdin/stdout. For a more comprehensive description check out the docs on
capsys [2]
using capsys # [3]
Simply create a test function that accepts capsys as an argument and pytest
will give you a capsys opject.
def test_print(capsys):
print('hello')
captured = capsys.readouterr()
assert 'hello' in captured.out
print('world')
captured = capsys.readouterr()
assert 'world' in captured.out
References:
[1]: #capsys
[2]: https://docs.pytest.org/en/stable/capture.html#accessing-captured-output-from-a-test-function
[3]: #using-capsys
I’m impressed by kedro-diff [1] from WaylonWalker [2].
quickly diff kedro history
References:
[1]: https://github.com/WaylonWalker/kedro-diff
[2]: https://github.com/WaylonWalker
I like ThePrimeagen’s [1] project git-worktree.nvim [2].
No description available.
References:
[1]: https://github.com/ThePrimeagen
[2]: https://github.com/ThePrimeagen/git-worktree.nvim
Check out nvim [1] by kuator [2]. It’s a well-crafted project with great potential.
There are many neovim configurations, but this one is mine…
References:
[1]: https://github.com/kuator/nvim
[2]: https://github.com/kuator
Looking for inspiration? awsimple [1] by jamesabel [2].
Simple API for basic AWS services
References:
[1]: https://github.com/jamesabel/awsimple
[2]: https://github.com/jamesabel
Building Rich a Dev Server
Draft Post
I’ve really been digging [1]@willmcgugan [2]’s
rich [3] library for creating TUI like
interfaces in python. I’ve only recently started to take full advantage of it.
Dev Server # [4]
I am working on a project in which I want to have a dev
server running continuously in the background. I really
like dev servers theat automatically chooose an unused
port and list out the running pid so that I can kill it if
I need to.
- automatic port number
- auto-restart
- display ( port, pid, uptime )
finding the port # [5]
I am very novice at best when it comes to sockets, the following function came
from searching StackOverflow for how to tell if a port is in use. I
recursively check if a port is being used, if it is I increment by one until I
find an unused port to return.
def find_port(port=8000):
"""Find a port not in ues starting at given port"""
import socket
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
if s.connect_ex(("localhost", port)) == 0:
retur...
Looking for inspiration? telescope.nvim [1] by nvim-telescope [2].
Find, Filter, Preview, Pick. All lua, all the time.
References:
[1]: https://github.com/nvim-telescope/telescope.nvim
[2]: https://github.com/nvim-telescope
If you’re into interesting projects, don’t miss out on harpoon [1], created by ThePrimeagen [2].
No description available.
References:
[1]: https://github.com/ThePrimeagen/harpoon
[2]: https://github.com/ThePrimeagen
The work on maggieappleton.com [1] by MaggieAppleton [2].
⚠️ Now retired. My previous, poorly constructed digital garden built with Gatsby and MDX. Updated garden here: https://github.com/MaggieAppleton/maggieappleton.com-V2
References:
[1]: https://github.com/MaggieAppleton/maggieappleton.com
[2]: https://github.com/MaggieAppleton
Check out tmate-io [1] and their project tmate [2].
Instant Terminal Sharing
References:
[1]: https://github.com/tmate-io
[2]: https://github.com/tmate-io/tmate
The work on cookiecutter-data-science [1] by drivendataorg [2].
A logical, reasonably standardized, but flexible project structure for doing and sharing data science work.
References:
[1]: https://github.com/drivendataorg/cookiecutter-data-science
[2]: https://github.com/drivendataorg
Site Down During Build
Recently I noticed a new netlify site of mine was down while I was checking to
see if new content was live. Later found out this was consistent after each
and every push the site would go gown as soon as I hit push, and would not come
back until the build finished.
Is this normal? # [1]
Do other Netlify sites go down during build???
Short Answer NO. All of my google fu lead me to believe I was alone and none of my other sites do this.
Digging into my build # [2]
My deploy script ends with the following. After resetting keys and watching it build half a dozen
times I determined that everything was working as normal here.
- name: Deploy to Netlify
uses: nwtgck/[email protected]
with:
publish-dir: "./markout"
production-branch: markout
production-deploy: true
deploy-message: "Deploy markout from GitHub Actions"
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
Opening the Nelify Console # [3]
After poking at t...
Kedro pipeline_registry.py
With the realease of kedro==0.17.2 came a new module in the project template
pipeline_registry.py. Here are some notes that I learned while playing with
this new module.
migrating to pipeline_registry.py # [1]
- create a src/<package-name>/pipeline_registry.py file create a
- register_pipelines function in pipeline_registry.py that mirrors the
- register_pipelines method from your hooks.py module do not bring the
- hook_impl decorator remove register_pipelines method on your ProjectHooks
- class
You should now have something that looks like this in your
src/<package-name>/pipeline_registry.py.
"""Project pipelines."""
from typing import Dict
from kedro.pipeline import Pipeline
def register_pipelines() -> Dict[str, Pipeline]:
"""Register the project's pipelines.
Returns: A mapping from a pipeline name to a ``Pipeline`` object.
"""
return {"__default__": Pipeline([])}
pipeline_registry only works in kedro>=0.17.2
Conflict Resolution # [2]
What happens If I register p...
Check out smitajit [1] and their project bufutils.vim [2].
bufutils.vim provide utilities to open, close, refresh, move, resize, zoom buffers faster
References:
[1]: https://github.com/smitajit
[2]: https://github.com/smitajit/bufutils.vim
I like Rigellute’s [1] project spotify-tui [2].
Spotify for the terminal written in Rust 🚀
References:
[1]: https://github.com/Rigellute
[2]: https://github.com/Rigellute/spotify-tui
I like swyxio’s [1] project technical-community-builders [2].
companies hiring technical community builders
References:
[1]: https://github.com/swyxio
[2]: https://github.com/swyxio/technical-community-builders
Just starred Minyus [1] by Minyus [2]. It’s an exciting project with a lot to offer.
No description available.
References:
[1]: https://github.com/Minyus/Minyus
[2]: https://github.com/Minyus
I like uranusjr’s [1] project simpleindex [2].
No description available.
References:
[1]: https://github.com/uranusjr
[2]: https://github.com/uranusjr/simpleindex
I came across lorenabalan [1] from lorenabalan [2], and it’s packed with great features and ideas.
Personal repo
References:
[1]: https://github.com/lorenabalan/lorenabalan
[2]: https://github.com/lorenabalan
I came across vim.wasm [1] from rhysd [2], and it’s packed with great features and ideas.
Vim editor ported to WebAssembly
References:
[1]: https://github.com/rhysd/vim.wasm
[2]: https://github.com/rhysd
I recently discovered de1-python [1] by dataengineerone [2], and it’s truly impressive.
Curated collection of DE1’s favorite kedro pieces.
References:
[1]: https://github.com/dataengineerone/de1-python
[2]: https://github.com/dataengineerone
I recently discovered markserv [1] by markserv [2], and it’s truly impressive.
🏁 serve markdown as html [3] (GitHub style), index directories, live-reload as you edit
References:
[1]: https://github.com/markserv/markserv
[2]: https://github.com/markserv
[3]: /html/
facelessuser [1] has done a fantastic job with pymdown-extensions [2]. Highly recommend taking a look.
Extensions for Python Markdown
References:
[1]: https://github.com/facelessuser
[2]: https://github.com/facelessuser/pymdown-extensions
Check out dirsync [1] by tkhyn [2]. It’s a well-crafted project with great potential.
No description available.
References:
[1]: https://github.com/tkhyn/dirsync
[2]: https://github.com/tkhyn
Check out andrewlin12 [1] and their project markdown2png [2].
Render markdown to PNG (or other formats)
References:
[1]: https://github.com/andrewlin12
[2]: https://github.com/andrewlin12/markdown2png
Stand With Your Team
People who are quick to toss team members under a bus are not well trusted or
highly thought of and it will lead to some toxic team dynamics.
Building Steam # [1]
While collaborating on any project there are going to be decisions made that
aren’t necessarily your favorite, during a summer internship my mentor made
some decisions that I was not on board with, but I accepted his wisdom and
moved forward with little push back.
Full Spead Ahead # [2]
During a review, leadership showed interest in the option that I wanted to go
towards. I was quick to jump up and say I told you so right then and there
and pitch reasons why my idea was so much better.
The Aftermath # [3]
I walked out so proud that leadership recognized my idea, but I will never
forget the look on my teammate’s face and what he told me after the meeting.
“Wow quick to throw me under the bus in front of everyone 😢”. I
~ my teammate
Realizing what Happened # [4]
It was at this moment that I threw my mentor, a good ...
Blogging For Me
I create this blog with one person in mind, me.
There are others like me # [1]
This is not completely selfish, as there are likely many others out there that
think similarly to me. Everyone comes from different backgrounds and varying
levels of experience. In no way do you need to be an expert to create content
others will benefit from.
Accurate # [2]
I am as accurate as possible. I don’t know everything, and If I waited for
that to happen I would never post, or write at such a high level no one else
(including me) would ever want to read.
Generally I know that I am directionally accurate for most of the article. In
fact there is often a part of the article that I don’t feel the best about. It
may have been some code that could have been better. I try to point these
things out. Often when I am and point out where I know there is
improvement to be had I get the most welcoming comments, “that was just fine
how you did that”, or “I tried that myself and saw a better abstraction.
...
I recently discovered twint [1] by twintproject [2], and it’s truly impressive.
An advanced Twitter scraping & OSINT tool written in Python that doesn’t use Twitter’s API, allowing you to scrape a user’s followers, following, Tweets and more while evading most API limitations.
References:
[1]: https://github.com/twintproject/twint
[2]: https://github.com/twintproject
I like pytest-dev’s [1] project pluggy [2].
A minimalist production ready plugin system
References:
[1]: https://github.com/pytest-dev
[2]: https://github.com/pytest-dev/pluggy
to-mc [1] has done a fantastic job with checksumdir [2]. Highly recommend taking a look.
Simple package to compute a single deterministic hash of the file contents of a directory.
References:
[1]: https://github.com/to-mc
[2]: https://github.com/to-mc/checksumdir
Minimal Kedro Pipeline
How small can a minimum kedro pipeline ready to package be? I made one within 4 files that you can pip install. It’s only a total of 35 lines of python, 8 in setup.py and 27 in mini_kedro_pipeline.py.
📝 Note this is only a composable pipeline, not a full project, it does not contain a catalog or runner.
Minimal Kedro Pipeline # [1]
I have everything for this post hosted in this gihub repo [2], you can fork it, clone it, or just follow along.
Installation # [3]
pip install git+https://github.com/WaylonWalker/mini-kedro-pipeline
Caveats # [4]
This repo represents the minimal amount of structure to build a kedro pipeline that can be shared across projects. Its installable, and drops right into your hooks.py or run.py modules. It is not a runnable pipeline. At this point
I think the config loader requires to have a logging config file.
This is a sharable pipeline that can be used across many different projects.
Usage # [5]
# hooks.py
import mini_kedro_project as mkp
class Pro...
Markdown Cli
This is a post that may be a work in progress for awhile, Its a collections of
thoughts on managing my blog, but could be translated into anythiung that is
just a collection of markdown.
Listing things # [1]
- posts
- tags
- draft posts
data # [2]
- frontmatter
- filepath
- content
- template
- html [3]
render content # [4]
- Markdown.Markdown
- support extentsions
frontmatter cleaning. # [5]
- provide ways to hook in or clean up the frontmatter
Markata.Markata methods # [6]
- load
- render
- save
Markata.Post methods # [7]
- load
- render
- save
Markata plugins # [8]
- before_load
- before_post_load
- after_load
- after_post_load
- before_save
- before_post_save
- after_save
- after_post_save
Markata plugins # [9]
- cleanse_frontmatter
- html_feed
- json_feed
- rss_feed
- save_posts
CLI # [10]
$ markata list tags
python
data
$ markata
[
{
"title": "post title",
"description": "this is a post",
"filepath": "path_to.md",
"content": "the ...
My Content Strategy For 2021
I am making another push in 2021 to get my content out in the world and meeting users where they are. See how I plan to execute.
Platforms # [1]
- waylonwalker.com
- Twitter
- DEV
- hashnode
- Medium
- LinkedIn
- Anchor
Markdown # [2]
My content is written in markdown, all markdown. I find that markdown does a really great job at getting out of the way and letting ideas flow onto the page. I am never fussing with fonts and formatting while physically writing posts. Not that I don’t spend way more time than I need to tweak these things on my own personal site where everything gets posted.
Articles # [3]
Much of what I create is inside of short articles that get posted to my personal site waylonwalker.com [4]. These will get cross-posted to DEV [5],
hashnode [6], Medium [7].
I have made cross-posting a bit easier for myself by posting the markdown for each article next to the post on my personal site. Add .md to any post and there is the source.
Should I be giving my art...