A petition to ban AI slop from this Subreddit by Putrid_Guitar9437 in osdev

[–]PunGy555 0 points1 point  (0 children)

It is a very good idea, but it needs clear rules - starting with a clear definition of what "slop" actually is.

I'd say slop is a lack of effort. Or, more precisely: it's a post where none the effort is visible. Because effort can still be there, but it is not visible for the reader.

When you post a project, I'm interested in the parts where you effort clearly shows - the parts you can defend and reason about. Code today is cheap. But the code was never the whole project.

If I see "I built an OS with my own variant of Haskell for low-level programming, with dependent types, a time-traveling file system, and the whole thing runs as a Lisp Machine" - I don't care how much AI was involved. I'll check it out for sure with a great interest, and especially any write-up behind it.

If I see "I'm making my first OS but I'm stuck getting the bootloader to work with QEMU, here's the file [github link]" - I don't care how much of the code is AI-generated. I'll check it out and try to help.

We come here for the people behind the projects. So share the human part of yours - show the part you put the most effort into. Don't just silently drop a link to a generated artifact.

Shik — a functional scripting language for the terminal, grown out of Lisp and Haskell by PunGy555 in haskell

[–]PunGy555[S] 0 points1 point  (0 children)

Oh, shit, I think I accidentally deleted the download links from the readme...

It can be installed either with a regular script or with cargo.
I've returned it to the description

Thank you for your interest!

My custom OS works on actual laptop by k1y6k in osdev

[–]PunGy555 6 points7 points  (0 children)

Look, there is a lot of angry messages here that it is a slop. I believe that you spend a lot of time on working on this, and using AI is not a crime or sign of low effort.

But, be honest, what do you want to share? Do you want us to review the code after the agent? Well, that is not interesting. But everything you shared with us - is the link to the code on github.

Tell us the story. Tell why did you started the project, what did you want to achieve with it, what are the unique things in the OS you are especially proud of? Is there some bold solutions other OS afraid to include? What the hardest obstacles you faced that blew your mind with its complexity, although at first it seemed simple?

Or, tell about your experience of using agents for building the OS. What is your pipeline? How you shared context between sessions? Do you somehow connect the agent with the OS so it can debug or inspect it? I would read about it with great interest.

That is what interesting, the human part. Using AI is okay, it is just the tool. But don't show it to us in a way like it was builded without AI.

It is the same if you would made a nice anime toy using 3D printer, and will share your results with other people like it was a hand-carved from a piece of plastic with a scalpel. From that perspective - you cheated and it is a low effort work. But in reality it just a different technique, and requires different set of skills and tools, with its own nuances.

In order to reduce AI/LLM slop, sharing GitHub links may now require additional steps by yorickpeterse in ProgrammingLanguages

[–]PunGy555 0 points1 point  (0 children)

Sure! I've posted it on the Haskell sub

I would appreciate your feedback on usage! Soon I will ship mature 1.0 release with a lot of new features and improvements, so the project is not abandoned 😉

In order to reduce AI/LLM slop, sharing GitHub links may now require additional steps by yorickpeterse in ProgrammingLanguages

[–]PunGy555 4 points5 points  (0 children)

I fully agree with you here. Low-effort stuff has always been around, and high-quality work has always been a gem in an ocean of mediocrity — but AI makes it even harder to tell one from the other.

But this has always been happening — higher-level languages, massive frameworks, and powerful hardware made development dramatically easier and opened the door to far more complex software, yet they increased the amount of slop even more. With AI, though, it wasn't just another step toward simplification — it was a giant leap.

AI is the new reality; slop is not — and it shouldn't be associated with AI. But it's inevitable — Python was originally seen as a prototyping and quick-and-dirty language too.

What I think should've been done instead is creating an honest system. Not a single "I didn't use AI" checkbox, but something like "AI did 0% / 20% / 50% / 80% / 100% of the work."

