White Paper: Perforce Administration Optimization, Scalability, Availability ...Perforce
The document summarizes the steps taken by MathWorks to optimize the scalability, availability, and reliability of their Perforce configuration management system as their user base grows. Key points include using proxies, anycast routing, replication, and load balancing techniques like p4broker to minimize downtime and improve response times while supporting more maintenance tasks. The architecture overview shows proxies routing requests to a p4broker which distributes work to a master Perforce server and replicated servers. Monitoring is used to identify bottlenecks and deploy additional proxies or replicas as needed.
How to Leverage Go for Your Networking NeedsDigitalOcean
Watch this Tech Talk: https://do.co/video_singuva
Highlights from Sneha Inguva’s networking journey through Go. Sneha discusses the useful packages, key learnings, and struggles faced while building a variety of networking services within and outside of DigitalOcean. Walk away with a clear understanding of how to specifically leverage Go for your own networking needs.
About the Presenter
Sneha Inguva is a Software Engineer on the Networking team at DigitalOcean. She enjoys building cloud products by day and debugging ominous context-canceled errors by night. In her spare time, she professionally lounges around with her cat.
New to DigitalOcean? Get US $100 in credit when you sign up: https://do.co/deploytoday
To learn more about DigitalOcean: https://www.digitalocean.com/
Follow us on Twitter: https://twitter.com/digitalocean
Like us on Facebook: https://www.facebook.com/DigitalOcean
Follow us on Instagram: https://www.instagram.com/thedigitalocean/
We're hiring: http://do.co/careers
The document discusses optimizations to TCP and HTTP/2 to improve responsiveness on the web. It describes how TCP slow start works and the delays introduced in standard HTTP/2 usage from TCP/TLS handshakes. The author proposes adjusting the TCP send buffer polling threshold to allow switching between responses more quickly based on TCP congestion window state. Benchmark results show this can reduce response times by eliminating an extra round-trip delay.
Teach your (micro)services talk Protocol Buffers with gRPC.Mihai Iachimovschi
When it comes to microservices, there’re a lot of things worth keeping in mind. Designing such fine-grained, loosely-coupled services requires paying lots of attention to various patterns and approaches to make them future-proof. A very important thing to consider, is the way those services will communicate with each-other in production. Usually the communication is done over the network using a technology-agnostic protocol. At the next level the service should provide an API for its friend services. Then, the data should be serialized without altering its meaning and transferred to the picked endpoint.
Nowadays, exposing a REST API that operates with JSON over plain HTTP is a usual way to lay the grounds of communication for the services. It is easy to accomplish, but it has some drawbacks. First of all, JSON is a human readable format, and it’s not as other serialization approaches. Also, with JSON it’s not possible to natively enforce the schema, and evolving the API may be painful.
This talk’s purpose is to describe in deep detail the benefits of protocol buffers, that offer us for free an easy way to define the API messages in the proto format, and then reuse them inside different services, without even being locked to use the same programming language for them. Moreover, with gRPC we can define the API’s endpoints easily in the same proto format. All these offer us a robust schema enforcement, compact binary serialization, and easy backward compatibility.
This document discusses programming TCP for responsiveness when sending HTTP/2 responses. It describes how to reduce head-of-line blocking by filling the TCP congestion window before sending data. The key points are reading TCP states via getsockopt to determine how much data can be sent immediately, and optimizing this only for high latency connections or small congestion windows to avoid additional response delays. Benchmarks show this approach can reduce response times from multiple round-trip times to a single RTT.
Concurrency and parallelism in Python are always hot topics. This talk will look the variety of forms of concurrency and parallelism. In particular this talk will give an overview of various forms of message-passing concurrency which have become popular in languages like Scala and Go. A Python library called python-csp which implements similar ideas in a Pythonic way will be introduced and we will look at how this style of programming can be used to avoid deadlocks, race hazards and "callback hell".
Reorganizing Website Architecture for HTTP/2 and BeyondKazuho Oku
This document discusses reorganizing website architecture for HTTP/2 and beyond. It summarizes some issues with HTTP/2 including errors in prioritization where some browsers fail to specify resource priority properly. It also discusses the problem of TCP head-of-line blocking where pending data in TCP buffers can delay higher priority resources. The document proposes solutions to these issues such as prioritizing resources on the server-side and writing only what can be sent immediately to avoid buffer blocking. It also examines the mixed success of HTTP/2 push and argues the server should not push already cached resources.
This document summarizes the curl command line tool, which transfers data from or to a server using supported protocols like HTTP, HTTPS, FTP, etc. It describes curl's name, synopsis, description, URL syntax handling, progress meter, and common options for controlling aspects like authentication methods, cookies, file transfers, SSL/TLS versions, and more. The document provides high-level information on curl's capabilities and how to use its many features from the command line.
Lecture 7: Introduction to Quantum Chemical Simulation graduate course taught at MIT in Fall 2014 by Heather Kulik. This course covers: wavefunction theory, density functional theory, force fields and molecular dynamics and sampling.
The document discusses the performance of HTTP/2 compared to HTTP/1.1 across different network conditions. It summarizes results from testing 8 real websites under 16 bandwidth and latency combinations with varying packet loss rates. Overall, HTTP/2 performs better for document complete time and speed index, especially on slower connections, though results vary depending on the specific site and metrics measured.
This document provides an overview of the tcpdump network traffic analysis tool. It discusses how tcpdump can be used to capture and filter network packets, highlights some common workflows and options, describes the underlying Berkeley Packet Filter (BPF) architecture, and addresses some common issues and questions. The key points are:
- Tcpdump allows users to capture and filter live network traffic or read from saved packet capture (pcap) files.
- Common options include -n to disable DNS resolution for faster display, -s1500 to set the snapshot length, -X to print packets in hex/ascii, and various filters like port 80.
- Workflows include online analysis of live traffic or offline analysis of saved captures
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...PROIDEA
Wybór docelowej platformy sieciowej (np. routera, firewalla, scrubbera DDoS) jest często poprzedzony jej testami. Jednym z celów testów jest sprawdzenie, czy parametry wydajnościowe deklarowane przez producenta odpowiadają rzeczywistości. Zespół rozwijający redGuardian Anty DDoS testuje rozwiązanie regresyjnie i wydajnościowo w sposób zautomatyzowany od początku jego istnienia. W czasie prezentacji przeanalizujemy aspekty, na które warto zwrócić uwagę w czasie testów wydajnościowych urządzeń IP oraz przyjrzymy się narzędziom open source pomocnym w realizacji tego zadania.
The document discusses REST and gRPC APIs. It describes REST as a design pattern that uses HTTP and represents resources with JSON or XML. While REST is widely used, it has disadvantages like bloated data payloads and lack of a formal contract. gRPC is introduced as an alternative that is high performance, uses protocol buffers for compact payloads, and has generated client/server code in many languages. The document also describes how grpc-gateway can be used to expose existing gRPC services through a RESTful JSON API via HTTP to support existing clients.
Presentation material for TokyoRubyKaigi11.
Describes techniques used by H2O, including: techniques to optimize TCP for responsiveness, server-push and cache digests.
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorganHazelcast
- OpenHFT provides solutions for improving Java data locality and inter-process communication (IPC) transport, enabling ultra-low latency real-time Java deployments.
- It includes Chronicle Map, an off-heap concurrent map that avoids garbage collection pauses compared to on-heap maps. It also provides faster IPC than UDP/TCP via shared memory.
- Tests show Chronicle Map accessed via shared memory IPC can be over 1000x faster than Red Hat Infinispan accessed via UDP for a distributed cache workload.
How to Make Ruby CGI Script Faster - CGIを高速化する小手先テクニック -kwatch
The document discusses ways to make Ruby CGI scripts faster. It explains that process invocation and library loading are the main reasons CGI scripts are slow. Various case studies are presented on optimizing code by lazy-loading libraries, avoiding unnecessary objects, and parsing query strings efficiently. Benchmark results show performance improvements from these techniques.
USENIX Vault'19: Performance analysis in Linux storage stack with BPFTaeung Song
The document discusses BPF (Berkeley Packet Filter) and how it allows running custom code in the Linux kernel. It explains that BPF programs are written in C, compiled to BPF bytecode, loaded into the kernel via the BPF syscall. A key part of the process is the BPF verifier, which checks the safety of programs before injection by analyzing control flow and simulating execution.
This document discusses setting up a network bridge without Docker. It provides a Vagrantfile to configure a virtual machine environment with Ubuntu 18.04, along with tools like Go and Docker installed. Instructions are given to create a bridge between two network namespaces called RED and BLUE using IP addresses in the 11.11.11.0/24 range. Tests show that hosts can ping each other within this network but not across the real interface and IP range of the host machine. Additional routing and IP configuration is needed to allow outside communication.
The document introduces SD, a peer-to-peer bug tracking tool developed by Best Practical to allow tracking bugs offline and syncing work across devices. SD uses a decentralized model where each installation can pull changes from any other replica. It supports syncing with other bug trackers like RT, Trac and Google Code. The author argues that cloud services make users dependent while SD empowers fully offline and distributed work by syncing like users naturally share files.
The document discusses using netlink and netlink families to enable communication between the kernel and user space processes. Netlink allows a more flexible alternative to ioctl calls by providing a socket-based interface for exchanging information. Various netlink families exist for communicating with different kernel modules, including NETLINK_ROUTE for routing functions. The document then discusses using netlink and the arpd tool to dynamically update ARP and bridge forwarding database tables in response to layer 2 and layer 3 miss events. This allows maintaining overlay networks by handling ARP requests between network namespaces.
This document discusses DNS and DHCP configuration using dnsmasq on OpenWrt. It describes the dnsmasq configuration file layout, including common options, DHCP pools, static leases, and ways to classify clients and assign individual DHCP options. Examples are provided for configuring static leases using different MAC addresses, and troubleshooting issues with Windows 7 clients.
PFQ@ 10th Italian Networking Workshop (Bormio)Nicola Bonelli
The document discusses accelerated capture engines for monitoring applications. It provides an overview of capture engines like PF_RING, PFQ, and NETMAP. It then summarizes new features in PFQ 2.0, which has been expanded from a capture engine to a monitoring framework. Experimental results are shown comparing the performance and features of different capture engines and libraries. Pcap-perf, a benchmarking tool, is also introduced.
NovaProva, a new generation unit test framework for C programsGreg Banks
I wrote NovaProva because I was sick of writing unit tests using the venerable but clunky CUnit library. CUnit looked easy when I started writing unit tests but I soon discovered it's limitations and ended up screaming in frustration. Meanwhile over 18 months the Cyrus IMAP server project has gone from 0 unit tests to 461, of which 277 are written in C with CUnit. So that's a big itch!
XMPP-based Push Solutions -
This document discusses using the XMPP protocol for push notifications. It provides examples of using ProcessOne Push Platform (P1PP) to enable use cases like pushing messages to Nabaztag rabbits or publishing blog posts. P1PP is a generic platform that can manage push notifications for users in a standardized way, and supports mobile, web, and desktop clients through XMPP and HTTP. It includes Javascript and command-line libraries for interacting with P1PP.
This document discusses complex event processing (CEP) and the importance of query speed. It provides examples of basic and more complex event processing queries written in Event Processing Language (EPL). It also notes that the Esper CEP engine can process over 500,000 events per second and discusses how high-frequency trading relies on CEP to gain competitive advantages on Wall Street.
Lecture 7: Introduction to Quantum Chemical Simulation graduate course taught at MIT in Fall 2014 by Heather Kulik. This course covers: wavefunction theory, density functional theory, force fields and molecular dynamics and sampling.
The document discusses the performance of HTTP/2 compared to HTTP/1.1 across different network conditions. It summarizes results from testing 8 real websites under 16 bandwidth and latency combinations with varying packet loss rates. Overall, HTTP/2 performs better for document complete time and speed index, especially on slower connections, though results vary depending on the specific site and metrics measured.
This document provides an overview of the tcpdump network traffic analysis tool. It discusses how tcpdump can be used to capture and filter network packets, highlights some common workflows and options, describes the underlying Berkeley Packet Filter (BPF) architecture, and addresses some common issues and questions. The key points are:
- Tcpdump allows users to capture and filter live network traffic or read from saved packet capture (pcap) files.
- Common options include -n to disable DNS resolution for faster display, -s1500 to set the snapshot length, -X to print packets in hex/ascii, and various filters like port 80.
- Workflows include online analysis of live traffic or offline analysis of saved captures
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...PROIDEA
Wybór docelowej platformy sieciowej (np. routera, firewalla, scrubbera DDoS) jest często poprzedzony jej testami. Jednym z celów testów jest sprawdzenie, czy parametry wydajnościowe deklarowane przez producenta odpowiadają rzeczywistości. Zespół rozwijający redGuardian Anty DDoS testuje rozwiązanie regresyjnie i wydajnościowo w sposób zautomatyzowany od początku jego istnienia. W czasie prezentacji przeanalizujemy aspekty, na które warto zwrócić uwagę w czasie testów wydajnościowych urządzeń IP oraz przyjrzymy się narzędziom open source pomocnym w realizacji tego zadania.
The document discusses REST and gRPC APIs. It describes REST as a design pattern that uses HTTP and represents resources with JSON or XML. While REST is widely used, it has disadvantages like bloated data payloads and lack of a formal contract. gRPC is introduced as an alternative that is high performance, uses protocol buffers for compact payloads, and has generated client/server code in many languages. The document also describes how grpc-gateway can be used to expose existing gRPC services through a RESTful JSON API via HTTP to support existing clients.
Presentation material for TokyoRubyKaigi11.
Describes techniques used by H2O, including: techniques to optimize TCP for responsiveness, server-push and cache digests.
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorganHazelcast
- OpenHFT provides solutions for improving Java data locality and inter-process communication (IPC) transport, enabling ultra-low latency real-time Java deployments.
- It includes Chronicle Map, an off-heap concurrent map that avoids garbage collection pauses compared to on-heap maps. It also provides faster IPC than UDP/TCP via shared memory.
- Tests show Chronicle Map accessed via shared memory IPC can be over 1000x faster than Red Hat Infinispan accessed via UDP for a distributed cache workload.
How to Make Ruby CGI Script Faster - CGIを高速化する小手先テクニック -kwatch
The document discusses ways to make Ruby CGI scripts faster. It explains that process invocation and library loading are the main reasons CGI scripts are slow. Various case studies are presented on optimizing code by lazy-loading libraries, avoiding unnecessary objects, and parsing query strings efficiently. Benchmark results show performance improvements from these techniques.
USENIX Vault'19: Performance analysis in Linux storage stack with BPFTaeung Song
The document discusses BPF (Berkeley Packet Filter) and how it allows running custom code in the Linux kernel. It explains that BPF programs are written in C, compiled to BPF bytecode, loaded into the kernel via the BPF syscall. A key part of the process is the BPF verifier, which checks the safety of programs before injection by analyzing control flow and simulating execution.
This document discusses setting up a network bridge without Docker. It provides a Vagrantfile to configure a virtual machine environment with Ubuntu 18.04, along with tools like Go and Docker installed. Instructions are given to create a bridge between two network namespaces called RED and BLUE using IP addresses in the 11.11.11.0/24 range. Tests show that hosts can ping each other within this network but not across the real interface and IP range of the host machine. Additional routing and IP configuration is needed to allow outside communication.
The document introduces SD, a peer-to-peer bug tracking tool developed by Best Practical to allow tracking bugs offline and syncing work across devices. SD uses a decentralized model where each installation can pull changes from any other replica. It supports syncing with other bug trackers like RT, Trac and Google Code. The author argues that cloud services make users dependent while SD empowers fully offline and distributed work by syncing like users naturally share files.
The document discusses using netlink and netlink families to enable communication between the kernel and user space processes. Netlink allows a more flexible alternative to ioctl calls by providing a socket-based interface for exchanging information. Various netlink families exist for communicating with different kernel modules, including NETLINK_ROUTE for routing functions. The document then discusses using netlink and the arpd tool to dynamically update ARP and bridge forwarding database tables in response to layer 2 and layer 3 miss events. This allows maintaining overlay networks by handling ARP requests between network namespaces.
This document discusses DNS and DHCP configuration using dnsmasq on OpenWrt. It describes the dnsmasq configuration file layout, including common options, DHCP pools, static leases, and ways to classify clients and assign individual DHCP options. Examples are provided for configuring static leases using different MAC addresses, and troubleshooting issues with Windows 7 clients.
PFQ@ 10th Italian Networking Workshop (Bormio)Nicola Bonelli
The document discusses accelerated capture engines for monitoring applications. It provides an overview of capture engines like PF_RING, PFQ, and NETMAP. It then summarizes new features in PFQ 2.0, which has been expanded from a capture engine to a monitoring framework. Experimental results are shown comparing the performance and features of different capture engines and libraries. Pcap-perf, a benchmarking tool, is also introduced.
NovaProva, a new generation unit test framework for C programsGreg Banks
I wrote NovaProva because I was sick of writing unit tests using the venerable but clunky CUnit library. CUnit looked easy when I started writing unit tests but I soon discovered it's limitations and ended up screaming in frustration. Meanwhile over 18 months the Cyrus IMAP server project has gone from 0 unit tests to 461, of which 277 are written in C with CUnit. So that's a big itch!
XMPP-based Push Solutions -
This document discusses using the XMPP protocol for push notifications. It provides examples of using ProcessOne Push Platform (P1PP) to enable use cases like pushing messages to Nabaztag rabbits or publishing blog posts. P1PP is a generic platform that can manage push notifications for users in a standardized way, and supports mobile, web, and desktop clients through XMPP and HTTP. It includes Javascript and command-line libraries for interacting with P1PP.
This document discusses complex event processing (CEP) and the importance of query speed. It provides examples of basic and more complex event processing queries written in Event Processing Language (EPL). It also notes that the Esper CEP engine can process over 500,000 events per second and discusses how high-frequency trading relies on CEP to gain competitive advantages on Wall Street.
This document provides a summary of the Solr search platform in under 5 minutes. It describes how Solr is based on Lucene and exposes its search capabilities via REST. It outlines Solr's basic configuration files and mechanisms for indexing, searching, faceting, spellchecking, highlighting and APIs. It also briefly discusses Solr's security, scaling, and resources for learning more.
A series of innovations attacking essential complexity could lead to significant improvements, perhaps a tenfold increase in productivity over a ten-year period. Fred Brooks, a pioneer in software engineering, argues that simplifying complex systems through innovations is key to boosting development efficiency and output. Significant advances require targeting the fundamental sources of complexity through innovative new approaches.
The document discusses proteins and how chains of amino acids fold into unique shapes that determine how proteins interact with each other. It provides diagrams of enzyme-substrate interactions and how networks of protein interactions can lead to new treatments. It also discusses text mining of biomedical publications to extract protein-protein interaction networks at different levels and outputting the results in Cytoscape format.
This document provides an overview of TCPDUMP including:
- Introducing TCPDUMP as a command line network packet analyzer that comes pre-installed on Unix systems.
- Explaining how to decipher data packets captured by TCPDUMP.
- Detailing basic and intermediate TCPDUMP command line options and usage including filtering, reading from and writing to files.
- Outlining steps for network hacking techniques like footprinting, scanning, and DDoS attacks.
Use perl creating web services with xml rpcJohnny Pork
This document discusses using XML-RPC to create web services with Perl. It provides an example of creating an XML-RPC client in Perl to call methods on a remote web service. It also gives an example of building an XML-RPC listener service in Perl to expose methods to remote clients. The document stresses the importance of documenting the API of any XML-RPC web service.
ngrep is a network packet sniffer that allows filtering and matching regular expressions against TCP/IP and other protocols at the data link layer. It can be used to debug plaintext protocols, analyze anomalous network activity, and for security/hacking purposes. The document provides examples of ngrep commands and output, demonstrating how it can be used to inspect HTTP headers, filter traffic, and view output in both ASCII and hexadecimal formats.
Training Slides: 153 - Working with the CLIContinuent
Watch this 55min training session to learn about the main command line tools you’ll be using when working with Tungsten Replicator.
TOPICS COVERED
- Re-cap the previous Installation
- Explore the main Command Line Tools
- tpm
- trepctl
- thl
gRPC is a modern open source RPC framework that enables client and server applications to communicate transparently. It is based on HTTP/2 for its transport mechanism and Protocol Buffers as its interface definition language. Some benefits of gRPC include being fast due to its use of HTTP/2, supporting multiple programming languages, and enabling server push capabilities. However, it also has some downsides such as potential issues with load balancing of persistent connections and requiring external services for service discovery.
This document provides an overview and tutorial on using the ns-2 network simulator. It covers the basics of ns-2 including its architecture, using OTcl and C++, event-driven simulation, tracing packets, creating network topologies, inserting errors, setting up routing, creating connections using TCP and applications, and visualizing simulations using Nam. The tutorial aims to help users understand the basic concepts of ns-2, set up their own network topologies and simulations, add traffic, run simulations, and use visualization tools.
The document discusses the Network Simulator 2 (NS2) tool. It provides an overview of NS2's architecture, which uses C++ for the backend simulation objects and OTcl for the frontend setup. It also describes how NS2 simulations are run using a Tcl script to initialize objects, define the network topology with nodes and links, setup transport and application layer agents, schedule simulation events, and terminate the simulation. Key aspects covered include initializing and terminating the simulator, defining nodes and links, setting up TCP, UDP, and CBR agents, and scheduling the start and stop of applications.
Build reliable, traceable, distributed systems with ZeroMQRobin Xiao
ZeroMQ is used to build a distributed system with reliable and traceable communication. It allows exposing code over RPC with minimal modification. Exceptions are properly propagated across services. The system is language agnostic and brokerless. Introspection allows viewing methods and signatures without opening code. Streaming APIs allow continuous updates without timeouts. Tracing helps profile nested calls and identify performance bottlenecks. Security is not implemented but could use SSL or authentication layers.
Pcapy and dpkt - tcpdump on steroids - Ran Leibman - DevOpsDays Tel Aviv 2018DevOpsDays Tel Aviv
Tcpdump is awesome for debugging issues on the network layer. But sometime you want to do a bit more, like look into the application layers or do some aggregation. In this talk I’m going to show you how to use python together with the pcapy and dpkt modules to take tcpdump to the next level.
Tcpdump is a command line packet analyzer that allows users to intercept and display TCP/IP and other network packets. It can be used to debug applications that use the network, analyze network setups, and intercept unencrypted network traffic passing through systems with appropriate privileges. Tcpdump displays captured packets and allows filtering by protocol, port, or other criteria using command line flags.
Network and TCP performance relationship workshopKae Hsu
The document discusses TCP performance factors and techniques to improve TCP performance in network environments. It covers TCP operation principles, factors that impact TCP performance like packet loss, out-of-order packets, and congestion. It also discusses approaches to improve performance through the network like reducing packet loss and congestion, and through appliances like TCP offloading and optimization to reduce system resource usage.
TCPDUMP is a command line tool for capturing network packets. It has many options for filtering, formatting, and saving packet captures. The document also provides details on capture filter primitives that can be used to match packets based on attributes like source/destination, protocols, ports, lengths, and more. Examples of filters are also given.
This document discusses Nanite, a messaging platform that uses Chef for configuration management, Redis for data storage, and RabbitMQ for messaging. It provides an overview of these technologies and how they enable automation, scalability, and flexibility for cloud infrastructure. Instructions are given to install Nanite on OSX systems by running a provided script.
This document discusses ways to provide quality of service (QoS) without using traditional QoS mechanisms for modern storage systems like Ceph. It describes using techniques like limiting client I/O, traffic shaping at gateways, adjusting iSCSI queue depths, and using Linux traffic control (tc) tools to provide bandwidth caps or inject latency. While upstream Ceph efforts work on native QoS, these techniques can provide some control over performance for different clients in the interim. The document cautions that solutions like tc are complex to configure for many clients and may drop packets.
This document provides an overview of network traffic analysis. It discusses why traffic analysis is useful for gaining knowledge about a network, investigating issues, and network forensics. It also summarizes the basics of TCP/IP protocols, packet sniffing tools like Wireshark and Tcpdump, and how to analyze network traffic captures for troubleshooting and security purposes. Hands-on network forensics examples are provided to demonstrate these concepts.
Exploiting Network Protocols To Exhaust Bandwidth Links 2008 Finalmasoodnt10
The document discusses denial of service (DoS) attacks and how to mitigate them. It begins by defining DoS attacks and some common types like Smurf and Fraggle attacks. It then discusses tools like hping that can be used to craft packets for DoS attacks or testing defenses. The document concludes by outlining techniques to prevent networks from being used in DoS amplification attacks and recommends configuring firewalls and filters to detect and block flood traffic.
Using Git and GitHub Effectively at Emerge InteractiveMatthew McCullough
Matthew presented on some lesser-known Git and GitHub tactics at Emerge Interactive in Portland, OR on 2012-09-04.
Detailed notes are in a Gist on GitHub: https://gist.github.com/gists/3642254
Delivered on September 4, 2012
Pull Requests are a core part of the GitHub site and many modern Git version control workflows. This free class given by Matthew McCullough of GitHub provides a demo-centric review of Pull Request use and positive co-behavioral impacts.
A presentation given at UberConf 2012 in Broomfield, Colorado, USA.
Further game theory resources an be found at https://gist.github.com/matthewmccullough/2721876 and http://ambientideas.com/blog/index.php/2011/04/game-theory-and-softwaredev/
If you've worked with Git long enough to wish you could modify the history of a repository, this talk is for you. Git's filter-branch command lets you re-write history in an automated way, changing usernames, removing certain commits, or restructuring repositories to have nested folders become the top level folder for potential use as submodules.
Delivered on June 25, 2012
Git is a version control system. We can look at it from that high level. Git is a content tracking system. Some teachers advise us to look at it from that lowered elevation. But I will take you to the very bottom. The floor. The code. The algorithms. The directed acyclic graph of hashed bit sequences made efficient through LZW compression and deferred garbage collection determined by node reachability via hash relationships.
“But why?”, you may ask. “Why go this deep?”" Git is a tool that works so well for so many. It mystically corrects anticipated `merge` conflicts. It’s “where did code come from” results from `blame` are impressive. The ability to re-write history through `rebase` is awesome. The globally unique identifier nature of a hash-produced ref is revolutionary.
Uber-geeks are magic-slayers. We want and need to know precisely how things work. Like a hard 50 push-up workout, this study will make working with Git at the daily developer level a fraction of the effort — like a mere ten push-ups. Join Matthew McCullough of GitHub and let’s dig into the guts of Git.
Delivered on June 17, 2012
Matthew McCullough of GitHub presented on why Java developers have so many reasons to explore Git and Git, including productivity gains, easy OSS contributions, the eGit Eclipse plugin, and JGit, the underlying Java cleanroom implementation that powers https://android.googlesource.com.
Delivered on June 9, 2012
Learn how to use searching, logging, bisecting and pick-axing in Git.
Command history for this event is published at https://gist.github.com/2579381
Delivered on May 2nd, 2012
A Boulder private-event presentation that will additionally be given at DOSUG. Covers the basics of Git tooling, techniques, and the GitHub platform.
Delivered on April 30, 2012
Git is a compelling version control system, but it is useful to talk about it in the context of a destination, made possible by migration tools from previous version control systems like Subversion. This talk offers a set of motivations, tools, and techniques on the Subversion to Git and GitHub migration process.
Delivered on April 21, 2012
Git has a little used feature called Notes that is an excellent support to traditional commit messages. Not surprisingly, this feature also has a great visual rendering on the GitHub.com site when Notes are pushed to a Git repository.
Build Lifecycle Craftsmanship for the Transylvania JUGMatthew McCullough
The document discusses various tools used at different stages of the software development lifecycle, including build tools like Maven and Gradle, continuous integration tools like Jenkins, code quality tools like Sonar, runtime analysis tools like VisualVM and BTrace. It provides brief overviews and links for each tool discussed.
The document announces two upcoming events for the Transylvania Java Users Group:
1) A 75-minute session on October 17th about Git version control system, including live demonstrations of using Git from the command line, Eclipse, IntelliJ, and custom GUIs. Door prizes will include a digital copy of O'Reilly Git Master class videos and a seat in the GitHub Git Online Course.
2) A 75-minute presentation on October 18th about tools for the build lifecycle like Maven, Gradle, Jenkins, Sonar, VisualVM, and BTrace. Live demonstrations will showcase how to maximize what these tools offer. Door prizes will include a printed copy of the Grad
Game Theory for Software Developers at the Boulder JUGMatthew McCullough
Game Theory, a segment of economics, can effectively be applied to software development for achieving better financial and decision making outcomes.
Delivered on October 13, 2011
Cascading provides a simpler way to write MapReduce programs through data flows. It uses a pipe and tap metaphor where data flows through pipes and is read from or written to taps. This allows assembling MapReduce jobs as data flow graphs in a more logical way compared to the traditional MapReduce API.
This document discusses JQuery Mobile, a framework for building mobile web applications. It highlights challenges in mobile development like bandwidth limitations and differences in operating systems and devices. JQuery Mobile aims to address these challenges by leveraging JQuery, HTML5, CSS and JavaScript in a lightweight package. It provides features like themes, events, pages and forms to support mobile application development. The author plans to present on JQuery Mobile at upcoming user groups.
R is an open source statistical programming language and environment created in 1993 that is popular for statistical analysis and graphics. It was developed as an implementation of S and is cited as the most powerful statistical computing language. R is widely used at companies like Google and allows interfacing with other programs through servers to enable analysis, graphing, and other statistical tasks. R can be used through its basic environment, commercial products like RStudio, or plugins for other IDEs.
Dr. StrangeDev discusses how, as developers, they must think like designers to stay relevant in today's economy. The document provides tips for developers to master basic design principles, such as using color theory tools and design publications, to collaborate effectively with designers and improve the user experience. It encourages starting with the basics and provides contact information for Jordan McCullough to help developers make a shift towards more design-oriented work.
How to Use Upgrade Code Command in Odoo 18Celine George
In this slide, we’ll discuss on how to use upgrade code Command in Odoo 18. Odoo 18 introduced a new command-line tool, upgrade_code, designed to streamline the migration process from older Odoo versions. One of its primary functions is to automatically replace deprecated tree views with the newer list views.
Mental Health Assessment in 5th semester bsc. nursing and also used in 2nd ye...parmarjuli1412
Mental Health Assessment in 5th semester Bsc. nursing and also used in 2nd year GNM nursing. in included introduction, definition, purpose, methods of psychiatric assessment, history taking, mental status examination, psychological test and psychiatric investigation
How to Manage Amounts in Local Currency in Odoo 18 PurchaseCeline George
In this slide, we’ll discuss on how to manage amounts in local currency in Odoo 18 Purchase. Odoo 18 allows us to manage purchase orders and invoices in our local currency.
How To Maximize Sales Performance using Odoo 18 Diverse views in sales moduleCeline George
One of the key aspects contributing to efficient sales management is the variety of views available in the Odoo 18 Sales module. In this slide, we'll explore how Odoo 18 enables businesses to maximize sales insights through its Kanban, List, Pivot, Graphical, and Calendar views.
This presentation covers the conditions required for the application of Boltzmann Law, aimed at undergraduate nursing and allied health science students studying Biophysics. It explains the prerequisites for the validity of the law, including assumptions related to thermodynamic equilibrium, distinguishability of particles, and energy state distribution.
Ideal for students learning about molecular motion, statistical mechanics, and energy distribution in biological systems.
How to Manage Manual Reordering Rule in Odoo 18 InventoryCeline George
Reordering rules in Odoo 18 help businesses maintain optimal stock levels by automatically generating purchase or manufacturing orders when stock falls below a defined threshold. Manual reordering rules allow users to control stock replenishment based on demand.
The role of wall art in interior designingmeghaark2110
Wall art and wall patterns are not merely decorative elements, but powerful tools in shaping the identity, mood, and functionality of interior spaces. They serve as visual expressions of personality, culture, and creativity, transforming blank and lifeless walls into vibrant storytelling surfaces. Wall art, whether abstract, realistic, or symbolic, adds emotional depth and aesthetic richness to a room, while wall patterns contribute to structure, rhythm, and continuity in design. Together, they enhance the visual experience, making spaces feel more complete, welcoming, and engaging. In modern interior design, the thoughtful integration of wall art and patterns plays a crucial role in creating environments that are not only beautiful but also meaningful and memorable. As lifestyles evolve, so too does the art of wall decor—encouraging innovation, sustainability, and personalized expression within our living and working spaces.
How to Configure Extra Steps During Checkout in Odoo 18 WebsiteCeline George
In this slide, we’ll discuss on how to Configure Extra Steps During Checkout in Odoo 18 Website. Odoo website builder offers a flexible way to customize the checkout process.
As of 5/14/25, the Southwestern outbreak has 860 cases, including confirmed and pending cases across Texas, New Mexico, Oklahoma, and Kansas. Experts warn this is likely a severe undercount. The situation remains fluid, with case numbers expected to rise. Experts project the outbreak could last up to a year.
CURRENT CASE COUNT: 860 (As of 5/14/2025)
Texas: 718 (+6) (62% of cases are in Gaines County)
New Mexico: 71 (92.4% of cases are from Lea County)
Oklahoma: 17
Kansas: 54 (+6) (38.89% of the cases are from Gray County)
HOSPITALIZATIONS: 102 (+2)
Texas: 93 (+1) - This accounts for 13% of all cases in Texas.
New Mexico: 7 – This accounts for 9.86% of all cases in New Mexico.
Kansas: 2 (+1) - This accounts for 3.7% of all cases in Kansas.
DEATHS: 3
Texas: 2 – This is 0.28% of all cases
New Mexico: 1 – This is 1.41% of all cases
US NATIONAL CASE COUNT: 1,033 (Confirmed and suspected)
INTERNATIONAL SPREAD (As of 5/14/2025)
Mexico: 1,220 (+155)
Chihuahua, Mexico: 1,192 (+151) cases, 1 fatality
Canada: 1,960 (+93) (Includes Ontario’s outbreak, which began November 2024)
Ontario, Canada – 1,440 cases, 101 hospitalizations
25. cURL flags
-H [HTTP header]
Set the Accept or Content-Type headers
(e.g. text/xml, or application/json)
Useful, if the web server/service parses them.
26. cURL examples
sponse
Re
est XML
R equ
curl -X GET -H "Accept: text/xml" http://localhost/agents/1
27. tion
n ac pp
cu rl i
ils a
Gra ting
w ith a etec
nt d
onte vice
c
ser
29. Cr eate
curl -X POST http://localhost/agents/?name=Ben
Read
curl -X GET http://localhost/agents/1
Up date
curl -X PUT http://localhost/agents/1/?name=Benny
De lete
curl -X DELETE http://localhost/agents/1
30. tion
n ac pp
cu rl i
Gra ils a
wi th a vice
EST ser
R
43. TCPDump
Purpose
‣ Output headers of packets from a network.
‣ Filter results with powerful expressions.
‣ Save captured data to a file.
44. TCPDump
Useful for
‣ Debugging network traffic.
‣ Examining socket communications.
‣ Inspecting web service calls.
‣ Examining network data as a 3rd party
60. Wireshark usage
Gotcha on Mac OSX
At a terminal, upon each boot, type:
sudo chown YOURUSERNAME /dev/bpf*
Gotcha on Windows
Promiscuous mode doesn’t always work.
133. Useful for
‣ Discovering the GC cycles of your app.
‣ Finding the largest memory usage culprits.
134. Useful for
‣ Discovering the GC cycles of your app.
‣ Finding the largest memory usage culprits.
‣ Diffing memory snapshots.
135. Useful for
‣ Discovering the GC cycles of your app.
‣ Finding the largest memory usage culprits.
‣ Diffing memory snapshots.
‣ Injecting btrace code.
136. Useful for
‣ Discovering the GC cycles of your app.
‣ Finding the largest memory usage culprits.
‣ Diffing memory snapshots.
‣ Injecting btrace code.
‣ Snapping heapdumps.
178. Java
Network Web Service
OSS Debug
Tools
Filesystem JavaScript
180. FireBug
Purpose
Visually inspect an entire HTML DOM.
Useful for
Testing HTML and CSS changes.
Making realtime changes to the DOM.
Monitoring network traffic.
Debuging JavaScript.
209. Twitter
@matthewmccull Matthew
Blog
http://www.ambientideas.com/blog
sidebar has all my social media links
Email
[email protected]
GitHub
http://github.com/matthewmccullough