How to make Storybook Interactions respect user motion preferences

Post Syndicated from Kendall Gassner original https://github.blog/engineering/user-experience/how-to-make-storybook-interactions-respect-user-motion-preferences/


Recently, while browsing my company’s Storybook, I came across something that seemed broken: a flickering component that appeared to be re-rendering repeatedly. The open source tool that helps designers, developers, and others build and use reusable components was behaving weirdly. As I dug in, I realized I was seeing the unintended effects of the Storybook Interactions addon, which allows developers to simulate user interactions within a story, in action.

Storybook Interactions can be a powerful tool, enabling developers to simulate and test user behaviors quickly. But if you’re unfamiliar with Interactions—especially if you’re just looking to explore available components—the simulated tests jumping around on the screen can feel disorienting.

This can be especially jarring for users who have the prefers-reduced-motion setting enabled in their operating system. When these users encounter a story that includes an interaction, their preferences are ignored and they have no option to disable or enable it. Instead, the Storybook Interaction immediately plays on page load, regardless. These rapid screen movements can cause disorientation for users or in some cases can even trigger a seizure.

At this time, Storybook does not have built-in capabilities to toggle interactions on or off. Until this feature can be baked in I am hoping this blog will provide you with an alternative way to make your work environment more inclusive. Now, let’s get into building an addon that respects user’s motion preferences and allows users to toggle interactions on and off.

Goals

  1. Users with prefers-reduced-motion enabled MUST have interactions off by default.
  2. Users with prefers-reduced-motion enabled MUST have a way to toggle the feature on or off without altering their operating system user preferences.
  3. All users SHOULD have a way to toggle the feature on or off without altering their user preferences.

Let’s get started

Step 1: Build a Storybook addon

Storybook allows developers to create custom addons. In this case, we will create one that will allow users to toggle Interactions on or off, while respecting the prefers-reduced-motion setting.

Add the following code to a file in your project’s .storybook folder:

import React, {useCallback, useEffect} from 'react'

import {IconButton} from '@storybook/components'
import {PlayIcon, StopIcon} from '@storybook/icons'

export const ADDON_ID = 'toggle-interaction'
export const TOOL_ID = `${ADDON_ID}/tool`

export const INTERACTION_STORAGE_KEY = 'disableInteractions'

export const InteractionToggle = () => {
  const [disableInteractions, setDisableInteractions] = React.useState(
       window?.localStorage.getItem(INTERACTION_STORAGE_KEY) === 'true',
  )

  useEffect(() => {
    const reducedMotion = matchMedia('(prefers-reduced-motion)')

    if (window?.localStorage.getItem(INTERACTION_STORAGE_KEY) === null && reducedMotion.matches) {
      window?.localStorage?.setItem(INTERACTION_STORAGE_KEY, 'true')
      setDisableInteractions(true)
    }
  }, [])

  const toggleMyTool = useCallback(() => {
    window?.localStorage?.setItem(INTERACTION_STORAGE_KEY, `${!disableInteractions}`)
    setDisableInteractions(!disableInteractions)
      // Refreshes the page to cause the interaction to stop/start
      window.location.reload()
}, [disableInteractions, setDisableInteractions])

  return (
    <IconButton
      key={TOOL_ID}
      aria-label="Disable Interactions"
      onClick={toggleMyTool}
      defaultChecked={disableInteractions}
      aria-pressed={disableInteractions}
    >
      {disableInteractions ? <PlayIcon /> : <StopIcon />}
      Interactions
    </IconButton>
  )
}

Code breakdown

This addon stores user preferences for Interactions using window.localStorage. When the addon first loads, it checks whether the preference is already set and, if so, it defaults to the user’s preference.

const [disableInteractions, setDisableInteractions] = React.useState(
       window?.localStorage.getItem(INTERACTION_STORAGE_KEY) === 'true',
  )

This useEffect hook checks if a user has their motion preferences set to prefers-reduced-motion and ensures that Interactions are turned off if the user hasn’t already set a preference in Storybook.

useEffect(() => {
    const reducedMotion = matchMedia('(prefers-reduced-motion)')

    if (window?.localStorage.getItem(INTERACTION_STORAGE_KEY) === null && reducedMotion.matches) {
      window?.localStorage?.setItem(INTERACTION_STORAGE_KEY, 'true')
      setDisableInteractions(true)
    }
  }, [])

When a user clicks the toggle button, preferences are updated and the page is refreshed to reflect the changes.

const toggleMyTool = useCallback(() => {
    window?.localStorage?.setItem(INTERACTION_STORAGE_KEY, `${!disableInteractions}`)
    setDisableInteractions(!disableInteractions)
      // Refreshes the page to cause the interaction to stop/start
      window.location.reload()
  }, [disableInteractions, setDisableInteractions])

