@ferki@fosstodon.org
@ferki@fosstodon.org avatar

ferki

@ferki@fosstodon.org

independent performance consultant & advisor · #Rex #Perl #Gentoo #PostgreSQL · #cicd #devops #opensource

This profile is from a federated server and may be incomplete. Browse more on the original instance.

rrwo, to random
@rrwo@floss.social avatar

I'm trying to understand a issue.

I have ssh configured with agent forwarding.

If I run

ssh -A server "ssh -T git@github.com"

it works, as does

ssh -A server "cd /path && git pull origin main"

But when I run that git pull command through Rex, I get a "Permission denied (publickey)" from github.

The Rex command works on other servers.

(I've run into this before but don't remember how it was fixed.)

Any ideas?

ferki,
@ferki@fosstodon.org avatar

@rrwo Check the debug output with rex -d to see which SSH implementation Rex picks up under the hood.

Key auth works and configured differently between Net::SSH (based on libssh2) and Net::OpenSSH (based on openssh binary).

If it works with the ssh binary manually, I guess Rex picks up Net::SSH under the hood either explicitly, or due to missing Net::OpenSSH. Then either libssh2 needs a hint which key to use, or Rex needs a hint to use Net::OpenSSH instead (which is the default, if present).

sushee, to random
@sushee@fosstodon.org avatar

hey my fellow old hackers, who of you did blosomx and in what year was that?

ferki,
@ferki@fosstodon.org avatar

@sushee do you mean blosxom, the blogging app?

Hope this helps: http://www.blosxom.com/license.html

(assuming the blosomx form is a typo)

ferki, to random
@ferki@fosstodon.org avatar

I understand your desire to migrate away from .

Should you need support with the move, I'm accepting a few new clients in the coming weeks.

Book a chat via https://cal.com/ferki or contact me on my other channels.

ferki, to PostgreSQL
@ferki@fosstodon.org avatar

I celebrate 4 years of being an independent service provider by starting to offer fixed-price solutions specific to topics I get approached with repeatedly and an initial 10% discount when ordered during 2024 April!

The first such offering is audits, where I actively work together with your team to gradually fix the discovered opportunities, continuously act on new data, and enable them to keep the database tidy on their own in the future.

https://ferki.it/pages/solutions.html#postgresqlperformanceaudit

mergy, to linux
@mergy@self.social avatar

Many many years ago I was really into uptime on my servers. It wasn't uncommon to go a year or almost two if I could carefully wrangle it. I think kernel updates were much slower to roll-out.

I still look at that especially if there are known/seen memory leaks on stuff but just wondering how other folks feel nowadays. Do you reboot after 3-6 months or something just because if you don't need to now?

ferki,
@ferki@fosstodon.org avatar

@mergy Whenever I'm responsible for the reliability and high availability of some system, high uptime and "reboot needed" is a standard alert condition me and my team can fix during normal workhours by actually rebooting. I find normalizing the reboots increases trust across the board, and also improves training in the standard procedures. The uptime threshold depends on the given project, but I rarely go above 30 days of uptime in practice.

ferki, to random
@ferki@fosstodon.org avatar

I submitted a talk proposal for the dev room about maintaining a large Perl project long-term.

While today is the deadline, it's still not too late to send your own proposal too!

Call for papers: https://lists.fosdem.org/pipermail/fosdem/2023q4/003537.html

The Perl and Raku Foundation even offered mini grants for speakers and volunteers who help run the stand: https://news.perlfoundation.org/post/fosdem2024minigrants

If you can attend, those are great ways to give back to both the Perl and wider open source communities.

See you there! 👋

eikenberry, to modularsynth
@eikenberry@a2mi.social avatar

When one downloads NASA radio recordings, one must also put them into your modular setup.

Apollo 10 -> filter, + plaits -> clouds

ferki,
@ferki@fosstodon.org avatar

@eikenberry Awesome! I love these kind of radio transmissions composed into musical arrangements.

This reminds me of the excellent Mission Control radio: https://somafm.com/missioncontrol/

🚀 🧑‍🚀 🌕

miek, to random

To the paper bin! It was fun while at lasted

ferki,
@ferki@fosstodon.org avatar

@miek It looks like to be in great condition, and could be useful for a local library, or for someone who is interested to have it.

