This document provides a high-level overview of polyglot persistence and different database technologies. It begins by discussing the benefits of polyglot persistence in allowing the use of multiple data storage technologies based on application needs. It then summarizes several common database types including relational, document-oriented, key-value, and column-oriented databases. It also discusses database properties like ACID compliance, scaling, and data consistency models. The document concludes with examples of Amazon's SimpleDB and DynamoDB key-value stores.
Slides for presentation on Cloudera Impala I gave at the DC/NOVA Java Users Group on 7/9/2013. It is a slightly updated set of slides from the ones I uploaded a few months ago on 4/19/2013. It covers version 1.0.1 and also includes some new slides on HortonWorks' Stinger Initiative.
Cassandra 3.0 - JSON at scale - StampedeCon 2015StampedeCon
This session will explore the new features in Cassandra 3.0, starting with JSON support. Cassandra now allows storing JSON directly to Cassandra rows and vice versa, making it trivial to deploy Cassandra as a component in modern service-oriented architectures.
Cassandra 3.0 also delivers other enhancements to developer productivity: user defined functions let developers deploy custom application logic server side with any language conforming to the Java scripting API, including Javascript. Global indexes allow scaling indexed queries linearly with the size of the cluster, a first for open-source NoSQL databases.
Finally, we will cover the performance improvements in Cassandra 3.0 as well.
The document discusses three hypotheses for building a unified digital library system: 1) Using a network and common schema, 2) An object-oriented design approach, and 3) Viewing the researcher as central. It then describes the Catmandu toolkit for importing, processing, and storing data in various formats. Catmandu uses a functional programming approach and includes tools for extraction, transformation, loading, indexing, searching, and storing data in databases or search indexes. The document concludes by introducing the LibreCat project which provides example programs and applications built using Catmandu.
Spark is a fast and general engine for large-scale data processing. It was developed at UC Berkley in 2009 and can run programs up to 100x faster than Hadoop MapReduce in memory or 10x faster on disk. Spark uses Resilient Distributed Datasets (RDDs) as its basic abstraction, which allow data to be operated on in parallel. The document provides examples of using Spark for word count, SQL queries, and notebooks.
The document discusses the need for repository systems that combine features from different products to provide flexibility. It describes the Catmandu and LibreCat projects which aim to create a repository environment that allows mixing of metadata schemas, workflows and front-ends from different systems rather than being restricted to a single specialized solution. The projects seek to provide repositories that can be customized for different user needs through an integrated but modular approach to metadata, protocols and interfaces.
This document discusses OrientDB, an open source NoSQL document database. It provides high performance and scalability through horizontal scaling across servers. It supports flexible schemas, full text search, and graph-like connections between data. The document describes OrientDB's products, data model using clusters, Java and RESTful APIs, examples using records and POJOs, and security features.
OrientDB is a multi-model NoSQL document database that provides both graph and document structures and queries. It supports ACID transactions, schema-full and schema-less modes, HTTP/binary protocols, and allows both SQL-like and native graph queries. OrientDB provides APIs for Java, JRuby and other languages to interface with the database.
This document summarizes key aspects of MongoDB including its data model, query language, and data management features. It discusses how MongoDB uses storage engines to manage data storage and supports different engines for different workloads. It also covers MongoDB's dynamic and flexible schema, data modeling approaches using embedded documents, and core tools for importing, exporting, and diagnosing MongoDB deployments.
This document discusses XQuery and how it can be used for web applications. It addresses some common misconceptions about XQuery, such as that it is not a scripting language, has no application server, lacks open source tools, and has no utility functions for the web. It then introduces Sausalito, an open source XQuery application server, and describes some of its features like the AtomPub module and utility functions across many modules that enable building web applications with XQuery in the cloud.
You may all know that JSON is a subset of JavaScript, but… Did you know that HTML5 implements NoSQL databases? Did you know that JavaScript was recommended for REST by HTTP co-creator Roy T. Fielding himself? Did you know that map & reduce are part of the native JavaScript API? Did you know that most NoSQL solutions integrate a JavaScript engine? CouchDB, MongoDB, WakandaDB, ArangoDB, OrientDB, Riak…. And when they don’t, they have a shell client which does. The story of NoSQL and JavaScript goes beyond your expectations and opens more opportunities than you might imagine… What better match could you find than a flexible and dynamic language for schemaless databases? Isn’t an event-driven language what you’ve been waiting for to manage consistency? When NoSQL doesn’t come to JavaScript, JavaScript comes to NoSQL. And does it very well.
- MongoDB is a document-oriented, non-relational database that scales horizontally and uses JSON-like documents with dynamic schemas.
- It offers features like embedded documents, indexing, replication, and sharding.
- Documents are stored and queried using simple statements in a JavaScript-like syntax interface.
Hypothesis 1 proposes a single network and common schema. Hypothesis 2 proposes an object-oriented design approach. Hypothesis 3 states that the resource is the message. The document then discusses Catmandu, a Perl toolkit for working with complex data, and LibreCat, an example program for repository functions like search, citations, and more. It outlines the project plan and thanks collaborators.
Using Spark to Load Oracle Data into CassandraJim Hatcher
The document discusses lessons learned from using Spark to load data from Oracle into Cassandra. It describes problems encountered with Spark SQL handling Oracle NUMBER and timeuuid fields incorrectly. It also discusses issues generating IDs across RDDs and limitations on returning RDDs of tuples over 22 items. The resources section provides references for learning more about Spark, Scala, and using Spark with Cassandra.
This document provides a cheat sheet for using SQL commands to interact with PostgreSQL databases, schemas, tables, and data. It lists commands for connecting to databases (\c) and schemas (\dn), viewing table details (\d), and sending output to a file (\o). It also summarizes commands for data manipulation like INSERT, UPDATE, DELETE, and transactions using BEGIN and COMMIT. Finally, it outlines common SQL queries using SELECT, WHERE, ORDER BY, LIMIT, JOIN and other clauses.
- MongoDB is a non-relational, document-oriented database that scales horizontally and uses JSON-like documents with dynamic schemas.
- It supports complex queries, embedded documents and arrays, and aggregation and MapReduce for querying and transforming data.
- MongoDB is used by many large companies for operational databases and analytics due to its scalability, flexibility, and performance.
CouchDB Mobile - From Couch to 5K in 1 HourPeter Friese
This document provides an overview of CouchDB, a NoSQL database that uses JSON documents with a flexible schema. It demonstrates CouchDB's features like replication, MapReduce, and filtering. The presentation then shows how to build a mobile running app called Couch25K that tracks locations using CouchDB and syncs data between phones and a server. Code examples are provided in Objective-C, Java, and JavaScript for creating databases, saving documents, querying, and syncing.
UKOUG 2011 - Drag, Drop and other Stuff. Using your Database as a File ServerMarco Gralike
The document discusses Oracle XML DB Repository and its features. It describes how the repository is based on XML standards and can store, consume, generate, and validate XML. It also supports resource manipulation using packages and views. Events and extensions are supported through XML configuration files and schemas. Use cases demonstrate how unstructured files can be stored and metadata extracted for additional processing and display.
The document summarizes a presentation on how XQuery has evolved beyond its original implementation and capabilities. It discusses key features of modern XQuery implementations including automatic scaling, full-text search capabilities, data definition facilities for collections and indexes, scripting support for side effects, and use of XQuery in the browser without plugins. It provides examples of these extended features such as indexing, full-text search, scripting for web applications, and integrating XQuery with JavaScript in the browser.
Ms. Chitra Alavani, Head of the Computer Science department at Kaveri College of Arts, Science and Commerce, provides an overview of key concepts for working with MongoDB including creating databases and collections, inserting and querying documents, and performing aggregation.
Benchx: An XQuery benchmarking web application Andy Bunce
A system to record query performance of XQuery statements running on the BaseX http:basex.org XML database. It uses Angular on the client side and RESTXQ on the server.
The document discusses MongoDB, a non-relational database that uses documents with a flexible schema rather than tables, and is well-suited for applications that need to store data in complex, nested structures. It provides an overview of key MongoDB concepts like collections, queries, indexing, updating documents, and aggregation capabilities. Examples are given of how MongoDB can be used for applications involving user profiles, blogs, and logging.
Learn how to develop with Couchbase Lite for .NET. The session will include a look at the development environment and required C# APIs using a walkthrough of a demo app.
This document provides tips and best practices for debugging and tuning Spark applications. It discusses Spark concepts like RDDs, transformations, actions, and the DAG execution model. It then gives recommendations for improving correctness, reducing overhead from parallelism, avoiding data skew, and tuning configurations like storage level, number of partitions, executor resources and joins. Common failures are analyzed along with their causes and fixes. Overall it emphasizes the importance of tuning partitioning, avoiding shuffles when possible, and using the right configurations to optimize Spark jobs.
Replacing Oracle with MongoDB for a templating application at the Bavarian go...Comsysto Reply GmbH
Bavarian government runs a document template application (RTF or ODF with Groovy, Python, Ruby or Tcl as scripting language) serving different government offices. Having complex and hierarchical data structures to organize the templates, MongoDB was selected to replace the Oracle-based persistence layer. This presentation is about the improvements they have achieved with the migration to MongoDB, problems they had to solve underway and unit testing of the persistence layer in order to keep their quality level. Presentation slides by Christian Brensing, Senior Developer at Rechenzentrum Süd, shown at Munich MongoDB User Group Meetup on 18th September 2012
This document contains snippets of code from different programming languages and data formats including XQuery, JSON, XML, and SQL. It demonstrates how XQuery can be used for tasks like querying data, updating databases, interacting with web services, and integrating with other languages and technologies like JavaScript, HTML, Java, and SQL. Key advantages of XQuery highlighted include its powerful and flexible data model, its ability to seamlessly invoke other languages and technologies, and its potential for high performance and productivity.
This document provides an overview and introduction to CoffeeScript, a programming language that compiles to JavaScript. It shows how CoffeeScript code compiles to equivalent JavaScript code, and demonstrates CoffeeScript features like functions, classes, and object-oriented programming. The document introduces CoffeeScript syntax for arrays, objects, loops, and functions, and compares syntax to JavaScript. It also covers CoffeeScript concepts like scoping, context, and class-based object-oriented programming using prototypes.
OrientDB is a multi-model NoSQL document database that provides both graph and document structures and queries. It supports ACID transactions, schema-full and schema-less modes, HTTP/binary protocols, and allows both SQL-like and native graph queries. OrientDB provides APIs for Java, JRuby and other languages to interface with the database.
This document summarizes key aspects of MongoDB including its data model, query language, and data management features. It discusses how MongoDB uses storage engines to manage data storage and supports different engines for different workloads. It also covers MongoDB's dynamic and flexible schema, data modeling approaches using embedded documents, and core tools for importing, exporting, and diagnosing MongoDB deployments.
This document discusses XQuery and how it can be used for web applications. It addresses some common misconceptions about XQuery, such as that it is not a scripting language, has no application server, lacks open source tools, and has no utility functions for the web. It then introduces Sausalito, an open source XQuery application server, and describes some of its features like the AtomPub module and utility functions across many modules that enable building web applications with XQuery in the cloud.
You may all know that JSON is a subset of JavaScript, but… Did you know that HTML5 implements NoSQL databases? Did you know that JavaScript was recommended for REST by HTTP co-creator Roy T. Fielding himself? Did you know that map & reduce are part of the native JavaScript API? Did you know that most NoSQL solutions integrate a JavaScript engine? CouchDB, MongoDB, WakandaDB, ArangoDB, OrientDB, Riak…. And when they don’t, they have a shell client which does. The story of NoSQL and JavaScript goes beyond your expectations and opens more opportunities than you might imagine… What better match could you find than a flexible and dynamic language for schemaless databases? Isn’t an event-driven language what you’ve been waiting for to manage consistency? When NoSQL doesn’t come to JavaScript, JavaScript comes to NoSQL. And does it very well.
- MongoDB is a document-oriented, non-relational database that scales horizontally and uses JSON-like documents with dynamic schemas.
- It offers features like embedded documents, indexing, replication, and sharding.
- Documents are stored and queried using simple statements in a JavaScript-like syntax interface.
Hypothesis 1 proposes a single network and common schema. Hypothesis 2 proposes an object-oriented design approach. Hypothesis 3 states that the resource is the message. The document then discusses Catmandu, a Perl toolkit for working with complex data, and LibreCat, an example program for repository functions like search, citations, and more. It outlines the project plan and thanks collaborators.
Using Spark to Load Oracle Data into CassandraJim Hatcher
The document discusses lessons learned from using Spark to load data from Oracle into Cassandra. It describes problems encountered with Spark SQL handling Oracle NUMBER and timeuuid fields incorrectly. It also discusses issues generating IDs across RDDs and limitations on returning RDDs of tuples over 22 items. The resources section provides references for learning more about Spark, Scala, and using Spark with Cassandra.
This document provides a cheat sheet for using SQL commands to interact with PostgreSQL databases, schemas, tables, and data. It lists commands for connecting to databases (\c) and schemas (\dn), viewing table details (\d), and sending output to a file (\o). It also summarizes commands for data manipulation like INSERT, UPDATE, DELETE, and transactions using BEGIN and COMMIT. Finally, it outlines common SQL queries using SELECT, WHERE, ORDER BY, LIMIT, JOIN and other clauses.
- MongoDB is a non-relational, document-oriented database that scales horizontally and uses JSON-like documents with dynamic schemas.
- It supports complex queries, embedded documents and arrays, and aggregation and MapReduce for querying and transforming data.
- MongoDB is used by many large companies for operational databases and analytics due to its scalability, flexibility, and performance.
CouchDB Mobile - From Couch to 5K in 1 HourPeter Friese
This document provides an overview of CouchDB, a NoSQL database that uses JSON documents with a flexible schema. It demonstrates CouchDB's features like replication, MapReduce, and filtering. The presentation then shows how to build a mobile running app called Couch25K that tracks locations using CouchDB and syncs data between phones and a server. Code examples are provided in Objective-C, Java, and JavaScript for creating databases, saving documents, querying, and syncing.
UKOUG 2011 - Drag, Drop and other Stuff. Using your Database as a File ServerMarco Gralike
The document discusses Oracle XML DB Repository and its features. It describes how the repository is based on XML standards and can store, consume, generate, and validate XML. It also supports resource manipulation using packages and views. Events and extensions are supported through XML configuration files and schemas. Use cases demonstrate how unstructured files can be stored and metadata extracted for additional processing and display.
The document summarizes a presentation on how XQuery has evolved beyond its original implementation and capabilities. It discusses key features of modern XQuery implementations including automatic scaling, full-text search capabilities, data definition facilities for collections and indexes, scripting support for side effects, and use of XQuery in the browser without plugins. It provides examples of these extended features such as indexing, full-text search, scripting for web applications, and integrating XQuery with JavaScript in the browser.
Ms. Chitra Alavani, Head of the Computer Science department at Kaveri College of Arts, Science and Commerce, provides an overview of key concepts for working with MongoDB including creating databases and collections, inserting and querying documents, and performing aggregation.
Benchx: An XQuery benchmarking web application Andy Bunce
A system to record query performance of XQuery statements running on the BaseX http:basex.org XML database. It uses Angular on the client side and RESTXQ on the server.
The document discusses MongoDB, a non-relational database that uses documents with a flexible schema rather than tables, and is well-suited for applications that need to store data in complex, nested structures. It provides an overview of key MongoDB concepts like collections, queries, indexing, updating documents, and aggregation capabilities. Examples are given of how MongoDB can be used for applications involving user profiles, blogs, and logging.
Learn how to develop with Couchbase Lite for .NET. The session will include a look at the development environment and required C# APIs using a walkthrough of a demo app.
This document provides tips and best practices for debugging and tuning Spark applications. It discusses Spark concepts like RDDs, transformations, actions, and the DAG execution model. It then gives recommendations for improving correctness, reducing overhead from parallelism, avoiding data skew, and tuning configurations like storage level, number of partitions, executor resources and joins. Common failures are analyzed along with their causes and fixes. Overall it emphasizes the importance of tuning partitioning, avoiding shuffles when possible, and using the right configurations to optimize Spark jobs.
Replacing Oracle with MongoDB for a templating application at the Bavarian go...Comsysto Reply GmbH
Bavarian government runs a document template application (RTF or ODF with Groovy, Python, Ruby or Tcl as scripting language) serving different government offices. Having complex and hierarchical data structures to organize the templates, MongoDB was selected to replace the Oracle-based persistence layer. This presentation is about the improvements they have achieved with the migration to MongoDB, problems they had to solve underway and unit testing of the persistence layer in order to keep their quality level. Presentation slides by Christian Brensing, Senior Developer at Rechenzentrum Süd, shown at Munich MongoDB User Group Meetup on 18th September 2012
This document contains snippets of code from different programming languages and data formats including XQuery, JSON, XML, and SQL. It demonstrates how XQuery can be used for tasks like querying data, updating databases, interacting with web services, and integrating with other languages and technologies like JavaScript, HTML, Java, and SQL. Key advantages of XQuery highlighted include its powerful and flexible data model, its ability to seamlessly invoke other languages and technologies, and its potential for high performance and productivity.
This document provides an overview and introduction to CoffeeScript, a programming language that compiles to JavaScript. It shows how CoffeeScript code compiles to equivalent JavaScript code, and demonstrates CoffeeScript features like functions, classes, and object-oriented programming. The document introduces CoffeeScript syntax for arrays, objects, loops, and functions, and compares syntax to JavaScript. It also covers CoffeeScript concepts like scoping, context, and class-based object-oriented programming using prototypes.
The document discusses the Rack web server interface in Ruby. It explains that Rack defines the interface between web servers and web applications through requests and responses. A Rack application is any Ruby object that responds to call, accepting an environment hash and returning a status, headers, and body tuple. The document provides a simple Hello World Rack app as an example. It also discusses how middleware can modify requests and responses by forming a chain where each middleware calls the next. The order of middleware is important as it determines how requests and responses are modified. Common Rack middleware that are included for convenience are also listed.
jps and jvmtop are tools for monitoring Java processes and JVMs. jps lists Java processes similarly to ps and provides options like -l for fully qualified class names. jvmtop is like top but for Java processes, showing columns for PID, memory usage, CPU usage, GC activity, and more. Both tools get process information from /tmp files, so beware of tools like tmpwatch that may delete these files and cause processes to go unmonitored.
This document provides an overview of iOS programming using Xcode and Objective-C. It discusses Xcode development tools like Interface Builder and iOS Simulator. It covers the Xcode IDE, navigation, and running apps on the simulator or a device. It introduces Objective-C concepts like classes, objects, methods, and message passing. It discusses core Objective-C classes like NSString, NSNumber, NSArray, and NSDictionary. It also covers view controllers, the model-view-controller design pattern, and view controller lifecycle methods. Sample code projects are provided to demonstrate concepts like handling user interfaces and responding to user interactions.
iOS is a great platform to work on, and many developers have spend some time looking at the platform. This talk is aimed at programmers with prior iOS experience who want to get into iOS in more depth.
This presentation will take you from a basic level of understanding of iOS to look at advanced topics that will make you apps more polished, better designed and, ideally, more successful.
Abstract concepts are no use, so in this talk we'll take some existing successful commercial iOS applications as a case study, and see how a selection of iOS technologies and techniques combine within it.
On the way, we'll see:
* How to use Objective-C language facilities to their best advantage
* How to exploit key iOS technologies to save you time and effort
* iOS development idioms that will improve the quality of your code
* Creating "universal" iPhone/iPad/retina applications without going mad
* Successful deployment and testing strategies
HTTPie is a command line HTTP client that aims to make interacting with web services as human-friendly as possible. It provides colorized and formatted output, supports various HTTP methods and authentication types, and allows interacting with web services through simple HTTP commands. Some key features include output formatting, query parameters, file uploads, authentication, and named sessions for persisting settings between requests.
The document provides an overview of Jersey, an open source framework for developing RESTful web services in Java. It describes how Jersey implements JAX-RS and supports developing resources using Java annotations like @Path, @GET and @Produces. Resources are POJOs that handle HTTP requests at specific URI paths. Jersey also supports object injection, sub-resources, response building and common deployment options like using Grizzly HTTP server.
Hadoop is an open-source framework for distributed storage and processing of large datasets across clusters of computers. It consists of HDFS for distributed storage and MapReduce for distributed processing. HDFS stores large files across multiple machines and provides high throughput access to application data. MapReduce allows processing of large datasets in parallel by splitting the work into independent tasks called maps and reduces. Companies use Hadoop for applications like log analysis, data warehousing, machine learning, and scientific computing on large datasets.
The document provides an introduction to Objective-C, including background information on its origins and current usage. It discusses key Objective-C concepts like classes, methods, memory management, and the differences between static, stack and heap memory. Code examples are provided to demonstrate how to declare classes, instantiate objects, call methods, and handle memory allocation and release of objects.
Slides for a lightning talk on Java 8 lambda expressions I gave at the Near Infinity (www.nearinfinity.com) 2013 spring conference.
The associated sample code is on GitHub at https://github.com/sleberknight/java8-lambda-samples
Slides accompanying a presentation on Dropwizard I gave at the DevIgnition conference ( www.devignition.com ) on April 29, 2016. The sample code is on GitHub at https://github.com/sleberknight/dropwizard-devignition-2016
Slides for a lightning talk on HBase that I gave at Near Infinity (www.nearinfinity.com) spring 2012 conference.
The associated sample code is on GitHub at https://github.com/sleberknight/basic-hbase-examples
Slides for presentation on Google Guava I gave at the Near Infinity (www.nearinfinity.com) 2013 spring conference.
The associated sample code is on GitHub at https://github.com/sleberknight/google-guava-samples
Slides for presentation on ZooKeeper I gave at Near Infinity (www.nearinfinity.com) 2012 spring conference.
The associated sample code is on GitHub at https://github.com/sleberknight/zookeeper-samples
Using XCode 3.0 under Mac OS X 10.5 as our IDE, and Objective-C and iPhone API as our programming tools we will create iPhone applications (from basic to medium level), which finally can be, load into an iPhone. We’ll start with the classical “Hello World” and continue to develop applications using graphical user interfaces, handling multi-touch and detect motion, communication
with web application, and different media.
The document discusses optimizing a Squarespace website by focusing on three areas: 1) Optimizing information architecture and navigation-driven site flow through organizing content and grouping it into 3-5 main sections and a footer. 2) Customizing template CSS and JavaScript beyond the style editor to fine-tune the design and add page-specific or site-wide customizations. 3) Embedding third-party tools like Typeform, Airtable and Mapbox using simple embed codes or JavaScript to enhance the site's functionality. The presentation takes questions at the end.
Slides for a short presentation I gave on AWS Lambda, which "lets you run code without provisioning or managing servers". Lambda is to running code as Amazon S3 is to storing objects.
Java 7 was released in July 2011 with improvements to performance, concurrency, and memory management. Plans for Java 8 include modularity, lambda expressions, and date/time APIs. The Java Community Process is also being improved to increase transparency, participation, and agility through JSR 348. Overall, the Java ecosystem continues to grow with new languages on the JVM and an active community.
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.
The document discusses the future of server-side JavaScript. It covers various Node.js frameworks and libraries that support both synchronous and asynchronous programming styles. CommonJS aims to provide interoperability across platforms by implementing synchronous proposals using fibers. Examples demonstrate how CommonJS allows for synchronous-like code while maintaining asynchronous behavior under the hood. Benchmarks show it has comparable performance to Node.js. The author advocates for toolkits over frameworks and continuing development of common standards and packages.
This document summarizes new features in Java 7, including underscores in numeric literals to improve readability, try-with-resource for automatic resource management, multi-catch exceptions, and various improvements to I/O, generics, and garbage collection. Key areas covered are numeric literals, collection initialization, try-with-resource blocks, multi-catch exceptions, final rethrow, strings in switch statements, generic instances, NIO2 file APIs, file change notifications, asynchronous I/O, URLClassLoader closing, JDBC row sets, varargs, the G1 garbage collector, and improved performance.
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.
The document summarizes an upcoming Java user group meeting to discuss Java 7 features. It will cover new language features in Java 7 like binary literals, string switches, and try-with-resources statements. It will also cover parallel programming enhancements like Fork/Join and NIO.2. The meeting will include hands-on demos of Java 7 features and a discussion of upcoming Java 8 features. Refreshments will be provided by meeting sponsor Ovialis.
The document summarizes a Java Emerging Technology (JET) conference held in September 2008. It provides outlines and details on sessions covering topics like Java 7 features and timelines, the EasyB behavior-driven development framework, Scala as an object-oriented functional language, Groovy as a dynamic language, Grails as a web application framework, developments in J2ME, and the Android mobile platform. Examples of code were provided for many of the sessions to demonstrate the technologies.
While most bugs reveal their cause within their stack trace, Java’s OutOfMemoryError is less talkative and therefore regarded as being difficult to debug by a majority of developers. With the right techniques and tools, memory leaks in Java programs can however be tackled like any other programming error. This talks discusses how a JVM stores data, categorizes different types of memory leaks that can occur in a Java program and presents techniques for fixing such errors. Furthermore, we will have a closer look at lambda expressions and their considerable potential of introducing memory leaks when they are used incautiously.
JRuby allows developers to write plugins for data processing systems like Norikra and Embulk in Ruby while taking advantage of Java libraries and the JVM. Norikra is a stream processing system that allows SQL queries over data streams. It is written in JRuby and uses the Java Esper library. Embulk is an open-source ETL tool that loads data between databases and file formats using plugins. Both systems use a plugin architecture where plugins can be written in JRuby or Java and are distributed as Ruby gems. This allows for a pluggable ecosystem that benefits from Ruby's productivity while utilizing Java libraries and the JVM's performance.
The document discusses planned features and enhancements for Java SE 7, including a new module system, language enhancements like closures and strings in switch statements, API updates like New I/O version 2 and JMX 2.0, and other additions like a new garbage collector and JavaFX for rich clients. The release is expected in summer 2009 and will focus on multiple language support, modularity, and rich clients, as well as usual API updates and performance improvements.
An introduction on testing Node.js code.
Covers frontend (UI) testing, backend unit tests and code coverage.
Also mentions how to use a Makefile to run frontend and backend tests at the same time.
This document summarizes new features and improvements planned for the Gatling load testing tool. Key points include:
- Adopting an actor model to represent scenario workflows as sequences of asynchronous actors.
- Refactoring the expression language to type check values and return failures instead of exceptions.
- Improving resource fetching to better approximate how browsers parallelize asset loading instead of sequential requests.
- Enhancing checks like regular expressions to support returning tuples instead of just strings.
- Simplifying templating to use string interpolation and external template files with expression language instead of Scalate.
RxJS101 - What you need to know to get started with RxJS tomorrowViliam Elischer
This document provides an overview of RxJS, a library for composing asynchronous and event-based programs using observable sequences. It discusses key RxJS concepts like Observables, Observers, Operators, and how to create and use Observables. It also provides learning resources and highlights improvements in RxJS 5 like compliance with the Observable specification and better performance.
JBoss AS7 is a major re-write of the JBoss application server with a modular architecture and improved performance. Key features include HornetQ as the default JMS provider, the JBoss module system for classloading, and support for CDI, JSF, RESTEasy and other Java EE 6 specifications. Testing can be simplified using Arquillian which integrates tests directly with the application server container. Migrating from earlier versions of JBoss AS requires changes to configuration, dependencies and tooling.
Java collections such as ArrayList and HashMap were discussed. Common problems with collections like concurrent modification exceptions were presented along with scenarios demonstrating check-then-act bugs. Immutable and persistent collections were described as alternatives that reduce bugs by restricting state changes. Tradeoffs between different collection implementations like memory usage and performance were examined.
A presentation to introduce the Lobos project made at the Bonjure group meeing on 2011/01/21. For more information on Lobos, visit the website: http://budu.github.com/lobos/
This document provides an overview of Maven, Java 8 features, logging, useful libraries, and testing in Java. It discusses how Maven can help solve dependency issues, key Java 8 additions like lambdas, streams and default methods. Logging with SLF4J and Logback is explained. Popular libraries like Lombok, Guava and Apache Commons are mentioned. Finally, unit testing with JUnit and mocking with Mockito is covered at a high level.
A presentation on JUnit Pioneer given at Fortitude Technologies on Mar. 4, 2021. JUnit Pioneer is an extension library for JUnit 5 (Jupiter).
Sample code on GitHub at:
https://github.com/sleberknight/junit-pioneering-presentation-code
JUnit Pioneer home page:
https://junit-pioneer.org
This document summarizes the recent and upcoming Java Development Kit (JDK) releases from JDK 10 through JDK 17. It provides an overview of the release schedule and timelines for long-term support releases. It also describes some of the major new features and language projects included in recent and upcoming JDK versions, such as switch expressions, text blocks, records, and value types. References are provided for further information on the Java release cadence and new features.
The document discusses unit testing and its benefits and limitations. It notes that while tests provide confidence that code works as intended, they cannot prevent all problems. The Boeing 737 MAX crashes are discussed as an example of issues despite passing tests due to sensor problems. Proper unit testing involves automated, repeatable, and continuous testing of isolated units with mocked dependencies. Test-driven development and design can lead to more testable and maintainable code, but tests also have costs and limitations.
A short presentation slide deck on SDKMAN!, the SDK version manager. You can find SDKMAN! at its website, https://sdkman.io/
SDKMAN! is a tool to manage multiple versions of multiple software development kits (SDKs) like Java, Kotlin, Groovy, Scala, etc.
The document discusses JUnit 5, the next generation of the JUnit testing framework for Java. Key aspects include a new programming model using extensions, support for Java 8 features, and ways to migrate from earlier JUnit versions. The new framework consists of the JUnit Platform launcher, the JUnit Jupiter API for writing tests, and the JUnit Vintage engine for running JUnit 3 and 4 tests.
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfAbi john
Analyze the growth of meme coins from mere online jokes to potential assets in the digital economy. Explore the community, culture, and utility as they elevate themselves to a new era in cryptocurrency.
Hands On: Create a Lightning Aura Component with force:RecordDataLynda Kane
Slide Deck from the 3/26/2020 virtual meeting of the Cleveland Developer Group presentation on creating a Lightning Aura Component using force:RecordData.
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxJustin Reock
Building 10x Organizations with Modern Productivity Metrics
10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches actually work? DORA? SPACE? DevEx? What should we invest in and create urgency behind today, so that we don’t find ourselves having the same discussion again in a decade?
Semantic Cultivators : The Critical Future Role to Enable AIartmondano
By 2026, AI agents will consume 10x more enterprise data than humans, but with none of the contextual understanding that prevents catastrophic misinterpretations.
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...Alan Dix
Talk at the final event of Data Fusion Dynamics: A Collaborative UK-Saudi Initiative in Cybersecurity and Artificial Intelligence funded by the British Council UK-Saudi Challenge Fund 2024, Cardiff Metropolitan University, 29th April 2025
https://alandix.com/academic/talks/CMet2025-AI-Changes-Everything/
Is AI just another technology, or does it fundamentally change the way we live and think?
Every technology has a direct impact with micro-ethical consequences, some good, some bad. However more profound are the ways in which some technologies reshape the very fabric of society with macro-ethical impacts. The invention of the stirrup revolutionised mounted combat, but as a side effect gave rise to the feudal system, which still shapes politics today. The internal combustion engine offers personal freedom and creates pollution, but has also transformed the nature of urban planning and international trade. When we look at AI the micro-ethical issues, such as bias, are most obvious, but the macro-ethical challenges may be greater.
At a micro-ethical level AI has the potential to deepen social, ethnic and gender bias, issues I have warned about since the early 1990s! It is also being used increasingly on the battlefield. However, it also offers amazing opportunities in health and educations, as the recent Nobel prizes for the developers of AlphaFold illustrate. More radically, the need to encode ethics acts as a mirror to surface essential ethical problems and conflicts.
At the macro-ethical level, by the early 2000s digital technology had already begun to undermine sovereignty (e.g. gambling), market economics (through network effects and emergent monopolies), and the very meaning of money. Modern AI is the child of big data, big computation and ultimately big business, intensifying the inherent tendency of digital technology to concentrate power. AI is already unravelling the fundamentals of the social, political and economic world around us, but this is a world that needs radical reimagining to overcome the global environmental and human challenges that confront us. Our challenge is whether to let the threads fall as they may, or to use them to weave a better future.
Role of Data Annotation Services in AI-Powered ManufacturingAndrew Leo
From predictive maintenance to robotic automation, AI is driving the future of manufacturing. But without high-quality annotated data, even the smartest models fall short.
Discover how data annotation services are powering accuracy, safety, and efficiency in AI-driven manufacturing systems.
Precision in data labeling = Precision on the production floor.
Automation Dreamin' 2022: Sharing Some Gratitude with Your UsersLynda Kane
Slide Deck from Automation Dreamin'2022 presentation Sharing Some Gratitude with Your Users on creating a Flow to present a random statement of Gratitude to a User in Salesforce.
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc
Most consumers believe they’re making informed decisions about their personal data—adjusting privacy settings, blocking trackers, and opting out where they can. However, our new research reveals that while awareness is high, taking meaningful action is still lacking. On the corporate side, many organizations report strong policies for managing third-party data and consumer consent yet fall short when it comes to consistency, accountability and transparency.
This session will explore the research findings from TrustArc’s Privacy Pulse Survey, examining consumer attitudes toward personal data collection and practical suggestions for corporate practices around purchasing third-party data.
Attendees will learn:
- Consumer awareness around data brokers and what consumers are doing to limit data collection
- How businesses assess third-party vendors and their consent management operations
- Where business preparedness needs improvement
- What these trends mean for the future of privacy governance and public trust
This discussion is essential for privacy, risk, and compliance professionals who want to ground their strategies in current data and prepare for what’s next in the privacy landscape.
Rock, Paper, Scissors: An Apex Map Learning JourneyLynda Kane
Slide Deck from Presentations to WITDevs (April 2021) and Cleveland Developer Group (6/28/2023) on using Rock, Paper, Scissors to learn the Map construct in Salesforce Apex development.
AI and Data Privacy in 2025: Global TrendsInData Labs
In this infographic, we explore how businesses can implement effective governance frameworks to address AI data privacy. Understanding it is crucial for developing effective strategies that ensure compliance, safeguard customer trust, and leverage AI responsibly. Equip yourself with insights that can drive informed decision-making and position your organization for success in the future of data privacy.
This infographic contains:
-AI and data privacy: Key findings
-Statistics on AI data privacy in the today’s world
-Tips on how to overcome data privacy challenges
-Benefits of AI data security investments.
Keep up-to-date on how AI is reshaping privacy standards and what this entails for both individuals and organizations.
Leading AI Innovation As A Product Manager - Michael JidaelMichael Jidael
Unlike traditional product management, AI product leadership requires new mental models, collaborative approaches, and new measurement frameworks. This presentation breaks down how Product Managers can successfully lead AI Innovation in today's rapidly evolving technology landscape. Drawing from practical experience and industry best practices, I shared frameworks, approaches, and mindset shifts essential for product leaders navigating the unique challenges of AI product development.
In this deck, you'll discover:
- What AI leadership means for product managers
- The fundamental paradigm shift required for AI product development.
- A framework for identifying high-value AI opportunities for your products.
- How to transition from user stories to AI learning loops and hypothesis-driven development.
- The essential AI product management framework for defining, developing, and deploying intelligence.
- Technical and business metrics that matter in AI product development.
- Strategies for effective collaboration with data science and engineering teams.
- Framework for handling AI's probabilistic nature and setting stakeholder expectations.
- A real-world case study demonstrating these principles in action.
- Practical next steps to begin your AI product leadership journey.
This presentation is essential for Product Managers, aspiring PMs, product leaders, innovators, and anyone interested in understanding how to successfully build and manage AI-powered products from idea to impact. The key takeaway is that leading AI products is about creating capabilities (intelligence) that continuously improve and deliver increasing value over time.
How Can I use the AI Hype in my Business Context?Daniel Lehner
𝙄𝙨 𝘼𝙄 𝙟𝙪𝙨𝙩 𝙝𝙮𝙥𝙚? 𝙊𝙧 𝙞𝙨 𝙞𝙩 𝙩𝙝𝙚 𝙜𝙖𝙢𝙚 𝙘𝙝𝙖𝙣𝙜𝙚𝙧 𝙮𝙤𝙪𝙧 𝙗𝙪𝙨𝙞𝙣𝙚𝙨𝙨 𝙣𝙚𝙚𝙙𝙨?
Everyone’s talking about AI but is anyone really using it to create real value?
Most companies want to leverage AI. Few know 𝗵𝗼𝘄.
✅ What exactly should you ask to find real AI opportunities?
✅ Which AI techniques actually fit your business?
✅ Is your data even ready for AI?
If you’re not sure, you’re not alone. This is a condensed version of the slides I presented at a Linkedin webinar for Tecnovy on 28.04.2025.
8. invokedynamic
invokestatic invokespecial
invokevirtual invokeinterface
invokedynamic (new)
"...an invokedynamic instruction is used to call
methods which have linkage and dispatch
semantics defined by non-Java languages..."
- http://www.infoq.com/articles/invokedynamic
10. strings in switch
switch (action) {
case "Red": stop(); break;
case "Yellow": slowDown(); break;
case "Green": go(); break;
case "Blue": danceAJig(); break;
}
11. binary literals
int clutchSong = 0b10001110101;
http://www.amazon.com/Robot-Hive-Exodus-Clutch/dp/B0009NSE1K
16. ARM
(automatic
resource
management)
try (InputStream is = url.openStream();
OutputStream os = new FileOutputStream(file)) {
// use resources...
}
(AutoCloseable)
19. honorable mention
java.util.Objects
jsr166y - Concurrency &
collections updates
Enhanced JMX agent and
MBeans
Autoloading of JDBC
drivers
Method to close a
URLClassLoader
JDBC 4.1
20. assembly-coding
Class Loader architecture updates (parallel-capable)
Strict class file checking
Elliptic curve cryptography (ECC)
New garbage collector (lower pause times & better
predictability than current CMS collector)