stop running code on your computer
In this video CJ explains basic secure code isolation concepts and shows tools you can use to limit the blast radius of infected codebases.
00:00 - Intro
02:03 - The Blast Radius
02:59 - Security Concept 1: Principle of Least Privilege
03:27 - Security Concept 2: Egress Filtering
04:06 - Security Concept 3: Ephemeral Environments
04:21 - Securty Concept 4: Defense in Depth
04:52 - Containerization
05:51 - Dev Containers
06:32 - Virtual Machines
07:11 - GUI VM Apps
07:57 - Docker sandbox
08:28 - Lima / Colima
08:46 - Full Seperation - VPS / Cloud Environments
09:42 - Github Codespaces / coder.com
10:08 - Paranoid
10:20 - Seperate Development Laptop
10:46 - Live OS
11:24 - Air Gapped Development
11:54 - Recap
This Linux command is Really Useful! `pv` aka Pipe Viewer
pv: https://www.ivarch.com/programs/pv.shtml
- $ whoami
Yo what's up everyone my name's dave and you suck at programming! Connect with me on my socials below and if you're reading this you're legally required to subscribe to my channel.
The hierarchy of competence ・ Hardik Pandya
Nine stages of how people operate at work, in order, where the critical job it removes from your manager's plate measures each one.
Read the nine stages again as a list of things your manager no longer has to do: check the work, hunt for the fat in it, coordinate it, track it, worry about future risk, own the outcome, map what happens downstream, decide what matters most, and set the goals in the first place. By the top there’s exactly one job left between the two of you, and it’s agreeing on where you’re both headed.
All About Test2 ~ Chad Granum ~ TPRC 2026
#tprc #perl #raku #programming #techtalk #test2 #testing
I will go over recent changes to Test2, like the introduction of Test2::V1. I will explain where Test2::Harness (Yath) is, and where it is going. and I will give a primer on what Test2 is able to do.
- Add tools to Test2:V1
- Getopt::Yath - might be a better getopt?
- ~8:30 - Chad used AI to test out six different architectures quickly!
- ~11:15 - zst compression in pipes between processes makes a difference!
Applied "Software Engineering at Google" - by Addy Osmani
Practices worth adopting for other organizations
- Cultivating a comprehensive testing culture
Google's "Beyoncé Rule" ("If you liked it, you should have put a test on it") is catchy, but the real takeaway is a deep commitment to developer-driven automated testing.
-
Establishing effective code review processes
-
Prioritizing comprehensive documentation
-
Fostering a culture of knowledge sharing[3][4]
-
Implementing disciplined dependency management
-
Strategically managing technical debt
-
Leveraging AI in software engineering: Google's approach
The Hard Thing About Software Development
July 12, 2017
As a Software Development Manager, I have a devil of a time trying to find experienced Software Developers, so the post got me thinking. How can there be this tech talent drought, while the number of remote developers offering their services online continues to grow?
"The hard part isn't the technology — the number one failure of the software industry is building the wrong product."
"The most valuable asset in the software industry is the synthesis of programming skill and deep context in the business problem domain, in one skull."
Not so much. At the outset, a business problem might appear simple, or only somewhat complex. You might think you have a handle on all the caveats and corner cases. But the average person who hasn't programmed extensively doesn't appreciate the level of detail and explicitness that computers require to do absolutely anything. Every behavior must be dictated with excruciating specificity. And your plan for how users will interact with the system will likely get thrown out and redrawn from scratch dozens of times before you have a minimum viable product.
Most of the time is spent thinking and communicating about a virtually endless number of micro-problems that seemingly emerge out of nowhere, and constitute the real territory between the technology and the business problem. Part of traversing this landscape of micro-problems is inventing, communicating, and internalizing a plethora of named and unnamed abstractions. It is the only way to break down the complexity so you can grapple with it.
Use v5.20 subroutine signatures – The Effective Perler
If you declare use v5.36; (or a later version, like v5.38 or v5.40) at the top of your script, subroutine signatures are enabled automatically, and you no longer need to suppress any warnings.
A collection of (mostly) technical things every software developer should know about | mtdvio/every-programmer-should-know | GitHub
A collection of (mostly) technical things every software developer should know about - mtdvio/every-programmer-should-know
Quality in the Age of Slop
This blog post is very long and almost entirely about the 1974 bestseller Zen and the Art of Motorcycle Maintenance by Robert M. Pirsig. It is also about AI—there will be some juicy takes, pinky swear—but those familiar with ZAMM should consider themselves warned.
Four design principles I use every day to avoid bad UX
adam@adamsilver.io - email 2026.03.11
Principle #1: Good design works for everyone
There are many reasons for this principle but my favourite is that designing for a minority makes things better for everyone.
- Large radio buttons don’t just help people with motor impairments; everyone finds them easier to click
Principle #2: Good design makes things obvious
Principle #3: Good design puts users in control
Expect users to get interrupted. People prefer to interact in different ways. And we should design for both an idealised work flow as well as when things don’t go to plan.
Principle #4: Good design is lightweight
Design Systems for Software Engineers
A comprehensive guide to design system engineering (DSE): when it’s relevant, how AI changes things, and pointers for getting started. From Michael Abernethy, Principal Frontend Engineer at Rubrik
The O(n^2) Bug That Looked Like Clean Code - Kitmul
Five production-breaking patterns where quadratic complexity hides behind readable, idiomatic JavaScript. Why .find() inside .map() passes code review and fails at scale; and the one-line fixes that drop O(n^2) to O(n).
- Pattern 1: The innocent .includes() inside .filter()
- Pattern 2: Deduplication by comparison
- Pattern 3: The cascading .map().filter().map()
- Pattern 4: The recursive tree flattener
- Pattern 5: The SQL query in a loop (the N+1 problem)
JWT with Dancer2 | May 2026 | The Weekly Challenge
Stateless (JWT)
How it works:
User logs in, server creates a JWT containing user data
Server signs the JWT with a secret key
Server sends JWT to client
Client sends JWT with every request
Server verifies the signature and trusts the data inside
Why it scales:
Any server can validate a JWT using the shared secret key
No database lookup needed per request
If you add 100 more servers, they all work immediately
Big O Notation | May 2026 | The Weekly Challenge
Today, I will focus mostly on Time Complexity from the Perl point of view.
- O(1) - Constant Time
- O(n) - Linear Time
- O(log n) - Logarithmic Time
- O(n ^ 2) - Quadratic Time
- O(n log n) - Linearithmic Time
- O(sqrt n) - Square Root Time
- O(n ^ 3) - Cube Time
- O(2 ^ n) - Exponential Time
- O(n!) - Factorial Time
Oliver - 100 Useful Command-Line Utilities
100 Useful Command-Line Utilities
A Guide to 100 (ish) Useful Commands
How to Build an Agent
Building a fully functional, code-editing agent in less than 400 lines.
The Four Fundamental Principles ofHuman-Centered Design and Application – Don Norman's JND.org
Human-centered design has four major principles:
- Understand and Address the Core Problems;
- Be People-Centered;
- Use a Systems Approach;
- Use Rapid Iterations of Prototyping and Testing.
Chandra: Cross-Platform Desktop GUIs in Perl - DEV Community
Building desktop applications has traditionally been a challenge in the Perl ecosystem. While we have... Tagged with perl, c, xs, programming.
Beautiful Perl feature: "heredocs", multi-line strings embedded in source code
A piece of "heredoc" data can appear anywhere in a Perl expression. It starts with an initial operator written either << or <<~. The second variant with an added tilde ~, available since Perl v5.26, introduces an indented heredoc, where initial spaces on the left of each line are automatically removed by the interpreter.
Empty string as delimiter
The delimiter string can also be .. an empty string! In that case the heredoc content ends at the next empty line; this is an elegant way to minimize noise around the data.
Several heredocs can start on the same line, as in this example:
my @blogs = $dbh->selectall_array(<<~END_OF_SQL, {}, split(/\n/, <<~END_OF_BIND_VALUES));
Shell Tricks That Actually Make Life Easier (And Save Your Sanity) | Larvitz Blog
Watch someone backspace 40 characters instead of pressing CTRL+W, and you’ll understand why this list exists.
Hacker News:
https://news.ycombinator.com/item?id=47525243