A story of a Ruby programmer having to understand that learning Erlang is more than just syntax. Learn differences in paradigms, pitfalls and applied use cases for this incredibly powerful language
You are not alone - Scaling multiplayer gamesWooga
At Wooga we are creating the next generation of social games. To be truly social, a game needs to offer real interaction between players in different forms.
Taking one of our upcoming games as an example we will present the state synchronization used in client and server, how we do real time communication without websockets and how we are making a backend scalable enough to support millions of users every day. We will also share secrets about our prototypes for first person and real time strategy games.
The Erlang process model with evented IO, asynchronous messaging, links and isolation fits very well to real time multiplayer games. Come to our talk to see how it's used to build a very successful business.
The talk is about a stateful application server built on top of JRuby/JVM. We at Wooga have built and evaluated such an application server, and now I want to share the learnings and obstacles that came up during development.
Scaling up: We aim to fully utilize our available hardware. One box has 32 Cores and more than 32GB RAM available. How to saturate such beasts? Well, since JRuby supports real Threads we can share state (uh oh!) and saturate cores.
Scaling out: What are the options for scaling a stateful application server? How to shard state across many servers safely?
I aim for a talk that gives useful tips and shows code. Basically a ratio between 30% background information, 70% showcasing.
The talk will cover the following topics:
Safely sharing state in a concurrent environment using JRuby
Using Java concurrency utils in JRuby
Practical tips for tuning JRuby/JVM for maximum throughput
Practical tips for evaluating performance tunings
Bonus: Timetraveling
This talk explains how we use NoSQL databases at wooga to scale our backend services to deal with the data of millions of players every day. Learn from our experience running Basho's Riak in production and how to use Amazon S3 as a database.
A story of a Ruby programmer having to understand that learning Erlang is more than just syntax. Learn differences in paradigms, pitfalls and applied use cases for this incredibly powerful language
You are not alone - Scaling multiplayer gamesWooga
At Wooga we are creating the next generation of social games. To be truly social, a game needs to offer real interaction between players in different forms.
Taking one of our upcoming games as an example we will present the state synchronization used in client and server, how we do real time communication without websockets and how we are making a backend scalable enough to support millions of users every day. We will also share secrets about our prototypes for first person and real time strategy games.
The Erlang process model with evented IO, asynchronous messaging, links and isolation fits very well to real time multiplayer games. Come to our talk to see how it's used to build a very successful business.
The talk is about a stateful application server built on top of JRuby/JVM. We at Wooga have built and evaluated such an application server, and now I want to share the learnings and obstacles that came up during development.
Scaling up: We aim to fully utilize our available hardware. One box has 32 Cores and more than 32GB RAM available. How to saturate such beasts? Well, since JRuby supports real Threads we can share state (uh oh!) and saturate cores.
Scaling out: What are the options for scaling a stateful application server? How to shard state across many servers safely?
I aim for a talk that gives useful tips and shows code. Basically a ratio between 30% background information, 70% showcasing.
The talk will cover the following topics:
Safely sharing state in a concurrent environment using JRuby
Using Java concurrency utils in JRuby
Practical tips for tuning JRuby/JVM for maximum throughput
Practical tips for evaluating performance tunings
Bonus: Timetraveling
This talk explains how we use NoSQL databases at wooga to scale our backend services to deal with the data of millions of players every day. Learn from our experience running Basho's Riak in production and how to use Amazon S3 as a database.
There are lots of talks about the process of prototyping, but no hints on how to evaluate them to make the decisions. In this talk Antti Hattara, Head of Studio at Wooga, will tell how to evaluate prototypes and recognize the ones with great potential from the rest Antti will talk about the mobile developer’s creative and agile approach to finding those needles in a haystack and how good projects are put to rest and great ones given that all-important green light.
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014Wooga
Three people, three talks: First, Anne explains how Wooga makes it in the hit driven mobile F2P world and frequently creates hit games. Then, Ann and Julia share their insights into the company from an intern’s perspective. Julia is currently working with a team in the prototyping phase using C#. Ann develops Objective-C for one of Wooga's live games. Both of them are students of Chalmers University of Technology, Gothenburg. Anne is in charge of University Relations at Wooga.
Tags: Equality, production, programming, career.
From Keyboards to Fingertips - Rethink Game Design_QuoVadis 2013Wooga
One thing has become clear in the computer industry over the past four decades: UI, not technology, governs large leaps in adoption. In the first age of personal computing, keyboard-centric character-based UI's limited access to only those sufficiently motivated (and antisocial) to suffer such dramatic abstraction of the world we live in. In the 2nd age, GUI's and a "Mouse" opened the usage of personal computers to a much broader audience and enabled a first change in game genres. Today, we are poised on the brink of the 3rd age. With touchscreen devices, the mouse has been replaced by our fingertips and games can be played by everyone, anytime, anywhere. Join Jens Begemann, CEO and Founder of Wooga, as he beholds this new age in game genres and proposes why this new UI standard is a revolutionary, not evolutionary, influence on our industry.
At wooga we build backends for games that have millions of daily users.
In the gaming business we have a write heavy environment, with a high frequency of requests, traffic bursts and distribution across many nodes. These are all problems we need to solve and keep in mind in order to write a system that stands the chance of supporting the required load.
How do you meet the challenge of writing a brand new system with performance in mind? Where should the line between necessary efficiency and premature optimization be drawn? How do you measure performances? How do we generate synthetic load that reflects real usage patterns? How do you know you have enough capacity? How do you combine all the above with safely introducing changes and new features working in a two people team?
We had to answer to all the above questions and we want to share the solutions we found and the problems that we consider still open.
Learn how we use NoSQL and SQL databases to build games at Wooga. From prototypes to production systems that deal with the data of millions of players, this talk covers hands on use cases and learnings.
At wooga the separate game teams operate their own games. That means that two developers not only develop the backend for a social game but they also the administrator's part.
This presentation gives an insight on how this is done, what tools are used and how the most important challenges were solved.
After more than one year of development, Wooga is heading for the global launch of its game "Kingsbridge"!
This is the first game at Wooga with a backend written in JRuby!
The talk includes an introduction to the problems that were solved by choosing a stateful applicaton server.
I will explain constraints, benefits and obvious differences to traditional database backed application servers.
Safely sharing state in a concurrent environment using JRuby
Using Java concurrency utils in JRuby
Sample problems solved, backed up with code
Practical tips for capacity planning
This talk wants to sum up the experience of designing, deploying and maintaining an Erlang application targeting the cloud and precisely AWS as hosting infrastructure.
As the application now serves a significantly large user base with a sustained throughput of thousands of games actions per second we're able to analyse retrospectively our engineering and architectural choices and see how Erlang fits in the cloud environment also comparing it to previous experiences of clouds deployments of other platforms.
We'll discuss properties of Erlang as a language and OTP as a framework and how we used them to design a system that is a good cloud citizen. We'll also discuss topics that are still open for a solution.
Story of Warlords: Bringing a turn-based strategy game to mobile Wooga
About three years ago we set out on a mission: We wanted to bring a round-based strategy game, a genre that most gamers so far mainly enjoyed on PCs, to mobile. Today that mission is nearly completed with Warlords having been soft launched in various countries and showing very promising data. This may all sound easy enough, but the truth is that it was a hell of a ride for the team and there were times when we weren´t even sure if the project would continue. Along the way, we´ve learned many valuable things which we believe in the end made the difference and led to the numbers we now see. Wilhelm, Head of Studio and Product Lead for Warlords, will share these learnings in his talk answering the following questions: What set screws did we touch to make the session structure, pacing and content consumption work on mobile? Why different meta game systems are crucial? And finally how sticking to your game vision from start to end can make you survive such a ride.
In it for the long haul - How Wooga boosts long-term retentionWooga
GDC San Francisco 2015 Presentation by Sebastian Nussbaum and Adam Telfer
Today's mobile games market is tough. With thousands of new titles being available to download every week and CPIs rising high, new game concepts need to stand out. But even more importantly, they need to stay relevant for a long time. Long-term retention is the key for having a realistic shot at the top-grossing ranks of the app stores. In the first part of this talk, attendees will learn how mobile game developer Wooga evaluates new IP to ensure a long-lasting gameplay experience. The second half will show one example of how storytelling and episodic content can drive long-term retention. Sebastian will share insights and learnings from Wooga's projects in episodic content production and how to best set up your team for the ride.
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid Wooga
UNITE Europe 2015 + Unity User Group Presentation
Unity incorporates the component based architecture in a seamless manner. But for some games, a more data driven approach (entity system architecture) fits better. In this talk, Maxim Zaks & Simon Schmid (Wooga) show why entity system architecture fits and how you can use Entitas-CSharp in your own Unity project.
There are lots of talks about the process of prototyping, but no hints on how to evaluate them to make the decisions. In this talk Antti Hattara, Head of Studio at Wooga, will tell how to evaluate prototypes and recognize the ones with great potential from the rest Antti will talk about the mobile developer’s creative and agile approach to finding those needles in a haystack and how good projects are put to rest and great ones given that all-important green light.
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014Wooga
Three people, three talks: First, Anne explains how Wooga makes it in the hit driven mobile F2P world and frequently creates hit games. Then, Ann and Julia share their insights into the company from an intern’s perspective. Julia is currently working with a team in the prototyping phase using C#. Ann develops Objective-C for one of Wooga's live games. Both of them are students of Chalmers University of Technology, Gothenburg. Anne is in charge of University Relations at Wooga.
Tags: Equality, production, programming, career.
From Keyboards to Fingertips - Rethink Game Design_QuoVadis 2013Wooga
One thing has become clear in the computer industry over the past four decades: UI, not technology, governs large leaps in adoption. In the first age of personal computing, keyboard-centric character-based UI's limited access to only those sufficiently motivated (and antisocial) to suffer such dramatic abstraction of the world we live in. In the 2nd age, GUI's and a "Mouse" opened the usage of personal computers to a much broader audience and enabled a first change in game genres. Today, we are poised on the brink of the 3rd age. With touchscreen devices, the mouse has been replaced by our fingertips and games can be played by everyone, anytime, anywhere. Join Jens Begemann, CEO and Founder of Wooga, as he beholds this new age in game genres and proposes why this new UI standard is a revolutionary, not evolutionary, influence on our industry.
At wooga we build backends for games that have millions of daily users.
In the gaming business we have a write heavy environment, with a high frequency of requests, traffic bursts and distribution across many nodes. These are all problems we need to solve and keep in mind in order to write a system that stands the chance of supporting the required load.
How do you meet the challenge of writing a brand new system with performance in mind? Where should the line between necessary efficiency and premature optimization be drawn? How do you measure performances? How do we generate synthetic load that reflects real usage patterns? How do you know you have enough capacity? How do you combine all the above with safely introducing changes and new features working in a two people team?
We had to answer to all the above questions and we want to share the solutions we found and the problems that we consider still open.
Learn how we use NoSQL and SQL databases to build games at Wooga. From prototypes to production systems that deal with the data of millions of players, this talk covers hands on use cases and learnings.
At wooga the separate game teams operate their own games. That means that two developers not only develop the backend for a social game but they also the administrator's part.
This presentation gives an insight on how this is done, what tools are used and how the most important challenges were solved.
After more than one year of development, Wooga is heading for the global launch of its game "Kingsbridge"!
This is the first game at Wooga with a backend written in JRuby!
The talk includes an introduction to the problems that were solved by choosing a stateful applicaton server.
I will explain constraints, benefits and obvious differences to traditional database backed application servers.
Safely sharing state in a concurrent environment using JRuby
Using Java concurrency utils in JRuby
Sample problems solved, backed up with code
Practical tips for capacity planning
This talk wants to sum up the experience of designing, deploying and maintaining an Erlang application targeting the cloud and precisely AWS as hosting infrastructure.
As the application now serves a significantly large user base with a sustained throughput of thousands of games actions per second we're able to analyse retrospectively our engineering and architectural choices and see how Erlang fits in the cloud environment also comparing it to previous experiences of clouds deployments of other platforms.
We'll discuss properties of Erlang as a language and OTP as a framework and how we used them to design a system that is a good cloud citizen. We'll also discuss topics that are still open for a solution.
Story of Warlords: Bringing a turn-based strategy game to mobile Wooga
About three years ago we set out on a mission: We wanted to bring a round-based strategy game, a genre that most gamers so far mainly enjoyed on PCs, to mobile. Today that mission is nearly completed with Warlords having been soft launched in various countries and showing very promising data. This may all sound easy enough, but the truth is that it was a hell of a ride for the team and there were times when we weren´t even sure if the project would continue. Along the way, we´ve learned many valuable things which we believe in the end made the difference and led to the numbers we now see. Wilhelm, Head of Studio and Product Lead for Warlords, will share these learnings in his talk answering the following questions: What set screws did we touch to make the session structure, pacing and content consumption work on mobile? Why different meta game systems are crucial? And finally how sticking to your game vision from start to end can make you survive such a ride.
In it for the long haul - How Wooga boosts long-term retentionWooga
GDC San Francisco 2015 Presentation by Sebastian Nussbaum and Adam Telfer
Today's mobile games market is tough. With thousands of new titles being available to download every week and CPIs rising high, new game concepts need to stand out. But even more importantly, they need to stay relevant for a long time. Long-term retention is the key for having a realistic shot at the top-grossing ranks of the app stores. In the first part of this talk, attendees will learn how mobile game developer Wooga evaluates new IP to ensure a long-lasting gameplay experience. The second half will show one example of how storytelling and episodic content can drive long-term retention. Sebastian will share insights and learnings from Wooga's projects in episodic content production and how to best set up your team for the ride.
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid Wooga
UNITE Europe 2015 + Unity User Group Presentation
Unity incorporates the component based architecture in a seamless manner. But for some games, a more data driven approach (entity system architecture) fits better. In this talk, Maxim Zaks & Simon Schmid (Wooga) show why entity system architecture fits and how you can use Entitas-CSharp in your own Unity project.
Saying No to the CEO: A Deep Look at Independent Teams - Adam TelferWooga
GDC Europe 2015
Truly independent teams within a game studio are an interesting idea. Wooga, Supercell and others have promoted having this type of structure. Each team having full ownership over decisions in their game. Teams saying no to the rest of the company when they believe in a product. This all sounds great on paper, but what happens in practice? Adam Telfer goes into details of the ups and downs of working in an independent culture. How Wooga has adapted its processes through the years. A culture where you have full control, but also full responsibility.
Innovation dank DevOps (DevOpsCon Berlin 2015)Wooga
“You build it, you run it!” - Wenn Du als Entwickler weisst, dass Du Deine Software selbst betreiben musst, was bist bereit zu tun, um den späteren Betrieb zu vereinfach?
Bei Wooga haben Dutzende von Teams ihre eigene Antwort auf die Frage gesucht und dabei von den Erfahrungen der anderen Teams gelernt. Herausgekommen ist ein großes Experimentierfeld beim Betrieb von Web Services - und eine technologische Innovation, die uns innerhalb weniger Iterationen von einem simplen LAMP-Stack zu lastabhängig skalierenden stateful Servern auf Basis von Erlang oder Akka gebracht hat.
Big Fish, small pond - strategies for surviving in a maturing market - Ed BidenWooga
Quo Vadis Conference Berlin 2015
Mobile games have never been more competitive. Production values and marketing costs are ever increasing and the top grossing charts look strangely similar to the year before. So how can developers maximize their chances of success in such a tough market? Is it better to clone a hit or innovative wildly? Should they focus on one genre, or dabble in many? Ed draws on extensive market analysis and experience developing games to explain why selective innovation is the key to success.
Tom LeClerc's talk at App Promotion Summit Berlin 2014:
REVIEW MINING:
THE APP STORE OPTIMIZER’S SECRET WEAPON
An Overview Of The Value Of Review Mining
What Review Mining Tools You Have At Your Disposal
Using Reviews To Generate Keywords And Understand Your Users
We've learned a lot through doing DevOps: Every commit is automatically integrated, tested, and deployed to a staging environment. And then it only takes one push of a button and the release goes live...
Unfortunately, it's not as simple anymore when operating mobile applications: How can you quickly update your mobile software when the app store provider wants to test your software first for a few days? How can you update your configuration when your app can run offline? And how do you track down errors when the data is distributed to millions of mobile clients? Those were just some of the challenges we encountered during the operation of mobile games with millions of daily users. In this talk we will talk about the solutions we have found to address them.
DevOps goes Mobile - Jax 2014 - Jesper Richter-ReichhelmWooga
DevOps hat uns viel gelehrt: Jedes Commit wird automatisch integriert, getestet und in eine Stagingumgebung installiert. Und einen Knopfdruck später geht das Release dann live.
Aber leider funktioniert das und vieles mehr, was uns in Zeiten von DevOps als Normal erscheint, nicht bei mobilen Applikationen.
Wie kann ich also schnell meine mobile Software anpassen, wenn der Betreiber des App Stores erst tagelang testen will? Wie kann ich Konfiguration anpassen, wenn die App auch offline laufen soll? Und wie funktioniert Fehlersuche, wenn die Daten auf Millionen von mobilen Clients verteilt sind?
Beim Betrieb von mobilen Spielen mit Millionen täglicher Nutzer standen wir genau diesen Fragen gegenüber. Der Vortrag wird darlegen, welche Antworten wir darauf gefunden haben.
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014Wooga
The match 3 puzzle genre is almost as old as it gets. Scour the App Store and you'll find hundreds of different varieties out there. Very few of these succeed however, and even less manage to hit the number one spot on the U.S. Apple App Store top download chart. Wooga's Jelly Splash managed to do just that, and in this session Florian Steinhoff, the creator of Jelly Splash, will give a detailed account on how his team managed that and what he learned throughout the development process.
How to stand out in a hit driven business - Game Connection Paris 2013 - SebK...Wooga
The mobile gaming market is huge with roughly 4,000 new iOS games per month and more than 5bn USD revenue per year. But that market also has a huge number of players who want a piece of the pie making the mobile gaming industry a very hit driven business. In his talk, Sebastian Kriese Corporate Partnerships Manager at Wooga, will give some insights about what the Berlin based social and mobile game developer considers a hit game and how they manage to create at least 2 of these hits per year.
Nur zwei Entwickler, die alleine Entwurf, Entwicklung und Betrieb eines Backends für ein Social Games mit Millionen von täglichen Nutzern stemmen. Sie greifen dabei zwar zwar auf die Erfahrungen der vorhergehenden Teams zurück, haben aber alle Freiheiten, ‘ihr’ Backend so zu bauen, wie sie es wollen. Funktioniert das? Auch in der Realität?
Ja, es funktioniert. Auch mit mittlerweile 20 Teams in einem Unternehmen von 250 Mitarbeitern. Warum das so ist, und warum es gleichzeitig enorm hilfreich für Innovation, Motivation und Eigeninitiative ist, darum geht es in diesem Vortrag.
Why Having Impact Matters for Good Developers (GOTO Berlin)Wooga
Why is it so hard to create an adequate working environment for good developers? Why do we have insecure managers, lots of hierarchy levels, and micromanagement instead in so many companies? It's so simple to make things better: Remove the classic tech lead, avoid the Peter principle and let small teams organize themselves. Agreed, that's not easy, and there are challenges. But I see it work everyday around me. It means that developers have to care for a bit more than just code, but the rewards are freedom to have own choices and to have a real impact on the product. Let's see how this works in reality, what works great and where there are still things to improve.
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.
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.
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.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
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.
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.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...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.
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.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
7. • C with class-based OOP
• [syntax awkward:YES];
• Compiled
• No garbage collection!
8. [Disclaimer]
I will not try to convince you that JavaScript should be more like other languages.
Yet we can be more effective JS developers by learning something from others.
20. Everybody has heard about unit tests, but have you actually seen or wrote them?
21. Cr Buste
oss r.J
c S
En DOH heck
h
Fir ance
J3U eUnit JS
JSN nit
JSS Uni
writing tests?
JST pec t
JST e
est st
JSU .NE
JSp nit T
Jas ec
U
Js- Jasm nit
Js- test ine
tes -dr
Mo t-run iver
No ch ne
de a r
QU u n i
Rh nit t
Rh Un
ino it
S OA Uni
Sin tes t
Su on.js t
Te ite
Te st.M st
st.S or
Te im e
stC pl
Te ase e
Un T stI
yrt t
itT le
est
Vo in
YU ws g
jsU I T
nit est
jsU Te
scr ni st
ew ty
Is the number of JS unit testing frameworks higher than the number of JavaScript developers
wr -u n i
u t
22. In Objective C world unit testing is supported out of the box.
23. “No one pays you
for testing”
The above quote comes from a PHP talk I listened to recently.
* Don’t ask your boss or client if you can write tests – tests are part of the code, not
something extra
* The point of writing tests is to make you faster at delivering quality product, not slower.
* Tests enforce better coding style.
27. Unit test is a function
that tests
another function
28. implementation
function factorial(n) {
if (n == 1) {
return 1;
}
return n * factorial(n-1);
}
test
function testFactorial() {
assert.equals(120, factorial(5));
}
29. 3) Automate with test
runner
If you haven’t already picked a framework with integrated runner, like buster.js or js-test-
driver, use testem to run your tests.
You will NOT keep writing tests if you don’t automate running them with Continous
Integration tool like Jenkins.
40. Your sadly
pathetic
bleatings are
harshing my
mellow.
Douglas Crockford commenting on complaints about jslint being too restrictive.
This quote was one of the reasons to create jshint.
42. Anything that isn’t
crystal clear to a
static analysis tool
probably isn’t clear
to your fellow
programmers,
either.
Highly recommended article on the value of static analysis, by John Carmack:
http://www.altdevblogaday.com/2011/12/24/static-code-analysis/
63. IDE
The problem with refactoring JavaScript:
poor tool support -> makes refactoring require courage -> makes refactoring less likely to
happen.
Search and replace doesn’t constitute “tool support” for refactoring – it’s only text-based and
doesn’t guarantee that the semantics of your program will be preserved.