Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)C
Posts
1
Comments
104
Joined
3 yr. ago

  • You need SRE concepts. First, if you break it then you fix it; in a system where anybody can make a change, it's the changer's responsibility to meet service objectives. Second, if your boss doesn't find that acceptable then they need to appoint a service owner and ensure that only the owner can make changes; if the owner breaks it then the owner fixes it. Third, no more than half of your time should ever be spent fixing things; if something is constantly broken then call a Code Yellow or Code Red, tell your service users that you cannot meet your service levels, and stop working on new features until the service is stable again.

    Under no circumstances, ever, should anybody stay late. There should only be normal business hours, which are best-effort, and an on-call rotation which is planned two months in advance. Also, everybody on call should be paid hourly minimum wage on top of salary for their time.

  • Nothing has really changed in the past four months. If you really disagree, feel free to try my vibecoding challenge; it closes on March 1, but that's surely no obstacle for the amazing vibecoding chatbots which didn't exist in November and only recently evolved. I did all three challenges by hand and no vibecoder has yet been able to match my mediocre, lackluster work.

  • I don't understand why I would choose this as an anti-corporate license instead of AGPLv3, WTFPL, or CC-BY-NC-SA; in general, we want corporations to not use our software rather than accept the license conditions, and this license isn't scary enough. I also don't think that this tastes like it was written by legal professionals; how did you generate the text of the license?

  • You've reinvented one of the two reasons that Project Xanadu failed: micropayments have very high overhead relative to the content being paid for. (The other reason is that there literally aren't data structures which work like Xanadu's data model.)

    Further, where does money come from? You're sketching a system where money has relatively high velocity, but it's all paying for content, which has marginal cost to distribute; how does money get into this system in the first place? This is why Bitcoin's currently on a trend to zero; once everybody realizes this problem, the system collapses from lack of faith.

    I hope that thinking about this for a bit will radicalize you further towards the understanding that a universal income and artists' stipend is the economically-sustainable way to compensate artists, rather than forcing folks to swap scraps of digital coinage.

  • From the perspective of somebody who's actually hacked on Linux: Most Linux maintainers, like most programmers in general, are full of machismo stemming from the inherent difficulty of writing C. It is extremely difficult to write correct C and nobody can do it consistently, so those maintainers are heavily invested in the perception that they are skilled with C. Rust is much easier to write and democratizes kernel hacking, which is uncomfortable for older maintainers due to the standard teenagers-vs-parents social dynamics. Worse, adapting various kernel interfaces so that they are Rust-friendly has revealed that the pre- and postconditions of interface methods were not known before; there is existing sloppiness in the kernel's internals which is only visible because of Rust-related cleanups.

    Note that Linux is not a GNU project. GNU's kernel project is GNU Herd. "GNU/Linux" refers to Linux userlands populated with GNU packages. It's important not to be distracted by this; the kernel is agnostic towards userland and generally is compatible with any loadable executable that uses Linux's public syscall interface, so the entire discussion of Rust in the kernel is separate from anything going on in userland.

    Most siblings are wrong! PRs written in Rust can be rejected. There are already multiple non-C languages in the kernel. Rust is sufficiently available on the platforms where it will be required for building kernel. Maintainers are only added after they have shown themselves to be socially reliable and they can be removed by other maintainers if they are unresponsive. The only correct sibling points out that Rust is different.

  • @eleijeep@piefed.social You had a couple months. At this point, I think that you've failed the challenge. I know that there's a lot going on in the world, but frankly I doubt your commitment to dick-measuring contests on Lemmy if you're not even able to write a bug-free JSON recognizer in C in eight weeks. I understand why you wanted to remain pseudonymous!

    Let us all learn a lesson from eleijeep: writing correct C is very hard and probably can't be done on-demand. Correct C isn't a party trick.

  • BadRAM specifiers can apply to stripes of memory corresponding to certain physical hardware failures. The memmap hack only allows for contiguous allocations. BadRAM's intended for repurposing consumer-grade RAM that might normally be thrown out, not for reconfiguring motherboards that have strange layouts.

  • I think that there are two pieces to it. There's tradition, of course, but I don't think that that's a motive. Also, some folks will argue that not taking hands off the keyboard, not going to a mouse, is an advantage; I'm genuinely not sure about that. Finally, I happen to have decent touch typing; this test tells me 87 WPM @ 96% accuracy.

    First, I don't spend that much time at the text editor. Most of my time is either at a whiteboard, synchronizing designs and communicating with coworkers, or reading docs. I'd estimate that maybe 10-20% of my time is editing text. Moreover, when I'm writing docs or prose, I don't need IDE features at all; at those times, I enable vim's spell check and punch the keys, and I'd like my text editor to not get in the way. In general, I think of programming as Naur's theory-building process, and I value my understanding of the system (or my user's understanding, etc.) over any computer-rendered view of the system.

    Second, when I am editing text, I have a planned series of changes that I want to make. Both Emacs and vim descend from lineages of editors (TECO and ed respectively) which are built out of primitive operations on text buffers. Both editors allow macro-instructions, today called macros, which are programmable sequences of primitive operations. In vim, actions like reflowing a paragraph (gqap) or deleting everything up to the next semicolon and switching to insert mode (ct;) are actually sentences of a vim grammar which has its own verbs and nouns.

    As a concrete example, I'm currently hacking Linux kernel because I have some old patches that I am forward-porting. From the outside, my workflow looks like staring out the window for several minutes, opening vim and editing less than one line over the course of about twenty seconds, and restarting a kernel build. From the inside, I read the error message from the previous kernel build, jump to the indicated line in vim with g, and edit it to not have an error. Most of my time is spent legitimately slacking multitasking. This is how we bring up hardware for the initial boot and driver development too.

    Third! This isn't universal for Linux hackers. I make programming languages. Right now, I'm working with a Smalltalk-like syntax which compiles to execline. There's no IDE for execline and Smalltalks famously invented self-hosted IDEs, so there's no existing IDE which magically can assist me; I'd have to create my own IDE. With vim, I can easily reuse existing execline and Smalltalk syntax highlighting, which is all I really want for code legibility. This lets me put most of my time where it should go: thinking about possibilities and what could be done next.

  • So, you've never known any Unix hackers? I worked for a student datacenter when I was at university, and we were mostly vim users; as far as text-editor diversity, we did have one guy who was into emacs and another who preferred nano. After that, I went to work at Google, where I continued to use vim. As far as fancy IDE features, I do use syntax highlighting and I know how to use the spell checker but I don't use autocomplete. I've heard of neovim but don't have a good reason to try it out yet; maybe next decade?

  • Hi! You are bullshitting us. To understand your own incorrectness, please consider what a chatbot should give as an answer to the following questions which I gave previously, on Lobsters:

    • Is the continuum hypothesis true?
    • Is the Goldbach conjecture true?
    • Is NP contained in P?
    • Which of Impagliazzo's Five Worlds do we inhabit?

    The biggest questions in mathematics do not fit nicely into the chatbot paradigm and demonstrate that LLMs lack intelligence (whatever that is). I wrote about Somebody Else's Paper, but it applies to you too:

    This attempt doesn't quite get over the epistemological issue that something can be true or false, determined and decided, prior to human society learning about it and incorporating it into training data.

    Also, on a personal note, I recommend taking a writing course and organizing your thoughts prior to writing long posts for other people. Your writing voice is not really yours, but borrowed from chatbots; I suspect that you're about halfway down the path that I described previously, on Lobsters. This is reversible but you have to care about yourself.

  • Secondarily, you are the first person to give me a solid reason as to why the current paradigm is unworkable. Despite my mediocre recall I have spent most of my life studying AI well before all this LLM stuff, so I like to think I was at least well educated on the topic at one point.

    Unfortunately it seems that your education was missing the foundations of deep learning. PAC learning is the current meta-framework, it's been around for about four decades, and at its core is the idea that even the best learners are not guaranteed to learn the solution to a hard problem.

    I am somewhat curious about what architecture changes need to be made to allow for actual problem solving.

    First, convince us that humans are actual problem solvers. The question is begged; we want computers to be intelligent but we didn't check whether humans were intelligent before deciding that we would learn intelligence from human-generated data.

  • You always need to read what the machine generated for you; the machine can only write code for you, not understand code for you. Here, the biggest issue is that copy might not work if the input and output containers are different, if the input has multiple framerates or audio tracks, etc.

  • Well done. I recently revived the BadRAM kernel patch in order to do something similar; memtest86+ supports that functionality too, using

    <F4>

    ,

    <F4>

    ,

    <F10>

    ,

    <F10>

    .

  • Your analogy is bogus because this is the Fediverse and we can defederate from tankies without giving them money. The entire topic revolves around how Framework spends money. Whataboutism in this context is a classic defense of fascism, for what it's worth.

  • C also sucks. Also, stop misgendering yourself; when you respect yourself more, you'll respect others more, and then you'll stop saying that people are cancer.

  • Weren't you taught not to use dehumanizing language when you were a child?

  • I want you to write kernel code for a few years. But we go to Lemmy with the machismo we have, not the machismo we wish we had. Write a JSON recognizer; it should have the following signature and correctly recognize ECMA 404, returning 0 on success and 1 on failure.

     
            int recognizeJSON(const char*);
    
    
      

    I estimate that this should take you about 120 lines of code. My prior estimated defect rate for C programs is about one per 60 lines. So, to get under par, your code should have fewer than two bugs.

  • But if you had read the article and attached links then you would have learned that the particular issue under discussion and source of other issues is from Project Big Sleep, which focuses on using generative tooling to confabulate issues. You would also see for yourself that the reported issues are in C.

  • Programmer Humor @programming.dev
    Locked

    Positive Affirmations for Site Reliability Engineers