Exploring alternatives is part of the design process.
TDD is a way to do incremental design, or design while you write code.
So can we use TDD to explore design alternatives?
Turns out, I've seen a lot of design exploration during the 30+ code retreats I facilitated and attended. While I don't have a definite proof, it seems that TDD could be used for this purpose.
Apresentação sobre refatoração
Tópicos:
- O que é refatoração?
- TDD
- Ciclo de refatoração
- Principais problemas
- Code Bad Smells
- Técnicas de refatoração
- Princípios
- Hands-on
Trying to answer the most popular question "How to be a Python Developer"
This was not an easy question to be answered, so I managed to prepare this presentation with another video on YouTube:
English Video: http://bit.ly/2mTR983
Arabic Video: http://bit.ly/2mQU0Pq
Test driven development_and_puppet-cfgmgmtcamp_eu-20140402Johan De Wit
The slides of the talk i did on cfgmgmtcamp.eu, frebruary 4th 2014, looking at test driven development. This part is focused on the development of a custom puppet type
Exploring alternatives is part of the design process.
TDD is a way to do incremental design, or design while you write code.
So can we use TDD to explore design alternatives?
Turns out, I've seen a lot of design exploration during the 30+ code retreats I facilitated and attended. While I don't have a definite proof, it seems that TDD could be used for this purpose.
Apresentação sobre refatoração
Tópicos:
- O que é refatoração?
- TDD
- Ciclo de refatoração
- Principais problemas
- Code Bad Smells
- Técnicas de refatoração
- Princípios
- Hands-on
Trying to answer the most popular question "How to be a Python Developer"
This was not an easy question to be answered, so I managed to prepare this presentation with another video on YouTube:
English Video: http://bit.ly/2mTR983
Arabic Video: http://bit.ly/2mQU0Pq
Test driven development_and_puppet-cfgmgmtcamp_eu-20140402Johan De Wit
The slides of the talk i did on cfgmgmtcamp.eu, frebruary 4th 2014, looking at test driven development. This part is focused on the development of a custom puppet type
Surely you've heard about Test-Driven Development, but do you use it? And do you like it? In this talk, we look at what TDD is, what the shortcomings of TDD are and what you could be doing instead.
See how Groovy can help you in your Android development. From language basics to advanced features such as ASTs or Extension Modules. Also there's room for talking about testing and reactive programming.
Do your unit tests feel like a chore to maintain? Are they sometimes useful but come with a high maintenance cost? Do you secretly believe you’d work faster without them there? A great test suite should help speed up your development process, not slow you down. This talk highlights some techniques you can use to improve the front-end unit tests you write.
Slides for my talk at OpenSlava conference 2013-10-11.
Abstract: Integrated Development Environments are at the neuralgic centre of developer activities. For many of us it’s unconceivable to work in complex developments leveraging multiple heterogeneous tools for design, build and test activities without the IDE connecting them all.
IDEs are powerful tools, capable of handling many types of tasks. In many cases, IDEs are perceived as a commodity but this is a naïve approach that ignores the many brilliant features that IDEs can be used for: debugging, code generation, test automation, version control, quality assurance, task & issue management, etc.
During this talk, participants will get an overview of what IDEs mean today, for the newbie, the enterprise and the hard-core developer, will get introduced to key IDE features that every one of us should be using, and will participate on an open discussion about what next-generation IDEs should look like.
A talk explaining how to define `good code`. Using `Code Complete` as a reference to guide over the quality definition and introducing Linters (each category) for Golang.
Second version of my talk on XP, code review and pair programming with examples from my early work history. Delivered at Sunderland University 2020 to CS undergraduates.
Be your own boss - An intro to freelancingTarek Alabd
A simple and quick introduction to Freelancing.
Be your own boss.
You can find everything about:
- What is freelancing?
- Why freelancing?
- What should you freelance in?
- How to start smartly?
- How to find clients?
- What if the freelance marketplaces have gone?!
- Some important notes.
An argument for moving the requirements out of user hands - The CMS ExperienceIgor Sfiligoi
This talks makes an argument why users should not write arbitrary Requirements expressions in Condor, but only express the desires, and let someone else write the actual policy.
Presentation at Condor Week 2012.
Surely you've heard about Test-Driven Development, but do you use it? And do you like it? In this talk, we look at what TDD is, what the shortcomings of TDD are and what you could be doing instead.
See how Groovy can help you in your Android development. From language basics to advanced features such as ASTs or Extension Modules. Also there's room for talking about testing and reactive programming.
Do your unit tests feel like a chore to maintain? Are they sometimes useful but come with a high maintenance cost? Do you secretly believe you’d work faster without them there? A great test suite should help speed up your development process, not slow you down. This talk highlights some techniques you can use to improve the front-end unit tests you write.
Slides for my talk at OpenSlava conference 2013-10-11.
Abstract: Integrated Development Environments are at the neuralgic centre of developer activities. For many of us it’s unconceivable to work in complex developments leveraging multiple heterogeneous tools for design, build and test activities without the IDE connecting them all.
IDEs are powerful tools, capable of handling many types of tasks. In many cases, IDEs are perceived as a commodity but this is a naïve approach that ignores the many brilliant features that IDEs can be used for: debugging, code generation, test automation, version control, quality assurance, task & issue management, etc.
During this talk, participants will get an overview of what IDEs mean today, for the newbie, the enterprise and the hard-core developer, will get introduced to key IDE features that every one of us should be using, and will participate on an open discussion about what next-generation IDEs should look like.
A talk explaining how to define `good code`. Using `Code Complete` as a reference to guide over the quality definition and introducing Linters (each category) for Golang.
Second version of my talk on XP, code review and pair programming with examples from my early work history. Delivered at Sunderland University 2020 to CS undergraduates.
Be your own boss - An intro to freelancingTarek Alabd
A simple and quick introduction to Freelancing.
Be your own boss.
You can find everything about:
- What is freelancing?
- Why freelancing?
- What should you freelance in?
- How to start smartly?
- How to find clients?
- What if the freelance marketplaces have gone?!
- Some important notes.
An argument for moving the requirements out of user hands - The CMS ExperienceIgor Sfiligoi
This talks makes an argument why users should not write arbitrary Requirements expressions in Condor, but only express the desires, and let someone else write the actual policy.
Presentation at Condor Week 2012.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
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…
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!
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
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.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
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.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
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.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.