Step 2: Register your new addon with Storybook

In your .storybook/manager file, register your new addon:

addons.register(ADDON_ID, () => {
  addons.add(TOOL_ID, {
    title: 'toggle interaction',
    type: types.TOOL as any,
    match: ({ viewMode, tabId }) => viewMode === 'story' && !tabId,
    render: () => <InteractionToggle />,
  })
})

This adds the toggle button to the Storybook toolbar, which will allow users to change their Storybook Interaction preferences.

Step 3: Add functionality to check user preferences

Finally, create a function that checks whether Interactions should be played and add it to your interaction stories:

import {INTERACTION_STORAGE_KEY} from './.storybook/src/InteractionToggle'

export const shouldInteractionPlay = () => {
  const disableInteractions = window?.localStorage?.getItem(INTERACTION_STORAGE_KEY)
  return disableInteractions === 'false' || disableInteractions === null
}


 export const SomeComponentStory = {
  render: SomeComponent,
  play: async ({context}) => {
    if (shouldInteractionPlay()) {
...
    }
  })
 }

Wrap-up

With this custom addon, you can ensure your workplace remains accessible to users with motion sensitivities while benefiting from Storybook’s Interactions. For those with prefers-reduced-motion enabled, motion will be turned off by default and all users will be able to toggle interactions on or off.

The post How to make Storybook Interactions respect user motion preferences appeared first on The GitHub Blog.

Multiple Vulnerabilities in Wowza Streaming Engine (Fixed)

Post Syndicated from Ryan Emmons original https://blog.rapid7.com/2024/11/20/multiple-vulnerabilities-in-wowza-streaming-engine-fixed/

Multiple Vulnerabilities in Wowza Streaming Engine (Fixed)

Wowza Streaming Engine below v4.9.1 is vulnerable to multiple vulnerabilities on Linux and Windows. An unauthenticated attacker can poison the Wowza Streaming Engine Manager web dashboard with a stored cross-site scripting (“XSS”) payload. When an administrator views the poisoned dashboard, additional authenticated vulnerabilities will automatically be exploited for remote code execution on the underlying server. The code execution context is privileged: root on Linux, LocalSystem on Windows. These vulnerabilities are tracked as CVE-2024-52052, CVE-2024-52053, CVE-2024-52054, CVE-2024-52055, and CVE-2024-52056. All five were patched on November 20, 2024, with the release of Wowza Streaming Engine v4.9.1.

Product description

Wowza Streaming Engine is media server software used by many organizations for livestream broadcasts, video on-demand, closed captioning, and media system interoperability. The Wowza Streaming Engine Manager component is a web application, and it’s used to manage and monitor Wowza Media Server instances. At the time of publication, approximately 18,500 Wowza Streaming Engine servers are exposed to the public internet, and many of those systems also expose the Manager web application.

Credit

These issues were reported to the Wowza Media Systems team by Ryan Emmons, Lead Security Researcher at Rapid7. The vulnerabilities are being disclosed in accordance with Rapid7’s vulnerability disclosure policy. Rapid7 is grateful to the Wowza team for their assistance and collaboration.

Vulnerability details

The testing target was Wowza Streaming Engine v4.8.27+5, the latest version available at the time of research. Rapid7 identified multiple security vulnerabilities as part of this research project, and those vulnerabilities are outlined in the table below.

CVE Description CVSS
CVE-2024-52052 An authenticated administrator can define a custom application property and poison a stream target for high-privilege remote code execution. 9.4
CVE-2024-52053 An unauthenticated attacker can inject client-side JavaScript into the administrator dashboard to automatically hijack admin accounts. 8.7
CVE-2024-52054 An injection permits an administrator user to create an XML file anywhere on the file system. 5.1
CVE-2024-52055 An injection permits an administrator user to read any file on the file system if the target directory contains an XML file. 8.2
CVE-2024-52056 An injection permits an administrator user to delete any directory on the host system if the target directory contains an XML file. 6.9

Exploitation was tested against Wowza Streaming Engine on two different operating systems: Ubuntu Linux 22.04.1 and Windows Server 2022. Based on information provided by the vendor, the unauthenticated injection vulnerability affects all Wowza Streaming Engine Manager versions, while the four authenticated vulnerabilities were introduced in v4.3.0.

Vendor statement

“We at Wowza Media Systems are focused on security excellence, and by partnering with trusted researchers like Rapid7, we proactively respond to and fix vulnerabilities to safeguard our customers’ interests.”

Mitigation guidance

Per to the vendor, issues in this disclosure can be remediated by upgrading to Wowza Streaming Engine version 4.9.1 or any future version.

