My talk from SICS Data Science Day, describing FlinkML, the Machine Learning library for Apache Flink.
I talk about our approach to large-scale machine learning and how we utilize state-of-the-art algorithms to ensure FlinkML is a truly scalable library.
You can watch a video of the talk here: https://youtu.be/k29qoCm4c_k
Game engines have long been in the forefront of taking advantage of the ever increasing parallel compute power of both CPUs and GPUs. This talk is about how the parallel compute is utilized in practice on multiple platforms today in the Frostbite game engine and how we think the parallel programming models, hardware and software in the industry should look like in the next 5 years to help us make the best games possible
Past, Present and Future Challenges of Global Illumination in GamesColin Barré-Brisebois
Global illumination (GI) has been an ongoing quest in games. The perpetual tug-of-war between visual quality and performance often forces developers to take the latest and greatest from academia and tailor it to push the boundaries of what has been realized in a game product. Many elements need to align for success, including image quality, performance, scalability, interactivity, ease of use, as well as game-specific and production challenges.
First we will paint a picture of the current state of global illumination in games, addressing how the state of the union compares to the latest and greatest research. We will then explore various GI challenges that game teams face from the art, engineering, pipelines and production perspective. The games industry lacks an ideal solution, so the goal here is to raise awareness by being transparent about the real problems in the field. Finally, we will talk about the future. This will be a call to arms, with the objective of uniting game developers and researchers on the same quest to evolve global illumination in games from being mostly static, or sometimes perceptually real-time, to fully real-time.
For this year's keynote at High Performance Graphics 2018, Colin Barré-Brisebois from SEED discussed the state of the art in real-time game ray tracing. He explored some of the connections between offline and real-time game ray tracing, and presented some of the open problems. Colin exposed a few potential solutions to those problems, and also proposed a call-to-arms on topics where the ray tracing research community and the games industry should unite in order to solve such open problems.
My talk from SICS Data Science Day, describing FlinkML, the Machine Learning library for Apache Flink.
I talk about our approach to large-scale machine learning and how we utilize state-of-the-art algorithms to ensure FlinkML is a truly scalable library.
You can watch a video of the talk here: https://youtu.be/k29qoCm4c_k
Game engines have long been in the forefront of taking advantage of the ever increasing parallel compute power of both CPUs and GPUs. This talk is about how the parallel compute is utilized in practice on multiple platforms today in the Frostbite game engine and how we think the parallel programming models, hardware and software in the industry should look like in the next 5 years to help us make the best games possible
Past, Present and Future Challenges of Global Illumination in GamesColin Barré-Brisebois
Global illumination (GI) has been an ongoing quest in games. The perpetual tug-of-war between visual quality and performance often forces developers to take the latest and greatest from academia and tailor it to push the boundaries of what has been realized in a game product. Many elements need to align for success, including image quality, performance, scalability, interactivity, ease of use, as well as game-specific and production challenges.
First we will paint a picture of the current state of global illumination in games, addressing how the state of the union compares to the latest and greatest research. We will then explore various GI challenges that game teams face from the art, engineering, pipelines and production perspective. The games industry lacks an ideal solution, so the goal here is to raise awareness by being transparent about the real problems in the field. Finally, we will talk about the future. This will be a call to arms, with the objective of uniting game developers and researchers on the same quest to evolve global illumination in games from being mostly static, or sometimes perceptually real-time, to fully real-time.
For this year's keynote at High Performance Graphics 2018, Colin Barré-Brisebois from SEED discussed the state of the art in real-time game ray tracing. He explored some of the connections between offline and real-time game ray tracing, and presented some of the open problems. Colin exposed a few potential solutions to those problems, and also proposed a call-to-arms on topics where the ray tracing research community and the games industry should unite in order to solve such open problems.
Ever wondered how to use modern OpenGL in a way that radically reduces driver overhead? Then this talk is for you.
John McDonald and Cass Everitt gave this talk at Steam Dev Days in Seattle on Jan 16, 2014.
Deep Dive: Memory Management in Apache SparkDatabricks
Memory management is at the heart of any data-intensive system. Spark, in particular, must arbitrate memory allocation between two main use cases: buffering intermediate data for processing (execution) and caching user data (storage). This talk will take a deep dive through the memory management designs adopted in Spark since its inception and discuss their performance and usability implications for the end user.
Extending Flink State Serialization for Better Performance and Smaller Checkp...Flink Forward
Operations with Flink state are a common source of performance issues for a typical stateful stream processing application. One tiny mistake can easily make your job to spend most of a precious CPU time in serialization and inflate a checkpoint size to the sky. In this talk we’ll focus on a Flink serialization framework and common problems happening around it:
* Is Kryo fallback is really that expensive from the CPU and state size perspective?
* How to plug your own or existing serializers into the Flink (like protobuf).
* Using Scala sealed traits without Kryo fallback.
* Using custom integer variable-length encoding and delta encoding for primitive arrays to further reduce the state size.
Apache Arrow Workshop at VLDB 2019 / BOSS SessionWes McKinney
Technical deep dive for database system developers in the Arrow columnar format, binary protocol, C++ development platform, and Arrow Flight RPC.
See demo Jupyter notebooks at https://github.com/wesm/vldb-2019-apache-arrow-workshop
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...Spark Summit
What if you could get the simplicity, convenience, interoperability, and storage niceties of an old-fashioned CSV with the speed of a NoSQL database and the storage requirements of a gzipped file? Enter Parquet.
At The Weather Company, Parquet files are a quietly awesome and deeply integral part of our Spark-driven analytics workflow. Using Spark + Parquet, we’ve built a blazing fast, storage-efficient, query-efficient data lake and a suite of tools to accompany it.
We will give a technical overview of how Parquet works and how recent improvements from Tungsten enable SparkSQL to take advantage of this design to provide fast queries by overcoming two major bottlenecks of distributed analytics: communication costs (IO bound) and data decoding (CPU bound).
This presentation demonstrates how to efficiently manage GPU buffers using today's APIs. It describes why buffer management is so important, and how inefficient buffer management can cut frame rates in half. Finally, it demonstrates a couple of new techniques; the first being discard-free circular buffers and the second transient buffers.
Parallelization of Structured Streaming Jobs Using Delta LakeDatabricks
We’ll tackle the problem of running streaming jobs from another perspective using Databricks Delta Lake, while examining some of the current issues that we faced at Tubi while running regular structured streaming. A quick overview on why we transitioned from parquet data files to delta and the problems it solved for us in running our streaming jobs.
Simplifying Change Data Capture using Databricks DeltaDatabricks
In this talk, we will present recent enhancements to the techniques previously discussed in this blog: https://databricks.com/blog/2018/10/29/simplifying-change-data-capture-with-databricks-delta.html. We will start by discussing the different CDC architectures that can be deployed in concert with Databricks Delta. We will then use notebooks to demonstrate updated CDC SQL and look at performance tuning considerations for both batch as well as streaming CDC pipelines into Delta.
Ever wondered how to use modern OpenGL in a way that radically reduces driver overhead? Then this talk is for you.
John McDonald and Cass Everitt gave this talk at Steam Dev Days in Seattle on Jan 16, 2014.
Deep Dive: Memory Management in Apache SparkDatabricks
Memory management is at the heart of any data-intensive system. Spark, in particular, must arbitrate memory allocation between two main use cases: buffering intermediate data for processing (execution) and caching user data (storage). This talk will take a deep dive through the memory management designs adopted in Spark since its inception and discuss their performance and usability implications for the end user.
Extending Flink State Serialization for Better Performance and Smaller Checkp...Flink Forward
Operations with Flink state are a common source of performance issues for a typical stateful stream processing application. One tiny mistake can easily make your job to spend most of a precious CPU time in serialization and inflate a checkpoint size to the sky. In this talk we’ll focus on a Flink serialization framework and common problems happening around it:
* Is Kryo fallback is really that expensive from the CPU and state size perspective?
* How to plug your own or existing serializers into the Flink (like protobuf).
* Using Scala sealed traits without Kryo fallback.
* Using custom integer variable-length encoding and delta encoding for primitive arrays to further reduce the state size.
Apache Arrow Workshop at VLDB 2019 / BOSS SessionWes McKinney
Technical deep dive for database system developers in the Arrow columnar format, binary protocol, C++ development platform, and Arrow Flight RPC.
See demo Jupyter notebooks at https://github.com/wesm/vldb-2019-apache-arrow-workshop
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...Spark Summit
What if you could get the simplicity, convenience, interoperability, and storage niceties of an old-fashioned CSV with the speed of a NoSQL database and the storage requirements of a gzipped file? Enter Parquet.
At The Weather Company, Parquet files are a quietly awesome and deeply integral part of our Spark-driven analytics workflow. Using Spark + Parquet, we’ve built a blazing fast, storage-efficient, query-efficient data lake and a suite of tools to accompany it.
We will give a technical overview of how Parquet works and how recent improvements from Tungsten enable SparkSQL to take advantage of this design to provide fast queries by overcoming two major bottlenecks of distributed analytics: communication costs (IO bound) and data decoding (CPU bound).
This presentation demonstrates how to efficiently manage GPU buffers using today's APIs. It describes why buffer management is so important, and how inefficient buffer management can cut frame rates in half. Finally, it demonstrates a couple of new techniques; the first being discard-free circular buffers and the second transient buffers.
Parallelization of Structured Streaming Jobs Using Delta LakeDatabricks
We’ll tackle the problem of running streaming jobs from another perspective using Databricks Delta Lake, while examining some of the current issues that we faced at Tubi while running regular structured streaming. A quick overview on why we transitioned from parquet data files to delta and the problems it solved for us in running our streaming jobs.
Simplifying Change Data Capture using Databricks DeltaDatabricks
In this talk, we will present recent enhancements to the techniques previously discussed in this blog: https://databricks.com/blog/2018/10/29/simplifying-change-data-capture-with-databricks-delta.html. We will start by discussing the different CDC architectures that can be deployed in concert with Databricks Delta. We will then use notebooks to demonstrate updated CDC SQL and look at performance tuning considerations for both batch as well as streaming CDC pipelines into Delta.
After an image has been segmented into regions ; the resulting pixels is usually is represented and described in suitable form for further computer processing.
STAQ based Matrix estimation - initial concept (presented at hEART conference...Luuk Brederode
This contribution focuses on matrix estimation for strategic transport model systems using a model type that combines advantages of static and dynamic traffic assignment models: Static Traffic Assignment with Queuing (STAQ). STAQ models account for flow metering and queue formation, but do not use a time dimension to propagate traffic through the network.
We show how matrix estimation for STAQ models is unique in that it can benefit from both low data requirements due to the absence of a time dimension as well as the inclusion of traffic count observations in the congested regime. The proposed method exploits the properties of the STAQ model leading to the following methodological advantages:
• The assignment matrix is directly derived from the reduction factors on turn level, one of the variables in STAQ models.
• The response function is numerically approximated by a marginal simulation of the node model, without the need to (iteratively) run the full simulation model.
• The upper bound of demand-change for which the approximation of the response function is valid is derived.
The method is applied on an example network as proof of concept.
International Journal of Engineering Research and Applications (IJERA) is an open access online peer reviewed international journal that publishes research and review articles in the fields of Computer Science, Neural Networks, Electrical Engineering, Software Engineering, Information Technology, Mechanical Engineering, Chemical Engineering, Plastic Engineering, Food Technology, Textile Engineering, Nano Technology & science, Power Electronics, Electronics & Communication Engineering, Computational mathematics, Image processing, Civil Engineering, Structural Engineering, Environmental Engineering, VLSI Testing & Low Power VLSI Design etc.
Decoding of the extended Golay code by the simplified successive-cancellation...TELKOMNIKA JOURNAL
This paper describes an adaptation of a polar code decoding technique in favor of the extended Golay code. Based on the bridge provided by a permutation matrix between the code words of these two classes of codes, the Golay code can be decoded by any polar code technique. Contrary to the successive-cancellation list technique which is characterized by a serial estimation of the bits, we propose in this work an adaptation of the simplified successive-cancellation list technique to polar codes equivalent to the Golay code. The simulations have achieved the performance of a maximum likelihood decoding, with the low decoding complexity of polar codes, compared to one of the universal decoders of linear codes most known in the literature.
D11: a high-performance, protocol-optional, transport-optional, window system...Mark Kilgard
Consider the dual pressures toward a more tightly integrated workstation window system: 1) the need to efficiently handle high bandwidth services such as video, audio, and three-dimensional graphics; and 2) the desire to achieve the under-realized potential for local window system performance in X11.
This paper proposes a new window system architecture called D11 that seeks higher performance while preserving compatibility with the industry-standard X11 window system. D11 reinvents the X11 client/server architecture using a new operating system facility similar in concept to the Unix kernel's traditional implementation but designed for user-level execution. This new architecture allows local D11 programs to execute within the D11 window system kernel without compromising the window sytem's integrity. This scheme minimizes context switching, eliminates protocol packing and unpacking, and greatly reduces data copying. D11 programs fall back to the X11 protocol when running remote or connecting to an X11 server. A special D11 program acts as an X11 protocol translator to allow X11 programs to utilize a D11 window system.
[The described system was never implemented.]
NVIDIA OpenGL and Vulkan Support for 2017Mark Kilgard
Learn how NVIDIA continues improving both Vulkan and OpenGL for cross-platform graphics and compute development. This high-level talk is intended for anyone wanting to understand the state of Vulkan and OpenGL in 2017 on NVIDIA GPUs. For OpenGL, the latest standard update maintains the compatibility and feature-richness you expect. For Vulkan, NVIDIA has enabled the latest NVIDIA GPU hardware features and now provides explicit support for multiple GPUs. And for either API, NVIDIA's SDKs and Nsight tools help you develop and debug your application faster.
NVIDIA booth theater presentation at SIGGRAPH in Los Angeles, August 1, 2017.
http://www.nvidia.com/object/siggraph2017-schedule.html?id=sig1732
Get your SIGGRAPH driver release with OpenGL 4.6 and the latest Vulkan functionality from
https://developer.nvidia.com/opengl-driver
EXT_window_rectangles extends OpenGL with a new per-fragment test called the "window rectangles test" for use with FBOs that provides 8 or more inclusive or exclusive rectangles for rasterized fragments. Applications of this functionality include web browsers and virtual reality.
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...Mark Kilgard
Slides for SIGGRAPH paper presentation of "Accelerating Vector Graphics Rendering using the Graphics Hardware Pipeline".
Presented by Vineet Batra (Adobe) on Thursday, August 13, 2015 at 2:00 pm - 3:30 pm, Los Angeles Convention Center, Room 150/151.
Accelerating Vector Graphics Rendering using the Graphics Hardware PipelineMark Kilgard
SIGGRAPH 2015 paper.
We describe our successful initiative to accelerate Adobe Illustrator with the graphics hardware pipeline of modern GPUs. Relying on OpenGL 4.4 plus recent OpenGL extensions for advanced blend modes and first-class GPU-accelerated path rendering, we accelerate the Adobe Graphics Model (AGM) layer responsible for rendering sophisticated Illustrator scenes. Illustrator documents render in either an RGB or CMYK color mode. While GPUs are designed and optimized for RGB rendering, we orchestrate OpenGL rendering of vector content in the proper CMYK color space and accommodate the 5+ color components required. We support both non-isolated and isolated transparency groups, knockout, patterns, and arbitrary path clipping. We harness GPU tessellation to shade paths smoothly with gradient meshes. We do all this and render complex Illustrator scenes 2 to 6x faster than CPU rendering at Full HD resolutions; and 5 to 16x faster at Ultra HD resolutions.
NV_path_rendering is an OpenGL extension for GPU-accelerated path rendering. Recent functionality improvements provide better performance, better typography, rounded rectangles, conics, and OpenGL ES support. This functionality is available today with NVIDIA's 337.88 drivers.
The latest NV_path_rendering specification documents these new functional improvements:
https://www.opengl.org/registry/specs/NV/path_rendering.txt
You can find sample code here:
https://github.com/markkilgard/NVprSDK
presented at SIGGRAPH 2014 in Vancouver during NVIDIA's "Best of GTC" sponsored sessions
http://www.nvidia.com/object/siggraph2014-best-gtc.html
Watch the replay that includes a demo of GPU-accelerated Illustrator and several OpenGL 4 demos running on NVIDIA's Tegra Shield tablet.
http://www.ustream.tv/recorded/51255959
Find out more about the OpenGL examples for GameWorks:
https://developer.nvidia.com/gameworks-opengl-samples
SIGGRAPH Asia 2012: GPU-accelerated Path RenderingMark Kilgard
Presented at SIGGRAPH Asia 2012 in Singapore on Friday, 30 November 14:15 - 16:00 during the "Points and Vectors" session.
Find the paper at http://developer.nvidia.com/game/gpu-accelerated-path-rendering or on Slideshare.
For thirty years, resolution-independent 2D standards (e.g. PostScript, SVG) have relied largely on CPU-based algorithms for the filling and stroking of paths. Learn about our approach to accelerate path rendering with our GPU-based "Stencil, then Cover" programming interface. We've built and productized our OpenGL-based system.
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and BeyondMark Kilgard
Location: Conference Hall K, Singapore EXPO
Date: Thursday, November 29, 2012
Time: 11:00 AM - 11:50 PM
Presenter: Mark Kilgard (Principal Software Engineer, NVIDIA, Austin, Texas)
Abstract: Attend this session to get the most out of OpenGL on NVIDIA Quadro and GeForce GPUs. Learn about the new features in OpenGL 4.3, particularly Compute Shaders. Other topics include bindless graphics; Linux improvements; and how to best use the modern OpenGL graphics pipeline. Learn how your application can benefit from NVIDIA's leadership driving OpenGL as a cross-platform, open industry standard.
Topic Areas: Computer Graphics; Development Tools & Libraries; Visualization; Image and Video Processing
Level: Intermediate
Preprint for SIGGRAPH Asia 2012
Copyright ACM, 2012
For thirty years, resolution-independent 2D standards (e.g. PostScript,
SVG) have depended on CPU-based algorithms for the filling and
stroking of paths. However advances in graphics hardware have largely
ignored the problem of accelerating resolution-independent 2D graphics
rendered from paths.
Our work builds on prior work to re-factor the path rendering task
to leverage existing capabilities of modern pipelined and massively
parallel GPUs. We introduce a two-step “Stencil, then Cover” (StC)
paradigm that explicitly decouples path rendering into one GPU
step to determine a path’s filled or stenciled coverage and a second
step to rasterize conservative geometry intended to test and reset the
coverage determinations of the first step while shading color samples
within the path. Our goals are completeness, correctness, quality, and
performance—but we go further to unify path rendering with OpenGL’s
established 3D rendering pipeline. We have built and productized our
approach to accelerate path rendering as an OpenGL extension.
SIGGRAPH 2012: GPU-Accelerated 2D and Web RenderingMark Kilgard
Video replay: http://nvidia.fullviewmedia.com/siggraph2012/ondemand/SS106.html
Location: West Hall Meeting Room 503, Los Angeles Convention Center
Date: Wednesday, August 8, 2012
Time: 2:40 PM – 3:40 PM
The future of GPU-based visual computing integrates the web, resolution-independent 2D graphics, and 3D to maximize interactivity and quality while minimizing consumed power. See what NVIDIA is doing today to accelerate resolution-independent 2D graphics for web content. This presentation explains NVIDIA's unique "stencil, then cover" approach to accelerating path rendering with OpenGL and demonstrates the wide variety of web content that can be accelerated with this approach.
More information: http://developer.nvidia.com/nv-path-rendering
Video replay: http://nvidia.fullviewmedia.com/siggraph2012/ondemand/SS104.html
Date: Wednesday, August 8, 2012
Time: 11:50 AM - 12:50 PM
Location: SIGGRAPH 2012, Los Angeles
Attend this session to get the most out of OpenGL on NVIDIA Quadro and GeForce GPUs. Learn about the new features in OpenGL 4.3, particularly Compute Shaders. Other topics include bindless graphics; Linux improvements; and how to best use the modern OpenGL graphics pipeline. Learn how your application can benefit from NVIDIA's leadership driving OpenGL as a cross-platform, open industry standard.
Get OpenGL 4.3 beta drivers for NVIDIA GPUs from http://www.nvidia.com/content/devzone/opengl-driver-4.3.html
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
2. CS 354 2
Today’s material
In-class quiz
On path rendering lecture
Lecture topic
Project 3
Digital typography
Presentation of text with computers
3. CS 354 3
My Office Hours
Tuesday, before class
Painter (PAI) 5.35
8:45 a.m. to 9:15
Thursday, after class
ACE 6.302
11:00 a.m. to 12
Randy’s office hours
Monday & Wednesday
11 a.m. to 12:00
Painter (PAI) 5.33
4. CS 354 4
Last time, this time
Last lecture, we discussed
Resolution-independent 2D graphics
Path rendering
This lecture
Digital typography
Projects
Schedule demos with TA for Project 2
Project 3 due Wednesday, April 18, 2012
Get started!
Coming next: Project 4 on ray tracing
5. CS 354 5
On a sheet of paper
Daily Quiz • Write your EID, name, and date
• Write #1, #2, #3, followed by its answer
What are the two standard Multiple choice:
fill modes for filling paths? Conflation artifacts are
possible in path rendering
_______ & ________ when
Multiple choice: The a) Opacity and sub-pixel
curve for the stroke of a coverage are kept
2D cubic path segment is: separate
b) Pixels are given color
a) less than 3rd order values that exceed the
b) 3rd order [0,1] range
c) greater than 3rd order
d) not defined by a c) A path self-intersects
polynomial curve itself
d) The scene is too
complex
6. CS 354 6
Project 3
Accept Biovision Hierarchy (BVH) files
containing motion capture data
Hierarchy of affine transformations
Visualize a stick figure
Animate the figure
9. CS 354 9
Legacy Typography
Metal movable type
…but now we use computers
10. CS 354 10
But Now Type ≈ Math
Fonts are now represented by filled paths
Defined by piecewise Bezier segments
Fonts are defined by math now
Not chunks of cast metal
Plato’s ideals win!
11. CS 354 11
Cubic Bezier Segment Review
Four control points define a cubic Bezier curve
Over parametric range [0,1]
Defined by 3rd order polynomial
12. CS 354 12
Connected Continuity Between
Two Bezier Segments
4th point of 1st segment is
1st curve of the 2nd segment
t
en
2 nd
gm
se
se
gm
1 st
en
t
control point
shared by both segments
13. CS 354 13
Tangent Continuity Between
Two Bezier Segments
Tangent of 1st segment equal to tangent of
the 2nd curve
2 nd
t
se
en
gm
gm
en
se
t
1 st
control point
shared by both segments
14. CS 354 14
PostScript (Adobe) Fonts
Cubic Bezier control points
Good artistic control
4 control points per curved segments
15. CS 354 15
TrueType (Apple/Microsoft ) Fonts
Quadratic Bezier Curves
Cheaper evaluation than cubics
Typically requires more control points
3 control points per curved segments
16. CS 354 16
MetaFont Approach
Preceded PostScript and TrueType fonts
Designed by Douglas Knuth (Stanford)
Used by Knuth’s TeX typesetting system
Glyphs defined by strokes
Not filled path contours
Glyphs specified with a programming language
Not friendly to artists—don’t expect artists to write programs to
define glyphs
19. CS 354 19
Careful: Strong
Opinions Ahead
Everyone who
reads is arguably a
student of
typography
You can have an
opinion about type
But designers and
artists care about
typography a lot
And for good
reason!
Example strong sentiment
26. CS 354 26
Most Famous San Serif Typeface
Hurray for Helvetica!
Exhibited at New York Modern of Modern Art
And subject of a documentary
Not to be confused with its TrueType clone, Arial
27. CS 354 27
Style within a Typeface
Italic
Slanted with
Different glyph shapes
Oblique
Slanted but
Same glyph shape
Other styles
Small Caps
28. CS 354 28
Weight
How “heavy” or “light” is the type?
30. CS 354 30
Text layout
Line spacing
Leading, inter-line spacing
Justification
Left, right, centered, justified
Style sheets or templates
Define document-wide layout parameters
Headers, footnotes, columns, etc.
31. CS 354 31
Typographical Units
Legacy units
Specialized to the domain of typesetting
Pre-dates the Metric system
Points (pt)
Traditional: 72 pt ≡ 0.996 inches
Adobe: 72 pt ≡ 1in
Picas (pc)
12 pt = 1 pc
Font-relative units
Em—originally width of capital “M”
En—half the size of “M”
typically size of space between words
Now Em corresponds to Point Size of font
32. CS 354 32
Point Size
Type is historically measured in points
1/72nd of an inch
Problem
Pixel size ≠ point size
Used to be approximately true for 72 dpi
DPI = dots per inch, or PPI = pixels per inch
Newer displays are 96 to 120 dpi
Often used as an approximation anyway
33. CS 354 33
Font Metrics
Metrics for all glyphs in a font
Typeface at a particular point size
Point size of font ≈ ascender + descender
34. CS 354 34
Glyph Metrics
Glyph metrics vary with each glyph in a font
Intended to be “consistent” with other glyphs in font
Horizontal metrics Vertical metrics
Image credit: FreeType 2 Tutorial
35. CS 354 35
Kerning
Spacing between two glyphs is customized to
the two glyph’s shapes
Improves readability
Generally encoded as ad hoc table by typeface
36. CS 354 36
Ligatures
Joins two or more
characters into a
glyph
Given “type set” feel
to text
Sometimes stylistic,
Sometimes archaic
Sometimes called
digraphs
Ligatures vary with
language and script common modern
system English ligatures
38. CS 354 38
Character Sets
Mapping of integers to characters
Then font maps character to glyphs
Used to be many character sets
Tower of Babel for text interchange
ASCII (7-bit) for America
IBM has EBCDIC
Extended Binary Coded Decimal Interchange Code
ISO/IEC 8859-1 for Western Europe
Huge problem for East Asian languages (CJK)
Unicode has fixed the problem…
39. CS 354 39
Unicode
International standard (1991)
Now on version 6.1
New character points keep getting added
One encoding for basically all human writing
systems
More than 249,763 characters so far
1,114,112 maximum
In over 100 scripts
TrueType and OpenType support Unicode
All typefaces are incomplete in their support
42. CS 354 42
What is a computer font?
Map of character points to “characters”
Unicode, ASCII, etc.
Map of “characters” to glyphs
Font-wide metrics
Per-glyph information
Glyph outline
Metrics for each glyph
Kerning information w.r.t. adjacent glyphs
Hints
43. CS 354 43
Encodings for Unicode
Can’t use 8-bit characters for all Unicode
Even 16-bit integer isn’t enough!
UTF-8
Variable-width 8-bit encoding
Can represent every Unicode character
Used by Linux and the web
UTF-16
Variable width 16-bit character encoding
Used by Windows
UTF-32
32 bits per character points
Easiest to process, least compact
44. CS 354 44
Rendering Outline Glyphs
Conventional method
CPU-based scan-line
rasterization
Augmented by hinting
Adaptively Sampled Distance Fields (ADFs)
MERL’s Saffron type system
Glyphs are static so
pre-computation
is effective
Bitmaps often cached
45. CS 354 45
Massively Parallel GPU-accelerated
Path Rendering Visualized
Anchored triangle Anchored triangle
fans geometry fans net stencil
Stencil =1
Path commands
and control points Resulting net
coverage in stencil
Curved segment Curved segment
geometry net stencil
Stencil -1
Stencil +1
Credit: [Kokoji 2006]
46. CS 354 46
Typographic Tension
“Is the tex
t positione
d accurate
other text ly relative
and gr aph to
” ics?”
ad? ”
re ble?
to ia
sy ntif
ac
ea e
c
“Is tely
xt rs id
ur
e e
a
t
t he r ep
“Is lett
t y p r es e
re
“A
ef a nt e
ce d?
Legibility & Geometric
”
readability fidelity
Tension resolved by increased pixel density!
Challenge: PC displays have maintained a fairly
constant pixel density over decades
New computing form factors changing this
Tablets, smart phones, e-readers, wall touch screens
47. CS 354 47
Improving Legibility
When screens are 75 to 100 dpi
Legibility of text suffers
Strategies
Anti-aliasing glyphs
Disadvantage: makes characters blurry
Disadvantage: small features get lost
Hinting
Adjust glyph outline to preserve glyph features
Anti-anti-aliasing technique
ClearType
Exploit knowledge of pixel’s color geometry
Increase pixel density
Assumes resolution-independent 2D
Hard when window system depends on bitmap content
48. CS 354 48
Pixel Density
Helps
More pixels in the
same area provide a
sharper glyph
49. CS 354 49
Font Hinting
Overall idea
“improving the appearance of small text at low
resolution”
Constrains the scaling of glyphs to match designers
intent at particular device resolutions
Harder than it sounds!
TrueType approach
Outlines defined with quadratic Bezier segments
Hints defined with an assembly-like imperative
programming language to express per-glyph
adjustments
50. CS 354 50
Glyph Hinting Example
Modify the outline to better match the
device’s pixel grid
master outline better sampling
poorly sampled after grid fitting
51. CS 354 51
Glyph Hinting Example
Outline is fitted to the device grid
Diagonal control
master outline fitted & rasterized to
with hints device grid
52. CS 354 52
ClearType
Advantages
Increases spatial resolution for glyphs
Uses sub-pixel rendering
Disadvantages
Color fringing on text
Assumes black text on white background
Text must be aligned to orthogonal pixel grid
Depends on knowledge of RGB pixel geometry
Can vary by monitor
Complicates text rendering
Requires knowledge of device grid, glyph geometry, and
RGB pixel geometry
Windows only due to Intellectual Property restrictions
54. CS 354 54
Programs to Design Typefaces
FontLab Studio 5.0
55. CS 354 55
Font and Typographic APIs
Windows
DirectWrite atop GDI or Direct2D
Legacy GDI
Linux / cross platform
Cairo
FontConfig
FreeType 2
Pango
Mac OS X
Core Text
Advanced Text Services for Unicode Imaging
56. CS 354 56
DirectWrite Functionality
DirectWrite integrates a lot of typographic functionality
Similar to Apple’s integrated approach with Apple Type Services for
Unicode Imaging (ATSUI), now Core Text
Where Linux unbundles these components
Cairo = path rendering, including text
FontConfig = to locate font resources
FreeType2 = font loading, font rasterizer
Pango = text layout, script processing
57. CS 354 57
OpenGL Ignores Text
OpenGL ambivalent about text
glBitmap closest thing API support
Relying on window system interfaces to populate
display lists with bitmap
glXUseXFont, wglUseFontBitmaps
Quite unique among render systems in this
ambivalence!
Xlib, GDI, PostScript, PHIGS, PEX, Quartz 2D, Java
2D, Qt, SVG, OpenVG, Flash, Cairo, Silverlight,
Direct3D/Direct2D/DirectWrite support first-class text
Lack of text isn’t good; it’s anomalous and odd
58. CS 354 58
OpenGL Bitmap Fonts
GLUT includes implementation
glutBitmapCharacter
Calls glBitmap with pre-compiled bitmap data
Also window system specific routines to get bitmaps
from system fonts
wglUseFontBitmaps for Windows
glXUseXFont for X Window System (Linux)
59. CS 354 59
OpenGL Stroke Fonts
Draw glyph’s stroke as line segments
Can transform arbitrarily
Use glEnable(GL_LINE_SMOOTH) for anti-aliasing
glutStrokeCharacter does this
60. CS 354 60
Other Text Approaches
Pack glyphs in texture atlas
Then draw textured rectangles with the
correct texture coordinates for each glyph
61. CS 354 61
First-class Text Support in
Various Rendering Systems
Rendering system Vendor / Sponsor First-class text?
Cairo Open source Yes
Direct2D / Direct3D Microsoft Yes
Flash Adobe Yes
GDI Microsoft Yes
Java 2D Sun Yes
OpenGL Khronos No
OpenVG Khronos Yes
Office Open XML Microsoft / ECMA Yes
PDF Adobe Yes
PHIGS ISO Yes
PostScript Adobe Yes
Qt Nokia Yes
Quart 2D Apple Yes
Scalable Vector Graphics (SVG) World Wide Web Consortium Yes
Silverlight Microsoft Yes
Xlib X Consortium Yes
62. CS 354 62
How did OpenGL’s lack of text
support last for so long?
OpenGL was designed in 1992
Pre-Unicode world
Fonts were bitmaps of ASCII back then
Now TrueType and OpenType dominate
The primitive initial state of OpenGL’s font support has become
mistaken for a philosophical dictate
Text-based applications uniformly ignore OpenGL
Not a good thing
3D applications have their expectations adjusted to
expect lousy text
Not a good thing
Example: Quake 2 console text is miniscule because textured
bitmap characters assumed text sized for 800x600 display
63. CS 354 63
The World Has Changed
Since 1992
Unicode universally accepted now
Systems ship with near-complete, resolution-independent Unicode
fonts now
Good fonts come with your operating system license
International character of web makes UTF-8 text common today
Windows adoption of UTF-16 makes that common within Windows
Web has expanded font repertoire of systems
Content providers and users expect wide range of available fonts
Fonts have standard names embedded in web content
These font names span operating systems
Screen resolution has increased
1992: 640x480 aliased
2009: 1920x1200+ multisampled
Needing all text to be in small point sizes to fit screen isn’t a mandate
anymore
3D support and acceleration is pervasive now
Text makes sense mixed with 3D content today
64. CS 354 64
Direct Path Rendering of
Text in OpenGL
Recent work
NV_path_rendering provides GPU-acceleration of
paths, including glyphs
Glyph support is first-class
65. CS 354 65
Digital Typography Trends
Hinting is going away
Mainly due to denser screens
Expectation of antialiased font appearance
Text not always presented axis-aligned
More font variety in web content
Improving standards
More available fonts
Even font variety for East Asian writing
systems
66. CS 354 66
Next Class
Next lecture
Ray casting and ray tracing
An alternative 3D rendering approach to rasterization
Project 3
Begin work
Due Wednesday, April 18, 2012
(Project 4 will be a simple ray tracer and
immediately follow Project 3)
67. CS 354 67
Credits
Pat Hanrahan (Stanford)
Microsoft Typography
http://www.microsoft.com/typography
Beat Stamm’s The Raster Tragedy at
Low-Resolution Revisited
http://shop.ilovetypography.com/product/a-world-without-type