The document discusses distributed version control systems (DVCS) like Mercurial and demonstrates basic Mercurial commands. It shows initializing a repository, making commits, viewing history, cloning, pushing and pulling changes, resolving merge conflicts, and using commands like backout to undo previous commits.
Diapositivas de la charla dada por la gente de uno21.com.ar (@luke_ar y @matitanio) en la UP, el día 21/08/2012. Próximamente en otras universidades :)
This session was presented at MacTech 2014 in Los Angeles, California. Session description follows:
Git and GitHub have changed the way we can collaborate with others on code-based projects, but it can be intimidating at first. How does this all work? We will cover the basics of Git and how to escape some of its pitfalls, and we will review some of the tools and processes available to those wanting to start or contribute to an open-source project, which isn't Git-specific. Writing code is only part of it!
Working with Git – a simple introduction for those used to working with a VCS like Subversion. Explains concepts and shows examples. Feel free to steal slides for your own purposes.
Diapositivas de la charla dada por la gente de uno21.com.ar (@luke_ar y @matitanio) en la UP, el día 21/08/2012. Próximamente en otras universidades :)
This session was presented at MacTech 2014 in Los Angeles, California. Session description follows:
Git and GitHub have changed the way we can collaborate with others on code-based projects, but it can be intimidating at first. How does this all work? We will cover the basics of Git and how to escape some of its pitfalls, and we will review some of the tools and processes available to those wanting to start or contribute to an open-source project, which isn't Git-specific. Writing code is only part of it!
Working with Git – a simple introduction for those used to working with a VCS like Subversion. Explains concepts and shows examples. Feel free to steal slides for your own purposes.
Assemble Your Code in Stages: Leveling Up With PipelinesSteven Wade
Applications grow, specs change, bugs happen, and our code can quickly get out of hand. Duplicated code, ifs, elses, switches, and statements like “I used this there, but it needs to be slightly different here”, help turn our work of art into a garbled mess. But what if we could fix that?
That’s where Pipelines come in. We can break out our code into smaller chunks, called stages, that we can group or combine into configurations called pipelines. Separating our code into stages allows for easier and isolated testing. Reassembling stages sequentially into a pipeline allows us to have consistent results.
In this talk, we’ll define what stages and pipelines are. We'll examine when pipelines can help us and when they are not the right solution. We will look at example pipelines ranging from simple to multi-stage reusable pipelines. We'll implement what we've learned by walking through a refactor and discover how testing becomes easier with stages. You will walk away with an understanding of the what the Pipeline pattern is and when it can benefit your application.
A Beginner's Guide to Git and GitHub, CLI version.
What is Git?
What is Github
Basic commands
Difference between Central and Distributed Version Controlling System
Spring I/O 2015 - Mum, I want to be a Groovy full-stack developerIván López Martín
How many times have you ever heard the term “Full-Stack developer”? In most of the cases it means that you have to be fluent with a backend language, html, javascript, maybe Android or iOS… What if I told you that you can be a Full-Stack developer using only Groovy?In this talk I’ll present the technological stack of Polaromatic, the application with I won the Learning Spring Boot contest, and you’ll learn that it’s possible to write the whole stack with Groovy: Backend, Javascript, HTML, Android, test, build tool,… Isn’t that amazing?
Juliette Reinders Folmer - Promote your open source project with GitHub Pages...Codemotion
Need a website for an open source project of which the code is on GitHub ? GitHub Pages might be a viable option. GitHub Pages allows you to build a site based on simple markdown text files and with a sprinkling of magic stardust you can pull in the changelog of your project from GitHub, show off a list of the contributors to the project and more. Join me to learn what GH Pages are and how to get your project web presence with little effort.
Assemble Your Code in Stages: Leveling Up With PipelinesSteven Wade
Applications grow, specs change, bugs happen, and our code can quickly get out of hand. Duplicated code, ifs, elses, switches, and statements like “I used this there, but it needs to be slightly different here”, help turn our work of art into a garbled mess. But what if we could fix that?
That’s where Pipelines come in. We can break out our code into smaller chunks, called stages, that we can group or combine into configurations called pipelines. Separating our code into stages allows for easier and isolated testing. Reassembling stages sequentially into a pipeline allows us to have consistent results.
In this talk, we’ll define what stages and pipelines are. We'll examine when pipelines can help us and when they are not the right solution. We will look at example pipelines ranging from simple to multi-stage reusable pipelines. We'll implement what we've learned by walking through a refactor and discover how testing becomes easier with stages. You will walk away with an understanding of the what the Pipeline pattern is and when it can benefit your application.
A Beginner's Guide to Git and GitHub, CLI version.
What is Git?
What is Github
Basic commands
Difference between Central and Distributed Version Controlling System
Spring I/O 2015 - Mum, I want to be a Groovy full-stack developerIván López Martín
How many times have you ever heard the term “Full-Stack developer”? In most of the cases it means that you have to be fluent with a backend language, html, javascript, maybe Android or iOS… What if I told you that you can be a Full-Stack developer using only Groovy?In this talk I’ll present the technological stack of Polaromatic, the application with I won the Learning Spring Boot contest, and you’ll learn that it’s possible to write the whole stack with Groovy: Backend, Javascript, HTML, Android, test, build tool,… Isn’t that amazing?
Juliette Reinders Folmer - Promote your open source project with GitHub Pages...Codemotion
Need a website for an open source project of which the code is on GitHub ? GitHub Pages might be a viable option. GitHub Pages allows you to build a site based on simple markdown text files and with a sprinkling of magic stardust you can pull in the changelog of your project from GitHub, show off a list of the contributors to the project and more. Join me to learn what GH Pages are and how to get your project web presence with little effort.
A Git Workflow is a recipe or recommendation for how to use Git to accomplish work in a consistent and productive manner. Git workflows encourage users to leverage Git effectively and consistently.
Check out this highlight training from the Automat-IT University trainers.
Once you get the hang of the basics, it's time to dive in and start getting work done with git. In this session we will talk about branching strategies, staging your files, writing a good commit message and merge vs rebase. We will also touch on the topic of rewriting history - what it means, examples of doing it and when to avoid it at all costs.
Fun with Github webhooks: verifying Signed-off-byJeff Squyres
An overview of an afternoon project I noodled around with one day to play with Ruby and Github Webhooks. I surprised myself by creating something somewhat actually useful.
Presentation given to the Kentucky Open Source Society (KyOSS) on July 8, 2015.
RoR是Ruby on Rails的缩写,是一个用于编写Web应用的框架。他基于Ruby语言,给开发人员提供了强大便利的框架支持。Ruby有很多优点,但是一直以来其流行范围仅局限于日本。2004年,当Rails框架横空出世,让人们认识到了一个更符合实际需要并且高效的web框架,在其出现不久就受到了业内的广泛关注。吕国宁将结合自己三年的Rails开发经验,给大家介绍一些Rails的优点,背后的设计文化,以及Rails的前景发展等内容。
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
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/
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
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.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
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!
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
14. % hg
Mercurial Distributed SCM
basic commands:
add add the specified files on the next commit
annotate show changeset information by line for each file
clone make a copy of an existing repository
commit commit the specified files or all outstanding changes
diff diff repository (or selected files)
export dump the header and diffs for one or more changesets
forget forget the specified files on the next commit
init create a new repository in the given directory
log show revision history of entire repository or files
merge merge working directory with another revision
pull pull changes from the specified source
push push changes to the specified destination
remove remove the specified files on the next commit
serve start stand-alone webserver
status show changed files in the working directory
summary summarize working directory state
update update working directory (or switch revisions)
use "hg help" for the full list of commands or "hg -v" for details
15. % pwd
/Users/neo/Code/Repo/hginit
% ll
total 24
drwxr-xr-x 5 neo staff 170 Aug 7 13:13 .
drwxr-xr-x 12 neo staff 408 Aug 7 13:11 ..
-rw-r--r--@ 1 neo staff 1605 Jun 26 12:23 Info.plist
-rw-r--r--@ 1 neo staff 2907 Jun 19 16:18 global.html
-rw-r--r-- 1 neo staff 1183 Jun 12 16:22 link.png
% hg init
% ll
total 24
drwxr-xr-x 6 neo staff 204 Aug 7 13:14 .
drwxr-xr-x 12 neo staff 408 Aug 7 13:11 ..
drwxr-xr-x 5 neo staff 170 Aug 7 13:14 .hg
-rw-r--r--@ 1 neo staff 1605 Jun 26 12:23 Info.plist
-rw-r--r--@ 1 neo staff 2907 Jun 19 16:18 global.html
-rw-r--r-- 1 neo staff 1183 Jun 12 16:22 link.png
16. % hg add
adding Info.plist
adding global.html
adding link.png
% hg commit
% hg log
changeset: 0:0ae94e57c184
% hg commit
tag: tip
Info.plist
user: "Neo Lee <neo.lee at gmail.com>"
global.html
date: Sat Aug 07 14:43:24 2010 +0800
link.png
files: Info.plist global.html link.png
committed changeset 0:0ae94e57c184
description:
Init commit.
17.
18. % hg commit
% hg log
changeset: 1:dc12cb350527
tag: tip
user: "Neo Lee <neo.lee at gmail.com>"
date: Sat Aug 07 14:54:57 2010 +0800
files: global.html
description:
Capitalize 'ERROR' prompt.
changeset: 0:0ae94e57c184
user: "Neo Lee <neo.lee at gmail.com>"
date: Sat Aug 07 14:43:24 2010 +0800
files: Info.plist global.html link.png
description:
Init commit.
21. % cp Info.plist Info.plist.1
% e Info.plist
% rm link.png
remove link.png? y
% hg status
M Info.plist
! link.png
? Info.plist.1
% hg diff Info.plist
diff -r dc12cb350527 Info.plist
--- a/Info.plist Sat Aug 07 14:54:57 2010 +0800
+++ b/Info.plist Sat Aug 07 15:07:18 2010 +0800
@@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>Author</key>
- <string>Neo Lee</string>
+ <string>Li Jun</string>
<key>CFBundleDisplayName</key>
<string>Goo.gl</string>
<key>CFBundleIdentifier</key>
22. % hg log
changeset: 2:5ba69dac6378
tag: tip
user: "Neo Lee <neo.lee at gmail.com>"
% hg remove link.png
date: Sat Aug 07 15:10:02 2010 +0800
removing link.png
files: Info.plist Info.plist.1 link.png
description:
% hg status
Some dirty work!
M Info.plist
R link.png
? Info.plist.1
changeset: 1:dc12cb350527
user: "Neo Lee <neo.lee at gmail.com>"
% hg add
date: Sat Aug 07 14:54:57 2010 +0800
adding Info.plist.1
files: global.html
description:
% hg st
Capitalize 'ERROR' prompt.
M Info.plist
A Info.plist.1
R link.png
changeset: 0:0ae94e57c184
user: "Neo Lee <neo.lee at gmail.com>"
% hg commit
date: Sat Aug 07 14:43:24 2010 +0800
files: Info.plist global.html link.png
description:
Init commit.
30. % hg outgoing
comparing with http://8.oasis.local:8000/
searching for changes
changeset: 2:689026657682
tag: tip
user: Rose M <rose@snda.com>
date: Mon Feb 08 15:29:09 2010 -0500
Rose summary: Spicier kind of chile.
% hg push
pushing to http://8.oasis.local:8000/
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
31. % hg outgoing
comparing with http://8.oasis.local:8000/
searching for changes
changeset: 2:4ecdb2401ab4
tag: tip
user: Joel S <joel@snda.com>
date: Mon Feb 08 15:32:01 2010 -0500
summary: potato chips. No one can eat just one.
% hg push
pushing to http://8.oasis.local:8000/
searching for changes
abort: push creates new remote heads!
(did you forget to merge? use push -f to force)
% hg incoming
Joel comparing with http://8.oasis.local:8000/
searching for changes
changeset: 3:689026657682
tag: tip
parent: 1:a52881ed530d
user: Rose M <rose@example.com>
date: Mon Feb 08 15:29:09 2010 -0500
summary: spicier kind of chile
% hg pull
pulling from http://8.oasis.local:8000/
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
32. % hg merge
merging guac
0 files updated, 1 files merged, 0 files removed, 0
files unresolved
(branch merge, don't forget to commit)
% hg commit -m "merge"
% hg log
changeset: 4:0849ca96c304
tag: tip
parent: 2:4ecdb2401ab4
parent: 3:689026657682
user: Joel S <joel@snda.com>
date: Mon Feb 08 16:07:23 2010 -0500
summary: merge
Joel ... ...
% hg out
comparing with http://8.oasis.local:8000//
searching for changes
changeset: 2:4ecdb2401ab4
... ...
changeset: 4:0849ca96c304
... ...
% hg push
pushing to http://8.oasis.local:8000/
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 1 files
33. Rose
% hg pull
pulling from http://8.oasis.local:8000/
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 1 files
(run 'hg update' to get a working copy)
% hg log
% hg parent
changeset: 2:689026657682
user: Rose H <rose@snda.com>
date: Mon Feb 08 15:29:09 2010 -0500
summary: spicier kind of chile
% hg up
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
44. References
• Mercurial: The Definitive Guide
by Bryan O'Sullivan, http://hgbook.red-bean.com/
• Hg Init: a Mercurial tutorial
by Joel Spolsky, http://hginit.com/top/index.html
• Git for the Lazy
by Spheriki, http://www.spheredev.org/wiki/Git_for_the_lazy
• PeepCode Git Internals
by Scott Chacon