This document discusses App::FatPacker, a module that embeds dependencies into a Perl script to create a self-contained file. It describes how App::FatPacker works, common use cases like packaging modules for distribution, and solutions for problems like missing dependencies. The author also introduces their own module, App::FatPacker::Simple, which aims to simplify the dependency tracing process. Overall, App::FatPacker allows developers to bundle modules into scripts to distribute as standalone files without requiring installed dependencies on the target system.
With more businesses moving to cloud-based solutions everyday, we must re-think the strategies used to deploy Perl applications and related libraries, given the volatile aspects of the cloud and its constraints.
In this talk I go over the challenges posed by virtualised environments, and consider several solutions to them. The use cases are all related to Amazon's EC2, but will easily be adapted for GoGrid, Mosso, and others.
My ramblings about how I think the Perl community should target newcomers in its marketing efforts, and how I've come to appreciate Python and Java's standard libraries and toolsets.
In this talk you will learn why upgrading is a good idea and how it can be done with no downtime and as few bugs as possible. It will include details about the upgrade procedure, some helpful tips and tricks and introduce Sentry as a central place for error logging.
With more businesses moving to cloud-based solutions everyday, we must re-think the strategies used to deploy Perl applications and related libraries, given the volatile aspects of the cloud and its constraints.
In this talk I go over the challenges posed by virtualised environments, and consider several solutions to them. The use cases are all related to Amazon's EC2, but will easily be adapted for GoGrid, Mosso, and others.
My ramblings about how I think the Perl community should target newcomers in its marketing efforts, and how I've come to appreciate Python and Java's standard libraries and toolsets.
In this talk you will learn why upgrading is a good idea and how it can be done with no downtime and as few bugs as possible. It will include details about the upgrade procedure, some helpful tips and tricks and introduce Sentry as a central place for error logging.
Local Development with Vagrant & VVV
A talk from WordCamp Sacramento 2015. This talk covers installing Vagrant, VVV and a couple of other tools that make using VVV easier to use.
Debugging and profiling with xdebug. Learn how to setup xdebug on Ubuntu and OSX. We will also be covering how to get it working with our favorite editor, PHPStorm. A couple different profiling tools will be demonstrated.
Managing Complexity with Module::Releasebrian d foy
Automating Perl module release with Module::Release, including distribution verification, automating testing, and anything else you need to check before you release your module on the world.
Presentation from TYPO3 Developer Days 2011. About a scaleable TYPO3 hosting setup.
More details here:
http://mocsystems.com/blog/blog/article/the-new-moc-systems-hosting-setup/
The 5 most common reasons for a slow WordPress site and how to fix them – ext...Otto Kekäläinen
Presentation given in WP Meetup in October 2019.
Includes fresh new tips from summer/fall 2019!
A Must read for all WordPress site owners and developers.
How to investigate and recover from a security breach in WordPressOtto Kekäläinen
Talk given at the first ever WordCamp Nordic on March 8th, 2019.
How to investigate and recover from a security breach – real-life experiences with WordPress
Sometimes the bad guys get in, despite all the protections and precautions. If that happens, there are many techniques that can be used to stop further damage, track down what the intruder did and how they got in. Finally the site needs to be cleaned up and re-opened for visitors. In this talk the most important techniques are presented along with real-life examples when they were used.
How to make your website IPv6 ready (quickly)Ralf Schwoebel
My presentation from the IPv6 congress in Frankfurt with the popular Heise Publishing house and the DE-CIX organization bringing people from all levels of the Internet business together. It helps webmasters to make their site quickly IPv6 ready in a VERY short time and for a minimal budget!
7 things every web developer should know about linux administrationZareef Ahmed
Linux system administration is specialized field in itself. In this presentation, I am going to list 7 Linux administration tasks which a programmer should know to be with ease while deploying or planning deployment of applications.
Things I have learned over the years through experience of having to deliver code rapidly, with few defects and maximum functionality. I cover basic coding techniques, automated testing and sometimes I have enough time to review tools and code generation!
Debugging in PHP can be tedious and prone to error when using var_dump and echo statements. Learn how to debug more effectively and get better insight into an application by using Xdebug. See how to setup PHPStorm, Xdebug, and the browser to enable debugging that will let you step into code and see variable values live. Extend those debugging capabilities into REST and SOAP clients to increase the code that can be debugged with ease.
Local Development with Vagrant & VVV
A talk from WordCamp Sacramento 2015. This talk covers installing Vagrant, VVV and a couple of other tools that make using VVV easier to use.
Debugging and profiling with xdebug. Learn how to setup xdebug on Ubuntu and OSX. We will also be covering how to get it working with our favorite editor, PHPStorm. A couple different profiling tools will be demonstrated.
Managing Complexity with Module::Releasebrian d foy
Automating Perl module release with Module::Release, including distribution verification, automating testing, and anything else you need to check before you release your module on the world.
Presentation from TYPO3 Developer Days 2011. About a scaleable TYPO3 hosting setup.
More details here:
http://mocsystems.com/blog/blog/article/the-new-moc-systems-hosting-setup/
The 5 most common reasons for a slow WordPress site and how to fix them – ext...Otto Kekäläinen
Presentation given in WP Meetup in October 2019.
Includes fresh new tips from summer/fall 2019!
A Must read for all WordPress site owners and developers.
How to investigate and recover from a security breach in WordPressOtto Kekäläinen
Talk given at the first ever WordCamp Nordic on March 8th, 2019.
How to investigate and recover from a security breach – real-life experiences with WordPress
Sometimes the bad guys get in, despite all the protections and precautions. If that happens, there are many techniques that can be used to stop further damage, track down what the intruder did and how they got in. Finally the site needs to be cleaned up and re-opened for visitors. In this talk the most important techniques are presented along with real-life examples when they were used.
How to make your website IPv6 ready (quickly)Ralf Schwoebel
My presentation from the IPv6 congress in Frankfurt with the popular Heise Publishing house and the DE-CIX organization bringing people from all levels of the Internet business together. It helps webmasters to make their site quickly IPv6 ready in a VERY short time and for a minimal budget!
7 things every web developer should know about linux administrationZareef Ahmed
Linux system administration is specialized field in itself. In this presentation, I am going to list 7 Linux administration tasks which a programmer should know to be with ease while deploying or planning deployment of applications.
Things I have learned over the years through experience of having to deliver code rapidly, with few defects and maximum functionality. I cover basic coding techniques, automated testing and sometimes I have enough time to review tools and code generation!
Debugging in PHP can be tedious and prone to error when using var_dump and echo statements. Learn how to debug more effectively and get better insight into an application by using Xdebug. See how to setup PHPStorm, Xdebug, and the browser to enable debugging that will let you step into code and see variable values live. Extend those debugging capabilities into REST and SOAP clients to increase the code that can be debugged with ease.
Puppet Camp LA 2015 talk covering: packages, package managers, puppet, and tips, tricks, and puppet modules for setting up secure package repositories.
Package manages and Puppet - PuppetConf 2015ice799
This talk will begin by explaining what a package manager is and how package managers work, at a high level. Next, we'll observe the common patterns seen on the internet of compiling software in a Puppet manifest and discuss why this not ideal. This talk will conclude by showing how you can add package repositories to your infrastructure using Puppet and what settings are important for ensuring secure access to remote package repositories.
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 coretimohund
This presentation shows, how we use travis-ci.org and scrutinizer-ci.com to keep our extension uptodate with the TYPO3 core. Beside that we show what could be next for EXT:solr in the next year.
This talk aims to cover a breadth of topics about package management and Chef, starting with some fundamentals and continuing on to more advanced techniques and tips.
This talk will begin by explaining why packages and package management are fundamental tenants to managing infrastructure. We'll examine why the common practice of simply running "make install" in a Chef recipe is a bad idea and what users can do when they see recipes like this in the wild.
An extremely common problem with package management is misconfiguration of package repositories and client software. Most of the existing documentation available does not cover all of the configuration required to correctly setup and access package repositories securely and lots of configurations are simply copy-and-pasted from unreliable sources.
In order to combat some of this, the talk will continue by examining some common Chef resources for controlling package repositories with care to carefully go over commonly misunderstood and misused options. We'll examine how to generate secure package repositories, what options must be set in Chef recipes to access repositories securely, and what bugs you may bump into in your infrastructure that may prevent you from securely accessing package repositories.
Finally, this talk will wrap up with some concluding tips, tricks, and thoughts about packaging and how to use it to carefully manage infrastructure.
https://youtu.be/-HJ7EZ85THU
This is the tale of a DevOps journey through a wasteland where Perl is a third-class citizen. In the Hadoop world, anything that doesn't run on the JVM is not exactly, um... welcome. And while I love where I work these days, Perl is looked down upon, and often considered a tool of "last resort"...
However, despite the title of this talk, I have managed to sneak in quite a lot of Perl by means of a solid DevOps ethos and a solid philosophy of systems management from bare metal up through end-user applications. Turns out, Perl really *is* the best tool for the job in a *lot* of the situations I deal with from day-to-day.
In this talk you will learn about the fundamentals of my approach, along with details of the tools and techniques I have employed in the administration of the data warehouse infrastructure of the world's largest travel-review company. You will also learn how to make it *much* easier to use Perl and CPAN code in places other people would consider it infeasible, and fall back to more "universal" tools like awk and bash.
A story of how we went about packaging perl and all of the dependencies that our project has.
Where we were before, the chosen path, and the end result.
The pitfalls and a view on the pros and cons of the previous state of affairs versus the pros/cons of the end result.
Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017Codemotion
PyMI: siamo un gruppo di Sviluppatrici, Sviluppatori, Appassionati e Appassionate di Python a Milano. Ci incontriamo una volta al mese in Mikamai/LinkMe. Abbiamo degli eventi ricorrenti e molto apprezzati: "Pillole di Python" e "PyBirra". * Presentazione del gruppo * Python Blueprint: the language, the tools, the packages and the ecosystem.
Water scarcity is the lack of fresh water resources to meet the standard water demand. There are two type of water scarcity. One is physical. The other is economic water scarcity.
Event Management System Vb Net Project Report.pdfKamal Acharya
In present era, the scopes of information technology growing with a very fast .We do not see any are untouched from this industry. The scope of information technology has become wider includes: Business and industry. Household Business, Communication, Education, Entertainment, Science, Medicine, Engineering, Distance Learning, Weather Forecasting. Carrier Searching and so on.
My project named “Event Management System” is software that store and maintained all events coordinated in college. It also helpful to print related reports. My project will help to record the events coordinated by faculties with their Name, Event subject, date & details in an efficient & effective ways.
In my system we have to make a system by which a user can record all events coordinated by a particular faculty. In our proposed system some more featured are added which differs it from the existing system such as security.
Quality defects in TMT Bars, Possible causes and Potential Solutions.PrashantGoswami42
Maintaining high-quality standards in the production of TMT bars is crucial for ensuring structural integrity in construction. Addressing common defects through careful monitoring, standardized processes, and advanced technology can significantly improve the quality of TMT bars. Continuous training and adherence to quality control measures will also play a pivotal role in minimizing these defects.
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...Amil Baba Dawood bangali
Contact with Dawood Bhai Just call on +92322-6382012 and we'll help you. We'll solve all your problems within 12 to 24 hours and with 101% guarantee and with astrology systematic. If you want to take any personal or professional advice then also you can call us on +92322-6382012 , ONLINE LOVE PROBLEM & Other all types of Daily Life Problem's.Then CALL or WHATSAPP us on +92322-6382012 and Get all these problems solutions here by Amil Baba DAWOOD BANGALI
#vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore#blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #blackmagicforlove #blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #Amilbabainuk #amilbabainspain #amilbabaindubai #Amilbabainnorway #amilbabainkrachi #amilbabainlahore #amilbabaingujranwalan #amilbabainislamabad
Cosmetic shop management system project report.pdfKamal Acharya
Buying new cosmetic products is difficult. It can even be scary for those who have sensitive skin and are prone to skin trouble. The information needed to alleviate this problem is on the back of each product, but it's thought to interpret those ingredient lists unless you have a background in chemistry.
Instead of buying and hoping for the best, we can use data science to help us predict which products may be good fits for us. It includes various function programs to do the above mentioned tasks.
Data file handling has been effectively used in the program.
The automated cosmetic shop management system should deal with the automation of general workflow and administration process of the shop. The main processes of the system focus on customer's request where the system is able to search the most appropriate products and deliver it to the customers. It should help the employees to quickly identify the list of cosmetic product that have reached the minimum quantity and also keep a track of expired date for each cosmetic product. It should help the employees to find the rack number in which the product is placed.It is also Faster and more efficient way.
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdffxintegritypublishin
Advancements in technology unveil a myriad of electrical and electronic breakthroughs geared towards efficiently harnessing limited resources to meet human energy demands. The optimization of hybrid solar PV panels and pumped hydro energy supply systems plays a pivotal role in utilizing natural resources effectively. This initiative not only benefits humanity but also fosters environmental sustainability. The study investigated the design optimization of these hybrid systems, focusing on understanding solar radiation patterns, identifying geographical influences on solar radiation, formulating a mathematical model for system optimization, and determining the optimal configuration of PV panels and pumped hydro storage. Through a comparative analysis approach and eight weeks of data collection, the study addressed key research questions related to solar radiation patterns and optimal system design. The findings highlighted regions with heightened solar radiation levels, showcasing substantial potential for power generation and emphasizing the system's efficiency. Optimizing system design significantly boosted power generation, promoted renewable energy utilization, and enhanced energy storage capacity. The study underscored the benefits of optimizing hybrid solar PV panels and pumped hydro energy supply systems for sustainable energy usage. Optimizing the design of solar PV panels and pumped hydro energy supply systems as examined across diverse climatic conditions in a developing country, not only enhances power generation but also improves the integration of renewable energy sources and boosts energy storage capacities, particularly beneficial for less economically prosperous regions. Additionally, the study provides valuable insights for advancing energy research in economically viable areas. Recommendations included conducting site-specific assessments, utilizing advanced modeling tools, implementing regular maintenance protocols, and enhancing communication among system components.
Automobile Management System Project Report.pdfKamal Acharya
The proposed project is developed to manage the automobile in the automobile dealer company. The main module in this project is login, automobile management, customer management, sales, complaints and reports. The first module is the login. The automobile showroom owner should login to the project for usage. The username and password are verified and if it is correct, next form opens. If the username and password are not correct, it shows the error message.
When a customer search for a automobile, if the automobile is available, they will be taken to a page that shows the details of the automobile including automobile name, automobile ID, quantity, price etc. “Automobile Management System” is useful for maintaining automobiles, customers effectively and hence helps for establishing good relation between customer and automobile organization. It contains various customized modules for effectively maintaining automobiles and stock information accurately and safely.
When the automobile is sold to the customer, stock will be reduced automatically. When a new purchase is made, stock will be increased automatically. While selecting automobiles for sale, the proposed software will automatically check for total number of available stock of that particular item, if the total stock of that particular item is less than 5, software will notify the user to purchase the particular item.
Also when the user tries to sale items which are not in stock, the system will prompt the user that the stock is not enough. Customers of this system can search for a automobile; can purchase a automobile easily by selecting fast. On the other hand the stock of automobiles can be maintained perfectly by the automobile shop manager overcoming the drawbacks of existing system.
Explore the innovative world of trenchless pipe repair with our comprehensive guide, "The Benefits and Techniques of Trenchless Pipe Repair." This document delves into the modern methods of repairing underground pipes without the need for extensive excavation, highlighting the numerous advantages and the latest techniques used in the industry.
Learn about the cost savings, reduced environmental impact, and minimal disruption associated with trenchless technology. Discover detailed explanations of popular techniques such as pipe bursting, cured-in-place pipe (CIPP) lining, and directional drilling. Understand how these methods can be applied to various types of infrastructure, from residential plumbing to large-scale municipal systems.
Ideal for homeowners, contractors, engineers, and anyone interested in modern plumbing solutions, this guide provides valuable insights into why trenchless pipe repair is becoming the preferred choice for pipe rehabilitation. Stay informed about the latest advancements and best practices in the field.
2. About Me
• Shoichi Kaji
• CPAN SKAJI
• perl5 cpm, App::FatPacker::Simple,
Mojo::SlackRTM
• perl6 mi6, Frinfon
3. Contents
• What is App::FatPacker?
• Who uses App::FatPacker?
• How to use App::FatPacker
• Problems and solutions for App::FatPacker
• Conclusion
• See also
5. • Let’s say you want to download perl tarball.
• This script runs perfectly in your local OS X.
# download.pl
use strict;
use warnings;
use HTTP::Tiny;
my $http = HTTP::Tiny->new;
my $url = "http://www.cpan.org/src/5.0/perl-5.22.1.tar.gz";
my $res = $http->mirror($url => "perl-5.22.1.tar.gz");
if ($res->{success}) {
warn "Complete!n";
} else {
die "Failed $res->{status}";
}
6. • But, if you run it in a remote CentOS6 host,
you’ll get
• This is because the perl in CentOS6 is so old
that it does not have HTTP::Tiny in core :/
$ /usr/bin/perl download.pl
Can’t locate HTTP/Tiny.pm in @INC (@INC contains…)
7. What can we do?
• Yes, we can install HTTP::Tiny in remote host
• But it is sometimes tiresome, or even
impossible.
• Okay let’s introduce App::FatPacker by mst
now!
$ cpanm HTTP::Tiny
Successfully installed HTTP-Tiny-0.056
8. • App::FatPacker embeds HTTP::Tiny into a BEGIN
block so that we have self-contailed download.pl
# download.fatpack.pl
BEGIN {
my %fatpacked;
$fatpacked{"HTTP/Tiny.pm"} = <<'EOF';
package HTTP::Tiny;
# ... all HTTP::Tiny code ...
1;
EOF
my $class = "FatPacked::" . (0+%fatpacked);
*{$class . "::INC"} = sub {
my ($self, $pm) = @_;
if (my $content = $self->{$pm}) {
open my $fh, "<", $content;
return $fh;
}
return;
};
unshift @INC, bless %fatpacked, $class;
}
# content of download.pl...
11. Who uses App::FatPacker?
• perlbrew by gugod
• cpanm by miyagawa
• perl-build (plenv plugin) by tokuhirom
• start_server (bundled in h2o) by kazuho
12. How to use App::FatPacker
• perldoc fatpack says:
# 1. trace dependencies
fatpack trace myscript.pl
# 2. find .packlist files
fatpack packlists-for `cat fatpacker.trace` >packlists
# 3. collect pm files in ./fatlib directory
fatpack tree `cat packlists`
# 4. bundles all pm files in ./fatlib into BEGIN block of myscript.pl
fatpack file myscript.pl >myscript.packed.pl
13. Problem
• I cannot remember usage of fatpack :/
• Tracing dependencies may result in
unexpected
• Modules that I want to trace does not trace
• Modules that I do not want to trace trace
14. Solution
• I created App::FatPacker::Simple
• It completely leaves you to trace
dependencies
• It just creates a fatpacked script with all
modules in lib, local, fatlib, extlib directories
15. • It is simple, isn’t it?
# You know HTTP::Tiny is a dependency.
# So install it to ./local first
$ cpanm -nq -L ./local HTTP::Tiny
Successfully installed HTTP-Tiny-0.056
# Then just run fatpack-simple
$ fatpack-simple download.pl
-> fatpack HTTP/Tiny.pm (with perl-strip)
-> Successfully created download.fatpack.pl
16. Still problem…
• Although I said App::FatPacker::Simple leaves
you to trace dependencies, it’s sometimes
annoying.
• Let’s say your script depends on URI module. Then
$ cpanm -nq -L ./local URI
Successfully installed URI-1.71
$ fatpack-simple script.pl
-> Successfully created script.fatpack.pl
$ /path/to/5.8.5/perl script.fatpack.pl
Can’t locate parent.pm in @INC ...
17. • Solutions might be
• Use perl5.8.5 even in fatpacking process💩
• Use cpm with --target-perl option👍
$ cpm install --target-perl 5.8.5 URI
DONE install parent-0.234
DONE install URI-1.71
$ fatpack-simple script.pl
-> Successfully created script.fatpack.pl
$ /path/to/5.8.5/perl script.fatpack.pl
# WORKS!
18. Conclusion
• App::FatPacker can create a self-contained,
depencency-free perl script
• App::FatPacker::Simple + cpm may help that
• Happy hacking with perl5!
19. See also
• https://metacpan.org/pod/App::FatPacker
• https://metacpan.org/pod/App::FatPacker::Simple
• https://github.com/skaji/plenv-download (a real
example of using fatpack-simple + cpm)
• http://ks0608.hatenablog.com/entry/
2015/06/07/004313 (an explanation of require()
function, in japanese)