Rapid7 customers

InsightVM and Nexpose customers will be able to assess their exposure to CVE-2024-52052, CVE-2024-52053, CVE-2024-52054, CVE-2024-52055, and CVE-2024-52056 with authenticated vulnerability checks expected to be available in the November 20, 2024 content release.

Disclosure timeline

July 30, 2024 – September 3, 2024: Rapid7 attempts to contact the vendor to disclose vulnerabilities discovered in Wowza Streaming Engine.
September 3, 2024: Rapid7 makes contact with the vendor, who acknowledges disclosure materials.
September 5, 2024 – September 18, 2024: Rapid7 and vendor discuss coordinated vulnerability disclosure steps and timeline.
October 2, 2024: Vendor communicates Q4 remediation timeline.
October 31, 2024: Patch shared with Rapid7 for testing.
November 4, 2024: Rapid7 confirms the patch is successful.
November 5, 2024: Rapid7 provides CVE IDs.
November 15, 2024: Vendor proposes Wednesday, November 20 for coordinated vulnerability disclosure. Rapid7 agrees.
November 20, 2024: This disclosure.

[$] RVKMS and Rust KMS bindings

Post Syndicated from jake original https://lwn.net/Articles/997850/

At the 2024 X.Org Developers
Conference
(XDC), Lyude Paul gave a talk on the work she has been doing
as part of the Nova
project
, which is an effort build an NVIDIA
GPU driver in Rust
. She wanted to provide an introduction to RVKMS, which
is being used to develop Rust kernel mode setting (KMS)
bindings; RVKMS is a port of the virtual KMS (VKMS)
driver to Rust. In addition, she wanted to give her opinion on Rust, and why she
thinks it is
a “game-changer for the kernel“, noting that the reasons are not
related to the oft-mentioned, “headline” feature of the language: memory
safety.

Plans for CHICKEN 6

Post Syndicated from daroc original https://lwn.net/Articles/998856/


CHICKEN Scheme
, a portable Scheme compiler, is gearing up for its next major release. Maintainer Felix Winkelmann has
shared

an article
about what changes to expect in version 6 of the language, including better Unicode support and support for the

R7RS (small)
Scheme standard.

Every major release is a chance of fixing long-standing problems with the codebase and address bad design decisions. CHICKEN is now nearly 25 years old and we had many major overhauls of the system. Sometimes these caused a lot of pain, but still we always try to improve things and hopefully make it more enjoyable and practical for our users. There are places in the code that are messy, too complex, or that require cleanup or rewrite, always sitting there waiting to be addressed. On the other hand CHICKEN has been relatively stable compared to many other language implementations and has a priceless community of users that help us improving it. Our users never stop reminding us of what could be better, where the shortcomings are, where things are hard to use or inefficient.

Rapid7 Extends AWS Support to Include Coverage for Newly-Launched Resource Control Policies (RCPs)

Post Syndicated from Ryan Blanchard original https://blog.rapid7.com/2024/11/20/rapid7-extends-aws-support-to-include-coverage-for-newly-launched-resource-control-policies-rcps/

Rapid7 Extends AWS Support to Include Coverage for Newly-Launched Resource Control Policies (RCPs)

In today’s cloud-first world, security and innovation go hand-in-hand. Rapid7 is excited to announce our support for Amazon Web Services’ (AWS) new Resource Control Policies (RCPs), a powerful tool designed to bolster security controls for organizations using AWS infrastructure. As a launch partner for this feature, Rapid7’s Exposure Command now extends its capabilities even further, helping organizations set precise, scalable guardrails within their AWS environments.

The need for strong guardrails in the Ciscloud

Cloud platforms like AWS have transformed business agility by enabling rapid development, fast deployments, and real-time scalability. Yet, as organizations increase their reliance on cloud infrastructure, they face a heightened risk landscape. Rapid development cycles and AI-driven cloud services often result in more identities, permissions, and resources—all of which can lead to excessive access and increased risk.

The need for stringent guardrails has never been more urgent. Without them, organizations risk unintentionally exposing data or resources as they rapidly scale operations.

AWS addresses this challenge with two main types of policies:

  • Service Control Policies (SCPs): Manage access at the principal level (such as IAM users and roles), setting maximum permissions across the organization.
  • Resource Control Policies (RCPs): Limit access directly at the resource level, with special utility for restricting external access across the AWS environment.

Building on broad and deep AWS coverage with support for RCPs

Exposure Command supports AWS RCPs through features that enhance security posture and operational insight by providing a centralized view of RCP use within the organization, enabling teams to monitor usage and governance of these policies. Cloud and Security teams can easily search, inspect, and understand RCP impacts on cloud resources, allowing for proactive adjustments with best practice recommendations that guide users through best practices in adopting RCPs.

