bahmanm

joined 1 year ago
 

Shameless plug: I am the author.

[–] bahmanm@lemmy.ml 19 points 8 months ago

Good question!

IMO a good way to help a FOSS maintainer is to actually use the software (esp pre-release) and report bugs instead of working around them. Besides helping the project quality, I'd find it very heart-warming to receive feedback from users; it means people out there are actually not only using the software but care enough for it to take their time, report bugs and test patches.

[–] bahmanm@lemmy.ml 10 points 8 months ago

"Announcment"

It used to be quite common on mailing lists to categorise/tag threads by using subject prefixes such as "ANN", "HELP", "BUG" and "RESOLVED".

It's just an old habit but I feel my messages/posts lack some clarity if I don't do it πŸ˜…

 

lemmy-synapse is a light-weight observability and monitoring stack for Lemmy servers.


Using Prometheus and Grafana, it allows the admins to visualise and query the stats of their instance. v1.0.0 comes out of the box with 3 detailed dashboards:

  • Host stats (CPU, RAM, disk, network, ...)
  • PostgreSQL stats (connections, locks, transations, queries, ...)
  • Docker stats (container CPU, RAM, disk, network, OOM signals, ...)

It runs as Docker compose cluster alongside the Lemmy cluster and does not require any changes to it in most cases. Uninstalling lemmy-synapse is as easy as tearing down its cluster and deleting its installation directory.


Got questions/feedback? Pray drop a line:

[–] bahmanm@lemmy.ml 1 points 9 months ago

I didn't like the capitalised names so configured xdg to use all lowercase letters. That's why ~/opt fits in pretty nicely.

