Nextcloud is a really good all-in-one solution for self hosting data
More or less the same but the user gets passed as a method parameter each time. Validators would be in my opinion a long function inside the service also with named variables like this because it’s just easy to read and there are no surprises. I’d probably refactor it at around 5 conditions or 30 lines of validation logic.
I recommend trying out using the constructor in services for tools such as a database and methods for data such as user. It will be very easy to use everywhere and for many users and whatever
const passwordIsValid = ...
if (!passwordIsValid){
return whatever
}
I like the service but the constructor parameter is really bad and makes the methods less reusable
I always thought of the “how” being better explained by the code itself where you can see string.replace(" ", "\ ")
as the actual fix while the message says the “why”.
I would still have “Fix a bug where strings containing whitespace break CSVExporter” as my go to message.
I guess our viewpoints are different based whether we want the commit messages to represent tasks or changes. They both have their uses of course. Looking at changes to a file to know what people have done to it is better with a “changes” type message but looking at the history to check “did we actually complete this or was it just marked as completed in the issue tracker?” is better with a task based message.
Task management where every issue is put on a ticket and tracked would my type of messages obsolete but at my current company theyre very useful.
I like good commit messages that use less words but still give the full picture. If something hacky was done then a comment is better. I like mine with imperative voice since it avoids writing a prose.
“Fix a bug where when doing x then y happens”
“Add setting to control x”
I think Nix is the future. I feel like at some point we could have fedora ublue for all distros by using nix with GUI configs.
I use printer with a USB personally. No issues with that but I got an HP printer that is really weird with the network stuff
The swappy bois are coming
Come to v18, things are nice here.
Don’t know why you would jump to that conclusion straight away. Mín billable hours and time spent thinking on the problem is a thing. Taking regular 5m breaks (pomodoro technique) also helps with getting things done and so on and people should be paid for it.
I mean, you should technically stop the clock if the wife calls to ask if there’s pasta at home but nobody really cares.
Adding significant amount of hours to a report would not be ethical but adjusting 10% to get paid for time laying in bed thinking about problems is still ethical from my point of view. It’s way more value than most meetings.
Your cultural context way vary.
We might live in a strange world where it’ll be easier to run Windows programs on ARM with Linux than on the OS they’re written for.
I think it depends on how you use the OS, Gnome is great until you have a bunch of outdated extensions that break stuff. My impression is that KDE is better for the “advanced” use case and gnome is better for the “default”. I tried gnome recently and I found it very pleasant and easy to use but I prefer KDE since it has more customization.
I’d argue it’s the other way around. Windows is doing the heavy lifting of being like KDE and when they try to do something themselves everybody hates it.
Any distro with KDE, when I was on Windows I thought Linux always looked like Gnome.
People may hate on SOAP but I’ve never had issues with setting up a SOAP client
I don’t mind xml as long as I don’t have to read or write it. The only real thing I hate about xml is that an array of one object can mistaken for a property of the parent instead of a list
Sorry, I mixed those up. Thanks for the correction
System76 is doing that these days. They put extra hardware support for their Linux distro TuxedoOS and I’ve heard good things.
Edit: System76 make PopOS and Tuxedo computers make TuxedoOS
To expand on that you can never instantiate an object of type answer07 since it’s a static class.
(For the students here the “static” modifier means “it’s on the class, not the object”. Non-static will only be accessible as a “obj.whatever” but static is accessible by “Class.whatever”)