@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.

ferki, to opensource
@ferki@fosstodon.org avatar

It's nice when people say thanks for my volunteering work.

It's great to learn about the unexpected use cases of my solutions.

It's exciting when someone books me for an open source office hour session.

It's awesome when they even book my professional services for our mutual benefit.

snonux, to fedora
@snonux@fosstodon.org avatar

I have tried #Plasma6 on my #Fedora laptop. Seems all great, but I reverted back to #GNOME. I prefer the simplicity of GNOME. Yes, you can keep Plasma simple as well, but I am too tempted to tinker with all the possibilities there. Looking forward to try out #COSMIC deskop one day, though. But GNOME has been my daily driver (on my personal laptop) for more than ten years and I keep it pretty much in its vanilla config. Most of my work is done in the terminal anyway.

ferki,
@ferki@fosstodon.org avatar

@snonux > Most of my work is done in the terminal anyway.

Haha, yes! That's why over the years I was gradually moving towards the least amount of overhead on top of what I actually need and use.

From GNOME, I switched to XFCE, then to i3, then to xmonad. Curious what will be my next local optimum when the time comes 😅

ferki,
@ferki@fosstodon.org avatar

@snonux Yeah, that rabbit hole is real, though with both i3 and xmonad I only had to invest in the initial setup, then I could afford not to think about it for years.

I guess that's because I want a minimal approach with least amount of distractions and most amount of screen pixels for whatever I'm focusing on at the moment ^^

Since I spend 90+% of my attention in terminals, that's where I spend most of my optimization effort, and the DE/WM itself is just an incidental accessory for me too.

ferki,
@ferki@fosstodon.org avatar

@snonux I mostly used only the builtin display of my laptops, and I now have a 24″ external one for my business. It's important for me to have the same (FHD) resolution, so my mental workflow is independent of which screens I'm using.

My window tiling approach is either the window gets full screen, or the WM distributes windows in an even grid keeping window sizes close to the aspect ratio of my screen (with a rarely used toggle to prefer horizontal or vertical split for the first split).

foone, (edited ) to random
@foone@digipres.club avatar

I'm a "full stack developer", in that my stack is full and if you try to push any more tasks on me I'm gonna overflow it and start corrupting my own memory

ferki,
@ferki@fosstodon.org avatar

@foone That's why I prefer empty queues.

kta, to PostgreSQL
@kta@hostux.social avatar

In database land today. Thinking through striping and mirroring on . Klara Systems has unpacked a lot of this:

... This means two things: solid state and mirrors. SSD drives provide far lower latency than conventional drives possibly can. And mirrors provide far better random access performance than RAIDz can—particularly when we’re talking about small random access ops, which can’t be effectively spread across tons of disks in a wide striped vdev...

[1] https://klarasystems.com/articles/openzfs-storage-best-practices-and-use-cases-part-3-databases-and-vms/

ferki,
@ferki@fosstodon.org avatar

@kta I've found the following an interesting read a while back on the performance and robustness considerations of running #PostgreSQL on #ZFS:

https://vadosware.io/post/everything-ive-seen-on-optimizing-postgres-on-zfs-on-linux/

Happy hacking!

jan, to linux
@jan@kcore.org avatar

Has anyone ever seen the effect that a top-level recursive shows no more changes, but then going in the sub directories and doing individual rsyncs does give a lot of diff?

We're trying to figure out why that happens, and coming up empty.

Both FS are ext4, source server has been quieted (and FS even mounted r/o to make sure)

Rhel7 to rhel8. Rsync 3.1.2
Please boost.

ferki,
@ferki@fosstodon.org avatar

@jan Sounds interesting!

Adding -i or --itemize-changes to the rsync options should make it "output a change-summary for all updates", like this:

>f..T...... filename

If you add it twice, it should output it even for unchanged files on recent enough rsync versions.

The manpage of rsync explains the meaning of those flags. For example the above is:

> means the item is being received
f means it's a file
. means unchanged attribute
T means the modification time will be set

