zerobrew is now 100x faster* than homebrew

...On warm installs of single packages, tbf.

24 of the 100 most installed Homebrew formulae came in at 100x or more, ca-certificates was 252x. across all 100 it's 68x warm and 6.6x cold. If you would like to see the full results (or run them yourself!), you can go here.

zerobrew is a drop-in replacement for homebrew.

The thing I think this sub will actually like is zbx. it's similar tonpx/uvx but for homebrew packages.

$ zbx tokei .
$ zbx hyperfine 'zb install jq'

To be clear about what this is: every package zerobrew installs was built, tested and published by Homebrew's bottle farm. we don't compile anything and don't maintain formulae. The speed comes from how the artifacts get installed, not from what's in them. Homebrew did the hard part already and we rely on it completely.

repo: https://github.com/zerobrewhq/zerobrew results: https://github.com/zerobrewhq/zerobrew/tree/main/results

reddit.com
u/cachebags — 7 days ago

CSC Capstone

Need the real deal from people. Am I actually going to be spending 40+ hours a week on this class?

Helpful context:

  • I already consider myself an expert in GitHub/Git, and the SDLC
  • 3 Previous SWE internships
  • 1.5 years programming experience contributing to major open source projects (homebrew, rustup, Pop!_OS, others)
  • Consider myself a decently intermediate programmer

None of this is to brag, I mostly just want to get a realistic look into how much time this class will actually take for me. I would presume the hardest things for me would be dealing with groupmates/clients.

Curious to hear people's perspective.

reddit.com
u/cachebags — 2 months ago

3 YoE out of college - what roles would I qualify for?

I'll be graduating later this year in December. But I've technically been working full-time as an intern for almost three years. I've done two Co-Ops from May 2024 to February 2026 and since I only take a couple classes at a time now, I've been full-time at this current company since March.

This current internship I am at is also fully SWE work. So I've been involved in major architectural decisions and have had projects shipped to prod to buying customers. I do like this job and I hope they can offer me something full-time at the end but the raw SWE opportunities in this company are few and far between. Else it's just Mechanical / Electrical engineers which does not interest me.

My resume for context:
https://www.overleaf.com/read/dxpwvqhwhwch#47cade

My question is: could I begin directly applying to mid-level roles at other tech companies? Would it widen my pool of opportunities in the market? Or am I still considered "junior" and stick to applying to entry level roles?

u/cachebags — 2 months ago
▲ 79 r/hyprland+1 crossposts

[OC] a tiny bluetooth applet for wayland

Hand crafted applet I made for my dotfiles. Figured I'd pull it out into its own package and share it with others for those interested.

yay -S blurs # or paru

GitHub: https://github.com/cachebag/blurs

u/cachebags — 2 months ago

Really shitty dilemma

Edit: I know it's not actually a shitty dilemma, I am actually quite privileged to have any offers at all in this climate. But I need the clickbait.

TL;DR: Not looking for answers, but shared experiences: who has been in a position where you had to pick between a job you love with low pay and a job you can tolerate with very very very high pay.

I will try to keep this short. I have been offered two positions / career pathways with companies I've been working for recently.

Company A is where I currently intern at. A well known Engineering powerhouse across North America and Europe. I've been an intern there for about 6 months and just confirmed with my manager that the plan for me is to be converted.

The work is everything I love. Distributed systems, Embedded Linux, Cloud computing, DevOps, Rust, Go, Typescript. Truly full-stack and interesting problems to be solved every day.

Pay is $27/hr. Based on other interns, I expect to be paid anywhere between $85k/$95k when I convert. Not high by any means but not bad. The company is very stable (compared to big tech). It's hybrid and quite flexible.

Company B is one I've been with for almost a year as an independent contractor and was recently offered a full-time Associate FDE role, fully remote. $166k/yr to start.

The company is a newer AI startup, founded in 2019. They've had steady growth and consistently bring in funding from various sources. But the work is nowhere near what I'd like to do for the foreseeable future. More like DevOps/data pipeline development and model evaluation work.

I guess the idea is I pivot once I feel like either the company is trending down or I don't grow in the right direction and steer too far from my vision as a developer.

For the last couple of years, answers like this when deciding on opportunities were no brainers for me. But this is the highest amount of money I have ever been offered. After doing rough math, I'd be keeping an extra ~$76k in my pocket after taxes, for the year.

