HNHacker News
TopNewBestAskShowJobs

karolist

1,518 karma · joined March 13, 2011

working on https://photofig.com
submissionscomments
karolist··on Rails Is Good Enough
Hey, thanks for the response. First off I want to say that Rails is not a bad stack if that's all you know, it definitely built tons of SaaS companies and that alone means you can go far with it, I'm not here to change your mind. It's also very fundamentally different from barebones Go approach where you do need to pick your modules, define your project structure and have a deeper understanding of request lifetime in general because you are supposed to manage it yourself, things like precise timeouts [1]. In Go, it is typical to do session management with middlewares, do JWT based auth, you can attach specific user info to request context so it is available to handlers post middleware actions. [2]. Go is very barebones with many control knobs and can throw people used to monoliths off, but it's really not that complicated and you don't need to write lots of code to handle things like sessions, post Go 1.22 the built in routing mechanism got good enough to not need any packages for that at all [3].

Regarding ORM, I've grown to dislike them eventually, even though I've used gORM which is very popular in Go land. Currently my SQL queries are handled by sqlc (example) [4] which compile the queries down to type safe Go code at build time.

Types are old of course, and I didn't mean modern = GoTH or static typing, I guess modern in my comment was for node based frontend dev with React/Astro, I won't expand on this in this comment, it's getting long as is.

Strong static typing is ridiculously good once you develop with it for a while, editor support and guarantees you get in the sense "if it compiles, it likely works" begin paying dividends soon after the project grows a bit. Not Rust level, you can write weakly typed Go if you want but that's not the default. I have type guarantees even through frontend/backend or backend-backend boundaries with gRPC/connect without writing any marshal/unmarshal code myself.

Regarding outdated gems, I can't recall now, I tried looking up my history but didn't really find anything specific. I started with barebones with devise for auth and some redcarpet markdown parsing. I had troubles setting up hot reloading, AFAIK it should work OOB with Rails 7 but didn't, then I tried hotwire-livereload [5] which pulled in Redis but also worked sort of janky. Contrast that to how great Vite based project live reloads work for modern frontend or how simple and fast Go backends live reload with Air [6].

To end, if Rails works for you and you know Ruby already then it's a great stack, I didn't like certain things and magic and view Ruby as a dead end skill career wise so in the end I ended up not using it. I use Go daily at my dayjob so it makes sense to just use what I already know.

1. https://blog.cloudflare.com/the-complete-guide-to-golang-net...

2. https://www.digitalocean.com/community/tutorials/how-to-use-...

3. https://go.dev/blog/routing-enhancements

4. https://docs.sqlc.dev/en/latest/tutorials/getting-started-po...

5. https://github.com/kirillplatonov/hotwire-livereload

6. https://github.com/air-verse/air

karolist··on Rails Is Good Enough
The alternative is GoTH stack - Go + Templ + htmx if you want it simple. Personally I'm currently enjoying a combination of Go with connect-go on the backend for some API routes and Astro with React for all others. Keycloak for auth if you can stomach it.

I've tried many stacks in the last 6 months, including Rails. Too many outdated gems, too much magic, generators from gems doing who knows what with undo only possible because of Git.

A lot of these posts like in the OP are written by dinosaurs [1] and I mean no offence, at some point you have to give modern stack a chance, the developer UX with hot reloading that works without hacks and plethora of ready to use components in React world is just great.

1. https://peterxjang.com/blog/modern-javascript-explained-for-... this was written in 2017 but is still relevant, shows how much the ecosystem stabilised.

karolist··on One-man SaaS, 9 Years In
Regarding visualping, have you checked https://github.com/dgtlmoon/changedetection.io, and if so, what's missing?
karolist··on Ask HN: Is it possible to make FAANG salaries without working there?
That's a lot of lids.
karolist··on Show HN: Haystack – an IDE for exploring and editing code on an infinite canvas
continue.dev with anthropic's API key https://docs.continue.dev/how-to-use-continue#ask-questions-...
karolist··on Show HN: Haystack – an IDE for exploring and editing code on an infinite canvas
Congrats on the launch. I've actually been going in a totally separate direction lately, it helps with my focus and ADHD tendencies to jump around and get overwhelmed.

1. One window. 2. Minimal everything. 3. Most importantly, no tree navigation.

