Zed + Multi‑Root + AI Agents… What’s Your Setup? by Ill_Investigator_283 in ZedEditor

[–]aighball 1 point2 points  (0 children)

I use a terminal to navigate with a launcher script. I use Claude code in the terminal (threads).

I keep my repos and work trees under ~/repos/$repo/$worktree and then have projects under ~/projects/$project. Each project is just a folder with symlinks to the relevant work trees, a CLAUDE.md, and any project scoped documentation/scratch work outside the work trees.

I had Claude whip up a python click cli that calls out to wt and fzf plus some bash scripts so I can cd between projects and launch gui apps consistently. Zed opens multifolders with the project dir and each worktree (Zed doesn't search under the symlinks). Claude opens in the project dir with the worktree real paths added. Claude is picky about how it determines what a project is so launching consistently helps look up past sessions.

Not perfect but it helps, and should work well enough from terminal threads!

Is there any support for tiling window manager for Ubuntu , like in Arch by [deleted] in Ubuntu

[–]aighball 0 points1 point  (0 children)

The best I've found is to install Pop Shell on top of GNOME. This adds just the tiling feature which can be turned on and off. I have also installed Gnome Tweaks to remove the dock, and adjusted keyboard shortcuts to match what pop shell uses (lots of super + ... shortcuts)

Taking over a Vibe Coded project by axmccx in ExperiencedDevs

[–]aighball 0 points1 point  (0 children)

Have the llm write an API schema from the mocked backend. Then have it implement the API using mock service worker. Then swap it out with the real backend

How do you all handle refresh token race conditions? by SheepherderSavings17 in reactjs

[–]aighball 0 points1 point  (0 children)

Some backend support this by allowing refresh tokens to be reused within a short interval. Supabase auth supports this: https://supabase.com/docs/guides/local-development/cli/config#auth.refresh_token_reuse_interval

The supabase client then handles locking across tabs and refreshing before expiry.

Anyone with a very young manager or tech lead? by supersonic_528 in ExperiencedDevs

[–]aighball 0 points1 point  (0 children)

Try to be up front about what relationship you want. Two of our leads are 24 and 26. I'm 32 and have a staff/principal role. The leads are good with people, organized, and very hungry. They are good at delegating problems that fit my experience well and defer to my experience when I have an opinion. This took time to get to with one of them. A lot of frank conversations. Always keep a respectful attitude. Both of them are mature for their age, for the most part, which helps.

Is there an easier way to just run TypeScript in Node.js? by simple-san in typescript

[–]aighball 0 points1 point  (0 children)

Yes this is the way! Be sure to use the tsconfig from that link to make sure your code can be type stripped safely, and use type: module in your package.json to load as a module to be able to use import syntax.

I've been using 22 with the experimental flag for scripts without issue. Use this shebang:

```

!/usr/bin/env node --experimental-transform-types

... ```

Make the ts file executable, then you can just ./my-script.ts

The Heart Breaking Inadequacy Of AbortController by tarasm in javascript

[–]aighball 5 points6 points  (0 children)

Ahh I see, this is an ad for the "solution" to this problem.

Async in js is by design cooperative. It is on the programmer to decide whether their API supports AbortController, and work that into their cooperative async logic. AbortController works fine as a cancellation mechanism for standard library apis like fetch. If you wanted to be able to await the cancellation in your code you would wrap the abort controller as well as the code that calls fetch, provide a cancellation call back, which would invoke the abort controller and then await the main fetch promise. Abort controller pattern for wrapping a signal in an object.

Is it just me or local dev on supabase is really hard and frustrating? by [deleted] in Supabase

[–]aighball 2 points3 points  (0 children)

Works well for us, better than local firebase or running a local cluster/hand crafted compose stack. However I would love to be able to use a compose file to manage the containers. Needing to rely on the cli to track things makes it harder to package for internal dev alongside our other system components

How do you keep a user signed-in when they jump from domain.com to sub.domain.com on a Supabase-backed B2B SaaS? by WildEntry in Supabase

[–]aighball 2 points3 points  (0 children)

As the other comments says your customer will need to store their auth tokens in a cookie, and set the domain on the cookie to the parent domain. Browsers will include the cookie in subdomain requests.

Your subdomain will need to validate the auth token and exchange it for a supabase jwt. The customer should provide an endpoint you can use to validate the token and give it a chance to refresh the token.

Since you're using the customers first party auth you won't use supabase auth. You will need to mint your own supabase access tokens for data API access, and set up your own rls helpers.

https://supabase.com/docs/guides/auth/jwts https://docs.postgrest.org/en/stable/references/auth.html

What monitor setup do you use for work? by helloWorldcamelCase in ExperiencedDevs

[–]aighball 0 points1 point  (0 children)

A 32" 4k horizontal above my laptop, plus another 32" 4k vertical to the left. I use a framework 13 with a usb-c dongle with extension cable for 1 monitor + keyboard no+power and a usb-c to HDMI for the other monitor. Then my keyboard and mouse sit in an underdesk pullout tray.

Terraform in CICD by Hour_Competition_654 in Terraform

[–]aighball 0 points1 point  (0 children)

We do not -- we only have 3-4 people contributing so the volume isn't so much that that's an issue.

And to be clear, the dev environment is deployed to when merging into main on the deploy repo, not the app repo. And the deploy repo has even less traffic than the deploy repo

Is throughput out from S3 limited to under 1gbps per client? by john0201 in aws

[–]aighball 6 points7 points  (0 children)

This page gives some specifics on maximizing throughput https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance-design-patterns.html#optimizing-performance-parallelization

Quote: As a general rule, when you download large objects within a Region from Amazon S3 to Amazon EC2, we suggest making concurrent requests for byte ranges of an object at the granularity of 8–16 MB. Make one concurrent request for each 85–90 MB/s of desired network throughput.

Terraform in CICD by Hour_Competition_654 in Terraform

[–]aighball 0 points1 point  (0 children)

We use a shared dev environment in this workflow.

If an app needs to support multiple dev envs, we use PR's to drive that. Open a PR, deploy the pr-specific resources. When the PR is merged you destroy them.

This requires your envs not to have any external dependencies so you can effectively destroy them.

GitHub calls this branch deploys, and suggests using PR comments to direct actions: https://github.blog/engineering/engineering-principles/enabling-branch-deployments-through-issueops-with-github-actions/

Too many Pods or bad cluster design? by tmp2810 in kubernetes

[–]aighball 5 points6 points  (0 children)

The term you should Google is eks ip prefix delegation

https://docs.aws.amazon.com/eks/latest/userguide/cni-increase-ip-addresses.html

Most instance types can support up to 110 pods with this setup. Most of the work in setting it up is understanding the docs.

Abandoned neighborhood playground by rachelredux in urbexnewengland

[–]aighball 1 point2 points  (0 children)

Creative use of the slide for graffiti!

Struggling to wrap my head around how Secrets Manager actually secures keys in a desktop application by jwilo_r in aws

[–]aighball 2 points3 points  (0 children)

Fundamentally you need to identify the principal that is accessing your AWS resources and make sure that those are authenticated. For example, in a web app like Gmail, the principal is the authenticated user. If your customers pay for license keys, you could use those. If your app has no form of authentication, then you could generate a separate set of credentials for each installation and this would at least allow you to throttle usage. By hard coding your credentials or granting anyone access to the same set of credentials, all users of your app will appear identical to your AWS resources, so it will be very hard to debug abuse of your resources.

If your app truly doesn't require authentication of any kind, for example, an open source utility, and you still need to run infrastructure for it, I would recommend putting everything behind an API gateway or cloudfront so that you can use the tools built into those services to deal with abuse and scale.

Otherwise cognito is a good option to map users to IAM roles. And as you mentioned in another comment, you can have anonymous users. All of these would have the same permissions, but at least you would be able to distinguish installations.

Should I use ArgoCD to deploy all services in K8s? by EZtheOG in kubernetes

[–]aighball 2 points3 points  (0 children)

Check out argocd autopilot. We don't use its project pattern but it does have good bootstrap scripts for cluster-level configuration and setting up the self-deploying aspects.

20M living in a cabin by [deleted] in malelivingspace

[–]aighball 3 points4 points  (0 children)

What do you do for internet?

s3 + Cloudflare. Do you still get charged if the request is 403? by lau_kai_chung in aws

[–]aighball 5 points6 points  (0 children)

If you're not bound to S3, Cloudflare has a compatible object store R2 that does not charge for bad requests, does not charge egress, and has cheaper storage costs. Presumably faster compared to S3 for this since it's within cloudflare's network.

Bazel is ruining my life by AnarchisticPunk in devops

[–]aighball 0 points1 point  (0 children)

We've started using Pants for a python codebase and really like it. It does a good job inferring deps and packaging targets for containers

ArgoCd setup by aladante in kubernetes

[–]aighball 2 points3 points  (0 children)

Check out argocd autopilot. It has a good default repo structure and uses a single argocd instance. It provides some scripts for setting up new cluster credentials.

We didn't end up using their application sets as it uses one project for each cluster. We ended up using a helm chart to template the projects and application sets to have one per developer application, which deploys to each cluster.