Hope this helps!

ferki,
@ferki@fosstodon.org avatar

@jan Sooo...did --itemize-changes help explain why rsync thinks it should sync specific items again?

I'm curious what's causing the behavior you described 🤔

ferki, to KindActions
@ferki@fosstodon.org avatar

perlthanks is a shortcut for perlbug -T to "send a thank-you note instead of a bug report".

With #Perl, #gratitude is a feature.

See the docs: https://perldoc.perl.org/perlthanks#Can-you-use-perlbug-to-submit-a-thank-you-note

oddly, to gentoo
@oddly@toot.re avatar

question; what is the best way to share a small improvement on an ebuild in the Guru repo? Asking to become a contributor sounds like overkill, with getting PGP working and all.

Would it be best to just create my own repo and add it to the list so it can be discovered?

@gentoo

(The improvement is making iio-sensor-proxy work on openRC by implementing a fix I found on the forums. Not that impressive, though now my Chromebook runs perfectly :))

ferki,
@ferki@fosstodon.org avatar

@mid_kid @oddly Yep, GitHub pull requests may work, and the official bugzilla has a dedicated GURU product to collect issues:

https://bugs.gentoo.org/enter_bug.cgi?product=GURU&format=guided

In other words, it's possible to open tickets as usual, including ones with proposed patches.

Happy hacking!

ferki,
@ferki@fosstodon.org avatar

@oddly Sounds great!

Thinking more about it, bugzilla may work a lot better for sending patches because:

  • the gentoo/guru repo on GitHub is only a mirror of the real repo, so merging pull requests there won't work directly
  • even if that would work, GURU maintainers in general don't have permissions to merge stuff inside the gentoo organization on GitHub

At the same time, bugzilla tickets are assigned directly to the maintainer of the ebuild in question.

ferki, to gentoo
@ferki@fosstodon.org avatar

#Vale, the “syntax-aware linter for prose built with speed and extensibility in mind”, has a new v3.4.2 release.

My overlay already makes it available for fellow #Gentoo users. I also contributed the same ebuild to the official Gentoo GURU overlay.

See my post for links: https://blog.ferki.it/2024/05/01/packaging-vale-3-4-2-for-gentoo/

Happy hacking!

ferki, to gentoo
@ferki@fosstodon.org avatar

#st, “a simple terminal implementation for X”, has a new 0.9.2 release.

My overlay already makes it available for fellow #Gentoo users. I also opened PR#36534 in the official Gentoo ebuild repository as proxied maintainer.

See my post for links: https://blog.ferki.it/2024/05/03/packaging-st-0-9-2-for-gentoo/

Happy hacking!

ferki, to gentoo
@ferki@fosstodon.org avatar

describes itself as a "C daemon that turns your webcam into a light sensor".

My overlay has the latest v4.11 release available for fellow users.

See my post for links: https://blog.ferki.it/2024/05/01/packaging-clight-4-11-for-gentoo/

If you liked similar software such as Calise and Redshift, and you are looking for an actively maintained solution, setting up Clight may be a good weekend project :)

Happy hacking!

ferki, to gentoo
@ferki@fosstodon.org avatar

I'm going to host an online workshop for the Gentoo e.V. on 2024-06-15 about how to "Host Gentoo dependency tarballs as GitHub releases".

I'll show how to use GitHub for dependency tarballs as an external #Gentoo #contributor, such as a proxied maintainer, a GURU committer, or an overlay #maintainer.

I use this approach to package #opensource #Golang software, and it can be applied to other similar situations, or even automated through local scripts or GitHub Actions.

https://gentoo-ev.org/news/online-workshops-2024/

ferki,
@ferki@fosstodon.org avatar

If you are impatient to learn about the approach, I blogged about it earlier at https://blog.ferki.it/2023/04/24/host-gentoo-dependency-tarballs-as-github-releases/

ovid, to javascript
@ovid@fosstodon.org avatar

I started programming in 1982. Though I'm known as a developer, I tried to remember every other languages I've programmed in.

