Git is a distributed revision control system that is widely used in the software development industry. The presentation was used in a lecture delivered in BITS-Pilani, India. The lecture served as a basic crash course on Git.
First, it sets off with a guide to install and configure git on various platforms.
Then, the basic working concepts of Git are explained.
This is followed by a detailed step-by-step guided demonstration of a sample workflow in Git.
Afterwards, Some auxillary commands that are frequently used are discussed briefly.
Finally, basic concepts of branching and merging are detailed.
The presentation ends with a few possible merge conflicts that occur in Git.
Github - Git Training Slides: FoundationsLee Hanxue
Slide deck with detailed step breakdown that explains how git works, together with simple examples that you can try out yourself. Slides originated from http://teach.github.com/articles/course-slides/
Author: https://twitter.com/matthewmccull
Introduction to Git & GitHub.
Agenda:
- What’s a Version Control System?
- What the heck is Git?
- Some Git commands
- What’s about GitHub?
- Git in Action!
GitFlow is a branching model for Git, created by Vincent Driessen. It has attracted a lot of attention because it is very well suited to collaboration and scaling the development team
Git is a distributed revision control system that is widely used in the software development industry. The presentation was used in a lecture delivered in BITS-Pilani, India. The lecture served as a basic crash course on Git.
First, it sets off with a guide to install and configure git on various platforms.
Then, the basic working concepts of Git are explained.
This is followed by a detailed step-by-step guided demonstration of a sample workflow in Git.
Afterwards, Some auxillary commands that are frequently used are discussed briefly.
Finally, basic concepts of branching and merging are detailed.
The presentation ends with a few possible merge conflicts that occur in Git.
Github - Git Training Slides: FoundationsLee Hanxue
Slide deck with detailed step breakdown that explains how git works, together with simple examples that you can try out yourself. Slides originated from http://teach.github.com/articles/course-slides/
Author: https://twitter.com/matthewmccull
Introduction to Git & GitHub.
Agenda:
- What’s a Version Control System?
- What the heck is Git?
- Some Git commands
- What’s about GitHub?
- Git in Action!
GitFlow is a branching model for Git, created by Vincent Driessen. It has attracted a lot of attention because it is very well suited to collaboration and scaling the development team
How do you choose a git workflow that increases productivity and reduces the friction of your team? What are the battle tested practices of successful teams that moved to git? How is git used inside Atlassian?
As you might have heard git has many compelling features and has gained incredible momentum in the industry at large. Yet understanding how an enterprise team can adopt it can be daunting. The presentation aims to help answer these questions and more:
- Available collaboration models when using a distributed version control system like git
- Branching models that foster and enhance parallel development
- Emerging code best practices and choices that can be safely adopted when migrating to git
- How Continuous Integration changes when your team embraces git
The Information Technology have led us into an era where the production, sharing and use of information are now part of everyday life and of which we are often unaware actors almost: it is now almost inevitable not leave a digital trail of many of the actions we do every day; for example, by digital content such as photos, videos, blog posts and everything that revolves around the social networks (Facebook and Twitter in particular). Added to this is that with the "internet of things", we see an increase in devices such as watches, bracelets, thermostats and many other items that are able to connect to the network and therefore generate large data streams. This explosion of data justifies the birth, in the world of the term Big Data: it indicates the data produced in large quantities, with remarkable speed and in different formats, which requires processing technologies and resources that go far beyond the conventional systems management and storage of data. It is immediately clear that, 1) models of data storage based on the relational model, and 2) processing systems based on stored procedures and computations on grids are not applicable in these contexts. As regards the point 1, the RDBMS, widely used for a great variety of applications, have some problems when the amount of data grows beyond certain limits. The scalability and cost of implementation are only a part of the disadvantages: very often, in fact, when there is opposite to the management of big data, also the variability, or the lack of a fixed structure, represents a significant problem. This has given a boost to the development of the NoSQL database. The website NoSQL Databases defines NoSQL databases such as "Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open source and horizontally scalable." These databases are: distributed, open source, scalable horizontally, without a predetermined pattern (key-value, column-oriented, document-based and graph-based), easily replicable, devoid of the ACID and can handle large amounts of data. These databases are integrated or integrated with processing tools based on the MapReduce paradigm proposed by Google in 2009. MapReduce with the open source Hadoop framework represent the new model for distributed processing of large amounts of data that goes to supplant techniques based on stored procedures and computational grids (step 2). The relational model taught courses in basic database design, has many limitations compared to the demands posed by new applications based on Big Data and NoSQL databases that use to store data and MapReduce to process large amounts of data.
Course Website http://pbdmng.datatoknowledge.it/
Contact me to download the slides
La presentazione di Bruno Bossola in occasione del Codemotion del 5 marzo 2011 http://www.codemotion.it
Un'introduzione all'uso di GIT, il nuovo sistema di controllo versione che sta diventando rapidamente il punto di riferimento per lo sviluppo FLOSS e nell'Enterprise. Durante l'intervento saranno spiegate le principali caratteristiche di GIT , integrandole con dimostrazioni pratiche live che spiegheranno il funzionamento dei comandi principali. La parte finale della presentazione sarà legata alle problematiche relative all'adozione dello strumento in ambiente enteprise.
A practical step-by-step guide to Git, taking you through each phase of a project and explaining the use of Git at each step of the development process. Expect lots of how-to, but also some how-not-to, to avoid going down the wrong path.
We discuss what version control systems are, why people should use them as much as possible in suitable cases. We took a basic overlook over Git VCS and how it is integrated with Intellij Platform.
✊ Join the DEV-olution: A culture of empowered developersSven Peters
Engineering leaders say their organizations struggle with productivity, collaboration, and tracking progress against goals. Some try to fix it by adding more dashboards, making strict rules, and asking for more reports. But just doing more doesn't solve the real issues developers face.
Let’s build a culture that empowers developers to do the right things and starts a dev-olution. Join Sven and hear how empowered teams build trustful relationships, work asynchronously and synchronously, use data smartly, care about outcomes, stay curious, and always try new things. More importantly, you will learn how to establish such a culture evolutionarily.
Empowering your engineers will amplify developer joy and supercharge your development effectiveness.
Team Shaping - Building a shared understandingSven Peters
Teamwork is tough, and it’s not getting easier. As more teams switch to remote or hybrid work models, building and maintaining a sense of connection and shared purpose among team members is becoming increasingly challenging. If we're going to get our teams healthy, we need to hit the teamwork gym!
Learn how to build a healthy team! We'll develop a shared understanding of responsibilities, team goals, how you work together, and our relationship with other teams. With just four simple exercises, you can bring your team in shape to become more productive and innovative. So let's pump...you up!
Developer Joy - How great teams get s%*t doneSven Peters
Join Sven and learn how great software teams measure and improve their developer experience, coordinate work across teams, run autonomous but highly aligned teams, and create a healthy and joyful engineering culture. Always backed up by data (not driven) instead of opinions.
The talk will demonstrate how great teams faced development challenges, reinvented themselves, and created new ways of working to get s%*t done. Without losing sight of what makes this craft fun for engineers.
We all know it and hate it — the dreaded “status meeting.” They’re great when it’s a small team, but they don’t scale and become a waste of time. In this session, we’ll show how to use Confluence and Atlas to keep teams in sync, async, while empowering them to continue using the apps that let them thrive.
The Hitchhiker's Guide to a Great Developer CareerSven Peters
As developers, our job is to write great code, test code, deploy code, fix code, and even delete code, but nobody told us that there is much more to it if we want to have a great developer career.
In this talk, Sven and Helen will share their successes and failures during their 20-year careers to date working for various technology companies. You’ll learn about growing your personal brand (what is it good for?), the trials and tribulations of different roles (so many choices), becoming a manager (or not), mentoring and sponsoring (they are not the same thing), how to care for yourself (prevent burnout), and lots more career advice.
You'll hear about their inevitable bumps in the road (or downright failures), as well as their successes. As it turns out, having a great developer career is not all about the technology and the code; it's also about you and the people around you!
The Effective Developer - Work Smarter, not HarderSven Peters
We’re agile, we’re doing DevOps, we work in cross-functional teams, and we use the latest developer pipeline tooling. With all those methodologies and technologies we should be highly effective, right? Probably not. Most of us still struggle with balancing coding speed and quality, working on the stuff that really makes a difference, and feeling constantly stressed by all the things we should learn.
Effective developers don’t just write clean, simple, and robust code. They also have a strong understanding of the entire development process and the problem that needs to be solved. They take time to learn, practice, and play.
Learn how those developers build effective coding habits, think about the outcome first, reserve time for deep work, and much more. You’ll walk away from this talk with lots of ideas on how to work smarter, not harder.
With all conferences going virtual this year, it's easier than ever to give a presentation: no travel days and no hotel costs. So how do you convince the organizers of an event that you're the right person with the right topic?
MongoDB veteran speakers Lauren Schaefer and Sven Peters have spoken at over 300 events and will share their tips and tricks and how to avoid pitfalls when submitting a proposal to speak at a conference.
In this workshop, you'll learn how to identify a topic that is perfect for both you and the conference, create a compelling title, and write a convincing abstract. And don't worry—you don't need to have tons of experience in public speaking to land your first gig.
The Effective Developer - Work Smarter, Not HarderSven Peters
We’re agile, we’re doing DevOps, we work in cross-functional teams, and we use the latest developer pipeline tooling. With all those methodologies and technologies we should be highly effective, right? Probably not. Most of us still struggle with balancing coding speed and quality, working on the stuff that really makes a difference, and feeling constantly stressed by all the things we should learn.
Effective developers don't just write clean, simple, and robust code. They also have a strong understanding of the entire development process and the problem that needs to be solved. They take time to learn, practice, and play.
Learn how those developers build effective coding habits, think about the outcome first, reserve time for deep work, and much more. You’ll walk away from this talk with lots of ideas on how to work smarter, not harder.
Remote work is offering lots of great benefits: access to a larger talent pool, freedom, working in pyjamas, and much more. So why are so many companies failing with remote work or hesitate to give it a try?
Sven works remotely for more than 7 years and will share 5 things how you and your distributed team can be more productive, happier, and feel more fulfilled while working remotely. You'll hear about practices like code review etiquettes, video conference rules, share-it-or-it-didn’t-happen guidelines, and much more. Learn how to best set up your office, how to keep connections with co-workers, and which tools works best in order to rock remote work.
Whether you’re just starting out in Confluence, or working in it every day, join Sven to discover the “hacks” that will maximize your productivity and make work flow more seamlessly.
Transform your content and learn the keyboard shortcuts, layout tricks, automation, and customizations that will make creating beautiful spaces and pages a breeze.
Less Process, more Guidance with a Team PlaybookSven Peters
Teams are different, projects are different, problems are different. Why are we still trying to squeeze teamwork into department processes, adding bureaucracy, and having organizational layers that makes it harder and much slower to get work done?
Join Sven Peters, former lead evangelist at Atlassian now K15t, as he talks about creating a Team Playbook by collecting practices from all teams in an organizations. No end-to-end process, no strict development rules, just some guidelines. You’ll learn tons of plays like goal setting with OKRs, decision making with DACIs, team improvements with health monitors, finding risks with premortem’s, and many more.
This talk will teach you how to utilize a playbook for more autonomy by providing teams with the freedom to pick what works in their environment.
Every software team writes code, but some teams produce fewer bugs than others. Every software team creates new features, but some teams develop them faster than others. What do high performance teams do differently, and why are team members more focused, satisfied and relaxed? They truly work together. No 10x rockstar programmer can achieve what a well rounded, enthusiastic team can.
Sven examines how the best software teams set and follow goals, integrate new members fast, ensure diversity, monitor and continually improve team health, embrace transparency, use a playbook to guide them through every phase of development and much more. He shares techniques including: bugfix rotations, OKRs, feature buddies, open demos, focus days and many more that help teams and team members to work more effectively together, and produce awesome results.
Rise of the Machines - Automate your DevelopmentSven Peters
When we talk about automation in software development, we immediately think of automated builds and deployments. We may also be using scripts to help make our daily work easier. But this is really just the beginning of the rise of the machines.
I show you how leading developers in our industry are using open source and commercial tools for automating much more. They've got "robots" for monitoring production servers, updating issues, supporting customers, reviewing code, setting up laptops, doing development reporting, conducting customer feedback -- even automating daily standups. In what instances is it useful to automate? In what cases does it not make sense? Automation prevents us from having to do the same thing twice, helps us to work better together, reduces workflow errors and frees up time to write production code. Plus, as it turns out, spending time on automation is fun! Don't be afraid of robots in software development, embrace them! Even if I save you just half an hour a week, this talk will be a beneficial investment of your time.
This session shows you how we do Kick-@$$ software development at Atlassian and actually get stuff done. Feedback cycles are short, code quality is awesome and customers get the features they lust after. Hear how we: use pull-requests for better code quality; collaborate fast to develop ideas; avoid meetings; tighten feedback loops to fail fast; shorten release cycles and work together happily on different continents. Sound like paradise? It is!
One day we woke up and realized that our days are filled with all kind of stuff unrelated to code or product, that our goals are driven by product owners, and that our code design is dictated by architects trying to tell us how we should solve problems. A strong coding culture gives the power back to the developer to concentrate on one thing: Create awesome stuff!
Imagine a culture where the input of the whole organization turns an individual idea into a user story in just a couple of hours; where everybody's goal is to make the customer awesome, and where you work on stuff you love instead stuff you loathe. A great coding culture concentrates on making developers productive and happy by removing unnecessary overhead, bringing autonomous teams together, helping the individual programmer to innovate, and raising the awareness among the developers to create better code.
I will talk about how to establish and foster a strong engineering-focused culture that scales from a small team to a huge organization with hundreds of developers. I'll give lots of examples from our experience at Atlassian to show that once you're working in a great coding culture, you won't want to work anywhere else.
You can find a video version of the talk here: https://www.youtube.com/watch?v=rRc0FEg46kw
It's the culture, but not as you know itSven Peters
People often start companies with a smart team and great product ideas. But as companies grows, some leaders tend to forget that it's not the product and services that made them successful – it's the culture. Culture may actually be harder to build than any product, but your organization can benefit in every way if you end up with a great one.
Sven works for Atlassian, an Australian software company that grew from 8 to 800 people in the last 10 years. He will share successes – and struggles – with bringing new people into a strong company culture, how culture is upheld in distributed teams, how your team can maintain its core culture, and why innovation and fun should be part of every company's culture.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
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.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
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
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
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/
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
47. But what if my repo is big?
2 12,000 non-merge commits
446k lines of code added
1
3
Linux Kernel release has 15+ million LOC
4 1,339 contributors
source lwn.net
49. What is a merge?
merges keep the context of
the feature’s commits
M
Merge commit
feature
master
feature
master
50. Anatomy of a merge
.git/objects/36/80d8c8fd182f97cb0e75045e2fed5c7b7613ed
tree f362c42032aff677c1a09c3f070454df5b411239
parent 49a906f5722ad446a131778cea52e3fda331b706
parent bd1174cd0f30fe9be9efdd41dcd56256340f230e
author Marcus Bertrand <mbertrand@atlassian.com> 1409002123 -0700
committer Marcus Bertrand <mbertrand@atlassian.com> 1409002123 -0700
Merge branch 'foo/mybranch'
commit
51. merge is better in git
git knows the ancestry
1
2
The merge is local
3 powerful merge strategies
52. Let’s talk about merge strategies!
git has breadth of choice on
how to merge changes!
resolve recursive octopus
ours subtree yours?
53. What is a fast-forward merge?
It will just shift the HEAD tag
master
feature
master
feature
54. merge strategy: resolve
Three-way merge of the ancestors
feature
Common ancestor
master M
Merge commit
55. merge strategy: recursive
3-way merge but climbs the ancestry tree
recursively if there are multiple ancestors
M
M
master
feature
ancestor 1
ancestor 3
ancestor 2
56. merge strategy: ours
Records a merge but skips incoming changes
feature
master M
IGNORE!
66. Merge Commit Rebase (FF) Rebase (Squash)
No merge commits
Verbose history
Easy to read
Can be more difficult
to trace changes
Which should I use?
“Ugly” history
Full traceability
Hard to screw up
mostly
some
77. Can we still fix a bug for the
upcoming Release ?
Is the code for that
Feature
complete?
How do we do Hotfix
for the current version?
Has everyoneReviewed
the code for this feature ?