Agile practitioners can be design avoidant! DDD helps improve communication through ubiquitous language; improve thinking through mapping patterns; and ensuring design and reality match.
One of the main advantages of PHP is that it allows you and your company to build up projects in no time and with immediate feedback and business value. Sometimes, however, fast growth and unprevented complexities could make your codebase more and more difficult to manage as time passes and new features are added.Domain Driven Design can be an elegant solution to the problem, but introducing it in mid-large sized projects is not always easy: you have to deal with difficulties at technical, team and knowledge levels. This talk focuses on how to approach the change in your codebase and in your team mindset without breaking legacy code or stopping the development in favor of neverending refactoring sessions.
TypeScript is a superset of JavaScript. Designed to enable enterprise-scale application development, TypeScript compiles to pure JavaScript. It provides important features such as classes, modules, and interfaces. TypeScript helps improve the quality of code by generating well-known and widely accepted JavaScript patterns while providing powerful development-time type-checking and discovery. TypeScript runs side-by-side with existing JavaScript and supports the concept of type definition libraries that can describe existing libraries for use by TypeScript even if they are written in pure JavaScript.
In this talk, Jeremy Likness will explore the use of TypeScript in enterprise-scale applications. Heāll discuss not only the technological benefits of TypeScript but also explore the impact to the software development lifecycle overall. TypeScript enables a development workflow that helps scale development teams, improves quality and decreases ramp-up time. It also encourages a logical approach to software construction that results in more reusable and easily maintainable code.
Rebuilding Your Mindset for the Future of Content Work [Tekom /TCWorld 2013]Noz Urbina
Ā
[A variant of my session from http://bit.ly/nozu_istc13a now with "The bright side of the NSA scandal!]
This session is about getting yourself ready for the future, whatever it may bring. Change is not something that we usually excel at in technical communications.
If we donāt update our thinking, content and methods, each new wave of technology puts us yet another step behind the curve. Even though tablets and smart phones have reached near ubiquity with professional users, most organisations do not have their people, processes, platforms or content ready for mobile delivery. Many are not even internet-ready. Today weāre bombarded by announcements of new content creation and consumption technologies that are wearable, social, dynamic or embedded directly in products.
Although we can talk about how to do something about it, before our content and processes can change, we must change. We must address what is actually holding us back: how we think about our content in the first place.
This session will provide a new and inspiring perspective on how you can and must work with content to be ready for the future. Weāll look at updating our processes, structures and the biases and habits that surround them.
Agile practitioners can be design avoidant! DDD helps improve communication through ubiquitous language; improve thinking through mapping patterns; and ensuring design and reality match.
One of the main advantages of PHP is that it allows you and your company to build up projects in no time and with immediate feedback and business value. Sometimes, however, fast growth and unprevented complexities could make your codebase more and more difficult to manage as time passes and new features are added.Domain Driven Design can be an elegant solution to the problem, but introducing it in mid-large sized projects is not always easy: you have to deal with difficulties at technical, team and knowledge levels. This talk focuses on how to approach the change in your codebase and in your team mindset without breaking legacy code or stopping the development in favor of neverending refactoring sessions.
TypeScript is a superset of JavaScript. Designed to enable enterprise-scale application development, TypeScript compiles to pure JavaScript. It provides important features such as classes, modules, and interfaces. TypeScript helps improve the quality of code by generating well-known and widely accepted JavaScript patterns while providing powerful development-time type-checking and discovery. TypeScript runs side-by-side with existing JavaScript and supports the concept of type definition libraries that can describe existing libraries for use by TypeScript even if they are written in pure JavaScript.
In this talk, Jeremy Likness will explore the use of TypeScript in enterprise-scale applications. Heāll discuss not only the technological benefits of TypeScript but also explore the impact to the software development lifecycle overall. TypeScript enables a development workflow that helps scale development teams, improves quality and decreases ramp-up time. It also encourages a logical approach to software construction that results in more reusable and easily maintainable code.
Rebuilding Your Mindset for the Future of Content Work [Tekom /TCWorld 2013]Noz Urbina
Ā
[A variant of my session from http://bit.ly/nozu_istc13a now with "The bright side of the NSA scandal!]
This session is about getting yourself ready for the future, whatever it may bring. Change is not something that we usually excel at in technical communications.
If we donāt update our thinking, content and methods, each new wave of technology puts us yet another step behind the curve. Even though tablets and smart phones have reached near ubiquity with professional users, most organisations do not have their people, processes, platforms or content ready for mobile delivery. Many are not even internet-ready. Today weāre bombarded by announcements of new content creation and consumption technologies that are wearable, social, dynamic or embedded directly in products.
Although we can talk about how to do something about it, before our content and processes can change, we must change. We must address what is actually holding us back: how we think about our content in the first place.
This session will provide a new and inspiring perspective on how you can and must work with content to be ready for the future. Weāll look at updating our processes, structures and the biases and habits that surround them.
Fast & Furious Responsive Design in Chrome DevToolsTony Jessup
Ā
Discover how do design and develop responsive websites and web apps using just the Chrome browser and Chrome DevTools.
This presentation includes embedded video demos.
Presented at the Southern California Web Designers & Developers (SCWDD) Meetup on February 24, 2015 by Tony Jessup (@tonypjessup).
DITA and Localization: Bringing the Best TogetherLavaCon
Ā
By Dominique Trouche, WhP
You have switched to DITA and your first localisation project is coming up. Ask your LSP whether it can manage DITA content. If the answer is, "DITA is simple; itās just another XML", you might have to teach your LSP what DITA is and how to deal with it (in addition to training your staff).
At first glance, DITA adds complexity to localisation: extensive reuse, multiplication of files, numerous cross references, conditional text, and specialisation, among other things. It also provides features, such as UIcontrol, key term index, and the Open tool kit, which optimise localization.
As customers' content needs mature, DITA localisation paves the way for multilingual dynamic publishing and convergence of DITA outputs, with Marketing and Training.
In this presentation, you will learn how to piggy-back localisation onto your CMS, and how your content management teams will benefit from it, both for their morale and your bottom line.
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...Cyrille Martraire
Ā
What if documentation was as fun as coding? Always up-to-date? And what if it could even improve your design? Reconsider how you invest in knowledge to accelerate delivery, with a touch of Domain-Driven Design.
For more, get the book on Leanpub: https://leanpub.com/livingdocumentation
Frontend Development vs Backend Development | Detailed ComparisonMariya James
Ā
Frontend Development vs Backend Development is a topic worth discussing. These two are equally important for web development. Know the advantages and differences between these web development modules.
apidays LIVE Australia 2021 - Designing Embedded Platforms by Jeremy Glassenb...apidays
Ā
apidays LIVE Australia 2021 - Accelerating Digital
September 15 & 16, 2021
Designing Embedded Platforms: Lessons from Industry Success & Failure
Jeremy Glassenberg, Product Lead, APIs at Docusign
Domain Drive Design: A Very Short Introduction for Business PeopleEmre SevinƧ
Ā
Domain Drive Design: A Very Short Introduction for Business People, prepared by Emre SevinƧ, Co-founder & CTO of TM Data ICT Solutions.
This is a high level overview that might help guide the discussions to explore if Domain Driven Design (DDD) is good fit for different industries and their complex software and data projects.
At the core, the job of a software developer is and has always been the same: writing good, elegant, sustainable and bug-free software that exceeds the expectations of your clients. But the context in which we do our job is changing and with it the skills required to be a great software developer. In this talk, I want to go through a couple of things that I think make the difference between a developer and a great developer. This includes some technical skills and practices, but also non-technical things that you might not consider relevant for a developer at first.
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondAngela Byron
Ā
Spark is an initiative led by Acquia's Office of the CTO under Dries Buytaert, the Drupal project lead. We take a holistic look at Drupal's competition and design and implement features to help close the gaps.
One big gap that has consistently held Drupal adoption back is that of the out-of-the-box content authoring experience. Hand-typing HTML like it's 1994, previews that aren't actually previews, and interfaces that are unusable on a mobile device all present big challenges for those coming to Drupal. While all of these problems have numerous workarounds in contrib, Spark's goal is to improve the Drupal product itself to eliminate this friction innately, so site builders can spend less time smoothing out rough edges and more easily focus on what they came to Drupal to do: build their actual sites. :)
Spark is both a Drupal distribution and a set of discrete modules for both Drupal 7 and Drupal 8 (in many cases, Drupal 8 core) which can enhance the user experience for your site's content authors, including:
Mobile Friendly Navigation Toolbar
In-Place Editing
Responsive Preview
WYSIWYG editing
Improved Accessibility
Redesigned Administration Theme
...and more!
This talk will focus on demonstrating these new features and explain how site builders can take advantage of them, as well as talk about what the next areas of focus for the Spark team will be for Drupal 9 and beyond.
How to hire flutter developers? A simple yet comprehensive guideSnehaDas60
Ā
It is quite difficult to find flutter developers as it's new so it becomes difficult to such developers who know how to work with SDK.
Read this blog to know all possible hiring options, hiring process and interview questions in order to help you to hire skilled flutter app developers.
Fast & Furious Responsive Design in Chrome DevToolsTony Jessup
Ā
Discover how do design and develop responsive websites and web apps using just the Chrome browser and Chrome DevTools.
This presentation includes embedded video demos.
Presented at the Southern California Web Designers & Developers (SCWDD) Meetup on February 24, 2015 by Tony Jessup (@tonypjessup).
DITA and Localization: Bringing the Best TogetherLavaCon
Ā
By Dominique Trouche, WhP
You have switched to DITA and your first localisation project is coming up. Ask your LSP whether it can manage DITA content. If the answer is, "DITA is simple; itās just another XML", you might have to teach your LSP what DITA is and how to deal with it (in addition to training your staff).
At first glance, DITA adds complexity to localisation: extensive reuse, multiplication of files, numerous cross references, conditional text, and specialisation, among other things. It also provides features, such as UIcontrol, key term index, and the Open tool kit, which optimise localization.
As customers' content needs mature, DITA localisation paves the way for multilingual dynamic publishing and convergence of DITA outputs, with Marketing and Training.
In this presentation, you will learn how to piggy-back localisation onto your CMS, and how your content management teams will benefit from it, both for their morale and your bottom line.
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...Cyrille Martraire
Ā
What if documentation was as fun as coding? Always up-to-date? And what if it could even improve your design? Reconsider how you invest in knowledge to accelerate delivery, with a touch of Domain-Driven Design.
For more, get the book on Leanpub: https://leanpub.com/livingdocumentation
Frontend Development vs Backend Development | Detailed ComparisonMariya James
Ā
Frontend Development vs Backend Development is a topic worth discussing. These two are equally important for web development. Know the advantages and differences between these web development modules.
apidays LIVE Australia 2021 - Designing Embedded Platforms by Jeremy Glassenb...apidays
Ā
apidays LIVE Australia 2021 - Accelerating Digital
September 15 & 16, 2021
Designing Embedded Platforms: Lessons from Industry Success & Failure
Jeremy Glassenberg, Product Lead, APIs at Docusign
Domain Drive Design: A Very Short Introduction for Business PeopleEmre SevinƧ
Ā
Domain Drive Design: A Very Short Introduction for Business People, prepared by Emre SevinƧ, Co-founder & CTO of TM Data ICT Solutions.
This is a high level overview that might help guide the discussions to explore if Domain Driven Design (DDD) is good fit for different industries and their complex software and data projects.
At the core, the job of a software developer is and has always been the same: writing good, elegant, sustainable and bug-free software that exceeds the expectations of your clients. But the context in which we do our job is changing and with it the skills required to be a great software developer. In this talk, I want to go through a couple of things that I think make the difference between a developer and a great developer. This includes some technical skills and practices, but also non-technical things that you might not consider relevant for a developer at first.
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondAngela Byron
Ā
Spark is an initiative led by Acquia's Office of the CTO under Dries Buytaert, the Drupal project lead. We take a holistic look at Drupal's competition and design and implement features to help close the gaps.
One big gap that has consistently held Drupal adoption back is that of the out-of-the-box content authoring experience. Hand-typing HTML like it's 1994, previews that aren't actually previews, and interfaces that are unusable on a mobile device all present big challenges for those coming to Drupal. While all of these problems have numerous workarounds in contrib, Spark's goal is to improve the Drupal product itself to eliminate this friction innately, so site builders can spend less time smoothing out rough edges and more easily focus on what they came to Drupal to do: build their actual sites. :)
Spark is both a Drupal distribution and a set of discrete modules for both Drupal 7 and Drupal 8 (in many cases, Drupal 8 core) which can enhance the user experience for your site's content authors, including:
Mobile Friendly Navigation Toolbar
In-Place Editing
Responsive Preview
WYSIWYG editing
Improved Accessibility
Redesigned Administration Theme
...and more!
This talk will focus on demonstrating these new features and explain how site builders can take advantage of them, as well as talk about what the next areas of focus for the Spark team will be for Drupal 9 and beyond.
How to hire flutter developers? A simple yet comprehensive guideSnehaDas60
Ā
It is quite difficult to find flutter developers as it's new so it becomes difficult to such developers who know how to work with SDK.
Read this blog to know all possible hiring options, hiring process and interview questions in order to help you to hire skilled flutter app developers.
A talk on PHPTestFest, an event PHPDublin is gladly taking part in. Here we show how easy it is to write a test for the core of PHP, letting you become a core PHP developer.
Cleaning up your codebase with a clean architectureBarry O Sullivan
Ā
A talk I gave at the WaterfordTech meetup on 26/07/2017.
The talk focusses on the problem of writing good code, why do we find it so hard? Once we understand the problem, we can look at solutions, and then we focus on how a clean architecture can be applied to give us that first step of clarity that leads to good code.
The code used in the examples can also be found here (use arrow keys to navigate pages)
https://barryosull.github.io/clean-architecture-code.html
Design patterns - The Good, the Bad, and the Anti-PatternBarry O Sullivan
Ā
The slides from my talk on design patterns, and when good design patterns turn bad. I go through various patterns I've seen abused (by myself as well as others) and I offer advice on how to avoid these mistakes. Design patterns are a tool, use the right one for the job,
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager ā Modern Workplace, Uni Systems
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.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Ā
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
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.
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:
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.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
Ā
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
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.
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.
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.
2. Who am I?
Lead Developer and Solutions Architect
Writing PHP web apps professionally for 12 yrs
Recovered Architecture Astronaut
A little DDD and EventSourcing obsessed (I will talk for hours)
Organiser of PHPDublin @barryosull
barry@tercet.io
http://barryosull.com
8. When Interviewing Domain Experts, refine defined constraints
? ? ?
? ? ? ?
Domain ExpertDeveloper
What
happens
if X?
Well,
then it
should . .
...
...
10. Domains and SubDomains are composable
Domain: Running a Travel Agency
We want to create and sell trips to customers
SubDomain: TripBuilding
Building trips is expensive
SubDomain: Searching
Searching across all the services
(flight/hotel/car/etc..) is time
consuming and error prone
SubDomain: Booking
Booking trips is time consuming
SubDomain: Finance
We don't know how effective we are
at turning quotes into bookings
SubSubDomain: Tracking
We don't keep track of what we've
quoted
SubSubDomain: Reporting
We have no way of aggregating
this information
13. Unaligned sub domains and bounded contexts
Payroll Accounting
Payroll
Accounts
Manager
HR Reporting
Accounting
Payroll
14. Other Lessons that I donāt have time
to explore
Ohh lightning talks, thereās never enough time
15. Other lessons
6: Temporal constraints are far more costly to implement than Value constraints
7. Constant refactoring is key to understanding a domain
8: Hold event storming sessions, even if you're not event sourcing
9: Applying DDD works and it makes you a better developer
10: If it's not your core domain, don't build it yourself, use an existing solution