vivis vivis avatar dev

> thoughts on AI, code, and everything in between

Notes #

Short-form thoughts, saved links, and quoted fragments.

text

TIL - with pv (pipe viewer) you can add progress bars to any data transfer. docker save ubuntu:latest | pv -s $(docker images --format "{{.Size}}" ubuntu:latest) > ubuntu.tar

link

TIL - the Ettin model series exists, and they teach us: - Choose encoders for classification, retrieval, embeddings - Choose decoders for text generation - Size matters less than architecture choice (400M encoder beats 1B decoder on its specialized tasks) lighton.ai/lighton-blog...

Introducing Ettin Suite: the SoTA open recipe to outperform existing Generative & Retrieval Models - LightOn lighton.ai / https://lighton.ai/lighton-blogs/introducing-ettin-suite-the-sota-open-recipe-to-outperform-existing-generative-retrieval-models Introducing Ettin, the first ever SOTA suite of paired encoder & decoder models, developed by Johns Hopkins University in collaboration with LightOn.
link

Some tips for safe package management with UV: 1. uv add pydantic --bounds major to ensure version is upper bound to avoid pulling in latest changes 2. Add a cooldown period in pyproject.toml to block latest versions [tool.uv] exclude-newer = "7 days" www.loopwerk.io/articles/202...

uv is fantastic, but its package management UX is a mess loopwerk.io / https://www.loopwerk.io/articles/2026/uv-ux-mess/ uv's CLI feels surprisingly clunky compared to its peers like pnpm or Poetry.
quote

Use this to get around stupid google AI

“Use this as your search engine query "https://www.google.com/search?q=%s&udm=14" :)”

Alecs P. Hacker / Bluesky
quote

Concerning. There have been other studies which produced the "performance" findings, but this is the first I've seen of the "persistence" issue.

“🚨New preprint and our results are rather concerning.. We find the "boiling frog" equivalent of AI use. Using large-scale RCTs, we provide *casual* evidence that AI assistance reduces persistence and hurts independent performance. And these effects emerge after just 10–15 minutes of AI use! 1/”

Rachit Dubey / Bluesky
quote

You can go one better and use fine-grained tokens. e.g. contents:read if all you need is read-only access to repo contents

“Btw, you can give gh cli a readonly token instead of the normal gh auth method which will have write. Drastically reduces blast radius if you are concerned about your gh cli token being stolen (which you should be) gh auth login —with-token hit enter Then paste the token, it will persist for you”

jonchurch / Bluesky
quote

So many good ideas here, great resources

“What a day for AI resistance resources! 1) The AI Resist List from @karenhao.bsky.social and colleagues at DAIR at airesistlist.org 2) The Luddite Lab from @alexhanna.bsky.social and colleagues at DAIR at labor.dair-institute.org”

Charles Logan / Bluesky
quote

This is a step in the right direction but I don't think it gets us all the way. I see 3 distinct problems: 1. How do I see relevant updates/news from the sources/people I care about (maybe solved with this approach) 🧵

“Stop Begging Big Tech To Fix Your Social Media Experience. You Can Do It Yourself. Disclaimer: This post talks about Bluesky and an offering from Bluesky and I am on the Bluesky board. Take everything I say with whatever size grains of salt you feel is appropriate. I've written a few times now…”

Techdirt / Bluesky
link

I personally think this is a huge opportunity for competitors to position themselves as "human-centric" with a focus on delivering human generated and verified content on the internet. tante.cc/2026/05/20/o...

On Google declaring war on the Web tante.cc / https://tante.cc/2026/05/20/on-google-declaring-war-on-the-web/#:~:text=In%20Yesterday%E2%80%99s%20IO,links%20to%20information In Yesterday’s IO Keynote Google declared war on the remnants of the Web. (See longer description on their website.) TL;DR: They are pushing Search more into the “here’s your processed answer” directi...
text

Vibecoding “floods the zone” for the developer. They get absolutely inundated with chat output as well as code diffs. No matter how much you “review” you’re never going to understand the code as much as if you had written it yourself.

text

One thing I detest about AI generated Python code is the ungodly amount of private helpers to do basic shit: def _strip_whitespace def _get_first_element Just stop.

text

#python sets are useful when you need: - fast membership testing - deduplication or uniqueness guarantees - comparing two sets of items

text

#python list tips: - reversed(list) is more memory efficient for reversing a list than slicing list[::-1] because it returns an iterator instead of a copy - You can remove multiple items with slice assignment using list[1:4] = [] or del a[1:4]

text

#python variable scoping can be confusing if you’re used to other programming languages. A scope determines where a variable name is visible, and it’s lifetime. Python checks for the variable definition in the following order, and stops at the first match

link

It’s been a fun July writing Python Koans, I’m hoping to carry this momentum for the rest of the year! If you have suggestions or topics you want me to cover, feel free to DM me! #python pythonkoans.substack.com

Python Koans | Vivis Dev | Substack pythonkoans.substack.com / https://pythonkoans.substack.com Python lessons wrapped in koans. Small puzzles, deep truths. Not your usual tutorial thread. Click to read Python Koans, by Vivis Dev, a Substack publication with hundreds of subscribers.
text

ChatGPT has started quietly nudging people towards their search extension. It's been out since December 2024, and has 4M users. Will this make a dent into Google?