Drafts

Draft and unpublished posts

0 posts simple view

Awesome People

These are awesome people that inspire me every day. https://swyx.io/ https://alanwsmith.com/ https://css-tricks.com/ https://daily-dev-tips.com/ https://daverupert.com/ https://joelhooks.com/ https://joshbranchaud.com/ https://kedrozerotohero.com/ https://maggieappleton.com/ https://mxstbr.com/ https://notes.mxstbr.com/About_these_notes https://tomcritchlow.com/ https://wesbos.com/ https://www.christopherbiscardi.com/garden https://www.helenanderson.co.nz/ https://www.scotttolinski.com/

Comprehensive guide to creating kedro nodes

The Kedro node is an essential part of the pipeline. It defines what catalog entries get passed in, what function gets ran, and the catalog entry to save the results under. does this link work? # https://waylonwalker.com/what-is-kedro/ 👆 Unsure what kedro is? Check out this post. The node function # The node function is the most common and reccomended way to define kedro nodes. It is a function that constructs and returns objects for you. Creating your first kedro node # function # The passed into node can be any callable that accepts the inputs yout have specified, and returns the correct output that you specify as your output. any callable a function you write a function from a library class constructor lambda function partial function literally any callable https://waylonwalker.com/kedro-inputs/ For more information on how kedro passes inputs into your functions check out this post Using a lambda as a function # I keep my nodes short and sweet. They do one thing and do it well. I tu…

Creating pypi-list with kedro

I had an idea come to me via twitter. Short one word name packages are becoming hard to find on pypi. Short one word readable package names that are not a play on words are easy to remember, easy to spell correctly, and quick to type out. Simple index # I started with the simple index. Pypi provides a single page listing to every single package hosted on pypi via the simple-index

Build A Portfolio

https://twitter.com/oliverjumpertz/status/1395689074594287625 Follow this over time. If you want to use code repositories for your portfolio. Make sure that you have made it unique in some way. Think about what kind of signal you are sending to hiring managers if you are linking to a project with no docs, and one commit from 3 days ago. They don’t have to be PERFECT either, it’s likely that it’s not something you were paid to do, hence not able to put your full time into. Just having something that generally follows some GOOD practice will set you above most other candidates. Make sure that it reflects you as a person. The worst that can happen is for you to hire in based on some false pretense and hate where you end up. 🎨 Make it unique 👌 It does not need to be perfect 🤏It does not matter how small it is ⏳ Don’t wait till the last minute 👇 Follow Oliver’s advice
1 min read

vows

Story I can still rememember the day that we we realized our new baby girl had gone days without a bowel movement. Holding her while she looked as if she was about to pop at any moment, completely nervous for what was to come. Little did we know what that strong little girl had in store for us. She was perparing us for something much bigger. Little did we know how much scary medical journeys would soon become a “normal” part of our life. We spent two solid years fighting for this girl every day. I still remember that Fall day. That day you drove my car home alone while I sat with our kids, patiently awaiting your arrival. When you arrived, no words needed to be spoken, the minute you opened the car door I knew our lives had changed forever. Scared out of our minds we held it together the best we could for those two kids we were holding. Fast forward 6 weeks, you are recovering from the biggest surgery of your life, and we notice that little girl is now feeding enough for herself. No lo…

python lsp setup

Setting up python with the native nvim>0.5 lsp was mr lsp-config # https://github.com/neovim/nvim-lspconfig pyls#190 # https://github.com/palantir/python-language-server/issues/190 mypy # Getting mypy working with lsp was tricky for me. I had some issues trying to run mypy in ci and pyright in my editor and I really wanted them to match.

Vim Fugitive

Add current file and commit with diff in a split #:on[ly] # C-W o:on[ly] will make the current buffer the only one on the screen. This is super helpful as many of fugitive commands will open in a split by default. C-I C-O # cycle through the jumplist This one has nothing to do with fugitive, but is a native vim feature that makes fugitive glorious. Before I realized how to utilize and, I would get completely lost when using fugitive. Digging deep into the log, opening a file from a specific commit, then no way to get back where I was in the log. C-i jump:jump[s] # show the jumplist The jumplist is sorted Oldest to newest:Telescope jumplist # When navigating the jumplist with, it will add a new entry to the jumplist and let you get back to where you were with a.:Telescope jumplist adds to the jumplist C-W J / C-W L #:G log # Ggrep # Unlike you don’t need to specify a file glob. Staging Hunks # In the file you want to stage hunks of run. Then use vim’s diff commands (,,,) to move the hun…

