Node.js is a server-side JavaScript platform for building scalable network applications. It uses non-blocking I/O and event-driven architecture, which makes it very efficient for data-intensive real-time applications that run across distributed devices. Some key features of Node.js include CommonJS modules, child processes, HTTP servers, TCP servers, DNS lookups, file watching and a package management system. Popular applications built with Node.js include web frameworks, real-time applications, crawlers and streaming.
- Node.js is a platform for building scalable network applications. It uses non-blocking I/O and event-driven architecture to handle many connections concurrently using a single-threaded event loop.
- Node.js uses Google's V8 JavaScript engine and provides a module system, I/O bindings, and common protocols to build network programs easily. Popular uses include real-time web applications, file uploading, and streaming.
- While Node.js is ready for many production uses, things like lost stack traces and limited ability to utilize multiple cores present challenges for some workloads. However, an active community provides support through mailing lists, IRC, and over 1,000 modules in its package manager.
COSCUP2012: How to write a bash script like the python?Lloyd Huang
This document discusses how to write bash scripts similar to Python scripts by using functions, modules, and documentation strings (docstrings). It explains that bash functions allow for logic, reuse, and unit testing like Python. It demonstrates how to define bash functions, import them as modules, and add docstrings. While bash can mimic some Python features, it has limitations compared to Python for things like namespaces and cannot work with all shells like busybox ash.
This document provides an introduction and overview of UNIX shell scripting. It discusses the benefits of scripting to automate repetitive tasks and make ones work at the shell easier. It then covers various topics related to shell scripting including the UNIX environment, different shells available for scripting, basics of shell scripting like variables, command line arguments, control structures, and more. The document is intended to provide a good starting point for understanding shell scripting in UNIX.
DBD::Gofer is the scalable stateless proxy driver for Perl DBI.
These are the slides for my lightning talk on DBD::Gofer given at the Italian Perl Workshop in 2008 (with a few extra slides added).
Redis is a networked data structure server that provides fast, simple access to various data types like Strings, Lists, Sets, Sorted Sets and Hashes. It uses an abstract data type interface where operations take a key as the first parameter and match the type of object stored. For example, list operations like LPUSH take a key and value, and the LRANGE operation takes a key and range to return elements in a list. Redis supports multiple programming language clients and can be used for tasks like leader boards, shopping carts and user profiles.
This document provides an overview of using the bash shell as a productivity tool. It discusses using the terminal, basic bash usage including redirection, pipes, configuration files, keyboard shortcuts, history, and tab completion. Useful utilities like sed, awk, find, grep and scripting basics are covered. Tools for developers like Homebrew, Git, Xcode, and Cocoapods are also summarized. The document aims to help users "unleash their inner console cowboy" and do more work directly from the command line.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/28XnVtb.
Felix Klock describe the core concepts of the Rust language (ownership, borrowing, and lifetimes), as well as the tools beyond the compiler for open source software component distribution (cargo, crates.io). Filmed at qconlondon.com.
Felix Klock is a research engineer at Mozilla, where he works on the Rust compiler, runtime libraries, and language design. He previously worked on the ActionScript Virtual Machine for the Adobe Flash runtime. Klock is one of the developers of the Larceny Scheme language runtime.
The document provides instructions for creating a PHP extension module that wraps the libares asynchronous DNS resolving library. It begins by explaining why such an extension is useful and covers generating an extension skeleton, configuring the build system to find libares, the key C API functions to expose, and the basic anatomy of a PHP extension.
(1) To write a shell script, use an editor like vi or mcedit to write the script code.
(2) Set execute permissions on the script file using chmod. For example, chmod 755 filename.
(3) Execute the script by running it directly with bash/sh, or by using ./filename if in the same directory.
This allows writing a simple first shell script to print "Knowledge is Power" to the screen.
Application Logging in the 21st century - 2014.keyTim Bunce
Slides for my talk at the Austrian Perl Workshop in Salzburg on October 10th.
A video of the talk can be found at https://www.youtube.com/watch?v=4Qj-_eimGuE
This document provides 10 tips for improving Perl performance. Some key tips include using a profiler like Devel::NYTProf to identify bottlenecks, optimizing database queries with DBI, choosing fast hash storage like BerkeleyDB, avoiding serialization with Data::Dumper in favor of faster options like JSON::XS, and considering compiling Perl without threads for a potential 15% speed boost. Proper use of profiling is emphasized to avoid wasting time optimizing the wrong parts of code.
Slides of my talk on Devel::NYTProf and optimizing perl code at YAPC::NA in June 2014. It covers use of NYTProf and outlines a multi-phase approach to optimizing your perl code.
A video of the talk and questions is available at https://www.youtube.com/watch?v=T7EK6RZAnEA&list=UU7y4qaRSb5w2O8cCHOsKZDw
This document discusses using metaprogramming to automatically generate Redis client functions in Elixir from a JSON specification of Redis commands. It describes parsing the command specification, generating Elixir macro code to define functions for each command, and property-based testing of the generated functions by sending random arguments to a Redis server and checking for valid responses. The automatic generation approach avoids bugs, reduces code duplication, and makes it easy to support new Redis commands as the specification is updated.
Using Node.js to Build Great Streaming Services - HTML5 Dev ConfTom Croucher
The document discusses using Node.js to build streaming services. It describes how Node.js allows for scalable server-side code using JavaScript and mentions libraries like JSONStream that can be used to parse JSON streams. The document also discusses different types of streaming like simplex, throughput, and duplex streaming and how to manage backpressure in streams.
Small Node.js proxy to turn a paginated JSON REST API into a CSV streaming download. Examples of code and patterns.
Presented at the London Node User Group meetup, April 2014
This document provides an overview of shell scripting in 3 paragraphs or less:
The document discusses Linux shell scripting, including that a shell is a user program that provides an environment for user interaction by reading commands from standard input and executing them. It mentions common shell types like BASH, CSH, and KSH, and that shell scripts allow storing sequences of commands in a file to execute them instead of entering each command individually. The document provides basic information on writing, executing, and using variables and input/output redirection in shell scripts.
After more than 5 years of doing this, I think I managed to capture the essence of the beast quite neatly. Here's what matters about Redis, the open source in-memory data structure store, IMO.
This document provides an overview of Redis, an open source, advanced key-value store. It supports a variety of data types including strings, lists, sets, sorted sets and hashes. Redis can be used across multiple programming languages and operating systems. It offers functionality like pub/sub messaging, Lua scripting, pipelining, transactions, persistence and replication. High availability options include Redis Sentinel, virtual IPs and twemproxy for load balancing. In summary, Redis is a versatile NoSQL database that supports advanced data structures and common database functions through a simple interface.
Redis is an open source, in-memory data structure store that can be used as a database, cache, or message broker. It supports data structures like strings, hashes, lists, sets, sorted sets with ranges and pagination. Redis provides high performance due to its in-memory storage and support for different persistence options like snapshots and append-only files. It uses client/server architecture and supports master-slave replication, partitioning, and failover. Redis is useful for caching, queues, and other transient or non-critical data.
Redis is an in-memory data structure store that can be used as a database, cache, and message broker. It supports various data types like strings, hashes, lists, sets, sorted sets, with operations like appending/deleting elements and checking for membership. Redis is popular among NoSQL databases due to its speed, reliability, and support across many programming languages via client libraries.
Redis is an in-memory data structure store that can be used as a database, cache, or message broker. It supports various data types like strings, hashes, lists, and sets. Data can be persisted to disk for durability. Redis guarantees consistency through append-only files and availability through master-slave replication and clustering, where data is automatically distributed across multiple nodes.
The document provides an overview of Redis, including:
- Redis is an in-memory database that supports data structures like strings, lists, sets, and hashes. It is often used for caching, messaging, and building real-time applications.
- Major companies like Twitter, GitHub, and Pinterest use Redis for its speed and support for complex data types.
- Redis can be deployed in standalone, master-slave, or cluster topologies to provide redundancy, scaling, and automatic failover. Persistence to disk can be configured using snapshots or append-only files.
- Redis offers advantages over other databases and caching solutions in terms of performance, data types, scalability, and availability. It has a simple
Redis Introduction and customized framework base on StackExchange.Redis but update to using singleton pattern and JSON
Configuration Mapping with Redis Instance Group and Name concept.
Redis is an advanced key-value NoSQL data store that is similar to memcached but with additional data types like lists, sets, and ordered sets. It was created in 2009 by Salvatore Sanfilippo to provide better performance than MySQL for real-time analytics. Major companies like Twitter, GitHub, Pinterest, and Snapchat use Redis to store user profiles, timelines, and other frequently accessed data due to its speed. The Redis plugin for Grails provides methods to cache data and integrate Redis as a data store or for sessions.
The document provides an overview of Redis Modules, which allow Redis to be extended through dynamically loaded libraries written in C. Some key modules discussed include ReJSON for storing and querying JSON documents natively in Redis, RediSearch for full-text search capabilities, and ReBloom for implementing scalable Bloom filters. Redis Modules can be used to add new data types, commands, and capabilities to Redis in order to adapt it to specific use cases and data models. Performance benchmarks show modules like ReJSON providing significant performance advantages over alternatives that rely on Redis' core data structures and Lua scripting.
Developing a Redis Module - Hackathon KickoffItamar Haber
Slides deck for kicking off Redis Labs' Modules Hackathon - https://www.hackerearth.com/sprints/redislabs-hackathon-global
Video of the webinar is at: https://youtu.be/LPxx4QPyUPw
Redis is an in-memory data structure store that can be used as a database, cache, or message broker. It supports various data structures like strings, hashes, lists, sets, and sorted sets. Data can be persisted to disk for durability and replicated across multiple servers for high availability. Redis also implements features like expiration of keys, master-slave replication, clustering, and bloom filters.
Redis is an advanced key-value store that supports additional data types like lists, sets, sorted sets, and hashes. It offers features like persistence, replication, atomic operations, and high performance - often handling over 100,000 operations per second. While simple like memcached, it adds additional commands, data types, and persistence. Common uses include caching, sessions, pub/sub, and building unique applications and services.
This document provides an overview and introduction to Redis, including:
- Redis is an open source, in-memory data structure store that can be used as a database, cache, and message broker.
- It supports common data structures like strings, hashes, lists, sets, sorted sets with operations like GET, SET, LPUSH, SADD.
- Redis has advantages like speed, rich feature set, replication, and persistence to disk.
- The document outlines how to install and use Redis, and covers additional features like pub/sub, transactions, security and backup.
This document summarizes Redis, including where to get it, how it compares to Memcached, common Redis commands, Redis data types, and simple Redis applications. It discusses using Redis for cohort analysis using bitmaps, offloading logic and computing using Lua scripts, and publishing notifications using Pub/Sub. The document provides an overview of Redis capabilities and use cases.
High performance Redis is popular among developers for its incredible performance, versatility and simplicity. The powerful combination of low cost memory and high performance Redis brings to life new next generation analytic uses - such as simultaneous real time transaction and analytics processing. With Redis Labs' RLEC Flash on AWS SSD instances, you can get fantastic performance at up to 70% lower costs. Join this session to learn how next generation Flash from leading memory provider Intel has made significant strides in performance while retaining its cost advantage to memory. Using a combination of AWS' powerful SSD instances, and Redis Labs' RLEC Flash, you can achieve up to 3M ops/sec at sub millisecond latencies, with a combination of RAM and Flash. The session will also feature customer use cases from a large university, a large customer engagement company and a pioneer of online Flash sales. Session sponsored by Redis Labs.
Redis is a key-value store that can be used as a database, cache, or message broker. It supports string, hash, list, set and sorted set data structures. Redis is written in C and works on most POSIX systems. It is single-threaded but can scale horizontally by running multiple Redis instances. Redis can persist data to disk and support master-slave replication. It can be scaled out using sentinel for automatic failover, Twemproxy for data sharding, or Redis Cluster for sharding with automatic failover.
Redis is an in-memory key-value data store that can be used for caching, sessions, queues, leaderboards, and more. It provides fast performance due to being memory-resident and supporting different data structures like strings, hashes, lists, sets, and sorted sets. Redis is useful for read-heavy and real-time applications but may not be suitable if data does not fit in memory or for relational data needs. The presentation discusses using Redis with PHP and Symfony, data sharding strategies, and war stories from a social game with 7.5M daily users.
Redis is a NoSQL data store that can be used as a database, cache, or message broker. It supports various data structures like strings, hashes, lists, sets, and sorted sets. Redis stores the entire dataset in memory for fast access, and can persist the data to disk using snapshots or append-only files. It supports master-slave replication for fault tolerance, and high availability can be achieved using Redis Sentinel.
The document discusses the architecture and technologies used at Lifeblob, an online photo sharing and social networking company. It describes Lifeblob's use of Tomcat, Nginx, ActiveMQ, MySQL, Cassandra, Redis, Memcache, Solr and Hibernate to power its services and handle large volumes of photos, user data and social interactions. It also provides code examples of how Redis and Cassandra are used to store and retrieve user feeds and activity data in a scalable and high performance manner.
Cómo hemos implementado semántica de "Exactly Once" en nuestra base de datos ...javier ramirez
Los sistemas distribuidos son difíciles. Los sistemas distribuidos de alto rendimiento, más. Latencias de red, mensajes sin confirmación de recibo, reinicios de servidores, fallos de hardware, bugs en el software, releases problemáticas, timeouts... hay un montón de motivos por los que es muy difícil saber si un mensaje que has enviado se ha recibido y procesado correctamente en destino. Así que para asegurar mandas el mensaje otra vez.. y otra... y cruzas los dedos para que el sistema del otro lado tenga tolerancia a los duplicados.
QuestDB es una base de datos open source diseñada para alto rendimiento. Nos queríamos asegurar de poder ofrecer garantías de "exactly once", deduplicando mensajes en tiempo de ingestión. En esta charla, te cuento cómo diseñamos e implementamos la palabra clave DEDUP en QuestDB, permitiendo deduplicar y además permitiendo Upserts en datos en tiempo real, añadiendo solo un 8% de tiempo de proceso, incluso en flujos con millones de inserciones por segundo.
Además, explicaré nuestra arquitectura de log de escrituras (WAL) paralelo y multithread. Por supuesto, todo esto te lo cuento con demos, para que veas cómo funciona en la práctica.
How We Added Replication to QuestDB - JonTheBeachjavier ramirez
Building a database that can beat industry benchmarks is hard work, and we had to use every trick in the book to keep as close to the hardware as possible. In doing so, we initially decided QuestDB would scale only vertically, on a single instance.
A few years later, data replication —for horizontally scaling reads and for high availability— became one of the most demanded features, especially for enterprise and cloud environments. So, we rolled up our sleeves and made it happen.
Today, QuestDB supports an unbounded number of geographically distributed read-replicas without slowing down reads on the primary node, which can ingest data at over 4 million rows per second.
In this talk, I will tell you about the technical decisions we made, and their trade offs. You'll learn how we had to revamp the whole ingestion layer, and how we actually made the primary faster than before when we added multi-threaded Write Ahead Logs to deal with data replication. I'll also discuss how we are leveraging object storage as a central part of the process. And of course, I'll show you a live demo of high-performance multi-region replication in action.
The Building Blocks of QuestDB, a Time Series Databasejavier ramirez
Talk Delivered at Valencia Codes Meetup 2024-06.
Traditionally, databases have treated timestamps just as another data type. However, when performing real-time analytics, timestamps should be first class citizens and we need rich time semantics to get the most out of our data. We also need to deal with ever growing datasets while keeping performant, which is as fun as it sounds.
It is no wonder time-series databases are now more popular than ever before. Join me in this session to learn about the internal architecture and building blocks of QuestDB, an open source time-series database designed for speed. We will also review a history of some of the changes we have gone over the past two years to deal with late and unordered data, non-blocking writes, read-replicas, or faster batch ingestion.
Hubo un tiempo en el que casi cualquier componente de software requería pagar una licencia. Afortunadamente, hoy en día gracias al software libre y de código abierto, se puede desarrollar prácticamente cualquier aplicación usando componentes gratuitos.
Pero, si el software es gratis, ¿Quién lo desarrolla? ¿Trabaja la comunidad de software libre de forma altruista? ¿Se puede desarrollar software libre de forma profesional? De hecho, hay quien dice que el código abierto tal y como lo conocimos ya no existe, y que lo que hay hoy en día es otra cosa.
En esta charla hablaré de cómo se puede monetizar el código libre, y de algunos posibles conflictos que puedes encontrarte en el camino.
Además, te contaré cómo hacemos desde QuestDB para desarrollar una base de datos de código abierto y mantener un equipo estable viviendo de ello. Comentaré también algunas situaciones problemáticas a las que proyectos muy destacados se han enfrentado, o que se enfrentan a día de hoy.
QuestDB: The building blocks of a fast open-source time-series databasejavier ramirez
(talk delivered at OSA CON 23)
Traditionally, databases have treated timestamps just as another data type. However, when performing real-time analytics, timestamps should be first class citizens and we need rich time semantics to get the most out of our data. We also need to deal with ever growing datasets while keeping performant, which is as fun as it sounds.
It is no wonder time-series databases are now more popular than ever before. Join me in this session to learn about the internal architecture and building blocks of QuestDB, an open source time-series database designed for speed.
We will learn how it deals with data ingestion, and which SQL extensions it implements for working with time-series efficiently.
We will also review a history of some of the changes we have gone over the past two years to deal with late and unordered data, non-blocking writes, read-replicas, or data deduplication.
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...javier ramirez
QuestDB es una base de datos open source de alto rendimiento. Mucha gente nos comentaba que les gustaría usarla como servicio, sin tener que gestionar las máquinas. Así que nos pusimos manos a la obra para desarrollar una solución que nos permitiese lanzar instancias de QuestDB con provisionado, monitorización, seguridad o actualizaciones totalmente gestionadas.
Unos cuantos clusters de Kubernetes más tarde, conseguimos lanzar nuestra oferta de QuestDB Cloud. Esta charla es la historia de cómo llegamos ahí. Hablaré de herramientas como Calico, Karpenter, CoreDNS, Telegraf, Prometheus, Loki o Grafana, pero también de retos como autenticación, facturación, multi-nube, o de a qué tienes que decir que no para poder sobrevivir en la nube.
Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...javier ramirez
How would you build a database to support sustained ingestion of several hundreds of thousands rows per second while running near real-time queries on top?
In this session I will go over some of the technical decisions and trade-offs we applied when building QuestDB, an open source time-series database developed mainly in JAVA, and how we can achieve over four million row writes per second on a single instance without blocking or slowing down the reads. There will be code and demos, of course.
We will also review a history of some of the changes we have gone over the past two years to deal with late and unordered data, non-blocking writes, read-replicas, or faster batch ingestion.
Deduplicating and analysing time-series data with Apache Beam and QuestDBjavier ramirez
Time series data pipelines tend to prioritise speed and freshness over completeness and integrity. In such scenarios, it is very common to ingest duplicate data, which may be fine for many analytical use cases, but is very inconvenient for others.
There are many open source databases built specifically for the speed and query semantics of time series, and most of them lack automatic deduplication of events in near real-time. One such database is QuestDB, which requires a manual batch process to deduplicate ingested data.
In this talk, we will see how we can successfully use Apache Beam to deduplicate streaming time series, which can then be analysed by a time series database.
Relational databases were created a long time ago for a simpler world. Even if they are still awesome tools for generic workloads, there are some things they cannot do well.
In this session I will speak about purpose-built databases that you can use for specific business scenarios. We will see the type of queries you can run on a Graph database, a Document Database, and a Time-Series database. We will then see how a relational database could also be used for the same use cases, just in a much more complex way.
Your Timestamps Deserve Better than a Generic Databasejavier ramirez
This document discusses the challenges of working with timestamped data in databases and introduces QuestDB as a time-series database designed to address these challenges. It highlights QuestDB's high performance for ingesting and querying large volumes of timestamped data. It also demonstrates several time-series focused query patterns in QuestDB like time range queries, sampling, filling missing data, retrieving the latest value, and approximate joins between tables. Finally, it outlines some areas QuestDB is exploring to further improve performance.
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...javier ramirez
En esta sesión voy a contar las decisiones técnicas que tomamos al desarrollar QuestDB, una base de datos Open Source para series temporales compatible con Postgres, y cómo conseguimos escribir más de cuatro millones de filas por segundo sin bloquear o enlentecer las consultas.
Hablaré de cosas como (zero) Garbage Collection, vectorización de instrucciones usando SIMD, reescribir en lugar de reutilizar para arañar microsegundos, aprovecharse de los avances en procesadores, discos duros y sistemas operativos, como por ejemplo el soporte de io_uring, o del balance entre experiencia de usuario y rendimiento cuando se plantean nuevas funcionalidades.
Processing and analysing streaming data with Python. Pycon Italy 2022javier ramirez
Data used to be a batch thing, but more and more we get unbounded streams of data, fast or slow, that we need to process and analyse in near real time.
In this talk I’ll show you how you can use Apache Flink and QuestDB to build reliable streaming data pipelines that can grow as much as you need.
QuestDB: ingesting a million time series per second on a single instance. Big...javier ramirez
In this session I will show you the technical decisions we made when building QuestDB, the open source, Postgres compatible, time-series database, and how we can achieve a million row writes per second without blocking or slowing down the reads.
Servicios e infraestructura de AWS y la próxima región en Aragónjavier ramirez
AWS está montando una región de infraestructura en Aragón. Vale, pero ¿Qué significa eso? ¿Es tan diferente de un centro de datos convencional o de otros proveedores de nube? (Spoiler: Sí). En esta sesión te cuento por qué. Hay video en https://catedrasamcadt.unizar.es/noticias/el-momento-tecnologico-actual-contado-por-trabajadores-de-amazon-web-services/
¿Qué es eso del desarrollo sin servidores? ¿Qué lenguajes puedo utilizar? ¿Cómo hago cosas como autenticación, o guardar en base de datos, o enviar notificaciones? ¿Esto escala? A todas estas preguntas, y a alguna más, intentaré dar respuesta en esta sesión, donde haré una pequeña demo de montar una app muy sencilla y desplegarla en la nube sin preocuparnos de gestionar infraestructura. Charla realizada por primera vez para AlcarriaConf 2021
AWS launched publicly on March 2006 with just one service, starting the age of the public cloud. You might think after 15 years everything in cloud has already been invented, but that's simply not the case.
In this session I want to show you how AWS is reinventing the cloud in areas like computing, machine learning, databases and analytics, or cloud infrastructure.
Analitica de datos en tiempo real con Apache Flink y Apache BEAMjavier ramirez
This document summarizes a presentation about real-time data analytics with Apache Flink and Apache BEAM. It discusses possible real-time and batch processing systems using AWS services, challenges of streaming systems including state management, and demos of analyzing user clickstreams and taxi trips with Apache Flink, Kafka, and Elasticsearch. It also covers advantages of Apache BEAM including a unified batch and streaming API that can run on different frameworks like Flink, benefits of native support for Java, Python, and Go, and how it allows mixing languages in pipelines.
In this webinar we explain which are some of the problems of streaming analytics, and why they are different to batch/big data analytics. Then we go into introducing some basic streaming concepts, like event queues, event processors, event vs processing time, and delivery guarantees. We end this first part of the series presenting a few of the most common open source components for streaming (Kafka, Spark, Flink, Cassandra, or ElasticSearch) and we mention the different options you have to run them on AWS.
Getting started with streaming analytics: Setting up a pipelinejavier ramirez
In this session I will show you how to create a simple streaming analytics pipeline, first using open source tools and developing locally, then moving to a VM, then moving to fully managed AWS services. The session will serve as an introduction to some details of Apache Kafka, Apache Flink, ElasticSearch, Amazon Managed Streaming for Kafka, Kinesis Data Analytics, and Amazon ElasticSearch. It will be an almost slideless presentation, as I will spent most of the time at the command line and the IDE.
IVE 2024 Short Course - Lecture 2 - Fundamentals of PerceptionMark Billinghurst
Lecture 2 from the IVE 2024 Short Course on the Psychology of XR. This lecture covers some of the Fundamentals of Percetion and Psychology that relate to XR.
The lecture was given by Mark Billinghurst on July 15th 2024 at the University of South Australia.
Connecting Attitudes and Social Influences with Designs for Usable Security a...Cori Faklaris
Many system designs for cybersecurity and privacy have failed to account for individual and social circumstances, leading people to use workarounds such as password reuse or account sharing that can lead to vulnerabilities. To address the problem, researchers are building new understandings of how individuals’ attitudes and behaviors are influenced by the people around them and by their relationship needs, so that designers can take these into account. In this talk, I will first share my research to connect people’s security attitudes and social influences with their security and privacy behaviors. As part of this, I will present the Security and Privacy Acceptance Framework (SPAF), which identifies Awareness, Motivation, and Ability as necessary for strengthening people’s acceptance of security and privacy practices. I then will present results from my project to trace where social influences can help overcome obstacles to adoption such as negative attitudes or inability to troubleshoot a password manager. I will conclude by discussing my current work to apply these insights to mitigating phishing in SMS text messages (“smishing”).
Discover practical tips and tricks for streamlining your Marketo programs from end to end. Whether you're new to Marketo or looking to enhance your existing processes, our expert speakers will provide insights and strategies you can implement right away.
Welcome to our third live UiPath Community Day Amsterdam! Come join us for a half-day of networking and UiPath Platform deep-dives, for devs and non-devs alike, in the middle of summer ☀.
📕 Agenda:
12:30 Welcome Coffee/Light Lunch ☕
13:00 Event opening speech
Ebert Knol, Managing Partner, Tacstone Technology
Jonathan Smith, UiPath MVP, RPA Lead, Ciphix
Cristina Vidu, Senior Marketing Manager, UiPath Community EMEA
Dion Mes, Principal Sales Engineer, UiPath
13:15 ASML: RPA as Tactical Automation
Tactical robotic process automation for solving short-term challenges, while establishing standard and re-usable interfaces that fit IT's long-term goals and objectives.
Yannic Suurmeijer, System Architect, ASML
13:30 PostNL: an insight into RPA at PostNL
Showcasing the solutions our automations have provided, the challenges we’ve faced, and the best practices we’ve developed to support our logistics operations.
Leonard Renne, RPA Developer, PostNL
13:45 Break (30')
14:15 Breakout Sessions: Round 1
Modern Document Understanding in the cloud platform: AI-driven UiPath Document Understanding
Mike Bos, Senior Automation Developer, Tacstone Technology
Process Orchestration: scale up and have your Robots work in harmony
Jon Smith, UiPath MVP, RPA Lead, Ciphix
UiPath Integration Service: connect applications, leverage prebuilt connectors, and set up customer connectors
Johans Brink, CTO, MvR digital workforce
15:00 Breakout Sessions: Round 2
Automation, and GenAI: practical use cases for value generation
Thomas Janssen, UiPath MVP, Senior Automation Developer, Automation Heroes
Human in the Loop/Action Center
Dion Mes, Principal Sales Engineer @UiPath
Improving development with coded workflows
Idris Janszen, Technical Consultant, Ilionx
15:45 End remarks
16:00 Community fun games, sharing knowledge, drinks, and bites 🍻
IVE 2024 Short Course Lecture 9 - Empathic Computing in VRMark Billinghurst
IVE 2024 Short Course Lecture 9 on Empathic Computing in VR.
This lecture was given by Kunal Gupta on July 17th 2024 at the University of South Australia.
Jacquard Fabric Explained: Origins, Characteristics, and Usesldtexsolbl
In this presentation, we’ll dive into the fascinating world of Jacquard fabric. We start by exploring what makes Jacquard fabric so special. It’s known for its beautiful, complex patterns that are woven into the fabric thanks to a clever machine called the Jacquard loom, invented by Joseph Marie Jacquard back in 1804. This loom uses either punched cards or modern digital controls to handle each thread separately, allowing for intricate designs that were once impossible to create by hand.
Next, we’ll look at the unique characteristics of Jacquard fabric and the different types you might encounter. From the luxurious brocade, often used in fancy clothing and home décor, to the elegant damask with its reversible patterns, and the artistic tapestry, each type of Jacquard fabric has its own special qualities. We’ll show you how these fabrics are used in everyday items like curtains, cushions, and even artworks, making them both functional and stylish.
Moving on, we’ll discuss how technology has changed Jacquard fabric production. Here, LD Texsol takes center stage. As a leading manufacturer and exporter of electronic Jacquard looms, LD Texsol is helping to modernize the weaving process. Their advanced technology makes it easier to create even more precise and complex patterns, and also helps make the production process more efficient and environmentally friendly.
Finally, we’ll wrap up by summarizing the key points and highlighting the exciting future of Jacquard fabric. Thanks to innovations from companies like LD Texsol, Jacquard fabric continues to evolve and impress, blending traditional techniques with cutting-edge technology. We hope this presentation gives you a clear picture of how Jacquard fabric has developed and where it’s headed in the future.
Ensuring Secure and Permission-Aware RAG DeploymentsZilliz
In this talk, we will explore the critical aspects of securing Retrieval-Augmented Generation (RAG) deployments. The focus will be on implementing robust secured data retrieval mechanisms and establishing permission-aware RAG frameworks. Attendees will learn how to ensure that access control is rigorously maintained within the model when ingesting documents, ensuring that only authorized personnel can retrieve data. We will also discuss strategies to mitigate risks of data leakage, unauthorized access, and insider threats in RAG deployments. By the end of this session, participants will have a clearer understanding of the best practices and tools necessary to secure their RAG deployments effectively.
Securiport Gambia is a civil aviation and intelligent immigration solutions provider founded in 2001. The company was created to address security needs unique to today’s age of advanced technology and security threats. Securiport Gambia partners with governments, coming alongside their border security to create and implement the right solutions.
Planetek Italia is an Italian Benefit Company established in 1994, which employs 120+ women and men, passionate and skilled in Geoinformatics, Space solutions, and Earth science.
We provide solutions to exploit the value of geospatial data through all phases of data life cycle. We operate in many application areas ranging from environmental and land monitoring to open-government and smart cities, and including defence and security, as well as Space exploration and EO satellite missions.
Project Delivery Methodology on a page with activities, deliverablesCLIVE MINCHIN
I've not found a 1 pager like this anywhere so I created it based on my experiences. This 1 pager details a waterfall style project methodology with defined phases, activities, deliverables, assumptions. There's nothing in here that conflicts with commonsense.
UiPath Community Day Amsterdam: Code, Collaborate, ConnectUiPathCommunity
Welcome to our third live UiPath Community Day Amsterdam! Come join us for a half-day of networking and UiPath Platform deep-dives, for devs and non-devs alike, in the middle of summer ☀.
📕 Agenda:
12:30 Welcome Coffee/Light Lunch ☕
13:00 Event opening speech
Ebert Knol, Managing Partner, Tacstone Technology
Jonathan Smith, UiPath MVP, RPA Lead, Ciphix
Cristina Vidu, Senior Marketing Manager, UiPath Community EMEA
Dion Mes, Principal Sales Engineer, UiPath
13:15 ASML: RPA as Tactical Automation
Tactical robotic process automation for solving short-term challenges, while establishing standard and re-usable interfaces that fit IT's long-term goals and objectives.
Yannic Suurmeijer, System Architect, ASML
13:30 PostNL: an insight into RPA at PostNL
Showcasing the solutions our automations have provided, the challenges we’ve faced, and the best practices we’ve developed to support our logistics operations.
Leonard Renne, RPA Developer, PostNL
13:45 Break (30')
14:15 Breakout Sessions: Round 1
Modern Document Understanding in the cloud platform: AI-driven UiPath Document Understanding
Mike Bos, Senior Automation Developer, Tacstone Technology
Process Orchestration: scale up and have your Robots work in harmony
Jon Smith, UiPath MVP, RPA Lead, Ciphix
UiPath Integration Service: connect applications, leverage prebuilt connectors, and set up customer connectors
Johans Brink, CTO, MvR digital workforce
15:00 Breakout Sessions: Round 2
Automation, and GenAI: practical use cases for value generation
Thomas Janssen, UiPath MVP, Senior Automation Developer, Automation Heroes
Human in the Loop/Action Center
Dion Mes, Principal Sales Engineer @UiPath
Improving development with coded workflows
Idris Janszen, Technical Consultant, Ilionx
15:45 End remarks
16:00 Community fun games, sharing knowledge, drinks, and bites 🍻
2. What?
Redis is an open source, BSD licensed, advanced
key-value store. It is often referred to as a data
structure server since keys can contain strings, hashes,
lists, sets and sorted sets. (http://redis.io)
Salvatore
Sanfilippo
@antirez
Pieter
Noordhuis
@pnoordhuis
95 contributors at
https://github.com/antirez/redis
Who?
3. The Redis Manifesto
1.A DSL for Abstract Data Types
2.Memory storage is #1
3.Fundamental data structures for a fundamental API
4.Two levels of API
5.Code is like a poem; it's not just something we write
to reach some practical result
6.We're against complexity
7.We optimize for joy
9. In memory data store
Redis stores all the data in memory all the
time. Plan your architecture accordingly
10. Persistance: RDB
Compact binary format
Saves snapshots every few minutes
Good for backups and synchronizing
If Redis crashes, a few minutes worth of
data will be lost
11. Durability: AOF
Log text format
Configurable durability
Large file, can slow down startup
If Redis crashes, typically one second of
data could be lost
12. Connecting from Ruby
redis-rb exposes calls to all the methods in the redis
protocol
other useful gems:
github.com/soveran/nest => helps with key naming
https://github.com/soveran/ohm => “ORM” for redis
github.com/obie/redis_props => properties for AR objects
github.com/nateware/redis-objects => map redis types to ruby
objects
github.com/agoragames/amico => redis-backed friendships
20. counters
Atomic counters can be
safely invoked concurrently
from anywhere
You can create global sequences
with counters. Redis-objects
block semantics allow for
rewinding on errors
21. Scripting with lua*
You can use Lua for scripting Redis when you need to
atomically execute a sequence of commands in which the
output of a command is used as input for another
It reduces the need to use complex lock mechanisms and
simplifies dependencies between clients
You can even extend the functionality
of Redis by using Lua scripts
* no, mruby won't be supported
23. Temporary data
Very simple to implement
usage quota patterns
(even better if done in Lua)
It's possible to set self-expiring keys
24. Redis as a cache
maxmemory 128mb
maxmemory-policy allkeys-lru
#save 900 1
#save 300 10
#save 60 10000
Expire keys individually or turn off persistence and use
Redis as a cache system with automatic eviction
Multiple levels of cache by using Redis on the webserver/
middleware layer
http://wiki.nginx.org/HttpRedis
https://github.com/jodosha/redis-store
27. Shameless self promotion
If you enjoyed this presentation, please thank me by
registering on http://teowaki.com
It's a site for developers, you can hang around for free, and
I think it's quite cool
<3 <3 <3
Javier Ramírez
@supercoco9