Could you consider donating/selling it instead of trashing it?

ferki,
@ferki@fosstodon.org avatar

@miek Hmm, I often see high interest for these books in the relevant Perl-themed Facebook groups and subreddits. I guess people could pay for the shipping fee if you are willing to send it to them.

Otherwise, yes, decluttering stuff can feel great!

ferki, to Perl
@ferki@fosstodon.org avatar

Inspired by a 2013 tweet from @garu, I end up querying GitHub for basic project stats from time to time out of curiosity.

Here are the data points I have so far:

  • 2013-09-07: ~50k repos, 11 with >500 stars, 2 with >1k stars

  • 2021-11-09: ~133k repos, 129 with >500 stars, 56 with >1k stars

  • 2023-11-11: ~125k repos, 156 with >500 stars, 74 with >1k stars

The query used is like language:Perl stars:>500

Sharing in hopes others find it interesting.

/cc @Perl

ferki,
@ferki@fosstodon.org avatar

@dboehmer It's a good question, though I don't have answers or conclusions.

I think it is a combination of these factors at least:

  • the reported numbers are not exact above a certain (unknown to me) threshold, and sometime even vary for the same query few minutes apart (so the grand total is more like an estimation)
  • GitHub's own idea/project about how to classify the project language changes over time
  • more and more projects and communities moving away from GitHub, especially FLOSS ones
ferki,
@ferki@fosstodon.org avatar

@es0mhi @Perl Sure, there are several aspects and perspectives!

Everyone may convert the data points to information as they see it fit relevant for their own situation and point of view.

Here I did not try to draw conclusions or even suggest interpretations on purpose.

Though, some of my own thoughts were:

  • raw numbers generally seem increasing over time
  • repo ratio may seem decreasing over time
  • it's only public repos
  • it's only GitHub repos

I guess all those are kind of as expected.

ferki,
@ferki@fosstodon.org avatar

@matsuzine @es0mhi @Perl Right! According to https://cpan.rocks only about 1/3 of CPAN has git as version control.

It's also unclear what GitHub reports as "this is written in Perl" exactly, and the docs don't seem to say. Clicking the results randomly, the rule seems to be "where the largest chunk of a project is Perl" (not necessarily majority with multi-lang projects).

Maybe it's just "the project has any amount of Perl". I couldn't find such an example, but can't rule it out either.

ferki,
@ferki@fosstodon.org avatar

@ChristosArgyrop @matsuzine @es0mhi @Perl I agree it looks line-based categorization (and not for example statement-based).

My first question is about what exactly the language:Perl filter lists as a Perl project? Is it Perl-only, Perl-majority, largest-chunk-is-Perl, or any-Perl?

Consider https://github.com/Jack000/Expose, which is reported as:

  • ~30% Perl
  • ~25% Shell
  • ~25% JavaScript
  • ~14% CSS
  • ~6% HTML

Second, is that a Perl project in general, or just according to language:Perl on GitHub?

hikhvar, to random German
@hikhvar@norden.social avatar

Mal kurz aufgeschrieben, was mir heute morgen schon den Tag gerettet hat. JQ kann exit codes basierend auf dem letzten Boolschen Ausdruck

https://www.journal.petrausch.info/post/2023/10/jq-exit-code/

ferki,
@ferki@fosstodon.org avatar

@hikhvar Nice, I agree jq -e is often useful! 👍

If you like jq, and mention json2yaml, you might also be interested in yq as well ;)

It's a wrapper for jq to support YAML, XML, CSV, TSV, TOML, etc. formats.

There are actually several implementations of it, so one may choose which one fits their needs best. For example:

Happy hacking!

ferki,
@ferki@fosstodon.org avatar

@hikhvar Good point, maybe even can be mentioned in the post!

