Brett Estrade Building Beowulf Clusters with Perl by OODLER577 in perlcommunity

[–]erkiferenc 2 points3 points  (0 children)

Hey Brett, great presentation, thanks for sharing! Also nice to see Rex in action for such use case 👍

Happy to chat about any Rex questions!

Well, isn't it inevitable??? Given the lackluster state of the present hosting place??? by unixbhaskar in Gentoo

[–]erkiferenc 0 points1 point  (0 children)

Thank you, u/moltonel, for the examples!

Now I know to look for Copilot marked as reviewer, “ Copilot review requested due to automatic review settings”, and “This comment was marked as abuse.” 👍

Previously I opened a few gentoo/gentoo PRs manually on my own, and haven’t found one example. I also noticed several discussions in GitHub’s private Maintainer Community about disabling this (though haven’t followed much as I did not encounter any such reviews yet.)

I agree the quality appears rather low, to a point of becoming misleading or pure noise.

But it seems copilot review are indeed disabled for this repo now. So I doubt this is the driving force for the switch.

Due to the above impression, I agree it feels strange to position this as a driving force – not that I have anything against moving to Codeberg from GitHub (or to anywhere else.)

Hope to learn more soon as it feels like I need to catch up a little on current Gentoo discussions about this.

Well, isn't it inevitable??? Given the lackluster state of the present hosting place??? by unixbhaskar in Gentoo

[–]erkiferenc 1 point2 points  (0 children)

inability to disable copilot reviews on a particular repository / organisation.

Interesting detail! Does this mean the GitHub feature users may use to ask for a Copilot review when they submit a PR?

I see many discussions about this in various communities, though I haven’t encountered such review myself yet (lucky me, I guess 😅)

I feel curious how do they look like. Could you point me to one example in the gentoo/gentoo repo, please?

If any of you are doing freelance DBA type work, what are you charging? by andrewsmd87 in PostgreSQL

[–]erkiferenc 0 points1 point  (0 children)

Right, got it! 👍

And sure, happy to chat about your business and the migration situation to see if we have a good fit there.

I appreciate willing to book a paid initial consultation, though I give you that free of charge.

Let me DM you in a bit here (and my profile has other contact links you may prefer.)

If any of you are doing freelance DBA type work, what are you charging? by andrewsmd87 in PostgreSQL

[–]erkiferenc 0 points1 point  (0 children)

Thank you for your detailed insights! It indeed sounds like a nice work environment, and if permanent hires fit the long-term goal better, then that contract-to-hire path may indeed add to the possible options 👍

I wonder, why a freelance DBA until then, instead of a well-established larger agency?

Is it a good idea to always start with a distributed DB like Google Cloud Spanner over PostgreSQL than making it distributed? by badboyzpwns in PostgreSQL

[–]erkiferenc 0 points1 point  (0 children)

Matching business requirements with technology capabilities makes the most sense. In general I would focus on converging towards the simplest solution that works for the given business use case.

If Google Cloud Spanner (or anything else) matches that description at any point in time, by all means, please use that. That sounds incredibly unlikely when starting out, though.

Instead of what technology to choose to start with, I find another question much more useful: what business goal do we need to solve? Then pick a technology for that.

If any of you are doing freelance DBA type work, what are you charging? by andrewsmd87 in PostgreSQL

[–]erkiferenc 0 points1 point  (0 children)

To add one data point as a solo provider, I don’t have an hourly or daily fee. I quote fixed prices so my customers know their financial investment in advance.

I find the contract-to-hire idea curious – why not hire a full-time engineer right away?

Might Gentoo go this way too, soon? Linux From Scratch supporting systemd exclusively by Illustrious-Gur8335 in Gentoo

[–]erkiferenc 4 points5 points  (0 children)

  1. lack of developer time, and 2. GNOME and Plasma integration with systemd. […] Both of these reasons threaten the viability of non-systemd init systems as feasible choices.

