Kissaki

joined 2 years ago
MODERATOR OF
[–] Kissaki@programming.dev 1 points 1 hour ago

I knew - bait title

[–] Kissaki@programming.dev 1 points 1 hour ago

The (A)GPLv3 makes it clear that it permits all licensees to remove any additional terms that are "further restrictions" under the (A)GPLv3. It states, "[i]f the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term."

Interesting, and quite clear.

The whole response is very good, reasonable, and direct.

I'm interested to see what OnlyOffice will do. Maybe they'll relicense their whole product, leading to a community fork under AGPL.

[–] Kissaki@programming.dev 1 points 1 hour ago* (last edited 1 hour ago)

Cooperation and sharing performs significantly better for collective gains. This applies to all kinds of concepts. Science, public infrastructure, common goods, common resources, governance, trade agreements, EU, medicine, software…

Where it becomes problematic is when parties reap gains without participating. Using science to develop products and gain further knowledge without sharing them, using public infrastructure without paying taxes, using common infrastructure and frameworks without committing to them, nationalism, monopolies on medicine, proprietary software and platforms that are not cooperative…

Much of our transformation and development speed and gains in the last century has been in a framework of cooperation. In the current global politics, we can see and imagine what rejecting cooperation could lead to and where it could lead us to.

FOSS is great for the same reasons as other forms of cooperation: Collective gains.

Unfortunately, we have not solved the issue of beneficiaries that don't actively participate and contribute yet.

In patent law, you publish your findings and get a timespan of authoritative use and control but at the same time commit to it being publicly accessible and at some point usable. Some software licenses attempt to do the same.

In music licensing, there's frameworks for collective licensing.

Some frameworks use centralized/government regulation and prosecution to ensure play-fair systems. (To varying degrees and success, obviously.)

I get where you're coming from, but I disagree [with disliking the software freedom]. The upsides and collective gains of software freedom are undeniable. Where we need to do and establish more, and some things are happening in some places, is to ensure a positive collaborative environment overall.

[–] Kissaki@programming.dev 2 points 3 hours ago (1 children)

I use Cascadia Code / the NerdFonts extension Caskaydia Code.

Primarily I look for readability, distinguishability. Ligatures are nice, I came to like them. Eligibility on different font sizes and weight/bold and italic, and colors - they must remain very readable and distinguishable.

I'm using the same font (family) for coding and terminal/console.

[–] Kissaki@programming.dev 4 points 3 hours ago (1 children)

Connected strokes in italic style, vivify your code.

That's cool and interesting (you can see it in action and toggle-compare on the linked website)

I wonder how distracting it would be in code, though. If it is, their configurability allows skipping that feature though, which is great.

[–] Kissaki@programming.dev 1 points 2 days ago (1 children)

Is the MVC requirement a lib development dependency to cover MVC use cases, or can I only use it in MVC projects?

Looks like WebApplicationFactory is in the MVC namespace, so I assume this is only for MVC [integration] testing?

 

Corridor Digital released an open-source greenscreen keyer/extractor, powered by AI, usable on consumer GPUs.

The video covers what happened after their initial release, community and professional responses, interviews with professionals about what can be improved, and finally a practical test/example in Davinci (Video Editor).

[–] Kissaki@programming.dev 4 points 3 days ago

Not updating with audit would work if every direct and transient dependency provided security updates for every version. But they don't. Often, security updates are for the most recent version or versions, and if you're far behind, you now have to audit a lot more.

Transient dependencies are an audit problem, too. To audit something, you have to essentially audit recursively. Many libs use many other libs of varied authors.

Our systems are too open, too vulnerable. A build or check being able to access all resources is a fundamental systematic vulnerability.

[–] Kissaki@programming.dev 2 points 4 days ago (1 children)

.net runtime after 10 months of using and measuring where LLMs (including latest Claude models) shine reported a mindboggling success rate peaking at 75% (sic!) for changes of 1-50 LOC size - and it’s for an agentic model (so you give it a prompt, context, etc, and it can run the codebase, compile it, add tests, reason, repeat from any step, etc etc).

I assume this is from https://devblogs.microsoft.com/dotnet/ten-months-with-cca-in-dotnet-runtime/?

[–] Kissaki@programming.dev 1 points 4 days ago (4 children)

Half the cs world does…

What's the basis for this claim? I'm doubtful, but don't have wide data for this.

[–] Kissaki@programming.dev 2 points 4 days ago* (last edited 4 days ago)

