This document discusses dynamic programming languages that run on the .NET Common Language Runtime (CLR), with a focus on IronPython and IronRuby. It provides an overview of what makes languages dynamic, how dynamic languages are implemented on .NET using the Dynamic Language Runtime (DLR), and why developers may want to use dynamic languages like IronPython and IronRuby for tasks like testing or building domain-specific languages. Examples of embedding these dynamic languages in .NET applications are also presented.
Powering Tensorflow with big data using Apache Beam, Flink, and Spark - OSCON...Holden Karau
TensorFlow is all kinds of fancy, from helping startups raising their series A in Silicon Valley to detecting if something is a cat. However, when things start to get “real,” you may find yourself no longer just dealing with mnist.csv but instead needing do large-scale data prep as well as training.
Holden Karau details how to use TensorFlow in conjunction with Apache Spark, Flink, and Beam to create a full machine learning pipeline—including the annoying feature engineering and data prep components that we like to pretend don’t exist. Holden also explains why these feature prep stages need to be integrated into the serving layer. She concludes by examining changing industry trends, like Apache Arrow, and how they impact cross-language development for things like deep learning. Even if you’re not trying to raise a round of funding in Silicon Valley, this talk will give you tools to do interesting machine learning problems at scale.
This document compares Java and Scala for web development using the Playframework 2.5.x. It provides an overview of Scala and the Playframework, including how to set up a Play application with Scala. It demonstrates building a sample web application for a speaker database using Play and Scala, including setting up the project structure, models, database integration, JSON handling, testing, and deployment. The document aims to demonstrate how to develop a web application from start to finish using the Playframework and Scala.
Effective C++ (Myers has nothing to do with it :). The C++ ecosystem is still rapidly evolving, which makes this language one of the most effective tools of our time. I'd like to point out three reasons why C++ is so attractive nowadays. The first is the new extensions to the language standard that enable programmers to write effective and efficient code. The second is the maturity of the development tools and acceleration of the code building process. The third is the maturity of the auxiliary tools allowing us to keep control over the code quality and other aspects of the software development life cycle. This talk is an ode to the C++ language!
This document discusses ReactiveX and RxJS. ReactiveX is a library for reactive programming that originated from the Volta project in 2007. It has implementations in many languages including RxJS for JavaScript. RxJS uses Observables to handle asynchronous data streams from sources like user input, animations, and network events. Observables are lazy push collections that can be composed using operators. RxJS is used by Netflix to handle streaming large amounts of asynchronous data.
This document introduces Functional Reactive Programming (FRP) using RxJS. FRP is a programming paradigm for reactive programming with asynchronous data streams. RxJS is a library for FRP in JavaScript that allows programming with asynchronous data streams from various sources like files, web services, and user events. The document provides an overview of RxJS, demonstrates its usage, and discusses why FRP is useful for creating cleaner and more maintainable code when dealing with asynchronous processes and events.
- Fluent Decorator
- In, Out, In, Out, Shake It All About
- The Lonely Override
- Monad
- Functional Reactive?
你可以在以下找到中文說明:
http://www.codedata.com.tw/social-coding/java8-patterns/
Powering Tensorflow with big data using Apache Beam, Flink, and Spark - OSCON...Holden Karau
TensorFlow is all kinds of fancy, from helping startups raising their series A in Silicon Valley to detecting if something is a cat. However, when things start to get “real,” you may find yourself no longer just dealing with mnist.csv but instead needing do large-scale data prep as well as training.
Holden Karau details how to use TensorFlow in conjunction with Apache Spark, Flink, and Beam to create a full machine learning pipeline—including the annoying feature engineering and data prep components that we like to pretend don’t exist. Holden also explains why these feature prep stages need to be integrated into the serving layer. She concludes by examining changing industry trends, like Apache Arrow, and how they impact cross-language development for things like deep learning. Even if you’re not trying to raise a round of funding in Silicon Valley, this talk will give you tools to do interesting machine learning problems at scale.
This document compares Java and Scala for web development using the Playframework 2.5.x. It provides an overview of Scala and the Playframework, including how to set up a Play application with Scala. It demonstrates building a sample web application for a speaker database using Play and Scala, including setting up the project structure, models, database integration, JSON handling, testing, and deployment. The document aims to demonstrate how to develop a web application from start to finish using the Playframework and Scala.
Effective C++ (Myers has nothing to do with it :). The C++ ecosystem is still rapidly evolving, which makes this language one of the most effective tools of our time. I'd like to point out three reasons why C++ is so attractive nowadays. The first is the new extensions to the language standard that enable programmers to write effective and efficient code. The second is the maturity of the development tools and acceleration of the code building process. The third is the maturity of the auxiliary tools allowing us to keep control over the code quality and other aspects of the software development life cycle. This talk is an ode to the C++ language!
This document discusses ReactiveX and RxJS. ReactiveX is a library for reactive programming that originated from the Volta project in 2007. It has implementations in many languages including RxJS for JavaScript. RxJS uses Observables to handle asynchronous data streams from sources like user input, animations, and network events. Observables are lazy push collections that can be composed using operators. RxJS is used by Netflix to handle streaming large amounts of asynchronous data.
This document introduces Functional Reactive Programming (FRP) using RxJS. FRP is a programming paradigm for reactive programming with asynchronous data streams. RxJS is a library for FRP in JavaScript that allows programming with asynchronous data streams from various sources like files, web services, and user events. The document provides an overview of RxJS, demonstrates its usage, and discusses why FRP is useful for creating cleaner and more maintainable code when dealing with asynchronous processes and events.
- Fluent Decorator
- In, Out, In, Out, Shake It All About
- The Lonely Override
- Monad
- Functional Reactive?
你可以在以下找到中文說明:
http://www.codedata.com.tw/social-coding/java8-patterns/
A Type-level Ruby Interpreter for Testing and Understandingmametter
Type Profiler is a type analyzer for Ruby 3 that analyzes non-annotated Ruby code. It runs Ruby code at the type level to find potential errors and prototype type signatures. It forks execution for branches and reuses results when possible. While not perfect, it provides basic type checking capabilities for Ruby without requiring type annotations. The author acknowledges limitations and many areas for future work to improve Type Profiler.
One of the main reasons Titanium Mobile has been so successful is that the technology has significantly lowered the barrier to entry for native mobile development. A major force behind this is JavaScript, Titanium's primary programming language. The JavaScript programming language is small enough where the basics can be learned in a matter of hours, which has enabled developers from many different backgrounds to become productive using Titanium. But there's much more to JavaScript than just control structures and a handful of primitive data types - JavaScript is a beautiful functional programming language with great features you might not be using.
Most developers working on the web today have had some exposure to JavaScript, but there's a difference between using jQuery for DOM manipulation on a web page and writing an entire application in JavaScript. This talk, intended for beginner or intermediate JavaScript developers, will focus on the essential language features you will need to write professional JavaScript applications, including but not limited to:
Object Oriented Programming in JavaScript
The Good Parts and Bad Parts of JavaScript
Useful JavaScript Patterns, Tricks, and Style Guidelines
The JavaScript runtime in Titanium Mobile
Further Reading and ways to stay up to date on JavaScript
TypeProf for IDE: Enrich Development Experience without Annotationsmametter
The document discusses TypeProf for IDE, a VSCode extension powered by TypeProf, a static type analyzer for Ruby. It allows achieving aspects of modern development experience like on-the-fly error reporting and type inference without type annotations. The demo shows features like method signature hints, error reporting, and completion working through the language server protocol. Future work includes improving parser robustness and optimizing analysis performance.
Code Examples: https://github.com/nolanerck/modern-cfml-demos
The recent versions of ColdFusion have added many new language features. We’ve now got closures, functional programming constructs, QueryExecute, the safe navigation operator, the Elvis operator, and even more coming in future releases. For people new to functional programming or object oriented programming, it can be hard to see where these features can be beneficial. Let’s fix that!
In this talk we’ll discuss many of the new language enhancements in CFML. But rather than stopping with an “x = 1” example, we’ll look at blocks of code that are more real-world in nature. The code demos will all be based on scenarios you’ll run across in your daily development. That's right, we'll run real live code! You'll get to see these language features in action, right before your very eyes!
Performance optimization techniques for Java codeAttila Balazs
The presentation covers the the basics of performance optimizations for real-world Java code. It starts with a theoretical overview of the concepts followed by several live demos
showing how performance bottlenecks can be diagnosed and eliminated. The demos include some non-trivial multi-threaded examples
inspired by real-world applications.
The document introduces coroutines in Kotlin. It discusses how coroutines make asynchronous code easier to write by allowing suspending functions and avoiding callback hell. Coroutines were introduced in early languages like Simula but fell out of favor due to multithreading. They are now regaining popularity for writing asynchronous non-blocking code. The document then covers how coroutines work in Kotlin, including suspending functions, coroutine builders like launch and async, and how coroutines avoid issues with approaches like callbacks and futures. It notes that coroutines in Kotlin are currently experimental but can be used in production code.
5 Ways to Build Better Web APIs with Ruby and RailsLaunchAny
5 ways to improve your Ruby and Rails web APIs:
1. Select the right framework and rubgems
2. Prototype your API first
3. Build acceptance tests
4. Utilize API tools for faster development
5. Build a great developer experience
Lock-free algorithms for Kotlin CoroutinesRoman Elizarov
The document discusses lock-free algorithms for Kotlin coroutines. It covers the implementation of a lock-free doubly linked list using single-word compare-and-swap operations. It also discusses how to build more complex atomic operations, like a multi-word compare-and-swap, to enable select expressions in Kotlin coroutines.
This document discusses functional programming concepts in Ruby, including lambda calculus, LISP, anonymous functions, higher order functions, immutability, and pure functions. While Ruby is not a purely functional language, it incorporates some functional traits like anonymous functions, higher order functions that accept or return functions, and immutable strings. The document also briefly mentions advantages of functional programming like readability, modularity, concurrency and testability, as well as some disadvantages and related functional languages.
This document discusses command line applications and debugging techniques without puts statements. It recommends using helpful command line apps that avoid destructive behavior and provide full help. For command line parsing, GLI is recommended. PRY and debugger are debugging tools that allow inspecting and stepping through code without puts.
This document introduces the concepts behind quantum computing and the Q# programming language. It discusses that quantum computing algorithms use quantum physics and allow for potentially faster computation of problems like counting Bitcoins or hacking encryption. The core concepts covered include qubits, superposition, entanglement, gates like NOT and Hadamard, and how operations can be performed in parallel on multiple qubits. Resources for learning more about Q# and quantum computing are provided at the end.
This document compares the performance of for loops, iterators, and Java 8 streams for processing collections of objects. It describes benchmark tests performed on different collection sizes ranging from 10 to 1,000,000 objects. The tests focused on common collection operations like finding the youngest/highest paid object, filtering by a property, and grouping by a property. The results showed that streams were generally faster than for loops for larger collections (>1000 objects) but slower for smaller collections. Iterators had the best performance overall. The document concludes that while streams offer a functional programming style, traditional for loops may still be better for smaller collections or certain object types due to stream overhead.
Dokumen tersebut memberikan instruksi cara membuat efek Venom pada foto menggunakan Photoshop dengan 6 langkah. Langkahnya meliputi membuka foto, membuat duplikat layer, mentransform gambar, menggeser duplikat ke kiri dan kanan, menambahkan latar belakang hitam, dan menghasilkan efek akhir yang mirip Venom.
Centro Nacional de Supercómputo, servicios 2014 Gabriel Ovalle
El Centro Nacional de Supercómputo (CNS) perteneciente al Instituto Potosino de Investigación Científica y Tecnológica A.C.(IPICYT), es un Laboratorio Nacional que nace para atender la necesidad en materia de Computo de Alto Rendimiento (HPC por sus siglas en inglés) y servicios informáticos integrales de alto valor.
Mirza Asadullah Khan Ghalib - Diwan Naat o Manqabatسید محمد نقی نقوی
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise has also been shown to boost self-esteem and can serve as a healthy way to manage stress.
Majd Abdo has over 1 year of experience in social media management and office administration. She is seeking a position where she can contribute to a company's success as a value-adding employee. Her experience includes administrative assistant work at a hospital managing PR issues and operations as well as freelance social media management and internet marketing for clients. She has a Bachelor's degree in Computer Information Systems from the University of Jordan.
This certificate certifies that Sajib Bhadra successfully completed the Hilton Make it Right eLearning - Food & Beverage course on September 26, 2012 at 4:19 PM Eastern Standard Time.
This short document discusses several unrelated topics in a disjointed way, including narcissism, a type of spice, basking in the sun, drying methods, balance, and being in deep water. It is difficult to determine any clear meaning or essential information from the document as written.
This certificate certifies that Sajib Bhadra successfully completed the Travel with Purpose Waste course on October 15, 2014 at 1:14 AM Eastern Standard Time.
A Type-level Ruby Interpreter for Testing and Understandingmametter
Type Profiler is a type analyzer for Ruby 3 that analyzes non-annotated Ruby code. It runs Ruby code at the type level to find potential errors and prototype type signatures. It forks execution for branches and reuses results when possible. While not perfect, it provides basic type checking capabilities for Ruby without requiring type annotations. The author acknowledges limitations and many areas for future work to improve Type Profiler.
One of the main reasons Titanium Mobile has been so successful is that the technology has significantly lowered the barrier to entry for native mobile development. A major force behind this is JavaScript, Titanium's primary programming language. The JavaScript programming language is small enough where the basics can be learned in a matter of hours, which has enabled developers from many different backgrounds to become productive using Titanium. But there's much more to JavaScript than just control structures and a handful of primitive data types - JavaScript is a beautiful functional programming language with great features you might not be using.
Most developers working on the web today have had some exposure to JavaScript, but there's a difference between using jQuery for DOM manipulation on a web page and writing an entire application in JavaScript. This talk, intended for beginner or intermediate JavaScript developers, will focus on the essential language features you will need to write professional JavaScript applications, including but not limited to:
Object Oriented Programming in JavaScript
The Good Parts and Bad Parts of JavaScript
Useful JavaScript Patterns, Tricks, and Style Guidelines
The JavaScript runtime in Titanium Mobile
Further Reading and ways to stay up to date on JavaScript
TypeProf for IDE: Enrich Development Experience without Annotationsmametter
The document discusses TypeProf for IDE, a VSCode extension powered by TypeProf, a static type analyzer for Ruby. It allows achieving aspects of modern development experience like on-the-fly error reporting and type inference without type annotations. The demo shows features like method signature hints, error reporting, and completion working through the language server protocol. Future work includes improving parser robustness and optimizing analysis performance.
Code Examples: https://github.com/nolanerck/modern-cfml-demos
The recent versions of ColdFusion have added many new language features. We’ve now got closures, functional programming constructs, QueryExecute, the safe navigation operator, the Elvis operator, and even more coming in future releases. For people new to functional programming or object oriented programming, it can be hard to see where these features can be beneficial. Let’s fix that!
In this talk we’ll discuss many of the new language enhancements in CFML. But rather than stopping with an “x = 1” example, we’ll look at blocks of code that are more real-world in nature. The code demos will all be based on scenarios you’ll run across in your daily development. That's right, we'll run real live code! You'll get to see these language features in action, right before your very eyes!
Performance optimization techniques for Java codeAttila Balazs
The presentation covers the the basics of performance optimizations for real-world Java code. It starts with a theoretical overview of the concepts followed by several live demos
showing how performance bottlenecks can be diagnosed and eliminated. The demos include some non-trivial multi-threaded examples
inspired by real-world applications.
The document introduces coroutines in Kotlin. It discusses how coroutines make asynchronous code easier to write by allowing suspending functions and avoiding callback hell. Coroutines were introduced in early languages like Simula but fell out of favor due to multithreading. They are now regaining popularity for writing asynchronous non-blocking code. The document then covers how coroutines work in Kotlin, including suspending functions, coroutine builders like launch and async, and how coroutines avoid issues with approaches like callbacks and futures. It notes that coroutines in Kotlin are currently experimental but can be used in production code.
5 Ways to Build Better Web APIs with Ruby and RailsLaunchAny
5 ways to improve your Ruby and Rails web APIs:
1. Select the right framework and rubgems
2. Prototype your API first
3. Build acceptance tests
4. Utilize API tools for faster development
5. Build a great developer experience
Lock-free algorithms for Kotlin CoroutinesRoman Elizarov
The document discusses lock-free algorithms for Kotlin coroutines. It covers the implementation of a lock-free doubly linked list using single-word compare-and-swap operations. It also discusses how to build more complex atomic operations, like a multi-word compare-and-swap, to enable select expressions in Kotlin coroutines.
This document discusses functional programming concepts in Ruby, including lambda calculus, LISP, anonymous functions, higher order functions, immutability, and pure functions. While Ruby is not a purely functional language, it incorporates some functional traits like anonymous functions, higher order functions that accept or return functions, and immutable strings. The document also briefly mentions advantages of functional programming like readability, modularity, concurrency and testability, as well as some disadvantages and related functional languages.
This document discusses command line applications and debugging techniques without puts statements. It recommends using helpful command line apps that avoid destructive behavior and provide full help. For command line parsing, GLI is recommended. PRY and debugger are debugging tools that allow inspecting and stepping through code without puts.
This document introduces the concepts behind quantum computing and the Q# programming language. It discusses that quantum computing algorithms use quantum physics and allow for potentially faster computation of problems like counting Bitcoins or hacking encryption. The core concepts covered include qubits, superposition, entanglement, gates like NOT and Hadamard, and how operations can be performed in parallel on multiple qubits. Resources for learning more about Q# and quantum computing are provided at the end.
This document compares the performance of for loops, iterators, and Java 8 streams for processing collections of objects. It describes benchmark tests performed on different collection sizes ranging from 10 to 1,000,000 objects. The tests focused on common collection operations like finding the youngest/highest paid object, filtering by a property, and grouping by a property. The results showed that streams were generally faster than for loops for larger collections (>1000 objects) but slower for smaller collections. Iterators had the best performance overall. The document concludes that while streams offer a functional programming style, traditional for loops may still be better for smaller collections or certain object types due to stream overhead.
Dokumen tersebut memberikan instruksi cara membuat efek Venom pada foto menggunakan Photoshop dengan 6 langkah. Langkahnya meliputi membuka foto, membuat duplikat layer, mentransform gambar, menggeser duplikat ke kiri dan kanan, menambahkan latar belakang hitam, dan menghasilkan efek akhir yang mirip Venom.
Centro Nacional de Supercómputo, servicios 2014 Gabriel Ovalle
El Centro Nacional de Supercómputo (CNS) perteneciente al Instituto Potosino de Investigación Científica y Tecnológica A.C.(IPICYT), es un Laboratorio Nacional que nace para atender la necesidad en materia de Computo de Alto Rendimiento (HPC por sus siglas en inglés) y servicios informáticos integrales de alto valor.
Mirza Asadullah Khan Ghalib - Diwan Naat o Manqabatسید محمد نقی نقوی
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise has also been shown to boost self-esteem and can serve as a healthy way to manage stress.
Majd Abdo has over 1 year of experience in social media management and office administration. She is seeking a position where she can contribute to a company's success as a value-adding employee. Her experience includes administrative assistant work at a hospital managing PR issues and operations as well as freelance social media management and internet marketing for clients. She has a Bachelor's degree in Computer Information Systems from the University of Jordan.
This certificate certifies that Sajib Bhadra successfully completed the Hilton Make it Right eLearning - Food & Beverage course on September 26, 2012 at 4:19 PM Eastern Standard Time.
This short document discusses several unrelated topics in a disjointed way, including narcissism, a type of spice, basking in the sun, drying methods, balance, and being in deep water. It is difficult to determine any clear meaning or essential information from the document as written.
This certificate certifies that Sajib Bhadra successfully completed the Travel with Purpose Waste course on October 15, 2014 at 1:14 AM Eastern Standard Time.
This document discusses the importance of sun protection and healthy skin care. It notes that freckles and age spots are caused by sun damage, not age, and over 90% of skin aging is from sun exposure. It recommends wearing sunscreen daily, even indoors, and choosing a broad spectrum sunscreen with SPF 30 or higher that contains zinc oxide or titanium dioxide. Eating a diet rich in antioxidants, staying hydrated, and avoiding sugars can also protect and improve skin health. Indoor tanning should be avoided due to the high cancer risks.
امروزه چارچوبهای جاوااسکریپت چنان نقش پررنگی در پروژههای وب پیدا کردهاند که تقریبا تمام پروژهها با این سوال شروع میشوند که از کدام چارچوب جاوااسکریپت استفاده کنیم؟ اما این رویه، تنها رویهی ممکن برای شروع یک پروژه نیست. در حقیقت، این رویه باید خاتمه یابد.
The document discusses various JVM web frameworks including Play, Ratpack, Spring Boot, and Rails. It provides code examples for templating, databases, servers, and other aspects of each framework. It compares the strengths and weaknesses of frameworks like Play, Ratpack, and Spring Boot. It emphasizes that modern JVM web development uses languages like Scala, Groovy, JRuby and Clojure rather than traditional Java web apps with WAR files. The document encourages the audience to pick a framework like Play, Ratpack or Rails and provides the basic commands to create a new project in each.
This document discusses dynamic languages on the .NET framework. It introduces IronPython and IronRuby, which are dynamic language implementations that run on the .NET Common Language Runtime (CLR) and Dynamic Language Runtime (DLR). It explains that dynamic languages on DLR are first-class .NET citizens that provide simplicity while leveraging the robust .NET libraries and tools. The document demonstrates integrating Ruby test frameworks in C# and embedding IronPython in Visual Studio as examples of using dynamic languages on DLR. It concludes by mentioning future dynamic language implementations could be built for DLR.
Ruby on Rails is a web application framework that is designed to make programming web applications easier and more enjoyable. It includes features like an object-relational mapper called Active Record that allows database rows to be represented as objects, conventions that reduce configuration, and support for test-driven development. Rails is built on Ruby, an interpreted object-oriented programming language, and aims to be programmer friendly and allow powerful applications to be built quickly. Several experts praise Rails for lowering the barriers to entry for programming and being a well-thought-out framework.
This document provides an overview of the IronRuby programming language and how it allows Ruby code to run on the .NET Common Language Runtime (CLR).
Some key points covered include:
- IronRuby allows Ruby code to leverage .NET libraries and frameworks like ASP.NET and WPF.
- The Dynamic Language Runtime (DLR) plays a key role in enabling IronRuby to run Ruby code on the CLR.
- IronRuby makes it possible to embed and extend C# applications with Ruby code through features like MEF.
- This merging of Ruby and .NET opens up new possibilities for developers to choose the right language for each task and blend multiple languages together in a single application.
Use React tools for better Angular appsMartin Hochel
Angular, React, Vue… they all have their own ecosystem, specific patterns and best practices… For us, the developers, this might become indeed very frustrating as we have to switch between various projects with various libraries… Have no fear, universal solution is here! In this session I will show you how to learn libraries/patterns/tooling only once and apply it everywhere. 🖖
Lift is a Scala web framework that makes building highly interactive real-time web applications simple. It leverages Scala language features and takes the best ideas from other frameworks, such as Seaside's granular sessions and security and Rails' convention over configuration. Lift has a unique "view first" architecture and offers unparalleled security and comet support out of the box. It is already used by major companies like Foursquare and has been proven at scale.
The document discusses dynamic languages that run on the .NET framework, including IronRuby and IronPython. It provides an overview of dynamic typing, describes how the languages are compiled to an intermediate representation using the Dynamic Language Runtime (DLR), and discusses hosting dynamic code from various languages in .NET applications. Examples are given of calling Ruby and Python code from .NET and vice versa.
A presentation on Shanghai on Rails, March 14 2009, includes rack middelware introduction, one-file application using sinatra and sequel, and sinatra program running under Rails Metal.
This document provides an overview of Groovy, a dynamic language for the Java Virtual Machine. It discusses Groovy's features like properties, closures, and integration with Java. The document outlines what's new in Groovy 1.5, including Java 5 features like annotations and generics. It also covers how to integrate Groovy in applications using mechanisms like the GroovyShell and GroovyClassLoader. The presentation aims to help attendees learn about Groovy and how they can use it in their projects.
Davide Cerbo - Kotlin loves React - Codemotion Milan 2018Codemotion
Kotlin è un linguaggio basato sulla JVM che si sta sviluppando molto rapidamente. Ma il suo scopo non è solo conquistare la JVM, ma ogni piattaforma. Durante il talk vedremo come sviluppare una applicazione web utilizzando React e Kotlin e analizzeremo quali sono i vantaggi di usare un linguaggio staticamente tipizzato nello sviluppo frontend.
This document summarizes a presentation about the W3C XML Schema Patterns for Databinding Working Group. The working group aims to define patterns for how XML schemas can be more easily and reliably bound to data models. This will be done by specifying basic and advanced patterns, examples, and a detector to identify patterns in schemas. The goals are to improve the interoperability of databinding tools and help developers choose schemas that are more easily supported.
Web Development Environments: Choose the best or go with the restgeorge.james
The document discusses various web development environments and frameworks for choosing the right one. It covers popular options like ASP.NET, Java/JSP, PHP, Python and Ruby as well as databases. For each, it provides an overview and examples of sorting data to demonstrate capabilities. It emphasizes evaluating options based on requirements rather than following trends and notes the impact that open source movements and companies can have on technologies.
IronRuby is a Ruby implementation that compiles Ruby code to .NET Intermediate Language. It allows Ruby code to run on the .NET Common Language Runtime and interoperate with .NET libraries. IronRuby was started by Microsoft but is now an open source project. It enables Ruby developers to build applications that integrate with existing .NET systems and libraries. However, IronRuby is still missing support for some Ruby standards like OpenSSL and has a lower test passing rate than MRI Ruby.
The document discusses d3.js, an open-source JavaScript library for manipulating documents based on data. It provides an overview of what d3.js is, why it is useful, how to set up the environment and get started, and includes examples of basic visualizations that can be created using d3.js like bar charts and circles. Resources for learning more about d3.js such as tutorials, examples, and references are also provided.
Softshake 2013: Introduction to NoSQL with CouchbaseTugdual Grall
This presentation was delivered during Softshake 2013. Learn why RDBMS are not enought and why NoSQL help developers to scale their applications and provide agility.
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneDeepu S Nath
Introduction and Comparison of polpular JS Frameworks Knockout, Ember, Angular and Backbone. The presentation descrobes How and when to select each framework.
This document summarizes a presentation about exploring SharePoint with the F# programming language. It discusses the history and characteristics of functional programming and F#, including that F# is a functional-first language developed by Microsoft Research. It also covers how to use the F# Client Object Model to connect to and query SharePoint, including loading references, creating a client context, and querying sites, lists, and list items. The presentation demonstrates iterating through lists and items and retrieving properties.
DSL Construction with Ruby - ThoughtWorks Masterclass Series 2009Harshal Hayatnagarkar
Ruby language is an attractive choice for constructing internal domain-specific languages. Living true to the quote of Bjarne Stroustrup "Library Design is Language Design, and Library Design is Language Design", a good design in Ruby can be warped into a good DSL without much efforts.
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.
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.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Infrastructure Challenges in Scaling RAG with Custom AI modelsZilliz
Building Retrieval-Augmented Generation (RAG) systems with open-source and custom AI models is a complex task. This talk explores the challenges in productionizing RAG systems, including retrieval performance, response synthesis, and evaluation. We’ll discuss how to leverage open-source models like text embeddings, language models, and custom fine-tuned models to enhance RAG performance. Additionally, we’ll cover how BentoML can help orchestrate and scale these AI components efficiently, ensuring seamless deployment and management of RAG systems in the cloud.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
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.
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.
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.
“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.
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.
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
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
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.
17. “CLR hates Dynamic” “The speed of the current system is so low as to render the current implementation useless for anything beyond demonstration purposes.” – ActiveState’s report on Python for .NET “The CLI is, by design, not friendly to dynamic languages. Prototypes were built, but ran way too slowly.” – Jon Udell, InfoWorld, Aug. 2003
20. Dynamic Languages on .NET IronPython IronRuby Iron? VB.NET C# Common Language Runtime
21. Dynamic Languages on .NET IronPython IronRuby C# VB.NET Others… Dynamic Language Runtime Expression Trees Dynamic Dispatch Call Site Caching Python binder Rubybinder COMbinder JavaScriptbinder Objectbinder
22. .NET ?.? DLR2 The Common Language Runtime Script Hosting Compiler as a Service ??? .NET 4.0 DLR Expression Trees v2 Call Site Caching Dynamic Dispatch .NET 3.5 LINQ Expression Trees Extension Methods Silverlight .NET 2.0 Generics In Runtime Fast Delegates Dynamic Methods .NET 1.0 GC Reflection JIT BCL Dynamic Codegen Verifier Sandbox
27. IronPython “IronPythonis an open-source implementation of the Python programming language which is tightly integrated with the .NET Framework. IronPython can use the .NET Framework and Python libraries, and other .NET languages can use Python code just as easily.” - IronPython.net
28. IronRuby “IronRuby is a Open Source implementation of the Ruby programming language for .NET and Silverlight, heavily relying on Microsoft's Dynamic Language Runtime.” - IronRuby.net
29. IronWhat? True language implementation True to the language True to the community True to the experience Excellent performance Great integration with .NET Easy to use .NET libraries Easy to use other .NET languages Easy to use in .NET hosts Easy to use with .NET tools Implementation Running On .NET
38. [TestClass] public class StackTest{ [TestMethod] public void NewStackHasZeroElements(){ var s = new Stack<string>(); Assert.AreEqual<int>(0,s.Count); } [TestMethod] public void StackPeekTopElement() { var s = new Stack<string>(); s.Push("bob"); Assert.AreEqual<int>(1,s.Count); Assert.AreEqual<string>("bob",s.Peek()); } [TestMethod] public void StackPopTopElement() { var s = new Stack<string>(); s.Push("bob"); Assert.AreEqual<string>("bob",s.Pop()); Assert.AreEqual<int>(0,s.Count); } }
39. describe ".NET Stack Operations" do it "should create an instance with zero elements" do Stack.new.count.should.be 0 end it "should let us peek at the element pushed" do s = Stack.new s.push"bob" s.peek.should.be "bob" s.count.should.be 1 end it "should let us pop the element we pushed" do s = Stack.new s.push"bob" s.pop.should.be "bob" s.count.should.be 0 end end
40. describe ".NET Stack Operations" do ... end defdescribe(description) print "#{description}" yield puts "end" end
41. s.count.should.be 3 class PositiveExpectation definitialize(obj) @obj = objend defbe(other) if @obj != other print "Fail: wanted #{@obj} got #{other}" else print "Pass" end end end class Object defshould PositiveExpectation.new(self) end end
48. // this code assumes language info in app.config varsetup = ScriptRuntimeSetup.ReadConfiguration(); varruntime = new ScriptRuntime(setup); varengine = return runtime.GetEngine("Python"); engine.Execute("2 + 2");
49. // or you can hard code a specific language varpy_engine= Python.CreateEngine(); py_engine.Execute("2 + 2"); varrb_engine= Ruby.CreateEngine(); rb_engine.Execute("2 + 2");
Fashion: Big trend towards Dynamic Programming, (and Functional Programming and Concurrency) – this has come out of the trend for programming languages and frameworks becoming more concerned with productivity (where previously they were concerned with efficiency.)Fame: Lots of well-known people in the community (DHH, Martin Fowler, Charles Nutter, Uncle Bob, etc.)Weight Loss: Do more with less codeConvention over configuration Text Editor is enough (for some)Interest: What is possible, what can I do?Fortune: There are jobs that require skills in dynamic languages. Fortune might be overegging it a bit...Credit: Mark Bloodworth
Dynamic programming language is a term used broadly in computer science to describe a class of high levelprogramming languages that execute at runtime many common behaviors that other languages might perform during compilation, if at all. These behaviors could include extension of the program, by adding new code, by extending objects and definitions, or by modifying the type system, all during program execution. These behaviors can be emulated in nearly any language of sufficient complexity, but dynamic languages provide direct tools to make use of them.Dynamic languages and dynamic typing are not identical concepts, and a dynamic language need not be dynamically typed, though many dynamic languages are dynamically typed.A programming language is said to use dynamic typing when type checking is performed at run-time (also known as &quot;late-bindng&quot;) as opposed to at compile-time. Examples of languages that use dynamic typing include JavaScript, Lisp, Perl, PHP, Python, Ruby, and Smalltalk. Compared to static typing (or &apos;early-binding&apos;), dynamic typing is more flexible because of theoretical limitations on the decidability of certain static program analysis problems; these prevent the same level of flexibility from being achieved with static typing. There is also less code to write for a given functionality, but dynamic typing is slower at execution time.When used by itself, dynamic typing relies much more on testing for the discovery of errors. If code is not executed, then only interpreter checks for syntax can be done, as opposed to the additional type checks done in a statically typed language. These static type checks are necessarily simpler than those which can be applied at run time, since less information is available to the language system then. Infrequently executed code, such as error handlers, might take more effort to test in a dynamic typing context, but equally, there is no illusion that parts of a dynamic program are fit for purpose without them being tested, as opposed to being merely type-checked.Some examples of things done at runtime instead of compile time: Parsing type validation type creation method dispatch Field lookup Inheritance lookupIn a dynamically typed language, since those things are done at runtime, they can be changed at runtime too.Credit: Wikipedia / Harry PiersonBut what does all this mean?
Duck Typing / Dynamic TypingContinuations
Higher Order Functions – Højereordensfunktioner, lambdaClosures - the closure is basically a snapshot of the stack at the point that the lambda function is created. Then when the function is re-executed the stack is restored to that state before executing the functionhttp://www.flickr.com/photos/35064820@N00/3950391591/
MetaprogrammingCode as data, data as codeMetaprogramming is the writing of computer programs that write or manipulate other programs (or themselves) as their data, or that do part of the work at compile time that would otherwise be done at runtime. In many cases, this allows programmers to get more done in the same amount of time as they would take to write all the code manually, or it gives programs greater flexibility to efficiently handle new situations without recompilation.Wikipedia
Simplicity – users believe dynamic code to be simpler than static codeExpressive – syntax, readablePerspective - Examples –amazon, linkedin, facebook app, thoughtworks, Google, etc.Pragmatic Programmer advice – learn one new language a yearFamiliarity – can lead us to conclusionsMindset – learning and using new languages can help us to think differentlyCredit: Mark Bloodworth
Eksempler på de sprog vi skal kigge på: Python, RubyCredit: Mark Bloodworth
This is a model definition from Ruby on Rails for a DB table named Customers (emphasize the plural). Assuming we’re following the db schema conventions that Rails expects (and Nwind doesn’t), it can go out and grovel the schema from the database and update the class accordingly at runtime.The LINQ to SQL equivalent of this code is nearly 400 lines of generated C# code spit out of a fancy designer that Microsoft needed to build because it would be really time consuming to write the data context code by hand. Plus, you now have two copies of your DB schema to maintain – one in SQL DDL and on in C# - and it’s very important to keep them in sync. The ActiveRecord class, on the other hand, simply picks up the new DB schema automatically. Credit: Harry Pierson, Devhawk
DSL = Domain Specific Language
Sinatraer et web framework for Ruby. I DSL tankenerDomænet web applikationer.Sintraer ~1400 linier kodeVi prøver at lave en simpel demo først, ogbagefterprøver vi at udvide den til at være en fattigmandsfront-end til en søgemaskine.
SlideCredit: John Lam
Slide Credit: John LamCriticismThere are a number of things that I hear repeatedly about dynamic languagesUsually from people who haven’t really used them.Slow: Dynamic languages aren’t compiledBuggy: Static typed languages prevent bugsDifficult: Maintaining large codebase in languages, tool supportDangerous: There is some inherent safety in static typingSome Notes Credit: Mark Bloodworth
Lad os prøve at opsummere forskellene i opfattelser af dynamiske og statiske sprog.Bevidst meget karikeret!Dynamic: Scripting sprog, hurtige, dynamiske typer, kort udviklingshastighed længere køretid, fortolket, hacker culture, slår op på runtimeStatic: Sprog man skriver flysoftware i, langhåret, lang udviklingstid kort køretid, IDE’er, slår op på compiletimeSlide Credit:Bart De Smet
How could Microsoft have screwed up so badly that the CLR is far worse than the JVM for dynamic languages?Jythonshows that dynamic languages can run well on the JVMSlide credit: Jim Hugunin
http://www.flickr.com/photos/john_lam/2232308534/IronPython was originally created by Jim Hugunin, who also was the original creator of Jython. Jim wanted to write a paper titled “Why .NET is a terrible platform for dynamic languages”Detvarikkesådum en ide, ogdetkomIronPythonudafCredit: Harry Pierson
Efter IronPython fandt man ud af der var nogle fællestræk for sprog implementører der gerne vil have dynamiske sprog på CLR’en. De dele trak man ud af IronPython, og arbejdede videre på, og det er endt som DLR’eren.
De smet
Dynamic Codegen:Reflection.EmitFast Delegates important because used in call site caching, generics makes it easier to program with these virtual functions and callsDynamic methods: Part of the System.Reflection.Emit namespace, the DynamicMethod class allows you to create and execute methods at runtime without creating any dynamic assembly or dynamic type.Expression tree: An expression tree provides a method of translating executable code into data.Extension methods: string.WordCount:Count all words in a given string.Expression Trees v2 adds:- Add assignment- Add control-flow- Add dynamic dispatch nodes
Credit: Jim Hugunin
Modsætningen bryder ned, og der kommer et fælles sprog. De 2 verdener kan sameksistere og kommunikereDe Smet
Slide Credit: Jim Hugunin
Detbetyder Iron Sprog erførsteklassepå .NETplatformen, deterikke et appendix, et stedbarnellernogetandetværk. Deterfuldgyldigtmedlemaføkosystemet.De sprog Microsoft laver hedderIronPythonogIronRuby. Derudoverer der en del open source projekter med sprogimplementationer.“IronPython is an open-source implementation of the Python programming language which is tightly integrated with the .NET Framework. IronPython can use the .NET Framework and Python libraries, and other .NET languages can use Python code just as easily.” - IronPython.net“IronRuby is a Open Source implementation of the Ruby programming language for .NET and Silverlight, heavily relying on Microsoft&apos;s Dynamic Language Runtime.” - IronRuby.netSome parts Credit: Harry Pierson, Devhawk
Python comes with batteries included.Fuld implementation af Python sprog (syntaks + semantik) plus standardbiblioteker
Targets 1.8.6
Efterrationalisering,De smet
MS-PL, OSI ratified licenseIronRuby takes contributions to libraries
IronJS: compiles Jquery 1.4
Vi har set lidt på hvad dynamiske sprog er, og hvrodan det er implementeret i .NET vha DLR’eren.Så hvad skal vi bruge det til, hvorfor er det interessant for os som .NET udviklere?”Wet your appetite for more”
”.NET to the dynamic masses”
”.NET to the dynamic masses””The right tool for the job”Polyglot programmer – den flersprogede programmerhttp://www.istockphoto.com/stock-photo-5245804-carpenter-tool-belt-and-tools-isolated-on-white.php
Easy to extend – skriv udvidelser i .NET/C# i stedet for CEasy to embed – embed som pluginarkitektur, scriptable appsInterop m. Eksisterende .NETDSL”Enterprise apps”Limen mellem den eksisterende investering i Python kode og til .Net til at udnytte de muligheder der er heri.
Credit: Harry Pierson, devhawk
Credit: Harry Pierson, devhawk
Credit: Harry Pierson, devhawk
Credit: Harry Pierson, devhawk
Rails is the killer application for Ruby. Any ruby implementation must be able to run Railshttp://www.flickr.com/photos/mirkogarufi/363286628/
IronPython in https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=475830Python 3 support er MIA.VS support manglerpga legalDevhawk
Jimmy: 95% pass rate on ruby spec, 1,5 times faster than MRIRails: above 95%1.0: when the community thinks it’s ready. Focus is on perf and bug fixes to be as compatible as possible with 1.8.6Credit: Harry Pierson, devhawk
Build a dynamic language with the DLRLearn a dynamic languageIncorporate a dynamic language into your architectureCreate a dynamic library for .NETUse C# 4.0 and dynamicSlide credit: John Lam,Some Notes: Mark Bloodworth