Post Syndicated from The Hook Up original https://www.youtube.com/watch?v=GFxB0cDkw-s
Comic for 2024.06.07 – Turn On The News
Post Syndicated from Explosm.net original https://explosm.net/comics/turn-on-the-news
New Cyanide and Happiness Comic
[$] Modernizing BPF for the next 10 years
Post Syndicated from daroc original https://lwn.net/Articles/977013/
BPF was first
generalized beyond packet filtering more than a decade ago. In that time, it
has changed a lot, becoming much more capable.
Alexei Starovoitov kicked off the second day of the BPF track at the 2024
Linux Storage,
Filesystem, Memory Management, and BPF Summit by leading a session
discussing which changes to BPF are going to come in the next ten years as it
continues evolving. He proposed several ideas, including expanding the number of
registers available to BPF programs, dynamic deadlock detection, and relaxing
some existing limits of the verifier.
Security updates for Friday
Post Syndicated from daroc original https://lwn.net/Articles/977555/
Security updates have been issued by Mageia (libtiff), Oracle (cockpit, glibc, kernel, less, libxml2, linux-kernel, and tomcat), Red Hat (java-1.8.0-ibm, nghttp2, and ruby:3.3), Slackware (php), SUSE (go1.21, go1.22, and python-docker), and Ubuntu (aom and libvpx).
Световно кино в София – три акцента от СПФФ
Post Syndicated from Нева Мичева original https://www.toest.bg/tri-aktsenta-ot-sofia-pride-film-fest/

Четиринайсетото издание на „София Прайд Филм Фест“ (4–15 юни 2024 г.) започна в Дома на киното с превъзходна селекция от 10 пълнометражни филма и 15 късометражки. Хубавото е, че програматорите Симеон Цончев и Яна Алексиева и организаторите от „Действие“ дават шанс в България да се види работата на изключително актуални творци – онова, което се гледа по големите фестивали и се отличава със заслужените награди. Лошото е, че всеки филм има само по една прожекция.
По-долу ще хвърлим поглед върху няколко от предложенията на СПФФ. Първо обаче е важно да уточним: макар те да са събрани тематично (ЛГБТИ+) и да се показват в месеца, в който ще се състои „София прайд“, съвкупността им не е наръч от памфлети или образователни материали, а адекватна извадка от най-интересното в съвременното кино. Обстоятелството, че ще научим нещо за хора, които не познаваме, или ще проумеем по-ясно онези, с които живеем (включително себе си), открай време е бонус към доброто кино, не негов фокус. Както и в случая.

4 юни: македонецът от Австралия
Детството на Горан Столевски (р. 1985) минава в Тетово до 12-годишна възраст, когато родителите му емигрират в Мелбърн. Ето защо той понастоящем е една от големите надежди на австралийското кино, а третият му филм – „Домакинство за начинаещи“, стана най-новото предложение на Северна Македония за Оскарите. Него именно гледахме в София на откриването на СПФФ, но преди да се спрем на хубавините му, сме длъжни да споменем двата филма на Столевски от 2022-ра.
„Няма да си сама“, пълнометражният му дебют (Сънданс), е мрачна приказка от Балканите през ХIХ в., в която вещица се намъква от тяло в тяло и от съдба в съдба от любов към живота, но в заговор със смъртта – дори под твърдите жанрови конвенции (фентъзи, хорър) си личи талантът на Столевски да борави с емоциите на персонажите и на публиката. Вторият – „На тази възраст“, е една от най-правдоподобните, вълнуващи и красиво заснети любовни истории, попадали на широк екран. Действието се развива в Австралия между двама млади мъже, които дълбоко преживяват случайното пресичане на твърде различните си пътища…
Обаятелният „Домакинство за начинаещи“ (премиера във Венеция 2023) е нагледното доказателство, че Столевски израства като разказвач от филм на филм. В голяма къща съжителстват като странно дисфункционално семейство няколко души, които отначало е трудно да бъдат изброени и разтълкувани: Дита, собственичката; приятелката ѝ, яростната Суада, която ѝ „завещава“ двете си деца (деветокласничката Ванеса и малката Мия); три устати тийнейджърки с неясна връзка помежду си и с останалите; Тони, сърдит на живота мъж; приказният Али, новодошъл младеж от „Шутка“.
Това, което отначало прилича на брауново движение, в един момент се избистря: тези ругаещи, пушещи, сумтящи, дърпащи във всички посоки хора са клан, в който обичта е дошла през болката и е станала единственото непоклатимо нещо. Кастът от актьори и натуршчици (изпълнители без професионална подготовка за сцената или екрана и най-често без намерения за кариера в актьорството) е отличен; говорят се няколко езика; казват се насъщни като дишането истини: от другия винаги ще имаме нужда. Цялото човечество е едно странно дисфункционално семейство.

7 юни: аржентинката без граници
Това, което пропагандистите на омразата се опитват да направят най-напред, е да лишат човека от човещината му. От лице, биография, глас и сърце. Лола Ариас (р. 1976) върви в точно обратната посока. Тя взема типично отхвърлените, които сме приучени да не поглеждаме, да не изслушваме и да не отчитаме – и им връща сърцето, гласа, биографията, лицето. Ариас – която досега се е изявявала успешно като литератор, куратор, драматург (тя е тазгодишната носителка на „Ибсен“, най-щедрата международна театрална награда) и кинорежисьор (премиерите и на двата ѝ филма бяха в Берлин) – твърди, че се смята за артист, който си служи с инструментите на всички изкуства, за да разказва.
Така беше в „Театърът на войната“ (буквален превод на нещо, което иначе бихме дали като „арена на бойни действия“): трима аржентински и трима английски ветерани от войната за Малвините се събират 30 години по-късно и споделят наблюдения, кратки пътешествия, песен и тъги в една история, която е колкото документална, толкова и „поставена“. Така е и в „Обвиняеми“, който предстои на СПФФ: дузина жени с излежани присъди в Буенос Айрес са събрани в общ декор и разсъждават, учат, спомнят си, разрешават спорове с танц, изразяват чувства в песен.
В „Обвиняеми“ авторката е синтезирала материала още по-добре, отколкото в „Театърът на войната“: мястото и действието са по-прибрани, изведен е сюжет – току-що осъдената Йосели пристига в затвора и става причина другите жени да отворят дума за живота си (началото е посрещането ѝ, финалът – изпращането). Документален мюзикъл, така го нарича Ариас: „Исках да направя филм за женски затвор, без да възпроизвеждам стигматизацията. Чрез песни, в основата на които е опитът на героините, и хореография, разработена заедно с тях, реалният живот се превърна във фикция.“ Неизбежните ограничения на този подход са използвани за опора и рамка; резултатът е пробуждащ.
„Единственият начин да се помогне на тия хора в затворите – и на хората извън затворите също – е да им бъде припомнено, че те са и нещо друго, нещо повече от това, което са извършили, нещо различно от наплашено стадо виновни жертви“, както казваше в първата си книга танцьорката Ана Лий Евънс. (Ана е българка, затворът е Сливенският, където по едно време тя поставя танцов спектакъл, а книгата ѝ „Фламенко в затвора“ е животворно събитие.)

14 юни: българинът от Испания
Една от големите трагедии на човечеството като цяло и по-конкретно на България е как част от хората допускат, че знаят какво представляват, искат и могат друга част от хората, особено най-непознатите. Така се сеят ветрове и се жънат бури, вместо през разговор да се стигне до разбиране, а през разбиране – до сътрудничество; вместо, казано още по-просто, да се види как различието да се превърне в богатство.
Голяма част от родната ни „култура на общуване“ понастоящем стъпва на опозиции добро–лошо, в чиято основа е точно принципът на подценяване поради непознаване: столица срещу провинция, град срещу село, заможен срещу незаможен, як срещу слаботелесен, бял срещу мургав, мъж срещу жена, овластен срещу редови, интелектуалец срещу работяга, пътувал срещу уседнал и пр., и пр. И те всички действат в двете посоки (макар че зъбенето на по-привилегированите обикновено е по-опасно от зъбенето на другите).
„Любен“, пълнометражният игрален дебют на Венци Д. Костов (р. 1987) – отрасъл в Малага и работил главно в телевизията и в театъра, – се захваща директно с една от най-обичаните омрази по нашите ширини: малцинствата. Филмът е, както коментираха във „Фотограмас“, най-престижното списание за кино в Испания (където той отдавна мина по кината, за разлика от България), „малка социална мелодрама… за емиграция, расизъм и хомосексуалност“. Млад мъж се връща от чужбина за лятото – на село, при баща си, с когото отдавна не са се виждали. Запознава се с очарователен ромски съсед и се оказва във въртележка от случки, които нито е търсил, нито може да овладее…
Натуршчикът Божидар Асенов има великолепни попадения като Любен (вж. чудната завръзка, магнетична и смешна, когато той рецитира азбуката, за да впечатли събеседника си); Димитър Баненкин като бащата прави най-хубавата и многоизмерна роля в целия филм (историята за къщата за децата, в която е вложил устрема на целия си живот, но която в залеза на живота му пустее, защото децата са в странство, е историята на цяла България); Димитър Николов в образа на гостуващия Виктор е на моменти силен, на моменти просто присъстващ, което може би е и нужно за колебливия му герой.
Това е първият български филм, който разказва недвусмислено за влюбването на двама мъже, и ако трябва да го поместя някъде по ска̀лата между други два сюжета от региона за подобна връзка, за които се сещам – разпиления, безвкусен „Българските любовници“ на Елой де ла Иглесия (Испания, 2003), и смелия, трудно окачествим „Войници. Разказ от Ферентар“ на Ивана Младенович (Румъния, 2017), – бих го разположила някъде откъм страната на втория, защото е повествователно неукрепнал, но пълен с потенциал. „За да разчупим клишетата, трябва да минем през тях, не да ги прескачаме“, каза Венци Д. Костов за избора си да постави своите герои в ситуации, които до голяма степен биха се очаквали. И вероятно е прав.
Любопитен факт: преди година „Любен“ спечели наградата на публиката на 8-мия кинофестивал в Бургас, малко след като в София група недоразбрали разиграха сценка и осуетиха прожекцията на прекрасния „Близо“ – разказ за вредата именно от разиграването на сценки от недоразбрали. Явно истинските почитатели на киното не просто не бягат с писъци от възможността за замисляне, а и я търсят съзнателно.
И другите
Сред останалите заглавия от СПФФ е добре да отбележим поне „Сребриста мъгла“ на 8 юни (игрална драма с високо документално съдържание на холандката Саша Полак, от селекцията на Берлинале 2023), „Мелез“ на 12 юни (дебюта на нюйоркчанина Вук Лунгулов–Клоц с награда от Сънданс 2023) и грузинско-турското „Пресичане“ на 15 юни (Берлинале 2024, реж. Леван Акин, когото познаваме от сърдечния „И след това танцувахме“).
Другите са като теб и могат да бъдат обичани. Другите не са като теб и могат да бъдат обичани. Ето за какво говори изкуството с душа; ето за какво говори подборката на тазгодишния „София Прайд Филм Фест“.
Imagining students’ progression in the era of generative AI
Post Syndicated from Sarah Millar original https://www.raspberrypi.org/blog/students-progression-generative-ai-computing-education-brett-becker/
Generative artificial intelligence (AI) tools are becoming more easily accessible to learners and educators, and increasingly better at generating code solutions to programming tasks, code explanations, computing lesson plans, and other learning resources. This raises many questions for educators in terms of what and how we teach students about computing and AI, and AI’s impact on assessment, plagiarism, and learning objectives.

