Hacker Newsnew | past | comments | ask | show | jobs | submit | samhh's commentslogin

There’s also jj-stack. I don’t know how they compare.

This is something GitHub should be investing time in, it’s so frustrating.


And tangled.sh supports JJ stacks out of the box


Woah that's actually huge. I've been very interested in tangled from an atproto perspective but I had no idea it had that as well. Wonder why that isn't talked about more. Seems like an amazing feature to potentially pull some people away from GitHub/GitLab after they've have been asking for years for a better stacking workflow.

I've been going through a lot of different git stacking tools recently and am currently quite liking git-branchless[1] with GitHub and mergify[2] for the merge queue, but it all definitely feels quite rough around the edges without first-party support. Especially when it comes to collaboration.

Jujutsu has also always just seemed a bit daunting to me, but this might be the push I needed to finally give both jj and tangled a proper try and likely move stuff over.

[1] https://github.com/arxanas/git-branchless

[2] https://mergify.com


I was surprised to learn that Depot runners, which are much faster, are also much cheaper. Would highly recommend them for anyone trapped on GitHub.


Blacksmith.sh has been great for us. Massively sped up tests and a huge improvement for Docker builds over both Actions and Google Cloud Build.

Only downside is they never got back to us about their startup discount.


hey there! blacksmith solutions engineer here :) love to hear we've helped speed up your tests and docker builds!!

could you shoot me your GH org so I can apply your startup discount? feel free to reach out to support@blacksmith.sh and I'll get back to you asap. thanks for using blacksmith!


Thank you! We've loved it! Looks like you found me, thank you :)


Yeah, but I have to set that up.

GitHub actions more or less just work for what most people need. If you have a complex setup, use a real CI/CD system.


I haven’t use depot but I’m pretty sure the setup is literally just switching out the runs-on value in your workflows


Such as?


Jenkins is open source and very well documented.

GitHub Actions are really for just short scripts. Don't take your Miata off road.


LOL, I worked on the Jenkins project paid for three years. Even they use actions to build Jenkins.

https://github.com/jenkinsci/jenkins/tree/master/.github/wor...


Jenkins! For the love of god don’t listen to this.


Always open to learning, what's wrong with Jenkins?

It's a bit bloated, but it's free and works.


Fragile against upgrades, tons of unmaintained plugins, admin panel UX is a mess where you struggle to find the stuff your are looking for, half backed transition to nicer UI (Blue Ocean) that has been ongoing for years, too many ways to setup jobs and integrates with repos, poor resource management (disk space, CPU, RAM), sketchy security patterns inadvertently encouraged.

This stuff is a nightmare to manage, and with large code bases/products, you need a dedicated "devops" just to babysit the thing and avoid it becoming a liability for your devs.

I'm actually looking forward our migration to GHEC from on-prem just because Github Actions, as shitty as they are, are far less of an headache than Jenkins.


Why is gha just for short scripts, out of interest?


It's just short on features.

I get the vibe it was never intended to seriously compete with real CI/CD systems.

But then people started using it as such, thus this thread is full of complaints.


What features is it missing that you would like to see it implement?


death before Jenkins


Depot.dev is great.


Thank you! Really appreciate the support.


Thank you for the kind shout out! Always happy to see comments like this. If anyone is looking for a better GitHub or GitHub Actions experience, feel free to reach out anytime.


What are Depot runners?


Founder of Depot here. We provide faster and more reliable GitHub Actions runners (as well as other build performance services) at half the cost of GitHub [0]

[0] https://depot.dev/


Is there a write up on the security of actions or equivalent that explains how they are secure both with direct and transitive dependencies? If this applies to Depot.


Ah got it, thanks. I thought there was another kind of GitHub runner (like their "large" runners) that I hadn't heard of.


I’ll die on the hill that the tacit pipe operator would have been the right choice. IIRC the main objections came from engine implementors.


For a start I wouldn’t trust brands that by default market mesh over wired backhaul.


Because ... ? Reminder my comment was looking for explanations. Is your issue that mesh + Ethernet backhaul is actually WAP + roaming and not mesh?


Those semantics make it more accessible for free.


Passkeys already solve for this, we just have to get past the FUD.


In this case, how is the Passkey safer than 2FA?


It’s cryptographically bound to the domain.


It could support it as a progressive enhancement.


I personally wouldn't even bother with that yet.

Once it's available in even one browser not behind a flag, sure, but while it's still entirely undocumented and only available to people who both use Chrome Canary and know to go turn on a specific flag?


In terms of task running specifically it does generally stay that simple for the likes of just.

The only complexity there is getting it installed on everyone's machine, but that's true of most tooling, even the common stuff given versions won't match. I solve that with Nix.


I agree that the documentation story could be better. I also think it's a great shame that the language isn't statically-typed, so to understand how to use something I have to inspect its source code.

I've found it to be quite flexible though. For example, here's a commit in which I apply a patch to a tool to solve a problem that the derivation hadn't taken into account (and absent a home-manager solution): https://github.com/samhh/dotfiles/commit/867dd3b4d4b3942a0aa...


> I also think it's a great shame that the language isn't statically-typed, so to understand how to use something I have to inspect its source code.

I understand everything in that sentence except the word "so".


Static types are documentative, and language servers often also show you things like JSDoc alongside the type signature. Nix has neither of these, hence I have to check the source code or run a build and see what happens.

I really like Nix but in this particular way it feels like taking a big step backwards from the other languages I frequently use, particularly for a language in which you'll necessarily be constantly interacting with bespoke interfaces.


Informative function signatures, allowing programmers to add per-function documentation, and tooling that displays those things are by no means limited to staticly typed languages.

I guess knowing allowed types for each parameter is informative (more if very specific types are used rather than string or integer), but documentation usually specifies that anyway. And even knowing all the types isn't usually enough without documentation.

My point is just that I've used plenty of libraries in dynamically typed languages without needing to read the source. And conversely, I've occasionally needed to look at the source of a function in a staticly typed language, to answer some question not answered by the types and documentation.


Being able to see a function's entire type signature at a glance is the single most useful way of documenting code I've ever come across. No alt-tabbing to docs or relying on an IDE to pop up hints, etc., it's just right there.

Haskell is the ideal here, since it separates the type signature into its own separate line at the top of the function declaration. That confers readability and reduces cognitive overhead more than any other language I've used.

It also changes the programming thought process. You can pseudo-code an entire program just with function type definitions. Then test that the type defs compile without error, and go back and implement the function definitions. As long as the function definitions adhere to their type signature, the program almost always works (barring some I/O errors).

Not all statically typed languages are created equal. The ones fundamentally oriented around function type signatures, rather than variable types, are the ones I think parent had in mind in his comment.


They're also platforms without Game Pass i.e. with much less competition.


There is Arcade for macOS/iOS et al, but no AAA titles or anything like that


Yeah, Arcade's selection is very lackluster. I have it as part of my Apple One subscription and I personally enjoy it, but I'm not much of a gamer and I'm pretty sure most serious players would rather have Game Pass.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: