At work, I set up convco for automated commit checks and changelog generation with custom/slightly adjusted configuration of conventional commits (types) and changelog template.
How does JPlus handle compile time null checks against Java library interfaces? Does it consider them all nullable and to be handled as nullable?
If nullability information is a type metadata extension for compile-time checking, does that inevitably break on library interfaces when I create both library and consuming app with JPlus?
Think of it as a rounded square with a unique, pleasant shape.
I don't find them pleasant. I find them irritating.
Rounded square makes use of the space it reserves/square-fills. Squircles seem wasteful and confusing. They do not represent any common physical shapes, and waste/discard space they could use. They look like an old CRT.
R1dacted: Investigating Local Censorship in DeepSeek’s R1 Language Model
Quoting from the abstract:
While existing LLMs often implement safeguards to avoid generating harmful or offensive outputs, R1 represents a notable shift—exhibiting censorship-like behavior on politically charged queries. […]
Our findings reveal possible additional censorship integration
likely shaped by design choices during training or alignment,
raising concerns about transparency, bias, and governance in
language model deployment.
When PRs begin with a headline and checklist the GitHub hover-preview becomes useless. When the PR description begins with the summation of the change, it is very useful.
Most of the time I see headlines and check lists in tickets I create or contributions I create PRs for, I feel stifled and like I have to produce something very inefficient or convoluted.
The worst I have seen is when, at work, I had to create bug tickets for a new system in a service desk to a third party, and they had a very excessive, guided, formalized submission form [for dumb users]. More than once, I wrote the exact same thing three times into three separate text boxes that required input. (Something like "describe what is wrong", "describe what happens", "describe how to reproduce".) Something that I could have described well, concise, fully and correctly in one or two sentences or paragraphs became an excessively spread, formalized mess. I'm certainly not your average end user, but man that annoyed me. And the response of "we found this necessary" was certainly not for my kind of users, maybe not even experience with IT personnel.
At work, I'm glad I have a small and close enough team where I can guide colleagues and new team members into good or at least decent practice.
Checklists can be a good thing, if processes can be formalized, can serve as guidance for the developer, and proof of consideration for the reviewer. At the same time, they can feel inappropriate and like noise in other cases.
I've been using horizontal line separators to separate description from test description and aside/scoping/wider context and considerations - maybe I will start adding headlines on those to be more explicit.
I use GitLab diffs in single-file-view mode, TortoiseGit Merge when it exceeds what GitLab can reasonably display (including block indent changes I can ignore in TortoiseGit Merge or moves I can better track), and WinMerge (previously I used KDiff) for manual copy-paste text diffing (like copying blocks from the code change diff to compare similar, categorically similar code, or code moves, etc)
These terms included affirming the statement that we 'do not, and will not during the term of this financial assistance award, operate any programs that advance or promote DEI [diversity, equity, and inclusion], or discriminatory equity ideology in violation of Federal anti-discrimination laws,'
Insane. I can't even fathom adding such a condition. And to a well established org with a positive track record.
Toxic offer. Wouldn't even be able to say that inclusivity is a good thing.
Dependency injection has significant upsides, but the indirection also has significant downsides for direct readability and traceability. Suddenly, you separated definition and call into distanced registration and use, with magic indirection that may or may not use various lifetime behaviors or proxying and wrapping or later replacement on types.
I've tried reading (and fixing) a library that made excessive use of DI, and it was very hard to follow or get into.
I created a Nushell plugin in Rust that merely converts between Nushell and BSON data formats.
It works, but I still have a fundamental lack of understanding of the magic abstract generalized data transformation framework/interface.
I wish there were fewer magic conversions and transformations, and less required knowledge of them and calling or knowing the correct ones. Magic traits leading to magic conversions for magic reasons. Or something.
Yes, living without any PC at all is possible.