A Leaderboard shows score of each team. Commit and push green increments to score points. Repeat: Push as often as possible! Try to perform maximum number of smallest steps and test runs.
Deliberate Practice, New Learning Styles (2015)Peter Kofler
Presentation about Deliberate Practice at the Austrian Testing Board "Expertentreff". This covers the Software Crisis, Developing Quality Software Developers and the mechanisms of Code Katas, Coding Dojos and Code Retreats.
Coding Dojo with focus on naming. Rules of the dojo are Pair Programming & TDD. Constraints are challenges during the dojo. Moving to the extreme is a way of learning. We are coding the game of Tic-Tac-Toe and everything - but the names of test methods - is named using random dices. Specifically using these random dices with enterprise-y useless names.
Outside-in Test Driven Development - the London School of TDDPeter Kofler
Workshop slides for "Outside-in Test Driven Development - die Londoner Schule des TDD" @ Software Quality Days 2019.
In Outside-In (London school, top-down or "mockist TDD") you build the system from the "outside-in", following the user interaction through all the parts of the system. You start with the interactions and collaborators upfront (especially those at top levels), mocking necessary dependencies (or creating fake implementations). With every finished component, you move to the previously mocked collaborators and start with TDD again there, creating actual implementations (which, even though used, were not needed before thanks to abstractions).
A Leaderboard shows score of each team. Commit and push green increments to score points. Repeat: Push as often as possible! Try to perform maximum number of smallest steps and test runs.
Deliberate Practice, New Learning Styles (2015)Peter Kofler
Presentation about Deliberate Practice at the Austrian Testing Board "Expertentreff". This covers the Software Crisis, Developing Quality Software Developers and the mechanisms of Code Katas, Coding Dojos and Code Retreats.
Coding Dojo with focus on naming. Rules of the dojo are Pair Programming & TDD. Constraints are challenges during the dojo. Moving to the extreme is a way of learning. We are coding the game of Tic-Tac-Toe and everything - but the names of test methods - is named using random dices. Specifically using these random dices with enterprise-y useless names.
Outside-in Test Driven Development - the London School of TDDPeter Kofler
Workshop slides for "Outside-in Test Driven Development - die Londoner Schule des TDD" @ Software Quality Days 2019.
In Outside-In (London school, top-down or "mockist TDD") you build the system from the "outside-in", following the user interaction through all the parts of the system. You start with the interactions and collaborators upfront (especially those at top levels), mocking necessary dependencies (or creating fake implementations). With every finished component, you move to the previously mocked collaborators and start with TDD again there, creating actual implementations (which, even though used, were not needed before thanks to abstractions).
A presentation made by eXo Platform SEA.
Presentation introduce and demo about Coding Dojo, a methodology enhance the coding skills of attendees by doing some very small exercices in a funny atmosphere. This is like when you want to practice a sport like Judo, you need to practice some basic exercices with some judo masters before doing serious business like competitions.
There are usually two styles of exercices :
- Kata prepared by someone before the session and executed in front of the public or
Randori, a more exploraty form of a Kata where the whole group participates.
Evento Coding Dojo promovido pela InCuca (http://incuca.com.br) sobre o framework JavaScript open-source mantido pelo Google AngularJS.
O Dojo envolveu entender o conceito do AngularJS por meio de exemplos, como utilizá-lo e a estrutura do framework. Material útil tanto para iniciantes quanto para experientes em JavaScript e HTML5.
Code Kata Workshop - Improve your skills through deliberate practiceDaniel Kummer
A code kata workshop which I was supposed to hold on the Namics Conference 2013 in Innsbruck toghether with Michael Wegener. Sadly I couldn't make it so one of my colleagues Philip Althaus jumped in for me...
Pragmatic Introduction to Python Unit Testing (PyDays 2018)Peter Kofler
We will start with a few best practises for unit testing followed by an interactive, hands-on tour through the main features of Python unit testing framework(s). You will learn while writing tests.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
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/
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
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
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
UiPath Test Automation using UiPath Test Suite series, part 5
Coding Dojo: Data Munging (2016)
1. Coding Dojo:
Data Munging
(without control structures)
Peter Kofler, ‘Code Cop’
@codecopkofler
www.code-cop.org
Copyright Peter Kofler, licensed under CC-BY.
2. Peter Kofler
• Ph.D. (Appl. Math.)
• Professional Software
Developer for 15+ years
• “fanatic about code quality”
• Freelance Code Mentor
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
3. I help development teams with
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
●
Professionalism
●
Quality and
Productivity
●
Continuous
Improvement
4. Mentoring
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
●
Pair Programming
●
Programming
Workshops
●
Deliberate
Practice, e.g.
Coding Dojos
7. Coding Dojo Mindset
●
Safe place outside
work
●
We are here to learn
●
Need to slow down
●
Focus on doing it right
●
Collaborative Game
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
9. Pair Programming & TDD
●
regular Pair Programming
●
do not talk for too long
●
do not interrupt the other
●
no “keyboard hugging“
●
use TDD (or at least “sort of” TDD)
●
write a test before you write code
●
refactor mercilessly
●
no debugger
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
10. Constraints
●
Challenges during a dojo or coderetreat
●
Moving to the extreme is a way of learning
●
Examples
●
Missing Tool (No Mouse, …)
●
Missing Feature (No IFs, …)
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
12. Cyclomatic Complexity One
●
No conditional statements (if, switch, ?:)
●
No loops (for, while, loop, etc.)
●
Technically no control structures.
●
Use Optional or Maybe type.
●
Use higher order functions like map,
filter and reduce instead.
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
14. Weather “Data Munging“
●
weather.dat contains daily weather
data for a month.
●
Find the day number (column one)
●
with the smallest temperature spread.
(Max temperature is second column,
min temperature is third column.)
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
15. Prepare
●
Find a pair.
●
Choose a programming language.
●
Set up the environment.
●
Create new project.
●
Add testing framework.
●
Check part1/requirements.txt.
●
Implement Data Munging.
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
19. Soccer “Data Munging“
●
football.dat contains the results
from the English Soccer League.
●
The columns 'F' and 'A' contain the total
number of goals scored for and against
each team.
●
Find the name of the team
●
with the smallest difference in 'for' (F)
and 'against' (A) goals.
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
22. DRY Fusion
●
Take the two programs written,
●
factor out as much common code as
possible,
●
leaving you with two smaller programs
●
and some kind of shared functionality.
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
24. Closing Circle
●
What did you learn today?
●
What surprised you today?
●
What will you do
differently in the
future?
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY