The document provides an introduction to the graphical programming environment vvvv, which allows users to create real-time interactive installations and generative art through a node-based visual programming interface, and explains some of vvvv's key capabilities like being multi-purpose, fast, and supporting various data types, protocols, and devices through built-in nodes.
The document outlines 13 presuppositions or guiding principles of Neuro-Linguistic Programming (NLP). The principles include that people respond to their internal map of the world rather than objective reality, that having more choices is better, and that people always act in a way that makes the most sense given their internal map. The principles also state that all behaviors have a positive intention, that communication includes both the intended and received meaning, and that excellence can be achieved through modeling successful behaviors.
The document outlines 13 presuppositions or guiding principles of Neuro-Linguistic Programming (NLP). The principles include that people respond to their internal map of the world rather than objective reality, that having more choices is better, and that people always act in a way that makes the most sense given their internal map. The principles also state that all behaviors have a positive intention, that communication includes both the intended and received meaning, and that excellence can be achieved through modeling successful behaviors.
This presentation was given at the jQuery conference 2010 in Mountain View and featured the first public premiere of a sneak peek video of our upcoming JavaScript game engine.
The video preview can be found here: http://youtu.be/Ol3qQ4CEUTo
Enjoy and follow me at @pbakaus on Twitter!
Node.js Native AddOns from zero to hero - Nicola Del Gobbo - Codemotion Rome ...Codemotion
This talk is about creating Node.js interfaces for native libraries written in C or C++. It starts with various situations in which you need to build native addons and the common problems in doing that. I'll discuss the reference provided by the new N-API (Node-API) that helps mantainers to support a wide variety of Node.js releases without needing recompilation or abstraction layers. With all these tools and knowledge I'll show you how to build some addons from scratch and how to convert existing addons using the new N-API. The last part is related to future developments about addons.
I talked at Frontend Day in Plone conference TOKYO.
IoT mustcle training interface is made by M5Stack, watson IoT Platform and Node-RED.
It explain that what M5Stack is, what Node-RED is and how it works.
Nicola Del Gobbo presented on developing Node.js native addons from scratch. Native addons allow integration of C/C++ code and libraries with Node.js for performance benefits. They can be loaded using require() but require special handling to interface with JavaScript. The presentation covered why to use native addons, how to structure a project, asynchronous programming, and interfacing with Node.js objects like EventEmitters and streams. Upcoming N-API will improve compatibility across Node.js versions and platforms.
This document is a software engineering portfolio belonging to Corey Berry that summarizes various projects completed between 2005-2016. It includes a wide range of projects developed using languages like C++, C#, Ruby, and VBA and frameworks like Qt, .NET, and OpenCV. The projects cover areas like UI design, simulation, data management, and more. Hardware experience incorporating devices like Arduino, Raspberry Pi, and BASIC Stamps is also outlined.
Definitive Guide to Powerful Nodejs Development.pptx75waytechnologies
Node.js is a beast on its own. Since its release, this technology has continued to keep its stranglehold on the digital world, being one of the most prominent and powerful frameworks of JavaScript. Other JS frameworks, like Angular, React, etc., can’t fade even an inch of Node.js popularity.
Node.js is a free, open-source, cross-platform JavaScript runtime that works on the server side. In simple words, this tech allows developers to execute JavaScript code on a computer using runtime rather than running it in the browser. Node.js helps build scalable and efficient REST APIs. One can accelerate their business growth with several Node.js-based digital products, whether it is desktop applications or hybrid mobile applications. Is this reason enough to choose Node.js for projects?
If you’re in deep thought about why this technology is considered most useful in the eyes of Node.js developers, you must check out this Node.js guide. Here you can gain a good insight into it and find more reasons to say yes to Node.js for your next project.
The document discusses Java desktop application development. It summarizes a presentation about issues with Java rich client applications and introduces solutions like NetBeans RCP and SwingLabs. The presentation discusses the speaker's qualifications and experience with the blueMarine project, a photographic workflow application. It demonstrates NetBeans RCP features and components like explorers, viewers, and actions. The presentation concludes that most challenges for shipping desktop apps are now history and developers can be creative in using frameworks beyond Swing.
Openstack: An Open Source Cloud FrameworkAndrew Shafer
This document discusses OpenStack, an open source cloud computing platform. It provides details on several OpenStack projects including Nova (compute), Swift (object storage), Glance (image service), Keystone (identity), and Dashboard (web-based UI). It shares code statistics for some of the projects and discusses DevStack, a tool for quickly deploying OpenStack locally. The document emphasizes that OpenStack is a framework that requires choices around architecture, functionality, configuration, and more. It also discusses challenges around networking, storage, provisioning, and reliability.
Node.js is an asynchronous event-driven JavaScript runtime that uses non-blocking I/O to build scalable network applications. It allows for the creation of web servers and networking tools using a event-driven, non-blocking I/O model rather than the traditional threaded model. Node.js is popular because it uses JavaScript and allows code reuse on both the server-side and client-side, offers high performance and scalability for real-time applications, and has a large passionate community supporting its use.
This document welcomes the reader to a Node-RED Twitter analysis workshop and provides an introduction and overview of Node-RED. It discusses that Node-RED provides a drag-and-drop interface for creating "flows" of events to build applications and connects IoT devices. It also provides some examples of basic Node-RED nodes like Inject and Debug nodes, and encourages the reader to open the workshop URL and build flows together. Finally, it lists additional Node-RED resources and the presenter's contact information.
This document provides a tutorial for creating a touch-enabled user interface for Java ME devices using Scalable Vector Graphics (SVG). It describes how to build the UI using SVG widgets in the NetBeans SVG Composer, create an application flow in the Visual Mobile Designer, and add logic to interact with the UI. The tutorial creates a contact list app with screens for selecting a contact and viewing/editing a contact's details.
This document provides a tutorial for creating a touch-enabled user interface for Java ME devices using SVG. It describes how to build the UI using SVG widgets in the NetBeans SVG Composer, create an application flow in the Visual Mobile Designer, and add logic to navigate between form screens. The steps include dragging SVG components onto images to design interfaces, connecting the interfaces to code, handling button clicks to change screens, and testing the running application in an emulator.
Processing is an open-source programming language and environment for creating images, animations, and interactions. The presenter discusses how they use Processing for rapid prototyping of digital art and interactive projects. Processing allows beginners to create static images but can scale up to advanced uses like classes, libraries, and hardware integration. The presenter provides examples of projects they created using Processing including interactive installations, live visuals, and works exploring new media like projection mapping.
WebGL is a JavaScript API for rendering interactive 3D graphics within any compatible web browser without the use of plug-ins. It uses OpenGL ES to render animated 3D computer graphics and allows developers to create complex 3D games and visualizations that run in any compatible web browser. The document discusses various WebGL libraries and frameworks that simplify the process of programming 3D graphics in a web browser using WebGL including BabylonJS, Three.js, and Turbulenz.
The document discusses SWT features and contributions. It provides an agenda for a technical deep dive on SWT including 10 features that may not be known, recent work, useful tools, and how to contribute. It outlines setting up an SWT development environment, reporting bugs, contributing fixes through Gerrit, and future plans such as interoperability with JavaFX and Wayland support.
The document discusses virtual pair programming (VPP), where two programmers collaborate remotely using tools like VNC and NetMeeting. It describes setting up these tools on different operating systems and some challenges, like occasional lag. An empirical study found VPP worked well for students collaborating remotely on Java projects. While not much formal research exists, VPP can reduce isolation and increase productivity compared to solo programming.
We're all using TypeScript/Babel etc, transforming our code to another code, minifying it, shipping this unreadable piece of code to production and using the magical powers of Source Maps so we could actually debug it and understand how it connects to what we initially wrote.
But did you ever wonder how Source Maps actually work?
Node.js is a JavaScript runtime built on Chrome's V8 engine that allows JavaScript code to be run outside of a browser. It introduces asynchronous and event-driven programming to JavaScript. Native addons allow integrating C/C++ code and libraries into Node.js applications for performance reasons or to interface with legacy code. The N-API provides a stable API for building native addons that is compatible across Node.js versions to avoid breakage. Examples demonstrate how to create asynchronous native addons that interface between JavaScript and C++ code.
I. Este documento apresenta os regulamentos para validação das atividades complementares dos cursos de Artes Visuais - Bacharelado e Licenciatura da Universidade Federal de Mato Grosso do Sul.
II. É definido o processo de apresentação e validação dos documentos comprobatórios das atividades, incluindo duas datas para entrega parcial e final da documentação.
III. São descritas as atividades complementares aceitas e a pontuação máxima permitida para cada uma em relação à carga horária total.
O documento lista as atividades complementares que os estudantes de Artes Visuais podem realizar para obter pontos, incluindo estágios, bolsas de pesquisa, monitoria, cursos, eventos acadêmicos e artísticos, exposições e outras atividades. Fornece detalhes sobre a forma de comprovação e limite de carga horária para cada atividade. A pontuação total do estudante é de 0 horas.
This presentation was given at the jQuery conference 2010 in Mountain View and featured the first public premiere of a sneak peek video of our upcoming JavaScript game engine.
The video preview can be found here: http://youtu.be/Ol3qQ4CEUTo
Enjoy and follow me at @pbakaus on Twitter!
Node.js Native AddOns from zero to hero - Nicola Del Gobbo - Codemotion Rome ...Codemotion
This talk is about creating Node.js interfaces for native libraries written in C or C++. It starts with various situations in which you need to build native addons and the common problems in doing that. I'll discuss the reference provided by the new N-API (Node-API) that helps mantainers to support a wide variety of Node.js releases without needing recompilation or abstraction layers. With all these tools and knowledge I'll show you how to build some addons from scratch and how to convert existing addons using the new N-API. The last part is related to future developments about addons.
I talked at Frontend Day in Plone conference TOKYO.
IoT mustcle training interface is made by M5Stack, watson IoT Platform and Node-RED.
It explain that what M5Stack is, what Node-RED is and how it works.
Nicola Del Gobbo presented on developing Node.js native addons from scratch. Native addons allow integration of C/C++ code and libraries with Node.js for performance benefits. They can be loaded using require() but require special handling to interface with JavaScript. The presentation covered why to use native addons, how to structure a project, asynchronous programming, and interfacing with Node.js objects like EventEmitters and streams. Upcoming N-API will improve compatibility across Node.js versions and platforms.
This document is a software engineering portfolio belonging to Corey Berry that summarizes various projects completed between 2005-2016. It includes a wide range of projects developed using languages like C++, C#, Ruby, and VBA and frameworks like Qt, .NET, and OpenCV. The projects cover areas like UI design, simulation, data management, and more. Hardware experience incorporating devices like Arduino, Raspberry Pi, and BASIC Stamps is also outlined.
Definitive Guide to Powerful Nodejs Development.pptx75waytechnologies
Node.js is a beast on its own. Since its release, this technology has continued to keep its stranglehold on the digital world, being one of the most prominent and powerful frameworks of JavaScript. Other JS frameworks, like Angular, React, etc., can’t fade even an inch of Node.js popularity.
Node.js is a free, open-source, cross-platform JavaScript runtime that works on the server side. In simple words, this tech allows developers to execute JavaScript code on a computer using runtime rather than running it in the browser. Node.js helps build scalable and efficient REST APIs. One can accelerate their business growth with several Node.js-based digital products, whether it is desktop applications or hybrid mobile applications. Is this reason enough to choose Node.js for projects?
If you’re in deep thought about why this technology is considered most useful in the eyes of Node.js developers, you must check out this Node.js guide. Here you can gain a good insight into it and find more reasons to say yes to Node.js for your next project.
The document discusses Java desktop application development. It summarizes a presentation about issues with Java rich client applications and introduces solutions like NetBeans RCP and SwingLabs. The presentation discusses the speaker's qualifications and experience with the blueMarine project, a photographic workflow application. It demonstrates NetBeans RCP features and components like explorers, viewers, and actions. The presentation concludes that most challenges for shipping desktop apps are now history and developers can be creative in using frameworks beyond Swing.
Openstack: An Open Source Cloud FrameworkAndrew Shafer
This document discusses OpenStack, an open source cloud computing platform. It provides details on several OpenStack projects including Nova (compute), Swift (object storage), Glance (image service), Keystone (identity), and Dashboard (web-based UI). It shares code statistics for some of the projects and discusses DevStack, a tool for quickly deploying OpenStack locally. The document emphasizes that OpenStack is a framework that requires choices around architecture, functionality, configuration, and more. It also discusses challenges around networking, storage, provisioning, and reliability.
Node.js is an asynchronous event-driven JavaScript runtime that uses non-blocking I/O to build scalable network applications. It allows for the creation of web servers and networking tools using a event-driven, non-blocking I/O model rather than the traditional threaded model. Node.js is popular because it uses JavaScript and allows code reuse on both the server-side and client-side, offers high performance and scalability for real-time applications, and has a large passionate community supporting its use.
This document welcomes the reader to a Node-RED Twitter analysis workshop and provides an introduction and overview of Node-RED. It discusses that Node-RED provides a drag-and-drop interface for creating "flows" of events to build applications and connects IoT devices. It also provides some examples of basic Node-RED nodes like Inject and Debug nodes, and encourages the reader to open the workshop URL and build flows together. Finally, it lists additional Node-RED resources and the presenter's contact information.
This document provides a tutorial for creating a touch-enabled user interface for Java ME devices using Scalable Vector Graphics (SVG). It describes how to build the UI using SVG widgets in the NetBeans SVG Composer, create an application flow in the Visual Mobile Designer, and add logic to interact with the UI. The tutorial creates a contact list app with screens for selecting a contact and viewing/editing a contact's details.
This document provides a tutorial for creating a touch-enabled user interface for Java ME devices using SVG. It describes how to build the UI using SVG widgets in the NetBeans SVG Composer, create an application flow in the Visual Mobile Designer, and add logic to navigate between form screens. The steps include dragging SVG components onto images to design interfaces, connecting the interfaces to code, handling button clicks to change screens, and testing the running application in an emulator.
Processing is an open-source programming language and environment for creating images, animations, and interactions. The presenter discusses how they use Processing for rapid prototyping of digital art and interactive projects. Processing allows beginners to create static images but can scale up to advanced uses like classes, libraries, and hardware integration. The presenter provides examples of projects they created using Processing including interactive installations, live visuals, and works exploring new media like projection mapping.
WebGL is a JavaScript API for rendering interactive 3D graphics within any compatible web browser without the use of plug-ins. It uses OpenGL ES to render animated 3D computer graphics and allows developers to create complex 3D games and visualizations that run in any compatible web browser. The document discusses various WebGL libraries and frameworks that simplify the process of programming 3D graphics in a web browser using WebGL including BabylonJS, Three.js, and Turbulenz.
The document discusses SWT features and contributions. It provides an agenda for a technical deep dive on SWT including 10 features that may not be known, recent work, useful tools, and how to contribute. It outlines setting up an SWT development environment, reporting bugs, contributing fixes through Gerrit, and future plans such as interoperability with JavaFX and Wayland support.
The document discusses virtual pair programming (VPP), where two programmers collaborate remotely using tools like VNC and NetMeeting. It describes setting up these tools on different operating systems and some challenges, like occasional lag. An empirical study found VPP worked well for students collaborating remotely on Java projects. While not much formal research exists, VPP can reduce isolation and increase productivity compared to solo programming.
We're all using TypeScript/Babel etc, transforming our code to another code, minifying it, shipping this unreadable piece of code to production and using the magical powers of Source Maps so we could actually debug it and understand how it connects to what we initially wrote.
But did you ever wonder how Source Maps actually work?
Node.js is a JavaScript runtime built on Chrome's V8 engine that allows JavaScript code to be run outside of a browser. It introduces asynchronous and event-driven programming to JavaScript. Native addons allow integrating C/C++ code and libraries into Node.js applications for performance reasons or to interface with legacy code. The N-API provides a stable API for building native addons that is compatible across Node.js versions to avoid breakage. Examples demonstrate how to create asynchronous native addons that interface between JavaScript and C++ code.
I. Este documento apresenta os regulamentos para validação das atividades complementares dos cursos de Artes Visuais - Bacharelado e Licenciatura da Universidade Federal de Mato Grosso do Sul.
II. É definido o processo de apresentação e validação dos documentos comprobatórios das atividades, incluindo duas datas para entrega parcial e final da documentação.
III. São descritas as atividades complementares aceitas e a pontuação máxima permitida para cada uma em relação à carga horária total.
O documento lista as atividades complementares que os estudantes de Artes Visuais podem realizar para obter pontos, incluindo estágios, bolsas de pesquisa, monitoria, cursos, eventos acadêmicos e artísticos, exposições e outras atividades. Fornece detalhes sobre a forma de comprovação e limite de carga horária para cada atividade. A pontuação total do estudante é de 0 horas.
O documento apresenta informações sobre o LEEXA - Laboratório Avançado de Estudos Experimentais em Arte e Tecnologia da UFMS, incluindo sua coordenação, membros, objetivos e atividades planejadas para 2012, com foco em intervenções urbanas e relações com arquitetura.
O documento estabelece as regras para a participação de acadêmicos dos cursos de Artes Visuais da UFMS na Mostra Acadêmica do FAT 4.0. Os estudantes podem inscrever até 5 trabalhos individuais ou em grupo de 12 de junho a 15 de julho. Os trabalhos selecionados devem ser entregues entre 15 e 31 de agosto e ficarão expostos de 24 de setembro a 05 de outubro.
Este documento descreve experimentações com tipografia como textura, desenvolvendo fontes baseadas em padrões geométricos para analisar o comportamento do texto como imagem. Os experimentos buscam observar o texto através de padrões de repetição e velar o significado das letras para enfatizar outras características visuais. Os códigos desenvolvidos substituem letras por formas geométricas para criar intervenções artísticas aplicando a poesia de forma pixelada.
Este capítulo descreve a formação de Aloísio Magalhães, desde sua infância em Pernambuco, cercado por figuras políticas e intelectuais, até seu trabalho como artista, designer e mentor cultural. Aloísio transitou entre essas áreas de forma fluida, sempre buscando integrar arte, design e cultura.
A empresa de tecnologia anunciou um novo produto revolucionário que combina hardware, software e serviços em nuvem. O dispositivo é pequeno, portátil e oferece conectividade sem fio para acessar aplicativos e armazenamento na nuvem. A empresa espera que o novo produto impulsione o crescimento e a liderança no mercado de dispositivos móveis.
Este documento fornece instruções para duas experimentações gráficas envolvendo desconstrução e hibridismo. A primeira pede para selecionar imagens abstratas, vetorizá-las e compor três imagens usando suas formas. A segunda pede para fragmentar letras em um quadrado e compor uma imagem usando esses fragmentos e imagens também fragmentadas.
O documento discute o movimento construtivista russo de 1919 e seu uso da arte como instrumento de transformação socialista. O construtivismo rejeitava a ideia de arte pura e acreditava que a arte deveria fazer parte do mundo cotidiano e da reconstrução de uma sociedade socialista. Artistas como El Lissitzky usavam formas geométricas abstratas em cartazes e projetos para comunicar ideias revolucionárias.
O documento discute a desconstrução tipográfica e como novas tecnologias levaram os designers a experimentarem com tipos de forma diferente, gerando uma linguagem gráfica mais conturbada e visualidade não convencional. Também menciona Wolfgang Weingart como pioneiro nesse estilo e pede que os alunos tragam recortes de 25x25cm para colagem na próxima aula.
Este documento fornece instruções para um exercício de tipografia experimental usando fotografia. Os alunos devem criar 3 famílias de tipos de letra (maiúsculas ou minúsculas) a partir de experimentações temáticas com fotografia e apresentá-las impressas no próximo aula.
Este documento fornece instruções para estudantes completarem uma tarefa envolvendo tipografia e fotografia no Corel Draw. Os estudantes devem selecionar três famílias de tipos desenvolvidas anteriormente, criar uma frase para definir a estética de cada uma e vetorizar as letras para organizá-las em papel A3.
O documento resume as principais tendências do design gráfico pós-moderno desde os anos 1950, incluindo o uso de formas livres, tipografias fragmentadas e aleatórias, assim como a rejeição da funcionalidade em favor da experiência pessoal. Também discute o impacto da revolução digital a partir dos anos 1980 e como as novas tecnologias permitiram novas abordagens experimentais no design.
O documento descreve a evolução da tipografia e do design gráfico na escola Bauhaus na Alemanha entre 1919-1933, quando foi fechada pelos nazistas. A tipografia se tornou geométrica, pesada e sem serifas, com o objetivo de melhor comunicação. Designers como Jan Tschichold e Herbert Bayer desenvolveram princípios de diagramação com fotografia e linhas para direcionar a atenção do leitor. Após 1933, muitos designers migraram para os EUA, influenciando o design ocidental.
Aula teorica - Da Arte Nouveau ao FuturismoVenise Melo
O documento descreve a evolução histórica dos estilos artísticos que influenciaram o design gráfico, desde a Revolução Industrial até o movimento futurista no início do século 20. Apresenta os movimentos Arts & Crafts, Art Nouveau e estilos como pôsteres, culminando na ruptura estética do futurismo e sua ênfase na tipografia experimental e composição visual não convencional.
O documento discute o artista Robert Heinecken e sua técnica de apropriação e desconstrução de imagens publicitárias que objetificam o corpo feminino. Os estudantes são instruídos a criar uma série de 3 obras no Photoshop se inspirando nos processos e temática de Heinecken, que manipulava imagens para criticar a objetificação da mulher na mídia.
Este documento fornece uma introdução à produção artística brasileira na intersecção entre arte, ciência e tecnologia de 1950 a 2000. A utilização de computadores para a produção e exibição de imagens se tornou possível na década de 1950, com os primeiros trabalhos artísticos digitais surgindo na década de 1960. O brasileiro Waldemar Cordeiro foi um pioneiro importante nesse campo.
Este capítulo descreve a evolução inicial dos sistemas digitais e interfaces, desde as ideias iniciais de Vannevar Bush até o desenvolvimento do hipertexto e das primeiras redes de computadores. Douglas Engelbart desenvolveu o primeiro sistema online com interface gráfica baseada em janelas, rato e hipertexto. Seus trabalhos influenciaram fortemente o desenvolvimento posterior de interfaces e web.
Este documento describe los pasos para configurar una nueva red WiFi. Explica cómo conectar el enrutador a la línea telefónica, configurar la contraseña de la red y conectar dispositivos como computadoras, teléfonos y tabletas a la red recién creada.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
1. Linear Spread
illustrated guide to vvvv
for newbies in computer arts
2. table of contents
2. table of contents
3. vvvv a multipurpose toolkit introduction bla-bla-bla
4. about this guide
5. vvvv is real time
6. multipurpose and fast why should I use vvvv?
7. some extra propaganda
8. vvvv basics
9. Renderer (EX9) call yourself
10. primitives.dx9
a ‘media artist’
11. textures
12. nodes categories
13. the power of vvvv is in spreads
14. vectors
pages 15.
16.
controling spreads
io boxes
enough to make
complex things
17. subpatches
18. S and R nodes
19. coordinate system enough to make
20. 3d space
21. 3d models in vvvv
beautiful things
22. vvvv effects aka shaders in 3d space
23. logic
24. timebased logic
25. loops and feedback
before becoming much
26. red nodes and other bugs more advanced, you may
27. boygroup want to spend 20 minutes
28. external protocols
29. girlpower
30. user interface
31. changing values
32. Inspektor example IOBox
to print pages 37-43
appendix 33.
34.
Inspektor example Renderer (EX9)
CodeEditor and keep them
35. how to read vvvv patches near you to you.
36. vvvv links
4. vvvv
a multipurpose toolkit
vvvv is a graphical programming environment for easy prototyping and fast development.
It is designed to facilitate the handling of large media environments with physical
interfaces, real-time motion graphics and audio and video that can interact with many
users simultaneously.
The VVVV Group is responsible for its continuous development.
http://vvvv.org/
http://vimeo.com/channels/vvvv
The vvvv channel on Vimeo is a showcase of work produced
by vvvv users. Seeing the power of vvvv will explain it better
than a thousand words ever can
vvvv is for Windows only
Because it is using the power of DirectX, to run vvvv you need either WindowsXP, Vista or 7,
the lastest DirectX Redistributable and .net3.5 installed .
To run vvvv on Mac, you need to run Windows via BootCamp.
vvvv not suitable for following tasks:
you can not force vvvv to run patches inside a web browser, and you cannot compile vvvv
projects into self-running .exe files. You always need a copy of vvvv itself running.
If this is a requirement for you, then you should consider searching for other tools.
5. about this guide
This is very first offline and experimental version of a vvvv guide.
It made for people who have never used any programming languages before
to create motion design, generative art objects or user interaction installations.
We have made a very brief overview of vvvv. By reading this guide you will
understand the main concepts of vvvv, but not in detail, or advanced usage.
To find a more complete explanation and learn vvvv in detail, please follow
the links provided on most pages.
Reading this guide should take about 20 minutes. It’s all time you need
to understand one of most powerful software packages for createing interactive
installations and generative art.
Please note, this is not official guide. The vvvv group is not response for any
contents of this guide. For any questions about this guide, please feel free
to contact me directly:
skype: andrey.bo.27
Credits and many thanks to:
Proofreading: Elliot Woods http://www.kimchiandchips.com
René Westhof
Illustrations: Georg Michri
Design: Nata Suntsova
Thanks to: vdmokstati, ain, alg, Kalle, m4d, vvvv group
and to my family Nadya and Dominika
7. vvvv is real time
thank God,
Compiling my car is sorry, I didn’t *#%!?!
Command controlled have time
<brake>?!?! in realtime! to compile
the brakes....
Where many other programming languages have distinct modes for developing and runtime,
vvvv has only one mode - runtime. In other words, vvvv is constantly performing calculations and
rendering graphics while you're editing the patch.
Patching in vvvv is like
driving a car. Get results
immediately when you
want it.
8. multipurpose and fast
Why am I choosing
the wrong club...
always?
One stick
You for all clicks!
do not
need many
programms
running
vvvv is suitable for many tasks involving common computer media types like:
video,
audio,
3d animation,
the internet,
interactive multi-users interactions,
multiscreen setups...... to name only a few.
To deal with 3d models, audio analysis and network connections at the same time, you do not need
many programms running, but only the one. And the most imortant thing, vvvv is still realtime even
when you are working with all those things at the same time. vvvv is more like hockey, not golf.
9. vvvv is a powerful graphical environment
with built-in C# and HLSL code editors
and many input/output nodes for all
types of external protocols such as
TCP, UDP, DMX, MIDI, TUIO, OSC, RS232
and so on...
Thanks to the community, you can also
interact with Wii, PSP, Kinect and many
more devices.
vvv is as cool as Leonardo
and as simple as Robin Hood
vvvv is free for evaluation and
non-commercial use.
You can start using vvvv right now
without any restrictions.
http://vvvv.org/downloads
For all commercial applications,
you need to buy a license.
http://vvvv.org/licensing
11. vvvv basics
vvvv uses graphical objects for programming instead of a textual programming interface.
Programs are created within patches. Individual operations and functions are represented as nodes.
Connections between nodes are called links, and are drawn and modified with the mouse.
Links create a structure that sends data from one node to another.
Incoming
data
Incoming
data
Link
Link
Node Node
In most cases a node has more
options than you can see.
Outgoing
All options are availiable in data
the Inspektor. You can open it by
selecting a node with a left click,
and pressing Ctrl-i
Outgoing
data
Input Pin(s) store settled data or receive incoming
data via a link
vvvv stores most datas in node pins,
Node calculates so links are necessary for transfering
some magic data only
Output Pin(s) sends outgoing data via link(s)
To create your very first patch, run vvvv, double-left click into the empty grey window and select
any node from the list.
Welcome to vvvv.
http://vvvv.org/documentation/tutorial-introduction
12. Renderer (EX9)
To view any output we need a renderer node. There are several different renderer nodes in vvvv (with
possibilities to visualize different kinds of data). We generally use the Renderer.EX9 node for most types of
visual data. The Renderer node has an external window named DirectXRenderer and, of course, it may be
FullScreen with any resolution that your graphic card supports.
http://vvvv.org/documentation/dx9-rendering#starting-with-directx
The Renderer node has an external
window named "DirectX Renderer"
Most things Click on the window and press
you are patching Alt-Enter to force FullScreen mode.
end up going to Before do so, you can check resolution
the Renderer settings in the Inspektor. Please refer
to the Renderer's Inspektor
screenshot on page 40
You can either hide the window or show the renderer window as
into a node by pressing Alt-3 a block in your patch by pressing Alt-2.
/girlpower/(Halo Ball) patches by roman
13. primitives (DX9)
The most simple thing that you can draw in the Renderer window is a Quad(DX9) node. But understanding
Quad will open many doors in the world of computer media art for you. Don’t let the EX9-DX9 naming
disparity puzzle you - they communicate each other perfectly.
So let’s connect Quad (DX9) to the Renderer(EX9)
It's ok even if it is not perfectly square
- you can read more about this when you learn about the coordinate system on page 24
To introduce basic pins and save your printer ink, we draw results below as you should see them
in the Renderer (EX9) window:
by default
using Transfrom pin using Color pin using Texture pin
Other DX9 nodes work in the same manner.
Since pin names speaks for themselves, we do not explain them carefully now.
http://vvvv.org/documentation/quad-%28dx9%29
Feel free to play
with following nodes:
14. textures
vvvv supports many more textures formats than
most people can imagine would exist.
For us, it is a pleasure to know, that by using only
Renderer, Quad, Transfrom and Textures, we can
call ourselves contemporary media artists.
http://vvvv.org/documentation/dx9-rendering#texturing
Anything you see in
the Renderer window
can be later used
as a texture
You can customize
the texture transform
independently with
the Texture Transfrom pins
Group.EX9 node is very
similar to Layers in your
favourite graphical
editing software
The Renderer node has masses You can apply the same
of settings. You should check texture to many different
them in the Inspektor. objects at the same time
Same with the Texture nodes.
http://vvvv.org/documentation/howto-prepare-textures
15. nodes categories
vvvv supports many types of data,
e.g. values, strings, textures, A screwdriver fits bolts
wherever they are.
transforms, meshes etc... Same with node
Nodes dealing with same data categories.
type are grouped into categories
and subcategories.
Same data
connected to
various places
http://vvvv.org/documentation/pins-and-data-types
On starting every new link, vvvv highlights There are many nodes to convert one data type to another.
for you pins that can accept that link's data With them you can achive very interesting and complex interactions.
type
http://vvvv.org/documentation/nodelist
The NodeBrowser is the central access point to all nodes that exist within vvvv.
Simply doubleclick inside an empty area of a patch to bring up the NodeBrowser.
Rightclick into the text field of the NodeBrowser to switch to a categorized tree view of the node list.
NodeBrowser with node list
sorted by text input
Pressing Ctrl-N opens the
NodeBrowser in an external
window. From it you can
drag-n-drop nodes into patches.
17. the power of vvvv
is in spreads
The word Spread actually denotes nothing more than a list. A list of arbitrary data.
Be it values, strings, colors,... and a signle entry in such a list we call a Slice.
Slice
Spread
In almost all cases where you
want to deal with multiple
instances of data, be it values,
colors, files, textures,
geometries... you can keep
your patch pretty simple by
thinking in spreads.
Custom spread I (Node) creates spread CircularSpread outputs Set of random values
by range from # to # circlular values instead of
you having to undertand
sin/cos
18. vectors
Vectors are not only maths
tool but they are the most
frequently used spreads.
Thinking in vectors is very similar to thinking in spreads. vvvv has many
vector oriented nodes, like Translate (Transform Vector) etc.
In many cases, using vectors is easier than using separated values.
A node looks first at
the slicecounts of all spreads
it receives. The maximum
slicecount of the inputs is
used as that node's output
slicecount. Well. Nevermind.
A spread will never end. When a node gets to the last slice,
it goes back to the first one and simply repeats again.
19. controling spreads
Of course, there are a lot of good reasons
to access individual slices.
Every slice has an
Index number. Using
the Index, you can
select any custom slice.
http://vvvv.org/documentation/spreads
You can select not only one slice, but spread of slices. Either you may sort and shift them by using special
nodes from the Spread category, applying custom spreads to Index pins or useing BinSize pins.
The BinSize determines how
many slices the node will
take from the spread
Stallone is a very flexible node, which allows
you to merge slices from any number
of inputs and distribute them to any number
of slices on any number of outputs.
20. io boxes
IOBox means Input/Output Box, meaning that these nodes are useful for both purposes:
As a means for the user to input data into the running program. On the other hand they can be used to
output/display data from the running program.
We have used many IOBoxes for the screenshots of this guide, to make important data visible.
However, these IOBoxes are generally not vital for the functioning of the patches in the examples.
Use Double
right click in
an empty
space within
the patch
window to get If you are looking for interface elements like sliders and buttons,
to the IOBox then IOBoxes are also all what you want.
shortcut menu Please take a look at the IOBox Inspektor screenshot on page 39.
http://vvvv.org/documentation/tutorial-ioboxes
21. subpatches
A Subpatch is nothing special at all: it is just a node containg a patch.
The term Subpatch describes only the way you view the patch:
it is a standard patch which has been placed inside another one.
Creating a Subpatch is extremely easy.
Pins can be added to the subpatch node by entering a Descriptive Name
to IOBoxes within the subpatch. You can give these names in the Inspektor
or by making a middle-mouse-click on a connected IOBox.
In this case, the IOBox acts as a parameter, and appears as a pin
on the subpatch node.
Now, just save your patch that you want to become a subpatch, close it,
and then drag-and-drop the .v4p file from Windows into another patch.
http://vvvv.org/documentation/subpatches
Right clicking on the subpatch node opens it in an external window (or hide it again if it is already opened).
Alt-1 Alt-2 Alt-3 shortcuts also work. Ctrl-W - close subpatch window and REMOVE subpatch from the patch.
??? !!!
22. S and R nodes
Futuristic machine, to immediately
transfer from one place to many other
places is availiable now in vvvv
Sometimes you need to transfer data, but you don’t want to create new links. S and R nodes are for that.
A pull-down menu for R nodes is
R nodes can be placed anywhere
automatically generated from the
in currently open patches.
all descriptions of SendString pins
of all S nodes
You may want to use them to keep your patches clean when one piece of data goes to many-many
places, or the 'deepness' of your subputching means that making links is not comfortable at all.
Of course, there are also other reasons to use S/R Nodes.
24. coordinate system
The Renderer window area has a default
The Earth is Where is my
range of -1 to +1 in both dimensions (XY). rotatin around firelight?
The origin has coordinates 0,0 the Sun...
and is in the middle of the window.
There is also a z-coordinate, which
is not shown in the diagram.
There are naturally no pixels, inches or millimetres in the coordinate system of vvvv, but only four digits
values (0.0000). Actually this works well, because coordinates do not depend on the window size or screen
resolution. We call this normalised coordinates.
-1,1 1,1 -1,1 1,1
0,0
-1,-1 1,-1
0,0
The Renderer window area has a default
range of -1 to +1
So, if you want a Quad to fill the whole
-1,-1 1,-1 Renderer you need to scale it by 2
http://vvvv.org/documentation/dx9-rendering#coordinate-systems
Of course, you may want a square to always look like a square, or have a different range of coordinate
in some cases. You can do so by applying Transfrom nodes to transfrom pins of the Renderer node.
Scale by 0.1 maps the Renderer The AspectRatio node helps by making coordinates
coordinates range to -10 to +10 depend on your window size, you may also force
aspect ratio e.g. 4:3 or 16:9 aspects
25. 3d space
The coordinate system in 3d space will be generally be transformed by our view onto the 3D scene,
this will create some distortion of the coordinates. The easiest way to look around a 3d space is to connect
the Camera (TransfromSoftimage) module to the View and Projection pins of a Renderer.EX9 node.
Keep in mind that the world you see in 3d space always depends on your point of view.
Y
0,0,0
X
Z
Easy to use virtual camera for day to day work with the Renderer (EX9).
Keyboard & Mouse Usage:
Orbit press O and hold while dragging to Orbit
Zoom press Z and hold while dragging to.. View pin is for camera position
[left mousebutton:] pan or rotation
[right mousebutton:] zoom Projection pin is for perspective
Position press P and hold while dragging to dolly
[left mousebutton:] slow Since these pins accept transform
[right mousebutton:] fast data, you can apply any custom
Reset press R and hold for a moment to reset the viewport transfrorm here.
http://vvvv.org/documentation/ex9.spaces
The world you see, always depends on point of view.
26. 3d models in vvvv
In vvvv there are several ways to create a 3d model,
aka Mesh:
use a basic primitives like Grid, Box, Sphere from
the EX9.Geometry node category;
load an .x file from a 3d modelling application
using XFile (EX9.Geometry Load);
load a .dae collada file from a 3d modelling / animation
application using the COLLADA plugin;
create generative geometry with VertexBuffer
(EX9.Geometry Join) and Mesh (EX9.GeometryJoin).
EX9.Geometry primitive Model in xFile format Animated model in Collada format
.x file .dae file
http://vvvv.org/documentation/ex9.geometry
Each vertex is a container for data like position, orientation (normal), texture coordinates and so on.
Since vvvv gives direct access to the vertex data, there are no limits to how you can deform 3d models.
Wireframed sphere, deformed
within VertexBuffer nodes
/girlpower/fluidynamicshere.v4p patch by defetto&thedoctor
astroBoy_walk.dae Copyright 2008 Sony Computer Entertainment Inc. Licensed under the Creative Commons Attribution
27. vvvv effects aka shaders
Actually, all we give
our worm to eat circle sphere globe ball apple evil liquid robot
from future
is the same sphere,
but our shader
determines how that
sphere will appear.
Help worm
to find food
Shaders are nothing but good news.
Firstly, without knowing anything about them, you can use them as usual nodes. Simply look in
the EX9.Effects category in the NodeBrowser. The single thing you must always remember is that
you must apply a mesh to the shader, to give it an object to visualise.
http://vvvv.org/documentation/tutorial-of-effects-and-shaders
You must apply a mesh to a shader.
As you see, a shader
usually has lots of option
Second, since vvvv has a built-in HLSL textual editor, you may edit and create original effects yourself.
Simply right-click on an effect node to open the CodeEditor window, or start your own shader by cloning
a template. Select Template (EX9.Effect) from NodeBrowser and press Ctrl-Enter to start editing a new shader.
And third, there are plenty of lovely shaders developed and shared by the community:
http://vvvv.org/contributions
29. logic
You must stop on red light,
and you can go on green.
vvvv has switch nodes which
can do this in your patches.
You can also create complex
algorithms with the boolean
category nodes.
Hard switch between Smooth morph A slightly more complex case: type
values, strings, colors,nodes between values or ‘box’ to see box insteed of teapot
colors
http://vvvv.org/documentation/logic
Classic if, else, then logic can be easly recreated with boolean nodes like OR, AND, NOT.
You can also achieve the same results
with simple value nodes like Equal
When programming sequences, interaction logic or any other more complex tasks,
you should try NOT to interweave the logic parts of your patch deep into the graphical parts of your
patch. It is generally best to have a 'central command' station where you handle all the locical states
in an abstract way, and then send only the relevant data to other places in your patch.
30. timebased logic
If processes in your patch are going to be concerned with time (like a count down from 10 to 0),
or you need timebased loops (like an animated walk or cycled rotation), or you need bangs to be
toggled for a while, then there are many nodes for that. Most of them are from the Animation category.
LFO (Animation) counts up Counter (Animation) counts MonoFlop (Animation) keeps
from 0 to 1 over a set time period. up or down on every bang. a bang for a set amount of time.
You may want to
look through all the
option pins on the
Counter node
A Quad makes a full Set was hit
spin every 1 second withing the
and will do so forever last 2 seconds
CurrentTime (Astronomy) knows what day it is now. Stopwatch (Animation) knows
how long its been running.
You may need to time
races from time to
time!
Gregorian (Astromony)
formats the time from
milliseconds to years
http://vvvv.org/documentation/timelinersa
TimelinerSA
is a very advanced
timeline.
31. loops and feedback
The basic rule to remember is:
vvvv will only evaluate all nodes in
the graph only once every frame,
so if you want to loop any data,
you'll have to wait a bit.
Single reason to wait a bit
Nodes like FrameDelay (Animation) give an output which doesn't depend on its input this frame,
but instead of the input from the last frame - this is perfectly allowed. So as soon as you have at least
one node like this in your loop, then you can 'close' the loop. Other nodes also have this property.
32. red nodes
and other bugs
Sometime you can find red nodes without pins. This can happen
(for instance) when you download contributions or features from
the forum. With red nodes vvvv, tells you that it cannot find
a specific file at a specific place. So all you need to do is find
the missing file and specify right path to it.
http://vvvv.org/documentation/paths
vvvv has nodes which help you to find problems. The first is Renderer (TTY) - it will report problems
that vvvv encounters to you, in an external text window. It's generally a good idea to place
the Renderer (TTY) node somewhere inside your patch, especially whist you are coding.
The Timing (Debug) node and PerfMeter (Debug) module can report the framerate of your system.
MainLoop (VVVV) allows you to limit the framerate that vvvv should run with.
http://vvvv.org/documentation/troubleshooting
To fix other bugs,
try to search through
the forum threads.
To highlight any
new bug that you've
found you can start
your own thread
in the forum.
You may note that
vvvv is still a beta
release.
sorry girls, idea for the
sketch comes from my
girlfriend
33. boygroup
Boygrouping
is the name for
vvvvs built-in
client-server
architecture.
It allows you
to control any
number of render
computers (i.e.
clients) from 1
or more servers.
This way, you can
do all of your Connect two or more PCs to the network via Ethernet and manually specify their IPs.
patching on
Run vvvv on the Server Run vvvv on the Clients
the server whilst
your patch runs with commandline parameter with commandline parameter
across the entire /server /client [SERVER IP]
network. vvvv.exe /server vvvv.exe /client 192.168.1.1
VVVV makes
sure that all the
connected clients
will run 'N'Sync'.
Applications Specify clients IPs Do nothing here
of boygrouping
using the Boygroup (VVVV Server) node
are usually multi-
screen systems
and seamless
multiprojection
setups.
Press Ctrl-B to make selected nodes blue Welcome to the boygroup
Grey nodes exist and still do nothing here
on the Server only
Same nodes on all Clients
Blue nodes are
duplicated onto
all the Clients
Any data in links between grey and blue nodes are sent over the network.
VVVV handles all this for you. You can Boygroup Value, String and Colour types
http://vvvv.org/documentation/boygrouping-basics
34. external protocols
vvvv has input/output nodes for
tonnes of external protocols, e.g.
TCP, UDP, DMX, MIDI, TUIO, OSC,
RS232 and so on... Thanks to the
community, you can even control
Wii, PSP, Kinect and many more
devices.
But lets start with the basics:
The Mouse (System) and Keyboard (System)
nodes recieve data from the most used
devices. In many cases, that's enough.
http://vvvv.org/documentation/io
New devices comes onto the market around the world every day. For some, you need drivers, for others
you don’t. We will just point out some nodes below. I guess you have a time to play with your device.
Thanks to the TUIO protocol you Some MIDI keyboards are cheap DMX is worldwide standard
can recieve data from many types and effective to use for life to control lights (and sometimes
of software and devices, performances sound) via a DMX network
e.g. from iPhone
Human Interface Devices are RS232 is professional standard to control various types of devices,
things like joysticks, wheels, from dvd-players and plasma sreens to giant scrapyard claws and
gamepads, touch-screens etc. factory machines. You can also use this node to talk to your Arduino.
35. girlpower
Now all you need is girlpower!
The /girlpower folder comes
with every vvvv release and
contains many demo-patches
of the main vvvv features that
were introduced over the past
years.
Exploring and tinkering with
the patches one by one inside
the girlpower folder will teach
you much than reading ever can.
/vvvv45_beta25/girlpower/
37. vvvv user interface
opening vvvv for the first time
**
Double left click on empty space inside the patch opens NodeBrowser
** Double right click on empty space inside the patch opens IOBoxes menu
* Middle click in the patch opens the Main Menu
~
Right click and drag to scrolls around inside the patch window
All the standard Windows shortcuts are the same in vvvv.
E.g. ctrl-c, ctrl-v, ctrl-s etc.
working with nodes working with links
* Left click to select
a node to change to
A tooltip appears when you hover * Left click on a pin to start a new link
your mouse over a node, this shows
NodeName (Category Subcategory)
* * Left click on a pin to end the link
Left click whilst
* Left click on a drawing a link to
node and drag make an anchor
the mouse to
move nodes
You can start new links either from output or input pins.
Whilst drawing a link, Right click to cancel the link.
* Left click on the Right click can also delete links, so be careful.
right hand side of
a node and drag
to to resize nodes Ctrl-Y with
* a selected link
select link
with left click changes the link
** Double left click draw type
on any node opens
the NodeBrowser Changing link draw type is useful to keep your patches
visually clean and readable.
You can even change connected
nodes. All pins with the same name
will keep their links.
See online UI Reference or
http://vvvv.org/documentation/ui-reference download official pdf guide
http://vvvv.org/sites/default/files/uploads/dontpanic_45beta25.pdf
38. vvvv user interface
nodes types
There are several types of nodes in vvvv. A small icon left of the node title shows you which type
a particular node is.
Subpatches and Modules right-click on these nodes to either open the subpatch in an external
These nodes contains patches inside, you can window, or hide the external window back into the node if it is already
open them and edit them like other patches opened. Ctrl-W will REMOVE the node from the parent patch
right-clicking on these nodes opens CodeEditor in an external
Dynamic Plugins window. There is the same CodeEditor for C# and HLSL - vvvv runs it
These nodes are C# plugins, you can automatically.
open and edit them in the CodeEditor You can edit code whilst your patch is running, and you can 'compile'
to apply your chages by saving the code with Ctrl-S
Effects
These nodes are HLSL shaders, you can Ctrl-W closes the CodeEditor but leaves the node inside the patch
open and edit them in CodeEditor
Nodes with external windows
Alt-1 opens an external window
These nodes have an external window, you can
Alt-2 opens the window as a block inside the patch
open it by pressing Alt-1 whilst the node is
Alt-3 hides the external window
selected
Alt-Enter forces window to be FullScreen
Native nodes without external windows
You can change the values of their input pins only,
but nothing inside the nodes
changing values
You can change values of IOBoxes or nodes pins using the mouse and keyboard.
Move your mouse over an IOBox, hold down Mouse over tooltip shows
the right mouse button and drag up-down or a pin's current value
left-right to change the value of the IOBoxes
Double left click on an IOBox to change Hold down the right mouse button on a pin
its value using keyboard input and move the mouse up-down or left-right
to change the pin values.
Editing IOBox (Color) is a bit more complex.
Right click on a pin to change its value
using keyboard input
Hold down the right mouse button on an IOBox
and move the mouse left-right to change the hue
Hold down the right mouse button on an IOBox and Middle click on a connected IOBox
move the mouse up-down to change the lightness to apply a relevant DescriptiveName
Ctrl + Hold down the right mouse button on an IOBox
and move the mouse to change the saturation
Shift + Hold down the right mouse button on an IOBox
and move the mouse to change the opacity
You can also change all these values in the Inspektor.
39. Herr Inspektor
Always keep at least one Inspektor open. ALWAYS.
To open the Inspektor. Press Ctrl-i. Then whenever you select a node, it will be shown in the Inspektor
automatically. To open another Inspektor, whilst you already have one opened, press Shift-Ctrl-i
IOBox (Value Advanced) Inspektor screenshot
Left click on "Attach
to Selection", to force
the Inspektor to Settings pins. You can
always show data for not change these in
that selected node the patch. You can see
these only in the
Settings to create an Inspektor.
IOBox which looks
and acts like a table
Right click on values
works the same as
with IOBoxes
Settings to make your
IOBox act like sliders
or button
Grey squares are for Input/Output pins. You
hidden pins can change these
Dark Grey squares values from the patch.
are for visible pins
Light Grey squares
are for invisible pins
You can change the visibility of pins A triangle shows that the pin is spreadble
by clicking on these squares A double triangle shows that the pin is already a spread
Click on an array to show the whole spread
in the right column of the Inspektor
http://vvvv.org/documentation/tutorial-inspektor
40. Herr Inspektor
Always keep at least one Inspektor open. ALWAYS.
To open the Inspektor. Press Ctrl-i. Then whenever you select a node, it will be shown in the Inspektor
automatically. To open another Inspektor, whilst you already have one opened, press Shift-Ctrl-i
Renderer (EX9) Inspektor screenshot
The settings pins of
the Renderer node
are extremly useful.
You can set any
These determine
resolution your
half of the result
graphic card
that you finally see.
supports.
Always set a depth
buffer whenever
working with 3D
scenes
Helpful in terms of
performance tricks.
The Renderer node Note that the
outputs the mouse Renderer's
position within the transfrom inputs
Renderer window. are spreadable.
You can use it
instead of the Mouse
(System Window)
node.
http://vvvv.org/documentation/tutorial-inspektor
41. CodeEditor
vvvv has a built-in textual editor for HLSL e_ects and C# plugins.
With it you can edit contributions or start working on your own plugins or shaders.
To start from scratch, find Template nodes within the NodeBrowser,
select one and press Ctrl-Enter or Ctrl-left click to clone that template into your patch.
Find Template nodes in the NodeBrowser, and clone them
into your patch using Ctrl-Enter.
Set a new name and version in the Clone Node window.
You don’t need to wory about choosing the right CodeEditor for C# or HLSL,
vvvv chooses the right one for you.
http://vvvv.org/documentation/ex9.effect.file
http://vvvv.org/documentation/plugins
42. how to read patches
Since vvvv is very visual in nature, it is much easier to read its patches than textual programming code.
To trace where things are going or where things come from, all you need to do is simply follow back
along the links. And there are more options and tricks to make exploring more comfortable.
Before you start, open an Inspektor window with Ctrl-i. Believe me, you will need it!
Most nodes have supporting help-patches. To see the help patch for a node, select the node and press F1
Select a node with left click, and
press F1 to open its help-patch
A simple trick for faster reading of other peoples patches (e.g. help-patches or /girlpower).
Try to read the patch from down to up, rather than from up to down.
As you can remember, most things in the patch finally end up in a Renderer.
The things that you see in the Renderer are the result of the whole patch.
So first, find the main Renderer (you may note, there are several renderers in
complex patches). Usually it looks something like the patch to the right
Now, just follow the link to the Renderers Layer input pin, back up from
the previous output. In most cases connected to the Renderer, you
should find a Quad(DX9), some shader node or group of both.
Feel free to play with their transfroms, color and texture pins.
All abstract mathematics usually goes into Transfrom nodes.
Don't worry too much about destroying links, since you can easily
undo changes by pressing Ctrl-Z.
In case of a subpatch, there may be no Renderer at all. But you can
actually do the same, by following from output to inputs.
To find nodes in complex patches use Finder (availble since vvvv45_beta25)
Finder has an external window, it opens with Ctrl-F
Simply click the node you want from the Finder
list, and vvvv shows it to you in the patch
43. vvvv links
http://vvvv.org/
vvvv itself. Modern and very comfortable web-site, where you will spend a lot of time.
http://vvvv.org/forums
A place to find answers to most of your questions.
http://vvvv.org/contributions
Useful and lovely stuff, developed by vvvv users.
http://vimeo.com/channels/vvvv
vvvv channel on Vimeo showcases works created by users. The place to see the power of
vvvv yourself. Much better than somebody trying to explain “the power of vvvv is...”
http://www.flickr.com/groups/vvvv/pool/
Beautiful screenshots shared by users. Most pictures are completely created with vvvv.
http://meso.net/DIProjects
MESO is a media design company from Frankfurt, Germany and single vvvv distributor.
Overview of their various installations, mostly realised with vvvv.