This RCP support further extends the robust identity analysis capabilities offered by Exposure Command and InsightCloudSec, enabling organizations to automatically refine permissions organization-wide, uncovering and addressing overly permissive roles or unused access. By doing so, security teams are able to implement and effectively scale LPA adherence across AWS resources, enhancing security without compromising agility.

Exposure Command and InsightCloudSec support broad AWS coverage that extends well beyond RCPs and SCPs, encompassing a suite of tools to secure AWS cloud resources:

  • Real-Time Visibility into AWS accounts, services, and resources.
  • Vulnerability Management for proactive scanning, identification, and remediation across cloud assets.
  • Context-Driven Risk Prioritization to address the highest-impact vulnerabilities based on risk, exploitability, and blast radius.
  • Automated Remediation for rapid policy updates and resource configurations.
  • Extensive and rapidly-expanding support for foundational AI/ML services from AWS to securely configure and track AI services usage with support for services including AWS Bedrock, SageMaker, Kendra, Comprehend, Polly and more.

Ready to Take Command of your AWS security?

As organizations embrace the cloud’s full potential, maintaining robust security while supporting rapid growth is critical. Rapid7’s Exposure Command, now with AWS RCP support, empowers security teams to adopt a zero-trust approach while maintaining the agility and flexibility that cloud environments demand. Together with AWS, we’re committed to helping organizations reduce risk, ensure compliance, and innovate confidently in the cloud.

Interested in learning more about RCPs and our expanded AWS support? Be sure to swing by booth #697 at AWS Re:Invent to chat and see the Command Platform in action!

За къпането и хигиената в България и в Западна Европа – без комплекси

Post Syndicated from Светла Енчева original https://www.toest.bg/za-kupaneto-i-higienata-v-bulgaria-i-v-zapadna-evropa-bez-kompleksi/

За къпането и хигиената в България и в Западна Европа – без комплекси

Страстите около пиесата на Джордж Бърнард Шоу от 1894 г. „Оръжията и човекът“, поставена от Джон Малкович в Народния театър, започнаха да поотшумяват. Един от поводите за протест срещу постановката беше представянето на българите в нея като къпещи се веднъж в седмицата (ако изобщо). И следва да признаем, че макар кампанията срещу „Оръжията и човекът“ да беше резултат от грижливо подготвено активно мероприятие, доста хора искрено се възмутиха от иронизирането на хигиената на сънародниците ни отпреди век и 30 години. Затова е време за една трезва ретроспекция на къпането и хигиената – не само в България.

Възмущението е старо, колкото пиесата

Критики към шегата на тема хигиена в „Оръжията и човекът“ се отправят скоро след поставянето на пиесата за първи път, разказва историкът Стефан Дечев. Според него „Шоу не е много убедителен“, когато твърди, че всъщност е иронизирал британците, а не българите, понеже поради мръсния въздух в големите градове сънародниците му трябвало да се къпят по-често. Шоу казва и че

ни най-малко не е имал намерение да внуши, че българският майор, който се мие веднъж седмично заради социалното си положение, или неговият баща, който не се е къпал през живота си, са нечистоплътни хора.

Също така провалянето на премиерата през 2024 г. в София не е прецедент. Звучи, като да се е случило век по-късно, но през 20-те години на ХХ век ВМРО проваля опит за поставянето на спектакъла в Петрич, а през 1921 г. български студенти протестират срещу него във Виена. И макар най-пиперливите пасажи да са премахнати от текста, пиесата е свалена след четири дни.

Накрая обиденият писател решава, че българите нямат чувство за хумор и самоирония. А това според него е белег на недостатъчно цивилизована култура. Той не поставя под въпрос собствената си позиция на привилегирован представител на висш социален слой на доминираща политически и културно държава.

За първи път „Оръжията и човекът“ (под заглавието „Шоколадовият войник“) се играе на българска сцена чак 101 години след създаването ѝ – през 1995 г. във Враца. След това – през 2000 г. в Русе. И двата пъти поставянето на пиесата минава без скандали.

Етнологически поглед към къпането

Допускането, че в края на XIX век българите се къпят веднъж седмично, впрочем е твърде оптимистично. Дечев се позовава на свидетелства и изследвания, според които някои са били къпани само по време на кръщене, след като умрат или ако ги навали дъжд. Други са отивали на баня по Великден и по Коледа.

И няма как да е било иначе. Не можем да очакваме хората да се къпят всеки ден, ако нямат съответните условия в дома си.

Никой няма да тръгне да се къпе, когато няма вода, а сложните заплитания на момите изискват много време. Това е излишно хабене на ресурс, на време,

