Coca de Alba, en Salamanca, cuenta con apenas 95 habitantes empadronados y se enfrenta al mismo difícil futuro que tantos otros pueblos de la España
etiquetas: salamanca, bar, gestión
» noticia original (www.directoalpaladar.com)
Coca de Alba, en Salamanca, cuenta con apenas 95 habitantes empadronados y se enfrenta al mismo difícil futuro que tantos otros pueblos de la España
etiquetas: salamanca, bar, gestión
» noticia original (www.directoalpaladar.com)
Se llama Estado palestino, en el mejor de los casos, al 22% de la Palestina histórica. La mayor parte de ese 22% también está ocupada por Israel: son islotes sin conexión territorial y controlados por la potencia ocupante. En los últimos días otros diez países han reconocido el Estado palestino, entre ellos, Francia y Reino Unido, miembros permanentes del Consejo de Seguridad de la ONU. El paso británico es especialmente simbólico, ya que Londres fue potencia ocupante de Palestina tras la Primera Guerra Mundial y firmó en 1917 la Declaración Ba
etiquetas: estado palestino, israel, genocidio
» noticia original (www.eldiario.es)
No hay nada más común que reír a carcajadas con otros, pues es una señal clara de que estás disfrutando. Y cuando una persona se ríe sola y en voz alta, la sensación es muy similar, además este gesto significa que liberas tensiones, revives recuerdos o, simplemente, que te desahogas.
En relación con este tema, una investigación en Discover Mental Health indica que el 10 % de la risa ocurre en soledad. De acuerdo con el modelo de la risa solitaria (MRS), reírse solo, estando acompañados o no, es producto del humor y las emociones, o es algo que se cultiva por placer o autocuidado. Estamos ante una acción con varias interpretaciones que aquí te explicamos.
Hay experiencias inolvidables, llenas de humor y que te hicieron reír sin parar; son esos momentos que quisieras repetir. Por lo general, se trata de eventos que involucran a más de una persona o anécdotas divertidas que viviste sin nadie más. Gracias a la memoria emocional, cada vez que estas escenas vuelven a tus pensamientos es posible que rías en voz alta, aunque estés solo, como resultado de una emoción positiva.
Toma nota: 5 claves para aprender a reírse de uno mismo
Cuando alguien se ríe solo es consciente de que otros no pueden oírle y es precisamente esa soledad lo que aprovecha para soltar las carcajadas que quizás en público no lanzaría. De acuerdo con un artículo de European Journal of Humour Research, en varios foros web los participantes afirman reírse con más libertad en soledad.
Como se comentó al principio, puedes reírte en voz alta sin compañía o en público. En este último escenario, la risa llega a considerarse un acto de coraje, señala la Revista Clínica Española. No toda persona se anima a carcajearse frente a otros, por pena, por cumplir normas sociales o culturales y por respeto a ciertas situaciones o contextos.
La Asociación Mexicana de Alternativas en Psicología preguntó a estudiantes universitarios sobre las emociones y su relación con la risa. La mayoría de los participantes contestó que, al reírse en solitario, se experimenta principalmente desahogo, tranquilidad, relajación, paz y felicidad. Esto significa que cuando una persona se ríe sola en voz alta, estaría cultivando emociones positivas, según el análisis.
Discover Mental Health explica que al reírnos en voz alta a solas “transformamos positivamente la experiencia de la soledad, mejorando potencialmente la autosuficiencia y la resiliencia”. De este modo, se aprovechan las ventajas de estar sin compañía, se aprecia el valerse por sí mismo y la capacidad de adaptación a situaciones complejas.
No te vayas sin leer: Curiosidades de la risa
En general, reírse es un gesto de felicidad, pero si la risa en solitario viene acompañada de otras señales, es posible que sea el síntoma de un problema de salud. Esto se conoce como risa patológica, suele ser incontrolable y se asocia con ciertas enfermedades del sistema nervioso central (refiere la revista Pediatría Integral), por ejemplo: demencia, ictus, tumores. También con enfermedades mentales como la esquizofrenia o manías.
Es esencial acudir a un profesional de la salud mental cuando la risa solitaria es frecuente y fuera de lugar, y hay comportamientos extravagantes o conductas erráticas que alteran la vida cotidiana. Pero por sí sola, no tiene por qué considerarse como algo preocupante.
En conclusión, reír en silencio o en voz alta, ayuda a canalizar las emociones, a cultivar los sentimientos positivos, a alegrar los días y a regalarse una dosis de bienestar. Por ello, no son de extrañar los estudios que avalan el papel crucial de la risa como reductora del estrés, la ansiedad, la enfermedad y el dolor. Sírvete de ella: reír es gratis y hace bien.
La entrada Qué significa cuando una persona se ríe sola en voz alta, explicado por la psicología se publicó primero en La Mente es Maravillosa.
En un mundo que a menudo parece desprovisto de sentido absoluto, la voz de Albert Camus emerge no con respuestas dogmáticas, sino con una valiente y lúcida afirmación de la vida misma. Su pensamiento, forjado en el crisol de la guerra, la injusticia y la belleza mediterránea, constituye un faro de dignidad humana frente al absurdo de la condición humana. Más que un sistema filosófico cerrado, Camus nos legó una actitud: una rebelión serena que rechaza tanto la desesperación nihilista como las consolaciones ilusorias, invitándonos a encontrar valor en el corazón mismo de la lucha.
Este “Breviario de la dignidad humana”, compilado con motivo del centenario de su nacimiento, funciona como un mapa esencial para navegar su obra. A través de sus propias palabras, extraídas de novelas, ensayos y diarios, somos testigos de la coherencia de un hombre que puso la fidelidad a lo humano por encima de cualquier ideología. Sus frases no son solo ideas, sino experiencias vividas; son destellos de lucidez que iluminan los grandes temas que lo obsesionaron: la felicidad como acto de rebelión, la solidaridad frente al sufrimiento, la búsqueda de la justicia sin traicionar a la libertad y la belleza como antídoto contra la muerte.
Recorrer estas cincuenta frases es, por lo tanto, adentrarse en un diálogo íntimo con una de las conciencias más necesarias del siglo XX. Nos confrontan con preguntas esenciales sobre cómo vivir con autenticidad en un universo indiferente, cómo amar este mundo efímero y, sobre todo, cómo ser un hombre, en el sentido más noble y sencillo de la palabra. Camus no ofrece una paz barata, sino la noble tarea de crear sentido desde la finitud, abrazando la luz y la sombra con igual coraje.
El cargo El Mundo de Camus en 50 Frases Esenciales apareció primero en Bloghemia.
Stop guessing about permissions

