They take something like “please sort your imports. We agreed to use isort last week” as a personal attack.
I would take this personally as well, to be honest. Using isort over Ruff? Blasphemy.
They take something like “please sort your imports. We agreed to use isort last week” as a personal attack.
I would take this personally as well, to be honest. Using isort over Ruff? Blasphemy.


Is that little Bobby Tables? I guess he’d be grown up now, but he’ll always be little to me.
We have #5, but some (non-breaking) feedback can still be deferred to a future follow up issue.
This is usually my preferred option, but usually i differentiate between blocking and non-blocking feedback in my reviews. Non-blocking is some improvement that can be made, but is not necessary, like cleaning up some (tangentially-related) code. Blocking is anything that is logically incorrect, unreadable, uses deprecated features unnecessarily, etc.
Yes, it’s necessary. Even if everyone writes perfect, bug-free code, people learn from code reviews.


Windows 11 is getting a few nice changes. The problem is I’m on Linux now. I’m not going back unless it becomes better than Linux by enough to make me bother switching again.


The list of countries that could be is shockingly long. In this case, it seems likely to be Singapore, at least based on the post.


As someone with fat fingers and autocorrect disabled, I wish I had 22 wpm with high accuracy.
And before you suggest autocorrect, I use a lot of acronyms and jargon that autocorrect often fails at. It gets annoying enough that I’d rather just type stuff out myself.


I’ve mentioned the long-term effects I see at work in several places, but all I can say is be very careful how you use it. The parts of our codebase that are almost entirely AI written are unreadable garbage and a complete clusterfuck of coding paradigms. It’s bad enough that I’ve said straight to my manager’s face that I’d be embarassed to ship this to production (and yes I await my pink slip).
As a tool, it can help explain code, it can help find places where things are being done, and it can even suggest ways to clean up code. However, those are all things you’ll also learn over time as you gather more and more experience, and it acts more as a crutch here because you spend less time learning the code you’re working with as a result.
I recommend maintaining exceptional skepticism with all code it generates. Claude is very good at producing pretty code. That code is often deceptive, and I’ve seen even Opus hallucinate fields, generate useless tests, and misuse language/library features to solve a task.


If you’re interested in more DDoS-style attacks, Cloudflare has an article that goes over the topic as a whole as well as in-depth topics for different common attacks. They also have reports that cover the kinds of DDoS attacks they’ve seen through their servers. You’ll notice they mention SYN floods as one of the attacks they commonly see. Amplification attacks have also risen in popularity, generally speaking, where the request gets amplified by vulnerable DNS/NTP/etc servers.
OWASP is an excellent learning resource as well, and covers many different topics in-depth around web security.
Okay wow, let’s break this down…
CSRFProtect(app) enables protections globally. Consider removing that call if you want to disable CSRF protection. Alternatively, @csrf.exempt can disable protection on a view, and setting WTF_CSRF_CHECK_DEFAULT to False disables it by default on all views (and you can selectively enable it per-view).Pros: leadership wants to do your job. Chill out, let them do it, then laugh at them when it fails. You’ll at least have a relaxing job up until they either fire you in their idiotic confidence or beg you for help.
Cons:
it’s managed to blow up and nuke production
You know, I remember reading a similar story about AWS recently…


Cook time: 1 minute
Ingredients:
Directions: Peel the banana monkey style (from the bottom, not from the stem). Use your finger to put a hole through the center of the muffin. Insert the banana into the muffin. Enjoy warm.
By which I mean maybe the author enjoys different parts of coding than you do.
It seems to me like the part of coding the author enjoys least is coding.
Trying to wrangle AI into writing something decent is generally an exercise in frustration for me.
This is my issue with it. The output of these tools, unchecked, evolves into something abysmal over time. I find it quicker to just rewrite the output than to try to prompt it over and over again to produce something good.


Rust would be more efficient. Hand written assembly would be more efficient. Using butterflies to manually flip bits in the memory would be more efficient.
OP wanted to use Python. It’s not a very large program. It really doesn’t matter.


The high-level directory structure looks reasonable, but every language and build tool has its own recommended structure that people should use instead. For example, by default, cargo looks for a src/main.rs or src/lib.rs as an entrypoint. uv expects one of a couple different project structures before you need to touch the pyproject.toml. C# will create namespaces for each of these nested subdirectories if you don’t carefully configure it in your .csproj file. And so on.
It’s best to just use whatever’s recommended for your environment by your tools. Maybe this directory structure works well for Guile Scheme, but I wouldn’t touch it at all if I were writing Rust.


What happens when you import an library written in another language, and one of the functions is a reserved keyword in your language?
This is already possible in Rust. You can import libraries written with different editions, and there are different reserved keywords across editions.
The compiler just looks at what language the library was written in and switches internally based on that.
In my C and C++ example, you’d pass different flags for that library during build time, although I’m not sure how this would work for header-only libraries.
Edit: I see your reserved keywords example is an issue, and I raise you raw identifiers (r in Rust, @if in C#, etc)
How would collaboration between people with different native languages work?
Same way it currently does? It’s not like everyone who writes code knows English, but somehow they can all write it despite the keywords being in English.
Who makes sure all language variant have equally good educational resources?
The community around that programming language would be responsible for this, would it not? This is already a thing people do, though it’s impossible to translate all educational resources that exist into all languages. Fortunately we have services that can translate things for us though.
There’s a reason why lingua francas change over time but always exist, and forgetting that will do more harm than good.
It would do no harm here. People already write code in many languages. In most popular programming languages, you can already name things in Korean, French, Russian, and so on. Documentation for the languages exist already in all those languages. There is literally only one thing that would change: the keywords. It’s really not that complicated.


This might seem like an obvious question, but wouldn’t it be more effective for the README to be in Korean? Not that having it in English too is a bad thing, but people interested in a language with Korean keywords probably can read Korean more comfortably than English (if they can read English at all).
Anyway, I don’t really see why PLs that support UTF-8 idents can’t just reserve multiple aliases in different languages for their keywords. Rust is mentioned here, so I’ll use that as an example, but Rust could just add a language field to Cargo.toml next to edition that defaults to English (which is what Rust currently uses), and that wouldn’t even need a new edition as far as I’m aware. C# could do a field in the csproj file, C and C++ can use compiler flags, and so on.


One time, my mother-in-law answered a phone on speaker in a bar. It was from her boss.
“I just killed someone” came out of that speaker in a voice that sounded like he was going to cry.
I don’t think she has put it on speaker since then.


I hate her. She has the worst initials.
Also, she’s generally a bad person, but that’s irrelevant.
This is neat! It might be useful to turn this into more of a CLI utility by having a mode for accepting some Gregorian date via stdin or CLI option, and outputting a parseable format for the Symmetry454 date via stdout. I’d recommend looking at the
argparsemodule if you’re interested, though there are some third party packages that can make it even easier to parse program arguments.