, #C, 6809 Assembler, , VBScript (and its many variants), , , , , , , Easytrieve, and probably a few others.

I wish I had gotten a job in Prolog, primarily because I loved what I could create with it. I don't love programming; I love creating.

What are you languages?

ferki,
@ferki@fosstodon.org avatar

@ovid Hmm, let's see:

Larger uses: BASIC, Turbo Pascal, C, Bash, PHP, Perl

Smaller extent: Haskell, Python, Go, AWK, JavaScript, Ruby, C++, Lua, Vimscript

People keep telling me I would enjoy (Common) Lisp, but the proper project I could use as an excuse haven't found me yet 😅

musicman, to postgres
@musicman@mastodon.social avatar

I need to write 8 articles. Any thoughts on what I should write about?

ferki,
@ferki@fosstodon.org avatar

@musicman How about discovering the job market around PostgreSQL, interviewing various companies about their work culture and hiring approach, then post an update each month?

ps.: seeing the weird circumstances around the assignment, I originally wanted to mark the above as joke/sarcasm, but the more I think about it, the more I'm convinced it would work as a serious topic to cover.

peateasea, to random
@peateasea@mastodon.social avatar

Once upon a time, I used to take an active part in the Pull Request Challenge (and later in the Pull Request Club). When addresssing Perl::Critic violations in my assignment for the month, one violation which tended to crop up often was stringy eval. Generally, this is something to be avoided. But how? In the post below I discuss recommended best practices and some other options.

https://peateasea.de/avoiding-stringy-eval-in-perl/

ferki,
@ferki@fosstodon.org avatar

@peateasea Thanks for publishing and sharing!

If one would like to use a core module instead of try_load_class() from Class::Load, they might be interested in can_load() from Module::Load::Conditional:

https://metacpan.org/pod/Module::Load::Conditional

Particulary in tests, one may also be interested in either of:

Hope these are useful additions for readers wishing to avoid stringy evals! Happy hacking :)

ferki,
@ferki@fosstodon.org avatar

@peateasea oh, thank you for including it in your post! :blobcataww:

I'm glad you found it so useful!

peateasea, to vim
@peateasea@mastodon.social avatar

Some editors seem to randomly insert non-breaking spaces. This can be a pain. In replace them with normal spaces like so:

:%s/<Ctrl-V>u00a0/ /g

where u00a0 is the utf-8 sequence for a non-breaking space.

ferki, (edited )
@ferki@fosstodon.org avatar

@peateasea To make vim show non-breaking spaces as something else, configure it with something like:

set listchars=nbsp:‗

Then the :set list command shows the ‗ (double low line) character in place of each non-breaking space without actually replacing it in the file, making it easier to spot for humans.

Use the same to also reveal other normally invisible or hard to spot characters and situations (tabs, trailing/leading spaces, long lines continuing off-screen, etc.)

Happy hacking! :)

ferki, to opensource
@ferki@fosstodon.org avatar

I accept a few new clients in the coming weeks.

I specialize in making IT infrastructure and software delivery solutions faster and cheaper in the cloud and on-premises.

My clients hire me because of my no-nonsense approach: transparent, pragmatic, and holistic.

I often work with well-known projects such as , , and , as well as niche ones like and .

Please DM if interested, and boost for reach!

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).

ferki,
@ferki@fosstodon.org avatar

@rrwo Let me know if that's already useful enough to debug and solve it for you.

If it needs a bit more work, it might be best to discuss on our support channels: https://www.rexify.org/support/index.html

I suggest a chat on IRC/Matrix, or perhaps via my Open Source Office Hours would be ideal for a more interactive session.

ferki, (edited )
@ferki@fosstodon.org avatar

@rrwo On second read, I see that agent forwarding and pty allocation are also part of the CLI options we might need to tell Rex about.

Let's debug your use case together on a better medium. I have to rush away from the keyboard now, but expect to be online around CEST 15:00-ish again, please ping me or others on IRC/Matrix (it's the same room).

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