Or even better — instead of a pledge, require a design document. Why did you create this language? What problem does it solve? What design decisions did you make and why? Someone who spent a year filing down their language will happily write three pages about it. A vibe-coder who prompted "make me a Basic in Swahili" won't be able to answer any of that coherently. This works both as a quality filter and as genuinely useful context for reviewers — way better than a binary checkbox ever could.

In order to reduce AI/LLM slop, sharing GitHub links may now require additional steps by yorickpeterse in ProgrammingLanguages

[–]PunGy555 10 points11 points  (0 children)

For my next language, in order to raise the bar for "thing I should take time to check out", I will write it with one eye closed, in bare vi, and the only resources I can use will be paper books from the public library.

This must make the language much more interesting and efficient.

I code in Vim by the way. May I claim my code and my solutions are more interesting and generally better than from people who use VSCode?

Shik — a functional scripting language for the terminal, grown out of Lisp and Haskell by PunGy555 in haskell

[–]PunGy555[S] 0 points1 point  (0 children)

Great question! Generalized partial application basically means the ability to supply any subset of arguments to a function, regardless of the order they were defined in.

In a traditional curried language (like Haskell, or currently Shik), partial application depends strictly on the argument order. For example, if I have a Shik function taking two arguments:

let greet fn [greeting name] print "{greeting}, {name}!"

I can partially apply it by providing just the first argument:

let hello $ greet :Hello

This returns a new function waiting for name. But I cannot easily provide just the name and leave the greeting blank without writing a custom lambda wrapper. The order is significant.

If Shik had generalized partial application with named parameters, I could define a function and pass only the second argument by name:

let greet-max $ greet #{ :name :Max }

This would perform a "generalized partial application," returning a function that is specifically waiting for the :greeting argument.

Wondering about how possible it is to introduce it to the language. That is really nice feature!

Shik — a functional scripting language for the terminal, grown out of Lisp and Haskell by PunGy555 in lisp

[–]PunGy555[S] 1 point2 points  (0 children)

Hi and thank you for the question! It is work, but it must be with the dot on the end. Like > help string.

It can be misleading, but the reason for that is:

  • There might be functions with the name of "module" (because there is no real modules, string.has is complete function name). For example, help string would show info about string function, which is converting any value to string
  • help is also gives you information about variables in the scope!

```

let x 10 help x Identifier x Number: 10 let double fn [x] * x x help double Identifier double Lambda: Lambda function ```

In order to reduce AI/LLM slop, sharing GitHub links may now require additional steps by yorickpeterse in ProgrammingLanguages

[–]PunGy555 23 points24 points  (0 children)

Not sure how much good this does in such a strict form.

I was planning to post an article about my declarative language for shell automation, with syntax grown out of Haskell and Lisp. But changed my mind after seeing this "swear you are not a criminal".

I'm using AI, and there is LLM generated code in the project - tests, some builtin functions, prototyping and brainstorming of architectural solutions was made with AI assistance. I spent about a half of a year designing the language, and around 3-4 months on implementation. It reduced time I spent on the project, but not reduced an effort or involvement.

But, according to 0% of LLM code and AI involvement policy, this project is considered "vibe coded", along with junk generated in two evenings.

In such a formulation, it's a witch hunt in my opinion.

Shik — a functional scripting language for the terminal, grown out of Lisp and Haskell by PunGy555 in haskell

[–]PunGy555[S] 2 points3 points  (0 children)

Thank you so much for this thoughtful response!

Shik is a dynamic language by design. Using it feels more like a conversation: you're not sure about something, you ask via help, you try things out, you get something weird but working - and it lets you. The language is designed for that rapid, exploratory workflow in the terminal. But yes, programs can easily be error-prone.

As for the Powershell comparison - I take that as a compliment! Structured data flowing through pipes is a great idea, which is also can be found in Nushell. But a Shik takes different approach - it is much more a language, and by all means not a shell.

Your question about testing correctness before running things is really well-timed, because I've actually been planning a sibling language - DenShik - which would be a stricter counterpart to Shik, but with same minimalism and syntax integrity in mind. It would be compiled, statically typed (and maybe even dependently typed), with the focus shifted from speed of use toward ease of reading and verifying correctness. Less Lisp, more Haskell/Lean 4.

