Moose is an object framework for Perl 5 that simplifies object-oriented programming. It allows classes to be defined declaratively using attributes like 'has' and inheritance is implemented with 'extends'. Attributes can have types, defaults, and delegated accessors. Roles provide reusable traits and are composed into classes using 'with'. Moose supports features like multiple inheritance, method overriding, and required interface methods.
This document introduces object oriented programming in Perl using Moose. It discusses what objects are, how they are commonly created with Moose, and how Moose handles attributes and delegation. Moose provides features like type constraints and immutability out of the box to reduce code and improve performance compared to implementing object oriented code without Moose. The document also covers testing objects and using roles to take on features from multiple packages.
Moose is an object framework for Perl that provides:
1) Full-featured object-oriented programming with attributes, inheritance, roles, and hooks
2) Powerful attribute features like types, defaults, builders, and more
3) A clean and stable API for defining and working with objects
This document provides an introduction and overview of Moose, a modern object framework for Perl 5. It begins with background on the author and a brief history of object oriented programming in Perl 5. It then explains what Moose is, including that it handles object overhead, allows for introspection, and is used in production software. Examples are provided of basic class creation and usage with Moose as well as more advanced features like attributes, types, subclassing, roles, method modifiers, and introspection. The benefits of Moose are summarized as writing less code and avoiding implementation details to have a better object model.
The document discusses how the author evolved the Perlanet software by refactoring it to use Moose and a trait-based architecture. Some key points:
- Perlanet started as a monolithic module but was hard to customize or add new features to.
- The author used Moose to "slash and burn" the code into a more object-oriented and overridable structure using traits instead of large subclasses.
- Traits were used to extract specific behaviors like HTML scrubbing, YAML configuration, etc. into reusable modules.
- This allowed Perlanet to become a "hollow shell" that loads functionality via traits, making it easier to customize and extend.
- The
Slides of the presentation I gave for Perl NYC Meetup 23 April 2012 (http://www.meetup.com/The-New-York-Perl-Meetup-Group/events/59990662/)
Object Oriented got a lot easier since Moose came around.
This keynote is a one-day advanced Moose workshop covering (almost) everything Moose has to offer perl developers
A helper to make the life of Wordpress developers easier.
This helper can be used to quickly register Custom Post Types, Taxonomies, Meta Boxes, Menu Pages and Sidebars within your Wordpress projects. Please comment, review, watch, fork and report bugs.
Elastic::Model is a new framework to store your Moose objects, which uses ElasticSearch as a NoSQL document store and flexible search engine.
It is designed to make small beginnings simple, but to scale easily to Big Data requirements without needing to rearchitect your application. No job too big or small!
This talk will introduce Elastic::Model, demonstrate how to develop a simple application, introduce some more advanced techniques, and discuss how it uses ElasticSearch to scale.
https://github.com/clintongormley/Elastic-Model
This document provides an introduction and overview of DBIx::Class, an ORM (object relational mapper) for Perl. It discusses setting up tables for an authors and books example database, and performing CRUD (create, read, update, delete) operations both manually using SQL and using DBIx::Class. It also covers creating models with Schema::Loader, debugging, overloading result and result set classes, and inflating/deflating columns.
If your not using an ORM (object relational mapper) and are still writing SQL by hand, here's what you need to know.
An introduction into DBIx::Class and some of the concepts and goodies you should be aware off.
This document provides an introduction and overview of using MongoDB and the Doctrine MongoDB ODM with code examples. It demonstrates basic MongoDB operations like saving, finding, and updating documents. It then shows how the Doctrine MongoDB ODM can be used to map documents to PHP objects to work with them in an object-oriented way, including associations, queries, and lifecycle callbacks. The presenter encourages interested developers to contact them about open positions at OpenSky.
jQuery is drawing newcomers to JavaSCript in droves. As a community, we have an obligation -- and it is in our interest -- to help these newcomers understand where jQuery ends and JavaScript begins.
Python's "batteries included" philosophy means that it comes with an astonishing amount of great stuff. On top of that, there's a vibrant world of third-party libraries that help make Python even more wonderful. We'll go on a breezy, example-filled tour through some of my favorites, from treasures in the standard library to great third-party packages that I don't think I could live without, and we'll touch on some of the fuzzier aspects of the Python culture that make it such a joy to be part of.
From mysql to MongoDB(MongoDB2011北京交流会)Night Sailer
The document summarizes differences between MySQL and MongoDB data types and operations. MongoDB uses BSON for data types rather than separate numeric, text and blob types. It supports embedded documents and arrays. Unlike MySQL, MongoDB does not have tables or rows, but collections and documents. Operations like insert, update, find, sort and index are discussed as alternatives to SQL equivalents.
Raven developer Jeremy Kendall discusses PHP's Slim micro framework, with code examples from a photography website he built to learn it, also using Twig templating and Composer dependency management.
This document introduces best practices for writing clean and readable Perl code. It provides examples of poorly formatted code and discusses improvements like using strict and warnings, consistent indentation, descriptive variable names, and limiting line length to 80 characters. The examples demonstrate separating code into logical blocks, spacing around operators, and vertical alignment to improve readability. Adopting these styles and standards helps code be more maintainable as projects evolve over time.
WordPress London 16 May 2012 - You don’t know queryl3rady
How to alter the main WordPress query the correct way. No more query_posts() pwease!
by Scott Cariss of Philosophy Design
Philosophy is a thought-led brand and digital consultancy based in London.
This document introduces Assetic, an asset management library for PHP. It allows developers to work with assets like CSS, JavaScript, images and more. Key features include:
- Asset collections to merge multiple assets into one file for fewer HTTP requests
- Filters to minify, compress, compile or otherwise process asset contents
- Caching of processed assets for improved performance
- Integration with Symfony and other frameworks
- Tools to deploy optimized static assets to servers or content delivery networks
Go beyond the documentation and explore some of what's possible if you stretch symfony to its limits. We will look at a number of aspects of symfony 1.4 and Doctrine 1.2 and tease out some powerful functionality you may not have expected to find, but will doubtless be able to use. Topics covered will include routing, forms, the config cache and record listeners. If you're comfortable in symfony and wondering what's next, this session is for you.
BioPerl is an open source collection of Perl modules for bioinformatics. It contains over 550 modules covering tasks like sequence analysis, multiple sequence alignment, and working with common file formats. The modules provide reusable subroutines and methods to parse data, access databases, and perform other common bioinformatics operations. BioPerl code is portable and can be easily incorporated into scripts and programs. The modules are organized into groups and adhere to object-oriented principles in Perl, with classes, methods, and object blessed references.
This document discusses various data types and data structures in Perl, including scalars, arrays, hashes, references, and object-oriented programming. It provides examples of creating sequences and sequence objects using BioPerl, parsing multi-line sequence data, and accessing GenBank sequence data through the Bio::DB::GenBank module.
Ant is a Java-based build tool that is platform independent like Make but without its limitations. It uses XML configuration files and tasks run by Java objects to define projects and targets. Projects contain attributes and targets which contain tasks. Common tasks include compiling code and copying files. Properties are used to reference variables within the XML file. Ant is easy to use, extensible, standardized, and open source.
This is the Moose talk I gave at YAPC::NA 2012.
It included a practical example of a Moose objects code, a simple app called Comican. The code is not available online. If you want it, just email me (sawyer ATT cpan DOTT org).
Object Oriented got a lot easier since Moose came around.
This keynote is a one-day advanced Moose workshop covering (almost) everything Moose has to offer perl developers
A helper to make the life of Wordpress developers easier.
This helper can be used to quickly register Custom Post Types, Taxonomies, Meta Boxes, Menu Pages and Sidebars within your Wordpress projects. Please comment, review, watch, fork and report bugs.
Elastic::Model is a new framework to store your Moose objects, which uses ElasticSearch as a NoSQL document store and flexible search engine.
It is designed to make small beginnings simple, but to scale easily to Big Data requirements without needing to rearchitect your application. No job too big or small!
This talk will introduce Elastic::Model, demonstrate how to develop a simple application, introduce some more advanced techniques, and discuss how it uses ElasticSearch to scale.
https://github.com/clintongormley/Elastic-Model
This document provides an introduction and overview of DBIx::Class, an ORM (object relational mapper) for Perl. It discusses setting up tables for an authors and books example database, and performing CRUD (create, read, update, delete) operations both manually using SQL and using DBIx::Class. It also covers creating models with Schema::Loader, debugging, overloading result and result set classes, and inflating/deflating columns.
If your not using an ORM (object relational mapper) and are still writing SQL by hand, here's what you need to know.
An introduction into DBIx::Class and some of the concepts and goodies you should be aware off.
This document provides an introduction and overview of using MongoDB and the Doctrine MongoDB ODM with code examples. It demonstrates basic MongoDB operations like saving, finding, and updating documents. It then shows how the Doctrine MongoDB ODM can be used to map documents to PHP objects to work with them in an object-oriented way, including associations, queries, and lifecycle callbacks. The presenter encourages interested developers to contact them about open positions at OpenSky.
jQuery is drawing newcomers to JavaSCript in droves. As a community, we have an obligation -- and it is in our interest -- to help these newcomers understand where jQuery ends and JavaScript begins.
Python's "batteries included" philosophy means that it comes with an astonishing amount of great stuff. On top of that, there's a vibrant world of third-party libraries that help make Python even more wonderful. We'll go on a breezy, example-filled tour through some of my favorites, from treasures in the standard library to great third-party packages that I don't think I could live without, and we'll touch on some of the fuzzier aspects of the Python culture that make it such a joy to be part of.
From mysql to MongoDB(MongoDB2011北京交流会)Night Sailer
The document summarizes differences between MySQL and MongoDB data types and operations. MongoDB uses BSON for data types rather than separate numeric, text and blob types. It supports embedded documents and arrays. Unlike MySQL, MongoDB does not have tables or rows, but collections and documents. Operations like insert, update, find, sort and index are discussed as alternatives to SQL equivalents.
Raven developer Jeremy Kendall discusses PHP's Slim micro framework, with code examples from a photography website he built to learn it, also using Twig templating and Composer dependency management.
This document introduces best practices for writing clean and readable Perl code. It provides examples of poorly formatted code and discusses improvements like using strict and warnings, consistent indentation, descriptive variable names, and limiting line length to 80 characters. The examples demonstrate separating code into logical blocks, spacing around operators, and vertical alignment to improve readability. Adopting these styles and standards helps code be more maintainable as projects evolve over time.
WordPress London 16 May 2012 - You don’t know queryl3rady
How to alter the main WordPress query the correct way. No more query_posts() pwease!
by Scott Cariss of Philosophy Design
Philosophy is a thought-led brand and digital consultancy based in London.
This document introduces Assetic, an asset management library for PHP. It allows developers to work with assets like CSS, JavaScript, images and more. Key features include:
- Asset collections to merge multiple assets into one file for fewer HTTP requests
- Filters to minify, compress, compile or otherwise process asset contents
- Caching of processed assets for improved performance
- Integration with Symfony and other frameworks
- Tools to deploy optimized static assets to servers or content delivery networks
Go beyond the documentation and explore some of what's possible if you stretch symfony to its limits. We will look at a number of aspects of symfony 1.4 and Doctrine 1.2 and tease out some powerful functionality you may not have expected to find, but will doubtless be able to use. Topics covered will include routing, forms, the config cache and record listeners. If you're comfortable in symfony and wondering what's next, this session is for you.
BioPerl is an open source collection of Perl modules for bioinformatics. It contains over 550 modules covering tasks like sequence analysis, multiple sequence alignment, and working with common file formats. The modules provide reusable subroutines and methods to parse data, access databases, and perform other common bioinformatics operations. BioPerl code is portable and can be easily incorporated into scripts and programs. The modules are organized into groups and adhere to object-oriented principles in Perl, with classes, methods, and object blessed references.
This document discusses various data types and data structures in Perl, including scalars, arrays, hashes, references, and object-oriented programming. It provides examples of creating sequences and sequence objects using BioPerl, parsing multi-line sequence data, and accessing GenBank sequence data through the Bio::DB::GenBank module.
Ant is a Java-based build tool that is platform independent like Make but without its limitations. It uses XML configuration files and tasks run by Java objects to define projects and targets. Projects contain attributes and targets which contain tasks. Common tasks include compiling code and copying files. Properties are used to reference variables within the XML file. Ant is easy to use, extensible, standardized, and open source.
This is the Moose talk I gave at YAPC::NA 2012.
It included a practical example of a Moose objects code, a simple app called Comican. The code is not available online. If you want it, just email me (sawyer ATT cpan DOTT org).
The document provides an overview of modern Perl features including:
- Using say() instead of print for output
- Defined-or operator //
- switch/given statement for conditionals
- Smart matching with ~~ operator
- state keyword for static variables
- New regex features like named capture buffers
- Object oriented programming with Moose
- Defining classes, attributes, types and inheritance with Moose
- Exception handling with TryCatch and autodie
- Best practices for coding style, layout, testing and more
The document discusses strategies for writing friendly libraries in CodeIgniter, including making libraries testable, reducing coupling, versioning, documentation, adaptability, and namespacing. It also provides tips for writing libraries such as using configuration, helpers, language files, and not restricting yourself.
The document provides information about building forms in Drupal using the Form API, including:
- Creating a basic subscription form with email and radio button fields
- Adding validation and submission handlers
- Passing data between the form, validation, and submission handlers
- Using fieldsets, trees and access control for form elements
- Creating tabular forms and theming forms into tables
- Defining custom form elements
- Invoking forms with drupal_get_form and providing default values
- Modifying existing forms like node forms using hooks
- Altering forms using hook_form_alter to customize behavior
The document provides an overview of jQuery, including why jQuery is used, how to include the jQuery library, CSS selectors, DOM manipulation, event handling, AJAX, and JSON support in jQuery. Key points covered include getting started with jQuery, ID and custom selectors, DOM traversal methods, event bindings, inline CSS modification, looping in jQuery, and JSON parsing.
The document summarizes new features and improvements in Zend Framework 1.10, including new components like Zend_Barcode and Zend_Feed_Writer, improvements to existing components, new services like LiveDocx and DeveloperGarden, and updates to the documentation.
Watch Erik's presentation on PHP Unit Testing to gain familiarity with unit tests and unit testing here at Tagged, with the testing framework currently in place and also learn how to write (better) unit tests. Download his slides here or email him at [email protected].
Decorators in Python allow functions and methods to be modified by wrapping them in another callable object. Decorators provide a lightweight way to add reusable behavior to code. However, decorators can make functions difficult to test and introduce tight coupling. Alternatives like inheritance and mixins may provide a cleaner approach in some cases.
This document provides an overview of different approaches to theming in Drupal: the "noob way" of using direct PHP/HTML, the Drupal 6 method of using theme functions, and the Drupal 7 Render API method of generating renderable arrays. It discusses advantages of the Render API like content alteration hooks, caching and performance. Key aspects covered include the renderable array structure, the use of #type, #theme, #states and #attached properties. The document recommends generating HTML as late as possible and using the Render API and caching to improve performance.
This document discusses Perl objects and object-oriented programming in Perl. It begins by explaining some of the problems with manipulating data without objects, such as needing to know exact key names and being unable to change key names or storage locations without updating all code. It then discusses what an object is and some benefits of using objects such as code organization, reducing repetition, and making code easier to read, share, test and maintain. The document goes on to explain object-oriented concepts like inheritance, encapsulation, and type checking. It provides examples of different object libraries for Perl like Moose, Moo, and Class::XSAccessor. It also discusses when it may not be appropriate to use objects, such as for performance-
The document describes a project to build a website called PerkyProfiler that retrieves user profile information from different services like GitHub, Flickr, and Twitter by taking URLs as input. It will use Perl and several Perl modules. The project will be built using the Catalyst web framework and Moose/MooseX for object-oriented programming. It describes using Moose roles, custom types, declarative class definitions, and functional programming techniques in Perl. The goal is to generate a unified user profile by combining data from different services for a given URL.
The document discusses key concepts in PHP including objects, classes, functions, and global arrays. It provides examples of defining classes with public and private variables, using constructors, and accessing class variables from inside and outside methods. It also covers defining and calling functions, and the global arrays that PHP automatically creates to store environment, POST, GET, and other information.
When I left Frogtrade, I was asked to provide a presentation on Javascript basics to act as reference material for the PHP developers I left behind. This is that presentation.
Arpad Ray's PHPNW08 slides:
Looking at websites from the perspective of potential attackers is a useful technique not only for security professionals.
This talk demonstrates how to use simple PHP scripts to exploit many common security holes in PHP applications, hopefully giving developers a deeper understanding of what it is they are protecting against.
* Getting around common precautions against SQL injection
* Free spam with SMTP injection
* Making a malicious website to exploit PHP sessions
* The holes every attacker hopes for
* Making use of a newly exploited website
This document provides a summary of an introductory presentation on advanced JavaScript concepts including closures, prototypes, inheritance, and more. The presentation covers object literals and arrays, functions as objects, constructors and the this keyword, prototypes and the prototype chain, classical and prototypal inheritance, scope, and closures. Examples are provided to demonstrate each concept.
This document summarizes the key topics that will be covered in an introduction to Perl programming course on day 2, including types of variables, references, sorting, and object orientation. The schedule outlines times for lectures, breaks and lunch. Resources provided include slides, slideshare, and an online community.
Various coding styles I hate seeing. It's a rant, but a fun one. Uses Spiderman to help illustrate my angst.
This talk was originally given at Cluj.pm, on November 7th, 2013.
A talk about XS Fun, an easy-going tutorial to Perl XS:
https://github.com/xsawyerx/xs-fun
This talk was originally given at Cluj.pm, on November 7th, 2013.
This document discusses asynchronous programming and provides examples using various asynchronous programming models in Perl, including IO::Async, POE, and callbacks. It illustrates how asynchronous programming allows for control by other processes, asynchronous code, and event-driven programming. Examples show setting up asynchronous HTTP requests using IO::Async and running sessions and events in POE.
Our local state, my, my - Understanding Perl variablesxSawyer
This talk should explain the different ways to define Perl variables. What each one does and how they work. It will help you avoid problems with incorrect variable definition and to learn how to use variables in a smarter manner.
This was the last talk of a Tel Aviv Perl Mongers (TA.pm) group meeting.
Your first website in under a minute with DancerxSawyer
Learn how to write your first website using Perl and Dancer in under a minute!
This is a lightning talk given at a Tel Aviv Perl Mongers (TA.pm) group meeting.
This document introduces the Dancer web framework for Perl. It summarizes Dancer's key features, including its route-based and minimal design inspired by Sinatra, its PSGI/Plack compliance, and its large collection of plugins for features like templating, databases, REST, and more. The document advocates that Dancer allows for an efficient, succinct, and flexible approach to web development in Perl.
These are the slides I used at a lecture in YAPC::EU 2010 about running Perl on the Android mobile device operating system.
There is a screencast (audio + video) of it, which will hopefully become available soon.
This an attempt I've made at installing Dancer, the Perl web framework, on an Android emulator using ASE (Android Scripting Environment).
Plenty of things have changed since then, and when I make another attempt, I'll publish that as well.
These are slides from a lecture on Red Flags in Programming that took place at an Israeli Open Source Developers meeting.
Red flags in programming are signs that you likely made a mistake with your application design or code.
Noticing and avoiding these mistakes help us write better code, at any language.
The subject related to mostly dynamic (higher level) languages, even though the sample code is in Perl.
Dev Dives: Automate and orchestrate your processes with UiPath MaestroUiPathCommunity
This session is designed to equip developers with the skills needed to build mission-critical, end-to-end processes that seamlessly orchestrate agents, people, and robots.
📕 Here's what you can expect:
- Modeling: Build end-to-end processes using BPMN.
- Implementing: Integrate agentic tasks, RPA, APIs, and advanced decisioning into processes.
- Operating: Control process instances with rewind, replay, pause, and stop functions.
- Monitoring: Use dashboards and embedded analytics for real-time insights into process instances.
This webinar is a must-attend for developers looking to enhance their agentic automation skills and orchestrate robust, mission-critical processes.
👨🏫 Speaker:
Andrei Vintila, Principal Product Manager @UiPath
This session streamed live on April 29, 2025, 16:00 CET.
Check out all our upcoming Dev Dives sessions at https://community.uipath.com/dev-dives-automation-developer-2025/.
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPathCommunity
Join this UiPath Community Berlin meetup to explore the Orchestrator API, Swagger interface, and the Test Manager API. Learn how to leverage these tools to streamline automation, enhance testing, and integrate more efficiently with UiPath. Perfect for developers, testers, and automation enthusiasts!
📕 Agenda
Welcome & Introductions
Orchestrator API Overview
Exploring the Swagger Interface
Test Manager API Highlights
Streamlining Automation & Testing with APIs (Demo)
Q&A and Open Discussion
Perfect for developers, testers, and automation enthusiasts!
👉 Join our UiPath Community Berlin chapter: https://community.uipath.com/berlin/
This session streamed live on April 29, 2025, 18:00 CET.
Check out all our upcoming UiPath Community sessions at https://community.uipath.com/events/.
How Can I use the AI Hype in my Business Context?Daniel Lehner
𝙄𝙨 𝘼𝙄 𝙟𝙪𝙨𝙩 𝙝𝙮𝙥𝙚? 𝙊𝙧 𝙞𝙨 𝙞𝙩 𝙩𝙝𝙚 𝙜𝙖𝙢𝙚 𝙘𝙝𝙖𝙣𝙜𝙚𝙧 𝙮𝙤𝙪𝙧 𝙗𝙪𝙨𝙞𝙣𝙚𝙨𝙨 𝙣𝙚𝙚𝙙𝙨?
Everyone’s talking about AI but is anyone really using it to create real value?
Most companies want to leverage AI. Few know 𝗵𝗼𝘄.
✅ What exactly should you ask to find real AI opportunities?
✅ Which AI techniques actually fit your business?
✅ Is your data even ready for AI?
If you’re not sure, you’re not alone. This is a condensed version of the slides I presented at a Linkedin webinar for Tecnovy on 28.04.2025.
This is the keynote of the Into the Box conference, highlighting the release of the BoxLang JVM language, its key enhancements, and its vision for the future.
Semantic Cultivators : The Critical Future Role to Enable AIartmondano
By 2026, AI agents will consume 10x more enterprise data than humans, but with none of the contextual understanding that prevents catastrophic misinterpretations.
TrsLabs - Fintech Product & Business ConsultingTrs Labs
Hybrid Growth Mandate Model with TrsLabs
Strategic Investments, Inorganic Growth, Business Model Pivoting are critical activities that business don't do/change everyday. In cases like this, it may benefit your business to choose a temporary external consultant.
An unbiased plan driven by clearcut deliverables, market dynamics and without the influence of your internal office equations empower business leaders to make right choices.
Getting things done within a budget within a timeframe is key to Growing Business - No matter whether you are a start-up or a big company
Talk to us & Unlock the competitive advantage
Quantum Computing Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc
Most consumers believe they’re making informed decisions about their personal data—adjusting privacy settings, blocking trackers, and opting out where they can. However, our new research reveals that while awareness is high, taking meaningful action is still lacking. On the corporate side, many organizations report strong policies for managing third-party data and consumer consent yet fall short when it comes to consistency, accountability and transparency.
This session will explore the research findings from TrustArc’s Privacy Pulse Survey, examining consumer attitudes toward personal data collection and practical suggestions for corporate practices around purchasing third-party data.
Attendees will learn:
- Consumer awareness around data brokers and what consumers are doing to limit data collection
- How businesses assess third-party vendors and their consent management operations
- Where business preparedness needs improvement
- What these trends mean for the future of privacy governance and public trust
This discussion is essential for privacy, risk, and compliance professionals who want to ground their strategies in current data and prepare for what’s next in the privacy landscape.
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell
With expertise in data architecture, performance tracking, and revenue forecasting, Andrew Marnell plays a vital role in aligning business strategies with data insights. Andrew Marnell’s ability to lead cross-functional teams ensures businesses achieve sustainable growth and operational excellence.
Big Data Analytics Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
HCL Nomad Web – Best Practices and Managing Multiuser Environmentspanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-and-managing-multiuser-environments/
HCL Nomad Web is heralded as the next generation of the HCL Notes client, offering numerous advantages such as eliminating the need for packaging, distribution, and installation. Nomad Web client upgrades will be installed “automatically” in the background. This significantly reduces the administrative footprint compared to traditional HCL Notes clients. However, troubleshooting issues in Nomad Web present unique challenges compared to the Notes client.
Join Christoph and Marc as they demonstrate how to simplify the troubleshooting process in HCL Nomad Web, ensuring a smoother and more efficient user experience.
In this webinar, we will explore effective strategies for diagnosing and resolving common problems in HCL Nomad Web, including
- Accessing the console
- Locating and interpreting log files
- Accessing the data folder within the browser’s cache (using OPFS)
- Understand the difference between single- and multi-user scenarios
- Utilizing Client Clocking
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveScyllaDB
Want to learn practical tips for designing systems that can scale efficiently without compromising speed?
Join us for a workshop where we’ll address these challenges head-on and explore how to architect low-latency systems using Rust. During this free interactive workshop oriented for developers, engineers, and architects, we’ll cover how Rust’s unique language features and the Tokio async runtime enable high-performance application development.
As you explore key principles of designing low-latency systems with Rust, you will learn how to:
- Create and compile a real-world app with Rust
- Connect the application to ScyllaDB (NoSQL data store)
- Negotiate tradeoffs related to data modeling and querying
- Manage and monitor the database for consistently low latencies
Mobile App Development Company in Saudi ArabiaSteve Jonas
EmizenTech is a globally recognized software development company, proudly serving businesses since 2013. With over 11+ years of industry experience and a team of 200+ skilled professionals, we have successfully delivered 1200+ projects across various sectors. As a leading Mobile App Development Company In Saudi Arabia we offer end-to-end solutions for iOS, Android, and cross-platform applications. Our apps are known for their user-friendly interfaces, scalability, high performance, and strong security features. We tailor each mobile application to meet the unique needs of different industries, ensuring a seamless user experience. EmizenTech is committed to turning your vision into a powerful digital product that drives growth, innovation, and long-term success in the competitive mobile landscape of Saudi Arabia.
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxJustin Reock
Building 10x Organizations with Modern Productivity Metrics
10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches actually work? DORA? SPACE? DevEx? What should we invest in and create urgency behind today, so that we don’t find ourselves having the same discussion again in a decade?
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungenpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-und-verwaltung-von-multiuser-umgebungen/
HCL Nomad Web wird als die nächste Generation des HCL Notes-Clients gefeiert und bietet zahlreiche Vorteile, wie die Beseitigung des Bedarfs an Paketierung, Verteilung und Installation. Nomad Web-Client-Updates werden “automatisch” im Hintergrund installiert, was den administrativen Aufwand im Vergleich zu traditionellen HCL Notes-Clients erheblich reduziert. Allerdings stellt die Fehlerbehebung in Nomad Web im Vergleich zum Notes-Client einzigartige Herausforderungen dar.
Begleiten Sie Christoph und Marc, während sie demonstrieren, wie der Fehlerbehebungsprozess in HCL Nomad Web vereinfacht werden kann, um eine reibungslose und effiziente Benutzererfahrung zu gewährleisten.
In diesem Webinar werden wir effektive Strategien zur Diagnose und Lösung häufiger Probleme in HCL Nomad Web untersuchen, einschließlich
- Zugriff auf die Konsole
- Auffinden und Interpretieren von Protokolldateien
- Zugriff auf den Datenordner im Cache des Browsers (unter Verwendung von OPFS)
- Verständnis der Unterschiede zwischen Einzel- und Mehrbenutzerszenarien
- Nutzung der Client Clocking-Funktion
Spark is a powerhouse for large datasets, but when it comes to smaller data workloads, its overhead can sometimes slow things down. What if you could achieve high performance and efficiency without the need for Spark?
At S&P Global Commodity Insights, having a complete view of global energy and commodities markets enables customers to make data-driven decisions with confidence and create long-term, sustainable value. 🌍
Explore delta-rs + CDC and how these open-source innovations power lightweight, high-performance data applications beyond Spark! 🚀
5. No real attributes bless {}, __PACKAGE__; sub new { my ( $class, @args ) = @_; my $self = { @args }; # params bless $self, $class; return $self; } sub name { my ( $self, $name ) = @_; $name and $self->{'name'} = $name; return $self->{'name'}; }
6. Why would you want to use Moose? Moose package Person; use strict; use warnings; use Carp qw( confess ); use DateTime; use DateTime::Format::Natural; sub new { my $class = shift; my %p = ref $_[0] ? %{ $_[0] } : @_; exists $p{name} or confess 'name is a required attribute'; $class->_validate_name( $p{name} ); exists $p{birth_date} or confess 'birth_date is a required attribute'; $p{birth_date} = $class->_coerce_birth_date( $p{birth_date} ); $class->_validate_birth_date( $p{birth_date} ); $p{shirt_size} = 'l' unless exists $p{shirt_size}: $class->_validate_shirt_size( $p{shirt_size} ); return bless \%p, $class; } sub _validate_name { shift; my $name = shift; local $Carp::CarpLevel = $Carp::CarpLevel + 1; defined $name or confess 'name must be a string'; } Plain old Perl 5 package User; use Email::Valid; use Moose; use Moose::Util::TypeConstraints; extends 'Person'; subtype 'Email' => as 'Str' => where { Email::Valid->address($_) } => message { "$_ is not a valid email address" }; has email_address => ( is => 'rw', isa => 'Email', required => 1, );
19. Roll your own using subtype package User; use Moose; has name => ( is => 'rw', isa => 'Str', ); 1;
20. Methods are the same as before sub method { my $self = shift; ... $self->more(); }
21. Inheritance is as easy as... Multiple inheritance is also possible, extends accepts an array package Punk; use Moose; extends 'Person'; 1; package Child; use Moose; extends qw/ Father Mother /; 1;
22. Roles are even easier! Multiple roles are recommend! with accepts an array too package Punk; use Moose; extends 'Person'; with 'Piercings'; 1; package Punk; use Moose; extends 'Person'; with qw/ Piercings Tattoos /; 1;
23. More hooks than a coat rack! package User::WinterAware; use Moose; extends 'User'; before leaving => sub { my $self = shift; $self->cold and $self->take_jacket; }; 1; before
25. More hooks than a coat rack! package User::Secure; use Moose; extends 'User'; around login => sub { my $orig = shift; my $self = shift; $self->security_check and $self->$orig(@_); }; 1; before
30. Back to attributes options... has set => ( is => 'rw', isa => 'Set::Object', default => sub { Set::Object->new }, required => 1, lazy => 1, predicate => 'has_set', clearer => 'clear_set', builder => 'build_set', );
31. Attribute options default => 'kitteh', # string default => 3, # number default => sub { {} }, # HashRef default => sub { [] }, # ArrayRef default => sub { Object->new }, # an Object etc. etc. (if you need a more elaborate sub, use builder ) default
33. Attribute options lazy => 1, # make it lazy Class will not create the slot for this attribute unless it absolutely has to. That is defined by whether it is accessed at all. Wasn't accessed? You don't pay the penalty! :) lazy = good lazy
34. Attribute options builder => 'build_it', # subroutine name sub build_it { my $self = shift; # not a problem! return Some::Object->new( $self->more_opts, ); } # and, obviously... after build_it => sub { “they will come” }; (a builder sets the value of the attribute) builder
35. Attribute options clearer => 'clear_it', # subroutine name # you don't need to create the subroutine sub time_machine { my $self = shift; $self->clear_it; # 'it' never happened :) } (a clearer clears the value, as if it never existed) (does not go back to default) clearer
36. Attribute options predicate => 'has_it', # subroutine name # you don't need to create the subroutine sub try_to_do_it { my $self = shift; $self->has_it && $self->do_it(); } (a predicate checks an attribute value exists) (even false values) (which is good!) predicate