During this talk, Nikita shared several stories from real projects, how the wrong decision (choosing the wrong protocol, lack of system design, etc.) increased the time and cost of the project.
On Open Day, we share our activities of the month with each other and the community. It's when we take a step back and see where we stand. Here's our Open Day for September 2018.
SCALING FACEBOOK APPS - Karl Bunyan November 28thantb2000
The document discusses the scaling challenges of the Facebook application "Six Degrees of Separation" as it grew enormously popular. It describes how the app was initially built by a small team quickly and grew to over 200,000 users, causing performance issues. Various hacks and infrastructure changes were made to improve scaling, such as moving processes to iframes, adding servers, and redesigning database queries. The author emphasizes designing applications with scaling in mind from the start to avoid significant reworks later.
SCALING APPS - Karl Bunyan 28th Novemberguestbc2fbe
The document discusses the scaling challenges of the Facebook application "Six Degrees of Separation" as it grew enormously popular. It describes how the app was initially built by a small team quickly and grew to over 200,000 users, causing performance issues. Various hacks and infrastructure changes were made to improve scaling, such as moving tasks to iframes, separating databases, and redesigning queries, but it was clear the original architecture could not scale indefinitely. The key lessons are to design for scale from the beginning when possible and communicate with users during challenges.
Никита Галкин "Technical backlog: инструкция к применению"Fwdays
Дилемма “новые фичи быстро VS технический долг” известна всем. Одним из инструментов её решения является ведение технического бэклога. В ходе доклада мы поговорим:
что такое технический бэклог;
чем и как его наполнять;
как “продавать” элементы технического бэклога заказчику и команде;
и, конечно, как проводить демо элементов техбэклога.
Содержимое доклада будет интересно, всем членам команды. Результатом применение идей и инструментов из доклада станут улучшение эстимейтов, налаженность технических процессов и управляемость техническим долгом.
Mark Niebergall presented on reducing technical debt by avoiding adding new debt, paying off existing debt through a repeating process, and tips on when to refactor code versus initiating a rewrite. He defined technical debt as consequences of poor design and architecture that are incurred knowingly and inadvertently. Examples of debt include unused code, outdated technology, and overcomplicated code. Sources of debt include changes to libraries, frameworks, and inexperience. Paying off debt requires identifying issues, prioritizing work, and making improvements over time through consistent effort.
H2O World - Building a Smarter Application - Tom KraljevicSri Ambati
This document discusses building smarter applications that incorporate machine learning models. It provides an overview of combining predictive models with applications, deploying models in production, and a concrete use case of a consumer loan application. The use case involves building two predictive models using H2O - one for predicting if a loan will be bad, and one for predicting the interest rate. The document outlines the steps to build such a smarter application and integrate predictive models via a REST API. It also describes the data, models, and software tools used in the example application code provided.
This document contains the professional summary and details of Anu Kumari. It outlines her over 4 years of experience as an IT Analyst at Tata Consultancy Services working on banking and financial software projects. It describes her roles and responsibilities which include requirements analysis, system design, development, testing, production support, and leading a team. It also provides details of two projects she worked on - GAN and DCP for American Express, the technologies used, and her contributions to those projects. Lastly, it includes her educational qualifications and training.
The document discusses recent developments and plans for PostgreSQL over the next six months. It outlines a new development model of commit fests to increase transparency. It also discusses expanding non-profit infrastructures to support PostgreSQL communities internationally. Certification milestones are noted along with a new integrated replication offering for PostgreSQL. Plans are described to further engage with higher education and continue courting developers to expand PostgreSQL adoption.
On Open Day, we share our activities of the month with each other and the community. It's when we take a step back and see where we stand. Here's our Open Day for September 2018.
SCALING FACEBOOK APPS - Karl Bunyan November 28thantb2000
The document discusses the scaling challenges of the Facebook application "Six Degrees of Separation" as it grew enormously popular. It describes how the app was initially built by a small team quickly and grew to over 200,000 users, causing performance issues. Various hacks and infrastructure changes were made to improve scaling, such as moving processes to iframes, adding servers, and redesigning database queries. The author emphasizes designing applications with scaling in mind from the start to avoid significant reworks later.
SCALING APPS - Karl Bunyan 28th Novemberguestbc2fbe
The document discusses the scaling challenges of the Facebook application "Six Degrees of Separation" as it grew enormously popular. It describes how the app was initially built by a small team quickly and grew to over 200,000 users, causing performance issues. Various hacks and infrastructure changes were made to improve scaling, such as moving tasks to iframes, separating databases, and redesigning queries, but it was clear the original architecture could not scale indefinitely. The key lessons are to design for scale from the beginning when possible and communicate with users during challenges.
Никита Галкин "Technical backlog: инструкция к применению"Fwdays
Дилемма “новые фичи быстро VS технический долг” известна всем. Одним из инструментов её решения является ведение технического бэклога. В ходе доклада мы поговорим:
что такое технический бэклог;
чем и как его наполнять;
как “продавать” элементы технического бэклога заказчику и команде;
и, конечно, как проводить демо элементов техбэклога.
Содержимое доклада будет интересно, всем членам команды. Результатом применение идей и инструментов из доклада станут улучшение эстимейтов, налаженность технических процессов и управляемость техническим долгом.
Mark Niebergall presented on reducing technical debt by avoiding adding new debt, paying off existing debt through a repeating process, and tips on when to refactor code versus initiating a rewrite. He defined technical debt as consequences of poor design and architecture that are incurred knowingly and inadvertently. Examples of debt include unused code, outdated technology, and overcomplicated code. Sources of debt include changes to libraries, frameworks, and inexperience. Paying off debt requires identifying issues, prioritizing work, and making improvements over time through consistent effort.
H2O World - Building a Smarter Application - Tom KraljevicSri Ambati
This document discusses building smarter applications that incorporate machine learning models. It provides an overview of combining predictive models with applications, deploying models in production, and a concrete use case of a consumer loan application. The use case involves building two predictive models using H2O - one for predicting if a loan will be bad, and one for predicting the interest rate. The document outlines the steps to build such a smarter application and integrate predictive models via a REST API. It also describes the data, models, and software tools used in the example application code provided.
This document contains the professional summary and details of Anu Kumari. It outlines her over 4 years of experience as an IT Analyst at Tata Consultancy Services working on banking and financial software projects. It describes her roles and responsibilities which include requirements analysis, system design, development, testing, production support, and leading a team. It also provides details of two projects she worked on - GAN and DCP for American Express, the technologies used, and her contributions to those projects. Lastly, it includes her educational qualifications and training.
The document discusses recent developments and plans for PostgreSQL over the next six months. It outlines a new development model of commit fests to increase transparency. It also discusses expanding non-profit infrastructures to support PostgreSQL communities internationally. Certification milestones are noted along with a new integrated replication offering for PostgreSQL. Plans are described to further engage with higher education and continue courting developers to expand PostgreSQL adoption.
Developer Productivity Engineering with GradleAll Things Open
Presented by: Justin Reock & Sterling Greene
Presented at the All Things Open 2021
Raleigh, NC, USA
Raleigh Convention Center
Abstract: In 2007, Hans Dockter invented the Gradle Build Tool because he felt that developers deserved less friction in their toolchain. The prevailing build technologies of the time were adequate but inefficient, not taking advantage of possible acceleration technologies and, with some exceptions, very limited in their language and framework support. Gradle is now one of the most widely used build tools available, downloaded about 25 million times a month as of September of 2021. It’s the default build tool in Android Studio, and is trusted by millions of developers to create their artifacts quickly and cleanly.
The principles that originally guided the Gradle build tool towards its current popularity have continued into an emerging practice known as Developer Productivity Engineering or DPE. DPE is a new software development practice that uses acceleration technologies to speed up the software build and test process and data analytics to optimize the impact of acceleration technologies and make troubleshooting more efficient. Leading technology companies are using this practice today to accelerate feedback cycles by over 90% in some cases, improving the developer experience and increasing team velocity.
Join Sterling Greene, Lead Software Engineer for the Gradle Build Tool, and Justin Reock, Field CTO of Gradle Enterprise, to learn why DPE is swiftly becoming the most important movement in software development since the introduction of DevOps.
Attendees will walk away from this presentation with a better understanding of:
● The importance of fast feedback cycles and how to achieve them using build and test acceleration technologies
● Using build and test data to make troubleshooting and problem root cause determination more efficient.
● The importance of leveraging failure analytics to improve toolchain reliability, including managing avoidable failures like flaky tests.
● How to continuously improve performance and guard against regressions through trend and metric observability.
● The Cost of Inaction (CoI) by not investing in developer productivity across your local build environments and CI/CD pipelines in terms of engineering cost, TTM and software quality.
● How to elevate the strategic priority of DPE in your organization.
Changing Etsy's Architectural Foundations with Continuous DeploymentMatt Graham
This document discusses how Etsy changed its architectural foundation to continuous deployment. It outlines how Etsy migrated from infrequent deployments to deploying code changes continuously after testing. This was done by establishing a culture of continuous deployment, using tools like Jenkins to automate testing, and gradually ramping features from a small percentage of users to full rollout. The approach minimized downtime and reduced the time it took to fix bugs.
The document summarizes an internship focused on Python and machine learning. It describes the company K-AKA Technology Services, which provides training, development, SaaS, and consultancy services. The internship involved two phases - training in Python application development and machine learning, followed by developing an ATM project and bio-medical toolkit. Key tasks included designing apps with Tkinter, working with databases like SQLite and MySQL, and performing machine learning tasks like regression and k-means clustering. Two sample projects were an ATM balance checker app using Tkinter and Firebase, and a medical prediction app for diabetes, BMI, and heart failure using various machine learning algorithms.
Sushma Nalam is a software executive with 6 months of experience developing web applications using technologies like ASP.NET MVC, Web API, C#, HTML, CSS, JavaScript, and SQL Server. She has worked on two projects - GPS, a web application for managing TV program distribution, and PPL, a Windows application for managing TV program schedules and details. Her responsibilities included gathering requirements, developing enhancements, debugging issues, and assisting clients.
GraphQL Munich Meetup #1 - How We Use GraphQL At CommercetoolsNicola Molinari
The document describes commercetools' experience with adopting GraphQL for their merchant center application. They were initially fetching category data with multiple REST requests, but were able to fetch it in one GraphQL query along with additional fields like number of subcategories and products. This solved a performance issue and allowed them to easily extend their API. They also migrated other parts of their client to use GraphQL, reducing network requests and complexity. Overall, GraphQL allowed them to optimize queries and extend their API with minimal effort.
This document provides an introduction and overview of React for non-technical audiences. It explains that React is a JavaScript library for building user interfaces that has gained popularity in recent years. It then discusses key React concepts like components, props, state, and lifecycles. The document also notes benefits of React like clear structure, code reusability, and easier collaboration between design and development teams. It concludes by suggesting ways teams could start adopting React patterns in their work.
Angular (v2 and up) - Morning to understand - LinagoraLINAGORA
Slides of the talk about Angular, at the "Matinée Pour Comprendre" organized by Linagora the 22/03/17.
Discover what's new in Angular, why is it more than just a framework (platform) and how to manage your data with RxJs and Redux.
On Open Day, we share our activities of the month with each other and the community. It's when we take a step back and see where we stand. Here's our Open Day for March 2018.
On Open Day, we share our activities of the month with each other and the community. It's when we take a step back and see where we stand. Here's our Open Day for March 2018.
This document provides an overview of React for non-technical audiences. It explains that React is a JavaScript library for building user interfaces that has gained popularity in recent years. It breaks down user interfaces into reusable components, which promotes code reuse. The document also provides examples of how React components can be used to display and update basic data, as well as examples of core React concepts like props, state, and reusable components. It discusses benefits of React like clear structure, reusability, and easier collaboration between design and development teams.
Nilesh Nadkarni's resume outlines his experience as a software developer and IT manager with over 6 years of experience programming in languages like Java and Android. He has worked on projects for clients in various industries and lists his skills in areas like technical help desk support, analytics, SQL, and content management. The resume provides details on his work history, education, skills, and accomplishments on various projects.
The document discusses introducing React into an existing PHP e-commerce application with millions of annual visitors. The existing application is large and difficult to maintain. The goals are to separate the frontend and backend for easier testing and maintenance, and allow refactoring the backend into smaller services. The approach is to introduce React iteratively by creating multiple React apps for different parts of the site, separating data loading from PHP to React, and gradually removing old PHP code. Server-side rendering is recommended over a single-page application to avoid possible SEO issues and ensure fast initial loading.
Supporting studio-based design courses with django-courseappMike Krieger
This document describes the development of a Django-based web application called Courseapp to support studio-based design courses. It was created in 2 weeks to address needs like individual/group assignments, grading criteria, and multimedia embedding for a 160 student HCI course. Django provided a clean object-relational mapper and templating system to build the app rapidly. Lessons learned include prioritizing student wants and making it easy for TAs to provide feedback. Courseapp is now open source and available online.
Continuous Performance Testing and Monitoring in Agile DevelopmentDynatrace
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance testing and monitoring is the best way to ensure application performance with quicker development cycles. Balancing agile and DevOps velocity with the need for ongoing performance testing and monitoring is essential. We call it Continuous Performance Validation.
In this webinar, we will show how you can get performance guidance and metrics throughout development, making sure apps perform well from inception to production and beyond.
In this webinar you will learn:
• How to automate performance testing and which tools you need to be successful
• How to use APM during load and performance testing
• How to create a continuous performance validation strategy from Dev to QA and Ops
• Ways teams can collaborate to ensure top application performance
This document discusses Agile practices, software development lifecycles (SDLC), and the use of Node.js at PayPal. It outlines typical Agile processes like sprint planning, backlog grooming, pair programming, mob programming, and retrospectives. It also describes PayPal's SDLC pipeline and use of Git flow for source control. Finally, it summarizes how PayPal adopted Node.js in 2012 and has since open sourced frameworks like Kraken.js and tools like Nemo.js while growing a large community of Node.js developers.
Github Copilot and tools that help us code better are cool. But I’m lucky if I spend 90 minutes a day writing code. We really need to optimize the hours we spend reviewing code, updating tickets and tracing where our code is deployed. Learn how I save an hour a day streamlining non-coding tasks.
This talk is unique because 99% of developer productivity tools and hacks are about coding faster, better, smarter. And yet the vast majority of our time is spent doing all of this other stuff. After I started focusing on optimizing the 10 hours I spend every day on non-coding tasks, I found I my productivity went up and my frustration at annoying stuff went way down. I cover how to save time by reducing cognitive load and by cutting menial, non-coding tasks that we have to perform 10-50 times every day. For example:
Bug or hotfix comes through and you want to start working on it right away so you create a branch and start fixing. What you don’t do is create a Jira ticket but then later your boss/PM/CSM yells at your due to lack of visibility. I share how I automated ticket creation in Slack by correlating Github to Jira.
You have 20 minutes until your next meeting and you open a pull request and start a review. But you get pulled away half way through and when you come back the next day you forgot everything and have to start over. Huge waste of time. I share an ML job I wrote that tells me how long the review will take so I can pick PRs that fit the amount of time I have.
You build. You ship it. You own it. Great. But after I merge my code I never know where it actually is. Did the CI job fail? Is it release under feature flag? Did it just go GA to everyone? I share a bot I wrote that personally tells me where my code is in the pipeline after it leaves my hands so I can actually take full ownership without spending tons of time figuring out what code is in what release.
Tales of modernizing trello's web stackVincent Kok
The web community is a fast moving community and over the recent years, many great frameworks and tools have emerged. Technology changes made in the past are not always the right ones today. This applies to Trello’s web stack too. CoffeeScript and Backbone were great choices 7 years ago but there are better tools and frameworks available now, so the Trello team decided to update its stack. But, how does one tackle this and how do you make sure you continue to innovate product-wise while modernizing its web stack? This is what we will discuss in this session -- main drivers for modernizing, the reasoning for choosing for TypeScript, React and GraphQL and will discuss our strategy implementing it, including two failed attempts. When leaving this session you will have learned which tactics to apply when modernizing a web stack and warning signs to be aware off.
"What does it really mean for your system to be available, or how to define w...Fwdays
We will talk about system monitoring from a few different angles. We will start by covering the basics, then discuss SLOs, how to define them, and why understanding the business well is crucial for success in this exercise.
"Microservices and multitenancy - how to serve thousands of databases in one ...Fwdays
Imagine you are designing a B2B service that will serve millions of businesses. This service will have dozens of different microservices with their own data, which can contain millions of records. How do you design such a database? Why is sharding not always the answer? What other options are there for such an architectural solution?
I'll tell you how we at Uspacy came to serve thousands of small databases instead of a few large ones, what we've encountered and what we plan to face)
More Related Content
Similar to "React applications Failures", Nikita Galkin
Developer Productivity Engineering with GradleAll Things Open
Presented by: Justin Reock & Sterling Greene
Presented at the All Things Open 2021
Raleigh, NC, USA
Raleigh Convention Center
Abstract: In 2007, Hans Dockter invented the Gradle Build Tool because he felt that developers deserved less friction in their toolchain. The prevailing build technologies of the time were adequate but inefficient, not taking advantage of possible acceleration technologies and, with some exceptions, very limited in their language and framework support. Gradle is now one of the most widely used build tools available, downloaded about 25 million times a month as of September of 2021. It’s the default build tool in Android Studio, and is trusted by millions of developers to create their artifacts quickly and cleanly.
The principles that originally guided the Gradle build tool towards its current popularity have continued into an emerging practice known as Developer Productivity Engineering or DPE. DPE is a new software development practice that uses acceleration technologies to speed up the software build and test process and data analytics to optimize the impact of acceleration technologies and make troubleshooting more efficient. Leading technology companies are using this practice today to accelerate feedback cycles by over 90% in some cases, improving the developer experience and increasing team velocity.
Join Sterling Greene, Lead Software Engineer for the Gradle Build Tool, and Justin Reock, Field CTO of Gradle Enterprise, to learn why DPE is swiftly becoming the most important movement in software development since the introduction of DevOps.
Attendees will walk away from this presentation with a better understanding of:
● The importance of fast feedback cycles and how to achieve them using build and test acceleration technologies
● Using build and test data to make troubleshooting and problem root cause determination more efficient.
● The importance of leveraging failure analytics to improve toolchain reliability, including managing avoidable failures like flaky tests.
● How to continuously improve performance and guard against regressions through trend and metric observability.
● The Cost of Inaction (CoI) by not investing in developer productivity across your local build environments and CI/CD pipelines in terms of engineering cost, TTM and software quality.
● How to elevate the strategic priority of DPE in your organization.
Changing Etsy's Architectural Foundations with Continuous DeploymentMatt Graham
This document discusses how Etsy changed its architectural foundation to continuous deployment. It outlines how Etsy migrated from infrequent deployments to deploying code changes continuously after testing. This was done by establishing a culture of continuous deployment, using tools like Jenkins to automate testing, and gradually ramping features from a small percentage of users to full rollout. The approach minimized downtime and reduced the time it took to fix bugs.
The document summarizes an internship focused on Python and machine learning. It describes the company K-AKA Technology Services, which provides training, development, SaaS, and consultancy services. The internship involved two phases - training in Python application development and machine learning, followed by developing an ATM project and bio-medical toolkit. Key tasks included designing apps with Tkinter, working with databases like SQLite and MySQL, and performing machine learning tasks like regression and k-means clustering. Two sample projects were an ATM balance checker app using Tkinter and Firebase, and a medical prediction app for diabetes, BMI, and heart failure using various machine learning algorithms.
Sushma Nalam is a software executive with 6 months of experience developing web applications using technologies like ASP.NET MVC, Web API, C#, HTML, CSS, JavaScript, and SQL Server. She has worked on two projects - GPS, a web application for managing TV program distribution, and PPL, a Windows application for managing TV program schedules and details. Her responsibilities included gathering requirements, developing enhancements, debugging issues, and assisting clients.
GraphQL Munich Meetup #1 - How We Use GraphQL At CommercetoolsNicola Molinari
The document describes commercetools' experience with adopting GraphQL for their merchant center application. They were initially fetching category data with multiple REST requests, but were able to fetch it in one GraphQL query along with additional fields like number of subcategories and products. This solved a performance issue and allowed them to easily extend their API. They also migrated other parts of their client to use GraphQL, reducing network requests and complexity. Overall, GraphQL allowed them to optimize queries and extend their API with minimal effort.
This document provides an introduction and overview of React for non-technical audiences. It explains that React is a JavaScript library for building user interfaces that has gained popularity in recent years. It then discusses key React concepts like components, props, state, and lifecycles. The document also notes benefits of React like clear structure, code reusability, and easier collaboration between design and development teams. It concludes by suggesting ways teams could start adopting React patterns in their work.
Angular (v2 and up) - Morning to understand - LinagoraLINAGORA
Slides of the talk about Angular, at the "Matinée Pour Comprendre" organized by Linagora the 22/03/17.
Discover what's new in Angular, why is it more than just a framework (platform) and how to manage your data with RxJs and Redux.
On Open Day, we share our activities of the month with each other and the community. It's when we take a step back and see where we stand. Here's our Open Day for March 2018.
On Open Day, we share our activities of the month with each other and the community. It's when we take a step back and see where we stand. Here's our Open Day for March 2018.
This document provides an overview of React for non-technical audiences. It explains that React is a JavaScript library for building user interfaces that has gained popularity in recent years. It breaks down user interfaces into reusable components, which promotes code reuse. The document also provides examples of how React components can be used to display and update basic data, as well as examples of core React concepts like props, state, and reusable components. It discusses benefits of React like clear structure, reusability, and easier collaboration between design and development teams.
Nilesh Nadkarni's resume outlines his experience as a software developer and IT manager with over 6 years of experience programming in languages like Java and Android. He has worked on projects for clients in various industries and lists his skills in areas like technical help desk support, analytics, SQL, and content management. The resume provides details on his work history, education, skills, and accomplishments on various projects.
The document discusses introducing React into an existing PHP e-commerce application with millions of annual visitors. The existing application is large and difficult to maintain. The goals are to separate the frontend and backend for easier testing and maintenance, and allow refactoring the backend into smaller services. The approach is to introduce React iteratively by creating multiple React apps for different parts of the site, separating data loading from PHP to React, and gradually removing old PHP code. Server-side rendering is recommended over a single-page application to avoid possible SEO issues and ensure fast initial loading.
Supporting studio-based design courses with django-courseappMike Krieger
This document describes the development of a Django-based web application called Courseapp to support studio-based design courses. It was created in 2 weeks to address needs like individual/group assignments, grading criteria, and multimedia embedding for a 160 student HCI course. Django provided a clean object-relational mapper and templating system to build the app rapidly. Lessons learned include prioritizing student wants and making it easy for TAs to provide feedback. Courseapp is now open source and available online.
Continuous Performance Testing and Monitoring in Agile DevelopmentDynatrace
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance testing and monitoring is the best way to ensure application performance with quicker development cycles. Balancing agile and DevOps velocity with the need for ongoing performance testing and monitoring is essential. We call it Continuous Performance Validation.
In this webinar, we will show how you can get performance guidance and metrics throughout development, making sure apps perform well from inception to production and beyond.
In this webinar you will learn:
• How to automate performance testing and which tools you need to be successful
• How to use APM during load and performance testing
• How to create a continuous performance validation strategy from Dev to QA and Ops
• Ways teams can collaborate to ensure top application performance
This document discusses Agile practices, software development lifecycles (SDLC), and the use of Node.js at PayPal. It outlines typical Agile processes like sprint planning, backlog grooming, pair programming, mob programming, and retrospectives. It also describes PayPal's SDLC pipeline and use of Git flow for source control. Finally, it summarizes how PayPal adopted Node.js in 2012 and has since open sourced frameworks like Kraken.js and tools like Nemo.js while growing a large community of Node.js developers.
Github Copilot and tools that help us code better are cool. But I’m lucky if I spend 90 minutes a day writing code. We really need to optimize the hours we spend reviewing code, updating tickets and tracing where our code is deployed. Learn how I save an hour a day streamlining non-coding tasks.
This talk is unique because 99% of developer productivity tools and hacks are about coding faster, better, smarter. And yet the vast majority of our time is spent doing all of this other stuff. After I started focusing on optimizing the 10 hours I spend every day on non-coding tasks, I found I my productivity went up and my frustration at annoying stuff went way down. I cover how to save time by reducing cognitive load and by cutting menial, non-coding tasks that we have to perform 10-50 times every day. For example:
Bug or hotfix comes through and you want to start working on it right away so you create a branch and start fixing. What you don’t do is create a Jira ticket but then later your boss/PM/CSM yells at your due to lack of visibility. I share how I automated ticket creation in Slack by correlating Github to Jira.
You have 20 minutes until your next meeting and you open a pull request and start a review. But you get pulled away half way through and when you come back the next day you forgot everything and have to start over. Huge waste of time. I share an ML job I wrote that tells me how long the review will take so I can pick PRs that fit the amount of time I have.
You build. You ship it. You own it. Great. But after I merge my code I never know where it actually is. Did the CI job fail? Is it release under feature flag? Did it just go GA to everyone? I share a bot I wrote that personally tells me where my code is in the pipeline after it leaves my hands so I can actually take full ownership without spending tons of time figuring out what code is in what release.
Tales of modernizing trello's web stackVincent Kok
The web community is a fast moving community and over the recent years, many great frameworks and tools have emerged. Technology changes made in the past are not always the right ones today. This applies to Trello’s web stack too. CoffeeScript and Backbone were great choices 7 years ago but there are better tools and frameworks available now, so the Trello team decided to update its stack. But, how does one tackle this and how do you make sure you continue to innovate product-wise while modernizing its web stack? This is what we will discuss in this session -- main drivers for modernizing, the reasoning for choosing for TypeScript, React and GraphQL and will discuss our strategy implementing it, including two failed attempts. When leaving this session you will have learned which tactics to apply when modernizing a web stack and warning signs to be aware off.
Similar to "React applications Failures", Nikita Galkin (20)
"What does it really mean for your system to be available, or how to define w...Fwdays
We will talk about system monitoring from a few different angles. We will start by covering the basics, then discuss SLOs, how to define them, and why understanding the business well is crucial for success in this exercise.
"Microservices and multitenancy - how to serve thousands of databases in one ...Fwdays
Imagine you are designing a B2B service that will serve millions of businesses. This service will have dozens of different microservices with their own data, which can contain millions of records. How do you design such a database? Why is sharding not always the answer? What other options are there for such an architectural solution?
I'll tell you how we at Uspacy came to serve thousands of small databases instead of a few large ones, what we've encountered and what we plan to face)
"Scaling RAG Applications to serve millions of users", Kevin GoedeckeFwdays
How we managed to grow and scale a RAG application from zero to thousands of users in 7 months. Lessons from technical challenges around managing high load for LLMs, RAGs and Vector databases.
"NATO Hackathon Winner: AI-Powered Drug Search", Taras KlobaFwdays
This is a session that details how PostgreSQL's features and Azure AI Services can be effectively used to significantly enhance the search functionality in any application.
In this session, we'll share insights on how we used PostgreSQL to facilitate precise searches across multiple fields in our mobile application. The techniques include using LIKE and ILIKE operators and integrating a trigram-based search to handle potential misspellings, thereby increasing the search accuracy.
We'll also discuss how the azure_ai extension on PostgreSQL databases in Azure and Azure AI Services were utilized to create vectors from user input, a feature beneficial when users wish to find specific items based on text prompts. While our application's case study involves a drug search, the techniques and principles shared in this session can be adapted to improve search functionality in a wide range of applications. Join us to learn how PostgreSQL and Azure AI can be harnessed to enhance your application's search capability.
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor IvaniukFwdays
At this talk we will discuss DDoS protection tools and best practices, discuss network architectures and what AWS has to offer. Also, we will look into one of the largest DDoS attacks on Ukrainian infrastructure that happened in February 2022. We'll see, what techniques helped to keep the web resources available for Ukrainians and how AWS improved DDoS protection for all customers based on Ukraine experience
"Black Monday: The Story of 5.5 Hours of Downtime", Dmytro DziubenkoFwdays
We will explore the most significant incident in our product's history. We'll discuss the causes that led to the failure, how our team responded, and the measures we took to prevent future incidents. Special attention will be paid to identifying the root cause of the incident and the role of the VACUUM mechanism in PostgreSQL.
"Reaching 3_000_000 HTTP requests per second — conclusions from participation...Fwdays
In this talk, we will get acquainted with TechEmpower Web Framework Benchmarks, consider generalized (programming language-independent) approaches to optimizing a web application and its environment to achieve extreme loads, and most importantly, how some of these things can be applied in practice in your projects.
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...Fwdays
Direct losses from downtime in 1 minute = $5-$10 thousand dollars. Reputation is priceless.
As part of the talk, we will consider the architectural strategies necessary for the development of highly loaded fintech solutions. We will focus on using queues and streaming to efficiently work and manage large amounts of data in real-time and to minimize latency.
We will focus special attention on the architectural patterns used in the design of the fintech system, microservices and event-driven architecture, which ensure scalability, fault tolerance, and consistency of the entire system.
"Choosing proper type of scaling", Olena SyrotaFwdays
Imagine an IoT processing system that is already quite mature and production-ready and for which client coverage is growing and scaling and performance aspects are life and death questions. The system has Redis, MongoDB, and stream processing based on ksqldb. In this talk, firstly, we will analyze scaling approaches and then select the proper ones for our system.
"What I learned through reverse engineering", Yuri ArtiukhFwdays
In recent years, I have gained most of my knowledge through reverse engineering, how I did it and what I learned during this period, I decided to share. All this concerns graphic programming, performance, best practices in the frontend.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
"Micro frontends: Unbelievably true life story", Dmytro PavlovFwdays
A real life story about the experience of using Micro frontends in an existing Enterprise product. Problems and their solutions on the way from the integration of a separate component to an extensible No-code platform.
"Objects validation and comparison using runtime types (io-ts)", Oleksandr SuhakFwdays
A common task in modern JS is parsing, validating and then comparing JSON objects. In this talk I will quickly go through most common ways to parse/validate and compare objects we use today and then focus more on how runtime types (based on io-ts) can help make such tasks easier and quicker to implement.
"JavaScript. Standard evolution, when nobody cares", Roman SavitskyiFwdays
Should we take a look at JavaScript when everyone is writing in TypeScript? What happens to the standard? What did we get last year? What new features can we expect this and next year? And most importantly, when will Observer be standardized?
Let's try to answer all these questions and even a little more, dream about the future, and enjoy that Observer is alive (or not).
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...Fwdays
Case study of how small team in Preply started with inheriting an existing ranking model to being able to produce a model per day. In this talk we'll cover steps to take if you find yourself in a similar situation: what kind of technology and processes can you introduce in order to achieve a great speedup in a development speed.
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil TopchiiFwdays
In my talk, I will tell about the world of GenAI services beyond GPT-wrappers and how we developed and scaled GenAI-centric applications. I'll share personal experiences about the obstacles, lessons, and strategic tools and methodologies that were key in taking GenAI applications from 0 to 1. I'll talk about the challenges we faced when launching LLM-based and image generative applications and delivering them to end users, and what conclusions and solutions were made.
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
Python engineers are introduced to the transformative potential of Large Language Models (LLMs) in the realm of advanced data analysis and the application of Semantic Kernel techniques. We will talk about how LLMs like ChatGPT can be integrated into Python environments to automate data processing, enhance predictive modeling, and unlock deeper insights from complex datasets. The session will delve into practical strategies for embedding Semantic Kernel methods within Python projects, illustrating how these advanced techniques can refine the accuracy of machine learning models by embedding domain-specific knowledge directly into the analysis process. Attendees will leave with a clear roadmap for leveraging the combined power of LLMs and Semantic Kernels, equipped with actionable knowledge to drive innovation in their data analysis projects and beyond, marking a significant leap forward in the evolution of Python engineering practices.
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
Federated learning. Algorithmic solution to the problem of privacy preserving ML. Pieces involved to support the training with NVIDIA Flare as example. How newest legislation affects federated learning.
"What is a RAG system and how to build it",Dmytro SpodaretsFwdays
Today, large language models are becoming an integral part of almost every IT solution. However, their use is often accompanied by certain limitations, such as the relevance of information or its depth and specificity. One of the ways to overcome these limitations is the method of working with LLMs - RAG (Retrieval Augmented Generation).
In an ideal world, you would write Python code and then it would work perfectly. But unfortunately, it doesn't work in this manner. In my talk, I'll cover how to efficiently debug your programs, especially in cloud environments or inside Kubernetes.
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...Jason Yip
The typical problem in product engineering is not bad strategy, so much as “no strategy”. This leads to confusion, lack of motivation, and incoherent action. The next time you look for a strategy and find an empty space, instead of waiting for it to be filled, I will show you how to fill it in yourself. If you’re wrong, it forces a correction. If you’re right, it helps create focus. I’ll share how I’ve approached this in the past, both what works and lessons for what didn’t work so well.
Essentials of Automations: Exploring Attributes & Automation ParametersSafe Software
Building automations in FME Flow can save time, money, and help businesses scale by eliminating data silos and providing data to stakeholders in real-time. One essential component to orchestrating complex automations is the use of attributes & automation parameters (both formerly known as “keys”). In fact, it’s unlikely you’ll ever build an Automation without using these components, but what exactly are they?
Attributes & automation parameters enable the automation author to pass data values from one automation component to the next. During this webinar, our FME Flow Specialists will cover leveraging the three types of these output attributes & parameters in FME Flow: Event, Custom, and Automation. As a bonus, they’ll also be making use of the Split-Merge Block functionality.
You’ll leave this webinar with a better understanding of how to maximize the potential of automations by making use of attributes & automation parameters, with the ultimate goal of setting your enterprise integration workflows up on autopilot.
ScyllaDB is making a major architecture shift. We’re moving from vNode replication to tablets – fragments of tables that are distributed independently, enabling dynamic data distribution and extreme elasticity. In this keynote, ScyllaDB co-founder and CTO Avi Kivity explains the reason for this shift, provides a look at the implementation and roadmap, and shares how this shift benefits ScyllaDB users.
What is an RPA CoE? Session 2 – CoE RolesDianaGray10
In this session, we will review the players involved in the CoE and how each role impacts opportunities.
Topics covered:
• What roles are essential?
• What place in the automation journey does each role play?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillLizaNolte
HERE IS YOUR WEBINAR CONTENT! 'Mastering Customer Journey Management with Dr. Graham Hill'. We hope you find the webinar recording both insightful and enjoyable.
In this webinar, we explored essential aspects of Customer Journey Management and personalization. Here’s a summary of the key insights and topics discussed:
Key Takeaways:
Understanding the Customer Journey: Dr. Hill emphasized the importance of mapping and understanding the complete customer journey to identify touchpoints and opportunities for improvement.
Personalization Strategies: We discussed how to leverage data and insights to create personalized experiences that resonate with customers.
Technology Integration: Insights were shared on how inQuba’s advanced technology can streamline customer interactions and drive operational efficiency.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
From Natural Language to Structured Solr Queries using LLMsSease
This talk draws on experimentation to enable AI applications with Solr. One important use case is to use AI for better accessibility and discoverability of the data: while User eXperience techniques, lexical search improvements, and data harmonization can take organizations to a good level of accessibility, a structural (or “cognitive” gap) remains between the data user needs and the data producer constraints.
That is where AI – and most importantly, Natural Language Processing and Large Language Model techniques – could make a difference. This natural language, conversational engine could facilitate access and usage of the data leveraging the semantics of any data source.
The objective of the presentation is to propose a technical approach and a way forward to achieve this goal.
The key concept is to enable users to express their search queries in natural language, which the LLM then enriches, interprets, and translates into structured queries based on the Solr index’s metadata.
This approach leverages the LLM’s ability to understand the nuances of natural language and the structure of documents within Apache Solr.
The LLM acts as an intermediary agent, offering a transparent experience to users automatically and potentially uncovering relevant documents that conventional search methods might overlook. The presentation will include the results of this experimental work, lessons learned, best practices, and the scope of future work that should improve the approach and make it production-ready.
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving
Manufacturing custom quality metal nameplates and badges involves several standard operations. Processes include sheet prep, lithography, screening, coating, punch press and inspection. All decoration is completed in the flat sheet with adhesive and tooling operations following. The possibilities for creating unique durable nameplates are endless. How will you create your brand identity? We can help!
In our second session, we shall learn all about the main features and fundamentals of UiPath Studio that enable us to use the building blocks for any automation project.
📕 Detailed agenda:
Variables and Datatypes
Workflow Layouts
Arguments
Control Flows and Loops
Conditional Statements
💻 Extra training through UiPath Academy:
Variables, Constants, and Arguments in Studio
Control Flow in Studio
Session 1 - Intro to Robotic Process Automation.pdfUiPathCommunity
👉 Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program:
https://bit.ly/Automation_Student_Kickstart
In this session, we shall introduce you to the world of automation, the UiPath Platform, and guide you on how to install and setup UiPath Studio on your Windows PC.
📕 Detailed agenda:
What is RPA? Benefits of RPA?
RPA Applications
The UiPath End-to-End Automation Platform
UiPath Studio CE Installation and Setup
💻 Extra training through UiPath Academy:
Introduction to Automation
UiPath Business Automation Platform
Explore automation development with UiPath Studio
👉 Register here for our upcoming Session 2 on June 20: Introduction to UiPath Studio Fundamentals: https://community.uipath.com/events/details/uipath-lagos-presents-session-2-introduction-to-uipath-studio-fundamentals/
Discover top-tier mobile app development services, offering innovative solutions for iOS and Android. Enhance your business with custom, user-friendly mobile applications.
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
The Department of Veteran Affairs (VA) invited Taylor Paschal, Knowledge & Information Management Consultant at Enterprise Knowledge, to speak at a Knowledge Management Lunch and Learn hosted on June 12, 2024. All Office of Administration staff were invited to attend and received professional development credit for participating in the voluntary event.
The objectives of the Lunch and Learn presentation were to:
- Review what KM ‘is’ and ‘isn’t’
- Understand the value of KM and the benefits of engaging
- Define and reflect on your “what’s in it for me?”
- Share actionable ways you can participate in Knowledge - - Capture & Transfer
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
Introduction of Cybersecurity with OSS at Code Europe 2024
"React applications Failures", Nikita Galkin
1.
2. Nikita
Galkin
Love and Know:
▰ How to make developers and business happy
▰ Technical and process debt elimination
Believe that:
▰ Any problem must be solved at the right level
▰ Software is easy. People are hard
▰ A problem should be highlighted, an idea should
be "sold", a solution should be demonstrated
Links:
Site GitHub Twitter Facebook
2
8. Creating new
features and fixing
bugs was so difficult
that after the team
leader left,the
application was
rewritten from
scratch.
9. L
E
A
R
N
E
D
L
E
S
S
O
N
S
▰ Don't shift responsibility from
Backend to Frontend
▰ GraphQL is good for Backend for
Frontend
▰ Browser cache is the simplest
way for speed appl
11. Tech Stack
▰ React
▰ Redux Toolkit
▰ React-Bootstrap
▰ REST as protocol
▰ Nest.js on BE
▰ PostgreSQL
12. Some users have
complained that the
search shows
irrelevant results.
Others have said that
the search does not
find anything.
Development took two weeks.
Bug hunting – 3 months.
13. Bugs were on FE:
▰ Pagination state was
not reset after search
▰ Search input without
debounce
14.
15. L
E
A
R
N
E
D
L
E
S
S
O
N
S
▰ The first time you will fail a new
feature even if you are Senior.
▰ Search analytics is very useful
for business
▰ Backend logs help
23. Frontend:
▰ Custom design
▰ No CI/CD
Development:
▰ Hard integration
▰ Failed milestones
▰ Any requirement
change – refactoring
▰ The release never
happened
24. L
E
A
R
N
E
D
L
E
S
S
O
N
S
▰ Use design system with
development-ready components
▰ Make stable developer
environment
▰ Small iteration with regular
integration for testing product and
tech stack
▰ The first version will be thrown out