We were honoured to have Professor Brett Becker (University College Dublin) join us as part of our ‘Teaching programming (with or without AI)’ seminar series. He is uniquely placed to comment on teaching computing using AI tools, having been involved in many initiatives relevant to computing education at different levels, in Ireland and beyond.

Brett’s talk focused on what educators and education systems need to do to prepare all students — not just those studying Computing — so that they are equipped with sufficient knowledge about AI to make their way from primary school to secondary and beyond, whether it be university, technical qualifications, or work.
How do AI tools currently perform?
Brett began his talk by illustrating the increase in performance of large language models (LLMs) in solving first-year undergraduate programming exercises: he compared the findings from two recent studies he was involved in as part of an ITiCSE Working Group. In the first study — from 2021 — the results generated by GPT-3 were similar to those of students in the top quartile. By the second study in 2023, GPT-4’s performance matched that of a top student (Figure 1).

Figure 1: Student scores on Exam 1 and Exam 2, represented by circles. GPT-3’s 2021 score is represented by the blue ‘x’, and GPT-4’s 2023 score on the same questions is represented by the red ‘x’.
Brett also explained that the study found some models were capable of solving current undergraduate programming assessments almost error-free, and could solve the Irish Leaving Certificate and UK A level Computer Science exams.
What are challenges and opportunities for education?
This level of performance raises many questions for computing educators about what is taught and how to assess students’ learning. To address this, Brett referred to his 2023 paper, which included findings from a literature review and a survey on students’ and instructors’ attitudes towards using LLMs in computing education. This analysis has helped him identify several opportunities as well as the ethical challenges education systems face regarding generative AI.
The opportunities include:
- The generation of unique content, lesson plans, programming tasks, or feedback to help educators with workload and productivity
- More accessible content and tools generated by AI apps to make Computing more broadly accessible to more students
- More engaging and meaningful student learning experiences, including using generative AI to enable creativity and using conversational agents to augment students’ learning
- The impact on assessment practices, both in terms of automating the marking of current assessments as well as reconsidering what is assessed and how
Some of the challenges include:
- The lack of reliability and accuracy of outputs from generative AI tools
- The need to educate everyone about AI to create a baseline level of understanding
- The legal and ethical implications of using AI in computing education and beyond
- How to deal with questionable or even intentionally harmful uses of AI and mitigating the consequences of such uses
Programming as a basic skill for all subjects
Next, Brett talked about concrete actions that he thinks we need to take in response to these opportunities and challenges.
He emphasised our responsibility to keep students safe. One way to do this is to empower all students with a baseline level of knowledge about AI, at an age-appropriate level, to enable them to keep themselves safe.

He also discussed the increased relevance of programming to all subjects, not only Computing, in a similar way to how reading and mathematics transcend the boundaries of their subjects, and the need he sees to adapt subjects and curricula to that effect.
As an example of how rapidly curricula may need to change with increasing AI use by students, Brett looked at the Irish Computer science specification for “senior cycle” (final two years of second-level, ages 16–18). This curriculum was developed in 2018 and remains a strong computing curriculum in Brett’s opinion. However, he pointed out that it only contains a single learning outcome on AI.
To help educators bridge this gap, in the book Brett wrote alongside Keith Quille to accompany the curriculum, they included two chapters dedicated to AI, machine learning, and ethics and computing. Brett believes these types of additional resources may be instrumental for teaching and learning about AI as resources are more adaptable and easier to update than curricula.
Generative AI in computing education
Taking the opportunity to use generative AI to reimagine new types of programming problems, Brett and colleagues have developed Promptly, a tool that allows students to practise prompting AI code generators. This tool provides a combined approach to learning about generative AI while learning programming with an AI tool.
Promptly is intended to help students learn how to write effective prompts. It encourages students to specify and decompose the programming problem they want to solve, read the code generated, compare it with test cases to discern why it is failing (if it is), and then update their prompt accordingly (Figure 2).

Figure 2: Example of a student’s use of Promptly.
Early undergraduate student feedback points to Promptly being a useful way to teach programming concepts and encourage metacognitive programming skills. The tool is further described in a paper, and whilst the initial evaluation was aimed at undergraduate students, Brett positioned it as a secondary school–level tool as well.
Brett hopes that by using generative AI tools like this, it will be possible to better equip a larger and more diverse pool of students to engage with computing.
Re-examining the concept of programming
Brett concluded his seminar by broadening the relevance of programming to all learners, while challenging us to expand our perspectives of what programming is. If we define programming as a way of prompting a machine to get an output, LLMs allow all of us to do so without the need for learning the syntax of traditional programming languages. Taking that view, Brett left us with a question to consider: “How do we prepare for this from an educational perspective?”
You can watch Brett’s presentation here:
Join our next seminar
The focus of our ongoing seminar series is on teaching programming with or without AI.
For our next seminar on Tuesday 11 June at 17:00 to 18:30 GMT, we’re joined by Veronica Cucuiat (Raspberry Pi Foundation), who will talk about whether LLMs could be employed to help understand programming error messages, which can present a significant obstacle to anyone new to coding, especially young people.
To take part in the seminar, click the button below to sign up, and we will send you information about how to join. We hope to see you there.
The schedule of our upcoming seminars is online. You can catch up on past seminars on our blog and on the previous seminars and recordings page.
The post Imagining students’ progression in the era of generative AI appeared first on Raspberry Pi Foundation.
Today In History: June 7
Post Syndicated from The History Guy: History Deserves to Be Remembered original https://www.youtube.com/watch?v=9cd34gN-_0I
Five troubleshooting examples with Amazon Q
Post Syndicated from Brendan Jenkins original https://aws.amazon.com/blogs/devops/five-troubleshooting-examples-with-amazon-q/
Operators, administrators, developers, and many other personas leveraging AWS come across multiple common issues when it comes to troubleshooting in the AWS Console. To help alleviate this burden, AWS released Amazon Q. Amazon Q is AWS’s generative AI-powered assistant that helps make your organizational data more accessible, write code, answer questions, generate content, solve problems, manage AWS resources, and take action. A component of Amazon Q is Amazon Q Developer. Amazon Q Developer reimagines your experience across the entire development lifecycle, including having the ability to help you understand errors and remediate them in the AWS Management Console. Additionally, Amazon Q also provides access to opening new AWS support cases to address your AWS questions if further troubleshooting help is needed.
In this blog post, we will highlight the five troubleshooting examples with Amazon Q. Specific use cases that will be covered include: EC2 SSH connection issues, VPC Network troubleshooting, IAM Permission troubleshooting, AWS Lambda troubleshooting, and troubleshooting S3 errors.
Prerequisites
To follow along with these examples, the following prerequisites are required:
Five troubleshooting examples with Amazon Q
In this section, we will be covering the examples previously mentioned in the AWS Console.
Note: This feature is only available in US West (Oregon) AWS Region during preview for errors that arise while using the following services in the AWS Management Console: Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS), Amazon Simple Storage Service (Amazon S3), and AWS Lambda.
EC2 SSH connection issues
In this section, we will show an example of troubleshooting an EC2 SSH connection issue. If you haven’t already, please be sure to create an Amazon EC2 instance for the purpose of this walkthrough.
First, sign into the AWS console and navigate to the us-west-2 region then click on the Amazon Q icon in the right sidebar on the AWS Management Console as shown below in figure 1.

Figure 1 – Opening Amazon Q chat in the console
With the Amazon Q chat open, we enter the following prompt below:
Prompt:
"Why cant I SSH into my EC2 instance <insert Instance ID here>?"
Note: you can obtain the instance ID from within EC2 service in the console.
We now get a response up stating: “It looks like you need help with network connectivity issues. Amazon Q works with VPC Reachability Analyzer to provide an interactive generative AI experience for troubleshooting network connectivity issues. You can try the preview experience here (available in US East N. Virginia Region).”
Click on the preview experience here URL from Amazon Qs response.

Figure 2 – Prompting Q chat in the console.
Now, Amazon Q will run an analysis for connectivity between the internet and your EC2 instance. Find a sample response from Amazon Q below:

Figure 3 – Response from Amazon Q network troubleshooting
Toward the end of the explanation from Amazon Q, it states that it checked the security groups for allowing inbound traffic from port 22 and was blocked from accessing.
Figure 4 – Response from Amazon Q network troubleshooting cont.
As a best practice, you will want to follow AWS prescriptive guidance on adding rules for inbound SSH traffic for resolving an issue like this.
VPC Network troubleshooting
In this section, we will show how to troubleshoot a VPC network connection issue.
In this example, I have two EC2 instances, Server-1-demo and Server-2-demo in two separate VPCs shown below in figure 5. I want to leverage amazon Q troubleshooting to understand why these two instances cannot communicate with each other.

Figure 5 – two EC2 instances
First, we navigate to the AWS console and click on the Amazon Q icon in the right sidebar on the AWS Management Console as shown below in figure 1.

Figure 6 – Opening Amazon Q chat in the console
Now, with the Q console chat open, I enter the following prompt for Amazon Q below to help understand the connectivity issue between the servers:
Prompt:
"Why cant my Server-1-demo communicate with Server-2-demo?"

Figure 7 – prompt for Amazon Q connectivity troubleshooting
Now, click the preview experience here hyperlink to be redirected to the Amazon Q network troubleshooting – preview. Amazon Q troubleshooting will now generate a response as shown below in Figure 8.
Figure 8 – connectivity troubleshooting response generated by Amazon Q
In the response, Amazon Q states, “It sounds like you are troubleshooting connectivity between Server-1-demo and Server-2-demo. Based on the previous context, these instances are in different VPCs which could explain why TCP testing previously did not resolve the issue, if a peering connection is not established between the VPCs.“
So, we need to establish a VPC peering connection between the two instances since they are in different VPCs.
IAM Permission troubleshooting
Now, let’s take a look at how Amazon Q can help resolve IAM Permission issues.
In this example, I’m creating a cluster with Amazon Elastic Container Service (ECS). I chose to deploy my containers on Amazon EC2 instances, which prompted some configuration options, including whether I wanted an SSH Key pair. I chose to “Create a new key pair”.

Figure 9 – Configuring ECS key pair
That opens up a new tab in the EC2 console.

Figure 10 – Creating ECS key pair
But when I tried to create the SSH. I got the error below:

Figure 11 – ECS console error
So, I clicked the link to “Troubleshoot with Amazon Q” which revealed an explanation as to why my user was not able to create the SSH key pair and the specific permissions that were missing.

Figure 12 – Amazon Q troubleshooting analysis
So, I clicked the “Help me resolve” link ad I got the following steps.

