Russel Winder discusses Java 8 and how it represents a significant change and opportunity for Java programming. Java 8 includes lambda expressions and default methods that allow functional programming techniques. This shifts programming towards how data evolves rather than control flow. While closures are not entirely new to Java, lambda expressions make the approach more concise. The changes to the Java library are particularly disruptive as libraries can now define default interface methods. Overall Java 8 marks an opportunity to modernize code with functional idioms rather than styles from earlier Java versions.
Understanding Java 8 Lambdas and Streams - Part 1 - Lambda Calculus, Lambda...Philip Schwarz
Quick summary of the talk:
* We start playing a bit with integer streams
* We soon come across lambda expressions
* We introduce the Lambda Calculus and show that it is Turing Complete.
* We look at how Java lambda expressions relate to lambda Calculus ones
* We look at how the two differ
* We ask ourselves: are functions 1st class citizens in Java 8?
* We look at what ‘1st class functions‘ means in Haskell and Scala
* We compare Java’s approach to ‘1st class functions’ with Scala’s
* We ask ourselves:
o are Java lambda expressions objects?
o are Java lambda expressions syntactic sugar for
anonymous instances of functional interfaces?
o Is it possible to write a recursive lambda expression in Java 8?
* We get answers to those questions
Of course Java 8 is all about lambda expressions and this new wonderful Stream API. Now the question is, what's left in Java 8, once we've removed everything : lambdas, streams, collectors, java FX and Nashorn ? This presentation gathered all these new diamonds, scattered all around the JDK, brand new classes, and new methods in existing classes.
50 nouvelles choses que l'on peut faire avec Java 8José Paumard
Java 8, c'est bien sûr l'arrivée des lambdas, des Stream et des Collectors. Mais ce n'est pas que cela. Plein de nouvelles choses sont aussi offertes : un nouvelle API pour les dates, un nouveau moteur Javascript, une nouvelle version de JavaFX, une nouvelle ConcurrentHashMap, une nouvelle HashMap, des nouveautés dans le domaine de la concurrence, et toutes sortes de petites choses qui vont nous faciliter la vie, que l'on se propose de passer en revue ici.
With Java 8 released in March 2014, Oracle Java Technology Ambassador James Weaver discusses many of its new features such as lambda expressions, the stream API, and client-side capabilities with the JavaFX library.
Closures, the next "Big Thing" in Java: Russel WinderJAX London
Java 8 will bring lambda function and closures to the Java-verse. These tools will revolutionize programming using Java, leading to shorter more declarative code. But how can we prepare ourselves for this? A number of JVM-based languages already have support for lambda functions and closures: dynamically-typed languages like Groovy, and statically-typed languages like Scala and Kotlin. Can looking at examples of how to solve problems in these languages teach us how to do things in Java 8? Yes. Of course the observation of how programming changes may get people to start using Groovy, Scala, Kotlin, etc. instead of Java. The critical thing here is that we can realize the revolution in an evolutionary way. The JVM allows for all of these languages to work together, we can program bits in Java, bits in Groovy, bits in Scala, etc. So we can evolve extant systems by rewriting bits a little at a time. In this session we will look at these issues and a collection of examples to try and ascertain what the idioms might be in a post-Java 8 world.
Understanding Java 8 Lambdas and Streams - Part 1 - Lambda Calculus, Lambda...Philip Schwarz
Quick summary of the talk:
* We start playing a bit with integer streams
* We soon come across lambda expressions
* We introduce the Lambda Calculus and show that it is Turing Complete.
* We look at how Java lambda expressions relate to lambda Calculus ones
* We look at how the two differ
* We ask ourselves: are functions 1st class citizens in Java 8?
* We look at what ‘1st class functions‘ means in Haskell and Scala
* We compare Java’s approach to ‘1st class functions’ with Scala’s
* We ask ourselves:
o are Java lambda expressions objects?
o are Java lambda expressions syntactic sugar for
anonymous instances of functional interfaces?
o Is it possible to write a recursive lambda expression in Java 8?
* We get answers to those questions
Of course Java 8 is all about lambda expressions and this new wonderful Stream API. Now the question is, what's left in Java 8, once we've removed everything : lambdas, streams, collectors, java FX and Nashorn ? This presentation gathered all these new diamonds, scattered all around the JDK, brand new classes, and new methods in existing classes.
50 nouvelles choses que l'on peut faire avec Java 8José Paumard
Java 8, c'est bien sûr l'arrivée des lambdas, des Stream et des Collectors. Mais ce n'est pas que cela. Plein de nouvelles choses sont aussi offertes : un nouvelle API pour les dates, un nouveau moteur Javascript, une nouvelle version de JavaFX, une nouvelle ConcurrentHashMap, une nouvelle HashMap, des nouveautés dans le domaine de la concurrence, et toutes sortes de petites choses qui vont nous faciliter la vie, que l'on se propose de passer en revue ici.
With Java 8 released in March 2014, Oracle Java Technology Ambassador James Weaver discusses many of its new features such as lambda expressions, the stream API, and client-side capabilities with the JavaFX library.
Closures, the next "Big Thing" in Java: Russel WinderJAX London
Java 8 will bring lambda function and closures to the Java-verse. These tools will revolutionize programming using Java, leading to shorter more declarative code. But how can we prepare ourselves for this? A number of JVM-based languages already have support for lambda functions and closures: dynamically-typed languages like Groovy, and statically-typed languages like Scala and Kotlin. Can looking at examples of how to solve problems in these languages teach us how to do things in Java 8? Yes. Of course the observation of how programming changes may get people to start using Groovy, Scala, Kotlin, etc. instead of Java. The critical thing here is that we can realize the revolution in an evolutionary way. The JVM allows for all of these languages to work together, we can program bits in Java, bits in Groovy, bits in Scala, etc. So we can evolve extant systems by rewriting bits a little at a time. In this session we will look at these issues and a collection of examples to try and ascertain what the idioms might be in a post-Java 8 world.
Java is Dead, Long Live Ceylon, Kotlin, etcRussel Winder
Slides from my DevoxxUK 2015 presentation. Compare and contrast of JVM-based strongly-typed, statically compiled languages: Java, Ceylon, Kotlin, Scala, Frege, Groovy.
Code is on GitHub: https://github.com/russel/Pi_Quadrature
GroovyFX: or how to program JavaFX easily Russel Winder
An introduction to GroovyFX as the scripting language for JavaFX. JavaFX 1 had JavaFX Script, JavaFX 2 is just a Java API. GroovyFX steps up to the plate to be the scripting language for that API.
My presentation at Groovy and Grails eXchange 2012. Trying to tease out various issues in the tension between dynamic and static languages on the JVM. Groovy is the only language that can be both a dynamic and a static language.
On Concurrency and Parallelism in the JVMverseRussel Winder
Slides for my session at JAX London 2018.
Be aware I did a lot of writing over the slides during the session do the slides are not that useful. Find the video.
On the Architectures of Microservices: the next layerRussel Winder
My µCon 2016 session presentation slides. This was about introducing PGAS (partitioned global address space) as a new architectural form for use in microservices systems. As always I draw on the slides as I speak and this is not captured here, you need to watch the video https://skillsmatter.com/skillscasts/8737-on-the-architectures-of-microservices-the-next-layer
Slides from my PyConUK 2016 session on not using Python fpr computation. Chapel is introduced as an option in a microservices approach. The codes displayed were from https://github.com/russel/Pi_Quadrature
Keynote presentation at PPIG 2015, Bournemouth 2015-07-17.
Presenting experiences of running workshops for programmers to learn new programming languages, and programmers to improve knowledge of programming languages they already use, with an emphasis and feeding ideas and questions into the psychology of programming community.
Making Computations Execute Very QuicklyRussel Winder
Presentation at PyData London 2015, 2015-06-20. Putting forward the proposal not to use Cython, NumPy and Numba to speed up Python computations, but to use C++, or better D or Chapel in a polyglot programming approach.
Code used as examples comes from https://github.com/russel/Pi_Quadrature
A "pitch" to get people aware and interested in the new remoting features of GPars, a concurrency and parallelism framework for Java and Groovy codes. The slides do not really tell much of the session as there was presentation and execution of code, and an attempt to get audience participation in trying some code out.
A session at Groovy and Grails eXchange 2013 investigating whether a language designed as a dynamic language really can be statically typed and compiled.
Dataflow: the concurrency/parallelism architecture you needRussel Winder
An informal investigation/tutorial on the dataflow architecture for Java and Groovy as presented at DevoxxUK 2014.
Code presented is on GitHub: https://github.com/russel/MeanStdDev.git
Java is Dead, Long Live Ceylon, Kotlin, etcRussel Winder
Slides from my DevoxxUK 2015 presentation. Compare and contrast of JVM-based strongly-typed, statically compiled languages: Java, Ceylon, Kotlin, Scala, Frege, Groovy.
Code is on GitHub: https://github.com/russel/Pi_Quadrature
GroovyFX: or how to program JavaFX easily Russel Winder
An introduction to GroovyFX as the scripting language for JavaFX. JavaFX 1 had JavaFX Script, JavaFX 2 is just a Java API. GroovyFX steps up to the plate to be the scripting language for that API.
My presentation at Groovy and Grails eXchange 2012. Trying to tease out various issues in the tension between dynamic and static languages on the JVM. Groovy is the only language that can be both a dynamic and a static language.
On Concurrency and Parallelism in the JVMverseRussel Winder
Slides for my session at JAX London 2018.
Be aware I did a lot of writing over the slides during the session do the slides are not that useful. Find the video.
On the Architectures of Microservices: the next layerRussel Winder
My µCon 2016 session presentation slides. This was about introducing PGAS (partitioned global address space) as a new architectural form for use in microservices systems. As always I draw on the slides as I speak and this is not captured here, you need to watch the video https://skillsmatter.com/skillscasts/8737-on-the-architectures-of-microservices-the-next-layer
Slides from my PyConUK 2016 session on not using Python fpr computation. Chapel is introduced as an option in a microservices approach. The codes displayed were from https://github.com/russel/Pi_Quadrature
Keynote presentation at PPIG 2015, Bournemouth 2015-07-17.
Presenting experiences of running workshops for programmers to learn new programming languages, and programmers to improve knowledge of programming languages they already use, with an emphasis and feeding ideas and questions into the psychology of programming community.
Making Computations Execute Very QuicklyRussel Winder
Presentation at PyData London 2015, 2015-06-20. Putting forward the proposal not to use Cython, NumPy and Numba to speed up Python computations, but to use C++, or better D or Chapel in a polyglot programming approach.
Code used as examples comes from https://github.com/russel/Pi_Quadrature
A "pitch" to get people aware and interested in the new remoting features of GPars, a concurrency and parallelism framework for Java and Groovy codes. The slides do not really tell much of the session as there was presentation and execution of code, and an attempt to get audience participation in trying some code out.
A session at Groovy and Grails eXchange 2013 investigating whether a language designed as a dynamic language really can be statically typed and compiled.
Dataflow: the concurrency/parallelism architecture you needRussel Winder
An informal investigation/tutorial on the dataflow architecture for Java and Groovy as presented at DevoxxUK 2014.
Code presented is on GitHub: https://github.com/russel/MeanStdDev.git
Some initial experiments to investigate whether further experiments are justified, investigating the performance comparison between Groovy and Java. (Java 8 vs Groovy 2.2.0-SNAPSHOT)
Slides from my ACCU 2013 lightning talk. D is the real winner as the functions work out of the box. The Go code requires lots of extra code. Until std::range exists it is the loser.
GPars is a concurrency and parallelism toolkit for the JVM. Founded on java.util.concurrent, it extends it with additional models of concurrency and parallelism, e.g. dataflow, CSP, actors, agents. Although GPars requires Groovy to run it is a toolkit usable from Java as well as Groovy codes.
This was presented at DevoxxUK 2013 2013-03-27T15:50
Slides from my session on GPars at Gr8Conf EU 2012. It was a manifesto speech for using actors, dataflow, CSP and data parallelism and avoiding all explicit locking and indeed explicit shared-memory multi-threading.
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/