[-] Kissaki@programming.dev 12 points 4 hours ago

Anything is better than nothing.

Go and Zig are serious languages. Go is especially established and has a big ecosystem and capabilities. You could stick with Go forever if you don't want to expand afterwards.

Starting 'simpler' is better because it gives you successes. It keeps you going.

[-] Kissaki@programming.dev 2 points 1 day ago

The developer used AI and it introduced bugs and that was bad for people.

Was it the AI that introduced bugs, or them, while working with AI there or in other parts?
Would the bugs not have occurred if they made the changes without AI?
Would they have made any changes without AI? Would we be better off without changes for security robustness?

You make it sound like a direct correlation. Having read their response, that seems like an assumption without reasonable foundation.

Changes always have a risk of introducing bugs.
I'm no friend of using AI without the necessariy expertise, but from their response, they seem to have taken a very thorough, reasonable approach, and they seem to have the expertise to do so.

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

I don't know the degree to that, but bugs do happen occasionally either way as long as there are changes. In the article, they explain why the changes are necessary. Prioritizing security over no-change-stability seems reasonable and warranted.

[-] Kissaki@programming.dev 3 points 2 days ago

This reasoning assumes any LLM-assisted change is faulty, right?

The linked article doesn't make me concerned. They seem to have the expertise, seem to apply due diligence and good practice around (selectively) using LLM.

Can people not directly involved in and working on the project assess the risks well? Do we not have to depend on author and project leadership expertise just like we had to before with any parts of development, management, and tool and infrastructure use?

I haven't looked up the original communication or drama, but I assume communication could have been much better. Maybe the commits didn't say much about the reasoning and due diligence that they describe in this article? Other than that, how can you make a better judgment about the changes than them without taking a thorough look and assessment?

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

Have you read the linked article? They explain how they used AI. It's not like AI produced the code and that's it.

They also explain about this version and the next minor version.

[-] Kissaki@programming.dev 11 points 2 days ago

In your eyes, is all AI-produced text and code slop? Or did you check on the Python tests they designed and implemented with the help of AI, and after analysis of that, you came to the conclusion that it's slop (as in nonsensical, incoherent, faulty, or similar)?

[-] Kissaki@programming.dev 7 points 2 days ago

Is that your assumption given that they're using AI? Because it's not at all what I have taken away from their article.

Is "not properly maintained anymore" your interpretation of them using AI? Or what do you base that on?

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

I have no idea. That was a long time ago.

/edit:

the origin stories of Fedora contributors – the moments that brought people into this project and kept them here

I guess, OP at least, is only about Fedora.

[-] Kissaki@programming.dev 2 points 3 days ago

Was the second commitment cleanup?

[-] Kissaki@programming.dev 6 points 3 days ago

I didn't get that feeling at all. They didn't make any such claims or used such wordings which I often see elsewhere.

[-] Kissaki@programming.dev 87 points 3 days ago

Also, nobody actually knows if human intelligence is just finer grained stochastic prediction as well.

An interesting but valid argument. It doesn't make AI better than it is, but any human contribution and change can and often is also faulty. People have gaps of knowledge, sometimes unwarranted confidence, other times lack of care, or just miss things. It's not like we're comparing the perfect human vs faulty AI.

If you don’t mind the security risk then you can of course use an older release.

I haven't read the original rage/drama but I can imagine if from other drama instances.

This post is certainly a good, founded response.

There's some valid concerns in AI usage, but unwarranted or inappropriate harsh criticism when it's an established trusted developer and engineer - if we assumed good practice before then we could assume continued good practice. Maybe LLM is one point of increasing skepticism, but criticism should be open, respectful, and fair.

They invested a lot of time and effort into a public good project. In that context, they deserve at least respectful and non-worst-assumptuous criticism.

8
6
[-] Kissaki@programming.dev 4 points 4 days ago

"found your profile", as in, supposedly personalized, but the email is "tracked with Mailsuite" with an opt out link, indicating mass sending. Already suspicious.

From the description I broadly had a suspicion which was confirmed by the reply. They want you to be the employee or contractor and act as the face and communicator, while in an undisclosed matter, hidden from the employer, it's not you doing the work but them. It's a scam.

It's an impersonation scam that recently became somewhat popular. I don't remember where I've seen or read about it. Either some article(s) or YouTube.

10

GitHub issue [COMPROMISED] v2.6 Linux Ubuntu and AppImage release assets have been replaced (SOLVED, now restored) #1911

rentry doc (dunno publisher)

It has come to our attention that from 6th May to today (12th May) the AppImage and Ubuntu zip assets of Cemu 2.6 on our github were compromised by a pro-Russian threat actor.
If you are a Windows or MacOS user you are not affected. If you are a flatpak user you are also not affected.

This means that downstream projects like EmuDeck, which downloads and installs Cemu directly from GitHub Releases was also affected.

10
submitted 1 month ago* (last edited 1 month ago) by Kissaki@programming.dev to c/opensource@programming.dev

Syntax Highlighting

Edit v2 adds the Lightweight Syntax Highlighter. It has a ~40kB footprint for a dozen languages plus runtime, barely grows with each language added, and runs at >100MB/s.

The highlighter is based on a simple programming language that combines regular expressions with explicit control flow. It's designed such that the runtime can be easily ported to other languages, including JavaScript.

From 1.2.1 to 2.0.0, the edit binary size increased from 267 to 330 kB for win exe and 217 to 300 kB for linux binary.

What is edit? README intro:

A simple editor for simple needs.

This editor pays homage to the classic MS-DOS Editor, but with a modern interface and input controls similar to VS Code. The goal is to provide an accessible editor that even users largely unfamiliar with terminals can easily use.

20
Simplest hash functions (purplesyringa.moe)
19

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).

12

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.

14

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

2
Delve - Fake Compliance as a Service (deepdelver.substack.com)
20

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.

14
submitted 3 months ago* (last edited 3 months ago) by Kissaki@programming.dev to c/programming_languages@programming.dev

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.

17

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 ›

Kissaki

joined 3 years ago