Figure 13 – Amazon Q troubleshooting resolution
Even though my user had permissions to use Amazon ECS, the user also needs certain permission permissions in the Amazon EC2 services as well, specifically ec2:CreateKeyPair. By only enabling the specific action required for this IAM user, your organization can follow the best practice of least privilege.
Lambda troubleshooting
Another area Amazon Q can help is with AWS Lambda errors when doing development work in the AWS Console. Users may find issues with things like missing configurations, environment variables, and code typos. With Amazon Q, it can help you fix and troubleshoot these issues with step by step guidance on how to fix it.
In this example, in the us-west-2 region, we have created a new lambda function called demo_function_blog in the console with the Python 3.12 runtime. The following code below is included with a missing lambda layer for AWS pandas.
Lambda Code:
import json
import pandas as pd
def lambda_handler(event, context):
data = {'Name': ['John', 'Jane', 'Jim'],'Age': [25, 30, 35]}
df = pd.DataFrame(data)
print(df.head()) # print first five rows
return {
'statusCode': 200,
'body': json.dumps("execution successful!")
}
Now, we configure a test event to test the following code within the lambda console called test-event as shown below in figure 14.

Figure 14 – configuring test event
Now that the test event is created, we can move over to the Test tab in the lambda console and click the Test button. We will then see an error (intended) and we will click on the Troubleshoot with Amazon Q button as shown below in figure 15.

Figure 15 – Lambda Error
Now we will be able to see Amazon Qs analysis of the issue. It states “It appears that the Lambda function is missing a dependency. The error message indicates that the function code requires the ‘pandas’ module, ….”. Click Help me resolve to get step by step instructions on the fix as shown below in figure 16.

Figure 16 – Amazon Q Analysis
Amazon Q will then generate a step-by-step resolution on how to the fix the error as shown below in figure 17.

Figure 17 – Amazon Q Resolution
Following with Amazon Q’s recommendations, we need to add a new lambda layer for the pandas dependency as shown below in figure 18:

Figure 18 – Updating lambda layer
Once updated, go to the Test tab once again and click Test. The function code should now run successfully as shown below in figure 19:

Figure 19 – Lambda function successfully run
Check out the Amazon Q immersion day for more examples of Lambda troubleshooting.
Troubleshooting S3 Errors
While working with Amazon S3, users might encounter errors that can disrupt the smooth functioning of their operations. Identifying and resolving these issues promptly is crucial for ensuring uninterrupted access to S3 resources. Amazon Q, a powerful tool, offers a seamless way to troubleshoot errors across various AWS services, including Amazon S3.
In this example we use Q to troubleshoot S3 Replication rule configuration error. Imagine you’re attempting to configure a replication rule for an Amazon S3 bucket, and configuration fails. You can turn to Amazon Q for assistance. If you receive an error that Amazon Q can help with, a Troubleshoot with Amazon Q button appears in the error message. Navigate to the Amazon S3 service in the console to follow along with this example if it applies to your use case.

Figure 20 – S3 console error
To use Amazon Q to troubleshoot, choose Troubleshoot with Amazon Q to proceed. A window appears where Amazon Q provides information about the error titled “Analysis“.
Amazon Q diagnosed that the error occurred because versioning is not enabled for the source bucket specified. Versioning must be enabled on the source bucket in order to replicate objects from that bucket.
Amazon Q also provides an overview on how to resolve this error. To see detailed steps for how to resolve the error, choose Help me resolve.

Figure 21 – Amazon Q analysis
It can take several seconds for Amazon Q to generate instructions. After they appear, follow the instructions to resolve the error.

Figure 22 – Amazon Q Resolution
Here, Amazon Q recommends the following steps to resolve the error:
- Navigate to the S3 console
- Select the S3 bucket
- Go to the Properties tab
- Under Versioning, click Edit
- Enable versioning on the bucket
- Return to replication rule creation page
- Retry creating replication rule
Conclusion
Amazon Q is a powerful AI-powered assistant that can greatly simplify troubleshooting of common issues across various AWS services, especially for Developers. Amazon Q provides detailed analysis and step-by-step guidance to resolve errors efficiently. By leveraging Amazon Q, AWS users can save significant time and effort in diagnosing and fixing problems, allowing them to focus more on building and innovating with AWS. Amazon Q represents a valuable addition to the AWS ecosystem, empowering users with enhanced support and streamlined troubleshooting capabilities.
About the authors
The Justice Department Took Down the 911 S5 Botnet
Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2024/06/the-justice-department-took-down-the-911-s5-botnet.html
The US Justice Department has dismantled an enormous botnet:
According to an indictment unsealed on May 24, from 2014 through July 2022, Wang and others are alleged to have created and disseminated malware to compromise and amass a network of millions of residential Windows computers worldwide. These devices were associated with more than 19 million unique IP addresses, including 613,841 IP addresses located in the United States. Wang then generated millions of dollars by offering cybercriminals access to these infected IP addresses for a fee.
[…]
This operation was a coordinated multiagency effort led by law enforcement in the United States, Singapore, Thailand, and Germany. Agents and officers searched residences, seized assets valued at approximately $30 million, and identified additional forfeitable property valued at approximately $30 million. The operation also seized 23 domains and over 70 servers constituting the backbone of Wang’s prior residential proxy service and the recent incarnation of the service. By seizing multiple domains tied to the historical 911 S5, as well as several new domains and services directly linked to an effort to reconstitute the service, the government has successfully terminated Wang’s efforts to further victimize individuals through his newly formed service Clourouter.io and closed the existing malicious backdoors.
The creator and operator of the botnet, YunHe Wang, was arrested in Singapore.
AWS CodeBuild Managed Self-Hosted GitHub Action Runners
Post Syndicated from Matt Laver original https://aws.amazon.com/blogs/devops/aws-codebuild-managed-self-hosted-github-action-runners/
AWS CodeBuild now supports managed self-hosted GitHub Action runners, allowing you to build powerful CI/CD capabilities right beside your code and quickly implement a build, test and deploy pipeline. Last year AWS announced that customers can define their GitHub Actions steps within any phase of a CodeBuild buildspec file but with a self-hosted runner, jobs execute from GitHub Actions on GitHub.com to a system you deploy and manage.
With the recent announcement that AWS CodeBuild now supports managed GitHub Action runners, AWS can take care of managing the hosting of GitHub Action self-hosted runners within CodeBuild allowing teams to run their GitHub Actions workflow jobs natively within AWS.
For customers managing their self-hosted runners on their own infrastructure, CodeBuild can now provide a secure, scalable and lower latency solution. In addition, CodeBuild managed self-hosted GitHub Action runners bring features, such as:
- Reserved capacity to compile your software within your Amazon VPC and access resources such as Amazon Relational Database Service, Amazon ElastiCache, or any service endpoints that are only reachable from within a specific VPC.
- Available compute platforms including AWS Lambda, Windows, Linux, Linux GPU-enhanced and AWS Graviton Processors (Arm-based instances).
With the compute options available, customers can now run tests on hardware and operating system combinations that closely match production and reduce manual operational tasks by shifting the management of the runners to AWS.
In this blog, I will explore how AWS managed GitHub Action self-hosted runners work by building and deploying an application to AWS using GitHub Actions.
Architecture overview
The architecture of what I’ll be building can be seen below:
Figure 1. Architecture diagram of AWS CodeBuild running managed Self-Hosted GitHub Actions Runners
The architecture above shows how a developer pushes code changes to GitHub. This triggers CodeBuild to detect the update. CodeBuild then runs the defined GitHub Action Workflow, which builds and deploys it to AWS Lambda.
Step 1. Build a AWS Lambda Function
I’ll start with a simple application to demonstrate how to build and deploy an application on AWS via a Managed Self-Hosted GitHub Actions runner. We’ve written before about why AWS is the best place to run Rust, Amazon CTO Werner Vogels has been an outspoken advocate for exploring energy-efficient programming languages like Rust and AWS have great guides on using Rust to build on AWS such as:
Cargo Lambda is one of the simplest ways to run, build and deploy Rust lambda functions on AWS, I’ll start with the Getting Started guide:
- Navigate to GitHub.com and create a new GitHub repository
Figure 2 Create a new GitHub repository
- Clone the repository locally:
git clone https://github.com/{{user-name}}/rust-api-demo.git - From the above cloned repository, install Cargo Lambda:For macOS & Linux:
brew tap cargo-lambda/cargo-lambda brew install cargo-lambdaWindows users can follow the guide to see all the ways that you can install Cargo Lambda in your system.
- Use Cargo lambda to create a new project
cargo lambda new new-lambda-project && cd new-lambda-project
It’s now possible to explore the project, in this case I am using JetBrains RustRover with Amazon Q Developer installed to increase my productivity while working on the application:
Figure 3. JetBrains RustRover with Amazon Q Developer
Amazon Q Developer is available on a free tier and provides real-time code suggestions as well as advanced suggestions such as in-built chat to reason with the code we’re working on.
- Add, Commit & Push the code to your GitHub account:
git add . git commit -m “Initial Commit” git push origin
Step 2. Create AWS CodeBuild Project
The AWS Documentation outlines how to set up self-hosted GitHub Actions runners in AWS CodeBuild, the key here is to setup a GitHub webhook event of event type WORKFLOW_JOB_QUEUED so that CodeBuild will only process GitHub Actions workflow jobs.
I will create a new CodeBuild project as per the documentation to connect CodeBuild to our GitHub repository and correctly configure a webhook to trigger the GitHub Actions.
- Open the AWS CodeBuild console
- Create a build project.
- In Source:
- For Source provider, choose GitHub.
- For Repository, choose Repository in my GitHub account.
- For Repository URL, enter https://github.com/user-name/repository-name.
- In Primary source webhook events:
- For Webhook – optional, select Rebuild every time a code change is pushed to this repository.
- For Event type, select WORKFLOW_JOB_QUEUED. Once this is enabled, builds will only be triggered by GitHub Actions workflow jobs events.
Figure 4. WORKFLOW_JOB_QUEUED Event Type
- In Environment:
- Choose a supported Environment image and Compute. Note that you have the option to override the image and instance settings by using a label in your GitHub Actions workflow YAML.
- In Buildspec:
- Note that your Buildspec will be ignored. Instead, CodeBuild will override it to use commands that will setup the self-hosted runner. This project’s primary responsibility is to set up a self-hosted runner in CodeBuild to run GitHub Actions workflow jobs.
- In Source:
- Continue with the remaining default options and select Create build project.
CodeBuild Service Role Permissions
In order for the CodeBuild service role to be able to successfully create and deploy a Lambda function, the service role will require the necessary permissions. The Service role can be seen when editing the CodeBuild project:
Figure 5. CodeBuild Service Role Permissions
The required Lambda permissions are documented in the Cargo Lambda documentation:
- lambda:GetFunction
- lambda:CreateFunction
- lambda:UpdateFunctionCode
In addition, there are also IAM permissions required:
- iam:CreateRole
- iam:AttachRolePolicy
- iam:UpdateAssumeRolePolicy
- iam:PassRole
Add the required permissions to the service role for the CodeBuild project:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:CreateRole",
"iam:AttachRolePolicy",
"iam:UpdateAssumeRolePolicy",
"iam:PassRole"
],
"Resource": [
"arn:aws:iam::{AWS:Account}:role/AWSLambdaBasicExecutionRole",
"arn:aws:iam::{AWS:Account}:role/cargo-lambda-role*"
]
},
{
"Effect": "Allow",
"Action": [
"lambda:CreateFunction",
"lambda:UpdateFunctionCode",
"lambda:GetFunction"
],
"Resource": "arn:aws:lambda::{AWS:Account}:function:{function-name}"
}
]
}
Note that I do not need to manage IAM permissions outside of our AWS Account, for example GitHub does not need to know about our AWS permissions.
Step 3. Create a GitHub Action Workflow
GitHub Actions is a continuous integration and continuous deliver (CI/CD) platform that provides automation through building, testing and deploying applications. In this section we will create a GitHub Action Workflow to build and deploy our Lambda.
- Navigate back to our GitHub project create a workflow within the .github/workflows directory, the Simple Workflow is a good starting point:
Figure 6. Create a Simple Workflow
- Update the Job to include the tooling required to build our Rust Lambda function, the details can be found in the GitHub Actions section. Our workflow file should now look like this:
name: rust-api-demo-cicd
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install Zig toolchain
uses: korandoru/setup-zig@v1
with:
zig-version: 0.10.0
- name: Install Cargo Lambda
uses: jaxxstorm/[email protected]
with:
repo: cargo-lambda/cargo-lambda
tag: v0.14.0
platform: linux
arch: x86_64
# Add your build steps below
The above GitHub Actions Workflow currently runs on GitHub; However, I now want to make two further changes:
- Define an AWS CodeBuild runner
- Define Build and Deploy Lambda steps
Define an AWS CodeBuild runner
A GitHub Actions workflow is made up of one or more jobs, each job runs in a runner environment specified by runs-on. The value for runs-on to specify CodeBuild as a runner takes the format:
runs-on: codebuild-<CodeBuildProjectName>-${{ github.run_id }}-${{ github.run_attempt }}
I will update the <CodeBuildProjectName> to the CodeBuild project name that was entered in Step2, e.g. “GitHubActionsDemo”.
When configuring CodeBuild as a runner environment, BuildSpecs are ignored. In order to define the specification of our build environments it is possible to pass in variables including:
- EC2 compute builds: Image, image version, instance size
- Lambda compute builds: environment type, runtime version, instance size
For further details, see the action runner guide.
Define Build and Deploy Lambda steps
The last change is to add steps to check out our code onto the runner and then build and deploy using cargo lambda:
- name: Build Rust API
uses: actions/checkout@v4
- run: cargo lambda build --release
- run: cargo lambda deploy
The final workflow looks like this:
name: rust-api-demo-cicd
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: codebuild-GitHubActionsDemo-${{ github.run_id }}-${{ github.run_attempt }}
steps:
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install Zig toolchain
uses: korandoru/setup-zig@v1
with:
zig-version: 0.10.0
- name: Install Cargo Lambda
uses: jaxxstorm/[email protected]
with:
repo: cargo-lambda/cargo-lambda
tag: v0.14.0
platform: linux
arch: x86_64
# Add your build steps below
- name: Build Rust API
uses: actions/checkout@v4
- run: cargo lambda build --release
- run: cargo lambda deploy
When I commit changes to the workflow to the main branch it will trigger the GitHub Action.
Step 4. Testing our GitHub Action Workflow.
The GitHub Action is currently triggered on all push and pull requests to main branch:
Figure 7. Trigger a build
Note that GitHub is where the CI/CD process is being driven, the build logs are available in GitHub as the job is running:
Figure 8. GitHub Action Logs
As the build progresses through the deployment step, the details of the Lambda function deployed are shown:
Figure 9. Deployment ARN
Navigating back to the AWS Console, the deployed Lambda Function can be seen:
Figure 10. Lambda Deployed
And finally, opening the CodeBuild console, it’s possible to observe the status of the Managed GitHub Actions Runner, the build number and also the duration:
Figure 11. Lambda Deployed via Managed Self-Hosted GitHub Action runner
Clean Up
To avoid incurring future charges:
- Delete the Lambda created via the deployment in Step 4.
- Delete the CodeBuild Project created in Step 2.
Conclusion
As I’ve shown in this blog, setting up GitHub Actions Workflows that run on AWS is now even easier to allow CodeBuild projects to receive GitHub Actions workflow job events and run them on CodeBuild ephemeral hosts. AWS customers can take advantage of natively integrating with AWS and providing security and convenience through features such as defining service role permissions with AWS IAM or passing credentials as environment variables to build jobs with AWS Secrets Manager.
Being able to use CodeBuild’s reserved capacity allows you to provision a fleet of CodeBuild hosts that persist your build environment. These hosts remain available to receive subsequent build requests, which reduces build start-up latencies but also make it possible to compile your software within your VPC and access resources such as Amazon Relational Database Service, Amazon ElastiCache, or any service endpoints that are only reachable from within a specific VPC.
CodeBuild-hosted GitHub Actions runners are supported in all CodeBuild regions and customers managing their CI/CD processes via GitHub Actions can use the compute platforms CodeBuild offers, including Lambda, Windows, Linux, Linux GPU-enhanced and Arm-based instances powered by AWS Graviton Processors.
Read more in our documentation for GitHub Action runner in AWS CodeBuild.
About the author:
(Не)възможните компромиси след 9 юни
Post Syndicated from Емилия Милчева original https://www.toest.bg/ne-vuzmozhnite-kompromisi-sled-9-yuni/