казва етноложката Виолета Коцева пред Нова телевизия, която е авторка на книгата „Честита баня“.

В 300-те ѝ страници са представени изследванията ѝ върху хигиената на българите след 1878 г.

Къпането в неделя, обяснява Коцева, не е било свързано с хигиената, а се е правело (доколкото изобщо се е правело) по-скоро по религиозни съображения – да отидеш на църква „чист духовно и физически“. Разбирането, че има връзка между чистотата и здравето, не се е радвало на особена популярност. По-скоро хората са се страхували да не настинат на течение. Оттам и „разпространеното мнение, че от некъпане никой не е умрял, но от настинки гробищата са пълни“.

Хигиена и културно превъзходство

Британските протестантски мисионери, дошли по българските земи по време на Възраждането, схващат себе си, подобно на Бърнард Шоу, като носители на цивилизационно и културно превъзходство. Него те предават и на българските пастори, които обучават.

За отбелязване е, че първата работа на евангелските работници е била да обучат населението на най-елементарни познания по хигиена: да се мият, да си режат косите, да си готвят храната, да се обличат,

се казва в сборника „Вестители на истината. История на евангелските църкви в България“ под редакцията на Кристо Куличев.

Цитираният в сборника пастор Димитър Фурнаджиев пък разказва, че когато пастор Никола Бояджиев пристигнал в Ямбол през 1874 г.,

намерил хората да спят на земята, върху пръстта и влагата, да ядат седешком на земята с дебели дървени лъжици, които не всеки ден виждали вода за измиване. […] Една от първите му работи била да научи хората да живеят като възпитани и разумни хора […], изобщо да се отучат да живеят „така, както е останало от баба и дядо.

Хигиена и статусни различия

Фактът, че едни българи се опитват да „цивилизоват“ други българи, навежда на мисълта, че отношението към хигиената не е въпрос толкова на националност, колкото на начин на живот и социален статус.

В студията си „Психология на военната дисциплина“, включена в „Оптимистична теория за нашия народ“, Иван Хаджийски описва два основни типа войници в периода преди Втората световна война в България. Единият, когото Хаджийски самоиронично нарича Иван, е от средите на градската буржоазия. Тренчо пък е от село и не се е докосвал много-много до цивилизацията. Иван притежава развита индивидуалност, която животът в казармата пречупва. При Тренчо няма нищо за пречупване – него казармата по-скоро го изгражда и окултурява.

За Иван например, който е свикнал да си чете сутрешния вестник в домашната тоалетна, липсата на лично пространство в казармения клозет е мъчение. Докато Тренчо се чувства „като финландец в банята си. Бави се, води оживени разговори, пуща шеги, забавлява се и се чуди защо го карат да мие нужниците и да ги варосва. Най-сетне роптае, че му забраняват да прави своите излияния, където намери за по-удобно и по-близо: до дърво или в някое кьоше“.

По същия начин, докато казармената хигиена е крайно недостатъчна за Иван, на Тренчо трябва „всеки ден да проверяват врата, ръцете и ноктите, за да се види дали ги е докоснал до тази безцветна и безсмислена течност, наречена „вода“. Толкова борба трябва да се води, за да го накарат да не плюе по пода, да се пере и си сменя гащите, ризата, да си мие краката, да си пере миризливите вълнени чорапи, да иде на баня“.

Социалистическо и постсоциалистическо къпане

По времето на социализма протича процес на урбанизация – повече хора се преселват от селата в градовете. В градовете пък се строят жилищни блокове, в които вътрешната баня и тоалетна стават подразбиращ се стандарт. Същевременно немалка част от населението продължава да живее в къщи, много от които са без баня, често с външна тоалетна, а топла вода тече само през проточния бойлер „Юнга“ в кухнята.

Затова обществените бани (в населените места, в които ги има) се посещават масово чак до 90-те години. Неделята продължава да бъде „ден за баня“, но вече не по религиозни съображения, а по традиция и най-вече защото е почивен и неучебен ден.

Макар социалистическата пропаганда да призовава към хигиенни навици, посланията ѝ са доста по-различни от днешните представи за хигиена. От социалистическия човек се очаква сутрин не да си тегли душ, а да си измие лицето с вода. А в книга с наставления за правилния начин на живот може да прочетем следното:

Личното бельо не трябва да се преносва повече от една седмица, а при усилена работа – повече от четири дни.

Културата има свойството да се променя по-бавно от условията за живот. От наличието на баня у дома не следва, че обитателите на съответния дом автоматично ще започнат да я използват всекидневно. Ако са свикнали, че човек се къпе веднъж седмично – в неделя, те с голяма вероятност ще продължат да го правят. И нищо чудно да твърдят, че всекидневната баня е вредна.