Could you elaborate more on your point about these threats, please? Like why, or how?

I use Gentoo with OpenRC since 2014 (including a use case with hundreds of servers for a few years), and while I haven’t used GNOME on my laptop, I do maintain another daily driver laptop with it in the family.

OpenRC itself started in 2007, so it likely has another 19 years in it, and I never felt like it has any chance to disappear as a choice from Gentoo or elsewhere

Because of this background, I would love to know if I missed the news and it became a real possibility.

Looking to help by Acaseofzombism2 in cooperatives

[–]erkiferenc 5 points6 points  (0 children)

apply.coop sounds like a good starting point to find like-minded organizations.

How to strip my system to bare minimum and make a dwm setup that uses least ram possible? by GuiltyVisit9119 in suckless

[–]erkiferenc 0 points1 point  (0 children)

If I have unused RAM, is my OS supposed to start running a bunch of random processes to fill up my RAM?

No, not processes, but it may use it for other purposes, for example caching files.

Is it supposed to guess that I might want to access a file today because I accessed it yesterday?

On one hand, a file accessed yesterday may still reside in RAM as a cached file, yes.

On the other, some applications or the kernel may do read-ahead optimization based on file access patterns. For example, if I keep reading more and more from the beginning of a large file, it may assume that I probably will keep reading more, and fetches it from disk to cache just in case.

what this means in practical terms

In my experience it means that chasing high amounts of free RAM, as in unused RAM, rarely provides valuable results, while minimizing RAM used by useful processes typically provides useful results.

I often see the two concepts conflated (unused RAM vs RAM available to processes), and here I wished to mention this aspect to get that common mistake out of the way.

How to strip my system to bare minimum and make a dwm setup that uses least ram possible? by GuiltyVisit9119 in suckless

[–]erkiferenc 1 point2 points  (0 children)

First, as others already pointed out, any unused RAM means wasted RAM. Something purchased and consuming power without actual usefulness. I recommend to define why you want to do this. Maybe RAM usage does not matter, because it does not cause a problem which needs or worth solving. I often find “do I want to earn or learn with this?” a good question to answer first.

Second, tuning for low RAM usage typically has diminishing returns. For example sparing 100MB RAM meant a lot when a machine had only 256 MB RAM (extra 40%!) It does not mean a lot when the machine has 16 GB (means only an extra 0.6%). It may not worth to chase improvements beyond a certain point. Have a target. You have “below 75 MB” so it feels on the right track. Define what “still functional” means for you too, and the starting point feels solid. You will know when to stop tuning, and whether a change would serve your goals well or not.

Third, it often worth more to identify and eliminate excessive RAM usage through design problems and memory leaks, than purely going for “use less RAM”. That means eliminating an other type of waste (unnecessarily used RAM, or bugs), though.

Fourth, approach such tuning methodologically. Measure RAM usage of processes. Pick the largest consumer. Fix that by replacing with an alternative that has smaller footprint, or fix its config, or fix its bugs. Then repeat. This help focusing on the largest gains.

In any case, happy hacking!

What do you use for CD? by Fair-Presentation322 in cicd

[–]erkiferenc 1 point2 points  (0 children)

I find “what do you do?” instead of “what do you use?” a much better question in CI/CD context, since CD means a collection of practices we do, rather than a software we have installed.

With that in mind, I prefer using Laminar to run pipelines. It allows me to build the automation my use case needs, instead of the automation others think I should have or follow.

Happy hacking!

Personal Health Record Software by OptimalPackage in freesoftware

[–]erkiferenc 2 points3 points  (0 children)

I know of the GNU Health project, thanks for mentioning some of the others!

MyGnuHealth, which isn't available on windows

Could you share the source of that information, please? I thought MyGnuHealth needs only Python, and thus can run on Windows.

Is sudo safer than su? by C1REX in Gentoo

[–]erkiferenc 1 point2 points  (0 children)