Политиката, също и животът извън политиката се определят от намирането или отхвърлянето на компромисите. Бъдещето на 50-тия парламент ще се определи от това доколко страните в даден процес разрешават конфликти чрез споразумения, които частично реализират интересите им, или отхвърлят всякакви взаимни отстъпки.
В България стремежът към компромис в името на жизнеспособно управление не се разбира като съвещателната демокрация на Юрген Хабермас – повече публичност и широка обществена дискусия, – а по-скоро като консолидация на властта в ръцете на няколко лидери, договарящи се при закрити врати. Каквито и решения да се вземат обаче за формиране на мнозинства след изборите на 9 юни, те не могат да бъдат основани на негласни споразумения като 9-месечната „сглобка“ – съюз между ПП–ДБ и ГЕРБ и съучастие на ДПС. В противен случай отвращението от политическото и политиците може да достигне разрушителни размери за бездруго нездравата българска демокрация.
Политическите сили са предпазливи в заявките за обвързване или необвързване преди този вот. А гражданите са свикнали с фалша на нападките, които отправят помежду си – наясно са, че в следизборните седмици започва договарянето и нищо друго няма значение.
Последните социологически проучвания в навечерието на предстоящите след ден избори за национален и европейски парламент не изненадват. Единственото сигурно в тях е, че ГЕРБ ще е първа политическа сила предвид дистанцията от над 9%, което всички измерват между партията на Бойко Борисов и втората формация. Но втората, третата и четвъртата са неизвестни заради незначителните разлики помежду им. Така че за ПП–ДБ, „Възраждане“ и ДПС окончателното подреждане ще е ясно след 20:00 часа на 9 юни. Никой не оспорва петата и шестата позиция съответно на БСП и „Има такъв народ“. Втората въпросителна обаче е коя от по-малките формации ще успее да прескочи 4-процентовата бариера – дясната „Синя България“ или лявата „Солидарна България“.
Какво е известно за (не)възможните компромиси 48 часа преди изборния ден?
ГЕРБ изключва БСП и „Възраждане“
„След изборите няма да преговаряме с БСП и „Възраждане“, обяви по Нова телевизия кандидат-депутатката от ГЕРБ Рая Назарян. Това означава, че ДПС, ПП–ДБ и ИТН остават потенциални партньори – заедно или част от тях.
След като цяла кампания нахъсваше избирателите, че може да оглави четвърто правителство, лидерът на ГЕРБ Бойко Борисов заяви, че изобщо не се гласи за такъв.
Христо [Христо Иванов, б.а.] вика: „Борисов се гласи за премиер.“ Христо, приятелю мой, изобщо не се глася, изобщо не се глася. Не си позволих веднъж да ви обидя.
През цялата кампания Борисов редуваше критики към ПП–ДБ с намеци за бъдещо управление на принципа „премиерът е от нас, но може и някой министър от вас“.
ПП–ДБ изключва коалиция с ГЕРБ и ДПС
След изборите „Продължаваме Промяната – Демократична България“ няма да участва в процес, който се води от ГЕРБ и ДПС. Това пък заяви пак по Нова телевизия бившият премиер и кандидат за депутат от ПП–ДБ Николай Денков, убеден, че коалицията ще е „твърдо“ на второ място. По bTV съпредседателят на ПП и бивш министър на финансите Асен Василев беше още по-категоричен – че коалиция с ГЕРБ и ДПС няма да има в 50-тото НС. „Няма да сме в коалиция с Пеевски и Борисов“, написа във Facebook след предизборна среща в Хасково и другият съпредседател на ПП Кирил Петков.
От ДБ обаче не посочват ГЕРБ като недопустим партньор, а единствено ДПС. През май съпредседателят на „Демократична България“ Христо Иванов заяви пред журналисти, че каузата им е да не допуснат Пеевски на власт.
Категорично казвам, че следващо управление с Пеевски няма да има. Всички лъжи ще излязат наяве. Тази кална кампания, която виждате, е смъртният писък на Пеевски.
Готова ли е ПП–ДБ да остане в опозиция предвид зачестилите прокоби, че наесен може да има нови парламентарни избори? Дори и да е така, двете коалиции трябва да изяснят помежду си границите на допустимите партньорства, защото сега проличават известни несходства.
ДПС не изключва коалиция с никого
Макар публично и по всеки удобен повод да напада Христо Иванов, Кирил Петков или Асен Василев, лидерът на ДПС Делян Пеевски не прокарва нито една червена линия за бъдещо управление. В тази предизборна кампания той наприказва различни работи за всеки от тях – как Иванов и Кирил Петков искали да пенсионират Борисов, как Христо Иванов му доверил, че иска да става президент, и поискал подкрепата на ДПС, а също така и да е единствен лидер на дясното.
Въпреки всички тези персонални атаки Пеевски не прави стратегически изявления за допустими или недопустими съюзници. Известно е, че ДПС не прокарва червени линии – а как ще се пласира след 9 юни, зависи от непосилната лекота на компромисите.
„Възраждане“ изключва само ДПС
Председателят на „Възраждане“ Костадин Костадинов вече на няколко пъти заявява, че са готови да разговарят с други партии за участие във властта, но само при техните пет условия. Те, разбира се, са неизпълними за която и да е от останалите парламентарно представени сили с изключение на БСП. От „Възраждане“ настояват за референдуми за еврото и членството в НАТО, прекратяване на военната помощ за Украйна и на санкциите срещу Русия, предоговаряне на условията за членството на България в ЕС.
От кръга на формациите, с които биха преговаряли, една все пак (формално) е изключена.
Но има една партия, с която мога да кажа със сигурност, че разговори няма да водим, и това е ДПС.
През ноември миналата година Костадинов прогнозира, че сглобката няма да издържи дълго и че очаква парламентарни избори през април или най-късно през юни, заедно с вота за Европейски парламент.
Позна, но не заради интуицията си.
БСП изключва ГЕРБ
Както неизменно уверява от години председателката на БСП Корнелия Нинова, ГЕРБ са червената линия за социалистите.
Неслучайно сме посветили последните 10 години на борба с модела ГЕРБ – и сме неговата единствена алтернатива.
Макар за кратко, Нинова вече управлява заедно с ПП, ДБ и ИТН – и едва ли би се съпротивлявала на втори кабинет, стига да я поканят. Малко вероятно е да се случи, а наесен недоволните във и извън БСП, които стават все повече, се готвят да я свалят от лидерския пост. През октомври партията ще избира нов лидер и тогава ще се реши и дали ще промени устава си, който сега предвижда ограничение от два мандата за председател на партията.
ИТН изключва „Продължаваме промяната“
Партията на Слави Трифонов е готова на експертно правителство с ГЕРБ, ДПС, но и с ДБ, „когато не страдат от левичарството на ПП“, също и с БСП и „Възраждане“. Тази готовност обяви заместник-председателят Ивайло Вълчев.
Няма как да не разделяме ПП–ДБ, при положение че ДБ са влезли в политическия живот, декларирайки десни принципи, а ПП показват абсолютно обратното… Много неща са ни доближавали до различни партии, имали сме допирни точки и с БСП, и с „Възраждане“. Не ни интересува от кого идва една идея, ако е добра.
Политиците от ИТН обаче повтарят най-често имената на ГЕРБ и ДПС като евентуални партньори въпреки декларациите им за широкия кръг формации, с които са готови да водят преговори.
Следизборното напасване на политическите сили ще е трудно. Новият модел на власт засега изглежда невъзможен. Но следизборните компромиси често нямат нищо общо с предизборните.
Let’s finish the build & configure @ldomotorsjason3488 Leviathan + Nitehawk
Post Syndicated from BeardedTinker original https://www.youtube.com/watch?v=ewSDpmDirpE
Server Core Counts Going Supernova by Q1 2025
Post Syndicated from Patrick Kennedy original https://www.servethehome.com/server-core-counts-going-supernova-by-q1-2025-intel-amd-arm-nvidia-ampere/
Server CPU core counts are exploding like a supernova beyond historical trendlines. This is becoming a wild ride even looking out 3 quarters
The post Server Core Counts Going Supernova by Q1 2025 appeared first on ServeTheHome.
Unsolved Chemistry Problems
Post Syndicated from xkcd.com original https://xkcd.com/2943/

