Readit News logoReadit News
hv42 commented on Affinity Studio now free   affinity.studio/get-affin... · Posted by u/dagmx
quchen · 4 months ago
One of the reasons I stopped doing photography was that I realized I’m locked to using Lightroom where all my previous pictures are, and without a subscription it’s such a hassle to gain access to them again. I miss the days when I just bought Lightroom and that was it. :-(
hv42 · 4 months ago
https://github.com/CyberTimon/RapidRAW is rapidly going to be a nice cross-platform alternative to Lightroom
hv42 commented on Vite+ – Unified toolchain for the web   viteplus.dev/... · Posted by u/sangeeth96
thiht · 5 months ago
Familiarity I guess? I've never heard of rsbuild before. In comparison, the "Vite" name directly brings me joy and makes me think of high quality, enjoyable tooling.
hv42 · 5 months ago
They seem to have less marketing for sure. If you are migrating from webpack or create-react-app, rspack/rsbuild is a no brainer. (at least worth a try IMO)
hv42 commented on Vite+ – Unified toolchain for the web   viteplus.dev/... · Posted by u/sangeeth96
hv42 · 5 months ago
I am wondering what vite+ will have that will really make it worth it compared to the "rstack" (i.e. rspack, rsbuild, rstest, rslint, etc.) rsbuild is already excellent and things like remote cache are on their roadmap?
hv42 commented on The Pain That Is GitHub Actions   feldera.com/blog/the-pain... · Posted by u/qianli_cs
xlii · a year ago
There is one thing that I haven’t seen mentioned: worst possible feedback loop.

I’ve noticed this phenomenon few times already, and I think there’s nothing worse than having a 30-60s feedback loop. The one that keeps you glued to the screen but otherwise is completely nonproductive.

I tried for many moons to replicate GHA environment on local and it’s impossible in my context. So every change is like „push, wait for GH to pickup, act on some stupid typo or inconsistency, rinse, repeat”.

It’s like a slot machine „just one more time and it will run”, eating away focus and time.

It took me 25 minutes to get 5s build process. Naive build with GHA? 3 minutes, because dependencies et al. Ok, let’s add caching. 10 hours fly by.

The cost of failure and focus drop is enormous.

hv42 · a year ago
With GitLab, I have found https://github.com/firecow/gitlab-ci-local to be an incredible time-saver when working with GitLab pipelines (similar to https://github.com/nektos/act for GitHub)

I wish GitLab/GitHub would provide a way to do this by default, though.

hv42 commented on Hk, a new Git hook manager   hk.jdx.dev/about.html... · Posted by u/DrBenCarson
DrBenCarson · a year ago
I would use a wrapper sh script that checks for the tool and prompts an install, basically how Java projects include maven or gradle into a repo
hv42 · a year ago
One of the goal of hk is to be used with mise (https://mise.jdx.dev/dev-tools/)

mise supports an experimental bootstrapping feature: it can download itself and install the tools required for the project.

See https://mise.jdx.dev/cli/generate/bootstrap.html and https://mise.jdx.dev/continuous-integration.html#bootstrappi...

hv42 commented on Hk, a new Git hook manager   hk.jdx.dev/about.html... · Posted by u/DrBenCarson
timhh · a year ago
Interesting. I've been working on a pre-commit replacement too, written in Rust but using WASI for all plugins (no exceptions!). I haven't got very far but I think this will have huge advantages over pre-commit, mostly in reliability.

Me and my colleagues have had numerous issues setting up pre-commit because it inherits Python's atrocious infrastructure.

I'm curious how this is going to deal with actually running plugins? Will it take the same approach as pre-commit and add dedicated not-very-good support for a load of different languages?

hv42 · a year ago
You will be able to use mise to set up any tools required for the linters. See https://mise.jdx.dev/dev-tools/
hv42 commented on Using uv as your shebang line   akrabat.com/using-uv-as-y... · Posted by u/Einenlum
hv42 · a year ago
You can use this trick with mise (mise-en-place) for small tasks: https://mise.jdx.dev/tasks/toml-tasks.html#shell-shebang

  [tools]
  uv = 'latest'

  [tasks.python_uv_task]
  run = """
  #!/usr/bin/env -S uv run --script
  # /// script
  # dependencies = ["requests<3", "rich"]
  # ///

  import requests
  # your code here 
  """

hv42 commented on Mise: Dev tools, env vars, task runner   github.com/jdx/mise... · Posted by u/ksec
0xbadcafebee · a year ago
I'm not "a developer" so I never got the use case of tools like these. Instead I just use the stuff they mention (asdf, make).

I use Asdf to manage versions of all programs in a monorepo. Works great (well, actually asdf's UX is terrible, but it works reliably, and the plugin design is great).

For development, I don't ever load environment variables into my current shell session. I run a script or Makefile which loads any necessary variables, does a thing, and then exits. It would be a nightmare to have to constantly check if my current shell session had X variable in it.

I use Make for repeatable small commands that will vary per directory, or for simple parallelizing or ordered execution of commands. I have a big one that handles Helm installs, and a few more for Terraform, Packer, asdf, etc. I also use them for deployments in hierarchical environment directories, where environment variables are loaded from parent directories. I love that Make has all the features it has, because I always find myself eventually reaching for something you don't find in "just a task runner", and it makes my life easier.

I use shell scripts when I need to make a composeable tool that'll be slightly longer or more complicated than a Make target should be. I have saved so much time and effort writing these tools in shell rather than Python or something, where there is inevitably way more bugs and dependencies. The only time I have needed to use something more complex than shell is when I have a lot of APIs to deal with that also deal in JSON; if it's a lot of complexity it's better than curl/jq, but if it's only one small task, curl/jq is better.

The end result works great. The whole environment just needs asdf installed (from Homebrew, for example). With stock Make and the stock Bash v3, I can manage everything automatically, everything's version-pinned and automated, all variables get loaded at runtime as needed, and the whole thing can be grokked by just reading some simple Makefiles.

The only thing I want to fix now is to get rid of the superfluous Makefiles from directories (they're all symlinked back to one Makefile). It's a pain to re-symlink them all when I change directory structure. Probably should just write a script for it...

hv42 · a year ago
I think you should give `mise` a chance. I believe it can help improve your workflow.

It's better at managing tools than `asdf`, very close to `direnv` and superior to `make` as a task runner (more verbose but much easier to understand). One of the advantages is that `mise` tasks can be standalone files (you can even write file tasks in python if you prefer, see https://mise.jdx.dev/tasks/file-tasks.html)

hv42 commented on Mise: Dev tools, env vars, task runner   github.com/jdx/mise... · Posted by u/ksec
sureglymop · a year ago
This is nice! Jetbrains tools sometimes need a bit more configuration with it, otherwise it's very seamless.
hv42 · a year ago
There is a plugin that works well to automatically configure some of the SDKs https://plugins.jetbrains.com/plugin/24904-mise
hv42 commented on Just: Just a Command Runner   just.systems/... · Posted by u/thunderbong
gurgeous · a year ago
Question - mise is also incorporating a command runner. Anyone tried it yet? We love just, of course. Always curious about new tools.
hv42 · a year ago
mise tasks (https://mise.jdx.dev/tasks/) are great!

IMO, mise tasks are much better than `just`. A few things that make mise superior:

— solid environment variables support

— can run tasks in parallel, has a watch task feature, support for skipping tasks,…

— mise supports file tasks (i.e., running shell scripts, as many comments are suggesting here - https://mise.jdx.dev/tasks/file-tasks.html)

— mise tasks are defined using `toml`, and not a custom syntax

u/hv42

KarmaCake day99April 7, 2018View Original