Better Front-end Development in Atlassian PluginsWojciech Seliga
Presentation showing these elements of plugin framework added in 2009 - 2011 which help us write easier much more sexier web 2.0 plugins. The talk then concentrates on Soy as the new templating mechanism which is getting very popular at Atlassian.
Better front-end development in Atlassian pluginsAtlassian
Traditionally the UI of Atlassian plugins have been based on a typical old-school MVC frameworks (webwork, Struts) with little dynamic behaviour. But no more! JIRA Team Lead Wociech Seliga will show you have to develop sexier and more user-friendly plugins based on a modern stack using AUI, Soy templates, Backbone.js and friends.
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.
Node.js Development with Apache NetBeansRyan Cuprak
This session covers the basics of developing Node.js applications with NetBeans. NetBeans includes fully integrated support for both JavaScript and Node.js. You’ll get a tour of the features and learn how NetBeans can accelerate your projects. The presentation looks at basic code editing capabilities provided by the IDE, tool integration (npm/Grunt/Bower/Webpack), frameworks such as Express, and debugging capabilities. You’ll see why NetBeans is the best free JavaScript/Node.js IDE.
Welcome to presentation on Spring boot which is really great and relatively a new project from Spring.io. Its aim is to simplify creating new spring framework based projects and unify their configurations by applying some conventions. This convention over configuration is already successfully applied in so called modern web based frameworks like Grails, Django, Play framework, Rails etc.
Play vs Grails Smackdown - Devoxx France 2013Matt Raible
The Play vs. Grails Smackdown. A comparison done by James Ward and Matt Raible. Includes detailed analysis from building the same webapp with these two popular JVM Web Frameworks.
See blog post about this presentation at http://raibledesigns.com/rd/entry/devoxx_france_a_great_conference.
A presentation that guides you through the stages of testing your Java enterprise application. Finally it shows you that Arquillian is the best tool for that
Better Front-end Development in Atlassian PluginsWojciech Seliga
Presentation showing these elements of plugin framework added in 2009 - 2011 which help us write easier much more sexier web 2.0 plugins. The talk then concentrates on Soy as the new templating mechanism which is getting very popular at Atlassian.
Better front-end development in Atlassian pluginsAtlassian
Traditionally the UI of Atlassian plugins have been based on a typical old-school MVC frameworks (webwork, Struts) with little dynamic behaviour. But no more! JIRA Team Lead Wociech Seliga will show you have to develop sexier and more user-friendly plugins based on a modern stack using AUI, Soy templates, Backbone.js and friends.
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.
Node.js Development with Apache NetBeansRyan Cuprak
This session covers the basics of developing Node.js applications with NetBeans. NetBeans includes fully integrated support for both JavaScript and Node.js. You’ll get a tour of the features and learn how NetBeans can accelerate your projects. The presentation looks at basic code editing capabilities provided by the IDE, tool integration (npm/Grunt/Bower/Webpack), frameworks such as Express, and debugging capabilities. You’ll see why NetBeans is the best free JavaScript/Node.js IDE.
Welcome to presentation on Spring boot which is really great and relatively a new project from Spring.io. Its aim is to simplify creating new spring framework based projects and unify their configurations by applying some conventions. This convention over configuration is already successfully applied in so called modern web based frameworks like Grails, Django, Play framework, Rails etc.
Play vs Grails Smackdown - Devoxx France 2013Matt Raible
The Play vs. Grails Smackdown. A comparison done by James Ward and Matt Raible. Includes detailed analysis from building the same webapp with these two popular JVM Web Frameworks.
See blog post about this presentation at http://raibledesigns.com/rd/entry/devoxx_france_a_great_conference.
A presentation that guides you through the stages of testing your Java enterprise application. Finally it shows you that Arquillian is the best tool for that
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.
J1 2015 "Debugging Java Apps in Containers: No Heavy Welding Gear Required"Daniel Bryant
It’s easy to get seduced by being able to quickly deploy and scale applications by using containers. However, when things inevitably go wrong, how do you debug your application? This session covers various pro bug hunting tips and tricks. It shows live demos of tools such as the Docker stats API, Docker exec (and top, vmstat, and netstat), and how to use the ELK stack for centralized logging. It also dives into other more sophisticated tools that operate at the application and (micro)service layer, such as Twitter’s Zipkin tracing app, Spring Boot’s Actuator, and DropWizard’s Metrics library. Keep those container-based nightmares away by ensuring that when the worst does happen, you have the tools, info, and experience to debug containerized applications.
Presented at JavaOne 2015 with Steve Poole
Typesafe trainer and consultant Will Sargent describes just how Play Framework is so "fast" for Java and Scala production apps.
More Play, Akka, Scala and Apache Spark webinars, presentations, and videos:
http://typesafe.com/resources/videos
Connecting to MySQL in Java via Connector/J. With High Availability feature in MySQL using Replication, Fabric or MySQL Cluster, There are different ways of usage in connector/J.
This presentation takes a pragmatic approach to comparing JavaFX and HTML5, using an application written in JavaFX versus the same functionality written in HTML5 to illustrate the pros and cons of each.
Play Framework workshop: full stack java web appAndrew Skiba
The slides of Play Framework workshop from the meetup on Google Campus Tel Aviv on January 2014. Includes 5 hands-on assignments mixed with 5 additional steps to create a full application for remotely controlling YouTube on another computer. Demonstrates usage of AngularJS, Twitter Bootstrap, WebSockets. Discusses forms-based and single page web applications.
CDI portable extensions are one of greatest features of Java EE allowing the platform to be extended in a clean and portable way. But allowing extension is just part of the story. CDI opens the door to a whole new eco-system for Java EE, but it’s not the role of the specification to create these extensions.
Apache DeltaSpike is the project that leads this brand new eco-system by providing useful extension modules for CDI applications as well as tools to ease the creation of new ones.
In this session, we’ll start by presenting the DeltaSpike toolbox and show how it helps you to develop for CDI. Then we’ll describe the major extensions included in DeltaSpike, including 'configuration', 'scheduling' and 'data'.
Apache Lucene is the de-facto standard open source library for Java developers to implement full-text-search capabilities.
While it’s thriving in its field, it is rarely mentioned in the scope of Java EE development.
In this talk we will see for which features many developers love Lucene, make some concrete examples of common problems it elegantly solves, and see some best practices about using it in a Java EE stack.
Finally we'll see how some popular OSS projects such as Hibernate ORM (JPA provider), WildFly (Java EE runtime) and Infinispan (in-memory datagrid, JCache implementor) actually provide great Lucene integration capabilities.
Login information and group memberships (identity) often are centrally managed in Enterprises. Many systems use this information to, for example, achieve Single Sign On (SSO) functionality. Surprisingly, access to the Weblogic Server Console and applications is often not centrally managed. I will explain why centralizing management of these identities, in addition to increased security, quickly starts reducing operational cost and even increases developer productivity. During a demonstration, I will introduce several methods for debugging authentication using an external authentication provider in order to lower the bar to apply this pattern. This technically oriented presentation is especially useful for people working in operations managing Weblogic Servers.
Java EE 8 Presentation given at NYC Java SIG on May 4, 2017. This presentation provides the latest information on the forthcoming release of Java EE 8 in June.
Faster java ee builds with gradle [con4921]Ryan Cuprak
JavaOne 2016
It is time to move your Java EE builds over to Gradle! Gradle continues to gain momentum across the industry. In fact, Google is now pushing Gradle for Android development. Gradle draws on lessons learned from both Ant and Maven and is the next evolutionary step in Java build tools. This session covers the basics of switching existing Java EE projects (that use Maven) over to Gradle and the benefits you will reap, such as incremental compiling, custom distributions, and task parallelization. You’ll see demos of all the goodies you’ve come to expect, such as integration testing and leveraging of Docker. Switching is easier than you think, and no refactoring is required.
JavaFX 2 and Scala - Like Milk and Cookies (33rd Degrees)Stephen Chin
JavaFX 2.0 is the next version of a revolutionary rich client platform for developing immersive desktop applications. One of the new features in JavaFX 2.0 is a set of pure Java APIs that can be used from any JVM language, opening up tremendous possibilities. This presentation demonstrates the benefits of using JavaFX 2.0 together with the Scala programming language to provide a type-safe declarative syntax with support for lazy bindings and collections. Advanced language features, such as DelayedInit and @specialized will be discussed, as will ways of forcing prioritization of implicit conversions for n-level cases. Those who survive the pure technical geekiness of this talk will be rewarded with plenty of JavaFX UI eye candy.
The feature we always hear about whenever Java 9 is in the news is Jigsaw, modularity. But this doesn't scratch the same developer itch that Java 8's lambdas and streams did, and we're left with a vague sensation that the next version might not be that interesting.
Java 9 actually has a lot of great additions and changes to make development a bit nicer. These features can't be lumped under an umbrella term like Java 8's lambdas and streams, the changes are scattered throughout the APIs and language features that we regularly use.
In this presentation Trisha will show, via live coding:
How we can use the new Flow API to utilise Reactive Programming
How the improvements to the Streams API make it easier to control real-time streaming data
How to the Collections convenience methods simplify code
Along the way we'll bump into other Java 9 features, including some of the additions to interfaces and changes to deprecation. We’ll see that once you start using Java 9, you can't go back to Before.
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]Wojciech Seliga
Slajdy z mojej prezentacji (30min) podczas gdańskiego infoShare (konferencja w języku polskim).
Jeśli chcesz wiedzieć jak skutecznie wdrożyć przeglądy kodu (code review), które rzeczywiście coś pozytywnego wnoszą do zespołu (zamiast frustracji) oraz jakich niebezpieczeńst unikać - ta prezentacja może Ci się przydać.
W dużmy stopniu prezentacja pokrywa się z moim wcześniejszymi wystąpieniami na Agile 2009 w Chicago oraz JDD 2009, choć jest trochę nowych materiałów i przemyśleń. Ta prezentacja jest w odróżnieniu od poprzednich w języku polskim.
Escaping Automated Test Hell - One Year LaterWojciech Seliga
Slides from my talk at 33rd Degree 2013 Conference in Warsaw.
More than year ago we faced the fact that we are hitting the wall with our large scale automated testing in Atlassian JIRA. We analysed the problems and possible solutions and shared them with community at 33rd Degree in 2012. Since then we've implemented a lot of our ideas and come up with new, learnt new quite unexpected things and got rid of Selenium 1 completely.
This session shows the learnings from our journey – escaping from Test Hell – back to the normality.
If you are interested to hear what problems you can (and probably will) face if you have thousands of automated tests on on levels of abstractions (functional, integration, unit, UI, performance) and what solutions can be applied to remedy them – this presentation is for you.
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.
J1 2015 "Debugging Java Apps in Containers: No Heavy Welding Gear Required"Daniel Bryant
It’s easy to get seduced by being able to quickly deploy and scale applications by using containers. However, when things inevitably go wrong, how do you debug your application? This session covers various pro bug hunting tips and tricks. It shows live demos of tools such as the Docker stats API, Docker exec (and top, vmstat, and netstat), and how to use the ELK stack for centralized logging. It also dives into other more sophisticated tools that operate at the application and (micro)service layer, such as Twitter’s Zipkin tracing app, Spring Boot’s Actuator, and DropWizard’s Metrics library. Keep those container-based nightmares away by ensuring that when the worst does happen, you have the tools, info, and experience to debug containerized applications.
Presented at JavaOne 2015 with Steve Poole
Typesafe trainer and consultant Will Sargent describes just how Play Framework is so "fast" for Java and Scala production apps.
More Play, Akka, Scala and Apache Spark webinars, presentations, and videos:
http://typesafe.com/resources/videos
Connecting to MySQL in Java via Connector/J. With High Availability feature in MySQL using Replication, Fabric or MySQL Cluster, There are different ways of usage in connector/J.
This presentation takes a pragmatic approach to comparing JavaFX and HTML5, using an application written in JavaFX versus the same functionality written in HTML5 to illustrate the pros and cons of each.
Play Framework workshop: full stack java web appAndrew Skiba
The slides of Play Framework workshop from the meetup on Google Campus Tel Aviv on January 2014. Includes 5 hands-on assignments mixed with 5 additional steps to create a full application for remotely controlling YouTube on another computer. Demonstrates usage of AngularJS, Twitter Bootstrap, WebSockets. Discusses forms-based and single page web applications.
CDI portable extensions are one of greatest features of Java EE allowing the platform to be extended in a clean and portable way. But allowing extension is just part of the story. CDI opens the door to a whole new eco-system for Java EE, but it’s not the role of the specification to create these extensions.
Apache DeltaSpike is the project that leads this brand new eco-system by providing useful extension modules for CDI applications as well as tools to ease the creation of new ones.
In this session, we’ll start by presenting the DeltaSpike toolbox and show how it helps you to develop for CDI. Then we’ll describe the major extensions included in DeltaSpike, including 'configuration', 'scheduling' and 'data'.
Apache Lucene is the de-facto standard open source library for Java developers to implement full-text-search capabilities.
While it’s thriving in its field, it is rarely mentioned in the scope of Java EE development.
In this talk we will see for which features many developers love Lucene, make some concrete examples of common problems it elegantly solves, and see some best practices about using it in a Java EE stack.
Finally we'll see how some popular OSS projects such as Hibernate ORM (JPA provider), WildFly (Java EE runtime) and Infinispan (in-memory datagrid, JCache implementor) actually provide great Lucene integration capabilities.
Login information and group memberships (identity) often are centrally managed in Enterprises. Many systems use this information to, for example, achieve Single Sign On (SSO) functionality. Surprisingly, access to the Weblogic Server Console and applications is often not centrally managed. I will explain why centralizing management of these identities, in addition to increased security, quickly starts reducing operational cost and even increases developer productivity. During a demonstration, I will introduce several methods for debugging authentication using an external authentication provider in order to lower the bar to apply this pattern. This technically oriented presentation is especially useful for people working in operations managing Weblogic Servers.
Java EE 8 Presentation given at NYC Java SIG on May 4, 2017. This presentation provides the latest information on the forthcoming release of Java EE 8 in June.
Faster java ee builds with gradle [con4921]Ryan Cuprak
JavaOne 2016
It is time to move your Java EE builds over to Gradle! Gradle continues to gain momentum across the industry. In fact, Google is now pushing Gradle for Android development. Gradle draws on lessons learned from both Ant and Maven and is the next evolutionary step in Java build tools. This session covers the basics of switching existing Java EE projects (that use Maven) over to Gradle and the benefits you will reap, such as incremental compiling, custom distributions, and task parallelization. You’ll see demos of all the goodies you’ve come to expect, such as integration testing and leveraging of Docker. Switching is easier than you think, and no refactoring is required.
JavaFX 2 and Scala - Like Milk and Cookies (33rd Degrees)Stephen Chin
JavaFX 2.0 is the next version of a revolutionary rich client platform for developing immersive desktop applications. One of the new features in JavaFX 2.0 is a set of pure Java APIs that can be used from any JVM language, opening up tremendous possibilities. This presentation demonstrates the benefits of using JavaFX 2.0 together with the Scala programming language to provide a type-safe declarative syntax with support for lazy bindings and collections. Advanced language features, such as DelayedInit and @specialized will be discussed, as will ways of forcing prioritization of implicit conversions for n-level cases. Those who survive the pure technical geekiness of this talk will be rewarded with plenty of JavaFX UI eye candy.
The feature we always hear about whenever Java 9 is in the news is Jigsaw, modularity. But this doesn't scratch the same developer itch that Java 8's lambdas and streams did, and we're left with a vague sensation that the next version might not be that interesting.
Java 9 actually has a lot of great additions and changes to make development a bit nicer. These features can't be lumped under an umbrella term like Java 8's lambdas and streams, the changes are scattered throughout the APIs and language features that we regularly use.
In this presentation Trisha will show, via live coding:
How we can use the new Flow API to utilise Reactive Programming
How the improvements to the Streams API make it easier to control real-time streaming data
How to the Collections convenience methods simplify code
Along the way we'll bump into other Java 9 features, including some of the additions to interfaces and changes to deprecation. We’ll see that once you start using Java 9, you can't go back to Before.
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]Wojciech Seliga
Slajdy z mojej prezentacji (30min) podczas gdańskiego infoShare (konferencja w języku polskim).
Jeśli chcesz wiedzieć jak skutecznie wdrożyć przeglądy kodu (code review), które rzeczywiście coś pozytywnego wnoszą do zespołu (zamiast frustracji) oraz jakich niebezpieczeńst unikać - ta prezentacja może Ci się przydać.
W dużmy stopniu prezentacja pokrywa się z moim wcześniejszymi wystąpieniami na Agile 2009 w Chicago oraz JDD 2009, choć jest trochę nowych materiałów i przemyśleń. Ta prezentacja jest w odróżnieniu od poprzednich w języku polskim.
Escaping Automated Test Hell - One Year LaterWojciech Seliga
Slides from my talk at 33rd Degree 2013 Conference in Warsaw.
More than year ago we faced the fact that we are hitting the wall with our large scale automated testing in Atlassian JIRA. We analysed the problems and possible solutions and shared them with community at 33rd Degree in 2012. Since then we've implemented a lot of our ideas and come up with new, learnt new quite unexpected things and got rid of Selenium 1 completely.
This session shows the learnings from our journey – escaping from Test Hell – back to the normality.
If you are interested to hear what problems you can (and probably will) face if you have thousands of automated tests on on levels of abstractions (functional, integration, unit, UI, performance) and what solutions can be applied to remedy them – this presentation is for you.
Developer plantations - colonialism of XXI century (GeeCON 2017)Wojciech Seliga
Slides from my presentation delivered at GeeCON 2017.
Have you ever wondered why great multi-billion dollar software products changing our lives are built in the US, Western Europe or Australia and not in Poland, Ukraine or Bulgaria? Uber, Facebook, Spotify, Tesla (sic!), JIRA - all of them built by software geeks. Are Polish (or other CEE) IT specialists less intelligent or worse than their colleagues from the West? Or maybe it’s about the huge capital those countries have and we don’t. Or maybe the problem is in our approach to IT and our mindset? Regardless of the true reasons, as the effect, tens and hundreds of thousands of relatively low-cost and controllable people in Poland and other CEE countries work on conserving and maintaining software systems envisioned and usually designed elsewhere. Together with other emerging countries, we have become a development plantation for the most modern countries. I’d like to analyse some reasons of this situation and present what mindset change must happen so that Poland and other CEE countries are not anymore colonies providing human resources, but instead have a creational impact on the advancement of the civilisation and modern economy.
Short history of Spartez and information whom we want to hire and why.
Extra bonus: my aspirational thinking about how juniors differ to senior and principal developers.
This slidedeck was presented by me during Spartez Open Day on March 13th 2015.
My talk delivered on 10th of April 2014 in Bristol at ACCU Conference.
This is the combination of a few talks I delivered over 2012 and 2013 with some latest updates.
This is an experience report based on the work of many developers from Atlassian and Spartez working for years on Atlassian JIRA.
If you have (or going to have) thousands of automated tests and you are interested how it may impact you, this presentation is for you.
Ten lessons I painfully learnt while moving from software developer to entrep...Wojciech Seliga
My presentation from Devoxx Poland 2016 conference - the newest, slightly revised version.
For many years I was a software developer. I would concentrate on the code, software projects and the interactions with my closes team and the users. I was sure that Agile solves all world’s problems. I would laugh over Scott Adam’s Dilbert comics with his Point Hair Boss. Life was simple, life was good. Now for 8+ years I have been running a software company, not a small one anymore. I became myself a full-time boss who only codes sometimes at home or during hackathons.
This session is about sharing with you those critical lessons which I painfully learnt when trying to grow into this new role - transitioning from being a software engineer into being an entrepreneur and top manager. Wheres not all of the lessons may or will (if you dream about your own startup) apply to your case, being aware of them may save you tons of time, energy, money or even help you to avoid the total disaster - burying your own company or dreams. And after all, sharing war stories from the past is fun … when these stories are the past.
10 bezcennych lekcji dla software developera stającego się szefem firmyWojciech Seliga
[Originally Polish lecture with English slides - with a few exceptions]
Przez wiele lat byłem software developerem. Koncentrowałem się na kodzie, projektach software'owych oraz interakcjach w moim zespole i z klientami. Byłem pewny, że Agile rozwiązuje wszystkie problemy tego świata. Śmiałem się z komiksów Scotta Adamsa i stworzonej przez niego karykatury szefa (PHB). Życie było proste i piękne...
Teraz od ponad 8 lat prowadzę firmę software'ową, którą przy blisko 90 osobach trudno już nazwać maleństwem. Sam stałem się "szefem" na pełen etat.
Podczas prezentacji podzielę się z Wami różnymi doświadczeniami oraz naukami (nieraz bolesnymi) jakie wyniosłem w ostatnich latach podczas mojej stopniowej przemiany z developera/inżyniera w przedsiębiorcę i szefa firmy. O ile zapewne nie wszystkie sytuacje i wnioski mają lub mogą mieć (o ile marzysz o własnym startupie czy zespole) zastosowanie w Twoim życiu, same sobie ich uświadomienie może oszczędzić Ci w przyszłości straty mnóstwa czasu, energii i pieniędzy oraz uniknąć przykrych rozczarowań.
Software Developer Career Unplugged - GeeCon 2013Wojciech Seliga
This is my quite subjective take on various less technical aspects of a software developer career. I delivered this presentation and GeeCon 2013 (video hopefully coming soon) and quite compressed/abridged version at InfoSHARE.
Slajdy z mojej prezentacji z 22 maja 2014 na konferencji InfoSHARE w Gdańsku.
Liczę, że video z nagraniem mojej prezentacji będzie wkrótce dostępne - wtedy slajdy na pewno będą bardziej przydatne.
Uwaga: język polski.
(English slides - except for the title page)
Slides from my presentation delivered in Kraków at SFI 2017 conference.
My attempt to analyse why Software Development in Central Europe (including Poland) concentrates on outsourcing services, what it means in practice and what we can so as the profession of software engineers to become the partners for "the business" similarly to how IT industry evolves in the US or some other most advanced western economies.
Enter Product Engineering!
Ten lessons I painfully learnt while moving from software developer to entrep...Wojciech Seliga
My presentation from InfoShare 2016 conference.
For many years I was a software developer. I would concentrate on the code, software projects and the interactions with my closes team and the users. I was sure that Agile solves all world’s problems. I would laugh over Scott Adam’s Dilbert comics with his Point Hair Boss. Life was simple, life was good. Now for 8+ years I have been running a software company, not a small one anymore. I became myself a full-time boss who only codes sometimes at home or during hackathons.
This session is about sharing with you those critical lessons which I painfully learnt when trying to grow into this new role - transitioning from being a software engineer into being an entrepreneur and top manager. Wheres not all of the lessons may or will (if you dream about your own startup) apply to your case, being aware of them may save you tons of time, energy, money or even help you to avoid the total disaster - burying your own company or dreams. And after all, sharing war stories from the past is fun … when these stories are the past.
Software Development Innovation in Practice - 33rd Degree 2014Wojciech Seliga
Slides from my presentation at 33rd Degree conference.
Many companies from software industry deal with the problem of maintaining its innovative character over the course of time, especially after achieving bigger size and the maturity. Innovation is difficult (or impossible) to measure and calculate its ROI. However losing innovation means sooner or later the end of the business.
So some of the big bosses of big corporations even cry - “Innovation happens elsewhere” - or simply conclude that maintaining innovation is only possible via ongoing acquisitions of smaller, still innovative companies. We witness it very frequently.
Wojtek will share his insights about which values, rules and practices one can foster or apply in a software company (of any size) to let its employees implement their most ambitious and crazy dreams which is the key to the innovation.
How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)Wojciech Seliga
Mój keynote z konferencji w Warszawie - Confitura 2012
Znajomość którego języka jest najważniejsza? Co każdy Java developer powinien wiedzieć o Javie i JVM a jakoś dziwnie często nie wie? Co jest Javowym abecadłem i dlaczego jest tak dużo javowych analfabetów? Dlaczego tropimy astronautów? Jaka jest różnica pomiędzy junior a senior developerem? Jakie cechy charakteru i doświadczenia developerów są najcenniejsze dla pracodawcy? Dlaczego boimy się rozmawiać o pieniądzach i jakie są inne trudne pytania kandydatów? Dlaczego wreszcie pracodawcy często niepoważnie traktują zatrudnianie? Na te pytania Wojtek przedstawi swój, mocno subiektywny, punkt widzenia.
5-10-15 years of Java developer career - Warszawa JUG 2015Wojciech Seliga
English slides from my talk (delivered in Polish) on 1st of December 2015 at Warsaw Java User Group.
This is slightly changed and extended version of the talk I delivered at Devoxx Poland 2015
This talk (delivered at QConLondon 2016) covers the evolution of Coursera's nearline architecture, delves into our latest generation system, and then covers the flagship application of the architecture (evaluating programming assignments).
Oplægget blev holdt ved et seminar i InfinIT-interessegruppen højniveau sprog til indlejrede systemer den 10. februar 2010.
Læs mere om interessegruppen på http://www.infinit.dk/dk/interessegrupper/hoejniveau_sprog_til_indlejrede_systemer/
Micronaut Deep Dive - Devoxx Belgium 2019graemerocher
3 hour deep dive presentation by Micronaut creator, Graeme Rocher, at Devoxx Belgium 2019 showing how to use advanced features such as Aspect Oriented Programming (AOP), compiler plugins and so on. Associated YouTube video can be found at https://www.youtube.com/watch?v=S5yfTfPeue8
Level Up Your Integration Testing With TestcontainersVMware Tanzu
Traditional approaches to integration testing—using shared, local, or in-memory databases—fall short for today's modern developer.
Developers today are building cloud native distributed microservices and taking advantage of a rich variety of backing services. This explosion of applications and backing services introduces new challenges in creating the necessary environments for integration testing. To be useful and effective, these environments must be easy to create and they must resemble production as closely as possible. New solutions are needed to make this need a reality.
Enter Testcontainers!
Testcontainers is a Java library that supports JUnit tests and makes it incredibly easy to create lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
In this talk, you will learn when and how to use Testcontainers. We will cover the fundamentals and walk through a step-by-step example using a Spring Boot application that we build from scratch. As a bonus, we'll highlight some new features in Spring Boot 3.0 along the way!
Presented at Bucharest Java User Group, http://www.bjug.ro/editii/5.html . Project source code available at: https://github.com/bucharest-jug/dropwizard-todo
Quality assurance and testing are very important in a life cycle of any application. Although, by far not all developers understand the significance of tests.
In this presentation, we cover the basic testing practices for developers. The following tools are discussed: JUnit, Mockito, Hamcrest, JsTestDriver, DBUnit, Arquillian, SoapUI, Selenium.
Similar to AtlasCamp 2012 - Testing JIRA plugins smarter with TestKit (20)
Jak być zarąbistym developerem w oczach szefa i ... klientaWojciech Seliga
(Polish language / język polski)
Slajdy z mojej prezentacji z konferencji Confitura 2018 w Warszawie.
Pamiętacie może wystąpenia z Confitury sprzed paru lat - "How to be awesome at a Java developer job interview" czy "Java Developer Career Unplugged", które budziły spore emocje i które po latach nadal są komentowane. Lata lecą nieubłaganie. Z developera stałem się w międzyczasie szefem 150-osobowej firmy. Nabrałem nowych doświadczeń, nowego spojrzenia, muszę polegać jeszcze bardziej na ludziach niż kiedyś. I coraz bardziej polegam nie tylko na ich umiejętnościach programistycznych, ale na czymś znacznie istotniejszym. Jeśli chcecie zmierzyć się ze szczerą opinią dotyczącą tego jakie cechy charakteru, umiejętności, zachowania software developerów pozwalają według osób zarządzających przetrwać i rozwijać się ich firmom na wyjątkowo konkurencyjnym rynku globalnym IT w XXI wieku, to jest to prezentacja dla Was. "People are our biggest assets". W praktyce różni ludzie przedstawiają różną wartość dla firm. Pewnie zależy Wam na jej maksymalizacji. Nam - też :)
How to impress your boss and your customer in a modern software development c...Wojciech Seliga
Slides from the talk I delivered at Devoxx Poland 2018.
Software is eating the world. Software is eating software developers’ world. Agile everywhere, constantly changing requirements, technologies, market demands, jobs, positions, structures, managers. The flood of data. Big data. It’s easy to sink. The word is shattering us. I confess: I used to be a software developer who often totally misunderstood the management, the business or the customers. For last several years, I’ve been on the other side - I represent the management, the business, and the customer. And I've started seeing and understanding what skills, behaviours and what mindset is the most valuable in a software developer from the perspective of the other side. And what drives them nuts. The thing is that this “other side” assesses your value and decides on your salary. I reckon you would like to maximise them. Here is how. Before I forget how to talk to developers (as one of them).
My presentation from Devoxx Poland 2015.
There is no doubt about it - we live in the times very comfortable for IT engineers. Most of all software developers. Especially Java developers. Job market is hot. Software developers have countless options - thousands of companies from Poland and abroad fight for employees in Poland. And they offer very reasonable money - especially when compared to other professions. It’s very natural and tempting to let employers adore yourself and rest on laurels. One can already see a lot o victims of this situation. Very friendly job market is de facto our biggest enemy. How do 5, 10 or 15 or more years of the experience in our industry change the perception of Java platform and most of all the perception of ourselves - our position and value as professional Java developers? What are the real caveats of our profession and our beloved platform? What is really important for us - devs? Does the knowledge of Java turns us into professional immortals? Wojtek tries to answer such questions or trigger the audience to rethink their approach to it. In a quite opinionated manner he will debunk some myths of Java developer ethos - basing on many observations and meetings with people from our industry.
My updated slides about the journey to hell and back to normality wrt automated tests at scale. Based on real 10+ years experience of JIRA development teams.
I delivered this talk at XPDays in Kiev in October 2013.
Confitura 2013 Software Developer Career UnpluggedWojciech Seliga
My take of our challenging life of a software developer, typical misconceptions, myths and also great things, those which are important. I shared it (in Polish) in Warsaw at Confitura 2013.
Bringing Effectiveness and Sanity to Highly Distributed Agile TeamsWojciech Seliga
Virtual teams get a bad press - especially in agile world. Anyone who has ever worked in geo-distributed teams know how difficult and ineffective such teams usually are. However due to various good reasons most of the global companies still distribute their teams across geographies. And some of them do it with very good results...
Wojciech has been working in geographically distributed teams and/or for remote customers in Germany, Switzerland, Singapore, Israel, United States, Australia and Canada for 12 years. Some of these teams were far from perfect, whereas the others were very effective and really successful. Despite changing tools or technologies and evolving agile practices, the most important factor in an agile geo-distributed team has remained the same for years - the human.
This presentation covers these values, principles and practices which have proven to be the most important in creating highly productive agile software development culture in geographically distributed environment - including such extreme situations were team members live on the opposite side of the globe (like Australia, Europe and the North America). It also describes how proper tooling not only enables effective remote collaboration, but also provides several advantages over collocated teams.
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
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
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
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.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
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
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.
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
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.
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
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
2. ORIGINAL PROBLEMS
•a lot of functional tests - their execution is really time
consuming (JIRA CI env uses 60+ remote agents and builds
still may take hours)
• opaque test fixtures - tons of XML dumps difficult to maintain
• most
of time spent by JWebUnit/HtmlUnit/Selenium/
WebDriver in UI not under test
• JUnit 3.x is 12 years old...
3. PROBLEM AMPLIFICATION
• With WebDriver and PageObjects writing functional tests got
too easy (at least superficially) and the number of them
exploded
• JIRA
is now developed by multiple teams and consists of
bundled plugins built and tested separately, but ... jira-func-tests
were not easily reusable easily outside JIRA core src tree -
especially against various JIRA versions.
4. THE SOLUTION: REST-DRIVEN
TEST FIXTURES AND ASSERTIONS
• order of magnitude faster than driven by UI
• less fragile (races, changes in UI)
• clear
and readable test fixture set-ups (no more opaque XML
dumps)
• stricter, more powerful and less fragile assertions
5. JIRA REST API
• Awesome (as of JIRA 5.0), but ... still limited
• Almost non-existent for administrative operations
• Use whenever you can
• JRJC(JIRA REST Java Client) makes using REST API from Java
very easy
6. BACKDOOR
• Unofficial dev-only JIRA REST API providing missing
functionalities
• Originally part of JIRA source tree (unavailable for mortals)
• Veryeasy to extend and consume: very lightweight lifecycle, no
need to care too much about long-term commitments,
security, ideal shape of representations, HTTP return codes, etc.
• Comes with *Control classes, which allow to easily do remote
calls from Java
7. JIRA TESTKIT
• Backdoor for the Ecosystem
• Consists of two parts:
• JIRA Plugin deployed only during tests and exposing additional
REST resources
• Java client library talking remotely to JIRA and using these
additional REST resources
• We hope promote most useful resources from Backdoor to the
official JIRA REST API
8. HOW TO - SETUP
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-jira-plugin</artifactId>
<configuration>
<pluginArtifacts>
<pluginArtifact>
<groupId>com.atlassian.jira.tests</groupId>
<artifactId>jira-testkit-plugin</artifactId>
<version>${testkit.version}</version>
</pluginArtifact>
</pluginArtifacts>
</configuration>
<plugin>
10. HOWTO - USING IN TEST
public class MyPluginTest extends FuncTestCase {
@Override
protected void setUpTest() {
super.setUpTest();
Backdoor testKit = new Backdoor(
new TestKitLocalEnvironmentData());
testKit.restoreBlankInstance(
TimeBombLicence.LICENCE_FOR_TESTING);
testKit.usersAndGroups().addUser("test-user");
testKit.websudo().disable();
testKit.subtask().enable();
// ...
}
// ...
}
11. public class TestBugzillaImporter extends TestBase {
private JiraRestClient restClient;
@Before
public void setUpTest() {
backdoor().restoreBlankInstance();
backdoor().attachments().enable();
backdoor().timeTracking().enable("8", "5", TimeTracking.Format.PRETTY,
TimeTracking.Unit.HOUR, TimeTracking.Mode.MODERN);
restClient = ITUtils.createRestClient(jira().environmentData());
}
@Test
public void someTest() {
// execute your test using Page Objects / WebDriver
// ...
// maybe you need some special license
assertTrue(backdoor().license().switchToPersonalLicense());
// ...
// maybe it should create a user and put it into an appropriate group
assertTrue(backdoor().usersAndGroups().userExists("mytestuser"));
assertTrue(backdoor().usersAndGroups().isUserInGroup("mytestuser", "jira-users"));
// maybe it creates a JIRA issue
final Issue issue = restClient.getIssueClient().getIssue("TES-19",
new NullProgressMonitor());
assertEquals("expectedreporter", issue.getReporter().getName());
assertEquals("expectedassignee", issue.getAssignee().getName());
}
}
12. HOW CAN I USE IT
• It's hot and bleeding edge, still changing shape (right as I am speaking)
• https://developer.atlassian.com/display/JIRADEV/Plugin+Tutorial+-+Smarter
+integration+testing+with+TestKit
• https://bitbucket.org/atlassian/jira-testkit/ (planning to open-source it)
• https://bitbucket.org/atlassian/jira-testkit-example
• https://marketplace.atlassian.com/plugins/com.atlassian.jira.tests.jira-testkit-
plugin
• JIRA Importers Plugin source code (bundled with JIRA src distro)