SinTan1729

joined 1 year ago
[–] SinTan1729@programming.dev 6 points 3 days ago* (last edited 3 days ago)

I really like Feeder.

1
submitted 5 days ago* (last edited 5 days ago) by SinTan1729@programming.dev to c/haskell@programming.dev
 

Hi, I'm a beginner when it comes to Haskell, but I guess I'm somewhat comfortable with the language itself. I'd love to try building some stuff using it. However, I'm finding it very hard to properly use external libraries/packages.

I'm familiar with Rust's cargo, and go's package management system, and feel very comfortable using them. Are there similar ones for Haskell? Basically, I want them defined per project, and not have to install everything system-wide. I'd like to be able to provide users with simple instructions for replicating the whole build setup.

What's the idiomatic way? Are there any example packages that I can look at that are not too complicated?

[–] SinTan1729@programming.dev 2 points 5 days ago

Here's a pretty small project that's still practically useful, at least to me.

https://github.com/SinTan1729/recipe-box-for-wikijs

[–] SinTan1729@programming.dev 0 points 1 week ago* (last edited 1 week ago)

I've been thinking about moving away from nvim-treesitter for this. There seem to be some alternatives already, like tree-sitter-manager. Or I can probably just get it to work without any plugins.

The only thing that I'm worried about are the features provided by nvim-treesitter-textobjects. Has anyone been able to replicate those in native neovim, or even using some other plugin that's not dependent on nvim-treesitter?

Edit: There seems to be some interesting recent development.

[–] SinTan1729@programming.dev 0 points 2 weeks ago

Just to add to it, there's a thin wrapper around it called zpack that's basically a drop-in replacement for lazy.

I'm not the dev, but I've migrated from lazy to it without much of a hassle, and the performance seems to be on par. I did encounter a bug, but the dev was quick to fix it. Just wanted to give them a shout-out.

[–] SinTan1729@programming.dev 2 points 1 month ago

I'd recommend using something like Navidrome instead of manually syncing the files.

[–] SinTan1729@programming.dev 6 points 1 month ago* (last edited 1 month ago) (1 children)

Thanks for your feedback.