If this provides any helpful context: I am 25, getting married in the Fall/Winter, no kids and $55k of student debt. I just bought a house and I own my car, only live off of like $3k a month in a pretty median cost of living state.

reddit.com
u/cachebags — 3 months ago

Pay per task or truly hourly?

just received an instant offer as a generalist expert for an hourly rate.

I have gotten reached out to be these types of companies before but always have been a skeptic. Figured I’d just accept this one and see what’s up.

Is it actually hourly? Or is it only per accepted task? If the former, do I log my hours? or do they track it somehow.

There is always these ridiculous pay rates I’m seeing but I have a feeling these are to get you signing their offers and then they pull the rug out and tell you it’s only per accepted task.

Thanks.

reddit.com
u/cachebags — 3 months ago
▲ 60 r/rust

my software is running on Pop!_OS

Don't really have a lot of programmer friends to share this with. They would have no clue what I am talking about so I just wanted to toot my horn a little bit and share that my project is running on Pop!_OS' WIP applets for cosmic-panel: https://github.com/pop-os/cosmic-applets

I've been working on it for almost a year. They're basically just Rust bindings for NetworkManager over D-Bus. I have posted about it, perhaps too many times, in this sub-reddit.

That's it. Just wanted to put it out there.

u/cachebags — 4 months ago
▲ 1 r/rust

temporary value is freed at the end of this statement - sqlx

I need some help understanding this issue I ran into this morning.

I build out this query as such:

let pool = sqlx::postgres::PgPoolOptions::new()
            .after_connect(move |conn, _meta| {
                let role = project_role.clone();
                Box::pin(async move {
                    use sqlx::Executor;
                    conn.execute(format!("SET ROLE {role}").as_str()).await?;
                    Ok(())
                })
            })
            .connect_with(connect_opts)
            .await
            .map_err(|e| {
                // Don't surface the raw sqlx error: it can include
                // connection details. Log it internally.
                tracing::error!(error = %e, "postgres connect failed");
                DataSourceError::Backend("failed to connect to postgres".to_string())
            })?;

This of course, leads me to the following error:

...
error[E0716]: temporary value dropped while borrowed
   --> crates/datasource-db/src/lib.rs:109:34
    |
109 |                     conn.execute(format!("SET ROLE {role}").as_str()).await?;
    |                     -------------^^^^^^^^^^^^^^^^^^^^^^^^^^----------       - temporary value is freed at the end of this statement
    |                     |            |
    |                     |            creates a temporary value which is freed while still in use
    |                     argument requires that borrow lasts for `'static`
    |
...

Perusing stack overflow and other forums, I found that I'd simply need to move the String into an owned variable and then just borrow it. But then I got this error:

 = help: the trait `SqlSafeStr` is not implemented for `&std::string::String`
    = note: prefer literal SQL strings with bind parameters or `QueryBuilder` to add dynamic data to a query.

            To bypass this error, manually audit for potential injection vulnerabilities and wrap with `AssertSqlSafe()`.
            For details, see the docs for `SqlSafeStr`.

This sounds reasonable but I am having trouble understanding what the point is? There is no runtime difference between this and just borrowing the String.

I am fairly new to DB stuff so excuse me if it's a naive question but if sqlx isn't magically sanitizing the string for me what's the point of me having to pass the query into AssertSqlSafe? Is it merely to make it obvious at the call-site that this is a dynamic query?

reddit.com
u/cachebags — 4 months ago

cost benefit analysis of programming with AI

i've been programming now for a couple years and just started at a company writing actual software.

i unfortunately started learning to program before the release of LLMs generally, and im now finishing my degree in the midst of all of the shit going on now.

at work, i've accepted that using LLMs for everything is inevitable and necessary to produce our software for customers.

at home, i've tried to be disciplined in writing my software without the use of LLMs, and even if I do decide to use AI, i still force myself to write every line by hand.

the issues i am having is that it is hard to justify deciding to program the slow and arduous way of looking up language/framework docs, stack overflow, reddit, etc. and building the pieces together in my head when LLMs can write it in mere minutes.

i am well aware that at the root of all of this, deeply grokking something like programming requires that long and tedious process. what i am struggling with is being okay with that.

i guess i thought that once i landed a job things would work out but it's made things worse because now i am getting paid to NOT understand the code i am writing, which feels so backwards to me.