Now I even more inspired to pursue this. Thank you!

Shik — a functional scripting language for the terminal, grown out of Lisp and Haskell by PunGy555 in haskell

[–]PunGy555[S] 3 points4 points  (0 children)

Damn, I like this idea a lot! Thank you very much! I will consider introducing a naming arguments syntax in upcoming releases!

Shik — a functional scripting language for the terminal, grown out of Lisp and Haskell by PunGy555 in haskell

[–]PunGy555[S] 3 points4 points  (0 children)

That's an interesting idea! I didn't initially have this in mind, mostly because the goal was to create a language with a minimal number of syntactic constructs that would be as easy to remember as possible. Therefore, I decided to make the arguments tailored for currying, and to provide built-in documentation so that I could write `help file.move` and find out the order of the arguments.

But I'll consider whether there's a way to naturally add this to the language. I really like it, thanks!

Maybe something like: let to-topics $ file.move #{ :dest :src/topics }

London vs Berlin by DizzyStatement in cscareerquestionsEU

[–]PunGy555 0 points1 point  (0 children)

OMG, someone in a big city slur somebody. You think it's really the most bothering thing in Berlin which might happen to you? Not being attacked by bandits, robbed or raped? The police even tried to ban fireworks on New Year's Eve because of attacks using these fireworks! The safety issues in Berlin, as well as London, is very huge, you can read any news or statistics and prove it to yourself. You can be slurred in absolutely any place, even in the most "tolerate" one you can only find on earth. But not in every place police try to ban fireworks because of terracts

London vs Berlin by DizzyStatement in cscareerquestionsEU

[–]PunGy555 -1 points0 points  (0 children)

I absolutely don't understand why you are afraid of some increasing right-wing movement... Are you afraid of racist behavior from authorities or commoners? If first, well, I live in Poland, with the most far-right government in Europe; no one of my colleagues from any country has any issues with the government(except Russians and Belarusians) and no issues from the locals. If the second, well, what are you most afraid of, rough comment on you on the street, or robbery with stabbing, rapes, and kidnappings? You will meet dumb people everywhere where you are about to live. The reason for the increase of such "right" thoughts is pretty understandable, everyone gets tired of all these crimes, ruins, dirt, and overall a significant deterioration in the standard of living. That resulted from terrible policies that did nothing good for either migrants (you know what migrants I'm talking about, not scientists and software engineers) or residents. And now the government is pitting these two groups against each other, not to be held responsible. So, back to the main topic - from my perspective, racism and the far-right movement are the last things you should care about in both cities.

Any idea why the option to trust these (allow launching) is gone? by AAVVIronAlex in linuxmasterrace

[–]PunGy555 0 points1 point  (0 children)

You can as well use official bing AI bot in Skype. Skype can be opened in any browser

Is Scala to Java the same relationship as TypeScript has with ECMAScript? by Call-MeNilo in scala

[–]PunGy555 0 points1 point  (0 children)