Lower Your Risk of SMS Fraud with Country Level Blocking and Amazon Pinpoint
Post Syndicated from Brett Ezell original https://aws.amazon.com/blogs/messaging-and-targeting/lower-your-risk-of-sms-fraud-with-country-level-blocking-and-amazon-pinpoint/
Enea revealed that AIT is so widespread within the SMS ecosystem that 19.8B-35.7B fraudulent messages were sent by bad actors in 2023, incurring substantial costs of over $1 billion. In this blog post, we’ll explore how you can use
Protect configurations, a powerful set of capabilities within
Amazon Pinpoint SMS, that provides granular control over which destination countries your SMS, MMS, and voice messages can be sent to.
” width=”1252″ height=”889″>
What is SMS Pumping, aka Artificially Inflated Traffic (AIT)?
” width=”1280″ height=”720″>
AIT poses several challenges for businesses:
-
Overspending: The fake SMS traffic generated by AIT bots results in businesses paying for messages that yield no actual results.
-
Interrupted service: Large volumes of AIT can force businesses to temporarily halt SMS services, disrupting legitimate customer communications.
-
Diverted focus: Dealing with AIT can shift businesses’ attention away from core operations and priorities.
-
Reduced deliverability rates due to the messages never being interacted with and/or large volumes of SMS being sent quickly.
How does Protect mitigate AIT?
Amazon Pinpoint’s Protect feature allows you to control which countries you can send messages to. This is beneficial if your customers are located in specific countries.
With Protect, you can create a list of country rules that either allow or block messages to each destination country. These country rules can be applied to SMS, MMS, and voice messages sent from your AWS account. The Protect configurations you create enable precise control over which destination countries your messages can be sent to. This helps mitigate the impact of AIT by allowing you to tailor where you do or do not send.
Protect offers flexibility in how the country rules are applied. You can apply them at the account level, the configuration set level, or the individual message level. This enables you to customize your AIT mitigation strategy to best fit your business needs and messaging patterns.
By leveraging Protect within Amazon Pinpoint, you can help ensure the integrity and cost-effectiveness of your SMS, MMS, and voice communications.
Account-level Protect Configuration
Configuration set-specific Protect configuration
You can associate a Protect configuration with one or more of your Pinpoint SMS configuration sets. This allows you to apply different country rules to distinct messaging flows or use cases within your application without changing your existing code if you are already using Config Sets. It also enables more detailed logging and monitoring of the Protect configuration’s impact, such as:
- Error Logs: Logging of any errors or issues encountered when messages are sent, providing insights into how the Protect configuration is affecting message delivery.
- Audit Logs: Records of all configuration changes, access attempts, and other relevant activities related to the Protect configuration, allowing for comprehensive auditing and monitoring.
- Usage Metrics: Tracking of usage statistics, such as the number of messages sent to different countries, the impact of the Protect configuration on message volumes, and other usage-related data.
- Compliance and Policy Enforcement Logs: Documentation of how the Protect configuration is enforcing compliance with messaging policies and regulations, including any instances where messages are blocked or allowed based on the configuration rules.
Dynamic Protect configuration per message
If your needs are even more specific, you can create a Protect configuration without any association, and then specify its ID when sending messages via the Pinpoint APIs (e.g. SendMediaMessage, SendTextMessage, SendVoiceMessage). This gives you the ability to dynamically choose the Protect configuration to apply for each individual message, providing the ultimate flexibility.
Regardless of the approach, the core benefit of Protect configurations is the ability to precisely control which destination countries your messages may be sent to. Blocking countries where you don’t have a presence or where SMS pricing is high eliminates your exposure to fraudulent AIT traffic originating from those regions. This helps protect your messaging budget, maintain service continuity, and focus your efforts on legitimate customer interactions.
Who should use Protect configurations?
Protect configurations are designed to benefit a wide range of AWS customers, particularly those who:
- Send SMS messages to a limited number of countries: If your business primarily operates in a few specific countries, Protect configurations can help you easily block SMS messages to countries where you don’t have a presence, reducing the risk of AIT.
- Have experienced AIT issues in the past: If your business has been a target of SMS pumping, Protect configurations can help you regain control over your SMS communications and prevent future AIT attacks.
- Want to proactively protect their SMS messaging: Even if you haven’t encountered AIT issues yet, Protect configurations can help you stay ahead of the curve and maintain the integrity of your SMS communications.
How to create a country rules list with Protect configuration
Option 1 – Using the AWS Console
Console Scenario: My account is out of the sandbox and I only want to send to 1 country – United Kingdom (iso:GB) using the SenderID “DEMOTP”.
At a high level, we will follow the three steps outlined below for each method. In our examples, we used a SenderID as our Originator. However, it should be noted that the same process can be achieved using any originator you’d like. i.e. SenderID, Phone pool, Phone number, 10DLC, short code, etc.
- Create SenderID (Optional if you already have one)
- Create Protect Configuration
- Send Test Message via console
Using the AWS Console
1) Create SenderID for United Kingdom (GB)
- Pinpoint SMS Console – Request Originator
- Select United Kingdom (GB) and follow the prompts for a SenderID. DO NOT select Two-way SMS Messaging
- Enter Sender ID – Example: DEMOTP
- Confirm and Request
2) Create default Protect Configuration
- Pinpoint SMS Console – Create protect configuration
- Name Protect Configuration
- Select all countries by toggling checkbox in search bar
” width=”863″ height=”521″>
-
- Search for Country=United Kingdom then deselect United Kingdom
” width=”865″ height=”582″>
-
- Set as Account Default and select Create protect configuration
” width=”1497″ height=”1173″>
3) Send a test message with SMS simulator
Note: The Pinpoint SMS Simulator provides special phone numbers you can use to send test text messages and receive realistic event records, all within the confines of the Amazon Pinpoint service. These simulator phone numbers are designed to stay entirely within the Pinpoint SMS ecosystem, ensuring your test messages don’t get sent over the carrier network.
You can use these simulator phone numbers to send both SMS and MMS messages, allowing you to thoroughly validate your message content, workflow, and event handling. The responses you receive back will mimic either success or fail depending on which destination simulator number you send to.
- From the Pinpoint SMS Console SMS Simulator page,
- For Originator, Choose Sender ID, and select your Sender ID created from earlier.
- Under Destination number, select Simulator numbers and choose United Kingdom (GB). Enter a test message in the Message body.
- Finally, choose send test message. This should prompt a green “Success” banner at the top of your page.
” width=”1336″ height=”1313″>
-
- Conversely, follow the previous test message steps, and instead attempt to send to anywhere other than the United Kingdom (GB). In this example, Australia (AU)
- As shown below in the screenshot this one is blocked since you have configured to only send to GB.
” width=”1333″ height=”1364″>
Option 2 – Using the V2 API and CLI
My account is out of the sandbox and I want to BLOCK only 1 country – Australia (AU) while using the SenderID “DEMOTP”.
1) Create SenderID for GB
Note: before using the CLI remember to configure your access and secret key using
aws configure
Windows users should use PowerShell over cmd to test
- Use RequestSenderId to create the same Sender Id as previously made via the console.
Response:
2) Create default Protect Configuration
- Use CreateProtectConfiguration to create a default Protect Configuration.
Response:
- Add AU as BLOCKED on protect configuration.
Response:
Optimizing Email Deliverability: A User-Centric Approach to List Management and Monitoring
Post Syndicated from Brett Ezell original https://aws.amazon.com/blogs/messaging-and-targeting/optimizing-email-deliverability-a-user-centric-approach-to-list-management-and-monitoring/
Amazon SES Best Practices: Top 5 Best Practices for List Management“. While the fundamental principles of effective email list management remain relevant, the landscape has evolved significantly over the past nine years. This updated post aims to provide
Amazon Simple Email Services (SES) customers with the latest best practices and insights to ensure high deliverability and maintain a strong sender reputation.
Some of the key changes and updates included in this 2024 version are:
- Guidance on protecting sign-up forms with CAPTCHA to prevent bot and bad actor sign-ups
- Heightened importance of monitoring bounce rates, complaint rates, and delivery delays due to new requirements from several mailbox providers (MBPs)
- Introduction to Amazon SES’s Virtual Deliverability Manager (VDM) tool, and a quick explanation how it can help identify deliverability issues
- Updated recommendations on maintaining an engaged subscriber list which includes proactively removing inactive recipients
- Emphasis on the industry-wide adoption of mandatory one-click unsubscribe features and the benefits they provide
- Reinforcement of the need to grow email lists organically and avoid the use of purchased/non-consensual lists
By following the best practices outlined in this updated guide, Amazon SES customers can ensure their email campaigns have the best chance at successfully reaching the inbox. Following these best practices will also help build trust with their subscribers which should result in higher returns on their email marketing investment.
In this blog post, we’ll review the following updated best practices to help you maintain a strong email-sending reputation and ensure high deliverability, including:
- Use Confirmed Opt-in (AKA, Double Opt-in )
- Carefully Monitor Bounces, Complaints, and Delivery Delays
- Maintain an Engaged Subscriber List by Removing Inactive Recipients
- Make Unsubscribing Easy to Maintain a Clean, Compliant List
- Build Trust by Growing Your List Organically
Use Confirmed Opt-in (AKA, Double Opt-in )
Targeting active and engaged users is one of the most effective ways to maintain a strong sender reputation. This time-tested best practice is known as confirmed opt-in (also known as double opt-in). This process is quick to implement and highly effective. When a user signs up for a newsletter or special offer using their email address via a form on your website, you should verify the legitimacy of the email address by sending a verification email to the provided address and asking the requestor to click a link that confirms their consent to receive your emails. By clicking this link, the email address owner explicitly provides their consent to receiving email notifications. Once the recipient verifies the request, you then add their email address to your active mailing list. Most users are now familiar with this type of verification, and legitimate recipients will have no trouble confirming their interest.
Our guidance regarding the confirmed opt-in best practice has evolved due to the prevalence of online bots and bad actors. To maintain a strong sender reputation, we now recommend protecting your web sign-up forms with a CAPTCHA (or similar mechanism). This helps ensure the requests to join your mailing list come from a real human, not a ‘bot or some form of automation or deception. Only after a requestor proves they are human would you accept their email address and then send the verification email. This additional layer of protection prevents bots and bad actors from signing up users without their consent.
CAPTCHA has become a foundational element of the double opt-in process. Protecting the sign-up process with a CAPTCHA will limit the number of unsolicited confirmation messages sent to users, and subsequently reduce the chances of mailbox providers labeling the confirmation messages as spam. If the confirmation messages are blocked by MBPs, then the double opt-in process simply isn’t viable.
” width=”1611″ height=”680″>
Figure 1: AWS WAF CAPTCHA examples.
By verifying the legitimacy of your email recipients upfront through confirmed opt-in, you will reduce the number of invalid recipient bounces associated with fake emails, typographical errors, and illegitimate sign-ups by bad actors and bots. This is crucial, as these types of invalid addresses can negatively impact your sending reputation.
” width=”964″ height=”732″>
Figure 2: A diagram showing the ideal confirmed opt-in architecture to limit risk of bot abuse.
- Adding a CAPTCHA on the sign-up web form proves that a human is interacting with the sign-up process.
- Ensuring the link is clicked proves that a person or application with access to the mailbox was able to click the link.
- Requiring the recipient to enter the correct one-time passcode, commonly referred to as OTP, into the web form proves that the human requesting sign-up is the same as the person confirming the sign-up
- Monitoring bounce, complaint, and delivery delay events proves that the email address is valid and that there are not recipients who are marking the confirmation messages as spam.
- Use a subdomain for sending the confirmation messages to limit reputational impact on deliverability in case there are signs of web form abuse
- If there are signs of web form abuse, give recipients an easy option to report abuse so that they don’t mark the messages as spam.
Confirmed opt-in ensures you only send to subscribers who have explicitly consented to receive your messages. By honoring their subscription preferences, you further reduce the chances of complaints. Providing recipients with an easy, one-click unsubscribe option is crucial, as it demonstrates your commitment to respecting their communication preferences.
Many successful senders capitalize on the verification window by immediately sending a welcome email. This offers two key benefits:
-
- Boost Engagement: While conveying a warm welcome, the email subtly re-engages the new subscriber, and keeps your brand fresh in their mind.
- Double-Duty Verification: These emails often include a call-to-action (CTA) that serves as additional verification and validation of the recipient’s interest in receiving your emails.
- Increases Trust in your Brand: By offering an easy way to unsubscribe from the welcome email, it gives recipients confidence that they will be able to unsubscribe at any time.
Carefully Monitor Bounces, Complaints, and Delivery Delays
Update: Monitoring these metrics has become substantially more important due to recent changes by mailbox providers. As of February 2024, Google, Yahoo, Microsoft and other MBPs now require all bulk-senders to keep their spam complaint rates below 0.3%. These MBPs explain that maintaining a low spam complaint rate benefits both senders and recipients by enhancing email deliverability, preserving sender reputation, and fostering a more positive user experience for their in-box subscribers.
To fully understand the latest industry standards and requirements, we recommend:
- Read the Overview: Get a quick grasp of the key compliance guidelines
- Watch the Webinar: Dive deeper into the specific details and best practices presented by the AWS and Gmail teams.
Amazon SES provides real-time feedback on bounces, complaints, and delivery delay events through its event publishing feature. This enables you to quickly identify and remove problematic email addresses, ensuring you maintain a clean and healthy subscriber list.
If you receive a hard bounce or a complaint, it’s essential to remove that email address from your list and investigate the root cause. For example, a sudden increase in bounce and/or complaint rates for new subscriptions may indicate an issue with fake sign-ups. In such cases, leveraging confirmed opt-in (the BCP, or best current practice, of list building) can help discourage this problem. By using a separate domain for your signups and OTPs, you can distinguish bounces and complaints from sign-ups and other transactional message types, in comparison to your marketing or promotional messages.. More can be found here.
Amazon SES’s Virtual Deliverability Manager (VDM) is an Amazon SES feature that helps senders identify deliverability trends and potential deliverability issues without the need to build additional dashboards. VDM provides deep insights into your sending data and offers actionable recommendations to improve deliverability. VDM helps monitor bounce rates, complaint rates, and other key performance indicators (KPIs) to support email delivery success metrics. VDM allows senders to explore deliverability issues, including the ability to drill down from account level statistics all the way down to the individual message level. This will help identify problematic emails without needing to sift through all of your deliverability data. Key capabilities include:
- Bounce Details: Use VDM to identify bounced emails by recipient addresses, timestamps. and SMTP response codes. These are received directly from the recipient mailbox providers. Users can then group emails by bounce type (permanent and transient) and recipient domains to analyze and take correct action before before smaller deliverability events like message delays turn into larger problems like messages being blocked by the MBPs.
- Complaints: Identify recipients who marked emails as spam so they can be removed from the active mailing list.
- Note: for metric tracking tied specifically to Gmail recipients, customers should also be monitoring Google Postmaster Tools to track their reputation and keep their spam complaint rates low.
- Delivery Metrics: Monitor delivery attempts, retries, and success to make informed decisions based on real-time data to continuously improve deliverability.
VDM proactively flags potential problems like bounces and complaints that could harm your sender reputation and delivery rates. By addressing these issues early, you can verify that your emails consistently reach the inbox, instead of the spam folder.
While VDM is a paid service for Amazon SES customers, there is a free tier that provides a flexible way to test out the tool without any expenses or commitments.
To dive deeper into VDM consult these resources:
- Explore the Improve Email Deliverability with VDM: resource to learn about the feature’s capabilities and benefits.
- Discover how to Access VDM and DMARC Reports Outside of the AWS Console using Amazon QuickSight.
For additional guidance on SES bounce and complaint monitoring, refer to the following resources:
Amazon SES Documentation:
Amazon SES Blog Posts:
Maintain an Engaged Subscriber List by Removing Inactive Recipients
As an email marketer, you must operate under the assumption that if a subscriber is not opening your emails, or is no longer engaging with the calls-to-action in your emails, they are no longer interested in the content that you are sending. Subscribers who fall into this category should be periodically removed from your mailing lists to help ensure your subscriber lists are healthy and engaged. Increase campaign success and deliverability by periodically reviewing and updating your subscription lists with this two-pronged approach:
Track Subscriber Engagement with Amazon SES
Amazon SES provides methods to monitor your sending activity using events, metrics, and statistics. These monitoring methods can be used to measure the rates at which your customers engage with the emails you send. For example, you can identify your overall open and click through rates by utilizing SES’ event publishing when using custom email domains that you associate with configuration sets as discussed in the SES documentation.
” width=”661″ height=”341″>
Figure 3: Serverless Architecture to Analyze Amazon SES events
To track your email sending activities at a granular level, refer to the AWS blog post, Analyzing Amazon SES event data with AWS Analytics Services.
Proactively Remove Non-Engaging Subscribers
Imagine a scenario where a subscriber signs up for your email list but never engages by opening or clicking through your messages. This lack of activity could indicate the subscriber’s loss of interest. To address this, we recommend you set a reasonable timeframe for engagement based on your industry standards (e.g., 6 months of no opens or clicks). However, this timeframe may need to be adjusted depending on how regularly you send emails to your subscribers. For instance, if you send a daily newsletter, a 6-month period of inactivity may be too long before removing the subscriber. Conversely, if you only send monthly updates, a 6-month window may be more appropriate. The key is to find the right balance – remove subscribers who have clearly lost interest, but don’t be too hasty in culling your list if they simply don’t engage as frequently as your regular email cadence. By tailoring the engagement timeframe to your specific email frequency, you can ensure your subscriber list remains active and engaged.
Consider a “Win-back” Email Campaign
Before removing completely inactive subscribers from your list, consider sending them a special “win-back” email. This final attempt to re-engage them can be an effective strategy to win-back valuable subscribers. The win-back email should have a clear and compelling call-to-action, encouraging recipients to re-engage with the messages you are sending to them. This could include updating their preferences or confirming their interest in your messages. By giving these subscribers another chance, you may be able to reactivate a portion of your list and retain those recipients. However, if the win-back email fails to elicit a response, it’s best to remove those addresses from your active mailing list to maintain a healthy, engaged subscriber base.
Even subscribers who originally opted in through a confirmed double opt-in process can become inactive over time. Occasionally these email addresses are abandoned and can be converted into spam traps by the domain owner. Spam traps are email addresses used by organizations to identify senders who may not be following best practices for list building and long-term list hygiene. If you continue to email these inactive addresses, several negative consequences can occur. our domain could be at risk of generating poor reputation at a mailbox provider, or end up on a real-time blocklist, which may impact deliverability to multiple mailbox providers. In some cases, this could result in your Amazon SES service being suspended.
Proactively removing non-engaging subscribers is the only way to avoid these potential pitfalls and maintain a strong sender reputation.
For a deeper dive into the topic, refer to the following resources:
Removing inactive subscribers is a powerful complement to your confirmed opt-in practices, helping you maintain a healthy, high-performing email list.
Make Unsubscribing Easy to Maintain a Clean, Compliant List
Update: Providing recipients with clear, easy-to-use unsubscribe options has become even more crucial due to recent changes by major email providers.
As of February 2024, Google and Yahoo now require all bulk email senders to include a prominent unsubscribe link within their messages. In June 2024 the implementation of one-click unsubscribe headers (as defined by RFC 2369 and RFC 8058) also become mandatory across the industry.
” width=”1800″ height=”563″>
Figure 4: A diagram of one-click unsubscribe flow.
The new industry wide bulk sender requirements ultimately benefit both senders and recipients by:
- Reducing Spam Complaints – Easy unsubscribe options decrease the likelihood of frustrated recipients marking your emails as spam. This helps maintain a positive sender reputation.
- Improving Sender Reputation – A clean email list with engaged and consented subscribers keeps your sender reputation healthy, ensuring your messages consistently reach the inbox rather than the spam folder.
It is critical you respect your audience’s wishes as they relate to your email sending. When you offer recipients a straightforward, easy unsubscribe path to manage their communication preferences, it will allow you keep your email lists clean and compliant which helps you maintain a strong sender reputation. Many regions, including the US, Canada, and parts of Europe and Asia, have adopted laws requiring senders to provide clear, accessible unsubscribe mechanisms. Adhering to these regulations helps you avoid potential legal issues related to your sending and local messaging laws.
Amazon SES provides a basic, subscription management capability that supports the Bulk Sender Requirements as outlined in the SES documentation. Some SES customers have opted to develop & deploy their own custom, more comprehensive systems, to process end-user unsubscribe requests. For a deeper dive into the topic, refer to the AWS blog post Using one-click unsubscribe with Amazon SES.
Build Trust by Growing Your List Organically
Avoid the Temptation of Shortcuts
- Spam Complaints: Recipients who never consented to receive your emails are much more likely to mark them as spam, harming your sender reputation.
- Legal Issues: Many countries, especially with the new <0.3% spam rate requirement, have strict laws prohibiting the use of non-consensual email lists.
- Unsubscribes and Lost Trust: Sending unwanted emails can result in high unsubscribe rates and damage your brand’s reputation.
Focus on Building Your List Organically
Respect Individual Preferences
Land in Inboxes, Not Spam Folders: The Power of Streamlined List Management
Throughout this updated guide, we’ve explored five essential best practices for email list management that can help Amazon SES customers maintain a strong sender reputation and ensure high deliverability.
We initially discussed the importance of confirmed opt-in (or double opt-in), and how incorporating CAPTCHA has become a foundational element to protect against bot and bad actor sign-ups. By verifying the legitimacy of your subscribers upfront, you minimize the impact of invalid addresses and reduce the chances of complaints as a result of form abuse.
Next, we emphasized the heightened need to carefully monitor key metrics like bounces, complaints, and delivery delays. We discussed email management tools and features like Amazon SES Virtual Deliverability Manager that can provide critical deliverability insight into your email program. Addressing deliverability issues early is crucial to preserving your sender reputation and keeping your messages flowing to the inbox.
We also covered strategies for maintaining an engaged subscriber list, including proactively removing inactive recipients and considering targeted “winback” campaigns. Keeping your list fresh and responsive pays dividends in the form of better inbox placement and campaign performance.
Making unsubscribing easy for recipients has likewise become an essential practice, not just for compliance but also for building trust and reducing spam complaints. The one-click unsubscribe standards now required by mailbox providers work to the benefit of both senders and recipients.
Lastly, we stressed the importance of organic list growth over shortcuts like purchased email lists. Respecting individual preferences, even within your own brand, helps you attract and retain subscribers who are genuinely interested in your content.
By adhering to these five best practices of email list management, you’ll be able to build and maintain a marketing asset in the form of an email list that will provide you a long-term channel for communicating with your customers and end-users.
SES Forums or in the comments section of this blog post. We’re here to help you navigate the evolving email landscape and unlock the full potential of your Amazon SES investment.
About the Authors
Round 2: A Survey of Causal Inference Applications at Netflix
Post Syndicated from Netflix Technology Blog original https://netflixtechblog.com/round-2-a-survey-of-causal-inference-applications-at-netflix-fd78328ee0bb
At Netflix, we want to ensure that every current and future member finds content that thrills them today and excites them to come back for more. Causal inference is an essential part of the value that Data Science and Engineering adds towards this mission. We rely heavily on both experimentation and quasi-experimentation to help our teams make the best decisions for growing member joy.
Building off of our last successful Causal Inference and Experimentation Summit, we held another week-long internal conference this year to learn from our stunning colleagues. We brought together speakers from across the business to learn about methodological developments and innovative applications.
We covered a wide range of topics and are excited to share five talks from that conference with you in this post. This will give you a behind the scenes look at some of the causal inference research happening at Netflix!
Metrics Projection for Growth A/B Tests
Mihir Tendulkar, Simon Ejdemyr, Dhevi Rajendran, David Hubbard, Arushi Tomar, Steve Beckett, Judit Lantos, Cody Chapman, Ayal Chen-Zion, Apoorva Lal, Ekrem Kocaguneli, Kyoko Shimada
Experimentation is in Netflix’s DNA. When we launch a new product feature, we use — where possible — A/B test results to estimate the annualized incremental impact on the business.
Historically, that estimate has come from our Finance, Strategy, & Analytics (FS&A) partners. For each test cell in an experiment, they manually forecast signups, retention probabilities, and cumulative revenue on a one year horizon, using monthly cohorts. The process can be repetitive and time consuming.
We decided to build out a faster, automated approach that boils down to estimating two pieces of missing data. When we run an A/B test, we might allocate users for one month, and monitor results for only two billing periods. In this simplified example, we have one member cohort, and we have two billing period treatment effects (𝜏.cohort1,period1 and 𝜏.cohort1,period2, which we will shorten to 𝜏.1,1 and 𝜏.1,2, respectively).
To measure annualized impact, we need to estimate:
- Unobserved billing periods. For the first cohort, we don’t have treatment effects (TEs) for their third through twelfth billing periods (𝜏.1,j , where j = 3…12).
- Unobserved sign up cohorts. We only observed one monthly signup cohort, and there are eleven more cohorts in a year. We need to know both the size of these cohorts, and their TEs (𝜏.i,j, where i = 2…12 and j = 1…12).
For the first piece of missing data, we used a surrogate index approach. We make a standard assumption that the causal path from the treatment to the outcome (in this case, Revenue) goes through the surrogate of retention. We leverage our proprietary Retention Model and short-term observations — in the above example, 𝜏.1,2 — to estimate 𝜏.1,j , where j = 3…12.
For the second piece of missing data, we assume transportability: that each subsequent cohort’s billing-period TE is the same as the first cohort’s TE. Note that if you have long-running A/B tests, this is a testable assumption!
Now, we can put the pieces together. For the first cohort, we project TEs forward. For unobserved cohorts, we transport the TEs from the first cohort and collapse our notation to remove the cohort index: 𝜏.1,1 is now written as just 𝜏.1. We estimate the annualized impact by summing the values from each cohort.
We empirically validated our results from this method by comparing to long-running AB tests and prior results from our FS&A partners. Now we can provide quicker and more accurate estimates of the longer term value our product features are delivering to members.
A Systematic Framework for Evaluating Game Events
In Netflix Games DSE, we are asked many causal inference questions after an intervention has been implemented. For example, how did a product change impact a game’s performance? Or how did a player acquisition campaign impact a key metric?
While we would ideally conduct AB tests to measure the impact of an intervention, it is not always practical to do so. In the first scenario above, A/B tests were not planned before the intervention’s launch, so we needed to use observational causal inference to assess its effectiveness. In the second scenario, the campaign is at the country level, meaning everyone in the country is in the treatment group, which makes traditional A/B tests inviable.
To evaluate the impacts of various game events and updates and to help our team scale, we designed a framework and package around variations of synthetic control.
For most questions in Games, we have game-level or country-level interventions and relatively little data. This means most pre-existing packages that rely on time-series forecasting, unit-level data, or instrumental variables are not useful.
Our framework utilizes a variety of synthetic control (SC) models, including Augmented SC, Robust SC, Penalized SC, and synthetic difference-in-differences, since different approaches can work best in different cases. We utilize a scale-free metric to evaluate the performance of each model and select the one that minimizes pre-treatment bias. Additionally, we conduct robustness tests like backdating and apply inference measures based on the number of control units.
This framework and package allows our team, and other teams, to tackle a broad set of causal inference questions using a consistent approach.
Double Machine Learning for Weighing Metrics Tradeoffs
Apoorva Lal, Winston Chou, Jordan Schafer
As Netflix expands into new business verticals, we’re increasingly seeing examples of metric tradeoffs in A/B tests — for example, an increase in games metrics may occur alongside a decrease in streaming metrics. To help decision-makers navigate scenarios where metrics disagree, we developed a method to compare the relative importance of different metrics (viewed as “treatments”) in terms of their causal effect on the north-star metric (Retention) using Double Machine Learning (DML).
In our first pass at this problem, we found that ranking treatments according to their Average Treatment Effects using DML with a Partially Linear Model (PLM) could yield an incorrect ranking when treatments have different marginal distributions. The PLM ranking would be correct if treatment effects were constant and additive. However, when treatment effects are heterogeneous, PLM upweights the effects for members whose treatment values are most unpredictable. This is problematic for comparing treatments with different baselines.
Instead, we discretized each treatment into bins and fit a multiclass propensity score model. This lets us estimate multiple Average Treatment Effects (ATEs) using Augmented Inverse-Propensity-Weighting (AIPW) to reflect different treatment contrasts, for example the effect of low versus high exposure.
We then weight these treatment effects by the baseline distribution. This yields an “apples-to-apples” ranking of treatments based on their ATE on the same overall population.
In the example above, we see that PLM ranks Treatment 1 above Treatment 2, while AIPW correctly ranks the treatments in order of their ATEs. This is because PLM upweights the Conditional Average Treatment Effect for units that have more unpredictable treatment assignment (in this example, the group defined by x = 1), whereas AIPW targets the ATE.
Survey AB Tests with Heterogeneous Non-Response Bias
Andreas Aristidou, Carolyn Chu
To improve the quality and reach of Netflix’s survey research, we leverage a research-on-research program that utilizes tools such as survey AB tests. Such experiments allow us to directly test and validate new ideas like providing incentives for survey completion, varying the invitation’s subject-line, message design, time-of-day to send, and many other things.
In our experimentation program we investigate treatment effects on not only primary success metrics, but also on guardrail metrics. A challenge we face is that, in many of our tests, the intervention (e.g. providing higher incentives) and success metrics (e.g. percent of invited members who begin the survey) are upstream of guardrail metrics such as answers to specific questions designed to measure data quality (e.g. survey straightlining).
In such a case, the intervention may (and, in fact, we expect it to) distort upstream metrics (especially sample mix), the balance of which is a necessary component for the identification of our downstream guardrail metrics. This is a consequence of non-response bias, a common external validity concern with surveys that impacts how generalizable the results can be.
For example, if one group of members — group X — responds to our survey invitations at a significantly lower rate than another group — group Y — , then average treatment effects will be skewed towards the behavior of group Y. Further, in a survey AB test, the type of non-response bias can differ between control and treatment groups (e.g. different groups of members may be over/under represented in different cells of the test), thus threatening the internal validity of our test by introducing a covariate imbalance. We call this combination heterogeneous non-response bias.
To overcome this identification problem and investigate treatment effects on downstream metrics, we leverage a combination of several techniques. First, we look at conditional average treatment effects (CATE) for particular sub-populations of interest where confounding covariates are balanced in each strata.
In order to examine the average treatment effects, we leverage a combination of propensity scores to correct for internal validity issues and iterative proportional fitting to correct for external validity issues. With these techniques, we can ensure that our surveys are of the highest quality and that they accurately represent our members’ opinions, thus helping us build products that they want to see.
Design: The Intersection of Humans and Technology
A design talk at a causal inference conference? Why, yes! Because design is about how a product works, it is fundamentally interwoven into the experimentation platform at Netflix. Our product serves the huge variety of internal users at Netflix who run — and consume the results of — A/B tests. Thus, choosing how to enable our users to take action and how we present data in the product is critical to decision-making via experimentation.
If you were to display some numbers and text, you might opt to show it in a tabular format.
While there is nothing inherently wrong with this presentation, it is not as easily digested as something more visual.
If your goal is to illustrate that those three numbers add up to 100%, and thus are parts of a whole, then you might choose a pie chart.
If you wanted to show how these three numbers combine to illustrate progress toward a goal, then you might choose a stacked bar chart.
Alternatively, if your goal was to compare these three numbers against each other, then you might choose a bar chart instead.
All of these show the same information, but the choice of presentation changes how easily a consumer of an infographic understands the “so what?” of the point you’re trying to convey. Note that there is no “right” solution here; rather, it depends on the desired takeaway.
Thoughtful design applies not only to static representations of data, but also to interactive experiences. In this example, a single item within a long form could be represented by having a pre-filled value.
Alternatively, the same functionality could be achieved by displaying a default value in text, with the ability to edit it.
While functionally equivalent, this UI change shifts the user’s narrative from “Is this value correct?” to “Do I need to do something that is not ‘normal’?” — which is a much easier question to answer. Zooming out even more, thoughtful design addresses product-level choices like if a person knows where to go to accomplish a task. In general, thoughtful design influences product strategy.
Design permeates all aspects of our experimentation product at Netflix, from small choices like color to strategic choices like our roadmap. By thoughtfully approaching design, we can ensure that tools help the team learn the most from our experiments.
External Speaker: Kosuke Imai
In addition to the amazing talks by Netflix employees, we also had the privilege of hearing from Kosuke Imai, Professor of Government and Statistics at Harvard, who delivered our keynote talk. He introduced the “cram method,” a powerful and efficient approach to learning and evaluating treatment policies using generic machine learning algorithms.
Measuring causality is a large part of the data science culture at Netflix, and we are proud to have many stunning colleagues who leverage both experimentation and quasi-experimentation to drive member impact. The conference was a great way to celebrate each other’s work and highlight the ways in which causal methodology can create value for the business.
To stay up to date on our work, follow the Netflix Tech Blog, and if you are interested in joining us, we are currently looking for new stunning colleagues to help us entertain the world!
Round 2: A Survey of Causal Inference Applications at Netflix was originally published in Netflix TechBlog on Medium, where people are continuing the conversation by highlighting and responding to this story.
Dutch political websites hit by cyber attacks as EU voting starts
Post Syndicated from João Tomé original https://blog.cloudflare.com/dutch-political-websites-hit-by-cyber-attacks-as-eu-voting-starts