You've got a point re ~/.local/opt but I personally like the idea of having the important bits right in my home dir. Here's my layout (which I'm quite used to now after all these years):

$ ls ~
bin  
desktop  
doc  
downloads  
mnt  
music  
opt 
pictures  
public  
src  
templates  
tmp  
videos  
workspace

where

  • bin is just a bunch of symlinks to frequently used apps from opt
  • src is where i keep clones of repos (but I don't do work in src)
  • workspace is a where I do my work on git worktrees (based off src)
[–] bahmanm@lemmy.ml 14 points 9 months ago

Thanks! So much for my reading skills/attention span πŸ˜‚

[–] bahmanm@lemmy.ml 0 points 9 months ago (3 children)

Which Debian version is it based on?

[–] bahmanm@lemmy.ml 10 points 9 months ago

Something that I'll definitely keep an eye on. Thanks for sharing!

[–] bahmanm@lemmy.ml 4 points 9 months ago (2 children)

RE Go: Others have already mentioned the right way, thought I'd personally prefer ~/opt/go over what was suggested.


RE Perl: To instruct Perl to install to another directory, for example to ~/opt/perl5, put the following lines somewhere in your bash init files.

export PERL5LIB="$HOME/opt/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"
export PERL_LOCAL_LIB_ROOT="$HOME/opt/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"
export PERL_MB_OPT="--install_base \"$HOME/opt/perl5\""
export PERL_MM_OPT="INSTALL_BASE=$HOME/opt/perl5"
export PATH="$HOME/opt/perl5/bin${PATH:+:${PATH}}"

Though you need to re-install the Perl packages you had previously installed.

[–] bahmanm@lemmy.ml 3 points 9 months ago

First off, I was ready to close the tab at the slightest suggestion of using Velocity as a metric. That didn't happen πŸ™‚


I like the idea that metrics should be contained and sustainable. Though I don't agree w/ the suggested metrics.

In general, it seems they are all designed around the process and not the product. In particular, there's no mention of the "value unlocked" in each sprint: it's an important one for an Agile team as it holds Product accountable to understanding of what is the $$$ value of the team's effort.

The suggested set, to my mind, is formed around the idea of a feature factory line and its efficiency (assuming it is measurable.) It leaves out the "meaning" of what the team achieve w/ that efficiency.

My 2 cents.


Good read nonetheless πŸ‘ Got me thinking about this intriguing topic after a few years.

[–] bahmanm@lemmy.ml 4 points 9 months ago (1 children)

This is fantastic! πŸ‘

I use Perl one-liners for record and text processing a lot and this will be definitely something I will keep coming back to - I've already learned a trick from "Context Matching" (9) πŸ™‚

[–] bahmanm@lemmy.ml 1 points 9 months ago

That sounds a great starting point!

πŸ—£Thinking out loud here...

Say, if a crate implements the AutomatedContentFlagger interface it would show up on the admin page as an "Automated Filter" and the admin could dis/enable it on demand. That way we can have more filters than CSAM using the same interface.

 

I'm working on lemmy-meter which is a simple observability solution for Lemmy end-users like me, to be able to check the health of a few endpoints of their favourite instance in a visually pleasing way.

πŸ‘‰ You can check out a screenshot of the pre-release landing page.


πŸ’‘ Currently, lemmy-meter sends 33 HTTP GET requests per minute to a given instance.

For a few reasons, I don't wish lemmy-meter to cause any unwanted extra load on Lemmy instances.
As such I'd like it be an opt-in solution, ie a given instance's admin(s) should decide whether they want their instance to be included in lemmy-meter's reports.

❓ Now, assuming I've got a list of instances to being w/, what's the best way to reach out to the admins wrt lemmy-meter?


PS: The idea occurred to me after a discussion RE momentary outages.

1
submitted 9 months ago* (last edited 9 months ago) by bahmanm@lemmy.ml to c/technology@lemmy.ml
 

cross-posted from: https://lemmy.ml/post/5193714

A few days DHH (from 37signals) wrote about how they moved off the cloud and how that has helped reduce their costs by a good measure.

Well, earlier today, he announced the first bit of tooling that they used as part of their cloud exit move: Kamal - which is already at version 1.0 and, according to DHH, stable.


I took a quick look at the documentation and it looks to me like an augmented and feature-rich Docker Compose which is, to no surprise, rather opinionated.

I think anyone who's had experience with the simplicity of Docker Swarm compared to K8s would appreciate Kamal's way. Hopefully it will turn out to be more reliable than Swarm though.

I found it quite a pragmatic approach to containerising an application suite with the aim of covering a good portion of a the use-cases and requriements of smaller teams.


PS: I may actually try it out in an ongoing personal project instead of Compose or K8s. If I do, I'll make sure to keep this post, well, posted.

[–] bahmanm@lemmy.ml 1 points 10 months ago (2 children)

I see.

So what do you think would help w/ this particular challenge? What kinds of tools/facilities would help counter that?


Off the top of my head, do you think

  • The sign up process should be more rigorous?
  • The first couple of posts/comments by new users should be verified by the mods?
  • Mods should be notified of posts/comments w/ poor score?

cc @PrettyFlyForAFatGuy@lemmy.ml

[–] bahmanm@lemmy.ml 0 points 10 months ago (4 children)

Interesting topic - I've seen it surface up a few times recently.

I've never been a mod anywhere so I can't accurately think what workflows/tools a mod needs to be satisfied w/ their, well, mod'ing.

For the sake of my education at least, can you elaborate what do you consider decent moderation tools/workflows? What gaps do you see between that and Lemmy?

PS: I genuinely want to understand this topic better but your post doesn't provide any details. πŸ˜…

 

From GNU lists earlier today:

We have learned with deep sadness that Thien-Thi Nguyen (ttn) died in October 2022. Thien-Thi was a hacker, artist, writer, and long-time maintainer and contributor to many GNU programs as well as other free software packages. He was the GNU maintainer of the rcs, guile-sdl, alive, and superopt packages, and he was working on GNU Go as well.

Thien-Thi especially loved GNU Emacs, GNU Taler, and GNU Go: he was the author and maintainer of the xpm, gnugo, ascii-art-to-unicode, and hideshow GNU Emacs packages and made substantial contributions to many others such as vc, as well as to GNU Taler and its documentation.

We greatly miss Thien-Thi in the free software community - his death is a great loss to the Free World.

 

To be fair, here's the complete paragraph which makes sense:

Vagrant public networks are less private than private networks, and the exact meaning actually varies from provider to provider, hence the ambiguous definition. The idea is that while private networks should never allow the general public access to your machine, public networks can.

 

cross-posted from: https://lemmy.ml/post/4593804

Originally discussed on Matrix.


TLDR; Ansible handlers are added to the global namespace.


Suppose you've got a role which defines a handler MyHandler:

- name: MyHandler
  ...
  listen: "some-topic"

Each time you import/include your role, a new reference to MyHandler is added to the global namespace.

As a result, when you notify your handler via the topics it listens to (ie notify: "some-topic"), all the references to MyHandler will be executed by Ansible.

If that's not what you want, you should notify the handler by name (ie notify: MyHandler) in which case Ansible will stop searching for other references as soon as it finds the first occurrence of MyHandler. That means MyHandler will be executed only once.

 

Originally asked in #lemmy:matrix.org


1 The Idea

I've been thinking about writing a website to monitor Lemmy instances, much in the same vein as lemmy-status.org, to help people like me, who are interested in the operational health of their favourite servers, have a better understanding of patterns and be notified when things go wrong.

I thought I'd share my thoughts w/ you and ask for your feedback before going down any potential rabbit hole.

1.1 Public-facing monitoring solution external to a cluster

I don't wish to add any more complexity to a Lemmy setup. Rather I'm thinking about a solution which is totally unknown to a Lemmy server AND is publicly available.

I'm sure one could get quite a decent monitoring solution which is internal to the cluster using Prometheus+Grafana but that is not the aim of this.

1.2 A set of key endpoints

In the past there've been situations where a particular server's web UI would be a 404 or 503 while the mobile clients kept happily working.

I'd like to query a server for the following major functionalities (and the RTT rate):

  • web/mobile home feed
  • web/mobile create post/comment
  • web/mobile search

1.3 Presenting stats visually via graphs

I'd like to be able to look at the results in a visual way, preferably as graphs.

1.4 History

I think it'd be quite cool (and helpful?) to retain the history of monitoring data for a certain period of time to be able to do some basic meaningful query over the rates.

1.5 Notification

I'd like to be able to receive some sort of a notification when my favourite instance becomes slow or becomes unavailable and when it comes back online or goes back to "normal."

2 Questions

❓ Are you folks aware if someone has already done something similar?

❓ I'm not very familiar w/ Rust (I wrote only a couple of small toy projects w/ it.) Where can I find a list of API endpoints a Lemmy server publicly exposes?

❓ If there's no such list, which endpoints do you think would work in my case?

 

I am not the author.

https://github.com/galdor/github-license-observer

https://addons.mozilla.org/en-GB/android/addon/github-license-observer/

This is a cool little addon to help you tell, at a glance, if the repository you're browsing on github has an open source license license.

Especially relevant nowadays given the trend to convert previously OS repos to non-OS licenses as a business model (eg Akka or Terraform.)

 

A happy Labour Day, in advance, to all Canadians & esp. my fellow software engineers.

Looking forward to us getting closer to unionising our wildly wild IT industry.

0
submitted 10 months ago* (last edited 10 months ago) by bahmanm@lemmy.ml to c/technology@lemmy.ml
 

Got a notification from LinkedIn saying "You're one of the few experts who have been invited to collaborate on ..." I got curious and opened up the link.


Apparently, now instead of professional writers being paid to pen down their, usually, cohesive & authentic views, LinkedIn is trying out the idea of generating content using an LLM and then asking for free editorial services from users in exchange for "badges" 🀯 πŸ€¦β€β™‚οΈ

This is cheap IMO. Even for LinkedIn.

What's happened to the "content team" at LinkedIn!?

 

Lemmy, in particular lemmy.ml, is so good that I've got completely used to checking it out almost every hour to enjoy the content. Kudos to all the mods and developers ❀️


Recently, in the past few weeks, I couldn't help but notice that momentary outages of lemmy.ml, ranging from a couple of mins to longer than 30mins, have become more frequent.

Is my observation correct? Or I'm just addicted to Lemmy? πŸ˜‚

If it is correct, have we got any idea what are the possible causes of the outages? In particular, I'd like to know if there's anything that I, as a member of this safe & welcoming community, can do to potentially help ΒΉ.


On a related note, if the outages are of such a nature that may be predicted but not prevented (such as routine maintenance restart, load-testing or new feature deploy), do you folks think it makes sense to have a post here in "meta" at least a few mins prior to the action?

ΒΉ I've got about a quarter of a century experience dealing w/ code and systems.

view more: next β€Ί