Нерядко промяната настъпва чак при следващите поколения, чиито представители имат баня вкъщи, откакто се помнят, и са изложени на повече внушения, представящи честото къпане като нещо естествено и правилно. Затова не е учудващ отговорът на възрастния мъж  в репортажа на Нова телевизия за етноложката Виолета Коцева, който казва, че се къпе веднъж на 4–5 дни.

По данни на НСИ 11,5% от съвременните жилища в България не разполагат с вътрешна тоалетна, а близо 7% са без баня. В селата вътрешна тоалетна нямат 20% от домакинствата. Делът на хората без тоалетна и/или баня със сигурност е в пъти по-голям от този на жилищата и домакинствата – по данни от последното преброяване едно градско домакинство се състои средно от 2,2 членове, а селското – от 2,4. Освен това едно жилище може да се обитава от повече домакинства.

Поздрави от Наполеон

Връщам се след три дни. Не се къпи,

гласи известно писмо на Наполеон до съпругата му Жозефин.

От съвременна гледна точка тази заръка звучи, меко казано, странно. Но допреди някой и друг век не само по българските земи, а и в Западна Европа естествената телесна миризма не се възприема като гнусна, а може дори да е възбуждаща.

В книгата си „Относно процеса на цивилизация“ немският социолог Норберт Елиас изследва прехода от средновековно към модерно общество. Противно на разпространеното мнение за рестриктивното Средновековие, Елиас привежда доказателства, че срамът от собственото тяло и естествените потребности и изобщо способността да се самоконтролираш и самопринуждаваш са плод на Ренесанса и Просвещението и все повече се усилват през модерността.

При това връзката на самоконтрола с хигиената е много късна „опера“ – чак от XIX век нататък. Преди това тялото става по-скоро обект на срам, а този срам може и да е в противоречие с хигиената. През 1558 г. например Джовани дела Каза, архиепископ на Беневент, съветва:

Когато се връща от отходното място, [човек] не си измива ръцете пред отбрано общество, ако причината, поради която се мие, ще накара людете да си представят някаква гнусота.

По времето на индустриалната революция къпането става белег на социален статус. Градовете се препълват с нископлатени работници, живеещи сред мръсотия и без достъп до чиста вода. За разлика от тях, представителите на висшите класи толкова се привързват към своите бани, че дори си имат вани за пътуване. Бедността се възприема не само като недостойна, а и като смрадлива.

Хигиената впрочем става част от модерната култура не поради някакви възвишени съображения, а по необходимост. Лошите условия, в които живеят и се трудят работниците през XIX век, води до серия епидемии от холера. Междувременно Луи Пастьор открива връзка между микробите и болестите. И така, втората половина на XIX век във Великобритания става време на опити за реформиране на общественото здраве, за прокарване на водопроводи и канализация, изграждане на тоалетни, контрол на чистотата в кланици и магазини.

А през ХХ и XXI век?

И все пак и през миналото столетие всекидневното къпане не е повсеместно разпространено не само в страни като България, а и в Западна Европа, защото и там в немалко домове е липсвала баня. И за хората, които са ги обитавали, както и за българите, обичайният вариант е бил ходене на баня веднъж седмично.

По-рядкото къпане в не толкова далечното минало в сравнение с наши дни се иронизира в някои германски сериали. Действието в „Берлински Вавилон“ например се развива от края на 20-те до края на 30-те години на ХХ век. Още в първия епизод виждаме как Шарлоте Ритер, главната героиня, небрежно се позамива с вода от леген след дълга нощ на сексуален труд. В един от следващите сезони инспектор Гереон Рат не заварва Шарлоте вкъщи, защото „днес ѝ е ден за баня“.

Действието в друг сериал – Ku’damm 56 – се развива през 50-те години на ХХ век в престижен район на Берлин. След като майката на една от героините продължава да се опитва да я сватоса с мъж, който я е изнасилил, младата жена споделя, че се чувства мръсна. „Ами изкъпи се! Нищо че днес е сряда“ – отговаря майката, правейки се, че не разбира.

Впрочем би било наивно да допускаме, че и през XXI век на Запад всички се къпят поне по веднъж ден. Не само защото и там не всички разполагат със съответните условия. А и защото някои съзнателно избират да не се къпят толкова редовно – било защото принадлежат към определена субкултура, било по здравословни съображения – защото смятат, че твърде честото миене разрушава естествения микробиом на кожата и прави организма по-податлив на инфекции.

Като погледнем на къпането в по-широка перспектива, виждаме, че всъщност нямаме никакво основание да се обиждаме. Дори ако Бърнард Шоу, а след него и Джон Малкович гледат на българите от позицията на някакво културно и цивилизационно превъзходство. Защото общество, в което всички се къпят всеки ден, не е съществувало нито в края на XIX век, нито има такова днес. Модерната цивилизация е повече шарена, отколкото чиста. И понякога понамирисва.

