I've built quite a few projects from 0 -> business over the last 20 years, and I think the fundamentals are still true today.
First rule: if you're building the product solo, is it something you're the target user of? I've always felt like the biggest "cheat code" for building successful products is just making them for people like you. I know that goes against a lot of lean startup methodology (talk to users, etc.), but it has always worked in my experience. Use your unique domain knowledge to make something meaningfully better, cheaper, more accessible/simple than the competition.
Second rule: marketing is important. Almost all the things I've built are developer services, so to get user feedback and early traction, I'd submit to go speak at the local meetup groups in my area, talk about the tech stuff I worked on as part of the product, then give people a free shirt if they'd give me some in-person feedback after the event. I made some good friends that way (hello, SoCal Pythonistas!), and also made meaningful product growth. Don't be a shill, just genuinely nerd out about the things you're doing in an authentic way. People like that.
Third rule: write well. Don't use LLMs to spam blog content that's low quality about your product. Write about it yourself. Show examples, highlight features. Don't use marketing words, use simple descriptions.
One question I have on the `tool boundary` methodology -- does this penalize a skill for having any sort of scripts/ embedded? I've found it really helpful to take larger skills, like ones I've built at Snyk which handle data processing, and encode the process in the SKILL.md, but also ship it with python/go code in scripts/ to deterministically handle a lot of data validation/etc. For data analysis skills I feel like it's really hard to just encode teaching logic without costing a fortune in inference.
Good post, breaks down the threat models really well. =)
One small note, I think there may be a small issue in one of the code blocks explaining the client key:
> cache_namespace = tenant_id || client_secret
I believe that should say `tenant_id + client_secret`, ya? To append them together? If you OR them out it'll default to the `tenant_id`, which isn't what you want in this case, I believe.
=0 I stumbled across this post and was thinking that it's interesting to see this topic trending now, since I've done a lot of work on it in the past. Then I clicked through and realized the author is linking to some of my stuff! What a blast from the past.
Anyhow, there are way smarter people than myself who have covered this topic extensively over the years, but I still think that, even in 2026, JWTs are the wrong tools for web auth. They're fine to use for service-to-service stuff, but if you have the option, just use PASETO -- it solves a lot of the issues!
> Yes US citizens that are putting themselves in a situation they shouldn’t have been in to begin with while threatening and provoking a violent reaction.
This is not at all true. Plus, it's inconsequential -- ICE agents have no authority over US citizens except in extremely limited circumstances (https://www.perplexity.ai/search/9f4518c4-8a32-474a-bd92-3f1...), and even if they did, being able to arrest someone, file charges, and work their way through the justice system is the answer... Not killing people on the streets.
Throwaway accounts and more propaganda isn’t proof of anything. I think it’s pretty clear that untrained, unaccountable armed people who have already killed multiple US citizens that they have no jurisdiction over is a real-world worry that people have.
It’s silly to dismiss rational, logic-based worry as “propaganda”.
Straight white US citizen male here. This scares the shit out of me. I travel for work all the time, but understanding that we will now have barely trained, and in many cases completely lawless, consequence-free federal officers in direct, high stress, public areas where lots of people are constantly passing through seems like an absolute recipe for tragedy.
This will 100% make me reconsider travel and avoid airports with ICE agents. I think the writing on the wall is clear, nobody is safe.
This is such a great idea. When I'm building net-new projects, I typically end up working with the AI assistant to build a comprehensive AGENTS.md as the first thing before any work gets done: specify tools, dependencies, architecture requirements, style, etc.
I end up getting way better quality.
The same is true for existing projects, but it always takes a whole lot longer as I'm typically chatting with my AI assistant to figure out what conventions are there that I forgot, etc., before building an AGENTS.md to make future changes simpler.
He also taught me networking in C in the early 2000's! A few years ago I moved from the Bay Area up to Bend, Oregon and ended up running into him in-person at one of the tech meetups.
I was so floored to meet him in person, and as you'd probably imagine, he's super kind and relaxed =D
A++ human being who's contributed so much to our field.
I believe one of the main differences is that our scanner looks for toxic flows between mcp endpoints regarding how they interact with one another. Unless I'm missing something, the Cisco tool does not support this.
Our research lab discovered this novel threat back in July: https://invariantlabs.ai/blog/toxic-flow-analysis and built the tooling around it. This is an extremely common type of issue that many people don't realize (basically, when you are using multiple MCP servers that individually are safe, but together can cause issues).
At Snyk, we've been working on this for a while. Here's our flagship open source project consolidating a lot of the MCP risk factors we've discovered over the last year or so into actionable info: https://github.com/invariantlabs-ai/mcp-scan
Here's a better option -- what we've been working on at Snyk.
- Take something like Cursor and plug the Snyk MCP server into it: https://docs.snyk.io/integrations/developer-guardrails-for-a... (it has a one-click install)
- Then, either within your project or via global settings, create some human-language rules for your AI code editor to use (this works basically the same between all editors: Claude Code, Cursor, Windsurf, etc...)
For example, a rule might state:
"If you add or change any code, run a Snyk Code scan on the modified files then fix the detected vulnerabilities. When you're done fixing them, perform another scan to ensure they're fixed, and if not, keep iterating until the code is secure."
Obviously, there are other rules you can use here, such as using Snyk's open source dependency testing to identify vulns in third-party dependencies and handle package updates/rewrites/etc., but you get the idea.
This works insanely well -- I've been playing around with it for a while now and we're getting close to rolling this out to all of our users in a major way =)
The best part about it is that you can just "vibe code" whatever you want, and you get really accurate static analysis security testing incorporated by default automagically.
I recorded a little video here that walks through this in-depth (https://www.youtube.com/watch?v=hQtgR1lTPYI), if you want to see the part I'm referencing, jump to 20:09 =)
Great article. This may be my all-time favorite deep dive post on RAG strategies.
It’s super interesting to me how the process of fully making audio/video searchable requires so much processing. Like, extracting the audio and video, transcribing the audio, chunking the video into 15-sec scenes and describing them visually, etc.
I wonder if as a test you could use the video descriptions, run them as a prompt through something like Veo, then stitch them together into something close to the original. Wild.
I wasn't sure if I should post this or not, but if you ever met Michael you probably remember him. He was a kind soul and helped grow the Python developer community in LA for well over a decade.
In addition to being an excellent engineer and human, Michael was also the definition of a hacker. It feels suitable to share the news here.
He was an incredible person and touched many lives. If you ever got to meet him (in person or online), please share your experiences on his in memoriam page.
Ragie (a RAG company) published an interactive chatbot that lets you ask questions about the JFK files. It’s pretty interesting, they had to do a lot of OCR on old docs to get it to a usable state.
The way XML digital signatures work is so weird. This routinely comes up year-after-year. When I was working at Okta this also resulted in a number of annoying breaches, including this one: https://developer.okta.com/blog/2018/02/27/a-breakdown-of-th...
Socials: - github.com/rdegges - linkedin.com/in/rdegges - reddit.com/user/rdegges - instagram.com/randalldegges - https://bsky.app/profile/rdegges.com
---
I'm just a happy programmer that likes to hack stuff.
You can contact me via my site: https://www.rdegges.com/ or via email [email protected]