Zabbix and the Docker API, Part 2: Adapt

Post Syndicated from Janis Eidaks original https://blog.zabbix.com/zabbix-and-the-docker-api-part-2-adapt/32912/

In this blog post, I will show you how to create a template for monitoring your Docker server with only API calls (without the Zabbix agent 2). Instead of creating a template, templated items, LLD rules, and trigger prototypes from scratch, we will adapt them from the existing template “Docker by Zabbix agent 2.”

How does the Zabbix agent 2 do it?

If you are wondering how the Zabbix agent 2 collects the data, you can look into the source code and see the magic behind the scenes: https://github.com/zabbix/zabbix/blob/master/src/go/plugins/docker/metrics.go.

In short, it uses a Unix non-TCP socket, makes the Docker API requests on the host, and returns JSON objects. Hey, we already know how to use it ourselves from the previous blog post, right?

For the Zabbix agent 2 to work with the Docker template, it needs access to the Unix socket, either by adding the user Zabbix to the group: Docker or running the Zabbix-agent2 as root.

Fig 1. The Zabbix agent 2 Docker plugin source code

How we will do it

I can adapt this template, improvise whenever I encounter a non-existing metric, and overcome any technical challenge with effort! For the most part, in the template we have a few Zabbix agent items that collect data in bulk and a lot of dependent items (and dependent item prototypes from the LLD rules).

The path forward is quite straightforward – we will clone the template and replace the Zabbix agent item type with the HTTP agent type item and add additional parameters shown below. I will also add additional user macros on the template, including the Docker server IP address, port, CA, SSL certificate, and key file names so that these can be adjusted on the host level.

Fig 2. The workflow of the template modifications

Cloning the template and changing the item type

First, clone the template “Docker by Zabbix agent 2” and give it a new name: “Docker stats by HTTP.” Next, modify the Templated Zabbix agent type item configuration with the following parameters:

Fig 3. The modification of the templated item configuration

Modify “Docker by HTTP” template items:

● Modify item: Get containers
  ▪ Type: HTTP agent
  ▪ URL: https://{$DOCKER.IP}:{$DOCKER.PORT}/containers/json?all=true     
  ▪ Type of inf: Text
  ▪ SSL verify peer: Checked
  ▪ SSL verify host: Checked
  ▪ SSL certificate file: {$SSL.CERTIFICATE.FILE}
  ▪ SSL key file: {$SSL.KEY.FILE}
  ▪ SSL key password: {$SSL.KEY.PASSWORD}
● Modify item: Get data_usage
  ▪ Type: HTTP agent
  ▪ URL: https://{$DOCKER.IP}:{$DOCKER.PORT}/system/df
  ▪ Type of inf: Text
  ▪ SSL verify peer: Checked
  ▪ SSL verify host: Checked
  ▪ SSL certificate file: {$SSL.CERTIFICATE.FILE}
  ▪ SSL key file: {$SSL.KEY.FILE}
  ▪ SSL key password: {$SSL.KEY.PASSWORD}
● Modify item: Get images
  ▪ Type: HTTP agent
  ▪ URL: https://{$DOCKER.IP}:{$DOCKER.PORT}/images/json
  ▪ Type of inf: Text
  ▪ SSL verify peer: Checked
  ▪ SSL verify host: Checked
  ▪ SSL certificate file: {$SSL.CERTIFICATE.FILE}
  ▪ SSL key file: {$SSL.KEY.FILE}
  ▪ SSL key password: {$SSL.KEY.PASSWORD}
●Modify item: Get info
  ▪ Type: HTTP agent
  ▪ URL: https://{$DOCKER.IP}:{$DOCKER.PORT}/info
  ▪ Type of inf: Text
  ▪ SSL verify peer: Checked
  ▪ SSL verify host: Checked
  ▪ SSL certificate file: {$SSL.CERTIFICATE.FILE}
  ▪ SSL key file: {$SSL.KEY.FILE}
  ▪ SSL key password: {$SSL.KEY.PASSWORD}
● Modify item: Ping
  ▪ Type HTTP agent
  ▪ URL: https://{$DOCKER.IP}:{$DOCKER.PORT}/_ping
  ▪ Type of inf: Text
  ▪ SSL verify peer: Checked
  ▪ SSL verify host: Checked
  ▪ SSL certificate file: {$SSL.CERTIFICATE.FILE}
  ▪ SSL key file: {$SSL.KEY.FILE}
  ▪ SSL key password: {$SSL.KEY.PASSWORD}
♯ Preprocessing (additional first step)
  ▪ Boolean to Decimals

We also need to modify the LLD rule configuration. Change item type from Zabbix agent type to HTTP agent type:

Fig 4. The modification of LLD discovery rule: containers discovery
Modify LLD rule: Containers discovery
● Discovery rule
  ▪ Type: HTTP agent
  ▪ Key: docker.containers.discovery[true]
  ▪ URL: https://{$DOCKER.IP}:{$DOCKER.PORT}/containers/json?all=true     
  ▪ SSL verify peer: Checked
  ▪ SSL verify host: Checked
  ▪ SSL certificate file: {$SSL.CERTIFICATE.FILE}
  ▪ SSL key file: {$SSL.KEY.FILE}
  ▪ SSL key password: {$SSL.KEY.PASSWORD}
  ▪ Update interval: 1h