Security updates for Wednesday

Post Syndicated from daroc original https://lwn.net/Articles/998854/

Security updates have been issued by Debian (guix, libmodule-scandeps-perl, needrestart, and thunderbird), SUSE (gh), and Ubuntu (kernel, linux, linux-aws, linux-aws-hwe, linux-azure, linux-azure-4.15, linux-gcp,
linux-gcp-4.15, linux-hwe, linux-kvm, linux-oracle, linux, linux-aws, linux-gcp, linux-gcp-6.8, linux-gke, linux-hwe-6.8,
linux-ibm, linux-nvidia, linux-nvidia-6.8, linux-nvidia-lowlatency,
linux-oem-6.8, linux-oracle, linux-raspi, linux-iot, linux-lowlatency, linux-lowlatency-hwe-6.8, needrestart, python2.7, python3.10, python3.12, python3.8, and Waitress).

Monitoring VMware vSphere with Zabbix

Post Syndicated from Mateusz Romaniuk original https://blog.zabbix.com/monitoring-vmware-vsphere-with-zabbix/29193/

Zabbix is an open-source monitoring tool designed to oversee multiple IT infrastructure components, including networks, servers, virtual machines, and cloud services. It operates using both agent-based and agentless monitoring methods. Agents can be installed on monitored devices to collect performance data and report back to a centralized Zabbix server.

Zabbix provides comprehensive integration capabilities for monitoring VMware environments, including ESXi hypervisors, vCenter servers, and virtual machines (VMs). This integration allows administrators to effectively track performance metrics and resource usage across their VMware infrastructure.

In this post, I will show you how to set up Zabbix monitoring with a VMware vSphere infrastructure.

Requirements:

  • Zabbix server
  • Access to the VMware vCenter Server

Step one: Create a Zabbix service user in the vCenter

First things first, let’s create a service user on the vCenter that will be used by the Zabbix server to collect data. To make life easier, in my lab setup the user [email protected] will have full Administrator privileges. Read-only permissions should be enough, however.

1. In the vSphere Client, choose Menu -> Administration -> Users and Groups. From the Users tab, select Domain vsphere.local, and click the ADD button to add a new user.

2. Type a username and password. Click ADD to create a new user.

3. Change the tab to Groups and select the Administrators group.

4. Find a new user zabbix, click on it and save. The user is added to the Administrators group.

5. From the Host and Clusters view, choose vCenter name and go to the Permissions tab. Click the Add button.

6. Choose a proper domain (vsphere.local), find the user zabbix, set the role to Administrator, and check Propagate to children. Click OK to give those permissions.

Step two: Make changes on the Zabbix server

Next, we need to edit zabbix_server.conf. In this file we need to enable the vmware collector process. It’s necessary to start VMware monitoring. FYI, I have installed Zabbix server in version 7.0.4.

1. Edit a configuration file zabbix_server.conf

vim /etc/zabbix/zabbix_server.conf

2. Find the StartVMwareCollectors parameter, delete “#” before it and change the value from 0 to at least 2. Save the file and exit.

Except for StartVMwareCollectors which is mandatory, it’s possible to enable and modify additional VMware parameters. You can find more details about them HERE.
VMwareCacheSize
VMwareFrequency
VMwarePerfFrequency
VMwareTimeout

3. Restart the zabbix-server service.

systemctl restart zabbix-server

Step three: Configure the VMware template on Zabbix

1.Log in to the Zabbix server via GUI – http://zabbix_server/zabbix. Go to the Hosts section under the Monitoring tab.

2. Create a new “Host.” Click Create Host in the right upper corner.

3. In the Host tab provide the following details:

Host name – type the name of the system that we want to monitor – here it is VMware Infrastructure.
Templates – type/find template name “VMware”, more info about VMware template you can find HERE.
Host groups – find/type “VMware(new)” host group.

At this point,  go to the Macros tab.

4. In the Macros tab you need to provide 3 values/macros. These macros describes data that is needed to connect Zabbix to the VMware vCenter:

