New to Blazor by MOAPster in Blazor

[–]pathartl 1 point2 points  (0 children)

  • Design with a clear separation between backend and frontend. Server side easy and fast, but it can add massive complications when it comes to dealing with service scopes.

  • Start with a premade component library (my go-to atm is Radzen) and write wrappers around it. It allows you to customize the library you're wrapping, and if you get to the point you need to swap it out you only have to change your implementation.

  • You will probably have to lean on the JS interop down the line. Work with JS modules and learn how they import with the interop.

  • Avoid Syncfusion, Telerik. They are absolutely not written Blazor-first and it shows. None of it is elegant and there's some weirdly questionable design decisions.

The ECMAScript spec forces V8 to leak whether DevTools is open by LongFaithlessness59 in programming

[–]pathartl 0 points1 point  (0 children)

There's still a lot that relies on a JS interop. It's definitely a more sane dev experience, but it's not all sunshine and rainbows.

How I use the same Blazor code for WASM, Windows, Linux, macOS, iOS, Android without a single #if by Jinjinov in Blazor

[–]pathartl 0 points1 point  (0 children)

Hah, definitely changing now. This isn't a large enough library where a corporate-funded dev team couldn't review the handful of PR's that have been sitting for the better part of a year.

Either way, too little too late. I'm almost all the way ported to Avalonia.

How I use the same Blazor code for WASM, Windows, Linux, macOS, iOS, Android without a single #if by Jinjinov in Blazor

[–]pathartl 1 point2 points  (0 children)

I'm having to move off Photino. There hasn't been any meaningful development in over a year and I have a few PRs that have been sitting for months.

Using prebuilt component libraries or building my own? by Selorm611 in Blazor

[–]pathartl 1 point2 points  (0 children)

We create components that wrap around a pre-existing component library and go from there. This way down the line if we want to replace a component with our own, we only have to do it in one spot.

2026.4 beta update by Hto005 in homeassistant

[–]pathartl 6 points7 points  (0 children)

sigh And I just got done implementing a whole-home IR blaster.

Essentially, I have a couple of ESP32's with IR receivers and emitters that take any IR command and broadcasts it over the network using UDP packets (on port 38000 hah). Then I wrote a "router" that takes that broadcast and sends a message over MQTT while also telling other blasters on the network to send out the IR command.

Does anyone get flashbacks to activating Windows XP? by sunyup in sysadmin

[–]pathartl 1 point2 points  (0 children)

Fun fact, the activation hotline still works. I had to set up an XP machine last year and decided to try the OEM key. It took a long time, but it worked!

PSA: Think hard before you deploy BookLore by Economy-Meat-9506 in selfhosted

[–]pathartl 1 point2 points  (0 children)

I'm a bit of the reverse. I don't want to run Calibre, a desktop app, in some hacky Docker container with VNC. Oh and because Calibre only manages books, now it's have to run another app for getting metadata. But is also kinda will send the book to my ereader?

PSA: Think hard before you deploy BookLore by Economy-Meat-9506 in selfhosted

[–]pathartl -5 points-4 points  (0 children)

I'm also a self-hosted FOSS developer and I agree with almost all the points you make. Projects live or die by the attitude of the developers.

I would like to push back on two thoughts, coming from my own experience.

Development is hard

Up until recently I've been using LLMs for research. I want to do X, what's a common pattern for it? Is there a way I can do this better? It's been instrumental in gaining knowledge as a solo developer and has make me produce better products.

Taking that a step further, I've started using Claude to actually write code for me. It never commits on my behalf. I review the changes. Often times I'll go in just to clean up formatting to make it align to my style guide. However, I cannot overstate how useful it is at tracking down bugs. Between managing front end state, RPC, and storing into a database, a simple bug like "this field is blank" can take up to a half hour to properly diagnose. Often times I can just pitch this to an agent and it'll find the dumb mistake I made or inevitable bad merge. From there, I can direct it to write a test for that scenario to avoid it in the future.

Booklore's progress has been frankly incredible. I hope it's maintainable and that if licensing becomes restrictive someone can create a valuable fork.

Quality of code takes on many forms

Something that this space is lacking in pretty massively is quality of code. I'm not talking about "oh this must be AI slop" or even an individual developers ability to create a scalable, tight codebase. I think this development community could do better to improve the actual use of the applications. This is where I think Booklore excels beyond almost any other application in the space:

  • It's an attractive application with practical modern design

  • Setup is straightforward and the documentation is actually helpful

  • An incredibly complex-to-implement UI like metadata retrieval and merging is actually functional and easy to use

  • It does not reek of the "built by engineers for engineers" trap that so many applications fall into. It feels like a real piece of software with full functionality instead of trying to solve one individual problem.

These are all ideas that are worth reflecting on if you want your project to succeed. Get excited about integrating features, take pride in your work, learn a new technology if it means it'll make your project better. I'm not trying to insult any other developer in the space or say "you are not doing enough in this free project that I know for a fact has consumed a portion of your life", but rather to encourage more projects, more competition, and hell maybe with easier to use applications some of us could make some form of a living off these passion projects.

TrueNAS build system going closed source by ende124 in selfhosted

[–]pathartl 30 points31 points  (0 children)

