Peter Marshall, Technology Evangelist at Imply
Abstract: Apache Druid® can revolutionise business decision-making with a view of the freshest of fresh data in web, mobile, desktop, and data science notebooks. In this talk, we look at key activities to integrate into Apache Druid POCs, discussing common hurdles and signposting to important information.
Bio: Peter Marshall (https://petermarshall.io) is an Apache Druid Technology Evangelist at Imply (http://imply.io/), a company founded by original developers of Apache Druid. He has 20 years architecture experience in CRM, EDRM, ERP, EIP, Digital Services, Security, BI, Analytics, and MDM. He is TOGAF certified and has a BA degree in Theology and Computer Studies from the University of Birmingham in the United Kingdom.
One of the most popular use cases for Apache Druid is building data applications. Data applications exist to deliver data into the hands of everyone on a team in a business, and are used by these teams to make faster, better decisions. To fulfill this role, they need to support granular drill down, because the devil is in the details, but also be extremely fast, because otherwise people won't use them!
In this talk, Gian Merlino will cover:
*The unique technical challenges of powering data-driven applications
*What attributes of Druid make it a good platform for data applications
*Some real-world data applications powered by Druid
Best Practices for Using Alluxio with Apache Spark with Cheng Chang and Haoyu...Databricks
Alluxio, formerly Tachyon, is a memory speed virtual distributed storage system that leverages memory for storing data and accelerating access to data in different storage systems. Many organizations and deployments use Alluxio with Apache Spark, and some of them scale out to over petabytes of data. Alluxio can enable Spark to be even more effective, in both on-premise deployments and public cloud deployments. Alluxio bridges Spark applications with various storage systems and further accelerates data intensive applications. This session will briefly introduce Alluxio and present different ways that Alluxio can help Spark jobs. Get best practices for using Alluxio with Spark, including RDDs and DataFrames, as well as on-premise deployments and public cloud deployments.
Peter Marshall, Technology Evangelist at Imply
Abstract: Apache Druid® can revolutionise business decision-making with a view of the freshest of fresh data in web, mobile, desktop, and data science notebooks. In this talk, we look at key activities to integrate into Apache Druid POCs, discussing common hurdles and signposting to important information.
Bio: Peter Marshall (https://petermarshall.io) is an Apache Druid Technology Evangelist at Imply (http://imply.io/), a company founded by original developers of Apache Druid. He has 20 years architecture experience in CRM, EDRM, ERP, EIP, Digital Services, Security, BI, Analytics, and MDM. He is TOGAF certified and has a BA degree in Theology and Computer Studies from the University of Birmingham in the United Kingdom.
One of the most popular use cases for Apache Druid is building data applications. Data applications exist to deliver data into the hands of everyone on a team in a business, and are used by these teams to make faster, better decisions. To fulfill this role, they need to support granular drill down, because the devil is in the details, but also be extremely fast, because otherwise people won't use them!
In this talk, Gian Merlino will cover:
*The unique technical challenges of powering data-driven applications
*What attributes of Druid make it a good platform for data applications
*Some real-world data applications powered by Druid
Best Practices for Using Alluxio with Apache Spark with Cheng Chang and Haoyu...Databricks
Alluxio, formerly Tachyon, is a memory speed virtual distributed storage system that leverages memory for storing data and accelerating access to data in different storage systems. Many organizations and deployments use Alluxio with Apache Spark, and some of them scale out to over petabytes of data. Alluxio can enable Spark to be even more effective, in both on-premise deployments and public cloud deployments. Alluxio bridges Spark applications with various storage systems and further accelerates data intensive applications. This session will briefly introduce Alluxio and present different ways that Alluxio can help Spark jobs. Get best practices for using Alluxio with Spark, including RDDs and DataFrames, as well as on-premise deployments and public cloud deployments.
Back to Basics Webinar 3 - Thinking in DocumentsJoe Drumgoole
Working with a document database requires that you "rewire" your brain. In this talk we discuss denormalisation, object embedding and the use of multiple collections.
Back to Basics Webinar 2 - Your First MongoDB ApplicationJoe Drumgoole
How to build a MongoDB application from scratch in the MongoDB Shell and Python. How to add indexes and use explain to make sure you are using them properly.
A Visual Introduction to Event Sourcing and CQRS by Lorenzo NicoraOpenCredo
Slides from Lorenzo's speech at Haufe-Lexware Microservice Architecture Day, in Freiburg. A pictorial introduction to the concepts of Command and Event Sourcing, and CQRS, as persistence model for modern, scalable and distributed applications.
The slides of the try out of my new talk "CQRS & event sourcing in the wild" - held at PHP Amersfoort in September 2016.
CQRS & event sourcing are currently very popular topics in the PHP community. However, most blogs and talks focus on the theory, simple applications or introductions to one of the CQRS / event sourcing frameworks currently available for PHP, not necessarily the challenges of a production deployment.
In this session we will try to bridge that gap and look at some of the issues that popped up during a real-world deployment of an event sourced application. We’ll discuss a few strategies to deal with these issues and how they would apply to current PHP event sourcing frameworks.
As businesses grow, so does the complexity of their software. New features, new models, and new background processes all continue to be added. . .and developers struggle to make sense of it all. Yet the end user demands a swift and functional experience when interacting with your application. It is paramount to be open to alternative patterns that help tame complex, high-demand services. Two such patterns are command-query responsibility segregation (CQRS) and event sourcing (ES).
Command-query responsibility segregation is an architectural pattern for user-facing applications that extends from the now standard Model-View-Controller (MVC) pattern and is an alternative to the CRUD pattern. At its core, CQRS is about changing how we think of and work with our data by introducing two types of models: all user actions become commands, and a read-only query model powers our views. Commands and queries are logistically separated, providing additional decoupling of our application. CQRS also calls for changes in how we store and structure our data.
Enter event sourcing. Instead of persisting the current state of our domain objects or entities, we record historical events about our data. The key advantage is that we can examine our application data at any point in time, rather than just the current state. This pattern changes how we persist and process our data but is surprisingly efficient.
While each of the two patterns can be used exclusively, they complement each other beautifully and facilitate the construction of decoupled, scalable applications or individual services. Stephen Pember explores the fundamentals of each pattern and offers several examples and demonstration code to show how one might actually go about implementing CQRS and ES. Steve discusses task-based UIs and domain-driven design as he outlines some of the advantages—and challenges—that ThirdChannel has seen when developing systems using CQRS and ES over the past year.
Back to Basics Webinar 3 - Thinking in DocumentsJoe Drumgoole
Working with a document database requires that you "rewire" your brain. In this talk we discuss denormalisation, object embedding and the use of multiple collections.
Back to Basics Webinar 2 - Your First MongoDB ApplicationJoe Drumgoole
How to build a MongoDB application from scratch in the MongoDB Shell and Python. How to add indexes and use explain to make sure you are using them properly.
A Visual Introduction to Event Sourcing and CQRS by Lorenzo NicoraOpenCredo
Slides from Lorenzo's speech at Haufe-Lexware Microservice Architecture Day, in Freiburg. A pictorial introduction to the concepts of Command and Event Sourcing, and CQRS, as persistence model for modern, scalable and distributed applications.
The slides of the try out of my new talk "CQRS & event sourcing in the wild" - held at PHP Amersfoort in September 2016.
CQRS & event sourcing are currently very popular topics in the PHP community. However, most blogs and talks focus on the theory, simple applications or introductions to one of the CQRS / event sourcing frameworks currently available for PHP, not necessarily the challenges of a production deployment.
In this session we will try to bridge that gap and look at some of the issues that popped up during a real-world deployment of an event sourced application. We’ll discuss a few strategies to deal with these issues and how they would apply to current PHP event sourcing frameworks.
As businesses grow, so does the complexity of their software. New features, new models, and new background processes all continue to be added. . .and developers struggle to make sense of it all. Yet the end user demands a swift and functional experience when interacting with your application. It is paramount to be open to alternative patterns that help tame complex, high-demand services. Two such patterns are command-query responsibility segregation (CQRS) and event sourcing (ES).
Command-query responsibility segregation is an architectural pattern for user-facing applications that extends from the now standard Model-View-Controller (MVC) pattern and is an alternative to the CRUD pattern. At its core, CQRS is about changing how we think of and work with our data by introducing two types of models: all user actions become commands, and a read-only query model powers our views. Commands and queries are logistically separated, providing additional decoupling of our application. CQRS also calls for changes in how we store and structure our data.
Enter event sourcing. Instead of persisting the current state of our domain objects or entities, we record historical events about our data. The key advantage is that we can examine our application data at any point in time, rather than just the current state. This pattern changes how we persist and process our data but is surprisingly efficient.
While each of the two patterns can be used exclusively, they complement each other beautifully and facilitate the construction of decoupled, scalable applications or individual services. Stephen Pember explores the fundamentals of each pattern and offers several examples and demonstration code to show how one might actually go about implementing CQRS and ES. Steve discusses task-based UIs and domain-driven design as he outlines some of the advantages—and challenges—that ThirdChannel has seen when developing systems using CQRS and ES over the past year.
This joint webinar for DBmaestro (www.dbmaestro.com)and Delphix discuss the synergy between Delphix’s Database Virtualiztion and DBmaestro’s Database Enforced Change Management solutions.
The session discuss the challenges in database development and show in practice how Database Enforced
Change Management and Database Virtualization work together to create a version control, branching and merging method that addresses these challenges.
Merging and Migrating: Data Portability from the TrenchesAtlassian
Atlassian products contain lots of data, and often there isn't just one Jira system in use. Be it moving to or from the Cloud, or between instances - merging and migrating data can be hard. Dan Hardiker from Adaptavist will share the challenges they face and solutions they've found to common data portability issues. Learn some best practices, including their standardised Export-Transform-Load approach, and uncover many hidden gremlins you may trip over along the way. After this sessions you'll be ready to fearlessly move data from one Jira instance to another!
The SQL Server system database TempDB has often been called a dumping ground, even the public toilet of SQL Server. (There has to be a joke about spills in there somewhere). In this session you will learn to find those criminal activities that are going on deep in the depths of SQL Server that are causing performance issues, not just for one session, but that affect everybody on that instance.
Using Perforce Data in Development at TableauPerforce
Data plays a big role at Tableau—not just for our customers, but also throughout our company. Using our own products is not only one of our fundamental company values, but the analysis and discoveries we make are important to track as they shape our development processes and influence our day-to-day decisions. In this talk, we present and analyze a variety of data visualizations based on Perforce data from our development organization and share how it has influenced our infrastructure and development practices.
Integrating Hadoop in Your Existing DW and BI EnvironmentCloudera, Inc.
Integrating Hadoop in your existing data warehouse and business intelligence environment. Speakers Jeff Hammerbacher, Cloudera and Anil Madan, eBay.
Recording of webinar on https://www1.gotomeeting.com/register/515000760
How to Get IBM i Security and Operational Insights with SplunkPrecisely
IBM i systems handle some of the most mission-critical transactions in your organization. In the past, they operated in relative isolation, but today they’re connected to other systems across your IT infrastructure to support mission-critical business services. They’re also connected to networks or the Internet, making them vulnerable to cybersecurity threats and incidents.
It’s critical that the operational and security data generated by your IBM i systems is visible in your Splunk platform for enterprise-wide analysis, but it’s difficult to capture it and make it usable for reporting.
View this webinar on-demand to learn how organizations like yours are using Ironstream to forward IBM i log data to Splunk, to gain insight into operations, security and service delivery for the ultimate success of their business. We will cover:
• Key use cases for IBM i log analysis
• Challenges of using IBM i data in Splunk
• How Ironstream and Splunk deliver key insight into IBM i operational health and security in the broader context of your enterprise
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...Databricks
Morningstar’s Risk Model project is created by stitching together statistical and machine learning models to produce risk and performance metrics for millions of financial securities. Previously, we were running a single version of this application, but needed to expand it to allow for customizations based on client demand. With the goal of running hundreds of custom Risk Model runs at once at an output size of around 1TB of data each, we had a challenging technical problem on our hands! In this presentation, we’ll talk about the challenges we faced replatforming this application to Spark, how we solved them, and the benefits we saw.
Some things we’ll touch on include how we created customized models, the architecture of our machine learning application, how we maintain an audit trail of data transformations (for rigorous third party audits), and how we validate the input data our model takes in and output data our model produces. We want the attendees to walk away with some key ideas of what worked for us when productizing a large scale machine learning platform.
Capacity - Ransomware - Protection - Three Windows File Server Upgrades to AvoidStorage Switzerland
For most enterprises, optimizing your Windows fileserver means buying a new, bigger server with more capacity and better network connections. Or it means buying a dedicated Network Attached Storage (NAS) system. Then they feel they need to add new ransomware and data protection software. All of these "solutions" are expensive, involve a costly data migration and don't really increase IT efficiency. In this webinar, experts from Storage Switzerland and Caringo teach you how data management can eliminate the need for additional Windows file servers, capacity and protection.
Data Replication Options in AWS (ARC302) | AWS re:Invent 2013Amazon Web Services
One of the most critical roles of an IT department is to protect and serve its corporate data. As a result, IT departments spend tremendous amounts of resources developing, designing, testing, and optimizing data recovery and replication options in order to improve data availability and service response time. This session outlines replication challenges, key design patterns, and methods commonly used in today’s IT environment. Furthermore, the session provides different data replication solutions available in the AWS cloud. Finally, the session outlines several key factors to be considered when implementing data replication architectures in the AWS cloud.
10 Reasons Snowflake Is Great for AnalyticsSenturus
Learn why Snowflake analytic data warehouse makes sense for BI including data loading flexibility and scalability, consumption-based storage and compute costs, Time Travel and data sharing features, support across a range of BI tools like Power BI and Tableau and ability to allocate compute costs. View this on-demand webinar: https://senturus.com/resources/10-reasons-snowflake-is-great-for-analytics/.
Senturus offers a full spectrum of services in business intelligence and training on Cognos, Tableau and Power BI. Our resource library has hundreds of free live and recorded webinars, blog posts, demos and unbiased product reviews available on our website at: http://www.senturus.com/senturus-resources/.
Similar to Introduction to CQRS and Event Sourcing (20)
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
11. 11
Lets Use a Backup Tool
Source
Disk
Backup Disk
MyFile.jpg
MyFile.jpg
Admin
12. 12
What if We are a SaaS Backup Company?
MyFile.jpg MyFile.jpg
MyFile.jpg
MyFile.jpg
MyFile.jpg
Audit
MyFile.jpg
MyFile.jpg
MyFile.jpg
MyFile.jpg
MyFile.jpg
MyFile.jpg
MyFile.jpg
MyFile.jpg
MyFile.jpg
MyFile.jpg
MyFile.jpg
MyFile.jpg
MyFile.jpg
MyFile.jpg
Audit
13. 13
What real SaaS Backup Companies do
Event 1
MyFile.jpg
Event 2
Event 3
Event 4
Event 5
Event N
MyFile.jpg Start
MyFile.jpg End
14. 14
Where else is this Useful?
• Taxi haling apps
• Putting stuff into and out of a shopping basket
• Retail inventory
• Everywhere where the system actually turns out to be an
eventually consistent model of the world
15. 15
Key Facets of Event Sourcing
• A immutable log file of events
• The current state is the sum of all previous states
• The events represent
• Events are “domain” level
• Events are generated by the “Commands” or “tasks” your system
undertakes
16. 16
How do you Query an Event Sourcing System?
• Generate snapshots of your state
– Each file upload that is completed in a backup
– All the files per hour for each client computer
– All the files per day for each client computer
• But what about:
– “Find me the myfile.jpg that I backed up last year” ?
17. 17
Command Query Responsibility Segregration
• Most data is queried more often than it is written
• Queries can be eventually consistent
• Commands have to be strongly consistent
• Let’s treat commands as first class objects
• Is predated by CQS
• Commands are related to the business domain
19. 19
Things To Note
• Your event store gives you consistent state
• Your domain store gives you business level queries
• Domain store will lag the event store
• Event Store gives you state in the past and future
• Its not a systems design pattern so no frameworks
• Use it if it makes sense to you
22. 22
The Commands
Add File
Detect File
Change
Compute
Checksum
• Scans Filesystem tree
• Does a stat per file
• Pushes the file to a queue
• Write queue to event store
• Detects create, delete,
rename, write
• Captures new stat
information
• Writes to event store
• Adds checksums to files
without them
23. 23
We have a complete Event State
• When a file was created
• When it was modified
• Its checksum
• To Do:
– When a file changes : recompute its checksum
– Other meta data (image analysis, faster checksum)
– Parser for third party storage (Facebook, Google Pictures)
– Server side storage of data (on AWS)
24. 24
What about the Query Side?
• I want a synthesized view of individual files
• Time ordered
• Duplicate or irrelevant events eliminated
• Can use the aggregation framework to generate this data
• The ability to link data across multiple machines
• The ability to link data across multiple services
25. 25
Summary
• Event Sourcing : Capture the state as first class objects
• CQRS : Optimise differently for commands and queries
• Not an architectural design pattern
• MongoDB ideally suited to build both event store and query store
• Use different storage engines depending on use case
• The aggregation framework generates summary data
Editor's Notes
1495 Luca Pacioli invented double entry accounting. Born Borgo Sansepolcro, Tuscany.
A write only log.
This is what we do when we do our own backups to an external drive. We drag and drop the disks.
This is what we do when we do our own backups to an external drive. We drag and drop the disks.
Now we track the source and target. When the backup was done. We are storing events about the system.
Now we track the source and target. When the backup was done. We are storing events about the system.
The state of the file is defined by the events. The events represent uploaded blocks but they are basically almost redundant. It’s the meta data that matters. Now we can reover from file renames and deletions. Edits and the ability to restart very large files after reboot. Event sourced systems work really well for intermittenly connected devices.
Whats more back companies don’t ever coalesce these blocks. Why because they are checksumed and deduped.
Commands : as opposed to methods on an object.
Bertrand Meyer. Void commands queries with node side effects.