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.
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.
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.
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.
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).
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.
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.
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
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.
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.
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/
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
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.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Essentials of Automations: The Art of Triggers and Actions in FME
Global Day of Code Retreat (2013)
1. Global Day of
Code Retreat 2013
(#gdcr13)
Vienna, Dec. 2013
Peter Kofler, ‘Code Cop’
@codecopkofler
www.code-cop.org
Copyright Peter Kofler, licensed under CC-BY.
2. PETER KOFLER, CODE-COP.ORG
FANATIC ABOUT CODE QUALITY
Peter Kofler
• Ph.D. (Appl. Math.)
• Professional Software
Developer for 14 years
• “fanatic about code quality”
• I help development teams
3. PETER KOFLER, CODE-COP.ORG
FANATIC ABOUT CODE QUALITY
Thanks to Our Local Sponsors
http://www.frequentis.com/
http://www.agentex.at/
http://agileexperts.at/
4. PETER KOFLER, CODE-COP.ORG
FANATIC ABOUT CODE QUALITY
Day Structure
Introduction 15'
●
3 Sessions
●
coding 45'
●
retro/break 15'
●
Lunch
●
3 Sessions
●
Retrospective 45'
●
5. PETER KOFLER, CODE-COP.ORG
FANATIC ABOUT CODE QUALITY
Coding Dojo Mindset
●
Safe place outside
work
●
We are here to learn
●
Need to slow down
●
Focus on doing it right
●
Collaborative Game
6. PETER KOFLER, CODE-COP.ORG
FANATIC ABOUT CODE QUALITY
Code Retreat Principles
●
Learn through pairing (switch pairs)
●
Practice
●
Experiment
●
Have fun!
Coderetreat, http://coderetreat.org/
7. PETER KOFLER, CODE-COP.ORG
FANATIC ABOUT CODE QUALITY
Why repeat the same kata?
●
de-emphasise the generation of code
●
concentrate on
●
the process of writing the code
●
naming test cases
●
the Red/Green cycle
8. PETER KOFLER, CODE-COP.ORG
FANATIC ABOUT CODE QUALITY
Why delete the code?
No. Listen.
●
Stop trying to go faster, start trying to go
slower.
●
Don't think about finishing, think about
improving.
●
Think about practising. As a team.
●
That's what this day is for. Nothing else.
●
No. Listen. http://www.cyber-dojo.com/
9. PETER KOFLER, CODE-COP.ORG
FANATIC ABOUT CODE QUALITY
Four Elements
of Simple Design
●
Passes its tests
●
Minimizes duplication
●
Maximizes clarity
●
Has fewer elements
10. PETER KOFLER, CODE-COP.ORG
FANATIC ABOUT CODE QUALITY
Conway's Game of Live
●
infinite, two-dimensional grid of cells
●
interacts with its eight neighbours
●
at each step in time, transitions occur
●
four rules for cells depending on number
of live neighbours
http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
11. PETER KOFLER, CODE-COP.ORG
FANATIC ABOUT CODE QUALITY
Rules of Cell Interaction
Any live cell with fewer than two live
neighbours dies by under-population.
●
Any live cell with two or three live neighbours
lives on to the next generation.
●
Any live cell with more than three live
neighbours dies, as if by overcrowding.
●
Any dead cell with exactly three live neighbours
becomes a live cell, by reproduction.
●
http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
14. PETER KOFLER, CODE-COP.ORG
FANATIC ABOUT CODE QUALITY
Our Sessions
“Do your best”
●
Ping Pong
●
TDD as if you meant it
●
Ping Pong Mute
●
No Data Structures
●
Evil Pair/Find Loophole
●
15. PETER KOFLER, CODE-COP.ORG
FANATIC ABOUT CODE QUALITY
Closing Circle
●
What did you learn today?
●
What surprised you today?
●
What will you do
differently in the
future?
16. PETER KOFLER, CODE-COP.ORG
FANATIC ABOUT CODE QUALITY
Peter Kofler
@codecopkofler
www.code-cop.org
organized by
Mike Leber
@michael_leber
http://agileexperts.at/
17. PETER KOFLER, CODE-COP.ORG
FANATIC ABOUT CODE QUALITY
CC Images
●
Incense http://www.flickr.com/photos/cibomahto/7651263514/
●
List http://www.flickr.com/photos/kylesteeddesign/3724074594/
●
Dojo http://www.flickr.com/photos/49715404@N00/3267627038/
●
Wants you: http://www.flickr.com/photos/shutter/105497713/