the slippery slope with using AI as a teacher is that it will never get the nuances correct with documentation. especially with fast moving software like bevy or zig. you need to be quite explicit in telling them to use their web search tools to get the latest info and even then it doesn't quite understand things properly. so now i'm like okay well i'll just move to an IDE, and include the docs as files for context of the agent. and while i'm here, let me have it write these modules for me as well. then before i know it, every importance piece of my program was written without me barely intervening at all.

i can't find anyone else with this same question. maybe it's not answerable. is anyone else feeling this way?

u/cachebags — 4 months ago
▲ 6 r/arch

switching to KDE from hyprland

the older i get the less i want to tinker with my config. i still love arch but i want to move off of hyprland into something that's more desktop-y.

i use ubuntu on my work laptop but hate GNOME. i heard KDE plasma was the way to go but i'm curious about a couple things

  • is my stuff in ~/.config at all decoupled with hyprland? basically- if i install something like KDE plasma alongside hyprland and boot into it, will i find a bunch of overlapping shit from my ~/dotfiles on hyprland?
  • does anyone suggest anything beside KDE plasma? for context- my workflow is really just rust/typescript development via zed, git and then a my firefox browser. i do everything else through my terminal.

any suggestions would be appreciated!

reddit.com
u/cachebags — 4 months ago

Is Software Engineering usually this lackadaisical?

I am in my first real[1] internship->new-grad situation working for a bigger automotive company providing an embedded SaaS for internal + global customers fleets.

The work is pretty involved and I'm kind of touching everything in the stack, which is awesome. It's been an amazing experience, my manager is actually really cool and perfect in every way I think as far as being a mentor-like figure for my early career.

But one thing I've noticed is the lack of discipline in our development cycles. It's not really THAT big of an issue because everyone is clearly competent and it's a smaller team so there is not really a need to nitpick everything. But code reviews are very...minimal. We have an LLM bot that does a "first pass" and reviews (or tries to at least) the obvious things but other than that, everyone just kind of rubber stamps everything and worries about the fallback later.

As someone who also comes from working in OSS for about a year now, it is very jarring to me. I've had reviews on PRs in OSS that point out the fact that I didn't add a period to the end of my doc comments.

That's obviously an extreme / unfair scenario to point out, and yes, it did actually happen. I am well aware these are all to the volition of the maintainers of whatever project is being built, but broadly speaking, the programming discipline, both in actual code and reviews, is far stricter in the work I've done and seen across OSS. A better example might be clap-rs.

Simply curious to see if this is the case in other companies, especially big tech. Is the played out, tech influencer trope of "LGTM"ing everything actually real?

[1]: By "real," I mean I'm not doing glorified data-analyst work where I'm writing Excel sheets and slide decks while being given the title "Software Developer Intern."

u/cachebags — 4 months ago
▲ 6 r/bevy

grey box maps for testing

where do you guys get grey box test / stub maps for experimenting with gameplay mechanics? i would make my own but im curious if anyone uses any specific sources for this.

reddit.com
u/cachebags — 4 months ago
▲ 15 r/bevy

Deps vs hand rolling

question for the fairly experienced bevy dev (I guess this could apply to game devs more broadly for those who program their games by hand):

how do you decide when to delegate certain functionalities or set of functionalities to dependencies and when to decide to hand roll/maintain your own?

I’ve begun developing my game and my professional experience from my regular day job keeps peering in and given bevy’s rapidly changing surface, I worry about steering even further from it by potentially depending on plugins or libraries that are either majorly unfinished or abandoned/soon to be abandoned.

but at the same time, I get why we should delegate things like physics to something like avian.

curious to hear thoughts from people who have been working on bevy for a bit.

reddit.com
u/cachebags — 4 months ago

Unlimited credits, 40 hours a week and AI still couldn't prevent OOM

Taking a poop at work and wanted to share my experience as a Software Engineer using AI at work. I’ll try to keep short

TL;DR: I spent one a half months developing our service using AI and it still couldn’t plan for OOM.

We were given access to Copilot unlimited (before the usage based changes). I spent pretty much all of April and most of May developing a gRPC server to distribute telemetry data to our main SaaS platform. In essence, we want customers to be able to access this data on demand instead of having to download the specific file format the data gets converted to.

I‘m an AI skeptic but I’m not stupid enough to see absolutely ZERO benefit in AI. And when we were given access to an unlimited plan with Copilot, I figured why not see how it can help us achieve this task of on demand telemetry serving.

