Skip to main content






The great new MooX::Pack!

Changes for 0.01

  • First version, released on an unsuspecting world.


Gnuplot-based plotting for PDL

Changes for 2.025 - 2024-04-20

  • Split version checking from `use Alien::Gnuplot` line for easier downstream packaging. Fixes #98.
  • fixes for Windows (#89)
  • use terminal "dumb" if probing shows "unknown" (#66)
  • fix numeric-only strings for legend (#100) - thanks @d-lamb for report
  • fix plot3d array-ref handling (#87) - thanks @djerius for report
  • fix gplot array-ref handling (#86) - thanks @djerius for report
  • add multiplot_next to skip one plot (#85)
  • add documentation to UTF-8 encode text labels etc (#74) - thanks @Zaki for report
  • add {multiplot,plot,multiplot_next,end_multi}_generate methods which return Gnuplot commands equivalent plot would execute (#95)
#66 #89 #74 #98 #95 #86 #100 #87 #85 @Zaki




Im working on a script to test using a jump server to reach remote devices.

I'm able to connect to the jump server using Net::SSH::Expect, however, I'm not sure how to then ssh to a remote device (network element).

Is there a way to create that ssh to the remote device inside the jump server's connection?

submitted by /u/jtzako
[link] [comments]




First things first, I am a data engineer but have little experience in Perl. I've been able to make some easy updates to scripts in the past but this one is a bit tougher.

I have been asked to update a Perl cgi web app that someone wrote ages ago that is used to view and manipulate text files. Currently it is hosted on server (X) and manipulates the files on that same server. However, we have to have backups/mirrors of the data on a dev server and another prod sever (Y). I.e., if I push the button to move the file to a different folder, it should do that on all three servers instead of just X. I added code to do this, referencing the additional servers with their UNC names, but I just get an error "No such file or directory" (which is not true). Googling has suggested that there may be an issue with permissions, but I can bring up the Y and DEV servers from a windows file explorer using the same path so I don't think that is necessarily the issue.

Example: Here we are trying to copy the file with a letter appended a given number of times. It works fine on the X server, its when trying to make it also work on the Y and DEV servers I get an error.

our $DIR_X = "\\\\serverX\\folder\\subfolder" ; our $DIR_Y = "\\\\serverY\\folder\\subfolder"; our $DIR_DEV = "\\\\serverDEV\\folder\\subfolder"; . . . }elsif ($query->param('action') eq 'split' && $query->param('fileNum') ne "") { my $fileNum $query->param('fileNum'); my $fileX=$DIR_X . "\\" . $fileNum . ".txt"; my $fileY $DIR_Y . "\\" . $fileNum . ".txt"; my $fileDEV = $DIR_DEV . "\\" . $fileNum . ".txt"; my $splitNbr = $query->param('splitNbr'); my @letters1("a".. "z"); for (my $i = 0; $i < $splitNbr; $i++) { my $FileNew_X = $DIR_X . "\\" $fileNum. $letters[$i]=.txt"; my $FileNew_Y = $DIR_Y . "\\" $fileNum. $letters[$i]=.txt"; my $FileNew_DEV = $DIR_DEV . "\\" $fileNum. $letters[$i]=.txt"; copy($fileX, $FileNew_X) or die "WARNING: copy failed: $!\n"; ---->>>>>ERROR AT NEXT LINE copy($fileY, $FileNew_Y) or die "WARNING: copy failed: $!\n"; copy($fileDEV, $FileNew_DEV) or die "WARNING: copy failed: $!\n"; } 

Any thoughts?

submitted by /u/QueenScorp
[link] [comments]





I stumbled upon this really nice page from Ruby, describing the language from the perspective of other common programming languages:

ruby-lang.org/en/documentation…

The page is written in a friendly tone, inviting programmers familiar with other programming languages to Ruby. No programming language is being viewed as inferior, quite the contrary: all mentioned languages are praised and even defended from haters, for example:

  • "Perl is awesome. Perl’s docs are awesome. The Perl community is … awesome. For those Perlers who long for elegant OO features built-in from the beginning, Ruby may be for you."
  • "Happily, it turns out that Ruby and C have a healthy symbiotic relationship. And, of course, Ruby itself is written in C."
  • "Java is mature. It’s tested. And it’s fast (contrary to what the anti-Java crowd may still claim)."
  • "Python is another very nice general purpose programming language."

I believe Perl could greatly benefit from having a similar page. With its friendly philosophy and TMTOWTDI, it seems natural to invite programmers from other languages, with an approach of "Don't be afraid to keep programming the way you are used to, if it works in Perl, there are no limits enforced".

Since Perl is now not a common choice for new code or for learning, it makes a lot of sense to bring over people from other languages. Especially in an age where strict conventions seem to be praised, I can see Perl becoming a source of some fresh air.

submitted by /u/Lenticularis39
[link] [comments]






Perl.social Code of Conduct


I've posted this on reddit and wanted a discussion here too for those not on reddit for whatever reason:

reddit.com/r/perl/comments/1bl…

The gist though is that I've gotten another request for a proper CoC/ToS that would be acceptable to the community since i've been negligent in doing so. I've decided that a slightly modified version from the mastodon CoC might be a good starting point and I'll post that content in a reply to this so that it doesn't flood everyone's feeds with a giant wall of text immediately.

in reply to Ryan Voots

COC/TOS

Borrowing many things from the Mastodon CoC as a astarting point (github.com/mastodon/mastodon/b…).

I am removing a few things from it, not because I don't think they're good ideas or anything but also because I want to limit the scope
of the initial discussion and the amount of work for myself as I'm still currently the only moderator but once the community there gets larger
or it changes that I'm not the only one maintaining things, we will hold another discussion about everything.

I've changed a few things also, specifically to add stronger language that any moderators
MUST document why an action was taken. This doesn't necessarily mean that I believe
that those reasons must be immediately given to an affected user, but that they must
be available when requested. Specifically I'm thinking of not informing in the context
of bots, spam, illegal or otherwise legally actionable content (i.e. something that's going to get me a subpeona or court case).

Other proposed ideas:
1) Some kind of regular discussion, maybe annually? on ToS/CoC type things
1a) The idea being that we require a regular discussion of anything that's
happened over the last time period to avoid it being possible for something
happening being "swept under the rug" or "falling through the cracks" because
it didn't get the proper time given to it previously. How this should be done
I have no good recommendations for, likely creating a group on perl.social to
host the conversation each time?
2) ?

Contributor Covenant Code of Conduct

Our Pledge


We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

Privacy


I reserve the right to collect email or other identifiable contact information,
and it will never be shared to an outside party without consent except in the case
of it being required by some legal process. If at any time perl.social becomes
a larger organization and there is a desire to change this, I will require the
removal of all such information until explicit consent is given again with such
a new policy. I don't know if there's a way I can make this legally enforcable
but I see it as something I do not own and therefore cannot ethically give it to
another party in that kind of scenario.

Both perl.social and I are located in the USA, and therefore I believe are not
directly subject to the GDPR, but as there are similar laws in other jurisdictions
even within the USA, and I basically agree with the ideas involved, I will do
whatever is reasonable feasible to follow them.

Our Standards


Examples of behavior that contributes to a positive environment for our
community include:

  • Being respectful of differing opinions, viewpoints, and experiences
  • Giving and gracefully accepting constructive feedback
  • Accepting responsibility and apologizing to those affected by our mistakes,
    and learning from the experience
  • Focusing on what is best not just for us as individuals, but for the overall
    community

Examples of unacceptable behavior include:

  • The use of public and/or unwanted sexualized language or imagery,
    and sexual attention or advances of any kind. Consenting adults in private
    should be acceptable.
  • Trolling, insulting or derogatory comments, and personal or political attacks
  • Public or private harassment
  • Publishing others' private information, such as a physical or email address,
    without their explicit permission
  • Other conduct which could reasonably be considered inappropriate in a
    professional setting


Enforcement Responsibilities


Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and MUST communicate reasons for moderation
decisions.

Scope


This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

Enforcement


Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
[hello@joinmastodon.org](mailto:hello@joinmastodon.org).
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

Enforcement Guidelines


Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

1. Correction


Community Impact: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

Consequence: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

2. Warning


Community Impact: A violation through a single incident or series of
actions.

Consequence: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.

3. Temporary Ban


Community Impact: A serious violation of community standards, including
sustained inappropriate behavior.

Consequence: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

4. Permanent Ban


Community Impact: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

Consequence: A permanent ban from any sort of public interaction within the
community.

Attribution


This Code of Conduct is adapted from the Contributor Covenant,
version 2.1, available at
contributor-covenant.org/versi…contributor-covenant.org/versi….

And from the Mastodon code of conduct available at github.com/mastodon/mastodon/b…

Community Impact Guidelines were inspired by
Mozilla's code of conduct enforcement ladder.

For answers to common questions about this code of conduct, see the FAQ at
contributor-covenant.org/faqcontributor-covenant.org/faq. Translations are available at
contributor-covenant.org/trans…contributor-covenant.org/trans….



So hear me out...


This idea is stupid. But on Star Trek (VOY, TNG, and DS9 at least), they measured their data as "quads". ( memory-alpha.fandom.com/wiki/Q… ). This was never defined because it's just Sci-Fi and doesn't need a real definition. But... what if they're quad-floats aka 128bit floating point values. This would mean then that all the storage could be done as LLM or other neural network style models, and vector embeddings and such. Given what we've got today with transformer style models for doing translation, chat, etc. If you had ultrapowerful computers that could do these calculations with such gigantic precision then you'd be able to store very accurate data and transform it back and forth from vector embeddings and other fancy structures. It'd enable very powerful searches, and the kind of analysis we're trying to use LLMs for and see them use in the shows when talking to the computers. This would also explain a lot about the universal translators from ENG onward, and could even help make sense of Darmok and Jalad at Tenagra. And then Voyager even has bio-neural circuitry for doing things faster, some kind of organic analog computing doing stuff "at the edge". Using weights and embeddings to do things with them and have them react by programming them with a machine learning model at each node could easily explain how that could work too.

This idea honestly feels too stupid to be real but it could explain so much.



Perl.social server upgrades


So if anyone noticed things being a bit unstable recently it looks like the server was hitting the OOM killer sometimes and caused some odd behavior. In response to this I've added more ram to the VPS running perl.social so this shouldn't happen anymore and it'll also probably mean things run faster now too since more things will sit in the caches.


perlbot and related status


to stave off any rumors, i just had a hardware failure in my main server of some kind (likely motherboard failure) and I can't fucking fix it right now. I'm about to go out of town and won't be back for a little more than a week. there is literally nothing i can do right now, perlbot and all the related stuff will be down for that time while i get back from vacation and then spend gobs of money fixing the thing.