This document contains contact information for an individual and several websites. It lists an email address for an Alkampfer at Nablasoft.com, as well as URLs for codewrecks.com, blogs.ugidotnet.org/rgm, and getlatestversion.it.
A MetaClass in Groovy defines the behavior of any given Groovy or Java class. The document discusses MetaClasses and provides a link to the Groovy API documentation on MetaClass. The majority of the document is repetitive dates taking up space with no additional information provided.
The document discusses using PowerShell Desired State Configuration (DSC) to automate the deployment and management of environments. It describes how DSC can be used to specify the desired state of an environment and have PowerShell work to ensure the actual state matches that desired configuration. This involves authoring DSC configurations that define resources and their desired properties, then applying those configurations to automatically install software, configure systems, and ensure services are running as specified. The document provides examples of using DSC to deploy a website along with its database components in a multi-step process.
The document discusses strategies for organizing team projects in Team Foundation Server (TFS). It describes the structure of TFS including project collections, team projects, and teams. It notes that many teams struggle to choose the right strategy for organizing team projects. The document then examines the pros and cons of using a single team project versus multiple team projects to organize teams and backlogs. It demonstrates in TFS 2012 how to manage teams and backlogs. While a single team project can provide consolidation, it warns of disadvantages like reduced security and process template flexibility compared to using multiple team projects.
This document discusses Application Insights, a service that provides automatic instrumentation of applications to monitor application health and performance. It provides an overview of logging benefits, costs of logging, and how Application Insights addresses these. The document outlines how Application Insights can instrument applications automatically or with custom logging, and demonstrates setting up synthetic monitors and custom logging.
This document discusses semantic versioning, GitFlow branching model, and how to automate versioning and packaging of code using GitVersion, NuGet, and Chocolatey. It recommends:
- Using semantic versioning (MAJOR, MINOR, PATCH) to manage versions in a Git repository.
- Implementing GitFlow branching model with main branches for development (develop) and releases (master).
- Leveraging GitVersion tool to determine semantic versions based on branches and commits.
- Automating builds to modify version numbers, compile code, run tests, create NuGet packages, and publish packages.
- Packaging and distributing applications using Chocolatey by creating NuGet packages containing
The document discusses Application Lifecycle Management (ALM) and the Polarion ALM platform. It states that Polarion provides integrated tools to manage requirements, tasks, projects, testing, and bugs across the software development lifecycle. It also offers migration tools, connectors to other tools, and services for implementation and training.
ALM describes automated project management.
It includes
* Scrum based task management with issue tracking system.
* Contiguous Build
* Regression Test
* V-Model based Test process
* Defect management process
A MetaClass in Groovy defines the behavior of any given Groovy or Java class. The document discusses MetaClasses and provides a link to the Groovy API documentation on MetaClass. The majority of the document is repetitive dates taking up space with no additional information provided.
The document discusses using PowerShell Desired State Configuration (DSC) to automate the deployment and management of environments. It describes how DSC can be used to specify the desired state of an environment and have PowerShell work to ensure the actual state matches that desired configuration. This involves authoring DSC configurations that define resources and their desired properties, then applying those configurations to automatically install software, configure systems, and ensure services are running as specified. The document provides examples of using DSC to deploy a website along with its database components in a multi-step process.
The document discusses strategies for organizing team projects in Team Foundation Server (TFS). It describes the structure of TFS including project collections, team projects, and teams. It notes that many teams struggle to choose the right strategy for organizing team projects. The document then examines the pros and cons of using a single team project versus multiple team projects to organize teams and backlogs. It demonstrates in TFS 2012 how to manage teams and backlogs. While a single team project can provide consolidation, it warns of disadvantages like reduced security and process template flexibility compared to using multiple team projects.
This document discusses Application Insights, a service that provides automatic instrumentation of applications to monitor application health and performance. It provides an overview of logging benefits, costs of logging, and how Application Insights addresses these. The document outlines how Application Insights can instrument applications automatically or with custom logging, and demonstrates setting up synthetic monitors and custom logging.
This document discusses semantic versioning, GitFlow branching model, and how to automate versioning and packaging of code using GitVersion, NuGet, and Chocolatey. It recommends:
- Using semantic versioning (MAJOR, MINOR, PATCH) to manage versions in a Git repository.
- Implementing GitFlow branching model with main branches for development (develop) and releases (master).
- Leveraging GitVersion tool to determine semantic versions based on branches and commits.
- Automating builds to modify version numbers, compile code, run tests, create NuGet packages, and publish packages.
- Packaging and distributing applications using Chocolatey by creating NuGet packages containing
The document discusses Application Lifecycle Management (ALM) and the Polarion ALM platform. It states that Polarion provides integrated tools to manage requirements, tasks, projects, testing, and bugs across the software development lifecycle. It also offers migration tools, connectors to other tools, and services for implementation and training.
ALM describes automated project management.
It includes
* Scrum based task management with issue tracking system.
* Contiguous Build
* Regression Test
* V-Model based Test process
* Defect management process
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure DevopsGian Maria Ricci
Come tenere sotto controllo la qualità del proprio codice tramite gli analizzatori di Sonar Qube sia dentro visual studio, sia tramite analisi automatiche del codice fatte tramite Azure DevOps Pipeoine
Real World Build + Release automation in Azure DevOpsGian Maria Ricci
The document discusses automating build and release processes in Azure DevOps. It recommends treating packaging and release as repetitive, traceable processes done by anyone. Key steps include:
1) Using scripts to automate builds locally with tools like PowerShell, Cake, or MSBuild.
2) Creating release builds that produce everything needed for release, like publishing sites, packaging resources, and compiling code.
3) Defining a release process in Azure DevOps that specifies builds, environments, and manages artifacts and auditing for releases.
4) Starting with manual checklists and scripts for releases, then gradually automating more tasks to reduce errors and improve reliability.
This document discusses managing automatic releases with Azure DevOps. It recommends starting with manual package and release processes to create documentation before automating repetitive tasks. When automating, configurations should be stored and managed separately from code. Pipelines should be defined in code using YAML for easy editing and maintenance. The document demonstrates multi-stage build and release pipelines in YAML and mentions future improvements for container and Kubernetes support. Overall it provides guidance for establishing a manual-to-automated DevOps cycle for continuous delivery using Azure DevOps.
Build and release in code with azure devops pipelinesGian Maria Ricci
Build and release your code with Azure pipelines defined in YAML code. Everything is in the repository, everything follow branches, and simplify creating pipelines with templates.
This document discusses Azure Pipelines and common misconceptions about it. It notes that Azure Pipelines can be used for both cloud and on-premises workloads, not just Microsoft technologies, and that maintaining agents is simplified. The document traces the history of Azure Pipelines and its predecessors. It promotes the benefits of defining pipelines in YAML, including storing them in source control, easy copying between repos, and support in Visual Studio Code. Future improvements may include multi-stage pipelines and releasing directly to environments using YAML.
This document discusses how to deploy .NET applications with TFS Build including:
- Deploying web applications to Azure or IIS using TFS build and Azure publishing
- Deploying SQL Server databases using database projects
- Deploying click-once applications and NuGet packages from TFS builds
It provides demonstrations of deploying to Azure, IIS, databases, and publishing NuGet packages and emphasizes the value of continuous deployment and testing for fast failure detection.
Presentation to show what are the differencies from branching feature in Git and standard centralized source control.
Presentation done at London Microsoft ALM User Group http://www.meetup.com/London-Microsoft-ALM-User-Group/events/219367230/
The document discusses the advantages of using Microsoft's Team Foundation Server (TFS) Service for application lifecycle management (ALM) in the cloud. It notes that TFS Service provides high availability, easy upgrades, and lower operational costs compared to an on-premise TFS solution. Additionally, TFS Service offers source control, work item tracking, build servers, testing tools, release management capabilities, and Application Insights out of the box as a complete ALM solution. The document recommends being prepared to choose between TFS Service or an on-premise TFS based on individual needs and priorities.
The document appears to be a presentation about using Git for source control management. It discusses why developers should use Git and the mind shift required compared to other systems like TFVC. It also covers some of Git's capabilities like branching and its ability to act as a bridge between different version control systems. The presentation encourages attendees to try out Git themselves to see if it is a good fit for their team.
This document summarizes an Agile planning and portfolio management session using Team Foundation Server. It discusses how to manage requirements at different levels, from development teams to management. It explains user stories, epics, acceptance criteria, and how to estimate work. It also covers using Kanban to visualize workflow, and how TFS can support multiple teams through features like backlog grooming, feedback tools, and the drum-buffer-rope approach. The overall goal is to scale Agile practices through the organization using the capabilities in TFS.
A typical developer day involves:
1) Using the new Team Explorer in Visual Studio to plan and activate tasks, manage interruptions, and conduct code reviews.
2) Branching code to organize different work lines and avoid merge conflicts.
3) Leveraging features like IntelliTrace to debug production environments and facilitate preemptive integration with bug tracking in Team Foundation Server.
4) Extending Visual Studio through plugins to automate tasks.
- A new test runner in VS2012 is faster and more integrated than the older runner, and makes code coverage and continuous testing easier.
- Features like fakes and shims allow testing of legacy code. Coded UI tests allow recording of user interactions.
- Tests can now be run directly from builds in TFS2012, supporting multiple test frameworks and test impact analysis. This enables continuous delivery practices.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure DevopsGian Maria Ricci
Come tenere sotto controllo la qualità del proprio codice tramite gli analizzatori di Sonar Qube sia dentro visual studio, sia tramite analisi automatiche del codice fatte tramite Azure DevOps Pipeoine
Real World Build + Release automation in Azure DevOpsGian Maria Ricci
The document discusses automating build and release processes in Azure DevOps. It recommends treating packaging and release as repetitive, traceable processes done by anyone. Key steps include:
1) Using scripts to automate builds locally with tools like PowerShell, Cake, or MSBuild.
2) Creating release builds that produce everything needed for release, like publishing sites, packaging resources, and compiling code.
3) Defining a release process in Azure DevOps that specifies builds, environments, and manages artifacts and auditing for releases.
4) Starting with manual checklists and scripts for releases, then gradually automating more tasks to reduce errors and improve reliability.
This document discusses managing automatic releases with Azure DevOps. It recommends starting with manual package and release processes to create documentation before automating repetitive tasks. When automating, configurations should be stored and managed separately from code. Pipelines should be defined in code using YAML for easy editing and maintenance. The document demonstrates multi-stage build and release pipelines in YAML and mentions future improvements for container and Kubernetes support. Overall it provides guidance for establishing a manual-to-automated DevOps cycle for continuous delivery using Azure DevOps.
Build and release in code with azure devops pipelinesGian Maria Ricci
Build and release your code with Azure pipelines defined in YAML code. Everything is in the repository, everything follow branches, and simplify creating pipelines with templates.
This document discusses Azure Pipelines and common misconceptions about it. It notes that Azure Pipelines can be used for both cloud and on-premises workloads, not just Microsoft technologies, and that maintaining agents is simplified. The document traces the history of Azure Pipelines and its predecessors. It promotes the benefits of defining pipelines in YAML, including storing them in source control, easy copying between repos, and support in Visual Studio Code. Future improvements may include multi-stage pipelines and releasing directly to environments using YAML.
This document discusses how to deploy .NET applications with TFS Build including:
- Deploying web applications to Azure or IIS using TFS build and Azure publishing
- Deploying SQL Server databases using database projects
- Deploying click-once applications and NuGet packages from TFS builds
It provides demonstrations of deploying to Azure, IIS, databases, and publishing NuGet packages and emphasizes the value of continuous deployment and testing for fast failure detection.
Presentation to show what are the differencies from branching feature in Git and standard centralized source control.
Presentation done at London Microsoft ALM User Group http://www.meetup.com/London-Microsoft-ALM-User-Group/events/219367230/
The document discusses the advantages of using Microsoft's Team Foundation Server (TFS) Service for application lifecycle management (ALM) in the cloud. It notes that TFS Service provides high availability, easy upgrades, and lower operational costs compared to an on-premise TFS solution. Additionally, TFS Service offers source control, work item tracking, build servers, testing tools, release management capabilities, and Application Insights out of the box as a complete ALM solution. The document recommends being prepared to choose between TFS Service or an on-premise TFS based on individual needs and priorities.
The document appears to be a presentation about using Git for source control management. It discusses why developers should use Git and the mind shift required compared to other systems like TFVC. It also covers some of Git's capabilities like branching and its ability to act as a bridge between different version control systems. The presentation encourages attendees to try out Git themselves to see if it is a good fit for their team.
This document summarizes an Agile planning and portfolio management session using Team Foundation Server. It discusses how to manage requirements at different levels, from development teams to management. It explains user stories, epics, acceptance criteria, and how to estimate work. It also covers using Kanban to visualize workflow, and how TFS can support multiple teams through features like backlog grooming, feedback tools, and the drum-buffer-rope approach. The overall goal is to scale Agile practices through the organization using the capabilities in TFS.
A typical developer day involves:
1) Using the new Team Explorer in Visual Studio to plan and activate tasks, manage interruptions, and conduct code reviews.
2) Branching code to organize different work lines and avoid merge conflicts.
3) Leveraging features like IntelliTrace to debug production environments and facilitate preemptive integration with bug tracking in Team Foundation Server.
4) Extending Visual Studio through plugins to automate tasks.
- A new test runner in VS2012 is faster and more integrated than the older runner, and makes code coverage and continuous testing easier.
- Features like fakes and shims allow testing of legacy code. Coded UI tests allow recording of user interactions.
- Tests can now be run directly from builds in TFS2012, supporting multiple test frameworks and test impact analysis. This enables continuous delivery practices.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/how-axelera-ai-uses-digital-compute-in-memory-to-deliver-fast-and-energy-efficient-computer-vision-a-presentation-from-axelera-ai/
Bram Verhoef, Head of Machine Learning at Axelera AI, presents the “How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-efficient Computer Vision” tutorial at the May 2024 Embedded Vision Summit.
As artificial intelligence inference transitions from cloud environments to edge locations, computer vision applications achieve heightened responsiveness, reliability and privacy. This migration, however, introduces the challenge of operating within the stringent confines of resource constraints typical at the edge, including small form factors, low energy budgets and diminished memory and computational capacities. Axelera AI addresses these challenges through an innovative approach of performing digital computations within memory itself. This technique facilitates the realization of high-performance, energy-efficient and cost-effective computer vision capabilities at the thin and thick edge, extending the frontier of what is achievable with current technologies.
In this presentation, Verhoef unveils his company’s pioneering chip technology and demonstrates its capacity to deliver exceptional frames-per-second performance across a range of standard computer vision networks typical of applications in security, surveillance and the industrial sector. This shows that advanced computer vision can be accessible and efficient, even at the very edge of our technological ecosystem.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...Jason Yip
The typical problem in product engineering is not bad strategy, so much as “no strategy”. This leads to confusion, lack of motivation, and incoherent action. The next time you look for a strategy and find an empty space, instead of waiting for it to be filled, I will show you how to fill it in yourself. If you’re wrong, it forces a correction. If you’re right, it helps create focus. I’ll share how I’ve approached this in the past, both what works and lessons for what didn’t work so well.