So I buckled down and did my due diligence. I learned about skills and “prompt engineering“ (god I fucking hate that term). I learned about running parallel agents and planning before implementation and all the stupid shit you see on X of how people “100x their output”.

Despite this, it actually still required a whole bunch of manual intervention just because of the nature of this domain. But all in all, I pretty much mostly let the AI actually program and I was the one steering it towards our proposed architecture. I gave it all the info it needed- the resource constraints of our EC2, the exact schemas we used between our flatbuffers and protocol buffers, how our infra actually works to authenticate users that should be able to access this data. Everything I could possibly think of: I made sure the agents always had this info on hand.

Throughout this I’m of course ”reviewing“ it‘s code. And frankly it looked fine.

It’s now June. We’ve gotten the service deployed in our dev environment and all is good and well.

That is until our EC2 shits the bed and our server consumes 95 percent of the available resources.

Loading one set of data on our frontend bursted so many RPC calls that when another dev opened a fucking grafana dashboard, the EC2 decided to kill our service (since it was taking up all the memory) and still crashed.

Remember when I said I was reviewing the code? Yeah, that’s all bullshit. If anyone tries to tell you that your future as a Software Engineer is “architecting the solution and steering an agent to implement it”, do not for a second believe them.

What REALLY happened was I was too fucking naive. I wanted to try and compromise with the internet. I thought “hey maybe these YC shmucks are right, maybe I should focus on system design and let agents do the work.”

It’s all a load of bullshit. All it did was stunt my growth. I THOUGHT I knew how our system worked because I trusted the AI to properly implement the code based on my decisions and guidance. But I was fooling myself. I was a fucking idiot to think I, as the sole dev of the project, could review the work properly. It was not allocation conscious, it wrote the most naive and useless Rust traits in the history of mankind, it compressed code in the dumbest fucking ways (helpers everywhere, but it never actually simplified logic in the callsites themselves). It was just shitty code but I stupidly thought, “hey that looks right I guess, shouldn’t be too much of an issue down the line.”

I don’t care how smart you think you are. You are ALSO fooling yourself if you think people’s jobs are going to be replaced (in this context SWE jobs in particular).

The inevitable truth is that no matter how much you think you know about how to “guide” these agents to write your Software- no matter how much shitty harnesses and workflows you develop just to try and get around actually doing your job and learning about how your code works, you will always lose because there is no amount of context you can give an agent to understand how anything with even a tiny bit of nuance works.

They’re always going to give you the next LIKELY answer. Not the most correct. Not the cleanest. The most PROBABLE. Because that’s all they fucking are. Token predictors. And I think that in the next two years, people will begin to realize this and either:

  1. Quit programming. Because they never got a degree or learned about CS fundamentals so the peak of their output willl be shitty CRUD apps.
  2. Stop using AI so loosely and start doing their jobs again, in turn reducing velocity and in turn creating the need for MORE jobs due to stabilization of output (slower output, need for more devs + shitty Software from this dev AI bubble, thus more debt accumulated).

Thanks. My legs are falling asleep now.

reddit.com
u/cachebags — 4 months ago

The worst part of all this is not being able to see usage

I do not care for Copilot. But, we use it at work so in a way I am stuck with it. I don't understand why the FUCK I can't see a breakdown of my usage.

I'm just supposed to take your word that my prompt to extract a helper from a function costed 63 fucking credits? Get the fuck out of here.

If there is a way to do this, it must be painfully hard to find.

reddit.com
u/cachebags — 4 months ago

my take on the marriage of trad coding and AI

https://github.com/cachebag/jumpy.nvim

TL;DR: i think 99 is awesome and can be improved upon both philosophically and architecturally.

i sat on this for a bit because i didn't know if it made sense to pursue. but IMHO, especially at work, if you are finding yourself unable to avoid using AI for whatever reason and you really would prefer to keep your hard skills intact for the foreseeable future, i think that jumpy.nvim might be a good option for you. i think i've come to the conclusion that what i built is genuinely the cleanest experience for agentic-ish coding. yes that is incredibly biased but i do mean it and obv YMMV due to the intensely opinionated nature of these tools.

fully inspired by 99. i think prime was on to something, and still is. but i don't actually think he approached it correctly or perhaps more accurately, i misunderstood what his goal was. because i personally still feel a bunch of friction when using 99. i think there's a path he prefers with coding with AI and my project is simply a different path. so that's why i hesitate to say it's better or worse objectively, just different.