The 2024 European Parliament election started in the Netherlands today, June 6, 2024, and will continue through June 9 in the other 26 countries that are part of the European Union. Cloudflare observed DDoS attacks targeting multiple election or politically-related Internet properties on election day in the Netherlands, as well as the preceding day.
These elections are highly anticipated. It’s also the first European election without the UK after Brexit.
According to news reports, several websites of political parties in the Netherlands suffered cyberattacks on Thursday, with a pro-Russian hacker group called HackNeT claiming responsibility.
On June 5 and 6, 2024, Cloudflare systems automatically detected and mitigated DDoS attacks that targeted at least three politically-related Dutch websites. Significant attack activity targeted two of them, and is described below.
A DDoS attack, short for Distributed Denial of Service attack, is a type of cyber attack that aims to take down or disrupt Internet services such as websites or mobile apps and make them unavailable for users. DDoS attacks are usually done by flooding the victim’s server with more traffic than it can handle. To learn more about DDoS attacks and other types of attacks, visit our Learning Center.
Attackers typically use DDoS attacks but also exploit other vulnerabilities and types of attacks simultaneously.
Daily DDoS mitigations on June 5 reached over 1 billion HTTP requests in the Netherlands, most of which targeted two election or political party websites. The attack continued on June 6. Attacks on one website peaked on June 5 at 14:00 UTC (16:00 local time) with 115 million requests per hour, with the attack lasting around four hours. Attacks on another politically-related website peaked at the same time at 65 million requests per hour.

