Developing Java EE 7 Applications with Scala (CON2644)
*Speakers: Peter Pilgrim*
Abstract: 750 words
Scala is an alternative JVM language with both object-oriented and functional programming paradigms. Scala development with the Java EE 7 platform is definitely possible and can be a pleasant experience. If you have uncertainty about how Scala can fit around the Java EE 7 platform, then this session aims to illustrate the huge benefit that Scala adoption can bring to the platform. Many other developers are taking advantage and the challenge of the JVM’s capability of being a vessel for multi-language programming. You no longer have to write every single project using Java, even if you like Lambdas experiences.
For the developer and engineering terms that feeling a little braver than usual, Scala is attractive as it is strongly typed and lets you set the gauge on how object oriented or how functional you want to be. You will learn how to reuse the annotations and creating Scala plain object safely and concisely.
This session will highlight and contrast the experience I had developing Scala solutions with Java EE, and there will be plenty of advice about using the functional programming features against the Java object oriented API.
QCon 2015 Scala for the Enterprise: Get FuNkEd Up on the JVMPeter Pilgrim
PETER PILGRIM – AGILE TESTING PRACTICES WITH JAVA PLATFORM APPLICATIONS
This talk covers the modern agile development practices for Java developer on the JVM. We will understand how digital Java engineers use testing frameworks and tools to build quality applications. We will approach this process from a technical and an infrastructure perspective. This discussion will focus on the development practice, clean code and code complete, from an agile point of view.
This talk will cover the experience of adopting Scala in the digital enterprise. It will provide technical and development advice to agile teams new to implementing Scala. Learning a new programming language is tough, even if you think that it has similarity to your current day-to-day language and shares the many of the same advantages of it.
Just like Java, Scala is statically typed and compiles to byte codes, it runs on the Java Virtual Machine. Yet Scala has different style, syntax and raison d’etre to Java. Scala enjoys are richer and stronger type system with a powerful inference and implicits engine. In this presentation, we will look at interesting object oriented design patterns and compare them functional equivalents. We will posit the question, why should the modern digital engineer look towards a new language?
Scala has had its fair of criticism and detractors and some of this statements about complexity are valid, but just like a magnetic compass it points the way north to innovation and an attempt to try something different. This presentation will guide through the best practice of introducing this marriage of philosophies. In fact, alternative JVM languages such as Scala and more importantly Groovy forced the Java language architects to eventually add Lambdas to the mother language of Java. We will understand how digital engineers can make the best use of Scala and we will provide some pointed comparisons to the latest features of Java SE 8.
JavaCro 2014 Scala and Java EE 7 Development ExperiencesPeter Pilgrim
Scala is an alternative JVM language with both object-oriented and functional programming paradigms. Scala development with the Java EE 7 platform is definitely possible and can be a pleasant experience. If you have uncertainty about how Scala can fit around the Java EE 7 platform, then this session aims to illustrate the huge benefit that Scala adoption can bring to the platform. Many other developers are taking advantage and the challenge of the JVM’s capability of being a vessel for multi-language programming. You no longer have to write every single project using Java, even if you like Lambdas experiences.
For the developer and engineering terms that feeling a little braver than usual, Scala is attractive as it is strongly typed and lets you set the gauge on how object oriented or how functional you want to be. You will learn how to reuse the annotations and creating Scala plain object safely and concisely.
This session will highlight and contrast the experience I had developing Scala solutions with Java EE, and there will be plenty of advice about using the functional programming features against the Java object oriented API.
Scala language overview
Java EE 7 architecture and design
Using Gradle as a build tool
How to create beans in Scala with dependency injection
JAX-RS endpoints
Servlet Endpoints
JMS Messaging
Scala adoption advice and hints for sustainable team development
Technologies are ever changing and since we're building our applications on the shoulders of giants like Babel,... We have to stay up-to-date with the newest trends.
We at Codifly strongly believe in using the newest technologies, that's why we've organised a meetup to showcase these for you. This event was organised in collaboration with ITLab HoGent at Campus Schoonmeersen (Voskenslaan 270, 9000 Ghent).
A certain level of knowledge about these subjects is required since we're mostly be going over the recent changes. For Babel we're discussing what's new in their upcoming version 7, for Webpack the changes from 3 -> 4.6 will be discussed and for React all the new features in React 16.3 and the upcoming ones.
Refactoring to Scala DSLs and LiftOff 2009 RecapDave Orme
An introductory presentation given to the Chicago Area Scala Enthusiasts (a) beginning with a recap of the Scala LiftOff unconference in Reston, VA, 2009, and (b) describing how to gradually migrate Scala code translated directly from Java into a DSL that facilitates readability and maintainability of client code. We then observe that this technique makes it possible to use Scala DSLs as a way to introduce Scala in a Java shop.
QCon 2015 Scala for the Enterprise: Get FuNkEd Up on the JVMPeter Pilgrim
PETER PILGRIM – AGILE TESTING PRACTICES WITH JAVA PLATFORM APPLICATIONS
This talk covers the modern agile development practices for Java developer on the JVM. We will understand how digital Java engineers use testing frameworks and tools to build quality applications. We will approach this process from a technical and an infrastructure perspective. This discussion will focus on the development practice, clean code and code complete, from an agile point of view.
This talk will cover the experience of adopting Scala in the digital enterprise. It will provide technical and development advice to agile teams new to implementing Scala. Learning a new programming language is tough, even if you think that it has similarity to your current day-to-day language and shares the many of the same advantages of it.
Just like Java, Scala is statically typed and compiles to byte codes, it runs on the Java Virtual Machine. Yet Scala has different style, syntax and raison d’etre to Java. Scala enjoys are richer and stronger type system with a powerful inference and implicits engine. In this presentation, we will look at interesting object oriented design patterns and compare them functional equivalents. We will posit the question, why should the modern digital engineer look towards a new language?
Scala has had its fair of criticism and detractors and some of this statements about complexity are valid, but just like a magnetic compass it points the way north to innovation and an attempt to try something different. This presentation will guide through the best practice of introducing this marriage of philosophies. In fact, alternative JVM languages such as Scala and more importantly Groovy forced the Java language architects to eventually add Lambdas to the mother language of Java. We will understand how digital engineers can make the best use of Scala and we will provide some pointed comparisons to the latest features of Java SE 8.
JavaCro 2014 Scala and Java EE 7 Development ExperiencesPeter Pilgrim
Scala is an alternative JVM language with both object-oriented and functional programming paradigms. Scala development with the Java EE 7 platform is definitely possible and can be a pleasant experience. If you have uncertainty about how Scala can fit around the Java EE 7 platform, then this session aims to illustrate the huge benefit that Scala adoption can bring to the platform. Many other developers are taking advantage and the challenge of the JVM’s capability of being a vessel for multi-language programming. You no longer have to write every single project using Java, even if you like Lambdas experiences.
For the developer and engineering terms that feeling a little braver than usual, Scala is attractive as it is strongly typed and lets you set the gauge on how object oriented or how functional you want to be. You will learn how to reuse the annotations and creating Scala plain object safely and concisely.
This session will highlight and contrast the experience I had developing Scala solutions with Java EE, and there will be plenty of advice about using the functional programming features against the Java object oriented API.
Scala language overview
Java EE 7 architecture and design
Using Gradle as a build tool
How to create beans in Scala with dependency injection
JAX-RS endpoints
Servlet Endpoints
JMS Messaging
Scala adoption advice and hints for sustainable team development
Technologies are ever changing and since we're building our applications on the shoulders of giants like Babel,... We have to stay up-to-date with the newest trends.
We at Codifly strongly believe in using the newest technologies, that's why we've organised a meetup to showcase these for you. This event was organised in collaboration with ITLab HoGent at Campus Schoonmeersen (Voskenslaan 270, 9000 Ghent).
A certain level of knowledge about these subjects is required since we're mostly be going over the recent changes. For Babel we're discussing what's new in their upcoming version 7, for Webpack the changes from 3 -> 4.6 will be discussed and for React all the new features in React 16.3 and the upcoming ones.
Refactoring to Scala DSLs and LiftOff 2009 RecapDave Orme
An introductory presentation given to the Chicago Area Scala Enthusiasts (a) beginning with a recap of the Scala LiftOff unconference in Reston, VA, 2009, and (b) describing how to gradually migrate Scala code translated directly from Java into a DSL that facilitates readability and maintainability of client code. We then observe that this technique makes it possible to use Scala DSLs as a way to introduce Scala in a Java shop.
A presentation at Twitter's official developer conference, Chirp, about why we use the Scala programming language and how we build services in it. Provides a tour of a number of libraries and tools, both developed at Twitter and otherwise.
Spring Day | Spring and Scala | Eberhard WolffJAX London
2011-10-31 | 09:45 AM - 10:30 AM
Spring is widely used in the Java world - but does it make any sense to combine it with Scala? This talk gives an answer and shows how and why Spring is useful in the Scala world. All areas of Spring such as Dependency Injection, Aspect-Oriented Programming and the Portable Service Abstraction as well as Spring MVC are covered.
JAX-RS and CDI Bike the (Reactive) BridgeJosé Paumard
This session explains how JAX-RS and CDI became reactive capable in Java EE 8. We put some new features of JAX-RS 2.1 and CDI 2.0 into perspective and show some reactive patterns to improve your application. Add Java 8 CompletionStage to the mix and this API trio becomes your best bet to easily go reactive without leaving the Java EE train.
A short introduction (with many examples) to the Scala programming language and also an introduction to using the Play! Framework for modern, safe, efffcient and reactive web applications.
This is an introductory SCALA workshop for a JAVA developer. Hence, we're going to explore 'functional' side of the language. SCALA is 50% OOP (Object-Oriented-Programming) and 50% FP (Functional-Programming). Main principles of FP are discussed, such as: tail-recursion, currying, pure-functions, lazy evaluation etc.) along with some examples in code.
We look at the basic keywords and constructs in SCALA.
In the end SCALA tools which are helpful for developers are listed.
Over the past few years, web-applications have started to play an increasingly important role in our lives. We expect them to be always available and the data to be always fresh. This shift into the realm of real-time data processing is now transitioning to physical devices, and Gartner predicts that the Internet of Things will grow to an installed base of 26 billion units by 2020.
Reactive web-applications are an answer to the new requirements of high-availability and resource efficiency brought by this rapid evolution. On the JVM, a set of new languages and tools has emerged that enable the development of entirely asynchronous request and data handling pipelines. At the same time, container-less application frameworks are gaining increasing popularity over traditional deployment mechanisms.
This talk is going to give you an introduction into one of the most trending reactive web-application stack on the JVM, involving the Scala programming language, the concurrency toolkit Akka and the web-application framework Play. It will show you how functional programming techniques enable asynchronous programming, and how those technologies help to build robust and resilient web-applications.
"JavaScript in 2016" by Eduard Tomàs
Some years ago in a far far away company, Brendan Eich created JavaScript. A lot of things happened since then. Times changed, the web grown, the language itself was updated, and we as a developers need to adapt too. Last year the last standard of the language arose: ECMAScript 2015 is here, and has some new and interesting features. In this talk we will show the most relevant ones, and also we will introduce some interesting patterns that you can use in JavaScript: you'll learn how to master the language and made JavaScript your best ally to conquest the world!
Presented at BJUG, 6/12/2012 by Roger Brinkley
This talk is on 55 new features in Java 7 you (probably) didn't hear about in an ignite format of one per minute. No stopping, no going back....Questions, sure but only if time remains (otherwise save for later).
Akka is using the Actors together with STM to create a unified runtime and programming model for scaling both UP (multi-core) and OUT (grid/cloud). Akka provides location transparency by abstracting away both these tangents of scalability by turning them into an ops task. This gives the Akka runtime freedom to do adaptive automatic load-balancing, cluster rebalancing, replication & partitioning
Lecture on Reactive programming on Android, mDevCamp 2016.
A practical guide to using RxJava on Android. Tips for improving your app architecture with reactive programming. What are the advantages and disadvantages of using RxJava over standard architecture? And how to connect with other popular Android libraries?
Connect.Tech- Level Up Your Game With TravisCIstable|kernel
TravisCI, Xcode Bots, Fastlane, TestFlight, HockeyApp are only a few of the many tools that are available and highly used to optimize workflows and improve your product. But where do you start? "Level Up Your Game With TravisCI: From Zero To Hero In 45 Minutes" helps you jump start into CI with your iOS projects. No matter if you have never heard about CI before or if you only want to refine your tools.
Memory management in Swift is fairly abstracted away from you as a developer and it’s easy to build iOS apps without an understanding of it… until something goes wrong. This can result in unexpected behavior, unclear error messages, lost data and crashes. Even a basic understanding of memory management can go a long way, making it easy to prevent these issues in the first place, understand what when wrong when they do occur and know how to fix them.
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Ryan Weaver
If you're like me, you know that being a great backend developer isn't enough. To make *truly* great applications, we need to spend significant time in an area that's moving at a lightning pace: frontend development.
This talk is for you: the backend developer that wants to hook their API's up to rich, interactive JavaScript frontends. To do that, first, we need to demystify a lot of new terms, like ES6/ES2015, ECMAScript, JSX, Babel and the idea that modern JavaScript (surprise) *requires* a build step.
With this in mind, I'll give you a brief introduction into Webpack & the modular development it finally allows.
But the real star is ReactJS. In the frontend world, you never know what new tech will *win*, but React is a star. I'll give you enough of an intro to get you rolling on your project.
The new frontend dev world is huge! Consider the starting line down an exciting new journey.
A presentation at Twitter's official developer conference, Chirp, about why we use the Scala programming language and how we build services in it. Provides a tour of a number of libraries and tools, both developed at Twitter and otherwise.
Spring Day | Spring and Scala | Eberhard WolffJAX London
2011-10-31 | 09:45 AM - 10:30 AM
Spring is widely used in the Java world - but does it make any sense to combine it with Scala? This talk gives an answer and shows how and why Spring is useful in the Scala world. All areas of Spring such as Dependency Injection, Aspect-Oriented Programming and the Portable Service Abstraction as well as Spring MVC are covered.
JAX-RS and CDI Bike the (Reactive) BridgeJosé Paumard
This session explains how JAX-RS and CDI became reactive capable in Java EE 8. We put some new features of JAX-RS 2.1 and CDI 2.0 into perspective and show some reactive patterns to improve your application. Add Java 8 CompletionStage to the mix and this API trio becomes your best bet to easily go reactive without leaving the Java EE train.
A short introduction (with many examples) to the Scala programming language and also an introduction to using the Play! Framework for modern, safe, efffcient and reactive web applications.
This is an introductory SCALA workshop for a JAVA developer. Hence, we're going to explore 'functional' side of the language. SCALA is 50% OOP (Object-Oriented-Programming) and 50% FP (Functional-Programming). Main principles of FP are discussed, such as: tail-recursion, currying, pure-functions, lazy evaluation etc.) along with some examples in code.
We look at the basic keywords and constructs in SCALA.
In the end SCALA tools which are helpful for developers are listed.
Over the past few years, web-applications have started to play an increasingly important role in our lives. We expect them to be always available and the data to be always fresh. This shift into the realm of real-time data processing is now transitioning to physical devices, and Gartner predicts that the Internet of Things will grow to an installed base of 26 billion units by 2020.
Reactive web-applications are an answer to the new requirements of high-availability and resource efficiency brought by this rapid evolution. On the JVM, a set of new languages and tools has emerged that enable the development of entirely asynchronous request and data handling pipelines. At the same time, container-less application frameworks are gaining increasing popularity over traditional deployment mechanisms.
This talk is going to give you an introduction into one of the most trending reactive web-application stack on the JVM, involving the Scala programming language, the concurrency toolkit Akka and the web-application framework Play. It will show you how functional programming techniques enable asynchronous programming, and how those technologies help to build robust and resilient web-applications.
"JavaScript in 2016" by Eduard Tomàs
Some years ago in a far far away company, Brendan Eich created JavaScript. A lot of things happened since then. Times changed, the web grown, the language itself was updated, and we as a developers need to adapt too. Last year the last standard of the language arose: ECMAScript 2015 is here, and has some new and interesting features. In this talk we will show the most relevant ones, and also we will introduce some interesting patterns that you can use in JavaScript: you'll learn how to master the language and made JavaScript your best ally to conquest the world!
Presented at BJUG, 6/12/2012 by Roger Brinkley
This talk is on 55 new features in Java 7 you (probably) didn't hear about in an ignite format of one per minute. No stopping, no going back....Questions, sure but only if time remains (otherwise save for later).
Akka is using the Actors together with STM to create a unified runtime and programming model for scaling both UP (multi-core) and OUT (grid/cloud). Akka provides location transparency by abstracting away both these tangents of scalability by turning them into an ops task. This gives the Akka runtime freedom to do adaptive automatic load-balancing, cluster rebalancing, replication & partitioning
Lecture on Reactive programming on Android, mDevCamp 2016.
A practical guide to using RxJava on Android. Tips for improving your app architecture with reactive programming. What are the advantages and disadvantages of using RxJava over standard architecture? And how to connect with other popular Android libraries?
Connect.Tech- Level Up Your Game With TravisCIstable|kernel
TravisCI, Xcode Bots, Fastlane, TestFlight, HockeyApp are only a few of the many tools that are available and highly used to optimize workflows and improve your product. But where do you start? "Level Up Your Game With TravisCI: From Zero To Hero In 45 Minutes" helps you jump start into CI with your iOS projects. No matter if you have never heard about CI before or if you only want to refine your tools.
Memory management in Swift is fairly abstracted away from you as a developer and it’s easy to build iOS apps without an understanding of it… until something goes wrong. This can result in unexpected behavior, unclear error messages, lost data and crashes. Even a basic understanding of memory management can go a long way, making it easy to prevent these issues in the first place, understand what when wrong when they do occur and know how to fix them.
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Ryan Weaver
If you're like me, you know that being a great backend developer isn't enough. To make *truly* great applications, we need to spend significant time in an area that's moving at a lightning pace: frontend development.
This talk is for you: the backend developer that wants to hook their API's up to rich, interactive JavaScript frontends. To do that, first, we need to demystify a lot of new terms, like ES6/ES2015, ECMAScript, JSX, Babel and the idea that modern JavaScript (surprise) *requires* a build step.
With this in mind, I'll give you a brief introduction into Webpack & the modular development it finally allows.
But the real star is ReactJS. In the frontend world, you never know what new tech will *win*, but React is a star. I'll give you enough of an intro to get you rolling on your project.
The new frontend dev world is huge! Consider the starting line down an exciting new journey.
Webpack Encore Symfony Live 2017 San FranciscoRyan Weaver
Ready to write an amazing front-end for your app? There are *so* many great tools, like React, Vue.js, module loaders, Sass, LESS, PostCSS and more. But, they all have one thing in common: you need to configure a *build* system before you write a single line of code! Thankfully, there's Webpack: the leading tool for processing & bundling your JavaScript and CSS. There's just one problem: configuring Webpack is tough and requires a lot of Webpack-specific knowledge. Say hello to Webpack Encore: a library built by Symfony to quickly bootstrap a sophisticated asset setup, complete with minification, SASS processing, automatic versioning, Babel support and *everything* you need to start writing great JavaScript quickly. In this talk, we'll also learn about using JavaScript modules, how to bootstrap a framework (like React) and other important modern practices. Give your assets a huge boost with Webpack Encore!
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...Codemotion
Scala is the only language that can be used to produce code that can be "trans/compiled" for the JVM, in Javascript and in native binary. This allows to write libraries that are usable in JVM and JS using the power of functional programming (i.e. cats, scalaz), generic programming (i.e. shapeless) and macro/scalameta available in Scala. In this talk, we will see how to write a Scala application backend and a SPA (scala.js/scala-js-react) that share the same code as a business logic, datamodels and transparent API call (JVM/JS) in Scala (via autowire/akka-http/circe).
Customizing the Presentation Model and Physical Renderer in Siebel Open UITech OneStop
Customizing the presentation model and Physical Renderer in Siebel Open UI:This is our third tutorial on Siebel Open UI Training series.For open ui classroom/online training, please drop us mail admin@techonestop.com. For more information, click http://www.techonestop.com/2014/05/customizing-presentation-model-siebel-open-ui.html and http://www.techonestop.com/2014/06/customizing-physical-renderer-siebel-open-ui-training.html. For more updates on recent activities, follow 'TechOneStop' in Facebook/Twitter/LinkedIn.
Scala.js is a compiler that compiles Scala source code to equivalent Javascript code. It can be seen as the start of a revolution in developing web application. In this talk, I'll present Scala.js project, common libraries for having a pleasure web development (such as scalatags, autowire and upickle) and integration with well known javascript libraries such as AngularJS and React.js.
Agenda
Setting up an angular app.
Introduction to tools - Babel, Webpack
Alternative to Gulp, Grunt & Bower.
Writing Controllers, Services, Directives etc..
Testing Javascript with Jasmine.
Setting up Karma with Webpack.
Let’s understand code coverage.
An alternative: JEST
My talk at Scala Bay Meetup at Netflix about Powering the Partner APIs with Scalatra and Netflix OSS. This talk was delivered on September 9th 2013, at 8 PM at Netflix, Los Gatos.
On parle des Operator Kubernetes, mais de quoi s’agit-il ? Comment peut-on programmer son cluster Kubernetes et surtout, est-il possible de les écrire en Java ?
C’est ce que nous allons présenter au cours de 3 sessions dont celle-ci est la première. Dans cette session, nous allons présenter les différentes ressources de l’api REST de Kubernetes, les CRD (Custom Resource Definition), la bibliothèque fabric8 kubernetes-client et le projet exemple Hypnos.
par Charles Sabourdin
Step by step introduction to get unit testing, UI testing, mocking and continuous integration up and running for your Swift projects. These slides are from Agile Swift Meetup in Montreal.
Kotlin: forse è la volta buona (Trento)Davide Cerbo
Il codice di esempio e disponibile qui: https://github.com/jesty/kotlin-fossavotabona
La variazione col DAO al posto del repository è disponibile qui:
https://github.com/jesty/kotlin-fossavotabona/tree/dao-companion-object
Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...Alain Hippolyte
Si vous êtes développeur backend, vous vous rendez probablement compte comme moi qu'aujourd'hui, cela ne suffit plus tout à fait. De nos jours, créer une application Web implique souvent de travailler dans un domaine qui change à la vitesse de l'éclair : le développement frontend.
Ce talk est destiné au développeur backend désireux de connecter son API à un frontend Javascript riche et interactif. Pour cela, nous discuterons d'abord de nombreux nouveaux termes, comme ES6/ES2015, JSX, Typescript, Babel puis nous verrons comment Webpack permet au développeurs Javascript de travailler modulairement en suivant des standards de qualité reconnus. Nous parlerons aussi de la star du développement frontend, ReactJS, et de comment vous pouvez l'intégrer facilement dans votre projet grâce à Webpack Encore.
Le monde du développement frontend est gigantesque, ce talk pourrait être la première étape de votre prochain nouveau voyage !
Similar to BOF2644 Developing Java EE 7 Scala apps (20)
Have you ever wondered about pair-development? Have you experienced it in your workplace? In this quicktime talk, I divulge my impressions about the impact of pair-programming at clients where I have seen genuine benefits. There are many great pragmatic results when pairing is delivered inside a flexible corporate and culturally sensitive environment.
On the other hand, pairing is not everyone’s cup of tea, I will provide pointers to defend against social anti-patterns and accidental bad practice. Of course, pair-development is closely associated with Agile software development lifecycle and extreme programming (XP), but don’t let that fact put you off from attending.
Finally, pair-development is exciting way create high quality software for modern organisations. Whether you partially do this technology or apply it 100% of the time, it is a necessary step in a professional career.
If you are a developer, technical-lead or designer and you never ever worked in a close proximity situation with a work mate then this might be the lunchtime talk for you.
Scheduled on Thursday from 13:20 to 13:35 in Room 10
LJC 2018 - PEAT UK - Java EE - Ah, ah, ah! Staying Alive!Peter Pilgrim
There are multiple ways to get into Java software engineering. Many people will have heard of the brand idea: Java EE. They might be aware of the history of enterprise Java computing, some will know about the origins of Java EE, its controversial past, but also the surprising imaginative concepts of this fundamental piece of commercial and open source work, we will meet the people and the wider community. Java EE was a standard bearer most of the life of the Java Virtual Machine. My talk will give background in Java EE, we will pick up the pieces and find out the answers to several questions. We will examine several terrific innovations, we will also find why these were simply not enough to satisfy the competition. We will look at Java EE’s prognosis. We will witness the crisis of Java EE and then launch a projectile into the far future. How will Jakarta EE meet the challenge of micro-services oriented architecture M/SOA? How does the Microprofile deliver the sustainable promise for the current cloud-native and future digital applications?
50 minutes or so.
Authored by Peter Pilgrim
Delivered on 7pm, Tuesday 16th October 2018 at CodeNode, Skillsmatter, London, UK
CON6148 - You Are Not Cut Out To Be A Java Contractor - JavaOne 2017Peter Pilgrim
Are you cut out to be a contractor?
Provocative therapy talk as given on Sunday 1st October 2017 at JavaOne 2017 in Moscone West, San Francisco by Peter Pilgrim
JavaOne 2015 CON5211 Digital Java EE 7 with JSF Conversations, Flows, and CDI...Peter Pilgrim
In this presentation, we will focus on the recent JSF enhancements to do with Faces View, Flows and Conversational Scope. Java EE 7 is relevant to digital developers, because it can integrate recent innovation in content front-end and content design and provide rich experiences, whilst allowing responsive and adaptive techniques. This talk will explore how to the new features can bootstrap your enterprise software development with Java.
We will look at CDI and EJB integration and demonstrate how to best to get the application structure in the correct fashion for a modern Digital by Default application. If you want to see especially how JSF, Faces and the new page view technologies fit in Java EE 7, this is the session for you.
Java EE & Glass Fish User Group: Digital JavaEE 7 - New and NoteworthyPeter Pilgrim
This session is about getting the best out of the Java EE 7 release with a particular focus on the digital developer and designer. Is there still life in Java EE? Yes there it is and you learn about exciting features that ease the development of enterprise applications. GlassFish 4 is the reference implementation for Java EE 7 and it provides out of the box open source production environment for WebSocket, Batch, JSON, Concurrency, JMS2, JAX-RS 2, CDI 1.1.
In this presentation, we will focus on the recent JSF enhancements to do with Faces Flows and Conversational Scope. Java EE 7 is relevant to digital developers and it can integrate recent designs and sophisticated front ends, which as utilise the responsive and adaptive techniques.
We will look at CDI and EJB integration and demonstrate how to best to get the application structure in the correct fashion for an enterprise application. The author also will provide some handy tips for troubleshooting development with GlassFish, including deployment of artifacts.
Finally, we will look around ahead on the probable improvements to the Java EE platform.
AOTB2014: Agile Testing on the Java PlatformPeter Pilgrim
Creative Commons 2.0 License
Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales (CC BY-NC-SA 2.0 UK)
https://creativecommons.org/licenses/by-nc-sa/2.0/uk/
Share — copy and redistribute the material in any medium or format
Adapt — remix, transform, and build upon the material
The licensor cannot revoke these freedoms as long as you follow the license terms.
This talk about the following:
* TDD
** Is TDD Dead?
** David Heinemeier-Hanson and the controversy
* Java Technology
** If only JUnit tests were this simple
** Java has a some great static analysis tools
** Unfortunatley, these do not work too well in Scala platform
** Guidelines to write tests
* Creative Development in Principle
** Design is a balance
** Inventing your own style
** Avoid lock-in with TDD, use it instead as a design tool
* Scala Technology
** Scala Option
** Function objects
** Pattern matching
** Avoid if and then else and null pointers
* Legacy
** Final advice
This talk was given by Peter Pilgrim, invited speaker to the Agile On The Beach conference on the 5th September, 2014 at Penryn Campus, University of Exeter, Cornwall
JavaCro 2014 Digital Development with Java EE and Java PlatformPeter Pilgrim
It feels like we have building web sites and applications for centuries, doesn't it? However, we know that this is so untrue, because the web is only 25 years old since Sir Tim Berner's Lee great proposal at CERN. The impetus of online design and development has changed, we now talk about the Digital Worker, the Digital environment and we about building web applications and ecommerce applications that are user friendly and customer centric. So what has this all to with the humble Java application developer? The answer is everything. We must be explicit in the software that we write, lean and agile in the way we write, and whilst making sure the take full advantage of the underlying Java platform. In fact, because we have this magnificent Java Virtual Machine and open standards like Java EE, we can continue build quality, robust and sustainable software for all our stakeholders and business users.
Devoxx UK 2013 Test-Driven Development with JavaEE 7, Arquillian and Embedded...Peter Pilgrim
In this session, we introduce the Java developer to the Arquillian framework, Gradle and the Enterprise container technologies in Java EE 7. As a lucrative bonus we will cover building EJB and Java EE 7 tests applications with Gradle, the latest and greatest build framework for the Java platform, which improves on Apache Maven. The Java EE specification full contains three different containers, namely the Web, the EJB and the CDI containers. All of them can be reached using the Arquillian Framework, and this means there is now one general testing framework, which developers should learn as part of their professional duties. The session will cover writing meaningful tests for CDI, EJB and JAX-RS. Along the way, we will introduce new features of EJB 3.2, CDI 1.1 and RESTful Services. GlassFish Embedded Container 4.0 will be demonstrated.
ACCU 2011 Introduction to Scala: An Object Functional Programming LanguagePeter Pilgrim
Peter Pilgrim
Oracle Java Champion
Wednesday 13 April 2011 in Cherwell Room 11am gave a 90 minute presentation on the subject
Introduction into Scala : The Object-Functional Programming Language
This is a presentation that out lined the technical feel of Scala 2.8 programming language.
“More and more programmers are going to need to understand functional programming at a productive level. Especially over the next 5 to 10 years” - IBM, Jason Stidd, Functional Programming Blog, 2010
The presentation covers:
Classes and Companion Objects
Function Objects
Case classes and Pattern matching
Traits, Mix-ins and Compositions
Scala Collections
Library Frameworks
“Scala enjoys a singular advantage: performance. The language is compiled to optimised byte codes and runs as fast as native Java” Infoworld, 2010
Learn More:
http://xenonique.co.uk/blog/
peter.pilgrim@gmail.com
http://scala-lang.org/
twitter:peter_pilgrim
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
1. Developing Java EE 7
Applications with
Scala (CON2664)
Demystifying the Object-Functional
Peter Pilgrim
Scala and Java EE
Independent contractor
@peter_pilgrim
2. Creative Commons 2.0
Attribution-NonCommercial-ShareAlike 2.0 UK:
England & Wales (CC BY-NC-SA 2.0 UK)
https://creativecommons.org/licenses/by-nc-sa/2.0/uk/
• Share — copy and redistribute the material in
any medium or format
• Adapt — remix, transform, and build upon the
material
• The licensor cannot revoke these freedoms as
long as you follow the license terms.
Xenonique
2
3. Xenonique
About Me
• Scala and Java EE developer independent
contractor
• Digital transformation / e-commerce
• Java Champion
• Working on the JVM since 1998
3
4. Xenonique
Java EE 7
Developer
Handbook
September
2013
Packt
Publishing
Digital
Java EE 7
Web APPS
December
2014
4
7. Xenonique
7
#1 Scala
Object-functional
Since 2003
Statically typed programming
Scalable Language
Inventor: Professor Martin Odersky, EPFL, Typesafe
8. Xenonique
8
#1 Scala
Pattern Matching
Case Classes
Traits, Mix-ins, Collections
Expressions, In-fix operators
Functions, Closures, Control Abstractions
Extension through Library functions
9. Xenonique
9
#1 Scala
Gradle, Gradle, Gradle v2.0
Groovy assembler, builder
Comprehensible, Configurable, Flexible
Works with Scala since Gradle v1.7
With Gradle, building WAR files is very straightforward
10. Xenonique
Scala Language
var age: Int = 37
val pi: Double = 3.141596527
val text: String = "human nature"
val r = if (age >= 18 ) "Adult" else "Child"
10
11. Xenonique
Scala Test #1
import collection.mutable.Stack
import org.scalatest._
import org.scalatest.junit.JUnitRunner
@RunWith(classOf[JUnitRunner])
class StackSpec extends
FlatSpec with Matchers {
/* ... */
}
11
12. Xenonique
Scala Test #2
class StackSpec extends FlatSpec with Matchers {
"A Stack" should
"pop values in last-in-first-out order" in
{
val stack = new Stack[Int]
stack.push(1)
stack.push(2)
stack.pop() should be (2)
stack.pop() should be (1)
}
/* ... */
}
12
13. Xenonique
Scala Test #3
class StackSpec extends FlatSpec with Matchers {
/* ... */
it should
"throw NoSuchElementException if an empty
stack is popped"
in {
val emptyStack = new Stack[Int]
a [NoSuchElementException]
should be thrownBy {
emptyStack.pop()
}
}
}
13
14. Java is a programming language.
Java is a virtual machine.
Java is a platform.
Xenonique
14
Java EE 7 released 2013
Built products on top of a standard platform
Transactions, Concurrency, Remote
Endpoints, Lifecycle, State, Persistence
20. CDI Model instance
class Account(
var balance: BigDecimal
)
// This is a complete class definition! ;-)
Xenonique
20
21. Xenonique
CDI Scala Gotchas
• Companion Objects cannot be used
• Case Classes (and obviously Case Objects)
– Failure due to creation of multiple static methods
in byte code
• Implicit class parameters
• Implicit method parameters
• Lazy public vals also fail
21
22. Building Java EE 7 War Files
• Gradle allows developers to build WAR files
very easy and also add customisation
• Explicitly include the Scala Library JAR as a
dependency
• With SBT, it is harder to create WAR files
– Battling between *.scala and *.sbt files
Xenonique
22
24. Xenonique
CDI Factory #1
trait Maker {
def createSample(): Fruit
}
@ApplicationScoped
class FruitFactory {
private class CocktailMaker extends Maker {
override def createSample():Fruit = new Strawberry
}
private class FruitSaladMaker extends Maker {
override def createSample():Fruit = new Banana
}
}
24
25. Xenonique
CDI Factory #2
@ApplicationScoped
class FruitFactory {
// ...
@Produces
def generateCocktail(): Maker =
new CocktailMaker()
@Produces
def generateFruitSalad(): Maker =
new FruitSaladMaker()
}
25
26. Xenonique
CDI Factory #3
trait Fruit {
val price: Double;
val name = this.getClass.getSimpleName
}
case class Apple() extends Fruit {
override val price = 0.75 }
case class Banana() extends Fruit {
override val price = 0.95 }
case class Strawberry() extends Fruit {
override val price = 2.99 }
26
27. #1 Collection Of Case
Xenonique
Classes
@ApplicationScoped
class FruitVendor {
def sell( fruit: Fruit with Product with
Serializable, quantity: Int): Double = {
fruit.price * quantity
}
}
27
28. #2 Collection Of Case
Xenonique
Classes
@Test
def shouldPriceFruitWithQuantity(): Unit = {
val fruits = List((Apple,2), (Orange,4),
(Banana,5))
for ( (fruit, quantity) <- fruits) {
val product =
fruitVendor.sell(fruit(), quantity)
assertEquals(
product, fruit().price * quantity, 0.01 )
}
}
28
29. #3 Collection Of Case Classes
Xenonique
Sugaring of Supertype
scala> val list = List( Apple -> 1,
Orange -> 4, Banana -> 7 )
list: List[(scala.runtime.AbstractFunction0[
Product with Serializable with Fruit]
with Serializable, Int)]
= List((Apple,1), (Orange,4), (Banana,7))
// [R]AbstractFunction0.apply() => R
// fruit() returns the Fruit mix-in type
29
30. Xenonique
30
#2 Arquillian:
Prefer integration tests over unit tests.
You can write Arquillian tests with Scala
You cannot yet mix ScalaTest specifications
31. Writing Arquillian Tests with
Xenonique
Scala #1
// HERE WOULD BE THE IDEAL WORLD
import org.jboss.arquillian.junit.Arquillian
import org.junit.runner.RunWith
import org.scalatest.junit. JUnitSuite}
import org.scalatest.{FlatSpecLike, Matcher}
@RunWith(classOf[Arquillian],
classOf[JUnitRunner]) /* ;-) */
class HelloArquillianSpec extends JUnitSuite
with FlatSpecLike with Matchers {
}
31
32. Writing Arquillian Tests with
Xenonique
Scala #2
// The Reality of the Situation in 2014
@RunWith(classOf[Arquillian])
class HelloArquillianSpec extends JUnitSuite
with Matchers {
// You can’t use BDD like specificationsL
}
32
34. Writing Arquillian Tests with
Xenonique
Scala #4
// Add a companion object
@RunWith(classOf[Arquillian])
class HelloArquillianSpec extends JUnitSuite
with Matchers {
@Inject var hello: Hello = _
@Test
def shouldPrintAPoliteGreeting():Unit = {
val msg = hello.hello("JavaOne 2014")
// ;-) At least, we can use matchers!
(msg) should be ("Hello JavaOne 2014")
}
}
34
35. Xenonique
35
#3
Servlets
A
Java
Servlet
is
a
web
component
managed
container.
Java
Servlets
are
based
on
the
Java
technology,
they
generate
dynamic
content,
and
hence
the
container
that
manages
them
is
capable
of
delivering
dynamic
content
to
the
web
client.
37. Xenonique
37
#4 JAX-RS
Easy to write in Scala
Jackson Annotations, Json4S
We demand Json support with seamless Scala support
Jackson, especially, FasterXML is extremely helpful
https://github.com/FasterXML/jackson-annotations/
For Parsing JSON from text strings, then examine Json4S
https://github.com/json4s/json4s
38. Convert Posis to Json
// How do we convert this POSI to JSON
// to seamlessly and easily? ;-/
class Traveller(
@BeanProperty var givenName: String,
@BeanProperty var familyName: String,
@BeanProperty var dateOfBirth: Date ,
@BeanProperty var docNo: String )
Xenonique
38
39. Jackson Json Jaxb Annotations
// Look at the Jackson JAX-B project for
// inspiration ;-D
class Traveller2(
@BeanProperty @JsonProperty("givenName")
var givenName: String,
@BeanProperty @JsonProperty("familyName")
var familyName: String,
@BeanProperty @JsonProperty("dateOfBirth")
var dateOfBirth: Date,
@BeanProperty @JsonProperty("documentNo")
var docNo: String )
Xenonique
39
40. Restful Scala JAX-RS Service
Xenonique
Endpoint
@Path("/traveller")
class TravellerServiceEndpoint {
@GET()
@Produces(Array(MediaType.APPLICATION_JSON))
def retrieve(): Response = {
val cal = Calendar.getInstance()
cal.set(1986, Calendar.MAY, 21)
val dob = cal.getTime
val traveller = new Traveller2("Sam", "Smith",
dob, "1234567890")
Response.ok(traveller).build()
}
}
40
41. Jackson Json Mapping With
Xenonique
Provider
@Singleton
@Provider
@Consumes(Array(MediaType.APPLICATION_JSON,
"application/*+json", "text/json"))
@Produces(Array(MediaType.APPLICATION_JSON,
"application/*+json", "text/json"))
class JacksonScalaContextResolver extends
JacksonJaxbJsonProvider(JacksonScalaContextResolver.getObjectMapper,
JacksonJaxbJsonProvider.DEFAULT_ANNOTATIONS)
object JacksonScalaContextResolver {
def getObjectMapper: ObjectMapper = {
val mapper = new ObjectMapper with ScalaObjectMapper
mapper.registerModule(new DefaultScalaModule)
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
mapper.setSerializationInclusion(Include.NON_NULL)
mapper
}
}
41
42. Case Classes Instances and
Xenonique
Jackson Annotations
@JsonIgnoreProperties(Array("databaseId",
"computedDeliveryDateTime"))
case class Traveller3(
@BeanProperty @JsonProperty("givenName")
var givenName: String,
@BeanProperty @JsonProperty("familyName")
var familyName: String,
@BeanProperty @JsonProperty("dateOfBirth")
var dateOfBirth: Date ,
@BeanProperty @JsonProperty("documentNo")
var docNo: Option[String],
@BeanProperty
var computedDeliveryDateTime: Date = new Date())
42
43. Consuming of Json to Scala
Case Class Instance #1
@POST()
@Consumes(Array(MediaType.APPLICATION_JSON))
def store( traveller: Traveller3): Response = {
if ( traveller.getDocNo().isEmpty ) {
Response.status(
Response.Status.BAD_REQUEST)
.entity(ErrorMessage("E199",
Xenonique
"Missing document No"))
.build()
}
else {
Response.ok().build()
}
}
43
44. Xenonique
Case Class #2
case class ErrorMessage(
@JsonProperty("id") var id: String,
@JsonProperty("error") var text: String)
// Renders
// { "id": "E199",
// "error": "Missing document No"
// }
44
45. Xenonique
45
#5 JSF
Easy to write in Scala
Conversational, FlowScoped
RequestScoped, SessionScoped
All types of validation are supported including
BeanValidation just like Java
46. Conversational Scoped
Xenonique
Managed Bean
@Named("wizard")
@ConversationScoped
class RegisterDrivingLicense extends
Serializable {
@Inject
var conversation: Conversation = _;
@BeanProperty var title: String = _
@BeanProperty var firstName: String = _
@BeanProperty var lastName: String = _
/* ... */ }
46
48. Conversational States
def beginConversation(): Unit =
{
if (conversation.isTransient()) {
conversation.begin()
}
}
def endConversation(): Unit =
{
if (!conversation.isTransient()) {
conversation.end()
}
}
Xenonique
48
49. Finish Conversational Scopes
def submitDeclarationPage(): String = {
endConversation()
if ( !declaration ) {
// The declaration was not signed
cancelApplication()
}
else {
// Here the form is complete
"end?faces-redirect=true"
}
}
Xenonique
49
50. Xenonique
50
#6 JMS
JMS is straight forward to code with Scala
MDB is essentially an asynchronous EJB
Tricky part is publishing with JMS 2.0!
51. JMS with CDI Qualifiers #1
class JMSResourceProducer {
@Resource(name = "jms/OrderConnectionFactory")
val orderConnFactory: QueueConnectionFactory = _
@Produces @Order
@Resource(name = "jms/OrderQueue")
val orderQueue: Queue = _
@Produces @Order
def createOrderConnection(): QueueConnection =
orderConnectionFactory.createQueueConnection()
/* ... */
}
Xenonique
51
54. Xenonique
54
#Conclusion(1)
Source code is available now!
https://github.com/peterpilgrim/digital-scala-javaone-
2014
55. #Conclusion(2)
Scala and Java EE 7 integrate well from
an Object-Oriented point of view
Java EE 8 and Lambda API promise a functional
approach. Java EE 7 annotations work in Scala.
The ability of Jackson annotations and a singleton provider to
seamlessly handle Scala’s case classes is a wonderful addition.
Arquillian almost works completely with ScalaTest.
Xenonique
55
56. Xenonique
56
#Conclusion(3)
WAR files require the runtime Scala
Library
Decent server configuration using Chef and Puppet
can obviate the bundling of the runtime
Scala allows developers to avoid Java boilerplate
Library writers should prefer to explicitly declare the
return types of functions and methods
58. #101 Bonus Information on Scala
A Powerful weapon that requires great responsibility
Great developers can create apps
AM #1: “Interactions and individuals over processes and tools”
Xenonique
58
59. How to avoid null pointers in
Xenonique
Scala Programming?
val greeting1: Option[String] =
Some("AOTB14")
val greeting2: Option[String] = None
59
60. Xenonique
Pattern Matching
def checker(p : Option[String]): String = {
p match {
case Some(v) => v
case _ => "Unexpected"
}
}
checker(greeting1) // "Hello AOTB14"
checker(greeting2) // "Unspecified"
60
61. Scala’s generic immutable list
Xenonique
collection type
val list: List[Int] = List(1,2,3,4)
list.foreach { x => println(x) }
// 1,2,3,4
61
62. Scala’s option behaves like
Xenonique
collection type #2
greeting1.foreach { x =>
println(s"Work: ${x}" ) }
// Work: Hello AOTB14
greeting2.foreach { x =>
println(s"Work: ${x}" ) }
// *** nothing happens ***
62
63. Read, Evaluate, Print, Loop
• Scala, Clojure, Groovy, Kotlin, Ceylon, Fantom
All have a interpretative mode
• Java JDK does not (yet) have an official REPL
(However try out javarepl.com online)
• Fingers crossed Project Kulla in JDK 9
http://blog.gmane.org/gmane.comp.java.openjdk.general
Xenonique
63
64. List of Creative Commons (2.0)
photography attributions
https://flic.kr/p/ayqvZp
https://www.flickr.com/photos/throughpaintedeyes/
Ryan Seyeau Follow
1000 Faces of Canada # 0084 - Zombie Walk - Explore!
Shot during the annual Zombie Walk in Ottawa.
https://flic.kr/p/Pp93n
https://www.flickr.com/photos/spacesuitcatalyst/
William A. Clark Follow
Measurement
Measure twice, cut once.
https://flic.kr/p/81dXuT
https://www.flickr.com/photos/froboy/
Avi Schwab Follow
Equipment used for measuring planes of crystals
https://flic.kr/p/2QHt7Q
https://www.flickr.com/photos/rosefirerising/
rosefirerising Follow
Pierre Curie, Piezo-Electroscope
Xenonique
64
66. List of Creative Commons (2.0)
photography attributions
https://www.flickr.com/photos/15216811@N06/
https://flic.kr/p/baULpM
N i c o l a Follow
Tree - IMG_1242
https://flic.kr/p/dwCQ7t
https://www.flickr.com/photos/90585146@N08/
marsmetn tallahassee Follow
IDA .. Integro-Differential Analyzer (Sept., 1952) ...item 2.. Richard Dreyfuss: Technology Has 'Killed Time' -- "In geopolitics, the removal of time is fatal." -- "And
you will give up, the protection of Republican Democracy." (July 19 2010) ...
https://flic.kr/p/6ZDbiZ
https://www.flickr.com/photos/ingmar/
Ingmar Zahorsky Follow
Traffic Jam
Accidents are common on the narrow streets going through the mountains of Nepal. When such an accident occurs, traffic is often halted for up to 3-4 hours.
https://flic.kr/p/opvVsg
https://www.flickr.com/photos/gregbeatty/
Greg Beatty Follow
Three Pillars
Nikon D800 16-35MM F4.0
https://flic.kr/p/FAskC
https://www.flickr.com/photos/mari1008/
mari_1008 Follow
traffic jam -B
Date: April,2th
Address: Jiangshu Rd,Shanghai,China.
Around 8:30 AM today, A little accident on YuYuan Rd and JiangSu Rd caused traffic jam.
Xenonique
66
67. List of Creative Commons (2.0)
photography attributions
https://flic.kr/p/bpss6D
https://www.flickr.com/photos/76029035@N02/
Victor1558 Follow
Creative_Photoshop_HD_Wallpapers_laba.ws
https://flic.kr/p/mLxu3m
https://www.flickr.com/photos/astrangelyisolatedplace/
astrangelyisolatedplace Follow
Office test #1. Setup fully functional. A rare 1200 no longer in production. Test run
soundtracked by the only #vinyl in the office; The Sesame Street Soundtrack - a
surprise present by @idinesh #technics #turntable #1200 #ocdv1
via Instagram ift.tt/1hpeUEU
https://flic.kr/p/gLPhEk
https://www.flickr.com/photos/stevecorey/
Steve Corey Follow
Treasure Hunt, a short story (5 images)
Xenonique
67
68. List of Creative Commons (2.0)
photography attributions
https://flic.kr/p/4JcerK
https://www.flickr.com/photos/16949884@N00/
Bömmel Follow
Ice Crystal
Ice is nice
https://flic.kr/p/dSsXiZ
https://www.flickr.com/photos/jeremyhall/
Jeremy Hall Follow
Called to Serve (suit and tie)
https://flic.kr/p/3enERy
https://www.flickr.com/photos/paolocampioni/
Paolo Campioni Follow
scala
Scendo (stair case spiral)
Xenonique
68
69. List of Creative Commons (2.0)
photography attributions
https://flic.kr/p/m62gmK
https://www.flickr.com/photos/lata/
-p Follow
Abstraction I.
From my platycerium. (Guide: Voronoi diagram)
https://flic.kr/p/6WSFR4
https://www.flickr.com/photos/62337512@N00/
anthony kelly Follow
big ben
big ben and underground sign
https://flic.kr/p/w7qef
https://www.flickr.com/photos/cobalt/
cobalt123 Follow
All We are Saying... (Thought for a New Year)
Peace Pasta from Annie's, with peas, of course.
Give Peace A Chance
Xenonique
69