Kwalitee definition (provided this could be done and as much as possible). What may be done before coding, while coding and after publication in order to raise Kwalitee level.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
2024 State of Marketing Report – by HubspotMarius Sescu
https://www.hubspot.com/state-of-marketing
· Scaling relationships and proving ROI
· Social media is the place for search, sales, and service
· Authentic influencer partnerships fuel brand growth
· The strongest connections happen via call, click, chat, and camera.
· Time saved with AI leads to more creative work
· Seeking: A single source of truth
· TLDR; Get on social, try AI, and align your systems.
· More human marketing, powered by robots
ChatGPT is a revolutionary addition to the world since its introduction in 2022. A big shift in the sector of information gathering and processing happened because of this chatbot. What is the story of ChatGPT? How is the bot responding to prompts and generating contents? Swipe through these slides prepared by Expeed Software, a web development company regarding the development and technical intricacies of ChatGPT!
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
2024 State of Marketing Report – by HubspotMarius Sescu
https://www.hubspot.com/state-of-marketing
· Scaling relationships and proving ROI
· Social media is the place for search, sales, and service
· Authentic influencer partnerships fuel brand growth
· The strongest connections happen via call, click, chat, and camera.
· Time saved with AI leads to more creative work
· Seeking: A single source of truth
· TLDR; Get on social, try AI, and align your systems.
· More human marketing, powered by robots
ChatGPT is a revolutionary addition to the world since its introduction in 2022. A big shift in the sector of information gathering and processing happened because of this chatbot. What is the story of ChatGPT? How is the bot responding to prompts and generating contents? Swipe through these slides prepared by Expeed Software, a web development company regarding the development and technical intricacies of ChatGPT!
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
The realm of product design is a constantly changing environment where technology and style intersect. Every year introduces fresh challenges and exciting trends that mold the future of this captivating art form. In this piece, we delve into the significant trends set to influence the look and functionality of product design in the year 2024.
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
Mental health has been in the news quite a bit lately. Dozens of U.S. states are currently suing Meta for contributing to the youth mental health crisis by inserting addictive features into their products, while the U.S. Surgeon General is touring the nation to bring awareness to the growing epidemic of loneliness and isolation. The country has endured periods of low national morale, such as in the 1970s when high inflation and the energy crisis worsened public sentiment following the Vietnam War. The current mood, however, feels different. Gallup recently reported that national mental health is at an all-time low, with few bright spots to lift spirits.
To better understand how Americans are feeling and their attitudes towards mental health in general, ThinkNow conducted a nationally representative quantitative survey of 1,500 respondents and found some interesting differences among ethnic, age and gender groups.
Technology
For example, 52% agree that technology and social media have a negative impact on mental health, but when broken out by race, 61% of Whites felt technology had a negative effect, and only 48% of Hispanics thought it did.
While technology has helped us keep in touch with friends and family in faraway places, it appears to have degraded our ability to connect in person. Staying connected online is a double-edged sword since the same news feed that brings us pictures of the grandkids and fluffy kittens also feeds us news about the wars in Israel and Ukraine, the dysfunction in Washington, the latest mass shooting and the climate crisis.
Hispanics may have a built-in defense against the isolation technology breeds, owing to their large, multigenerational households, strong social support systems, and tendency to use social media to stay connected with relatives abroad.
Age and Gender
When asked how individuals rate their mental health, men rate it higher than women by 11 percentage points, and Baby Boomers rank it highest at 83%, saying it’s good or excellent vs. 57% of Gen Z saying the same.
Gen Z spends the most amount of time on social media, so the notion that social media negatively affects mental health appears to be correlated. Unfortunately, Gen Z is also the generation that’s least comfortable discussing mental health concerns with healthcare professionals. Only 40% of them state they’re comfortable discussing their issues with a professional compared to 60% of Millennials and 65% of Boomers.
Race Affects Attitudes
As seen in previous research conducted by ThinkNow, Asian Americans lag other groups when it comes to awareness of mental health issues. Twenty-four percent of Asian Americans believe that having a mental health issue is a sign of weakness compared to the 16% average for all groups. Asians are also considerably less likely to be aware of mental health services in their communities (42% vs. 55%) and most likely to seek out information on social media (51% vs. 35%).
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
This article is all about what AI trends will emerge in the field of creative operations in 2024. All the marketers and brand builders should be aware of these trends for their further use and save themselves some time!
A report by thenetworkone and Kurio.
The contributing experts and agencies are (in an alphabetical order): Sylwia Rytel, Social Media Supervisor, 180heartbeats + JUNG v MATT (PL), Sharlene Jenner, Vice President - Director of Engagement Strategy, Abelson Taylor (USA), Alex Casanovas, Digital Director, Atrevia (ES), Dora Beilin, Senior Social Strategist, Barrett Hoffher (USA), Min Seo, Campaign Director, Brand New Agency (KR), Deshé M. Gully, Associate Strategist, Day One Agency (USA), Francesca Trevisan, Strategist, Different (IT), Trevor Crossman, CX and Digital Transformation Director; Olivia Hussey, Strategic Planner; Simi Srinarula, Social Media Manager, The Hallway (AUS), James Hebbert, Managing Director, Hylink (CN / UK), Mundy Álvarez, Planning Director; Pedro Rojas, Social Media Manager; Pancho González, CCO, Inbrax (CH), Oana Oprea, Head of Digital Planning, Jam Session Agency (RO), Amy Bottrill, Social Account Director, Launch (UK), Gaby Arriaga, Founder, Leonardo1452 (MX), Shantesh S Row, Creative Director, Liwa (UAE), Rajesh Mehta, Chief Strategy Officer; Dhruv Gaur, Digital Planning Lead; Leonie Mergulhao, Account Supervisor - Social Media & PR, Medulla (IN), Aurelija Plioplytė, Head of Digital & Social, Not Perfect (LI), Daiana Khaidargaliyeva, Account Manager, Osaka Labs (UK / USA), Stefanie Söhnchen, Vice President Digital, PIABO Communications (DE), Elisabeth Winiartati, Managing Consultant, Head of Global Integrated Communications; Lydia Aprina, Account Manager, Integrated Marketing and Communications; Nita Prabowo, Account Manager, Integrated Marketing and Communications; Okhi, Web Developer, PNTR Group (ID), Kei Obusan, Insights Director; Daffi Ranandi, Insights Manager, Radarr (SG), Gautam Reghunath, Co-founder & CEO, Talented (IN), Donagh Humphreys, Head of Social and Digital Innovation, THINKHOUSE (IRE), Sarah Yim, Strategy Director, Zulu Alpha Kilo (CA).
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
The search marketing landscape is evolving rapidly with new technologies, and professionals, like you, rely on innovative paid search strategies to meet changing demands.
It’s important that you’re ready to implement new strategies in 2024.
Check this out and learn the top trends in paid search advertising that are expected to gain traction, so you can drive higher ROI more efficiently in 2024.
You’ll learn:
- The latest trends in AI and automation, and what this means for an evolving paid search ecosystem.
- New developments in privacy and data regulation.
- Emerging ad formats that are expected to make an impact next year.
Watch Sreekant Lanka from iQuanti and Irina Klein from OneMain Financial as they dive into the future of paid search and explore the trends, strategies, and technologies that will shape the search marketing landscape.
If you’re looking to assess your paid search strategy and design an industry-aligned plan for 2024, then this webinar is for you.
5 Public speaking tips from TED - Visualized summarySpeakerHub
From their humble beginnings in 1984, TED has grown into the world’s most powerful amplifier for speakers and thought-leaders to share their ideas. They have over 2,400 filmed talks (not including the 30,000+ TEDx videos) freely available online, and have hosted over 17,500 events around the world.
With over one billion views in a year, it’s no wonder that so many speakers are looking to TED for ideas on how to share their message more effectively.
The article “5 Public-Speaking Tips TED Gives Its Speakers”, by Carmine Gallo for Forbes, gives speakers five practical ways to connect with their audience, and effectively share their ideas on stage.
Whether you are gearing up to get on a TED stage yourself, or just want to master the skills that so many of their speakers possess, these tips and quotes from Chris Anderson, the TED Talks Curator, will encourage you to make the most impactful impression on your audience.
See the full article and more summaries like this on SpeakerHub here: https://speakerhub.com/blog/5-presentation-tips-ted-gives-its-speakers
See the original article on Forbes here:
http://www.forbes.com/forbes/welcome/?toURL=http://www.forbes.com/sites/carminegallo/2016/05/06/5-public-speaking-tips-ted-gives-its-speakers/&refURL=&referrer=#5c07a8221d9b
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
Everyone is in agreement that ChatGPT (and other generative AI tools) will shape the future of work. Yet there is little consensus on exactly how, when, and to what extent this technology will change our world.
Businesses that extract maximum value from ChatGPT will use it as a collaborative tool for everything from brainstorming to technical maintenance.
For individuals, now is the time to pinpoint the skills the future professional will need to thrive in the AI age.
Check out this presentation to understand what ChatGPT is, how it will shape the future of work, and how you can prepare to take advantage.
A brief introduction to DataScience with explaining of the concepts, algorithms, machine learning, supervised and unsupervised learning, clustering, statistics, data preprocessing, real-world applications etc.
It's part of a Data Science Corner Campaign where I will be discussing the fundamentals of DataScience, AIML, Statistics etc.
Time Management & Productivity - Best PracticesVit Horky
Here's my presentation on by proven best practices how to manage your work time effectively and how to improve your productivity. It includes practical tips and how to use tools such as Slack, Google Apps, Hubspot, Google Calendar, Gmail and others.
The six step guide to practical project managementMindGenius
The six step guide to practical project management
If you think managing projects is too difficult, think again.
We’ve stripped back project management processes to the
basics – to make it quicker and easier, without sacrificing
the vital ingredients for success.
“If you’re looking for some real-world guidance, then The Six Step Guide to Practical Project Management will help.”
Dr Andrew Makar, Tactical Project Management
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
YAPC 2007 "Module Kwalitee" Talk
1. Module Kwalitee
YAPC Europe 2007
v2.0
(translated, edited & augmented from French Perl Workshop 2006 talk)
YAPC 2007, Vienna, August 28th–30th, 1 Xavier Caron <maspalio@free.fr>
2. Module Kwalitee
“Kwalitee”?
Definition attempt
✗
“Kwalitee” is an approximation of “Quality”
✗
Nobody knows what it is actually...
✗
Anyway, we believe we're able to recognize it when we see it!
✗
It's mainly a matter of confidence
✗
Built through passed tests (but it's not enough as we'll see later)
✗
Yet, absence of bugs (read “unfound”) does not imply Kwalitee!
✗
Although a correlation exists if tests functional coverage is decent
✗
“Go ahead bug, make my day!”
✗
A bug is a difference between expectation and implementation
✗
It is also a difference between test, documentation & code
✗
If documentation is missing, this is a bug indeed!
✗
YAPC 2007, Vienna, August 28th–30th, 2 Xavier Caron <maspalio@free.fr>
3. Module Kwalitee
Achtung!
*
Tr (in
**
u cl
Tr
th u
u
is din
th
,
th g t
is
er hi
N
O
es
T
is on
ou
n e)
o*
t
th
tr *
u
er
th
e!
.
YAPC 2007, Vienna, August 28th–30th, 3 Xavier Caron <maspalio@free.fr>
4. Module Kwalitee
1
When & What
Ages before
✗
Literature
✗
CPAN
✗
Articles, conferences, /Perl Mon(k|ger)s/, etc.
✗
“Read. Learn. Evolve.” – Klortho the Magnificent
✗
Before
✗
Generate module skeleton
✗
Use an OO class builder (if applicable)
✗
Write tests (a tad of XP in your code)
✗
While (coding)
✗
Document in parallel (and why not, before?)
✗
Add more tests if required
✗
YAPC 2007, Vienna, August 28th–30th, 4 Xavier Caron <maspalio@free.fr>
5. Module Kwalitee
2
When & What
After (between coding & release)
✗
Test (test suite – acceptance and non-regression)
✗
Measure POD coverage
✗
Measure tests code coverage
✗
Measure tests functional coverage (Ha! Ha!)
✗
Generate synthetic reports
✗
For one-glance checking purposes or for traceability's sake
✗
Way after (release)
✗
Refactor early, refactor often
✗
Test suite (non-regression) should ensure nothing got broken in the process
✗
Following a bug report...
✗
First add test(s) to reproduce the code defect(s)
✗
Then – and only then – nuke bug(s) out
✗
Test again (test suite – non-regression)
✗
YAPC 2007, Vienna, August 28th–30th, 5 Xavier Caron <maspalio@free.fr>
6. Module Kwalitee
Hey! Hold on! Social Perl?
What's social about this ramble anyway?
✗
“Always code as if the guy who ends up maintaining your code will be
✗
a violent psychopath who knows where you live.” – Damian Conway
From SICP's preface
✗
“Thus, programs must be written for people to read, and only
✗
incidentally for machines to execute.”
YAPC 2007, Vienna, August 28th–30th, 6 Xavier Caron <maspalio@free.fr>
7. Module Kwalitee
1
Pre-requesites
SCM – source code management (~ history + //)
✗
For example: cvs, subversion, svk, darcs, git, etc.
✗
Beware! Needs some kind of etiquette (tagging, branching, etc.)
✗
Use a good “difference engine” (GNU diff), possibly w/ GUI (tkdiff)
✗
RT – request tracker (~ intention)
✗
For example: cvstrac, trac, RT, bugzilla, etc.
✗
Text editor with syntax highlighting
✗
For example: NEdit, vi, emacs, etc.
✗
Consistent coding “rules” (OK, “best practices”)
✗
It might even be the “good” ones ;^)
✗
Cf PBP (book) + Perl::Critic (module) + perltidy (tool)
✗
YAPC 2007, Vienna, August 28th–30th, 7 Xavier Caron <maspalio@free.fr>
8. Module Kwalitee
2
Pre-requesites
An IDE might also be of some help
✗
Like Eclipse + Perl plugin (but I'm not too eager to try ;^)
✗
Indeed, we may not be allowed to choose...
✗
SCM, RT, “good” practices or even the text editor :^(
✗
Due to OS, “corporate” practices, customer, etc.
✗
If you don't have what you like, you should like what you have!
✗
But we choose to use compiler directives
✗
use strict; # for code
✗
use warnings; # for test
It is even strongly advised!
✗
Else: “Some people have tried...”
✗
YAPC 2007, Vienna, August 28th–30th, 8 Xavier Caron <maspalio@free.fr>
9. Module Kwalitee
3
Pre-requesites
“They had some problems!”
✗
YAPC 2007, Vienna, August 28th–30th, 9 Xavier Caron <maspalio@free.fr>
10. Module Kwalitee
1
Do not reinvent the wheel
Avoid repeating others' errors
✗
Hard to escape from NIH syndrome (“Not Invented Here”), isn't it?
✗
Less hubris, more laziness!
✗
Consider using a CPAN module instead
✗
“I code in CPAN, the rest is syntax.” – Audrey Tang
✗
But first do a module review
✗
Practical utility
✗
Configurability
✗
Active development (if applicable – might have reached stability)
✗
Anyway, if you still want to reinvent the wheel...
✗
At least, try to reinvent a better one!
✗
YAPC 2007, Vienna, August 28th–30th, 10 Xavier Caron <maspalio@free.fr>
11. Module Kwalitee
2
Do not reinvent the wheel
Some not-so-uncommon tasks...
✗
Sometimes even a bore to code!
✗
Command line parsing
✗
Getopt::Long (an all-time classic)
✗
Getopt::Euclid (POD is used to describe switches)
✗
Configuration handling
✗
Config::Std (~ M$ INI)
✗
YAML
✗
And no way, no XML (“not even in your wildest dreams”)!
✗
Off the top of my head... (cf Phalanx Top 100)
✗
HTML::Parser, XML::Twig, Spreadsheet::ParseExcel,
✗
Parse::RecDescent, RegExp::Common, List::MoreUtils, etc.
YAPC 2007, Vienna, August 28th–30th, 11 Xavier Caron <maspalio@free.fr>
12. Module Kwalitee
3
Do not reinvent the wheel
Literature
✗
Perl cookbook (Christiansen & Torkington)
✗
Perl best practices (Conway)
✗
Mastering algorithms with Perl (Orwant, Hietaniemi & MacDonald)
✗
Perl testing: a developer's handbook (Ian Langworth & Chromatic)
✗
The pragmatic programmer (Hunt & Thomas)
✗
Lessons learned in software testing (Kaner, Bach & Pettichord)
✗
Refactoring: Improving the Design of Existing Code (Fowler et al.)
✗
Experiences
✗
User groups (Perl Mongers, Perl Monks)
✗
Conferences (Perl Workshops, YAPC)
✗
Articles (Perl Journal, perl.com)
✗
YAPC 2007, Vienna, August 28th–30th, 12 Xavier Caron <maspalio@free.fr>
13. Module Kwalitee
Programmer's triptych
Hubris
Laziness
POD
TESTS
CODE
Impatience
YAPC 2007, Vienna, August 28th–30th, 13 Xavier Caron <maspalio@free.fr>
14. Module Kwalitee
At the beginning...
Build correctly your own module in the 1st place
✗
A Perl module is a precise file tree structure
✗
Easy to forget one of its numerous files (see José's guide)
✗
Hard to remember the syntax of every file
✗
Use a dedicated CPAN module
✗
For example Module::Starter (or even Module::Starter::PBP)
✗
Creates correct-by-construction templates to fill out
✗
Dedicated tests will check if they have been tampered with
✗
Use an OO class builder (if applicable)
✗
Like Class::Generate, Class::MethodMaker, Class::Accessor, etc.
✗
Or even Class::Std for an inside-out implementation
✗
YAPC 2007, Vienna, August 28th–30th, 14 Xavier Caron <maspalio@free.fr>
15. Module Kwalitee
1
Testing for dummies
Test = confront intention & implementation
✗
Using techniques (“directed” or “constrained random” tests)
✗
And a reference model (OK ~ no ≠ vs reference)
✗
Intention
✗
Written in a specification, a test plan, etc.
✗
When these documents are available indeed!
✗
Not-so-formal stuff for they are meant to be read by humans
✗
So obviously prone to interpretation
✗
Implementation
✗
Code (+ documentation)
✗
Split by units (modules = ∑ functions)
✗
YAPC 2007, Vienna, August 28th–30th, 15 Xavier Caron <maspalio@free.fr>
16. Module Kwalitee
2
Testing for dummies
Test-driven development (TDD)
✗
Unit tests (might be xUnit-compliant or not)
✗
Acceptance tests (i.e., what the customer has paid for)
✗
Test suite ≈ executable specification
✗
Somehow more formal (or somehow less informal ;^)
✗
“Old tests don't die, they just become non-regression tests!”
✗
– chromatic & Michael G Schwern
But a passed test does not mean a lot!
✗
It should even be frustrating (“OK? So what?”) for a tester!
✗
To put it (again) the blunt way...
✗
“Program testing can be used very efficiently to show the
✗
presence of bugs, but never to show their absence.”
– Edsger Dijkstra (EWD288) 16
th th,
Xavier Caron <maspalio@free.fr>
YAPC 2007, Vienna, August 28 –30
17. Module Kwalitee
3
Testing for dummies
Tester should ask 2 fundamental questions
✗
“Is this correct?”
✗
“Am I finished?”
✗
“Is this correct?”
✗
Are all suite tests 100% OK?
✗
TAP protocol's role via Test::More + Test::Harness modules
✗
With SKIP/TODO TAP concepts, it's a closed-answer Q (i.e., 100%)
✗
“Am I finished?”
✗
Did my tests actually stressed all my lines of code?
✗
Code coverage concept (associated with metrics)
✗
Falls into Devel::Cover module's domain
✗
But... do my code lines really implement meant functionality?
✗
YAPC 2007, Vienna, August 28th–30th, 17 Xavier Caron <maspalio@free.fr>
18. Module Kwalitee
4
Testing for dummies
Code coverage ≠ functional coverage
✗
It's actually very tempting to pretend latter is equivalent to former
✗
Code coverage
✗
A given code might be 100% covered, yet...
✗
It could miss the part that does implement meant functionality!
✗
Functional coverage
✗
A better answer to the “am I done?” question
✗
Linked to all possible input combinations of a function (cf CRT)
✗
Damned! How do I measure FC in Perl?
✗
It is possible with recent HDVL like SystemVerilog
✗
It is listed in TODOes of Test::LectroTest module
✗
YAPC 2007, Vienna, August 28th–30th, 18 Xavier Caron <maspalio@free.fr>
19. Module Kwalitee
5
Testing for dummies
Code coverage ≠ functional coverage
✗
The trivial following counter-example
✗
=head2 foo
✗
Returns 'foo' to 'bar' and 'gabuzomeu' to 'baz'. Returns undef else.
=cut
sub foo {
my $s = shift;
return 'gabuzomeu' if $s eq 'baz';
undef;
}
use Test::More tests => 2;
is ( foo( 'baz' ), 'gabuzomeu', quot;returns 'gabuzomeu' if 'baz'quot; );
is ( foo( 'foo' ), undef, quot;returns undef if unknown inputquot; );
Reaches 100% CC... but does not implement foo ( 'bar' ) = 'foo'!
✗
---------------------------- ------ ------ ------ ------ ------ ------ ------
✗
File stmt bran cond sub pod time total
---------------------------- ------ ------ ------ ------ ------ ------ ------
t_foo.t 100.0 100.0 n/a 100.0 n/a 100.0 100.0
Total 100.0 100.0 n/a 100.0 n/a 100.0 100.0
---------------------------- ------ ------ ------ ------ ------ ------ ------
YAPC 2007, Vienna, August 28th–30th, 19 Xavier Caron <maspalio@free.fr>
20. Module Kwalitee
Unit tests
use warnings; use strict;
lib/Foo.pm
use Test::More; package Foo;
use Carp::Assert::More;
plan(tests=>N);
# ...
use_ok('Foo');
=head2 bar
# ... bar ( baz )
Test::More
is_deeply( Rince baz.
is(), is_deeply(), ...
bar ($baz), =cut
refbar ($baz),
'baz au bar' sub bar {
≈
); stimulus TAP:
my $baz = shift;
assert_nonblank $baz; OK, !OK
# ... # ... SKIP /
ƒ()
}
TODO
t/13-bar.t # ... reference model
YAPC 2007, Vienna, August 28th–30th, 20 Xavier Caron <maspalio@free.fr>
21. Module Kwalitee
1
TAP protocol
“Test Anything Protocol”
✗
Separation between result flow and results interpreter
✗
Designed by Perl folks but actually language-agnostic
✗
The function to test is seen as a black-box
✗
Test program only has to supply the interpreter with a TAP flow
✗
Using ad'hoc toolbox (a module of course)
✗
For example, Test::More module (plan(), use_ok(), is(), etc.)
✗
Number of tests to perform is declared first
✗
Test “plan” (a bit shallow IMHO vs – overkill? – IEEE Std 829)
✗
Test is failed if M actual tests ≠ N expected tests
✗
Since any item may crash the whole test sequence before the end
✗
YAPC 2007, Vienna, August 28th–30th, 21 Xavier Caron <maspalio@free.fr>
22. Module Kwalitee
2
TAP protocol
Test “plan”
✗
1..N (todo X Y)?
✗
Tests
✗
ok X - description
✗
not ok X - description
✗
ok Y # SKIP why
✗
not ok Y # TODO why
✗
SKIP
✗
Skip test because of an external factor (missing module, OS, etc.)
✗
TODO
✗
Not yet implemented functionality (might nevertheless be OK)
✗
YAPC 2007, Vienna, August 28th–30th, 22 Xavier Caron <maspalio@free.fr>
23. Module Kwalitee
3
TAP protocol
Cf Test::Tutorial talk
✗
TAP and much, much more by chromatic & Michael G Schwern
✗
A few TAP interpreters
✗
Test::Harness
✗
Test::TAP::Model (IM built upon TAP flow -> Test::TAP::HTMLMatrix)
✗
More about this topic...
✗
Specification within TAP module
✗
Wikipedia entry: Test_Anything_Protocol
✗
Curtis “Ovid” Poe's talk: “TAP::Parser Will Be Test::Harness 3.0”
✗
chromatic's article: “An Introduction to Testing”
✗
Web site: http://testanything.org/
✗
YAPC 2007, Vienna, August 28th–30th, 23 Xavier Caron <maspalio@free.fr>
25. Module Kwalitee
1
TAP matrix
A synthetic representation of test suite results
✗
Handy since test population is most likely to grow a lot, isn't it?
✗
Through a dedicated interpreter
✗
Test::TAP::Model::Visual module
✗
This interpreter analyzes TAP flow to build a TTM IM
✗
TTM IM is in turn translated into HTML (Test::TAP::HTMLMatrix)
✗
Very easy to use
✗
use Test::TAP::Model::Visual;
✗
use Test::TAP::HTMLMatrix;
$ttm = Test::TAP::Model::Visual->new_with_tests( <t/*.t> );
$v = Test::TAP::HTMLMatrix->new( $ttm );
open FH, quot;> matrice.htmlquot;;
print FH $v->html;
YAPC 2007, Vienna, August 28th–30th, 25 Xavier Caron <maspalio@free.fr>
26. Module Kwalitee
2
TAP matrix
Our previous make test now looks like
✗
YAPC 2007, Vienna, August 28th–30th, 26 Xavier Caron <maspalio@free.fr>
27. Module Kwalitee
3
TAP matrix
Yet another example: data transformation
✗
YAPC 2007, Vienna, August 28th–30th, 27 Xavier Caron <maspalio@free.fr>
28. Module Kwalitee
1
Code coverage
Simply load Devel::Cover module during test
✗
Beware! Increases CPU load!
✗
% cover -delete
✗
% HARNESS_PERL_SWITCHES=-MDevel::Cover make test
% cover -report html
YAPC 2007, Vienna, August 28th–30th, 28 Xavier Caron <maspalio@free.fr>
29. Module Kwalitee
2
Code coverage
Statements
✗
Were all instructions executed?
✗
Branches
✗
Checks conditional branches alternatives (if, ?:)
✗
Conditions
✗
Checks logical expressions possibilities
✗
Subroutines
✗
Were all functions called?
✗
POD
✗
Usage of POD::Coverage module
✗
YAPC 2007, Vienna, August 28th–30th, 29 Xavier Caron <maspalio@free.fr>
30. Module Kwalitee
Documentation
Tested & covered code is not so bad, but...
✗
Documented code is way better!
✗
Documentation is written in POD (“Plain Old Doc”)
✗
Its syntax should be checked with Test::POD module
✗
Via t/pod.t test (created by Module::Starter module)
✗
POD coverage
✗
Measured by Test::POD::Coverage module
✗
Verifies that every function has an associated POD documentation
✗
Practically speaking, “only” checks for
✗
=item foo ... =cut
✗
=head foo ... =cut
✗
Via t/pod-coverage.t test (created by Module::Starter module)
✗
YAPC 2007, Vienna, August 28th–30th, 30 Xavier Caron <maspalio@free.fr>
31. Module Kwalitee
Kwalitee
For a more exhaustive definition see CPANTS site
✗
“CPAN Testing Service” – http://cpants.perl.org/kwalitee.html
✗
Defines Kwalitee metrics (“ALPHA – Hic sunt dracones!“)
✗
Reckon Kwalitee metrics w/ Test::Kwalitee module
✗
Simply add t/kwalitee.t test to test suite:
✗
eval { require Test::Kwalitee };
✗
exit if $@;
Test::Kwalitee->import;
ok 1 - extractable
✗
ok 2 - has_readme
ok 3 - has_manifest
ok 4 - has_meta_yml
ok 5 - has_buildtool
ok 6 - has_changelog
ok 7 - no_symlinks
ok 8 - has_tests
ok 9 - proper_libs
ok 10 - no_pod_errors
ok 11 - use_strict
ok 12 – has_test_pod
ok 13 - has_test_pod_coverage
YAPC 2007, Vienna, August 28th–30th, 31 Xavier Caron <maspalio@free.fr>
32. Module Kwalitee
Assertions
Describe working hypothesis of a function
✗
Its limits, what it does not know how to handle at all
✗
Better crash the whole program as soon as possible...
✗
Rather than let it wildly go into an unpredicted direction!
✗
A crash because of an assertion is often easier to solve
✗
“Dead programs tell no lies!”
✗
– Hunt & Thomas in The Pragmatic Programmer
Assertions from Carp::Assert::More module
✗
Simple.................. assert_ + (is, isnt, like, defined, nonblank)
✗
Numerical................ assert_ + (integer, nonzero, positive, ...)
✗
Reference...assert_ + (isa, nonempty, nonref, hashref, listref)
✗
Array/hash.......................................assert_ + (in, exists, lacks)
✗
YAPC 2007, Vienna, August 28th–30th, 32 Xavier Caron <maspalio@free.fr>
33. Module Kwalitee
1
Test::LectroTest
Traditional tests are so-called “directed”
✗
Sequences of stimuli and comparisons to expected values
✗
But we cannot possibly think about everything (# of combinations)
✗
An alternative is “Constrained Random Testing”
✗
Let the machine do the dirty job instead, (pseudo-)randomly
✗
Using Test::LectroTest module
✗
Stick a type to each function parameter (argh! types in Perl?)
✗
Add constraints to parameters (~ restrain to sub-ensembles)
✗
Do N iterations, measure FC, tweak constraints, goto 0
✗
Not yet used in production but it's cooking!
✗
Alter-ego in hardware verification world is (coded in SystemVerilog)
✗
YAPC 2007, Vienna, August 28th–30th, 33 Xavier Caron <maspalio@free.fr>
34. Module Kwalitee
2
Test::LectroTest
The following code
✗
use Test::LectroTest::Compat; # ::Compat allows for Test::More interfacing
✗
use Test::More tests => 1;
sub ref_foo {
Reference model
{ bar => 'foo', baz => 'gabuzomeu' }->{shift()};
}
my $property = Property {
Constraints on inputs
##[ s <- Elements( 'foo', 'bar', 'baz' ) ]##
Comparison to reference
is( foo( $s ), ref_foo( $s ), 'foo / ref_foo' );
}, name => 'every possible foo input' ;
holds( $property, trials => 100 ); # proves that property quot;holdsquot; over 100 random inputs
Proves that foo ( 'bar' ) ≠ 'foo'
✗
# Failed test 'property 'every possible foo input' falsified in 4 attempts'
✗
# in lt_foo.t at line 30.
# got: undef
# expected: 'foo'
# Counterexample:
# $s = quot;barquot;;
FC ≈ statistics over sets of input values
✗
YAPC 2007, Vienna, August 28th–30th, 34 Xavier Caron <maspalio@free.fr>
35. Module Kwalitee
Refactoring 101
Refactor early, refactor often
✗
Restlessly fight ever-growing entropy
✗
Due to bug fixes, new features or... “clever tricks”!
✗
Test suite should ensure nothing got broken in the process (see FC)
✗
Beware! Only on development branch!
✗
Production branch should remain untouched unless proven buggy
✗
Beware! Neither add any feature nor fix any bug!
✗
Only make the code more concise/readable/testable... elegant!
✗
KISS principle: “Simplicity is pre-requisite for reliability.” – EWD498
✗
Commit by small changeset increments (easier to trace/rollback)
✗
Refactoring 102...
✗
See Michael G Schwern's talk: “Tales Of Refactoring!” Xavier Caron <maspalio@free.fr>
✗
YAPC 2007, Vienna, August 28th–30th, 35
36. Module Kwalitee
Non-executive summary...
A priori
✗
Read, learn and do not hesitate to ask questions (then evolve ;^)
✗
Use field-proven tools (SCM, RT, editors, etc.)
✗
Have “good” practices
✗
Do not reinvent the wheel
✗
Write tests (and even documentation if you dare!) first
✗
A posteriori
✗
Use TAP test protocol and one of it's dedicated interpreters
✗
Analyze code coverage (≠ FC!) ratios and POD coverage ratios
✗
Insert assertions into your code
✗
Generate synthetic test reports
✗
Even let the machine do the dirty work instead with CRT!
✗
YAPC 2007, Vienna, August 28th–30th, 36 Xavier Caron <maspalio@free.fr>
37. Module Kwalitee
Social engineering
Like a lot of human activities...
✗
There is technique and there is commitment
✗
Technique
✗
I've been ranting about this for 40 (darn long isn't it?) minutes
✗
And this is far from being exhaustive!
✗
Commitment
✗
Without motivation, no Kwalitee!
✗
This is a path (to follow) rather than a destination (to reach)
✗
One last quote as a conclusion...
✗
“At that time (1909) the chief engineer was almost always the chief
✗
test pilot as well. That had the fortunate result of eliminating poor
engineering early in aviation.” – Igor Sikorsky
YAPC 2007, Vienna, August 28th–30th, 37 Xavier Caron <maspalio@free.fr>