This presentation is for enterprises that are considering adopting Scala. The author is managing editor of http://scalacourses.com, which offers self-paced online courses that teach Introductory and Intermediate Scala and Play Framework.
The author is managing editor of http://scalacourses.com, which offers self-paced online courses that teach Introductory and Intermediate Scala and Play Framework.
Writing concurrent programs that can run in multiple threads and on multiple cores is crucial but daunting. Futures provides a convenient abstraction for many problem domains. The online course "Intermediate Scala" includes an up-to-date discussion of futures and the parts of java.util.concurrent that underlie the Scala futures implementation. Unlike Java's futures, Scala futures supports composition, transformations and sophisticated callbacks.
The author is managing editor of http://scalacourses.com, which offers self-paced online courses that teach Introductory and Intermediate Scala and Play Framework.
The Scala programming language has been gaining significant traction over the last few years, being adopted by vastly different organizations from startups to large enterprises. While the language itself is pretty well understood and explained in tutorials and books, there is an apparent dearth of practical advice for new adopters on the best approach to integrating the new technology. In this talk I’ll attempt to offer such advice gathered over several years of production Scala use, focusing on tools, practices, patterns and the community, in the hope of making your transition into the Scala ecosystem easier and better-informed up front.
A talk given at JavaOne 2015 in San Francisco.
While the Java platform has gained notoriety in the last 15 years as a robust application platform with a thriving ecosystem and well-established practices, the Java language has had its share of criticism. Highly verbose, overly didactic, limited feature set; whichever flavor of criticism you prefer, it's patently obvious that Java is playing catch up to more modern languages with a less rigid evolution path.
The language landscape today is vastly different than it had been five or ten years ago; a wide array of languages are available, designed to suit a variety of flavors: Groovy, Clojure, Scala, Gosu, Kotlin... which should you choose? This lecture focuses on one company's decision to focus on Scala, and presents a case study based on our experiences using Scala in practice, in the hope of providing much-needed real world context to assist your decision.
This presentation was used for the Scala In Practice lecture at the Botzia Israeli Java User Group meeting, May 3rd 2012.
Introduction to Akka-streams and Akka-http.
We show how simple it becomes to build an application that streams geolocated events in a time-consistent way on a websocket, with back-pressure propagated to the upstream.
Code can be found at
https://github.com/pierangeloc/reactive-earthquakes
The author is managing editor of http://scalacourses.com, which offers self-paced online courses that teach Introductory and Intermediate Scala and Play Framework.
Writing concurrent programs that can run in multiple threads and on multiple cores is crucial but daunting. Futures provides a convenient abstraction for many problem domains. The online course "Intermediate Scala" includes an up-to-date discussion of futures and the parts of java.util.concurrent that underlie the Scala futures implementation. Unlike Java's futures, Scala futures supports composition, transformations and sophisticated callbacks.
The author is managing editor of http://scalacourses.com, which offers self-paced online courses that teach Introductory and Intermediate Scala and Play Framework.
The Scala programming language has been gaining significant traction over the last few years, being adopted by vastly different organizations from startups to large enterprises. While the language itself is pretty well understood and explained in tutorials and books, there is an apparent dearth of practical advice for new adopters on the best approach to integrating the new technology. In this talk I’ll attempt to offer such advice gathered over several years of production Scala use, focusing on tools, practices, patterns and the community, in the hope of making your transition into the Scala ecosystem easier and better-informed up front.
A talk given at JavaOne 2015 in San Francisco.
While the Java platform has gained notoriety in the last 15 years as a robust application platform with a thriving ecosystem and well-established practices, the Java language has had its share of criticism. Highly verbose, overly didactic, limited feature set; whichever flavor of criticism you prefer, it's patently obvious that Java is playing catch up to more modern languages with a less rigid evolution path.
The language landscape today is vastly different than it had been five or ten years ago; a wide array of languages are available, designed to suit a variety of flavors: Groovy, Clojure, Scala, Gosu, Kotlin... which should you choose? This lecture focuses on one company's decision to focus on Scala, and presents a case study based on our experiences using Scala in practice, in the hope of providing much-needed real world context to assist your decision.
This presentation was used for the Scala In Practice lecture at the Botzia Israeli Java User Group meeting, May 3rd 2012.
Introduction to Akka-streams and Akka-http.
We show how simple it becomes to build an application that streams geolocated events in a time-consistent way on a websocket, with back-pressure propagated to the upstream.
Code can be found at
https://github.com/pierangeloc/reactive-earthquakes
Have you ever cried yourself to sleep unable to find the cause of a horrendous bug in your node app? Cry no more, your tears will be reshaped into blinding swords as we explore uncharted territories laced with mystical creatures.
JavaScript debugging is an often avoided topic due to the uncertainty of how best to accomplish it and the lack of powerful introspective tools. This talk will explore new territory and showcase tools that help you debug complex and difficult issues in your node or frontend app. Libraries and tools such as node-inspector, Time-Travel Debugging, Visual Studio Code, vorlon.js, Vantage and memory leak catchers will be used to slay dragons.
No more shall you fear building complex apps with JavaScript!
No Container: a Modern Java Stack with BootiqueAndrus Adamchik
Java containers appeared back in the era of big expensive hardware and monolithic applications, and currently feel like an impediment to Java progress. More and more developers opt out of containers in favor of runnable jars, especially with the advance of microservices architectures. Andrus Adamchik will present a new open source tool called Bootique (https://bootique.io), a pluggable and extensible technology intended for various kinds of container-less Java apps – REST services, webapps, job runners, desktop apps and what not.
The importance of search for modern applications is evident and nowadays it is higher than ever. A lot of projects use search forms as a primary interface for communication with a user. Though implementation of an intelligent search functionality is still a challenge and we need a good set of tools.
In this presentation, I will talk through the high-level architecture and benefits of Elasticsearch with some examples. Aside from that, we will also take a look at its existing competitors, their similarities, and differences.
Jakarta EE is now over 20 years old and despite its age, it is as relevant today as it was back in 1999. It is one of the few open standards for developing enterprise applications with multiple independent vendor implementations. Its APIs are central to developing Java based cloud solutions. It is as relevant today as it was back in 1999. This presentation will provide context to Jakarta EE and why businesses choose to use it.
Multi-threading in the modern era: Vertx Akka and QuasarGal Marder
Everybody wants scalable systems. However, writing non-blocking applications in Java is not an easy task. In this session, we'll go over 3 different frameworks for managing multi-treading and concurrency support (Akka, Vertx and Quasar).
Java 9 ships in July, are you ready for Java 9 modules? Java 9 modules (aka Project Jigsaw) is the biggest fundamental change to the Java runtime. Code that use Oracle/Sun private APIs will break. This session will cover the basics of Java 9 modules and also the current state of tooling. The ramifications to existing and legacy applications will be covered along with the steps you’ll need to take to harness the power of modules and write more maintainable systems.
With Java 8 adoption skyrocketing, is Scala still relevant? In our opinion, the answer is an unequivocal yes. To make our point, Tomer Gabel (system architect at Wix) will showcase practical examples where Scala's features provide a definitive advantage over Java 8. These include:
* Effective logging with traits and by-name parameters;
* Pattern matching for fun and profit;
* Type-safe, efficient serialization with type classes.
A talk given at a Wix Ukraine R&D meetup in Dnipropetrovsk, Ukraine on 6 April, 2016.
Video recording: https://youtu.be/EXxA3PlcdBg?t=3680
Sample code: https://github.com/holograph/scala-vs-java8
From the Scalapeño 2013 conference: http://scalapeno.underscore.co.il/
It’s no secret that in Israel, C# is one of the leading languages for development. This stems from various reasons, ranging from the power of the language to the ubiquity of Microsoft’s technologies in government and defense organizations. When it first came out, C# was Microsoft’s answer to Java and the two were on-par. Since then, C# has grown leaps and bounds and Java, while still sitting on top of the powerful JVM with a huge, open ecosystem created over nearly two decades, was left behind. Developers looking to stop paying the Microsoft-tax were faced with a language that simply did not meet their expectations.
Scala is the one of the answers to this growing need for a new, modern language for the JVM.
This lecture introduces the language, comparing its idioms to those of C#, and introduces you some of the tools and frameworks to get you started with it.
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.
The author is managing editor of http://scalacourses.com, which offers self-paced online courses that teach Introductory and Intermediate Scala and Play Framework.
Have you ever cried yourself to sleep unable to find the cause of a horrendous bug in your node app? Cry no more, your tears will be reshaped into blinding swords as we explore uncharted territories laced with mystical creatures.
JavaScript debugging is an often avoided topic due to the uncertainty of how best to accomplish it and the lack of powerful introspective tools. This talk will explore new territory and showcase tools that help you debug complex and difficult issues in your node or frontend app. Libraries and tools such as node-inspector, Time-Travel Debugging, Visual Studio Code, vorlon.js, Vantage and memory leak catchers will be used to slay dragons.
No more shall you fear building complex apps with JavaScript!
No Container: a Modern Java Stack with BootiqueAndrus Adamchik
Java containers appeared back in the era of big expensive hardware and monolithic applications, and currently feel like an impediment to Java progress. More and more developers opt out of containers in favor of runnable jars, especially with the advance of microservices architectures. Andrus Adamchik will present a new open source tool called Bootique (https://bootique.io), a pluggable and extensible technology intended for various kinds of container-less Java apps – REST services, webapps, job runners, desktop apps and what not.
The importance of search for modern applications is evident and nowadays it is higher than ever. A lot of projects use search forms as a primary interface for communication with a user. Though implementation of an intelligent search functionality is still a challenge and we need a good set of tools.
In this presentation, I will talk through the high-level architecture and benefits of Elasticsearch with some examples. Aside from that, we will also take a look at its existing competitors, their similarities, and differences.
Jakarta EE is now over 20 years old and despite its age, it is as relevant today as it was back in 1999. It is one of the few open standards for developing enterprise applications with multiple independent vendor implementations. Its APIs are central to developing Java based cloud solutions. It is as relevant today as it was back in 1999. This presentation will provide context to Jakarta EE and why businesses choose to use it.
Multi-threading in the modern era: Vertx Akka and QuasarGal Marder
Everybody wants scalable systems. However, writing non-blocking applications in Java is not an easy task. In this session, we'll go over 3 different frameworks for managing multi-treading and concurrency support (Akka, Vertx and Quasar).
Java 9 ships in July, are you ready for Java 9 modules? Java 9 modules (aka Project Jigsaw) is the biggest fundamental change to the Java runtime. Code that use Oracle/Sun private APIs will break. This session will cover the basics of Java 9 modules and also the current state of tooling. The ramifications to existing and legacy applications will be covered along with the steps you’ll need to take to harness the power of modules and write more maintainable systems.
With Java 8 adoption skyrocketing, is Scala still relevant? In our opinion, the answer is an unequivocal yes. To make our point, Tomer Gabel (system architect at Wix) will showcase practical examples where Scala's features provide a definitive advantage over Java 8. These include:
* Effective logging with traits and by-name parameters;
* Pattern matching for fun and profit;
* Type-safe, efficient serialization with type classes.
A talk given at a Wix Ukraine R&D meetup in Dnipropetrovsk, Ukraine on 6 April, 2016.
Video recording: https://youtu.be/EXxA3PlcdBg?t=3680
Sample code: https://github.com/holograph/scala-vs-java8
From the Scalapeño 2013 conference: http://scalapeno.underscore.co.il/
It’s no secret that in Israel, C# is one of the leading languages for development. This stems from various reasons, ranging from the power of the language to the ubiquity of Microsoft’s technologies in government and defense organizations. When it first came out, C# was Microsoft’s answer to Java and the two were on-par. Since then, C# has grown leaps and bounds and Java, while still sitting on top of the powerful JVM with a huge, open ecosystem created over nearly two decades, was left behind. Developers looking to stop paying the Microsoft-tax were faced with a language that simply did not meet their expectations.
Scala is the one of the answers to this growing need for a new, modern language for the JVM.
This lecture introduces the language, comparing its idioms to those of C#, and introduces you some of the tools and frameworks to get you started with it.
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.
The author is managing editor of http://scalacourses.com, which offers self-paced online courses that teach Introductory and Intermediate Scala and Play Framework.
Slides from my talk at the Feb 2011 Seattle Tech Startups meeting. More info here (along with powerpoint slides): http://www.startupmonkeys.com/2011/02/scala-frugal-mechanic/
Dollars to Doughnuts: Predicting Prescription Drug Costs of Beneficiaries and...M. Christopher Roebuck
ABSTRACT
Title
Dollars to Doughnuts: Predicting Prescription Drug Costs of Beneficiaries and the Medicare Program Under Part D
Authors
M. Christopher Roebuck, MBA1
Dominick Esposito, PhD2
Meredith Lewis, BS1
1 Caremark, Hunt Valley, MD
2 Mathematica Policy Research, Princeton, NJ
Research Objective
To examine drug utilization and out-of-pocket costs of Medicare beneficiaries using a Medicare prescription drug discount card, including beneficiaries who qualified for the Transitional Assistance Program (TAP).
Study Design
Data included eligibility and prescription claims for enrollees in 34 separate Medicare drug discount card programs managed by Caremark. We used claims data to calculate annualized utilization and costs for beneficiaries and, in turn, simulated Medicare beneficiaries’ out-of-pocket costs (excluding premiums) and costs to Medicare under the Part D benefit. We estimated a generalized linear model (GLM; gamma distribution with log link function) for both beneficiary costs and Medicare payments under Part D to identify factors associated with drug expenditures. A probit model for the likelihood of falling into the doughnut hole was also specified. Explanatory variables in the models included demographic characteristics (age, gender, region, and TAP status), the generic dispensing rate, and 62 disease indicators derived using a pharmacy-based classification system.
Population Studied
Beneficiaries enrolled for a minimum of six months with at least one claim between June 2004 and November 2005 (n=37,425). Participants were largely female (67%), between the ages of 65 and 80 (70%), and had an average of 2.2 medical conditions, with hypertension (52%), hypercholesterolemia (27%), and diabetes (16%) being among the most prevalent.
Principal Findings
On average, beneficiaries in the sample filled 19 prescriptions at an annual cost of $538. Under the standard Part D benefit, mean total drug expenditures for these seniors would be $849 annually with $412 paid by the beneficiary and $437 paid by Medicare. About 6% of these beneficiaries have annual spending greater than $2,250 (the benefit’s “doughnut hole”). TAP beneficiaries (46%) would have higher out-of-pocket costs under Part D than the drug discount card ($429 versus $256; p<0><0><0><0.001).
Conclusions
TAP beneficiaries who do not qualify for subsidized coverage under Part D will face higher out-of-pocket costs than under the discount drug card program, assuming fixed drug utilization. Increased use of generic drugs in proportion to brand name drugs would benefit the Medicare program more than beneficiaries, on average, due to the standard benefit’s structure.
Implications for Policy, Delivery, and Practice
In choosing whether or not to enroll in Medicare Part D, seniors will compare their annual premium with the expected payout of the Medicare program. These results suggest the average, risk-neutral beneficiary would only enroll at monthly premiums below $36 ($437 divided by 12). If faced with higher out-of-pocket costs, low-income beneficiaries who do not qualify for subsidies may reduce their prescription drug utilization potentially resulting in adverse health effects. Finally, to reduce costs to both beneficiaries and taxpayers, Medicare should promote the substitution of generic medications whenever possible. Assuming 29 million Medicare Part D enrollees, the Medicare program could save more than $1.2 billion annually by increasing the generic dispensing rate 10%.
The popular presentation from 2010 is back, updated and restructured.
The short story of why you can't manage a business or a brand without carefully managing the design of your company's offer. All explained by a very concise and down to earth description of how design creates value.
This was a short introduction to Scala programming language.
me and my colleague lectured these slides in Programming Language Design and Implementation course in K.N. Toosi University of Technology.
Functional languages and Scala in particular have been attracting the interest of a growing number of developers in the latest years. In particular, Scala created a core of highly-motivated supporters in the so-called Reactive System area and in the Big Data domain.
In this talk we are going to describe how we evolved in CrowdMix from an initial implementation of the system based on Java8 to one mostly implemented in Scala. The talk will also describe how we evolved from a traditional service design to a highly scalable reactive system.
Although this could be possibly considered a less-common and simpler case than the majority of monolith legacy Java system conversions, there is a set of lessons learned that we would like to share.
In particular we will describe:
- How we approached the transition, what worked well, what didn’t
- Handling the coexistence of the two languages in the same service and across services
- What did we gain with the transition, what did we lose
Did you miss Scala Days 2015 in San Francisco? Have no fear! BoldRadius was there and we've compiled the best of the best! Here are the highlights of a great conference.
http://www.learntek.org/product/scala-spark-training/
Scala is a modern multi-paradigm programming language designed to express common programming patterns in a concise, elegant, and type-safe way. Scala, the word came from “Scalable Language”, is a hybrid functional programming language which smoothly integrates the features of objected oriented and functional programming languages and it is compiled to run on the Java Virtual Machine.
Spark is a fast cluster computing technology, designed for fast computation in Hadoop clusters. It is based on Hadoop MapReduce programming and it extends the MapReduce model to efficiently use it for more types of computations, like interactive queries and stream processing. Spark uses Hadoop in two different ways – one is storage and another one is processing.
http://www.learntek.org/
Learntek is global online training provider on Big Data Analytics, Hadoop, Machine Learning, Deep Learning, IOT, AI, Cloud Technology, DEVOPS, Digital Marketing and other IT and Management courses. We are dedicated to designing, developing and implementing training programs for students, corporate employees and business professional.
Apache Cayenne is a mature full-featured Java ORM. The presentation will discuss Cayenne approach to object persistence, including overall philosophy and the differences with JPA/Hibernate. It will highlight things like transaction management, mapping workflow, as well as the new APIs in the latest Cayenne 4.0. Full presentation video: https://www.youtube.com/watch?v=56xkN3P_zW8&list=PLhN6VJHsM3TPca_ksylFQqr_6qG5GnUWa&index=2
In this article I am going to present some of the most useful Scala libraries and frameworks which help ASSIST Software engineers to develop highly scalable applications that support concurrency and non-blocking.
Ten Compelling Reasons to Go the Scala Development Way - Metadesign SolutionsMetaDesign Solutions
Scala development services are on the rise, with developers frustrated with coding in Java. Apart from just being another OOP language, Scala has unique features that differentiate itself from other languages: -
Read full blog here : https://bit.ly/3nm4GSe
Transitioning from Java to Scala for Spark - March 13, 2019Gravy Analytics
Gravy Analytics ingests ~17 billion records daily of data and improve and refine that data into many data products at various levels of aggregation. To meet the challenges of our product requirements and scale we constantly evaluate new technologies. Spark has become central to our ability to process ever increasing amounts of data through our data factory. In late 2017 and throughout 2018, we have improved our ability to work with Spark by migrating all Spark jobs to Scala. In this discussion, we’ll cover areas which were more difficult from a Spark perspective to develop in Java than Scala as well as some of the challenges we met along the way.
This talk was presented at the 6th Annual Global Big Data Conference in Santa Clara, California on August 29, 2018.
Michael Slinn has performed technical due diligence for investors since the mid 1980s. In this 40-minute presentation he explains how he evaluates blockchain-related technology companies. See https://www.mslinn.com/blog/2018/08/29/evaluating-blockchain-companies.html
Scala 3 is known as Dotty, and is expected to be released in 2020. It features intersection types, union types, repeated by-name parameters, trait parameters, improved lazy val initialization, native support for type classes, compatibility with most Scala 2 libraries, and optional support for syntax similar to Haskell and Python. Michael presents the current version of Dotty (see the forthcoming video for the live demo).
EmpathyWorks – Towards an Event-Based Simulation/ML Hybrid PlatformMike Slinn
Abstract: Machine learning systems have become the dominant form of AI for enterprises due in large part to years of experimentation with combinations of technical approaches. Today’s ML systems are unlike traditional software systems in that algorithms are not used to procedurally specify how systems learn to recognize or classify input. On the other hand, simulation systems have traditionally been highly procedural, which is good for understanding how a result was obtained, but ‘learning’ is not normally expected. Mike Slinn will discuss a hybrid approach under consideration based on work he started in 2008.
Bio: Companies that Mike Slinn cofounded or advised have been sold to IBM, Otsuka, Microsoft, Yahoo! and NBC Interactive. A recognized software expert in US and European courts, Mike opines on contractual and patent disputes. Mike received an Electronics Engineering degree in 1979 from Carleton University in Ottawa.
Polyglot Ethereum - Smart Contracts for the EnterpriseMike Slinn
Smart contracts require integration with legacy systems. It is not enough to say "we have enterprise blockchain"; if it is not integrated, you have nothing.
Play Architecture, Implementation, Shiny Objects, and a ProposalMike Slinn
ScalaCourses.com has been serving online Scala and Play training material to students for over two years. ScalaCourses.com teaches courses on the same technology stack that the web site runs on. The Cadenza application that powers ScalaCourses.com is a Play Framework 2 application, written in Scala and using Akka, Slick, AWS and Postgres. Some of the architectural features in Cadenza that allow a modest-sized Play application to serve large amounts of multimedia data efficiently is discussed, including technical details of how to work with an immutable domain model that can be modified.
Over the last 2+ years the underlying technology has changed a lot; a brief history of Play Framework will be recounted, and how that impacted Cadenza. The talk concludes with a proposal regarding Play Framework's future.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
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!
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
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.
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.
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.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
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/
2. About Mike Slinn
• Principal at Micronautics Research
Corporation
• Hands-on architect, mentor, trainer
• Interim technical leader for companies in
transition
• Recognized in US Federal court as a
software expert
• Author of “Composable Futures with Akka 2.0
• Twitter: mslinn
3. About You, the Attendees
• ___% Managers
o ___% Full-time programmers
• ___% Interns
• Programmers
o ___% New to Scala
o ___% Intermediate Scala programmers
o ___% Expert Scala programmers
o ___% Currently work on Scala projects
o ___% Windows, Linux, Mac, other
4.
5. James Gosling
“Father of Java”
“If I were to pick a
language to use today
other than Java, it
would be Scala”
6. James Strachan
Groovy Language &
Apache Camel book
“If someone had shown
me the Programming in
Scala book in 2003, I
would not have created
Groovy.”
7. Alex Payne
Early Twitter engineer,
co-author of “Joy is underrated
“Programming Scala”
as a metric for a
language's
potential success
in a development
organization”
8. What is Scala?
• Natural progression on the JVM
• Same deployment mechanism as Java
• Scale up and out, with concurrency and/or
parallelism
o Java.util.concurrent
o Scala Parallel collections
o Actors
o Futures (allows map/reduce)
o Dataflow
o Map/reduce frameworks
9. Scala vs. Other OO & FP Languages
Java Scala Clojure Ruby
Typing Static Static Dynamic Dynamic
Paradigm OO OO & FP FP OO
10. Two Types of Programming
• Imperative Programming
o Describes computation in terms of statements that
change program state
• Functional Programming
o Describes computation in terms of mathematical
functions, avoiding state and mutable data
11. Scala is Object-Oriented
• Primitives are full objects
• Static methods are attached to singletons
• Imperative style
• You can use Scala simply as a better Java
12. Scala is Also Functional
• Transform data objects instead of mutation
• Strong list processing (e.g. map and reduce)
• Thread-safe
• Parallelizable
• Supports composition
17. Scala 2012 Roadmap
May 2011 Oct 2011 Q1 2012 Q3 2012
Typesafe Typesafe Typesafe Typesafe
Stack 1.0 Stack 1.1 Stack 2.0 Stack 2.1
Scala 2.9.0 Scala 2.9.1 Scala 2.9.2 Scala 2.10
Akka 1.1 Akka 1.2 Akka 2.0 Akka 2.1
IDE 1.0 Play 2.0 Play 2.1
SBT 0.11.2 Slick (DB)
IDE 2.0 M1 IDE 2.0 RC
18. Scala Toolchain
• At a tipping point
• Toolchain options
o SBT w/ Text editor
Flexible, multiplatform, complex, compatible with
Maven, documentation lacking
Compatible with IDEs
o Maven – consider this only if you already use Maven
o Eclipse – Usable
o IntelliJ IDEA – Usable
o Netbeans – Not popular, not well supported
o Ant – Not popular but works fine
20. Use Case: guardian.co.uk
• 100,000 lines of code.
• Spring, Velocity, Hibernate, Oracle DB,
Maven.
• Full release every 2 weeks.
• Wrote integration tests using ScalaTest.
• After a month of writing tests in Scala, they
converted the whole site to Scala.
• Java and Scala code co-existed and
depended on each other
21. Use Case: Wordnik
• 5:1 reduction in code
• Corresponding increase in quality
• Maintenance costs decreased similarly
• Scala attracts good developers
• Typesafe was very responsive
• REPL makes IDEs less important
• Pattern matching was unexpected benefit
• SBT love/hate
• Never going back to Java
23. Enterprise Characteristics
• Many locations
• IT department often separate from
development teams
• Legacy apps and data
• Lots of SOAP
• Big investment in JEE containers
• Risk averse
• Compliance issues
• Budget for incremental change is small
portion of overall IT budget
24. Why Scala In the Enterprise?
• Big scale, solid programs
• Get more done
o More expressive
o Fewer lines of code
o More productive
o Strong community
o Fewer bugs (constant number of bugs/line of code)
• Talent attractor
26. Concurrency Is Too Hard
• Multithreaded programs tend to be buggy
o Non-determinism caused by concurrent threads
accessing shared mutable state.
• Actors and transactions manage state and
are therefore not a solution.
• To get deterministic processing, avoid
mutable state.
• This means functional programming.
27. Scala Offers Better Concurrency
• Akka Composable futures*
• Akka/Scala Dataflow*
• Akka Actors
• Scala Parallel collections
* Covered in my book:
“Composable Futures with Akka 2.0”
30. Why Not Scala?
• Steep learning curve
o New syntax
o Many new concepts
o Tools experiencing heavy growth
o Documentation still weak, not many books
o How to find a Scala programmer?
Grow instead of hire
• JDK 8 will have closures
o Release Sept 2013
o Mass adoption 2017?
31. Scala Vocabulary
• Lazy evaluation • Composition
• Monads • Pattern matching
• Continuations • Type extensions
• Recursion • Traits
• Closures • Control structure
• Immutable datatypes abstraction
• Currying • Refined types
• Higher order o Covariance
o Variance
functions
o Type bounds
32. Who Should Introduce Scala into
an Enterprise?
• Top down approach
o Gradual, planned implementation
• Bottom up approach
o Skunk works
• Sneak in on the side
o Custom project
• Get toolchain working before including others
33. Types of Scala Applications
• Web platforms
• Trading platforms
• Financial modeling
• Simulation
• Fast to first product, scalable afterwards
34. When to Use Scala?
• “Skunk works” approach
o Gradual introduction minimizes risk
o No need to master all of Scala before using some of it
• “Save the company” approach
o High risk, high gain
35. Where to Introduce Scala?
• Address scalability issues
• DSLs for problem statement
• Testing: integration, black box, white box
o Lots of boilerplate; Scala removes it
o Tests focus on problem domain; DSLs help
o Users (non-programmers) can examine DSLs for
accuracy and maybe write code
• Replace components
36. How to Use Scala?
• Java 6+ or .NET is required
• Choice of Java toolchain
o SBT, Maven, IntelliJ IDEA, Eclipse
o Jenkins/Hudson, other CI
• .NET toolchain not yet ready for prime time
• BUT:
o Can convert Java/Scala to .NET with IKVM
o I’ve done it – works well, easy to use
37. Thank you!
Mike Slinn
mslinn@micronauticsresearch.com
Editor's Notes
Modified from scalaBin (norwegianscala usergroup) logo
Image from Martin Odersky
Image from Martin Odersky Dec 2011.
I updated Martin Odersky’s slides from @ SF Scala Dec 2011