They're bash/shell- and bin-dependent commands rather than Git commands. I use Nushell.
Transformed to Nushell commands:

  • The 20 most-changed files in the last year:
    git log --format=format: --name-only --since="1 year ago" | lines | str trim | where (is-not-empty) | uniq --count | sort-by count --reverse | take 20
  • Who Built This:
    git shortlog -sn --no-merges
    git shortlog -sn --no-merges --since="6 months ago"
  • Where Do Bugs Cluster:
    git log -i -E --grep="fix|bug|broken" --name-only --format='' | lines | str trim | where (is-not-empty) | uniq --count | sort-by count --reverse | take 20
  • Is This Project Accelerating or Dying:
    git log --format='%ad' --date=format:'%Y-%m' | lines | str trim | where (is-not-empty) | uniq --count
  • How Often Is the Team Firefighting:
    git log --oneline --since="1 year ago" | find --ignore-case --regex 'revert|hotfix|emergency|rollback'

/edit: Looks like the lines have whitespace or sth. Replaced lines --skip-empty with lines | str trim | where (is-not-empty).

command aliases

def "gits most-changed-files" [] { git log --format=format: --name-only --since="1 year ago" | lines | str trim | where (is-not-empty) | uniq --count | sort-by count --reverse | take 20 }
def "gits who" [] { git shortlog -sn --no-merges }
def "gits who6m" [] { git shortlog -sn --no-merges --since="6 months ago" }
def "gits fixes" [] { git log -i -E --grep="fix|bug|broken" --name-only --format='' | lines | str trim | where (is-not-empty) | uniq --count | sort-by count --reverse | take 20 }
def "gits aliveness" [] { git log --format='%ad' --date=format:'%Y-%m' | lines | str trim | where (is-not-empty) | uniq --count }
def "gits firefighting" [] { git log --oneline --since="1 year ago" | find --ignore-case --regex 'revert|hotfix|emergency|rollback' }

[–] Kissaki@programming.dev 2 points 5 days ago

Given the nature of Steam and previous executed data extraction, I'm scared installing and running niche/indie games now. Windows lacks

A unified GUI framework hasn't happened yet, not between OSes, nor really within each OS ecosystem. I'm not hopeful about leaps in native interoperability in that regard.

Web tech interoperability is so established and widely used, packaging and running those natively seems much more viable than any hope for supposed native long term efforts.

Not everything will be covered by web tech. But for many things, it's already viable, and exploring native integration of these web technologies is interesting.

[–] Kissaki@programming.dev 1 points 5 days ago* (last edited 5 days ago)

