Mike Blumenkrantz (Senior Engineer, Samsung Open Source Group), and Lars Bergstrom (Mozilla Research) share their research and implementation of HTML5 within the Servo Browser Engine.
Azure Templates for Consistent DeploymentJosé Maia
Presented at NetPonto Porto 09/September/2017, by José Maia, at Farfetch.
A talk about how to use Azure Resource Manager to follow good DevOps practices.
In this talk I will introduce attendees to the basics of messaging queues, their goals and applications from CFML. Messaging enables software applications to connect and scale. Thus, providing applications to connect to each other as components of a larger application, or to user devices and data. Messaging is asynchronous, and can decouple your software concerns with ease. However, messaging is much more than the traditional publish/subscribe patterns but also the ability to create work queues, routing and much more.
How can we use Adobe Flash Stage 3D to make a multiplayer game on multiple devices using the same codebase?
This session will detail the challenges encountered when attempting to maintain high performance specifications on mobile devices and the guidelines used to succeed.
We will talk about the required production pipeline, provide performance tips and techniques, provide guidelines for deploying and debugging on iOS and Android and give an overview of the process, from start to finish
Come discover what in the world are RESTFul services and what are its benefits over other API building technologies. We will cover the basics of HTTP representation protocols, RESTful routing, security, authentication and testing. We will then move to modeling RESTful resources via an open source tool called Relax; Restful Tools For Lazy Experts and finally scaling it with the Adobe API Manager.
Advanced Server Integration with Data and DirectSencha
Many Ext JS developers have yet to take advantage of Ext Direct to directly call server methods from the browser. During this session, you'll learn how to leverage Ext.Direct's existing functionality to make accessing your server data easier while eliminating common boiler-plate code. This session focuses on introductory material.
PPT on Adobe CQ introduction, it's benefits, architecture.
To get a detailed description please go through: https://www.youtube.com/watch?v=h_S8hCLzlMU
The WordPress Way: Accessibility and Backwards CompatibilityJoseph Dolson
A progress report on the changes in WordPress accessibility over the last year and a conversation on how the dedication to backwards compatibility makes some of the future changes problems which will be long and slow to solve.
Azure Templates for Consistent DeploymentJosé Maia
Presented at NetPonto Porto 09/September/2017, by José Maia, at Farfetch.
A talk about how to use Azure Resource Manager to follow good DevOps practices.
In this talk I will introduce attendees to the basics of messaging queues, their goals and applications from CFML. Messaging enables software applications to connect and scale. Thus, providing applications to connect to each other as components of a larger application, or to user devices and data. Messaging is asynchronous, and can decouple your software concerns with ease. However, messaging is much more than the traditional publish/subscribe patterns but also the ability to create work queues, routing and much more.
How can we use Adobe Flash Stage 3D to make a multiplayer game on multiple devices using the same codebase?
This session will detail the challenges encountered when attempting to maintain high performance specifications on mobile devices and the guidelines used to succeed.
We will talk about the required production pipeline, provide performance tips and techniques, provide guidelines for deploying and debugging on iOS and Android and give an overview of the process, from start to finish
Come discover what in the world are RESTFul services and what are its benefits over other API building technologies. We will cover the basics of HTTP representation protocols, RESTful routing, security, authentication and testing. We will then move to modeling RESTful resources via an open source tool called Relax; Restful Tools For Lazy Experts and finally scaling it with the Adobe API Manager.
Advanced Server Integration with Data and DirectSencha
Many Ext JS developers have yet to take advantage of Ext Direct to directly call server methods from the browser. During this session, you'll learn how to leverage Ext.Direct's existing functionality to make accessing your server data easier while eliminating common boiler-plate code. This session focuses on introductory material.
PPT on Adobe CQ introduction, it's benefits, architecture.
To get a detailed description please go through: https://www.youtube.com/watch?v=h_S8hCLzlMU
The WordPress Way: Accessibility and Backwards CompatibilityJoseph Dolson
A progress report on the changes in WordPress accessibility over the last year and a conversation on how the dedication to backwards compatibility makes some of the future changes problems which will be long and slow to solve.
The professionals who just want to know about the topmost web application development frameworks must go through this blog. For the top 10 development Framework introduction, positive and negative aspects are clearly mentioned.
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5David Voyles
The video for this talk can be found here:https://channel9.msdn.com/Blogs/raw-tech/Getting-started-with-Emscripten--Transpiling-C--C-to-JavaScript--HTML5
I cover how to transpile code from C/C++ to HTML5/JS using Emscripten, an open source compiler tool from Mozilla and Alon Zakai.
MEAN Stack is a full-stack JavaScript solution that helps you build fast, robust and maintainable production web applications using MongoDB, Express, AngularJS, and Node.js.
MEAN Stack is a full-stack JavaScript solution that helps you build fast, robust and maintainable production web applications using MongoDB, Express, AngularJS, and Node.js.
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularMark Leusink
Slides from my ICON UK 2014 session held on September 13, 2014 at IBM Southbank, London.
The session was an introduction to the MEAN stack (Mongo, Express, Angular and Node).
MICROSOFT BLAZOR - NEXT GENERATION WEB UI OR SILVERLIGHT ALL OVER AGAIN?Clint Edmonson
In this talk we'll take a look at Microsoft’s latest foray into web UI frameworks. We’ll look at how Blazor works, the unique features it brings to bear, what the code looks like and wrap up with a discussion of the pros, cons, and whether or not it can live up to its promises.
WebAssembly (wasm) is a binary instruction format for a stack-based virtual machine. New type of code that can be run in a browser. Developed out of performance problems from JavaScript. Wasm code can be executed at near-native speed in the browser. Wasm code is a low-level assembly language but is in a human-readable text format.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
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
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/
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Neuro-symbolic is not enough, we need neuro-*semantic*
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA 2014)
1. STEALING CHROMIUM: EMBEDDING HTML5
WITH THE SERVO BROWSER ENGINE
Lars Bergstrom
Mozilla Research
Mike Blumenkrantz
Samsung R&D America
2. Why a new web engine?
• Support new types of applications and new
devices
• All modern browser engines (Safari, Firefox,
Chrome) originally designed pre-2000
• Coarse parallelism
• Tightly coupled components
• Vast majority of security issues are related to the
C++ memory model
3. Servo
•Written in a memory-safe
systems language, Rust
• Architected for
parallelism
• Coarse (per-tab), as in
Chrome
• Lightweight (intra-page),
too
• Designed for embedding
4. Rust - safe systems programming
• C++ syntax and idioms
• C++-like performance
•Memory safety
• Concurrency
• Parallelism
http://www.rust-lang.org
8. How a browser works
HTML
CSS
JS
Script &
Interactions
DOM Flow
Tree
Display
Lists
Script
Layout Render
Parsing
More details: http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/
9. How a browser works
HTML
CSS
JS
Script &
Interactions
DOM Flow
Tree
Display
Lists
Script
Layout Render
Parsing
This works:
<html>
<script>
document.write
(“</script>
<li>foo</li>
</html>
More details: http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/
10. Timing breakdown
Task Percentage
Runtime libraries 25%
Layout 22%
Windowing 17%
Script 16%
Painting to screen 10%
CSS styling 4%
Other 6%
Data from A Case for Parallelizing Web Pages. Mai, Tang, et. al. HOTPAR ‘12
17. Parallel layout
•Matters hugely on mobile platforms
• Processors run at lower frequencies, but many
cores
•Would enable more complicated pages on all
platforms
• Implemented by work-stealing algorithm
See: Fast and Parallel Webpage Layout. Meyerovich and Bodik. WWW 2010.
20. Parallel layout challenges
•HTML layout has complex dependencies
• Inline element positioning
• Floating elements
• Vertical text
• Pagination
• Considering adding speculation
21. Layout: parallel speedups
Time (ms)
700
525
350
175
0
High CPU Frequency Low CPU Frequency
1 2 3 4 5 6 7 8
Number of Threads
22. Total time with parallel layout
Time (s)
3.6
2.7
1.8
0.9
0
High CPU Frequency Low CPU Frequency
1 2 3 4 5 6 7 8
Number of Threads
23. Total power with parallel layout
Power (J)
120
90
60
30
0
High CPU Frequency Low CPU Frequency
1 2 3 4 5 6 7 8
Number of Threads
Measurements by Laleh Beni, intern from University of California Irvine
24. Punchline: parallelism for power, too
• Force low-frequency CPU setting
• Above four cores, same end-to-end performance
as single core at high-frequency
• BUT, 40% of the power usage
• Could also parallelize more
• Rendering, CSS selector matching, etc.
25. From engine to browser
• Servo just renders pages
• Similar to the Blink and Gecko engines
• Designed to work in many browser shells
• Firefox OS, over interprocess communication
(IPC)
• Android, by implementing a Java wrapper
•On the desktop with…
27. Why embed?
• Reduced development
time
•HTML5 popularity
28. How not to embed
•WebKit
• Blink
• Both suffer from an unstable API
• Application developer choices:
• Ship full browser engine with application
• Continually update to match breakages
29. How to embed?
• CEF: Chromium Embedded Framework
• Isolates application developers from core API
• C API with C++ extensions
30. Servo embedding strategy
• Stable API/ABI
• Extensive API testing is a plus
• C-based
• Flexible
• Already designed
31. How to embed with Servo?
• Use CEF API+ABI
• Removes need for YA embedding API
• Less competition, more coding
• Allows easy testing between engines
• Servo: the pragmatic embedding engine
32. Servo embedding methodology
• Full symbol/ABI coverage
• Every CEF function call resolves to a Servo function
• Struct allocation sizes are identical
typedef struct _cef_string_utf8_t {
char* str;
size_t length;
void (*dtor)(char* str);
} cef_string_utf8_t;
!!!!!
C
pub struct cef_string_utf8 {
pub str: *mut u8,
pub length: size_t,
pub dtor: extern “C” fn(str: *mut u8),
}
!!!!!
Rust
33. Servo embedding development
• Start with base set of symbols
• `nm -u` on CEF applications
• Track function execution
• CEF <-> Blink <-> Application <-> CEF …
•Mimic CEF behavior using Servo equivalents
• Use preload hacks to test
• LD_PRELOAD on Linux
34. Servo status
• Pass some tests
• ACID1, ACID2
• Render basic web pages
•Wikipedia, etc.
• Focus on design +
challenges
• Parallelism, latency,
power, memory
36. Getting involved with Servo
•www.github.com/servo/
servo/issues
• Filter for “E-Easy”
• irc.mozilla.org, #servo
channel
•Worldwide community
• Looking for more
partners and contributors
• larsberg@mozilla.com