You just need an Immich API key, and run it from any machine from where you can reach your Immich instance. It does everything using the Immich API, so only a key with the proper permissions is needed. (I'll add what the minimum required permissions are in the README.)

Also, if you want to do it for many users, you don't need them to run it on individual machines/accounts. You can create multiple config files, each with that user's key, and pass it to the script via the --config flag.

If running it for multiple users is a thing that people are interested in, I can add a way to supply an array of options in the config file, each belonging to one user.

 

As the title says, it's a rather simple golang script for creating memories in Immich based on certain criteria, since there aren't any customization options in the official app.

As you may gather from the README, I created this for very personal reasons. But I wanted to share it here in case someone else finds it useful as well.

Currently it can do filtering based on people, and tags. But I'm more than happy to add more options, if requested.

[–] SinTan1729@programming.dev 2 points 1 month ago

We have it in India. I usually prefer them to most banks for savings accounts, or FDs. Their rates are usually much better.

17
submitted 1 month ago* (last edited 1 month ago) by SinTan1729@programming.dev to c/cooking@lemmy.world
 

I had looked for selfhosted recipe management apps for a while, but none really fit my need. I liked WikiJS a lot, but it was a hassle to get recipes on to it since there's no tooling for scraping from sites.

So I decided to create a python tool that does the scraping. It's finally in a state where I can share it with others. Of course, it's meant to be used only for archival purposes.

You can see some recipes created with it on my wiki.

Any feedback is welcome. I hope that this is the correct community for this. Given how pro-selfhosting lemmy is in general, I thought this might be welcome here.

[–] SinTan1729@programming.dev 3 points 2 months ago* (last edited 2 months ago) (1 children)

Not sure about LaTeX, but TeX is widely considered to be almost "perfect" code.

[–] SinTan1729@programming.dev 2 points 2 months ago

Yeah, ZFS support can be a bit annoying to deal with. I use kmod packages, but have faced small issues in the past. It's usually pretty easy to resolve them, tho. Just stay on an older kernel for a few days.

[–] SinTan1729@programming.dev 5 points 2 months ago* (last edited 2 months ago) (2 children)

To each their own, but I really don't see the point of these distros. I usually just install Debian or AlmaLinux on my homeservers and build on top of it. I guess extra tooling can be helpful, but I've never felt the need for it.

79
Rust bad Jai good (github.com)
submitted 4 months ago* (last edited 4 months ago) by SinTan1729@programming.dev to c/programmer_humor@programming.dev
 

cross-posted from: https://programming.dev/post/39212874

I recently migrated my services from rootful docker to rootless podman quadlets. It went smoothly, since nothing I use actually needs to be rootful. Well, except for caddy. It needs to be able to attach to privileged ports 80 and 443.

My current way to bypass it is using HAProxy running as root and forwarding connections using proxy protocol. (Tried to use firewalld but that makes the client IP opaque to caddy.) But that adds an extra layer, which means extra latency. It's perfectly usable, but I'd like to get rid of it, if possible.

I'm willing to run caddy in rootful podman if needed. But from what I understand, that means I can't have it in the same rootless network as my other containers. I really don't wanna open most of my containers' ports, so that's not an option.

So, I'm asking whether any of these three things are possible.

  1. Use firewalld to forward ports to caddy without obscuring the client's IP.
  2. Make rootful caddy share a network with other rootless containers.
  3. Assign privileged ports to caddy somehow, in rootless mode. (I know there's a way to make all these ports unprivileged, but is it possible to only assign these 2 ports as unprivileged?)

Or maybe there's a fourth way that I'm missing. I feel like this is a common enough setup, that there must be a way to do it. Any pointers are appreciated, thanks.

 

This release adds the ability to edit existing links, show and download QR codes for easy sharing, and various improvements in the frontend. Check out the release note for a list of all changes.

 

It's mainly meant for episodes where TMDB doesn't have the information on release. I'm using it with a cronjob so that it keep trying until there's metadata available.

 

I simply want to emulate the effect of -p by default i.e. open all files in tabs when multiple files are supplied. I wrote the following autocommand to make it work.

-- Open files in tabs by default
vim.api.nvim_create_autocmd("VimEnter", {
    callback = function()
        if not vim.opt.diff:get() and #vim.fn.argv() > 1 then
            vim.cmd("tab sball")
            vim.cmd("tabfirst")
        end
    end,
})

But it seems to bork the colorscheme for all but the first tab. It's weird since Running the same commands manually after neovim is loaded works perfectly. I may have something to do with the order in which things are run. Is it possible to run this command as late as possible?

I'm open to alternative approaches that gets the job done.

 

I thought of this after a recent trip with some friends. We shared the photos when we were still in person. But sometimes we need to share a lot of photos over the internet. In the past, we have used a shared google drive directory for this. But I'd prefer a self-hosted option. There should be some sort of password protection as well (ideally per share, and no need for accounts). One should be able to both access the current files and upload new ones, just like google drive or dropbox.

I currently have FileShelter, which works for 1-to-1 sharing but not for groups. I guess something like ProjectSend would work, but it's too complex for my usecase. I'd prefer something more lightweight since I'll maybe use it once every few months. Also, it should be noob-friendly, and accessible using a browser.

Update: I'm very happy with copyparty. It does what I want, and much much more. I even replaced my older webdav server with it since it provides more granular control over share locations and permissions. Kudos to the developer @tripflag@lemmy.world!

 

Someone added a PR to an app of mine adding instructions for k8s setup. I do like the idea of providing these instructions, but I don't have any experience with k8s whatsoever. The commits look fine to me, but in case anyone is experienced, I'd appreciate if you can take a look. I don't want to inadvertently add something malicious. Here's a link to the PR: https://github.com/SinTan1729/chhoto-url/pull/48, thanks.

 

A simple selfhosted URL shortener with no unnecessary features. Simplicity and speed are the main foci of this project. The docker image is ~6 MB (compressed), and it uses <5 MB of RAM under regular use.

view more: next ›