The Linux Block Layer - Built for Fast StorageKernel TLV
The arrival of flash storage introduced a radical change in performance profiles of direct attached devices. At the time, it was obvious that Linux I/O stack needed to be redesigned in order to support devices capable of millions of IOPs, and with extremely low latency.
In this talk we revisit the changes the Linux block layer in the
last decade or so, that made it what it is today - a performant, scalable, robust and NUMA-aware subsystem. In addition, we cover the new NVMe over Fabrics support in Linux.
Sagi Grimberg
Sagi is Principal Architect and co-founder at LightBits Labs.
Artificial Intelligence, Machine Learning and Deep LearningSujit Pal
Slides for talk Abhishek Sharma and I gave at the Gennovation tech talks (https://gennovationtalks.com/) at Genesis. The talk was part of outreach for the Deep Learning Enthusiasts meetup group at San Francisco. My part of the talk is covered from slides 19-34.
At Instagram, our mission is to capture and share the world's moments. Our app is used by over 400M people monthly; this creates a lot of challenging data needs. We use Cassandra heavily, as a general key-value storage. In this presentation, I will talk about how we use Cassandra to serve our critical use cases; the improvements/patches we made to make sure Cassandra can meet our low latency, high scalability requirements; and some pain points we have.
About the Speaker
Dikang Gu Software Engineer, Facebook
I'm a software engineer at Instagram core infra team, working on scaling Instagram infrastructure, especially on building a generic key-value store based on Cassandra. Prior to this, I worked on the development of HDFS in Facebook. I got the master degree of Computer Science in Shanghai Jiao Tong university in China.
Talk for Facebook Systems@Scale 2021 by Brendan Gregg: "BPF (eBPF) tracing is the superpower that can analyze everything, helping you find performance wins, troubleshoot software, and more. But with many different front-ends and languages, and years of evolution, finding the right starting point can be hard. This talk will make it easy, showing how to install and run selected BPF tools in the bcc and bpftrace open source projects for some quick wins. Think like a sysadmin, not like a programmer."
Webinar: Secrets of ClickHouse Query Performance, by Robert HodgesAltinity Ltd
From webinars September 11 and September 17, 2019
ClickHouse is famous for speed. That said, you can almost always make it faster! This webinar uses examples to teach you how to deduce what queries are actually doing by reading the system log and system tables. We'll then explore standard ways to increase query speed: data types and encodings, filtering, join reordering, skip indexes, materialized views, session parameters, to name just a few. In each case we'll circle back to query plans and system metrics to demonstrate changes in ClickHouse behavior that explain the boost in performance. We hope you'll enjoy the first step to becoming a ClickHouse performance guru!
Speaker Bio:
Robert Hodges is CEO of Altinity, which offers enterprise support for ClickHouse. He has over three decades of experience in data management spanning 20 different DBMS types. ClickHouse is his current favorite. ;)
C is the base to all kind of Programming Languages. Simply the enhancement of C language is C++. C++ is a general-purpose object-oriented programming (OOPS) language and Java is a general purpose, high-level programming language. Here I Provide a complete difference between C, C++ and JAVA in a simplified manner.
YouTube Link: https://youtu.be/beh7GE4FdnM
** Python Certification Training: https://www.edureka.co/python **
This Edureka PPT on 'Python Anaconda Tutorial' will help you understand how you can work on anaconda using python with installation and setup including use case consisting of python fundamentals and data analysis. Following are the topics discussed:
Introduction to Anaconda
Installation And Setup
How To Install Libraries?
Anaconda Navigator
Use Case - Python Fundamentals
Use Case - Data Analysis
Python Tutorial Playlist: https://goo.gl/WsBpKe
Blog Series: http://bit.ly/2sqmP4s
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
Adaptive Query Execution: Speeding Up Spark SQL at RuntimeDatabricks
Over the years, there has been extensive and continuous effort on improving Spark SQL’s query optimizer and planner, in order to generate high quality query execution plans. One of the biggest improvements is the cost-based optimization framework that collects and leverages a variety of data statistics (e.g., row count, number of distinct values, NULL values, max/min values, etc.) to help Spark make better decisions in picking the most optimal query plan.
What are Data structures in Python? | List, Dictionary, Tuple Explained | Edu...Edureka!
YouTube Link: https://youtu.be/m9n2f9lhtrw
** Python Certification Training: https://www.edureka.co/data-science-python-certification-course **
This Edureka video on 'Data Structures in Python' will help you understand the various data structures that Python has built into itself such as the list, dictionary, tuple and more. Further, we will also understand stacks, queues, trees and how they are implemented in Python using classes and functions. The video is divided into the following parts:
What are Data Structures?
Why are Data Structures needed?
Types of Data Structures in Python
Built-In Data Structures
Lists
Dictionary
Tuple
Sets
User-Defined Data Structure
Array
Stack
Queue
Linked List
Tree
Graph
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
USENIX LISA2021 talk by Brendan Gregg (https://www.youtube.com/watch?v=_5Z2AU7QTH4). This talk is a deep dive that describes how BPF (eBPF) works internally on Linux, and dissects some modern performance observability tools. Details covered include the kernel BPF implementation: the verifier, JIT compilation, and the BPF execution environment; the BPF instruction set; different event sources; and how BPF is used by user space, using bpftrace programs as an example. This includes showing how bpftrace is compiled to LLVM IR and then BPF bytecode, and how per-event data and aggregated map data are fetched from the kernel.
Note (2017-07-12): a more recent version of this slide has been released. https://www.slideshare.net/ByoungHeeKim1/20170629-osia-final
Introduction to deep learning approaches for artificial intelligence (with some practice materials) (mostly in Korean)
(서울대학교 인지과학협동과정, 인지과학방법론 2016년 2학기 강의)
The document provides an overview of perceptrons and neural networks. It discusses how neural networks are modeled after the human brain and consist of interconnected artificial neurons. The key aspects covered include the McCulloch-Pitts neuron model, Rosenblatt's perceptron, different types of learning (supervised, unsupervised, reinforcement), the backpropagation algorithm, and applications of neural networks such as pattern recognition and machine translation.
DPDK is a set of drivers and libraries that allow applications to bypass the Linux kernel and access network interface cards directly for very high performance packet processing. It is commonly used for software routers, switches, and other network applications. DPDK can achieve over 11 times higher packet forwarding rates than applications using the Linux kernel network stack alone. While it provides best-in-class performance, DPDK also has disadvantages like reduced security and isolation from standard Linux services.
This third part of Linux internals talks about Thread programming and using various synchronization mechanisms like mutex and semaphores. These constructs helps users to write efficient programs in Linux environment
All about Zookeeper and ClickHouse Keeper.pdfAltinity Ltd
ClickHouse clusters depend on ZooKeeper to handle replication and distributed DDL commands. In this Altinity webinar, we’ll explain why ZooKeeper is necessary, how it works, and introduce the new built-in replacement named ClickHouse Keeper. You’ll learn practical tips to care for ZooKeeper in sickness and health. You’ll also learn how/when to use ClickHouse Keeper. We will share our recommendations for keeping that happy as well.
Ingesting streaming data into Graph DatabaseGuido Schmutz
This talk presents the experience of a customer project where we built a stream-based ingestion into a graph database. It is one thing to load the graph first and then querying it. But it is another story if the data to be added to the graph is constantly streaming in, while querying it. Data is easy to add, if each single message ends up as a new vertex in the graph. But if a message consists of hierarchical information, it most often means creating multiple new vertices as well adding edges to connect this information. What if a node already exists in the graph? Do we create it again or do we rather add edges which link to the existing node? Creating multiple nodes for the same real-life entity is not the best choice, so we have to check for existence first. We end up requiring multiple operations against the graph, which demonstrated to be a bottle neck. This talk presents the implementation of an ingestion pipeline and the design choice we made to improve performance.
The document provides an introduction to operating systems and key concepts such as processes, virtual memory, and multitasking. It discusses how the CPU uses registers to perform computations and access memory. It explains that an operating system allows multiple programs to run simultaneously through time-slicing and context-switching between processes. Each process has its own virtual address space and sees its own "virtual machine" presented by the operating system.
Apache Spark is a fast, general engine for large-scale data processing. It provides unified analytics engine for batch, interactive, and stream processing using an in-memory abstraction called resilient distributed datasets (RDDs). Spark's speed comes from its ability to run computations directly on data stored in cluster memory and optimize performance through caching. It also integrates well with other big data technologies like HDFS, Hive, and HBase. Many large companies are using Spark for its speed, ease of use, and support for multiple workloads and languages.
Tijmen Blankenvoort, co-founder Scyfer BV, presentation at Artificial Intelligence Meetup 15-1-2014. Introduction into Neural Networks and Deep Learning.
Este documento describe los diferentes sistemas y herramientas que se pueden usar para monitorear Asterisk y otras aplicaciones de comunicaciones, incluyendo logs, StatsD, Grafana, InfluxDB, Elasticsearch y Kibana. Explica cómo Asterisk puede enviar datos a StatsD y cómo integrar todo el sistema usando herramientas como Telegraf.
This document discusses GPU computing with CUDA and NVIDIA Tesla hardware. It provides an overview of GPU computing and how it differs from CPU computing in being optimized for data-parallel throughput rather than low latency. It also describes the key specifications of the NVIDIA Tesla C1060 GPU and Tesla streaming multiprocessor. Finally, it outlines the CUDA parallel computing architecture and programming model, including how applications use the GPU as a coprocessor through kernels launched from the CPU.
Memory management is at the heart of any data-intensive system. Spark, in particular, must arbitrate memory allocation between two main use cases: buffering intermediate data for processing (execution) and caching user data (storage). This talk will take a deep dive through the memory management designs adopted in Spark since its inception and discuss their performance and usability implications for the end user.
Visualize some of Austin's open source data using Elasticsearch with Kibana. ObjectRocket's Steve Croce presented this talk on 10/13/17 at the DBaaS event in Austin, TX.
This document discusses using PocketIO to enable real-time web applications. It begins with an overview of the speaker and agenda. It then describes issues with the HTTP request/response model and how real-time web technologies can improve the user experience. The rest of the document focuses on coding demos using PocketIO, including building an echo server, shared chat wall, and integrating with an external data store. It emphasizes how PocketIO handles connections and allows collaboration between users.
Adaptive Query Execution: Speeding Up Spark SQL at RuntimeDatabricks
Over the years, there has been extensive and continuous effort on improving Spark SQL’s query optimizer and planner, in order to generate high quality query execution plans. One of the biggest improvements is the cost-based optimization framework that collects and leverages a variety of data statistics (e.g., row count, number of distinct values, NULL values, max/min values, etc.) to help Spark make better decisions in picking the most optimal query plan.
What are Data structures in Python? | List, Dictionary, Tuple Explained | Edu...Edureka!
YouTube Link: https://youtu.be/m9n2f9lhtrw
** Python Certification Training: https://www.edureka.co/data-science-python-certification-course **
This Edureka video on 'Data Structures in Python' will help you understand the various data structures that Python has built into itself such as the list, dictionary, tuple and more. Further, we will also understand stacks, queues, trees and how they are implemented in Python using classes and functions. The video is divided into the following parts:
What are Data Structures?
Why are Data Structures needed?
Types of Data Structures in Python
Built-In Data Structures
Lists
Dictionary
Tuple
Sets
User-Defined Data Structure
Array
Stack
Queue
Linked List
Tree
Graph
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
USENIX LISA2021 talk by Brendan Gregg (https://www.youtube.com/watch?v=_5Z2AU7QTH4). This talk is a deep dive that describes how BPF (eBPF) works internally on Linux, and dissects some modern performance observability tools. Details covered include the kernel BPF implementation: the verifier, JIT compilation, and the BPF execution environment; the BPF instruction set; different event sources; and how BPF is used by user space, using bpftrace programs as an example. This includes showing how bpftrace is compiled to LLVM IR and then BPF bytecode, and how per-event data and aggregated map data are fetched from the kernel.
Note (2017-07-12): a more recent version of this slide has been released. https://www.slideshare.net/ByoungHeeKim1/20170629-osia-final
Introduction to deep learning approaches for artificial intelligence (with some practice materials) (mostly in Korean)
(서울대학교 인지과학협동과정, 인지과학방법론 2016년 2학기 강의)
The document provides an overview of perceptrons and neural networks. It discusses how neural networks are modeled after the human brain and consist of interconnected artificial neurons. The key aspects covered include the McCulloch-Pitts neuron model, Rosenblatt's perceptron, different types of learning (supervised, unsupervised, reinforcement), the backpropagation algorithm, and applications of neural networks such as pattern recognition and machine translation.
DPDK is a set of drivers and libraries that allow applications to bypass the Linux kernel and access network interface cards directly for very high performance packet processing. It is commonly used for software routers, switches, and other network applications. DPDK can achieve over 11 times higher packet forwarding rates than applications using the Linux kernel network stack alone. While it provides best-in-class performance, DPDK also has disadvantages like reduced security and isolation from standard Linux services.
This third part of Linux internals talks about Thread programming and using various synchronization mechanisms like mutex and semaphores. These constructs helps users to write efficient programs in Linux environment
All about Zookeeper and ClickHouse Keeper.pdfAltinity Ltd
ClickHouse clusters depend on ZooKeeper to handle replication and distributed DDL commands. In this Altinity webinar, we’ll explain why ZooKeeper is necessary, how it works, and introduce the new built-in replacement named ClickHouse Keeper. You’ll learn practical tips to care for ZooKeeper in sickness and health. You’ll also learn how/when to use ClickHouse Keeper. We will share our recommendations for keeping that happy as well.
Ingesting streaming data into Graph DatabaseGuido Schmutz
This talk presents the experience of a customer project where we built a stream-based ingestion into a graph database. It is one thing to load the graph first and then querying it. But it is another story if the data to be added to the graph is constantly streaming in, while querying it. Data is easy to add, if each single message ends up as a new vertex in the graph. But if a message consists of hierarchical information, it most often means creating multiple new vertices as well adding edges to connect this information. What if a node already exists in the graph? Do we create it again or do we rather add edges which link to the existing node? Creating multiple nodes for the same real-life entity is not the best choice, so we have to check for existence first. We end up requiring multiple operations against the graph, which demonstrated to be a bottle neck. This talk presents the implementation of an ingestion pipeline and the design choice we made to improve performance.
The document provides an introduction to operating systems and key concepts such as processes, virtual memory, and multitasking. It discusses how the CPU uses registers to perform computations and access memory. It explains that an operating system allows multiple programs to run simultaneously through time-slicing and context-switching between processes. Each process has its own virtual address space and sees its own "virtual machine" presented by the operating system.
Apache Spark is a fast, general engine for large-scale data processing. It provides unified analytics engine for batch, interactive, and stream processing using an in-memory abstraction called resilient distributed datasets (RDDs). Spark's speed comes from its ability to run computations directly on data stored in cluster memory and optimize performance through caching. It also integrates well with other big data technologies like HDFS, Hive, and HBase. Many large companies are using Spark for its speed, ease of use, and support for multiple workloads and languages.
Tijmen Blankenvoort, co-founder Scyfer BV, presentation at Artificial Intelligence Meetup 15-1-2014. Introduction into Neural Networks and Deep Learning.
Este documento describe los diferentes sistemas y herramientas que se pueden usar para monitorear Asterisk y otras aplicaciones de comunicaciones, incluyendo logs, StatsD, Grafana, InfluxDB, Elasticsearch y Kibana. Explica cómo Asterisk puede enviar datos a StatsD y cómo integrar todo el sistema usando herramientas como Telegraf.
This document discusses GPU computing with CUDA and NVIDIA Tesla hardware. It provides an overview of GPU computing and how it differs from CPU computing in being optimized for data-parallel throughput rather than low latency. It also describes the key specifications of the NVIDIA Tesla C1060 GPU and Tesla streaming multiprocessor. Finally, it outlines the CUDA parallel computing architecture and programming model, including how applications use the GPU as a coprocessor through kernels launched from the CPU.
Memory management is at the heart of any data-intensive system. Spark, in particular, must arbitrate memory allocation between two main use cases: buffering intermediate data for processing (execution) and caching user data (storage). This talk will take a deep dive through the memory management designs adopted in Spark since its inception and discuss their performance and usability implications for the end user.
Visualize some of Austin's open source data using Elasticsearch with Kibana. ObjectRocket's Steve Croce presented this talk on 10/13/17 at the DBaaS event in Austin, TX.
This document discusses using PocketIO to enable real-time web applications. It begins with an overview of the speaker and agenda. It then describes issues with the HTTP request/response model and how real-time web technologies can improve the user experience. The rest of the document focuses on coding demos using PocketIO, including building an echo server, shared chat wall, and integrating with an external data store. It emphasizes how PocketIO handles connections and allows collaboration between users.
Docker provides a new, powerful way of prototyping, testing and deploying applications on cloud-based infrastructures. In this seminar we delve into the concept of Docker containers without requiring any previous knowledge from the audience.
Introduction to MongoDB (from Austin Code Camp)Chris Edwards
The document provides an introduction and overview of MongoDB:
1. It discusses the NoSQL movement and how MongoDB fits as a non-relational, distributed, and horizontally scalable database.
2. The basics of MongoDB are explained, including that it uses JSON-like documents, is schema-free, and provides high performance through features like memory-mapped files.
3. An overview of MongoDB's components is given, including the mongod server process, mongo shell client, and mongos shard router. Installation, basic use of the shell, and accessing MongoDB from applications are also covered.
The document provides an overview of MongoDB administration including its data model, replication for high availability, sharding for scalability, deployment architectures, operations, security features, and resources for operations teams. The key topics covered are the flexible document data model, replication using replica sets for high availability, scaling out through sharding of data across multiple servers, and different deployment architectures including single/multi data center configurations.
MongoDB for Time Series Data: Setting the Stage for Sensor ManagementMongoDB
The document discusses using MongoDB for time series data storage and analysis. It begins by defining time series data and providing examples of where it is commonly found. It then examines different schema designs for storing sensor data in MongoDB, balancing write and read performance. The document concludes by demonstrating how to perform analytical queries on the time series data using MongoDB's aggregation framework.
MongoDB for Time Series Data Part 1: Setting the Stage for Sensor ManagementMongoDB
The document discusses schema design considerations for time series traffic monitoring data stored in MongoDB. It evaluates alternatives like storing a document per event, per minute, or per hour. Storing aggregated data improves write performance by changing inserts to updates, improves analytic queries by reducing document reads, and reduces memory requirements by decreasing index size. The best schema depends on the read and write workload of the specific application.
This document provides an overview and introduction to using MongoDB with Perl. It discusses how MongoDB is a document-oriented database for storing JSON objects, and how the four basic CRUD operations (create, read, update, delete) work. It also introduces the MongoDB driver for Perl and provides examples for connecting to MongoDB and performing queries, inserts, updates and deletes from Perl code. The document concludes with suggesting some coding exercises to get hands-on experience with MongoDB and Perl.
This document provides an overview and introduction to MongoDB and Mongoose. It discusses how MongoDB is a document-oriented NoSQL database that stores data as JSON-like documents. It then introduces Mongoose as an object data modeling (ODM) library for MongoDB and Node.js applications that manages connections and schema. Various Mongoose concepts are explained such as schemas, models, CRUD operations, queries, validation, and plugins. The document aims to help developers get started with MongoDB and Mongoose.
Rails 5 introduced several new features including:
1. Improved performance through parallel testing and precompilation.
2. API mode which allows building JSON APIs without the overhead of Rails' full stack.
3. Action Cable for real-time features through WebSockets.
The document discusses how the City of Chicago has implemented a NoSQL database to store and analyze large amounts of municipal data. Some key points discussed include how the database works well for geospatial data, can grow elastically, uses a loose schema, and allows the city to bring all data into one place, make it available in real time, and find relationships within the data. Challenges mentioned include issues with certain geospatial queries and safely scaling the database.
The document discusses the history and capabilities of JavaScript. It describes how JavaScript originated as Livescript for Netscape in 1995 and was not initially meant for manipulating the DOM. It discusses how JavaScript became the main language for developing web applications with the introduction of XMLHttpRequest and how Node.js uses Google's V8 engine and LibUV to provide asynchronous and non-blocking I/O. It promotes Cloud9 as an online IDE for developing JavaScript applications and demonstrates how to build a simple Node.js server and real-time web app with Socket.IO.
Symfony2 and MongoDB - MidwestPHP 2013 Pablo Godel
In this talk we will see how to use MongoDB in Symfony2 projects to speed up the development of web applications. We will give an introduction of MongoDB as a NoSQL database server and look at the options on how to work with it from Symfony2 and PHP applications.
MongoDB is the coolest NoSQL DB around, partially because it's simple-by-design philosophy. Without transactions or joins, all the bad vibe of SQL is gone.
In this presentation I demonstrate how to get started with MongoDB in the cloud using Mon
This document provides an overview of regular expressions (regex). It begins by stating that regex can help find patterns in text and briefly outlines the history of regex from mathematics to its introduction in Unix. It then explains that regex can be used as an alternative to shell wildcards and that many Unix tools incorporate regex. The document proceeds to list programming languages that use regex and provides some basic regex rules including matching single characters, character classes, quantifiers, and assertions. It provides examples to demonstrate matching patterns using these rules.
This document provides an overview of front-end HTML5 web development, including its history from 2004 to becoming a W3C recommendation in 2014. It discusses using new HTML5 features to build complex client-side apps and focuses on teaching attendees how to write front-end code focused on JavaScript to develop modern web applications, demonstrating examples along the way.
The document discusses various statistics related to website load times and how they impact user behavior and business metrics. It states that 47% of consumers expect a page to load within 2 seconds and 73% of mobile users have encountered sites that were too slow. A 1 second delay can result in a 7% loss in conversions. It also discusses studies by Glasses Direct, Walmart and Google on how delays of 50-400 milliseconds can negatively impact conversion rates. The document emphasizes that page load time affects bounce rates, time on site, conversions, user satisfaction and that businesses should care about and measure load times.
This document outlines a course on responsive web design for mobile. The goals are to build a responsive website that works well on any device, understand responsive tools, and learn responsive design techniques. Students should know HTML for content and CSS for styling. The course includes three mobile design challenges to complete the learning.
How to write multi threaded applications using Qt:
In the slides you'll learn about 3 alternatives, all of which allow running tasks simultaneously in Qt applications, and understand the use cases leading to choosing each.
This document discusses improving text editing for Perl developers. It outlines some annoyances with basic text editors like slowing down development. An effective text editor can help developers by providing code snippets, file templates, auto-completion and other features to reduce typing and errors. The document recommends using the Janus text editor plugin collection for Vim, which provides these kinds of features to make editing Perl code faster and easier. It provides instructions for installing Janus and highlights some of its initial capabilities.
This 24-hour course covers the architectural differences system analysts must consider when designing mobile or mobile web applications. It discusses topics like the mobile ecosystem, application layers, device layers, communication networks, and security. The course will help participants understand how to manage sessions, use location services, send push notifications, optimize for networks and address vulnerabilities, through in-depth topics, real-world case studies and a suggested 6-session schedule.
The document discusses key differences between developing for mobile versus desktop. Mobile devices are always connected, have limited battery life, and users expect seamless app switching. Developers must consider interruptions and optimize for battery usage. Each mobile app runs in a sandbox and can communicate through URL schemes or by integrating with OS services. Background execution is more limited on iOS but both platforms allow some background activities like downloading content or playing audio. Developers must respect user expectations and not abuse background capabilities.
This document discusses optimizing mobile networks and applications for speed. It begins with an overview of networking basics and how mobile networks work. It then discusses factors that affect speed like latency, bandwidth, TCP protocols, and cellular network routing. The document provides recommendations for optimizing like leveraging WiFi, anticipating latency, saving bandwidth and battery. It also covers HTTP optimizations, browser APIs and protocols like XHR, SSE and WebSockets. The goal is to understand how networks impact applications and how to design for optimal mobile performance.
The document discusses mobile web architecture and hybrid mobile applications. It begins with an introduction to hybrid apps and PhoneGap. It then covers various HTML5 features that are useful for building hybrid apps like users and sessions, location services, cameras, videos, audio and push notifications. It explains the hybrid architecture of combining web views with native wrappers. It also provides examples of implementing location services, cameras, audio/video and push notifications in a hybrid mobile app.
This document discusses misusing cryptography. It begins with an agenda covering why cryptography is misused and how random number generators and crypto algorithms can be misused. It then discusses examples of what can go wrong, such as a game developer unintentionally allowing hackers to easily determine the secret code protecting scores. The document emphasizes that cryptography is complex and should not be casually misused, as failures can result in compromises like hacked systems and lost jobs. It provides recommendations for proper cryptographic practices.
This document provides an introduction to Selenium, an open source tool for automating web application testing. Selenium allows testing of web applications across different browsers without needing to modify the source code. It works by issuing commands to browser drivers to simulate user interactions such as clicking links, filling forms, and verifying page content. The document outlines how to set up and run automated tests using the Selenium Ruby bindings and RSpec testing framework.
Slides cover how to get started testing your web application. Technologies and concepts explained:
- Unit tests (mocha, jasmine, karma)
- System tests (Selenium)
- Code coverage (istanbul)
- CI servers
This document discusses web accessibility and provides guidance on making websites accessible to people with disabilities. It covers goals of accessibility, challenges for different disabilities, relevant laws, and technical details on how to make elements like images, audio, video, forms, tables, and overall site structure and navigation accessible. The document provides guidelines on topics like alt text, captions, text size and color contrast, keyboard navigation, time limits, languages, and using semantic HTML.
The document provides an overview and introduction to AngularJS. It discusses key Angular concepts like data binding, directives, filters, controllers and scopes. It also covers using Angular for client-side routing and communicating with servers to retrieve data. Example code snippets are provided to demonstrate concepts like controllers, directives and routing. Labs and exercises are included to apply the concepts by building sample Angular applications.
This document discusses JavaScript memory management and common memory leaks. It covers topics like memory lifecycle, garbage collection, detecting memory leaks using dev tools, and ways to minimize memory usage like avoiding global variables and detached DOM nodes. Common sources of memory leaks are discussed such as unbound arrays and objects, multiple copies of functions, and detached DOM nodes not removed from memory. Tools for profiling memory usage like the Chrome Task Manager and Heap Profiler are also presented.
Design Patterns help us solve problems in tried and tested ways.
Turns out they also help us understand our framework better, for framework developers also use patterns.
In these slides you'll see how Design Patterns are implemented by Qt framework, to better both understand patterns and Qt
Introduction and Background:
Study Overview and Methodology: The study analyzes the IT market in Israel, covering over 160 markets and 760 companies/products/services. It includes vendor rankings, IT budgets, and trends from 2025-2029. Vendors participate in detailed briefings and surveys.
Vendor Listings: The presentation lists numerous vendors across various pages, detailing their names and services. These vendors are ranked based on their participation and market presence.
Market Insights and Trends: Key insights include IT market forecasts, economic factors affecting IT budgets, and the impact of AI on enterprise IT. The study highlights the importance of AI integration and the concept of creative destruction.
Agentic AI and Future Predictions: Agentic AI is expected to transform human-agent collaboration, with AI systems understanding context and orchestrating complex processes. Future predictions include AI's role in shopping and enterprise IT.
Cyber Security Legal Framework in Nepal.pptxGhimire B.R.
The presentation is about the review of existing legal framework on Cyber Security in Nepal. The strength and weakness highlights of the major acts and policies so far. Further it highlights the needs of data protection act .
Measuring Microsoft 365 Copilot and Gen AI SuccessNikki Chapple
Session | Measuring Microsoft 365 Copilot and Gen AI Success with Viva Insights and Purview
Presenter | Nikki Chapple 2 x MVP and Principal Cloud Architect at CloudWay
Event | European Collaboration Conference 2025
Format | In person Germany
Date | 28 May 2025
📊 Measuring Copilot and Gen AI Success with Viva Insights and Purview
Presented by Nikki Chapple – Microsoft 365 MVP & Principal Cloud Architect, CloudWay
How do you measure the success—and manage the risks—of Microsoft 365 Copilot and Generative AI (Gen AI)? In this ECS 2025 session, Microsoft MVP and Principal Cloud Architect Nikki Chapple explores how to go beyond basic usage metrics to gain full-spectrum visibility into AI adoption, business impact, user sentiment, and data security.
🎯 Key Topics Covered:
Microsoft 365 Copilot usage and adoption metrics
Viva Insights Copilot Analytics and Dashboard
Microsoft Purview Data Security Posture Management (DSPM) for AI
Measuring AI readiness, impact, and sentiment
Identifying and mitigating risks from third-party Gen AI tools
Shadow IT, oversharing, and compliance risks
Microsoft 365 Admin Center reports and Copilot Readiness
Power BI-based Copilot Business Impact Report (Preview)
📊 Why AI Measurement Matters: Without meaningful measurement, organizations risk operating in the dark—unable to prove ROI, identify friction points, or detect compliance violations. Nikki presents a unified framework combining quantitative metrics, qualitative insights, and risk monitoring to help organizations:
Prove ROI on AI investments
Drive responsible adoption
Protect sensitive data
Ensure compliance and governance
🔍 Tools and Reports Highlighted:
Microsoft 365 Admin Center: Copilot Overview, Usage, Readiness, Agents, Chat, and Adoption Score
Viva Insights Copilot Dashboard: Readiness, Adoption, Impact, Sentiment
Copilot Business Impact Report: Power BI integration for business outcome mapping
Microsoft Purview DSPM for AI: Discover and govern Copilot and third-party Gen AI usage
🔐 Security and Compliance Insights: Learn how to detect unsanctioned Gen AI tools like ChatGPT, Gemini, and Claude, track oversharing, and apply eDLP and Insider Risk Management (IRM) policies. Understand how to use Microsoft Purview—even without E5 Compliance—to monitor Copilot usage and protect sensitive data.
📈 Who Should Watch: This session is ideal for IT leaders, security professionals, compliance officers, and Microsoft 365 admins looking to:
Maximize the value of Microsoft Copilot
Build a secure, measurable AI strategy
Align AI usage with business goals and compliance requirements
🔗 Read the blog https://nikkichapple.com/measuring-copilot-gen-ai/
UiPath Community Berlin: Studio Tips & Tricks and UiPath InsightsUiPathCommunity
Join the UiPath Community Berlin (Virtual) meetup on May 27 to discover handy Studio Tips & Tricks and get introduced to UiPath Insights. Learn how to boost your development workflow, improve efficiency, and gain visibility into your automation performance.
📕 Agenda:
- Welcome & Introductions
- UiPath Studio Tips & Tricks for Efficient Development
- Best Practices for Workflow Design
- Introduction to UiPath Insights
- Creating Dashboards & Tracking KPIs (Demo)
- Q&A and Open Discussion
Perfect for developers, analysts, and automation enthusiasts!
This session streamed live on May 27, 18:00 CET.
Check out all our upcoming UiPath Community sessions at:
👉 https://community.uipath.com/events/
Join our UiPath Community Berlin chapter:
👉 https://community.uipath.com/berlin/
Exploring the advantages of on-premises Dell PowerEdge servers with AMD EPYC processors vs. the cloud for small to medium businesses’ AI workloads
AI initiatives can bring tremendous value to your business, but you need to support your new AI workloads effectively. That means choosing the best possible infrastructure for your needs—and many companies are finding that the cloud isn’t right for them. According to a recent Rackspace survey of IT executives, 69 percent of companies have moved some of their applications on-premises from the cloud, with half of those citing security and compliance as the reason and 44 percent citing cost.
On-premises solutions provide a number of advantages. With full control over your security infrastructure, you can be certain that all compliance requirements remain firmly in the hands of your IT team. Opting for on-premises also gives you the ability to design your infrastructure to the precise needs of that team and your new AI workloads. Depending on the workload, you may also see performance benefits, along with more predictable costs. As you start to build your next AI initiative, consider an on-premises solution utilizing AMD EPYC processor-powered Dell PowerEdge servers.
Dev Dives: System-to-system integration with UiPath API WorkflowsUiPathCommunity
Join the next Dev Dives webinar on May 29 for a first contact with UiPath API Workflows, a powerful tool purpose-fit for API integration and data manipulation!
This session will guide you through the technical aspects of automating communication between applications, systems and data sources using API workflows.
📕 We'll delve into:
- How this feature delivers API integration as a first-party concept of the UiPath Platform.
- How to design, implement, and debug API workflows to integrate with your existing systems seamlessly and securely.
- How to optimize your API integrations with runtime built for speed and scalability.
This session is ideal for developers looking to solve API integration use cases with the power of the UiPath Platform.
👨🏫 Speakers:
Gunter De Souter, Sr. Director, Product Manager @UiPath
Ramsay Grove, Product Manager @UiPath
This session streamed live on May 29, 2025, 16:00 CET.
Check out all our upcoming UiPath Dev Dives sessions:
👉 https://community.uipath.com/dev-dives-automation-developer-2025/
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025Lorenzo Miniero
Slides for my "Multistream support in the Janus SIP and NoSIP plugins" presentation at the OpenSIPS Summit 2025 event.
They describe my efforts refactoring the Janus SIP and NoSIP plugins to allow for the gatewaying of an arbitrary number of audio/video streams per call (thus breaking the current 1-audio/1-video limitation), plus some additional considerations on what this could mean when dealing with application protocols negotiated via SIP as well.
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025Nikki Chapple
Session | Protecting Your Sensitive Data with Microsoft Purview: Practical Information Protection and DLP Strategies
Presenter | Nikki Chapple (MVP| Principal Cloud Architect CloudWay) & Ryan John Murphy (Microsoft)
Event | IRMS Conference 2025
Format | Birmingham UK
Date | 18-20 May 2025
In this closing keynote session from the IRMS Conference 2025, Nikki Chapple and Ryan John Murphy deliver a compelling and practical guide to data protection, compliance, and information governance using Microsoft Purview. As organizations generate over 2 billion pieces of content daily in Microsoft 365, the need for robust data classification, sensitivity labeling, and Data Loss Prevention (DLP) has never been more urgent.
This session addresses the growing challenge of managing unstructured data, with 73% of sensitive content remaining undiscovered and unclassified. Using a mountaineering metaphor, the speakers introduce the “Secure by Default” blueprint—a four-phase maturity model designed to help organizations scale their data security journey with confidence, clarity, and control.
🔐 Key Topics and Microsoft 365 Security Features Covered:
Microsoft Purview Information Protection and DLP
Sensitivity labels, auto-labeling, and adaptive protection
Data discovery, classification, and content labeling
DLP for both labeled and unlabeled content
SharePoint Advanced Management for workspace governance
Microsoft 365 compliance center best practices
Real-world case study: reducing 42 sensitivity labels to 4 parent labels
Empowering users through training, change management, and adoption strategies
🧭 The Secure by Default Path – Microsoft Purview Maturity Model:
Foundational – Apply default sensitivity labels at content creation; train users to manage exceptions; implement DLP for labeled content.
Managed – Focus on crown jewel data; use client-side auto-labeling; apply DLP to unlabeled content; enable adaptive protection.
Optimized – Auto-label historical content; simulate and test policies; use advanced classifiers to identify sensitive data at scale.
Strategic – Conduct operational reviews; identify new labeling scenarios; implement workspace governance using SharePoint Advanced Management.
🎒 Top Takeaways for Information Management Professionals:
Start secure. Stay protected. Expand with purpose.
Simplify your sensitivity label taxonomy for better adoption.
Train your users—they are your first line of defense.
Don’t wait for perfection—start small and iterate fast.
Align your data protection strategy with business goals and regulatory requirements.
💡 Who Should Watch This Presentation?
This session is ideal for compliance officers, IT administrators, records managers, data protection officers (DPOs), security architects, and Microsoft 365 governance leads. Whether you're in the public sector, financial services, healthcare, or education.
🔗 Read the blog: https://nikkichapple.com/irms-conference-2025/
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...James Anderson
The Quantum Apocalypse: A Looming Threat & The Need for Post-Quantum Encryption
We explore the imminent risks posed by quantum computing to modern encryption standards and the urgent need for post-quantum cryptography (PQC).
Bio: With 30 years in cybersecurity, including as a CISO, Tommy is a strategic leader driving security transformation, risk management, and program maturity. He has led high-performing teams, shaped industry policies, and advised organizations on complex cyber, compliance, and data protection challenges.
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....Jasper Oosterveld
Sensitivity labels, powered by Microsoft Purview Information Protection, serve as the foundation for classifying and protecting your sensitive data within Microsoft 365. Their importance extends beyond classification and play a crucial role in enforcing governance policies across your Microsoft 365 environment. Join me, a Data Security Consultant and Microsoft MVP, as I share practical tips and tricks to get the full potential of sensitivity labels. I discuss sensitive information types, automatic labeling, and seamless integration with Data Loss Prevention, Teams Premium, and Microsoft 365 Copilot.
Neural representations have shown the potential to accelerate ray casting in a conventional ray-tracing-based rendering pipeline. We introduce a novel approach called Locally-Subdivided Neural Intersection Function (LSNIF) that replaces bottom-level BVHs used as traditional geometric representations with a neural network. Our method introduces a sparse hash grid encoding scheme incorporating geometry voxelization, a scene-agnostic training data collection, and a tailored loss function. It enables the network to output not only visibility but also hit-point information and material indices. LSNIF can be trained offline for a single object, allowing us to use LSNIF as a replacement for its corresponding BVH. With these designs, the network can handle hit-point queries from any arbitrary viewpoint, supporting all types of rays in the rendering pipeline. We demonstrate that LSNIF can render a variety of scenes, including real-world scenes designed for other path tracers, while achieving a memory footprint reduction of up to 106.2x compared to a compressed BVH.
https://arxiv.org/abs/2504.21627
European Accessibility Act & Integrated Accessibility TestingJulia Undeutsch
Emma Dawson will guide you through two important topics in this session.
Firstly, she will prepare you for the European Accessibility Act (EAA), which comes into effect on 28 June 2025, and show you how development teams can prepare for it.
In the second part of the webinar, Emma Dawson will explore with you various integrated testing methods and tools that will help you improve accessibility during the development cycle, such as Linters, Storybook, Playwright, just to name a few.
Focus: European Accessibility Act, Integrated Testing tools and methods (e.g. Linters, Storybook, Playwright)
Target audience: Everyone, Developers, Testers
Agentic AI - The New Era of IntelligenceMuzammil Shah
This presentation is specifically designed to introduce final-year university students to the foundational principles of Agentic Artificial Intelligence (AI). It aims to provide a clear understanding of how Agentic AI systems function, their key components, and the underlying technologies that empower them. By exploring real-world applications and emerging trends, the session will equip students with essential knowledge to engage with this rapidly evolving area of AI, preparing them for further study or professional work in the field.
As data privacy regulations become more pervasive across the globe and organizations increasingly handle and transfer (including across borders) meaningful volumes of personal and confidential information, the need for robust contracts to be in place is more important than ever.
This webinar will provide a deep dive into privacy contracting, covering essential terms and concepts, negotiation strategies, and key practices for managing data privacy risks.
Whether you're in legal, privacy, security, compliance, GRC, procurement, or otherwise, this session will include actionable insights and practical strategies to help you enhance your agreements, reduce risk, and enable your business to move fast while protecting itself.
This webinar will review key aspects and considerations in privacy contracting, including:
- Data processing addenda, cross-border transfer terms including EU Model Clauses/Standard Contractual Clauses, etc.
- Certain legally-required provisions (as well as how to ensure compliance with those provisions)
- Negotiation tactics and common issues
- Recent lessons from recent regulatory actions and disputes
Introducing the OSA 3200 SP and OSA 3250 ePRCAdtran
Adtran's latest Oscilloquartz solutions make optical pumping cesium timing more accessible than ever. Discover how the new OSA 3200 SP and OSA 3250 ePRC deliver superior stability, simplified deployment and lower total cost of ownership. Built on a shared platform and engineered for scalable, future-ready networks, these models are ideal for telecom, defense, metrology and more.
3. Agenda
Mongo Is Awesome
CRUD Operations
The Driver
Coding Time
Saturday, February 2, 13
4. Mongo Is Awesome
Data Store for
JSON Objects
Saturday, February 2, 13
5. Mongo Is Awesome
Data Store for
JSON Objects
{
“Name” : “Rose Tyler”
}
Saturday, February 2, 13
6. JSON Objects
A JSON Object is a
collection of key/
value pairs {
"name" : "Rose Tyler",
Keys are simple "race" : "Human",
strings "body parts" : [ "head", "legs"]
}
Values can be:
Numbers, Strings,
Arrays, Other
Objects, and more
Saturday, February 2, 13
15. CRUD Operations
Create, Read, Update and Destroy Data
Saturday, February 2, 13
16. Mongo CRUD
Create is called insert
Read is called find
Update is called update
Destroy is called remove
Saturday, February 2, 13
17. Mongo CRUD
From a developer’s perspective, MongoDB operations are
the same through the driver and through the console
In both cases, operations look like function calls or
method invocations
We’ll use mongo shell for the rest of this chapter
Saturday, February 2, 13
18. Inserting Data
Use the command insert or save to insert a new object
db.collection.insert( obj );
db.collection.insert( array );
Saturday, February 2, 13
19. Inserting Data
Inserting to a new collection creates the collection
Inserting an object with an _id key, it is used as the
object’s id (and must be unique).
Saturday, February 2, 13
21. Reading Data
find and findOne perform read operations
Both take a query
find returns a cursor
findOne returns an object Optional: Fields to
fetch
db.collection.find( <query>, <projection> )
Saturday, February 2, 13
22. Query Document
An empty (or missing) query document returns
everything
db.collection.find({})
db.collection.find()
Saturday, February 2, 13
23. Query Document
Each key/value pair in the query document imposes a
condition on the results (objects that match).
db.movies.find({ “genre” : “indie” });
db.books.find({“pages” : { “$gt” : 100 }});
Saturday, February 2, 13
24. Query Document
Query Object
Each key/value pair in the query document imposes a
condition on the results (objects that match).
db.movies.find({ “genre” : “indie” });
db.books.find({“pages” : { “$gt” : 100 }});
Saturday, February 2, 13
25. Query Document
A compound query means a logical AND on the
conditions.
db.inventory.find(
{
“type” : “snacks”,
“available” : { “$lt” : 10 }
});
Saturday, February 2, 13
26. Quiz: What Is Returned
from alterego publisher
Bruce
{ Earth DC
Wayne
“publisher” :
“DC”
} Peter
Earth Marvel
Parker
Krypton Clark Kent DC
Saturday, February 2, 13
27. Quiz: What Is Returned
from alterego publisher
{ Bruce
“publisher” : Earth DC
Wayne
“DC”,
“from” :
“Earth” Peter
Earth Marvel
} Parker
Krypton Clark Kent DC
Saturday, February 2, 13
30. Update
Update operations modify existing data in the DB
Mongo supports two update commands:
update() and save()
Update is the more general (and complex)
Saturday, February 2, 13
31. Update
The general form for update is:
db.collection.update(
<query>, <update>, <options> )
Which Entries What to do with
to update them
Saturday, February 2, 13
32. Update
The second argument to update() is an operator object
It tells update what to do with the data
Some keys you can use: “$set”, “$inc” “$push”,
“$pushAll”, “$addToSet”, “$pop”, “$pull”, “$pullAll”
Saturday, February 2, 13
33. Update: set
$set modifies a value or add a new value
Example:
db.posts.update(
{ title: “Why Is Your Cat Unhappy” },
{ $set : { “archived” : true } }
);
Saturday, February 2, 13
34. Quiz: $set
What happens here ?
db.cats.update(
{ color: “white” },
{ “$set” : { “owners” : [“John”, “Jim”] } }
);
Saturday, February 2, 13
35. Quiz: $set
Update owners array of the first cat with white color
If you want to update all objects, use multi
db.cats.update(
{ color: “white” },
{ “$set” : { “owners” : [“John”, “Jim”] } }
{ multi : true }
);
Saturday, February 2, 13
36. Deleting Data
remove() deletes objects from a collection
Takes a query and possibly a <justOne> arguments
Examples:
db.posts.remove({ “author” : “Father Angelo” })
db.music.remove({ “genres” : “pop” })
db.posts.remove({ “tags” : “funny” }, 1 );
Saturday, February 2, 13