This document provides an overview of how to use the Text Layout Framework (TLF) in Flex to manually lay out and render text. It discusses using multiple text containers and container controllers to display text. It also describes how to implement pagination by checking the start and end positions of text in each container and adding or removing containers as needed. Key events like DamageEvent and UpdateCompleteEvent are discussed for knowing when the text composition and rendering is complete.
Typography + Text Editing in the Text layout FrameworkHuyen Tue Dao
The document provides an overview of the Text Layout Framework (TLF) and how it can be used for advanced text formatting and layout. TLF delivers more typographic control, multi-lingual support, and text selection/editing capabilities compared to regular HTML text. It has a model-view-controller structure built on the Flash Text Engine, representing text as hierarchical FlowElements that can be formatted and rendered via containers on stage. Formatting is applied via style properties on FlowElements or by importing/exporting markup. While Flex components simplify usage, developers can also directly assemble text flows, containers, and interaction managers.
Apache Thrift : One Stop Solution for Cross Language CommunicationPiyush Goel
Apache Thrift is a framework for cross-language communication that supports RPC. It was developed by Facebook and entered Apache incubation in 2008. Thrift supports languages like C++, Java, Python, PHP, Ruby, and others. It provides a type system, transport layer, protocol layer, processors, and servers to enable cross-language communication and RPC. Companies like Capillary use Thrift for tasks like processing business rules with PHP-Java communication and sending promotional SMS from a Java system.
Apache Thrift is a framework for defining and implementing service interfaces and generating code to facilitate remote procedure calls across multiple languages. It handles networking, serialization, and other low-level details, allowing developers to focus on implementing service logic. Services are defined using an interface definition language (IDL) that specifies data types, service methods, and exceptions. The Thrift compiler then generates code to implement clients and servers for the defined services in various languages. On the server side, developers implement handlers that define the logic for each service method. The generated code provides a simple way to deploy the service by connecting the various networking and serialization layers. Many large companies use Thrift for building scalable distributed systems across multiple languages and platforms.
The document discusses Apache Avro, a data serialization framework. It provides an overview of Avro's history and capabilities. Key points include that Avro supports schema evolution, multiple languages, and interoperability with other formats like Protobuf and Thrift. The document also covers implementing Avro, including using the generic, specific and reflect data types, and examples of writing and reading data. Performance is addressed, finding that Avro size is competitive while speed is in the top half.
- Apache Thrift is a cross-language services framework that allows for the easy definition of data types and remote procedure calls (RPCs).
- It uses an interface definition language (IDL) to define data types and services, and generates code in various languages to implement clients and servers.
- Apache Thrift supports a wide range of languages and transports, making it useful for building high-performance, scalable distributed applications and microservices.
The document discusses new features in .NET Framework 4.0 including managed extensibility framework (MEF), language features like optional and named parameters, dynamic typing, variance support in generics, code contracts, parallelism support through task parallel library (TPL) and LINQ to Parallel (PLINQ). It provides an overview of the .NET framework architecture and new capabilities added at each version.
This document compares and introduces the Ruby programming language. It begins with a brief overview of Ruby, noting that it is an interpreted, object-oriented language that draws influences from Smalltalk, Eiffel, Perl, and Python. The document then compares Ruby's syntax and object-oriented features to those of Perl and Python, arguing that Ruby has cleaner, easier to read syntax and was designed from the beginning to be fully object-oriented. Several Ruby code examples are provided to illustrate Ruby's syntax.
Typography + Text Editing in the Text layout FrameworkHuyen Tue Dao
The document provides an overview of the Text Layout Framework (TLF) and how it can be used for advanced text formatting and layout. TLF delivers more typographic control, multi-lingual support, and text selection/editing capabilities compared to regular HTML text. It has a model-view-controller structure built on the Flash Text Engine, representing text as hierarchical FlowElements that can be formatted and rendered via containers on stage. Formatting is applied via style properties on FlowElements or by importing/exporting markup. While Flex components simplify usage, developers can also directly assemble text flows, containers, and interaction managers.
Apache Thrift : One Stop Solution for Cross Language CommunicationPiyush Goel
Apache Thrift is a framework for cross-language communication that supports RPC. It was developed by Facebook and entered Apache incubation in 2008. Thrift supports languages like C++, Java, Python, PHP, Ruby, and others. It provides a type system, transport layer, protocol layer, processors, and servers to enable cross-language communication and RPC. Companies like Capillary use Thrift for tasks like processing business rules with PHP-Java communication and sending promotional SMS from a Java system.
Apache Thrift is a framework for defining and implementing service interfaces and generating code to facilitate remote procedure calls across multiple languages. It handles networking, serialization, and other low-level details, allowing developers to focus on implementing service logic. Services are defined using an interface definition language (IDL) that specifies data types, service methods, and exceptions. The Thrift compiler then generates code to implement clients and servers for the defined services in various languages. On the server side, developers implement handlers that define the logic for each service method. The generated code provides a simple way to deploy the service by connecting the various networking and serialization layers. Many large companies use Thrift for building scalable distributed systems across multiple languages and platforms.
The document discusses Apache Avro, a data serialization framework. It provides an overview of Avro's history and capabilities. Key points include that Avro supports schema evolution, multiple languages, and interoperability with other formats like Protobuf and Thrift. The document also covers implementing Avro, including using the generic, specific and reflect data types, and examples of writing and reading data. Performance is addressed, finding that Avro size is competitive while speed is in the top half.
- Apache Thrift is a cross-language services framework that allows for the easy definition of data types and remote procedure calls (RPCs).
- It uses an interface definition language (IDL) to define data types and services, and generates code in various languages to implement clients and servers.
- Apache Thrift supports a wide range of languages and transports, making it useful for building high-performance, scalable distributed applications and microservices.
The document discusses new features in .NET Framework 4.0 including managed extensibility framework (MEF), language features like optional and named parameters, dynamic typing, variance support in generics, code contracts, parallelism support through task parallel library (TPL) and LINQ to Parallel (PLINQ). It provides an overview of the .NET framework architecture and new capabilities added at each version.
This document compares and introduces the Ruby programming language. It begins with a brief overview of Ruby, noting that it is an interpreted, object-oriented language that draws influences from Smalltalk, Eiffel, Perl, and Python. The document then compares Ruby's syntax and object-oriented features to those of Perl and Python, arguing that Ruby has cleaner, easier to read syntax and was designed from the beginning to be fully object-oriented. Several Ruby code examples are provided to illustrate Ruby's syntax.
The document summarizes a presentation on Ruby on Rails given by Obie Fernandez. It introduces Ruby and Rails, discussing their object-oriented nature, conventions, and tools. It highlights Rails' productivity gains through conventions and generators. Challenges discussed include a learning curve and limited IDE support. The document concludes Rails is ready for many applications but not all, and the right developer attitude is important.
The document summarizes a presentation on Ruby and Ruby on Rails. It introduces Ruby as a dynamic, object-oriented scripting language similar to Smalltalk and Perl. It then discusses Ruby on Rails, describing it as a "kitchen sink" model-view-controller web application framework built with Ruby. Key aspects of Rails like ActiveRecord, views, and controllers are briefly explained.
PHP is a server-side scripting language commonly used for web development. It allows developers to add dynamic and interactive elements to websites. The document outlines what PHP is, how to install it, basic syntax rules, and common operations like variables, data types, functions for manipulating strings, and different types of operators.
Avram Aelony presented this talk in SBJUG on September 27 2012.
To introduce Clojure as a powerful JVM language and look at Clojure from a value-added perspective for those that already know Java.
The recorded talk can be found at - http://www.youtube.com/watch?v=HhMCX8xwjo8
The document discusses the state of Hadoop in 2009 and goals for 2010 and beyond. It focuses on improving data formats by proposing the use of Apache Avro, which provides an expressive, compact, and dynamic data serialization system with built-in capabilities for data sharing, remote procedure calls, and schema evolution. The document outlines how Avro could address current issues with data formats in Hadoop and its potential inclusion in future Hadoop releases.
Thrift vs Protocol Buffers vs Avro - Biased ComparisonIgor Anishchenko
Igor Anishchenko
Odessa Java TechTalks
Lohika - May, 2012
Let's take a step back and compare data serialization formats, of which there are plenty. What are the key differences between Apache Thrift, Google Protocol Buffers and Apache Avro. Which is "The Best"? Truth of the matter is, they are all very good and each has its own strong points. Hence, the answer is as much of a personal choice, as well as understanding of the historical context for each, and correctly identifying your own, individual requirements.
The purpose of this talk will be to provide the audience with a 45 minute crash course in Typoscript.. The talk will be aimed at TYPO3 administrators and developers who find Typoscript frustrating, confusing, or downright maddening. I will start by explaining the fundamentals of TypoScript, including what it is, its syntax, and how it generally functions throughout the TYPO3 core. I will give a brief overview of available Typoscript resources on typo3.org and a quick lesson in how to read the TSREF, which can be a challenge in and of itself. Building off of this foundation, the talk will move quickly into more advanced Typoscript techniques and best practices. We’ll walk through of some of the more vexing components of Typoscript, including the ways in which Typoscript can interact with the page record (or, in some cases, the cObject data property), CASE objects, and more advanced parts of stdWrap. We’ll look at how, in the end, everything in TYPO3 gets rendered through Typoscript, including plugins. We’ll discuss strategies for extending the Typoscript that renders core content elements in CSS Styled Content. Everyone will leave the talk with a Typoscript cheat sheet, and better understanding of how to utilize Typoscript effectively in their TYPO3 projects and how to find solutions when Typoscript doesn’t do what they expect it to.
This document provides an introduction to server-side scripting and PHP. It discusses how server-side pages work by having the web server run scripts and send HTML to users' browsers. It then lists several common server-side scripting languages like PHP, ASP, and Python. The document proceeds to introduce PHP in more detail, covering its basics like syntax, variables, strings, arithmetic operators, and functions. It provides examples of conditional statements like if/else and looping with for and while loops.
This document summarizes the plone.app.multilingual project, which provides next-generation multilingual capabilities for Plone sites. It describes the history and goals of the project, how it supports both Archetypes and Dexterity content types, and its key features like language root folders, unified translation editing, and integration with translation services. The roadmap includes improvements to the LinguaPlone migration, user interface, and additional tools. Participation in upcoming Plone sprints is encouraged to further develop this open source project.
Python is an interpreted, general purpose programming language that can be used for both scripting and programming. It allows programmers to write code that can be executed on different platforms like Windows, Linux, and Mac OS X. Python code is portable and can be used for tasks like system programming, web development, data analysis, and more. Some major companies that use Python include Google, YouTube, Intel, and IBM. Python is popular due to its simple syntax, object-oriented capabilities, extensive libraries, and availability on all major platforms.
Variables in Pharo can now be represented as objects in a class hierarchy. This allows defining custom variable types like lazy initialized instance variables. Classes can also be defined fluidly using a cascade syntax that supports specifying variable types. The new variable system is compatible with existing Smalltalk code while enabling new capabilities and a more reflective programming model. Further work includes improving debugging and development tools to leverage the new variable abstractions.
This document provides an overview of Python programming in Katana for beginners. It discusses scripting languages and their advantages, different programming paradigms like procedural and object-oriented programming, and key Python concepts like data types, variables, functions, modules and packages. The document also demonstrates how to get started with Python in Katana, covering topics like syntax, comments, writing scripts and using the interactive console.
This document provides an outline for a lesson on PHP. It begins with an introduction to PHP, including its history and uses. It then covers the basics of PHP including PHP files, syntax, variables, data types, strings, and operators. The document provides examples of PHP code for echo and print statements, variable declaration and scope, data type conversion, and comments. It explains the main data types in PHP and functions for getting and setting variable types.
LavaCon 2012 presentation about creating eBooks from DocBook XML. This presentation provides details of the XML Press process for creating eBooks. A companion presentation (From XML to eBooks Part 2: Overview) is an introduction.
This document provides an overview of PHP basics including:
- What PHP is and how it works as a server-side scripting language
- The basic structure of PHP files and how PHP code is executed
- Common PHP syntax like variables, data types, operators, conditional statements, loops, arrays, and functions
- How to handle forms and user input with the $_GET, $_POST, and $_REQUEST superglobals
- Examples of basic PHP scripts and code snippets
The document is intended as an introduction to PHP for beginners, covering the essential concepts needed to get started with the language.
Python is a high-level, interpreted, interactive and object-oriented scripting language. It is designed to be highly readable using English keywords. Python is interpreted at runtime and does not require compilation. It supports both procedural and object-oriented programming. Python is beginner friendly and supports a wide range of applications. It is portable, extensible, and has a large standard library. Variables are dynamically typed and support integers, floating point numbers, complex numbers, strings, lists, tuples and dictionaries.
Excellence Technology is one of the top ISO satisfied company in Chandigarh and Mohali . We provide Best industrial training Digital marketing, PHP.java, best web designing training ,software testing ,Python Course In Chandigarh etc . It can be provided 6 month and 28 days industrial training & tuition classes.
This document discusses server-side scripting and provides examples using PHP. It introduces server-side scripting languages like PHP, ASP, and JSP that generate dynamic web pages using scripts interpreted by applications on the web server. It also describes basic PHP syntax including variables, conditional statements, loops and communicating with databases to store and retrieve information.
Python is a high-level programming language that emphasizes code readability. It has a clear syntax and large standard library. Python can be used for system programming, GUIs, internet scripting, database programming, and more. Some key strengths of Python include being object-oriented, free, portable, powerful, easy to use and learn. Popular uses of Python include web development, scientific computing, and financial applications. The document provides an overview of Python fundamentals like data types, control flow statements, functions, classes, and modules.
This document provides an overview of the Twig templating engine. It begins with introducing Twig and its advantages over traditional PHP templates. It then covers basic Twig syntax like variables, control structures, filters, tests, and extensions. The document explains how to extend templates through inheritance, includes, and macros. It also discusses creating custom Twig extensions and tags. Finally, it notes that Twig compiles templates to optimized PHP code for speed and has a sandbox mode for security when evaluating untrusted templates.
The document summarizes a presentation on Ruby on Rails given by Obie Fernandez. It introduces Ruby and Rails, discussing their object-oriented nature, conventions, and tools. It highlights Rails' productivity gains through conventions and generators. Challenges discussed include a learning curve and limited IDE support. The document concludes Rails is ready for many applications but not all, and the right developer attitude is important.
The document summarizes a presentation on Ruby and Ruby on Rails. It introduces Ruby as a dynamic, object-oriented scripting language similar to Smalltalk and Perl. It then discusses Ruby on Rails, describing it as a "kitchen sink" model-view-controller web application framework built with Ruby. Key aspects of Rails like ActiveRecord, views, and controllers are briefly explained.
PHP is a server-side scripting language commonly used for web development. It allows developers to add dynamic and interactive elements to websites. The document outlines what PHP is, how to install it, basic syntax rules, and common operations like variables, data types, functions for manipulating strings, and different types of operators.
Avram Aelony presented this talk in SBJUG on September 27 2012.
To introduce Clojure as a powerful JVM language and look at Clojure from a value-added perspective for those that already know Java.
The recorded talk can be found at - http://www.youtube.com/watch?v=HhMCX8xwjo8
The document discusses the state of Hadoop in 2009 and goals for 2010 and beyond. It focuses on improving data formats by proposing the use of Apache Avro, which provides an expressive, compact, and dynamic data serialization system with built-in capabilities for data sharing, remote procedure calls, and schema evolution. The document outlines how Avro could address current issues with data formats in Hadoop and its potential inclusion in future Hadoop releases.
Thrift vs Protocol Buffers vs Avro - Biased ComparisonIgor Anishchenko
Igor Anishchenko
Odessa Java TechTalks
Lohika - May, 2012
Let's take a step back and compare data serialization formats, of which there are plenty. What are the key differences between Apache Thrift, Google Protocol Buffers and Apache Avro. Which is "The Best"? Truth of the matter is, they are all very good and each has its own strong points. Hence, the answer is as much of a personal choice, as well as understanding of the historical context for each, and correctly identifying your own, individual requirements.
The purpose of this talk will be to provide the audience with a 45 minute crash course in Typoscript.. The talk will be aimed at TYPO3 administrators and developers who find Typoscript frustrating, confusing, or downright maddening. I will start by explaining the fundamentals of TypoScript, including what it is, its syntax, and how it generally functions throughout the TYPO3 core. I will give a brief overview of available Typoscript resources on typo3.org and a quick lesson in how to read the TSREF, which can be a challenge in and of itself. Building off of this foundation, the talk will move quickly into more advanced Typoscript techniques and best practices. We’ll walk through of some of the more vexing components of Typoscript, including the ways in which Typoscript can interact with the page record (or, in some cases, the cObject data property), CASE objects, and more advanced parts of stdWrap. We’ll look at how, in the end, everything in TYPO3 gets rendered through Typoscript, including plugins. We’ll discuss strategies for extending the Typoscript that renders core content elements in CSS Styled Content. Everyone will leave the talk with a Typoscript cheat sheet, and better understanding of how to utilize Typoscript effectively in their TYPO3 projects and how to find solutions when Typoscript doesn’t do what they expect it to.
This document provides an introduction to server-side scripting and PHP. It discusses how server-side pages work by having the web server run scripts and send HTML to users' browsers. It then lists several common server-side scripting languages like PHP, ASP, and Python. The document proceeds to introduce PHP in more detail, covering its basics like syntax, variables, strings, arithmetic operators, and functions. It provides examples of conditional statements like if/else and looping with for and while loops.
This document summarizes the plone.app.multilingual project, which provides next-generation multilingual capabilities for Plone sites. It describes the history and goals of the project, how it supports both Archetypes and Dexterity content types, and its key features like language root folders, unified translation editing, and integration with translation services. The roadmap includes improvements to the LinguaPlone migration, user interface, and additional tools. Participation in upcoming Plone sprints is encouraged to further develop this open source project.
Python is an interpreted, general purpose programming language that can be used for both scripting and programming. It allows programmers to write code that can be executed on different platforms like Windows, Linux, and Mac OS X. Python code is portable and can be used for tasks like system programming, web development, data analysis, and more. Some major companies that use Python include Google, YouTube, Intel, and IBM. Python is popular due to its simple syntax, object-oriented capabilities, extensive libraries, and availability on all major platforms.
Variables in Pharo can now be represented as objects in a class hierarchy. This allows defining custom variable types like lazy initialized instance variables. Classes can also be defined fluidly using a cascade syntax that supports specifying variable types. The new variable system is compatible with existing Smalltalk code while enabling new capabilities and a more reflective programming model. Further work includes improving debugging and development tools to leverage the new variable abstractions.
This document provides an overview of Python programming in Katana for beginners. It discusses scripting languages and their advantages, different programming paradigms like procedural and object-oriented programming, and key Python concepts like data types, variables, functions, modules and packages. The document also demonstrates how to get started with Python in Katana, covering topics like syntax, comments, writing scripts and using the interactive console.
This document provides an outline for a lesson on PHP. It begins with an introduction to PHP, including its history and uses. It then covers the basics of PHP including PHP files, syntax, variables, data types, strings, and operators. The document provides examples of PHP code for echo and print statements, variable declaration and scope, data type conversion, and comments. It explains the main data types in PHP and functions for getting and setting variable types.
LavaCon 2012 presentation about creating eBooks from DocBook XML. This presentation provides details of the XML Press process for creating eBooks. A companion presentation (From XML to eBooks Part 2: Overview) is an introduction.
This document provides an overview of PHP basics including:
- What PHP is and how it works as a server-side scripting language
- The basic structure of PHP files and how PHP code is executed
- Common PHP syntax like variables, data types, operators, conditional statements, loops, arrays, and functions
- How to handle forms and user input with the $_GET, $_POST, and $_REQUEST superglobals
- Examples of basic PHP scripts and code snippets
The document is intended as an introduction to PHP for beginners, covering the essential concepts needed to get started with the language.
Python is a high-level, interpreted, interactive and object-oriented scripting language. It is designed to be highly readable using English keywords. Python is interpreted at runtime and does not require compilation. It supports both procedural and object-oriented programming. Python is beginner friendly and supports a wide range of applications. It is portable, extensible, and has a large standard library. Variables are dynamically typed and support integers, floating point numbers, complex numbers, strings, lists, tuples and dictionaries.
Excellence Technology is one of the top ISO satisfied company in Chandigarh and Mohali . We provide Best industrial training Digital marketing, PHP.java, best web designing training ,software testing ,Python Course In Chandigarh etc . It can be provided 6 month and 28 days industrial training & tuition classes.
This document discusses server-side scripting and provides examples using PHP. It introduces server-side scripting languages like PHP, ASP, and JSP that generate dynamic web pages using scripts interpreted by applications on the web server. It also describes basic PHP syntax including variables, conditional statements, loops and communicating with databases to store and retrieve information.
Python is a high-level programming language that emphasizes code readability. It has a clear syntax and large standard library. Python can be used for system programming, GUIs, internet scripting, database programming, and more. Some key strengths of Python include being object-oriented, free, portable, powerful, easy to use and learn. Popular uses of Python include web development, scientific computing, and financial applications. The document provides an overview of Python fundamentals like data types, control flow statements, functions, classes, and modules.
This document provides an overview of the Twig templating engine. It begins with introducing Twig and its advantages over traditional PHP templates. It then covers basic Twig syntax like variables, control structures, filters, tests, and extensions. The document explains how to extend templates through inheritance, includes, and macros. It also discusses creating custom Twig extensions and tags. Finally, it notes that Twig compiles templates to optimized PHP code for speed and has a sandbox mode for security when evaluating untrusted templates.
Title
Hands-on Learning with KubeFlow + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTorch + XGBoost + Airflow + MLflow + Spark + Jupyter + TPU
Video
https://youtu.be/vaB4IM6ySD0
Description
In this workshop, we build real-world machine learning pipelines using TensorFlow Extended (TFX), KubeFlow, and Airflow.
Described in the 2017 paper, TFX is used internally by thousands of Google data scientists and engineers across every major product line within Google.
KubeFlow is a modern, end-to-end pipeline orchestration framework that embraces the latest AI best practices including hyper-parameter tuning, distributed model training, and model tracking.
Airflow is the most-widely used pipeline orchestration framework in machine learning.
Pre-requisites
Modern browser - and that's it!
Every attendee will receive a cloud instance
Nothing will be installed on your local laptop
Everything can be downloaded at the end of the workshop
Location
Online Workshop
Agenda
1. Create a Kubernetes cluster
2. Install KubeFlow, Airflow, TFX, and Jupyter
3. Setup ML Training Pipelines with KubeFlow and Airflow
4. Transform Data with TFX Transform
5. Validate Training Data with TFX Data Validation
6. Train Models with Jupyter, Keras/TensorFlow 2.0, PyTorch, XGBoost, and KubeFlow
7. Run a Notebook Directly on Kubernetes Cluster with KubeFlow
8. Analyze Models using TFX Model Analysis and Jupyter
9. Perform Hyper-Parameter Tuning with KubeFlow
10. Select the Best Model using KubeFlow Experiment Tracking
11. Reproduce Model Training with TFX Metadata Store and Pachyderm
12. Deploy the Model to Production with TensorFlow Serving and Istio
13. Save and Download your Workspace
Key Takeaways
Attendees will gain experience training, analyzing, and serving real-world Keras/TensorFlow 2.0 models in production using model frameworks and open-source tools.
Related Links
1. PipelineAI Home: https://pipeline.ai
2. PipelineAI Community Edition: http://community.pipeline.ai
3. PipelineAI GitHub: https://github.com/PipelineAI/pipeline
4. Advanced Spark and TensorFlow Meetup (SF-based, Global Reach): https://www.meetup.com/Advanced-Spark-and-TensorFlow-Meetup
5. YouTube Videos: https://youtube.pipeline.ai
6. SlideShare Presentations: https://slideshare.pipeline.ai
7. Slack Support: https://joinslack.pipeline.ai
8. Web Support and Knowledge Base: https://support.pipeline.ai
9. Email Support: support@pipeline.ai
Summarizes new capabilities added to Apache NiFi 1.2.0 (soon to be released).
Disclaimer:
- The contents in this slide deck are derived from Apache NiFi JIRA issues which is labeled with next release target 1.2.0 and source code available at Github (already merged into master branch), however it does NOT mean these are guaranteed to be released and still are subjects to change.
- The motivation of this presentation is share what have been introduced into the project since the latest Apache NiFi 1.1.2 release.
- The contents are created from information available under Apache NiFi project, however, the way summarize it is solely done with my personal thoughts and not a consensus built among Apache NiFi community.
Tagless-Final approach remains a hot topic in a FP community. There are still very few tools and libraries aimed at helping users of TF. Tofu is a library that tries to address this problem by providing convenient abstractions for writing simple, transparent and testable functional code.
All credits for translation: @tvaroh
This document provides information about Active Server Pages (ASP) and VBScript. ASP is a Microsoft technology for building dynamically generated web pages using server-side scripting. Initially released as an add-on for IIS, it allowed web pages to access functionality in DLLs using COM. ASP.NET has since superseded ASP. VBScript is a scripting language that can be used within ASP pages and is not case sensitive. Key concepts discussed include ASP architecture, the ASP model, developing ASP scripts, variables and data types in VBScript, and using procedures.
Similar to Seriously You Can Do Cool Things: Getting Advanced with the Text Layout Framework (20)
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
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.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
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!
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
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.
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.
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.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
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.
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.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Full-RAG: A modern architecture for hyper-personalization
Seriously You Can Do Cool Things: Getting Advanced with the Text Layout Framework
1. SERIOUSLY, YOU CAN DO
COOL THINGS:
Getting Advanced with the Text Layout Framework
by Huyen Tue Dao
2. ABOUT ME
• Name ≈ “Hwin Tweh Dow”
• Computer/Electrical Engineering @
University of Maryland
• Flex developer since 2006; also worked in
C/C++, Java, Perl, .NET
• numTimesSpeaking = 5
• Favorite race in SC is the Zerg: open with
10 pool speedling
• About to start 3rd play-through of ME2
in anticipation of ME3
“I’m Commander Shepard and this is my favorite store on the Citadel.”
3. WHAT ARE WE GOING TO
TALK ABOUT?
• Overview of Text Layout Framework and Flash Text Engine
• Using the Text Layout Framework in Manual
• Extending the Text Layout Framework
• Leveraging the Flash Text Engine
• Combining with other Flex components
• Conclusion/questions
4. Stage
TextLine
TextBlock
TextLine
createTextLine()
TextLine
TextElement
string content ElementFormat
Rendering Text With FTE
Artist (not so much) rendering
5. My Title
Here’s some text.
Here’s some other text.
Here’s some more text. And
here’s the last bit of text.
TextFlow
p p p p
span span span span span
“My Title” “Here’s some text.” “Here’s some other text.” “Here’s some more text. “ “And here’s the last bit of text.”
TLF’s TextFlow
Artist (not so much) rendering
6. interactionManager:ISelectionManager
changes to TextFlow passing input and user events
Stage
Container
TextFlow
TextLine
TextLine
flowComposer:IFlowComposer ContainerController
Container
ContainerController
TextLine
TLF’S MVC
Artist (not so much) rendering
7. OVERVIEW OF TLF AND FTE
• TLF utilizes FTE for advanced text rendering
• Adds in MVC framework, automated/advanced layout,
selection/editing
• FTE = bricklayer, contractor; TLF = architect
8. USING THE TLF IN MANUAL
• “Manual?”
• Set up text flow, containers, controllers, and interaction
manager by hand
• add/remove/setup containers
• set composition bounds
• setup selection/read/write ability, setup undo/redo
9. USING THE TLF IN MANUAL
• “Automatic”: family of Spark components utilize TLF
• Base TLF Spark components: RichText, RichEditableText
• Other components build on these: TextInput, Text Area
• Most of TLF functionality encapsulated within components
• Can access parts of TLF (listen for events) but manipulating is
difficult, not great idea.
10. USING THE TLF IN MANUAL
• “Semi-automatic”
• TextContainerManager, class that handles a single-container TLF
setup
• Provide it container, text/TextFlow, composition bounds,
formatting options, editing mode
• “Consider using TextContainerManager for better performance
in cases where there is a one container per TextFlow, and the
TextFlow is not the main focus, is static text, or is infrequently
selected.”
11. USING THE TLF IN MANUAL
• Basic classes involved
• TextFlow and classes for importing/exporting a TextFlow:
• TextConverter: static class providing import/export methods
for different formats, types
• Also have TextFlowUtil (simplified export/import),
PlainTextExporter (provides some customization options)
• Configuration: specify initial formatting options for TextFlow
creation, including selection formats, link formats, scrolling
options, ENTER/TAB key behavior
12. USING THE TLF IN MANUAL
• IFlowComposer: currently only StandardFlowComposer
implementation and TextFlow automatically initializes one
• Composes layout and updates display
• Adds/removes containers (by adding/removing controllers)
• Normalizes the TextFlow after changes are made
• Provides information about and access to composite
TextFlowLines, wrappers for generated TextLines
13. Container layout in TextFlowLines Stage
Container
TextFlowLine 0 line height
text height ascent TextLine 0
descent
TextFlowLine 1
TextLine 1
TextFlowLine 2
TextLine 2
…
TextFlowLines + TextLines
Artist (not so much) rendering
14. USING THE TLF IN MANUAL
• ContainerController: connects TextFlow and a container, tracks
width and height of text area in that container, places TextLines
in container, manages scrolling
• Contains reference to TextFlow to which it belongs
• ISelectionManager: handles selection and TextFlow events
• Includes methods that provide information about selection
including formatting properties of the selection
• IEditManager: extends ISelectionManager adds edit functionality
including undo/redo, cut/copy/paste, keyboard shortcuts
15. USING THE TLF IN MANUAL
• Basic setup:
• Import/create TextFlow
• Create one or more containers (Sprites)
• Create a ContainerController with each container and call
TextFlow.flowComposer.addController
• (Optional) Setup TextFlow.interactionManager
• Call TextFlow.flowComposer.updateAllControllers/
updateToController
16. USING THE TLF IN MANUAL
• Basic setup:
• Import/create TextFlow
• Create one or more containers (Sprites)
• Create a ContainerController with each container and call
TextFlow.flowComposer.addController
• (Optional) Setup TextFlow.interactionManager
• Call TextFlow.flowComposer.updateAllControllers/
updateToController
17. USING THE TLF IN MANUAL
• So what can we do in “manual?”
• Play with containers:
• Use multiple, linked containers: easy, just add new
ContainerController via IFlowComposer.addController
• Remove containers: easy, IFlowComposer.removeController/
removeControllerAt/removeAllControllers
• Take it further: what if we wanted to use just enough containers
to fit text? Like how a word processor paginates content…
18. USING THE TLF IN MANUAL
• States of a text container in TLF:
• Damaged: when model or layout changes, IFlowComposer
marks relevant lines as “damaged” and needing of
recomposition
• Composition:TextFlowLines/TextLines created and assigned to
container based on current position, dimensions of container;
• IFlowComposer.composing: indicates currently composing
• Display: Old TextLines cleaned up, new TextLines positioned
19. USING THE TLF IN MANUAL
• Useful/Import TextFlow events:
• DamageEvent.DAMAGE: dispatched whenever changes are
made to the model or to the layout
• CompositionCompleteEvent.COMPOSITION_COMPLETE:
dispatched whenever composition finishes
• UpdateCompleteEvent.UPDATE_COMPLETE: dispatched
whenever text is ready to display but has not been painted to
screen yet.
20. USING THE TLF IN MANUAL
• Implementing pagination in TLF: check if the last container added
renders the end of the text:
• ContainerController.verticalScrollPolicy = ScrollPolicy.OFF
• ContainerController.absoluteStart: character position in
TextFlow at which text in container starts
• ContainerController.textLength: total number of characters
displayed in container including whitespace
• TextFlow.textLength: total number of characters in TextFlow
(ContainerController.absoluteStart + ContainerController.textLength) == TextFlow.textLength
21. USING THE TLF IN MANUAL
• When do we perform this check?
• Need to wait for the last page added to compose and display
completely so check is accurate
• Add handler for UpdateCompleteEvent and perform check
and if needed add/remove a page and then update again
• Will repeat until have enough pages
22. USING THE TLF IN MANUAL
• Playing with containers: Useful TLF stuff
• addController/removeController
• DamageEvent, CompositionCompleteEvent,
UpdateCompleteEvent
• ContainerController.absoluteStart,
ContainerController.textLength,
ContainerController.verticalScrollPolicy
23. EXTENDING THE TLF
• Extending the Text Layout Framework
• Can be difficult: some classes are marked final (that you wish
were not), many useful methods are private, some are just
complicated
• Likely candidates: FlowOperations, SelectionManager,
EditManager, UndoManager, ContainerController
• Let’s talk about operations…
24. EXTENDING THE TLF
• FlowOperations: family of objects utilized by IEditManager to
encapsulate changes to TextFlow and provide undo/redo
• If you need undo, you need operations:
• TextFlow.generation: incremented every time it changes
• IEditManager uses generation to track changes and to validate
undos/redos
• Operations are not necessary if do not care about undo, but
making changes through IEditManager also provides some
support for auto-managing selection state with changes
25. EXTENDING THE TLF
• Creating your own operations:
• FlowTextOperation: subclass of for transforming text
• Create subclass, override doOperation, undo(), redo()
• doOperation():Boolean does the actual work of changing
TextFlow
• Return value indicates whether the operation completed
correctly; if not, return false and IEditManager rolls back
generation
26. EXTENDING THE TLF
• undo():SelectionState, contains logic for reversing changes,
return value is the selection state desired after undo
• redo():SelectionState, redoes operation, returns SelectionState
originally passed to doOperation; don’t have to implement
• How do you actually call your operation?
• IEditManager.doOperation: does bookkeeping and calls
FlowTextOperation.doOperation
• Extend EditManager and add interface for calling your
operation
27. EXTENDING THE TLF
• Things to keep in mind
• You can use other operations within your operation
• Take advantage of existing classes
• Makes undo easy to implement (but remember to undo
operations in reverse order)
• Alternatively, can use
IEditManager.beginCompositeOperation/
endCompositeOperation to group operations on the fly
28. EXTENDING THE TLF
• Stay away from using FlowElement references in your
operation
• When using copy/cut/paste or TextFlow normalizes,
FlowElements are often replaced or removed
• If you need to reference a particular element; use
FlowElement.id and textFlow.getElementById instead
• Make sure you consider any changes to selection state that
your operation induces and set it in doOperation if necessary
• use namespace tlf_internal: many helpful methods are tucked
away in there
29. LEVERAGING THE FTE
• Understanding underlying FTE parts of TLF can help you:
• Decorate/enhance TLF-rendered text without changing the
model or the layout
• Get more specific information about layout of text lines within
a container and the TextFlow as a whole
• TextFlowLine: TLF wrapper for TextLines that actually reside on
stage; both provide useful information
• StandardFlowComposer -> TextFlowLine -> TextLine
30. LEVERAGING THE FTE
• StandardFlowComposer: methods for grabbing TextFlowLines
• findLineAtPosition/findLineIndexAtPosition: gets reference to/
index of TextFlowLine that contains the text at a given position
• ContainerController: couple of tlf_internal methods for getting
specific TextFlowLines
• tlf_internal getFirstVisibleLine():TextFlowLine
• tlf_internal getLastVisibleLine():TextFlowLine
• TextFlowLine.getLine():TextLine
31. LEVERAGING THE FTE
• TextLine: methods for getting position, index information for
individual characters
• getAtomBounds: get bounds relative to TextLine of a particular
atom (character)
• getAtomIndexAtPoint: get index of atom at given point (relative
to the stage)
• So how can we use all this?
• Draw on top of the TextLine
• Pinpoint a position relative to the stage or another component
from a text position
32. COMBINING WITH OTHER
FLEX COMPONENTS
• Ideally, we would love to be to create custom FlowElements that
provide new functionality and integrate nicely with TLF but not
always possible or time efficient so what else can we do?
• http://platustalksflex.blogspot.com/2010/07/position-
uicomponents-inside-textflow.html
• Basically, use an InlineGraphicElement as a placeholder, and then
position another component on top of it.
33. COMBINING WITH OTHER
FLEX COMPONENTS
• Need to assign id to differentiate our placeholder
InlineGraphicElements from others
• Keep a mapping of these id’s to the Flex components
• Update all of these components on UpdateCompleteEvent
• Can even utilize this with TLF selection/editing (takes some
work though)
34. COMBINING WITH OTHER
FLEX COMPONENTS
• Can even import/export these components
• Use XML: export as whatever tag required, make sure
assign “id” attribute
• To import: replace XML placeholder tags with <img> tags
• Have to take care of cut/copy/paste: end up with
placeholders with identical id’s:
• Have to extend EditManager and override pasteTextScrap
• Go through TextScrap and replace duplicate id’s with new
ones.
35. CONCLUSION
• Before even getting into TLF, make sure it’s the right solution.
• Most flexible, powerful way to user TLF is in “manual,” setting up
everything yourself
• Extend TLF classes to add new functionality and encapsulate it
• Go lower-level by accessing and manipulating underlying FTE to
play with interaction and rendering without changing TLF parts
• Integrate Flex UIComponents with TextFlow layout by using
placeholders and custom operations.
• It takes some work (and a bit of code), but seriously, you can do
cool things.
36. CREDIT WHERE CREDIT IS
DUE
• Drawing highlights on TextLines technique from the
HighlightAdornment example included in “Using TLF with
Flash CS4 examples” for TLF 1.0 Beta: http://
opensource.adobe.com/wiki/display/tlf/Text+Layout
+Framework
• “InlineUIComponents within a TextFlow”: http://
platustalksflex.blogspot.com/2010/07/position-uicomponents-
inside-textflow.html