Let’s be honest: Identity and Access Management (IAM) can feel like a dry, boring topic. Any environment.
But it’s also the source of many common technical problems and a critical area of knowledge for any Google Cloud certification.
So, let’s take a different approach: Practical, real-world scenarios. You grasp these examples, and you are OK. I am betting that, if you are an expert, you are going to find out something new (as I did).
Before we look at what someone can do (permissions), we must first understand who or what is asking for access. In GCP, this “who” or “what” is called an Identity. An identity is just a principal that can be authenticated and authorized to use Google Cloud resources.
Identities are for people and for Infrastructure/Software (Service Account): It’s like a keycard. The VM running a nightly script doesn’t use a developer’s personal password; it uses its own dedicated “Service Account” ID badge
To be used in an IAM policy, an identity must be “known” to Google’s authentication system. It doesn’t have to belong to your organization, but Google needs a way to verify who it is. Here are the main types:
So, every IAM policy is about connecting one of these identities with a role (a set of permissions) on a specific resource.
Only resource permissions! (for AWS users)
This is the single most important concept to understand.
In GCP, permissions (roles) are never attached directly to an identity when it is created.
Instead, the process is always:
This is not immediately evident. In the Console you have the feeding that you can just set roles for the current project, in a bit clumsy way. But if you select folders or organizations in the project textbox, you can assign privileges at any level. More in the following scenarios.
Need/Requirement: A project manager needs to monitor spending for a new app project. They must be able to view all billing reports and cost breakdowns, but for compliance and security reasons, they must have absolutely no ability to change, stop, or delete any technical resources (like VMs, databases, or storage buckets).
GCP Solution: Grant the project manager the IAM role of Billing Account Viewer (roles/billing.viewer) on the specific Billing Account. This gives them read-only access to billing information without any permissions to view or alter the technical resources themselves.
Example CLI Command:
gcloud billing accounts add-iam-policy-binding 012345–67890A-BCDEF0 \
- member="user:pm@example.com" \
- role="roles/billing.viewer"
Need/Requirement: The Data Science team needs a “sandbox” environment where they can do anything to any resources for their experiments.
However, they should not be able to see or touch the resources of the main “Production” environment. A central IT team must retain ultimate control over all environments.
GCP Solution: Use the Resource Manager to create two separate Folders, one named “Production” and one named “Data Science Sandbox,” under the Organization node.
The Data Science team (via a Google Group) is granted the Editor role (roles/editor) on the “Data Science Sandbox” folder.
The Production team gets relevant permissions only on the “Production” folder.
The central IT team is granted the Organization Admin (roles/resourcemanager.organizationAdmin) role at the Organization level.
Key Concepts:
Resource Hierarchy: The Organization > Folders > Projects structure is the key to enterprise-level control.
Permission Inheritance: Permissions granted at a higher level (like a Folder) automatically flow down to all the projects within it, simplifying management.
Isolation and Containment: Using the hierarchy to build strong security boundaries between teams and environments.
Example CLI Command:
# Create the folder under your organization
gcloud resource-manager folders create \
--display-name="Data Science Sandbox" \
--organization=123456789012
# Grant the Editor role to a group on the new folder (ID from previous command)
gcloud resource-manager folders add-iam-policy-binding 987654321098 \
--member="group:data-scientists@example.com" \
--role="roles/editor"
Need/Requirement: A developer has created a script that runs every night on a Compute Engine VM. This script needs to read data from a specific Cloud Storage bucket and write a summary into a specific BigQuery table. The script must run automatically without human interaction, and its credentials must be secure and limited only to the exact resources it needs.
GCP Solution (Following the Golden Rule):
Create the Identity: First, create a dedicated Service Account for the script. At this point, it has no permissions.
Grant Permissions on Resource #1: Go to the specific source bucket and edit its IAM policy. Add the new service account as a principal and grant it the Storage Object Viewer role (roles/storage.objectViewer).
Grant Permissions on Resource #2: Go to the specific destination dataset in BigQuery and edit its IAM policy. Add the same service account as a principal and grant it the BigQuery Data Editor role (roles/bigquery.dataEditor).
Attach the Identity: Finally, attach this service account to the Compute Engine VM. The VM now uses this identity to run the script.
Key Concepts:
Service Accounts: A non-human identity for applications, scripts, and VMs, allowing for secure, automated authentication.
Resource-level Permissions: The power of GCP IAM is applying permissions not just at the project level, but to individual resources (one bucket, one dataset, etc.).
Secure Automation: Eliminating the need to embed user credentials or keys in scripts, which is a major security risk.
Example CLI Command:
# 1. Create the identity (the service account)
gcloud iam service-accounts create nightly-job-sa --display-name="Nightly Job SA"
# 2. Grant permission on Resource #1 (the bucket)
gcloud storage buckets add-iam-policy-binding gs://my-source-bucket \
--member="serviceAccount:nightly-job-sa@<project-id>.iam.gserviceaccount.com" \
--role="roles/storage.objectViewer"
# 3. Grant permission on Resource #2 (the BigQuery dataset)
# Note: bq command is used for dataset-level permissions
bq add-iam-policy-binding --member-type serviceAccount --identity nightly-job-sa@<project-id>.iam.gserviceaccount.com --role roles/bigquery.dataEditor my_project:my_dataset
# 4. Attach the identity to a new VM
gcloud compute instances create my-vm --service-account=nightly-job-sa@<project-id>.iam.gserviceaccount.com
Need/Requirement: A developer needs to test an application on her local laptop. The application is designed to run in a Cloud Function with very specific, limited permissions. To avoid bugs, she needs to ensure her local test environment has the exact same permissions as the production Cloud Function, not the broader permissions of her own user account (e.g., Project Editor). Typical.
GCP Solution:
A dedicated Service Account is created for the application, e.g., my-app-sa@….
This service account is granted the minimal required role, e.g., Pub/Sub Publisher on a specific topic. It has no other permissions.
The developer’s user account (developer@company.com) is granted the Service Account Token Creator role (roles/iam.serviceAccountTokenCreator) only on that specific service account.
The developer configures her local gcloud SDK to impersonate my-app-sa. When she runs her code locally, it authenticates to GCP as the service account, inheriting its tightly restricted permissions.
Key Concepts:
Service Account Impersonation: A user temporarily “borrowing” the identity of a service account. The user needs the iam.serviceAccounts.actAs permission to do this.
High-Fidelity Local Testing: Ensures that the development environment perfectly mirrors the production IAM environment, catching permission-related bugs before deployment.
Privilege Reduction: Even if the developer is a Project Editor, the script she is running is not. This drastically reduces the “blast radius” of a potential bug in the code.
Example CLI Command:
# Allow a user to impersonate a service account
gcloud iam service-accounts add-iam-policy-binding my-app-sa@<project-id>.iam.gserviceaccount.com \
--member="user:developer@example.com" \
--role="roles/iam.serviceAccountTokenCreator"
# Developer runs this on their local machine to assume the identity
gcloud auth application-default login --impersonate-service-account="my-app-sa@<project-id>.iam.gserviceaccount.com"
Need/Requirement: Central GCP project (project-cicd-tools) for its CI/CD pipeline (e.g., Jenkins, GitLab Runner, or Cloud Build).
This pipeline needs to automatically deploy applications to multiple, separate production projects (project-webapp, project-backend-api, etc.). The pipeline must have permission to manage resources in those projects without having overly broad permissions.
GCP Solution:
Key Concepts:
Example CLI Command:
# In the TARGET project, grant deploy permissions to the SA from the CICD project
gcloud projects add-iam-policy-binding target-project-id \
--member="serviceAccount:deployer-sa@cicd-project-id.iam.gserviceaccount.com" \
--role="roles/run.admin"
A common and powerful question is: “Can I add users from outside my company to a Google Group?”
The answer is yes, absolutely. This feature is a cornerstone of secure collaboration in GCP.
Who can you add? You can add any valid Google Account to a group you manage, regardless of their email domain. This includes personal @gmail.com accounts and users from other Google Workspace organizations (e.g., consultant@external-firm.com).
The Prerequisite: The administrator of the Google Group must have the setting “Allow members outside your organization” enabled. This is usually on by default but is a critical check.
Why is this important for GCP? This allows you to grant permissions to a group that you control, but populate it with external members. You manage the permissions in GCP; the external partner manages their own people. This is the foundation for the delegated administration model shown in the next scenario.
Need/Requirement: Your company (company-a.com) hires an external consulting firm (consulting-b.com) to manage your production Kubernetes clusters. You need to grant the engineering team of the external firm administrative access to your GKE resources without creating and managing user accounts for them in your own organization.
GCP Solution:
The consulting firm creates and manages a Google Group within their own domain, e.g., gke-admins@consulting-b.com.In your company’s production GCP project, you add gke-admins@consulting-b.com as a new principal.
You grant this group the Kubernetes Engine Admin role (roles/container.admin).
Key Concepts Demonstrated:
Federated Identity Management: Granting permissions to identities that exist entirely outside of your own GCP Organization. The IAM system trusts Google’s global identity system to authenticate the user.
Delegated Administration: The consulting firm is now responsible for managing who is in that group. If an employee leaves their firm, they are removed from the group, and their access to your projects is instantly and automatically revoked. This is a massive security and operational benefit.
Business-to-Business Collaboration: This is the standard, secure pattern for enabling collaboration between different companies on GCP.
Example CLI Command:
gcloud projects add-iam-policy-binding your-project-id \
--member="group:gke-admins@consulting-firm.com" \
--role="roles/container.admin"
Need/Requirement: A developer deploys a new VM or a 1st Gen Cloud Function. For convenience, they don’t specify a service account, accepting the default. The application works, but the security team is concerned. What is the risk and what should be done?
GCP Solution and Guidelines:
Example CLI Command:
# Create a dedicated, minimal-privilege SA first
gcloud iam service-accounts create my-webapp-sa
# Grant it ONLY the permissions it needs (not shown here)
# Create the VM explicitly using the new SA
gcloud compute instances create my-secure-vm \
--service-account=my-webapp-sa@<project-id>.iam.gserviceaccount.com
Need/Requirement: A contractor needs emergency access to debug a production issue. They need the powerful Project Editor role, but for strict security compliance, their access must automatically expire at 5 PM today and must only be usable from the corporate office’s IP address.
GCP Solution: Grant the contractor’s user account the Project Editor role, but attach an IAM Condition to this specific role binding. The condition is written in Common Expression Language (CEL) and contains two clauses:
Key Concepts Demonstrated:
Example CLI Command:
gcloud projects add-iam-policy-binding your-project-id \
--member="user:contractor@external.com" \
--role="roles/editor" \
--condition='expression=request.time < timestamp("2025-09-29T17:00:00Z") && origin.ip == "203.0.113.50",title=temp_access,description="Expires at 5PM UTC on Sep 29 2025"'
Need/Requirement: A company has an automated data pipeline. Raw data containing PII (Personally Identifiable Information) is uploaded to a “landing zone” Cloud Storage bucket. A Dataflow job processes this data, anonymizes it, and writes the clean, safe results to a BigQuery dataset for business analysts. The security requirements are strict:
GCP Solution: This requires a multi-layered approach using resource-level permissions and a Deny Policy.
Key Concepts:
Example CLI Command:
# (Deny policies are complex to create via CLI; this is a conceptual example using a YAML file)
# 1. Define the deny rule in a file, e.g., deny-rule.yaml
# 2. Apply the policy to the project
gcloud iam policies create deny-analyst-access \
--attachment-point=[cloudresourcemanager.googleapis.com/projects/your-project-id](https://cloudresourcemanager.googleapis.com/projects/your-project-id) \
--kind=denypolicies \
--policy-file=deny-rule.yaml
Need/Requirement: A multinational company must enforce strict data residency rules due to regulations like GDPR. The finance team is split between the EU and the US. The policy must be:
GCP Solution: This is a perfect use case for Attribute-Based Access Control (ABAC), implemented with Tags and IAM Conditions.
Key Concepts:
Enforcing Data Residency: This pattern provides a robust and auditable way to enforce data sovereignty and compliance rules across an entire organization.
Example CLI Command:
gcloud projects add-iam-policy-binding your-project-id \
--member="group:gcp-finance-eu@example.com" \
--role="roles/storage.objectAdmin" \
--condition='expression=resource.matchTag("123456789012/data-location", "eu"),title=eu_data_only'
Need/Requirement: A company needs to host an internal web application (e.g., an HR portal) on Compute Engine. The security requirements are stringent:
GCP Solution: This multi-layered solution combines identity and network security.
Key Concepts:
VPC Service Controls: A critical defense against data exfiltration, creating a secure “walled garden” for your most sensitive projects.
Example CLI Command:
# Allow a group to access an IAP-secured application
# (Requires getting the existing policy, adding the member, and writing it back)
gcloud iap web set-iam-policy policy.json
# Create a firewall rule based on service account identity
gcloud compute firewall-rules create allow-app-to-db \
--allow=tcp:5432 \
--source-service-accounts=webapp-sa@<project-id>.iam.gserviceaccount.com \
--target-service-accounts=database-sa@<project-id>.iam.gserviceaccount.com
Create a file: policy-dry-run.yaml.
constraint: constraints/compute.vmExternalIpAccess
dryRun:
allValues: DENY
This command reads the configuration from your YAML file and applies it to your organization in dry-run mode. Nothing will be blocked, but from this point forward, any action that violates the policy will generate a specific log entry for you to review.
Need/Requirement: A company’s central security team needs to ensure that all GCP projects continuously adhere to corporate security policies. They need to prevent certain risky configurations, detect any misconfigurations that slip through, and get proactive advice on improving their IAM posture over time.
GCP Solution: This is a layered governance strategy using several integrated services.
Key Concepts:
GCP Solution: Create a Custom IAM Role at the project or organization level.
Key Concepts:
Example CLI Command:
# 1. Create a role definition file, e.g., role-definition.yaml
# ---
# title: "Firewall And VM Auditor"
# description: "Minimal permissions for the compliance tool"
# stage: "GA"
# includedPermissions:
# - compute.instances.list
# - compute.firewalls.get
# ---
# 2. Create the custom role in your project from the file
gcloud iam roles create firewallAndVmAuditor --project=your-project-id \
--file=role-definition.yaml
Need/Requirement: An organization’s primary CI/CD pipeline runs in AWS CodePipeline. This pipeline needs to deploy a container image to Google Cloud Run and Artifact Registry. The CISO has forbidden the use of long-lived service account keys, as downloading and managing a JSON key file is a major security risk. A secure, keyless authentication method is required.
Key Concept: What is a Service Account Key?
A service account key is a permanent, downloadable password for an application. It’s a JSON file containing a private key. Any application that possesses this file can authenticate to GCP as that service account, inheriting all its permissions. The risk is that this key is long-lived (valid forever until revoked) and, being a file, can be easily leaked (e.g., committed to Git, stolen from a laptop).
GCP Solution: Use Workload Identity Federation. This provides a general solution for any external workload.
Key Concepts:
Universal Applicability: This pattern works for virtually any external system that can provide a verifiable identity token (OIDC, SAML, AWS), making it a true 360-degree solution for multi-cloud and hybrid environments.
Example CLI Command:
# 1. Create the identity pool
POOL_ID="my-aws-pool"
PROVIDER_ID="aws-provider"
AWS_ACCOUNT_ID="YOUR_AWS_ACCOUNT_ID" # Replace with your actual AWS Account ID
GCP_PROJECT_ID=myproject" # Your GCP project ID
gcloud iam workload-identity-pools create ${POOL_ID} \
--location="global" \
--display-name="AWS Workload Identity Pool for Deployment" \
--description="Pool for federating AWS identities to GCP." \
--project=${GCP_PROJECT_ID}
# 2. Create the AWS provider within the pool
gcloud iam workload-identity-pools providers create-aws ${PROVIDER_ID} \
--workload-identity-pool=${POOL_ID} \
--account-id=${AWS_ACCOUNT_ID} \
--location="global" \
--display-name="AWS Provider" \
--description="Trusts identities from specified AWS account." \
--attribute-condition="attribute.aws_role='arn:aws:iam::${AWS_ACCOUNT_ID}:role/YourSpecificAWSRoleName'" \
--project=${GCP_PROJECT_ID}
Think of a Workforce Identity Pool as a way to grant your company’s employees (your “workforce”) access to GCP using their existing corporate login credentials, without needing to create a Google Account for each person.
The Problem: Imagine your company has 10,000 employees who use Okta or Azure Active Directory to log in to all their corporate apps. You want to give a team of 500 of them access to some GCP projects.
The Solution (Workforce Identity Federation): You create a “Workforce Pool” in GCP and configure it to trust your company’s Identity Provider (IdP), like Okta.
Need/Requirement: An administrator needs to perform two specific, unrelated tasks:
GCP Solution: This requires applying permissions at two very different levels of the resource hierarchy.
Part 1: Granting Access to a Single BigQuery Table
Console Steps:
Click Save. The analyst can now query this table but cannot see or access others in the dataset.
Example CLI Command:
bq add-iam-policy-binding --member-type=user --identity=analyst@example.com --role=roles/bigquery.dataViewer your-project-id:your_dataset.your_table
Part 2: Granting Access to Multiple Projects via a Folder
CLI Command (using gcloud)
gcloud resource-manager folders add-iam-policy-binding FOLDER_ID \
--member="group:auditors@example.com" \
--role="roles/browser"
Need/Requirement: An organization needs to understand the costs associated with the governance and security tools discussed in the previous scenarios.
Solution Breakdown: GCP’s security tools are priced in tiers, allowing you to establish a strong baseline for free and add advanced capabilities as needed.
Free Guardrails:
Paid Guardrails:
Key Concepts:
Need/Requirement: Imagine you are designing the cloud foundation for a massive, publicly-traded company. This enterprise has multiple distinct business units (e.g., soft drinks, bottling, food products), dozens of iconic global brands, and operates in every major geographic region. They work with hundreds of external marketing and technology partners and have existing workloads in on-premise data centers and other public clouds. They need a GCP setup that provides strong central security and governance while still allowing individual brands and regions the autonomy to innovate.
GCP Solution: The solution is a holistic design that combines all the previous scenarios into a federated governance model.
Resource Hierarchy (The Blueprint): The foundation is a meticulously planned resource hierarchy.
Identity Management (The People & Partners): User management is entirely federated and automated.
Governance and Security (The Rules): A central security team enforces a non-negotiable baseline.
Key Concepts: This capstone exercise integrates nearly every concept in this guide: Hierarchical Governance, Federated Identity, Delegated Administration, Least Privilege, Centralized Security, Keyless Authentication, and Continuous Compliance Monitoring at a global scale.
A lot of stuff!!! I just hope that grasping practical scenarios will make things easier…..
GCP IAM & Co. - Practical Scenarios for Engineers and Cloud Certification Mastery was originally published in Google Cloud - Community on Medium, where people are continuing the conversation by highlighting and responding to this story.
This is not an official publication of any business. The opinions expressed are solely those of the author. The author makes no warranty for the contents of the article.
Google Cloud customers of Varonis can use Google Kubernetes Engine (“GKE”) to host private collectors to provide data security posture management (“DSPM”) capabilities. The containers in these collectors analyze a customer’s cloud assets within in the customers’ Google Cloud environments and send asset metadata to Varonis where it is correlated with user activities to provide customers with insights about their data security. When collectors are used, no actual data is sent out of the customer’s Google Cloud environment, only metadata.
In this article we revisit GKE basics and show how to create a collector environment for Varonis using a private GKE cluster and an optionalbastion host in Google Cloud using Terraform code from a GitHub repository.
Using a private cluster means that the GKE nodes and control plane will not have publicly addressible IP addresses. You can access the cluster using the DNS endpoint whose access is brokered by IAM. This is similar to what the Identity-aware Proxy does for Compute Engine instances and provides an additional layer of security.
A high level diagram of the infrastructure created by the Terraform code appears below.

Why a bastion host?
The creation of a bastion host is optional. The Terraform code generates a DNS endpoint for the GKE cluster so you can securely access the private cluster. A bastion host is useful if you do not have access to utilities such as kubectl. The bastion host also contains common tools for working with databases.
These instructions are written assuming that your workstation is set up with the Google Cloud CLI. You can use these instructions in the Cloud Shell as well. If you are using Windows, you will need to adapt these instructions.
Set up
Enable APIs
Before the GKE cluster and optional bastion host are built, you will use
Terraform code to enable the APIs below.
Build the GKE cluster and optional bastion host
Terraform outputs
Terraform will display output after the completion of the build.
You can redisplay these outputs with the command below.
terraform output
An example of the output appears below. You may need to scroll horizontally to see the entire command and its output.
Bastion_host_instance_id = “varonis-bastion-3tcj”
Bastion_ssh = “gcloud compute ssh — zone us-central1-a varonis-bastion-3tcj — tunnel-through-iap — project YOUR_PROJECT_ID”
GKE_cluster_DNS_endpoint = “gke-LONG_STRING.us-central1-a.gke.goog”
GKE_cluster_get_creds = “gcloud container clusters get-credentials varonis-gke-cluster-3tcj — dns-endpoint — location us-central1-a”
GKE_cluster_name = “varonis-gke-cluster-3tcj”
NAT_ip = “#.#.#.#”
Random_suffix = “3tcj”
ZZZ_SSH_Msg = <<EOT
*
* Please grant the IAM role below to users at the orgination or
* project level of the resource hierarchy to enable users to SSH
* into the GKE nodes and optional bastion host.
*
* IAP-secured Tunnel User (roles/iap.tunnelResourceAccessor)
*
*
EOT
In the Terraform outputs from the installation, copy the value of the GKE_cluster_get_creds. Do not include the quotation marks. Paste this value into your command interpreter and execute it. An example of this command and its output appear below. You may need to scroll horizontally to see the entire command and its output
gcloud container clusters get-credentials varonis-gke-cluster-3tcj — dns-endpoint — location us-central1-a
Fetching cluster endpoint and auth data.
kubeconfig entry generated for varonis-gke-cluster-gsoq.
You can now execute commands against the cluster such as `kubectl`.
Building a GKE Cluster with Terraform for Varonis was originally published in Google Cloud - Community on Medium, where people are continuing the conversation by highlighting and responding to this story.
By Jun He, Yingyi Zhang, Ely Spears
We recently upgraded the Maestro engine to go beyond scalability and improved its performance by 100X! The overall overhead is reduced from seconds to milliseconds. We have updated the Maestro open source project with this improvement! Please visit the Maestro GitHub repository to get started. If you find it useful, please give us a star.
In our previous blog post, we introduced Maestro as a horizontally scalable workflow orchestrator designed to manage large-scale Data/ML workflows at Netflix. Over the past two and a half years, Maestro has achieved its design goal and successfully supported massive workflows with hundreds of thousands of jobs, managing millions of executions daily. As the adoption of Maestro increases at Netflix, new use cases have emerged, driven by Netflix’s evolving business needs, such as Live, Ads, and Games. To meet these needs, some of the workflows are now scheduled on a sub-hourly basis. Additionally, Maestro is increasingly being used for low-latency use cases, such as ad hoc queries, beyond traditional daily or hourly scheduled ETL data pipeline use cases.
While Maestro excels in orchestrating various heterogeneous workflows and managing user end-to-end development experiences, users have experienced noticeable speedbumps (i.e. ten seconds overhead) from the Maestro engine during workflow executions and development, affecting overall efficiency and productivity. Although being fully scalable to support Netflix-scale use cases, the processing overhead from Maestro internal engine state transitions and lifecycle activities have become a bottleneck, particularly during development cycles. Users have expressed the need for a high performance workflow engine to support iterative development use cases.
To visualize our end users’ needs for the workflow orchestrator, we create a 5-layer structure graph shown below. Before the change, Maestro reached level 4 but faced challenges to satisfy the user’s needs in level 5. With the new engine design, Maestro is able to power the users to work with their highest capacity and spark joy for end users during their development over the Maestro.

In this blog post, we will share our new engine details, explain our design trade-off decisions, and share learnings from this redesign work.
To understand the improvements, we will first revisit the original architecture of Maestro to understand why the overhead is high. The system was divided into three main layers, as illustrated in the diagram below. In the sections that follow we will explain each layer and the role it played in our performance optimization.

Maestro API and Step Runtime Layer
This layer offers seamless integrations with other Netflix services (e.g., compute engines like Spark and Trino). Using Maestro, thousands of practitioners build production workflows using a paved path to access platform services . They can focus primarily on their business logic while relying on Maestro to manage the lifecycle of jobs and workflows plus the integration with data platform services and required integrations such as for authentication, monitoring and alerting. This layer functioned efficiently without introducing significant overhead.
Maestro Engine Layer
The Maestro engine serves several crucial functions:
In terms of speed, this layer had acceptable overhead but faced edge cases (e.g. a step might be concurrently executed by two workers at the same time, causing race conditions) due to lacking a strong guarantee from the internal flow engine and the external distributed job queue.
Maestro Internal Flow Engine Layer
The Maestro internal flow engine performed 2 primary functions:
This foundational layer was based on Netflix OSS Conductor 2.x (deprecated since Apr 2021), which requires a dedicated set of separate database tables and distributed job queues.
The existing implementation of this layer introduces an impactful overhead (e.g. a few seconds to tens of seconds overall delays). The lack of strong guarantees (e.g. exactly once publishing) from this layer leads to race conditions which cause stuck jobs or lost executions.
We have evaluated three options to address those existing issues:
One aspect that influenced our assessment of option two is that Conductor 2 provided a final callback capability in the state machine that was contributed specifically for Maestro’s use case to ensure database synchronization between the Conductor and Maestro engine states. It would require porting this functionality to Conductor 4 though it had been dropped given no other Conductor use cases besides Maestro relied on this. By rewriting the flow engine it would allow removal of several complex internal databases and database synchronization requirements which was attractive for simplifying operational reliability. Given Maestro did not need the full set of state engine features offered by Conductor, this motivated us to consider a flow engine rewrite as a higher priority.
The decision for Temporal was more straightforward. Temporal is optimized towards facilitating inter-process orchestration and would involve calling an external service to interact with the Temporal flow engine. Given Maestro is operating greater than a million tasks per day, many of which are long running, we felt it was an unnecessary source of risk to couple the DAG engine execution with an external service call. If our requirements went beyond lightweight state transition management we might reconsider because Temporal is a very robust control plane orchestration system, but for our needs it introduced complexity and potential reliability weak spots when there was no direct need for the advanced feature set that it offered.
After considering Option 2 and Option 3, we developed more conviction that Maestro’s architecture could be greatly simplified by not using a full DAG evaluation engine and having to maintain the state machine for two systems (Maestro and Conductor/Temporal). Therefore, we have decided to go with Option 1.
To address these issues, we completely rewrote the Maestro internal flow engine layer to satisfy Maestro’s specific needs and optimize its performance. This new flow engine is lightweight with minimal dependencies, focusing on excelling in the two primary functions mentioned above. We also replaced existing distributed job queues with internal ones to provide a strong guarantee.
The new engine is highly performant, efficient, scalable, and fault-tolerant. It is the foundation for all upper components of Maestro and provides the following guarantees to avoid race conditions:
Here is the new architecture diagram after the change, which is much simpler with less dependencies:

The new flow engine significantly boosts speed by maintaining state in memory. It ensures consistency by using Maestro engine’s database as the source of truth for workflow and step states. During bootstrapping, the flow engine rebuilds its in-memory state from the database, improving performance and simplifying the overall architecture. This is in contrast to the previous design in which multiple databases had to be reconciled against one another (Conductor’s tables and Maestro’s tables) or else suffer race conditions and rare orphaned job status.
The flow engine operates on in-memory flow states, resembling a write through caching pattern. Updates to workflow or step state in the database also update the in-memory flow state. If in-memory state is lost, the flow engine rebuilds it from the database, ensuring eventual consistency and resolving race conditions.
This design delivers lower latency and higher throughput, avoids inconsistencies from dual persistence, simplifies the architecture, and keeps the in‑memory view eventually consistent with the database.
With the new engine, we significantly boost performance by collocating flows and their tasks on the same node throughout their lifecycle. Therefore, states of a flow and its tasks will stay in a single node’s memory without persisting to the database. This stickiness and locality bring great performance benefits but inevitably impact scalability since tasks are no longer reassigned to a new worker of the whole cluster in each polling cycle.
To maintain horizontal scalability, we introduced a flow group concept to partition running flows into groups. In this way, each Maestro flow engine instance only needs to maintain ownership of groups rather than individual flows, reducing maintenance costs (e.g., heartbeat) and simplifying reconciliation by allowing each Maestro node to load flows for a group in batches. Each Maestro node claims ownership of a group of flows through a flow group actor and manages their entire lifecycle via child flow actors. If ownership is lost due to node failure or long JVM GC, another node can claim the group to resume flow executions by reconciling internal state from Maestro database. The following diagram illustrates the ownership maintenance.

To efficiently distribute traffic, Maestro assigns a consistent group ID to flows/workflows by a simple stable ID assignment method, as shown in the diagram’s Partitioning Function box. We chose this simpler partitioning strategy over advanced ones, e.g. consistent hashing, primarily due to execution and reconciliation costs and consistency challenges in a distributed system.
Since Maestro decomposes workflows into hierarchical internal flows (e.g., foreach), parent flows need to interact with child flows across different groups. To enable this, the maximal group number from the parent, denoted as N’ in the diagram, is passed down to all child flows. This allows child flows, such as subworkflows or foreach iterations, to recompute their own group IDs and also ensures that a parent flow can always determine the group ID of its child flows using only their workflow identifiers.

After a flow’s group ID is determined, the flow operator routes the flow request to the appropriate node. Each node owns a specific range of group IDs. For example, in the diagram, Node 1 owns groups 0, 1, and 2, while Node 3 owns groups 6, 7, and 8. The groups then contain the individual flows (e.g., Flow A, Flow B).
In this design, the group size is configurable and nodes can also have different group size configurations. The following diagram shows a flow group partitioning example while the maximal group number is changed during the engine execution without impacting any existing workflows.

In short, Maestro flow engine shares the group info across the parent and child workflows to provide a flexible and stable partitioning mechanism to distribute work across the cluster.
We replaced both external distributed job queues in the existing system with internal ones, preserving the same fault‑tolerance and recovery guarantees while reducing latency and boosting throughput.
For the internal flow engine, the queue is a simple in‑memory Java blocking queue. It requires no persistence and can be rebuilt from Maestro state during reconciliation.
For the Maestro engine, we implemented a database‑backed in‑memory queue that provides exactly‑once publishing and at‑least‑once delivery guarantees, addressing multiple edge cases that previously required manual state correction.
This design is similar to the transactional outbox pattern. In the same transaction that updates Maestro tables, a row is inserted into the `maestro_queue` table. Upon transaction commit, the job is immediately pushed to a queue worker on the same node, eliminating polling latency. After successful processing, the worker deletes the row from the database. A periodic sweeper re-enqueues any rows whose timeout has expired, ensuring another worker picks them up if a worker stalls or a node fails.
This design handles failures cleanly. If the transaction fails, both data and message roll back atomically, no partial publishing. If a worker or node fails after commit, the timeout mechanism ensures the job is retried elsewhere. On restart, a node rebuilds its in‑memory queue from the queue table, providing at-least-once delivery guarantee.
To enhance scalability and avoid contention across event types, each event type is assigned a `queue_id`. Job messages are then partitioned by `queue_id`, optimizing performance and maintaining system efficiency under high load.
Maestro previously used a shared-nothing stateless worker model with a polling mechanism. When a task started, its identifier was enqueued to a distributed task queue. A worker from the flow engine would pick the task identifier from the queue, load the complete states of the whole workflow (including the flow itself and every task), execute the task interface method once, write the updated task data back to the database, and put the task back in the queue with a polling delay. The worker would then forget this task and start polling the next one.
That architecture was simple and horizontally scalable (excluding database scalability considerations), but it had drawbacks. The process introduced considerable overhead due to polling intervals and state loading. The time spent in one polling cycle on distributed queues, loading complete states, and other DB queries was significant.
As Maestro engine decomposes complex workflow graphs into multiple flows, actions might involve multiple flows spanning multiple polling cycles, adding up to significant overhead (around ten seconds in the worst cases). Also, this design didn’t offer strong execution guarantees mainly because the distributed job queue could only provide at-least-once guarantees. Tasks might be dequeued and dispatched to multiple workers, workers might reset states in certain race conditions, or load stale states of other tasks and make incorrect decisions. For example, after a long garbage-collection pause or network hiccup, two workers can pick up the same task: one sets the task status as completed and then unblocks the downstream steps to move forward. However, the other worker, working off stale state, resets the task status back to running, leaving the whole workflow in a conflicting state.
In the new design, we developed a stateful actor model, keeping internal states in memory. All tasks of a workflow are collocated in the same Maestro node, providing the best performance as states are in the same JVM.
The new flow engine fits well into an actor model. We also deliberately designed it to allow sharing certain local states (read-only) between parent, child, and sibling actors. This optimization gains performance benefits without losing thread safety due to Maestro’s use cases. We used Java 21’s virtual thread support to implement it with minimal dependencies.
The new actor-based flow engine is fully message/event-driven and can take actions immediately when events are received, eliminating polling interval delays. To maintain compatibility with the existing polling-based logic, we developed a wakeup mechanism. This model requires flow actors and their child task actors to be collocated in the same JVM for communication over the in-memory queue. Since the Maestro engine already decomposes large-scale workflow instances into many small flows, each flow has a limited number of tasks that fit well into memory.
Below is a high-level overview of the Maestro execution flow based on the actor model.

We chose Java virtual threads to implement various actors (e.g. group actors and flow actors), which simplified the actor model implementation. With a smaller amount of code, we developed a fully functional and highly performant event-driven distributed flow engine. Virtual threads fit very well in use cases like state machine transitions within actors. They are lightweight enough to be created in a large number without Out-Of-Memory risks.
However, virtual threads can potentially deadlock. They’re not suitable for executing user-provided logic or complex step runtime logic that might depend on external libraries or services outside our control. To address this, we separate flow engine execution from task execution logic by adding a separate worker thread pool (not virtual threads) to run actual step runtime business logic like launching containers or making external API calls. Flow/task actors can wait indefinitely for the future of the thread poll executor to complete but don’t perform actual execution, allowing us to benefit from virtual threads while avoiding deadlock issues.

To provide strong execution guarantees, we implemented a generation ID-based solution to ensure that a single flow or task is executed by only one actor at any time, with states that never roll back and eventually reach a terminal state.
When a node claims a new group or a group with an expired heartbeat, it updates the database table row and increments the group generation ID. During node bootstrap, the group actor updates all its owned flows’ generation IDs while rebuilding internal flow states. When creating a new flow, the group actor verifies that the database generation ID matches its in-memory generation ID, otherwise rejecting the creation and reporting a retryable error to the caller. Please check the source code for the implementation details.

Additionally, the new flow engine supports both event-driven execution and polling-based periodic reconciliation. Event-driven support allows us to extend polling intervals for state reconciliation at a very low cost, while polling-based reconciliation relaxes event delivery requirements to at-most-once.
Migrating hundreds of thousands of Netflix data processing jobs to a new workflow engine required meticulous planning and execution to avoid data corruption, unexpected traffic patterns, and edge cases that could hinder performance gains. We adopted a principled approach to ensure a smooth transition:
To achieve our testing goals, we developed an adaptable testing framework for Maestro. This framework addresses the limitations of static unit and integration tests by providing a more dynamic and comprehensive approach, mimicking organic production traffic. It complements existing tests to instill confidence when rolling out major changes, such as new DAG engines.
The framework is designed to sample real user workflows, disconnecting business logic from external side effects like data reads or writes. This allows us to run workflow graphs of various shapes and sizes, reflecting the diverse use cases across Netflix. While system integrations are handled through deployment pipeline integration tests, the ability to exercise a wide variety of workflow topologies (e.g., parallel executions, for-each jobs, conditional branching and parameter passing between jobs) was crucial for ensuring the new flow engine’s correctness and performance.
The prototype workflow for the test framework focuses on auto-testing parameters, involving two main steps:
1. Caching Production Workflows:
2. Pushing, Running, and Monitoring Workflows:
Future phases of the test framework aim to expand support for native steps, more templates, Titus and Metaflow workflows, and include more robust signal testing. Further integration with the ecosystem, including dedicated Genie clusters for no-op jobs and DGS for our internal workflow UI feature verification, is also being explored.
Our rollout strategy prioritized minimal user disruption. We determined that an entire workflow, from its root instance, must reside in either the old or new flow engine, preventing mixed operations that could lead to complex failure modes and manual data reconciliation.
To facilitate this, we established a parallel infrastructure for the new workflow engine and leveraged our orchestrator gateway API to hide any routing or redirection logic from users. This approach provided excellent isolation for managing the migration. Initially, specific workflows could explicitly opt in via a system flag, allowing us to observe their execution and gain confidence. By scaling up traffic to the parallel infrastructure in direct proportion to what was scaled down from the original infrastructure, the dual infrastructure cost increase was negligible.
Once confident, we transitioned to a percentage-based cutover. In the event of a sustained failure in the new engine, our team could roll back a workflow by removing it from the new engine’s database and restarting it in the original stack. However, one consequence of rollback was that failed workflows had to restart from the beginning, recomputing previously successful steps, to ensure all artifacts were generated from a consistent flow engine.
Leveraging Maestro’s 10-day workflow timeout, we migrated users without disruption. Existing executions would either complete or time out. Upon restarting (due to failure/timeout) or triggering a new instance (due to success), the workflow would be picked up by the new engine. This effectively allowed us to gradually “drain” traffic from the old engine to the new one with no user involvement.
While the plan generally proceeded as expected with limited edge cases, we did encounter a few challenges:
Despite these challenges, the migration was a success. We migrated over 60,000 active workflows generating over a million data processing tasks daily with almost no user involvement. By observing the flow engine’s lifecycle management latency, we validated a reduction in step launch overhead from around 5 seconds to 50 milliseconds. Workflow start overhead (incurred once per each workflow execution) also improved from 200 milliseconds to 50 milliseconds. Aggregating this over a million daily step executions translates to saving approximately 57 days of flow engine overhead per day, leading to a snappier user experience, more timely workflow status for data practitioners and greater overall task throughput for the same infrastructure scale.



We additionally realized significant benefits internally with reduced maintenance effort due to the new flow engine’s simplified set of database components. We were able to delete nearly 40TB of obsolete tables related to the previous stateless flow engine and saw a 90% reduction in internal database query traffic which had previously been a significant source of system alerts for the team.
The architectural evolution of Maestro represents a significant leap in performance, reducing overhead from seconds to milliseconds. This redesign with a stateful actor model not only enhances speed by 100X but also maintains scalability and reliability, ensuring Maestro continues to meet the diverse needs of Netflix’s data and ML workflows.
Key takeaways from this evolution include:
We’re excited to share these improvements with the open-source community and look forward to seeing how Maestro continues to evolve. The performance gains we’ve achieved open new possibilities for low-latency workflow orchestration use cases while continuing to support the massive scale that Netflix and other organizations require.
Visit the Maestro GitHub repository to explore these improvements. If you have any questions, thoughts, or comments about Maestro, please feel free to create a GitHub issue in the Maestro repository. We are eager to hear from you. If you are passionate about solving large scale orchestration problems, please join us.
Special thanks to Big Data Orchestration team members for general contributions to Maestro and diligent review, discussion and incident response required to make this project successful: Davis Shepherd, Natallia Dzenisenka, Praneeth Yenugutala, Brittany Truong, Jonathan Indig, Deepak Ramalingam, Binbing Hou, Zhuoran Dong, Victor Dusa, and Gabriel Ikpaetuk — and and internal partners Yun Li and Romain Cledat.
Thank you to Anoop Panicker and Aravindan Ramkumar from our partner organization that leads Conductor development in Netflix. They helped us understand issues in Conductor 2.X that initially motivated the rearchitecture and helped provide context on later versions of Conductor that defined some of the core trade-offs for the decision to implement a custom DAG engine in Maestro.
We’d also like to thank our partners on the Data Security & Infrastructure and Engineering Support teams who helped identify and rapidly fix the configuration discrepancy error encountered during production rollout: Amer Hesson, Ye Ji, Sungmin Lee, Brandon Quan, Anmol Khurana, and Manav Garekar.
A special thanks also goes out to partners from the Data Experience team including Jeff Bothe, Justin Wei, and Andrew Seier. The flow engine speed improvement was actually so dramatic that it broke some integrations with our internal workflow UI that reported state transition durations. Our partners helped us catch and fix UI regressions before they shipped to avoid impact to users.
We also thank Prashanth Ramdas, Anjali Norwood, Eva Tse, Charles Zhao, Sumukh Shivaprakash, Joey Lynch, Harikrishna Menon, Marcelo Mayworm, Charles Smith and other leaders for their constructive feedback and guidance on the Maestro project.
100X Faster: How We Supercharged Netflix Maestro’s Workflow Engine was originally published in Netflix TechBlog on Medium, where people are continuing the conversation by highlighting and responding to this story.


Este periódico ha tenido acceso a un informe de la Unidad Central Operativa (UCO) de la Guardia Civil, remitido a la magistrada Beatriz Biedma, titular del Juzgado de Instrucción número 3 de Badajoz, que investiga al músico. En ese documento se detalla cómo el hermano del presidente dio de baja el número que había utilizado durante más de una década el 5 de noviembre de 2021, apenas unas semanas después de regresar de una excedencia de un año en Tailandia. Desde entonces, y hasta el 22 de marzo de 2022, Sánchez se mantuvo un apagón de sus comunicaciones. No tuvo ningún número activo a su nombre en territorio nacional y, de esta manera, no podía ser geolocalizado por las antenas de telefonía. Una maniobra que, según los investigadores, no es casual, ya que coincide con su instalación en el complejo presidencial, donde residió junto a su esposa, la japonesa Kaori Matsumoto. eldebate

Ver post completo: No, no es un reto de “desintoxicación digital”. Es el hermano de Sánchez esquivando a Hacienda mientras fingía vivir en Portugal para pagar menos impuestos.


– No habrá cesiones territoriales entre Israel y Gaza.
– No se llevarán a cabo asesinatos de miembros de Hamás en territorio Qatarí.
– Los civiles palestinos de Gaza podrán salir y entrar de la franja de forma segura.
– Un equipo internacional supervisará la retirada israelí.
– Liberación inmediata de todos los rehenes.
– Desmantelamiento de todas las «armas ofensivas».
– Gaza se transformará en una zona de comercio internacional, con exenciones de aranceles aduaneros.
– La Autoridad Palestina (no Hamás) participará en el consejo de gobierno tras la eliminación de los elementos extremistas de la misma.
Es un resumen de los 21 puntos que ha propuesto Trump para el proceso de paz, que podéis ver en este artículo de 20Minutos.
Ver post completo: Este es el plan presentado por Trump para lograr la paz entre Israel y Palestina según los diplomáticos que han recibido el acuerdo.
En el mundo del hardware digital los fabricantes siempre están realizando experimentos para mejorar el rendimiento. Muchas veces esto genera patentes, prototipos… pero en la mayoría de las ocasiones no vemos luego en el mundo real nada de eso: puede ser que sea caro, que al final no se nota tanto el avance, que algún competidor se adelante, que a los de marketing no les guste, que la empresa cambie y ya no esté interesada en ese mercado…
Esta semana pasada he visto dos ejemplos de posibles avances en hardware que tal vez no veamos nunca en el mundo real:
En la imagen superior se puede ver un bloque de refrigeración líquida de un servidor Dell. Realment no hay mucho diferencia con los bloques que podemos usar en un PC normal. Es una superficie plana con varias capas (para que no se escape el agua o el líquido refrigerante). Eso hace que la refrigeración no sea todo lo óptima que podría ser.
Por ello en Microsoft pensaron que si podían grabar canales finos para que fluya el líquido directamente sobre el silicio la refrigeración sería mejor y además podrían reducir el tamaño de los bloques. Empezaron con modelos de líneas. Entonces solicitaron la ayuda de Corintis una empresa suiza con experiencia en este campo. Corintis usa canales con formas que imitan a la naturaleza. Si os fijáis en la imagen de arriba parece que estemos viendo las alas de un insecto en el diseño de los canales.
Luego tuvieron que crear un bloque para que el líquido estuviese en contacto con el chip, pero sin que se escapase hacia otros componentes:
En la imagen superior se puede ver el servidor que usaron para hacer pruebas. El experimento parece que tuvo éxito y que Microsoft aprendió cosas sobre este sistema. Las ventajas pasas por un menor tamaño, por las posibilidades de aumentar la velocidad de los chips en los picos de demanda de los servidores. También parece una buena solución para sistemas futuros que apilen los chips. En resumen un experimento para comprobar un concepto que luego veremos o no en el mundo real.
VIDEO.
Podemos ver como los fabricantes siguen pensando maneras y formas de mejorar el rendimiento del hardware… ahora toca esperar a ver si lo vemos en nuestros PCs pronto.
La entrada Experimentos de Microsoft y AMD en hardware que puede que veamos o no en el mundo real se publicó primero en Al otro lado del mostrador.
Como ya es costumbre, Donald Trump comete delitos de manera pública y notoria en su red social Truth Social, pero no existe remedio alguno para ello, ya que el único remedio legal contra un presidente que delinque es el impeachment, procedimiento que necesita de una mayoría de 2/3 en el Senado. Éste es su nuevo post con actividad delictiva:
truthsocial.com/@realDonaldTrump/posts/115287641147640374
Traduzco: El autoproclamado comunista de Nueva York, Zohran Mamdani, que se presenta a alcalde, demostrará ser una de las mejores cosas que le hayan ocurrido a nuestro gran Partido Republicano. Va a tener problemas con Washington como ningún alcalde en el la historia de nuestra otrora gran Ciudad. Recordad, necesita el dinero de mí, como Presidente, para llevar a cabo todas sus FALSAS promesas Comunistas. No va a recibir nada, así que ¿por qué votar por él? Esta ideología ha fracasado siempre, durante miles de años. Francasará de nuevo, ¡garantizdo! Presidente DJT
¿Por qué digo que es delictivo? Por la elemental razón de que está amenazando con represalias en caso de que un candidato salga elegido, amenazando con retener fondos federales, cosa que además es ilegal ya que el poder presupuestario lo tiene de manera explícita el Congreso de los EE.UU. Como mínimo, Donald Trump está cometiendo delitos de interferencia electoral y extorsión, además de violar la "cláusula de las apropiaciones" de la Constitución.
¿Tiene relevancia? Por desgracia, no, ya que no hay remedio legal viable contra las actividades delictivas del actual presidente (o más apropiadamente dictador con la actual situación en EE.UU), así que no va a pasar absolutamente nada. Los agradecimientos, a los Siniestros Seis.
etiquetas: artículo
» noticia original ()
"Ahora mismo, para ganar hay que trabajar a toda velocidad los siete días de la semana". El inversor de riesgo Harry Stebbings se pronunciaba así hace meses en una publicación en LinkedIn dirigida a las startups europeas que quieran competir contra "las mejores empresas del mundo". El británico, de solo 29 años, apretaba un poco más las tuercas de un discurso para abrazar el modelo llamado "996"
etiquetas: trabajo, modelo 996
» noticia original (www.rtve.es)
Gabriel Rufián denuncia la hipocresía de líderes del PP y otros sectores de derechas en España que evitan calificar como genocidio los ataques contra Gaza ...
etiquetas: rufián, ayuso, aznar, pp, gaza, palestina, israel
» noticia original (www.catalunyapress.es)
A raíz del vacío que le hizo el equipo de Ilia Topuria a Ángel Gaitán, investigamos un poco y descubrimos la verdadera cara del "mecánico de TikTok", utilizando el nombre y la influencia de personalidades famosos para conseguir sus propósitos, ya sea dinero, información o seguidores. Su personalidad egocéntrica se ve reflejada en cada una de sus "campañas de ayuda" o en sus denuncias públicas.
etiquetas: ilia topuria, ángel gaitán
» noticia original (www.youtube.com)
Wow, can you all believe it? We’re nearing the end of the year already. Next thing you know, AWS re:Invent will be here! This is our biggest event that takes place every year in Las Vegas from December 1st to December 5th where we reveal and release many of the things that we’ve been working on. If you haven’t already, buy your tickets to AWS re:Invent 2025 to experience it in person. If you can’t make it to Vegas, don’t worry, make sure to stay tuned here on the AWS News Blog where will be covering many of the announcements as they happen.
However, there are plenty of new exciting new releases between now and then, so, as usual, let’s take a quick look at some of the highlights from last week so you can catch up on what’s been recently launched, starting with one of the most popular services: Amazon S3!
S3 updates
The S3 team has been working really hard to make working with S3 even better. This month alone has seen releases such as bulk target selection for S3 Batch Operations, support for conditional deletes in S3 general purpose buckets, increased file size and archive scanning limits for malware protection, and more.
Last week was another S3 milestone with the addition of a preview in the AWS Console for Amazon S3 Tables. You can now take a quick peek at your S3 Tables right from the console, making it easier to understand their data structure and content without writing any SQL. This viewer-friendly feature is ready to use across all regions where S3 Tables are supported, with costs limited to just the S3 requests needed to display your table preview.
Other releases
Here are some highlights from other services which also released some great stuff this week.
Amazon Bedrock AgentCore expands enterprise integration and automation options — Bedrock AgentCore services are leveling up their enterprise readiness with new support for Amazon VPC connectivity, AWS PrivateLink, AWS CloudFormation, and resource tagging, giving developers more control over security and infrastructure automation. These enhancements let you deploy AI agents that can securely access private resources, automate infrastructure deployment, and maintain organized resource management whether you’re using AgentCore Runtime for scalable agent deployment, Browser for web interactions, or Code Interpreter for secure code execution.
AWS X-Ray brings smart sampling for better error detection — AWS X-Ray now offers adaptive sampling that automatically adjusts trace capture rates within your defined limits, helping DevOps teams and SREs catch critical issues without oversampling during normal operations. The new capability includes Sampling Boost for increased sampling during anomalies and Anomaly Span Capture for targeted error tracing, giving teams better observability exactly when they need it while keeping costs in check.
AWS Clean Rooms enhances real-time collaboration wilth incremental ID mapping — AWS Clean Rooms now lets you update ID mapping tables with only new, modified, or deleted records through AWS Entity Resolution, making data synchronization across collaborators more efficient and timely. This improvement helps measurement providers maintain fresh datasets with advertisers and publishers while preserving privacy controls, enabling always-on campaign measurement without the need to reprocess entire datasets.
Short and sweet
Here are some bite-sized updates that could prove really handy for your teams or workloads.
Keeping up with the latest EC2 instance types can be challenging. AWS Compute Optimizer now supports 99 additional instance types including the latest C8, M8, R8, and I8 families.
In competitive gaming, every millisecond counts! Amazon GameLift has launched a new Local Zone in Dallas bringing ultra-low latency game servers closer to players in Texas.
When managing large-scale Amazon EC2 deployments, control is everything! Amazon EC2 Allowed AMIs setting now supports filtering by marketplace codes, deprecation time, creation date, and naming patterns to help prevent the use of non-compliant images. Additionally, EC2 Auto Scaling now lets you force cancel instance refreshes immediately, giving you faster control during critical deployments.
Making customer service more intelligent and secure across languages! Amazon Connect introduces enhanced analytics in its flow designer for better customer journey insights, adds custom attributes for precise interaction tracking, and expands Contact Lens sensitive data redaction to support seven additional European and American languages.
That’s it for this week!
Don’t forget to check out all the upcoming AWS events happening across the globe. There are many exciting opportunities for you to attend free events where you can meet lots of people and learn a lot while enjoying a great day amongst other like-minded people in the tech industry.
And if you feel like competing for some cash, time is running out to be part of something extraordinary! The AWS AI Agent Global Hackathon continues until October 20, offering developers a unique opportunity to build innovative AI agents using AWS’s comprehensive gen AI stack. With over $45,000 in prizes and exclusive go-to-market opportunities up for grabs, don’t miss the chance to showcase your creativity and technical prowess in this global competition.
I hope you have found something useful or exciting within this last week’s launches. We post a weekly review every Monday to help you keep up with the latest from AWS so make sure to bookmark this and hopefully see you for the next one!
Matheus Guimaraes | @codingmatheus
Quiero decir… está claro que Rodri tiene un complejo de inferioridad que intenta maquillar con “férreos principios” en forma de limitaciones impropias de nuestro tiempo a sus parejas, ahí Irene acierta, pero parte de su discurso esconde una verdad: muchas personas (no solo chicas) “siguen en el mercado” aunque tengan pareja, y eso implica que cuando salgan de fiesta admitirán de buen grado la interacción “en modo tonteo” con algunos sujetos del sexo contrario. Que la sangre llegue al río dependerá de más factores.
Vestirse de forma sexy tiene como objetivo recibir validación y atraer a posibles candidatos, se haga más o menos conscientemente el fin es ese. Si una sale para “pasárselo bien con las amigas” no tiene mucho sentido enseñar más pechuga que una pollería.
Creo que no hay necesidad de negar una realidad tan palmaria. Es algo que todos sabemos y que muchos niegan de forma absolutamente hipócrita. Darle la espalda a la realidad no cambia la realidad.
El “me maquillo para mí”, “me visto como un putón para mí” se lo cree solo la gente que intenta engañar a los demás con mentiras equivalentes.
Ver post completo: ¿Y si ambos tienen parte de razón?