The document discusses version control systems and Git. It describes some key benefits of Git such as distributed version control which allows everyone to have the full codebase and commit history, easy branching and merging, and the ability to work offline. The document provides examples of basic Git commands like initializing a repository, adding files, and committing changes. It also highlights features like local repositories for fast operations, tagging releases, and tools for debugging like git blame.
After talking to several Drupal followers during our last meetup, I realised quite a few people still don't employ version control.
I strongly consider this best practice when building a site, and thought it would be a good opportunity to go over its importance and how you can make it work for you.
Git offers several advantages:
• It's super fast
• It's easy.
• And no you don't need to be familiar with Command Line code (there are several great GUI's out there).
GIT Version Control works by keeping track of all successive changes you make to a site.
The biggest advantage of this is easily undoing any mistakes you might make along the way.
It's a great feeling to know Version Control has your back that you can roll back if something goes catastrophically wrong.
It's also a big bonus in collaborative development.
As soon as more than one person works on a project things get a lot more complicated.
What happens when 2 edits effect the same file? How do you know what's new, what's old and what's changed?
No worries, simply merge the variations and let GIT deal with the rest.
GIT is not just for the developers of this world but can be a life saver for themers, site maintainers and the like.
Most people will admit they should use it, but either don't know how or believe it's hard to integrate.
The reality is that it's actually pretty simple and once you start integrating GIT into your workflow you'll ask yourself "Why the hell did I keep using ftp" - I know I did.
FTP is so yesterday, its slow, it's cumbersome to use and it's a very manual method.
Switch to GIT, start using GIT, and never look back.
In case you get started with Git, but you feel lost or you want to verify what you know, or you simply have no idea what this Git is... try this presentation. We used it several times to get engineers and non-engineers trained. It starts slowly, but also includes fundamentals to understand the difference between traditional source control and Git.
No warranties whatsoever of course. This is based on our experience, trial and error as well as assumptions. Git is complex, but beautiful.
Feedback welcome... and it is CC-BY-SA. So use it, share it, improve it.
P.S: This presentation will be updated often.
An introduction to git, assuming very little. I introduce some core concepts, the commands used to work with them, and briefly touch on Github flow (interpreted in quite a specific way) and recap the commands used for that.
The examples could be used as exercises for a class learning git live, with a bit of fleshing out.
"git bisect" is a command that is part of the Git distributed version control system. This command enables software users, developers and testers to easily find the commit that introduced a regression. This is done by performing a kind of binary search between a known good and a known bad commit. git bisect supports both a manual and an automated mode. The automated mode uses a test script or command. People are very happy with automated bisection, because it saves them a lot of time, it makes it easy and worthwhile for them to improve their test suite, and overall it efficiently improves software quality.
Testers, developers and advanced users, who have some basic knowledge of version control systems, will learn practical tips, techniques and strategies to efficiently debug software.
After talking to several Drupal followers during our last meetup, I realised quite a few people still don't employ version control.
I strongly consider this best practice when building a site, and thought it would be a good opportunity to go over its importance and how you can make it work for you.
Git offers several advantages:
• It's super fast
• It's easy.
• And no you don't need to be familiar with Command Line code (there are several great GUI's out there).
GIT Version Control works by keeping track of all successive changes you make to a site.
The biggest advantage of this is easily undoing any mistakes you might make along the way.
It's a great feeling to know Version Control has your back that you can roll back if something goes catastrophically wrong.
It's also a big bonus in collaborative development.
As soon as more than one person works on a project things get a lot more complicated.
What happens when 2 edits effect the same file? How do you know what's new, what's old and what's changed?
No worries, simply merge the variations and let GIT deal with the rest.
GIT is not just for the developers of this world but can be a life saver for themers, site maintainers and the like.
Most people will admit they should use it, but either don't know how or believe it's hard to integrate.
The reality is that it's actually pretty simple and once you start integrating GIT into your workflow you'll ask yourself "Why the hell did I keep using ftp" - I know I did.
FTP is so yesterday, its slow, it's cumbersome to use and it's a very manual method.
Switch to GIT, start using GIT, and never look back.
In case you get started with Git, but you feel lost or you want to verify what you know, or you simply have no idea what this Git is... try this presentation. We used it several times to get engineers and non-engineers trained. It starts slowly, but also includes fundamentals to understand the difference between traditional source control and Git.
No warranties whatsoever of course. This is based on our experience, trial and error as well as assumptions. Git is complex, but beautiful.
Feedback welcome... and it is CC-BY-SA. So use it, share it, improve it.
P.S: This presentation will be updated often.
An introduction to git, assuming very little. I introduce some core concepts, the commands used to work with them, and briefly touch on Github flow (interpreted in quite a specific way) and recap the commands used for that.
The examples could be used as exercises for a class learning git live, with a bit of fleshing out.
"git bisect" is a command that is part of the Git distributed version control system. This command enables software users, developers and testers to easily find the commit that introduced a regression. This is done by performing a kind of binary search between a known good and a known bad commit. git bisect supports both a manual and an automated mode. The automated mode uses a test script or command. People are very happy with automated bisection, because it saves them a lot of time, it makes it easy and worthwhile for them to improve their test suite, and overall it efficiently improves software quality.
Testers, developers and advanced users, who have some basic knowledge of version control systems, will learn practical tips, techniques and strategies to efficiently debug software.
Git has become the most popular version control system in the Open Source world, and more and more companies are also using it.
The source code history when managed by Git is supposed to be immutable, because Git uses a content addressed database. The Git objects are indexed by their SHA-1 hash.
When mistake have been made, or to make some history based features more useful or more reliable, though, it can be interesting to transform the Git source code history. To do that it is a good idea to use git replace.
Git explained, for absolute beginners. How to setup Git in windows, configuring, basic git commands, working with Github, Team-work etc explained in details with a lots of screen-shots!
You can also download it from: https://dl.dropbox.com/s/3ph3mvt3pi2yt1r/Hello%2C%20Git%21.pptx?dl=1
Deep dark-side of git: How git works internallySeongJae Park
Describe how git works internally using small and perfect plumbing commands.
The slide have been used at GDG DevFest 2014 and SOSCON 2014.
The slide can be updated later. And, the latest version would always be provided from this page always.
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!
Two days git training with labs
First day covers git basis and essential commands
Second day covers git additional command with a big lab using a git workflow
Why is big data all the rage? What is this "data science" that people are talking about? Why do I care — as a customer, and as someone who works at a company generating data? In this talk, I present the case for models, and how we can use data science to create and use models of our customers and the society around us.
An introductory, overview talk about PostgreSQL, given at the Database 2011 conference in January, in Israel. I point to a number of PostgreSQL features that make it a compelling choice in many different contexts.
Git has become the most popular version control system in the Open Source world, and more and more companies are also using it.
The source code history when managed by Git is supposed to be immutable, because Git uses a content addressed database. The Git objects are indexed by their SHA-1 hash.
When mistake have been made, or to make some history based features more useful or more reliable, though, it can be interesting to transform the Git source code history. To do that it is a good idea to use git replace.
Git explained, for absolute beginners. How to setup Git in windows, configuring, basic git commands, working with Github, Team-work etc explained in details with a lots of screen-shots!
You can also download it from: https://dl.dropbox.com/s/3ph3mvt3pi2yt1r/Hello%2C%20Git%21.pptx?dl=1
Deep dark-side of git: How git works internallySeongJae Park
Describe how git works internally using small and perfect plumbing commands.
The slide have been used at GDG DevFest 2014 and SOSCON 2014.
The slide can be updated later. And, the latest version would always be provided from this page always.
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!
Two days git training with labs
First day covers git basis and essential commands
Second day covers git additional command with a big lab using a git workflow
Why is big data all the rage? What is this "data science" that people are talking about? Why do I care — as a customer, and as someone who works at a company generating data? In this talk, I present the case for models, and how we can use data science to create and use models of our customers and the society around us.
An introductory, overview talk about PostgreSQL, given at the Database 2011 conference in January, in Israel. I point to a number of PostgreSQL features that make it a compelling choice in many different contexts.
What can Ruby learn from Python (and vice versa)?Reuven Lerner
Ruby and Python are similar programming languages in many ways. But each has made different design decisions that affect how programmers in these languages think and work. In this talk, I contrast Ruby and Python, and some of the ways in which the languages differ.
Slides from a lecture I just gave on ActiveRecord 2.3. Describes configuration, methods, CRUD, finders, updating, associations, and a bunch of things that I wish I had known when I started with ActiveRecord.
Functional Python Webinar from October 22nd, 2014Reuven Lerner
Slides from my free functional Python webinar, given on October 22nd, 2014. Discussion included functional programming as a perspective, passing functions as data, and writing programs that take functions as parameters. Includes (at the end) a coupon for my new ebook, Practice Makes Python.
Since the beginning of software, we have bundled frequently-used functionality into libraries -- both our own, and those created by third parties. APIs tell software developers how to use a library, and make it possible for developers to treat libraries as black boxes, considering only what the library does, not how it does it.
Today, as software moves increasingly to the Web, APIs and libraries are also moving to the Web. This means that you can now outsource, by means of Web APIs, a huge amount of your application's functionality.
What does this mean for software developers? What does this mean for the future of software development? In this talk, I describe the past, present, and future of APIs, and how I believe the Web is changing the landscape.
Slides from a talk I gave about using the Ruby on Rails console (and irb) to develop Web applications. Describes the features of the console, and how you might want to use it.
Dynamic languages, for software craftmanship groupReuven Lerner
Reuven Lerner's talk about dynamic programming languages in general, and about Ruby in particular. Why would you want to use a dynamic language? What can you do with one that isn't possible (or easy) with a static language?
In Python, operator overloading is accomplished via "magic methods" -- specially named methods that begin and end with double underscore ("dunder"). Most Python developers know about __init__ and even __str__, but magic methods are used to accomplish many things in the Python world. In this talk, I introduce a number of these methods, and show how they can be used to make our objects more expressive.
The latest version of my PostgreSQL introduction for IL-TechTalks, a free service to introduce the Israeli hi-tech community to new and interesting technologies. In this talk, I describe the history and licensing of PostgreSQL, its built-in capabilities, and some of the new things that were added in the 9.1 and 9.2 releases which make it an attractive option for many applications.
Intro to cloud computing — MegaCOMM 2013, JerusalemReuven Lerner
What is cloud computing? This is an introduction that I gave at MegaCOMM 2013, a conference for technical writers in Jerusalem. The talk describes how the combination of Internet access, virtualization, and open source have made computing a utility that we can turn on and off at will -- similar in some ways to electricity, water, and other utilities with which we're familiar.
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
Tutorial on Version control system using git and github.
To learn more and to download printable cheet sheets please visit my website www.techoalien.com.
Also like us on facebook https://www.facebook.com/techoalien
Tutorial on Version control system using git and github.
To learn more and to download printable cheet sheets please visit my website www.techoalien.com.
Also like us on facebook https://www.facebook.com/techoalien
Git in gear: How to track changes, travel back in time, and code nicely with ...fureigh
Presented at NYCCamp 2014 on April 10, 2014 as a basic introduction to Git and version control.
(Previous versions presented at NYCCamp 2013 and at DrupalCampNYC 10 on December 10, 2011.)
Original session description:
Ever made a mistake and wished for the power to turn back time? In this session you'll experience the magical world of version control, where you can try out massive code changes without worrying that you'll break your entire site, where you can have access to different versions of your code without saving tons of copies with elaborate naming schemes, and where you can collaborate with others without ever again having to utter the phrase, "Okay, I've finished working on styles.css, so you can go ahead and make your changes now."
This will be a play-along crash course on Git, the version control system that Drupal.org developers (and lots of other people) use to share code with one another and save themselves time and misery.
We'll start with fundamental commands, trying them out along the way. By the end of the session you'll have mastered a simple daily workflow that you'll be able to start using immediately. Plus, you'll leave with a cheat sheet and resources for future reference.
This session will include:
– Why use version control?
– Why use Git?
– How to use Git repositories on Drupal.org
– Fundamental commands
– A simple daily workflow
– How to turn back time when something goes wrong
– How to use Git to experiment safely
– How to see who did what when and review changes
And a bonus round, if time allows:
– How to use Git on a team (or with a remote repository) that's using SVN
– Additional resources/Where to learn more
If you've been meaning to get around to learning Git, now's the time!
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.
Git provide Distributed version control. Who is the user? Anyone want to truck hi note. Review history log changes. View difference between two versions.
GitHub is a web-based hosting service for version control using git. It is mostly used for computer code. It offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project
Similar to Git talk from Open 2011 conference in Israel (20)
PostgreSQL is a well-known relational database. But in the last few years, it has gained capabilities that previously belonged only to "NoSQL" databases. In this talk, I describe several of PostgreSQL that give it such capabilities.
Active Record 4.0 includes all sorts of exciting support for PostgreSQL! In this presentation, I show many of these improvements, and discuss why these are important for Web developers. If you haven't yet adopted PostgreSQL, now might be a great time and chance to do so.
When you're writing a Ruby on Rails application, certain decisions seem appropriate and good at the beginning, but come back to bite you later on. In this talk, I list 20 different "traps," things that seem appealing, but which you should think twice before doing. The talk is based on my experience teaching Ruby and Rails classes to many people over the years, and was a presentation at the "Rails Israel 2012" conference held in Tel Aviv.
Modern Web technologies (and why you should care): Megacomm, Jerusalem, Febru...Reuven Lerner
My talk from the Megacomm 2012 conference in Jerusalem, on February 16th, 2012. I describe the fundamental underpinnings of the Web, how things have changed on both the browser and server sides, and what these technologies mean for users..
Modern Web Technologies — Jerusalem Web Professionals, January 2011Reuven Lerner
What's the current state of Web technologies, and how does it affect professionals creating Web applications? In this talk, I survey the latest trends in Web technologies, and where I believe they're going in the near future.
Ruby is an object-oriented programming language; that much, everyone knows. But Ruby's objects work very differently from many other languages, especially if you're coming from a complied, statically typed language. In this lecture, I'll review the surprisingly simple rules that govern Ruby's objects. I discuss methods, classes, instances, and modules, and how these various pieces fit together into an integrated whole -- including such topics as inheritance, instance variables, class variables, mixins, and "include" vs. "extend".
Reuven Lerner's presentation from Open Ruby Day in Herzliya, Israel on June 27th, 2010. I covered a few tools that are not part of Rails, but which help you with deployment,
Reuven Lerner's first talk from Open Ruby Day, at Hi-Tech College in Herzliya, Israel, on June 27th 2010. An overview of what makes Rails a powerful framework for Web development -- what attracted Reuven to it, what are the components that most speak to him, and why others should consider Rails for their Web applications.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
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
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.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
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.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Git talk from Open 2011 conference in Israel
1. Git
Reuven M. Lerner • reuven@lerner.co.il
Open Israel Conference
June 30th, 2011
2. Who am I?
• Web developer, software architect,
consultant, lecturer/trainer
• Linux Journal columnist since 1996
• Mostly Ruby on Rails + PostgreSQL, but
also Python, PHP, jQuery, and lots more...
• Git user (and enthusiast) since 2008
4. Time machine
• Return to any point in
a project’s history
• Find out how files,
folders have changed
• Learn which user
made which changes
5. Backup
• Never fear that you’ve
deleted a file — just
rewind the history
• Everything is recorded,
can be undone
6. Maintenance tool
• “Tag” releases
• Who is to blame for a particular bug?
• When did we introduce a particular
problem?
• Deploy specific versions on specific servers
7. Scratchpad
• Try out new ideas
• Experiment with alternative techniques
• Upgrade a library
• Refactor without affecting the “live” code
base
8. Collaboration tool
• Work without fear of
“stomping” on
someone else’s code
• Identify conflicts
between what
developers wrote
• Mix and match teams
for projects
9. Version control is great
• If you’re a programmer and not using
version control, you’re really missing out
• It’s also good for non-programs, such as
configuration files
• If you’re a CTO/team leader/VP R&D and
your people aren’t using version control,
you’re inviting disaster
10. What do people use?
• RCS (ancient history)
• CVS (should be ancient history)
• Subversion (“a better CVS”)
• SourceSafe
• Perforce
• lots of other systems
11. Problems with these
• Work requires a server connection
• (You can work, but not commit.)
• Branching and merging is painful and slow
• So no one does it!
• Enforces a particular workflow
• More code, more developers — slower VC
12. Distributed version
control
• Distributed: Everyone is their own server!
• Everyone has a complete commit history
• No single point of failure
• Commit whenever you want (i.e., often)
• Merge when two repositories connect
13. Git
• Linus needed a VCS... so he wrote one!
• Fast
• Accurate
• Distributed
• Massively scalable
• Super flexible
14. Open-source Git users
• Linux kernel
• PostgreSQL
• Ruby language
• Ruby on Rails
• Perl language
• among many, many others
15. Give me details!
• What does Git do that others don’t?
• Why do I claim that Git has changed my
life?
16. Branching & merging
• Branching and merging is both easy and fast
in Git
• I often branch and merge several times in a
given day
• When I used SVN, I would do everything
in my power to avoid branching, because
merges were long and difficult
17. Branching & merging
• Create a branch:
git checkout -b new-branch
• Merge commits from other-branch
git merge other-branch
• Yes, it’s really that easy.
• You don’t even have to change directories!
18. Easy branching
changes everything!
• Every new feature goes in a branch
• Merging becomes easy, fast, and natural
• Side projects are stored, not kept out of
version control for fear of “contamination”
• Commit, commit, commit all of the time, in
an appropriate branch — never lose work!
19. Local repository
is great
• Work without a network connection
• Commits, merges, and switching branches
are nearly instantaneous
• Reports and logs are super-fast
• “Show me all files modified on Tuesday of
last week” produces immediate resultss
26. The result
master ✔ /tmp/myapp $ git log
commit 030c6b691993e0f43d78119d9ff1c9e759120d11
Author: Reuven Lerner <reuven@lerner.co.il>
Date: Thu Jun 30 12:29:29 2011 +0300
I
27. Committing in stages
• You can commit all modified files (“git
commit -a”)
• You can add files to be committed (“git add
foo.rb”) over time
• Using the staging area gives you
tremendous flexibility before committing
28. Remote branches
• A local branch can “track” a remote branch
• Different branches can be on different
servers — and then you can merge across
them
• One possible workflow: Read from one
remote branch, and write to another
29. Integration
• Git is all small Unix commands
• Easily integrated into text editors, IDEs,
cron jobs, monitoring, and system tasks
• Example: Continuous integration servers
• Example: Code-analysis tools
• Also: Front ends to SVN and others!
30. git blame
• Shows the commit, user, and timestamp of
when each line of a file was changed
• Useful when you want to know who broke
the build
• Also useful for deflecting blame from
clients, who think you broke something!
36. git bisect
• You introduced a bug, but don’t know
where? Git can find it!
• Give two endpoints
• Git does a binary search between them
• For each commit, tell Git whether it is
“good” or “bad”
• This finds the bug very quickly
37. Stash
• Temporary storage space
• Useful if you have done enough work to
keep, but not enough for a commit
• Emergency fixes in the middle of working
on something else
• If you need, put the stash into a new branch
• Oh, you can have multiple stashes
38. Hooks
• Execute arbitrary code when things happen
• Example: Update submodules automatically
• Example: Send e-mail after a commit
• Example: Heroku uses hooks to deploy a
new version of your Web app when you
push to them!
39. Workflows
• Git supports many, many workflows
• Traditional centralized server
• BDFL and users
• BDFL and Lieutenants
• Do what works for you!
43. Cherry picking
• You can merge specific
commits, or parts of
commits
• Amazingly powerful
44. Rebase
• An alternative to regular merging
• First merge all external commits, then
replay your changes on top
• Helps to keep you aligned with remote
branches
• Avoids some merge-conflict issues
45. Submodules
• A Git repository can point to other
repositories — submodules
• Break a project into smaller projects
• Git puts the pieces together for you!
46. Amending commits
• Commits are not sacred in Git
• Rather, they are a tool to manage history
• Change, amend, and edit commits
• Yes, this can be dangerous!
• Also avoids hundreds of “fixed typo”
commits in a row...
47. Commercial hosting
• You can host Git repositories on your own
• Want to go commercial? GitHub,
Gitorious, and many others work great
• GitHub is free for open-source projects,
and thus very popular
48.
49. GUIs
• Yes, there are now GUIs for Git
• Windows, Mac, and Unix versions all exist
• Integration with Emacs and other editors
for hard-core hacker-nerds
• Also: Shell-prompt integration for Unix
50. In short
• Git has completely changed how I develop
code, both alone and with others
• The speed and easy branching/merging are
game-changers
• It’s really not that hard to start using...
• ... and once you start, you’ll never want to
go back to CVS or SVN
51. Want to learn more?
• Mailing lists, wikis, and blogs
• http://git-scm.com/
• http://progit.org/
• http://gitimmersion.com/
• I’m probably going to offer Git training
soon — let me know if you’re interested!
52. Thanks!
(Any questions?)
reuven@lerner.co.il
http://www.lerner.co.il/
054-496-8405
“reuvenlerner” on Skype/AIM