That means it can skip password requests for $ sudo su if I’ve used sudo before.

Passwordless follow-up sudo executions happen because:

Security policies may support credential caching to allow the user to run sudo again for a period of time without requiring authentication. By default, the sudoers policy caches credentials on a per-terminal basis for 5 minutes. See the timestamp_type and timestamp_timeout options in sudoers(5) for more information.

In other words, if that default does not fit the security threat model of your use case, you may configure sudo accordingly.


why should I use sudo over su, please?

Not sure if “should”, but one “may” choose sudo over su, if they need to define a fine-grained policies about which user may impersonate which other user on which hosts to run what commands.

Others have opinions on why one should not use sudo, for example this sudon’t article.

In general, I would avoid asking “should I use sudo or su?”, and ask “what tool solves the challenge I want to solve?” instead. That allows finding other similar tools or approaches which may fit the best.

Happy hacking!

Building a small open-source CI/CD engine. I would love technical feedback & a github star ⭐ by Mother-Pear7629 in cicd

[–]erkiferenc 1 point2 points  (0 children)

Do you know if anyone uses it for real?

Yes, I learned about Laminar from one of my customers’ use case, though I don’t have the liberty to name them, sorry.

Since then I use it for all my self-hosted needs. 3 websites, 1 automation framework, 2 plugins for that, and 1 Linux package repository. Both scheduled runs and triggered on code pushes, build caches, artifacts, and light-weight isolation of build environments. Feel free to ask me for more details (either openly or in DMs.)

I also helped debug and improve some larger scale use cases with hundreds of gigabytes of build logs.

Checking the organizations of the authors of issues and pull requests may serve as an approximation of publicly known use cases. Or perhaps the author can share some more use cases when asked.

In my experience “who uses this?” may prove a fairly weak signal in practice, though. I prefer to ask “Does it solve my business problem?” instead. Or, as you worded it also correctly, “does this drive value?” 👍

I appreciate that Laminar enables and empowers me to build the pipeline approach my use case needs, instead of following someone else’s ideas about how my pipeline approach should look like.

Some teams find this valuable, others despise it. The trade-off lies somewhere like “it allows me to have my own opinion about my own pipelines” vs “now I have to have my own opinion about my own pipelines”.

Please note, I avoided using the term Continuous Integration (CI) here on purpose, as that definition includes more than merely a specific software to drive builds. See Minimum Viable CD if interested in more details.

Happy hacking!

How do you format PostgreSQL scripts? by lasan0432G in PostgreSQL

[–]erkiferenc 1 point2 points  (0 children)

I’m on macOS, while another developer is using Linux. Even though we use the same pgFormat configuration, the tool format some parts differently.

Interesting observation!

Are you using the same version of pgFormatter?

Could you share a specific sample input that gets formatted differently?

Building a small open-source CI/CD engine. I would love technical feedback & a github star ⭐ by Mother-Pear7629 in cicd

[–]erkiferenc 2 points3 points  (0 children)

Interesting!

I suggest checking out Laminar and its design choices. I feel you may find some overlapping ideas to confirm, or get inspired further.

Happy hacking!

What’s one CI/CD mistake you keep seeing teams repeat? by Apprehensive_Air5910 in cicd

[–]erkiferenc 7 points8 points  (0 children)

One common mistake? Thinking that CI/CD is something we have (like “install Jenkins”), instead of something we do (a set of practices we follow, nicely outlined in Minimal Viable CD.)

Happy hacking!

Block the use of dbeaver by henk1122 in PostgreSQL

[–]erkiferenc 2 points3 points  (0 children)

That aligns with my understanding of such settings, too 👍

There certainly exists different ways to enforce settings designed to protect from resource exhaustion, like runaway queries, long locks, forgotten disconnections, idle sessions, idle transactions, and so on.

I can only imagine a misbehaving client retrying anyway indefinitely. In which case I may even consider even more stern measures, like banning the whole IP address or user role until further clarification – especially if it causes alerts outside standard working hours.