On June 6, the first politically-related site with the highest peak on June 5 referenced above was attacked again for several hours. The main attack peak occurred at 11:00 UTC (13:00 local time), with 44 million requests per hour.
The main June 5 DDoS attack on one of the websites peaked at 14:13 UTC (16:13 local time), reaching 73,000 requests per second (rps) in an attack that lasted for a few hours. This attack is illustrated by the blue line in the graph below, which shows that it ramped slowly over the first half of the day, and then appeared to abruptly stop at 18:06. And on June 6, the main attack on the second website peaked at 11:01 UTC (13:01 local time) with 52,000 rps.

Geopolitical motivations
Elections, geopolitical changes, and disputes also impact the online world and cyberattacks. Our DDoS threat report for Q1 2024 gives a few recent examples. One notable case was the 466% surge in DDoS attacks on Sweden after its acceptance into the NATO alliance, mirroring the pattern observed during Finland’s NATO accession in 2023.
As we’ve seen in recent years, real-world conflicts, disputed and highly anticipated elections, and wars are always accompanied by cyberattacks. We reported (1, 2) on an increase in cyberattacks following the start of the Israel-Hamas war on October 7, 2023. We’ve put together a list of recommendations to optimize your defenses against DDoS attacks, and you can also follow our step-by-step wizards to secure your applications and prevent DDoS attacks.
If you want to follow more trends and insights about the Internet and elections in particular, you can check Cloudflare Radar, and more specifically our new 2024 Elections Insights report, that we’re keeping up to date as national elections take place throughout the year.
Simplify risk and compliance assessments with the new common control library in AWS Audit Manager
Post Syndicated from Danilo Poccia original https://aws.amazon.com/blogs/aws/simplify-risk-and-compliance-assessments-with-the-new-common-control-library-in-aws-audit-manager/
With AWS Audit Manager, you can map your compliance requirements to AWS usage data and continually audit your AWS usage as part of your risk and compliance assessment. Today, Audit Manager introduces a common control library that provides common controls with predefined and pre-mapped AWS data sources.
The common control library is based on extensive mapping and reviews conducted by AWS certified auditors, verifying that the appropriate data sources are identified for evidence collection. Governance, Risk and Compliance (GRC) teams can use the common control library to save time time when mapping enterprise controls into Audit Manager for evidence collection, reducing their dependence on information technology (IT) teams.
Using the common control library, you can view the compliance requirements for multiple frameworks (such as PCI or HIPAA) associated with the same common control in one place, making it easier to understand your audit readiness across multiple frameworks simultaneously. In this way, you don’t need to implement different compliance standard requirements individually and then review the resulting data multiple times for different compliance regimes.
Additionally, by using controls from this library, you automatically inherit improvements as Audit Manager updates or adds new data sources, such as additional AWS CloudTrail events, AWS API calls, AWS Config rules, or maps additional compliance frameworks to common controls. This eliminates the efforts required by GRC and IT teams to constantly update and manage evidence sources and makes it easier to benefit from additional compliance frameworks that Audit Manager adds to its library.
Let’s see how this works in practice with an example.
Using AWS Audit Manager common control library
A common scenario for an airline is to implement a policy so that their customer payments, including in-flight meals and internet access, can only be taken via credit card. To implement this policy, the airline develops an enterprise control for IT operations that says that “customer transactions data is always available.” How can they monitor whether their applications on AWS meet this new control?
Acting as their compliance officer, I open the Audit Manager console and choose Control library from the navigation bar. The control library now includes the new Common category. Each common control maps to a group of core controls that collect evidence from AWS managed data sources and makes it easier to demonstrate compliance with a range of overlapping regulations and standards. I look through the common control library and search for “availability.” Here, I realize the airline’s expected requirements map to common control High availability architecture in the library.
I expand the High availability architecture common control to see the underlying core controls. There, I notice this control doesn’t adequately meet all the company’s needs because Amazon DynamoDB is not in this list. DynamoDB is a fully managed database, but given extensive usage of DynamoDB in their application architecture, they definitely want their DynamoDB tables to be available when their workload grows or shrinks. This might not be the case if they configured a fixed throughput for a DynamoDB table.
I look again through the common control library and search for “redundancy.” I expand the Fault tolerance and redundancy common control to see how it maps to core controls. There, I see the Enable Auto Scaling for Amazon DynamoDB tables core control. This core control is relevant for the architecture that the airline has implemented but the whole common control is not needed.
Additionally, common control High availability architecture already includes a couple of core controls that check that Multi-AZ replication on Amazon Relational Database Service (RDS) is enabled, but these core controls rely on an AWS Config rule. This rule doesn’t work for this use case because the airline does not use AWS Config. One of these two core controls also uses a CloudTrail event, but that event does not cover all scenarios.
As the compliance officer, I would like to collect the actual resource configuration. To collect this evidence, I briefly consult with an IT partner and create a custom control using a Customer managed source. I select the api-rds_describedbinstances API call and set a weekly collection frequency to optimize costs.
Implementing the custom control can be handled by the compliance team with minimal interaction needed from the IT team. If the compliance team has to reduce their reliance on IT, they can implement the entire second common control (Fault tolerance and redundancy) instead of only selecting the core control related to DynamoDB. It might be more than what they need based on their architecture, but the acceleration of velocity and reduction of time and effort for both the compliance and IT teams is often a bigger benefit than optimizing the controls in place.
I now choose Framework library in the navigation pane and create a custom framework that includes these controls. Then, I choose Assessments in the navigation pane and create an assessment that includes the custom framework. After I create the assessment, Audit Manager starts collecting evidence about the selected AWS accounts and their AWS usage.
By following these steps, a compliance team can precisely report on the enterprise control “customer transactions data is always available” using an implementation in line with their system design and their existing AWS services.
Things to know
The common control library is available today in all AWS Regions where AWS Audit Manager is offered. There is no additional cost for using the common control library. For more information, see AWS Audit Manager pricing.
This new capability streamlines the compliance and risk assessment process, reducing the workload for GRC teams and simplifying the way they can map enterprise controls into Audit Manager for evidence collection. To learn more, see the AWS Audit Manager User Guide.
— Danilo
How Do You Solve a Problem Like Homelessness?
Post Syndicated from The Atlantic original https://www.youtube.com/watch?v=I_WXtVM5Ggs




