The document is an outline for a presentation about next generation version control systems like Bazaar, Mercurial, and Git. It discusses the benefits of distributed version control over centralized systems, including avoiding single points of failure, supporting transactions, and allowing any-to-any merge patterns between developers. It also covers requirements for distributed revision models and ways revision models can fail, such as merge tracking referring to other repositories or within a single repository.
This talk includes a brief review of the Cloud Foundry Anniversary event on 4/11/2012, and then goes deeply into the idea of Cloud Foundry as the "linux of the cloud"
Dell 3-2-1 Reference Configurations: Scalable performance and simplicity in s...Principled Technologies
Dell 3-2-1 Reference Configurations provide a range of virtualized infrastructure solutions to meet your business’s needs today and in the future. Easy to deploy, manage, and upgrade, these robust solutions can grow as your business does, all the while reducing the likelihood of extended downtime due to their highly available architecture.
This document provides an overview and agenda for a presentation on tips and techniques for DB2 for z/OS. The presentation covers various topics including performance management, EDM pool tuning, SQL and application tuning, and data integrity. It emphasizes the importance of understanding access paths, managing commits, regular rebinding, and choosing appropriate data types and lengths.
The document provides an introduction to GIT and compares it to SVN. It discusses the advantages of GIT such as faster performance, local repositories, and easier branching. The document outlines GIT's basic components like the working directory, staging area, and repository. It also summarizes common GIT commands for managing branches, merging, and pushing/pulling changes.
Dell 3-2-1 Reference Configurations: High available and scalable performance ...Principled Technologies
Dell 3-2-1 Reference Configurations consisting of Dell PowerEdge R720 servers, Dell Force10 S4810P switches, and Dell EqualLogic PS6110XV storage provide a range of configuration options so that you can select the one that is right for your business needs. Additionally, each configuration is easily scalable to accommodate for business growth.
The 3-2-1 base configuration provides a robust solution for any business needing to support up to 500 users on multiple business applications. Our tests demonstrate this solution supporting 500 users per VM for four VMs including two database VMs, one email VM, and one collaboration application VM.
If the number of users you need to support exceeds the user count the base configuration provides, adding another Dell PowerEdge R720 server to make a 4-2-1 configuration can support up to 1,000 users on multiple business applications while maintaining high availability. Our tests demonstrate this solution supporting 1,000 users per VM in the same four VMs as the 3-2-1 solution. Additionally, these configurations are so easy to scale upward that you can complete the process of adding a server in a matter of two hours or less from start to finish.
If you require support for an even higher number of users, adding a server and storage array to the base configuration, to make a 4-2-2 configuration allows for up to 1,500 users on multiple business applications. Our tests demonstrated this when we ran 1,500 users against each of the four VMs. Better yet, adding a Dell EqualLogic PS6110XV storage array to an existing 4-2-1 configuration is a cinch, taking under 30 minutes start to finish.
All of these Dell Reference Configurations give your business the reliability of highly available hardware configurations, greatly reducing downtime resulting from any hardware malfunctions.
By choosing proven Dell architecture, you avoid the hassles of putting your infrastructure together piece by piece, reducing the potential for error and providing you with a sturdy solution that is easily scalable to fit your present and future needs.
VMmark 2.5.2 virtualization performance of the Dell Storage SC4020 arrayPrincipled Technologies
The Dell Storage SC4020 array paired with Dell PowerEdge R620 servers supported 30 tiles of the VMmark 2.5.2 virtualization benchmark for a total of 240 running virtual machines. The system achieved a score of 31.35 at 30 tiles, indicating it can handle multiple virtualized applications and hypervisor operations while maintaining strong performance. Testing showed the SC4020 provided consistent I/O operations per second around 43,000 and latency mostly under 4 milliseconds. This performance demonstrates the SC4020 is suitable for increasing virtualized workloads supported by solid-state drives without degrading storage performance.
The document discusses different models for structuring transactions, including flat transactions, savepoints, distributed transactions, and nested transactions. A flat transaction consists of computation on local variables and database accesses without any internal structure. Savepoints allow partial rollback of a transaction. Distributed transactions coordinate multiple local transactions at different databases into a global atomic transaction. Nested transactions allow top-down decomposition of a transaction into concurrently executing subtransactions.
This document discusses the technical issues with using circuit breakers versus fused solutions for overcurrent protection. It notes that while both can provide safe and reliable protection, there are significant differences that must be recognized. Specifically, fused systems may take up less space and cost less than circuit breaker systems. However, the document also raises questions about how short-circuit ratings of other system components, like busway, may be affected by the faster trip times of fused systems. Proper system engineering and maintenance is required with either approach.
This talk includes a brief review of the Cloud Foundry Anniversary event on 4/11/2012, and then goes deeply into the idea of Cloud Foundry as the "linux of the cloud"
Dell 3-2-1 Reference Configurations: Scalable performance and simplicity in s...Principled Technologies
Dell 3-2-1 Reference Configurations provide a range of virtualized infrastructure solutions to meet your business’s needs today and in the future. Easy to deploy, manage, and upgrade, these robust solutions can grow as your business does, all the while reducing the likelihood of extended downtime due to their highly available architecture.
This document provides an overview and agenda for a presentation on tips and techniques for DB2 for z/OS. The presentation covers various topics including performance management, EDM pool tuning, SQL and application tuning, and data integrity. It emphasizes the importance of understanding access paths, managing commits, regular rebinding, and choosing appropriate data types and lengths.
The document provides an introduction to GIT and compares it to SVN. It discusses the advantages of GIT such as faster performance, local repositories, and easier branching. The document outlines GIT's basic components like the working directory, staging area, and repository. It also summarizes common GIT commands for managing branches, merging, and pushing/pulling changes.
Dell 3-2-1 Reference Configurations: High available and scalable performance ...Principled Technologies
Dell 3-2-1 Reference Configurations consisting of Dell PowerEdge R720 servers, Dell Force10 S4810P switches, and Dell EqualLogic PS6110XV storage provide a range of configuration options so that you can select the one that is right for your business needs. Additionally, each configuration is easily scalable to accommodate for business growth.
The 3-2-1 base configuration provides a robust solution for any business needing to support up to 500 users on multiple business applications. Our tests demonstrate this solution supporting 500 users per VM for four VMs including two database VMs, one email VM, and one collaboration application VM.
If the number of users you need to support exceeds the user count the base configuration provides, adding another Dell PowerEdge R720 server to make a 4-2-1 configuration can support up to 1,000 users on multiple business applications while maintaining high availability. Our tests demonstrate this solution supporting 1,000 users per VM in the same four VMs as the 3-2-1 solution. Additionally, these configurations are so easy to scale upward that you can complete the process of adding a server in a matter of two hours or less from start to finish.
If you require support for an even higher number of users, adding a server and storage array to the base configuration, to make a 4-2-2 configuration allows for up to 1,500 users on multiple business applications. Our tests demonstrated this when we ran 1,500 users against each of the four VMs. Better yet, adding a Dell EqualLogic PS6110XV storage array to an existing 4-2-1 configuration is a cinch, taking under 30 minutes start to finish.
All of these Dell Reference Configurations give your business the reliability of highly available hardware configurations, greatly reducing downtime resulting from any hardware malfunctions.
By choosing proven Dell architecture, you avoid the hassles of putting your infrastructure together piece by piece, reducing the potential for error and providing you with a sturdy solution that is easily scalable to fit your present and future needs.
VMmark 2.5.2 virtualization performance of the Dell Storage SC4020 arrayPrincipled Technologies
The Dell Storage SC4020 array paired with Dell PowerEdge R620 servers supported 30 tiles of the VMmark 2.5.2 virtualization benchmark for a total of 240 running virtual machines. The system achieved a score of 31.35 at 30 tiles, indicating it can handle multiple virtualized applications and hypervisor operations while maintaining strong performance. Testing showed the SC4020 provided consistent I/O operations per second around 43,000 and latency mostly under 4 milliseconds. This performance demonstrates the SC4020 is suitable for increasing virtualized workloads supported by solid-state drives without degrading storage performance.
The document discusses different models for structuring transactions, including flat transactions, savepoints, distributed transactions, and nested transactions. A flat transaction consists of computation on local variables and database accesses without any internal structure. Savepoints allow partial rollback of a transaction. Distributed transactions coordinate multiple local transactions at different databases into a global atomic transaction. Nested transactions allow top-down decomposition of a transaction into concurrently executing subtransactions.
This document discusses the technical issues with using circuit breakers versus fused solutions for overcurrent protection. It notes that while both can provide safe and reliable protection, there are significant differences that must be recognized. Specifically, fused systems may take up less space and cost less than circuit breaker systems. However, the document also raises questions about how short-circuit ratings of other system components, like busway, may be affected by the faster trip times of fused systems. Proper system engineering and maintenance is required with either approach.
Este documento examina el cumplimiento de pacientes hipertensos atendidos en el primer nivel de atención con el tratamiento antihipertensivo recomendado por la Norma Oficial Mexicana. El estudio encontró que el 40% de los pacientes cumplían con la Norma, siendo mayor el cumplimiento (48%) en pacientes con comorbilidades como diabetes. Los inhibidores de la ECA fueron el tratamiento más común, aunque la Norma recomienda diuréticos o betabloqueadores para pacientes sin otras enfermedades. El estudio con
El documento presenta una introducción a la historia de la tecnología médica, describiendo algunos de los avances clave como los rayos X, la tomografía computarizada en los años 70, y nuevas tecnologías de diagnóstico por imagen. Luego discute brevemente el desarrollo de dispositivos como respiradores artificiales, telemetría para monitorear el corazón, y cirugía de órganos. Finalmente, menciona ejemplos recientes como prótesis robóticas y el sistema quirúrgico Da Vinci.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
Este documento presenta estadísticas sobre accidentes mineros en Colombia entre 2005-2016. Reporta un total de 947 emergencias mineras con 1147 fatalidades. La principal causa de emergencias fueron derrumbes (35%) y la principal causa de fatalidades fueron explosiones (27%). Antioquia fue el departamento con más emergencias (18.5%) y fatalidades (23%).
O documento descreve o vestuário, adornos, fibras, cores e calçado usados na Idade Média, tanto pelo povo quanto pela nobreza. Detalha os materiais e cortes de roupas para homens e mulheres de diferentes classes sociais, assim como os instrumentos e técnicas de confecção usados.
Este documento presenta un estudio múltiple de las cuatro visiones sobre la celebración de Corpus Christi y los Diablos Danzantes de San Francisco de Yare. El estudio analiza las tradiciones populares venezolanas relacionadas con esta festividad religiosa y examina las perspectivas del sector religioso, foráneo, político y local a través de entrevistas y encuestas. El documento también revisa los antecedentes históricos de Corpus Christi y los orígenes de esta celebración en Venezuela y Yare.
- Chico's FAS is executing a new strategic plan under new CEO Shelley Broader focused on 4 areas: evolving the customer experience, strengthening brand positioning, leveraging actionable retail science, and sharpening financial principles.
- Broader has announced cost-cutting initiatives estimated to save $65-85 million annually, or 2.6-3.3% of revenue, making progress towards a 10% operating margin goal.
- Independent analysts applaud Broader's leadership and experience and recognize the benefits of her actions in driving long-term profitability through operational discipline, cost savings, and growth initiatives.
El documento presenta información sobre Marlon Aguirre, un estudiante de ingeniería civil en el paralelo M, con el profesor José Zapata. Además, describe los seis tipos de licencias Creative Commons, incluyendo Atribución, Atribución-CompartirIgual, Atribución-No Derivadas, Atribución-No Comercial, Atribución-No Comercial-CompartirIgual, y Atribución-No Comercial-No Derivadas.
Galera Multi Master Synchronous My S Q L Replication ClustersPerconaPerformance
Galera Replication provides multi-master synchronous replication for MySQL databases using a certification-based replication model. It avoids middleware and connects databases directly for transparency. Benchmarking shows it provides good scalability even under write-intensive workloads. Features include high availability, transparency, and the ability to retry aborted transactions.
This document provides an overview of version control using Subversion (SVN). It discusses key SVN concepts like the trunk, branches, and tags. It explains how SVN allows for collaboration between developers and management of code revisions. The document also summarizes SVN features like authentication, revision management, tagging for releases, and advanced topics like hooks and externals.
Scylla Summit 2018: Consensus in Eventually Consistent DatabasesScyllaDB
Eventually consistent databases choose to remain available under failure, allowing for conflicting data to be stored in different replicas (later repaired by background processes). Weakening the consistency guarantees improves not only availability, but also performance, as the number of replicas involved in a given operation can be minimized. There are, however, use-cases that require the opposite trade-off. Indeed, Apache Cassandra and Scylla provide Lightweight Transactions (LWT), which allow single-key linearizable updates. The mechanism underlying LWT is asynchronous consensus. In this talk, we'll describe the characteristics and requirements of Scylla's consensus implementation, and how it enables strongly consistent updates. We will also cover how consensus can be applied to other aspects of the system, such as schema changes, node membership, and range movements, in order to improve their reliability and safety. We will thus show that an eventually consistent database can leverage consensus without compromising either availability or performance.
This document discusses using Subversion for PHP deployment. It covers setting up a source control repository with Subversion, collaboration features like merging and resolving conflicts. It also discusses strategies for code deployment to multiple environments like development, testing and live sites, using branches, tags and automated deployment scripts. Database versioning and rollback is also addressed.
VMware vSphere 6.0 - Troubleshooting Training - Day 3 Sanjeev Kumar
The document discusses vSphere networking and distributed switches. It describes the benefits of distributed switches over standard switches, such as simplifying administration and enabling features like private VLANs and port mirroring. It explains how to create and manage distributed switches and port groups, assign physical NICs and virtual machines, and configure properties and advanced features. Troubleshooting tips are provided for issues with virtual machine communication across distributed switch ports.
The document provides an introduction to VMware vSphere distributed switches. It lists the benefits of distributed switches over standard switches, describes the distributed switch architecture, and discusses how to create, manage, and configure distributed switches and their properties. It also covers topics like distributed port groups, VMkernel networking, NetFlow, private VLANs, and troubleshooting distributed switch issues.
The Very Very Latest in Database Development - Oracle Open World 2012Lucas Jellema
The document discusses using virtual columns in Oracle databases to implement business rules and uniqueness constraints across tables in a declarative way. Virtual columns allow expressing attributes as SQL expressions of real columns, enabling indexing and foreign key constraints that check rules involving multiple tables or columns. Business rules that were previously only possible through procedural logic can now be enforced at the database level through virtual columns.
Right-size Deployment Instances to Meet Enterprise Demand WSO2
This document discusses best practices for delivering mission-critical production grade architectures and infrastructures. It covers deployment patterns, reference architectures, capacity planning, and scaling. The key points are: understanding business objectives, considering infrastructure policies and standards, drawing logical and physical architectures, gathering performance data, sizing instances based on capacity planning guidelines, and keeping a buffer for unexpected demand. The goal is to right-size deployments to meet enterprise needs.
Este documento examina el cumplimiento de pacientes hipertensos atendidos en el primer nivel de atención con el tratamiento antihipertensivo recomendado por la Norma Oficial Mexicana. El estudio encontró que el 40% de los pacientes cumplían con la Norma, siendo mayor el cumplimiento (48%) en pacientes con comorbilidades como diabetes. Los inhibidores de la ECA fueron el tratamiento más común, aunque la Norma recomienda diuréticos o betabloqueadores para pacientes sin otras enfermedades. El estudio con
El documento presenta una introducción a la historia de la tecnología médica, describiendo algunos de los avances clave como los rayos X, la tomografía computarizada en los años 70, y nuevas tecnologías de diagnóstico por imagen. Luego discute brevemente el desarrollo de dispositivos como respiradores artificiales, telemetría para monitorear el corazón, y cirugía de órganos. Finalmente, menciona ejemplos recientes como prótesis robóticas y el sistema quirúrgico Da Vinci.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
Este documento presenta estadísticas sobre accidentes mineros en Colombia entre 2005-2016. Reporta un total de 947 emergencias mineras con 1147 fatalidades. La principal causa de emergencias fueron derrumbes (35%) y la principal causa de fatalidades fueron explosiones (27%). Antioquia fue el departamento con más emergencias (18.5%) y fatalidades (23%).
O documento descreve o vestuário, adornos, fibras, cores e calçado usados na Idade Média, tanto pelo povo quanto pela nobreza. Detalha os materiais e cortes de roupas para homens e mulheres de diferentes classes sociais, assim como os instrumentos e técnicas de confecção usados.
Este documento presenta un estudio múltiple de las cuatro visiones sobre la celebración de Corpus Christi y los Diablos Danzantes de San Francisco de Yare. El estudio analiza las tradiciones populares venezolanas relacionadas con esta festividad religiosa y examina las perspectivas del sector religioso, foráneo, político y local a través de entrevistas y encuestas. El documento también revisa los antecedentes históricos de Corpus Christi y los orígenes de esta celebración en Venezuela y Yare.
- Chico's FAS is executing a new strategic plan under new CEO Shelley Broader focused on 4 areas: evolving the customer experience, strengthening brand positioning, leveraging actionable retail science, and sharpening financial principles.
- Broader has announced cost-cutting initiatives estimated to save $65-85 million annually, or 2.6-3.3% of revenue, making progress towards a 10% operating margin goal.
- Independent analysts applaud Broader's leadership and experience and recognize the benefits of her actions in driving long-term profitability through operational discipline, cost savings, and growth initiatives.
El documento presenta información sobre Marlon Aguirre, un estudiante de ingeniería civil en el paralelo M, con el profesor José Zapata. Además, describe los seis tipos de licencias Creative Commons, incluyendo Atribución, Atribución-CompartirIgual, Atribución-No Derivadas, Atribución-No Comercial, Atribución-No Comercial-CompartirIgual, y Atribución-No Comercial-No Derivadas.
Galera Multi Master Synchronous My S Q L Replication ClustersPerconaPerformance
Galera Replication provides multi-master synchronous replication for MySQL databases using a certification-based replication model. It avoids middleware and connects databases directly for transparency. Benchmarking shows it provides good scalability even under write-intensive workloads. Features include high availability, transparency, and the ability to retry aborted transactions.
This document provides an overview of version control using Subversion (SVN). It discusses key SVN concepts like the trunk, branches, and tags. It explains how SVN allows for collaboration between developers and management of code revisions. The document also summarizes SVN features like authentication, revision management, tagging for releases, and advanced topics like hooks and externals.
Scylla Summit 2018: Consensus in Eventually Consistent DatabasesScyllaDB
Eventually consistent databases choose to remain available under failure, allowing for conflicting data to be stored in different replicas (later repaired by background processes). Weakening the consistency guarantees improves not only availability, but also performance, as the number of replicas involved in a given operation can be minimized. There are, however, use-cases that require the opposite trade-off. Indeed, Apache Cassandra and Scylla provide Lightweight Transactions (LWT), which allow single-key linearizable updates. The mechanism underlying LWT is asynchronous consensus. In this talk, we'll describe the characteristics and requirements of Scylla's consensus implementation, and how it enables strongly consistent updates. We will also cover how consensus can be applied to other aspects of the system, such as schema changes, node membership, and range movements, in order to improve their reliability and safety. We will thus show that an eventually consistent database can leverage consensus without compromising either availability or performance.
This document discusses using Subversion for PHP deployment. It covers setting up a source control repository with Subversion, collaboration features like merging and resolving conflicts. It also discusses strategies for code deployment to multiple environments like development, testing and live sites, using branches, tags and automated deployment scripts. Database versioning and rollback is also addressed.
VMware vSphere 6.0 - Troubleshooting Training - Day 3 Sanjeev Kumar
The document discusses vSphere networking and distributed switches. It describes the benefits of distributed switches over standard switches, such as simplifying administration and enabling features like private VLANs and port mirroring. It explains how to create and manage distributed switches and port groups, assign physical NICs and virtual machines, and configure properties and advanced features. Troubleshooting tips are provided for issues with virtual machine communication across distributed switch ports.
The document provides an introduction to VMware vSphere distributed switches. It lists the benefits of distributed switches over standard switches, describes the distributed switch architecture, and discusses how to create, manage, and configure distributed switches and their properties. It also covers topics like distributed port groups, VMkernel networking, NetFlow, private VLANs, and troubleshooting distributed switch issues.
The Very Very Latest in Database Development - Oracle Open World 2012Lucas Jellema
The document discusses using virtual columns in Oracle databases to implement business rules and uniqueness constraints across tables in a declarative way. Virtual columns allow expressing attributes as SQL expressions of real columns, enabling indexing and foreign key constraints that check rules involving multiple tables or columns. Business rules that were previously only possible through procedural logic can now be enforced at the database level through virtual columns.
Right-size Deployment Instances to Meet Enterprise Demand WSO2
This document discusses best practices for delivering mission-critical production grade architectures and infrastructures. It covers deployment patterns, reference architectures, capacity planning, and scaling. The key points are: understanding business objectives, considering infrastructure policies and standards, drawing logical and physical architectures, gathering performance data, sizing instances based on capacity planning guidelines, and keeping a buffer for unexpected demand. The goal is to right-size deployments to meet enterprise needs.
The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...confluent
- Saxo Bank is migrating to a data mesh architecture using Apache Kafka and Avro schemas to distribute data across domains and enable data sharing.
- They are working to automate the onboarding process for new data domains and producers/consumers to simplify development and ensure governance.
- Some challenges include limited support for .NET in Confluent platforms, compatibility issues between code generators and the schema registry, and mapping complex database schemas to Avro schemas.
JavaEdge 2008: Your next version control systemGilad Garon
The next generation of VCS has a clear target ahead of them: making branching and merging easier. Until recently, Subversion was dominating the world of Version Control Systems, but now, Distributed Version Control Systems are growing in popularity and everywhere you go you hear about Git or Mercurial, and how they make branching and merging a breeze. But the Subversion team isn't going down quietly, they have a new weapon: the 1.5 version. Learn about the next generation of Version Control Systems is planning to solve your problems.
Disaggregated Networking - The Drivers, the Software & The High AvailabilityOpen Networking Summit
Dis-agregration is real… This trend started with SDN and the separation of Data plane and Control plane. The scope has expanded to include separate of hardware and software and created a whole new industry of white boxes, general purpose X86 commodity hardware. All three markets - Cloud, Enterprise and Carriers are now engaged in various solutions inside the Data Center. The disaggregation is impacted all parts of the network including Access and Edge layers.
Creator: Joel Champagne, President of CodeX Enterprises
This presentation covers various issues associated with SQL unit testing. We’ll look at end solutions in demo form using Visual Studio 2010 and other third party tools.
You'll learn:
* The value of pursuing SQL testing, early and continually in the development cycle
* Capabilities in Visual Studio 2010 to support SQL unit testing
* Capabilities in other tools to support SQL unit testing
Those days, when it seemed, that web applications have overthrown standard “cumbersome” client apps, we’ll speak about present and future of consumer oriented desktop applications. This includes, but not restricted to patterns of LOB applications development with WPF, right multimedia support of DirectX bridge and new features, waiting for you in Windows 7. Also we’ll speak about subject oriented programming, will be introduced in NET. 4.0 and how to leverage it even today with the current version of Microsoft framework. tits will be shown during the session, thus restricted to mature audiences
The document discusses strategies for constructing and administering VMware vSphere environments. It notes that 44% of virtualization deployments fail due to issues like lack of ROI quantification and training. 55% of organizations experience more problems than benefits with virtualization due to issues like lack of visibility, tools, and education. The document advocates becoming an "ESXpert" to elevate your experience with virtualization and avoid common pitfalls. It outlines six typical steps in a virtualization implementation including environment assessment, constructing virtualization, backups expansion, virtualization to private cloud, virtualization at the desktop, and DR implementation.
This document provides an overview of implementing affordable disaster recovery with Hyper-V and multi-site clustering. It discusses what constitutes a disaster, the key components needed which are a storage mechanism, replication mechanism, and target servers/cluster. It also covers clustering history, what a cluster is, and the important concept of quorum which determines a cluster's existence through voting of its members.
Ola Bini gave a whirlwind tour of JRuby, a Java implementation of the Ruby programming language. Some key points included: JRuby allows Ruby code to run on the Java virtual machine, taking advantage of features like native threading and access to Java libraries. It can run in several modes including interpreted, compiled, and just-in-time compiled. JRuby is commonly used to run Ruby on Rails applications, and tools like ActiveRecord-JDBC facilitate database access. Several other Ruby tools and frameworks like RSpec work with JRuby. Ola demonstrated several JRuby projects including Profligacy, Rubiq, and Swing wrappers. Future work includes finishing the compiler and exploring alternative interpreters like
SOLR is a RESTful web service built on top of Lucene that provides powerful full-text search capabilities across various data types and formats. It allows for easy setup and use, supports features like replication, CSV importing, JSON results, and highlighting, and has an active development community. The document provides an overview of SOLR and how to install, configure, and query it using its web-based control panel and Lucene query syntax. Examples are given for creating schemas and applications to index and search blog data using SOLR.
This document provides an overview of creating PHP extensions. It discusses PHP's handling of data using zval structures, creating extension files and configuration files, writing helper functions, and the overall layout of the main .c file. The goal is to teach developers how to build custom PHP extensions that add new functionality.
This document summarizes the development and maintenance of a large web application called Arcos over 2.5 years. It includes:
- Details on the codebase which includes nearly 80,000 lines of Perl code, 4,900 lines of SQL, and uses over 140 modules.
- The key features of Arcos including a CMS, e-commerce, data warehouse, email campaigns, job queue, and reporting.
- Challenges around deployment including managing dependencies, upgrades, testing, and configuration.
- Approaches to version control, releases, maintenance, and testing the application.
The document discusses different strategies companies can take when open sourcing code and their pros and cons. It recommends a consensus-based development strategy where decisions are made based on consensus of committers from both the company and community. This strategy builds long-term sustainable communities and trust while resulting in high quality software, though it requires more work upfront. The document provides tips for companies on crafting their community and moving development to be public and consensus-based.
Gofer is a scalable stateless proxy architecture for DBI that is transport independent, highly configurable, efficient, tested, scalable, and cacheable. It uses a simple request/response protocol and pluggable transport modules. Popular transport modules include null, stream (SSH), HTTP, and Gearman. The DBD::Gofer driver accumulates DBI method calls and delays forwarding requests to reduce round trips. Connection pooling can be implemented using Gofer with an HTTP transport behind an Apache load balancer for high performance and fail-over.
The document discusses the Yahoo User Interface (YUI) Cascading Style Sheets (CSS) framework. It provides an overview of the key YUI CSS files, including reset.css for normalizing HTML elements, fonts.css for font styling, and grids.css for page layouts. It also covers common CSS concepts like the cascade, floats, positioning, and table-less design implemented through CSS. The document encourages semantic class names, proper formatting and comments for maintainability, and recommends tools for CSS development.
The document discusses establishing a performance baseline for a PostgreSQL database. It recommends gathering hardware, operating system, database, and application configuration details. The baseline involves configuring these layers with generally recommended settings, including updating hardware/OS, using appropriate filesystem and PostgreSQL configuration settings, and setting up regular maintenance tasks. Establishing a baseline configuration helps identify potential performance issues and allows comparison to other systems.
The document discusses different stages of copyright reform and the debate around file sharing. It describes an initial stage of total control and panic by copyright holders, followed by stages of legal reform, abandoning DRM, and embracing Internet Service Provider (ISP)-level DRM. It notes trends around broadcast flags, universities censoring, and trade agreements. It also discusses whether to panic about or ignore file sharing rising, and losing legal and regulatory battles but winning practical ones. The implications for open source and acknowledgements are mentioned.
This document provides an overview of Second Life, including its growth since 2003, current size and usage statistics, and technical architecture. Some key points include:
- Second Life is an online virtual world with over 8 million registered users and 500,000 active residents.
- It has grown significantly since 2003, now processing over 100 million SQL queries per day and 1 petabyte of monthly traffic.
- Ordinary people spend significant time in Second Life, with over 669,000 hours of use per day and a median age of 34.
- In 2007 Linden Lab open sourced the viewer code, which has received over 500 subscribers and 135 patches from outside contributors.
- The current server architecture has some limitations
The document discusses Jingle, an open standard protocol for real-time communication like voice and video calls over the XMPP protocol. Jingle allows for peer-to-peer connections using techniques like STUN and ICE to traverse NATs and firewalls, with the ability to fallback to using media servers. The standard is maturing and implementations exist in libraries like libjingle, allowing for open, interoperable voice and video communication on a global federated XMPP network.
This document provides a list of the "Top Ten Ways to Sabotage your Project...with Subversion!" including things like not backing up the repository, putting unnecessary files in the repository, and directly editing the repository database rather than using SVN commands. The Q&A section warns a user not to directly edit the repository files and to instead use SVN commands.
This document discusses PHP Data Objects (PDO), a database abstraction layer for PHP. PDO provides a common interface for accessing various database systems and aims to eliminate inconsistencies in different database extensions. It allows prepared statements and bound parameters to help prevent SQL injection attacks. PDO is included with PHP 5.1 and later and provides drivers for many database systems including MySQL, PostgreSQL, SQLite, and SQL Server.
This document provides an overview of key concepts in US copyright, patent, and trademark law. It discusses what is and isn't covered by copyright, including originality requirements and exclusive rights. It also summarizes the patent examination process, prior art considerations, obviousness standards, and litigation procedures. For trademarks, it outlines levels of protection, registration processes, and infringement analysis based on consumer confusion. The document aims to dispel common myths and misconceptions that open source developers have about intellectual property law.
Lucene is an open-source search engine library that was created at Stanford University and is now developed by The Apache Software Foundation. It provides powerful full-text search and indexing capabilities out of the box and can be easily integrated into applications. Lucene syntax allows for field-specific searching, proximity searching, wildcard searching, and more.
This document discusses various technologies related to Ajax and web services, including:
1. Ajax started as an acronym for Asynchronous JavaScript and XML.
2. It describes common web service protocols like REST and SOAP. REST uses HTTP methods to perform CRUD operations on resources while SOAP uses an XML envelope.
3. It provides an example of using Ajax with a simple Perl script to retrieve the answer to "What is the meaning of life?" stored on a server and display it in the browser.
This document discusses various tools for debugging and testing the web tier, including:
- Firebug and Web Developer Toolbar which allow debugging of CSS, browser features, and JavaScript.
- JsUnit which provides a unit testing framework for JavaScript with capabilities like test functions, suites, and automated testing.
- Selenium which is a tool for acceptance testing that simulates user interactions and uses standard browser technologies.
- Other tools mentioned are Crosscheck for unit testing, and tracing for viewing test outputs. The document emphasizes the importance of testing and debugging for software quality.
The document discusses taking a holistic view of programming. It summarizes Adam Keys' presentation at OSCON 2007 on being a "holistic programmer". The presentation discusses understanding the layers above and below where you program in a software stack. It provides examples of abstractions that leak and summarizes Keys' discussion of compilers and algorithms, focusing on understanding data structures, grammars, parsers and automata involved in compiling source code.
1. Creative Commons is developing more flexible copyright options between all rights reserved and no rights reserved, known as "some rights reserved", to lower transaction costs for reuse of creative works.
2. Creative Commons provides free copyright licenses and tools to allow creators to choose how their works can be shared, reused and remixed legally.
3. The organization aims to extend their current initiatives to build interoperability between free and commercial culture and economies by developing new technologies, standards and projects.
This document appears to be notes from a presentation or workshop on computational geometry and modeling using the programming language Python. The notes cover topics like vectors, edges, polygons, polyhedra, strings, templates, and visualization. Examples are provided of using Python to model geometric objects and solve computational geometry problems. References are also made to several related conferences and projects from the 2000s.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Project Management Semester Long Project - Acuityjpupo2018
Acuity is an innovative learning app designed to transform the way you engage with knowledge. Powered by AI technology, Acuity takes complex topics and distills them into concise, interactive summaries that are easy to read & understand. Whether you're exploring the depths of quantum mechanics or seeking insight into historical events, Acuity provides the key information you need without the burden of lengthy texts.
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.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
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.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
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!
Webinar: Designing a schema for a Data WarehouseFederico Razzoli
Are you new to data warehouses (DWH)? Do you need to check whether your data warehouse follows the best practices for a good design? In both cases, this webinar is for you.
A data warehouse is a central relational database that contains all measurements about a business or an organisation. This data comes from a variety of heterogeneous data sources, which includes databases of any type that back the applications used by the company, data files exported by some applications, or APIs provided by internal or external services.
But designing a data warehouse correctly is a hard task, which requires gathering information about the business processes that need to be analysed in the first place. These processes must be translated into so-called star schemas, which means, denormalised databases where each table represents a dimension or facts.
We will discuss these topics:
- How to gather information about a business;
- Understanding dictionaries and how to identify business entities;
- Dimensions and facts;
- Setting a table granularity;
- Types of facts;
- Types of dimensions;
- Snowflakes and how to avoid them;
- Expanding existing dimensions and facts.
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxSitimaJohn
Ocean Lotus cyber threat actors represent a sophisticated, persistent, and politically motivated group that poses a significant risk to organizations and individuals in the Southeast Asian region. Their continuous evolution and adaptability underscore the need for robust cybersecurity measures and international cooperation to identify and mitigate the threats posed by such advanced persistent threat groups.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
1. “Next Generation” Version Control Systems
...or why bzr, hg, and git rock so hard
S. Vilain
Catalyst IT (NZ) Limited
Open Source Conference, 2007
2. Outline
Historical Context
Distributed >> Centralised
Benefits of Distribution
The Model of Distribution
Revision Data Warehousing
Stable Development Model
The Variety of NG VCS Experience
The Players
Differentiating Factors
Pragmatic Concerns
3. Outline
Historical Context
Distributed >> Centralised
Benefits of Distribution
The Model of Distribution
Revision Data Warehousing
Stable Development Model
The Variety of NG VCS Experience
The Players
Differentiating Factors
Pragmatic Concerns
4. Outline
Historical Context
Distributed >> Centralised
Benefits of Distribution
The Model of Distribution
Revision Data Warehousing
Stable Development Model
The Variety of NG VCS Experience
The Players
Differentiating Factors
Pragmatic Concerns
5. RNA - Information and Function
c. 2-3bn. BCE
Basic Copying of
◮
Information
No protection or
◮
validation
7. Neural Networks
c. 1bn. BCE-today
Transmission of
◮
references to
information
Distributed in clusters
◮
(organisms)
Generally support
◮
forking well
Facilitated
◮
development of
Mathematics and
Computer Science
8. Synchronous Editing
SCCS (c.1970), RCS (c.1980)
Source and
◮
repository kept
together
Free (GNU) version –
◮
RCS
Practice - locking for
◮
edit, “lock stealing”
RCS still best
◮
practice for SysAdmin
use
9. Detached Repository - Concurrent Versions System
1991-c.2001
Shell scripts to
◮
separate source from
checkout
Network separation
◮
via rsh
Used branching
◮
support in RCS for
concurrent
development
10. Sub- Version System
2001-
C programs to
◮
separate source from
checkout
Network separation
◮
via binary protocol,
WebDAV
Flattened branching,
◮
some copy efficiency,
new “dimension” of
properties
11. Distributed Development - Patch-based systems
from 1985
patch: automatic
◮
application of context
diffs
Unified diffs - allow
◮
changes to be
reviewed
“tags” simply
◮
snapshots of source
many tools based on
◮
patches - arch,
bazaar, darcs
12. “Next Generation” tools
c.2002-
Fully distributed
◮
Every revision
◮
trace-able
Efficient
◮
packs/bundles (sets
of revisions)
Complete, uniform
◮
distribution of history
Many peripheral
◮
benefits
13. Outline
Historical Context
Distributed >> Centralised
Benefits of Distribution
The Model of Distribution
Revision Data Warehousing
Stable Development Model
The Variety of NG VCS Experience
The Players
Differentiating Factors
Pragmatic Concerns
14. Distribution Benefits 1 of many
Central point of failure
Central point of failure:
centralisation requires a “master” to, at the very least,
◮
assign commit IDs
decentralisation assigns commit IDs in unique ways
◮
(content hashing, UUIDs)
So:
Central servers become points of failure (for the services
◮
they provide) and contention. ie, your server goes down,
people are interrupted
collaboration between disconnected people impeded
◮
15. Distribution Benefits 1 of many
Central point of failure
Central point of failure:
centralisation requires a “master” to, at the very least,
◮
assign commit IDs
decentralisation assigns commit IDs in unique ways
◮
(content hashing, UUIDs)
So:
Central servers become points of failure (for the services
◮
they provide) and contention. ie, your server goes down,
people are interrupted
collaboration between disconnected people impeded
◮
16. Distribution Benefits 2 of many
transactions or atomic commits?
So, your Centralised VCS gives you “Atomic Updates”
Unix guarantees write ordering on filehandles, but that does not
make it a database.
“A” is only one letter out of “ACID”.
So,
centralisation is inherantly non-transactional - “dirty read” -
◮
changes all in the same place
decentralisation is inherantly transactional - “consistent
◮
read” - your changes don’t affect others
17. Distribution Benefits 2 of many
transactions or atomic commits?
So, your Centralised VCS gives you “Atomic Updates”
Unix guarantees write ordering on filehandles, but that does not
make it a database.
“A” is only one letter out of “ACID”.
So,
centralisation is inherantly non-transactional - “dirty read” -
◮
changes all in the same place
decentralisation is inherantly transactional - “consistent
◮
read” - your changes don’t affect others
18. Distribution Benefits 3 of many
any to any merge pattern
centralisation requires
◮
the “Star” pattern
one big cluster of
◮
develpment
decentralisation makes
◮
such constructs optional
or notional
self-forming clusters
◮
of develpment
19. Distribution Benefits 3 of many
any to any merge pattern
centralisation requires
◮
the “Star” pattern
one big cluster of
◮
develpment
decentralisation makes
◮
such constructs optional
or notional
self-forming clusters
◮
of develpment
20. Outline
Historical Context
Distributed >> Centralised
Benefits of Distribution
The Model of Distribution
Revision Data Warehousing
Stable Development Model
The Variety of NG VCS Experience
The Players
Differentiating Factors
Pragmatic Concerns
21. Revision Model requirements for Distribution
The Revision DAG
must represent
◮
merges to work
versions must not
◮
change by location
branching is in the
◮
direction of changes
22. When Revision Models go Wrong #1
merge tracking can refer to other repositories
initial state
◮
sync from mirror
◮
perform Merge
◮
another change
◮
push - whoops
◮
push
◮
23. When Revision Models go Wrong #1
merge tracking can refer to other repositories
initial state
◮
sync from mirror
◮
perform Merge
◮
another change
◮
push - whoops
◮
push
◮
24. When Revision Models go Wrong #1
merge tracking can refer to other repositories
initial state
◮
sync from mirror
◮
perform Merge
◮
another change
◮
push - whoops
◮
push
◮
25. When Revision Models go Wrong #1
merge tracking can refer to other repositories
initial state
◮
sync from mirror
◮
perform Merge
◮
another change
◮
push - whoops
◮
push
◮
26. When Revision Models go Wrong #1
merge tracking can refer to other repositories
initial state
◮
sync from mirror
◮
perform Merge
◮
another change
◮
push - whoops
◮
push
◮
27. When Revision Models go Wrong #1
merge tracking can refer to other repositories
initial state
◮
sync from mirror
◮
perform Merge
◮
another change
◮
push - whoops
◮
push
◮
28. When Revision Models go Wrong #2
merge tracking within a repository
(as in SVN 1.5+)
initial state
◮
make a change and new
◮
branch
make a change to trunk
◮
merge trunk to branch
◮
merge branch to trunk. Note
◮
r4, r5 have (or should have)
identical content and set of
changes.
what will merge from trunk to
◮
branch do?
distributed model resists the
◮
problem
29. When Revision Models go Wrong #2
merge tracking within a repository
(as in SVN 1.5+)
initial state
◮
make a change and new
◮
branch
make a change to trunk
◮
merge trunk to branch
◮
merge branch to trunk. Note
◮
r4, r5 have (or should have)
identical content and set of
changes.
what will merge from trunk to
◮
branch do?
distributed model resists the
◮
problem
30. When Revision Models go Wrong #2
merge tracking within a repository
(as in SVN 1.5+)
initial state
◮
make a change and new
◮
branch
make a change to trunk
◮
merge trunk to branch
◮
merge branch to trunk. Note
◮
r4, r5 have (or should have)
identical content and set of
changes.
what will merge from trunk to
◮
branch do?
distributed model resists the
◮
problem
31. When Revision Models go Wrong #2
merge tracking within a repository
(as in SVN 1.5+)
initial state
◮
make a change and new
◮
branch
make a change to trunk
◮
merge trunk to branch
◮
merge branch to trunk. Note
◮
r4, r5 have (or should have)
identical content and set of
changes.
what will merge from trunk to
◮
branch do?
distributed model resists the
◮
problem
32. When Revision Models go Wrong #2
merge tracking within a repository
(as in SVN 1.5+)
initial state
◮
make a change and new
◮
branch
make a change to trunk
◮
merge trunk to branch
◮
merge branch to trunk. Note
◮
r4, r5 have (or should have)
identical content and set of
changes.
what will merge from trunk to
◮
branch do?
distributed model resists the
◮
problem
33. When Revision Models go Wrong #2
merge tracking within a repository
(as in SVN 1.5+)
initial state
◮
make a change and new
◮
branch
make a change to trunk
◮
merge trunk to branch
◮
merge branch to trunk. Note
◮
r4, r5 have (or should have)
identical content and set of
changes.
what will merge from trunk to
◮
branch do?
distributed model resists the
◮
problem
34. When Revision Models go Wrong #2
merge tracking within a repository
(as in SVN 1.5+)
initial state
◮
make a change and new
◮
branch
make a change to trunk
◮
merge trunk to branch
◮
merge branch to trunk. Note
◮
r4, r5 have (or should have)
identical content and set of
changes.
what will merge from trunk to
◮
branch do?
distributed model resists the
◮
problem
35. Outline
Historical Context
Distributed >> Centralised
Benefits of Distribution
The Model of Distribution
Revision Data Warehousing
Stable Development Model
The Variety of NG VCS Experience
The Players
Differentiating Factors
Pragmatic Concerns
36. Revision Data Warehouse
On-Line Analytical Processing of your source
Goal: find more information on the reasons for changes
◮
Observation: ‘log’ is only one approach of many
◮
git-log -S’string’ : find changes that introduced
◮
“string” (also hg grep, hgrep plug-in for bzr)
git-annotate -C : follows lines moving between source
◮
files
visualization tools: gitk, hgk, olive, that allow advanced
◮
inspection of history
37. Outline
Historical Context
Distributed >> Centralised
Benefits of Distribution
The Model of Distribution
Revision Data Warehousing
Stable Development Model
The Variety of NG VCS Experience
The Players
Differentiating Factors
Pragmatic Concerns
38. Stable Development Model
It’s not just a slogan
Perhaps the major benefit of DSCM
◮
Using DSCM doesn’t give you a stable development model
◮
for free
This development practice is possible with SVK or even
◮
Subversion, in princple
...but with DSCM it’s actually achievable and even common
◮
practice, because bad changes are more easily dropped
39. Stable Development Model
It’s not just a slogan
Perhaps the major benefit of DSCM
◮
Using DSCM doesn’t give you a stable development model
◮
for free
This development practice is possible with SVK or even
◮
Subversion, in princple
...but with DSCM it’s actually achievable and even common
◮
practice, because bad changes are more easily dropped
40. Stable Development Model
It’s not just a slogan
Perhaps the major benefit of DSCM
◮
Using DSCM doesn’t give you a stable development model
◮
for free
This development practice is possible with SVK or even
◮
Subversion, in princple
...but with DSCM it’s actually achievable and even common
◮
practice, because bad changes are more easily dropped
41. Stable Development Model
What you pay for what pay-off
Discipline:
no single commit can break the (build/test suite/etc)
◮
every single commit is well described
◮
Benefits:
bisect: finding exactly which commit ruined your day, as
◮
every revision should build and work
review: much easier for third parties to comment
◮
stability: if done right, even people tracking bleeding edge
◮
don’t get put off working on the project by romping
instability
42. Stable Development Model
What you pay for what pay-off
Discipline:
no single commit can break the (build/test suite/etc)
◮
every single commit is well described
◮
Benefits:
bisect: finding exactly which commit ruined your day, as
◮
every revision should build and work
review: much easier for third parties to comment
◮
stability: if done right, even people tracking bleeding edge
◮
don’t get put off working on the project by romping
instability
43. Outline
Historical Context
Distributed >> Centralised
Benefits of Distribution
The Model of Distribution
Revision Data Warehousing
Stable Development Model
The Variety of NG VCS Experience
The Players
Differentiating Factors
Pragmatic Concerns
44.
45. Version Control: The Next Generation
Enterprise-ready
Bazaar-NG (bzr) - python-based. Longest runner, not as
◮
fast as the others but still keeping pace with features.
git - Unix-style CL-API to internals. Blinding fast at almost
◮
everything. Extremely active. Sports the “Content Hashed
Filesystem” idea stolen from Monotone.
Mercurial (hg) - python and C. Also extremely fast, with
◮
progress and features defying their relatively small
community.
46. Version Control: The Next Generation
Enterprise-ready
Bazaar-NG (bzr) - python-based. Longest runner, not as
◮
fast as the others but still keeping pace with features.
git - Unix-style CL-API to internals. Blinding fast at almost
◮
everything. Extremely active. Sports the “Content Hashed
Filesystem” idea stolen from Monotone.
Mercurial (hg) - python and C. Also extremely fast, with
◮
progress and features defying their relatively small
community.
47. Version Control: The Next Generation
Enterprise-ready
Bazaar-NG (bzr) - python-based. Longest runner, not as
◮
fast as the others but still keeping pace with features.
git - Unix-style CL-API to internals. Blinding fast at almost
◮
everything. Extremely active. Sports the “Content Hashed
Filesystem” idea stolen from Monotone.
Mercurial (hg) - python and C. Also extremely fast, with
◮
progress and features defying their relatively small
community.
48. Outline
Historical Context
Distributed >> Centralised
Benefits of Distribution
The Model of Distribution
Revision Data Warehousing
Stable Development Model
The Variety of NG VCS Experience
The Players
Differentiating Factors
Pragmatic Concerns
49. NG Tools: Inodes vs Content
who do you trust?
git - considers inode history uninteresting, derivable from
◮
the content. No conventions for explicitly recording inode
movement history (renames etc)
pros: history mining more advanced by necessity, no scope
◮
for recording such information incorrectly.
cons: occasionally doesn’t detect renames, any
◮
inode-based operation relatively slow
hg, bzr - file-based backing store means that inode history
◮
is the primary approach
pros: “lossless” (or, GIGO if you prefer) storing of file history
◮
cons: commit files the wrong way and you might not see the
◮
real history.
50. NG Tools: Inodes vs Content
who do you trust?
git - considers inode history uninteresting, derivable from
◮
the content. No conventions for explicitly recording inode
movement history (renames etc)
pros: history mining more advanced by necessity, no scope
◮
for recording such information incorrectly.
cons: occasionally doesn’t detect renames, any
◮
inode-based operation relatively slow
hg, bzr - file-based backing store means that inode history
◮
is the primary approach
pros: “lossless” (or, GIGO if you prefer) storing of file history
◮
cons: commit files the wrong way and you might not see the
◮
real history.
51. NG Tools: UUID generation
random or just pseudo-random?
hg, git - revision IDs checksum the content and revision
◮
history, therefore offer lossless revisions
bzr - patch IDs are purely UUIDs. Technically could
◮
therefore lose data back to the last signed tag (“testament”)
UUIDs:
pros: when cherry picking, give you a token to refer to.
◮
Also, partial imports when dealing with foreign VCSes
easier
cons: such tokens don’t guarantee anything about the
◮
delivered change
52. NG Tools: UUID generation
random or just pseudo-random?
hg, git - revision IDs checksum the content and revision
◮
history, therefore offer lossless revisions
bzr - patch IDs are purely UUIDs. Technically could
◮
therefore lose data back to the last signed tag (“testament”)
UUIDs:
pros: when cherry picking, give you a token to refer to.
◮
Also, partial imports when dealing with foreign VCSes
easier
cons: such tokens don’t guarantee anything about the
◮
delivered change
53. NG Tools: UUID generation
random or just pseudo-random?
hg, git - revision IDs checksum the content and revision
◮
history, therefore offer lossless revisions
bzr - patch IDs are purely UUIDs. Technically could
◮
therefore lose data back to the last signed tag (“testament”)
UUIDs:
pros: when cherry picking, give you a token to refer to.
◮
Also, partial imports when dealing with foreign VCSes
easier
cons: such tokens don’t guarantee anything about the
◮
delivered change
54. NG Tools: Lightweight Branches
important to encourage frequent topic branching
◮
ideal: every bug, feature, etc can get its own branch from
◮
last stable release until it is fully reviewed and known to be
good.
git - virtually pioneered lightweight branches
◮
hg - now supports lightweight branches well, though
◮
repositories still accumulate deleted branches. Use mq
bzr - not directly supported, so less efficient (but branching
◮
still common practice)
Advanced add-ons to manage refining changes - Stacked Git
(stg) and guilt in git and Mercurial Queues (mq) in hg.
For bzr there is also Patch Queue Manager (PQM) - branch
dashboard, and rebase plug-in
55. NG Tools: Lightweight Branches
important to encourage frequent topic branching
◮
ideal: every bug, feature, etc can get its own branch from
◮
last stable release until it is fully reviewed and known to be
good.
git - virtually pioneered lightweight branches
◮
hg - now supports lightweight branches well, though
◮
repositories still accumulate deleted branches. Use mq
bzr - not directly supported, so less efficient (but branching
◮
still common practice)
Advanced add-ons to manage refining changes - Stacked Git
(stg) and guilt in git and Mercurial Queues (mq) in hg.
For bzr there is also Patch Queue Manager (PQM) - branch
dashboard, and rebase plug-in
56. NG Tools: Lightweight Branches
important to encourage frequent topic branching
◮
ideal: every bug, feature, etc can get its own branch from
◮
last stable release until it is fully reviewed and known to be
good.
git - virtually pioneered lightweight branches
◮
hg - now supports lightweight branches well, though
◮
repositories still accumulate deleted branches. Use mq
bzr - not directly supported, so less efficient (but branching
◮
still common practice)
Advanced add-ons to manage refining changes - Stacked Git
(stg) and guilt in git and Mercurial Queues (mq) in hg.
For bzr there is also Patch Queue Manager (PQM) - branch
dashboard, and rebase plug-in
57. Outline
Historical Context
Distributed >> Centralised
Benefits of Distribution
The Model of Distribution
Revision Data Warehousing
Stable Development Model
The Variety of NG VCS Experience
The Players
Differentiating Factors
Pragmatic Concerns
58. NG SCMs: ease of use
nanna-ready
bzr and hg - ease of use and simplicity always considered
◮
a driving focus.
git - “If you want a usability feature, go implement it you
◮
lazy user, this is Open Source, scratch your own itch would
you?”
...however these days it’s much of a muchness
...however also remember I prefer git, so I would say that
59. NG SCMs: ease of use
nanna-ready
bzr and hg - ease of use and simplicity always considered
◮
a driving focus.
git - “If you want a usability feature, go implement it you
◮
lazy user, this is Open Source, scratch your own itch would
you?”
...however these days it’s much of a muchness
...however also remember I prefer git, so I would say that
60. NG SCMs: ease of use
nanna-ready
bzr and hg - ease of use and simplicity always considered
◮
a driving focus.
git - “If you want a usability feature, go implement it you
◮
lazy user, this is Open Source, scratch your own itch would
you?”
...however these days it’s much of a muchness
...however also remember I prefer git, so I would say that
61. NG SCMs: ease of use
nanna-ready
bzr and hg - ease of use and simplicity always considered
◮
a driving focus.
git - “If you want a usability feature, go implement it you
◮
lazy user, this is Open Source, scratch your own itch would
you?”
...however these days it’s much of a muchness
...however also remember I prefer git, so I would say that
62. NG SCMs: portability
hg - performs well on Windows and Unix
◮
bzr - performs and installs well on both
◮
git - written by Linus Torvalds
◮
63. NG SCMs: portability
hg - performs well on Windows and Unix
◮
bzr - performs and installs well on both
◮
git - written by Linus Torvalds
◮
64. NG SCMs: portability
hg - performs well on Windows and Unix
◮
bzr - performs and installs well on both
◮
git - written by Linus Torvalds
◮
65. NG SCMs: portability
hg - performs well on
◮
“You want it to work on Windows?
Windows and Unix
This is Open Source, scratch your
bzr - performs and
◮
own itch would you you lazy
installs well on both
Windows user?!”
git - written by Linus
◮
Torvalds
66. NG SCMs: portability
Cygwin works today (slowly)
◮
hg - performs well on
◮
Windows and Unix MinGW port shows promise
◮
bzr - performs and Minimal pure-Java
◮ ◮
installs well on both implementation (for Eclipse)
git - written by Linus C# .NET implementation
◮ ◮
Torvalds underway by Mono crew
67. NG SCMs: speed
bzr - not a primary focus. “Fast enough for most users”.
◮
Good to many thousands of changes.
hg - optimised for the “cold cache” case. Very fast.
◮
git - optimises for the “warm cache” case. Very fast.
◮
git and hg have certain operations one or the other is faster or
slower at, but they are both far beyond the performance of
virtually everything else.
68. NG SCMs: speed
bzr - not a primary focus. “Fast enough for most users”.
◮
Good to many thousands of changes.
hg - optimised for the “cold cache” case. Very fast.
◮
git - optimises for the “warm cache” case. Very fast.
◮
git and hg have certain operations one or the other is faster or
slower at, but they are both far beyond the performance of
virtually everything else.
69. NG SCMs: speed
bzr - not a primary focus. “Fast enough for most users”.
◮
Good to many thousands of changes.
hg - optimised for the “cold cache” case. Very fast.
◮
git - optimises for the “warm cache” case. Very fast.
◮
git and hg have certain operations one or the other is faster or
slower at, but they are both far beyond the performance of
virtually everything else.
70. NG SCMs: speed
bzr - not a primary focus. “Fast enough for most users”.
◮
Good to many thousands of changes.
hg - optimised for the “cold cache” case. Very fast.
◮
git - optimises for the “warm cache” case. Very fast.
◮
git and hg have certain operations one or the other is faster or
slower at, but they are both far beyond the performance of
virtually everything else.
71. NG SCMs: repository size
bzr - not a primary focus, though still quite efficient.
◮
hg - very tight packs and repositories. Can “repack” via hg
◮
bundle
git - very tight packs and repositories. in principle more
◮
space efficient than hg, but only rarely bourne out in
practice. Typically 10 times smaller repositories than SVN
fsfs.
Both git and hg often get the entire project history and head
checkout into a space smaller than a single svn HEAD
checkout. GCC is one extreme example of this - 1.1GB SVN
head checkout, 280MB git repository (vs approx. 18GB for the
full SVN repository).
72. NG SCMs: repository size
bzr - not a primary focus, though still quite efficient.
◮
hg - very tight packs and repositories. Can “repack” via hg
◮
bundle
git - very tight packs and repositories. in principle more
◮
space efficient than hg, but only rarely bourne out in
practice. Typically 10 times smaller repositories than SVN
fsfs.
Both git and hg often get the entire project history and head
checkout into a space smaller than a single svn HEAD
checkout. GCC is one extreme example of this - 1.1GB SVN
head checkout, 280MB git repository (vs approx. 18GB for the
full SVN repository).
73. NG SCMs: repository size
bzr - not a primary focus, though still quite efficient.
◮
hg - very tight packs and repositories. Can “repack” via hg
◮
bundle
git - very tight packs and repositories. in principle more
◮
space efficient than hg, but only rarely bourne out in
practice. Typically 10 times smaller repositories than SVN
fsfs.
Both git and hg often get the entire project history and head
checkout into a space smaller than a single svn HEAD
checkout. GCC is one extreme example of this - 1.1GB SVN
head checkout, 280MB git repository (vs approx. 18GB for the
full SVN repository).
74. NG SCMs: repository size
bzr - not a primary focus, though still quite efficient.
◮
hg - very tight packs and repositories. Can “repack” via hg
◮
bundle
git - very tight packs and repositories. in principle more
◮
space efficient than hg, but only rarely bourne out in
practice. Typically 10 times smaller repositories than SVN
fsfs.
Both git and hg often get the entire project history and head
checkout into a space smaller than a single svn HEAD
checkout. GCC is one extreme example of this - 1.1GB SVN
head checkout, 280MB git repository (vs approx. 18GB for the
full SVN repository).
75. Summary
The three NG tools covered differ chiefly in efficiency and
◮
user interface
The revision graph concept is seen in all these tools.
◮
A location independent revision model is paramount to
◮
successfully achieving the stable development model
76. For Further Reading I
Various sections of relevance on Wikipedia articles
http://en.wikipedia.org/wiki/Comparison of revision control software
http://en.wikipedia.org/wiki/Git %28software%29#References
S. Vilain.
An Introduction to git-svn for Subversion/SVK users and
deserters (advocacy and limitations sections)
http://utsl.gen.nz/talks/git-svn/intro.html#wtf-why
http://utsl.gen.nz/talks/git-svn/intro.html#sux