{$VMWARE.URL} – VMware service (vCenter or ESXi hypervisor) SDK URL (https://servername/sdk) that we want to connect.
{$VMWARE.USERNAME} – VMware service username created in the 1 section.
{$VMWARE.PASSWORD} – VMware service user password created in the 1 section.

Click the Add button.

5. A new Host was created and data collection is in progress.

6. Depending on the size of the infrastructure, data collection takes different amounts of time. Once configured, Zabbix will automatically discover VMs and begin collecting performance data. You can find an overview of the latest data in the Dashboard screen.

7. More specific and detailed data can be found in Latest data under the Monitoring tab.

In Host groups or Hosts choose the name of the item you are looking for (you can also click the “Select” button). Select the name of the ESXi host, the virtual machine, the vCenter name, the datastore, or all VMware information.

Zabbix can collect multiple metrics from VMware using its built-in templates. These metrics include:

– CPU usage
– Memory consumption
– Disk I/O statistics
– Network traffic
– Datastore capacity

In conclusion

Integrating Zabbix with VMware provides a robust solution for monitoring virtualized environments and enhancing visibility into system performance and resource utilization, while enabling timely alerts and responses to operational issues.

The post Monitoring VMware vSphere with Zabbix appeared first on Zabbix Blog.

FreeCAD 1.0 released

Post Syndicated from corbet original https://lwn.net/Articles/998807/

It took more than 20 years, but the FreeCAD computer-aided design project
has just made
its 1.0 release
.

Since the very beginnings, the FreeCAD community had a clear view
of what 1.0 represented for us. What we wanted in it. FreeCAD
matured over the years, and that list narrowed down to just two
major remaining pieces: fixing the toponaming problem, and having a
built-in assembly module.

Well, I’m very proud to say those two issues are now solved.

re:Invent 2024: Your Amazon SES and AWS End User Messaging guide to AWS’s biggest event

Post Syndicated from Will Quillin original https://aws.amazon.com/blogs/messaging-and-targeting/reinvent-2024-your-amazon-ses-aws-end-user-messaging-guide-to-awss-biggest-event/

On December 2, AWS re:Invent conference returns to Las Vegas for our 13th year. With the conference approaching, our tailored sessions for Amazon SES and AWS End User Messaging will make your re:Invent experience worthwhile.

Discover new ideas and reaffirm your AWS skills

BIZ205: Simplify your email with Amazon SES and Amazon Q*

Monday, Dec 2nd| 12:00 PM–2:00 PM PST

  • Leverage public information and Amazon Q to evaluate your company’s entire email presence.
  • Build a managed email infrastructure that extends beyond inboxes and into all email applications across networks.

*Note: This session’s title is out of date in the re:Invent catalog.

BIZ209: Unlock higher email deliverability rates with Amazon SES

Monday, Dec 2nd| 10:00 AM–11:00 AM PST

  • Learn to identify and resolve common email deliverability issues using Amazon Simple Email Service (SES) and Virtual Deliverability Manager.
  • Solve real-world scenarios using diagnostic tools.
  • Get step-by-step guidance to improve email delivery rates and ensure messages reach their intended recipients.

BIZ206: Implementing resilient omni-channel notifications with AWS

Monday, Dec 2nd| 8:00 AM–10:00 AM PST

  • Learn how to build a resilient omni-channel notification system with fallback options.
  • Discover how to use AWS services like Amazon API Gateway, AWS Lambda, AWS End User Messaging, and Amazon SES to create a solution that monitors message delivery and automatically creates channel fallback options.

BIZ311: Send high-volume one-time passwords via SMS and email

Wednesday, Dec 4th| 9:00 AM–10:00 AM PST

  • Set up one-time passwords (OTPs) for multi-factor authentication, payment verification, and account recovery.
  • Gain insights into configuring SMS and email for high-volume, international, and resilient OTP sending.

BIZ301: Integrating SMS capabilities with AWS End User Messaging

Monday, Dec 2nd| 2:30 PM–3:30 PM PST
Wednesday, Dec 4th| 4:00 PM–5:00 PM PST

  • Designed for developers and technical individuals looking to add SMS sending to their applications.
  • Learn the fundamentals of SMS and how to set up AWS End User Messaging.

If you have signed up for re:Invent, you can directly reserve your spot in the sessions here (login required).

Map out your schedule with re:Invent attendee guides

With sessions up and down the Las Vegas Strip, planning your agenda is critical to make the most of your time at re:Invent. Find specific attendee guides below:

Explore the session catalog to see available sessions, including chalk talks, workshops, builders’ sessions, and more.

Can’t make it in-person? Join the virtual re:Invent 2024 experience

If you’re unable to travel to Vegas this year, you can still watch remotely! All keynotes and leadership sessions will be livestreamed and available on demand. After the event, breakout sessions will be available to stream; closed captioning is available as well. There will also be other livestreamed events, like behind-the-scenes programming, commentary from special guests, and more.

Register now to take your AWS knowledge to the next level. Plan your time in Las Vegas to make the most of the available sessions, get inspired by the global cloud community, and learn the latest from AWS.

Check out the FAQs for answers to all your re:Invent questions.

See you at re:Invent 2024!