Bjorn Schultheiss presents on designing testable code. He discusses how to think about object-oriented design in a test-driven way, avoiding static methods, global state, and singletons which can make code difficult to test. He explains how to separate object construction from logic through dependency injection. The talk is aimed at developers creating client-side applications and helping them learn how to write unit tests that are better integrated into their development process.
Mythbusting: Understanding How We Measure Performance at MongoDBMongoDB
Benchmarking, benchmarking, benchmarking. We all do it, mostly it tells us what we want to hear but often hides a mountain of misinformation. In this talk we will walk through the pitfalls that you might find yourself in by looking at some examples where things go wrong. We will then walk through how MongoDB performance is measured, the processes and methodology and ways to present and look at the information.
We've been told many times that we should write unit tests for our code. We have read the theory and we have applied automatic testing to our projects, sometimes successfully but often times not so.
Why it seems to be so hard to test our code? However we look at it, automatic testing doesn't work like a "plug & play" peripheral. It just doesn't seem to fit with our project. A dependency is missing here; we have a hard to mock object there; and so on.
What is _that_ thing we might be doing wrong but we fail to notice?
In this talk we will argue that the problem lays in our code, in its structure, in the way we pass data around and even how we write for loops!
This won't be your everyday "code quality" tech talk, since we are going to attack the problem of code quality from different points of view and paradigms like Functional Programming and the Unix philosophy of simplicity and reuse.
2024 State of Marketing Report – by HubspotMarius Sescu
https://www.hubspot.com/state-of-marketing
· Scaling relationships and proving ROI
· Social media is the place for search, sales, and service
· Authentic influencer partnerships fuel brand growth
· The strongest connections happen via call, click, chat, and camera.
· Time saved with AI leads to more creative work
· Seeking: A single source of truth
· TLDR; Get on social, try AI, and align your systems.
· More human marketing, powered by robots
ChatGPT is a revolutionary addition to the world since its introduction in 2022. A big shift in the sector of information gathering and processing happened because of this chatbot. What is the story of ChatGPT? How is the bot responding to prompts and generating contents? Swipe through these slides prepared by Expeed Software, a web development company regarding the development and technical intricacies of ChatGPT!
Mythbusting: Understanding How We Measure Performance at MongoDBMongoDB
Benchmarking, benchmarking, benchmarking. We all do it, mostly it tells us what we want to hear but often hides a mountain of misinformation. In this talk we will walk through the pitfalls that you might find yourself in by looking at some examples where things go wrong. We will then walk through how MongoDB performance is measured, the processes and methodology and ways to present and look at the information.
We've been told many times that we should write unit tests for our code. We have read the theory and we have applied automatic testing to our projects, sometimes successfully but often times not so.
Why it seems to be so hard to test our code? However we look at it, automatic testing doesn't work like a "plug & play" peripheral. It just doesn't seem to fit with our project. A dependency is missing here; we have a hard to mock object there; and so on.
What is _that_ thing we might be doing wrong but we fail to notice?
In this talk we will argue that the problem lays in our code, in its structure, in the way we pass data around and even how we write for loops!
This won't be your everyday "code quality" tech talk, since we are going to attack the problem of code quality from different points of view and paradigms like Functional Programming and the Unix philosophy of simplicity and reuse.
2024 State of Marketing Report – by HubspotMarius Sescu
https://www.hubspot.com/state-of-marketing
· Scaling relationships and proving ROI
· Social media is the place for search, sales, and service
· Authentic influencer partnerships fuel brand growth
· The strongest connections happen via call, click, chat, and camera.
· Time saved with AI leads to more creative work
· Seeking: A single source of truth
· TLDR; Get on social, try AI, and align your systems.
· More human marketing, powered by robots
ChatGPT is a revolutionary addition to the world since its introduction in 2022. A big shift in the sector of information gathering and processing happened because of this chatbot. What is the story of ChatGPT? How is the bot responding to prompts and generating contents? Swipe through these slides prepared by Expeed Software, a web development company regarding the development and technical intricacies of ChatGPT!
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
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.
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
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 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.
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.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
The realm of product design is a constantly changing environment where technology and style intersect. Every year introduces fresh challenges and exciting trends that mold the future of this captivating art form. In this piece, we delve into the significant trends set to influence the look and functionality of product design in the year 2024.
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
Mental health has been in the news quite a bit lately. Dozens of U.S. states are currently suing Meta for contributing to the youth mental health crisis by inserting addictive features into their products, while the U.S. Surgeon General is touring the nation to bring awareness to the growing epidemic of loneliness and isolation. The country has endured periods of low national morale, such as in the 1970s when high inflation and the energy crisis worsened public sentiment following the Vietnam War. The current mood, however, feels different. Gallup recently reported that national mental health is at an all-time low, with few bright spots to lift spirits.
To better understand how Americans are feeling and their attitudes towards mental health in general, ThinkNow conducted a nationally representative quantitative survey of 1,500 respondents and found some interesting differences among ethnic, age and gender groups.
Technology
For example, 52% agree that technology and social media have a negative impact on mental health, but when broken out by race, 61% of Whites felt technology had a negative effect, and only 48% of Hispanics thought it did.
While technology has helped us keep in touch with friends and family in faraway places, it appears to have degraded our ability to connect in person. Staying connected online is a double-edged sword since the same news feed that brings us pictures of the grandkids and fluffy kittens also feeds us news about the wars in Israel and Ukraine, the dysfunction in Washington, the latest mass shooting and the climate crisis.
Hispanics may have a built-in defense against the isolation technology breeds, owing to their large, multigenerational households, strong social support systems, and tendency to use social media to stay connected with relatives abroad.
Age and Gender
When asked how individuals rate their mental health, men rate it higher than women by 11 percentage points, and Baby Boomers rank it highest at 83%, saying it’s good or excellent vs. 57% of Gen Z saying the same.
Gen Z spends the most amount of time on social media, so the notion that social media negatively affects mental health appears to be correlated. Unfortunately, Gen Z is also the generation that’s least comfortable discussing mental health concerns with healthcare professionals. Only 40% of them state they’re comfortable discussing their issues with a professional compared to 60% of Millennials and 65% of Boomers.
Race Affects Attitudes
As seen in previous research conducted by ThinkNow, Asian Americans lag other groups when it comes to awareness of mental health issues. Twenty-four percent of Asian Americans believe that having a mental health issue is a sign of weakness compared to the 16% average for all groups. Asians are also considerably less likely to be aware of mental health services in their communities (42% vs. 55%) and most likely to seek out information on social media (51% vs. 35%).
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
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.
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
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 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.
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.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
The realm of product design is a constantly changing environment where technology and style intersect. Every year introduces fresh challenges and exciting trends that mold the future of this captivating art form. In this piece, we delve into the significant trends set to influence the look and functionality of product design in the year 2024.
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
Mental health has been in the news quite a bit lately. Dozens of U.S. states are currently suing Meta for contributing to the youth mental health crisis by inserting addictive features into their products, while the U.S. Surgeon General is touring the nation to bring awareness to the growing epidemic of loneliness and isolation. The country has endured periods of low national morale, such as in the 1970s when high inflation and the energy crisis worsened public sentiment following the Vietnam War. The current mood, however, feels different. Gallup recently reported that national mental health is at an all-time low, with few bright spots to lift spirits.
To better understand how Americans are feeling and their attitudes towards mental health in general, ThinkNow conducted a nationally representative quantitative survey of 1,500 respondents and found some interesting differences among ethnic, age and gender groups.
Technology
For example, 52% agree that technology and social media have a negative impact on mental health, but when broken out by race, 61% of Whites felt technology had a negative effect, and only 48% of Hispanics thought it did.
While technology has helped us keep in touch with friends and family in faraway places, it appears to have degraded our ability to connect in person. Staying connected online is a double-edged sword since the same news feed that brings us pictures of the grandkids and fluffy kittens also feeds us news about the wars in Israel and Ukraine, the dysfunction in Washington, the latest mass shooting and the climate crisis.
Hispanics may have a built-in defense against the isolation technology breeds, owing to their large, multigenerational households, strong social support systems, and tendency to use social media to stay connected with relatives abroad.
Age and Gender
When asked how individuals rate their mental health, men rate it higher than women by 11 percentage points, and Baby Boomers rank it highest at 83%, saying it’s good or excellent vs. 57% of Gen Z saying the same.
Gen Z spends the most amount of time on social media, so the notion that social media negatively affects mental health appears to be correlated. Unfortunately, Gen Z is also the generation that’s least comfortable discussing mental health concerns with healthcare professionals. Only 40% of them state they’re comfortable discussing their issues with a professional compared to 60% of Millennials and 65% of Boomers.
Race Affects Attitudes
As seen in previous research conducted by ThinkNow, Asian Americans lag other groups when it comes to awareness of mental health issues. Twenty-four percent of Asian Americans believe that having a mental health issue is a sign of weakness compared to the 16% average for all groups. Asians are also considerably less likely to be aware of mental health services in their communities (42% vs. 55%) and most likely to seek out information on social media (51% vs. 35%).
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
This article is all about what AI trends will emerge in the field of creative operations in 2024. All the marketers and brand builders should be aware of these trends for their further use and save themselves some time!
A report by thenetworkone and Kurio.
The contributing experts and agencies are (in an alphabetical order): Sylwia Rytel, Social Media Supervisor, 180heartbeats + JUNG v MATT (PL), Sharlene Jenner, Vice President - Director of Engagement Strategy, Abelson Taylor (USA), Alex Casanovas, Digital Director, Atrevia (ES), Dora Beilin, Senior Social Strategist, Barrett Hoffher (USA), Min Seo, Campaign Director, Brand New Agency (KR), Deshé M. Gully, Associate Strategist, Day One Agency (USA), Francesca Trevisan, Strategist, Different (IT), Trevor Crossman, CX and Digital Transformation Director; Olivia Hussey, Strategic Planner; Simi Srinarula, Social Media Manager, The Hallway (AUS), James Hebbert, Managing Director, Hylink (CN / UK), Mundy Álvarez, Planning Director; Pedro Rojas, Social Media Manager; Pancho González, CCO, Inbrax (CH), Oana Oprea, Head of Digital Planning, Jam Session Agency (RO), Amy Bottrill, Social Account Director, Launch (UK), Gaby Arriaga, Founder, Leonardo1452 (MX), Shantesh S Row, Creative Director, Liwa (UAE), Rajesh Mehta, Chief Strategy Officer; Dhruv Gaur, Digital Planning Lead; Leonie Mergulhao, Account Supervisor - Social Media & PR, Medulla (IN), Aurelija Plioplytė, Head of Digital & Social, Not Perfect (LI), Daiana Khaidargaliyeva, Account Manager, Osaka Labs (UK / USA), Stefanie Söhnchen, Vice President Digital, PIABO Communications (DE), Elisabeth Winiartati, Managing Consultant, Head of Global Integrated Communications; Lydia Aprina, Account Manager, Integrated Marketing and Communications; Nita Prabowo, Account Manager, Integrated Marketing and Communications; Okhi, Web Developer, PNTR Group (ID), Kei Obusan, Insights Director; Daffi Ranandi, Insights Manager, Radarr (SG), Gautam Reghunath, Co-founder & CEO, Talented (IN), Donagh Humphreys, Head of Social and Digital Innovation, THINKHOUSE (IRE), Sarah Yim, Strategy Director, Zulu Alpha Kilo (CA).
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
The search marketing landscape is evolving rapidly with new technologies, and professionals, like you, rely on innovative paid search strategies to meet changing demands.
It’s important that you’re ready to implement new strategies in 2024.
Check this out and learn the top trends in paid search advertising that are expected to gain traction, so you can drive higher ROI more efficiently in 2024.
You’ll learn:
- The latest trends in AI and automation, and what this means for an evolving paid search ecosystem.
- New developments in privacy and data regulation.
- Emerging ad formats that are expected to make an impact next year.
Watch Sreekant Lanka from iQuanti and Irina Klein from OneMain Financial as they dive into the future of paid search and explore the trends, strategies, and technologies that will shape the search marketing landscape.
If you’re looking to assess your paid search strategy and design an industry-aligned plan for 2024, then this webinar is for you.
5 Public speaking tips from TED - Visualized summarySpeakerHub
From their humble beginnings in 1984, TED has grown into the world’s most powerful amplifier for speakers and thought-leaders to share their ideas. They have over 2,400 filmed talks (not including the 30,000+ TEDx videos) freely available online, and have hosted over 17,500 events around the world.
With over one billion views in a year, it’s no wonder that so many speakers are looking to TED for ideas on how to share their message more effectively.
The article “5 Public-Speaking Tips TED Gives Its Speakers”, by Carmine Gallo for Forbes, gives speakers five practical ways to connect with their audience, and effectively share their ideas on stage.
Whether you are gearing up to get on a TED stage yourself, or just want to master the skills that so many of their speakers possess, these tips and quotes from Chris Anderson, the TED Talks Curator, will encourage you to make the most impactful impression on your audience.
See the full article and more summaries like this on SpeakerHub here: https://speakerhub.com/blog/5-presentation-tips-ted-gives-its-speakers
See the original article on Forbes here:
http://www.forbes.com/forbes/welcome/?toURL=http://www.forbes.com/sites/carminegallo/2016/05/06/5-public-speaking-tips-ted-gives-its-speakers/&refURL=&referrer=#5c07a8221d9b
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
Everyone is in agreement that ChatGPT (and other generative AI tools) will shape the future of work. Yet there is little consensus on exactly how, when, and to what extent this technology will change our world.
Businesses that extract maximum value from ChatGPT will use it as a collaborative tool for everything from brainstorming to technical maintenance.
For individuals, now is the time to pinpoint the skills the future professional will need to thrive in the AI age.
Check out this presentation to understand what ChatGPT is, how it will shape the future of work, and how you can prepare to take advantage.
A brief introduction to DataScience with explaining of the concepts, algorithms, machine learning, supervised and unsupervised learning, clustering, statistics, data preprocessing, real-world applications etc.
It's part of a Data Science Corner Campaign where I will be discussing the fundamentals of DataScience, AIML, Statistics etc.
Time Management & Productivity - Best PracticesVit Horky
Here's my presentation on by proven best practices how to manage your work time effectively and how to improve your productivity. It includes practical tips and how to use tools such as Slack, Google Apps, Hubspot, Google Calendar, Gmail and others.
The six step guide to practical project managementMindGenius
The six step guide to practical project management
If you think managing projects is too difficult, think again.
We’ve stripped back project management processes to the
basics – to make it quicker and easier, without sacrificing
the vital ingredients for success.
“If you’re looking for some real-world guidance, then The Six Step Guide to Practical Project Management will help.”
Dr Andrew Makar, Tactical Project Management
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
During this webinar, Anand Bagmar demonstrates how AI tools such as ChatGPT can be applied to various stages of the software development life cycle (SDLC) using an eCommerce application case study. Find the on-demand recording and more info at https://applitools.info/b59
Key takeaways:
• Learn how to use ChatGPT to add AI power to your testing and test automation
• Understand the limitations of the technology and where human expertise is crucial
• Gain insight into different AI-based tools
• Adopt AI-based tools to stay relevant and optimize work for developers and testers
* ChatGPT and OpenAI belong to OpenAI, L.L.C.
2. Who am I?
Bjorn Schultheiss
Developer
Adslot
Front end developer
Flash, Flex and now even some Javascript
Large projects including http://www.adchamp.com
Topic Presenter
Designing Testable Code Bjorn Schultheiss
5. Testable code you say
This presentation will cover
• How to look at OO
• Static methods and Global State
• Separation of object construction and logic
• Constructor Injection vs Setter Injection
• Presentation Model
Topic Presenter
Designing Testable Code Bjorn Schultheiss
7. And why would I be interested?
This presentation is targeted at
• Any developer creating heavy client side applications
• Focused specifically on Flex but the same principals
apply to other web languages and frameworks
• you love that feeling from watching a test pass
Topic Presenter
Designing Testable Code Bjorn Schultheiss
8. Tell me about Flex Unit
This talk is not about Flexunit
• Flex developer’s best friend
• Created by the community
• Endorsed by Adobe (integrated in FB)
• Easy to get started with
Topic Presenter
Designing Testable Code Bjorn Schultheiss
10. What are unit tests?
Topic Presenter
Designing Testable Code Bjorn Schultheiss
11. I knew you cowboys were here
Topic
Designing Testable Code
Presenter
Bjorn Schultheiss
12. • They are written by software engineers, not test
engineers.
• They are better written as you code, not after you’ve
finished
Topic Presenter
Designing Testable Code Bjorn Schultheiss
13. The only good excuse not to be writing them is because
you don’t know how.
Topic Presenter
Designing Testable Code Bjorn Schultheiss
14. So what do i need to know?
Topic Presenter
Designing Testable Code Bjorn Schultheiss
15. How to think about OO
• OO is about the relationship between data and
code
• data represents the state of an object
• code modifies that state
Topic Presenter
Designing Testable Code Bjorn Schultheiss
16. Procedural
public class ImageEditor
{
public function crop(image:Bitmap, size:Rectangle):Bitmap
{
// do something
}
Topic Presenter
Designing Testable Code Bjorn Schultheiss
17. Better
public class ImageEditor
{
private var _image:Bitmap;
public function ImageEditor(image:Bitmap) {
_image = image;
}
public function crop(size:Rectangle):void
{
// do something
}
}
Topic Presenter
Designing Testable Code Bjorn Schultheiss
18. Global State
• Object state is subject to garbage collection
• Global state is subject to life of the session
Topic Presenter
Designing Testable Code Bjorn Schultheiss
19. Global State
a = new X() -->
Topic Presenter
Designing Testable Code Bjorn Schultheiss
20. Global State
Y
a = new X() --> Z
X
Q
Topic Presenter
Designing Testable Code Bjorn Schultheiss
21. Global State
Y
a = new X() --> Z
X
Q
b = new X() -->
Topic Presenter
Designing Testable Code Bjorn Schultheiss
22. Global State
Y
a = new X() --> Z
X
Q
Y
b = new X() --> Z
X
Q
Topic Presenter
Designing Testable Code Bjorn Schultheiss
23. Global State
Y
a = new X() --> Z
a.doSomething(); X
Q
Y
b = new X() --> Z
X
Q
Topic Presenter
Designing Testable Code Bjorn Schultheiss
24. Global State
Y
a = new X() --> Z
a.doSomething(); X
Q
Y
b = new X() --> Z
b.doSomething(); X
Q
Topic Presenter
Designing Testable Code Bjorn Schultheiss
25. Global State
Y
a = new X() --> Z
a.doSomething(); X
Q
a == b
Y
b = new X() --> Z
b.doSomething(); X
Q
Topic Presenter
Designing Testable Code Bjorn Schultheiss
26. Global State
Y
a = new X() --> Z
a.doSomething(); X
Q
GS
a == b
Y
b = new X() --> Z
b.doSomething(); X
Q
Topic Presenter
Designing Testable Code Bjorn Schultheiss
27. Global State
• Inconsistent results
• Order of tests matter
• Something the tester doesn’t control
Topic Presenter
Designing Testable Code Bjorn Schultheiss
31. package
{
public class AppSettings
{
private static const _instance:AppSettings = new AppSettings(Lock);
private var _state1:Object;
private var _state2:Object;
private var _state3:Object;
public static function get instance():AppSettings {
return _instance;
}
public function AppSettings(lock:Class) {
if (lock!=Lock) throw new Error("cannot unlock");
}
}
}
internal class Lock {}
Topic Presenter
Designing Testable Code Bjorn Schultheiss
32. Singletons
• Singletons use global state
• the test doesn’t control the instantion of the
process
Topic Presenter
Designing Testable Code Bjorn Schultheiss
33. package
{
public class AppSettings
{
private static const _instance:AppSettings = new AppSettings(Lock);
private var _state1:Object;
private var _state2:Object;
private var _state3:Object;
public static function get instance():AppSettings {
return _instance;
}
public function AppSettings(lock:Class) {
if (lock!=Lock) throw new Error("cannot unlock");
}
}
}
internal class Lock {}
Topic Presenter
Designing Testable Code Bjorn Schultheiss
34. Singletons
• Singletons use global state
• the test doesn’t control the instantion of the
process
• secret collaborators
Topic Presenter
Designing Testable Code Bjorn Schultheiss
35. public class CreditCard
{
private var _gateway:PaymentGateway;
public function CreditCard()
{
gateway = ServiceLocator.getInstance().gateway;
}
public function chargeCard(value:Number):void
{
gateway.performTransaction(value);
}
}
var cc:CreditCard = new CreditCard();
cc.chargeCard(10);
Topic Presenter
Designing Testable Code Bjorn Schultheiss
36. Singletons
• Singletons use global state
• the test doesn’t control the instantion of the
process
• secret collaborators
• you may know the dependencies, but anyone that
comes after you is baffled!
Topic Presenter
Designing Testable Code Bjorn Schultheiss
40. Locator in action
class House {
public function House(locator:Locator) {
// what needs to be mocked in test?
}
}
Topic Presenter
Designing Testable Code Bjorn Schultheiss
41. Use revealed
class House {
private var _door:Door;
private var _roof:Roof;
private var _window:Window
public function House(locator:Locator) { API gave us
_door = locator.getDoor();
_roof = locator.getRoof(); no help
_window = locator.getWindow();
}
}
Topic Presenter
Designing Testable Code Bjorn Schultheiss
42. An API that helps
class House {
private var _door:Door;
private var _roof:Roof;
private var _window:Window
public function House(door:Door, roof:Roof, window:Window) {
_door = door;
_roof = roof;
_window = window;
}
}
Topic Presenter
Designing Testable Code Bjorn Schultheiss
43. Similar Anti-Patterns
I didn’t ask for that!!
• aka Locator
• aka Context
• aka Manager
• Hides true dependencies
• Breaks law of demeter
Topic Presenter
Designing Testable Code Bjorn Schultheiss
44. Constructor vs Setter injection
• An order of instantiation
Topic Presenter
Designing Testable Code Bjorn Schultheiss
45. Setter example
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.collections.IList;
import mx.rpc.AsyncToken;
public var userService:Service;
public function findUsers():void {
userService.findAll();
userService.addEventListener("onResult", onResult);
}
public function onResult(result:Object):void {
users.dataprovider = new ArrayCollection(result);
}
]]>
</fx:Script>
<s:Button label="find all users" click="findUsers();" />
<s:List id="users" />
</s:Group>
Topic Presenter
Designing Testable Code Bjorn Schultheiss
46. Constructor example
public class ShowUserModel
{
[Bindable]
public var users:IList;
private var _service:Service;
public function ShowUserModel(service:Service)
{
_service = service;
_service.addEventListener("onResult", onResult);
}
public function findUsers():void
{
_service.findAll();
}
private function onResult(result:Object):void {
users = new ArrayCollection(result);
}
}
Topic Presenter
Designing Testable Code Bjorn Schultheiss
47. Instantiation example
[Test]
public function testShowUsersComponent():void
{
var service:Service = new Service("Users");
var component:ShowUsersComponent = new ShowUsersComponent();
component.service = service;
component.findUsers();
}
[Test]
public function testShowUsersModel():void
{
var service:Service = new Service("Users");
var model:ShowUsersModel = new ShowUsersModel(service);
model.findUsers();
}
Topic Presenter
Designing Testable Code Bjorn Schultheiss
48. How does this relate to unit
testing?
Topic Presenter
Designing Testable Code Bjorn Schultheiss
49. How does this relate to unit
testing?
Unit testing as the name
implies you test a Class (unit)
in isolation
Topic Presenter
Designing Testable Code Bjorn Schultheiss
50. If your class mixes Object
construction and logic you will
never be able to achieve
isolation
Topic Presenter
Designing Testable Code Bjorn Schultheiss
51. In order to unit test you
need to separate your
object graph construction
from the logic into 2
different classes
Topic Presenter
Designing Testable Code Bjorn Schultheiss
52. The end goal is to have classes with either logic or “new”
operators
Topic Presenter
Designing Testable Code Bjorn Schultheiss
53. Construction and logic mixed
public class House
{
private var _kitchen:Kitchen = new Kitchen();
private var _isLocked:Boolean;
public function get isLocked():Boolean {
return _isLocked;
}
public function lock() {
_kitchen.lock();
_isLocked = true;
}
}
Topic Presenter
Designing Testable Code Bjorn Schultheiss
54. Injection example
public class House
{
private var _kitchen:Kitchen;
private var _isLocked:Boolean;
public function House(kitchen:Kitchen) {
_kitchen = kitchen;
}
public function get isLocked():Boolean {
return _isLocked;
}
public function lock() {
_kitchen.lock();
_isLocked = true;
}
}
Topic Presenter
Designing Testable Code Bjorn Schultheiss
55. Construction example
function build():House {
return new House(new Kitchen(
new Sink(),
new Dishwasher(),
new Refrigerator())
);
}
Topic Presenter
Designing Testable Code Bjorn Schultheiss
56. lets look at writing a unit test
Topic Presenter
Designing Testable Code Bjorn Schultheiss
57. Writing a unit test
to test a method first you need to instantiate an object
• Specifically the class or component to be tested
• Any collaborators (real or mock).
Topic Presenter
Designing Testable Code Bjorn Schultheiss
58. [Test]
public function testHouse():void
{
var kitchen:Kitchen = new Kitchen();
var house:House = new House(kitchen);
house.testMethod();
}
Topic Presenter
Designing Testable Code Bjorn Schultheiss
60. Spare me
Topic
Designing Testable Code
Presenter
Bjorn Schultheiss
61. Testing UI Components
Possible but generally a pain, why?
• test a style is applied
• mimic user interaction
• logic is is mixed with view
Topic Presenter
Designing Testable Code Bjorn Schultheiss
62. [Before(async,ui)]
public function setUp() : void
{
myButton = new MyButton();
Async.proceedOnEvent( this, myButton, FlexEvent.CREATION_COMPLETE, 100 );
UIImpersonator.addChild( myButton );
}
[Test(async,ui)]
public function myButton_myStyle_defaultValue() : void
{
Assert.assertEquals( myButton.getStyle( "myStyle" ), "expectedDefaultValue" );
}
Topic Presenter
Designing Testable Code Bjorn Schultheiss
64. Presentation Models
http://martinfowler.com/eaaDev/PresentationModel.html
Represent the state and behaviour of the presentation independently of the GUI controls
used in the interface
• uses Binding to interact with view
• also handles events from view
• a pattern used in popular frameworks
• great for unit testing
Topic Presenter
Designing Testable Code Bjorn Schultheiss
65. Presentation Model example
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009">
package presentation
<fx:Script>
{
<![CDATA[
[Bindable]
import presentation.HelloWorldModel;
public class HelloWorldModel
[Bindable]
{
public var model:HelloWorldModel;
public var label:String = "Hello";
]]>
</fx:Script>
public function clickHandler():void
<s:Label text="{ model.label }"
{
click="model.clickHandler();" />
trace("Is it me your looking for?");
</s:Group>
}
}
}
Topic Presenter
Designing Testable Code Bjorn Schultheiss
66. Business logic and PM’s
Leave me out of it!
• Presentation Models and Views have a 1 to 1
relationship
• Business logic is best separated from PM’s
• PM’s know about Business/Application classes,
those classes know nothing about PM’s
Topic Presenter
Designing Testable Code Bjorn Schultheiss
67. Well on your way
Topic
Designing Testable Code
Presenter
Bjorn Schultheiss
I want to talk about future development opportunities for the adbuilder,\nmore premium engaging forms of advertising, and how to use html as an\noption for ad deployment.\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
- doesnt interact with class data\n- users passed in to method\n