● LLD macros
  ▪ {#ID}   $.Id
  ▪ {#NAME} $.Names.first()
Modify LLD rule: Images discovery
● Discovery rule
  ▪ Type: Dependent item
  ▪ Master item: item> Get images
● LLD macros
  ▪ {#ID}   $.Id
  ▪ {#NAME} $.RepoTags

After that, we will also make changes in the LLD rule “Containers discovery” by modifying a few existing item prototypes (Zabbix agent type) and adding a new item. Below are the item prototypes that require modification:

● In LLD rule Containers discovery, modify parameters for item prototype: Container {#NAME}: Get info
  ▪ Type: HTTP agent
  ▪ URL: https://{$DOCKER.IP}:{$DOCKER.PORT}/containers{#NAME}/json       
  ▪ SSL verify peer: Checked
  ▪ SSL verify host: Checked
  ▪ SSL certificate file: {$SSL.CERTIFICATE.FILE}
  ▪ SSL key file: {$SSL.KEY.FILE}
  ▪ SSL key password: {$SSL.KEY.PASSWORD}
● In LLD rule Containers discovery, modify item prototype: Container {#NAME}: Get stats
  ▪ Type: HTTP agent
  ▪ URL: https://{$DOCKER.IP}:{$DOCKER.PORT}/containers{#NAME}/stats?stream=false  
  ▪ SSL verify peer: Checked
  ▪ SSL verify host: Checked
  ▪ SSL certificate file: {$SSL.CERTIFICATE.FILE}
  ▪ SSL key file: {$SSL.KEY.FILE}
  ▪ SSL key password: {$SSL.KEY.PASSWORD}
● In LLD rule Containers discovery, modify parameters for item prototype: Container {#NAME}: CPU percent usage
  ▪ Type: Calculated
  ▪ Formula: last(//docker.container_stats.cpu_usage.total.rate["{#NAME}"])/last(//docker.container_stats.system_cpu_usage.total.rate["{#NAME}"])*last(//docker.container_stats.online_cpus["{#NAME}"])*100
♯ Preprocessing (delete preprocessing step JSONPath)
● In LLD rule Containers discovery, add new item prototype: Container {#NAME}: System CPU total usage per second
  ▪ Name: Container {#NAME}: System CPU total usage per second
  ▪ Type: Dependent item
  ▪ Key: docker.container_stats.system_cpu_usage.total.rate["{#NAME}"]
  ▪ Type of information Numeric (float)
  ▪ Master item    prototype > Container {#NAME}: Get stats

♦ Tags (name:value)        
  ▪ component:cpu
  ▪ container:{#NAME}      

♯ Preprocessing

  ▪ JSONPath       $.cpu_stats.system_cpu_usage
  ▪ Change per second
  ▪ Custom multiplier: 1.0E-9

Cloning the template (again) and making minor modifications

Next, I will clone the template “Docker statistics by HTTP” and give the copy a new name  – “Docker containers by HTTP.” In the template “Docker containers by HTTP,” delete the LLD rule Images discovery; delete templated items; from the LLD rule “Containers discovery” rule, delete all prototype entities (item prototypes), and add a filter in the LLD rule (shown below):

In LLD rule Containers discovery rule, in Filter tab: add additional filter option
Filters [type of calculation: A and B and C]
   ▪ {#ID} matches {HOST.HOST}

I have also created a host group “Docker” where the discovered container hosts will be added. In the template “Docker statistics by HTTP” delete all item prototypes in the LLD rule “Containers discovery.” We will create a Host prototype in the LLD discovery rule “Containers discovery” – the parameters are shown below:

Host prototype in LLD rule: Containers discovery
  ▪ Host name:     {#ID}
  ▪ Visible name:  {#NAME}
  ▪ Templates:     Docker containers by HTTP
Fig 5. Host prototype settings in LLD rule: Containers discovery
Fig 6. The cloned and modified templates

Creating a host and linking the template

Now all that is left is to create a host and link a template: “Docker statistics by HTTP.” Do not forget to add the correct Docker IP address or DNS name in the user macro.

I have created a new host “Docker server,” linked a template, and modified the user macro for the Docker IP address. This host will collect Docker overall statistics. After the LLD discovery execution, the container names will be automatically discovered and container hosts will be created with a linked template.

Fig 7. The Discovered container hosts with linked templates

If for some reason you are monitoring multiple Docker instances, you could have the same container names discovered, which will lead to LLD errors, as there can’t be hosts with the same name (container ID) or visible name (container name). Quick solution – for each Docker instance, add a prefix to each container name. Another solution – don’t split the template into two parts, then the items will be discovered under the same host, and you will not have this issue.

The Docker server host shows general information about the Docker server’s overall state and status:

Fig 8. Docker server hosts the latest data

A host will be created automatically for each discovered container and will collect the container-specific performance metrics:

Fig 9. The container: zabbix-agent2 latest data

Summary

Now you and I know a little bit more about how Zabbix agent2 is collecting Docker metrics. This blog post has shown you how to improvise and adapt existing templates with different data collection methods. Zabbix is a very versatile tool that you can use in multiple ways to get the data if you have some technical constraints. The included template can also be used as is, or you can modify it to suit your needs.

The post Zabbix and the Docker API, Part 2: Adapt appeared first on Zabbix Blog.

What the March 2026 Threat Technique Catalog update means for your AWS environment

Post Syndicated from Shannon Brazil original https://aws.amazon.com/blogs/security/what-the-march-2026-threat-technique-catalog-update-means-for-your-aws-environment/

The AWS Customer Incident Response Team (AWS CIRT) regularly encounters patterns that repeat across their engagements when helping customers respond to security incidents. We’re passionate about making sure that information is widely accessible so that everyone can improve their security posture and their organization’s resilience to disruption. The primary method we use to share this information is the Threat Technique Catalog for AWS (TTC). The latest update to the catalog for March 2026 addresses identity, persistence, infrastructure destruction, and privilege escalation. Each new entry reflects something we’ve encountered in practice, and each provides straightforward mitigations. This post breaks down what changed, why it matters, and what you can do about it today.

What we’re seeing

Based on recent observations, we’ve added three new entries to the TTC.

Cognito refresh token abuse: The quiet persistence mechanism

Amazon Cognito refresh tokens are designed for convenience. They let applications obtain new access and ID tokens without requiring users to re-authenticate. The default lifetime is 30 days and is configurable up to 10 years. Cognito provides the flexibility to address a wide range of use cases, however the AWS CIRT has seen this lifetime window used by threat actors in an unauthorized way to maintain persistence by refreshing credentials.

When a threat actor obtains a valid refresh token—through credential theft, compromised client-side storage, or elevated permissions—they can call cognito-idp:GetTokensFromRefreshToken to silently generate fresh tokens. The legitimate user’s session continues normally because their application independently refreshes tokens as needed—the threat actor’s refresh calls don’t invalidate the user’s token. This creates a parallel, persistent foothold that’s invisible to the user. In environments where refresh token rotation isn’t enabled, the same token can be reused indefinitely within its validity window.

This method of gaining persistent access is often overlooked by response teams who were confident that the initial compromise was contained, only to discover ongoing unauthorized access weeks later through a refresh token they didn’t know existed.

Enabling refresh token rotation and reducing the lifetime of tokens can help mitigate this risk. Dive deeper in the TTC (T1098.A006).

AMI image deletion: Targeting recovery capabilities

Amazon Machine Images (AMI) are a core part of many solutions and foundational to disaster recovery. They often contain the operating system, application configurations, and everything needed to rebuild your infrastructure. Threat actors know this, and we’re seeing ec2:DeregisterImage used to make it more difficult to recover from an incident.

By default, when an AMI is deregistered, it’s gone. Recycle Bin retention rules can allow the recovery of the AMI, but if you haven’t explicitly enabled that functionality, there’s no way to undo the deregister action. Working with customers, we’ve seen cases where the impact of this action goes beyond the immediate loss because the threat actors have also removed the golden images the teams planned to restore from.

The TTC has more information about how to detect and mitigate this technique, including how to enable Recycle Bin retention rules for key AMIs (T1485.A002).

Additional cloud roles: The trust policy blind spot

We’ve updated T1098.003: Additional Cloud Roles to now include UpdateAssumeRolePolicy as a tracked API call. We’ve seen an increase in the use of this call to avoid detections set to flag new role creation (iam:CreateRole). By modifying the trust policy of an existing role, a threat actor with sufficient permissions can use UpdateAssumeRolePolicy to subtly add an external account or an identity they control. No new roles appear. No new policies are created. The existing role simply trusts a new principal which the threat actor can assume.

This persistence and privilege escalation technique blends into the volume of normal AWS Identity and Access Management (IAM) operations. It’s especially effective in environments with a large number of roles where trust policy changes aren’t actively monitored.

The current trend

A common thread runs through all three of these updates: threat actors are using subtle, default, or unexpected behaviors to sidestep detection. Refresh tokens working as designed. AMI deregistration completing without guardrails. Trust policies being modified through legitimate API calls. These actions might not trigger alarms in most environments because they look like normal operations.

This is a shift worth paying attention to. Rather than relying on novel exploits or zero-days, the techniques we’re cataloging reflect threat actors who understand how cloud services work and use that knowledge to hide in plain sight. The implication for security teams is clear: prevention and detection strategies need to mature beyond monitoring for obviously malicious actions. Customers need to be watching for legitimate actions happening in illegitimate context—such as the right API call, made by the wrong principal, at the wrong time.

The Threat Technique Catalogue for AWS is designed to help with exactly this. Each technique entry includes detection guidance and mitigations specific to AWS environments. We encourage teams to review the relevant entries and assess whether their current monitoring would catch these patterns:

  • T1098.A006: Cognito Refresh Token Abuse: Are you monitoring for cognito-idp:GetTokensFromRefreshToken from unexpected sources? Is refresh token rotation enabled?
  • T1485.A002: AMI Image Deletion: Do you have Recycle Bin retention rules protecting your critical AMIs? Would you know if a production AMI was deregistered outside a maintenance window?
  • T1098.003: Additional Cloud Roles: Are trust policy modifications tracked and alerted on? Could an external account be added to an existing role without anyone noticing?

Each of these techniques leaves traces in AWS CloudTrail, and the TTC provides specific guidance on what to watch for and how to respond.

Looking ahead

The Threat Technique Catalog for AWS exists because we believe the patterns we observe during security engagements shouldn’t stay behind closed doors. When we see techniques repeating across customers, the most effective thing we can do is document them and make that knowledge available so you can act on it before you’re in the middle of an incident.

This March update adds three new entries, and the catalog will continue to evolve. Our team regularly updates it based on what we’re seeing in the real world when helping customers respond to security events. We encourage security teams to review the catalog regularly, incorporate its techniques into threat modeling exercises, and use it as a shared vocabulary for discussing cloud-specific threats.

Explore the full catalog: Threat Technique Catalog for AWS

Additional resources

If you have feedback about this post, submit comments in the Comments section below.


Shannon Brazil

Shannon Brazil

Shannon is a security engineer on the AWS Customer Incident Response Team (CIRT), specializing in digital forensics and cloud security investigations. Known in the community as 4n6lady, she is passionate about security education and mentoring the next generation of defenders.

Cydney Stude

Cydney Stude

Cydney is a security engineer specializing in threat intelligence and incident response at AWS. Cydney works on the ground in incident response and is passionate about turning observables into security outcomes. Cydney is an author and maintainer of the Threat Technique Catalog for AWS.

Remembering Seth Nickell

Post Syndicated from jzb original https://lwn.net/Articles/1070213/

LWN has received the sad news that Seth Nickell passed away, on
April 16, from his father, Eric Nickell:

Many of you knew Seth from his work in the GNOME Usability Project, but his
roots in that community trace back to his high school years. As a father of
a high school junior, I remember being terrified when he flashed the hard
drive of a computer he purchased for himself with this weird “Linux” thing.
And I was a bit awed by the college application essay he wrote about open
source and Linus Torvalds.

It was his interest in packet radio that drew him into working with
the Linux AX.25 HOWTO
as a high schooler, and from there to his focus on making the Linux
desktop work for everyone.

The family plans to share news of a memorial at a later time. He
will be deeply missed.

Top announcements of the What’s Next with AWS, 2026

Post Syndicated from AWS News Blog Team original https://aws.amazon.com/blogs/aws/top-announcements-of-the-whats-next-with-aws-2026/

Today at the What’s Next with AWS, Matt Garman, CEO of AWS, Colleen Aubrey, SVP Amazon Applied AI Solutions, Julia White, CMO of AWS, and OpenAI leaders discussed how they and their customers are changing how businesses operate with agents.

Here’s our roundup of the biggest announcements from the event:

Amazon Quick is an AI assistant for work that connects to all of them, learns what matters to you, and takes action on your behalf. Starting today, you can use the new desktop app, sign up for Free and Plus pricing plans, generate visual assets in the chat, and easily connect Quick to even more apps.

  • Quick’s new desktop app (Preview): You can create a personalized experience by staying connected to your local files, calendar, and communications without opening a browser.
  • New Free and Plus pricing plans for Quick: You can sign up within minutes using your personal email address or existing Google, Apple, Github, or Amazon credentials—no AWS account required.
  • Generate visual assets on the fly: Available today, Quick now lets you create polished documents, presentations, infographics, and images directly from the chat interface, no design skills or hours of formatting required.
  • Easily connect Quick to even more apps: Also available today, Quick is expanding its native integrations to include Google Workspace, Zoom, Airtable, Dropbox, and Microsoft Teams.

To learn more, visit the About Amazon News post.

Amazon Connect is expanding from a single product into a set of four agentic AI solutions designed to work within your existing workflows: Amazon Connect Decisions (supply chains), Talent (hiring), Customer (customer experience), and Health (health care).

  • Amazon Connect Decisions is a supply chain planning and intelligence solution that shifts teams from crisis management to proactive planning and decisioning. AI teammates, combining 30 years of Amazon operational science and 25+ specialized supply chain tools, adapt to your business, learn from your team, and continuously improve your operations.
  • Amazon Connect Talent (Preview) is an agentic AI hiring solution built for talent acquisition leaders managing scaled hiring. It delivers AI-led interviews, science-backed assessments, and consistent evaluation, helping recruiters hire high quality candidates faster while providing applicants with a flexible interview experience that reduces human preconceptions.
  • Amazon Connect Customer, previously known as Amazon Connect, delivers intelligent, personalized customer experiences across voice, chat, and digital channels. Amazon Connect Customer now offers new configuration capabilities that enable organizations to set up conversational AI in weeks, not months, and configure experiences without technical expertise.
  • Amazon Connect Health delivers agentic patient verification, appointment management, patient insights, ambient documentation, and medical coding — giving patients faster access to care, clinicians more time for care, and staff capacity for specialized work.

To learn more, visit the About Amazon News post.

AWS and OpenAI extended partnership
AWS and OpenAI are bringing the latest OpenAI models to Amazon Bedrock, launching Codex on Amazon Bedrock, and launching Amazon Bedrock Managed Agents, powered by OpenAI (all in limited preview), giving enterprises the frontier intelligence they want on the infrastructure they trust.

  • OpenAI models on Amazon Bedrock (Limited preview): The latest OpenAI models, including GPT-5.5 and GPT-5.4, will be available in preview on Amazon Bedrock. Use OpenAI’s frontier models through the same Bedrock APIs you already rely on, with unified security, governance, and cost controls. No additional infrastructure to configure, no new security model to learn.
  • Codex on Amazon Bedrock (Limited preview): You can access the OpenAI coding agent within the AWS environments where they already operate at scale. You can authenticate using their AWS credentials, process inference through Amazon Bedrock infrastructure, and apply Codex usage toward their AWS cloud commitments. Codex on Bedrock is available through the Bedrock API, starting with the Codex CLI, the Codex desktop app, and Visual Studio Code extension.
  • Amazon Bedrock Managed Agents, powered by OpenAI (Limited preview): Amazon Bedrock Managed Agents combines frontier AI models with trusted AWS infrastructure, enabling customers to quickly and easily build production-ready OpenAI-powered agents in the cloud. It is built with the OpenAI harness, which is engineered to unlock the full potential of OpenAI frontier models, delivering faster execution, sharper reasoning, and reliable steering of long-running tasks.

To learn more, visit the AWS What’s New post and About Amazon News post.

Unified observability in Amazon OpenSearch Service: metrics, traces, and AI agent debugging in a single interface

Post Syndicated from Muthu Pitchaimani original https://aws.amazon.com/blogs/big-data/unified-observability-in-amazon-opensearch-service-metrics-traces-and-ai-agent-debugging-in-a-single-interface/

Amazon OpenSearch Service now brings application monitoring, native Amazon Managed Service for Prometheus integration, and AI agent tracing together in OpenSearch UI‘s observability workspace. You can query Prometheus metrics with PromQL alongside logs and traces stored in Amazon OpenSearch Service, trace an AI agent’s full reasoning chain down to the failing tool call, and drill from a service-level health view to the exact span that caused a checkout failure, all without leaving the interface.

In this post, we walk through two real-world scenarios using the OpenTelemetry sample app: a multi-agent travel planner facing slow processing, and a checkout flow quietly failing on one microservice. We chase each one to its root cause using these new capabilities.

Scenario 1: An underperforming AI agent

Your multi-agent travel planner is live and users start reporting slow responses. With the new AI agent tracing capability in Amazon OpenSearch Service, you can trace the agent’s full processing path to pinpoint exactly where things went wrong.

In any observability workspace in OpenSearch UI, navigate to Application Map in the left navigation pane.

OpenSearch Service application map

You can see the full topology of your system including the travel agent and the sub-agents it calls. The travel agent node shows elevated latency and occasional errors. Select it, and the side panel confirms that latency is up but the latency chart shows intermittent spikes rather than consistent degradation.

System topology with service health metrics

The application map tells you something is wrong, but understanding why an AI agent is underperforming requires seeing its reasoning chain. Select Agent Traces in the left navigation pane, then filter by service name and time range.

Agent processing steps with invocation data

Select one of the traces to see the trace tree. Unlike a traditional span waterfall, this view organizes around the agent’s reasoning chain: the root agent span, the LLM calls it made, the tools it invoked, and how they nested each step color-coded by type. The trace map provides a visual directed graph of the same execution. You can see which model was called, how many input and output tokens were consumed, and the actual messages sent to and received from the model.

A tool call inside the weather agent errored out. The agent then spent additional time reasoning about the failure before returning a partial response explaining the intermittent latency spikes and occasional faults.

Why this matters for AI agents

Agents make autonomous decisions based on LLM responses, tool results, and chained reasoning. Unlike traditional microservices with deterministic code paths, agent behavior varies across executions. Without semantic tracing that captures these AI-specific signals, root-cause analysis is guesswork. The trace tree surfaced the model name, token counts, and failing tool call because the travel planner was instrumented with OpenTelemetry’s generative AI semantic conventions. The next section describes how.

Instrumenting AI agents

OpenTelemetry auto-instrumentation enriches spans with well-known attributes for HTTP, database, and gRPC calls. AI agents need a different set of attributes such as which LLM was called, what tokens were consumed, which tools were invoked, that standard instrumentation doesn’t cover.

The OpenTelemetry gen_ai semantic conventions define standard attributes for these signals, including gen_ai.operation.name, gen_ai.usage.input_tokens, gen_ai.request.model, and gen_ai.tool.name. When Amazon OpenSearch Service receives spans with these attributes, it categorizes them by operation type (agent, LLM, tool, embeddings, retrieval) and renders the agent trace tree and trace map views.

The Python SDK provides one way to generate these spans. To send traces to Amazon OpenSearch Ingestion, configure the SDK with AWS Signature Version 4 (SigV4) authentication. The AWSSigV4OTLPExporter cryptographically signs each HTTP request to help prevent unauthorized data ingestion. The calling identity needs an IAM policy that grants osis:Ingest on your pipeline’s ARN. Credentials are resolved through the standard AWS credential provider chain.

from opensearch_genai_observability_sdk_py import register, AWSSigV4OTLPExporter

exporter = AWSSigV4OTLPExporter(
    endpoint="https://pipeline.us-east-1.osis.amazonaws.com/v1/traces",
    service="osis",
    region="us-east-1",
)

register(service_name="my-agent", exporter=exporter)

Use the @observe decorator to trace agent functions and enrich() to add model metadata:

@observe(op=Op.EXECUTE_TOOL)
def get_weather(city: str) -> dict:
    return {"city": city, "temp": 22, "condition": "sunny"}

@observe(op=Op.INVOKE_AGENT)
def assistant(query: str) -> str:
    enrich(model="gpt-4o", provider="openai")
    data = get_weather("Paris")
    return f"{data['condition']}, {data['temp']}C"

result = assistant("What's the weather?")

The SDK also supports auto-instrumentation for OpenAI, Anthropic, Amazon Bedrock, LangChain, LlamaIndex, and others. Because the instrumentation is built on OpenTelemetry standards, any agent framework that emits spans with gen_ai.* attributes is compatible with OpenSearch UI.

Scenario 2: Investigating a microservice issue

AI agents are only one part of most production environments. The same interface surfaces telemetry from conventional microservices, where the troubleshooting workflow follows a more familiar path.

Your ecommerce checkout begins paging during a busy traffic window. From OpenSearch UI, navigate to APM Services in the left navigation pane. Every instrumented service is listed alongside its health indicators. The checkout service shows an elevated error rate.

Service overview panel with request, error, duration metrics

Select the affected service. The detail view shows Request, Error, and Duration (RED) metrics: request rate is climbing, fault rate has spiked in the last 15 minutes, and p99 duration has doubled. You can see exactly when the degradation started.

Service drilldown health dashboard

Drill into the correlated spans for the affected time window. The span list shows multiple failed requests, all hitting the same endpoint. Select one to see the full trace waterfall. The checkout service called prepareOrder, which failed trying to retrieve a product from the catalog. The error message in the span details tells you exactly what went wrong, that’s your root cause.

Waterfall transaction view of spans

Checking the infrastructure with PromQL

In both scenarios, the natural next question is whether the problem originates in the application or in the infrastructure beneath it. With the new Amazon Managed Service for Prometheus integration, you can answer that question without leaving OpenSearch UI.

Prometheus metrics are now queryable directly from the same workspace using native PromQL syntax, alongside the logs and traces you’ve already been navigating.

Metric query showing Prometheus Query Language

For the database timeout in Scenario 2, run a PromQL query to check the database instance’s read/write throughput for the same time window. For the agent latency issue in Scenario 1, check the LLM endpoint’s response time metrics to see if the slowness originates from the model provider.

This is a key architectural decision: metrics continue to live in Amazon Managed Service for Prometheus, logs and traces continue to live in Amazon OpenSearch Service, and neither signal is copied or warehoused into a second store. Each backend remains the single store for the data type it’s purpose-built to handle, while OpenSearch UI federates queries across both at runtime. The cost, retention, and operational model of each store stay intact while the troubleshooting workflow collapses into a single interface.

To configure the OpenTelemetry Collector and OpenSearch Ingestion pipelines that route metrics into Amazon Managed Service for Prometheus, see Ingesting application telemetry.

How it’s wired together

The following diagram shows the end-to-end architecture. Applications instrumented with OpenTelemetry send traces, logs, and metrics over OTLP to Amazon OpenSearch Ingestion. OpenSearch Ingestion routes each signal to the appropriate store: traces and logs land in Amazon OpenSearch Service, while metrics flow into Amazon Managed Service for Prometheus. OpenSearch UI then queries both stores to render the Application Map, Services catalog, Agent Traces, and Metrics views.

OpenSearch Observability Stack Architecture

The entire experience rests on open-source foundations, Prometheus for metrics, OpenSearch for logs and traces, and OpenTelemetry for instrumentation, so teams already running an OpenTelemetry collector can adopt it by updating the collector’s export configuration to point at Amazon OpenSearch Ingestion, with no proprietary agents or rewritten instrumentation required.

Getting started

To enable these capabilities, log in to OpenSearch UI’s observability workspace, select the Gear icon in the bottom left corner to open Settings and setup, and verify that the Observability:apmEnabled toggle is on under the Observability section. OpenSearch UI is available at no additional charge for Amazon OpenSearch Service customers.

Explore locally first. The OpenSearch Observability Stack gives you a fully configured environment including application monitoring, agent tracing, and Prometheus integration, running on your machine with a single install command. It ships with sample instrumented services, including a multi-agent travel planner, so you can explore the full workflow with real telemetry data out of the box.

For AI agent development. Agent Health is an open-source, evaluation-driven observability tool designed for local development. It gives you execution flow graphs, token tracking, and tool invocation visibility right in your development loop, before you push to production.

For production. The Python SDK provides one-line setup and decorator-based tracing with gen_ai semantic conventions, with auto-instrumentation support for OpenAI, Anthropic, Amazon Bedrock, LangChain, LlamaIndex, and others. See the Amazon OpenSearch Service documentation and the Amazon Managed Service for Prometheus integration guide for the full managed experience.


About the authors

Muthu Pitchaimani

Muthu is a Search Specialist with Amazon OpenSearch Service. He builds large-scale search applications and solutions. Muthu is interested in the topics of networking and security, and is based out of Austin, Texas.

Raaga N.G

Raaga is a Solutions Architect at AWS with over 5 years of experience helping enterprises modernize their technology landscape and build scalable, cloud-native solutions. She partners with customers to translate business requirements into efficient cloud architectures that drive measurable outcomes, supporting their journey from application modernization to AI adoption through thoughtful, customer-centric solutions.

Rekha Thottan

Rekha Thottan is a Senior Technical Product Manager at AWS OpenSearch, contributing to AI agent observability and evaluation for the OpenSearch Project.

Kevin Lewin

Kevin is a Cloud Operations Specialist Solution Architect at Amazon Web Services. He focuses on helping customers achieve their operational goals through observability and automation.

Professional development: How to stay ahead in a fast-changing subject

Post Syndicated from Sean Sayers original https://www.raspberrypi.org/blog/professional-development-how-to-stay-ahead-in-a-fast-changing-subject/

What does great training for computing teachers look like?

High-quality professional development (PD) is one of the most effective ways to improve your students’ outcomes, and participating in PD is a core part of being a teacher. By changing and refining your teaching practices, you can create a direct, positive impact on the young people we teach.

Image displaying the Professional Development Pedagogy Quick Read, from the Raspberry Pi Foundation.

In this blog, we share our new professional development Quick Read, which you can download for free to:

  • Find practical tips for how to use and design effective professional development opportunities
  • Read a summary of the research behind effective PD

The unique impact of professional development for computer science educators

Professional development is vital for anyone teaching computing. In many subjects, the curriculum stays the same for decades. Computer science, however, can change quickly — as with the development of new technologies such as AI and quantum computing, and new hardware — and PD can help you stay up to date.

An educator teaches students to create with technology.

Another challenge is that many educators who teach computing are not necessarily subject specialists. So educators often benefit from building their own subject knowledge and learning new computing-specific pedagogical approaches through PD.

What makes effective professional development?

Drawing on academic research and our own expertise, we’ve identified several key principles that make professional development effective for computer science educators:

  • Learner-focused and research-informed: PD should be based on evidence and equip you with the skills and confidence to make real changes in your practice
  • Sustained and actionable: The best outcomes happen when you can select your own learning pathways and you’re given the time to test, adapt, and reflect on new approaches
  • Collaborative and contextual: Sharing ideas and new ways of thinking with other educators in a low-stakes environment can help you and your peers benefit from different perspectives and experiences

There may be factors that influence your teaching that you have little control over: you might teach computing as a standalone subject, or you may be required to weave computer science into other lessons across the curriculum. Or you might be working with older devices or limited internet access, all of which have an impact on your practice.

Effective PD should recognise these realities, and offer practical tools that work for your specific classroom and students.

How to find or design PD for computing educators

You can use the principles in our latest Quick Read when you’re looking for your next training course or if you are designing a session for your team. The full list of principles is available in our Quick Read, but here are some ideas for you to consider:

  • Focus on small, manageable changes: Rather than trying to overhaul your entire teaching practice at once, reflect on one approach at a time and adapt it as necessary before moving on to the next
  • Encourage low-stakes rehearsal: Practise new techniques with peers before implementing them in a live lesson
  • Align with school priorities: Ensure your self-directed learning also meets the wider needs of your department or school

You can read more about the principles of effective PD in our Quick Read.

The benefits of professional development

Potential benefits for teachers:

  • Provides a clear structure for updating your subject knowledge and teaching methods
  • Helps you feel more confident teaching 
  • Allows you to take ownership of your career journey and focus on what matters most to your students

Potential benefits for learners:

  • Improved learning outcomes through:
    • Higher quality lessons
    • More engaging lessons 
    • Lessons better suited to their individual needs

Our new Quick Read shares tips on how to best use these principles in your setting.

The post Professional development: How to stay ahead in a fast-changing subject appeared first on Raspberry Pi Foundation.

Access control with IAM Identity Center session tags

Post Syndicated from Rashmi Iyer original https://aws.amazon.com/blogs/security/access-control-with-iam-identity-center-session-tags/

As organizations expand their Amazon Web Services (AWS) footprint, managing secure, scalable, and cost-efficient access across multiple accounts becomes increasingly important. AWS IAM Identity Center offers a centralized, unified solution for managing workforce access to AWS accounts. It simplifies authentication, enhances security, and provides a seamless user sign-in experience to AWS services across diverse environments.

By combining IAM Identity Center permission sets with session tags, organizations can unlock powerful capabilities for fine-grained access control and resource optimization. You can use session tags to pass dynamic attributes from your external identity provider into AWS, enabling more context-aware permissions and better cost visibility. This integration makes it possible to use advanced AWS features such as AWS Glue usage profiles and AWS Systems Manager Session Manager run as to enforce fine-grained access control, so that administrators can dynamically map permissions and runtime configurations based on user attributes passed during federated access.

In this post, I demonstrate how session tags derived from directory group attributes in Microsoft Entra ID can deliver functionality equivalent to AWS Identity and Access Management (IAM) role tags. Using role tags, you can implement attribute-based access control (ABAC) using IAM Identity Center, while maintaining centralized and efficient access management. To demonstrate this, you can configure an AWS Glue usage profile, as described in Introducing AWS Glue usage profiles for flexible cost control, where session tags can be passed through Identity Center and an external identity provider like Microsoft Entra ID. This approach is extensible to other AWS services such as AWS Systems Manager Session Manager (run as) and can also be used with other identity providers.

User authentication and IAM Identity Center Federation flow

The following figure shows the architecture and workflow of the solution.

Figure 1 – User authentication and federation flow between Microsoft Entra and AWS

Figure 1 – User authentication and federation flow between Microsoft Entra and AWS

The user authentication and federation flow includes the following steps:

  1. User accesses application using a browser.
  2. The enterprise application (configured in Azure) initiates authentication.
  3. Microsoft Entra ID handles sign-in.
  4. Users and groups are managed in Entra ID.
  5. A SAML trust is established between Entra ID and IAM Identity Center.
  6. SCIM provisioning syncs users and groups from Entra ID to AWS.
  7. Synced users and groups appear in Identity Center.
  8. Session tags are passed during SAML authentication.
    • Entra ID can send user attributes (department, role, cost center, project ID, and so on) as SAML attributes.
    • Identity Center consumes these as session tags, which are used for fine-grained access control and attribute-based access control inside AWS.
  9. Admins define permission sets for users and groups in Identity Center.
  10. Users get federated access to AWS using their Entra ID credentials.
  11. Users sign in through AWS Management Console or AWS Command Line Interface (AWS CLI) using those permissions.
  12. Access is granted to specific AWS accounts under AWS Organizations.

Prerequisites

To follow the steps in this post, you need the following prerequisites:

  1. An organization instance of IAM Identity Center enabled.
  2. A Microsoft Entra ID tenant. For more information, see Quickstart: Create a new tenant in Microsoft Entra ID.
  3. Access to an external identity provider such as Microsoft Entra ID to federate users into AWS. You can enable federated access between Microsoft Entra ID and IAM Identity Center by completing the steps in Configure SAML and SCIM with Microsoft Entra ID and IAM Identity Center. They include configuring SAML and SCIM integration between the two systems, testing the SAML connection to help ensure authentication is functioning correctly, and enabling SCIM synchronization to automate user and group provisioning.

Solution implementation

With the prerequisites in place, you’re ready to configure access control through IAM Identity center tags by using the following steps.

  1. Create an AWS Glue usage profile as described in Introducing AWS Glue usage profiles for flexible cost control in Create an AWS Glue usage profile. For the purposes of this post, create a profile named developer.
    1. On the AWS Management Console for AWS Glue, choose Cost management in the navigation pane.
    2. Choose Create usage profile.
    3. For Usage profile name, enter developer.
    4. Under Customize configurations for jobs, for Number of workers, for Default, enter 20.
    5. For Default worker type, select G.1X.
    6. For Allowed worker types, select G.1X, G.2X, G.4X, and G.8X.
    7. For Customize configurations for sessions, configure the same values.
    8. Choose Create usage profile.
    Figure 2 – Glue usage profile creation on the console

    Figure 2 – Glue usage profile creation on the console

  2. Create a custom permission set instead of using predefined ones. Attach the following AWS Managed Policies to the custom permission set:
    • AWSGlueConsoleFullAccess
    • IAMReadOnlyAccess

    Note: For fine-grained access control, you can create custom permission sets by combining AWS managed, customer managed, and inline policies in IAM. In this post, you use AWS managed policies with intentionally broad permissions for simplicity. In production, always follow the principles of least privilege and scope permissions appropriately.

    By default, when you create a permission set, the permission set isn’t provisioned (used in any AWS accounts). To provision a permission set in an AWS account, you must assign IAM Identity Center access to users or groups in the account and then apply the permission set to those users and groups. For more information, see Assign user or group access to AWS accounts.

  3. Configure user attributes in Microsoft Entra ID for access control in IAM Identity Center as described in Step 5 of Configure SAML and SCIM with Microsoft Entra ID and IAM Identity Center to set up ABAC. Add claim conditions for attribute mapping based on Entra ID group membership. Assign the developer value for users in a corresponding group. This enables logic such as Users in this group receive this profile or All users receive this profile. When using an AWS Glue profile and when making API calls to create AWS Glue resources, admins need to tag the user or role with glue:UsageProfile as the key and the profile name as the value.
  4. Next, sign in to the enterprise application that you created in the previous step, which has SCIM and SAML connections set up to IAM Identity Center:
    1. Sign in to Azure.
    2. Choose Enterprise applications.
    3. Select the application that you created
      Figure 3 – An enterprise application created in Microsoft Entra ID

      Figure 3 – An enterprise application created in Microsoft Entra ID

  5. When you’re signed in to your application, select Manage and then Single sign-on in the navigation pane, then select Attributes & Claims.
    Figure 4 – Attributes & Claims section in Microsoft Entra ID

    Figure 4 – Attributes & Claims section in Microsoft Entra ID

  6. Configure the key value pair that will used as session tags by selecting Add new claim.
    Figure 5 – Configuring attributes by adding a new claim

    Figure 5 – Configuring attributes by adding a new claim

  7. For Name, enter AccessControl:<AttributeName>. Replace <AttributeName> with the name of the attribute you are expecting in IAM Identity Center. For this example, use AccessControl:glue:UsageProfile.
  8. In Claim conditions set the following:
    • User type, select Members
    • Source, select Attribute.
    • Value, enter developer (without quotation marks).
    Figure 6 – Attribute claim addition in Microsoft Entra using group membership

    Figure 6 – Attribute claim addition in Microsoft Entra using group membership

It’s important to note that the tags are being assigned based on group membership in Microsoft Entra ID. This approach lets you manage access and configuration dynamically without needing to set tags individually for each user. By assigning the tag to a Microsoft Entra ID group, anyone signing in to IAM Identity Center and who is in that group will automatically have the tag value applied to their session.

Test the solution

Now that the required configuration is complete, test the setup using the developer usage profile created as part of the Solution implementation section. Sign in as your user through Microsoft Entra ID using https://myapps.microsoft.com/ and verify the job creation using the following steps mentioned.

To verify successful job creation:

  1. Open the AWS Glue console using the developer usage profile.
  2. In the navigation pane, choose ETL jobs.
  3. Select Script editor, then choose Create script.
  4. Create a new job using the values you want to validate.

The green banner at the top of the screen should say Successfully updated job.

Figure 7 – Successful AWS Glue job creation with configured parameters for the <em>developer</em> usage profile” width=”678″ height=”864″ class=”size-full wp-image-41907″></p>
<p id=Figure 7 – Successful AWS Glue job creation with configured parameters for the developer usage profile

Validation using AWS CloudTrail

Examine the AssumeRoleWithSAML event using AWS Cloudtrail. Use the following steps to verify the sequence of events.

  1. Navigate to the CloudTrail console.
  2. Select Event history.
  3. In the Lookup attributes dropdown, select Event name.
  4. Set the event name to AssumeRoleWithSAML.
  5. Open a relevant event and inspect the requestParameters section.
  6. Confirm that the expected session tags appear under PrincipalTags.
Figure 8 – ABAC tags passed during the role assumption

Figure 8 – ABAC tags passed during the role assumption

Using session tags for other use cases

The concepts discussed in this post can be extended to configure AWS Systems Manager Session Manager Run As support for federated users using session tags. By default, Session Manager launches sessions using a system-generated ssm-user account. For Linux instances, you can optionally configure sessions to run as a specific OS-level user through Session Manager preferences. You can configure your identity provider to pass the user attribute (AccessControl: SSMSessionRunAs and name of an OS user account for the key value during federation and the session will be tagged using the attribute value.

Clean up

To avoid incurring future charges, delete any resources created during this walkthrough if they’re no longer needed:

  1. Remove the IAM Identity Center instance and clean up the associated enterprise application in Microsoft Entra.
  2. Delete the AWS Glue usage profile.
  3. Remove any other AWS resources you provisioned for testing the solution.

Conclusion

In this post, you learned how to federate access to AWS using AWS IAM Identity Center and SAML 2.0 identity providers like Microsoft Entra ID, enabling a secure, scalable, and centralized approach to managing user access across multiple AWS accounts. By using permission sets, reserved IAM roles, and session tags, organizations can implement fine-grained ABAC without the complexity of managing individual IAM users or static roles.

As cloud environments become more complex, adopting modern identity federation and ABAC through IAM Identity Center helps security teams maintain control while providing users with seamless, context-aware access to the resources they need.

Resources

If you have feedback about this post, submit comments in the Comments section below.

Rashmi Iyer

Rashmi Iyer

Rashmi is a Senior Solutions Architect at AWS, supporting financial services enterprises in building secure, resilient, and scalable cloud architectures while ensuring compliance with industry best practices. With over 15 years of experience in the private telco cloud, she has designed and architected complex telecom solutions, specializing in the packet core domain, the backbone of mobile data networks.

Зеленият ринг в София vs. „ма туй си е мое бе“

Post Syndicated from Боян Юруков original https://yurukov.net/blog/2026/zelen-ring-sech/

Днес имах интересна среща и разговор. На път да взема щерката от градина забелязах, че една от автомивките наместила се покрай заветния бъдещ Зелен ринг в частта на район Изгрев е изсекла между 15 и 30 дървета и е изчистила терен от 2 декара държавна земя. Всъщност 500 кв. м. от тях са били заравнени и се използват в последните 7 години като паркинг, но там поне не е имало дървета.

Спрях се да снимам, при което двама мъже ме заградиха. Единият се представи като собственик (което не мога да потвърдя) и ми поиска лична карта, защото съм снимал частен имот. Казах му, че няма такова право и снимам, за да подам сигнал за незаконна сеч на дървета и разчистване на държавна земя. Тогава стана още по-нападателен и настоя, че е частен имота и може да прави каквото си иска. След малко разправии смени версията, че всъщност било на държавна фирма, но имал разрешение и кой па съм бил аз и прочие.

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

Първо, това, което виждате на снимките са три имота. Сградите са плътно бетонирали парцел, който незнайно как е станал частен преди 2000 г. и още по-малко ясно е дали са законни въобще. Има апокрифно разрешение за строеж на кафене и автосервиз, но на пръв поглед се вижда, че доста са надстроявали. Имотът, за който вероятно единия заградил ме говореше, е 68134.803.4182. Той е част от Железопътна инфраструктура и през ноември 2025-та е имало търг за наем. Не е обявено кой го е спечелил, но предполагаме, че за тях си е направен търга и те са си го спечелили. Интересното тук е, че точно този търг не е обявен на специалната страница на АППК за разлика от търговете на всички останали държавни дружества, както и други на това предприятие.

  • Снимка на мястото от края на 2024-та

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

Вторият проблем е, че както се вижда на последната снимка, те са разчистили не само парцел 4182, но и 1.4 декара от 68134.803.4191. Вижда се с просто око дигата и бетонната стена. Този имот не влиза в хипотетичния договор за наем, а е основна част от Зеления ринг. За него със сигурност районният кмет Георгиев не следва да е подписал заповед за сеч предвид, че се похвали с това, че областния управител задейства прехвърлянето на въпросния парцел и други след решение на Министерски съвет и дълги усилия от неправителствени организации и Столична община да се случи това.

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

В синьо е имотът с предполагаем наем. В лилаво е какво допълнително са изсекли. В червено е незаконния навес.

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

Сигналът през call.sofia пътува към районния кмет. Да видим дали този път ще направи нещо за разлика от десетките други подобни в района.

Това далеч не е първият подобен случай на територията на бъдещия Зелен ринг. Миналия август писах как буквално на метри от това място терен беше заграден и изравнен за сметище за строителни отпадъци, а тонове почвен слой – изхвърлен. В последствие се разбра, че извършителят е небезизвестният инвеститор Грийн Лайф стоящ туловището на Тинтява 80. Нашумя със схемата за ощетяване на купувачи на друг техен обект. В случая последствия за него нямаше тъй като районният кмет си изми ръцете, че било собственост на държавно предприятие. Нищо, че никой няма право да прави сметище дори на частен имот и най-малкото следва да задейства процедурата по санкциониране и премахване.

Подобно неглижиране и раздаване на държавни и общински имоти, както и изискванията за озеленяване и строителен контрол виждаме редовно и с всякакви мащаби. Ето няколко примера, за които съм писал през времето:

Залезът на варненския популизъм

Post Syndicated from Веселин Златков original https://www.toest.bg/zalezut-na-varnenskiya-populizum/

Залезът на варненския популизъм

Докато все още осъзнаваме резултатите от най-новите избори, можем с облекчение да отбележим едно: „варненската“ партия в следващия парламент ще е само една. Защо в кавички? Първо, „Възраждане“ отдавна е надраснала регионалния си произход. И второ, явлението „варненски политик“ надхвърля чисто географския си смисъл, защото предизвиква реакция едва когато се превърне в национален проблем.

Факт е, че за две десетилетия Варна даде на българския политически живот уникати като Веселин Марешки, Костадин Костадинов и Ивелин Михайлов. 

Има нещо гнило и този път не е в Дания. Но какво е то?

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

„Как все такива ги избирате, бе?!“ Тази реплика съм я чувал стотици пъти от хора, които не са от Варна. Истината е, че не ги избираме ние. И „Воля“, и „Възраждане“, и „Величие“ са постигнали резултатите си, които ги правят по някакъв начин важни, далеч от родния си град. А „Величие“ – далеч от родната си област. 

Новите проблеми на Варна
Варна като разказ за пропуснат шанс и за системно разминаване между амбиция и реалност. В града се строи повече, отколкото се живее, обещава се повече, отколкото се изпълнява. Между морето, имотите и провалените проекти наднича въпросът „Къде потъна потенциалът?“. От Веселин Златков.
Залезът на варненския популизъм

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

Като дългогодишен общински репортер лично мога да потвърдя, че именно в местния парламент се формира дразнещото поведение на „варненските“ политици. В него повечето съветници са представители не само на политическите си сили, а и на самите себе си – като част от неформални кръгове, браншове, съсловия, клубове, фамилии, ако щете и приятелски компании, често с голямо обществено влияние. 

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

За Веселин Марешки политиката винаги е била застраховка за бизнеса му

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

След като усети, че тази формула за постоянни оправдания работи, Марешки започна да прави каквото си иска, вдигна скандалния си „фитнес“ на плажа, построи си вила в Морската градина, купи от приватизираната БТК историческата Централна поща във Варна и я „украси“ с грамаден свой портрет. Фукаше се със скъпи коли и други причудливи превозни средства, започна да се държи арогантно с журналистите. Провокациите му (като да се появи в защитно облекло в Народното събрание в пика на ковид кризата) все по-често изглеждаха забавни единствено за него, но не и за избирателите му, привлечени основно с намаления в аптеките и бензиностанциите му. 

А при Костадин Костадинов нещата са съвсем различни 

Още във ВМРО той показа талант на професионален политик, както и умение да бъде достатъчно гъвкав в отношенията с конкурентите си, стига да има полза от това. Големият му пробив на местно ниво дойде на изборите през 2011 г., когато се оказа кандидат-кмет на много шарената коалиция „Варна утре“, съставена от ВМРО, „Новото време“, „Гергьовден“ и БНД, като последната тогава беше събрала най-популярните варненски фигури на разпадащото се НДСВ. 

Силната фигура зад коалицията беше Красен Кралев – бъдещ депутат от ГЕРБ и бъдещ спортен министър в две от правителствата на Бойко Борисов. В много любопитно интервю за „Дарик“ той обяснява, че вижда в Костадинов потенциален обединител на десницата във Варна. 

„Костадинов е всичко това, което останалите участници в кметската надпревара не са. Млад, суперинтелигентен, непокварен от изпълнителната власт, твърда и решима личност. Патриот!“, заявява Кралев. 

Днес и той, и Костадинов не обичат да говорят за това свое сътрудничество, реализирано във варненската политическа „лаборатория“. 

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

Патриотична или националистична е българската диаспора?
Каква е политическата идентичност на българската диаспора? Този въпрос анализира Яна Хашъмова след последните изборни резултати и стабилния вот за „Възраждане“ в чужбина.
Залезът на варненския популизъм

Между другото, трябва винаги да се напомня откъде произлиза името на партията на Костадинов. Партия „Възраждане“ се появи на основата на инициативния комитет „Възраждане“, наречен на едноименния варненски жилищен квартал. Този комитет беше създаден заради проекта за изграждане на социален блок там.

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

Две години по-късно, през 2015-та, Общината се опита да рестартира проекта. Този път, вече организирана като партия, а не като гражданска структура, „Възраждане“ даде много по-шумен отпор на идеята.

След последните парламентарни избори Костадинов се представи като закрилник на страдащите и отритнатите и заяви, че левите избиратели могат да разчитат на „Възраждане“ като свой представител в парламента. Всеки да разбира това, както си иска. 

Ивелин Михайлов и „Величие” са другият ярък пример за „варненска политика“, който често се изтъква 

Това не е много справедливо, защото техният произход не е от община Варна, а от община Ветрино, но аналогията е ясна – варненския елемент в това серийно електорално чудо определено го има. 

В някои отношения политиката на Ивелин Михайлов прилича доста на тази на Веселин Марешки. Тя е функция за защита на бизнеса – ако някой го подлага на съмнение и проверки, се казва, че това е заради недоволството и критиките към властта; ако атаката е политическа, вади се обяснението, че е заради бизнес интереси. 

Къща от карти. Ще се скъса ли косъмът на „Величие“?
Съспенсът с партията на Ивелин Михайлов „Величие“ и нейното влизане в парламента продължава. Драмата е на много нива и работата е там, че все още никой не може да каже какво точно ще се случи, дори и да се променят последните изборни резултати. Емилия Милчева със статия по темата.
Залезът на варненския популизъм

„Величие“ обаче е съвсем различен феномен, при това не само заради факта, че е първият успешен пример за TikTok популизъм у нас. Проектът разчита на конкретна група хора, които търсят по-добър и по-смислен живот на село, обръщайки съзнателно гръб на града. А такива във Варненска област има много. Статистиката сочи, че към края на 2024 г. населението на град Варна се запазва и дори леко намалява, но пък жителите на областта се увеличават с над 3000 души. 

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

Ивелин Михайлов показа истинския си потенциал да е лидер на подобна общност в битката си с ветрогенераторите. По същия начин, по който Костадинов и „Възраждане“ не позволиха изграждането на социален блок и всеки варненски квартал, където се споменеше за проекта, се вдигаше на протест, така и „Величие“ настрои поредица от общини във Варненско срещу ветрогенераторите. За Михайлов стана ясно, че има основа за издигане на ново ниво, а ситуацията с недостигащите 21 гласа и всичко, което произлезе от това, придаде на партията му особен ореол в очите, отворени широко за всякакъв тип конспирации. Дали оставането извън парламента ще срине „Величие“, както стана с „Воля“ – това е въпрос на преценка на лидера. Но няма да се учудя „Величие“ да се възроди. 

И все пак защо всички тези явления идват от Варна? 

Обясненията са няколко и във всяко от тях има основание. Първото е, че варненци са просто наивни хора. В този случай обикновено се споменава рухването на финансовите пирамиди през 90-те, при което Варна се оказа най-сериозно засегната. Това промени много съдби и размести пластове в общността. Повечето хора, затънали в пирамидите, по детски вярваха, че ще се измъкнат преди рухването на измамните схеми. Мнозина бяха наясно в какво се забъркват, но решиха да пробват могат ли да измамят измамниците. 

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

COVID-19 за политическа употреба
Зорница Латева анализира вероятните фактори защо предвожданата от Костадин Костадинов партия „Възраждане“ събра близо 50 000 гласа повече спрямо изборите през април. Риториката на Костадинов на тема…
Залезът на варненския популизъм

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

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

Третото обяснение е малко по-различно. 

Варненци са като всички останали българи, но малко по-разочаровани. 

Годините на неадекватна или липсваща държавна политика в двете сфери, които определят съществуването на града – туризмът и морската индустрия, – изградиха огромно недоверие в централната власт. А оттам – в националните политици и партии. Често във Варна се виждат толкова неадекватни кандидатски листи от уж сериозни партии, че мнозина предпочитат да гласуват просто за други политици. „Варненски“, пък били те и очевидни популисти. Наивност, тарикатлък, разочарование – всеки сам да си избере обяснението. Важното е да има „критично мислене“, както каза големият нов победител. 

Fedora Linux 44 has been released

Post Syndicated from jzb original https://lwn.net/Articles/1070198/

The Fedora Project has announced
the release of Fedora Linux 44. There are “what’s new”
articles for Fedora
Workstation
, Fedora
KDE Plasma Desktop
, and Fedora
Atomic Desktops
. The Fedora Asahi Remix for Apple Silicon Macs,
based on Fedora 44, is also
available
. See the Fedora Spins page for a full list of alternative desktop options.

Fedora Linux 44 Workstation ships with the latest GNOME release,
GNOME 50. This comes with a long list of refinements to your desktop,
including everything from accessibility to color management and remote
desktop. Many of the applications that are installed by default on
Fedora Workstation have also seen improvements, from Document Viewer
to File Manager and Calendar. To learn more about these and other
changes, you can read the GNOME 50 release notes.

KDE Plasma Desktop: If you are a KDE user, you should also notice a
couple of very obvious changes. Fedora KDE Plasma Desktop 44 is based
on the latest Plasma 6.6, which includes the new Plasma Login Manager
and Plasma Setup to provide a more cohesive and integrated experience
from the moment the computer is powered on for the first time. The
installation process has been simplified, enabling you to easily set
up Fedora KDE Plasma Desktop for a computer for a friend or a loved
one.

The release
notes
include important changes between Fedora 43 and
Fedora 44 for desktop users, developers, and system administrators.

[$] Strawberry is ripe for managing music collections

Post Syndicated from jzb original https://lwn.net/Articles/1069368/

There are dozens of music-player applications for Linux; the options range
from bare-bones programs that only play local files to full-blown
music-management projects with a full suite of tools for managing (and playing)
a music collection. Strawberry
is in the latter category; it has a bumper crop of features, including smart
playlists, support for editing music metadata tags, the ability to organize music
files, and more.

In Memoriam: Tomáš Kalibera

Post Syndicated from jzb original https://lwn.net/Articles/1070185/

We have received the sad news that Tomáš Kalibera, a member of the
R Project core team, has
passed away
after a short illness
.

A friend who knew him well wrote to me: he was very happy, and
his work fulfilled him
. That is, perhaps, the best thing one can
say about a life in open source — that the work mattered, that it
reached millions, and that the person who did it found meaning in it.

Kalibera was mentioned in this 2019 article about C
programs passing strings to Fortran subroutines. He will be greatly
missed.

Get Motivated: What to Expect from Our Keynote at Rapid7’s Global Cybersecurity Summit

Post Syndicated from Emma Burdett original https://www.rapid7.com/blog/post/it-rapid7-global-cybersecurity-summit-keynote-rundown

Security teams prepare for incidents every day. Alerts are tuned, playbooks are built, and processes are tested. But when something actually happens, the challenge shifts. It becomes not just about making decisions under pressure, but how well that preparation has set teams up to make the right decisions when things heat up.

At this year’s Rapid7 Global Cybersecurity Summit, Persistence Under Pressure explores that shift directly. Former Special Forces operator Jason Fox draws on real-world experience where timing, clarity, and execution all have immediate consequences, and shows how that mindset applies to modern security operations.

In our keynote talk Persistence Under Pressure, former Special Forces operator Jason Fox brings experience from environments where timing, clarity, and execution all have immediate consequences. His session looks at how that mindset translates into modern security operations, where teams are expected to act quickly, often without complete information.

The parallels are clear: Incidents do not unfold in controlled conditions. Signals compete for attention, priorities shift, and decisions need to be made in real time. What matters in those moments is not just having the right tools, but knowing how to stay focused and act with confidence.

This session explores practical ideas that apply directly to security teams, from how preparation shapes response to how understanding the adversary influences decision-making, and why composure and clarity can make the difference when pressure builds.

It also reinforces a broader theme running throughout the summit. Preemptive security operations are not only about detecting threats earlier but about enabling better decisions across the entire lifecycle, from preparation through to response and recovery.

If you are looking to understand how security operations are evolving, this session offers a different but valuable perspective. One that connects strategy and technology back to the people responsible for making it work.

Join us May 12–13 and hear how these principles apply in practice. Register now.

Георги Гочев: Животът е усилие да овладеем изкуството на раздялата

Post Syndicated from Роси Михова original https://www.toest.bg/zhivotut-e-usilie-da-ovladeem-izkustvoto-na-razdyalata/

Въпросите задават духът Якша, цар Менандър I и Роси Михова

Георги Гочев: Животът е усилие да овладеем изкуството на раздялата

Знаете ли, че най-дългият литературен епос в световната история е „Махабхарата“? За негов автор се смята мъдрецът Вяса – основополагаща фигура в древноиндийската духовна традиция и познавач на свещените текстове на индуизма – Ведите. Твърди се, че Вяса е живял около 800 години – по-точно между IV век пр.Хр. и IV век сл.Хр. В този период той някак успява да събере и подреди 100 000 двустишия, групирани в 18 книги, в които се разказва за 18-дневната война между 18 армии. За сравнение, това е около десет пъти повече от „Илиада“ и „Одисея“, взети заедно.

Разбира се, съществува и другата възможност – антични бардове като Вяса и Омир, макар и с ореола на исторически личности, да са просто събирателен образ на куп безименни поети и разказвачи, пътуващи певци, аскети и оракули, които са пренесли до нас текстовете на древността. Така или иначе, техните думи ни застигат и днес.

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

Тези въпроси обаче са детски гатанки в сравнение с въпросите, които се появяват в Упанишадите – философски трактати от VIII–II век пр.Хр., които бележат прехода от ритуализма на Ведите към индуистката метафизика. Самото име Упанишад произлиза от санскритските корени upa (наблизо), ni (долу) и shad (седя) и буквално описва ученик, който седи в краката на своя учител и му задава въпроси.

Днес бихме казали, че Древна Индия е влюбена в диалога като литературен жанр, затова играта на въпроси и отговори далеч не се ограничава с класическите образци, написани на санскрит. Пример за това е будисткият текст „Милинда Панха“ (II–I век пр.Хр.), чието заглавие в превод от езика пали означава „Въпросите на Милинда“.

Сюжетно това е витиеват, търпелив разговор между гръцкия цар Менандър I и будисткия мъдрец Нагасена. На практика обаче е челен сблъсък между елинския логос с неговия фокус върху логиката, анализа и външния свят и източното взиране в интуицията, вътрешното преживяване и мистично познание. Гъркът иска да разбере Вселената. Индиецът иска да се слее с нея.

А какво иска Георги Гочев*, предстои да разберем. Защото кой друг би могъл да отговори по-добре на въпросите на Якша и Менандър I от един дипломиран класически филолог, изтъкнат преводач от старогръцки език и тънък познавач на Платон и Аристотел?

В този наш разговор въпросите на индийските мъдреци са само отправна точка за свободен размисъл. Събеседването ни е отвъд усмирителната риза на конкретния исторически и културен контекст на литературните източници.


Доцент Гочев, ще Ви помоля за момент да си представите, че сте принц Юдхищхира и Ви предстои да отговорите на поредица от блицвъпроси. От Вашата убедителност зависи съдбата на цялото Ви семейство, на царството Ви и на космическия ред. И така, кой е по-голям от земята, кой е по-висок от небето и кой е по-бърз от вятъра?

Краткият ми отговор и на трите въпроса е един и същ. И той е не. Виждам недоумението Ви и ще обясня. Често привидно директните въпроси носят завоалиран, скрит смисъл. Мисля, че зад въпроси от типа кой е най-голям, кой е най-висок, най-бърз, най-силен, всъщност стои въпросът: Колко съм силен аз самият? Мога ли да покоря света? Мога ли да го владея? И моят отговор на това е не. Не мога. Защото това са царски въпроси – такива, каквито си задават царете. Аз обаче не съм цар и нямам подобни терзания. Те са за хора, които се питат колко дълго могат да управляват, докъде се простира властта им, колко ефективна е тя. Хора като Тръмп или Путин например. Мен ме питайте нещо друго.

Добре. Кой е най-добрият приятел?

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

Кой е врагът, който най-трудно може да бъде победен?

Този, който се преструва на приятел.

Коя е най-страшната болест?

Животът в неистина.

Кое е най-ценното притежание?

Свободата, разбирана като способност да се разделяме с нещата от живота. Защото животът може да бъде описан като поредица от раздели и загуби. С раждането си ние губим утробата. После губим детството, невинността, илюзиите. Губим приятели, родители, партньори, не дай боже – дете. Губим сили, губим енергия. И накрая губим себе си. Животът е усилие да овладеем изкуството на раздяла с нашите притежания.

В диалога „Федон“ Платон дава дефиниция за това какво е философията. Според него тя е подготовка за смъртта – за раздялата на тялото с душата. Човек – съзнателно или не – цял живот се готви за момента, в който ще загуби това свое най-ценно притежание. А то е ценно точно защото предстои да бъде изгубено. Именно загубата придава ценност на нещата. Без нея те нямат особена стойност. Без смъртта безсмъртието е тривиално.

Кое е най-горчивото нещо?

Илюзията. Какво казва принцът по този въпрос?

Юдхищхира казва, че най горчи това да зависиш от други хора. А какво е мъдростта?

Способността да живееш с вътрешните си противоречия, без да се опитваш да ги решиш или преодолееш.

Кой е най-големият парадокс на света?

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

Вирджиния Улф го казва много хубаво на едно място в „Мисис Далауей“. Най-голямата загадка е, че тук има една стая, а там – друга. Че ме има мен, но го има и другия човек в отсрещната сграда. И по някакъв начин сме свързани, дори и да не се познаваме.

Мисля, че с този отговор засега опазваме вселенския порядък и можем да преминем към няколко въпроса, формулирани в Упанишадите. И така: Какво у човека спи всяка нощ? Какво винаги дреме у негo? Будни ли сме, когато сънуваме? (Прашна Упанишад)

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

Добре, ако всяка нощ сънуваме, че сме господари, а всеки ден живеем като слуги, какви сме всъщност тогава? (Мандукя Упанишад)

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

Аз винаги питам студентите дали знаят колко робски въстания е имало в Рим. Истината е, че те са много малко. За социална организация, просъществувала над 1000 години, документираните робски въстания се броят на пръстите на двете ми ръце. Защо робите не са поискали свободата си?

Защото в робството има поне две „свободи“ или подобия на свободи, които са невидими. Първата е свободата от отговорност да правиш житейски избори. Втората е свободата от идентичност. Като роб ти нямаш грижата да търсиш и да утвърждаваш себе си. Ти си закачен за идентичността на своя господар.

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

На този въпрос през IX век прочутият индуистки философ и поет Шанкара отговаря по следния начин. Докато сънуваш, че си господар, твоето щастие е истинско и твоята власт е реална в рамките на съня. Докато си буден и си слуга, ти наистина не си нищо повече от слуга. И тъй като двете състояния се изключват взаимно, то и двете са относителна реалност. Но ако помниш едновременно и съня на господаря, и живота на слугата, то значи ти си нещо по-голямо от тях двамата. Ти си „наблюдателят“.

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

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

Едното е темата за часовете. Ние сме времеви същества. Времето ни на живот е ограничено и в този смисъл ние сме ограничени, ние сме слуги на този свят.

Второто е свързано с вътрешния ни диалог. Ние непрекъснато разговаряме със себе си по тази линия – господар/слуга и си заповядваме разни неща. Но границата кой върху кого господства, е много тънка. Защото съвестта и самозаблудата идват от едно и също място. Съвестта често е безкрайно нечестна с нас. Тя ни подвежда, че знаем какво е добро и какво е истина, но понякога ни предлага неистини. Мирното съвместно съществуване между царя и слугата върви с непрекъсната размяна на ролите и съзнателност за тази размяна. И когато вътрешният ни глас се включи с някоя реплика, съвет или заповед, много трудно можем да сме сигурни кой от двамата я произнася – господарят или слугата.

Смятам, че част от умението да живеем добре се състои в способността ни да не се държим вътре в себе си като цар и роб. Като диктатор и поданик. А да водим спокоен вътрешен диалог.

Кое е това нещо, чрез познанието на което всичко останало в този свят става познато? (Мундака Упанишад)

Дълбоко не вярвам, че има универсален ключ за разбиране на света и вселената.

Аз съм адепт на сократо-платоническата традиция, в която важното изречение не е „Еврика! Открих! Намерих ключа!“, а изречението „Знам, че не знам“. Това не е капитулация пред обема на непознатото. То е капитулация пред претенцията, че можеш да познаеш всичко. Освен това то е и вид етическа нагласа. Защото омнисциенцията е илюзия за омнипотенция.

Но искам да поразсъждавам още малко по въпроса. По принцип, когато изследваме или интерпретираме каквото и да било (думи, действия, поведения, знаци), ние задаваме два въпроса – защо и какво. Цялата западна култура от времето на Аристотел е ориентирана по линията на причинно-следствените връзки. Цялото ни образование е фокусирано върху въпроса защо с убеждението, че ако можем да отговорим на него, можем да отговорим и на всички останали въпроси.

Изтокът обаче (Изтокът, видян много на едро) си задава по-скоро въпроса какво. Какво е това? Този въпрос поставя питащия не в позиция на човек, който владее инструментите на познанието и може да стигне от факта до причината, а в ролята на наблюдател, на съзерцател.

Мисля, че ние надценяваме въпроса защо за сметка на какво. Ето Ви пример. Вълнува ме повече какво се е случило в Петрохан, а не защо се е случило. Бих искал, преди да питаме защо е станало това, да попитаме: „Какво всъщност е това?“ Мисля, че тогава ще видим картината в нейната по-голяма сложност, детайли и дълбочина. И няма да се подвеждаме само по водещите причинно-следствени връзки.

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

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

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

Цар Менандър I продължава да пита: Aко човек страстно желае да открадне нещо, но в крайна сметка не го прави, носи ли душата му товара на греха, защото той вече е съгрешил в помислите си? От съвременна гледна точка – носим ли вина за мислите си?

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

Но ако не носим вина за мислите си, защо тогава законът наказва по-сурово умишленото в сравнение с неумишленото престъпление?

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

Тогава за кого позорът е по-голям – за този, който умишлено причини зло, или за този, който причини зло поради незнание?

Тук юристите може да скочат срещу мен, но аз не правя голяма разлика между двете. Убеден съм, че дори злодеите в своята самоувереност не са истински наясно с това, което правят. Те си въобразяват, че знаят, но моментът на осъзнаване, ако изобщо го има, настъпва по-късно.

Будисткият монах е доста по-категоричен от Вас. Според него злото, причинено от незнание, а не с умисъл, е много по-страшно. И дава пример: кой ще се изгори повече – този, който грабва горещото желязо, знаейки, че може да се опари, или този, който го прави, без да подозира, че ще се опари? По неговата логика пораженията, причинени от невежество, са по-опасни. А незнанието, породено от леност на ума, се превръща във вид морално престъпление.

Може би. Но като човек, който работи в сферата на образованието, виждам как всекидневно преживяваме краха на голямата илюзия, че просвещението ще спаси света. Имам предвид убеждението, че ако просветите хората, ако им отворите очите за всички религиозни, културни, идеологически и политически догми в нашия живот, те ще станат по-добри и разумни. Този просвещенски проект, започнал в края на XVIII век, Кант онагледява по следния начин. Какво е просвещението? Това е да извадиш хората от състоянието на детството, което те са си самопричинили. Вярата, че като ги образоваш, хората стават възрастни, които са способни да поемат отговорност за живота си и да действат според разума.

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

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

Тогава за финал да се върнем на въпроса на духа Якша: какво е щастието?

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


* Георги Гочев е класически филолог, преводач от старогръцки език и доцент по класически езици и литератури в Нов български университет. От 2024 г. е заместник ректор по международната дейност на НБУ и ръководител на университетския консорциум ЕРУА за НБУ.

Превел е от старогръцки език „Държавата“ и „Пир“ на Платон, „Поетика“ на Аристотел, трагедията „Медея“ на Еврипид. Носител е на националните награди „Христо Г. Данов“ за 2016 г. (раздел „Хуманитаристика“) и наградата за хуманитаристика „Богдан Богданов“ (2019).

The collective thoughts of the interwebz