• 1 Post
  • 128 Comments
Joined 3 years ago
cake
Cake day: December 31st, 2023

help-circle

  • I am thankful I have been away from my arch machine this past week and so never got the chance to install infected updates from the AUR, because I for sure have gotten complacent with checking entire PACKAGEBUILDs. The checker scripts the community has put together found a single potential infected package on my machine - alvr-git - but I had last installed/updated that one on may 21 (so in theory it’s clean).

    When the script is three pages long on a 4k screen, and I have ten other packages to review, I have found it’s really hard to stay committed to checking it all with my own eyes. The threat of needing to nuke my entire machine and rotates all my creds will certainly help with that, sadly.


  • No idea how easy this will be to follow if you’re forced to rely on text-to-speech and/or other assistive technologies, but here goes:

    • to tell nginx the product is physically on /wp/, you probably want a root /wp directive
    • to tell nginx the browser can point to domain.tld/post or domain.tld/english/post, you probably want two location blocks (one for each url) that each contain a rewrite directive that massages the url requested by the browser into pointing to the correct post or page location.
    • for this to be in a file on it’s own, and assuming your nginx setup is pretty standard, you probably want to have the entire server block be in a file that lives in the sites-available directory and symbolically linked (“symlinked”) into the sites-enabled directory.

    For the rewrites, here is the link to the relevant documentation page: https://nginx.org/en/docs/http/ngx_http_rewrite_module.html . You will need to understand the basics of how to write a Regular Expression, or get someone to write it for you. If you can’t find a human that’s available and willing to help, maybe a back-and-forth with an L.L.M. can get you to what you need (I don’t like suggesting L.L.M.s but being sighted myself I don’t really know if they’re better or worse than recommending you just work at learning how to do this on your own, given the current state of the web).



  • I’m surprised that you’re talking about models being CUDA-specific or AMD-specific. I’ve had a bunch of models running on my amd-only pc, using ollama, lemonade, and lm-studio, through either rocm or vulkan. None of these models were billed as AMD-specific. I had to do some config tweaking for ollama to use my graphics card but that’s more because I have a weird in-between-generations card that also predates the LLM hype (6700XT).

    However, I did generally need to look for the GGUF format versions of things - usually accounts like unsloth have them uploaded on huggingface barely a day or two after the original version gets posted.


  • There will be no demand for software for a while, as we did not need much in the first place.

    I don’t think software is like some raw resource that can be accumulated and then consumed at a later date. In my own career as a dev, people are constantly coming up with new demands that have to be implemented to meet their needs.

    I do agree that a lot of software made in the past 20 years was primarily made because someone (often not the devs making it) thought it would make them rich(er) in some way instead of actually “benefitting” humanity. My own hope is that however the economics of LLM-based AI work out, we’ll see a decline in this specific sort of software development taking up so much of the pool of available developer effort.

    If companies are spending more on tokens than on developers to churn out software that is decidedly meh (which is all I’ve seen so far of the trend), I would expect the actually induces demand for human developers - either as a complement to “AI” or as competition to it.


  • I agree with most of what you’re saying, but:

    • forgejo is working on federation. They’ve been working on it for a certain amount of time by now, but I do think we can expect some concrete version of what you describe in terms of community to materialize in the next decade as long a people want it and are motivated enough

    • when talking about code that is stored in a version control software that supports decentralized state (git, mercurial are the 2 I have working knowledge of) the “easy” fix for low bus factors is to just fork/mirror the software you want to see continue to exist. Source code is not that voluminous, I would be surprised if [the collective we] can’t manage to store multiple copies of the sources for software we deem useful. It’s a question of changing habits, not finding some miracle tech

    Of course, habits aren’t necessarily easy to change.




  • You have all my sympathies. Someone in another post/thread brought up the idea of a support group for burned out devs/tech workers in general. I definitely think there’s something between that and unionization that is both needed and starting to be possible. Heck, even in the hackernews comments for this article there was at least one person telling another “welcome to luddism!” as both resonated with the spirit of the article itself.


  • That’s wild. Your managers’ reaction to “the project made by AI has created 2-4 years of work by experienced engineers, perhaps up to 6 of them, before it’s ready” was “why don’t you use more AI??”?

    I’m starting to think Mao had a point when he sent the business owners to do farm work. Barring a revolution, I can only hope the effective cost of inference rises du much as to make these dipshits back off from wanting it to do all the labor ever.


  • Can someone explain how/confirm/deny that the proposed fix for this issue actually solves the problem? I think I understand the problem statement but I *fail to see how constructing a Some(&...) is in any way different than using iter::slice in terms of falsely guaranteeing immutability of user-space-backed memory.


  • I haven’t tried any Anthropic models personally.

    So far, between the free online chats by OpenAI and DeepSeek, and the smaller models I’ve run on my own machine, the most useful things I have gotten from it were to treat it as an overeager student that lacks the first-hand experience needed to see the big picture, asking it questions that I’m pretty sure I already know the answer to and seeing if 1) it “understands” what I’m getting at and 2) it can surprise me with a viewpoint I hadn’t thought of before.

    Using them to double-check my own ideas seems to be marginally useful, especially when there’s no qualified human being whose attention I can borrow. Using them as a sort of semantic web search can sometimes get me what I’m looking for faster than Google. If anything, they’re an opportunity to exercise critical thinking; if I can tell where it’s getting things wrong I can be fairly confident that my own understanding of the problem/subject is pretty solid.

    Vibe coding, though? I have yet to see it work out. Maybe as some starting slop so that I can get to work refactoring code (and get the ideas flowing) instead of staring at a blank file.


  • A small gui to automate generating some pdfs from some CSV files.

    There’s a small non-profit in my area helping people operate localized energy distribution (as producers and consumers). Each month, they receive a zip file containing the raw kiloWatt-hours produced and consumed by each participant over the past month as CSV files. So far the non-profit has been manually importing these CSVs into LibreOffice to generate graphs and tables and export the whole thing as an individualized PDF file for each participant. Now that they’re starting to help more than 2-3 operations, it’s become useful to try to automate that process.

    I’ve been writing it in rust for a few reasons. First of all I wanted cross-compilation to be sure to work and at this point I’m more familiar with rust than go, secondly I read a blog post recently that evaluated rust gui solutions in terms of accessibility and IME-compatibility on windows. I started off looking for a “direct” pdf-writing library but eventually switched to using typst to generate the pdfs from templates I write. typst being written in rust has enabled me to bundle its engine into the program in a pretty-straightforward way.

    I’m currently working on allowing the import of multiple sets of data so that the generated PDFs can show line plots of the electricity production and consumption over several months.


    1. chunk_size := file_size / cpu_cores. Compile regex.

    2. spawn cpu_cores workers:
      2.a. worker #n starts at n * chunk_size bytes. If n > 0, skip bytes until newline encountered.
      2.b worker starts feeding bytes from file/chunk into regex. When match is found, write to output (stdout or file, whichever has better performance). When newline encountered, restart regex state automata.
      2.c after having read chunk_size bytes, continue until encountering a newline to ensure the whole file is covered by the parallel search.

    Optionally, keep track of byte number and attach them to the found matches when outputting, to facilitate eventually de-duplicating and/or navigating to said match in the file.

    To avoid problems, have each worker output to a separate file, and only combine these output files when the workers are all finished.

    As others have said, it’s going to be hard to get more speedup than this, and you will ultimately be limited by your storage’s read speed and throughput if the whole file cannot fit into memory.


  • It’s been a while since I set up my runner, and I have it on my personal desktop (which is wayyyyyy beefier than the VPS I host my forgejo instance on), but I’m pretty sure I was able to specify that only my user account can trigger actions to be run on this runner. What I’m getting at is that there is a decent amount of granularity for forgejo action permissions; you should be able to find a balance that suits you between “no actions at all” and “anyone can run any code they desire on your server”.


  • From what I understand, it is the arch approach but with package binaries compiled to target newer hardware instead of the largest set of hardware. Their homepage claims they enable several performance-type optimizations in both the kernel and common system libraries. It’s not surprising to me that protondb, a repository of “how well can I get this game to run on Linux through proton?” reports, is studying an outsized proportion of users on CachyOS.