I only used yq in my own homelab, where I knew which implementation is present (because it's installed on my hosts from the same source and via automation).

Sharing scripts with yq outside a controlled environment might indeed be problematic, and potential compatibility issues should be mentioned 👍

As long as they just pass arguments to an underlying jq, they might be compatible, though.

Meh, yet another TODO to investigate 😅

leonerd, to random
@leonerd@fosstodon.org avatar

I want to make a little server service that opens a UNIX socket, and has clients connect to it to send it commands and wait for responses, or to subscribe to being sent notifications.

I'm definitely sure I could easily hack myself up something custom, but I don't want to. Is there a standard module I can use for this kind of thing? Can anyone name something that already exists?

ferki,
@ferki@fosstodon.org avatar

@leonerd Perhaps something MQTT-based fits, especially for the pub/sub pattern?

I used Net::MQTT::Simple from CPAN with mosquitto before for something similar (subscribing to an MQTT topic to trigger Rex automation tasks).

piger, to random

what I call “the perl grep" is one of the most useful tools I can think of, albeit a bit cumbersome to type:

$ echo "give me 12345 numbers" | perl -nl -e '/(\d+)/ && print "$1"'
12345

ferki,
@ferki@fosstodon.org avatar

@piger I also often find myself using perl for similar things ^^

A more typing-friendly version of this is:

echo "give me 12345 numbers" | perl -nle 'print /(\d+)/'

or even:

echo "give me 12345 numbers" | perl -nlE 'say /(\d+)/'

ferki,
@ferki@fosstodon.org avatar

@piger Glad you like it, happy grepping!

ferki,
@ferki@fosstodon.org avatar

@dboehmer @piger @Perl Sure, by default I use ripgrep (and used ack before for ages) to search for patterns in files.

When I need vanilla grepping, I use Perl-compatible regular expressions with grep -P.

What remains is the use cases where perl -nlE fits best.

matt, to github

Arguing with the developers at work that it’s silly that GitHub won’t let you download individual files from a repo.

ferki,
@ferki@fosstodon.org avatar

@chechoribero @matt I often use the raw link to various files, and there is a direct "Download raw file" button too.

Hope this helps!

ferki,
@ferki@fosstodon.org avatar

@matt @chechoribero That sounds strange! 😲

Just to make sure we're looking at the same thing, here's the official docs:

https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#viewing-or-copying-the-raw-file-content

Do I get it correctly there's no download button in your case as shown in the screenshot, and described in step 4?!

ferki,
@ferki@fosstodon.org avatar

@matt @chechoribero It indeed sounds and looks like a different version of GitHub than the publicly available one. Not sure if it's a different Enterprise version, or a possible configuration option (or both) 🤔

In any case, it's good to be aware of this scenario, and it might be interesting for me to investigate further sometime. Thanks for sharing!

9Lukas5, to random German
@9Lukas5@mastodontech.de avatar

Ich suche: Gründe warum ein Business mit Workflow zu wechseln sollte.

Also, was hat man davon für Vorteile, damit sich der Switch sinnvoll begründen lässt 💁🏼

Haut raus 👀

ferki,
@ferki@fosstodon.org avatar

@9Lukas5 The main difference is that Git is distributed, while SVN is centralized.

I often advise my clients to choose the tool which fits their actual needs, workflows, and goals, instead of choosing their workflows and goals to fit the tool.

The main business reason to switch from SVN to Git is if the organization could perform better that way (deliver more often or reliably, save costs, hire easier, etc.)

It's less about which VCS is better, it's more about which fits the situation best.

ferki, to random
@ferki@fosstodon.org avatar

PgBouncer 1.21.0, “The one with prepared statements”, is available from today! 🎉

https://www.pgbouncer.org/2023/10/pgbouncer-1-21-0

It's certainly great news for anyone who couldn't benefit from PgBouncer so far, due to lack of prepared statement support in transaction and statement pooling modes.

I know it could've been a simple game changer for some of my clients as performance advisor. In my experience, typically Ruby on Rails shops using ActiveRecord with Heroku Postgres may benefit a lot.

Now the wait is over! 🎉

  • All
  • Subscribed
  • Moderated
  • Favorites
  • anitta
  • InstantRegret
  • mdbf
  • ngwrru68w68
  • magazineikmin
  • thenastyranch
  • rosin
  • khanakhh
  • osvaldo12
  • Youngstown
  • slotface
  • Durango
  • kavyap
  • DreamBathrooms
  • JUstTest
  • tacticalgear
  • ethstaker
  • provamag3
  • cisconetworking
  • tester
  • GTA5RPClips
  • cubers
  • everett
  • modclub
  • megavids
  • normalnudes
  • Leos
  • lostlight
  • All magazines