We discussed Java 8 features here. And how these features are used in modern Java libraries.
Mostly we will talk about functional-style programming in Java(Streams API) and its database implementation - Jinq.
Kotlin is a great language for developing server-side applications; it's an object-oriented language and also a functional one, supporting features such as function types, lambdas or higher order functions. But...is this enough to switch completely from a imperative paradigm to a functional paradigm?
In this talk we'll see how features from Arrow library completes Kotlin in order to follow a pure functional way.
Break Free with Managed Functional Programming: An Introduction to F#IndyMobileNetDev
Dave Fancher presenting at the March Indy .NET Mobile Dev meetup:
Originally developed by Microsoft Research, Cambridge, F# is an open-source, functional-first language in the ML family. Despite its lofty position as a first-class Visual Studio language for the past two releases and its cross-platform availability it hasn't seen widespread adoption in the business world. These slides take you on an introductory tour of F#, exploring how its constructs and terse syntax can allow you to write more stable, maintainable code while keeping you focused on the problem rather than the plumbing.
Break Free with Managed Functional Programming: An Introduction to F#Dave Fancher
Originally developed by Microsoft Research, Cambridge, F# is an open-source, functional-first language in the ML family. Despite its lofty position as a first-class Visual Studio language for the past two releases and its cross-platform availability it hasn't seen widespread adoption in the business world. These slides take you on an introductory tour of F#, exploring how its constructs and terse syntax can allow you to write more stable, maintainable code while keeping you focused on the problem rather than the plumbing.
We discussed Java 8 features here. And how these features are used in modern Java libraries.
Mostly we will talk about functional-style programming in Java(Streams API) and its database implementation - Jinq.
Kotlin is a great language for developing server-side applications; it's an object-oriented language and also a functional one, supporting features such as function types, lambdas or higher order functions. But...is this enough to switch completely from a imperative paradigm to a functional paradigm?
In this talk we'll see how features from Arrow library completes Kotlin in order to follow a pure functional way.
Break Free with Managed Functional Programming: An Introduction to F#IndyMobileNetDev
Dave Fancher presenting at the March Indy .NET Mobile Dev meetup:
Originally developed by Microsoft Research, Cambridge, F# is an open-source, functional-first language in the ML family. Despite its lofty position as a first-class Visual Studio language for the past two releases and its cross-platform availability it hasn't seen widespread adoption in the business world. These slides take you on an introductory tour of F#, exploring how its constructs and terse syntax can allow you to write more stable, maintainable code while keeping you focused on the problem rather than the plumbing.
Break Free with Managed Functional Programming: An Introduction to F#Dave Fancher
Originally developed by Microsoft Research, Cambridge, F# is an open-source, functional-first language in the ML family. Despite its lofty position as a first-class Visual Studio language for the past two releases and its cross-platform availability it hasn't seen widespread adoption in the business world. These slides take you on an introductory tour of F#, exploring how its constructs and terse syntax can allow you to write more stable, maintainable code while keeping you focused on the problem rather than the plumbing.
Rx JS is a very hot topic in nowadays market and uses about declarative style of programming to avail event based synchronous or asynchronous results based on event emitted by event emitters i.e. Observable.
Rx JS is a very hot topic in nowadays market and uses about declarative style of programming to avail event based synchronous or asynchronous results based on event emitted by event emitters i.e. Observable.
We have all bought into the idea of writing tests for our code. But are we writing our code in a way that make our tests better?
The full deck from Andrew Trebble's DrupalCamp Ottawa Presentation July 2016.
Project Lambda, JSR 335:
1.) Reasons to introduce lambda expressions
2.) What are lambda expressions, comparison with closures
3.) Short history (BGGA, CICE, FCM)
4.) Project Lambda
5.) Syntax and semantics
6.) Default and static interface methods
7.) Stream API
8.) Performance
https://github.com/Crazyjavahacking/talksSamples/tree/master/projectLambda
Older (2008) presentation I gave internally to SunGard to educate developers on C# and LINQ. LINQ still rocks, and the concepts I cover are important language features while C# developers should be asked in interviews event today.
CLA Summit 2013: Connecting LabVIEW to Everything ElseJKI
Slides from JKI's CLA Summit 2013 presentation, "Connecting LabVIEW to Everything Else," presented by Jim Kring.
Our consulting customers want the software we create to be “open,” in the sense that they need to integrate it into other business systems, or they need to use it from their own system development, or they just need to get data out in the way they want. This means providing an external API that users/clients can access – especially from tools other than LabVIEW. In this presentation from the Americas CLA Summit 2013, Jim Kring explains why external APIs are a fundamental part of professional software development, and explores how different types of APIs are useful at different stages of development all the way from proof-of-concept to final shipment.
NIWeek 2012: Secret Sauce / Tools to Make You a Better LabVIEW DeveloperJKI
Slides from JKI's NIWeek 2012 technical session, "Secret Sauce: Tools to Make You a Better LabVIEW Developer," presented by Justin Goeres.
If you could save one hour a day by working smarter, how much more value could you create and how much less stress would you feel? LabVIEW Champion Justin Goeres shows you how to manage your code, projects, and commitments using the same free and low-cost tools JKI engineers use.
NIWeek 2011: Beyond State Machines / Building Modular Applications in LabVIEW...JKI
Slides for presentation given by Justin Goeres at NIWeek 2011. Learn about a template for inter-process communication that’s easy enough for Intermediate developers, but powerful and flexible enough for CLAs. Nearly every significant LabVIEW-based application uses multiple loops and multiple pieces of hardware. Without a clear design pattern, coordinating all these moving pieces is a recipe for spaghetti code. In this presentation, we introduce an elegant, powerful, and easy-to-use template for inter-process communication based on the concept of “Public” and “Private” events.
Introduction to Akka slide was presented to HyScala - Dec 2016 meet-up. Just prepared for the impatient and not goes too deep in to various aspects of Akka.
Rx JS is a very hot topic in nowadays market and uses about declarative style of programming to avail event based synchronous or asynchronous results based on event emitted by event emitters i.e. Observable.
Rx JS is a very hot topic in nowadays market and uses about declarative style of programming to avail event based synchronous or asynchronous results based on event emitted by event emitters i.e. Observable.
We have all bought into the idea of writing tests for our code. But are we writing our code in a way that make our tests better?
The full deck from Andrew Trebble's DrupalCamp Ottawa Presentation July 2016.
Project Lambda, JSR 335:
1.) Reasons to introduce lambda expressions
2.) What are lambda expressions, comparison with closures
3.) Short history (BGGA, CICE, FCM)
4.) Project Lambda
5.) Syntax and semantics
6.) Default and static interface methods
7.) Stream API
8.) Performance
https://github.com/Crazyjavahacking/talksSamples/tree/master/projectLambda
Older (2008) presentation I gave internally to SunGard to educate developers on C# and LINQ. LINQ still rocks, and the concepts I cover are important language features while C# developers should be asked in interviews event today.
CLA Summit 2013: Connecting LabVIEW to Everything ElseJKI
Slides from JKI's CLA Summit 2013 presentation, "Connecting LabVIEW to Everything Else," presented by Jim Kring.
Our consulting customers want the software we create to be “open,” in the sense that they need to integrate it into other business systems, or they need to use it from their own system development, or they just need to get data out in the way they want. This means providing an external API that users/clients can access – especially from tools other than LabVIEW. In this presentation from the Americas CLA Summit 2013, Jim Kring explains why external APIs are a fundamental part of professional software development, and explores how different types of APIs are useful at different stages of development all the way from proof-of-concept to final shipment.
NIWeek 2012: Secret Sauce / Tools to Make You a Better LabVIEW DeveloperJKI
Slides from JKI's NIWeek 2012 technical session, "Secret Sauce: Tools to Make You a Better LabVIEW Developer," presented by Justin Goeres.
If you could save one hour a day by working smarter, how much more value could you create and how much less stress would you feel? LabVIEW Champion Justin Goeres shows you how to manage your code, projects, and commitments using the same free and low-cost tools JKI engineers use.
NIWeek 2011: Beyond State Machines / Building Modular Applications in LabVIEW...JKI
Slides for presentation given by Justin Goeres at NIWeek 2011. Learn about a template for inter-process communication that’s easy enough for Intermediate developers, but powerful and flexible enough for CLAs. Nearly every significant LabVIEW-based application uses multiple loops and multiple pieces of hardware. Without a clear design pattern, coordinating all these moving pieces is a recipe for spaghetti code. In this presentation, we introduce an elegant, powerful, and easy-to-use template for inter-process communication based on the concept of “Public” and “Private” events.
Introduction to Akka slide was presented to HyScala - Dec 2016 meet-up. Just prepared for the impatient and not goes too deep in to various aspects of Akka.
Spring Boot Microservices vs Akka Actor Cluster OpenCredo
Lorenzo Nicora introduces reactive principles and compares two different approaches to them: a microservice architecture based on Spring Boot and a clustered application using Akka, based on lessons learned from real-world projects. Lorenzo also briefly introduces the Actor programming model and how it differs from other approaches for tackling concurrent and non-blocking programming in Java.
The actor model is a novel approach to writing concurrent software. It is based on the concept of small computational units communicating through asynchronous message passing, thus allowing concurrency and scalability while negating a lot of the problems of concurrent programming. Though the actor model got some adoption with the Erlang language and the Akka framework, it remained a rather niche approach and has not become a commonly used practice. But this may be changing now with the introduction of “Virtual Actors” - a new abstraction for writing distributed applications. This abstraction was introduced with the Orleans framework by Microsoft and adopted to Java by EA with their Orbit framework. This talk will include a short introduction to the actor model. We will then explore the Virtual Actors model, how it’s different from the classic model, and why it makes distributed application programming a lot simpler.
Dim the lights and queue the music. The stage has been set, and the virtual actors are soon to arrive. Come join an engaging discussion on Project Orleans and how it will create for us a world that transcends traditional three-tier architecture and truly achieves solutions with a high degree of performance, reliability, and scalability.
In this discussion, Chris will provide an overview of actor model theory and discuss how Orleans leverages virtual actors in order to provide a high throughput, low latency, and high availability solution architecture. You will also learn how this tried and tested framework has been successfully leveraged in Azure in order to provide the extremely scalable and performant platform that has brought you some of your favorite online Xbox games and Microsoft products.
A short intro to reactive systems, Scala, Akka and the Play Framework, with a Twitter based live demonstration and performance meters. Find the sample code at https://github.com/kjozsa/reactive2
An overview of Akka.Net
- Intro to Actor Model
- Asynchronous Design
Actor Lifecycle
- Actor Hierarchies
- Location transparencies
- Configuration
- Clustering
- Routing
- Persistence
One of the main reasons Titanium Mobile has been so successful is that the technology has significantly lowered the barrier to entry for native mobile development. A major force behind this is JavaScript, Titanium's primary programming language. The JavaScript programming language is small enough where the basics can be learned in a matter of hours, which has enabled developers from many different backgrounds to become productive using Titanium. But there's much more to JavaScript than just control structures and a handful of primitive data types - JavaScript is a beautiful functional programming language with great features you might not be using.
Most developers working on the web today have had some exposure to JavaScript, but there's a difference between using jQuery for DOM manipulation on a web page and writing an entire application in JavaScript. This talk, intended for beginner or intermediate JavaScript developers, will focus on the essential language features you will need to write professional JavaScript applications, including but not limited to:
Object Oriented Programming in JavaScript
The Good Parts and Bad Parts of JavaScript
Useful JavaScript Patterns, Tricks, and Style Guidelines
The JavaScript runtime in Titanium Mobile
Further Reading and ways to stay up to date on JavaScript
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/
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
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.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
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.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
2. Akka – an actor framework
A
B
C
D
X
Actor system:
• An object model composed
of actors
• Communication by
asynchronous message
passing
• Message delivery (in
general) not guaranteed
• Java & Scala API
Microservices in one app
E
3. An actor
• Reacts to messages
• Is a ‘living’ object
• Has a:
o Name
o Location
o Mutable state
o Lifecycle
o A mailbox
o A parent
o Optionally, children
o Changeable behavior
A
Props
ActorRef
Internally synchronous!
4. Actor hierarchy
A
B
C
D
X
• Actors form a supervision tree
• A child’s life is governed by its
parent
• Failure handling is
independent from cause
• Failure is local
• Failure will happen…
E
5. What does it all give?
Actors are independent processing cells
It’s fast, non blocking
It gives a horizontally scalable application architecture
Composes well with regular objects
6. Log sources
The problem to crunch – log processing
File
Single line
Json
LogAggregatorLogReceiver Json
LogReceiverService
8. Log sources
Another possibility
File
Single line
Json
LogAggregatorLogReceiver
Single Line
Processor
Single Line
Multiline
Processor
Multiple lines
Single Line
Json
Json
Json
9. Log sources
Another one – concepts changed
File
Single line
Json
LogAggregatorLogReceiver
Line
Parser
Single Line
LogProcessor
Multiple lines
Single Line
Json
Json
Json
13. Best practices
• Think of the hierarchy up-front
• Avoid singleton root actors
• Use ActorRefs, avoid the slow ActorSelection
• Always be prepared for failure => use timeouts
• Use context.become to separate behavior by states
• Monitor, log, measure everything
• Don’t optimize the performance (yet)
• If you can, delegate it => ensure single responsibility