Want to leverage your creativity, love of board games, and web platform experience to do something different? Turn your imagination into a Print & Play card game using only a modern web browser, color printer and text editor.
This session will use the Scalable Vector Graphics (SVG) image format and JavaScript programming language to make a deck of cards for a simple game. Creating a few cards in graphics software like Inkscape is one thing, but what about 50 or 100 cards? What happens when you need to update them all? That’s the value of generating your SVG using JavaScript.
We will start with a blank screen, adding color and graphics elements like lines, shapes, text and images. Learn about container elements and defining content for re-use. Understand how units in the SVG coordinate system can transform our on-screen creation into an 8.5 by 11 inch printed page (or PDF). SVG examples will be both in their native XML format and created from JavaScript using Snap.svg, an open source library from Adobe designed for modern web browsers.
You will leave this session with a basic knowledge of SVG concepts, how to programmatically generate SVG using JavaScript, and how to make your SVG creation printer friendly.
HTML5 contains many new interesting features that make the platform a capaple development platform. Sockets, SVG, geolocation, local storage and many more are included in the platform. In this one hour session, we will look at cool implementations of 10 features of HTML5
This document provides an agenda and introduction for a training session on HTML5. It discusses HTML5 features like new elements, canvas, SVG, drag and drop, geolocation, video, audio, forms, storage and more. The trainer is Mehdi Jalal from NETLINKS for the Afghanistan Workforce Development Program. Browser support for HTML5 is still evolving as the specification is not fully complete.
This document discusses technologies for creating and maintaining web applications. It covers Ruby and the Rails framework. Ruby is designed to be programmer-focused rather than machine-focused, helping create dynamic and self-explained code. Rails enables quickly building web servers through conventions, reuse, single responsibility principles, and features that provide quick setup, deployment, and built-in scalability. The document also discusses front-end architecture with client-side logic, and Rails features for development, deployment, databases, assets, and multi-environment configuration.
1. HTML5 is a major revision to the HTML standard that is still under development and aims to be the future of the web.
2. It includes new elements like <video>, <audio>, and <canvas> that allow embedding multimedia without plugins, as well as features like geolocation.
3. The HTML5 specification is very large, covering HTML, SVG, CSS, and APIs. It aims to provide a common standard for web applications.
4. HTML5 is not just a marketing term - it represents an ongoing effort to develop a unified standard for the next generation of the web.
Code at http://people.opera.com/cmills/css3book/css3-html5-dnrmn.zip. The browser vendors love them! The browser fans and cutting edge designers are producing some really remarkable stuff, but what do HTML5 and CSS3 really mean for you, the pragmatic designer on the street? If you sidle up to one of those guys and whisper "but what about IE6 support", they are likely to slap you in the face, or run away with their hands clamped over their ears, yelling "la lala lala, I can't hear you." In this talk, Chris Mills will have a look at some of the new features of HTML5 and CSS3 - new semantics, video, media queries, rounded corners, web fonts, drop shadows and more. He will show real world examples, and then look at how they actually perform on those shady older browsers we are often called on to support. He will then look at strategies for providing support for those older browsers, including using JavaScript, fallbacks, and progressive enhancement.
JavaOne 2017, San Francisco: Talk by Mario-Leander Reimer (@LeanderReimer, Principal Software Architect at QAware).
Abstract: Use the right tool for the job! That’s the motto of this session. As modern developers, we need to master several different languages all at once to be 100% productive. We define our development environments using Gradle. We implement our software in Java, Kotlin or another suitable JVM based language. We use Groovy or Scala to test our code at different layers. We construct the build pipelines for our software using a Groovy DSL or JSON. We use YAML and Python to describe the infrastructure and the deployment for our applications. We document our architectures using AsciiDoc and Java. This code intense, polyglot session is a fun and opinionated journey into the modern era of software development.
This document provides an overview of responsive web design. It defines responsive web design as an approach that aims to provide optimal viewing experiences across different devices. It discusses the history and alternatives to responsive design. The key aspects of responsive design are then explained, including fluid grids, flexible images, CSS media queries, and using the viewport meta tag. Tools for responsive design like Bootstrap and techniques like fluid layouts are also covered. Finally, resources for further learning about responsive web design are provided.
Everything-as-code – Polyglotte Entwicklung in der Praxis
IT-Tage 2017, Frankfurt am Main: Vortrag von Mario-Leander Reimer (@LeanderReimer, Cheftechnologe bei QAware)
Abstract:
Als zeitgemäßer Entwickler muss man eine Vielzahl an Sprachen sicher beherrschen. Wir definieren unsere Entwicklungsumgebung mit Gradle, wir bauen unsere Software in Java, Kotlin und JavaScript. Wir verwenden Groovy und Scala um unsere Software zu testen. Die Build-Pipeline wird per DSL und JSON definiert. Mit YAML und Python beschreiben wir die Infrastruktur und das Deployment unserer Anwendungen. Die Dokumentation unserer Architekturen erledigen wir mit AsciiDoc und JRuby.
Use the right tool for the job! Das ist das Motto dieser Session. Jede Sprache hat Stärken in einer bestimmten Domäne. Diese Stärken gilt es zu nutzen. Aber einfach blind jede gerade angesagte Sprache oder Technologie einzusetzen, ist sicher nicht die Lösung. Dieser Vortrag führt durch die einzelnen Entwicklungs-Phasen eines Microservice und zeigt dabei einen in der Praxis erprobten, stabilen und gut integrierten polyglotten Technologie-Stack um moderne Enterprise-Applikationen schnell und einfach zu entwickeln.
Windows Phone 7 and Windows Azure – A Match Made in the Cloud
Windows Phone 7 and Windows Azure are a good match because they both provide easy and familiar development environments, connectivity through the cloud, and scalability. They are compatible in these areas. The document discusses how Windows Phone 7 and Windows Azure can be used together through features like data storage in Windows Azure tables and blobs, push notifications, and identity management with Access Control Services. It provides examples of how to integrate the platforms for storing, retrieving, and displaying data stored in the cloud.
Responsive Web design challenges Web designers to adapt a new mindset to their design and coding processes. This talk provides an overview of various practical techniques, tips and tricks that you might want to be aware of when working on a new responsive design project.
Slides for presentation at DrupalCon Munich August 2012
http://munich2012.drupal.org/program/sessions/backbonejs-frontend
Author: David Corbacho
http://corbacho.info
W3C HTML5 KIG-The complete guide to building html5 games
The document discusses building HTML5 games and provides resources on graphics libraries, physics engines, handling touch input, and gaming frameworks. It recommends libraries like EaselJS and frameworks like MelonJS and ImpactJS for HTML5 game development. Tutorials are presented on porting games to HTML5 using these tools as well as considerations for building games targeting multiple platforms like Windows 8.
SVG was first introduced on the web in 2001 and finally came around to being a practical web technology in 2011. Thanks to wide browser support and the popularity of retina screens, SVG is a powerful and flexible technology that everyone should have in their web development toolbox. In this talk, I'll tell you why should be using SVGs now and how to integrate SVGs into responsive websites, use it in iconography for resolution independence, and use JavaScript and CSS to create animations and interactive prototypes.
I gave this talk at Front Porch in Dallas, TX on October 7th. http://frontporch.io/
Engin Yağız Hatay gave a presentation on graphics and animation capabilities in web browsers. He discussed several technologies including CSS3, Canvas, SVG, and WebGL, and when each is best suited. He provided details on HTML5 Canvas capabilities and limitations. Hatay also covered browser support for these technologies and recommended several JavaScript libraries that can be used to create graphics and animations, including PaperJS, ProcessingJS, and ThreeJS. He concluded with a discussion of tools and frameworks for mobile graphics development.
This document summarizes different vector graphic options for use on the web. It discusses the differences between vector and raster graphics, and why vectors are preferable for resolution independence and smaller file sizes. It then examines SVG, Canvas, VML, and CSS3 as vector graphic options, outlining browser support, APIs, and common uses for each. While SVG is ideal theoretically, browser support is still limited, so libraries like SVG Web and Raphael.js are recommended to abstract cross-browser differences. In the end, SVG is generally better than Canvas for interactive graphics with events, while Canvas may be better for full-screen animations and games.
The document is a presentation about D3 and SVG technologies. It includes sections on networking opportunities, an interactive presentation format, polls about experience levels with D3 and SVG, examples of force-directed graphs and animated SVGs using D3, and details on implementing drag and drop as well as mouseover highlighting in a D3 visualization. The presentation source code is provided on GitHub and other examples are referenced, including alternatives to SVG. It concludes with another poll and a question and answer period.
This document discusses two technologies for creating charts directly in the browser: Canvas and SVG. Canvas uses JavaScript to manipulate pixel data and is best for fast rendering like games, while SVG uses vector-based markup that lives in the DOM, making it easier to interact with and support older browsers with VML. The document recommends SVG for charts since it allows dynamic tooltips and broad browser support without needing polyfills.
Vector graphics allow shapes to be mathematically represented and scaled smoothly, while raster graphics use a grid of pixels. SVG is an XML format for describing vector shapes and is supported natively by modern browsers. DojoX GFX provides a normalized API for creating vector graphics across browsers using SVG, VML, Canvas, or Silverlight depending on browser support. It implements a procedural subset of SVG for creating shapes and text programmatically similar to the canvas API.
HTML5DevConf 2013 (October): WebGL is a game changer!
WebGL is getting everywhere. The recent announcement from Microsoft that Internet Explorer is finally supporting WebGL is just another example of the importance that this technology is getting among web technologies. For the first time, web developers can access complex graphics features that were only available for native game development. But, what are the real advantages of WebGL over other web based games development technologies? What are the different game engines that support it? Is WebGL ready for cross-platform game development? Can only 3D games benefit from WebGL? All these questions and more will be answered in this talk full of code snippets and useful tips that will try to show that the web environment (and specially WebGL) can be great for developing successful games, and could become in a real game changer.
The Image that called me - Active Content Injection with SVG Files
Mario Heiderich gave a presentation on active content injection using SVG files. He discussed how SVG files are XML-based and support scripting, allowing execution of JavaScript. This enables security issues like XSS. Browser implementations of SVG are inconsistent, with different levels of script support depending on how SVG files are deployed (inline, via <img>, etc). Exploits discussed SVG vulnerabilities in Firefox, Opera, and Chromium. Defense is difficult due to lack of documentation and filters, and new vectors are found weekly. Future work proposed a SVG purifier and raising awareness of issues.
Today JavaScript is a ubiquitous runtime. JavaScript is everywhere - from Browser, server side, embedded device, mobile and gaming. JavaScript can be leveraged to write once and run everywhere or have a consistent programming style, and drive consistent experience across multiple channels – browser, Servers side, or Native Mobile apps.
This document provides an overview of HTML5 and related technologies. It discusses how HTML5 is more than just HTML, and covers the HTML5 specification process and components. It then provides a tour of new HTML5 features like <video>, <audio>, SVG, <canvas>, geolocation, and CSS3 specifications including borders, colors, shadows, backgrounds, fonts, media queries and transforms. The document demonstrates several of these features and provides resources for further information.
Eugene Lazutkin's keynote on DojoX GFX at SVG Open 2007.
(The seminar notes are here: http://www.slideshare.net/elazutkin/dojox-gfx-session-eugene-lazutkin-svg-open-2007/)
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
Do you want to build native mobile apps for iOS and Android? Are you a web developer? Then NativeScript is the perfect framework for you. NativeScript is an open source framework for creating native mobile apps using the skills of the web developer: JavaScript, CSS and simple tag-based markup. Create rich, high-performance iOS and Android apps with 100% native UI using many of the skills you already have.
Topics covered include:
NativeScript framework core concepts and getting started
Accessing native device capabilities with JavaScript
Building native mobile apps with Angular 2
Common app patterns (login, settings, data bound list and more)
Styling NativeScript with CSS
Targeting specific devices and screens
Debugging and deploying to devices
There has never been a better (and easier) way for web developers to create native mobile apps.
This document provides an overview of SVG (Scalable Vector Graphics) and compares it to other vector graphics technologies such as Flash, Silverlight, and HTML5 Canvas. It discusses SVG's capabilities, versions, mobile support, and tools. It also covers related topics like animation, JavaScript integration, and browser support. The future of SVG and how it compares to other technologies is explored.
This document discusses using SVG and HTML5 video for rich media advertising as an alternative to Flash. It provides a history of rich media ads and examples using Flash. The document demonstrates a prototype rich media ad created with SVG and HTML5 video that performs better than its Flash equivalent. It addresses challenges like a lack of SVG authoring tools and full browser support. The document argues that SVG is more semantic, accessible and an open standard compared to Flash or Canvas. With improved tools and browser support, SVG could become the standard for rich media ads.
SVG is often used for content, linked icons, and buttons. Learn which coding methods perform best across a variety of screen reader and browser combinations. By @DennisL
The document discusses Opera Education and provides information about university seminars, student representatives, web standards curriculum, and summer internships offered by Opera. It also provides details on how to learn more through email or their education website, which has information on internships, student programs, and forums.
Polyglot Adventures for the Modern Java Developer #javaone2017
Use the right tool for the job! That’s the motto of this session. As modern developers, we need to master several different languages all at once to be 100 percent productive. We define our development environments with Gradle. We implement our software in Java, Kotlin, or another suitable JVM-based language. We use Groovy or Scala to test our code at different layers. We construct the build pipelines for our software with a Groovy DSL or JSON. We use YAML and Python to describe the infrastructure and deployment of our applications. We document our architectures with AsciiDoc and Java. This code-intense, polyglot session is a fun and opinionated journey into the modern era of software development. #javaone2017 @JavaOneConf @qaware
All solutions implicitly have an architecture, ideally one which is both intentional and documented. The Architectural Decision Records (ADR) process distributes architectural decision-making across team members. Accelerate the time-consuming process of hand drawing diagrams by rendering from a text-based source. Communicate effectively by committing both your markdown-based ADRs and text-based diagrams into your source code repository. This talk will review these techniques, provide actionable steps to adoption, and even live-code some examples.
When it comes to cloud operations, monitoring security and visibility are critical. Integration by other systems via Cloud APIs is one of the most powerful value drivers of the hyperscale cloud providers.
In this session, we will describe Cloud State Monitoring, including why it is important and who needs awareness in your organization. An explanation of the categories of Cloud APIs (including the management plane, control plane, and data plane) will give us background. Specific use cases across AWS, Azure, and GCP will dive deep into various changes you might not have considered monitoring.
In transitioning to multi-cloud, IT organizations have the same responsibility to provide quality service and operational security yet have a much greater need to understand how to efficiently govern and manage these disparate cloud services.
In this session, we will examine some key patterns and models taken from a Cloud Adoption Framework through a multi-cloud lens. The presentation will include a mixture of high-level guidance, examples where vocabulary and terminology differ, and opinions on when to utilize cloud-agnostic vs cloud-native technologies for strategic decisions.
Attendees will leave with a better understanding of how to implement a Cloud Adoption Framework across multiple clouds and a higher level of confidence in their multi-cloud adoption plans.
Introduction to Speech Interfaces for Web Applications
Speaking with your computing device is becoming commonplace. Most of us have used Apple's Siri, Google Now, Microsoft's Cortana, or Amazon's Alexa - but how can you speak with your web application? The Web Speech API can enable a voice interface by adding both Speech Synthesis (Text to Speech) and Speech Recognition (Speech to Text) functionality.
This session will introduce the core concepts of Speech Synthesis and Speech Recognition. We will evaluate the current browser support and review alternative options. See the JavaScript code and UX design considerations required to add a speech interface to your web application. Come hear if it's as easy as it sounds?
Learning to Mod Minecraft: A Father/Daughter Retrospective
Video: https://youtu.be/InbVSEA8V0U
What do Minecraft and Blockly have in common? Minecraft is a popular, open world video game where players can build structures using digital blocks. Blockly is a open source visual programming language where students can build programs using blocks. LearnToMod combined these together to teach students how to modify Minecraft using either the Blockly visual editor or JavaScript.
This session will be the retrospective of an enthusiastic father teaching his hesitant daughter (who loves Minecraft) about programming. We started with Hour of Code and pair-programmed through LearnToMod’s video lessons. What did we create? How did we like it? What would we recommend to others? Come learn about our experience and ask questions.
The OWASP Top 10 provides a list of the 10 most critical web application security risks. How do these relate to AngularJS applications? What security vulnerabilities should developers be aware of beyond XSS and CSRF?
This session will review the OWASP Top 10 with a front-end development focus on HTML and JavaScript. It will look at patterns to implement and others to consider avoiding. We will also explore several built-in features of AngularJS that help secure your application.
The open source TodoMVC project implements a Todo application using popular JavaScript MV* frameworks. Some of the implementations add support for compile to JavaScript languages, module loaders and real time backends. This presentation will demonstrate a TodoMVC implementation which adds support for the forthcoming W3C Web Cryptography API, as well as review some key cryptographic concepts and definitions.
Instead of storing the Todo list as plaintext in localStorage, this "secure" TodoMVC implementation encrypts Todos using a password derived key. The PBKDF2 algorithm is used for the deriveKey operation, with getRandomValues generating a cryptographically random salt. The importKey method sets up usage of AES-CBC for both encrypt and decrypt operations. The final solution helps address item "A6-Sensitive Data Exposure" from the OWASP Top 10.
With the Web Cryptography API being a recommendation in 2014, any Q&A time will likely include browser implementations and limitations, and whether JavaScript cryptography adds any value.
Embracing HTTP is an important property of well constructed ReSTful and web apis. Every web developer is familiar with GET and POST, 200 and 404, Accept and Content-Type; but what about 207 and 413, OPTIONS and PROPFIND, Transfer-Encoding and X-File-Size? This session will be based on usage of various HTTP methods, headers and status codes drawn from the development of large scale, web applications. Examples will include raw HTTP, mixed in with JavaScript and ASP.NET MVC code.
Implementing Messaging Patterns in JavaScript using the OpenAjax Hub
Is your web application a tightly coupled, DOM event handler mess? Use techniques from the Enterprise Integration Patterns book to build better components. Concepts including message, publish-subscribe channel, request-reply and message filter will be demonstrated in JavaScript (along with corresponding tests) using the OpenAjax Hub.
Internationalize your JavaScript Application: Prepare for "the next billion" ...
Are you prepared for "the next billion" internet users, most of whom don't use English as their primary language? This session will explore the globalization (internationalization and localization) of JavaScript based applications. It will look at the ECMAScript Internationalization API and popular open source projects like AngularJS, messageformat.js, jQuery Globalize and twitter-cldr-js. Topics will include cultures/locales, character encoding, number formatting, date formatting, choice/plural formatting and translations.
Developer's Guide to JavaScript and Web Cryptography
The increasing capabilities and performance of the web platform allow for more feature-rich user experiences. How can JavaScript based applications utilize information security and cryptography principles? This session will explore the current state of JavaScript and Web Cryptography. We will review some basic concepts and definitions, discuss the role of TLS/SSL, show some working examples that apply cryptography to real-world use cases and take a peek at the upcoming W3C WebCryptoAPI. Code samples will use CryptoJS in the browser and the Node.js Crypto module on the server. An extended example will secure the popular TodoMVC project using PBKDF2 for key generation, HMAC for data integrity and AES for encryption.
The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.
7 Most Powerful Solar Storms in the History of Earth.pdf
Solar Storms (Geo Magnetic Storms) are the motion of accelerated charged particles in the solar environment with high velocities due to the coronal mass ejection (CME).
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
This presentation, delivered at the Postgres Bangalore (PGBLR) Meetup-2 on June 29th, 2024, dives deep into connection pooling for PostgreSQL databases. Aakash M, a PostgreSQL Tech Lead at Mydbops, explores the challenges of managing numerous connections and explains how connection pooling optimizes performance and resource utilization.
Key Takeaways:
* Understand why connection pooling is essential for high-traffic applications
* Explore various connection poolers available for PostgreSQL, including pgbouncer
* Learn the configuration options and functionalities of pgbouncer
* Discover best practices for monitoring and troubleshooting connection pooling setups
* Gain insights into real-world use cases and considerations for production environments
This presentation is ideal for:
* Database administrators (DBAs)
* Developers working with PostgreSQL
* DevOps engineers
* Anyone interested in optimizing PostgreSQL performance
Contact info@mydbops.com for PostgreSQL Managed, Consulting and Remote DBA Services
Are you interested in dipping your toes in the cloud native observability waters, but as an engineer you are not sure where to get started with tracing problems through your microservices and application landscapes on Kubernetes? Then this is the session for you, where we take you on your first steps in an active open-source project that offers a buffet of languages, challenges, and opportunities for getting started with telemetry data.
The project is called openTelemetry, but before diving into the specifics, we’ll start with de-mystifying key concepts and terms such as observability, telemetry, instrumentation, cardinality, percentile to lay a foundation. After understanding the nuts and bolts of observability and distributed traces, we’ll explore the openTelemetry community; its Special Interest Groups (SIGs), repositories, and how to become not only an end-user, but possibly a contributor.We will wrap up with an overview of the components in this project, such as the Collector, the OpenTelemetry protocol (OTLP), its APIs, and its SDKs.
Attendees will leave with an understanding of key observability concepts, become grounded in distributed tracing terminology, be aware of the components of openTelemetry, and know how to take their first steps to an open-source contribution!
Key Takeaways: Open source, vendor neutral instrumentation is an exciting new reality as the industry standardizes on openTelemetry for observability. OpenTelemetry is on a mission to enable effective observability by making high-quality, portable telemetry ubiquitous. The world of observability and monitoring today has a steep learning curve and in order to achieve ubiquity, the project would benefit from growing our contributor community.
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Presented at Gartner Data & Analytics, London Maty 2024. BT Group has used the Neo4j Graph Database to enable impressive digital transformation programs over the last 6 years. By re-imagining their operational support systems to adopt self-serve and data lead principles they have substantially reduced the number of applications and complexity of their operations. The result has been a substantial reduction in risk and costs while improving time to value, innovation, and process automation. Join this session to hear their story, the lessons they learned along the way and how their future innovation plans include the exploration of uses of EKG + Generative AI.
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Today’s digitally connected world presents a wide range of security challenges for enterprises. Insider security threats are particularly noteworthy because they have the potential to cause significant harm. Unlike external threats, insider risks originate from within the company, making them more subtle and challenging to identify. This blog aims to provide a comprehensive understanding of insider security threats, including their types, examples, effects, and mitigation techniques.
Best Practices for Effectively Running dbt in Airflow.pdf
As a popular open-source library for analytics engineering, dbt is often used in combination with Airflow. Orchestrating and executing dbt models as DAGs ensures an additional layer of control over tasks, observability, and provides a reliable, scalable environment to run dbt models.
This webinar will cover a step-by-step guide to Cosmos, an open source package from Astronomer that helps you easily run your dbt Core projects as Airflow DAGs and Task Groups, all with just a few lines of code. We’ll walk through:
- Standard ways of running dbt (and when to utilize other methods)
- How Cosmos can be used to run and visualize your dbt projects in Airflow
- Common challenges and how to address them, including performance, dependency conflicts, and more
- How running dbt projects in Airflow helps with cost optimization
Webinar given on 9 July 2024
Details of description part II: Describing images in practice - Tech Forum 2024
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
We are honored to launch and host this event for our UiPath Polish Community, with the help of our partners - Proservartner!
We certainly hope we have managed to spike your interest in the subjects to be presented and the incredible networking opportunities at hand, too!
Check out our proposed agenda below 👇👇
08:30 ☕ Welcome coffee (30')
09:00 Opening note/ Intro to UiPath Community (10')
Cristina Vidu, Global Manager, Marketing Community @UiPath
Dawid Kot, Digital Transformation Lead @Proservartner
09:10 Cloud migration - Proservartner & DOVISTA case study (30')
Marcin Drozdowski, Automation CoE Manager @DOVISTA
Pawel Kamiński, RPA developer @DOVISTA
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
09:40 From bottlenecks to breakthroughs: Citizen Development in action (25')
Pawel Poplawski, Director, Improvement and Automation @McCormick & Company
Michał Cieślak, Senior Manager, Automation Programs @McCormick & Company
10:05 Next-level bots: API integration in UiPath Studio (30')
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
10:35 ☕ Coffee Break (15')
10:50 Document Understanding with my RPA Companion (45')
Ewa Gruszka, Enterprise Sales Specialist, AI & ML @UiPath
11:35 Power up your Robots: GenAI and GPT in REFramework (45')
Krzysztof Karaszewski, Global RPA Product Manager
12:20 🍕 Lunch Break (1hr)
13:20 From Concept to Quality: UiPath Test Suite for AI-powered Knowledge Bots (30')
Kamil Miśko, UiPath MVP, Senior RPA Developer @Zurich Insurance
13:50 Communications Mining - focus on AI capabilities (30')
Thomasz Wierzbicki, Business Analyst @Office Samurai
14:20 Polish MVP panel: Insights on MVP award achievements and career profiling
Transcript: Details of description part II: Describing images in practice - T...
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and slides: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Have you noticed the OpenSSF Scorecard badges on the official Dart and Flutter repos? It's Google's way of showing that they care about security. Practices such as pinning dependencies, branch protection, required reviews, continuous integration tests etc. are measured to provide a score and accompanying badge.
You can do the same for your projects, and this presentation will show you how, with an emphasis on the unique challenges that come up when working with Dart and Flutter.
The session will provide a walkthrough of the steps involved in securing a first repository, and then what it takes to repeat that process across an organization with multiple repos. It will also look at the ongoing maintenance involved once scorecards have been implemented, and how aspects of that maintenance can be better automated to minimize toil.
Invited Remote Lecture to SC21
The International Conference for High Performance Computing, Networking, Storage, and Analysis
St. Louis, Missouri
November 18, 2021
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Slide of the tutorial entitled "Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Emerging Trends" held at UMAP'24: 32nd ACM Conference on User Modeling, Adaptation and Personalization (July 1, 2024 | Cagliari, Italy)
This document provides information about an open house hosted by SELA on November 12, 2013 about HTML5 canvas and SVG. The agenda includes an introduction to canvas shapes, states, text and shadows. It also covers SVG, comparisons of canvas and SVG, and examples of WebGL. The document provides code samples and explanations of the canvas API for drawing basic and complex shapes, applying styles, using images and text. It also discusses canvas performance and when to use canvas versus SVG.
Using Web Standards to create Interactive Data Visualizations for the Webphilogb
This document discusses using web standards to create interactive data visualizations for the web. It provides an overview of the JavaScript InfoVis Toolkit, which allows creating multiple graph and tree layouts using web standards and JavaScript. It also discusses upcoming improvements to browser engines and JavaScript that will further improve performance of interactive visualizations. Finally, it introduces WebGL and V8-GL as emerging web standards that bring hardware-accelerated 3D graphics to the web through JavaScript.
This document introduces Scalable Vector Graphics (SVG) and provides an overview of its history, capabilities, and structure. Key points include:
- SVG was developed as an open standard by the W3C to provide rich, reusable visual content for the web using XML.
- SVG allows for vector graphics that can be scaled, manipulated via scripting, styled with CSS, and more. It provides many advantages over raster graphics.
- As an XML format, SVG files are small in size, resolution-independent, and can be dynamically generated and styled on the client-side via JavaScript.
- The document outlines SVG's emergence and development timeline, its structure as an XML language, and its
HTML5 contains many new interesting features that make the platform a capaple development platform. Sockets, SVG, geolocation, local storage and many more are included in the platform. In this one hour session, we will look at cool implementations of 10 features of HTML5
This document provides an agenda and introduction for a training session on HTML5. It discusses HTML5 features like new elements, canvas, SVG, drag and drop, geolocation, video, audio, forms, storage and more. The trainer is Mehdi Jalal from NETLINKS for the Afghanistan Workforce Development Program. Browser support for HTML5 is still evolving as the specification is not fully complete.
This document discusses technologies for creating and maintaining web applications. It covers Ruby and the Rails framework. Ruby is designed to be programmer-focused rather than machine-focused, helping create dynamic and self-explained code. Rails enables quickly building web servers through conventions, reuse, single responsibility principles, and features that provide quick setup, deployment, and built-in scalability. The document also discusses front-end architecture with client-side logic, and Rails features for development, deployment, databases, assets, and multi-environment configuration.
1. HTML5 is a major revision to the HTML standard that is still under development and aims to be the future of the web.
2. It includes new elements like <video>, <audio>, and <canvas> that allow embedding multimedia without plugins, as well as features like geolocation.
3. The HTML5 specification is very large, covering HTML, SVG, CSS, and APIs. It aims to provide a common standard for web applications.
4. HTML5 is not just a marketing term - it represents an ongoing effort to develop a unified standard for the next generation of the web.
HTML5 and CSS3: does now really mean now?Chris Mills
Code at http://people.opera.com/cmills/css3book/css3-html5-dnrmn.zip. The browser vendors love them! The browser fans and cutting edge designers are producing some really remarkable stuff, but what do HTML5 and CSS3 really mean for you, the pragmatic designer on the street? If you sidle up to one of those guys and whisper "but what about IE6 support", they are likely to slap you in the face, or run away with their hands clamped over their ears, yelling "la lala lala, I can't hear you." In this talk, Chris Mills will have a look at some of the new features of HTML5 and CSS3 - new semantics, video, media queries, rounded corners, web fonts, drop shadows and more. He will show real world examples, and then look at how they actually perform on those shady older browsers we are often called on to support. He will then look at strategies for providing support for those older browsers, including using JavaScript, fallbacks, and progressive enhancement.
Polyglot Adventures for the Modern Java DeveloperQAware GmbH
JavaOne 2017, San Francisco: Talk by Mario-Leander Reimer (@LeanderReimer, Principal Software Architect at QAware).
Abstract: Use the right tool for the job! That’s the motto of this session. As modern developers, we need to master several different languages all at once to be 100% productive. We define our development environments using Gradle. We implement our software in Java, Kotlin or another suitable JVM based language. We use Groovy or Scala to test our code at different layers. We construct the build pipelines for our software using a Groovy DSL or JSON. We use YAML and Python to describe the infrastructure and the deployment for our applications. We document our architectures using AsciiDoc and Java. This code intense, polyglot session is a fun and opinionated journey into the modern era of software development.
This document provides an overview of responsive web design. It defines responsive web design as an approach that aims to provide optimal viewing experiences across different devices. It discusses the history and alternatives to responsive design. The key aspects of responsive design are then explained, including fluid grids, flexible images, CSS media queries, and using the viewport meta tag. Tools for responsive design like Bootstrap and techniques like fluid layouts are also covered. Finally, resources for further learning about responsive web design are provided.
Everything-as-code – Polyglotte Entwicklung in der PraxisQAware GmbH
IT-Tage 2017, Frankfurt am Main: Vortrag von Mario-Leander Reimer (@LeanderReimer, Cheftechnologe bei QAware)
Abstract:
Als zeitgemäßer Entwickler muss man eine Vielzahl an Sprachen sicher beherrschen. Wir definieren unsere Entwicklungsumgebung mit Gradle, wir bauen unsere Software in Java, Kotlin und JavaScript. Wir verwenden Groovy und Scala um unsere Software zu testen. Die Build-Pipeline wird per DSL und JSON definiert. Mit YAML und Python beschreiben wir die Infrastruktur und das Deployment unserer Anwendungen. Die Dokumentation unserer Architekturen erledigen wir mit AsciiDoc und JRuby.
Use the right tool for the job! Das ist das Motto dieser Session. Jede Sprache hat Stärken in einer bestimmten Domäne. Diese Stärken gilt es zu nutzen. Aber einfach blind jede gerade angesagte Sprache oder Technologie einzusetzen, ist sicher nicht die Lösung. Dieser Vortrag führt durch die einzelnen Entwicklungs-Phasen eines Microservice und zeigt dabei einen in der Praxis erprobten, stabilen und gut integrierten polyglotten Technologie-Stack um moderne Enterprise-Applikationen schnell und einfach zu entwickeln.
Windows Phone 7 and Windows Azure – A Match Made in the CloudMichael Collier
Windows Phone 7 and Windows Azure are a good match because they both provide easy and familiar development environments, connectivity through the cloud, and scalability. They are compatible in these areas. The document discusses how Windows Phone 7 and Windows Azure can be used together through features like data storage in Windows Azure tables and blobs, push notifications, and identity management with Access Control Services. It provides examples of how to integrate the platforms for storing, retrieving, and displaying data stored in the cloud.
Responsive Web Design: Clever Tips and TechniquesVitaly Friedman
Responsive Web design challenges Web designers to adapt a new mindset to their design and coding processes. This talk provides an overview of various practical techniques, tips and tricks that you might want to be aware of when working on a new responsive design project.
Slides for presentation at DrupalCon Munich August 2012
http://munich2012.drupal.org/program/sessions/backbonejs-frontend
Author: David Corbacho
http://corbacho.info
W3C HTML5 KIG-The complete guide to building html5 gamesChanghwan Yi
The document discusses building HTML5 games and provides resources on graphics libraries, physics engines, handling touch input, and gaming frameworks. It recommends libraries like EaselJS and frameworks like MelonJS and ImpactJS for HTML5 game development. Tutorials are presented on porting games to HTML5 using these tools as well as considerations for building games targeting multiple platforms like Windows 8.
SVG was first introduced on the web in 2001 and finally came around to being a practical web technology in 2011. Thanks to wide browser support and the popularity of retina screens, SVG is a powerful and flexible technology that everyone should have in their web development toolbox. In this talk, I'll tell you why should be using SVGs now and how to integrate SVGs into responsive websites, use it in iconography for resolution independence, and use JavaScript and CSS to create animations and interactive prototypes.
I gave this talk at Front Porch in Dallas, TX on October 7th. http://frontporch.io/
Engin Yağız Hatay gave a presentation on graphics and animation capabilities in web browsers. He discussed several technologies including CSS3, Canvas, SVG, and WebGL, and when each is best suited. He provided details on HTML5 Canvas capabilities and limitations. Hatay also covered browser support for these technologies and recommended several JavaScript libraries that can be used to create graphics and animations, including PaperJS, ProcessingJS, and ThreeJS. He concluded with a discussion of tools and frameworks for mobile graphics development.
Vector Graphics on the Web: SVG, Canvas, CSS3Pascal Rettig
This document summarizes different vector graphic options for use on the web. It discusses the differences between vector and raster graphics, and why vectors are preferable for resolution independence and smaller file sizes. It then examines SVG, Canvas, VML, and CSS3 as vector graphic options, outlining browser support, APIs, and common uses for each. While SVG is ideal theoretically, browser support is still limited, so libraries like SVG Web and Raphael.js are recommended to abstract cross-browser differences. In the end, SVG is generally better than Canvas for interactive graphics with events, while Canvas may be better for full-screen animations and games.
The document is a presentation about D3 and SVG technologies. It includes sections on networking opportunities, an interactive presentation format, polls about experience levels with D3 and SVG, examples of force-directed graphs and animated SVGs using D3, and details on implementing drag and drop as well as mouseover highlighting in a D3 visualization. The presentation source code is provided on GitHub and other examples are referenced, including alternatives to SVG. It concludes with another poll and a question and answer period.
This document discusses two technologies for creating charts directly in the browser: Canvas and SVG. Canvas uses JavaScript to manipulate pixel data and is best for fast rendering like games, while SVG uses vector-based markup that lives in the DOM, making it easier to interact with and support older browsers with VML. The document recommends SVG for charts since it allows dynamic tooltips and broad browser support without needing polyfills.
Vector graphics allow shapes to be mathematically represented and scaled smoothly, while raster graphics use a grid of pixels. SVG is an XML format for describing vector shapes and is supported natively by modern browsers. DojoX GFX provides a normalized API for creating vector graphics across browsers using SVG, VML, Canvas, or Silverlight depending on browser support. It implements a procedural subset of SVG for creating shapes and text programmatically similar to the canvas API.
HTML5DevConf 2013 (October): WebGL is a game changer!Iker Jamardo
WebGL is getting everywhere. The recent announcement from Microsoft that Internet Explorer is finally supporting WebGL is just another example of the importance that this technology is getting among web technologies. For the first time, web developers can access complex graphics features that were only available for native game development. But, what are the real advantages of WebGL over other web based games development technologies? What are the different game engines that support it? Is WebGL ready for cross-platform game development? Can only 3D games benefit from WebGL? All these questions and more will be answered in this talk full of code snippets and useful tips that will try to show that the web environment (and specially WebGL) can be great for developing successful games, and could become in a real game changer.
The Image that called me - Active Content Injection with SVG FilesMario Heiderich
Mario Heiderich gave a presentation on active content injection using SVG files. He discussed how SVG files are XML-based and support scripting, allowing execution of JavaScript. This enables security issues like XSS. Browser implementations of SVG are inconsistent, with different levels of script support depending on how SVG files are deployed (inline, via <img>, etc). Exploits discussed SVG vulnerabilities in Firefox, Opera, and Chromium. Defense is difficult due to lack of documentation and filters, and new vectors are found weekly. Future work proposed a SVG purifier and raising awareness of issues.
Universal Applications with Universal JavaScriptThomas Joseph
Today JavaScript is a ubiquitous runtime. JavaScript is everywhere - from Browser, server side, embedded device, mobile and gaming. JavaScript can be leveraged to write once and run everywhere or have a consistent programming style, and drive consistent experience across multiple channels – browser, Servers side, or Native Mobile apps.
This document provides an overview of HTML5 and related technologies. It discusses how HTML5 is more than just HTML, and covers the HTML5 specification process and components. It then provides a tour of new HTML5 features like <video>, <audio>, SVG, <canvas>, geolocation, and CSS3 specifications including borders, colors, shadows, backgrounds, fonts, media queries and transforms. The document demonstrates several of these features and provides resources for further information.
DojoX GFX Keynote Eugene Lazutkin SVG Open 2007Eugene Lazutkin
Eugene Lazutkin's keynote on DojoX GFX at SVG Open 2007.
(The seminar notes are here: http://www.slideshare.net/elazutkin/dojox-gfx-session-eugene-lazutkin-svg-open-2007/)
NativeScript: Cross-Platform Mobile Apps with JavaScript and AngularTodd Anglin
Do you want to build native mobile apps for iOS and Android? Are you a web developer? Then NativeScript is the perfect framework for you. NativeScript is an open source framework for creating native mobile apps using the skills of the web developer: JavaScript, CSS and simple tag-based markup. Create rich, high-performance iOS and Android apps with 100% native UI using many of the skills you already have.
Topics covered include:
NativeScript framework core concepts and getting started
Accessing native device capabilities with JavaScript
Building native mobile apps with Angular 2
Common app patterns (login, settings, data bound list and more)
Styling NativeScript with CSS
Targeting specific devices and screens
Debugging and deploying to devices
There has never been a better (and easier) way for web developers to create native mobile apps.
This document provides an overview of SVG (Scalable Vector Graphics) and compares it to other vector graphics technologies such as Flash, Silverlight, and HTML5 Canvas. It discusses SVG's capabilities, versions, mobile support, and tools. It also covers related topics like animation, JavaScript integration, and browser support. The future of SVG and how it compares to other technologies is explored.
This document discusses using SVG and HTML5 video for rich media advertising as an alternative to Flash. It provides a history of rich media ads and examples using Flash. The document demonstrates a prototype rich media ad created with SVG and HTML5 video that performs better than its Flash equivalent. It addresses challenges like a lack of SVG authoring tools and full browser support. The document argues that SVG is more semantic, accessible and an open standard compared to Flash or Canvas. With improved tools and browser support, SVG could become the standard for rich media ads.
SVG is often used for content, linked icons, and buttons. Learn which coding methods perform best across a variety of screen reader and browser combinations. By @DennisL
The document discusses Opera Education and provides information about university seminars, student representatives, web standards curriculum, and summer internships offered by Opera. It also provides details on how to learn more through email or their education website, which has information on internships, student programs, and forums.
Polyglot Adventures for the Modern Java Developer #javaone2017Mario-Leander Reimer
Use the right tool for the job! That’s the motto of this session. As modern developers, we need to master several different languages all at once to be 100 percent productive. We define our development environments with Gradle. We implement our software in Java, Kotlin, or another suitable JVM-based language. We use Groovy or Scala to test our code at different layers. We construct the build pipelines for our software with a Groovy DSL or JSON. We use YAML and Python to describe the infrastructure and deployment of our applications. We document our architectures with AsciiDoc and Java. This code-intense, polyglot session is a fun and opinionated journey into the modern era of software development. #javaone2017 @JavaOneConf @qaware
Similar to Make your own Print & Play card game using SVG and JavaScript (20)
Sharpen your "Architectural Documentation" SawKevin Hakanson
All solutions implicitly have an architecture, ideally one which is both intentional and documented. The Architectural Decision Records (ADR) process distributes architectural decision-making across team members. Accelerate the time-consuming process of hand drawing diagrams by rendering from a text-based source. Communicate effectively by committing both your markdown-based ADRs and text-based diagrams into your source code repository. This talk will review these techniques, provide actionable steps to adoption, and even live-code some examples.
Who's in your Cloud? Cloud State MonitoringKevin Hakanson
When it comes to cloud operations, monitoring security and visibility are critical. Integration by other systems via Cloud APIs is one of the most powerful value drivers of the hyperscale cloud providers.
In this session, we will describe Cloud State Monitoring, including why it is important and who needs awareness in your organization. An explanation of the categories of Cloud APIs (including the management plane, control plane, and data plane) will give us background. Specific use cases across AWS, Azure, and GCP will dive deep into various changes you might not have considered monitoring.
Adopting Multi-Cloud Services with ConfidenceKevin Hakanson
In transitioning to multi-cloud, IT organizations have the same responsibility to provide quality service and operational security yet have a much greater need to understand how to efficiently govern and manage these disparate cloud services.
In this session, we will examine some key patterns and models taken from a Cloud Adoption Framework through a multi-cloud lens. The presentation will include a mixture of high-level guidance, examples where vocabulary and terminology differ, and opinions on when to utilize cloud-agnostic vs cloud-native technologies for strategic decisions.
Attendees will leave with a better understanding of how to implement a Cloud Adoption Framework across multiple clouds and a higher level of confidence in their multi-cloud adoption plans.
Introduction to Speech Interfaces for Web ApplicationsKevin Hakanson
Speaking with your computing device is becoming commonplace. Most of us have used Apple's Siri, Google Now, Microsoft's Cortana, or Amazon's Alexa - but how can you speak with your web application? The Web Speech API can enable a voice interface by adding both Speech Synthesis (Text to Speech) and Speech Recognition (Speech to Text) functionality.
This session will introduce the core concepts of Speech Synthesis and Speech Recognition. We will evaluate the current browser support and review alternative options. See the JavaScript code and UX design considerations required to add a speech interface to your web application. Come hear if it's as easy as it sounds?
Learning to Mod Minecraft: A Father/Daughter RetrospectiveKevin Hakanson
Video: https://youtu.be/InbVSEA8V0U
What do Minecraft and Blockly have in common? Minecraft is a popular, open world video game where players can build structures using digital blocks. Blockly is a open source visual programming language where students can build programs using blocks. LearnToMod combined these together to teach students how to modify Minecraft using either the Blockly visual editor or JavaScript.
This session will be the retrospective of an enthusiastic father teaching his hesitant daughter (who loves Minecraft) about programming. We started with Hour of Code and pair-programmed through LearnToMod’s video lessons. What did we create? How did we like it? What would we recommend to others? Come learn about our experience and ask questions.
ng-owasp: OWASP Top 10 for AngularJS ApplicationsKevin Hakanson
The OWASP Top 10 provides a list of the 10 most critical web application security risks. How do these relate to AngularJS applications? What security vulnerabilities should developers be aware of beyond XSS and CSRF?
This session will review the OWASP Top 10 with a front-end development focus on HTML and JavaScript. It will look at patterns to implement and others to consider avoiding. We will also explore several built-in features of AngularJS that help secure your application.
Securing TodoMVC Using the Web Cryptography APIKevin Hakanson
The open source TodoMVC project implements a Todo application using popular JavaScript MV* frameworks. Some of the implementations add support for compile to JavaScript languages, module loaders and real time backends. This presentation will demonstrate a TodoMVC implementation which adds support for the forthcoming W3C Web Cryptography API, as well as review some key cryptographic concepts and definitions.
Instead of storing the Todo list as plaintext in localStorage, this "secure" TodoMVC implementation encrypts Todos using a password derived key. The PBKDF2 algorithm is used for the deriveKey operation, with getRandomValues generating a cryptographically random salt. The importKey method sets up usage of AES-CBC for both encrypt and decrypt operations. The final solution helps address item "A6-Sensitive Data Exposure" from the OWASP Top 10.
With the Web Cryptography API being a recommendation in 2014, any Q&A time will likely include browser implementations and limitations, and whether JavaScript cryptography adds any value.
Embracing HTTP is an important property of well constructed ReSTful and web apis. Every web developer is familiar with GET and POST, 200 and 404, Accept and Content-Type; but what about 207 and 413, OPTIONS and PROPFIND, Transfer-Encoding and X-File-Size? This session will be based on usage of various HTTP methods, headers and status codes drawn from the development of large scale, web applications. Examples will include raw HTTP, mixed in with JavaScript and ASP.NET MVC code.
Implementing Messaging Patterns in JavaScript using the OpenAjax HubKevin Hakanson
Is your web application a tightly coupled, DOM event handler mess? Use techniques from the Enterprise Integration Patterns book to build better components. Concepts including message, publish-subscribe channel, request-reply and message filter will be demonstrated in JavaScript (along with corresponding tests) using the OpenAjax Hub.
Internationalize your JavaScript Application: Prepare for "the next billion" ...Kevin Hakanson
Are you prepared for "the next billion" internet users, most of whom don't use English as their primary language? This session will explore the globalization (internationalization and localization) of JavaScript based applications. It will look at the ECMAScript Internationalization API and popular open source projects like AngularJS, messageformat.js, jQuery Globalize and twitter-cldr-js. Topics will include cultures/locales, character encoding, number formatting, date formatting, choice/plural formatting and translations.
Developer's Guide to JavaScript and Web CryptographyKevin Hakanson
The increasing capabilities and performance of the web platform allow for more feature-rich user experiences. How can JavaScript based applications utilize information security and cryptography principles? This session will explore the current state of JavaScript and Web Cryptography. We will review some basic concepts and definitions, discuss the role of TLS/SSL, show some working examples that apply cryptography to real-world use cases and take a peek at the upcoming W3C WebCryptoAPI. Code samples will use CryptoJS in the browser and the Node.js Crypto module on the server. An extended example will secure the popular TodoMVC project using PBKDF2 for key generation, HMAC for data integrity and AES for encryption.
The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.
7 Most Powerful Solar Storms in the History of Earth.pdfEnterprise Wired
Solar Storms (Geo Magnetic Storms) are the motion of accelerated charged particles in the solar environment with high velocities due to the coronal mass ejection (CME).
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsMydbops
This presentation, delivered at the Postgres Bangalore (PGBLR) Meetup-2 on June 29th, 2024, dives deep into connection pooling for PostgreSQL databases. Aakash M, a PostgreSQL Tech Lead at Mydbops, explores the challenges of managing numerous connections and explains how connection pooling optimizes performance and resource utilization.
Key Takeaways:
* Understand why connection pooling is essential for high-traffic applications
* Explore various connection poolers available for PostgreSQL, including pgbouncer
* Learn the configuration options and functionalities of pgbouncer
* Discover best practices for monitoring and troubleshooting connection pooling setups
* Gain insights into real-world use cases and considerations for production environments
This presentation is ideal for:
* Database administrators (DBAs)
* Developers working with PostgreSQL
* DevOps engineers
* Anyone interested in optimizing PostgreSQL performance
Contact info@mydbops.com for PostgreSQL Managed, Consulting and Remote DBA Services
Are you interested in dipping your toes in the cloud native observability waters, but as an engineer you are not sure where to get started with tracing problems through your microservices and application landscapes on Kubernetes? Then this is the session for you, where we take you on your first steps in an active open-source project that offers a buffet of languages, challenges, and opportunities for getting started with telemetry data.
The project is called openTelemetry, but before diving into the specifics, we’ll start with de-mystifying key concepts and terms such as observability, telemetry, instrumentation, cardinality, percentile to lay a foundation. After understanding the nuts and bolts of observability and distributed traces, we’ll explore the openTelemetry community; its Special Interest Groups (SIGs), repositories, and how to become not only an end-user, but possibly a contributor.We will wrap up with an overview of the components in this project, such as the Collector, the OpenTelemetry protocol (OTLP), its APIs, and its SDKs.
Attendees will leave with an understanding of key observability concepts, become grounded in distributed tracing terminology, be aware of the components of openTelemetry, and know how to take their first steps to an open-source contribution!
Key Takeaways: Open source, vendor neutral instrumentation is an exciting new reality as the industry standardizes on openTelemetry for observability. OpenTelemetry is on a mission to enable effective observability by making high-quality, portable telemetry ubiquitous. The world of observability and monitoring today has a steep learning curve and in order to achieve ubiquity, the project would benefit from growing our contributor community.
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfNeo4j
Presented at Gartner Data & Analytics, London Maty 2024. BT Group has used the Neo4j Graph Database to enable impressive digital transformation programs over the last 6 years. By re-imagining their operational support systems to adopt self-serve and data lead principles they have substantially reduced the number of applications and complexity of their operations. The result has been a substantial reduction in risk and costs while improving time to value, innovation, and process automation. Join this session to hear their story, the lessons they learned along the way and how their future innovation plans include the exploration of uses of EKG + Generative AI.
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Bert Blevins
Today’s digitally connected world presents a wide range of security challenges for enterprises. Insider security threats are particularly noteworthy because they have the potential to cause significant harm. Unlike external threats, insider risks originate from within the company, making them more subtle and challenging to identify. This blog aims to provide a comprehensive understanding of insider security threats, including their types, examples, effects, and mitigation techniques.
Best Practices for Effectively Running dbt in Airflow.pdfTatiana Al-Chueyr
As a popular open-source library for analytics engineering, dbt is often used in combination with Airflow. Orchestrating and executing dbt models as DAGs ensures an additional layer of control over tasks, observability, and provides a reliable, scalable environment to run dbt models.
This webinar will cover a step-by-step guide to Cosmos, an open source package from Astronomer that helps you easily run your dbt Core projects as Airflow DAGs and Task Groups, all with just a few lines of code. We’ll walk through:
- Standard ways of running dbt (and when to utilize other methods)
- How Cosmos can be used to run and visualize your dbt projects in Airflow
- Common challenges and how to address them, including performance, dependency conflicts, and more
- How running dbt projects in Airflow helps with cost optimization
Webinar given on 9 July 2024
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
UiPath Community Day Kraków: Devs4Devs ConferenceUiPathCommunity
We are honored to launch and host this event for our UiPath Polish Community, with the help of our partners - Proservartner!
We certainly hope we have managed to spike your interest in the subjects to be presented and the incredible networking opportunities at hand, too!
Check out our proposed agenda below 👇👇
08:30 ☕ Welcome coffee (30')
09:00 Opening note/ Intro to UiPath Community (10')
Cristina Vidu, Global Manager, Marketing Community @UiPath
Dawid Kot, Digital Transformation Lead @Proservartner
09:10 Cloud migration - Proservartner & DOVISTA case study (30')
Marcin Drozdowski, Automation CoE Manager @DOVISTA
Pawel Kamiński, RPA developer @DOVISTA
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
09:40 From bottlenecks to breakthroughs: Citizen Development in action (25')
Pawel Poplawski, Director, Improvement and Automation @McCormick & Company
Michał Cieślak, Senior Manager, Automation Programs @McCormick & Company
10:05 Next-level bots: API integration in UiPath Studio (30')
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
10:35 ☕ Coffee Break (15')
10:50 Document Understanding with my RPA Companion (45')
Ewa Gruszka, Enterprise Sales Specialist, AI & ML @UiPath
11:35 Power up your Robots: GenAI and GPT in REFramework (45')
Krzysztof Karaszewski, Global RPA Product Manager
12:20 🍕 Lunch Break (1hr)
13:20 From Concept to Quality: UiPath Test Suite for AI-powered Knowledge Bots (30')
Kamil Miśko, UiPath MVP, Senior RPA Developer @Zurich Insurance
13:50 Communications Mining - focus on AI capabilities (30')
Thomasz Wierzbicki, Business Analyst @Office Samurai
14:20 Polish MVP panel: Insights on MVP award achievements and career profiling
Transcript: Details of description part II: Describing images in practice - T...BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and slides: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Chris Swan
Have you noticed the OpenSSF Scorecard badges on the official Dart and Flutter repos? It's Google's way of showing that they care about security. Practices such as pinning dependencies, branch protection, required reviews, continuous integration tests etc. are measured to provide a score and accompanying badge.
You can do the same for your projects, and this presentation will show you how, with an emphasis on the unique challenges that come up when working with Dart and Flutter.
The session will provide a walkthrough of the steps involved in securing a first repository, and then what it takes to repeat that process across an organization with multiple repos. It will also look at the ongoing maintenance involved once scorecards have been implemented, and how aspects of that maintenance can be better automated to minimize toil.
The Rise of Supernetwork Data Intensive ComputingLarry Smarr
Invited Remote Lecture to SC21
The International Conference for High Performance Computing, Networking, Storage, and Analysis
St. Louis, Missouri
November 18, 2021
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Erasmo Purificato
Slide of the tutorial entitled "Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Emerging Trends" held at UMAP'24: 32nd ACM Conference on User Modeling, Adaptation and Personalization (July 1, 2024 | Cagliari, Italy)
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Make your own Print & Play card game using SVG and JavaScript
1. Make
your
own
Print
&
Play
card
game
using
SVG
and
JavaScript
Kevin
Hakanson
5
April
2014
2. Abstract
Want
to
leverage
your
creaDvity,
love
of
board
games,
and
web
plaGorm
experience
to
do
something
different?
Turn
your
imaginaDon
into
a
Print
&
Play
card
game
using
only
a
modern
web
browser,
color
printer
and
text
editor.
This
session
will
use
the
Scalable
Vector
Graphics
(SVG)
image
format
and
JavaScript
programming
language
to
make
a
deck
of
cards
for
a
simple
game.
CreaDng
a
few
cards
in
graphics
soSware
like
Inkscape
is
one
thing,
but
what
about
50
or
100
cards?
What
happens
when
you
need
to
update
them
all?
That’s
the
value
of
generaDng
your
SVG
using
JavaScript.
We
will
start
with
a
blank
screen,
adding
color
and
graphics
elements
like
lines,
shapes,
text
and
images.
Learn
about
container
elements
and
defining
content
for
re-‐use.
Understand
how
units
in
the
SVG
coordinate
system
can
transform
our
on-‐screen
creaDon
into
an
8.5
by
11
inch
printed
page
(or
PDF).
SVG
examples
will
be
both
in
their
naDve
XML
format
and
created
from
JavaScript
using
Snap.svg,
an
open
source
library
from
Adobe
designed
for
modern
web
browsers.
You
will
leave
this
session
with
a
basic
knowledge
of
SVG
concepts,
how
to
programmaDcally
generate
SVG
using
JavaScript,
and
how
to
make
your
SVG
creaDon
printer
friendly.
3. TL;DR
• Print
&
Play
Card
Game
– Scalable
Vector
Graphics
(SVG)
– JavaScript
– Snap.svg
– 8.5
by
11
PrinDng
4. Kevin
Hakanson
@hakanson
#tccc16
kevin.hakanson@gmail.com
+KevinHakanson
hep://stackoverflow.com/users/22514/kevin-‐hakanson
heps://github.com/hakanson
5. Bio
Kevin
Hakanson
is
an
applicaDon
architect
for
Thomson
Reuters
where
he
is
focused
on
highly
scalable
web
applicaDons,
especially
the
JavaScript
and
security
aspects.
His
background
includes
both
.NET
and
Java,
but
he
is
most
nostalgic
about
Lotus
Notes.
He
has
been
developing
professionally
since
1994
and
holds
a
Master’s
degree
in
SoSware
Engineering.
When
not
staring
at
a
computer
screen,
he
is
probably
staring
at
another
screen,
either
watching
TV
or
playing
video
games
with
his
family.
6. Bio
Kevin
Hakanson
is
an
applicaDon
architect
for
Thomson
Reuters
where
he
is
focused
on
highly
scalable
web
applicaDons,
especially
the
JavaScript
and
security
aspects.
His
background
includes
both
.NET
and
Java,
but
he
is
most
nostalgic
about
Lotus
Notes.
He
has
been
developing
professionally
since
1994
and
holds
a
Master’s
degree
in
SoSware
Engineering.
When
not
staring
at
a
computer
screen,
he
is
probably
staring
at
another
screen,
either
watching
TV
or
playing
video
games
with
his
family.
13. Fluxx
Blanxx
• Add
your
own
zany
ideas
• Each
pack
contains
one
of
each
of
the
five
card
types
• Cards
are
"halfway-‐blank"
with
standard-‐issue
text
and
the
stripe
of
color
• Just
grab
your
trusty
permanent
marker
and
customize
the
fun!
hep://store.looneylabs.com/Fluxx-‐Blanxx
14. Print
&
Play
• “Print
&
Play
games
are
those
which
are
oSen
free
to
any
player
who
wishes
to
print
them
off
themselves.
Many
are
available
on
the
Internet.”
– hep://boardgamegeek.com/boardgamecategory/1120/print-‐play
• Print
&
Play
games
Boardgamegeek
wiki
entry:
– hep://boardgamegeek.com/wiki/page/Print_and_Play_Games
15. Azure
Fluxx
• Version
of
Fluxx
based
in
the
Window
Azure
“universe”:
– SoSware
Development
– MicrosoS
Products
– Web
Technologies
16. Fair
Use?
• Fluxx
Copyright
Looney
Labs
• Same
card
types
• Same
basic
gameplay
and
rules
wording
• Similar,
but
not
exact,
colors
and
artwork
• Different
fonts
• Different
physical
card
size
and
deck
count
18. Goals
and
Keepers
• Goals
– Old
School
– New
School
– Single
Page
App
– Polyglot
– Web
PlaGorm
– Tool
Master
– .NET
PlaGorm
– Entry
Level
– Mistaken
IdenDty
– Selectors
– Transpile
– Odd
Couple
– Double
MVC
– Intellisense
– Edge.js
– UI
Bootstrap
• Keepers
19. Scalable
Vector
Graphics
(SVG)
• Text-‐based
graphics
language
that
describes
images
with
vector
shapes,
text,
and
embedded
raster
graphics.
• SVG
files
provide
resoluDon
independent,
high
resoluDon
dots
per
inch
(HiDPI)
graphics
on
the
web,
in
print,
and
on
mobile
devices
in
a
compact
format.
hep://www.adobe.com/devnet/svg.html
20. SVG
EssenDals
“This
insighGul
book
takes
you
through
the
ins
and
outs
of
SVG,
from
the
basics
to
more
complicated
features.”
hep://commons.oreilly.com/wiki/index.php/SVG_EssenDals
21. SVG
Primer
“The
book
aeempts
to
discuss
SVG
in
broader
terms,
but
at
the
same
Dme
to
illustrate
how
one
can
write
JavaScript
programs
that
use
and
manipulate
SVG.”
hep://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html
22. Snap.svg
“the
JavaScript
SVG
library
for
the
modern
web”
“makes
working
with
your
SVG
assets
as
easy
as
jQuery
makes
working
with
the
DOM”
hep://snapsvg.io/
23. The
svg
Element
• <svg>
is
both
root
element
and
used
to
nest
standalone
SVG
fragments
• Each
standalone
fragment
has
its
own
viewPort
and
coordinate
system
24. <svg>
XML
Example
<svg
width="8.5in"
height="11in"
viewBox="0
0
215.9
279.4"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
</svg>
25. <svg>
JavaScript
Example
var
svg
=
Snap("8.5in",
(pageCount*11)+"in")
.attr({id:"SnapDeck",
style:"display:
block;"});
var
pageAttr
=
{
width:"8.5in",
height:"11in",
"viewBox"
:
"0
0
215.9
279.4"};
for
(pageIndex
=
1;
pageIndex<=pageCount;
pageIndex++)
{
page
=
svg.el("svg",
pageAttr)
.attr({
id
:
"SnapDeckPage"+pageIndex,
y
:
((pageIndex-‐1)*11)+"in"
});
}
27. Grouping
and
Reusing
“The
<use>
(reuse)
and
<g>
(or
group)
tags
bear
similarity
to
the
variables
and
objects
encountered
in
programming
languages.”
hep://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html#operaDons
28. The
g
Element
• Gathers
child
elements
into
a
group
• Uses
id
aeribute
to
give
a
unique
name
• Can
have
<title>
and
<desc>
• Styles
apply
to
child
elements
• Can
nest
groups
within
one
another
29. <g>
XML
Example
<g
id="plus"
opacity=".4"
stroke="black"
stroke-‐width="0.1">
<path
d="M
-‐3
0
H
3
M
0
-‐3
V
3"
/>
</g>
30. The
defs
Element
• Puxng
grouped
objects
inside
of
<defs>
tells
SVG
to
define
them
without
displaying
them
• SVG
recommendaDon
is
to
put
all
objects
intended
for
re-‐use
inside
<defs>
31. <defs>
JavaScript
Example
var
plus
=
svg.g(
svg.path("M
-‐3
0
H
3
M
0
-‐3
V
3")
);
plus.attr({id:"plus",
opacity:"0.4",
stroke:"black",
"stroke-‐width":"0.1"});
plus.toDefs();
32. The
symbol
Element
• <symbol>
element
provides
another
way
of
grouping
elements
• Never
displayed,
so
don't
have
to
enclose
it
in
<defs>
but
customary
to
do
so
• <symbol>
can
specify
viewBox
and
preserveAspectRatio
aeributes
33. The
use
Element
• “copy-‐and-‐paste”
of
a
defined
group
• Specify
with
an
xlink:href
aeribute
• Specify
the
x
and
y
locaDon
for
the
group's
(0,
0)
point
41. The
rect
Element
• Specify
x-‐
and
y-‐coordinates
of
the
upper
leS
corner,
width,
and
height
–
x,
y,
width
and
height
aeributes
• Interior
is
filled
with
a
fill
color
(default
black)
• Outline
is
drawn
with
strokes
(default
none)
<rect
x="0"
y="0"
width="10"
height="10"
fill="black"/>
42. The
circle
Element
• Specify
center
x-‐coordinate,
center
y-‐
coordinate,
and
radius
–
cx,
cy,
and
r
aeributes
• Interior
is
filled
with
a
fill
color
(default
black)
• Outline
is
drawn
with
strokes
(default
none)
<circle
cx="5"
cy="5"
r="3.5"
fill="white"
stroke-‐width="0"
/>
43. The
ellipse
Element
• Like
<circle>,
specify
center
x-‐coordinate,
center
y-‐coordinate
• Also
needs
an
x-‐radius
and
a
y-‐radius
– aeributes
for
these
radii
are
named
rx
and
ry
<ellipse
cx="4"
cy="4"
rx="0.25"
ry="0.5"
/>
44. The
line
Element
• Specify
the
x-‐
and
y-‐coordinates
of
the
line's
endpoints
–
x1,
y1,
x2
and
x2
aeributes
45. The
path
Element
• Draws
the
outline
of
any
arbitrary
shape
by
specifying
a
series
of
connected
lines,
arcs,
and
curves
• Must
begin
with
a
moveto
command
• Followed
by
one
or
more
lineto
commands
• Arc
draws
a
secDon
of
an
ellipse
that
connects
two
points
<path
fill="none"
stroke-‐linecap="round"
d="M
3.5
6.75
a
1.5,1.5
0
1
1
3
0"
/>
56. <rect
x="0"
y="0"
width="10"
height="10"
fill="skyblue"
/>
<g
id="arrow"
stroke="black"
stroke-‐width="0.5">
<path
fill="black"
d="M
5.5
2
l
.5
0
l
3
3
l
-‐3
3
l
-‐0.5
0
l
0
-‐1.5
l
-‐4
0
l
0
-‐3
l
4
0
Z"
/>
<path
stroke-‐linejoin="round"
fill="skyblue"
d="M
6
2
l
3
3
l
-‐3
3
l
0
-‐1.5
l
-‐4
0
l
0
-‐3
l
4
0
Z"
/>
</g>
57. <rect
x="0"
y="0"
width="10"
height="10"
fill="mediumpurple"
/>
<g
id="bolt"
stroke="black"
stroke-‐width="0.5">
<path
fill="white"
d="M
5
1
l
-‐3
3
l
2
0
l
-‐2
2
l
2
0
l
-‐2
3
l
5
-‐4
l
-‐2
0
l
2
-‐2
l
-‐2
0
l
2
-‐2
Z"
/>
</g>
62. The
text
Element
• <text>
requires
only
two
aeributes,
x
and
y
• Default
style
is
to
have
a
fill
color
of
black
and
no
outline
• font-‐family,
font-‐size,
font-‐weight,
font-‐style,
text-‐decoraDon,
word-‐spacing,
leeer-‐spacing
• “SVG
performs
no
automaDc
line
breaking
or
word
wrapping”
hep://www.w3.org/TR/SVG11/text.html#IntroducDon
63. <text>
XML
Example
<g
text-‐anchor="start"
font-‐size="3.5"
letter-‐spacing="-‐0.05">
<text
x="15"
y="18">To
play
this
card,
place
it
face</text>
<text
x="15"
y="22.375">up
on
the
table
in
front
of
you.</text>
</g>
64. The
image
Element
• <image>
element
includes
an
enDre
SVG
or
raster
file
(JPEG
or
PNG)
• x,
y,
width,
and
height
aeributes
<image
xlink:href="images/JavaScript-‐logo.png"
preserveAspectRatio="meet"
x="22"
y="48"
width="30"
height="30"
/>
65. <image>
XML
Example
<image
xlink:href="images/JavaScript-‐logo.png"
x="22"
y="48"
width="30"
height="30"
preserveAspectRatio
="meet"
/>
79. SVG
1.1
Text
Each
<text>
element
causes
a
single
string
of
text
to
be
rendered.
SVG
performs
no
automaDc
line
breaking
or
word
wrapping
hep://www.w3.org/TR/SVG11/text.html#IntroducDon
80. SVG
Tiny
1.2
• The
<textArea>
element
allows
simplisDc
wrapping
of
text
content
• The
<tbreak>
element
is
an
empty
element
that
forcibly
breaks
the
current
line
of
text
• The
line-‐increment
property
provides
limited
control
over
the
size
of
each
line
81. SVG
1.2
• Scalable
Vector
Graphics
(SVG)
Full
1.2
SpecificaDon
– W3C
Working
DraS
13
April
2005
hep://www.w3.org/TR/SVG12/
• “The
next
draS
of
SVG
1.2
Full
will
structured
as
a
superset
of
the
SVG
1.2
Tiny
language”
• “At
this
Dme
the
refactored
SVG
1.2
Full
specificaDon
is
not
ready
for
publicaDon.”
82. snapdeck.textArea
=
function
(s,
x,
y,
width,
textToWrap,
attr)
{
if
(!textToWrap)
return;
attr
=
SnapDeck.defaultAttr(attr,
{
"text-‐anchor":
"start",
"font-‐size":
3.5,
"letter-‐spacing":
-‐.05,
"line-‐spacing":
0,
"paragraph-‐
spacing":
0
});
var
fontSize
=
attr["font-‐size"];
width
=
width
*
(fontSize
/
3);
var
yDelta
=
(fontSize
*
1.25)
+
attr["line-‐spacing"];
var
tmpSvg,
tmpRoot
=
deck.svg.g().attr(attr).toDefs();
var
g
=
s.g().attr(attr);
var
line
=
"",
tmpLine
=
"",
linecount
=
0;
var
texts
=
textToWrap.split("n");
texts.forEach(function
(text)
{
var
words
=
text.split("
");
words.forEach(function
(word)
{
if
(line)
{
tmpLine
=
line
+
"
"
+
word;
tmpSvg
=
tmpRoot.text(0,
0,
tmpLine);
if
(tmpSvg.node.getBoundingClientRect().width
>
width)
{
g.text(x,
y,
line);
y
=
y
+
yDelta;
linecount++;
line
=
tmpLine
=
word;
}
else
{
line
=
line
+
"
"
+
word;
}
tmpSvg.remove();
}
else
{
line
=
word;
}
});
g.text(x,
y,
line);
y
=
y
+
yDelta
+
attr["paragraph-‐spacing"];
linecount++;
line
=
tmpLine
=
"";
});
tmpRoot.remove();
return
g;
};