Will they ever fix the text contrast on that website/blog? :( Bad accessibility, bad readability.

 

The Ergonomic, Safe and Familiar Evolution of C

C3 is a programming language that builds on the syntax and semantics of the C language, with the goal of evolving it while still retaining familiarity for C programmers.

Thanks to full ABI compatibility with C, it's possible to mix C and C3 in the same project with no effort. As a demonstration, vkQuake was compiled with a small portion of the code converted to C3 and compiled with the c3c compiler.

A simple and straightforward module system that doesn't get in the way, with defaults that makes sense.

 

EYG's type system builds upon a proven mathematical foundation by using row typing.

EYG programs are all independent of the machine they run on. Any interaction with the world outside your program is accomplished via an effect.

Any effect can be intercepted using a handler. This allows the response from the outside world to be replaced.

Other languages have the possiblity of closure serialisation, but EYG's runtime is designed to make them efficient.

Hot code reloading – If you change the code the behaviour will update immediatly if safe.

EYG has a prototyped strongly typed shell environment.

EYG is built to support multiple runtimes. […] In the future EYG will be available in many more places, e.g. arduino, CLI's and IPaaS. EYG makes this easy by having a carefully designed minimal AST.

Code example (from landing page):

let initial = 10
let handle = (state, message) -> !int_add(state, 1)
let render = (count) -> {
  let count = !int_to_string(count)
  !string_append("the total is ", count)
}
{render: render, handle: handle, init: initial}

GitHub Repository, Apache 2.0

 

Attackers compromised Trivy GitHub Actions by force-updating tags to deliver malware, exposing CI/CD secrets across affected pipelines.

Recent updates from the Trivy maintainers confirm that this attack was enabled by a compromised credential with write access to the repository. The incident is a continuation of the earlier March breach, during which credentials were exfiltrated from Trivy’s CI environment. Although secrets and tokens were rotated in response, the rotation process was not fully atomic, and the attacker may have retained access to newly issued credentials. This allowed the threat actor to perform authenticated operations, including force-updating tags, without needing to exploit GitHub itself. While the exact credential used in this phase has not been publicly specified, the root cause is now understood to be residual access from the earlier credential compromise.

trivy.dev:

[Trivy –] The All-in-One Security Scanner

Use Trivy to find vulnerabilities (CVE) & misconfigurations (IaC) across code repositories, binary artifacts, container images, and Kubernetes clusters.

 

Two versions of telnyx (4.87.1 and 4.87.2) published to PyPI on March 27, 2026 contain malicious code injected into telnyx/_client.py. The telnyx package averages over 1 million downloads per month (~30,000/day), making this a high-impact supply chain compromise. The payload downloads a second-stage binary hidden inside WAV audio files from a remote server, then either drops a persistent executable on Windows or harvests credentials on Linux/macOS. Stolen data is encrypted with AES-256-CBC and a hardcoded RSA-4096 public key before exfiltration. The RSA key and operational patterns are identical to the litellm PyPI compromise, attributing this attack to TeamPCP with high confidence.

No PyPI trusted publisher (OIDC) is configured. Trusted publishers bind PyPI uploads to a specific GitHub repository and workflow, making stolen tokens useless outside that context. Without this protection, anyone with the API token can upload any version from any machine.

The most likely scenario is that the PYPI_TOKEN was obtained through a prior credential harvesting operation.

 

About Deno:

Deno is an open-source JavaScript runtime for the modern web. Built on web standards with zero-config TypeScript, unmatched security, and a complete built-in toolchain.

 

Uiua () is a general-purpose array-oriented programming language with a focus on simplicity, beauty, and tacit code.

Uiua lets you write code that is as short as possible while remaining readable, so you can focus on problems rather than ceremony.

The language is not yet stable, as its design space is still being explored. However, it is already quite powerful and fun to use!

Uiua uses special characters for built-in functions that remind you what they do!

⚂ # Random number
⇡8 # Range up to
⇌ 1_2_3_4 # Reverse

cross-posted from: https://programming.dev/post/46403010

Sample with fibonacci:

⍥◡+9∩1 is the fibonacci in this language


Commenter maegul writes on the Programming community post:

I tried to go through the tutorial a year or so ago.

I can’t recall when, but there’s a point at which doing something normal/trivial in an imperative language requires all sorts of weirdness in Uiua. But they try to sell it as especially logical while to me they came off as completely in a cult.

It’s this section, IIRC: https://www.uiua.org/tutorial/More%20Argument%20Manipulation#-planet-notation-

When they declare

And there you have it! A readable syntax juggling lots of values without any names!

For

×⊃(+⊙⋅⋅∘|-⊃⋅⋅∘(×⋅⊙⋅∘)) 1 2 3 4

Which, if you can’t tell, is equivalent to

f(a,b,c,x) = (a+x)(bx-c)

With arguments 1, 2, 3, 4.

I wanted to like this, and have always wanted to learn APL or J (clear influences). But I couldn’t take them seriously after that.

 

The reasons behind this rise of the latency is mainly that systems have become more and more complex and developers often don't know or don't understand each part that can impact the latency.

This website has been made to help developers and consumers better understand the latency issues and how to tackle them.

 

After working on my weird shooter game for 5 years, I realized I'm never going to be finishing this project. In this video I explain why I've decided to quit my game and what is next.

 

From the README:

What is KORE?

KORE is a self-hosting programming language that combines the best ideas from multiple paradigms:

Paradigm Inspiration KORE Implementation
Safety Rust Ownership, borrowing, no null, no data races
Syntax Python Significant whitespace, minimal ceremony
Metaprogramming Lisp Code as data, hygienic macros, DSL-friendly
Compile-Time Zig comptime execution, no separate macro language
Effects Koka/Eff Side effects tracked in the type system
Concurrency Erlang Actor model with message passing
UI/Components React/JSX Native JSX syntax, components, hot reloading
Targets Universal WASM, LLVM native, SPIR-V shaders, Rust transpilation

Example

// Define a function with effect tracking
fn factorial(n: Int) -> Int with Pure:
    match n:
        0 => 1
        _ => n * factorial(n - 1)

// Actors for concurrency
actor Counter:
    var count: Int = 0

    on Increment(n: Int):
        count = count + n

    on GetCount -> Int:
        return count

fn main():
    let result = factorial(5)
    println("5! = " + str(result))
view more: next ›