SlideShare a Scribd company logo
1 of 64
Modern Legacy
Systems
Robert Annett - 2055
Thursday, 7 March 13
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
http://www.infoq.com/presentations
/net-java-legacy-techniques
Presented at QCon London
www.qconlondon.com
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
What is legacy?
Old, unstable, unsupported,
Non-maintained, supplanted,
monolithic, complex,
obsolete, bad?
It’s not well
defined
Often used as
an insult
Thursday, 7 March 13
Bjarne Stroustrup
What is legacy?
"Legacy code" often differs
from its suggested
alternative by actually
working and scaling.
Thursday, 7 March 13
Business Process Lifecycle
Software Development
Requirements
Design
Im
plem
entTest
Deploy
Maintenance
Use
Support
Maintain
LEGACY
End-Of-Life
Previous Process
Manual
Spreadsheets
Office Tools
Legacy
Thursday, 7 March 13
Business Process Lifecycle
Software
Develop-
mentPrevious Process
Manual
Spreadsheets
Office Tools
Legacy
Maintenance
Use
Support
Maintain
LEGACY
End-Of-Life
Time0 20
Thursday, 7 March 13
Is this legacy?
...no it’s a museum piece
©Dave Ross
Thursday, 7 March 13
some realmodern legacy systems
Java 1.2 running under Solaris 8 on an Ultra Sparc III
server using Oracle 8i, or...
C# 1.0, Windows server 2000 using SQL Server 2000
Objective C on NeXT server? J++/J#? VB6? FoxPro?
Brokat?
A combination of manual operations and 'office' tools
Thursday, 7 March 13
Scenario
You work for a furniture company
You get a promotion!
You are now responsible for the warehouse
inventory system
No one has touch it for.... a while.
It was written in 2003
It’s a 3-tier architecture... etc etc...
It basically works although everyone moans
about it.
What do you do? Is this the kind of
system you’ve seen?
Thursday, 7 March 13
What are the
common
issues?
Thursday, 7 March 13
Manifesto for Agile Software Development, 2001
Working software
over
comprehensive
documentation
No Documentation
usernames/passwords
Last release branch?
Network information
User lists
communications
protocols
location of static datalicenses!
Thursday, 7 March 13
Deliberate/Agile Architecture
Organic Growth
No Overarching Design
©Google
Thursday, 7 March 13
Lost Knowledge
© Hans Hillewaert
Thursday, 7 March 13
Hidden Knowledge
©Wilder Kaiser
Application Voodoo!
Thursday, 7 March 13
Unused Functionality
©Ellin Beltz
Thursday, 7 March 13
Fragility
Real or
imagined?
Thursday, 7 March 13
Coupling
tight
loose
Cohesion!
Thursday, 7 March 13
Zombie Technologies
Unsupported or...
dead and buried
Major changes in APIs
or just changes in style and fashion
Thursday, 7 March 13
Sean Robinson, License Dashboard quoted in Computing
Licensing
If a company has SQLServer on
VMware, licensed on a per core
basis that can be dynamically
scheduled across hosts - all
machines need licenses.
Thursday, 7 March 13
Data Protection Act and Information Commissioner
Regulation
Personal data processed for
any purpose or purposes shall
not be kept for longer than is
necessary for that purpose or
those purposes.
Thursday, 7 March 13
Politics
Who owns the project?
Who uses the project?
Who pays for the project?
Who gets fired if it fails?
Whose job is at risk... if successful?
No-one likes changes
Except
developers!
Thursday, 7 March 13
It’s not all bad!
A legacy system is a successful system
You can have a large impact
You have real users you can talk to
You can learn a lot about the business
It’s important but not trendy so you’ll
probably get paid well...
The bar may be low!
Thursday, 7 March 13
what are my
strategies?
Thursday, 7 March 13
Ignore it?
Thursday, 7 March 13
Investigation?
Thursday, 7 March 13
Maintenance
Sweat those
assets!
Thursday, 7 March 13
Upgrade
Don’t upgrade andabandon.
Thursday, 7 March 13
Migrate
The business has
NFRs as well!
Thursday, 7 March 13
Incremental Improvement
Functional additions
Probably combined with upgrading
...or “just stick it in”...
Bewaretechnical debt
Thursday, 7 March 13
Replacement/Implementation
Completely re-write the system
Introduce a new architecture and
technology
You still need to maintain your legacy
system while doing a re-write!
Your users AND operations staff will
require a lot of retraining
Is it better or
just cooler?
Thursday, 7 March 13
you can mix-and-match
the strategies!
Don’t just
default to re-
write
Thursday, 7 March 13
executing your
Strategy
Thursday, 7 March 13
locate the
stakeholders
Thursday, 7 March 13
Your system
Users generating data
Database Administrators
Users generating reports
Operations/Support Staff
Compliance and AuditOther systemsThe budget holders
Users consuming data
These are REAL
users
Thursday, 7 March 13
draw a diagram of the
system
Thursday, 7 March 13
leanpub.com
Published
incrementally
Variable pricing
Buy now and
get free updates
Thursday, 7 March 13
1. Context 2. Containers 3. Components
Thinking inside the box
... and, optionally,
4. Classes
C4Context
Containers
Components
Classes
This only covers
the static structure
(runtime, infrastructure,
deployment, etc are also
important)
Thursday, 7 March 13
Context
• What exists in the system?
• Who is using it? (users, actors, roles, personas, etc)
• How does it fit into the existing IT environment?
Containers
• What are the high-level technology decisions?
• How do containers communicate with one another?
• As a developer, where do I need to write code?
Components
• What components/services is the system made up of?
• Is it clear how the system works at a high-level?
• Do all components have a home (a container)?
Thursday, 7 March 13
a quick example
Thursday, 7 March 13
Warehouse Staff
Context:
What
do we have?
Who
is using it?
Warehouse
Management
Product
Catalogue
Warehouse
Manager
Forklift
driver
Delivery Installation
Manufacturer
DesignerSales
Sales
Orderbook
Thursday, 7 March 13
What
containers
is the system
made up of?
How do they
communicate?
Application
Server
(java-weblogic)
Database
(Oracle 8i)
Client
(java swing)
Manufacturer
Sales
Orderbook
(EXCEL/VB Sheet)
Product
Catalogue
(Access 2007)
ODBC
port 1521
csv export
JDBC
port 1521
RMI
port 1521
daily email
What questions
does this raise?
Thursday, 7 March 13
deeper analysis
Thursday, 7 March 13
Component Diagrams
Class Diagrams (possibly)
DB Schemas
Configuration
Stored data sizings
Network settings and traffic
The source code
Deeper Analysis (suggestions)
Beware that what is running may
differ from your source control...
Thursday, 7 March 13
beware the
Dark Side
of the source
Thursday, 7 March 13
we now know what
we’ve got
let’s safely make some
changes
Thursday, 7 March 13
virtualisation
is your friend
Thursday, 7 March 13
Re-create your PRODUCTION system as a
test system.
Run tests and metrics for the copy
Make sure you can swap in and out the
virtualised containers at a high level
Try to build and redeploy the components
within containers.
Preparation
Be confident you
can deploy and
rollback.
Thursday, 7 March 13
Create some systems tests
Make them realistic uses of the system.
Report runs you can compare
Consider ‘test’ data in the real system...
Build, Virtualise and Deploy Production
Preparation
It’s paranoid but
we can now deploy
without fear
Thursday, 7 March 13
at last we can
modify
the system!
Thursday, 7 March 13
Worth doing even if replacing
Data Cleanse
Data Archive
Remove unused components
Shift resources
Tune applications/DBs
Code changes if required
Stabilisation
A stable system
proves your
competence!
Thursday, 7 March 13
Third party products are ALWAYS harder to
upgrade/migrate than the sales pitch says.
Functional and non-functional behaviour
WILL change.
Upgrading/Migration Third Party
Be prepared to rollback if and when
necessary.
This should be methodical after all the
preparation
Thursday, 7 March 13
Formatting
Create a new baseline
Refactor as you go
Break dependencies... and...
Legacy Code Modification
BUY THIS BOOK
Thursday, 7 March 13
“
Strategic rewrites take
longer to implement
than planned. Be
prepared to maintain
the legacy for a while.
Thursday, 7 March 13
how to leave a
good
legacy
Thursday, 7 March 13
Basic access information
Build and deploy instructions
Code AND config
Asset Register
BCP/Failover/Backup Plans
ARCHITECTURE DIAGRAM
Documentation is not evil!
Thursday, 7 March 13
System
Integration
Functional
Non-functional
UAT
Accessibility...
Automate and leave documentation
Tests
There’s more to
testing than XUnit
Thursday, 7 March 13
High level design
Architecture doesn’t necessitate a
200 page document
System Design
Thursday, 7 March 13
best practice
and
right tool for the job
but...
Thursday, 7 March 13
Technology
Consistency
and Scope
Thursday, 7 March 13
Careful of new
technologies
It’s about trade
offs...
Thursday, 7 March 13
Thanks
and leave a good legacy!
robert.annett@codingthearchitecture.com
@robert_annett on Twitter
Thursday, 7 March 13
robert.annett@codingthearchitecture.com
@robert_annetton Twitter
Writing
Software development plus
training and consulting
simon.brown@codingthearchitecture.com
@simonbrown on Twitter
Thursday, 7 March 13
Watch the video with slide synchronization on
InfoQ.com!
http://www.infoq.com/presentations/net-java-
legacy-techniques

More Related Content

More from C4Media

Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsC4Media
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No KeeperC4Media
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like OwnersC4Media
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaC4Media
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideC4Media
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsC4Media
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechC4Media
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/awaitC4Media
 

More from C4Media (20)

Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery Teams
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in Adtech
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/await
 

Recently uploaded

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Recently uploaded (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

Modern Legacy Systems