📝 Docker Deep Dive - Notes

https://www.hanselminutes.com/784/doing-open-source-with-brian-douglas Play With Docker # A handy way to try weird things in docker is using play-with-docker. You get a four hour session for free, after four hours everything will be deleted, but you can start a new session. Installing Docker on Linux # Installing on Ubuntu. Running Docker commands without sudo # In order to run docker commands without using sudo you need to add docker to your group. Architecture and Theory # Container - Isolated area of an OS with resource usage limits applied. Namespaces and Control Groups are hard, which is why containers were unusable by mortals before docker. Namespaces # Isolation Each container looks and feels like a regular OS. It has its own eth0, users, kernel. These are completely isolated from every other container running on the system. Namespaces are analogous to what Hypervisors do on hardware. Process ID (pid) Network (net) Filesystem/mount (mnt) Inter-proc comms (ipc) UTS (uts) User (us…

Zev Averbach Interview

Zev Averbach, Frustrated spreadsheet jockey to software developer at 36 Q: Tell me about your journey as a spreadsheet jockey into Data Engineering? A: First of all, it’s hilarious that I accidentally found your questions for this interview by Googling myself. 😊 I’ve always been a frustrated software user, and that frustration led me to be a “power user” (keyboard shortcuts etc) of my most used applications, as well as a “visual coder” using desktop automation like Alfred and Keyboard Maestro (Mac). Now that I’ve met data analysts and finance people that use Excel all day, I don’t think I’d claim to have been a true “spreadsheet jockey” in comparison to them. However, hitting up against the limitations of spreadsheets for running my transcription business – specifically for bookkeeping – created a new frustration for me: As the business grew I was spending more and more time copying entries from Google Sheets to the Freshbooks web app for invoicing purposes. I tried to automate that pr…

Automatic Conda Environments

I have automated my process to create virtual environments in my python projects, here is how I did it. I’ve really been digging my new tmux session management setup. Now I have leveled it up by adding direnv to my workflow. It will execute a shell script whenever I cd into a directory. One thing I wanted to add to this was, automatic activation of python environments whenever I cd into a directory, or create a new environment if one does not exist. https://waylonwalker.com/tmux-nav-2021/ Direnv # You can learn more about direnv on their website. There are several libraries that seem to do a similar concept, run a bash script when I cd into a directory direnv is the one that I chose to use, but you can likely do the same concept in other ones. Installation # direnv is in many package repos, or can be installed from binary builds with a one liner. See their installation instructions for more information..envrc # direnv works by executing the contents of known safe files. Here are some o…
3 min read

How I Review Pipeline Code

I have started doing more regular PR’s on my teams Kedro pipelines. I generally take a two phase approach to the review in order to give the reviewee both quick and detailed feedback. What is Kedro initial scan (Phase1) # passing ci Variable Names Antipatterns No commented out code Docsttrings generally make sense Phase1 is typically a quick scan over the PR right within the PR window in my browser. Passing CI # flake8 black isort interrogate pytest build The very first thing that needs to happen is automated CI. We use things like flake8, black, isort, interrogate to ensure that everyone follows generic style guides like pep8. The project does a build within the PR, but no deploy. Variable Names # I strugle really hard to not impose my own opinion into the PR at this point, and sometimes really want to change a lot of variable names. Typically I make sure they don’t grow longer than necessary, too short, misspelled, or inconsistent. I make sure that I can follow the flow without getti…
2 min read

Sample

title subtitle # sub-subtitle # sub-sub-subtitle # sub-sub-sub-subtitle sub-sub-sub-sub-subtitle Glossary # There is a glossary item in vibe coding here and clippy -no-simpy/" class="glossary-term" title=""Clippy no Simpy" is a term coined by Louis Rossmann, when people try to stand up for companies doing scummy things like charging your for features that you...">clippy no simpy. Now you don’t have to manually link to how to create a virtual environment every time you mention virtual environments in any post that needs a virtual environment. Paragraph # Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor Hover me incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim i…
4 min read