Damian on top form as always. The modules this talk is based on are, of course, all both brilliant and incredibly useful. But the thing that's really impressed me here is the way he has taken some of his modules from a couple of decades ago and replaced them with calls to LLMs. That's food for thought.
submitted by /u/davorg
[link] [comments]
The Once and Future Perl - Damian Conway - TPRC 2024
#tprc24 #perl #rakuRetroemotions, statistical outliers, lunar excursions, Lorentz contraction, extrasolar planets, atomic clocks, lucky bullets, Greek mythol...YouTube
I was lucky enough to attend the perl and raku conference this year and had a great time meeting lots of awesome people. I am primarily a designer by trade but do code as well. At the conference, I explored a number of original depictions of the perl camel for fun and this one was my favorite. The idea was to bring a strikingly modern feel to the Perl Camel. Loose inspiration for this symbol is code llama and p****n. This design exploration felt like my way to hack something during the conference! The idea behind this simple symbol is that it could work nicely at very small sizes while still being visually clear. The font is a free open-source display font called Jaro. the first image was also a concept of placing "Perl" in the camel symbol to strengthen the association between the "perl" and the camel symbol as this may be helpful for new developers. I could spend much more time on this but thought I would share! Love it? Hate it? Let me know what you think (especially if you like it) submitted by /u/North-Clue-2313 |
The following is a quick ramble before I get into client work, but might give you an idea of how AI is being used today in companies. If you have an questions about Generative AI, let me know!
The work to make the OpenAI API (built on Nelson Ferraz's OpenAPI::Client::OpenAI module) is going well. I now have working example of transcribing audio using OpenAI's whisper-1 model, thanks to the help of Rabbi Veesh.
Using a 7.7M file which is about 16 minutes long, the API call takes about 45 seconds to run and costs $0.10 USD to transcribe. The resulting output has 2,702 words and seems accurate.
Next step is using an "instruct" model to appropriately summarize the results ("appropriate" varies wildly across use cases). Fortunately, we already have working examples of this. Instruct models tend to be more correct in their output than chat models, assuming you have a well-written prompt. Anecdotally, they may have smaller context windows because they're not about remembering a long conversation, but I can't prove that.
Think about the ROI on this. The transcription and final output will cost about 11 cents and take a couple of minutes. You'll still need someone to review it. However, think of the relatively thankless task of taking meeting minutes and producing a BLUF email for the company. Hours of expensive human time become minutes of cheap AI time. Multiply this one task by the number of times per year you have to do it. Further, consider how many other "simple tasks" can be augmented via AI and you'll see why it's becoming so powerful. A number of studies show that removing many of these simple tasks from people's plates, allowing them to focus on the "big picture," is resulting in greater morale and productivity.
When building AI apps, OpenAPI::Client::OpenAI should be thought of as a "low-level" module, similar to DBIx::Class. It should not be used directly in your code, but hidden behind an abstraction layer. Do not use it directly.
I tell my clients that their initial work with AI should be a tactical "top-down mandate/bottom-up implementation." This gives them the ability to start learning how AI can be used in different parts of their organization, given that marketing, HR, IT, and other departments all have different needs.
Part of this tactical approach is learning how to build AI data pipelines. With OpenAI publishing their OpenAPI spec, and with Perl using that, we can bring much of the power of enterprise-level AI needs to companies using Perl. It's been far too long that Perl has languished in the AI space.
Next, I need to investigate doing this with Gemini and/or Claude, but not now.
Note, if you're not familiar with the BLUF format, it's a style of writing email that is well-suited for email in a company that is sent to many people. It's "bottom-line up front" so that people can see the main point and decide if the rest of the email is relevant to them. It makes for very effiicient email communication.
submitted by /u/OvidPerl
[link] [comments]
BLUF: THE method for better and effective written communication
Communication in remote work is all about written communication. That’s the big shift that happened regarding how we communicate. The Economist and Information Week are two examples of many…Gabriela De Luca (Medium)
Hi all,
Nelson Ferraz has been working with generative AI for a while. I've started collaborating with him on his OpenAI modules. He wrote a module named OpenAI::API, but it required manually writing the code for all of the behavior. With the size of the OpenAI API, the rapid evolution, of said API, the birth of new models and the deprecation of old models, this approach turned out to be unmaintainable.
Thus, that module was deprecated in favor of Nelson's OpenAPI::Client::OpenAI module. Throw the 13K+ lines OpenAPI spec for OpenAI at it and it just works. Further, the module is pretty much a single Perl class rather than a bunch of hand-crafted code.
CPAN authors know it can be hard to keep modules up-to-date (mea culpa, mea culpa!) and this module is no exception. I need this module so I offered to collaborate and created a PR to update it to version 2.0.0 of the OpenAI spec. It now passes all the tests (for those wondering, you need an OpenAI key and it costs $0.04 USD to run the test suite).
In trying to build a Whisper pipeline for that, I found that I couldn't. There was a PR for Whisper support for the older module, but for the newer one, I can't figure out how to get it to issue a request with multipart/form-data
support. I've noted the issue in the PR.
If anyone would like to see OpenAI support for Perl, we would dearly love to collaborate with you to make this happen.
submitted by /u/OvidPerl
[link] [comments]
[link] [comments]
(cdxcvi) 6 great CPAN modules released last week
Updates for great CPAN modules released last week. A module is considered great if its favorites count is greater or equal than 12. Dev...niceperl.blogspot.com
submitted by /u/oalders [link] [comments] |
This is Your Opportunity to Sponsor the Perl and Raku Conference 2024
Sponsorship opportunities for the 2024 Perl and Raku Conference are still availablePerl.com
Mo utilities for email.
Changes for 0.02 - 2024-04-26T23:02:53+02:00
- Add tests for error parameters.
- Rewrite the tests so that the functional tests are first and then the errors.
Build a Build.PL that uses Dist::Build
Changes for 0.001 - 2024-04-26T12:50:29+02:00
- Initial release to an unsuspecting world
A modern module builder, author tools not included!
Changes for 0.001 - 2024-04-26T12:49:11+02:00
- Initial release to an unsuspecting world
Build a Build.PL that uses the current module to build itself
Changes for 0.007 - 2024-04-26T12:40:30+02:00
- Add ConfigureSelf classes
Mojolicious Plugin for Config::Structured: provides Mojo app access to structured configuration data
Changes for 3.01 - 2024-04-26T05:35:45-05:00
- Bugfix: respect --reveal-sensitive flag when dumping a single leaf node
Hi! Asking for a wisdom here...
We have a module that modifies signal handler $SIG{__DIE__} to log information and to die afterwards. Hundreds of scripts relied on this module which worked fine in perl 5.10.1.
Recently we had the opportunity to install several Perl versions but unfortunately a large number of scripts that used to work with Perl 5.10.1 now behave differently:
- Failed in 5.14.4:
/home/dev/perl-5.14.4/bin/perl -wc
test.pl
RECEIVED SIGNAL - S_IFFIFO is not a valid Fcntl macro at /home/dev/perl-5.14.4/lib/5.14.4/File/stat.pm line 41
- Worked without changes in 5.26.3:
/home/dev/perl-5.26.3/bin/perl -wc
test.pl
test.pl
syntax OK
- Worked without changes in 5.38.2:
/home/dev/perl-5.38.2/bin/perl -wc test.pl
test.pl syntax OK
Many of the scripts can only be updated to 5.14.4 due to the huge jumps between 5.10 and 3.58; But we are stuck on that failures.
Was there an internal Perl change in 5.14 which cause the failures but works on other recent versions without any update on the scripts?
Cheerio!
submitted by /u/Longjumping_Army_525
[link] [comments]
Sanity-check calling context
Changes for 0.04
- (no code changes)
- Switched to MIT license.
- Switched README from POD to Markdown.
- Removed Travis CI.
Sort lines of text by a SortKey module
Changes for 0.001 - 2024-03-07
- First release.
Sort lines of text by a Comparer module
Changes for 0.002 - 2024-03-07
- No functional changes.
- [doc] Mention some related links.
An assortment of date-/time-related CLI utilities
Changes for 0.128 - 2024-03-07
- [clis strftime, strftimeq] Use localtime() instead of gmtime(). We can still show UTC using "TZ=UTC strftime ...".
Common Security Advisory Framework
Changes for 0.22 - 2024-04-23
- First public release of CSAF
Study build or test output over a range of git commits
Changes for 0.21 - 2024-04-23T05:11:47Z
- Devel::Git::MultiBisect: introduce method 'set_outside_targets()' to handle case bisection exercises a test file located outside the git checkout of the source code.
I understand that many disagree with this statement, but it really makes it easier to build distributions for people who not monks. Wish the documentation was more detailed
submitted by /u/ReplacementSlight413
[link] [comments]
Sah schemas related to BCA (Bank Central Asia) bank
Changes for 0.002 - 2024-04-03
- Rename module/dist Sah-Schema{s,Bundle}-* following rename of Sah-Schema{s,Bundle} (for visual clarity and consistency with naming of other bundles).
search nested hashref/arrayref structures using JSONPath
Changes for 1.0.5 - 2024-04-22T16:10:46-05:00
simulating paper and pencil techniques for basic arithmetic operations
Changes for 0.01 - 2024-04
- First version, with the four basic operations, plus square-root, GCD and radix conversion. And HTML rendering
Use a type to validate values in a deep comparison.
Changes for 1.0.1 - 2024-04-22
- Add Test2::Tools::Type
An open source web-based network management tool.
Changes for 2.076000 - 2024-04-22
- NEW FEATURES
- ENHANCEMENTS
- BUG FIXES
Silverpeak Orchestrator REST API client library
Changes for 0.011000 - 2024-04-22T17:58:39+02:00
- add support for version 9.3+ API endpoints
A module that performs semantic similarity in PXF/BFF data structures and beyond (JSON|YAML)
Changes for 0.07 - 2024-04-22T00:00:00Z
- Excluded keys with {} or [] values (e.g. subject.vitalStatus: {})
- Precompiled regex patterns where possible
- Schema validation errors related to weights are now directed to STDERR
- Added support for variables with non-word characters (e.g., "Survey.Timestamp.1")
submitted by /u/leejo [link] [comments] |
London Perl & Raku Workshop, 2024
London Perl & Raku Workshop. Perl & Raku Conference and training in London.act.yapc.eu
Pango style markup formatting
Changes for 0.036 - 2024-04-22
- Introducing struts. Update SYNOPOSIS example to modern PDF::API2 conventions. Fix/enhance drawing of brackgrounds. Fix problem with wrongly calculated underlining.
My environment is perl/5.18.2 on CentOs 7
I'm trying to use a SWIG generated module in perl, which has a c plus plus backend. The backend.cpp sets an environment variable, $MY_ENV_VAR =1
But when I try to access this in perl, using $ENV{MY_ENV_VAR} this is undef.
However doing something like print echo $MY_ENV_VAR
works
So the variable is set in the process, but it's not reflected automatically since nothing updates the $ENV data structure.
I'm assuming it may work using some getEnv like mechanism, but is there a way to reset/ refresh the $ENV that it rebuilds itself from the current environment?
submitted by /u/sarcasmwala
[link] [comments]
By default cpanm drops Perl modules into ~/perl5
. How do I tell cpanm to use a different location, such as ~/.local/share/perl5
instead?
submitted by /u/s-ro_mojosa
[link] [comments]
Get stock and mutual fund quotes from various exchanges
Changes for 1.61_01 - 2024-04-21T17:50:16-07:00
- YahooWeb.pm - Issue #377. Modified YahooWeb to account for changes from Yahoo.
Sah schemas related to SortKey
Changes for 0.002 - 2024-03-07
- Rename module/dist Sah-Schema{s,Bundle}-SortKey.
Perl Data Language
Changes for 2.088 - 2024-04-22
- Slatec::ch{ic,sp} work arrays now [t]
- add Slatec::bvalu
- add Func::{pchip,spline}, and a demo
- add Ufunc::diff2
- extra ) on end of Pars now an error
- PP dim sizes can be =CALC(...) instead of explicit RedoDimsCode
- PP add loop(n=start:end:inc) idiom to stop not at end and have non-1 inc
- updated README.md - thanks @falsifian
- support T_PTROBJ in typemap
an interactive plotting widget and library for PDL and Prima
Changes for 0.21 - 2024-04-22
- demo now only loads Prima when run, reducing perldl problems
demonstrate PDL::Graphics::PLplot capabilities
Changes for 0.84 - 2024-04-22
- add perldl demo
- fix plFreeGrid to use free that matches the allocator
- pl{Alloc,Free}{,2d}Grid error if not match allocating and freeing routine
- minimum PDL 2.083 due to output OtherPars
Fast Perl SSG: now with automatic Language Translation via OCI and translate.pl. Check it out at
https://github.com/SunStarSys/orion
submitted by /u/joesuf4
[link] [comments]
GitHub - SunStarSys/orion: SunStar Systems' Orion Enterprise Wiki SSG
SunStar Systems' Orion Enterprise Wiki SSG. Contribute to SunStarSys/orion development by creating an account on GitHub.GitHub