Developing and releasing software in a team setting can be messy. With many developers working on the same code base, we need a workflow that allows a team to develop in parallel and allows for new functionality to be safely integrated into our environments and applications. In order to achieve such a workflow, leveraging a branching strategy is a must. There are, however, many to choose from. In this talk, we'll be discussing Trunk-Based Development, a branching strategy that we leverage extensively here at Nebulaworks.
Key Takeaways:
*Learn about the various benefits that we get from leveraging Trunk-Based Development.
*We will talk about general best practices that should be followed when developing new functionality
*We will be discussing the release process (How and when to leverage Release Candidate Branches and git tags)
*We will walk through the Trunk-Based Development process in a demo where we develop a simple python app!
Version control systems are a category of software tools that help a software team manage changes.
Git is a very well supported open source project.
Git is a mature, actively maintained open source project
originally developed in 2005 by Linus Torvalds.
With these slides we introduce the concept of source control and teach the core features to using Git, GitHub and BitBucket. You can find the accompanying video here. https://youtu.be/lZpNrCgGvuI
These are the slides for a talk/workshop delivered to the Cloud Native Wales user group (@CloudNativeWal) on 2019-01-10.
In these slides, we go over some principles of gitops and a hands on session to apply these to manage a microservice.
You can find out more about GitOps online https://www.weave.works/technologies/gitops/
I have evidence that using git and GitHub for documentation and community doc techniques can give us 300 doc changes in a month. I’ve bet my career on these methods and I want to share with you.
Human-centric Software Development ToolsGail Murphy
What characteristics research into software development tools? This talk explores how research can help understand why some tools are effective and some are not and can help drive to the development of more effective tools for software developers.
Developing and releasing software in a team setting can be messy. With many developers working on the same code base, we need a workflow that allows a team to develop in parallel and allows for new functionality to be safely integrated into our environments and applications. In order to achieve such a workflow, leveraging a branching strategy is a must. There are, however, many to choose from. In this talk, we'll be discussing Trunk-Based Development, a branching strategy that we leverage extensively here at Nebulaworks.
Key Takeaways:
*Learn about the various benefits that we get from leveraging Trunk-Based Development.
*We will talk about general best practices that should be followed when developing new functionality
*We will be discussing the release process (How and when to leverage Release Candidate Branches and git tags)
*We will walk through the Trunk-Based Development process in a demo where we develop a simple python app!
Version control systems are a category of software tools that help a software team manage changes.
Git is a very well supported open source project.
Git is a mature, actively maintained open source project
originally developed in 2005 by Linus Torvalds.
With these slides we introduce the concept of source control and teach the core features to using Git, GitHub and BitBucket. You can find the accompanying video here. https://youtu.be/lZpNrCgGvuI
These are the slides for a talk/workshop delivered to the Cloud Native Wales user group (@CloudNativeWal) on 2019-01-10.
In these slides, we go over some principles of gitops and a hands on session to apply these to manage a microservice.
You can find out more about GitOps online https://www.weave.works/technologies/gitops/
I have evidence that using git and GitHub for documentation and community doc techniques can give us 300 doc changes in a month. I’ve bet my career on these methods and I want to share with you.
Human-centric Software Development ToolsGail Murphy
What characteristics research into software development tools? This talk explores how research can help understand why some tools are effective and some are not and can help drive to the development of more effective tools for software developers.
This is an overview of "VISIBLE OPS HANDBOOK: Implementing ITIL in 4 Practical and Auditable Steps" written by Kevin Behr, Gene Kim, and George Stafford.
Machine Learning for (DF)IR with Velociraptor: From Setting Expectations to a...Chris Hammerschmidt
achine Learning for DFIR with Velociraptor: From Setting Expectations to a Case Study
By Christian Hammerschmidt, PhD - Head of Engineering/ML, APTA Technologies
Machine learning (ML) or artificial intelligence (AI) often comes with great promise and large marketing budgets for cybersecurity, especially in monitoring (such as EDR/XDR solutions). Post-breach, it often turns out that the actual performance falls short of its promises.
In this talk, we’ll briefly look at ML for DFIR: What tasks can ML solve, generally speaking? What requirements do we have for a useful ML system in cybersecurity/DFIR contexts, such as reliability, robustness to attackers, and explainability? What makes ML difficult to apply in cybersecurity, e.g. when thinking about false alerts or attackers attempting to circumvent automated systems?
After discussing the basics, we look at ML for velociraptor:
How can we process forensic data collected with VQL using machine learning (with a typical Python/Jupyter/scikit-learn/PyTorch stack)?
And how can we build artifacts that run ML directly on each endpoint, avoiding central data collection?
The talk concludes with a case study, showing how we significantly reduced time to analyze EVTX files in incident response cases, saving thousands of USD in costs and reducing time to resolution.
Bio: Chris Hammerschmidt did his PhD research on machine learning methods for reverse engineering software systems. Now, he’s heading APTA Technologies, a start-up building machine learning tools to understand software behavior .
Affiliation: APTA Technologies, https://apta.tech
TDD - Test Driven Dvelopment | Test First DesignQuang Nguyễn Bá
This presentation introduce to you what is TDD, the RGR concept in TDD and what is the benefits of TDD.
This presentation have been created internally for the Software Team in Hyperlogy
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaYara Milbes
Discover the transformative power of the WhatsApp API in our latest SlideShare presentation, "Top 7 Unique WhatsApp API Benefits." In today's fast-paced digital era, effective communication is crucial for both personal and professional success. Whether you're a small business looking to enhance customer interactions or an individual seeking seamless communication with loved ones, the WhatsApp API offers robust capabilities that can significantly elevate your experience.
In this presentation, we delve into the top 7 distinctive benefits of the WhatsApp API, provided by the leading WhatsApp API service provider in Saudi Arabia. Learn how to streamline customer support, automate notifications, leverage rich media messaging, run scalable marketing campaigns, integrate secure payments, synchronize with CRM systems, and ensure enhanced security and privacy.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, 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.
8. 8
Debugging Objects is Challenging:
An Example
assert:
splitOn:
equals:
Produces 3 OrderedCollection
9. 9
Debugging Objects is Challenging:
An Example
There is an OrderedCollection instantiated
somewhere during that call.
“I want to see how its instance variables evolve”
10. 10
Debugging Objects is Challenging:
An Example
There is an OrderedCollection instantiated
somewhere during that call.
“I want to see how its instance variables evolve”
1. Find the object
2. Specific object
debugging operations
To instantiation instruction
Conventional Debugging
Many steps /
uncomfortable conditional breakpoints
11. 11
Debugging Objects is Challenging:
An Example
1. Find the object
2. Specific object
debugging operations
Are there special tools to make
these task easier?
12. ● What is Object-centric debugging [1]?
○ Makes objects the focus of debugging operations.
○ Debugging operations are defined to answer developer questions
related to runtime behavior of objects.
○ Object-centric Debugging operators examples:
■ Halt on read
■ Halt on write
■ Halt on call
12
Object-centric debugging?...
[1] J. Ressia, A. Bergel, O. Nierstrasz, Object-centric debugging, in: Proceeding of the 34rd international conference on Software engineering, ICSE ’12, 2012.
13. ● It helps debugging when:
○ Developers debugging questions are closer to the objects
which model the domain.
○ Developers wants to follow an object behavior, avoiding
traditional breakpoint management tediousness. e.g: “I want to
see how its instance variables evolve”
● A prototype was presented and shown to be more effective supporting
typical debugging tasks than traditional stack-oriented debugger.
13
Object-centric
A promising debugging approach for OOP[1]
[1] J. Ressia, A. Bergel, O. Nierstrasz, Object-centric debugging, in: Proceeding of the 34rd international conference on Software engineering, ICSE ’12, 2012.
14. ● Scoping debugging operations (such as breakpoints) on specific
object is difficult!
○ Devs must initially find such object identity first.
○ Manually step to the object of interest, or step through
breakpoints hits to find it.
14
The problem...
15. ● Scoping debugging operations (such as breakpoints) on specific
object is difficult!
○ Devs must initially find such object identity first.
○ Manually step to the object of interest, or step through
breakpoints hits to find it.
15
The problem...
TEDIOUS AND
ERROR-PRONE MANUAL
WORK!
16. ● Scoping debugging operations (such as breakpoints) on specific
object is difficult!
○ Devs must initially find such object identity first.
○ Manually step to the object of interest, or step through
breakpoints hits to find it.
If only there was a way to fix this ...
16
The problem...
TEDIOUS AND
ERROR-PRONE MANUAL
WORK!
17. ● Main features: reverse a program execution and deterministic replay.
○ With these debuggers, any stepping error can be amended by
stepping back. (Stepped too far? No need to restart, just take a
step back).
○ Developers want to check a past state of the program? No need
to restart, just reverse it. e.g: reverse to an object instantiation.
17
Time-traveling debuggers
18. ● To the best of our knowledge, time-traveling solutions
don't provide object-centric debugging operators.
18
There is another problem…
19. ● Improves debugging experience in OOP.
19
Context summary
Object Centric
Debuggers
Time-Traveling
Debuggers
● Sill tedious and error prone.
● Improves tediousness, and debugging/stepping
mistakes are less costly.
● So far, no support for object-centric debugging.
20. ● Improves debugging experience in OOP.
20
Context summary
Object Centric
Debuggers
● Sill tedious and error prone.
?
Time-Traveling
Debuggers
● Improves tediousness, and debugging/stepping
mistakes are less costly.
● So far, no support for object-centric debugging.
25. 25
Combining both techniques
Time-Traveling Queries*
(*) M. Willembrinck, S. Costiou, A. Etien, S. Ducasse. Time-Traveling Debugging Queries: Faster Program Exploration.
International Conference on Software Quality, Reliability, and Security, Dec 2021, Hainan Island, China.
What is the value of this variable during execution?
On step 1 value changed from nil to 100
On step 4 value changed from 100 to 200
On step 40 value changed from 200 to 0
…
26. 26
Combining both techniques
Time-Traveling Queries*
Find execution data and explore your execution
conveniently from the Query Results
(*) M. Willembrinck, S. Costiou, A. Etien, S. Ducasse. Time-Traveling Debugging Queries: Faster Program Exploration.
International Conference on Software Quality, Reliability, and Security, Dec 2021, Hainan Island, China.
27. We developed SeekerOC and an
Enhanced Pharo Inspector to improve the
debugging experience.
Made for Pharo 10.
27
Combining both techniques
With Time-Traveling Queries
29. 29
Improving Debugging Challenges:
Back to the example
1. Find the object
There is an
OrderedCollection
instantiated somewhere
during that call.
“I want to see how its
instance variables
evolve”
2. Specific object
debugging operations
assert:
splitOn:
equals:
Produces 3
OrderedCollection
30. 30
Improving Debugging Challenges:
Back to the example
We made tools
to make this
easier!
assert:
splitOn:
equals:
Produces 3
OrderedCollection 1. Find the object
2. Specific object
debugging operations
31. 31
NEW OOP DEBUGGING TOOL
I. SeekerOC
1. Easy objects finding and identification using TTQs
Lists all OrderedCollection objects instantiated during the test
32. 32
NEW OOP DEBUGGING TOOL
I. SeekerOC
1. Easy objects finding and identification using TTQs
The listed objects can be directly inspected.
33. 33
NEW OOP DEBUGGING TOOL
II. Enhanced Pharo Inspector
2. Easy object and variables tracking, using Object-Centric TTQs.
34. 34
NEW OOP DEBUGGING TOOL
II. Enhanced Pharo Inspector
2. Easy object and variables tracking, using Object-Centric TTQs.
35. For SeekerOC and Enhanced Pharo Inspector.
○ Time-traveling back end providing deterministic reverse and replay.
○ Support for Time-Traveling Queries.
○ Express (new) Time-Traveling Queries.
35
Implementation,
Requirements
Repository url: https:/
/github.com/Willembrinck/SeekerOC-2022
37. 37
Implementation
SeekerOC
Finding objects with TTQs
#OrderedCollection
Time-traveling debugger
Queries Context Menu
Iterable collection of
ProgramState
The command
executes a
Time-Traveling
Query
39. 39
#OrderedCollection
Implementation
SeekerOC
Finding objects with TTQs
Time-traveling debugger
Queries Context Menu
“Iterable” collection of
ProgramState
What program
states are relevant?
What should be
included in the results?
From where to
extract the data?
ProgramState:
API to access execution
data.
API Example:
Method Returns
context Context
isMessageSend Boolean
messageReceiver Object
43. Our work
What other TTQs can boost object-centric
debugging?
Open research
subjects
What are TTQs limits to express
object-centric debugging operators?
Benefits of using such debuggers?
(Empirical experiments)
43
Perspective
44. 44
1. New OOP Debugging Tools
SeekerOC
Time-Traveling Queries
Enhanced
Pharo
Inspector
&
2. How to join both techniques
Our work
Other TTQs for OC debugging?
Open research
subjects
TTQs limitations?
Benefits? (Experiments)
Contribution
Perspective
Towards Object-centric Time-traveling debuggers