Presented at FEISGILTT 2017. An introduction to JLIFF, a JSON-based version of the XLIFF 2.x standard currently under development by the OASIS XLIFF-OMOS technical committee.
A subject named "Internet Technology and its Applications" subject's introduction taught as part of B.E.IV (Computer), 8th semester students, VNSGU, Surat, Gujarat State, India.
Dart is a language for the web by Google which is object oriented with optional types. You can use Dart to build great apps for the client-side, server-side and command line.
My story why I love Dart and why it makes me so much productive!
Correctly understanding the eight data types in PHP is essential to a solid foundation in development. Come refresh your knowledge of the scalar types, compound types, and special data types used in PHP, and learn about proper usage of each. Review type juggling, learn some common data type traps to avoid, and how to code defensively to prevent having the data type of a variable change unexpectedly. Finally learn how unit tests can help verify that code is handling data types correctly.
ASTs are an incredibly powerful tool for understanding and manipulating JavaScript. We'll explore this topic by looking at examples from ESLint, a pluggable static analysis tool, and Browserify, a client-side module bundler. Through these examples we'll see how ASTs can be great for analyzing and even for modifying your JavaScript. This talk should be interesting to anyone that regularly builds apps in JavaScript either on the client-side or on the server-side.
A subject named "Internet Technology and its Applications" subject's introduction taught as part of B.E.IV (Computer), 8th semester students, VNSGU, Surat, Gujarat State, India.
Dart is a language for the web by Google which is object oriented with optional types. You can use Dart to build great apps for the client-side, server-side and command line.
My story why I love Dart and why it makes me so much productive!
Correctly understanding the eight data types in PHP is essential to a solid foundation in development. Come refresh your knowledge of the scalar types, compound types, and special data types used in PHP, and learn about proper usage of each. Review type juggling, learn some common data type traps to avoid, and how to code defensively to prevent having the data type of a variable change unexpectedly. Finally learn how unit tests can help verify that code is handling data types correctly.
ASTs are an incredibly powerful tool for understanding and manipulating JavaScript. We'll explore this topic by looking at examples from ESLint, a pluggable static analysis tool, and Browserify, a client-side module bundler. Through these examples we'll see how ASTs can be great for analyzing and even for modifying your JavaScript. This talk should be interesting to anyone that regularly builds apps in JavaScript either on the client-side or on the server-side.
Александр Демченко, CEO Lazy Ants выступил на конференции CODEiD – PHP Odessa Conf #4 с темой «Graphql + Symfony».
• Что такое GraphQL на пальцах для PHP-разработчика.
• Почему GraphQL это глобальный скачек в написании API.
• Почему такие монстры как Facebook, GitHub активно используют GraphQL для своих API.
«Мы рассмотрим основные преимущества использования GraphQL для вашего проекта, как создать свое GraphQL API с помощью Symfony framework и набором доступных библиотек.»
CODEiD – это всеукраинское сообщество PHP-разработчиков. Наша цель — создать сильное сообщество всех, кто увлечен PHP-разработкой, и принимать в нашем уютном приморском городе коллег со всей Украины и мира.
Today’s web and mobile app localization industry relies on numerous standards, libraries and file formats to facilitate the exchange between developers and translators. While some formats are somewhat sophisticated, others lack even the most basic features, like pluralization and contextualization. And most can’t offer support for more advanced localization features, like language cases.
The most common localization formats include Gettext PO, PHP Arrays, Android XML, YAML, .Net RESX, iOS Strings and many others. A typical developer today works with many frameworks - for instance a Laravel backend app (PHP Arrays) with Ember front end (i18n JS) and iOS mobile app (Strings). Since all standards have distinct syntax, in many cases translations cannot be shared across applications.
Translation Markup Language (TML) aims to solve both these problems by introducing a powerful extensible cross-platform syntax that offers support for pluralization, language contextualization, language cases, reusable decorators and much more. TML libraries are available for all major web and mobile platforms. TML allows translators to do in-context translations - where they can translate right from within the apps. TML libraries also eliminate the need for developers to ever deal with the resource files, as all extractions and translation substitution is done realtime and the resource files are only used as a transport between the apps and the Translation Exchange platform.
Translation Exchange stores all translations in Universal Translation Memory (UTM), a graph database which stores all translations with their context, tone, rank and other attributes for accurate matching. This allows translations to be shared across all apps in the Translation Exchange Network. The translation memories of each app are extracted from the UTM graph and are managed by their individual localization teams. During this presentation we will look at some of the features of TML and how it can be used to quickly translate a Laravel application into any number of languages using in-context translation tools. We will also look at how the data is stored and shared across applications using UTM.
Strategies for Data Migration in the Age of CCO and VRA Core 4.0
Presented at the Annual Conference of the Visual Resources Association, March 30th, 2007
Susan Jane Williams, Data Specialist, Scholars Resource; Independent Consultant and Developer
Introduction to source{d} Engine and source{d} Lookout source{d}
Join us for a presentation and demo of source{d} Engine and source{d} Lookout. Combining code retrieval, language agnostic parsing, and git management tools with familiar APIs parsing, source{d} Engine simplifies code analysis. source{d} Lookout, a service for assisted code review that enables running custom code analyzers on GitHub pull requests.
Similar to JLIFF: Where we are, and where we're going (20)
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
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
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
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.
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/
3. XLIFF has always been XML-based
● No abstraction independent of the syntax
● Limits our ability to reason about the
format
● Limits its adoption and (possibly) longevity
5. ● Develop an Object Model (OM)
● Develop non-XML representations of the OM
● Also in scope:
○ Mappings between different *LIFFs
○ Future versions of TMX
○ APIs related to XLIFF or related standard data
exchange
XLIFF-OMOS Goals
6. Brief Digression
The XLIFF Object Model
http://blog.blprnt.com/blog/blprnt/data-in-an-alien-context-kepler-visualization-source-code
7. ● Define “LIFF” independent of representation
● Streamline introduction to XLIFF/JLIFF/etc
● Standardize terminology of language
interchange concepts
OM Goals
8. ● Working draft of prose spec
● UML of XLIFF core
● Work ongoing at https://github.com/oasis-
tcs/xliff-omos-om
OM Status
11. ● Ubiquitous in web service implementations
● Syntactically simple
● Widely understood
● Good tooling
Why JSON?
12. ● Webservices
● Online translation environments
● Data storage in JSON-based stores
Use Cases
13. ● Proof of concept for OM idea
● Improve availability of support for LIOM-
compatible implementations in various
development scenarios
● Data should be interchangeable without loss
between JLIFF and XLIFF!
Goals for JLIFF
14. ● Simple
● Reasonably concise
● Widely supported
● Good Unicode support
JSON: Strengths and Limitations
● Incompletely specified
(Nicolas Seriot,
“Parsing JSON is a
Minefield”)
● Lack of attributes
● Difficult to express
some XML concepts
16. XLIFF always works at the file level
<xliff>
<file id="f1">
...
</file>
<file id="f2">
...
</file>
</xliff>
17. JLIFF is attempting a more flexible
approach
{
"files": [...]
}
{
"groups": [...]
}
{
"fragment": {...}
}
* These representations
may change
** What are the
semantics of converting
this to XLIFF?
19. <unit id="1">
<gls:glossary>
<gls:glossEntry ref="#m1">
<gls:term source="publicTermbase">TAB key</gls:term>
<gls:translation id="1"
source="myTermbase">Tabstopptaste</gls:translation>
<gls:translation ref="#m2" source="myTermbase">TAB-
TASTE</gls:translation>
<gls:definition source="publicTermbase">A keyboard key that is
traditionally used to insert tab characters into a document.
</gls:definition>
</gls:glossEntry>
</gls:glossary>
<segment>
<source>Press the <mrk id="m1" type="term">TAB key</mrk>.</source>
<target>Drücken Sie die <mrk id="m2" type="term">TAB-TASTE</mrk>.
</target>
</segment>
</unit>
What about Namespaces?
urn:oasis:names:tc:xliff:glossary:2.0 glossary
urn:oasis:names:tc:xliff:document:2.0 segment
20. Namespacing via JSON-LD
{
"@context": {
"gls": "urn:oasis:names:tc:xliff:glossary:2.0:glossary",
}
}
Defined at http://docs.oasis-open.org/xliff-omos/jliff/v2.1/jliff-v2.1.jsonld:
{
"@context": "http://docs.oasis-open.org/xliff-omos/jliff/v2.1/jliff-v2.1.jsonld",
....
"gls:glossary": [
{
"gls:definition": { ... }
}
]
}
Use of a colon is a minor inconvenience for some
languages (Javascript)
21. ● Source, Target data are flat lists of objects
○ snippet of text
○ marker
○ inline code
● Segments, Ignorables collected as
"subunits" array
● Default property values in JSON-schema
make things more concise
XLIFF 2.x Unit Model
23. "gls:glossary": [ {
"ref": "m1",
"term": { "text": "TAB key", "source": "publicTermbase" },
"translations": [ {
"id": "1",
"source": "myTermbase",
"text": "Tabstopptaste"
}
],
"definition": {
"text": "A keyboard key that is traditionally used to
insert tab characters into a document.",
"source": "publicTermbase"
}
} ]
}
]
}
A real example, part 2
24. This looks... fine to a machine
{"@context":"http://docs.oasis-open.org/xliff-
omos/jliff/v2.1/jliff-v2.1.jsonld",
"jliff":"2.1","srcLang":"en",
"trgLang":"de","units":[{"id":"u1","subunits":[{"source":[
{"text":"Press the "},{"id":"m1","kind":"sm","type":
"term"},{"text":"TAB key"},{"startRef":"m1","kind":"em"},
{"text":"."}],"target":[{"text":"Drücken Sie die "},
{"id":"m2","kind":"sm","type":"term"},{"text": "TAB-
TASTE"},{"startRef":"m1","kind":"em"},{"text":"."}]},{"typ
e":"ignorable","source":"<br/>"}],"gls:glossary":
[{"ref":"m1","term":{"text":"TAB key","source":
"publicTermbase"},"translations":[{"id":"1","source":
"myTermbase","text":"Tabstopptaste"}], "definition":
{"text":"A keyboard key that is traditionally used to
insert tab characters into a document.",
"source":"publicTermbase"}}]}]}
29. Unfortunately, that doesn't work
Duplicate type keys are
possible
metadata must be an
object to hold this property
30. "Writers that do not support a given custom
namespace based user extension SHOULD
preserve that extension without Modification."
Obstacle: Cross-format Extension Handling
This works across
XLIFF/JLIFF
conversion, right?
32. The Revenge of Untyped Values
<foo:data id="id123"
xmlns:foo="urn:foo:bar">
<foo:value>50</foo:value>
</foo:data>
"value" : 50
"value" : "50"
What is the data type of this value?
Is the appropriate JLIFF representation
or
34. ● Finish the schema! (Modules, modules)
● Write the doc!
● Implementations! (Okapi, ???)
● (Finish OM)
● (Look at other formats)
Goals for 2018
35. JLIFF work on GitHub:
https://github.com/oasis-tcs/xliff-omos-jliff
OM work on GitHub:
https://github.com/oasis-tcs/xliff-omos-om
Where to learn more