The video of this talk is online at: https://vimeo.com/album/3693804/video/148158715
Christmas lightning talk about Cambridge Crystallographic Data Centre's adoption of Continuous Integration, and the unexpected benefits it gave us.
Shared services - the future of HPC and big data facilities for UK researchMartin Hamilton
Slides from Jisc panel session at HPC & Big Data 2016 with contributions from the Francis Crick Institute, QMUL and King's College London covering their use of the Jisc shared data centre and the eMedLab project
The Tale of Two Deployments: Greenfield and Monolith Apps with Docker Enterpr...Docker, Inc.
Docker use at Cornell University has been increasing steadily over the last 3 years in our central departments and various colleges - particularly as we move more workloads to the cloud. In this talk, we’ll give an overview of our Docker use cases across campus, featuring in detail two specific projects that highlight the versatility of this technology: Containerizing our central financial system (a traditional monolithic system); and building new researcher-focused financial tools natively in Docker (a microservice architecture built with the cloud in mind). We’ll discuss the design and implementation of both projects in detail. We’ll also describe how Docker has enabled us to develop consistent DevOps and CI practices spanning these two very different architectures.
Cloud Standards in the Real World: Cloud Standards Testing for DevelopersAlan Sill
Learn about standards studied in the US National Science Foundation Cloud and Autonomic Computing Industry/University Cooperative Research Center Cloud Standards Testing Lab and how you can get involved to extend the successes from these results in your own cloud software settings. Presented at the O'Reilly OSCON 2014 Open Cloud Day.
Video available at https://www.youtube.com/watch?v=eD2h0SqC7tY
Boston Data Engineering: Kedro Python Framework for Data Science: Overview an...Boston Data Engineering
What is Kedro?
Kedro is an open-source Python framework for creating reproducible, maintainable and modular data science code. It borrows concepts from software engineering best practices and applies them to machine-learning code; applied concepts include modularity, separation of concerns and versioning.
Kedro 2-minute Intro Video: https://youtu.be/KEdmJ2ADy_M
Kedro Docs: https://kedro.readthedocs.io
Kedro GitHub repo: https://github.com/quantumblacklabs/kedro
Meetup: https://www.meetup.com/f7324858-b804-4ed8-ba45-580c262189f1/events/280986950/
Shared services - the future of HPC and big data facilities for UK researchMartin Hamilton
Slides from Jisc panel session at HPC & Big Data 2016 with contributions from the Francis Crick Institute, QMUL and King's College London covering their use of the Jisc shared data centre and the eMedLab project
The Tale of Two Deployments: Greenfield and Monolith Apps with Docker Enterpr...Docker, Inc.
Docker use at Cornell University has been increasing steadily over the last 3 years in our central departments and various colleges - particularly as we move more workloads to the cloud. In this talk, we’ll give an overview of our Docker use cases across campus, featuring in detail two specific projects that highlight the versatility of this technology: Containerizing our central financial system (a traditional monolithic system); and building new researcher-focused financial tools natively in Docker (a microservice architecture built with the cloud in mind). We’ll discuss the design and implementation of both projects in detail. We’ll also describe how Docker has enabled us to develop consistent DevOps and CI practices spanning these two very different architectures.
Cloud Standards in the Real World: Cloud Standards Testing for DevelopersAlan Sill
Learn about standards studied in the US National Science Foundation Cloud and Autonomic Computing Industry/University Cooperative Research Center Cloud Standards Testing Lab and how you can get involved to extend the successes from these results in your own cloud software settings. Presented at the O'Reilly OSCON 2014 Open Cloud Day.
Video available at https://www.youtube.com/watch?v=eD2h0SqC7tY
Boston Data Engineering: Kedro Python Framework for Data Science: Overview an...Boston Data Engineering
What is Kedro?
Kedro is an open-source Python framework for creating reproducible, maintainable and modular data science code. It borrows concepts from software engineering best practices and applies them to machine-learning code; applied concepts include modularity, separation of concerns and versioning.
Kedro 2-minute Intro Video: https://youtu.be/KEdmJ2ADy_M
Kedro Docs: https://kedro.readthedocs.io
Kedro GitHub repo: https://github.com/quantumblacklabs/kedro
Meetup: https://www.meetup.com/f7324858-b804-4ed8-ba45-580c262189f1/events/280986950/
Presentation given to SCURL on the 17th April 2013. It gives some high-level context on the significance of RDM and points to work from the Jisc Managing Research Data programme and DCC Institutional Engagements as examples to reuse.
PuppetConf 2017: Cloud, Containers, Puppet and You- Carl Caum, PuppetPuppet
Discovering and managing the explosion of hybrid resources across public and on premises clouds is a daunting challenge most companies now face. As there is no longer one set of infrastructure resources, there is not one solution. Rather, multiple layers of management and insights are required to ensure you’re compliant, up-to-date, and ready to change when the business requires it. This talk will cover the multiple strategies Puppet provides to discover, rapidly deploy, and continuous enforce cloud resources and container platforms as well as manage the distributed applications that live on them. We will cover where Puppet’s solutions can be paired with others in the IT toolbox, such as CI and logging, to ensure you’re always informed and in control.
AWS re:Invent 2016: Hardware-Accelerating Graphics Desktop Workloads with Ama...Amazon Web Services
Amazon WorkSpaces is a desktop computing service that runs in the cloud, and now offers GPU configurations to support design and engineering applications and three-dimensional modeling. We show you how running these applications on Amazon WorkSpaces graphics bundles, in close proximity to data you already store on AWS, can help you process and visualize the results you need. We discuss the economics of running Amazon WorkSpaces graphics bundles, and demonstrate the experience of running a graphics-intensive application on a GPU-enabled Amazon WorkSpace. We also invite Autodesk (or TRC or ESRi) to discuss how they are using Amazon WorkSpaces graphics bundles in their business.
Clipper project presentation at the Jisc Research Data Network meeting, Cambridge, 6th September 2016.
Clipper: A web annotation toolkit for research & practice with online audio visual media
The SKA Project - The World's Largest Streaming Data Processorinside-BigData.com
In this presentation from the 2014 HPC Advisory Council Europe Conference, Paul Calleja from University of Cambridge presents: The SKA Project - The World's Largest Streaming Data Processor.
"The Square Kilometre Array Design Studies is an international effort to investigate and develop technologies which will enable us to build an enormous radio astronomy telescope with a million square meters of collecting area."
Watch the video presentation: http://wp.me/p3RLHQ-cot
Acumen Global Solutions was formed by a team of young aspiring engineers having industrial experience to asist final year engineering project students in their course of studies.
Accelerating Data Lakes and Streams with Real-time AnalyticsArcadia Data
As organizations modernize their data and analytics platforms, the data lake concept has gained momentum as a shared enterprise resource for supporting insights across multiple lines of business. The perception is that data lakes are vast, slow-moving bodies of data, but innovations like Apache Kafka for streaming-first architectures put real-time data flows at the forefront. Combining real-time alerts and fast-moving data with rich historical analysis lets you respond quickly to changing business conditions with powerful data lake analytics to make smarter decisions.
Join this complimentary webinar with industry experts from 451 Research and Arcadia Data who will discuss:
- Business requirements for combining real-time streaming and ad hoc visual analytics.
- Innovations in real-time analytics using tools like Confluent’s KSQL.
- Machine-assisted visualization to guide business analysts to faster insights.
- Elevating user concurrency and analytic performance on data lakes.
- Applications in cybersecurity, regulatory compliance, and predictive maintenance on manufacturing equipment all benefit from streaming visualizations.
Demonstrating 100 Gbps in and out of the CloudsIgor Sfiligoi
In this presentation, which was supposed to be presented at the cancelled CENIC 2020 Annual Conference, I present an overview of what is possible to achieve in terms of networking inside the Clouds and when exchanging data between cloud resources and on-prem equipment, with an emphasis on research hosted hardware.
There is increased awareness and recognition that public cloud providers do provide capabilities not found elsewhere, with elasticity being a major driver, and funding agencies are taking an increasingly positive stance toward public clouds.
The value of elastic scaling is, however, tightly coupled to the capabilities of the networks that connect all involved resources, both in the public clouds and at the various research institutions.
This presentation tries to shed some light on what is possible today.
What's next? Emerging trends in cloud computingMartin Hamilton
My talk for the LATi ExpertExchange workshop on the future of cloud computing, covering topics including Docker and OpenStack, and the emergence of high performance public cloud infrastructures such as Azure RDMA.
The Catalan Research portal: collecting information from Catalan universities...Ricard de la Vega
En aquesta presentació, Ramon Ros, coordinador d'Aplicacions Bibliotecàries i Documentació del CSUC, presenta el Portal de la Recerca de Catalunya, una de les primeres experiències en què un portal recull informació sobre la producció científica usant l'estàndard internacional CERIF-XML, especialment promogut per la Unió Europea.
Aquesta presentació ha estat exposada a l'Strategic Membership Meeting, organitzat per The European Organisation for International Research Information, euroCRIS, de l'11 al 12 de novembre de 2014.
En aquesta presentació, Ramon Ros, coordinador d'Aplicacions Bibliotecàries i Documentació del CSUC, presenta el Portal de la Recerca de Catalunya, una de les primeres experiències en què un portal recull informació sobre la producció científica usant l'estàndard internacional CERIF-XML, especialment promogut per la Unió Europea.
Aquesta presentació ha estat exposada a l'Strategic Membership Meeting, organitzat per The European Organisation for International Research Information, euroCRIS, de l'11 al 12 de novembre de 2014.
RAPIDS is a suite of open source software libraries and APIs gives you the ability to execute end-to-end data science and analytics pipelines entirely on GPUs.In this workshop, we will:
1. Introduce Rapids.ai & GPUs
2. Illustrate why GPUs are critical for machine learning and AI applications
3. Demonstrate common machine learning algorithms such as Regression, KNN,SGD etc. using RAPIDS on the QuSandbox
Quickly and Effectively Testing Legacy c++ Code with Approval Tests mu cppClare Macrae
Presented at MUC++, 6 August 2020
Links from this talk are at: https://github.com/claremacrae/talks/blob/main/Quickly_and_Effectively_Testing_Legacy_C++_Code_with_Approval_Tests.md#top
Abstract:
You've inherited some legacy code: it's valuable, but it doesn't have tests, and it wasn't designed to be testable, so you need to start refactoring. But you can't refactor safely until the code has tests, and you can't add tests without refactoring! How can you ever break out of this loop?
Whether Legacy code for you means "old code", "code without tests", or "code you wish to redesign for new features or unit-tests", this talk will enable you to become productive and work safely, quickly.
The simplicity, convenience, ease-of-use, power and flexibility of Llewellyn Falco's "Approval Tests" approach has long been proven in a dozen programming languages. And now all this is now available to C++ developers too!
Clare will present a small but surprisingly effective C++11 library for applying "Approval Tests" to cross-platform C++ code - for both legacy and green-field systems, and with a range of testing frameworks.
She will demonstrate its use in some real-world situations, including how to quickly lock down the behaviour of legacy code. She will show how to quickly achieve good test coverage, even for very large sets of inputs.
Attendees will discover some quick, practical techniques to use for common challenges that can be applied very easily using Approval Tests.
More Related Content
Similar to CCDC’s (ongoing) Journey to Continuous Delivery - London Continuous Delivery - Dec 2015
Presentation given to SCURL on the 17th April 2013. It gives some high-level context on the significance of RDM and points to work from the Jisc Managing Research Data programme and DCC Institutional Engagements as examples to reuse.
PuppetConf 2017: Cloud, Containers, Puppet and You- Carl Caum, PuppetPuppet
Discovering and managing the explosion of hybrid resources across public and on premises clouds is a daunting challenge most companies now face. As there is no longer one set of infrastructure resources, there is not one solution. Rather, multiple layers of management and insights are required to ensure you’re compliant, up-to-date, and ready to change when the business requires it. This talk will cover the multiple strategies Puppet provides to discover, rapidly deploy, and continuous enforce cloud resources and container platforms as well as manage the distributed applications that live on them. We will cover where Puppet’s solutions can be paired with others in the IT toolbox, such as CI and logging, to ensure you’re always informed and in control.
AWS re:Invent 2016: Hardware-Accelerating Graphics Desktop Workloads with Ama...Amazon Web Services
Amazon WorkSpaces is a desktop computing service that runs in the cloud, and now offers GPU configurations to support design and engineering applications and three-dimensional modeling. We show you how running these applications on Amazon WorkSpaces graphics bundles, in close proximity to data you already store on AWS, can help you process and visualize the results you need. We discuss the economics of running Amazon WorkSpaces graphics bundles, and demonstrate the experience of running a graphics-intensive application on a GPU-enabled Amazon WorkSpace. We also invite Autodesk (or TRC or ESRi) to discuss how they are using Amazon WorkSpaces graphics bundles in their business.
Clipper project presentation at the Jisc Research Data Network meeting, Cambridge, 6th September 2016.
Clipper: A web annotation toolkit for research & practice with online audio visual media
The SKA Project - The World's Largest Streaming Data Processorinside-BigData.com
In this presentation from the 2014 HPC Advisory Council Europe Conference, Paul Calleja from University of Cambridge presents: The SKA Project - The World's Largest Streaming Data Processor.
"The Square Kilometre Array Design Studies is an international effort to investigate and develop technologies which will enable us to build an enormous radio astronomy telescope with a million square meters of collecting area."
Watch the video presentation: http://wp.me/p3RLHQ-cot
Acumen Global Solutions was formed by a team of young aspiring engineers having industrial experience to asist final year engineering project students in their course of studies.
Accelerating Data Lakes and Streams with Real-time AnalyticsArcadia Data
As organizations modernize their data and analytics platforms, the data lake concept has gained momentum as a shared enterprise resource for supporting insights across multiple lines of business. The perception is that data lakes are vast, slow-moving bodies of data, but innovations like Apache Kafka for streaming-first architectures put real-time data flows at the forefront. Combining real-time alerts and fast-moving data with rich historical analysis lets you respond quickly to changing business conditions with powerful data lake analytics to make smarter decisions.
Join this complimentary webinar with industry experts from 451 Research and Arcadia Data who will discuss:
- Business requirements for combining real-time streaming and ad hoc visual analytics.
- Innovations in real-time analytics using tools like Confluent’s KSQL.
- Machine-assisted visualization to guide business analysts to faster insights.
- Elevating user concurrency and analytic performance on data lakes.
- Applications in cybersecurity, regulatory compliance, and predictive maintenance on manufacturing equipment all benefit from streaming visualizations.
Demonstrating 100 Gbps in and out of the CloudsIgor Sfiligoi
In this presentation, which was supposed to be presented at the cancelled CENIC 2020 Annual Conference, I present an overview of what is possible to achieve in terms of networking inside the Clouds and when exchanging data between cloud resources and on-prem equipment, with an emphasis on research hosted hardware.
There is increased awareness and recognition that public cloud providers do provide capabilities not found elsewhere, with elasticity being a major driver, and funding agencies are taking an increasingly positive stance toward public clouds.
The value of elastic scaling is, however, tightly coupled to the capabilities of the networks that connect all involved resources, both in the public clouds and at the various research institutions.
This presentation tries to shed some light on what is possible today.
What's next? Emerging trends in cloud computingMartin Hamilton
My talk for the LATi ExpertExchange workshop on the future of cloud computing, covering topics including Docker and OpenStack, and the emergence of high performance public cloud infrastructures such as Azure RDMA.
The Catalan Research portal: collecting information from Catalan universities...Ricard de la Vega
En aquesta presentació, Ramon Ros, coordinador d'Aplicacions Bibliotecàries i Documentació del CSUC, presenta el Portal de la Recerca de Catalunya, una de les primeres experiències en què un portal recull informació sobre la producció científica usant l'estàndard internacional CERIF-XML, especialment promogut per la Unió Europea.
Aquesta presentació ha estat exposada a l'Strategic Membership Meeting, organitzat per The European Organisation for International Research Information, euroCRIS, de l'11 al 12 de novembre de 2014.
En aquesta presentació, Ramon Ros, coordinador d'Aplicacions Bibliotecàries i Documentació del CSUC, presenta el Portal de la Recerca de Catalunya, una de les primeres experiències en què un portal recull informació sobre la producció científica usant l'estàndard internacional CERIF-XML, especialment promogut per la Unió Europea.
Aquesta presentació ha estat exposada a l'Strategic Membership Meeting, organitzat per The European Organisation for International Research Information, euroCRIS, de l'11 al 12 de novembre de 2014.
RAPIDS is a suite of open source software libraries and APIs gives you the ability to execute end-to-end data science and analytics pipelines entirely on GPUs.In this workshop, we will:
1. Introduce Rapids.ai & GPUs
2. Illustrate why GPUs are critical for machine learning and AI applications
3. Demonstrate common machine learning algorithms such as Regression, KNN,SGD etc. using RAPIDS on the QuSandbox
Quickly and Effectively Testing Legacy c++ Code with Approval Tests mu cppClare Macrae
Presented at MUC++, 6 August 2020
Links from this talk are at: https://github.com/claremacrae/talks/blob/main/Quickly_and_Effectively_Testing_Legacy_C++_Code_with_Approval_Tests.md#top
Abstract:
You've inherited some legacy code: it's valuable, but it doesn't have tests, and it wasn't designed to be testable, so you need to start refactoring. But you can't refactor safely until the code has tests, and you can't add tests without refactoring! How can you ever break out of this loop?
Whether Legacy code for you means "old code", "code without tests", or "code you wish to redesign for new features or unit-tests", this talk will enable you to become productive and work safely, quickly.
The simplicity, convenience, ease-of-use, power and flexibility of Llewellyn Falco's "Approval Tests" approach has long been proven in a dozen programming languages. And now all this is now available to C++ developers too!
Clare will present a small but surprisingly effective C++11 library for applying "Approval Tests" to cross-platform C++ code - for both legacy and green-field systems, and with a range of testing frameworks.
She will demonstrate its use in some real-world situations, including how to quickly lock down the behaviour of legacy code. She will show how to quickly achieve good test coverage, even for very large sets of inputs.
Attendees will discover some quick, practical techniques to use for common challenges that can be applied very easily using Approval Tests.
Quickly and Effectively Testing Legacy C++ Code with Approval TestsClare Macrae
Presented at C++ on Sea 2020, 15 July 2020
Links from this talk are at: https://github.com/claremacrae/talks/blob/main/Quickly_and_Effectively_Testing_Legacy_C++_Code_with_Approval_Tests.md#top
Abstract:
You've inherited some legacy code: it's valuable, but it doesn't have tests, and it wasn't designed to be testable, so you need to start refactoring. But you can't refactor safely until the code has tests, and you can't add tests without refactoring! How can you ever break out of this loop?
Whether Legacy code for you means "old code", "code without tests", or "code you wish to redesign for new features or unit-tests", this talk will enable you to become productive and work safely, quickly.
The simplicity, convenience, ease-of-use, power and flexibility of Llewellyn Falco's "Approval Tests" approach has long been proven in a dozen programming languages. And now all this is now available to C++ developers too!
Clare will present a small but surprisingly effective C++11 library for applying "Approval Tests" to cross-platform C++ code - for both legacy and green-field systems, and with a range of testing frameworks.
She will demonstrate its use in some real-world situations, including how to quickly lock down the behaviour of legacy code. She will show how to quickly achieve good test coverage, even for very large sets of inputs.
She will also show recent work applying Approval Tests to testing Graphical User Interfaces
Finally, she will describe some powerful techniques used in the implementation, that are useful beyond the field
Attendees will discover some quick, practical techniques to use for common challenges, such as testing GUI systems, and outputs containing dates and times, that can be applied very easily using Approval Tests.
How to use Approval Tests for C++ EffectivelyClare Macrae
Presented at CppEurope Online on 23 June 2020.
This talk, which was mostly live demos, covered aspects such as:
- Formatting options, to ensure failures are really easy to understand and act on
- An example of when a growing number of unit tests turns out easier to maintain with Approvals
- Different reports, and how to use them well
- Dealing with timestamps or dates (for example in logs)
- Dealing with external resources: I/O, networking, system API calls, etc.
- Dealing with multiple processes or threads
- Can I use approvals for the cases when RAM is low? Eg. an embedded controller that has 1MB of RAM
Links from the talk, including to the demo code, are available at:
https://github.com/claremacrae/talks/blob/main/How_to_use_Approval_Tests_for_C++_Effectively.md#top
Cpp Testing Techniques Tips and Tricks - Cpp EuropeClare Macrae
Links from the talk are available at:
https://github.com/claremacrae/talks/blob/master/Cpp_Testing_Techniques_Tips_and_Tricks.md#top
An assortment of practical patterns and techniques to make it easier to write effective automated tests of C++ code, both old and new.
Clare will share some valuable techniques for easier handling of commonly troublesome testing scenarios. Whatever test framework you use, you will take away practical ideas to writer tests more easily and more effectively, to handle challenging automated test scenarios.
This talk is independent of test frameworks, and even covers a little for those creating Qt desktop applications.
C++ Testing Techniques Tips and Tricks - C++ LondonClare Macrae
Links from the talk are available at:
https://github.com/claremacrae/talks/blob/master/Cpp_Testing_Techniques_Tips_and_Tricks.md#top
Presented at C++ London Meetup, on Thursday, November 21, 2019.
Abstract:
An assortment of practical techniques to make it easier to write effective automated tests of C++ code, both old and new.
I share some approaches for easier handling of commonly troublesome testing scenarios. This is a brand new talk, that is independent of test frameworks, and even covers a little for those creating Qt desktop applications.
Links from the talk are available at:
https://github.com/claremacrae/talks/blob/master/Quickly_Testing_Qt_Desktop_Applications.md#top
Presented at Meeting C++ in Berlin on 15 November 2019.
Abstract: You've inherited some Qt GUI code: it's valuable, but it doesn't have tests, and it wasn't designed to be testable, so you need to start refactoring. But you can't refactor safely until the code has tests, and you can't add tests without refactoring! How can you ever break out of this loop?
Clare will review the challenges and potential sources of error that are specific to code that uses the Qt cross-platform graphical user interface library, and then describe how to guard against them.
There are many options for unit-testing Qt code, including Qt Test, Google Test and Catch. As well as covering those, and general principles for applying them, Clare will present a small but surprisingly effective C++11 library for applying "Approval Tests" to cross-platform Qt code.
Finally, she will briefly cover some other tools that can aid with inspecting and maintaining Qt code, which can in turn improve testability. Attendees will discover some quick, practical techniques to help write unit tests and integration tests for Qt code.
Code samples that actually compile - Clare MacraeClare Macrae
Tired of keeping your documentation up-to-date with your library code?
Tired of users logging bus because your documentation is out of date?
If you write user documentation in Markdown, you can have guaranteed-working documentation using Simon Cropp's Markdown Snippets - https://github.com/SimonCropp/MarkdownSnippets.
Quickly Testing Legacy C++ Code with Approval TestsClare Macrae
Presented at CppCon 2019 on 16th September 2019.
You've inherited some legacy code: it's valuable, but it doesn't have tests, and it wasn't designed to be testable, so you need to start refactoring. But you can't refactor safely until the code has tests, and you can't add tests without refactoring! How can you ever break out of this loop?
Whether Legacy code for you means "old code", "code without tests", or "code you wish to redesign for new features or unit-tests", this talk will enable you to become productive and work safely, quickly.
The simplicity, convenience, ease-of-use, power and flexibility of Llewellyn Falco's "Approval Tests" approach has long been proven in a dozen programming languages. And now all this is now available to C++ developers too!
Clare will present a small but surprisingly effective C++11 library for applying "Approval Tests" to cross-platform C++ code - for both legacy and green-field systems, and with a range of testing frameworks.
She will describe its use in some real-world situations, including how to quickly lock down the behaviour of legacy code. She will show how to quickly achieve good test coverage, even for very large sets of inputs. Finally, she will describe some general techniques she learned along the way.
Attendees will discover some quick, practical techniques to use for common challenges, such as testing outputs containing dates and times, that can be applied very easily using Approval Tests.
Presented at ACCU Cambridge Meetup on 4th September 2019.
You've inherited some legacy code: it's valuable, but it doesn't have tests, and it wasn't designed to be testable, so you need to start refactoring! But you can't refactor safely until the code has tests, and you can't add tests without refactoring. How can you ever break out of this loop?
I present a new C++ library for applying Llewellyn Falco's "Approval Tests" approach to testing cross-platform C++ code - for both legacy and green-field systems, and a range of testing frameworks.
I describe its use in some real-world situations, including how to quickly lock down the behaviour of legacy code. I show how to quickly achieve good test coverage, even for very large sets of inputs. Finally, I also describe some general techniques I learned along the way.
Presented at CPPP Conference, Paris, on 15th June 2019.
You've inherited some legacy code: it's valuable, but it doesn't have tests, and it wasn't designed to be testable, so you need to start refactoring! But you can't refactor safely until the code has tests, and you can't add tests without refactoring. How can you ever break out of this loop?
I present a new C++ library for applying Llewellyn Falco's "Approval Tests" approach to testing cross-platform C++ code - for both legacy and green-field systems, and a range of testing frameworks.
I describe its use in some real-world situations, including how to quickly lock down the behaviour of legacy code. I show how to quickly achieve good test coverage, even for very large sets of inputs. Finally, I also describe some general techniques I learned along the way.
Quickly Testing Legacy Code - ACCU York April 2019Clare Macrae
Presented at ACCU York, on 25th April 2019.
You've inherited some legacy code: it's valuable, but it doesn't have tests, and it wasn't designed to be testable, so you need to start refactoring! But you can't refactor safely until the code has tests, and you can't add tests without refactoring. How can you ever break out of this loop?
I present a new C++ library for applying Llewellyn Falco's "Approval Tests" approach to testing cross-platform C++ code - for both legacy and green-field systems, and a range of testing frameworks.
I describe its use in some real-world situations, including how to quickly lock down the behaviour of legacy code. I show how to quickly achieve good test coverage, even for very large sets of inputs. Finally, I also describe some general techniques I learned along the way.
Presented at C++ on Sea 2019, on 5th February 2019.
You've inherited some legacy code: it's valuable, but it doesn't have tests, and it wasn't designed to be testable, so you need to start refactoring! But you can't refactor safely until the code has tests, and you can't add tests without refactoring. How can you ever break out of this loop?
I present a new C++ library for applying Llewellyn Falco's "Approval Tests" approach to testing cross-platform C++ code - for both legacy and green-field systems, and a range of testing frameworks.
I describe its use in some real-world situations, including how to quickly lock down the behaviour of legacy code. I show how to quickly achieve good test coverage, even for very large sets of inputs. Finally, I also describe some general techniques I learned along the way.
Why React Native as a Strategic Advantage for Startup Innovation.pdfayushiqss
Do you know that React Native is being increasingly adopted by startups as well as big companies in the mobile app development industry? Big names like Facebook, Instagram, and Pinterest have already integrated this robust open-source framework.
In fact, according to a report by Statista, the number of React Native developers has been steadily increasing over the years, reaching an estimated 1.9 million by the end of 2024. This means that the demand for this framework in the job market has been growing making it a valuable skill.
But what makes React Native so popular for mobile application development? It offers excellent cross-platform capabilities among other benefits. This way, with React Native, developers can write code once and run it on both iOS and Android devices thus saving time and resources leading to shorter development cycles hence faster time-to-market for your app.
Let’s take the example of a startup, which wanted to release their app on both iOS and Android at once. Through the use of React Native they managed to create an app and bring it into the market within a very short period. This helped them gain an advantage over their competitors because they had access to a large user base who were able to generate revenue quickly for them.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
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.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Strategies for Successful Data Migration Tools.pptxvarshanayak241
Data migration is a complex but essential task for organizations aiming to modernize their IT infrastructure and leverage new technologies. By understanding common challenges and implementing these strategies, businesses can achieve a successful migration with minimal disruption. Data Migration Tool like Ask On Data play a pivotal role in this journey, offering features that streamline the process, ensure data integrity, and maintain security. With the right approach and tools, organizations can turn the challenge of data migration into an opportunity for growth and innovation.
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?XfilesPro
Worried about document security while sharing them in Salesforce? Fret no more! Here are the top-notch security standards XfilesPro upholds to ensure strong security for your Salesforce documents while sharing with internal or external people.
To learn more, read the blog: https://www.xfilespro.com/how-does-xfilespro-make-document-sharing-secure-and-seamless-in-salesforce/
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
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.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
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.
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.
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.
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
2. www.ccdc.cam.ac.uk
2
The Cambridge Crystallographic Data Centre
Established in 1965.
- UK Registered Charity.
- Financially self-supporting, not-for-profit.
- University Partner Institute.
International Data Repository
Archive of crystal structure data
High quality scientific database
Scientific Software Provider
Search/analysis/visualisation tools
Scientific applications
Collaborative Research Organisation
New methodologies
Fundamental research
Employer of around 60
permanent staff
- Scientific editors
- Software developers
- Applications scientists
- Cambridge, UK
- Rutgers University, US
4. www.ccdc.cam.ac.uk
4
Development Context
• C++, Python, Fortran (decades old) and more
• No high-level support for CI, due to 2- to 3-day builds!
Several million lines of
code
• We had build and release automation in the ‘80s
• Many more manual layers added since then
• Couldn’t remember the last time we had a green build
Legacy build &
release tools & scripts
• Around four months elapsed time in preparation
• Too much manual effort, for release and testingOne release per year!
• Due to effort currently required in each release
Belief: we cannot
release more often
6. www.ccdc.cam.ac.uk
6
C++ CI Journey…
C# team
started using
TeamCity
Jan 2014:
started
background-
project for
our TeamCity
C++ builds
Sep 2014:
Big push to
move C++
builds to
TeamCity
Oct 2014:
C++
TeamCity
builds turned
on
7. www.ccdc.cam.ac.uk
7
Getting to Green
• Several people in concerted effort to get any green builds
• Before TeamCity, we hadn’t had any green builds in years!
14. www.ccdc.cam.ac.uk
14
Where are we now?
Much happier
developers!
Team
agreements
needed for
handling
build errors…
More reliable
infrastructure
required
Discussions
have started
on releasing
more often!
15. www.ccdc.cam.ac.uk
15
Initial Concerns –what really happened?
“Our builds are
too slow”
CI system
identified
bottlenecks, and
speeded up builds,
tests
Also got us new
build hardware
Easy to identify the
slow tests – either
speed them up, or
run less often
“Our builds
never
succeed”
CI system
massively
simplified fixing
build errors
Seeing test history
across all builds
exposes flicker
tests
Per-push feedback
within 15-30
minutes during the
day, instead of the
next morning
“Too many
warnings from
our code”
Fast feedback
made it viable to
treat warnings as
errors
Editor's Notes
Every drug discovered in the last 30 years has in part owed its discovery to our database and software!
Inevitable mixture of new and legacy code, data, and build systems
Many manual tasks for release (despite multiple automation efforts)
Much testing by internal users
Don’t underestimate the value CI for providing or enabling:
Fast feedback to developers
All kinds of data about your builds
Integrations with other tools (for dashboards, code quality, deployment, etc.)
Visibility to internal stakeholders
I wish I'd known about the last three much earlier
It can be hard to persuade stakeholders in advance of the value
Just do it!
Implementing CI has enabled much faster innovation than I dreamed possible
Many code-quality things we’d talked about for years are now just implemented