SlideShare a Scribd company logo
Embracing Legacy
LEARNINGS FROM
ARGENTUM ONLINE
ABOUT MYSELF: • Lucas Daniel Recoaro
• From: Argentina
• Now in: New Zealand / Aotearoa (8
Years)
• Profession: Software Developer |
Mentor | Open-Source Advocate
ABOUT MYSELF:
Experience:
•14 Years of professional development
in desktop applications, web platforms,
video games, etc.
•A lifetime of passion and expertise in
technology.
• Lucas Daniel Recoaro
• From: Argentina
• Now in: New Zealand / Aotearoa (8
Years)
• Profession: Software Developer |
Mentor | Open-Source Advocate
What is “Legacy”?
💡
What exactly is “Legacy”?
Legacy in other industries
v1.0.0 – Horse-drawn trams
Released: October 1885.
Carry 30 passengers
Trams in Auckland
https://ahi.auckland.ac.nz/2023/05/25/the-good-old-trams/
https://teara.govt.nz/en/photograph/22512/horse-tram
v2.0.0-CR – Electrified Trams
Released: November 1902.
In 1926, Aucklanders made 63 million trips by tram
Auckland City population: 90,000 people.
In 2018-19’s 100.8 million public transport boardings
Auckland City population: 1.7 million (highest since 1951)
Similar figures were recorded at the end of the 1930s, even when the
effects of the Great Depression were still being felt.
By 1941, every single tram in Auckland was being used to cope with
evening peak times, and in each year until 1945 Aucklanders boarded
the trams in record-high numbers.
Legacy in other industries
Trams in Auckland
https://ahi.auckland.ac.nz/2023/05/25/trams-out-trolleybuses-in/
v3.0.0 – Starting Trolleybus
Released: October 1945.
v2.9.9 – Electrified Trams
Final Release : October 1956.
Legacy in other industries
Trams in Auckland
Refactor?
Legacy in other industries
Trams in Auckland
Refactor?
NO, Replace with an off-shelf
solution.
Legacy in other industries
Trams in Auckland
Why?
Legacy in other industries
Trams in Auckland
Why?
Because that was the tendencyaround
the “world” (England, Canada and USA).
The legacy was not embraced neither maintained
and led to problems
Legacy in one picture
Trams around the world
Poland, Krakow:
Inaugurated in 1882 still operational
Rome, Italy
Inaugurated in 1877 still operational
Prague, Czech Republic
Inaugurated in 1875 still operational
Oberhausen, Germany
Inaugurated in 1897 still operational
https://es.wikipedia.org/wiki/Tranv%C3%ADa
1899
1990
What exactly is
“Legacy Code”?
💡
What exactly is “Legacy Code”?
“Legacy code is code that’s too scary to
update and too profitable to delete.”
Dylan Beattie
What exactly is “Legacy Code”?
“Legacy code is code that’s too scary to
update and too profitable to delete.”
Dylan Beattie
“Legacy code is simply code
without tests.”
Michael Feathers
What exactly is “Legacy Code”?
“Legacy code is code that’s too scary to
update and too profitable to delete.”
Dylan Beattie
“Legacy code is simply code
without tests.”
Michael Feathers
What exactly is “Legacy Code”?
“Legacy code is code that’s too scary to
update and too profitable to delete.”
Dylan Beattie
“Legacy code is simply code
without tests.”
Michael Feathers
“People often say “every code becomes legacy code” but
that’s not true. Only successful code becomes legacy
code.“
Immo Landwerth
What is Argentum Online?
What is Argentum Online?
What is Argentum Online?
1999 - The
project born
as a degree
project
2006 - First
commit to
CVS
(Sourceforge)
2012 - v0.13
Last official
version
-- BLIND ERA -
many mods
emerged the
license is not
respected by
almost
anyone
2020 – AO20
born, mod
with full
license
compliance.
Uploaded to
Github
2022 -
Launched in
Steam
How to work with
“Legacy Code”
aka
Argentum Online?
Understand and
acknowledge what is the
problem you need to
solve
Analyzing problems in Argentum Online
https://jessitron.com/2018/04/15/the-origins-of-opera-and-the-future-of-programming/
1- No central development place
2- Almost no documentation
3- Many years of unmanaged growth
4- No tests
5- Lack of workflows
6- Very manual and difficult deployment
Analyzing problems in Argentum Online
No central development place
Analyzing problems in Argentum Online
No central development place
Analyzing problems in Argentum Online
No central development place
Analyzing problems in Argentum Online
No central development place
Analyzing problems in Argentum Online
No central development place
Analyzing problems in Argentum Online
No central development place
Analyzing problems in Argentum Online
No central development place
Analyzing problems in Argentum Online
No central development place
Analyzing problems in Argentum Online
Almost no documentation
Analyzing problems in Argentum Online
Almost no documentation
Analyzing problems in Argentum Online
Many Years of unmanaged growth
Analyzing problems in Argentum Online
Many Years of unmanaged growth
Analyzing problems in Argentum Online
Many Years of unmanaged growth
Analyzing problems in Argentum Online
"Treat your code as a crime scene. Use the
evidence in your version-control system to
uncover and understand the social processes
of your software projects."
No Tests
Analyzing problems in Argentum Online
No Tests
Analyzing problems in Argentum Online
No Tests
Analyzing problems in Argentum Online
Lack of workflows
Analyzing problems in Argentum Online
Lack of workflows
Analyzing problems in Argentum Online
Education: The Core of Our Project
•Professional Development: Equipping
our community with the skills needed
to excel in a professional environment.
•Open-Source Values: Spreading a
deep understanding of the principles
and benefits of open-source
collaboration.
Very manual and difficult deployment
Analyzing problems in Argentum Online
Very manual and difficult deployment
Analyzing problems in Argentum Online
Step 1 [Assets Preparation]
ao-compressor (VB6) (Graphics, Wav, Midi, INITS, INTERFACE, MAPS, MINIMAPS)
IndexCreator (VB6) (This program generates the file localindex.dat containing client-side
texts to minimize server bandwidth usage)
QuestNPCsMapData (C#) (Creation of MiniMap hints positions)
Upload Artifacts (.zip file) to Github Release
Run vb6_vbp_file_version_updater (update Revision in .vbp and commit to master)
Step 2 [Protocol Generator
(modification of .bas files)]
CRC32 Checksum generation for assets
Generate Binary Protocol Shuffler .bas file
Step 3 [EXE preparation]
Compile
Sign Argentum.exe file with Code Sign PFX certificate
Step 4 [Steam Uploading]
Prepare folder to upload to Steam
Copy experimental interface (BabelUI)
InstallScript.vdf (Register DLLs needed for the game with Steam)
Epic's Easy Anti Cheat Integrity Tool
SteamCLI upload to steam
Run PHP Scripts to increment the live build in Steam
Accept 2FA on Phone (Steam App)
Step 5 [Deploy Server]
Update assets
Update server files from repo
Download Binary Protocol Shuffled .bas file
Compile Server.exe
Move files to correct path
Download Argentum.exe
Create Private Key File for encrypt communication
Add latest MD5 hash into ClienteMD5.txt (For PYMMO Login Service)
Open Server.exe
Upload Artifacts (.zip file) to Github Release
Run vb6_vbp_file_version_updater (update Revision in .vbp and commit to master)
Very manual and difficult deployment
Analyzing problems in Argentum Online
Obsolete vs Legacy
Nokia N95
Released 2007
Deprecated 2009
SymbianOS
It just receives SMS and Phone Calls
No developer in the market will work with it today.
Obsolete
Honda Fit
Released 2001
Model 2005
Still on production line
I drove it here today
The mechanic is happy to work with it.
Legacy
Analyzing problems
in Argentum Online
part 2
6- Ineffective logging practices
7- Data governance
8- DDOS Attacks
9- Faulty economic strategy
10- Benevolent dictator for life (BDFL)
Analyzing problems in Argentum Online part 2
Analyzing problems in Argentum Online part 2
Ineffective logging practices
Analyzing problems in Argentum Online part 2
Ineffective logging practices
Analyzing problems in Argentum Online part 2
Ineffective logging practices
Analyzing problems in Argentum Online part 2
Ineffective logging practices
Analyzing problems in Argentum Online part 2
Ineffective logging practices
Analyzing problems in Argentum Online part 2
Ineffective logging practices
Hey dungeon
master, the game
is laggy
I’ll check it
fellow
citizen
Analyzing problems in Argentum Online part 2
Ineffective logging practices
Analyzing problems in Argentum Online part 2
Data governance
Analyzing problems in Argentum Online part 2
Data governance
Analyzing problems in Argentum Online part 2
DDOS Attacks
Analyzing problems in Argentum Online part 2
DDOS Attacks
Azure DDoS Protection
Analyzing problems in Argentum Online part 2
DDOS Attacks
Azure DDoS Protection
Analyzing problems in Argentum Online part 2
DDOS Attacks
Analyzing problems in Argentum Online part 2
DDOS Attacks
Analyzing problems in Argentum Online part 2
Faulty economic strategy
Analyzing problems in Argentum Online part 2
Faulty economic strategy
Analyzing problems in Argentum Online part 2
Benevolent dictator for life (BDFL)
Pythons is an experiment in how
much freedom programmers need.
Too much freedom and nobody can
read another's code; too little and
expressive-ness is endangered
- Guido van Rossum
How to approach a brand new LEGACY PROJECT ?
Analyze and investigate it. - Be a detective and archeologist, ask how, who and
why? Gather information from all over the place.
Keep a diary. Write documentation as long you discover things, a readme.md in
the root of the project most of the times is enough.
Deploy to Staging env. Release a small change, one line of code changing a text is
enough, write step by step what is needed to achieve the goal. Automate it.
Create a plan for end of life. Death is inevitable, specify a plan to refactor
SUMMARY:

More Related Content

Similar to Embracing Legacy: Learnings from Argentum Online (20)

PDF
From 🤦 to 🐿️
Ori Pekelman
 
PPTX
The hardcore stuff i hack, experiences from past VAPT assignments
n|u - The Open Security Community
 
PDF
Programming Webrtc Build Realtime Streaming Applications For The Web 1st Edit...
mikitolooma
 
PDF
Sidecars
Diego Pacheco
 
PPTX
Programming for the Internet of Things
Kinoma
 
PDF
Scale14x Patterns and Practices for Open Source Project Success
Stephen Walli
 
PDF
Connected Cars: What Could Possibly Go Wrong
OnBoard Security, Inc. - a Qualcomm Company
 
PDF
Juraj vysvader - Python developer's CV
Juraj Vysvader
 
PDF
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
Henning Jacobs
 
PDF
Gnome, linux mobile stacks, and you
Andrew Savory
 
PPTX
Programming the world with Docker
Patrick Chanezon
 
PPTX
Node js - Enterprise Class
Glenn Block
 
PDF
CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...
sparkfabrik
 
PDF
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
Burr Sutter
 
PDF
The Revolution of Crypto Funding - Building towards a Scamless Future
Ruben Merre
 
PDF
Internet of Things (IoT) - in the cloud or rather on-premises?
Guido Schmutz
 
PDF
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
André Goliath
 
PDF
Building for the Internet of Things: Hardware, Sensors & the Cloud
Nick Landry
 
PDF
The real value of open source: ROI and beyond
Jeffrey McGuire
 
PDF
KCD Italy 2023 - Secure Software Supply chain for OCI Artifact on Kubernetes
sparkfabrik
 
From 🤦 to 🐿️
Ori Pekelman
 
The hardcore stuff i hack, experiences from past VAPT assignments
n|u - The Open Security Community
 
Programming Webrtc Build Realtime Streaming Applications For The Web 1st Edit...
mikitolooma
 
Sidecars
Diego Pacheco
 
Programming for the Internet of Things
Kinoma
 
Scale14x Patterns and Practices for Open Source Project Success
Stephen Walli
 
Connected Cars: What Could Possibly Go Wrong
OnBoard Security, Inc. - a Qualcomm Company
 
Juraj vysvader - Python developer's CV
Juraj Vysvader
 
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
Henning Jacobs
 
Gnome, linux mobile stacks, and you
Andrew Savory
 
Programming the world with Docker
Patrick Chanezon
 
Node js - Enterprise Class
Glenn Block
 
CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...
sparkfabrik
 
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
Burr Sutter
 
The Revolution of Crypto Funding - Building towards a Scamless Future
Ruben Merre
 
Internet of Things (IoT) - in the cloud or rather on-premises?
Guido Schmutz
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
André Goliath
 
Building for the Internet of Things: Hardware, Sensors & the Cloud
Nick Landry
 
The real value of open source: ROI and beyond
Jeffrey McGuire
 
KCD Italy 2023 - Secure Software Supply chain for OCI Artifact on Kubernetes
sparkfabrik
 

Recently uploaded (20)

PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PPTX
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
PPTX
Employee salary prediction using Machine learning Project template.ppt
bhanuk27082004
 
PPT
Brief History of Python by Learning Python in three hours
adanechb21
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PDF
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PDF
SAP GUI Installation Guide for macOS (iOS) | Connect to SAP Systems on Mac
SAP Vista, an A L T Z E N Company
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
PDF
Virtual Threads in Java: A New Dimension of Scalability and Performance
Tier1 app
 
PDF
Supabase Meetup: Build in a weekend, scale to millions
Carlo Gilmar Padilla Santana
 
PDF
How Agentic AI Networks are Revolutionizing Collaborative AI Ecosystems in 2025
ronakdubey419
 
PPTX
Explanation about Structures in C language.pptx
Veeral Rathod
 
PPTX
Farrell__10e_ch04_PowerPoint.pptx Programming Logic and Design slides
bashnahara11
 
PDF
Salesforce Pricing Update 2025: Impact, Strategy & Smart Cost Optimization wi...
GetOnCRM Solutions
 
PDF
What companies do with Pharo (ESUG 2025)
ESUG
 
PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
Employee salary prediction using Machine learning Project template.ppt
bhanuk27082004
 
Brief History of Python by Learning Python in three hours
adanechb21
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
SAP GUI Installation Guide for macOS (iOS) | Connect to SAP Systems on Mac
SAP Vista, an A L T Z E N Company
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
Activate_Methodology_Summary presentatio
annapureddyn
 
Virtual Threads in Java: A New Dimension of Scalability and Performance
Tier1 app
 
Supabase Meetup: Build in a weekend, scale to millions
Carlo Gilmar Padilla Santana
 
How Agentic AI Networks are Revolutionizing Collaborative AI Ecosystems in 2025
ronakdubey419
 
Explanation about Structures in C language.pptx
Veeral Rathod
 
Farrell__10e_ch04_PowerPoint.pptx Programming Logic and Design slides
bashnahara11
 
Salesforce Pricing Update 2025: Impact, Strategy & Smart Cost Optimization wi...
GetOnCRM Solutions
 
What companies do with Pharo (ESUG 2025)
ESUG
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 

Embracing Legacy: Learnings from Argentum Online

  • 2. ABOUT MYSELF: • Lucas Daniel Recoaro • From: Argentina • Now in: New Zealand / Aotearoa (8 Years) • Profession: Software Developer | Mentor | Open-Source Advocate
  • 3. ABOUT MYSELF: Experience: •14 Years of professional development in desktop applications, web platforms, video games, etc. •A lifetime of passion and expertise in technology. • Lucas Daniel Recoaro • From: Argentina • Now in: New Zealand / Aotearoa (8 Years) • Profession: Software Developer | Mentor | Open-Source Advocate
  • 6. What exactly is “Legacy”?
  • 7. Legacy in other industries v1.0.0 – Horse-drawn trams Released: October 1885. Carry 30 passengers Trams in Auckland https://ahi.auckland.ac.nz/2023/05/25/the-good-old-trams/ https://teara.govt.nz/en/photograph/22512/horse-tram v2.0.0-CR – Electrified Trams Released: November 1902. In 1926, Aucklanders made 63 million trips by tram Auckland City population: 90,000 people. In 2018-19’s 100.8 million public transport boardings Auckland City population: 1.7 million (highest since 1951) Similar figures were recorded at the end of the 1930s, even when the effects of the Great Depression were still being felt. By 1941, every single tram in Auckland was being used to cope with evening peak times, and in each year until 1945 Aucklanders boarded the trams in record-high numbers.
  • 8. Legacy in other industries Trams in Auckland https://ahi.auckland.ac.nz/2023/05/25/trams-out-trolleybuses-in/ v3.0.0 – Starting Trolleybus Released: October 1945. v2.9.9 – Electrified Trams Final Release : October 1956.
  • 9. Legacy in other industries Trams in Auckland Refactor?
  • 10. Legacy in other industries Trams in Auckland Refactor? NO, Replace with an off-shelf solution.
  • 11. Legacy in other industries Trams in Auckland Why?
  • 12. Legacy in other industries Trams in Auckland Why? Because that was the tendencyaround the “world” (England, Canada and USA). The legacy was not embraced neither maintained and led to problems
  • 13. Legacy in one picture Trams around the world Poland, Krakow: Inaugurated in 1882 still operational Rome, Italy Inaugurated in 1877 still operational Prague, Czech Republic Inaugurated in 1875 still operational Oberhausen, Germany Inaugurated in 1897 still operational https://es.wikipedia.org/wiki/Tranv%C3%ADa 1899 1990
  • 15. 💡
  • 16. What exactly is “Legacy Code”? “Legacy code is code that’s too scary to update and too profitable to delete.” Dylan Beattie
  • 17. What exactly is “Legacy Code”? “Legacy code is code that’s too scary to update and too profitable to delete.” Dylan Beattie “Legacy code is simply code without tests.” Michael Feathers
  • 18. What exactly is “Legacy Code”? “Legacy code is code that’s too scary to update and too profitable to delete.” Dylan Beattie “Legacy code is simply code without tests.” Michael Feathers
  • 19. What exactly is “Legacy Code”? “Legacy code is code that’s too scary to update and too profitable to delete.” Dylan Beattie “Legacy code is simply code without tests.” Michael Feathers “People often say “every code becomes legacy code” but that’s not true. Only successful code becomes legacy code.“ Immo Landwerth
  • 20. What is Argentum Online?
  • 21. What is Argentum Online?
  • 22. What is Argentum Online? 1999 - The project born as a degree project 2006 - First commit to CVS (Sourceforge) 2012 - v0.13 Last official version -- BLIND ERA - many mods emerged the license is not respected by almost anyone 2020 – AO20 born, mod with full license compliance. Uploaded to Github 2022 - Launched in Steam
  • 23. How to work with “Legacy Code” aka Argentum Online?
  • 24. Understand and acknowledge what is the problem you need to solve
  • 25. Analyzing problems in Argentum Online https://jessitron.com/2018/04/15/the-origins-of-opera-and-the-future-of-programming/
  • 26. 1- No central development place 2- Almost no documentation 3- Many years of unmanaged growth 4- No tests 5- Lack of workflows 6- Very manual and difficult deployment Analyzing problems in Argentum Online
  • 27. No central development place Analyzing problems in Argentum Online
  • 28. No central development place Analyzing problems in Argentum Online
  • 29. No central development place Analyzing problems in Argentum Online
  • 30. No central development place Analyzing problems in Argentum Online
  • 31. No central development place Analyzing problems in Argentum Online
  • 32. No central development place Analyzing problems in Argentum Online
  • 33. No central development place Analyzing problems in Argentum Online
  • 34. No central development place Analyzing problems in Argentum Online
  • 35. Almost no documentation Analyzing problems in Argentum Online
  • 36. Almost no documentation Analyzing problems in Argentum Online
  • 37. Many Years of unmanaged growth Analyzing problems in Argentum Online
  • 38. Many Years of unmanaged growth Analyzing problems in Argentum Online
  • 39. Many Years of unmanaged growth Analyzing problems in Argentum Online "Treat your code as a crime scene. Use the evidence in your version-control system to uncover and understand the social processes of your software projects."
  • 40. No Tests Analyzing problems in Argentum Online
  • 41. No Tests Analyzing problems in Argentum Online
  • 42. No Tests Analyzing problems in Argentum Online
  • 43. Lack of workflows Analyzing problems in Argentum Online
  • 44. Lack of workflows Analyzing problems in Argentum Online Education: The Core of Our Project •Professional Development: Equipping our community with the skills needed to excel in a professional environment. •Open-Source Values: Spreading a deep understanding of the principles and benefits of open-source collaboration.
  • 45. Very manual and difficult deployment Analyzing problems in Argentum Online
  • 46. Very manual and difficult deployment Analyzing problems in Argentum Online Step 1 [Assets Preparation] ao-compressor (VB6) (Graphics, Wav, Midi, INITS, INTERFACE, MAPS, MINIMAPS) IndexCreator (VB6) (This program generates the file localindex.dat containing client-side texts to minimize server bandwidth usage) QuestNPCsMapData (C#) (Creation of MiniMap hints positions) Upload Artifacts (.zip file) to Github Release Run vb6_vbp_file_version_updater (update Revision in .vbp and commit to master) Step 2 [Protocol Generator (modification of .bas files)] CRC32 Checksum generation for assets Generate Binary Protocol Shuffler .bas file Step 3 [EXE preparation] Compile Sign Argentum.exe file with Code Sign PFX certificate Step 4 [Steam Uploading] Prepare folder to upload to Steam Copy experimental interface (BabelUI) InstallScript.vdf (Register DLLs needed for the game with Steam) Epic's Easy Anti Cheat Integrity Tool SteamCLI upload to steam Run PHP Scripts to increment the live build in Steam Accept 2FA on Phone (Steam App) Step 5 [Deploy Server] Update assets Update server files from repo Download Binary Protocol Shuffled .bas file Compile Server.exe Move files to correct path Download Argentum.exe Create Private Key File for encrypt communication Add latest MD5 hash into ClienteMD5.txt (For PYMMO Login Service) Open Server.exe Upload Artifacts (.zip file) to Github Release Run vb6_vbp_file_version_updater (update Revision in .vbp and commit to master)
  • 47. Very manual and difficult deployment Analyzing problems in Argentum Online
  • 48. Obsolete vs Legacy Nokia N95 Released 2007 Deprecated 2009 SymbianOS It just receives SMS and Phone Calls No developer in the market will work with it today. Obsolete Honda Fit Released 2001 Model 2005 Still on production line I drove it here today The mechanic is happy to work with it. Legacy
  • 50. 6- Ineffective logging practices 7- Data governance 8- DDOS Attacks 9- Faulty economic strategy 10- Benevolent dictator for life (BDFL) Analyzing problems in Argentum Online part 2
  • 51. Analyzing problems in Argentum Online part 2 Ineffective logging practices
  • 52. Analyzing problems in Argentum Online part 2 Ineffective logging practices
  • 53. Analyzing problems in Argentum Online part 2 Ineffective logging practices
  • 54. Analyzing problems in Argentum Online part 2 Ineffective logging practices
  • 55. Analyzing problems in Argentum Online part 2 Ineffective logging practices
  • 56. Analyzing problems in Argentum Online part 2 Ineffective logging practices Hey dungeon master, the game is laggy I’ll check it fellow citizen
  • 57. Analyzing problems in Argentum Online part 2 Ineffective logging practices
  • 58. Analyzing problems in Argentum Online part 2 Data governance
  • 59. Analyzing problems in Argentum Online part 2 Data governance
  • 60. Analyzing problems in Argentum Online part 2 DDOS Attacks
  • 61. Analyzing problems in Argentum Online part 2 DDOS Attacks Azure DDoS Protection
  • 62. Analyzing problems in Argentum Online part 2 DDOS Attacks Azure DDoS Protection
  • 63. Analyzing problems in Argentum Online part 2 DDOS Attacks
  • 64. Analyzing problems in Argentum Online part 2 DDOS Attacks
  • 65. Analyzing problems in Argentum Online part 2 Faulty economic strategy
  • 66. Analyzing problems in Argentum Online part 2 Faulty economic strategy
  • 67. Analyzing problems in Argentum Online part 2 Benevolent dictator for life (BDFL) Pythons is an experiment in how much freedom programmers need. Too much freedom and nobody can read another's code; too little and expressive-ness is endangered - Guido van Rossum
  • 68. How to approach a brand new LEGACY PROJECT ? Analyze and investigate it. - Be a detective and archeologist, ask how, who and why? Gather information from all over the place. Keep a diary. Write documentation as long you discover things, a readme.md in the root of the project most of the times is enough. Deploy to Staging env. Release a small change, one line of code changing a text is enough, write step by step what is needed to achieve the goal. Automate it. Create a plan for end of life. Death is inevitable, specify a plan to refactor SUMMARY: