Arquillian has plenty of useful extentions, In this talk Michał will present these that in his opinion are most helpful and should be used in most Arquillian-powered Java projects.
Rich and Snappy Apps (No Scaling Required)Thomas Fuchs
Presentation by Amy Hoy and Thomas Fuchs about front-end web application performance at Kings of Code, Amsterdam, June 2009.
Main topics are loading-time performance, JavaScript tuning and progress indication.
Note that without the audio this is probably not very useful and it's mainly intended for attendees of the talk.
Talk given at http://jsconf.eu 2009.
You serve up your code gzipped. Your caches are properly configured. Your data (and scripts) are loaded on-demand. That's awesome—so don't stop there. Runtime is another source of slowdowns, and you can learn to conquer those, too.
Learn how to benchmark your code to isolate performance issues, and what to do when you find them. The techniques you'll learn range from the normal (function inlining) to the extreme (unrolling loops).
In this talk I would like to present few recently discovered security vulnerabilities in the Apache Struts 2 web framework and based on that try to increase developers' awareness of the overall application security. In my opinion, nowadays developers don’t care about the security too much, they depend on what the framework gives them. Quite often, then even don’t check security bulletins to see if a new vulnerability wasn’t discovered recently in his/her famous framework. I would like show few web attacks and explain how it was possible to harm an application or even entire server, how to prevent such kind of attacks in the future and so on. Examples will base on the Apache Struts 2, but almost all the same problems were pointed out in the Spring MVC or in the Apache Wicket. Each framework has its own weaknesses :-)
Wynaleźlismy samoloty, byliśmy na księżycu, każdy z nas widział panoramę Marsa zrobioną *na miejscu*. Mogło by się wydawać, że co się miało stać, już się stało.
Niekoniecznie.
Jesteśmy świadkami nowej rewolucji, niekoniecznie mniejszej od Rewolucji Przemysłowej dziewiętnastego wieku.
Rola pracownika w firmie się zmienia. Standardowy model wyrobnika z młotkiem, w którego próbował nas wcisnąć system edukacji, w dzisiejszej globalnej wiosce traci rację bytu.
Jak może wyglądać nowy typ firmy, w którym pracownik jest czynnikiem twórczym, a nie "resourcem"? Jak poradzić sobie z zarządzaniem takim zespołem? Czy tradycyjna rola "leadera" ciągle ma sens?
Sam tego nie wiem :-). Może razem odpowiemy jakoś na te pytania.
A couple of months ago I picked a single software development practice – performing code reviews – and talked with
lots of various people on their experience with it. This turned out to be a topic far beyond tooling and
more about feelings, emotions, judgement and receiving criticism. Lots of interesting ideas on how to make code
reviews more enjoyable emerged from these conversations. In this short talk I will share some of them.
Rich and Snappy Apps (No Scaling Required)Thomas Fuchs
Presentation by Amy Hoy and Thomas Fuchs about front-end web application performance at Kings of Code, Amsterdam, June 2009.
Main topics are loading-time performance, JavaScript tuning and progress indication.
Note that without the audio this is probably not very useful and it's mainly intended for attendees of the talk.
Talk given at http://jsconf.eu 2009.
You serve up your code gzipped. Your caches are properly configured. Your data (and scripts) are loaded on-demand. That's awesome—so don't stop there. Runtime is another source of slowdowns, and you can learn to conquer those, too.
Learn how to benchmark your code to isolate performance issues, and what to do when you find them. The techniques you'll learn range from the normal (function inlining) to the extreme (unrolling loops).
In this talk I would like to present few recently discovered security vulnerabilities in the Apache Struts 2 web framework and based on that try to increase developers' awareness of the overall application security. In my opinion, nowadays developers don’t care about the security too much, they depend on what the framework gives them. Quite often, then even don’t check security bulletins to see if a new vulnerability wasn’t discovered recently in his/her famous framework. I would like show few web attacks and explain how it was possible to harm an application or even entire server, how to prevent such kind of attacks in the future and so on. Examples will base on the Apache Struts 2, but almost all the same problems were pointed out in the Spring MVC or in the Apache Wicket. Each framework has its own weaknesses :-)
Wynaleźlismy samoloty, byliśmy na księżycu, każdy z nas widział panoramę Marsa zrobioną *na miejscu*. Mogło by się wydawać, że co się miało stać, już się stało.
Niekoniecznie.
Jesteśmy świadkami nowej rewolucji, niekoniecznie mniejszej od Rewolucji Przemysłowej dziewiętnastego wieku.
Rola pracownika w firmie się zmienia. Standardowy model wyrobnika z młotkiem, w którego próbował nas wcisnąć system edukacji, w dzisiejszej globalnej wiosce traci rację bytu.
Jak może wyglądać nowy typ firmy, w którym pracownik jest czynnikiem twórczym, a nie "resourcem"? Jak poradzić sobie z zarządzaniem takim zespołem? Czy tradycyjna rola "leadera" ciągle ma sens?
Sam tego nie wiem :-). Może razem odpowiemy jakoś na te pytania.
A couple of months ago I picked a single software development practice – performing code reviews – and talked with
lots of various people on their experience with it. This turned out to be a topic far beyond tooling and
more about feelings, emotions, judgement and receiving criticism. Lots of interesting ideas on how to make code
reviews more enjoyable emerged from these conversations. In this short talk I will share some of them.
What is most important in cooperation with external software developers? Par...SoftwareMill
What questions should be asked before making the decision?
We believe that understanding approach and principles is fundamental to successful cooperation and also could shed some light on what client could expect from software house during a project. That is why we have prepared answers for some of the most frequently asked questions.
Part 1: People
From spaghetti with no `src/test` to green CI and well-sleeping developersSoftwareMill
Jacek Kunicki & Michał Matłoka
Yes, we did it! Over a year ago we met a monster – a legacy
Spring MVC application with 50% code duplication, no tests,
manual deployment and mysterious error reporting. Come and
see yourself how blood, sweat and tears have then turned
into a well-tested REST API, pleasant to use and develop.
After a year we have an interactive API documentation, informative
call statuses and error messages. We precisely track every
request through its entire lifecycle. Together with version
tracking on multiple nodes, this lets us spot any errors
really quickly.
Plus, we reduced the boilerplate needed to achieve all of this to
a single annotation for each API call – with the help of
AspectJ, MDC, custom filters, converters and more.
Obviously, we also introduced src/test/groovy, full of Spock
and rest-assured – which made our application “the most
rigid part of the infrastructure”, as per our customer.
Come to hear our story, share yours and let us know if we could do better!
3 kroki do sukcesu płaskiej i zdalnej firmy | SoftwareMillSoftwareMill
Prezentacja do prelekcji na konferencji InternetBeta 2015.
Kilka tipów jak prowadzić firmę w inny sposób na przykładzie SoftwareMill.
100%:
Zdalna praca
Płaska struktura organizacji
Transparentności finansowa
Hej! Masz pytania? Daj znać na hello@softwaremill.com
Presented on Codemotion Warsaw 2016 and JDD 2016.
Pig, Hive, Flink, Kafka, Zeppelin... if you now wonder if someone just tried to offend you or are those just Pokemon names, then this talk is just for you!
Big Data is everywhere and new tools for it are released almost at the speed of new JavaScript frameworks. During this entry level presentation we will walk though the challenges which Big Data presents, reflect how big is big and introduce currently most fancy and popular (mostly open source) tools.
We'll try to spark off interest in Big Data by showing application areas and by throwing ideas where you can later dive into.
What does "free", as in "free monad" mean? How can a free structure be constructed? How does this construction relate to the definition of free found in Scalaz/Cats/Haskell?
Open source big data landscape and possible ITS applicationsSoftwareMill
What is big data, and how open-source big data projects, such as Apache Spark, Kafka and Cassandra can be used in ITS (Intelligent Transport Systems) related projects.
Projekt z punktu widzenia UX designeraSoftwareMill
User Experience (UX), tłumacząc bezpośrednio na język polski, to doświadczenie użytkownika. Obecnie, intuicyjność oprogramowania ma coraz większe znaczenie dla klienta. Dlatego też coraz więcej firm zwraca uwagę na rozwijanie technik UX w swoich projektach. Ciągle jednak świadomość zarówno klientów jak i zespołów projektowych bywa niewielka w tym temacie. Internet jest wypełniony informacjami dotyczącymi User Experience, jednak trudno jest dotrzeć do źródeł dostarczających pełnej i zadowalającej wiedzy. Prelekcja ma na celu wyjaśnienie po co został stworzony UX i wprowadzenie do tematu od strony czysto psychologicznej, co pozwoli na lepsze zrozumienie schematów działania tego procesu.
Abstract:
Are the machines learning on their own? Wait, is Skynet already here? During this session we will tackle an easy Machine Learning problem, show how can it be processed on Spark including data cleaning, normalization and a learning process. Live coding session, but only if the machines don’t rise against us.
Hazelcast is an easy to use but scalable in-memory datagrid and distributed executor framework. It enables you to build applications having a big requirement on memory or that needs to scale horizontally.
What is most important in cooperation with external software developers? Par...SoftwareMill
What questions should be asked before making the decision?
We believe that understanding approach and principles is fundamental to successful cooperation and also could shed some light on what client could expect from software house during a project. That is why we have prepared answers for some of the most frequently asked questions.
Part 1: People
From spaghetti with no `src/test` to green CI and well-sleeping developersSoftwareMill
Jacek Kunicki & Michał Matłoka
Yes, we did it! Over a year ago we met a monster – a legacy
Spring MVC application with 50% code duplication, no tests,
manual deployment and mysterious error reporting. Come and
see yourself how blood, sweat and tears have then turned
into a well-tested REST API, pleasant to use and develop.
After a year we have an interactive API documentation, informative
call statuses and error messages. We precisely track every
request through its entire lifecycle. Together with version
tracking on multiple nodes, this lets us spot any errors
really quickly.
Plus, we reduced the boilerplate needed to achieve all of this to
a single annotation for each API call – with the help of
AspectJ, MDC, custom filters, converters and more.
Obviously, we also introduced src/test/groovy, full of Spock
and rest-assured – which made our application “the most
rigid part of the infrastructure”, as per our customer.
Come to hear our story, share yours and let us know if we could do better!
3 kroki do sukcesu płaskiej i zdalnej firmy | SoftwareMillSoftwareMill
Prezentacja do prelekcji na konferencji InternetBeta 2015.
Kilka tipów jak prowadzić firmę w inny sposób na przykładzie SoftwareMill.
100%:
Zdalna praca
Płaska struktura organizacji
Transparentności finansowa
Hej! Masz pytania? Daj znać na hello@softwaremill.com
Presented on Codemotion Warsaw 2016 and JDD 2016.
Pig, Hive, Flink, Kafka, Zeppelin... if you now wonder if someone just tried to offend you or are those just Pokemon names, then this talk is just for you!
Big Data is everywhere and new tools for it are released almost at the speed of new JavaScript frameworks. During this entry level presentation we will walk though the challenges which Big Data presents, reflect how big is big and introduce currently most fancy and popular (mostly open source) tools.
We'll try to spark off interest in Big Data by showing application areas and by throwing ideas where you can later dive into.
What does "free", as in "free monad" mean? How can a free structure be constructed? How does this construction relate to the definition of free found in Scalaz/Cats/Haskell?
Open source big data landscape and possible ITS applicationsSoftwareMill
What is big data, and how open-source big data projects, such as Apache Spark, Kafka and Cassandra can be used in ITS (Intelligent Transport Systems) related projects.
Projekt z punktu widzenia UX designeraSoftwareMill
User Experience (UX), tłumacząc bezpośrednio na język polski, to doświadczenie użytkownika. Obecnie, intuicyjność oprogramowania ma coraz większe znaczenie dla klienta. Dlatego też coraz więcej firm zwraca uwagę na rozwijanie technik UX w swoich projektach. Ciągle jednak świadomość zarówno klientów jak i zespołów projektowych bywa niewielka w tym temacie. Internet jest wypełniony informacjami dotyczącymi User Experience, jednak trudno jest dotrzeć do źródeł dostarczających pełnej i zadowalającej wiedzy. Prelekcja ma na celu wyjaśnienie po co został stworzony UX i wprowadzenie do tematu od strony czysto psychologicznej, co pozwoli na lepsze zrozumienie schematów działania tego procesu.
Abstract:
Are the machines learning on their own? Wait, is Skynet already here? During this session we will tackle an easy Machine Learning problem, show how can it be processed on Spark including data cleaning, normalization and a learning process. Live coding session, but only if the machines don’t rise against us.
Hazelcast is an easy to use but scalable in-memory datagrid and distributed executor framework. It enables you to build applications having a big requirement on memory or that needs to scale horizontally.
Speaker: Sylvain Lebresne, Software Engineer at DataStax
Video: http://www.youtube.com/watch?v=4GSfAS4nFAs&list=PLqcm6qE9lgKLoYaakl3YwIWP4hmGsHm5e&index=18
Since its inception, the Cassandra Query Language (CQL) has grown and matured, resulting in the 3rd version of the language (CQL3) being finalized in Cassandra 1.2 and further improved in Cassandra 2.0. Compared to the legacy Thrift API, CQL3 aims at providing an API that is higher level, more user friendly, but still fully assumes the distributed nature of Cassandra and it's storage engine. This talk will present CQL3, describing the reasoning and goals behind the language as well as the language itself. We will also touch on CQL's relationship with Thrift and will present the CQL binary protocol that has been introduced in Cassandra 1.2. We will wrap up by discussing the future of CQL.
The discussion on automated tests is hot topic. The approach has same number of advocates and skeptics. More and more tools eases testing, but also introduces a fundamental question: what, when and how to test? Practise and experience let's answer those questions or guide in the right direction.
In this talk usage examples of unit, functional and behavioral tests will be shown. Importance of properly handling dependencies and mocking them will be discussed as well. But most of important part will be hints on how to write code, that could be tested automaticaly.
Slides are available in interactive mode here: http://tdd.sznapka.pl/
Great design patterns are reusable, modular expressions of what’s going on in your code. They allow you to communicate to other developers simply by the way you code, in addition to being easily maintainable themselves. Put simply, patterns are the available tools in the developer’s toolbox.
In this presentation, I review a few common patterns, their advantages/disadvantages, and how they can be implemented.
The source for this presentation can be found here: https://github.com/derekbrown/designpatterns
I really enjoy giving live coding talks. They let me demonstrate concrete usages of a tool or library that work, rather than "almost work, but...". Although the opinions vary, I'd argue that it's possible to deliver an awesome live coding talk - provided that you come well prepared. Having already given a couple of live coding sessions, I'd like to share the lessons I've learned.
If you're planning to prepare you own live coding session, the tips&tricks presented here will help you feel more comfortable and prepared for (almost) everything. Real-life horror stories included!
Goryle i ser szwajcarski. Czego medycyna ratunkowa może Cię nauczyć o tworzen...SoftwareMill
Im dłużej pracujemy w jakiejś branży, tym częściej dostrzegamy, że wiele koncepcji, z którymi się stykamy, wcale nie jest nowych i że gdzieś już je wcześniej spotkaliśmy. Co więcej, zaczynamy też dostrzegać różne analogie z innymi - na pozór bardzo odległymi - branżami czy dziedzinami wiedzy. Okazuje się, że aby dostrzec te analogie, wystarczy dobrze znać jedną z tych dziedzin a w pozostałych z grubsza się orientować.
Podczas tej prezentacji przyjrzymy się nieoczywistym analogiom pomiędzy szeroko pojętym programowaniem a medycyną ratunkową, która też ma swój ruch na kształt software craftsmanship. Wiedza medyczna nie jest wymagana.
Reactive Integration with Akka Streams and AlpakkaSoftwareMill
An alpaca is like a camel, but is Alpakka like Apache Camel? Can we use the reactive approach in the area of integration as well, instead of the blocking approach that Camel usually offers?
In this live coding session we’re going to explore the possibilities that Alpakka - a set of connectors for Akka Streams - offers to fetch data from various data sources and send it to different destinations. Using those, you’re going to learn, on a working example, how to build a reactive integration layer with the help of Akka Streams - one of the most popular Reactive Streams implementation.
A short introduction in to chatbots and how to use AI to improves their possibilities. Presents how to use IBM Watson and wit.ai to create user friendly bots.
Pig, Hive, Flink, Kafka, Zeppelin... if you now wonder if someone just tried to offend you or are those just Pokemon names, then this talk is just for you!
Big Data is everywhere and new tools for it are released almost at the speed of new JavaScript frameworks. During this entry level presentation I will walk though the challenges which Big Data presents, reflect how big is big and introduce currently most fancy and popular (mostly open source) tools.
I'll try to spark off interest in Big Data by showing application areas and by throwing ideas where you can later dive into.
Out-of-the-box Reactive Streams with Java 9SoftwareMill
Reactive Streams is a standard for asynchronous data processing in a streaming fashion with non-blocking backpressure. Starting from Java 9, they have become a part of the JDK in the form of the java.util.concurrent.Flow interfaces.
In this live coding session we’re going to go through the basic concepts of reactive stream processing and see how to use the APIs included in JDK 9.
Hiring, Bots and Beer. (Hiring in the IT industry) SoftwareMill
How does hiring look like from the IT company point of view. How to remedy the difficulties in the recruitment process. Why automation all the menial tasks can influence on perception of candidate’s experience. Tips and tricks on how to do it in the smart way. What question in the recruitment process is the most important in our company and why it should be important for you as well?
Teal Is The New Black. czyli dlaczego transparentność i holakracja przenoszą biznes na nowy poziom.
Czy jesteś gotowy podzielić się władzą?
Jak podnieść wyniki sprzedaży poprzez wzrost efektywności pracy i lojalności pracowników, zachowując przy tym serce i duszę? Czym jest holokracja, co oznacza transparentność i jak ją wprowadzić do hierarchicznej organizacji?
Historie prawdziwe firm w sytuacjach przełomowych, kiedy "turkusowe" mechanizmy sprawdziły się w firmach z 40, 1000 i 40 000 pracowników.
premiera prezentacji: InternetBeta 2017
How to construct a free object for any syntax? Going through universal algebra, term algebras, free monoids and free monads. Presented at LambdaConf 2017
Apache Cassandra is one of the most renowned NoSQL databases. Although it's often associated with great scalability, improper usage might result in shooting yourself in the foot. In this talk I'll present a set of ideas and guidelines - both for developers and administrators - which will help you to make your project an epic failure.
How to manage in a flat organized, remote and transparent companySoftwareMill
No managers in company - ways of decision making.
We have no hierarchy, no managers, no vacation policy and no secrets. Full transparency (including financial) is second nature to us.
We have the courage to go against the flow and show that a company with a flat organizational structure can develop, scale and achieve goals: our own, and those of our clients.
In 30 minutes I would like to show:
1. Why is it worth to spend some time and learn Gatling - a tool for integration/performance test of your web application?
2. Under what circumstances it is necessary to have Gatling in your toolbox?
3. What are Gatling cons and what kind of problems can you expect?
For sure there is no silver bullet in testing tools area, but you will definitely love Gatling DSL.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
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.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
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.
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
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
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.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
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.
4. JBOSS ARQUILLIAN
Manages the lifecycle of the container (or containers)
Deploys archive (or archives) to the container (or
containers)
Executes the tests inside (or against) the container
Captures the results and returnes them to the test runner
for reporting
10. SHRINKWRAP DESCRIPTORS
The goal is to provide most of the Java EE
deployment descriptors. Each descriptor
follows the same API style and allows to
manipulate all elements as the specification
describes.
13. ARQUILLIAN PERSISTENCE EXTENSION
Wrapping each test in the seperated transaction
Database seeding using: DBUnit (XML, XLS, YAML, JSON),
SQL scripts
DB state comparing with dataset at the end of the test
Eviction JPA second level cache between test method
invocation
14. ARQUILLIAN PERSISTENCE EXTENSION - EXAMPLE PART I
@et
Ts
@snDtSt"aaesuesyl)
Uigaae(dtst/sr.m"
@hudacDtSt"aaesepce-sr.m"
SolMthaae(dtst/xetduesyl)
pbi vi solCagUePswr( trw Ecpin{
ulc od hudhnesrasod) hos xeto
/ gvn
/ ie
fnlSrn epcePswr ="uiPak"
ia tig xetdasod
lbelci;
fnlUe ue =e.idUe.ls,2)
ia sr sr
mfn(srcas L;
/ we
/ hn
ue.ePswr(xetdasod;
srstasodepcePswr)
e.eg(sr;
mmreue)
/ te
/ hn
asrTa(srgtasod).sqaT(xetdasod;
sethtue.ePswr()iEuloepcePswr)
}
15. ARQUILLIAN PERSISTENCE EXTENSION - EXAMPLE PART II
ue:
sr
-i:1
d
frtae Jh
isnm: on
lsnm:Sih
atae mt
uenm:dod
srae ove
pswr:pswr
asod asod
-i:2
d
frtae Cak
isnm: lr
lsnm:Kn
atae et
uenm:spra
srae uemn
pswr:kytnt
asod rpoie
16. ARQUILLIAN DRONE
Integrates WebDriver with Arquillian
Interaction with deployments and containers provided by
Arquillian
Configuration kept in arquillian.xml
Compatible with WebDriver (Selenium 2), Selenium 1 and
Selenium Grids
17. ARQUILLIAN DRONE - EXAMPLE
@uWt(rulincas
RnihAqila.ls)
pbi casWbrvret{
ulc ls eDieTs
@elyettsal =fle
Dpomn(etbe
as)
pbi sai Wbrhv cetDpomn( ..
ulc ttc eAcie raeelyet) .
@rulineore
AqilaRsuc
ULcnetah
R otxPt;
@rn
Doe
Wbrvrdie;
eDie rvr
@et
Ts
pbi vi solNtoi( {
ulc od hudoLgn)
die.idlmn(yi(lgnomlgn).lc(;
rvrfnEeetB.d"oiFr:oi")cik)
..
.
}
}
23. ARQUILLIAN WARP
Using Warp, you can initiate an HTTP request
using a client-side testing tool such as
WebDriver and, in the same request cycle,
execute in-container server-side tests
25. ARQUILLIAN WARP - EXAMPLE PART I
@uWt(rulincas
RnihAqila.ls)
@apet
WrTs
@uACin
Rnslet
pbi casBscet{
ulc ls aiTs
@elyet
Dpomn
..
.
@rulineore
AqilaRsuc
ULcnetah
R otxPt;
@et
Ts
pbi vi sol..){
ulc od hud.(
Wr
ap
.ntaeAtvt)
iiit(ciiy
.bev(bevr
osreOsre)
.npc(npcin;
isetIseto)
}
}
26. ARQUILLIAN WARP - EXAMPLE PART II
@et
Ts
pbi vi solMkPoeRqet){
ulc od hudaerpreus(
Wr.ntaenwAtvt( {
apiiit(e ciiy)
@vrie
Oerd
pbi vi prom){
ulc od efr(
bosrnvgt(.ocnetah+"cr";
rwe.aiae)t(otxPt
/at)
}
}.ru(.bev(eus(.r(.nsih"cr")
)gop)osrerqet)ui)edWt(/at)
.npc(npcin;
isetiseto)
}
27. ARQUILLIAN WARP REST - EXAMPLEPART III - REST
Iseto iseto =nwIseto( {
npcin npcin
e npcin)
piaesai fnlln sraVrinI =1;
rvt ttc ia og eilesoUD
L
@rulineore
AqilaRsuc
piaeRsCnetrsCnet
rvt etotx etotx;
@feSrlt
Atreve
pbi vi tsGttcs){
ulc od eteSok(
asrTa(etotx.eHtRqet)gtehd).sqaT(tpehdGT;
sethtrsCnetgttpeus(.eMto()iEuloHtMto.E)
asrTa(etotx.eHtRsos(.eSauCd()iEuloRsos.t
sethtrsCnetgttpepne)gtttsoe).sqaT(epneSa
asrTa(etotx.eHtRsos(.eCnetye).sqaT(apiai
sethtrsCnetgttpepne)gtotnTp()iEulo"plcto
Ls ls =(it rsCnetgttpepne)gtniy)
it it
Ls) etotx.eHtRsos(.eEtt(;
asrTa(itsz()iEulo1;
sethtls.ie).sqaT()
}
}
28. ARQUILLIAN DROIDIUM
Includes container adapter
Device and emulator management
Can create AVD (Android Virtual Device)
Arquillian Droidium Web - Selenium integration
Arquillian Droidium Native - Selendroid integration
Can take screeshots
Early Alpha
29. ARQUILLIAN DROIDIUM - EXAMPLE
@uWt(rulincas
RnihAqila.ls)
@uACin
Rnslet
pbi casDoduWbetae{
ulc ls riimeTsCs
@elyet
Dpomn
@agtCnanr"bsa"
Tresotie(joss)
pbi sai Acie? gtelyet){
ulc ttc rhv<> eDpomn(
rtr SrnWa
eun hikrp
.raermiFl(eAciecas nwFl(so.a")
cetFoZpieWbrhv.ls, e ie"hpwr);
}
@et
Ts
@prtODpomn(joss)
Oeaenelyet"bsa"
pbi vi ts0(DoeAdodrvrdie,
ulc od et1@rn nriDie rvr
@rulineoreULdpomnUL {
AqilaRsuc R elyetR) L
die.e(elyetR.otig);
rvrgtdpomnULtSrn()
asrTu(rvrgtaeore)cnan(So")
setredie.ePgSuc(.otis"hp);
}
}
30. ARQUILLIAN DROIDIUM - EXAMPLE
@uWt(rulincas
RnihAqila.ls)
@uACin
Rnslet
pbi casDoduSlnriTsCs {
ulc ls riimeedodetae
@elyet
Dpomn
@ntuetbe
Isrmnal
pbi sai Acie? gtelyet){
ulc ttc rhv<> eDpomn(
rtr SrnWa
eun hikrp
.raermiFl(aarhv.ls,nwFl(so.p")
cetFoZpieJvAciecas e ie"hpak);
}
@et
Ts
pbi vi eape@rulineoreAdodeieadod
ulc od xml(AqilaRsuc nriDvc nri,
@rn Wbrvrdie){
Doe eDie rvr
adodgtciiyaaePoie(.eAtvtMngr)
nri.eAtvtMngrrvdr)gtciiyaae(
.trAtvt(cmso.oecenciiy)
satciiy"o.hpHmSreAtvt"
Wblmn bto =die
eEeet utn
rvr
.idlmn(yi(crBto")
fnEeetB.d"atutn);
.. }
.
}
31. ARQUILLIAN PERFORMANCE - EXAMPLE
@efracTs(eutTrsod2
Promneetrslshehl=)
/ cek i rslshehl *nwie<odie
/ hcs f eutTrsod
eTm
lTm
@uWt(rulincas
RnihAqila.ls)
pbi casRcmedtoBidnTs {
ulc ls eomnainuliget
@elyet
Dpomn
pbi sai JvAciecetDpomn( {
ulc ttc aarhv raeelyet)
rtr ..
eun .
}
@netRcmedtoSriercmedtoSrie
Ijc eomnainevc eomnainevc;
@et
Ts
@efrac(ie2)/ tmoti m
Promnetm=0 / ieu n s
pbi vi dHrWr( trw Ecpin{
ulc od oadok) hos xeto
..
.
}
}
32. OTHER EXTENSIONS
Extension Byteman
Google Guice Extension
GWT Testing extension
Extension Jacoco
Extension JRebel
screenRecorder
Spring Framework Extension
arquillian-ios-aggregator
arquillian-extension-qunit
Spock Arquillian Extension
ShrinkWrap DSL
33. TAKE AWAYS
ShrinkWrap - archives
ShrinkWrap Resolver - maven, gradle
ShrinkWrap Descriptors - fluent API code generation from
XSD
Arquillian Persistence Extension - DB
Arquillian Drone - WebDriver integration - UI
Arquillian Graphene - extended WebDriver - better UI
Arquillian Warp - client-side request, server-side test REST, Spring MVC...
Arquillian Droidium - Android Browser, Android UI
Arquillian Performance - timeouts, execution time
comparision