Original presentation is Richard Carlsson's at Erlang Factory Bay Area 2009.
Erlangの世界的なイベントの中のEUnitの説明の資料です。分かりやすくEUnitの特徴がまとまっています。翻訳を許可してくれて、オリジナルの資料を送っていただいたRichardさんに感謝したいと思います。
- The document describes the process of compiling an ONNX model to XCVM using the Chainer compiler. It involves parsing the ONNX model, applying optimization passes like fusion and constant propagation, lowering it to an XCVM program, and then executing the program on XCVM to run the model.
- The compiler represents the model as a Model object containing a Graph. Nodes in the graph are represented by Node objects. Values are represented by Value objects. Tensor data is stored in Tensor objects.
- The XCVM execution engine takes the compiled XCVM program and runs it, interpreting each XCVM operation by calling methods on classes like ConvOp that implement the operations.
The document introduces the Python programming language. It discusses Python's interpretor, data types like integers and strings, control structures like if/else statements and for loops, functions, classes, libraries, and input/output. It provides examples of key Python concepts like boolean logic, lists, dictionaries, regular expressions, and socket programming.
This document provides an overview of functional programming concepts in ES6 including:
1. Array methods like filter, map, reduce, and destructuring for manipulating arrays in a functional style with no side effects.
2. Methods for comparing, merging, and transforming arrays like finding differences, intersections, and unions.
3. Working with nested/deep arrays through functions like deepFindItem to search nested objects.
4. Functional rules like purity, immutability, and composition are discussed in contrast with imperative programming.
5. Examples of chaining array operations through function composition are provided.
This document contains code and descriptions related to the MIPS architecture and LLVM compiler infrastructure. It includes MIPS assembly code, the definition of MIPS registers and instructions as LLVM IR, descriptions of the MIPS instruction formats and functional units, and MIPS instruction itineraries. It also contains x86/AVX-512 intrinsics and builtins.
CoffeeScript is a programming language that compiles to JavaScript. It aims to enhance JavaScript with features like significant whitespace, variables and functions declarations, and pattern matching. The document provides an overview of CoffeeScript's syntax and features like classes, functions, objects, and array/object comprehensions which compile down to cleaner JavaScript code. Examples are given throughout to illustrate CoffeeScript code and its compiled JavaScript output.
발표자: 김준호(Lunit)
발표일: 2018.1.
의료 AI 관련 중, nodule detection 문제에 대해 다뤄보고자 합니다.
의료 AI에서는 어떠한 방식으로 classication을 하고, preprocessing은 어떤식으로 진행되는지 LUNA16이라는 의료 challenge에 이용되는 데이터를 가지고 발표를 진행해보고자 합니다.
이후, 이 데이터를 이용해서 최근 2017 MICCAI (의료 영상학회에서는 높은 수준의 학회)에서 발표된 "curriculum adaptive sampling for extreme data imbalance"를 실제 구현해서 적용해보고 이 때 발생할 수 있는 문제를 어떤식으로 해결할 수 있는지에 대한 tip도 제공할 예정입니다. (Python multi-processing data load, input-pipeline)
위 논문을 선정한 이유는, 단순한 classification이 아닌, nodule이 있는 위치도 정확하게 catch하는 논문 중, performance가 상당히 높기 때문입니다.
The Ring programming language version 1.10 book - Part 69 of 212Mahmoud Samir Fayed
1. The code loads the RingAllegro and RingOpenGL libraries to create a 3D cube application with texture mapping.
2. A GraphicsApp class is defined which inherits from GraphicsAppBase to handle the main loop, events, and OpenGL drawing.
3. The drawScene method renders a textured cube using OpenGL by mapping a texture to each face and rotating it.
4. The main loop processes events like keyboard/mouse input and redraws the scene continuously.
- The document describes the process of compiling an ONNX model to XCVM using the Chainer compiler. It involves parsing the ONNX model, applying optimization passes like fusion and constant propagation, lowering it to an XCVM program, and then executing the program on XCVM to run the model.
- The compiler represents the model as a Model object containing a Graph. Nodes in the graph are represented by Node objects. Values are represented by Value objects. Tensor data is stored in Tensor objects.
- The XCVM execution engine takes the compiled XCVM program and runs it, interpreting each XCVM operation by calling methods on classes like ConvOp that implement the operations.
The document introduces the Python programming language. It discusses Python's interpretor, data types like integers and strings, control structures like if/else statements and for loops, functions, classes, libraries, and input/output. It provides examples of key Python concepts like boolean logic, lists, dictionaries, regular expressions, and socket programming.
This document provides an overview of functional programming concepts in ES6 including:
1. Array methods like filter, map, reduce, and destructuring for manipulating arrays in a functional style with no side effects.
2. Methods for comparing, merging, and transforming arrays like finding differences, intersections, and unions.
3. Working with nested/deep arrays through functions like deepFindItem to search nested objects.
4. Functional rules like purity, immutability, and composition are discussed in contrast with imperative programming.
5. Examples of chaining array operations through function composition are provided.
This document contains code and descriptions related to the MIPS architecture and LLVM compiler infrastructure. It includes MIPS assembly code, the definition of MIPS registers and instructions as LLVM IR, descriptions of the MIPS instruction formats and functional units, and MIPS instruction itineraries. It also contains x86/AVX-512 intrinsics and builtins.
CoffeeScript is a programming language that compiles to JavaScript. It aims to enhance JavaScript with features like significant whitespace, variables and functions declarations, and pattern matching. The document provides an overview of CoffeeScript's syntax and features like classes, functions, objects, and array/object comprehensions which compile down to cleaner JavaScript code. Examples are given throughout to illustrate CoffeeScript code and its compiled JavaScript output.
발표자: 김준호(Lunit)
발표일: 2018.1.
의료 AI 관련 중, nodule detection 문제에 대해 다뤄보고자 합니다.
의료 AI에서는 어떠한 방식으로 classication을 하고, preprocessing은 어떤식으로 진행되는지 LUNA16이라는 의료 challenge에 이용되는 데이터를 가지고 발표를 진행해보고자 합니다.
이후, 이 데이터를 이용해서 최근 2017 MICCAI (의료 영상학회에서는 높은 수준의 학회)에서 발표된 "curriculum adaptive sampling for extreme data imbalance"를 실제 구현해서 적용해보고 이 때 발생할 수 있는 문제를 어떤식으로 해결할 수 있는지에 대한 tip도 제공할 예정입니다. (Python multi-processing data load, input-pipeline)
위 논문을 선정한 이유는, 단순한 classification이 아닌, nodule이 있는 위치도 정확하게 catch하는 논문 중, performance가 상당히 높기 때문입니다.
The Ring programming language version 1.10 book - Part 69 of 212Mahmoud Samir Fayed
1. The code loads the RingAllegro and RingOpenGL libraries to create a 3D cube application with texture mapping.
2. A GraphicsApp class is defined which inherits from GraphicsAppBase to handle the main loop, events, and OpenGL drawing.
3. The drawScene method renders a textured cube using OpenGL by mapping a texture to each face and rotating it.
4. The main loop processes events like keyboard/mouse input and redraws the scene continuously.
The document discusses craftsmanship in software development. It provides examples of Wozniak's meticulous and perfectionist approach to engineering when designing Apple hardware and software. It also discusses different stages of craftsmanship like apprentice, journeyman, and master, and how these relate to becoming better at software development through continually learning, building, and improving skills. The emphasis is on cultivating high standards of quality and care in one's work.
Building Real Time Systems on MongoDB Using the Oplog at StripeStripe
MongoDB's oplog is possibly its most underrated feature. The oplog is vital as the basis on which replication is built, but its value doesn't stop there. Unlike the MySQL binlog, which is poorly documented and not directly exposed to MySQL clients, the oplog is a well-documented, structured format for changes that is query-able through the same mechanisms as your data. This allows many types of powerful, application-driven streaming or transformation. At Stripe, we've used the MongoDB oplog to create PostgresSQL, HBase, and ElasticSearch mirrors of our data. We've built a simple real-time trigger mechanism for detecting new data. And we've even used it to recover data. In this talk, we'll show you how we use the MongoDB oplog, and how you can build powerful reactive streaming data applications on top of it.
If you'd like to see the presentation with presenter's notes, I've published my Google Docs presentation at https://docs.google.com/presentation/d/19NcoFI9BG7PwLoBV7zvidjs2VLgQWeVVcUd7Xc7NoV0/pub
Originally given at MongoDB World 2014 in New York
This document discusses functional programming concepts like immutable data, functions as first-class citizens, and mapping and flatMapping functions. It shows how to define Functor and Monad types to represent immutable data that can be transformed by functions in a predictable way. This allows modeling operations like changing a value or getting its length in a functional style while maintaining immutable data.
Building Real Time Systems on MongoDB Using the Oplog at StripeMongoDB
MongoDB's oplog is possibly its most underrated feature. The oplog is vital as the basis on which replication is built, but its value doesn't stop there. Unlike the MySQL binlog, which is poorly documented and not directly exposed to MySQL clients, the oplog is a well-documented, structured format for changes that is query-able through the same mechanisms as your data. This allows many types of powerful, application-driven streaming or transformation. At Stripe, we've used the MongoDB oplog to create PostgresSQL, HBase, and ElasticSearch mirrors of our data. We've built a simple real-time trigger mechanism for detecting new data. And we've even used it to recover data. In this talk, we'll show you how we use the MongoDB oplog, and how you can build powerful reactive streaming data applications on top of it.
Going Loopy - Adventures in Iteration with Google GoEleanor McHugh
The document discusses loops and iteration in Google Go. It covers for loops, infinite loops, the range keyword, functions, closures, and type assertions. Code examples are provided to demonstrate conditional loops, printing slice elements with a for loop and range, passing slices to functions, asserting the type within a function, and using closures to pass a slice to a function.
Functional programming is a declarative programming paradigm that focuses on:
1) Using functions that have no side effects and are free of state;
2) Avoiding mutable data and side effects through immutable values and declarative code;
3) Expressing the logic of a computation without describing its control flow.
Comparative Genomics with GMOD and BioPerlJason Stajich
BioPerl is an open source toolkit for bioinformatics data manipulation written in Perl. It contains modules for reading and writing sequence data in common formats, manipulating sequences, parsing BLAST reports and multiple sequence alignments. BioPerl objects represent sequences, features, annotations and search results in a flexible and extensible way. The toolkit is widely used for tasks like sequence analysis, parsing bioinformatics software output, and accessing biological databases.
This document provides an overview of the Elixir ecosystem, fundamental concepts, and runtime. It discusses key tools like IEx, Mix, and Hex. It covers naming conventions, modules, functions, pattern matching, control flow, and error handling. It also describes fundamental Elixir types like strings, lists, tuples, maps, and structs. Finally, it provides an introduction to the BEAM virtual machine and Elixir processes.
20181020 advanced higher-order functionChiwon Song
1. Functions can be treated like values in Swift: they can be passed as parameters, returned from other functions, and assigned to variables.
2. Higher-order functions allow functions to be used as parameters or return values. Functions passed to higher-order functions require @escaping if they are used after the higher-order function finishes.
3. Functions store behaviors that can be passed around and used later. This enables many useful patterns, like the GAFunction example that chains asynchronous operations.
4. Libraries like RxSwift take advantage of these Swift features to provide generalized reactive programming capabilities.
This document shows examples of using Python for variables, data types, operators, conditional statements, loops, functions, exceptions, classes and objects. It demonstrates assigning values to variables, built-in data types like integers, floats and strings, arithmetic operators, conditional logic, for and while loops, defining and calling functions, raising and catching exceptions, creating a simple Point class with attributes, and assigning functions to variables.
Async code on kotlin: rx java or/and coroutines - Kotlin Night TurinFabio Collini
It’s never easy to write async code but luckily there are many libraries to manage asynchronicity without adding too much complexity. In the last years RxJava and the other ReactiveX libraries have been very popular but lately there is a new way to manage async code in Kotlin: the coroutines. In this talk we’ll pros and cons of there two approaches and how to leverage them to simplify asynchronous code on Android.
Do they solve the same problem? Can we use them together? Which one can be used to write functional code? How can we use them effectively in Android development?
Spoiler alert: They are both great!
In this talk we’ll see how to solve common problems using RxJava or Coroutines, starting from basic concepts (for example the Retrofit support and how to cancel a task) to some more advanced (like threading, error management and how to combine multiple tasks).
All example of the talk are available on this repository:
https://github.com/fabioCollini/RxJavaVsCoroutines
Talk given at http://jsconf.eu 2009.
You serve up your code gzipped. Your caches are properly configured. Your data (and scripts) are loaded on-demand. That's awesome—so don't stop there. Runtime is another source of slowdowns, and you can learn to conquer those, too.
Learn how to benchmark your code to isolate performance issues, and what to do when you find them. The techniques you'll learn range from the normal (function inlining) to the extreme (unrolling loops).
With over 3400 available built-in function, PHP offers a tremendously rich environment. Yet, some of these functions are still unknown to most programmers. During this session, Damien Seguy will highlight a number of functions that are rarely used in PHP, but are nonetheless useful and available within standard distributions.
This document provides an introduction to Python for high school programmers. It covers background information on Python, key concepts like data types and operators, and basics of the language like variables, collections, control flow, and object-oriented programming. Code examples are included to demonstrate various features. The presentation aims to get students started with Python and provide an overview of what it can do.
The document contains code snippets and documentation about CakePHP, an open-source PHP web framework. It includes PHP code for retrieving data from a database based on a search keyword and displaying the results. It also discusses the model-view-controller approach used in CakePHP and configuring CakePHP to work without URL rewriting. The code examples demonstrate basic usage of CakePHP for building a web application.
Building Real Time Systems on MongoDB Using the Oplog at StripeMongoDB
The document discusses MongoDB and its oplog feature. It begins with an introduction to the oplog and how it allows data to be replicated from a primary MongoDB node to secondary nodes. It then provides examples of how the oplog can be used for real-time event processing and data transformations from MongoDB to other databases like PostgreSQL. Disaster recovery using the oplog is also discussed.
This document summarizes Yoshiki Shibukawa's presentation on building multi-platform GUI applications with Go. Shibukawa explored several approaches: wrapping existing toolkits, creating a new toolkit in Go, and a hybrid C++/Go approach. While wrapping toolkits is intuitive, maintaining wrappers is difficult. Creating a new toolkit in Go allows perfect integration but supporting multiple platforms is challenging. The hybrid approach uses C++ for GUI with Go handling logic, which provides better integration but requires managing inter-process communication. Shibukawa concluded more work is needed to find the best solution and that GUI programming remains difficult, potentially requiring C++ involvement.
Erlang Developments: The Good, The Bad and The Uglyenriquepazperez
A bunch of personal views about the main characteristics of Erlang, including myths and rumors.
A quick overview about what has lately been improved in the three areas.
The document discusses craftsmanship in software development. It provides examples of Wozniak's meticulous and perfectionist approach to engineering when designing Apple hardware and software. It also discusses different stages of craftsmanship like apprentice, journeyman, and master, and how these relate to becoming better at software development through continually learning, building, and improving skills. The emphasis is on cultivating high standards of quality and care in one's work.
Building Real Time Systems on MongoDB Using the Oplog at StripeStripe
MongoDB's oplog is possibly its most underrated feature. The oplog is vital as the basis on which replication is built, but its value doesn't stop there. Unlike the MySQL binlog, which is poorly documented and not directly exposed to MySQL clients, the oplog is a well-documented, structured format for changes that is query-able through the same mechanisms as your data. This allows many types of powerful, application-driven streaming or transformation. At Stripe, we've used the MongoDB oplog to create PostgresSQL, HBase, and ElasticSearch mirrors of our data. We've built a simple real-time trigger mechanism for detecting new data. And we've even used it to recover data. In this talk, we'll show you how we use the MongoDB oplog, and how you can build powerful reactive streaming data applications on top of it.
If you'd like to see the presentation with presenter's notes, I've published my Google Docs presentation at https://docs.google.com/presentation/d/19NcoFI9BG7PwLoBV7zvidjs2VLgQWeVVcUd7Xc7NoV0/pub
Originally given at MongoDB World 2014 in New York
This document discusses functional programming concepts like immutable data, functions as first-class citizens, and mapping and flatMapping functions. It shows how to define Functor and Monad types to represent immutable data that can be transformed by functions in a predictable way. This allows modeling operations like changing a value or getting its length in a functional style while maintaining immutable data.
Building Real Time Systems on MongoDB Using the Oplog at StripeMongoDB
MongoDB's oplog is possibly its most underrated feature. The oplog is vital as the basis on which replication is built, but its value doesn't stop there. Unlike the MySQL binlog, which is poorly documented and not directly exposed to MySQL clients, the oplog is a well-documented, structured format for changes that is query-able through the same mechanisms as your data. This allows many types of powerful, application-driven streaming or transformation. At Stripe, we've used the MongoDB oplog to create PostgresSQL, HBase, and ElasticSearch mirrors of our data. We've built a simple real-time trigger mechanism for detecting new data. And we've even used it to recover data. In this talk, we'll show you how we use the MongoDB oplog, and how you can build powerful reactive streaming data applications on top of it.
Going Loopy - Adventures in Iteration with Google GoEleanor McHugh
The document discusses loops and iteration in Google Go. It covers for loops, infinite loops, the range keyword, functions, closures, and type assertions. Code examples are provided to demonstrate conditional loops, printing slice elements with a for loop and range, passing slices to functions, asserting the type within a function, and using closures to pass a slice to a function.
Functional programming is a declarative programming paradigm that focuses on:
1) Using functions that have no side effects and are free of state;
2) Avoiding mutable data and side effects through immutable values and declarative code;
3) Expressing the logic of a computation without describing its control flow.
Comparative Genomics with GMOD and BioPerlJason Stajich
BioPerl is an open source toolkit for bioinformatics data manipulation written in Perl. It contains modules for reading and writing sequence data in common formats, manipulating sequences, parsing BLAST reports and multiple sequence alignments. BioPerl objects represent sequences, features, annotations and search results in a flexible and extensible way. The toolkit is widely used for tasks like sequence analysis, parsing bioinformatics software output, and accessing biological databases.
This document provides an overview of the Elixir ecosystem, fundamental concepts, and runtime. It discusses key tools like IEx, Mix, and Hex. It covers naming conventions, modules, functions, pattern matching, control flow, and error handling. It also describes fundamental Elixir types like strings, lists, tuples, maps, and structs. Finally, it provides an introduction to the BEAM virtual machine and Elixir processes.
20181020 advanced higher-order functionChiwon Song
1. Functions can be treated like values in Swift: they can be passed as parameters, returned from other functions, and assigned to variables.
2. Higher-order functions allow functions to be used as parameters or return values. Functions passed to higher-order functions require @escaping if they are used after the higher-order function finishes.
3. Functions store behaviors that can be passed around and used later. This enables many useful patterns, like the GAFunction example that chains asynchronous operations.
4. Libraries like RxSwift take advantage of these Swift features to provide generalized reactive programming capabilities.
This document shows examples of using Python for variables, data types, operators, conditional statements, loops, functions, exceptions, classes and objects. It demonstrates assigning values to variables, built-in data types like integers, floats and strings, arithmetic operators, conditional logic, for and while loops, defining and calling functions, raising and catching exceptions, creating a simple Point class with attributes, and assigning functions to variables.
Async code on kotlin: rx java or/and coroutines - Kotlin Night TurinFabio Collini
It’s never easy to write async code but luckily there are many libraries to manage asynchronicity without adding too much complexity. In the last years RxJava and the other ReactiveX libraries have been very popular but lately there is a new way to manage async code in Kotlin: the coroutines. In this talk we’ll pros and cons of there two approaches and how to leverage them to simplify asynchronous code on Android.
Do they solve the same problem? Can we use them together? Which one can be used to write functional code? How can we use them effectively in Android development?
Spoiler alert: They are both great!
In this talk we’ll see how to solve common problems using RxJava or Coroutines, starting from basic concepts (for example the Retrofit support and how to cancel a task) to some more advanced (like threading, error management and how to combine multiple tasks).
All example of the talk are available on this repository:
https://github.com/fabioCollini/RxJavaVsCoroutines
Talk given at http://jsconf.eu 2009.
You serve up your code gzipped. Your caches are properly configured. Your data (and scripts) are loaded on-demand. That's awesome—so don't stop there. Runtime is another source of slowdowns, and you can learn to conquer those, too.
Learn how to benchmark your code to isolate performance issues, and what to do when you find them. The techniques you'll learn range from the normal (function inlining) to the extreme (unrolling loops).
With over 3400 available built-in function, PHP offers a tremendously rich environment. Yet, some of these functions are still unknown to most programmers. During this session, Damien Seguy will highlight a number of functions that are rarely used in PHP, but are nonetheless useful and available within standard distributions.
This document provides an introduction to Python for high school programmers. It covers background information on Python, key concepts like data types and operators, and basics of the language like variables, collections, control flow, and object-oriented programming. Code examples are included to demonstrate various features. The presentation aims to get students started with Python and provide an overview of what it can do.
The document contains code snippets and documentation about CakePHP, an open-source PHP web framework. It includes PHP code for retrieving data from a database based on a search keyword and displaying the results. It also discusses the model-view-controller approach used in CakePHP and configuring CakePHP to work without URL rewriting. The code examples demonstrate basic usage of CakePHP for building a web application.
Building Real Time Systems on MongoDB Using the Oplog at StripeMongoDB
The document discusses MongoDB and its oplog feature. It begins with an introduction to the oplog and how it allows data to be replicated from a primary MongoDB node to secondary nodes. It then provides examples of how the oplog can be used for real-time event processing and data transformations from MongoDB to other databases like PostgreSQL. Disaster recovery using the oplog is also discussed.
This document summarizes Yoshiki Shibukawa's presentation on building multi-platform GUI applications with Go. Shibukawa explored several approaches: wrapping existing toolkits, creating a new toolkit in Go, and a hybrid C++/Go approach. While wrapping toolkits is intuitive, maintaining wrappers is difficult. Creating a new toolkit in Go allows perfect integration but supporting multiple platforms is challenging. The hybrid approach uses C++ for GUI with Go handling logic, which provides better integration but requires managing inter-process communication. Shibukawa concluded more work is needed to find the best solution and that GUI programming remains difficult, potentially requiring C++ involvement.
Erlang Developments: The Good, The Bad and The Uglyenriquepazperez
A bunch of personal views about the main characteristics of Erlang, including myths and rumors.
A quick overview about what has lately been improved in the three areas.
This contains all the slides used in Silicon Valley Code Camp presentation on Sunday Oct 4, 10:45 session on "Amazing new features in JavaScript". At the end ut also includes the last year presentation covering ES 5
This document discusses JavaScript and Haskell. It provides code examples comparing features of the two languages such as functions, recursion, lists, and higher-order functions. It also discusses Haskell concepts like lazy evaluation, monads, and type inference.
This document summarizes a presentation about hacking Ansible to make it more customizable. It discusses how Ansible's plugin system allows it to be extended through modules, filters, lookups, callbacks and caches. Examples are provided of extending Ansible's core functionality by modifying files in the lib directory and writing custom plugins. The presentation also outlines how Ansible's object model works and provides an overview of its growth in modules and plugins over time.
With my simple implementation I wanted to demonstrate the basic ideas of th IO Monad.
My impl of the IO Monad is just a feasibility study, not production code!
When coding my impl of IO I was very much inspired by cats.effect.IO and monix.eval.Task which I studied at that time. Both are implementions of the IO Monad.
The API of my IO is very similar to the basics of Monix Task. This IO implementation also helped me to understand the IO Monad (of cats-effect) and Monix Task.
Interop with Future is also supported. You can convert IO to a Future. Vice versa you can convert a Future to an IO.
The development of my impl can be followed step by step in the code files in package iomonad.
The document introduces asynchronous programming and coroutines. It discusses:
1. The evolution of input/output loops from blocking to asynchronous models using callbacks and futures. Examples include Twisted, Tornado, Tkinter.
2. How futures/promises allow adding callbacks to be notified of results asynchronously, avoiding blocking. Examples shown in JavaScript, Twisted, asyncio.
3. Key aspects of coroutines like yielding and awaiting futures to resume execution asynchronously. Rules for writing asyncio coroutines in Python are provided.
4. Asynchronous programming allows concurrent execution without blocking, improving responsiveness through asynchronous callbacks and coroutines.
The document provides an agenda for a talk on modeling a Rubik's Cube in JavaScript. It begins with an introduction to scripting languages and ECMAScript. It then discusses modeling a Rubik's Cube by first walking through the code, then modeling the cube and finding moves to solve it. The document covers topics like scripting languages, ECMAScript, object-oriented programming concepts in JavaScript, and modeling a Rubik's Cube to be manipulated programmatically.
This document provides an overview of JavaScript for PHP developers. It compares the syntax and core concepts between the two languages. Some of the key points covered include: variables and data types are similar, functions are objects in JavaScript, JavaScript uses prototypes instead of classes, and functions provide scope. The document also summarizes the built-in global functions and properties, common methods for objects like Array and String, and emphasizes that constructor functions are often not needed in JavaScript.
This document discusses Frege, a Haskell-like functional programming language that compiles to Java bytecode. It provides examples of FizzBuzz implementations in both an imperative Java style and functional Frege style. It also outlines some of the pros and cons of Frege, such as its elegance, purity, and thread safety but also limitations like IDE support and debugging. Links are provided to learn more about Frege's syntax, types, monads and other resources.
This document provides an introduction to using the Google Test framework for unit testing C++ code. It begins with an example of a simple test for a function called calc_isect. It then demonstrates how to add assertions to tests, use test fixtures to reduce duplicated setup code, and generate parameterized tests. The document also covers best practices for test organization, installing and using Google Test, and some key features like XML output and selecting subsets of tests. Overall, the document serves as a tutorial for getting started with the Google Test framework for writing and running unit tests in C++ projects.
The document provides an overview of JavaScript for PHP developers. It discusses similarities and differences between JavaScript and PHP syntax, including variables, arrays, conditionals, loops, functions, objects, prototypes, and more. It also summarizes the built-in JavaScript API, including global functions, constructors, and properties and methods of objects like Object, Array, Function, String, Number, Math, Date, and Error.
This document discusses ECMAScript 2015 (ES2015), also known as ES6. It provides examples of new ES2015 features like arrow functions, template literals, classes, and modules. It also discusses how to set up a development environment to use ES2015, including transpiling code to ES5 using Babel, linting with Eslint, testing with Mocha, and generating coverage reports with Istanbul. The document emphasizes that while ES2015 is fun to explore, proper tooling like linting and testing is needed for serious development. It concludes by noting ES2015 marks a transition and thanks the audience.
1. The document discusses several software design principles and best practices including SOLID principles, optional binding, lazy evaluation, and type casting.
2. It provides examples of applying single responsibility principle (SRP), dependency inversion principle (DIP), and interface segregation principle (ISP) to code.
3. Guidelines are also given for naming conventions, computed properties versus methods, and value types versus reference types.
This document provides examples and explanations of JavaScript concepts including objects and arrays, functions and contexts, closures, inheritance, namespaces and scope, module patterns, and dispatching. It demonstrates creating and manipulating objects and arrays, defining functions, using closures, implementing inheritance with prototypes and Object.create, creating namespaces, revealing and constructor module patterns, and a publisher/subscriber dispatching example.
This document provides a summary of new features in JavaScript, including let/const block scoping, arrow functions, template strings, classes, generators, async/await, and more. It explains each feature in 1-3 sentences and includes code examples.
The document describes a Haskell program that translates characters in one string to characters in another string. It defines a translate function that maps characters from the first string (set1) to the corresponding characters in the second string (set2). A translateString function applies the translate function to a given string, and the main function gets the set1 and set2 strings from arguments, reads stdin, applies translateString, and writes the result to stdout, catching any errors.
Gevent is a Python library that uses greenlets to provide a synchronous-looking API for asynchronous applications. It uses a single OS thread and event loop to handle many connections concurrently by switching between greenlets frequently. This allows applications to achieve high concurrency with low memory usage compared to multithreading. Gevent patches common libraries like sockets to be non-blocking and cooperative. When data is available on a socket, the socket's greenlet is resumed to process it rather than blocking the entire program.
Functional programming, though far from new, has gained much traction recently. Functional programming characteristics have started to appear in the PHP world, too. Microframeworks including Silex and Slim, middleware architectures (Stack) and even standards (PSR-7) rely on concepts such as lambdas, referential transparency and immutability, all of which come from functional programming.
I’ll give you a crash course in Erlang, a pragmatic functional language to make you feel familiar with the functional paradigm. By comparing code samples between Erlang and PHP, you’ll find out how and why you should employ functional programming in your PHP applications. You’ll see that functional programming is nothing to be scared of. On the contrary, understanding its concepts broadens your programming horizon and provides you with valuable solutions to your problems.
- Yoshiki Shibukawa presented on search engines and his new Python module Oktavia at PyConJP.
- Oktavia uses the FM-index algorithm as a backend which is better for eastern Asian languages compared to traditional inverted indexes.
- It provides APIs for creating search features in applications and includes metadata support to enrich search results.
- The module was recently published on PyPI and the speaker plans to continue adding features.
This document discusses JavaScript and game development. It covers topics like building games for Android and iOS, using APIs, and building games with HTML5. It also mentions building games with JavaScript and deploying them using a build server running Node.js.
This document discusses the Pomodoro Technique time management method. It begins with an introduction of the speaker and then:
1. Explains that the Pomodoro Technique uses short intervals (typically 25 minutes) of work followed by short breaks, and that a Pomodoro refers to each interval.
2. Describes the characteristics of the technique, including that it aims to train sustainability through intervals similar to interval training, and that it strictly prohibits interruptions during the work period.
3. Outlines the cycle of the technique, which involves 25 minutes of work followed by a 5 minute break, and a longer break every 4 intervals.
This document discusses BitBucket and Mercurial. It provides an overview of BitBucket's features like social networking integration, wikis, and issue tracking. Mercurial is introduced as a distributed version control system that BitBucket supports for source code hosting. The document explains how to use BitBucket and Mercurial together through actions like cloning repositories, committing changes, and pushing/pulling updates.
Who is the person whom the IT engineers should learn next to Alexander?Yoshiki Shibukawa
This document discusses important figures for IT engineers to learn from, including Alexander and Milton H. Erickson. Erickson was an unconventional therapist who used hypnosis and hypnotic communication to help patients overcome issues like an inability to diet by addressing underlying forces. The document suggests Ericksonian hypnosis may be useful for debugging AI in 2040 and proposes studying this approach as a way to create debugging methods for artificial intelligence.
Sphinx is a documentation generator that can create HTML and other formats from reStructuredText markup and Python docstrings. It supports features like automatic cross-referencing, built-in search, and the ability to extend and customize the templates. Documentation built with Sphinx can be hosted on sites like ReadTheDocs for easy web hosting of project documentation.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
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.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
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.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
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.
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.
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.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
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.
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.
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.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
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
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
National Security Agency - NSA mobile device best practices
EUnit in Practice(Japanese)
1. Eunit
Richard Carlsson
Kreditor Europe AB
(Translated by SHIBUKAWA Yoshiki)
qD `YZ [ = yoshiki@shibu.jp ]
2. Eunit / xUnit c
] [8QLW c 223 *
`a c` c c`
(UODQJ _ ` a
(XQLW IXQ (UODQJ [ c`a=
c c ^ ^
(XQLW 3 Z
3. c` a
.../myproject/
Makefile
src/
*.{erl,hrl}
ebin/
*.beam
4. ca .` a
# c Makefile
ERLC_FLAGS=
SOURCES=$(wildcard src/*.erl)
HEADERS=$(wildcard src/*.hrl)
OBJECTS=$(SOURCES:src/%.erl=ebin/%.beam)
all: $(OBJECTS) test
ebin/%.beam : src/%.erl $(HEADERS) Makefile
erlc $(ERLC_FLAGS) -o ebin/ $
clean:
-rm $(OBJECTS)
test:
erl -noshell -pa ebin
-eval 'eunit:test(ebin,[verbose])'
-s init stop
5. c` a c cb c
%% c= : src/global.hrl
-include_lib(eunit/include/eunit.hrl).
6. ` c
%% c= : src/empty.erl
-module(empty).
-include(global.hrl).
%% `a ^]
a_test() - ok.
7. c `a
$ make
erlc -o ebin/ src/empty.erl
erl -noshell -pa ebin
-eval 'eunit:test(ebin,[verbose])'
-s init stop
====================== EUnit ======================
directory ebin
empty:a_test (module 'empty')...ok
[done in 0.007 s]
===================================================
Test successful.
$
8. test _ `b a ^^
1 empty:module_info(exports).
[{a_test,0},{test,0},{module_info,0},
{module_info,1}]
2 empty:test().
Test passed.
ok
3 eunit:test(empty).
Test passed.
ok
4 empty:a_test().
ok
5 eunit:test({empty,a_test}).
Test passed.
ok
6
9. `a
ERLC_FLAGS=-DNOTEST makefile ^
= `a c ^ Z
# A simple Makefile
ERLC_FLAGS=-DNOTEST
...
`a a ca
^=” make release” ^ Z]
release: clean
$(MAKE) ERLC_FLAGS=$(ERLC_FLAGS) -DNOTEST
10. `a a c
$ make
erlc -DNOTEST -o ebin/ src/empty.erl
erl -noshell -pa ebin
-eval 'eunit:test(ebin,[verbose])'
-s init stop
====================== EUnit ======================
directory ebin
module 'empty'
[done in 0.004 s]
There were no tests to run.
$
11. `a Z Z [
1 empty:module_info(exports).
[{module_info,0},{module_info,1}]
2 eunit:test(empty).
There were no tests to run.
ok
3
12. _ca `a
c cb c NOTEST
c ^ = _ca `a
%% : src/global.hrl
-define(NOTEST, true).
-include_lib(eunit/include/eunit.hrl).
= TEST makefile ^
= NOTEST Z Z^
`a ^ makefile a
^ Z^
[=PZ ] Z[
13. `a aV
`a a [
eunit.hrl cc ` `Z
EUnit ` Z ^
c ^[ `a EUnit
= [ aZ ^
EUnit _ `b a 2 ]
EUnit Z Z a c
B = Z c Z Z ^
32. ZZZ ] Z
fib_tests:17: g_test_...ok
fib_tests:17: g_test_...ok
...
fib_tests:17: g_test_...[0.001 s] ok
fib_tests:17: g_test_...[0.002 s] ok
fib_tests:17: g_test_...[0.003 s] ok
fib_tests:17: g_test_...[0.005 s] ok
fib_tests:17: g_test_...[0.008 s] ok
fib_tests:17: g_test_...[0.013 s] ok
fib_tests:17: g_test_...[0.021 s] ok
...
fib_tests:17: g_test_...[0.566 s] ok
fib_tests:17: g_test_...[0.939 s] ok
[done in 3.148 s]
===================================================
All 40 tests passed.
33. `a Z
ZZZ^ ^ Z]
^ ^][
*= ZZ^ ` _ ]
a .( `c
c`a= ]c`a=a ]c`a
c [ `a ` Z Z
[ ^ [[ =
2 ^