Response:
3) Send test message
Response:
Response – (ConflictException):
Conclusion
As SMS messaging continues to play a crucial role in customer engagement and authentication, protecting your communications from AIT is more important than ever. Amazon Pinpoint Protect provides a powerful and user-friendly solution to help you mitigate the impact of SMS pumping, ensuring the integrity of your SMS channels and preserving your business’ reputation and resources. Whether you’re a small business or a large enterprise, Pinpoint Protect is a valuable tool to have in your arsenal as you navigate the evolving landscape of SMS messaging.
To get started with Pinpoint SMS Protect, visit the Amazon Pinpoint SMS documentation or reach out to your AWS account team. And don’t forget to let us know in the comments how Protect configurations has helped you combat AIT and strengthen your SMS communications.
A few resources to help you plan for your SMS program:
About the Author
Brett Ezell is your friendly neighborhood Solutions Architect at AWS, where he specializes in helping customers optimize their SMS and email campaigns using Amazon Pinpoint and Amazon Simple Email Service. As a former US Navy veteran, Brett brings a unique perspective to his work, ensuring customers receive tailored solutions to meet their needs. In his free time, Brett enjoys live music, collecting vinyl, and the challenges of a good workout. And, as a self-proclaimed comic book aficionado, he can often be found combing through his local shop for new books to add to his collection.