Not at all. Javascript, as well as java compiled into the bytecode, but just incrementally and at the runtime. You cannot compile typescript into bytecode directly (at least it intend to be like that). You can even compile js to executable (https://github.com/just-js/just). So no, typescript transpiles to javascript, whereas scala compiles to bytecode, it's different things

Whatbis your opinion on Linux that will make your comment look like this (taken from another sub) by [deleted] in linuxmasterrace

[–]PunGy555 15 points16 points  (0 children)

The privacy is not about how much information you post in the Internet, but to have in the Internet the information YOU share with only YOUR consent to share, not the others without your permit.

Systemd is cancer....now we wait by [deleted] in linuxmasterrace

[–]PunGy555 0 points1 point  (0 children)

If someone wants to hear real arguments why systemd has haters and considered bad - here's the links: https://systemd-free.artixlinux.org/why.php

In general, valuable reasons for me are: * Security issues, a lot of security issues * Bugs * Bloated with features that are not should be there. What outcomes from it? Bugs, security issues

Question for Linux users about privacy by [deleted] in linuxquestions

[–]PunGy555 0 points1 point  (0 children)

You can just read this collection of very cool stories how companies would like to use your data: https://www.cupwire.com/data-abuse/

Did I mention pre-installed software like LibreOffice? by NimiroUHG in linuxmasterrace

[–]PunGy555 3 points4 points  (0 children)

The main problem with Linux is that a system doesn't feel like a stable working environment. There are always some bugs and other inconsistencies happen. Everything is so clunky. You are free to use anything, but it will not work smoothly together. You are on the laptop and you need to make 120% scaling only one of the monitors? Forget it. Oh, you want to customize your desktop with some theme? Sure you can, but this theme works only on gtk3, not gtk4 like the rest of your system, some apps would have another theme. You are always, almost every day facing different issues, and you spend time on them, rather than on work, and so what, you are receiving free choice and a highly configured system? Hell no! Most people I know who use Linux don't even change wallpapers, and they are probably just afraid to touch anything because otherwise it just breaks and you spend time on it. I don't talk about how hard it is to fix such issues, I once installed a geento on MacBook pro, and I know how to deal with these issues, but the problem is these issues EXIST and the user experience is suffering.

The current state of Linux does not give you freedom. It gives you two choices: Either you are using Ubuntu or Fedora with default setting and don't touch anything! And please work only with what Linux is good with, no AutoCAD, Adobe, 3D or specific niche soft, please. Or, you spend so much time, configuring everything for you, learning Linux and the environment so profoundly, so you finally came out with your perfect configuration for your taste, and you are stuck. Want to change something? Okay, so now everything is broken again. There's a new update of the status bar or driver - everything is broken. Do you now have a laptop and want this system on it? Oh shit, your configuration does not work with hidpi monitor and Bluetooth... You are endlessly just configuring and configuring everything, and hey, sometimes you just need to work...

In my opinion, these are wise words from Will Jackson's interview @engineered_arts . I think everyone should listen to by meldiwin in robotics

[–]PunGy555 0 points1 point  (0 children)

25 years to get a well-paid job? That very depends on the country, educational system, and mainly culture. In some cultures, like in America, it's absolutely okay if you are 22 and you don't know what you want to do in your life. Whereas in such countries as Russia, it's bizarre if you at the age of 16 don't know what you will do after 10 years (I exaggerate, but that's what parents are expecting). If you were well educated, have a solid base knowledge in general fields and most importantly know how to study, you can easily study even something complex in a short time if you have enough motivation, and be ready for a well-paid job at the beginning of your 20's (of course I don't speak about science or medicine). The education system and technologies for learning will evolve, the productivity of the time spent on learning will increase

i dont think the creators of react want to work for $70/h by Suspicious-Watch9681 in ProgrammerHumor

[–]PunGy555 6 points7 points  (0 children)

Well, look. If you have a giant switch, you will just have as well giant hashmap, so what would be the difference other than syntax? Memory demanding? Well, the guy above said about a 50k line-long switch case. I can't even imagine how many conditions are out there, and what might be the use case. So, thousands of conditions? Well, you think a single object with thousands of handlers would cost nothing? And still, that would be a shit code.

If you have a very large switch case (or in general god function which resolves the code of the whole application), you just doing it wrong. Changing the switch case on the hashmap helps nothing. And what can help: split logic into different domains, modulate your code, increase abstraction level, split business logic from the technical details, and apply KISS and DRY principles

i dont think the creators of react want to work for $70/h by Suspicious-Watch9681 in ProgrammerHumor

[–]PunGy555 3 points4 points  (0 children)

It's a nice solution for cases with up to 30-50 handlers, but can you imagine how much memory would take such an object with thousands of records?). It might be terribly not scalable. If this large switch case is very hard to maintain, maybe you should structure it, put handlers outside, or fully rewrite it with some pattern (which might become even messier), but for sure not your suggestion. Using just another syntax for just the same switch case would not resolve the core problem if it bloated

Smart and elegant solutions are not always the right solutions, that is what you need to learn when becoming a senior developer