The document discusses updates to the ATS2 programming language after November 2015, including using SMT solvers like Z3 to type check ATS2 programs. Specifically, the patsolve_smt2 command can convert ATS2 constraints to SMT-LIB format understood by solvers. This allows them to handle constraints over real numbers and potentially type check programs more effectively. Examples are provided for setting up ATS-extsolve and running an ATS2 Fibonacci number program through the Z3 SMT solver.
Embedded application designed by ATS languageKiwamu Okabe
The document discusses using the ATS programming language for embedded applications. It notes that ATS features dependent types, linear types, and optional garbage collection, which could prevent bugs like Heartbleed. The document demonstrates ATS applications running on ESP8266 and Arduino hardware and notes the type of errors ATS is able to capture during compilation. It outlines an agenda to cover ATS language basics, proofs, linear types, comparisons to other languages, and conclusions.
This document discusses programming the ESP8266 microcontroller using the ATS programming language. It provides information on the ESP8266 module, the ATS language which features dependent types and linear types, and demonstrates examples of ATS interfaces and applications for GPIO control and blinking an LED. Code examples are referenced from a GitHub repository. The document also mentions an upcoming functional IoT meetup in December to discuss this topic further.
Static typing and proof in ATS languageKiwamu Okabe
This document discusses implementing a rock-paper-scissors game in C language. It first defines an enum type for the three options - rock, paper, scissors. It then shows functions to print the name of a selected option, and to determine the winning option and even option based on two input options. However, it notes that the implementation allows for potential run-time errors if the logic in the functions is incorrect.
The document provides instructions for installing the ATS2 programming language compiler on Debian Linux. It includes downloading the source code for ATS2 and its dependencies, installing prerequisite packages, compiling the compiler, and confirming installation is complete by checking the compiler version. The goal is for readers to learn to install ATS2 themselves by following the provided steps.
Functional IoT: Programming Language and OSKiwamu Okabe
The document discusses functional programming languages for IoT applications. It describes ATS, a functional language without garbage collection that is compiled to C and supports theorem proving to safely use pointers. ATS has been used to program ESP8266 and Arduino devices. The document provides examples of errors that ATS can catch, like a variable needing to be freed or an unsolved constraint.
Metasepi team meeting #19: ATS application on ArduinoKiwamu Okabe
* [0] ATS application demo
* [1] What is Metasepi?
* [2] How to create Metasepi?
* [3] What is ATS language?
* [4] Let's read the demo code
* [5] Japan ATS User Group
The document discusses using the ATS programming language as a safer alternative to C for systems programming. ATS incorporates types like dependent types and linear types that can prevent bugs like Heartbleed. The document provides instructions for installing the ATS compiler on Debian Linux and shows an example FizzBuzz program in both C and ATS.
Embedded application designed by ATS languageKiwamu Okabe
The document discusses using the ATS programming language for embedded applications. It notes that ATS features dependent types, linear types, and optional garbage collection, which could prevent bugs like Heartbleed. The document demonstrates ATS applications running on ESP8266 and Arduino hardware and notes the type of errors ATS is able to capture during compilation. It outlines an agenda to cover ATS language basics, proofs, linear types, comparisons to other languages, and conclusions.
This document discusses programming the ESP8266 microcontroller using the ATS programming language. It provides information on the ESP8266 module, the ATS language which features dependent types and linear types, and demonstrates examples of ATS interfaces and applications for GPIO control and blinking an LED. Code examples are referenced from a GitHub repository. The document also mentions an upcoming functional IoT meetup in December to discuss this topic further.
Static typing and proof in ATS languageKiwamu Okabe
This document discusses implementing a rock-paper-scissors game in C language. It first defines an enum type for the three options - rock, paper, scissors. It then shows functions to print the name of a selected option, and to determine the winning option and even option based on two input options. However, it notes that the implementation allows for potential run-time errors if the logic in the functions is incorrect.
The document provides instructions for installing the ATS2 programming language compiler on Debian Linux. It includes downloading the source code for ATS2 and its dependencies, installing prerequisite packages, compiling the compiler, and confirming installation is complete by checking the compiler version. The goal is for readers to learn to install ATS2 themselves by following the provided steps.
Functional IoT: Programming Language and OSKiwamu Okabe
The document discusses functional programming languages for IoT applications. It describes ATS, a functional language without garbage collection that is compiled to C and supports theorem proving to safely use pointers. ATS has been used to program ESP8266 and Arduino devices. The document provides examples of errors that ATS can catch, like a variable needing to be freed or an unsolved constraint.
Metasepi team meeting #19: ATS application on ArduinoKiwamu Okabe
* [0] ATS application demo
* [1] What is Metasepi?
* [2] How to create Metasepi?
* [3] What is ATS language?
* [4] Let's read the demo code
* [5] Japan ATS User Group
The document discusses using the ATS programming language as a safer alternative to C for systems programming. ATS incorporates types like dependent types and linear types that can prevent bugs like Heartbleed. The document provides instructions for installing the ATS compiler on Debian Linux and shows an example FizzBuzz program in both C and ATS.
The document discusses the ATS programming language. ATS is presented as a safer alternative to C for systems programming due to its use of dependent types, linear types, and optional garbage collection. It can be compiled to run without a runtime on baremetal systems like an Arduino. The author is looking to spread awareness and use of ATS in Japan by starting a user group and showcasing its use for functional IoT programming.
Metasepi team meeting #16: Safety on ATS language + MCUKiwamu Okabe
This document summarizes the key topics from meeting #16 of the Metasepi team:
1. The meeting discussed using the ATS programming language for developing Metasepi, an operating system designed with strong typing.
2. A demonstration showed running ATS code on an Arduino and mbed microcontroller platform.
3. ATS is a strongly typed language like ML that uses dependent types, linear types, and optional garbage collection to promote safe systems programming without runtime errors.
The document introduces Functional IoT, which aims to create an exhaustive catalog of methodologies for strongly typed functional programming languages that can be used for embedded systems and IoT device programming. It discusses that while C/C++ are commonly used for IoT, they lack abilities like avoiding vulnerabilities, having formally verifiable specifications, and maintaining quality; and that Functional IoT will evaluate languages based on demo code running on microcontrollers to determine which languages are best suited. The goal is to determine methodologies that can help address issues like vulnerabilities, specifications, quality and efficiency.
Hands-on VeriFast with STM32 microcontrollerKiwamu Okabe
The document discusses setting up the development environment for hands-on verification of STM32 microcontroller applications using VeriFast. It describes installing ChibiOS/RT real-time operating system, the STM32 toolchain, VeriFast verification tool, and connecting an STM32 board. The document provides instructions for setting up the environment on Windows and MacOS.
The document discusses several open hardware and software platforms for hobbyist programmers, including Arduino, MSP430, Pinguino, mbed, FreeRTOS, ChibiOS/RT, and chopstx. Each platform is summarized, including the microcontroller or CPU used, compilers, support for networking, available development boards, and costs. Overall, the document provides an overview of popular open-source hardware and software options for hobbyist IoT development.
The document discusses the Metasepi project, which aims to create a Unix-like operating system using strong typing to avoid runtime errors. It began when the author worked at Ricoh developing embedded devices based on NetBSD and observed quality issues from lack of shared specifications. The Metasepi project hypothesizes that strong types can capture specifications to prevent some runtime errors. The first iteration involved creating a Haskell compiler called jhc to use the strong typing of Haskell for the operating system code. The document debates whether the research institution RIKEN AICS should support continuing the Metasepi project.
Poster: Generate ATS interface from C code, and introduce linear typeKiwamu Okabe
The document discusses using the ATS programming language for low-level programming as an alternative to C. It describes c2ats, a tool that can generate ATS interfaces from C code. This allows C libraries to be accessed from ATS. The document provides examples of how c2ats translates C primitive types, functions, structures, and pointers to equivalent ATS definitions. This allows existing C code to be integrated with ATS for improved type safety and compile-time error checking compared to C alone.
The document discusses performance testing of various programming languages running on the Java Virtual Machine (JVM). It describes running a simple looping benchmark in Java, Scala, Clojure, JRuby, JPC and JavaScript to see how well each language's bytecodes can be optimized by the JIT compiler. The results show that Java and Scala perform similarly due to similar semantics, while other languages encounter issues like object allocation, lack of inlining, or data type mismatches. The author advocates for tools to help language implementers understand JVM optimization barriers and ensure their languages can achieve high performance.
Speech recognition is the process of translating spoken words to text. It involves recording and digitizing audio, segmenting it into phonemes, applying a recognition model to analyze the phonemes against a lexicon and grammar, and returning a confidence-weighted transcript. Speech recognition accuracy is around 92% for English but lower for other languages. Mobile apps can use platform-specific APIs like Google Now on Android while the W3C specification allows cross-browser support. The related Speech Synthesis API can output responses by voice. Together these APIs enable interactive speech applications.
If you can write some code patch, it will be one of great ways for contributing open-sources. but, there is no way to contribute open-sources without writing code? I'd like to encourage doing translation, filing a bug and so on. This is a case study for that. Don't need anything else! Please join us and enjoy! :)
My presentation from RedDotRubyConf 2013 in Singapore. Turned out to be a reflection on whether I'd still be a Rubyist in another 5 years, and what are the external trends that might change that. Short story: Yes! Of course. I'll always think like a Rubyist even though things will probably get more polyglot. The arena of web development is perhaps the most unpredictable though.
Monkey-patching in Python: a magic trick or a powerful tool?Elizaveta Shashkova
Monkey-patching is a dynamic modification of a class or a module at runtime.
The Python gives developers a great opportunity to use monkey-patching almost everywhere. But should developers do it? Is it a magic trick or a powerful tool? In this talk we will try to give the answers to these questions and try to figure out pros and cons of using monkey-patching.
First of all we will learn what is monkey-patching in Python and consider some basic examples of using it.
Of course, monkey-patching may cause some problems in the code. We will consider bad ways to use it and try to learn different types of problems monkey-patching may lead to.
Despite of some bugs that may appear in a patched program, monkey-patching is used in a real life rather often. There are some reasons and motives to do it. We will consider the examples of using monkey-patching in real projects like gevent, in some other libraries and in testing. Also we will learn some monkey-patch tricks that helps to solve real-life problems in the Python debugger which is a part of the PyCharm and the PyDev.
After that we will compare using of monkey-patching in Python to using it in an another dynamic language Ruby. Are there any differences between them? Is our reasoning correct for Ruby?
Finally we will conclude all our thoughts and examples and try to give the answer to the question from title.
The document discusses Coffeescript, an alternative syntax for Javascript that compiles to Javascript. It covers installing Coffeescript, using the REPL, and compiling Coffeescript files. The key differences between Coffeescript and Javascript syntax are explained, such as using indentation instead of curly braces and the class syntax. Issues in the debate around Coffeescript versus plain Javascript are also mentioned.
Gareth Rushgrove (Puppet) - Ubiquity at #DOXLONOutlyer
Ubiquity - Moving past file, package and service with Puppet Gareth Rushgrove Puppet Labs
In the last few years we've all got much better at managing the configuration of node level resources like files and packages. But our infrastructures are only getting larger and more complex, and today we're more likely to be talking about clusters and distributed systems than individual hosts. This talk will cover a number of things Puppet is doing to make this shift easier - from support for hardware devices and tools like etcd to cloud provisioning and docker.
Video: http://youtu.be/Z2mv9Istg90
Join DevOps Exchange London here: http://www.meetup.com/DevOps-Exchange-London/
Follow DOXLON on twitter http://www.twitter.com/doxlon
Ajhc Haskell Compiler with Reentrant GCKiwamu Okabe
The document discusses Ajhc, a Haskell compiler with reentrant garbage collection. Ajhc is based on the jhc Haskell compiler, which produces low-memory footprint binaries that run fast. The document outlines an agenda to demonstrate a NetBSD driver written in Haskell, discuss Metasepi and its goal of building a type-safe operating system, explain Ajhc and its reentrant GC features, and how to write Haskell drivers for kernels. It advocates for using safer programming languages like Haskell in core systems code to prevent bugs.
Jay Phillips's Presentation at eComm 2009eCommConf
The document introduces Adhearsion, an open-source telephony software framework built using Ruby that allows developers to easily create voice applications and integrate telephony functionality. It discusses trends in programming languages and technologies that Adhearsion follows, such as being open-source, supporting various telephony systems, and enabling polyglot programming. Examples of what Adhearsion is and is not are provided, and the document advertises an upcoming tutorial on building voice applications with Adhearsion.
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
The document discusses the ATS programming language. ATS is presented as a safer alternative to C for systems programming due to its use of dependent types, linear types, and optional garbage collection. It can be compiled to run without a runtime on baremetal systems like an Arduino. The author is looking to spread awareness and use of ATS in Japan by starting a user group and showcasing its use for functional IoT programming.
Metasepi team meeting #16: Safety on ATS language + MCUKiwamu Okabe
This document summarizes the key topics from meeting #16 of the Metasepi team:
1. The meeting discussed using the ATS programming language for developing Metasepi, an operating system designed with strong typing.
2. A demonstration showed running ATS code on an Arduino and mbed microcontroller platform.
3. ATS is a strongly typed language like ML that uses dependent types, linear types, and optional garbage collection to promote safe systems programming without runtime errors.
The document introduces Functional IoT, which aims to create an exhaustive catalog of methodologies for strongly typed functional programming languages that can be used for embedded systems and IoT device programming. It discusses that while C/C++ are commonly used for IoT, they lack abilities like avoiding vulnerabilities, having formally verifiable specifications, and maintaining quality; and that Functional IoT will evaluate languages based on demo code running on microcontrollers to determine which languages are best suited. The goal is to determine methodologies that can help address issues like vulnerabilities, specifications, quality and efficiency.
Hands-on VeriFast with STM32 microcontrollerKiwamu Okabe
The document discusses setting up the development environment for hands-on verification of STM32 microcontroller applications using VeriFast. It describes installing ChibiOS/RT real-time operating system, the STM32 toolchain, VeriFast verification tool, and connecting an STM32 board. The document provides instructions for setting up the environment on Windows and MacOS.
The document discusses several open hardware and software platforms for hobbyist programmers, including Arduino, MSP430, Pinguino, mbed, FreeRTOS, ChibiOS/RT, and chopstx. Each platform is summarized, including the microcontroller or CPU used, compilers, support for networking, available development boards, and costs. Overall, the document provides an overview of popular open-source hardware and software options for hobbyist IoT development.
The document discusses the Metasepi project, which aims to create a Unix-like operating system using strong typing to avoid runtime errors. It began when the author worked at Ricoh developing embedded devices based on NetBSD and observed quality issues from lack of shared specifications. The Metasepi project hypothesizes that strong types can capture specifications to prevent some runtime errors. The first iteration involved creating a Haskell compiler called jhc to use the strong typing of Haskell for the operating system code. The document debates whether the research institution RIKEN AICS should support continuing the Metasepi project.
Poster: Generate ATS interface from C code, and introduce linear typeKiwamu Okabe
The document discusses using the ATS programming language for low-level programming as an alternative to C. It describes c2ats, a tool that can generate ATS interfaces from C code. This allows C libraries to be accessed from ATS. The document provides examples of how c2ats translates C primitive types, functions, structures, and pointers to equivalent ATS definitions. This allows existing C code to be integrated with ATS for improved type safety and compile-time error checking compared to C alone.
The document discusses performance testing of various programming languages running on the Java Virtual Machine (JVM). It describes running a simple looping benchmark in Java, Scala, Clojure, JRuby, JPC and JavaScript to see how well each language's bytecodes can be optimized by the JIT compiler. The results show that Java and Scala perform similarly due to similar semantics, while other languages encounter issues like object allocation, lack of inlining, or data type mismatches. The author advocates for tools to help language implementers understand JVM optimization barriers and ensure their languages can achieve high performance.
Speech recognition is the process of translating spoken words to text. It involves recording and digitizing audio, segmenting it into phonemes, applying a recognition model to analyze the phonemes against a lexicon and grammar, and returning a confidence-weighted transcript. Speech recognition accuracy is around 92% for English but lower for other languages. Mobile apps can use platform-specific APIs like Google Now on Android while the W3C specification allows cross-browser support. The related Speech Synthesis API can output responses by voice. Together these APIs enable interactive speech applications.
If you can write some code patch, it will be one of great ways for contributing open-sources. but, there is no way to contribute open-sources without writing code? I'd like to encourage doing translation, filing a bug and so on. This is a case study for that. Don't need anything else! Please join us and enjoy! :)
My presentation from RedDotRubyConf 2013 in Singapore. Turned out to be a reflection on whether I'd still be a Rubyist in another 5 years, and what are the external trends that might change that. Short story: Yes! Of course. I'll always think like a Rubyist even though things will probably get more polyglot. The arena of web development is perhaps the most unpredictable though.
Monkey-patching in Python: a magic trick or a powerful tool?Elizaveta Shashkova
Monkey-patching is a dynamic modification of a class or a module at runtime.
The Python gives developers a great opportunity to use monkey-patching almost everywhere. But should developers do it? Is it a magic trick or a powerful tool? In this talk we will try to give the answers to these questions and try to figure out pros and cons of using monkey-patching.
First of all we will learn what is monkey-patching in Python and consider some basic examples of using it.
Of course, monkey-patching may cause some problems in the code. We will consider bad ways to use it and try to learn different types of problems monkey-patching may lead to.
Despite of some bugs that may appear in a patched program, monkey-patching is used in a real life rather often. There are some reasons and motives to do it. We will consider the examples of using monkey-patching in real projects like gevent, in some other libraries and in testing. Also we will learn some monkey-patch tricks that helps to solve real-life problems in the Python debugger which is a part of the PyCharm and the PyDev.
After that we will compare using of monkey-patching in Python to using it in an another dynamic language Ruby. Are there any differences between them? Is our reasoning correct for Ruby?
Finally we will conclude all our thoughts and examples and try to give the answer to the question from title.
The document discusses Coffeescript, an alternative syntax for Javascript that compiles to Javascript. It covers installing Coffeescript, using the REPL, and compiling Coffeescript files. The key differences between Coffeescript and Javascript syntax are explained, such as using indentation instead of curly braces and the class syntax. Issues in the debate around Coffeescript versus plain Javascript are also mentioned.
Gareth Rushgrove (Puppet) - Ubiquity at #DOXLONOutlyer
Ubiquity - Moving past file, package and service with Puppet Gareth Rushgrove Puppet Labs
In the last few years we've all got much better at managing the configuration of node level resources like files and packages. But our infrastructures are only getting larger and more complex, and today we're more likely to be talking about clusters and distributed systems than individual hosts. This talk will cover a number of things Puppet is doing to make this shift easier - from support for hardware devices and tools like etcd to cloud provisioning and docker.
Video: http://youtu.be/Z2mv9Istg90
Join DevOps Exchange London here: http://www.meetup.com/DevOps-Exchange-London/
Follow DOXLON on twitter http://www.twitter.com/doxlon
Ajhc Haskell Compiler with Reentrant GCKiwamu Okabe
The document discusses Ajhc, a Haskell compiler with reentrant garbage collection. Ajhc is based on the jhc Haskell compiler, which produces low-memory footprint binaries that run fast. The document outlines an agenda to demonstrate a NetBSD driver written in Haskell, discuss Metasepi and its goal of building a type-safe operating system, explain Ajhc and its reentrant GC features, and how to write Haskell drivers for kernels. It advocates for using safer programming languages like Haskell in core systems code to prevent bugs.
Jay Phillips's Presentation at eComm 2009eCommConf
The document introduces Adhearsion, an open-source telephony software framework built using Ruby that allows developers to easily create voice applications and integrate telephony functionality. It discusses trends in programming languages and technologies that Adhearsion follows, such as being open-source, supporting various telephony systems, and enabling polyglot programming. Examples of what Adhearsion is and is not are provided, and the document advertises an upcoming tutorial on building voice applications with Adhearsion.
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
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.
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.
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.
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
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.
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.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
“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.
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.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
2. What's ATS2 language?What's ATS2 language?What's ATS2 language?What's ATS2 language?What's ATS2 language?
☆ http://www.ats-lang.org/☆ http://www.ats-lang.org/☆ http://www.ats-lang.org/☆ http://www.ats-lang.org/☆ http://www.ats-lang.org/
☆ The syntax is similar to ML☆ The syntax is similar to ML☆ The syntax is similar to ML☆ The syntax is similar to ML☆ The syntax is similar to ML
☆ DML-style dependent types / Linear types☆ DML-style dependent types / Linear types☆ DML-style dependent types / Linear types☆ DML-style dependent types / Linear types☆ DML-style dependent types / Linear types
☆ Theorem proving / Safely using pointer☆ Theorem proving / Safely using pointer☆ Theorem proving / Safely using pointer☆ Theorem proving / Safely using pointer☆ Theorem proving / Safely using pointer
☆ Without GC / Without runtime☆ Without GC / Without runtime☆ Without GC / Without runtime☆ Without GC / Without runtime☆ Without GC / Without runtime
☆ Compiled into C language code☆ Compiled into C language code☆ Compiled into C language code☆ Compiled into C language code☆ Compiled into C language code
3. What's Japan ATS User Group?What's Japan ATS User Group?What's Japan ATS User Group?What's Japan ATS User Group?What's Japan ATS User Group?
☆ http://jats-ug.metasepi.org/☆ http://jats-ug.metasepi.org/☆ http://jats-ug.metasepi.org/☆ http://jats-ug.metasepi.org/☆ http://jats-ug.metasepi.org/
☆ Translating ATS documents into Japanese☆ Translating ATS documents into Japanese☆ Translating ATS documents into Japanese☆ Translating ATS documents into Japanese☆ Translating ATS documents into Japanese
*�ATSプログラミング⼊門
��http://jats-ug.metasepi.org/doc/ATS2/INT2PROGINATS/
*�ATSプログラミングチュートリアル
��http://jats-ug.metasepi.org/doc/ATS2/ATS2TUTORIAL/
*�Effective�ATS
��https://github.com/jats-ug/translate/blob/master/Manual/EffectiveATS.md
*�ATSプログラミング⼊門
��http://jats-ug.metasepi.org/doc/ATS2/INT2PROGINATS/
*�ATSプログラミングチュートリアル
��http://jats-ug.metasepi.org/doc/ATS2/ATS2TUTORIAL/
*�Effective�ATS
��https://github.com/jats-ug/translate/blob/master/Manual/EffectiveATS.md
*�ATSプログラミング⼊門
��http://jats-ug.metasepi.org/doc/ATS2/INT2PROGINATS/
*�ATSプログラミングチュートリアル
��http://jats-ug.metasepi.org/doc/ATS2/ATS2TUTORIAL/
*�Effective�ATS
��https://github.com/jats-ug/translate/blob/master/Manual/EffectiveATS.md
*�ATSプログラミング⼊門
��http://jats-ug.metasepi.org/doc/ATS2/INT2PROGINATS/
*�ATSプログラミングチュートリアル
��http://jats-ug.metasepi.org/doc/ATS2/ATS2TUTORIAL/
*�Effective�ATS
��https://github.com/jats-ug/translate/blob/master/Manual/EffectiveATS.md
*�ATSプログラミング⼊門
��http://jats-ug.metasepi.org/doc/ATS2/INT2PROGINATS/
*�ATSプログラミングチュートリアル
��http://jats-ug.metasepi.org/doc/ATS2/ATS2TUTORIAL/
*�Effective�ATS
��https://github.com/jats-ug/translate/blob/master/Manual/EffectiveATS.md
4. But the translations are stopped...But the translations are stopped...But the translations are stopped...But the translations are stopped...But the translations are stopped...
$�w3m�http://jats-ug.metasepi.org/doc/ATS2/INT2PROGINATS/
$�pwd
/home/kiwamu/doc/ATS-Postiats.jats-ug/doc/BOOK/INT2PROGINATS
$�git�log�.
--snip--
commit�88ce0cdbd5ecf38f6d30a0c5141c3263389d91b8
Author:�Kiwamu�Okabe�<kiwamu@debian.or.jp>
Date:���Sun�Nov�29�11:50:07�2015�+0900
����Some�fix
--snip--
$�w3m�http://jats-ug.metasepi.org/doc/ATS2/INT2PROGINATS/
$�pwd
/home/kiwamu/doc/ATS-Postiats.jats-ug/doc/BOOK/INT2PROGINATS
$�git�log�.
--snip--
commit�88ce0cdbd5ecf38f6d30a0c5141c3263389d91b8
Author:�Kiwamu�Okabe�<kiwamu@debian.or.jp>
Date:���Sun�Nov�29�11:50:07�2015�+0900
����Some�fix
--snip--
$�w3m�http://jats-ug.metasepi.org/doc/ATS2/INT2PROGINATS/
$�pwd
/home/kiwamu/doc/ATS-Postiats.jats-ug/doc/BOOK/INT2PROGINATS
$�git�log�.
--snip--
commit�88ce0cdbd5ecf38f6d30a0c5141c3263389d91b8
Author:�Kiwamu�Okabe�<kiwamu@debian.or.jp>
Date:���Sun�Nov�29�11:50:07�2015�+0900
����Some�fix
--snip--
$�w3m�http://jats-ug.metasepi.org/doc/ATS2/INT2PROGINATS/
$�pwd
/home/kiwamu/doc/ATS-Postiats.jats-ug/doc/BOOK/INT2PROGINATS
$�git�log�.
--snip--
commit�88ce0cdbd5ecf38f6d30a0c5141c3263389d91b8
Author:�Kiwamu�Okabe�<kiwamu@debian.or.jp>
Date:���Sun�Nov�29�11:50:07�2015�+0900
����Some�fix
--snip--
$�w3m�http://jats-ug.metasepi.org/doc/ATS2/INT2PROGINATS/
$�pwd
/home/kiwamu/doc/ATS-Postiats.jats-ug/doc/BOOK/INT2PROGINATS
$�git�log�.
--snip--
commit�88ce0cdbd5ecf38f6d30a0c5141c3263389d91b8
Author:�Kiwamu�Okabe�<kiwamu@debian.or.jp>
Date:���Sun�Nov�29�11:50:07�2015�+0900
����Some�fix
--snip--
After November 2015, what happens at ATS2?After November 2015, what happens at ATS2?After November 2015, what happens at ATS2?After November 2015, what happens at ATS2?After November 2015, what happens at ATS2?
5. ATS-extsolve using SMT solver #1ATS-extsolve using SMT solver #1ATS-extsolve using SMT solver #1ATS-extsolve using SMT solver #1ATS-extsolve using SMT solver #1
☆ Command patsolve_smt2 turns ATS
constraints in json format into those in smt-lib2
format.
☆ Command patsolve_smt2 turns ATS
constraints in json format into those in smt-lib2
format.
☆ Command patsolve_smt2 turns ATS
constraints in json format into those in smt-lib2
format.
☆ Command patsolve_smt2 turns ATS
constraints in json format into those in smt-lib2
format.
☆ Command patsolve_smt2 turns ATS
constraints in json format into those in smt-lib2
format.
☆ It means that z3, cvc4 and etc can be used to
type-check.
☆ It means that z3, cvc4 and etc can be used to
type-check.
☆ It means that z3, cvc4 and etc can be used to
type-check.
☆ It means that z3, cvc4 and etc can be used to
type-check.
☆ It means that z3, cvc4 and etc can be used to
type-check.
☆ It can handle constraints on real numbers.☆ It can handle constraints on real numbers.☆ It can handle constraints on real numbers.☆ It can handle constraints on real numbers.☆ It can handle constraints on real numbers.
9. ATS-extsolve using SMT solver #5ATS-extsolve using SMT solver #5ATS-extsolve using SMT solver #5ATS-extsolve using SMT solver #5ATS-extsolve using SMT solver #5
☆ But, z3 can type-check it!☆ But, z3 can type-check it!☆ But, z3 can type-check it!☆ But, z3 can type-check it!☆ But, z3 can type-check it!
$�patscc�--constraint-ignore�-o�fib�fib.dats
$�patsopt�-tc�--constraint-export�-d�fib.dats�│�../patsolve_z3�-i
Hello�from�[patsolve_z3]!
typechecking�is�finished�successfully!
$�./fib�25
fib(25)�=�75025
$�patscc�--constraint-ignore�-o�fib�fib.dats
$�patsopt�-tc�--constraint-export�-d�fib.dats�│�../patsolve_z3�-i
Hello�from�[patsolve_z3]!
typechecking�is�finished�successfully!
$�./fib�25
fib(25)�=�75025
$�patscc�--constraint-ignore�-o�fib�fib.dats
$�patsopt�-tc�--constraint-export�-d�fib.dats�│�../patsolve_z3�-i
Hello�from�[patsolve_z3]!
typechecking�is�finished�successfully!
$�./fib�25
fib(25)�=�75025
$�patscc�--constraint-ignore�-o�fib�fib.dats
$�patsopt�-tc�--constraint-export�-d�fib.dats�│�../patsolve_z3�-i
Hello�from�[patsolve_z3]!
typechecking�is�finished�successfully!
$�./fib�25
fib(25)�=�75025
$�patscc�--constraint-ignore�-o�fib�fib.dats
$�patsopt�-tc�--constraint-export�-d�fib.dats�│�../patsolve_z3�-i
Hello�from�[patsolve_z3]!
typechecking�is�finished�successfully!
$�./fib�25
fib(25)�=�75025
10. NPM package manager for ATS2 #1NPM package manager for ATS2 #1NPM package manager for ATS2 #1NPM package manager for ATS2 #1NPM package manager for ATS2 #1
☆ There are many ATS2 packages at NPM.☆ There are many ATS2 packages at NPM.☆ There are many ATS2 packages at NPM.☆ There are many ATS2 packages at NPM.☆ There are many ATS2 packages at NPM.
☆ NPM is the package manager for JavaScript.☆ NPM is the package manager for JavaScript.☆ NPM is the package manager for JavaScript.☆ NPM is the package manager for JavaScript.☆ NPM is the package manager for JavaScript.
☆ https://www.npmjs.com/browse/keyword/ATS☆ https://www.npmjs.com/browse/keyword/ATS☆ https://www.npmjs.com/browse/keyword/ATS☆ https://www.npmjs.com/browse/keyword/ATS☆ https://www.npmjs.com/browse/keyword/ATS
11. NPM package manager for ATS2 #2NPM package manager for ATS2 #2NPM package manager for ATS2 #2NPM package manager for ATS2 #2NPM package manager for ATS2 #2
12. NPM package manager for ATS2 #3NPM package manager for ATS2 #3NPM package manager for ATS2 #3NPM package manager for ATS2 #3NPM package manager for ATS2 #3
☆ How to create ATS package?☆ How to create ATS package?☆ How to create ATS package?☆ How to create ATS package?☆ How to create ATS package?
☆ Please read following articles:☆ Please read following articles:☆ Please read following articles:☆ Please read following articles:☆ Please read following articles:
http://ats-lang.sourceforge.net/EXAMPLE/EFFECTIVATS/DivideConquer/main.html
http://ats-lang.sourceforge.net/EXAMPLE/EFFECTIVATS/GraphSearch-npm/main.html
http://ats-lang.sourceforge.net/EXAMPLE/EFFECTIVATS/DivideConquer/main.html
http://ats-lang.sourceforge.net/EXAMPLE/EFFECTIVATS/GraphSearch-npm/main.html
http://ats-lang.sourceforge.net/EXAMPLE/EFFECTIVATS/DivideConquer/main.html
http://ats-lang.sourceforge.net/EXAMPLE/EFFECTIVATS/GraphSearch-npm/main.html
http://ats-lang.sourceforge.net/EXAMPLE/EFFECTIVATS/DivideConquer/main.html
http://ats-lang.sourceforge.net/EXAMPLE/EFFECTIVATS/GraphSearch-npm/main.html
http://ats-lang.sourceforge.net/EXAMPLE/EFFECTIVATS/DivideConquer/main.html
http://ats-lang.sourceforge.net/EXAMPLE/EFFECTIVATS/GraphSearch-npm/main.html
13. Better JavaScript support #1Better JavaScript support #1Better JavaScript support #1Better JavaScript support #1Better JavaScript support #1
☆ ATS+Emscripten run on web browser.☆ ATS+Emscripten run on web browser.☆ ATS+Emscripten run on web browser.☆ ATS+Emscripten run on web browser.☆ ATS+Emscripten run on web browser.
☆ Command patsopt and atscc2js can run on
web browser.
☆ Command patsopt and atscc2js can run on
web browser.
☆ Command patsopt and atscc2js can run on
web browser.
☆ Command patsopt and atscc2js can run on
web browser.
☆ Command patsopt and atscc2js can run on
web browser.
☆ It means that you can compile ATS code into
JavaScript on your browser!
☆ It means that you can compile ATS code into
JavaScript on your browser!
☆ It means that you can compile ATS code into
JavaScript on your browser!
☆ It means that you can compile ATS code into
JavaScript on your browser!
☆ It means that you can compile ATS code into
JavaScript on your browser!
☆ Let's open following URL:☆ Let's open following URL:☆ Let's open following URL:☆ Let's open following URL:☆ Let's open following URL:
http://www.ats-lang.org/SERVER/MYCODE/Patsoptaas_serve.php?mycode_fil=hellohttp://www.ats-lang.org/SERVER/MYCODE/Patsoptaas_serve.php?mycode_fil=hellohttp://www.ats-lang.org/SERVER/MYCODE/Patsoptaas_serve.php?mycode_fil=hellohttp://www.ats-lang.org/SERVER/MYCODE/Patsoptaas_serve.php?mycode_fil=hellohttp://www.ats-lang.org/SERVER/MYCODE/Patsoptaas_serve.php?mycode_fil=hello
14. Better JavaScript support #2Better JavaScript support #2Better JavaScript support #2Better JavaScript support #2Better JavaScript support #2
15. The other language support #1The other language support #1The other language support #1The other language support #1The other language support #1
☆ ATS has following language backends:☆ ATS has following language backends:☆ ATS has following language backends:☆ ATS has following language backends:☆ ATS has following language backends:
*�C�language
*�Erlang
*�JavaScript
*�PHP
*�Clojure
*�Perl
*�Python3
*�Scheme
*�C�language
*�Erlang
*�JavaScript
*�PHP
*�Clojure
*�Perl
*�Python3
*�Scheme
*�C�language
*�Erlang
*�JavaScript
*�PHP
*�Clojure
*�Perl
*�Python3
*�Scheme
*�C�language
*�Erlang
*�JavaScript
*�PHP
*�Clojure
*�Perl
*�Python3
*�Scheme
*�C�language
*�Erlang
*�JavaScript
*�PHP
*�Clojure
*�Perl
*�Python3
*�Scheme
16. The other language support #2The other language support #2The other language support #2The other language support #2The other language support #2
☆ Support in atscc2erl and atscc2scm for
handling tail-call optimized code.
☆ Support in atscc2erl and atscc2scm for
handling tail-call optimized code.
☆ Support in atscc2erl and atscc2scm for
handling tail-call optimized code.
☆ Support in atscc2erl and atscc2scm for
handling tail-call optimized code.
☆ Support in atscc2erl and atscc2scm for
handling tail-call optimized code.
☆ Adding support for stream_vt in the following
compilers: atscc2js, atscc2py3, atscc2scm,
atscc2clj, atscc2php, atscc2pl.
☆ Adding support for stream_vt in the following
compilers: atscc2js, atscc2py3, atscc2scm,
atscc2clj, atscc2php, atscc2pl.
☆ Adding support for stream_vt in the following
compilers: atscc2js, atscc2py3, atscc2scm,
atscc2clj, atscc2php, atscc2pl.
☆ Adding support for stream_vt in the following
compilers: atscc2js, atscc2py3, atscc2scm,
atscc2clj, atscc2php, atscc2pl.
☆ Adding support for stream_vt in the following
compilers: atscc2js, atscc2py3, atscc2scm,
atscc2clj, atscc2php, atscc2pl.
21. Support templates, more #1Support templates, more #1Support templates, more #1Support templates, more #1Support templates, more #1
☆ Supporting $tempenver in template
implementation: This is a crucial addition in
support of programming in ATS that may
potentially be (very) deeply template-based!!!
☆ Supporting $tempenver in template
implementation: This is a crucial addition in
support of programming in ATS that may
potentially be (very) deeply template-based!!!
☆ Supporting $tempenver in template
implementation: This is a crucial addition in
support of programming in ATS that may
potentially be (very) deeply template-based!!!
☆ Supporting $tempenver in template
implementation: This is a crucial addition in
support of programming in ATS that may
potentially be (very) deeply template-based!!!
☆ Supporting $tempenver in template
implementation: This is a crucial addition in
support of programming in ATS that may
potentially be (very) deeply template-based!!!
(*�https://github.com/githwxi/ATS-Postiats/blob/master/doc/EXAMPLE/TESTATS/
tempenver.dats�*)
#define�ATS_PACKNAME�"TEMPENVER"
#include�"share/atspre_staload.hats"
extern�fun{}�foo():�int
extern�fun{}�bar1(int):�int
extern�fun{}�bar2(int):�int
(*�https://github.com/githwxi/ATS-Postiats/blob/master/doc/EXAMPLE/TESTATS/
tempenver.dats�*)
#define�ATS_PACKNAME�"TEMPENVER"
#include�"share/atspre_staload.hats"
extern�fun{}�foo():�int
extern�fun{}�bar1(int):�int
extern�fun{}�bar2(int):�int
(*�https://github.com/githwxi/ATS-Postiats/blob/master/doc/EXAMPLE/TESTATS/
tempenver.dats�*)
#define�ATS_PACKNAME�"TEMPENVER"
#include�"share/atspre_staload.hats"
extern�fun{}�foo():�int
extern�fun{}�bar1(int):�int
extern�fun{}�bar2(int):�int
(*�https://github.com/githwxi/ATS-Postiats/blob/master/doc/EXAMPLE/TESTATS/
tempenver.dats�*)
#define�ATS_PACKNAME�"TEMPENVER"
#include�"share/atspre_staload.hats"
extern�fun{}�foo():�int
extern�fun{}�bar1(int):�int
extern�fun{}�bar2(int):�int
(*�https://github.com/githwxi/ATS-Postiats/blob/master/doc/EXAMPLE/TESTATS/
tempenver.dats�*)
#define�ATS_PACKNAME�"TEMPENVER"
#include�"share/atspre_staload.hats"
extern fun{}�foo():�int
extern fun{}�bar1(int):�int
extern fun{}�bar2(int):�int
23. New parsing-combinator packageNew parsing-combinator packageNew parsing-combinator packageNew parsing-combinator packageNew parsing-combinator package
☆ Adding a parsing-combinator package for
libats.
☆ Adding a parsing-combinator package for
libats.
☆ Adding a parsing-combinator package for
libats.
☆ Adding a parsing-combinator package for
libats.
☆ Adding a parsing-combinator package for
libats.
☆ Adding a parsing-combinator package for
libatscc.
☆ Adding a parsing-combinator package for
libatscc.
☆ Adding a parsing-combinator package for
libatscc.
☆ Adding a parsing-combinator package for
libatscc.
☆ Adding a parsing-combinator package for
libatscc.
☆ It means following code?☆ It means following code?☆ It means following code?☆ It means following code?☆ It means following code?
https://github.com/githwxi/ATS-Postiats/tree/master/npm-utils/contrib/
libats-/hwxi/parcomb
https://github.com/githwxi/ATS-Postiats/tree/master/npm-utils/contrib/
libats-/hwxi/parcomb
https://github.com/githwxi/ATS-Postiats/tree/master/npm-utils/contrib/
libats-/hwxi/parcomb
https://github.com/githwxi/ATS-Postiats/tree/master/npm-utils/contrib/
libats-/hwxi/parcomb
https://github.com/githwxi/ATS-Postiats/tree/master/npm-utils/contrib/
libats-/hwxi/parcomb
24. ats-lang-club@googlegroups.comats-lang-club@googlegroups.comats-lang-club@googlegroups.comats-lang-club@googlegroups.comats-lang-club@googlegroups.com
☆ Welcome to the secret group!☆ Welcome to the secret group!☆ Welcome to the secret group!☆ Welcome to the secret group!☆ Welcome to the secret group!
I�have�just�created�the�ats-lang-club.�Membership�is�by�invitation�only.�The�
plan�is�to�use�this�group�to�discuss�all�matters,�general�and�specific,�on�
or�related�to�"evangelizing"�ATS.�Cheers!�--Hongwei
I�have�just�created�the�ats-lang-club.�Membership�is�by�invitation�only.�The�
plan�is�to�use�this�group�to�discuss�all�matters,�general�and�specific,�on�
or�related�to�"evangelizing"�ATS.�Cheers!�--Hongwei
I�have�just�created�the�ats-lang-club.�Membership�is�by�invitation�only.�The�
plan�is�to�use�this�group�to�discuss�all�matters,�general�and�specific,�on�
or�related�to�"evangelizing"�ATS.�Cheers!�--Hongwei
I�have�just�created�the�ats-lang-club.�Membership�is�by�invitation�only.�The�
plan�is�to�use�this�group�to�discuss�all�matters,�general�and�specific,�on�
or�related�to�"evangelizing"�ATS.�Cheers!�--Hongwei
I�have�just�created�the�ats-lang-club.�Membership�is�by�invitation�only.�The�
plan�is�to�use�this�group�to�discuss�all�matters,�general�and�specific,�on�
or�related�to�"evangelizing"�ATS.�Cheers!�--Hongwei
☆ They are discussing about the future of ATS
language.
☆ They are discussing about the future of ATS
language.
☆ They are discussing about the future of ATS
language.
☆ They are discussing about the future of ATS
language.
☆ They are discussing about the future of ATS
language.