all hallucinations and shitty code are of my own. i have gotten a couple contributions so far and they've been pretty amazing. i have some pretty good ideas on where to take this but as a prototype it has worked shockingly well for me lately.

i personally love traditional hand coding. and i also fear of losing that skill. i think this as a solution, this will keep me competent for the long run as these AI tools continue to dominate. i really do not see another way this could be improved upon workflow wise. it's also far cheaper. i explain more in depth in the README but generally speaking, i think the philosophy around being in the driver seat still while using AI is more better suited as a solution where you are actually in full, granular control of the changesets being applies to your codebase.

what i mean is; we should likely lean further away from context based workflows, letting agents read your skills files, other modules, etc. i mean ideally, you should already know how your system works so if you need an agent to do something, there is zero reason you should have to tag 4 different files and 2 skills to have it do that thing.

the skills things is a bit different because that's more so pre-loading the agent with knowledge that's otherwise quite hard to repeat and explain.

having the option of course to tag files in your workspace should be there but i think the better option is to be forced as a user to reason about what you are about to ask an LLM to write for you. not "hey look at foo.c, bar.c and moo.c and implement xyz for me in baz.c". there is literally no way you'll be able to look at the diff it gives you and be like "yep looks good". like you didn't even full comprehend what you asked it to do, you just blanket statement gave it an order to implement something.

there's obviously so many caveats to this like refactors, extracting helpers and redundant code, etc. workflows where you just need things shifted around.

idk ive yapped enough; if you are going to try this out (thanks btw :p) i HIGHLY suggest trying the re-prompt a hunk feature (<leader>-r). if you don't like a hunk given to you by your agent, you can just re-prompt that specific changeset instead of feeding the entire files tokens into the prompt again.

thanks!!! happy to read feedback, accept PRs, issues, etc.

u/cachebags — 5 months ago

[OC] A proper, Wayland compatible, GUI for NetworkManager

Many of you may remember nmrs-gui- my wayland/hyprland friendly network manager built in Rust. The idea is that instead of shelling out to nmcli or something else, we interface with NetworkManager over D-Bus itself for a smooth, reliable and performant experience.

Well, we now support VPN! OpenVPN and WireGuard in specific.

nmrs-gui repo: https://github.com/networkmanager-rs/nmrs-gui

I have tested WireGuard thoroughly but have not been able to rigorously test OpenVPN. I would love for someone to stress test it and file any bugs or issues you find.

You can download nmrs-gui through yay or paru

yay -S nmrs  
paru -S nmrs
u/cachebags — 5 months ago
▲ 18 r/archlinux+1 crossposts

An actually good network manager for hyprland - VPN support!

https://preview.redd.it/vd94crfuoe2h1.png?width=1795&format=png&auto=webp&s=987b8577d279d2f7aae92222bf90e1d180c6de6e

Many of you may remember nmrs-gui- my wayland/hyprland friendly network manager built in Rust.The idea is that instead of shelling out to nmcli or something else, we interface with NetworkManager over D-Bus itself for a smooth, reliable and performant experience.

This led me to create nmrs, which has now been separated into its own crate and library and nmrs-gui was pulled out as well as its own repo. They now live in a networkmanager-rs org.

nmrs-gui repo: https://github.com/networkmanager-rs/nmrs-gui

Anyways- I've been making a lot of improvements to the underlying library, most notably, OpenVPN support! I supported WireGuard natively before but OpenVPN seemed to be far more popular, albeit a bit more complicated to implement.

I took my time, integrated it into the library itself about a month ago and I've just released the first version of the GUI with OpenVPN and WireGuard support built in!

I have tested WireGuard thoroughly but have not been able to rigorously test OpenVPN. I would love for someone to stress test it and file any bugs or issues you find.

You can download nmrs-gui through yay or paru

yay -S nmrs
paru -S nmrs

Please, feel free to leave critiques, feedback, or feature requests, It's quite minimal right now but I plan on improving it even further as adoption grows!

I am also more than open to contributions.

Thanks so much!

Mods: I've posted this tool a few times before.

Ref: https://www.reddit.com/r/hyprland/comments/1ql9h94/a_proper_gui_for_networkmanager/

Ref:
https://www.reddit.com/r/hyprland/comments/1omz4nb/for_the_hyprland_fanatics_looking_for_a_wayland/

reddit.com
u/cachebags — 5 months ago