The document describes an upcoming meetup by Cork Software Crafters on continuous delivery of non-breaking changes. It includes an agenda for the event with an introduction, hands-on exercise in groups, and retrospective. The exercise will involve discussing different scenarios for breaking code changes and steps to integrate them non-breakingly, such as UI, API, database changes. Advice is provided on approaches like feature toggles, parallel changes, and database evolution.
Consumer driven contracts in java worldYura Nosenko
This document discusses consumer driven contracts for APIs in microservices architectures. It describes consumer driven contracts as an approach where each API producer defines contracts for each specific consumer. This avoids tight coupling between services. It then discusses two main tools for implementing consumer driven contracts in Java - Spring Cloud Contracts and Pact. Spring Cloud Contracts uses contract tests and stubs to verify contracts, while Pact is a cross-language framework that uses pact files and a broker. The document concludes with a recommendation to adopt a design first approach and document APIs using consumer driven contracts.
The document discusses testing approaches for microservices and UI components. It describes contract based testing using Pact to define interactions between services. Integration tests are used to test individual microservices by mocking dependencies. UI components are tested by starting a mock server and proxying API calls. Benefits include high test coverage, low defect rates, and tests being part of the CI/CD pipeline. Challenges include architecture changes required and developer acceptance of new approaches.
In this session, we discussed approaches for working with legacy untested code in a safe way.
We saw how Approval Testing and Mutation Testing techniques can be combined to quickly build a robust suite of characterization tests that enables us to refactor with confidence.
https://www.meetup.com/Cork-Software-Craftsmanship-Meetup/events/262255659/
The new way to extend VSTS Build and ReleaseJesse Houwing
Extending the new Build and Release features of Visual Studio Team Services (and TFS) helps you turn your scripts into easily re-usable build steps. There are a number of options, from simple scripts to complete custom tasks built using C#, PowerShell or Typescript. We’ll walk through the options and will pros and cons each and quickly walk through the process of building and releasing a custom task to the Visual Studio Marketplace.
This document discusses patterns and practices for building living documentation using SpecFlow and Gherkin. It provides an overview of using SpecFlow in a project to gather requirements, develop tests, and build and release software. It also discusses special challenges like formalizing user stories and scenarios, dealing with cross-cutting concerns, and using test contexts and drivers for automation. The document is presented by Christian Hassa and Gaspar Nagy from TechTalk on their experiences using SpecFlow for the SpecLog project.
Join me on a journey through problem solving. In this talk we'll discuss the challenges of porting a C# based tool to a JavaScript / jQuery plugin. We'll look at why it can be beneficial to rewrite code using a different language and learn that sometimes implementation can be easier than what we theorize.
User story slicing exercise, September 2020, at Cork Software Crafters.
Learn and practice how to break user stories into really thin vertical slices.
https://www.meetup.com/Cork-Software-Craftsmanship-Meetup/events/273188357/
Contract testing. Isolated testing of microservices with pact.io - Evgeniy Ku...Evgeniy Kuzmin
CTO of Smart Gamma will talk In this speech about the problems that arise when testing applications built on a microservices architecture. We will conduct a brief overview of how to test the interaction between microservices. We will also talk in details about Consumer-Driven Contract Testing with an example of using the pact.io
Every time we generate an Angular app with schematics it contains a set of Angular builders that can be used out of the box. By the time your application grows you will need a set of tasks that can automate processes such as generate the documentation, deploy an image on docker, or deploy the app on a k8s cluster. These tasks can be executed as Angular custom builders. This talk will show you how to create a custom Angular builder step by step with an overview of what is a monorepo and its benefits. At the end of the talk, we will be able to run our custom builder by running the command ng run my-app:custom-builder
Microservices. Test smarter, not harder. Voxxed Days 2019Beth Skurrie
Microservices have become mainstream now. Writing and deploying small, independent services has many benefits, but on the downside, it increases the number of integration points, which increases the amount of integration testing required. How can we be confident that all our services will work correctly together, without being burdened by increasingly complex and brittle integration tests? Learn how Pact solves this problem by using consumer driven contracts, allowing you to escape Integration Testing Hell and ship your code with speed and confidence.
The document discusses Google Guice, an open source framework for dependency injection in Java. It provides an overview of dependency injection and what problem it aims to solve. The document then covers the key aspects of Google Guice, including how to define bindings between interfaces and implementations, different types of injections, and how to integrate Guice into applications and with other frameworks.
Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...Pierre Vincent
Talk from Oct 11th 2016 at LondonCD (https://www.meetup.com/London-Continuous-Delivery)
Autonomy and isolation are some of the core values of microservices, allowing for independent changes and independent deployments. As loosely coupled services interact on interfaces managed under different life-cycles and even different teams, making sure that a simple change did not break the application can turn into an integration nightmare.
Consumer-Driven Contracts testing brings an alternative integration testing approach for distributed systems, relying less on live-like integration environments and more on making interactions explicit and quickly verifiable.
This talk cover how Newsweaver (https://www.newsweaver.com/email-overview) has made CDCs part of its pipeline with Pact and how it improved collaboration and confidence between teams when designing APIs.
Introduction to Behavior Driven Development Robin O'Brien
This document provides an introduction to Behaviour Driven Development (BDD). It discusses that BDD aims to bridge communication gaps between developers and clients by using examples written in a common language. It also provides a practical example of setting up BDD with JBehave and Java in IntelliJ IDEA, including creating a story file, steps class, and linking class. The document demonstrates how BDD allows describing desired system behaviors in a way that is understandable to both technical and non-technical stakeholders.
Spend some time working with OpenAPI and gRPC and you’ll notice that these two technologies have a lot in common. Both are open source efforts, both describe APIs, and both promise better experiences for API producers and consumers. So why do we need both? If we do, what value does each provide? What can each project learn from the other? We’ll bring the two together for a side-by-side comparison and pose answers to these and other questions about two API methodologies that will do much to influence the future of networked APIs.
This document describes the contract process, which involves a company making a long-term agreement with a vendor to supply materials or services over a certain period of time. The contract does not specify delivery dates or quantities, which are provided in subsequent release orders. There are two types of contracts: value contracts where the total value of releases should not exceed an amount, and quantity contracts where the total quantity ordered over the contract duration is known. The document outlines the key steps and configurations for the contract and sub-contracting processes.
questo è un documento importante, stampato dal governo degli Stati Uniti ad uso della Commissione governativa statunitense d'Intelligence e della Commissione governativa statunitense per le Risorse Umane, e datato 3 agosto 1977. Nel documento sono forniti in dettaglio i dati di quante università, centri di ricerca, istituti pubblici di igiene mentale, istituzioni carcerarie, ecc. erano coinvolti nel progetto di controllo mentale MK ULTRA nell'allora 1977, ricevendo fondi federali americani e fondi CIA. Vi si racconta di esperimenti scientifici basati su elettroshock, costanti stupri, uso di droghe leggere e pesanti, introduzione di elettrodi nel cervello di bambini e tante altre cose del genere, tutto al fine di condurre delle sperimentazioni che fornissero dati utili sul controllo mentale da poter applicare poi occultamente alle popolazioni civili occidentali e non. Il progetto poi non si è interrotto, ma è arrivato fino ai giorni nostri col nome di progetto MONARCH. Pensate che nel 1977 c'erano ben 149 sottoprogetti del progetto MK ULTRA, e considerando che siamo nel 2013, cioè 36 anni dopo, potete intuire quale possa essere stato il progresso in questo tipo di sperimentazioni. Purtroppo è necessario conoscere l'inglese per leggere il documento, in quanto non possiedo una versione italiana del medesimo. Naturalmente il documento non svela i nomi precisi dei soggetti e delle istituzioni coinvolti, per ragioni di "violazione della privacy" e per "non creare imbarazzo" nelle istituzioni coinvolte. Naturalmente vi si sottolinea di come i ricercatori potessero essere in perfetta buona fede in queste sperimentazioni (infilare elettrodi nel cervello, somministrare droghe sintetiche e stuprare bambini non so fino a che punto sia "unwitted" cioè involontario) e nelle ultime pagine del documento sono opportunamente depennati i nomi e i cognomi che potrebbero creare "imbarazzo" nelle istituzioni statunitensi. Se avete voglia di affilare un pò la lama del vostro inglese, avrete di che sconcertarvi su quanto scritto in queste pagine. Ciao
Polymerase chain reaction (PCR) is a method used to amplify a targeted DNA sequence. It works by cycling between high and low temperatures to denature, anneal primers to, and extend the DNA. Real-time PCR uses fluorescent probes to measure amplification at each cycle and determine the cycle threshold, allowing quantification of the starting DNA template.
The document introduces eight six-year-old students - Irene, Alexia, Paula, Alba, Anna, Maria, Yaiza, Manar, and Carlos - who attend Federico García Lorca school. Each student shares their favorite color, number, and animal.
The document discusses organizational metaphors and information architecture for websites. It contrasts functional metaphors, which relate website tasks to real-world tasks, and visual metaphors, which use common graphic elements. It also outlines steps to create a site structure listing and architectural blueprints to visually map the organization and relationships between site elements. This helps define global and local navigation schemes.
Este documento describe las posibles aplicaciones de Beacons y Bluetooth Low Energy para dispositivos móviles, incluyendo rangos de detección cercanos e inmediatos, y soporte para iOS, Android, BlackBerry 10 y Windows Phone con las APIs correspondientes para cada sistema operativo móvil. También incluye enlaces a demos de aplicaciones de Beacons para retail.
Webinar 'Could you transform the way you do R&D in just 5 years?' - May 2014IDBS
The document discusses transforming R&D through linking data, people, and collaborations. It identifies key business drivers like accelerated innovation and improved margins. Effective solutions link data to data, people, and collaborations through searchable knowledge bases, security, and reporting platforms. Case studies show implementing flexible solutions in stages from basic modeling to full process integration and alignment across organizations.
Oceanspray "Straight from the Bog" Campaign analysisnichoe10
Ocean Spray is a leading producer of shelf-stable juice drinks that has operated for over 80 years. Sales were down 22% as Americans were drinking less fruit juice. Ocean Spray launched an integrated marketing campaign called "Straight from the Bog" to reintroduce cranberries and their health benefits. The campaign used paid, earned, and social media across various channels to boost sales volumes and market share while increasing brand awareness. Objectives included a 5% annual sales increase and doubling cranberry club membership. The campaign was considered a success as sales increased after its launch.
This document discusses patterns and practices for building living documentation using SpecFlow and Gherkin. It provides an overview of using SpecFlow in a project to gather requirements, develop tests, and build and release software. It also discusses special challenges like formalizing user stories and scenarios, dealing with cross-cutting concerns, and using test contexts and drivers for automation. The document is presented by Christian Hassa and Gaspar Nagy from TechTalk on their experiences using SpecFlow for the SpecLog project.
Join me on a journey through problem solving. In this talk we'll discuss the challenges of porting a C# based tool to a JavaScript / jQuery plugin. We'll look at why it can be beneficial to rewrite code using a different language and learn that sometimes implementation can be easier than what we theorize.
User story slicing exercise, September 2020, at Cork Software Crafters.
Learn and practice how to break user stories into really thin vertical slices.
https://www.meetup.com/Cork-Software-Craftsmanship-Meetup/events/273188357/
Contract testing. Isolated testing of microservices with pact.io - Evgeniy Ku...Evgeniy Kuzmin
CTO of Smart Gamma will talk In this speech about the problems that arise when testing applications built on a microservices architecture. We will conduct a brief overview of how to test the interaction between microservices. We will also talk in details about Consumer-Driven Contract Testing with an example of using the pact.io
Every time we generate an Angular app with schematics it contains a set of Angular builders that can be used out of the box. By the time your application grows you will need a set of tasks that can automate processes such as generate the documentation, deploy an image on docker, or deploy the app on a k8s cluster. These tasks can be executed as Angular custom builders. This talk will show you how to create a custom Angular builder step by step with an overview of what is a monorepo and its benefits. At the end of the talk, we will be able to run our custom builder by running the command ng run my-app:custom-builder
Microservices. Test smarter, not harder. Voxxed Days 2019Beth Skurrie
Microservices have become mainstream now. Writing and deploying small, independent services has many benefits, but on the downside, it increases the number of integration points, which increases the amount of integration testing required. How can we be confident that all our services will work correctly together, without being burdened by increasingly complex and brittle integration tests? Learn how Pact solves this problem by using consumer driven contracts, allowing you to escape Integration Testing Hell and ship your code with speed and confidence.
The document discusses Google Guice, an open source framework for dependency injection in Java. It provides an overview of dependency injection and what problem it aims to solve. The document then covers the key aspects of Google Guice, including how to define bindings between interfaces and implementations, different types of injections, and how to integrate Guice into applications and with other frameworks.
Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...Pierre Vincent
Talk from Oct 11th 2016 at LondonCD (https://www.meetup.com/London-Continuous-Delivery)
Autonomy and isolation are some of the core values of microservices, allowing for independent changes and independent deployments. As loosely coupled services interact on interfaces managed under different life-cycles and even different teams, making sure that a simple change did not break the application can turn into an integration nightmare.
Consumer-Driven Contracts testing brings an alternative integration testing approach for distributed systems, relying less on live-like integration environments and more on making interactions explicit and quickly verifiable.
This talk cover how Newsweaver (https://www.newsweaver.com/email-overview) has made CDCs part of its pipeline with Pact and how it improved collaboration and confidence between teams when designing APIs.
Introduction to Behavior Driven Development Robin O'Brien
This document provides an introduction to Behaviour Driven Development (BDD). It discusses that BDD aims to bridge communication gaps between developers and clients by using examples written in a common language. It also provides a practical example of setting up BDD with JBehave and Java in IntelliJ IDEA, including creating a story file, steps class, and linking class. The document demonstrates how BDD allows describing desired system behaviors in a way that is understandable to both technical and non-technical stakeholders.
Spend some time working with OpenAPI and gRPC and you’ll notice that these two technologies have a lot in common. Both are open source efforts, both describe APIs, and both promise better experiences for API producers and consumers. So why do we need both? If we do, what value does each provide? What can each project learn from the other? We’ll bring the two together for a side-by-side comparison and pose answers to these and other questions about two API methodologies that will do much to influence the future of networked APIs.
This document describes the contract process, which involves a company making a long-term agreement with a vendor to supply materials or services over a certain period of time. The contract does not specify delivery dates or quantities, which are provided in subsequent release orders. There are two types of contracts: value contracts where the total value of releases should not exceed an amount, and quantity contracts where the total quantity ordered over the contract duration is known. The document outlines the key steps and configurations for the contract and sub-contracting processes.
questo è un documento importante, stampato dal governo degli Stati Uniti ad uso della Commissione governativa statunitense d'Intelligence e della Commissione governativa statunitense per le Risorse Umane, e datato 3 agosto 1977. Nel documento sono forniti in dettaglio i dati di quante università, centri di ricerca, istituti pubblici di igiene mentale, istituzioni carcerarie, ecc. erano coinvolti nel progetto di controllo mentale MK ULTRA nell'allora 1977, ricevendo fondi federali americani e fondi CIA. Vi si racconta di esperimenti scientifici basati su elettroshock, costanti stupri, uso di droghe leggere e pesanti, introduzione di elettrodi nel cervello di bambini e tante altre cose del genere, tutto al fine di condurre delle sperimentazioni che fornissero dati utili sul controllo mentale da poter applicare poi occultamente alle popolazioni civili occidentali e non. Il progetto poi non si è interrotto, ma è arrivato fino ai giorni nostri col nome di progetto MONARCH. Pensate che nel 1977 c'erano ben 149 sottoprogetti del progetto MK ULTRA, e considerando che siamo nel 2013, cioè 36 anni dopo, potete intuire quale possa essere stato il progresso in questo tipo di sperimentazioni. Purtroppo è necessario conoscere l'inglese per leggere il documento, in quanto non possiedo una versione italiana del medesimo. Naturalmente il documento non svela i nomi precisi dei soggetti e delle istituzioni coinvolti, per ragioni di "violazione della privacy" e per "non creare imbarazzo" nelle istituzioni coinvolte. Naturalmente vi si sottolinea di come i ricercatori potessero essere in perfetta buona fede in queste sperimentazioni (infilare elettrodi nel cervello, somministrare droghe sintetiche e stuprare bambini non so fino a che punto sia "unwitted" cioè involontario) e nelle ultime pagine del documento sono opportunamente depennati i nomi e i cognomi che potrebbero creare "imbarazzo" nelle istituzioni statunitensi. Se avete voglia di affilare un pò la lama del vostro inglese, avrete di che sconcertarvi su quanto scritto in queste pagine. Ciao
Polymerase chain reaction (PCR) is a method used to amplify a targeted DNA sequence. It works by cycling between high and low temperatures to denature, anneal primers to, and extend the DNA. Real-time PCR uses fluorescent probes to measure amplification at each cycle and determine the cycle threshold, allowing quantification of the starting DNA template.
The document introduces eight six-year-old students - Irene, Alexia, Paula, Alba, Anna, Maria, Yaiza, Manar, and Carlos - who attend Federico García Lorca school. Each student shares their favorite color, number, and animal.
The document discusses organizational metaphors and information architecture for websites. It contrasts functional metaphors, which relate website tasks to real-world tasks, and visual metaphors, which use common graphic elements. It also outlines steps to create a site structure listing and architectural blueprints to visually map the organization and relationships between site elements. This helps define global and local navigation schemes.
Este documento describe las posibles aplicaciones de Beacons y Bluetooth Low Energy para dispositivos móviles, incluyendo rangos de detección cercanos e inmediatos, y soporte para iOS, Android, BlackBerry 10 y Windows Phone con las APIs correspondientes para cada sistema operativo móvil. También incluye enlaces a demos de aplicaciones de Beacons para retail.
Webinar 'Could you transform the way you do R&D in just 5 years?' - May 2014IDBS
The document discusses transforming R&D through linking data, people, and collaborations. It identifies key business drivers like accelerated innovation and improved margins. Effective solutions link data to data, people, and collaborations through searchable knowledge bases, security, and reporting platforms. Case studies show implementing flexible solutions in stages from basic modeling to full process integration and alignment across organizations.
Oceanspray "Straight from the Bog" Campaign analysisnichoe10
Ocean Spray is a leading producer of shelf-stable juice drinks that has operated for over 80 years. Sales were down 22% as Americans were drinking less fruit juice. Ocean Spray launched an integrated marketing campaign called "Straight from the Bog" to reintroduce cranberries and their health benefits. The campaign used paid, earned, and social media across various channels to boost sales volumes and market share while increasing brand awareness. Objectives included a 5% annual sales increase and doubling cranberry club membership. The campaign was considered a success as sales increased after its launch.
This document provides advice on how not to freak out about implementing the Common Core State Standards. It recommends starting by familiarizing yourself with the anchor standards for reading and writing, discussing what is already being done that aligns with them, and collaborating with other teachers. Teachers should then select 2 anchor standards to focus on, modify existing lessons to incorporate those standards, and repeat the process with 2 new standards once the first ones have been mastered. The document aims to offer a non-freaked out approach to the Common Core through collaboration and incremental implementation.
Inforica is a leading Canadian technology consulting and business process services firm with over 75 employees and offices in Mississauga, Ontario, Dubai, and Hyderabad. They offer innovative consulting services focused on enterprise solutions, application lifecycle management, and business process consulting. Their clients include large Canadian and international firms and they have a track record of 100% project success.
Este documento describe un proyecto pedagógico de 4 semanas para estudiantes de grado noveno sobre la relación entre la moral, la ética y la sexualidad mediante el uso de Recursos Educativos Digitales Abiertos (REDA). El proyecto incluye una discusión inicial sobre los conocimientos previos de los estudiantes, la investigación en grupos de REDA asignados, la presentación de los hallazgos y la creación de un cómic para compartir los aprendizajes.
Series of Workshops to accelerate the development high performance teams - particularly when time is of the essence and where the team is forged multiple sources
This slide deck contains an overview about Code Contract in C#. More details incl. samples see http://www.software-architects.com/devblog/2014/02/18/BASTA-2014-Spring-C-Workshop
The document introduces Test Driven Development (TDD), Continuous Integration (CI), Inversion of Control (IoC), and Aspect Oriented Programming (AOP). It discusses TDD principles and tools for writing tests first before code. CI aims to integrate code changes frequently to prevent integration problems. IoC and dependency injection improve software design by reducing coupling between components. AOP allows cross-cutting concerns like logging to be coded separately from the main program logic.
This document discusses unit testing at different developer experience levels. A level 1 developer thinks code always works properly without needing tests. A level 2 developer sees value in occasional manual testing but not unit tests due to cost. A level 5 developer sees value in basic unit tests to prevent bugs. A level 11 developer understands principles of unit tests like being simple, independent, complete, and deterministic. Higher levels emphasize high test coverage, using tests for documentation and design, and ensuring tests are reproducible. The document provides examples of good and bad unit test code and discusses tools for measuring coverage.
This session will introduce developers to the new powerful new feature that is part of the .NET 4.5 framework called Code Contracts. Code Contracts brings the advantages of design-by-contract programming to .NET programming. Contracts are used to improve testing via run-time checking, enable static contract verification, and documentation generation.
This document summarizes a presentation about .NET 4.0 Code Contracts. The presentation introduces Code Contracts, including basic concepts like preconditions, postconditions, and object invariants. It demonstrates how to use Code Contracts to validate method parameters and return values, maintain object state, and assert conditions. The presentation also covers advanced topics such as contract inheritance, customizing runtime checking, using Code Contracts with tools like PEX and Sandcastle, and planning for the future of Code Contracts.
Test-driven development involves writing unit tests before code to validate functionality. Unit tests help manage changes by continuously validating code correctness and allowing code to be changed safely. While some myths exist around unit testing, it can save significant time compared to finding and fixing bugs later. Setting up projects with separate code and test folders allows tests to run independently.
Test-driven development involves writing unit tests before code to validate functionality. Unit tests help manage changes by continuously validating code correctness and allowing code to evolve safely. While some myths exist around unit testing, it is an investment that saves time by finding and fixing bugs early rather than later in the development cycle.
Continuous Integration and Code Coverage in XcodeHiep Luong
Xcode 7 includes new code coverage features to help you design a powerful test harness for your app. Learn all about coverage along with integration and improvements with Xcode Server.
https://developer.apple.com/videos/play/wwdc2015/410/
Software construction is an exercise in managing complexity, more so with the spiralling complexity required by modern games. Automated Testing is an industry proven methodology to deliver more reliable complex software, with a fighting chance to do it on time and on budget. And having fun doing so. Crytek is spearheading this idea in the game industry with its flagship title, and now sharing the experience with you: best practices, potential pitfalls, To-Do’s and No-No’s will be shown with real examples of unit testing game code using its proprietary testing framework and tools. Functional Testing and acceptance testing will also be touched on as a viable way of describing and checking game design requirements. And take automated testing to the next level.
High Productivity Web Development WorkflowVũ Nguyễn
We are all familiar with these web technologies: Angular, NodeJS, Grunt, Karma, ... However, how to put them together to make a seamless, high productivity workflow for building prototypes quickly and delivering products frequently?
High productivity web development workflow - JavaScript Meetup Saigon 2014Oliver N
This document discusses a high productivity web development workflow. It recommends setting up pre-configured boilerplate code to minimize project setup time. Changes are automatically built, tested and deployed through continuous integration. Test cases should be written alongside code. Reusable components improve code quality. Servers should be thin with thick clients to improve workflow. Buildbot is introduced as an automation tool to continuously build, test and deploy code changes.
This document contains information about conference DVDs and an introduction to code contracts in .NET. It summarizes that code contracts are a way to define preconditions, postconditions, and class invariants for software components to specify their interfaces and ensure correctness. It provides examples of using the System.Diagnostics.Contracts namespace in C# to add preconditions and postconditions to methods. Contracting types can make them more robust by validating arguments and object states.
Test-driven development (TDD) is an agile software development process where test cases are developed before code. The TDD process involves writing a test, watching it fail, writing code to pass the test, and refactoring code as needed. TDD encourages dividing work into small pieces and promotes high-quality code by requiring tests to pass before adding new features. While TDD requires more initial time writing tests, it can reduce debugging time and defects in the long run.
WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability ...Amir Zmora
WebRTC training about JavaScript promises and an update about WebRTC interoperability, API compatibility and IMTC tests. Part of the monthly WebRTC live Q&A sessions by Alex Gouailard, Dan Burnett and Amir Zmora
(Slides on JavaScript promises carry a specific Copyright as detailed on slides themselves)
Coding Naked – Practical steps to moving towards & embracing TDD. We'll overview the normal roadblocks that people typically run in to, and practical ways to overcome those road blocks on your way to embracing Test Driven Development - make coding without tests as uncomfortable as coding naked!
Code: https://github.com/calebjenkins/Acme.CodingNaked
Presenting at events: https://developingux.com/tag/coding-naked/
One of the biggest problems of software projects is that, while the practice of software development is commonly thought of as engineering, it is inherently a creative discipline; hence, many things about it are hard to measure. While simple yardsticks like test coverage and cyclomatic complexity are important for code quality, what other metrics can we apply to answer questions about our code? What coding conventions or development practices can we implement to make our code easier to measure? We'll take a tour through some processes and tools you can implement to begin improving code quality in your team or organization, and see what a difference it makes to long-term project maintainability. More importantly, we'll look at how we can move beyond today's tools to answer higher-level questions of code quality. Can 'good code' be quantified?
One of the biggest problems of software projects is that, while the practice of software development is commonly thought of as engineering, it is inherently a creative discipline; hence, many things about it are hard to measure. While simple yardsticks like test coverage and cyclomatic complexity are important for code quality, what other metrics can we apply to answer questions about our code? What coding conventions or development practices can we implement to make our code easier to measure? We'll take a tour through some processes and tools you can implement to begin improving code quality in your team or organization, and see what a difference it makes to long-term project maintainability. More importantly, we'll look at how we can move beyond today's tools to answer higher-level questions of code quality. Can 'good code' be quantified?
The document discusses contract based testing and shifting testing left. It describes testing at different levels, including UI, integration, and unit testing. It outlines how to implement contract testing between a consumer and provider by creating pacts, publishing them to a broker, and having the provider verify against the pacts. Benefits include apps working together continuously, avoiding duplicative work, and visibility into dependencies. The presentation encourages attendees to try out contract testing.
This presentation uncover what is CSS architecture and why it is important to have one. Most of the modern CSS architectures based on principles/rules outlined in this presentation.
This presentation aimed to explain what is REST and why it is commonly misunderstood. It focuses on describing REST from scientific point of view, based on Roy`s Fielding dissertation.
This presentation aggregates common approaches of real-time client-server communications provided by Web Standards. It focuses on comparison of different techniques like polling, comet, Web Sockets, Server-Sent Events.
JavaScript as Development platform gives overview of JavaScript as Runtime and Programming Language. From this presentation you can find out more about advanced language features and usage patterns.
HTML 5 is the 5th revision of the core HTML language specification defined by the W3C. It introduces many new features including native multimedia support through elements like <video> and <audio>, canvas element for 2D drawing, offline web applications, and more. The WHATWG and W3C jointly oversee the standardization process, with the specification being implemented across modern browsers though some features have uneven support. HTML5 aims to enhance the web platform with native functionality that was previously only available through plug-ins like Flash.
Spark is a powerhouse for large datasets, but when it comes to smaller data workloads, its overhead can sometimes slow things down. What if you could achieve high performance and efficiency without the need for Spark?
At S&P Global Commodity Insights, having a complete view of global energy and commodities markets enables customers to make data-driven decisions with confidence and create long-term, sustainable value. 🌍
Explore delta-rs + CDC and how these open-source innovations power lightweight, high-performance data applications beyond Spark! 🚀
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025BookNet Canada
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, transcript, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
HCL Nomad Web – Best Practices and Managing Multiuser Environmentspanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-and-managing-multiuser-environments/
HCL Nomad Web is heralded as the next generation of the HCL Notes client, offering numerous advantages such as eliminating the need for packaging, distribution, and installation. Nomad Web client upgrades will be installed “automatically” in the background. This significantly reduces the administrative footprint compared to traditional HCL Notes clients. However, troubleshooting issues in Nomad Web present unique challenges compared to the Notes client.
Join Christoph and Marc as they demonstrate how to simplify the troubleshooting process in HCL Nomad Web, ensuring a smoother and more efficient user experience.
In this webinar, we will explore effective strategies for diagnosing and resolving common problems in HCL Nomad Web, including
- Accessing the console
- Locating and interpreting log files
- Accessing the data folder within the browser’s cache (using OPFS)
- Understand the difference between single- and multi-user scenarios
- Utilizing Client Clocking
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc
Most consumers believe they’re making informed decisions about their personal data—adjusting privacy settings, blocking trackers, and opting out where they can. However, our new research reveals that while awareness is high, taking meaningful action is still lacking. On the corporate side, many organizations report strong policies for managing third-party data and consumer consent yet fall short when it comes to consistency, accountability and transparency.
This session will explore the research findings from TrustArc’s Privacy Pulse Survey, examining consumer attitudes toward personal data collection and practical suggestions for corporate practices around purchasing third-party data.
Attendees will learn:
- Consumer awareness around data brokers and what consumers are doing to limit data collection
- How businesses assess third-party vendors and their consent management operations
- Where business preparedness needs improvement
- What these trends mean for the future of privacy governance and public trust
This discussion is essential for privacy, risk, and compliance professionals who want to ground their strategies in current data and prepare for what’s next in the privacy landscape.
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersToradex
Toradex brings robust Linux support to SMARC (Smart Mobility Architecture), ensuring high performance and long-term reliability for embedded applications. Here’s how:
• Optimized Torizon OS & Yocto Support – Toradex provides Torizon OS, a Debian-based easy-to-use platform, and Yocto BSPs for customized Linux images on SMARC modules.
• Seamless Integration with i.MX 8M Plus and i.MX 95 – Toradex SMARC solutions leverage NXP’s i.MX 8 M Plus and i.MX 95 SoCs, delivering power efficiency and AI-ready performance.
• Secure and Reliable – With Secure Boot, over-the-air (OTA) updates, and LTS kernel support, Toradex ensures industrial-grade security and longevity.
• Containerized Workflows for AI & IoT – Support for Docker, ROS, and real-time Linux enables scalable AI, ML, and IoT applications.
• Strong Ecosystem & Developer Support – Toradex offers comprehensive documentation, developer tools, and dedicated support, accelerating time-to-market.
With Toradex’s Linux support for SMARC, developers get a scalable, secure, and high-performance solution for industrial, medical, and AI-driven applications.
Do you have a specific project or application in mind where you're considering SMARC? We can help with Free Compatibility Check and help you with quick time-to-market
For more information: https://www.toradex.com/computer-on-modules/smarc-arm-family
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, presentation slides, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...SOFTTECHHUB
I started my online journey with several hosting services before stumbling upon Ai EngineHost. At first, the idea of paying one fee and getting lifetime access seemed too good to pass up. The platform is built on reliable US-based servers, ensuring your projects run at high speeds and remain safe. Let me take you step by step through its benefits and features as I explain why this hosting solution is a perfect fit for digital entrepreneurs.
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungenpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-und-verwaltung-von-multiuser-umgebungen/
HCL Nomad Web wird als die nächste Generation des HCL Notes-Clients gefeiert und bietet zahlreiche Vorteile, wie die Beseitigung des Bedarfs an Paketierung, Verteilung und Installation. Nomad Web-Client-Updates werden “automatisch” im Hintergrund installiert, was den administrativen Aufwand im Vergleich zu traditionellen HCL Notes-Clients erheblich reduziert. Allerdings stellt die Fehlerbehebung in Nomad Web im Vergleich zum Notes-Client einzigartige Herausforderungen dar.
Begleiten Sie Christoph und Marc, während sie demonstrieren, wie der Fehlerbehebungsprozess in HCL Nomad Web vereinfacht werden kann, um eine reibungslose und effiziente Benutzererfahrung zu gewährleisten.
In diesem Webinar werden wir effektive Strategien zur Diagnose und Lösung häufiger Probleme in HCL Nomad Web untersuchen, einschließlich
- Zugriff auf die Konsole
- Auffinden und Interpretieren von Protokolldateien
- Zugriff auf den Datenordner im Cache des Browsers (unter Verwendung von OPFS)
- Verständnis der Unterschiede zwischen Einzel- und Mehrbenutzerszenarien
- Nutzung der Client Clocking-Funktion
Procurement Insights Cost To Value Guide.pptxJon Hansen
Procurement Insights integrated Historic Procurement Industry Archives, serves as a powerful complement — not a competitor — to other procurement industry firms. It fills critical gaps in depth, agility, and contextual insight that most traditional analyst and association models overlook.
Learn more about this value- driven proprietary service offering here.
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfAbi john
Analyze the growth of meme coins from mere online jokes to potential assets in the digital economy. Explore the community, culture, and utility as they elevate themselves to a new era in cryptocurrency.
AI and Data Privacy in 2025: Global TrendsInData Labs
In this infographic, we explore how businesses can implement effective governance frameworks to address AI data privacy. Understanding it is crucial for developing effective strategies that ensure compliance, safeguard customer trust, and leverage AI responsibly. Equip yourself with insights that can drive informed decision-making and position your organization for success in the future of data privacy.
This infographic contains:
-AI and data privacy: Key findings
-Statistics on AI data privacy in the today’s world
-Tips on how to overcome data privacy challenges
-Benefits of AI data security investments.
Keep up-to-date on how AI is reshaping privacy standards and what this entails for both individuals and organizations.
Dev Dives: Automate and orchestrate your processes with UiPath MaestroUiPathCommunity
This session is designed to equip developers with the skills needed to build mission-critical, end-to-end processes that seamlessly orchestrate agents, people, and robots.
📕 Here's what you can expect:
- Modeling: Build end-to-end processes using BPMN.
- Implementing: Integrate agentic tasks, RPA, APIs, and advanced decisioning into processes.
- Operating: Control process instances with rewind, replay, pause, and stop functions.
- Monitoring: Use dashboards and embedded analytics for real-time insights into process instances.
This webinar is a must-attend for developers looking to enhance their agentic automation skills and orchestrate robust, mission-critical processes.
👨🏫 Speaker:
Andrei Vintila, Principal Product Manager @UiPath
This session streamed live on April 29, 2025, 16:00 CET.
Check out all our upcoming Dev Dives sessions at https://community.uipath.com/dev-dives-automation-developer-2025/.
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPathCommunity
Join this UiPath Community Berlin meetup to explore the Orchestrator API, Swagger interface, and the Test Manager API. Learn how to leverage these tools to streamline automation, enhance testing, and integrate more efficiently with UiPath. Perfect for developers, testers, and automation enthusiasts!
📕 Agenda
Welcome & Introductions
Orchestrator API Overview
Exploring the Swagger Interface
Test Manager API Highlights
Streamlining Automation & Testing with APIs (Demo)
Q&A and Open Discussion
Perfect for developers, testers, and automation enthusiasts!
👉 Join our UiPath Community Berlin chapter: https://community.uipath.com/berlin/
This session streamed live on April 29, 2025, 18:00 CET.
Check out all our upcoming UiPath Community sessions at https://community.uipath.com/events/.
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...Alan Dix
Talk at the final event of Data Fusion Dynamics: A Collaborative UK-Saudi Initiative in Cybersecurity and Artificial Intelligence funded by the British Council UK-Saudi Challenge Fund 2024, Cardiff Metropolitan University, 29th April 2025
https://alandix.com/academic/talks/CMet2025-AI-Changes-Everything/
Is AI just another technology, or does it fundamentally change the way we live and think?
Every technology has a direct impact with micro-ethical consequences, some good, some bad. However more profound are the ways in which some technologies reshape the very fabric of society with macro-ethical impacts. The invention of the stirrup revolutionised mounted combat, but as a side effect gave rise to the feudal system, which still shapes politics today. The internal combustion engine offers personal freedom and creates pollution, but has also transformed the nature of urban planning and international trade. When we look at AI the micro-ethical issues, such as bias, are most obvious, but the macro-ethical challenges may be greater.
At a micro-ethical level AI has the potential to deepen social, ethnic and gender bias, issues I have warned about since the early 1990s! It is also being used increasingly on the battlefield. However, it also offers amazing opportunities in health and educations, as the recent Nobel prizes for the developers of AlphaFold illustrate. More radically, the need to encode ethics acts as a mirror to surface essential ethical problems and conflicts.
At the macro-ethical level, by the early 2000s digital technology had already begun to undermine sovereignty (e.g. gambling), market economics (through network effects and emergent monopolies), and the very meaning of money. Modern AI is the child of big data, big computation and ultimately big business, intensifying the inherent tendency of digital technology to concentrate power. AI is already unravelling the fundamentals of the social, political and economic world around us, but this is a world that needs radical reimagining to overcome the global environmental and human challenges that confront us. Our challenge is whether to let the threads fall as they may, or to use them to weave a better future.
8. Justification :)
WATCH OUT
Documentation
No documentation is better
than bad documentation
CODE SNIPPET
//declare variable foo as an integer and
//set it to three.
private int foo = 3;
9. Justification :)
WATCH OUT
CODE SNIPPET
Unit tests
Are limited and time
consuming to
support
[Test]
public void PressEquals_AddingTwoPlusTwo_ReturnsFour()
{
// Arrange
decimal value1 = 2m;
decimal value2 = 2m;
decimal expected = 4m;
var calculator = new Calculator();
// Act
calculator.Enter(value1);
calculator.PressPlus();
calculator.Enter(value2);
calculator.PressEquals();
decimal actual = calculator.Display;
// Assert
Assert.AreEqual(expected, actual,
"When adding {0} + {1}, expected {2} but found
{3}.", value1, value2, expected, actual);
}
10. Justification :)
WATCH OUT
CODE SNIPPET
public string Substring(int startIndex, int length)
Asserts
Make little use for
calling code
CODE SNIPPET
public string Substring(int startIndex, int length)
{
if (startIndex < 0)
throw new ArgumentOutOfRangeException("startIndex");
if (startIndex > this.Length)
throw new ArgumentOutOfRangeException("startIndex");
if (length < 0)
throw new ArgumentOutOfRangeException("length");
if (startIndex > this.Length - length)
throw new ArgumentOutOfRangeException("length");
if (length == 0)
return string.Empty;
else
return this.InternalSubStringWithChecks(startIndex, length, false);
}
12. Consequences
PROGRAMMING BY COINCIDENCE
“We should avoid programming by
coincidence - relying on luck and
accidental successes - in favor of
programming deliberately.”
- Dave Thomas
13. Design by Contract
WHAT IS IT?
“A way of designing software, which implies formal and precise
specifications for software components with pre-conditions,
post-conditions and invariants in source code itself.”
Bertrand Meyer
EIFFEL PL, 1986
14. Design by Contract
EIFFEL
CODE SNIPPET
Pre-conditions
Post-conditions
connect_to_server (server: SOCKET)
-- Connect to a server.
require
server /= Void and then server.address /= Void
do
server.connect
ensure
connected: server.is_connected
end
CODE SNIPPET
class
Invariants
DATE
invariant
valid_day: 1 <= day and day <= 31
valid_hour: 0 <= hour and hour <= 23
end
15. Design by Contract
RULES
Metaphor : Client, Supplier agree on a Contract
1
2
3
The supplier must provide a certain product
(obligation) and is entitled to expect that the client
has paid its fee (benefit).
The client must pay the fee (obligation) and is
entitled to get the product (benefit).
Both parties must satisfy certain obligations, such as
laws and regulations, applying to all contracts.
16. Design by Contract
WHY?
“What are the benefits?”
Discoverability of your
API
Improved testability
Runtime & Static
Checking
Automatic generation
of documentation
24. Code Contracts
RUNTIME CHECKING
WebService.cs
public WebService(IWarehouse store) {
Contract.Requires(store != null);
Contract.Ensures(this.store != null);
this.store = store;
WebService.dll
IL from requires
}
csc/vbc/…
+
ccrewrite
IL from body
IL from ensures
25. Code Contracts
RUNTIME CHECKING (GENERAL CLIENTS)
WebService.cs
public WebService(IWarehouse store) {
Contract.Requires(store != null);
Contract.Ensures(this.store != null);
this.store = store;
}
WebService.dll
IL from requires
csc/vbc/…
+
ccrewrite
IL from body
26. Code Contracts
RUNTIME CHECKING (TRUSTED CLIENTS)
WebService.cs
public WebService(IWarehouse store) {
Contract.Requires(store != null);
Contract.Ensures(this.store != null);
this.store = store;
}
WebService.dll
csc/vbc/…
IL from body
27. Code Contracts
DOCUMENTATION GENERATION
WebService.xml
<member
name="M:PDC.WebService.#ctor(PDC.
IWarehouse)">
<summary>Constructs a new
instance for processing orders
against the specified
warehouse.</summary>
<param name="store">The warehouse
this instance is to use. </param>
</member>
WebService.xml
ccdocgen
WebService.Contracts.dll
IL from requires
IL from ensures
<member
name="M:PDC.WebService.#ctor(PDC.IWarehouse)">
<summary>Constructs a new instance for
processing orders against the specified
warehouse.</summary>
<param name="store">The warehouse this
instance is to use. </param>
<requires> store != null </requires>
<ensures> this.store != null </ensures>
</member>
28. Code Contracts
CONTRACT REFERENCE ASSEMBLIES
“Companion assemblies generated
at compile time and contain only
contract portion of types.”