On 19 February I held a presentation for my colleagues about distributed version control systems (DVCS). My main goal was to inform them on what I think is the next logical step in source control.
Also see http://vlent.nl/weblog/2010/02/25/distributed-version-control-systems-presentation
Given at the BCS in Edinburgh on the 1/8/2012. Talk about change and failed attempt to introduce XP into an organisation. Suggests potential reasons for the failure, introduces Kanban and then speculates as to how change might have been more successful in an evolutionary manner with Kanban.
On 19 February I held a presentation for my colleagues about distributed version control systems (DVCS). My main goal was to inform them on what I think is the next logical step in source control.
Also see http://vlent.nl/weblog/2010/02/25/distributed-version-control-systems-presentation
Given at the BCS in Edinburgh on the 1/8/2012. Talk about change and failed attempt to introduce XP into an organisation. Suggests potential reasons for the failure, introduces Kanban and then speculates as to how change might have been more successful in an evolutionary manner with Kanban.
Too often in the organization of this conference we have heard "but I don't have scalability issues".
This talk discusses what scalability issues actually are, and details why we all inevitably have them. Avoiding them, or delaying solutions until they are unavoidable, leads to making many bad "temporary" decisions that cannot be fixed further down the line.
I will discuss the methodologies and best practices that are required in order to be scalable, and describe the common mistakes they will temper, and why they should be implemented immediately. Finally, I will briefly touch on how to deal with rectifying the bad decisions that we all inevitably make, no matter how forward-thinking we are.
With the move to CakePHP 2.x, it has been a bit harder to find quality open source code that can be integrated with your application. If it is a generic feature, it is very likely that you are duplicating effort, or missing out on a feature because you didn't know quite how to implement it. In this talk we will go over where to locate, assess and embrace/extinguish open source CakePHP code. We will also be covering a few of the more useful and popular CakePHP plugins available.
JavaEdge 2008: Your next version control systemGilad Garon
The next generation of VCS has a clear target ahead of them: making branching and merging easier. Until recently, Subversion was dominating the world of Version Control Systems, but now, Distributed Version Control Systems are growing in popularity and everywhere you go you hear about Git or Mercurial, and how they make branching and merging a breeze. But the Subversion team isn't going down quietly, they have a new weapon: the 1.5 version. Learn about the next generation of Version Control Systems is planning to solve your problems.
It can be tough to compare and evaluate CI/CD systems. I propose a new CAKE layer model to use when analysing and designing CI systems, and discuss its use at EA DICE. Attendees will be able to use this model themselves to make better CI design choices!
As presented at DevOpsDays Stockholm 2019
https://devopsdays.org/events/2019-stockholm/
Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...Peter Leschev
A Build Engineering Team’s Journey of Infrastructure as Code - the challenges that we’ve faced and the practices that we implemented as we went along our journey.
Slides of my talk at QCon Hangzhou 2011, on the things that my team has been doing on the JVM, esp. on customization. Video available at http://www.infoq.com/cn/presentations/ms-jvm-taobao
So you want to go Git, but other stakeholders in your organization aren't quite convinced it's worth the effort? This talk will explain why migrating to Git is a win for the whole business – not just developers. We'll give you the ammunition you need to convince your team that the switch to Git is a no-brainer.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
More Related Content
Similar to Migrating to DVCS: Why You should do it and how Atlassian's tools can help
Too often in the organization of this conference we have heard "but I don't have scalability issues".
This talk discusses what scalability issues actually are, and details why we all inevitably have them. Avoiding them, or delaying solutions until they are unavoidable, leads to making many bad "temporary" decisions that cannot be fixed further down the line.
I will discuss the methodologies and best practices that are required in order to be scalable, and describe the common mistakes they will temper, and why they should be implemented immediately. Finally, I will briefly touch on how to deal with rectifying the bad decisions that we all inevitably make, no matter how forward-thinking we are.
With the move to CakePHP 2.x, it has been a bit harder to find quality open source code that can be integrated with your application. If it is a generic feature, it is very likely that you are duplicating effort, or missing out on a feature because you didn't know quite how to implement it. In this talk we will go over where to locate, assess and embrace/extinguish open source CakePHP code. We will also be covering a few of the more useful and popular CakePHP plugins available.
JavaEdge 2008: Your next version control systemGilad Garon
The next generation of VCS has a clear target ahead of them: making branching and merging easier. Until recently, Subversion was dominating the world of Version Control Systems, but now, Distributed Version Control Systems are growing in popularity and everywhere you go you hear about Git or Mercurial, and how they make branching and merging a breeze. But the Subversion team isn't going down quietly, they have a new weapon: the 1.5 version. Learn about the next generation of Version Control Systems is planning to solve your problems.
It can be tough to compare and evaluate CI/CD systems. I propose a new CAKE layer model to use when analysing and designing CI systems, and discuss its use at EA DICE. Attendees will be able to use this model themselves to make better CI design choices!
As presented at DevOpsDays Stockholm 2019
https://devopsdays.org/events/2019-stockholm/
Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...Peter Leschev
A Build Engineering Team’s Journey of Infrastructure as Code - the challenges that we’ve faced and the practices that we implemented as we went along our journey.
Slides of my talk at QCon Hangzhou 2011, on the things that my team has been doing on the JVM, esp. on customization. Video available at http://www.infoq.com/cn/presentations/ms-jvm-taobao
So you want to go Git, but other stakeholders in your organization aren't quite convinced it's worth the effort? This talk will explain why migrating to Git is a win for the whole business – not just developers. We'll give you the ammunition you need to convince your team that the switch to Git is a no-brainer.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
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
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
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.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Migrating to DVCS: Why You should do it and how Atlassian's tools can help
1.
2.
3. DVCS: Making the Move?
How Atlassian can help...
Matthew Watson
FishEye/Crucible Team Lead, Atlassian
2
4. Why DVCS?
• Lots of people excited by it
• Huge in Open Source
• But what about Commercial in-house development?
• What about the costs of migrating?
3
5. What’s Great about DVCS?
• Work offline
• Easier branching and merging
• Github and Bitbucket
• Do we really need this?
4
7. What’s really cool about DVCS!
• What does ‘D’ in DVCS stand for?
• Distributed
• Commit often, push when ready
• Fast, peer-to-peer, no central server
• Flexibility: Clones vs Branches
5
8. What’s really cool about DVCS?
• What should the ‘D’ in DVCS
stand for?
6
9. What’s really cool about DVCS?
• What should the ‘D’ in DVCS
stand for?
• DAG = Directed Acyclic Graph
Time
• No loops
• Each commit has 1 or more parents
• Commits uniquely identified
6
17. DAG Commits
Bob
38:fb38fed187ab A.java
39:bb0760b60a8b
9
18. DAG Commits
Bob
38:fb38fed187ab A.java
39:bb0760b60a8b
Mary
B.java
40:d0f08ba891a0
9
19. DAG Commits
Bob
38:fb38fed187ab A.java
39:bb0760b60a8b
Mary
B.java
40:d0f08ba891a0
Will
C.java
41:38ff647618b5
9
20. DAG Commits
Bob
38:fb38fed187ab A.java
39:bb0760b60a8b
Mary
B.java
40:d0f08ba891a0 42:7d0e20243949
Will
C.java
41:38ff647618b5
9
21. DAG Commits
Bob
38:fb38fed187ab A.java
39:bb0760b60a8b
Mary
B.java
40:d0f08ba891a0 42:7d0e20243949
Will
C.java
41:38ff647618b5 43:5fcdd3657717
9
22. The Power of the DAG
• Deterministic
• Annotate/blame works!
• Easy and powerful merges - Don’t be scared of long
running branches!
• Easy and powerful branching
10
23. Traceability
• In SVN/CVS etc merges hide
what happened
Time
• In DVCS, the DAG lets you see
exactly what changed
11
25. Workflows, Workflows, Workflows
• Which workflow to use?
• “With Great Power there must also come - Great
Responsibility!” - Spider Man?
• Take your time!
13
26. Feature Branching
• Branching and merging cheap
and easy
Time
• All feature work done on branch
• Can merge to any descendant
14
34. Cross Branch Dependencies
• Can merge to any downstream branch
• Easily merge fixes for releases into
subsequent versions
• Also works for feature branches
• Our code is naturally becoming more
stable
16
35. Migrating to DVCS
• Which DVCS?
• Small team - just go for it!
• Large team - Don’t Fu$%! your devspeed!
• Our goal - Zero downtime
17
36. Sync from SVN
• Git SVN and HgSubversion
• Incremental conversion
• Remap Committers
• mwatson = Matthew Watson <mwatson@atlassian.com>
• Build Processes
18
37. Use Continuous Integration!
• Vital part of dev cycle
• Run same builds against old
and new VCS
• Continuous Validation
19
39. Use Crucible!
• Code reviews against
DVCS Commits
• Developers get used
to the new way
• New Commit ids
• Committers map to
Users
21
40. Make the Switch
• Setup Clones and IDE’s before hand
• Make SVN read-only
• Go DVCS!
22
41. DVCS is Awesome!
• More power = more opportunity to do things faster!
• The DAG gives traceability, powerful branching
and merging, speed
• Migrating is easy!
@mattw_watson #summit11
23
Intro: \nAdvantages of DVCS (git & hg/mercurial) compared to Traditional VCS\nWhat we&#x2019;ve learned about DVCS\nOptions for migrating and our migration\nEnd up thinking migrating to DVCS is awesome idea\nDrop nuggets along the way\n?What VCS&#x2019;s using now?\n?Migrated? Thinking of Migrating?\n
Momentum\n
What do we know is good?\nWork Offline (local commits), easy to create new repo, faster\nEasier branching and merging &#x201C;apparently&#x201D;: Who branches in SVN?\nforks, pull request, OS stuff - new models\n
Distributed:\npush when you want - commit often\ncreate local repos, push to others\nfast, fast history\ndefine clones?\nclones or branches, more flexibility - new workflows (more later)\nNothing compelling yet?\n
* Important: This is what we discovered\n* SVN/CVS: Linear, concurrent changes\n* DAG: Commits built on parent commits - uniquely identified - new commits made by one author only - concurrent commits are merged\n* demonstrate\n
* Linear\n* Overlap unintentionally\n
* Linear\n* Overlap unintentionally\n
* Linear\n* Overlap unintentionally\n
Unintended state\nCI was invented to deal with this\n
Contrast to in SVN, changes made at same time, but appear as logical progression\nDVCS: Commits build on a known state\n
Contrast to in SVN, changes made at same time, but appear as logical progression\nDVCS: Commits build on a known state\n
Contrast to in SVN, changes made at same time, but appear as logical progression\nDVCS: Commits build on a known state\n
Contrast to in SVN, changes made at same time, but appear as logical progression\nDVCS: Commits build on a known state\n
Contrast to in SVN, changes made at same time, but appear as logical progression\nDVCS: Commits build on a known state\n
Lots of merges: yes, but deliberate, tracked, only merge a change once! \nMerging: very powerful - track copies/moves - long running refactoring\nCan &#x201C;branch&#x201D; at any point - each concurrent commit IS a branch - merge to any descendant\n\n
Graph Queries, 20% JIRA integration\nPause\n
distributed nature + DAG = lots of options\nNo-one tells you which one is best!\n\n
Stay with what you know - mimic SVN workflow\n get used to whats possible - devs will experiement\n adapt slowly\n\n
Us: Started using branching -> release & feature branching (all work on releases like this!)\nBranch from earliest common point you might want to merge to\n\n
Review->Build (BB3.1, 20% project)->complete merge/fixVersion & close JIRA\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Review->Build (BB3.1, 20% project)\nFeature branch balance - size - life time - naturally evolve - big work - integrate from stable\n
Works for feature branches too\nDid this on SVN, but as mentioned already - merges only merge new stuff & Traceability\nFeature Branches: can merge to others before integrated to stable\n\n
Options: All in one or gradual\n
Git SVN and HgSubversion allow you to work on a SVN repository using git/hg as a client - also used for converting\nCan pull at will - by setting up a cron job, can continuously pull changes into git/hg - then push them to your hosting service (github/bitbucket)\nCan also remap committer names, exclude file paths, more info on our blogs.\nMigrate any build/release/test processes that rely on the VCS\n\n
\n
RSS feeds of changes, activity streams, URL to changes, Search, Commit Graph\n Get Used to Commit hashes etc.\n
Start doing code reviews against synced DVCS\nDifferences\nEngage developers\n
we very happy, devs sceptical, but now all see benefits\n
Convinced you there is more to DVCS than you might have thought\n