The document discusses exporting models trained with S4TF to CoreML format in Swift.
It provides code to:
1. Generate Swift data structures from CoreML protobuf definitions to represent models
2. Export an S4TF model defined with layers, weights, and hyperparameters to the CoreML format
3. Compile, make predictions, and perform personalization/training using the exported CoreML model
The personalization process involves:
1. Generating training data
2. Preparing batch providers for input/output
3. Configuring and running a training task on the CoreML model
4. Saving the retrained model
The document suggests automating the export process by extending S
JavaFX 2.0 With Alternative Languages - Groovy, Clojure, Scala, Fantom, and V...Stephen Chin
Presented at GeeCON 2011: JavaFX Script is going away, but the JavaFX Platform is getting a new face with pure Java APIs. In this session, you will see how you can leverage the new JavaFX 2.0 APIs from a host of different JVM languages, including JRuby, Clojure, Groovy, and Scala.
Cleaner APIs, Cleaner UIs with Visage (33rd Degrees)Stephen Chin
Visage is a JVM language designed specifically for UI development, with special syntax for hierarchically describing UIs, binding data and behavior, and representing UI specific concepts such as animation, layout, and styles. It also is a full-featured language with a full compiler tool-chain, static compilation to JVM bytecodes, and IDE plug-ins. This talk will demonstrate how to use the Visage language to build UIs for JavaFX 2.0, Vaadin, and Android. Find out how you can take control of your UI development by writing cleaner, more maintainable UI code using the Visage language in your existing Java projects.
JavaFX and Scala - Like Milk and CookiesStephen Chin
Presentation on Scala and JavaFX given at Scala Days. Shows how the ScalaFX API can be used to write cleaner and more maintainable code for your JavaFX applications in the Scala language. Also goes over implementation details that may be useful to other Scala DSL creators and has some quotes from Stephen Coulbourne to "lighten" things up.
The document discusses functional programming concepts in Clojure including immutable data structures like lists, vectors, and maps. It compares the functional style of Clojure to the object-oriented style of Java, showing how Clojure allows data to flow through transformations without side effects. Key points covered include Clojure's homoiconic nature, pure functions, and use of transformations and composition over iterative steps.
The document discusses exporting models trained with S4TF to CoreML format in Swift.
It provides code to:
1. Generate Swift data structures from CoreML protobuf definitions to represent models
2. Export an S4TF model defined with layers, weights, and hyperparameters to the CoreML format
3. Compile, make predictions, and perform personalization/training using the exported CoreML model
The personalization process involves:
1. Generating training data
2. Preparing batch providers for input/output
3. Configuring and running a training task on the CoreML model
4. Saving the retrained model
The document suggests automating the export process by extending S
JavaFX 2.0 With Alternative Languages - Groovy, Clojure, Scala, Fantom, and V...Stephen Chin
Presented at GeeCON 2011: JavaFX Script is going away, but the JavaFX Platform is getting a new face with pure Java APIs. In this session, you will see how you can leverage the new JavaFX 2.0 APIs from a host of different JVM languages, including JRuby, Clojure, Groovy, and Scala.
Cleaner APIs, Cleaner UIs with Visage (33rd Degrees)Stephen Chin
Visage is a JVM language designed specifically for UI development, with special syntax for hierarchically describing UIs, binding data and behavior, and representing UI specific concepts such as animation, layout, and styles. It also is a full-featured language with a full compiler tool-chain, static compilation to JVM bytecodes, and IDE plug-ins. This talk will demonstrate how to use the Visage language to build UIs for JavaFX 2.0, Vaadin, and Android. Find out how you can take control of your UI development by writing cleaner, more maintainable UI code using the Visage language in your existing Java projects.
JavaFX and Scala - Like Milk and CookiesStephen Chin
Presentation on Scala and JavaFX given at Scala Days. Shows how the ScalaFX API can be used to write cleaner and more maintainable code for your JavaFX applications in the Scala language. Also goes over implementation details that may be useful to other Scala DSL creators and has some quotes from Stephen Coulbourne to "lighten" things up.
The document discusses functional programming concepts in Clojure including immutable data structures like lists, vectors, and maps. It compares the functional style of Clojure to the object-oriented style of Java, showing how Clojure allows data to flow through transformations without side effects. Key points covered include Clojure's homoiconic nature, pure functions, and use of transformations and composition over iterative steps.
Jython: Python para la plataforma Java (EL2009)Leonardo Soto
This document discusses using Python on the Java platform. It begins by asking if a Java platform can exist without Java, and explores using Python, Ruby, Scala and Groovy instead. It then highlights features of Python like being dynamic, flexible and readable. Jython is introduced as a way to use Python on the Java platform. The document demonstrates using Swing GUIs from Jython and shows a Django web application example. It also discusses testing Python code including doctests and integration tests using HtmlUnit. Finally, it mentions some companies that use Jython and provides resources for learning more.
The document discusses RxSwift, which is a library for reactive programming with Swift. It combines ReactiveX with Swift by providing Observables and Observers. Observables allow data streams to be observed and manipulated through operators like map, filter, etc. The document provides examples of using RxSwift to validate a password field by observing text changes and mapping valid/invalid states to display feedback. It also shows an example of observing a nickname field to call an API on valid input. Overall, the document introduces the key concepts of RxSwift like Observables, Observers, operators, and provides examples of validating user input fields reactively.
Jython: Python para la plataforma Java (JRSL 09)Leonardo Soto
This document discusses using Python on the Java platform with Jython. It begins with an introduction to Jython, noting that it allows Python code to run on the Java Virtual Machine while maintaining compatibility with CPython. The document then provides examples of using Swing GUI libraries from Python with Jython. It also demonstrates using Django to build a simple wiki application in Jython. Finally, it discusses doctests for testing Python code and mentions some organizations that use Jython, such as Lockheed Martin and EADS.
This document provides an overview and agenda for a presentation about Java. It discusses Java history, object-oriented programming concepts like classes and interfaces, inheritance and polymorphism, exception handling, primitive types and wrappers, inner classes, generics, and new features introduced since Java 5 such as varargs, enhanced for loops, annotations, and auto boxing/unboxing. The presentation covers these topics over multiple slides with code examples.
Hacking JavaFX with Groovy, Clojure, Scala, and Visage: Stephen Chinjaxconf
JavaFX 2 is the next version of a revolutionary rich client platform for developing immersive desktop applications. One of the new features in JavaFX 2 is a set of pure Java APIs that can be used from any JVM language, opening up tremendous possibilities. This presentation demonstrates the potential of using JavaFX 2 together with alternative languages such as Groovy, Clojure, and Scala. It also will showcase the successor to JavaFX Script, Visage, a DSL with features specifically targeted at helping create clean UIs.
Beyond Breakpoints: Advanced Debugging with XCodeAijaz Ansari
This document contains code snippets and notes from a presentation or workshop about debugging techniques using tools like NSLog, LLDB, and jq. It discusses debugging crashes, testing hypotheses, and examining memory usage. It also demonstrates using the jq tool to parse and filter JSON data within the LLDB debugger. Code examples show setting breakpoints, accessing variables, and calling jq from a Python lldb command to apply jq filters to JSON strings from the debugger.
Slides for the Reactive 3D Game Engine presented at ScalaDays 2014.
Shows the demo of the 3D engine, followed by the description of the reactive 3D game engine - how reactive dependencies between input, time and game logic are expressed, how to deal with GC issues, how to model game state using Reactive Collections.
The Ring programming language version 1.6 book - Part 46 of 189Mahmoud Samir Fayed
This document summarizes code from the Ring documentation related to user registration, login, and database classes. It describes classes for users, models, views, controllers, and languages that allow for user registration, login, form views, and routing. It also summarizes the Database, ModelBase, and ControllerBase classes that provide functionality for connecting to databases, executing queries, and managing model data.
Swift - 혼자 공부하면 분명히 안할테니까 같이 공부하기Suyeol Jeon
The document contains code snippets demonstrating various Swift programming concepts including variables, constants, types, optionals, functions, classes, structs, enums, and more. Key concepts demonstrated include variable and constant declaration with types, optional binding, functions with parameters and return values, classes and structs with properties and methods, tuples, and enums with associated values and raw values.
The document discusses the tools Spock and Geb for testing in Groovy. It provides arguments for why to use Spock, describes the Given-When-Then structure in Spock tests, and covers Spock blocks, lifecycles, mocking, and the four phases of testing.
Planet-HTML5-Game-Engine is HTML5 Game Engine for Mobile Devices. This slide presents a few V8 Javascript engine specific techniques to get better performance for this game engine on mobile chrome browser.
Clojure is wonderful new language for the JVM that's really making waves: a functional Lisp dialect with full interoperation with Java, and a suite of excellent concurrency utilities ... but it's more than that.
Clojure is a highly expressive and highly adaptable language that allows you to focus on your craft in a way traditional languages such as Java and C# do not. In this session, we'll introduce the language and its core utilities and then introduce the fundamental concepts of functional programming as they apply to Clojure. Clojure has been described as a "high level language beamed back from the near future" ... come see what your future may hold, and why you're really going to like it!
This document provides an overview of JavaFX 2.0 and how to build JavaFX applications. It discusses the JavaFX 2.0 platform, building applications in Java, GroovyFX, ScalaFX and Visage, and the JavaFX 2.0 architecture. The document contains code examples for building a simple "Hello World" application in each technology. It also covers JavaFX properties, lists and binding capabilities.
Short (45 min) version of my 'Pragmatic Real-World Scala' talk. Discussing patterns and idioms discovered during 1.5 years of building a production system for finance; portfolio management and simulation.
JavaFX Your Way: Building JavaFX Applications with Alternative LanguagesStephen Chin
JavaFX is more than a language. It is also a platform for building immersive applications with graphics, animation, and rich media. In this session, you will see how you can leverage JavaFX from a host of different JVM languages, including Java, JRuby, Groovy, Scala, and Clojure.
Clojure: Towards The Essence Of Programming (What's Next? Conference, May 2011)Howard Lewis Ship
The document discusses Clojure and its approach to programming. It begins by defining the essence of programming as the intrinsic nature that determines a language's character. It then discusses how Clojure focuses on the essential aspects of programming by removing ceremony and focusing on data rather than objects or classes. The document uses examples to illustrate how Clojure allows for concise yet expressive code through its emphasis on data, immutability, and functional programming.
Programming Lisp Clojure - 2장 : 클로저 둘러보기JangHyuk You
This document provides an overview of basic Clojure data types and control structures.
It describes Clojure's support for (boolean) true and false, (character) \a, (keyword) :tag, (map) {:name "Bill", :age 42}, (number) 1, 4.2, (string) "hello", and (symbol) user/foo data types.
It also summarizes commonly used control structures like if, do, loop/recur, and for and provides examples of their usage.
This document provides an overview of Scala and compares it to Java. It discusses Scala's object-oriented and functional capabilities, how it compiles to JVM bytecode, and benefits like less boilerplate code and support for functional programming. Examples are given of implementing a simple Property class in both Java and Scala to illustrate concepts like case classes, immutable fields, and less lines of code in Scala. The document also touches on Java interoperability, learning Scala gradually, XML processing capabilities, testing frameworks, and tool/library support.
Elixir & Phoenix - fast, concurrent and explicitTobias Pfeiffer
Elixir and Phoenix are all the hype lately - what's great about them? Is there more to them than "just" fast, concurrent and reliable?
This talk will give a short intro into both Elixir and Phoenix, highlighting strengths, differences from Ruby/Rails and weaknesses.
Jython: Python para la plataforma Java (EL2009)Leonardo Soto
This document discusses using Python on the Java platform. It begins by asking if a Java platform can exist without Java, and explores using Python, Ruby, Scala and Groovy instead. It then highlights features of Python like being dynamic, flexible and readable. Jython is introduced as a way to use Python on the Java platform. The document demonstrates using Swing GUIs from Jython and shows a Django web application example. It also discusses testing Python code including doctests and integration tests using HtmlUnit. Finally, it mentions some companies that use Jython and provides resources for learning more.
The document discusses RxSwift, which is a library for reactive programming with Swift. It combines ReactiveX with Swift by providing Observables and Observers. Observables allow data streams to be observed and manipulated through operators like map, filter, etc. The document provides examples of using RxSwift to validate a password field by observing text changes and mapping valid/invalid states to display feedback. It also shows an example of observing a nickname field to call an API on valid input. Overall, the document introduces the key concepts of RxSwift like Observables, Observers, operators, and provides examples of validating user input fields reactively.
Jython: Python para la plataforma Java (JRSL 09)Leonardo Soto
This document discusses using Python on the Java platform with Jython. It begins with an introduction to Jython, noting that it allows Python code to run on the Java Virtual Machine while maintaining compatibility with CPython. The document then provides examples of using Swing GUI libraries from Python with Jython. It also demonstrates using Django to build a simple wiki application in Jython. Finally, it discusses doctests for testing Python code and mentions some organizations that use Jython, such as Lockheed Martin and EADS.
This document provides an overview and agenda for a presentation about Java. It discusses Java history, object-oriented programming concepts like classes and interfaces, inheritance and polymorphism, exception handling, primitive types and wrappers, inner classes, generics, and new features introduced since Java 5 such as varargs, enhanced for loops, annotations, and auto boxing/unboxing. The presentation covers these topics over multiple slides with code examples.
Hacking JavaFX with Groovy, Clojure, Scala, and Visage: Stephen Chinjaxconf
JavaFX 2 is the next version of a revolutionary rich client platform for developing immersive desktop applications. One of the new features in JavaFX 2 is a set of pure Java APIs that can be used from any JVM language, opening up tremendous possibilities. This presentation demonstrates the potential of using JavaFX 2 together with alternative languages such as Groovy, Clojure, and Scala. It also will showcase the successor to JavaFX Script, Visage, a DSL with features specifically targeted at helping create clean UIs.
Beyond Breakpoints: Advanced Debugging with XCodeAijaz Ansari
This document contains code snippets and notes from a presentation or workshop about debugging techniques using tools like NSLog, LLDB, and jq. It discusses debugging crashes, testing hypotheses, and examining memory usage. It also demonstrates using the jq tool to parse and filter JSON data within the LLDB debugger. Code examples show setting breakpoints, accessing variables, and calling jq from a Python lldb command to apply jq filters to JSON strings from the debugger.
Slides for the Reactive 3D Game Engine presented at ScalaDays 2014.
Shows the demo of the 3D engine, followed by the description of the reactive 3D game engine - how reactive dependencies between input, time and game logic are expressed, how to deal with GC issues, how to model game state using Reactive Collections.
The Ring programming language version 1.6 book - Part 46 of 189Mahmoud Samir Fayed
This document summarizes code from the Ring documentation related to user registration, login, and database classes. It describes classes for users, models, views, controllers, and languages that allow for user registration, login, form views, and routing. It also summarizes the Database, ModelBase, and ControllerBase classes that provide functionality for connecting to databases, executing queries, and managing model data.
Swift - 혼자 공부하면 분명히 안할테니까 같이 공부하기Suyeol Jeon
The document contains code snippets demonstrating various Swift programming concepts including variables, constants, types, optionals, functions, classes, structs, enums, and more. Key concepts demonstrated include variable and constant declaration with types, optional binding, functions with parameters and return values, classes and structs with properties and methods, tuples, and enums with associated values and raw values.
The document discusses the tools Spock and Geb for testing in Groovy. It provides arguments for why to use Spock, describes the Given-When-Then structure in Spock tests, and covers Spock blocks, lifecycles, mocking, and the four phases of testing.
Planet-HTML5-Game-Engine is HTML5 Game Engine for Mobile Devices. This slide presents a few V8 Javascript engine specific techniques to get better performance for this game engine on mobile chrome browser.
Clojure is wonderful new language for the JVM that's really making waves: a functional Lisp dialect with full interoperation with Java, and a suite of excellent concurrency utilities ... but it's more than that.
Clojure is a highly expressive and highly adaptable language that allows you to focus on your craft in a way traditional languages such as Java and C# do not. In this session, we'll introduce the language and its core utilities and then introduce the fundamental concepts of functional programming as they apply to Clojure. Clojure has been described as a "high level language beamed back from the near future" ... come see what your future may hold, and why you're really going to like it!
This document provides an overview of JavaFX 2.0 and how to build JavaFX applications. It discusses the JavaFX 2.0 platform, building applications in Java, GroovyFX, ScalaFX and Visage, and the JavaFX 2.0 architecture. The document contains code examples for building a simple "Hello World" application in each technology. It also covers JavaFX properties, lists and binding capabilities.
Short (45 min) version of my 'Pragmatic Real-World Scala' talk. Discussing patterns and idioms discovered during 1.5 years of building a production system for finance; portfolio management and simulation.
JavaFX Your Way: Building JavaFX Applications with Alternative LanguagesStephen Chin
JavaFX is more than a language. It is also a platform for building immersive applications with graphics, animation, and rich media. In this session, you will see how you can leverage JavaFX from a host of different JVM languages, including Java, JRuby, Groovy, Scala, and Clojure.
Clojure: Towards The Essence Of Programming (What's Next? Conference, May 2011)Howard Lewis Ship
The document discusses Clojure and its approach to programming. It begins by defining the essence of programming as the intrinsic nature that determines a language's character. It then discusses how Clojure focuses on the essential aspects of programming by removing ceremony and focusing on data rather than objects or classes. The document uses examples to illustrate how Clojure allows for concise yet expressive code through its emphasis on data, immutability, and functional programming.
Programming Lisp Clojure - 2장 : 클로저 둘러보기JangHyuk You
This document provides an overview of basic Clojure data types and control structures.
It describes Clojure's support for (boolean) true and false, (character) \a, (keyword) :tag, (map) {:name "Bill", :age 42}, (number) 1, 4.2, (string) "hello", and (symbol) user/foo data types.
It also summarizes commonly used control structures like if, do, loop/recur, and for and provides examples of their usage.
This document provides an overview of Scala and compares it to Java. It discusses Scala's object-oriented and functional capabilities, how it compiles to JVM bytecode, and benefits like less boilerplate code and support for functional programming. Examples are given of implementing a simple Property class in both Java and Scala to illustrate concepts like case classes, immutable fields, and less lines of code in Scala. The document also touches on Java interoperability, learning Scala gradually, XML processing capabilities, testing frameworks, and tool/library support.
Elixir & Phoenix - fast, concurrent and explicitTobias Pfeiffer
Elixir and Phoenix are all the hype lately - what's great about them? Is there more to them than "just" fast, concurrent and reliable?
This talk will give a short intro into both Elixir and Phoenix, highlighting strengths, differences from Ruby/Rails and weaknesses.
Clojure is a Lisp dialect that runs on the Java Virtual Machine (JVM) and provides excellent concurrency support and tight integration with Java. It retains the advantages of Lisp such as being simple, expressive, and flexible while also allowing access to existing Java code and libraries. Clojure makes concurrency easy through features like transactional memory and agents. It can be used to create both Java and Clojure libraries and extends the Java platform.
The document outlines a session on mobile end-to-end testing using simulators. It discusses simulator basics for BlackBerry and Android, how to start and control simulators through commands and libraries. It then describes the Moet framework for defining a device-agnostic application interface and implementing it for different platforms using simulator libraries. Tests can then be written independently of devices and run by binding to the appropriate implementation at runtime. Logging and image comparison are available for test verification.
This document discusses Clojure's support for modularity through its data structures like lists, vectors, maps, and sets. It also covers Clojure's approach to namespaces, multimethods, vars, refs, agents, and dependency management compared to other languages and frameworks like CPAN, Rubygems, Maven, and OSGi.
Clojure and Swing – a new productivity sweet spot? discusses how Clojure, a Lisp dialect that runs on the JVM, can be used to develop graphical user interfaces (GUIs) using Java Swing in a more productive way than plain Java. It presents several advantages of Clojure for Swing development, such as reducing boilerplate code, easier definition of actions and event bindings, and increased flexibility and reusability through functional programming techniques. Examples are provided of common Swing programming tasks implemented more concisely and readably in Clojure compared to Java. The document concludes that Clojure is a powerful and flexible language that offers opportunities to apply Lisp concepts to Swing GUI development
This document introduces ClojureScript and building applications with it. It discusses how ClojureScript compiles Clojure to JavaScript and can run anywhere JavaScript runs. It covers the basics of the ClojureScript language like syntax, data structures, and functions. It also discusses tools for ClojureScript development like Leiningen, Figwheel, Shadow CLJS, and Cursive. Additionally, it covers building web applications with ClojureScript using templates like Hiccup and libraries like Reagent and Reframe.
Slides from Advaned Python lectures I gave recently in Haifa Linux club
Advanced python, Part 1:
- Decorators
- Descriptors
- Metaclasses
- Multiple inheritance
This talk I gave at the 2017 madewithlove retreat (https://2017.mwl.be/) and also at the Maceió DEV Meetup #21 (https://www.meetup.com/pt-BR/maceio-dev-meetup/events/245530346/)
The idea is to compare building the same application in two web frameworks in different languages. One I know and work daily, which is Laravel, and the other one is new to me and I had no experience in Elixir, the language the framework was built in.
The idea is not to compare both languages or frameworks. My goal was mainly learn something new building the same thing twice and see how different languages and frameworks can be used to build similar things.
---
## Slides links
Slide 13:
- https://www.youtube.com/watch?v=7Zlp9rKHGD4
Slide 18:
- https://www.youtube.com/watch?v=aA-XHI-EYcM
Slide 20:
- https://github.com/tonysm/slackish-laravel
- https://github.com/tonysm/slackish-phoenix
Slide 32:
- http://phoenixframework.org/blog/the-road-to-2-million-websocket-connections
Slide 38:
- https://www.youtube.com/watch?v=H686MDn4Lo8
---
## References for this talk
Functional Programming; What? Why? When? (Robert C Martin) https://www.youtube.com/watch?v=7Zlp9rKHGD4
Real World Elixir Deployment (Pete Gamache) https://www.youtube.com/watch?v=H686MDn4Lo8
Erlang: The Movie https://www.youtube.com/watch?v=xrIjfIjssLE
Lonestar ElixirConf 2017- KEYNOTE: Phoenix 1.3 by Chris McCord https://www.youtube.com/watch?v=tMO28ar0lW8
GOTO 2016 • Phoenix a Web Framework for the New Web • José Valim https://www.youtube.com/watch?v=bk3icU8iIto
ElixirConf 2016 - Giving up the Object-Oriented Ghost by Morgan Lanco https://www.youtube.com/watch?v=_VpZ6gQsyDY
GOTO 2017 • Elixir: The only Sane Choice in an Insane World • Brian Cardarella https://www.youtube.com/watch?v=gom6nEvtl3U
Elixir, quem é esse pokemon? - Bruno Volcov https://www.youtube.com/watch?v=aA-XHI-EYcM
Ecto, você sabe o que é? - Amanda Sposito https://www.youtube.com/watch?v=hQM4VdEpz6g
Programming Phoenix (book) by Chris McCord, Bruce Tate, and José Valim https://pragprog.com/book/phoenix/programming-phoenix
JavaScript is evolving with the addition of modules, platform consistency, and harmony features. Modules allow JavaScript code to be organized and avoid naming collisions. CommonJS and AMD module formats are used widely. Platform consistency is improved through polyfills that mimic future APIs for older browsers. Harmony brings language-level modules and features like destructuring assignment, default parameters, and promises to JavaScript. Traceur compiles Harmony code to existing JavaScript.
ClojureScript loves React, DomCode May 26 2015Michiel Borkent
This document provides an overview of ClojureScript and compares it to ReactJS. It discusses the current status of JavaScript, how ClojureScript targets JavaScript using Google Closure libraries and optimizations. The core features of ClojureScript are summarized, including its use of persistent immutable data structures, functional programming, sequence abstraction, and isolation of mutable state with atoms. Syntax differences between JavaScript and ClojureScript are shown through examples.
GR8Conf 2009: What's New in Groovy 1.6? by Guillaume LaforgeGR8Conf
The document discusses new features in Groovy 1.6, including performance improvements, syntax enhancements, compile-time metaprogramming additions, the Grape module system, Swing improvements, and more. Some key highlights are improved compiler performance, multiple variable assignment syntax, annotation definitions, AST transformations using annotations like @Singleton and @Immutable, and the Grape dependency management system. The presentation aims to demonstrate Groovy's capabilities for simplifying Java development.
Clojure is a LISP-like programming language that runs on the Java Virtual Machine. It was created in 2007 by Rich Hickey and is currently at version 1.1. Clojure is a functional, immutable, and concurrency-oriented language. It features LISP syntax, macros, immutability, functional programming, and easy interoperability with Java. Data structures in Clojure are code, allowing homoiconicity. Clojure also supports lazy sequences, STM-based concurrency without locks, and dynamic behavior via its REPL.
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011Nick Sieger
This document summarizes a presentation on using JRuby and Ruby on Rails for web application development. It discusses how JRuby allows Ruby code to drive Java, embed Ruby in Java applications, and compile Ruby to Java bytecode. Rails is presented as a dynamic web framework that uses conventions over configuration and opinionated defaults. The document provides examples of common Rails features like scaffolding, models, controllers and views. It also outlines how to deploy Rails applications as WAR files or to cloud platforms using JRuby.
This document discusses why every tester should learn Ruby. It notes that testers often use scripting languages like VBScript, SQABasic, RobotJ, and VU to automate tests, but that Ruby is a better alternative being a simple yet powerful object-oriented and dynamic programming language. Ruby has a high testing culture in its community and is used for test automation with frameworks like Selenium and Watir for web testing, JRuby for GUI testing with Java libraries, and can interface with databases using Ruby-PLSQL-Spec for testing Oracle PL/SQL code. The document provides examples of test scripts in Ruby and argues that Ruby allows tests to serve as executable specifications.
This document provides a summary of Jacek Laskowski as the main sponsor of a Clojure conference. It lists his background and experience including being a functional apprentice of Clojure, founder and co-leader of a JUG, conference organizer, member of Apache Software Foundation and IBM. It also lists his blog and Twitter accounts.
Groovy is a dynamic language for the Java platform that provides features inspired by languages like Python, Ruby and Smalltalk. It allows Java developers to use these features with a syntax that is very similar to Java. Groovy code can be compiled to Java bytecode and integrated with Java applications and libraries. It supports features like closures, metaprogramming, builders and templates to improve developer productivity.
This document introduces TypeScript for Java developers. It provides an overview of TypeScript, why to use it, how to get started, and examples of key TypeScript features like classes, interfaces, generics, decorators, and async/await. The author is an Angular practice lead and Java Champion who has authored books on Angular development with TypeScript. The document demonstrates how to set up a TypeScript environment and compile code, and provides code samples for many TypeScript language features and patterns.
Groovy is a dynamic language for the Java Virtual Machine that simplifies programming through features like closures, properties, and built-in support for lists, maps, ranges, and regular expressions. The latest version 1.5 adds support for Java 5 features like annotations and generics to leverage frameworks that use them. Groovy can be integrated into applications through mechanisms like JSR-223, Spring, and Groovy's own GroovyClassLoader to externalize business rules, provide extension points, and customize applications.
Similar to Clojure: Functional Concurrency for the JVM (presented at OSCON) (20)
Testing Web Applications with GEB provides concise summaries in 3 sentences or less:
GEB allows testing of web applications by driving browsers like Firefox using the Selenium WebDriver API. It integrates with jQuery-like content selection and supports features like page objects, modules, and JavaScript execution to simplify testing of Ajax applications. GEB uses Groovy for a more expressive and dynamic testing approach compared to other frameworks like Selenium.
Spock is a testing and specification framework for Java and Groovy applications. It allows writing tests in a business-readable style using specifications with setup, expect, when, then blocks. Tests are highly readable and maintainable. Spock supports mocking collaborators, defining mock behavior and interactions, parameterizing tests, and extending tests with annotations. It provides a highly logical way to write well-described and concise tests.
Backbone.js: Run your Application Inside The BrowserHoward Lewis Ship
Backbone.js allows developers to structure JavaScript web applications as a set of models, views, and a router. Models contain application data, views are responsible for the UI, and the router handles application state and linking views to URLs. Collections are used to manage multiple models. Events are used to coordinate changes between the different components.
Modern Application Foundations: Underscore and Twitter BootstrapHoward Lewis Ship
Underscore.js is a utility-belt JavaScript library that provides functions for manipulating arrays and objects without extending built-in prototypes. It contains over 60 built-in functions for tasks like iterating, mapping, filtering, and reducing collections of data. Underscore.js aims to work consistently across all JavaScript environments without dependencies on other libraries.
Have Your Cake and Eat It Too: Meta-Programming Techniques for JavaHoward Lewis Ship
The document discusses meta-programming in Java using bytecode manipulation libraries like ASM. It describes how ASM works by allowing the reading, modification, and writing of Java bytecode. This enables dynamically rewriting classes by adding, removing, or modifying fields and methods at runtime. The document provides an example of using ASM to add a private field to a class. It also discusses how meta-programming techniques can be used to implement features like aspect-oriented programming and dynamic proxies in Java.
Arduino: Open Source Hardware Hacking from the Software Nerd PerspectiveHoward Lewis Ship
This document discusses Arduino open source hardware from the perspective of a software developer. It provides an overview of Arduino boards and their specifications. It then demonstrates some basic Arduino projects like blinking an LED and reading input from a button or potentiometer. It also covers scaling up projects using shift registers and discusses next steps of using more sensors and displays. The goal is to show how easy it is for software developers to get started with Arduino and physical computing.
The document provides an overview of the Clojure build tool Leiningen. It discusses how Leiningen uses Maven infrastructure to manage dependencies and compiles Clojure code. It also covers common Leiningen commands like new, deps, compile, test, jar, and clean. While Leiningen is useful, it has some issues like confusing name, slow startup time, and terrible documentation. Alternative build tools like Maven, Gradle, and tools for sharing code like Git are also discussed.
This document provides an overview of Tapestry 5, an open-source Java web framework. It discusses key Tapestry concepts like its component-based approach, convention over configuration, and use of Java annotations for meta-programming. It also covers Tapestry features like live class reloading, non-Tapestry exception reporting, scaffolding, internationalization, and components. The document is authored by Howard Lewis Ship, the creator of Apache Tapestry.
The document discusses the Tapestry 5 framework for building Java web applications. It summarizes key features of Tapestry including being open source, component based, developer focused, fast, mature, and providing elements like templates, page classes, page flows, inversion of control, meta-programming, state management, and internationalization support. It also discusses Tapestry components, scaffolding, feedback and exploration capabilities, and internationalization.
An overview of the Cappuccino rich client framework. Cappuccino extends the legacy of NeXTSTEP and Mac OS X desktop development to the web, creating cross-platform, cross-browser web applications that look and feel like modern Mac OS X desktop applications.
The document provides an agenda for a Clojure Deep Dive presentation. The agenda includes sections on the Core Language, Standard Tools, Clojure Compilation, and Clojure Pitfalls. It then goes on to describe various aspects of the Clojure core language such as forms, functions, namespaces, and more.
Cascade is a Clojure web framework that is pure Clojure, functional, share-nothing, and action-oriented like Tapestry. It uses Tapestry-style templates to define views and fragments. The document outlines features like views, fragments, expansions, and actions, and discusses what is still missing like servlet integration, document generation capabilities, and additional template features. It provides links to the Cascade code on GitHub and wiki for more information.
The document discusses Apache Tapestry 5, a Java-based web application framework. It provides an overview of Tapestry's key features such as being component-based, developer-focused, concise, fast and mature. It also describes Tapestry's core elements like templates, page classes, page flows, inversion of control, meta-programming and state management. Finally, it discusses how Tapestry improves developer productivity and performance.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
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!
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.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
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).
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
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
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
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