Data centre infrastructure course description This course provides a foundation in data centre infrastructure technologies. It begins with a tour of virtualisation and the impact of this on the network before moving on to the spine and leaf design, how it works and how to scale. Layer 2 technologies enabling this architecture are studied in terms of the impact on the data centre. The course then progresses onto how Layer 3 technologies such as BGP, EVPN and VXLAN are used in data centre networks. The course then studies interconnecting data centres finishing with a section on automation and orchestration of both underlay and overlay networks. What will you learn Explain the spine and leaf architecture Recognise the impact of virtualisation, containers and orchestration on the network Describe how the following technologies are used in data centres: Multi port aggregation Overlay networks MBGP, VRFs, EVPN VXLAN COOP Data centre infrastructure course details Who will benefit: Staff involved with Data centres. Prerequisites: Network fundamentals for engineers Duration 2 days Data centre infrastructure course contents What is Ethernet? Data centres versus enterprise networks. Servers, Blades, Racks, Clusters, Storage, Virtual Machines, Hosts, guests, containers, orchestration. Virtual switches. Distributed switches. Live migrations (e.g. vMotion). IP addressing and VM traffic. Data centre network architecture Spine leaf design. North south traffic, East West traffic, Scaling: Ports, bandwidth. N+1 redundancy, ratio East West optimisation, oversubscription. 2 tier versus 3 tier Leaf/Spine. Pods. Underlay, Overlay L2 technologies STP vs link aggregation vs multi link aggregation. LACP, LLDP, CDP. Scalability. VLANs and VLAN pruning. L2 design recommendations. Disabling STP on edge ports. L3 technologies Underlay, Overlay, VXLAN, VTEP, VXLAN overlay forwarding, EVPN, IS-IS, COOP, MP BGP, VRFs, EBGP, IBGP, AS numbers, route reflectors. Anycast gateways. MTU considerations-for data and control planes. BUM traffic. Data centre interconnects Pods, fabrics, multi pods, multi fabric, multi site. VXLAN with BGP/EVPN Data center interconnect. Cloud integration, Inter Site Networks. Automation Automation and orchestration, Zero touch provisioning, Devops, Netops, telemetry automated configuration for underlay and overlay, SDN.
Ansible training course description The course focusses on the use of ansible for network devices instead of its usual server use case. The course progresses from the basics of ansible and playbooks onto using network specific modules including NAPALM. The use Jinja2 templating with ansible is also studied. Hands on sessions with ansible configuring routers and switches follow all major sections. What will you learn Automate tasks with ansible. Write ansible playbooks. Configure network devices with ansible. Troubleshoot network devices with ansible. Use ansible network modules. Use jinja2 templates with ansible. Ansible training course details Who will benefit: Network engineers. Prerequisites: TCP/IP Foundation Duration 2 days Ansible training course contents What is ansible? The language, the engine, the framework. Uses of ansible, orchestration. Hands on Installing ansible, enabling SSH on network devices. Ansible architecture How ansible 'normally' works, Agentless, SSH, ansible and Python, modules, how ansible work on network devices, Configuration management, inventories, playbooks, modules, ansible.cfg. Hands on Getting started, running ad hoc commands. Playbooks ansible-playbook, users, YAML, plays, tasks, modules. ansible-vault. Hands on Running playbooks. More playbooks Handlers, variables, environmental variables, playbook variables, inventory variables, variable scope and precedence, accessing variables, facts, ansible vault. Conditionals, wait_for. Hands on Using variables and conditions in playbooks. Inventories /etc/ansible/hosts, inventory variables, static inventories, dynamic inventories. Hands on Inventories and variables. Ansible network modules Built in modules, custom modules, return values. ansible-doc -l. connection: local, Cisco modules, Juniper module, Hands on Using modules for your network devices. Ansible templatings The template module, the assemble module, jinja2 templates, for, if else. Hands on Configuring network devices from templates. Roles and includes Dynamic includes, Handler includes, playbook includes. Roles, role parts: handlers, files, templates, cross platform roles, ansible galaxy. Hands on includes example, building roles. Ansible and NAPALM Installation, napalm-ansible, NAPALM modules: napalm_diff-yang, napalm_get_facts, napalm_install_config, napalm_parse_yang, napalm_ping, napalm_translate_yang, napalm_validate. Hands on Using NAPALM modules in ansible.
Asterisk training course description This 3 day hands on Asterisk training course covers all the ground for you to get an Asterisk PBX installed and configured. After installation the course progresses from a simple first configuration onto VoIP and PSTN integration along with the provision of PBX features such as ACD and IVR. Practical sessions follow each major section to reinforce the theory. What will you learn Install and configure Asterisk. Connect Asterisk to the Internet and PSTN. Integrate VoIP and the PSTN. Configure Asterisk for PBX features such as voicemail, ACD and IVR. Asterisk training course details Who will benefit: Technical staff working with or evaluating Asterisk. Prerequisites: None although hands on experience of UNIX systems would be beneficial, as would knowledge of VoIP. Duration 3 days Asterisk training course contents What is Asterisk? PBXs, what Asterisk does, Asterisk features, Asterisk VoIP support, Asterisk and the Internet, Asterisk and the PSTN, hosted VoIP systems. Asterisk installation Linux installation, Asterisk package compilation and installation. Timing sources. Hands on Installing Asterisk Managing Asterisk Starting/stopping Asterisk, command arguments, Asterisk commands, log files, logger.conf, remote management. Hands on Controlling Asterisk. First Asterisk configuration The role of SIP, IP phones, DHCP, IP addressing, sip.conf, extensions.conf. Hands on Simple SIP configuration Asterisk architecture Server hardware, interfaces, channels, Zaptel, Digium, Asterisk filesystem, connections. The configuration files, syntax, asterisk.conf. Hands on Adding hardware for Asterisk, exploring the configuration files. DAHDI configuration Digium hardware, DAHDI architecture, DAHDI installation, DAHDI configuration, system.conf, FXS, FXO, E1, chan_dahdi.conf, dahdi_cfg, DAHDI tools. Hands on Connecting Asterisk to the PSTN. Dial plans extensions.conf detail, contexts, priorities. Hands on Configuring dial plans. SIP configuration sip.conf in detail, defining SIP channels, incoming SIP channels, outgoing SIP channels, SIP variables, Asterisk as a SIP client and SIP server. Hands on SIP configuration. IAX configuration What is IAX, IAX server, IAX client, IAX channels, iax.conf, IAX syntax in extensions.conf, IAX trunking. Hands on Linking Asterisk systems. Implementing PBX functions Voicemail, voicemail trees, voicemail passwords, Music on hold, meetme conferencing, call parking. ACD, IVR, fax. Hands on Configuring PBX features.
Software development training course description This three-day MTA Training course helps you prepare for Microsoft Technology Associate Exam 98-361, and build an understanding of these topics: Core programming, Object-Oriented programming, general software development, web applications, desktop applications, and databases. This course leverages the same content as found in the Microsoft Official Academic Course (MOAC) for this exam. What will you learn Describe core programming. Explain Object Oriented programming. Describe general software development. Describe Web applications. Describe desktop applications. Explain how databases work. Software development training course details Who will benefit: Anyone looking to learn the fundamentals of software. Prerequisites: None. Duration 3 days Software development training course contents Core programming Computer storage and data types How a computer stores programs and the instructions in computer memory, memory stacks and heaps, memory size requirements for the various data storage types, numeric data and textual data. Computer decision structures Various decision structures used in all computer programming languages; If decision structures; multiple decision structures, such as Ifâ¦Else and switch/Select Case; reading flowcharts; decision tables; evaluating expressions. Handling repetition For loops, While loops, Do...While loops and recursion. Understand error handling Structured exception handling. Object-oriented programming Classes Properties, methods, events and constructors; how to create a class; how to use classes in code. Inheritance Inheriting the functionality of a base class into a derived class. Polymorphism Extending the functionality in a class after inheriting from a base class, overriding methods in the derived class. Encapsulation Creating classes that hide their implementation details while still allowing access to the required functionality through the interface, access modifiers. General software development Application life cycle management Phases of application life cycle management, software testing. Interpret application specifications Application specifications, translating them into prototypes, code, select appropriate application type and components. Algorithms and data structures Arrays, stacks, queues, linked lists and sorting algorithms; performance implications of various data structures; choosing the right data structure. Web applications Web page development HTML, CSS, JavaScript. ASP.NET web application development Page life cycle, event model, state management, client-side versus server-side programming. Web hosting Creating virtual directories and websites, deploying web applications, understanding the role of Internet Information Services. Web services Web services that will be consumed by client applications, accessing web services from a client application, SOAP, WSDL. Desktop applications Windows apps UI design guideline categories, characteristics and capabilities of Store Apps, identify gestures. Console-based applications Characteristics and capabilities of console- based applications. Windows Services Characteristics and capabilities of Windows Services. Databases Relational database management systems Characteristics and capabilities of database products, database design, ERDs, normalisation concepts. Database query methods SQL, creating and accessing stored procedures, updating and selecting data. Database connection methods Connecting to various types of data stores, such as flat file; XML file; in-memory object; resource optimisation.
This course is very much a discussion, so be prepared to present and critically analyse your own and class mates work. You will also need to bring a few examples of work you have done in the past. Learning and applying best practice visualisation principles will improve effective discussions amongst decision makers throughout your organisation. As a result more end-users of your dashboards will be able to make better decisions, more quickly. This 2 Day training course is aimed at analysts with good working knowledge of BI tools (we use Tableau to present, but attendees can use their own software such as Power BI or Qlik Sense). It is a great preparation for taking advanced certifications, such as Tableau Certified Professional. Contact us to discuss the Visual Analytics Best Practice course Email us if you are interested in an on-site course, or would be interested in different dates and locations This Tableau Desktop training intermediate course is designed for the professional who has a solid foundation with Tableau and is looking to take it to the next level. Attendees should have a good understanding of the fundamental concepts of building Tableau worksheets and dashboards typically achieved from having attended our Tableau Desktop Foundation Course. At the end of this course you will be able to communicate insights more effectively, enabling your organisation to make better decisions, quickly. The Tableau Desktop Analyst training course is aimed at people who are used to working with MS Excel or other Business Intelligence tools and who have preferably been using Tableau already for basic reporting. The course includes the following topics: WHAT IS VISUAL ANALYSIS? Visual Analytics Visual Analytics Process Advantages of Visual Analysis Exercise: Interpreting Visualisations HOW DO WE PROCESS VISUAL INFORMATION? Memory and Processing Types Exercise: Identifying Types of Processing Cognitive Load Exercise: Analysing Cognitive Load Focus and Guide the Viewer Remove Visual Distractions Organise Information into Chunks Design for Proximity Exercise: Reducing Cognitive Load SENSORY MEMORY Pre-attentive Attributes Quantitatively-Perceived Attributes Categorically-Perceived Attributes Exercise: Analysing Pre-attentive Attributes Form & Attributes Exercise: Using Form Effectively Colour & Attributes Exercise: Using Colour Effectively Position & Attributes Exercise: Using Position Effectively ENSURING VISUAL INTEGRITY Informing without Misleading Gestalt Principles Visual Area Axis & Scale Colour Detail Exercise: Informing without Misleading CHOOSING THE RIGHT VISUALISATION Comparing and Ranking Categories Comparing Measures Comparing Parts to Whole Viewing Data Over Time Charts Types for Mapping Viewing Correlation Viewing Distributions Viewing Specific Values DASHBOARDS AND STORIES Exercise: Picking the Chart Type Exercise: Brainstorming Visual Best Practice Development Process for Dashboards and Stories Plan the Visualisation Create the Visualisation Test the Visualisation Exercise: Designing Dashboards and Stories This training course includes over 20 hands-on exercises to help participants “learn by doing” and to assist group discussions around real-life use cases. Each attendee receives an extensive training manual which covers the theory, practical applications and use cases, exercises and solutions together with a USB with all the materials required for the training. The course starts at 09:30 on the first day and ends at 17:00. On the second day the course starts at 09:00 and ends at 17:00. Students must bring their own laptop with an active version of Tableau Desktop 10.5 (or later) pre-installed. What People Are Saying About This Course "Steve was willing to address questions arising from his content in a full and understandable way"Lisa L. "Really enjoyed the course and feel the subject and the way it was taught was very close to my needs"James G. "The course tutor Steve was incredibly helpful and taught the information very well while making the two days very enjoyable."Bradd P. "The host and his courses will give you the tools and confidence that you need to be comfortable with Tableau."Jack S. "Steve was fantastic with his knowledge and knowhow about the product. Where possible he made sure you could put demonstrations in to working practice, to give the audience a clear understanding."Tim H. "This was a very interesting and helpful course, which will definitely help me produce smarter, cleaner visualisations that will deliver more data-driven insights within our business."Richard A. "Steve is very open to questions and will go out of his way to answer any query. Thank you"Wasif N. "Steve was willing to address questions arising from his content in a full and understandable way"Lisa L. "Really enjoyed the course and feel the subject and the way it was taught was very close to my needs"James G.
Definitive Puppet training course description Puppet is a framework and toolset for configuration management. This course covers Puppet to enable delegates to manage configurations. Hands on sessions follow all the major sections. What will you learn Deploy Puppet. Manage configurations with Puppet. Build hosts with Puppet. Produce reports with Puppet. Definitive Puppet training course details Who will benefit: Anyone working with Puppet. Prerequisites: Linux fundamentals. Duration 2 days Definitive Puppet training course contents Getting started with Puppet What is Puppet, Selecting the right version of Puppet, Installing Puppet, Configuring Puppet. Developing and deploying Puppet The puppet apply command and modes of operation, Foreground Puppet master, Developing Puppet with Vagrant, Environments, Making changes to the development environment, Testing the new environments with the Puppet agent, Environment branching and merging, Dynamic Puppet environments with Git branches, Summary, Resources. Scaling Puppet Identifying the challenges, Running the Puppet master with Apache and Passenger, Testing the Puppet master in Apache, Load balancing multiple Puppet masters, Scaling further, Load balancing alternatives. Measuring performance, Splay time, Summary, Going further, Resources. Externalizing Puppet configuration External node classification, Storing node configuration in LDAP, Summary, Resources. Exporting and storing configuration Virtual resources, Getting started with exported and stored configurations, Using exported resources, Expiring state resources, Summary, Resources. Puppet consoles The foreman, Puppet enterprise console, Puppetboard, Summary, Resources. Tools and integration Puppet forge and the module tool, Searching and installing a module from the forge, Generating a module, Managing module dependencies, Testing the modules, Developing Puppet modules with Geppetto, Summary, Resources. Reporting with Puppet Getting started, Configuring reporting, Report processors, Custom reporting, Other Puppet reporters, Summary, Resources. Extending Facter and Puppet Writing and distributing custom facts, Developing custom types, providers and functions, Summary, Resources, Complex data structures, Additional backends, Hiera functions in depth, Module data bindings, Hiera examples. Jiera-2, Summary, Resources. Mcollective Installing and configuring Mcollective, testing, Mcollective plugins, accessing hosts with Metadata. Hiera Lists, initial Hiera configuration, Hiera command line utility, complex data structures, additional backends, Hiera functions in depth, module data bindings. Hiera-2.
Firewalls training course description A technical hands on training course covering firewall technologies. This focuses on the whys and hows of firewall technology rather than looking at manufacturer specific issues. What will you learn Design secure firewall protected networks. Test firewalls. Evaluate firewalls Configure firewalls Firewalls training course details Who will benefit: Technical staff wanting to learn about Filrewalls including: Technical network staff. Technical security staff. Prerequisites: IP security foundation for engineers Duration 2 days Firewalls training course contents Firewall introduction Security review, what is a firewall? What do firewalls do? Firewall benefits, concepts. Hands on Configuring the network to be used in later labs, launching various attacks on a target. Firewall types Packet filtering, SPI, Proxy, Personal. Software firewalls, hardware firewalls, blade based firewalls, personal firewalls, which firewall should you use? Firewall products. Hands on Configuring a simple firewall. Packet filtering firewalls Things to filter in the IP header, stateless vs. stateful filtering. ACLs. Advantages of packet filtering. Hands on Configuring packet filtering firewalls. Stateful packet filtering Stateful algorithms, packet-by-packet inspection, application content filtering, tracks, special handling (fragments, IP options), sessions with TCP and UDP. Firewall hacking detection: SYN attacks, SSL, SSH interception. Hands on Stateful packet inspection firewalls. Proxy firewalls Circuit level, application level, SOCKS. Proxy firewall advantages and disadvantages. Hands on Proxy firewalls. Personal firewalls The role of personal firewalls, Windows XP, Zonealarm. Hands on Configuring a personal firewall. Firewall architectures Home based, small office, enterprise, service provider, what is a DMZ? DMZ architectures, bastion hosts, multi DMZ. Virtual firewalls, transparent firewalls. Dual firewall design, high availability, load balancing, VRRP. Hands on Resilient firewall architecture. Securing communications VPNs, IPsec. Firewall configuration of VPNs, integration of dedicated VPN devices and firewalls. Hands on IPSec VPN configuration. Testing firewalls Configuration checklist, testing procedure, monitoring firewalls, logging, syslog. Hands on Testing firewalls.
Introduction to Virtualization course description A comprehensive tour of virtualization. The course concentrates on the actual technologies involved as opposed to any one vendor solution. What will you learn Explain the concepts of virtualization. Partition servers. Create Virtual Machines. Introduction to Virtualization course details Who will benefit: Anyone looking for an introduction to Virtualization. Prerequisites: None. Duration 2 days Introduction to Virtualization course contents Virtualization Concepts What is Virtualisation? What are virtual machines (VMs)? Virtualisation Landscape. Network Virtualisation. Suitability for Organisations. Advantages of deploying Virtualisation. Downsides of deploying Virtualisation. Overview of Virtualisation products. Hypervisors What is a hypervisor? Difference between type 1 and 2 hypervisors. Available hypervisors. Hypervisors and device drivers. Hands on: Installing Oracle VirtualBox on Windows. Creating/Importing/Configuring VMs. Virtualization Hosts Hardware and resource requirements. Installation of the hypervisor. Hands on: Installing Hyper-V role into Windows Server. Creating/Importing/Configuring VMs. Virtual Machines Creating virtual machines. Resource requirements. Settings. Installation of the guest OS. Additional tools/ extensions for hypervisor integration. VM files and their uses. Virtual hard disk and their formats. Hardware pass through. Hands on: Connecting to VMWare ESXi via WebGUI and using ESXi to create/import/configure VMs. VM Snapshots/Checkpoints What is a snapshot? How to use them and how they impact performance? Creating/deleting/merging of snapshots. Hands on: Using ESXi to create/manage snapshots. Command Line use on the Hypervisor Interacting with the hypervisor through the command line. Simple commands to configure the hypervisor and VMs. Simple scripts. Hands on: Connecting to VMWare ESXi via PowerCLI to manipulate VMs and snaphshots. Virtualization Storage Different types of storage: local vs remote. Local and remote storage technologies. Configuring storage. Hands on: Using ESXi to deploy VMs on remote NFS storage. Virtual Networking How is networking done in virtualization environments. What is a virtual switch and vNIC and what are their performance characteristics? NIC teaming and trunking in the virtual world. Port groups and isolation. Physical NICs and their use in virtual switches. Hands on: Using ESXi to create and configure vswitches and networking. Templates and clones What is a template? What is a clone? When to use templates and clones to optimize VM deployment. Migrating/Importing VMs What is migration? Migrating compute and storage. Importing VMs from files or physical machines. Hands on: Using VMWare vCenter Server to clone/ template/migrate VMs, tag resources, create local user accounts and assign permissions. VMs and Backups Taking backups of your VMs. Restoring your VMs from backups. Virtualization and Licensing Different licensing models and costs. Containerization Concepts What is a container and how is it different from a virtual machine. When to use containers. Docker and Kubernetes
If you got a call from a TV producer asking you to appear on Newsnight, would you say ‘yes’? And if you did, could you make your argument in a way that captured the attention of the audience without being interrupted? Our media training courses are aimed at senior spokespeople and experts who give interviews on TV, radio or in print. We equip them with the skills and confidence to take control and give engaging, memorable and effective performances in which they deliver their key messages, no matter what the circumstances. Highly interactive and practical, each course includes a series of realistic print, radio and television exercises with experienced journalists. We provide immediate feedback following each interview, including techniques for improvement, advice about potential answers and the framing of key messages. While all our media training courses are bespoke, on a typical course we will cover: how the media operates how to prepare for interviews the differences between TV, radio and print interviews how to conduct different types of interview, such as pro-active, reactive, expert commentator and hostile (crisis communications) developing key messages which convey your views persuasively how to take control of an interview, stick to your own agenda and deliver key messages successfully use of language, body language, dress and delivery After the course, each delegate receives the Rough House Media Toolkit, including written feedback, recorded copies of their interview exercises, the Rough House Media Guide to Interviews and further supporting materials. We also provide a confidential assessment to the PR team of each delegate’s suitability for different types of interview. Venue We deliver courses in the most appropriate format for your circumstances – whether face to face or online. Face to face courses are portable: they can be held in purpose-built studios, at your own offices or at an external venue. In the latter two cases, we create a mock studio for the practical exercises. Online courses give you flexibility and enable you to offer training to delegates from all over the world. We have run virtual courses for people from the Far East, South Asia, North America and Europe, as well as the UK.
Regular expressions training course description Regular expressions are an extremely powerful tool for manipulating text and data. They are now standard features in a wide range of languages and popular tools, including Python and MySQL. Regular expressions allow you to code complex and subtle text processing that you never imagined could be automated. Once you've mastered regular expressions, they'll become an invaluable part of your toolkit. You will wonder how you ever got by without them. What will you learn Use Regular Expressions. Troubleshoot Regular Expressions. Compare RE features among different versions. Explain how the regular expression engine works. Optimize REs. Match what you want, not what you don't want. Regular expressions training course details Who will benefit: Anyone looking to use regular expressions. Prerequisites: None. Duration 1 day Regular expressions training course contents Introduction to Regular Expressions Solving real problems, REs as a language, the filename analogy, language analogy, RE frame of mind, searching text files: egrep, egrep metacharacters, start and end of the line, character classes, matching any character with dot, alternation, ignoring differences in capitalization, word boundaries, optional items, other quantifiers: repetition, parentheses and backreferences, the great escape, expanding the foundation, linguistic diversification, the goal of a RE, more examples, RE nomenclature, Improving on the status quo. Extended introductory examples A short introduction to Perl, matching text with regular expressions, toward a more real-world example, side effects of a successful match, Intertwined regular expression, intermission, modifying text with regular expressions, example: form letter, example: prettifying a stock price, automated editing, a small mail utility, adding commas to a number with lookaround, text-to-HTML conversion, that doubled-word thing. Regular expression features and flavours The regex landscape, origins of REs, care and handling of REs, Integrated handling, procedural and object-oriented handling, search-and-replace example. strings character encodings and modes, strings as REs, character-encoding issues, unicode, regex modes and match modes, common metacharacters and features, character representations, character classes and class-like constructs, anchors and other 'zero-width assertions', comments and mode modifiers, grouping capturing conditionals and control. The mechanics of expression processing Two kinds of engines, new standards, regex engine types, from the department of redundancy department, testing the engine type, match basics, about the examples, rule 1: the match that begins earliest wins, engine pieces and parts, rule 2: the standard quantifiers are greedy, regex-directed versus text-directed, NFA engine: regex-directed, DFA engine: text-directed, first thoughts: NFA and DFA in comparison, backtracking, two important points on backtracking, saved states, backtracking and greediness, more about greediness and backtracking, problems of greediness, multi-character 'quotes', lazy quantifiers, greediness and laziness, laziness and backtracking, possessive quantifiers and atomic grouping, possessive quantifiers ?, +, *+, ++ and {m,n}+, the backtracking of lookaround, is alternation greedy? taking advantage of ordered alternation, NFA DFA and posix, the longest-leftmost', posix and the longest-leftmost rule, speed and efficiency. Practical regex techniques Continuation lines, matching an IP address, working with filenames, matching balanced sets of parentheses, watching out for unwanted matches, matching delimited text, knowing your data and making assumptions, stripping leading and trailing whitespace, matching and HTML tag, matching an HTML link, examining an HTTP URL, validating a hostname, plucking a hostname, plucking a URL, parsing CSV files. Crafting an efficient expression Efficiency vs. correctness, localizing greediness, global view of backtracking, more work for POSIX NFA, work required during a non-match, being more specific, alternation can be expensive, benchmarking, know what you re measuring, benchmarking with Python, common optimisations, the mechanics of regex application, pre-application optimizations, optimizations with the transmission, optimization of the regex itself, techniques for faster expressions, common sense techniques, expose literal text, expose anchors, lazy versus greedy: be specific, split into multiple REs, mimic initial-character discrimination, use atomic grouping and possessive quantifiers, lead the engine to a match, unrolling the loop, observations, using atomic grouping and possessive quantifiers, short unrolling examples, unrolling C comments, the free flowing regex, a helping hand to guide the match, a well-guided regex is a fast regex.