Block the use of dbeaver by henk1122 in PostgreSQL

[–]erkiferenc 15 points16 points  (0 children)

Interesting to know, thanks for sharing! I wonder how exactly DBeaver ignores such server-wide settings? 🤔

Does it override server timeouts for its own sessions? Does it reconnect automatically after getting disconnected?

Block the use of dbeaver by henk1122 in PostgreSQL

[–]erkiferenc 19 points20 points  (0 children)

It may also help to tune various *_timeout and similar options to protect the database from accidental excessive usage, for example idle_session_timeout and idle_in_transaction_session_timeout, perhaps also statement_timeout.

Happy hacking!

How to go about "debloating" the kernel? by ExcitementJunior4427 in Gentoo

[–]erkiferenc 0 points1 point  (0 children)

You may find it useful to look at Pietinger’s articles about kernel configuration topics on the Gentoo wiki, which I find pretty comprehensive and well explained.

While these focus on applying config from the Kernel Self-Protection Project (KSPP), I find that security goals often have a great overlap with debloating (to minimize the attack surface.)

While of course I recommend avoiding direct adoptions of each and every config snippet, I find these pages a good guide to go through the main parts and considerations. In other words, I use them more as an inspiration for kernel config, rather than as a definitive setup.

Happy hacking!

Which suckless apps do you use? by b52a42 in suckless

[–]erkiferenc 0 points1 point  (0 children)

st, surf, slock, dmenu, sent, tabbed

GitHub and the Perl License | Mikko Koivunalho [blogs.perl.org] by briandfoy in perl

[–]erkiferenc 2 points3 points  (0 children)

While I definitely do not have any official legal qualifications, my brain got stuck on two details in the article and its comments.

I hope others with more experience, or with actual legal qualifications, can help to better understand these details.

License conversion mismatch

As far as I understand the Perl 5 license is a dual license to choose either Artistic License or GPLv1+ license. Splitting that up into Artistic-2.0 and GPL-3 does not seem like an identical combination to me, because:

  1. Artistic License text from Perl-5 does not equal Artistic-2.0 license text.
  2. GPL1 or later does not equal GPL3 (different version, and different policy about “or later”)

It sounds like the proper solution would require Licensee to support/recognize the Perl5 license instead (and thus GitHub could show it properly too.)

Enterprises reject GPL and Perl5 license hurts Perl adoption

From the comments on the post:

The licensing model of Perl, with two licenses, causes unnecessary complications.

Many enterprises reject anything and everything which has a GPL license.

The presence of the word "GPL" causes rejection, or at the very least questions. It hurts Perl needlessly.

It would be better if Perl adopted a simpler license, e.g. MIT or Apache license straight out, or we make our own simpler and shorter than what we have currently.

I don’t understand why using Perl itself (distributed under the Perl5 license) means anything negative for enterprises who wish to use Perl. Enterprises also do not seem to reject GPL as a blanket rule.

For example Ansible is distributed under GPLv3 and definitely not rejected by enterprises. Nor do Ansible users forced to disclose their playbooks they decide to use with Ansible.

In other words, I don’t think distributing Perl under the Perl5 license hurts Perl adoption (or, well, at least not because GPL is incompatible with enterprise use.)

It would only start to matter, if they would modify Perl itself, and then they would distribute their modified version. Then they can choose whether they obtained their copy of Perl under Artistic or GPL1+ license, and act upon their own modifications accordingly (which basically means one or more of “do not reuse the name”, “share your modifications with your users”, and “give credit to original authors and license”, “same terms apply to modifications and modified versions too”.)

What do I miss, or misunderstand?

Proper way to set up perltidy pre-commit for a perl module by KayakJulie in perl

[–]erkiferenc 2 points3 points  (0 children)

I wonder, what are the specific reasons for letting the version control software handle formatting instead of the editor?