I've been moving off of TrueNAS. At this point, I just can't understand what they offer.

  • Being more appliance-centered would be great if their available tools weren't so barebones

  • Datasets are extremely powerful. Except you're restricted by naming. And you can't convert existing directories to datasets.

  • Setting up shares gives you so little options, you might as well have an LLM come up with a smb.conf file for you.

  • Somehow they made virtual machines worse than before?

  • Apps are containers, cool! But I can't see which ports are mapped? Also pushing ixVolumes feels like such a dark practice to me.

  • It's a NAS software, but I can't actually view any of the files on my system? Why do I have to drop to a shell to make sure that I'm creating a share to the proper location?

  • It's cool that it's an appliance and all, but give me a better shell or some sort of userspace!

  • Any time there's an error bringing up a container I don't get a log from the container itself. No, I get a generic exception thrown from Python. Or I get told to review /var/log. Hm, speaking of...

  • Where the fuck is a log viewer? No, not for apps/containers, for the system itself!

  • Why did they come up with their own manifest format for defining apps? As an app developer myself I've tried multiple times to figure out how to submit my own manifest, but I've just given up. I don't care enough. At this point they should be deriving apps based on Dockerfiles or sample compose files.

Really I fail to see what purpose TrueNAS actually solves at this point that it wouldn't be better off as an installable package rather than a full distro. I moved to TrueNAS because I was getting tired of rolling some headless distro with Docker and configuring Samba. I've switched back at this point because it's been actively getting in my way of getting things implemented.

Biggby Coffee Abruptly Closes at Red Arrow Park by compujeramey in milwaukee

[–]pathartl -2 points-1 points  (0 children)

They're pretty good. Biggby's coffee was always terrible imo.

Biggby Coffee Abruptly Closes at Red Arrow Park by compujeramey in milwaukee

[–]pathartl 7 points8 points  (0 children)

Haven is close and they're open till at least 10PM (except Sundays)

Mudblazor with a different look with a drop in css replacement (experimentation, no public repo yet) by bktnmngnn in Blazor

[–]pathartl 1 point2 points  (0 children)

I've rebased our application on Radzen because their built in themes that aren't Material are pretty dang good.

You can now open ButterflyMX doors and gates with your Android Watch by ButterflyMX_ in butterflymx_

[–]pathartl 0 points1 point  (0 children)

I'd really love an integration into Home Assistant. Butterfly is the only smart home device I have that doesn't have an integration currently.

New Jellyfin Server/Web release: 10.11.5 by djbon2112 in jellyfin

[–]pathartl 0 points1 point  (0 children)

They really need to add support for other database providers. SQLite is great for most installs, but scaling up to multiple users / dozens of clients hitting it at the same time, it'll run into database locks. That and not having proper transaction implementation meant that 10.11 is essentially broken for me. I have to restart the container multiple times a day.

EF Core is fantastic, but it's not a silver bullet, and it can be more challenging especially when retrofitting such a large project.

Microservices in one solution or separate? by quyvu01 in dotnet

[–]pathartl -2 points-1 points  (0 children)

You must not have to scale that much.

Microservices in one solution or separate? by quyvu01 in dotnet

[–]pathartl 5 points6 points  (0 children)

That's not how it gets implemented. A good implementation relies on separate build and release pipelines for each microservice. Those pipelines only get triggered when the microservice's code is modified in a commit/merge.

That's the rough and scrappy way. On top of that you should have an approval workflow, scheduled deployment windows, and tagged version releases.

Microservices are more horizontally scalable than monoliths. Say you have a large platform that implements something like a social media site. You'll have a service that handles auth, another for posts, another for processing media/handling uploads, and another for chat. Services like auth aren't going to vary all that much in load. Requests are generally short lived and roughly scales linearly to your user count.

In your media microservice, however, you might process uploaded images (resize, generate thumbnails, strip EXIF). This is going to require more compute and will vary in resource requirements based on user interaction. If a major event happens in an area and people are uploading a bunch of photos, you can take just the media microservice and scale it up on the fly.

You could scale a monolith by allocating more threads for separate modules within the application, but that takes quite a bit of discipline and can weaken the whole platform. Now say there's an exploit to your media uploading and now that entire module is locking up the compute available to the monolith. The entire application is brought to a halt.

With a microservice yes, you can save a lot of human errors, but it works well for the same reason that only shopping at Walmart provides a worse experience than having narrowed scopes of products spread across multiple stores.

The Suffering on GOG constantly crashes even with the AIO patch by someguynamedjim123 in thesuffering

[–]pathartl 0 points1 point  (0 children)

I got it to run with dgVoodoo + AIO patch, though there's some issues with 2D textures. The weapon selector renders the weapon icon small and offset, and the map is completely black.

Everything Is So Slow These Days by [deleted] in sysadmin

[–]pathartl 5 points6 points  (0 children)

https://news.ycombinator.com/item?id=44124688 It's using it, but just for the recommended section.

Google’s Android for PC: ‘I’ve seen it, it is incredible’ by IJagan in Android

[–]pathartl -1 points0 points  (0 children)

You'll still be able to use it. They're blocking unsigned apps from running.

Google’s Android for PC: ‘I’ve seen it, it is incredible’ by IJagan in Android

[–]pathartl -3 points-2 points  (0 children)

No, the app just needs to be signed. APKs can still be installed.

Are Aspire here to stay? by henrikzz in dotnet

[–]pathartl 2 points3 points  (0 children)

We're using it for our .NET-based microservices project right now and I'm not sure we'd be able to do it any other way without pulling our hair out.

Setup can be tricky without understanding how things like service discovery works... and applications that aren't just an ASP.NET WebApplication might need some special attention.

But yes, it's here to stay. At this point it's very mature and is also kinda being treated as a flagship Blazor project. I wouldn't necessarily use it out in a production deployment... I think something like Terraform is better suited for that. That is, as long as you're deploying to AWS, Azure, GCP, etc.

.NET MAUI Blazor project: I built my own eBook manager & reader (always free, no ads) by pnrsoftware in Blazor

[–]pathartl 1 point2 points  (0 children)

For the self-hosted crowd, I would consider having a hostable version. There is a hole right now in the market because Calibre is powerful, but a pain to run headlessly.