If I need to jump to a file, I either use recents menu in Intellij or use file markers to jump to it, means I have to remember the filemarker and have intent to go there (I'm using IdeaVim plugin for vim hotkeys). This, to me, make programming much more focused and pleasurable. This is part of my evolution from multi screen to widesreen and then back to a single screen.

For large and mature codebases like you mention, I just use LLM to guide me around.

karolist··on SearchGPT Prototype
Announcement of an announcement (waitlist), gee this is 2017 crypto all over again
karolist··on Llama 3.1
I have the same machine, may I ask which model file and program are you using? Is it partial GPU offload?
karolist··on Mermaid Gantt diagrams for displaying distributed traces in Markdown (2023)
Ha, I was pondering the exact same question after reading this, for this use-case and in more widespread sense. I've came to the conclusion that it's a form of outsourcing your costs. The clients want to view your charts? They pay for it with their electricity, instead of your server doing handouts for everyone.
karolist··on Jellyfin: We're Good, Seriously
You might be onto something. I think it's to do with the fact that self hosting attracts a certain crowd, and when you have a product that is popular to self host, but is not open source and with some paywalled features, it irritates them deeply. The narrative is popular enough to hate Plex that I suspect some people who don't even care try to farm karma from the bandwagon. Podcasts like selfhosted.show also ride these tropes...
karolist··on Show HN: A source-available billing system I've spent 18 months building
If anyone wonders what the stack is and how to host it -> https://github.com/billabear/hosting-docker-compose/blob/mai...
karolist··on Ask HN: Why are people paying so much for Vercel?
This is an amazingly steep hill to climb for someone with absolutely no server admin experience, someone who used terminal all their life to just paste in curl commands from tutorials to pipe in bash install scripts and run npm. I think we come from a time where tech circle was smaller and people covered more fronts, nowadays with YouTube attention economy the circle is very large and fragmented with people becoming good at a subset of stuff and being totally oblivious to the other parts, like server admin.
karolist··on Jellyfin: We're Good, Seriously
This goes against my experience. I too have a Plex lifetime pass and it has been rock solid, my library lives in network mounted NAS drive, formatted with filebot. I've unpinned the default views that it comes with when you install the client and pinned just my libraries. It just works on all devices, absolutely no issues, no memory leaks, the UI is beautiful and Netflix like, which is important for my family. The central account is what makes claiming the server and sharing the library with others and the overall remote login experience very easy, this is what enables plex.tv/link functionality.

Yes it is not perfect and they made mistakes along the way but comments as such just tend to ride on the sentiment that vilifies all non OSS products as if it's something inherently bad, the "us vs them" attitude is something I see time and time again here.

karolist··on Google Distributed Cloud air-gapped appliance
parts of it is still is, you're just focusing on non fun parts
karolist··on Foliate: Read e-books in style, navigate with ease
Ha, I think you're right, it's the empty container with grey background visible whilst the video is being changed, I actually went frame by frame to confirm. It's getting silly and super nitpicky so feel free to ignore :)

https://imgur.com/a/Z0Yrl8h

karolist··on Never Update Anything
Writing backends in Go I do get that warm fuzzy feeling knowing that it will compile and work in ten years. The syntax is easy to read, if I'm not lazy to add extensive tests I can simply read these as documentation to re-familiarise myself later. It's now my go to tool for everything server side.
karolist··on Foliate: Read e-books in style, navigate with ease
Hey, which program do you do that now with, Calibre or a set of separate tools?
karolist··on Foliate: Read e-books in style, navigate with ease
Yes, the background changes instantly, but video replacement is slower, therefore for an moment the old video shadow background appears distinctly from the site's background color. This is on M1 Max 64 with latest Chrome.

Also, there's a problem with responsive text reflow on your personal site, I've only noticed because I'm using a tiling wm.

I've made videos to showcase

https://gofile.me/7cmOh/e1dTClPiT

https://gofile.me/7cmOh/VyHzagGGa

karolist··on Foliate: Read e-books in style, navigate with ease
Beautiful app, how did you deal with Qt licensing if I may ask?

One nit regarding website, toggling dark mode causes a video change that has some ugly flashing, I think you could improve this by recording the video without dropshadow and adding the shadow with CSS.

karolist··on Foliate: Read e-books in style, navigate with ease
Would you mind listing some of the killer Calibre features you'd expect to see in an MVP?
karolist··on Foliate: Read e-books in style, navigate with ease
I think Calibre advocates forgot what it's like to setup it for the first time and what a messy ugly process it is for new timers. A containerized version needs VNC access to set it up and perform some un-intuitive UI actions https://docs.linuxserver.io/images/docker-calibre/#applicati...

I've used https://www.kavitareader.com/ but it's not perfect either, this space could be "disrupted" by a Plex like product with opensource + licensed offerings but the target market is pretty small I think.

karolist··on Type in Morse code by repeatedly slamming your laptop shut
applecare abuse
karolist··on Writing an MP4 Muxer for Fun and Profit
> Except there is no profit, only pain

I have 20 years or professional experience and my conclusion, if someone asked, what IT boils down to: pain.

The pain is what filters who can succeed and who fail. Can you endure hunting a bug for 7 hours in your chair? Can you fix problem after problem to get a system running? Everything that can fail, will fail, and you have to deal with it.

karolist··on Strategizing Your Preparation for Machine Learning Interviews
This post has no substance but many words, was this written by LLM?
karolist··on My daughter (7 years old) used HTML to make a website
Internet tells me that human is not the most inefficient, but pretty much down on the list. Sorry to be that guy, but to me a joke or quote needs to be true to impact :(

https://ghijklmno.net/a-bicycle-for-the-mind/

karolist··on Show HN: I made a privacy-friendly and free image, audio and video converter
Looks like ffmpeg WASM, so runs in your browser
karolist··on Apple, Nvidia, Anthropic Used Swiped YouTube Videos to Train AI
> “YouTube’s terms cover direct use of its platform, which is distinct from use of The Pile dataset. On the point about potential violations of YouTube’s terms of service, we’d have to refer you to The Pile authors.”

so basically "we stole from a thief therefore we didn't steal" excuse?

karolist··on Show HN: Magic-cli – A copilot for your command line
dang, I think you're right, my mind branched off somewhere it seems. I was thinking of how operations can be executed multiple times (verification + actual result run) with effect being applied only once.
karolist··on I lost my love for the web (2022)
Nobody really cares about your tech choices except some /g/ turbo nerds, sounds like the author spent time in some toxic communities and projects this on the whole of the industry.
karolist··on Design a GraphQL Schema So Good, It'll Make REST APIs Cry
You don't need GraphQL for the same reasons you do not need to sync your state between the client and the backend, everything can be done with htmx and one source of truth for the state.
← PreviousPage 4 of 20Next →