ShareGPT

99 readers
3 users here now

To share LLM text output that others might find interesting.

founded 2 years ago
MODERATORS
1
 
 

I stumbled across an idea in a video the other day that was something I had been wanting for a long time. At 2:32 in this clip, the creator mentions using Hermes agent to create a personalized podcast.

So I gave Hermes a single instruction: "Every morning, find the outlier posts from my Piefed subscriptions (credentials in the .env file), summarize them, record yourself reading them, and send everything to my Telegram."

It did all of it. No, really.

What Hermes Actually Did (On Its Own)

I didn't write a single line of code. Hermes handled:

  1. Writing the outlier detection script. It pulled Piefed's API docs, figured out the endpoints, and wrote a Python script that calculates moving averages per community and flags posts more than 2 standard deviations above the mean.
  2. Writing the summarization pipeline. It built the logic to fetch article content from each outlier link and summarize it.
  3. Creating the audio. It invoked its own voice synthesis to read those summaries aloud and save them as audio files.
  4. Sending to Telegram. It used its Telegram bot to deliver both the audio file and a text summary.
  5. Setting the cron job. It configured its own scheduled task to run every morning at 6 AM.

The Result

I asked to send it to me now about an hour after installing the agent, and there's already an audio message. I press play, and Hermes reads me the most interesting posts from the communities I follow — without me opening an app, touching a terminal, or writing a script.

The pipeline scans roughly 295 posts per run, flags the top 15% by score, filters out image-only posts, fetches article content via trafilatura, generates 2-3 sentence summaries, synthesizes audio with AriaNeural, and sends the whole thing to Telegram with a voice message — all running on a cron job that the agent set up itself.

I didn't even wait for the 6 AM cron. I told it to send me the briefing right now, and a few minutes later my phone buzzed with a voice message. It took about 20 minutes from "do this" to listening to it on my phone.

Inspired by the concept discussed here: https://youtu.be/tP6yf22OJdI?t=152

2
 
 

tl;dr: Use pre-built Docker images. Build-from-source requires BuildKit in Docker daemon, which needs sudo on Linux. The image-pull approach takes ~10 minutes instead of ~45.


Why This Guide?

The official Firecrawl self-hosting docs assume you're comfortable with BuildKit builds and lengthy docker compose build. On a fresh Manjaro install with only Portainer running, that approach hits two walls:

  1. BuildKit must be enabled in /etc/docker/daemon.json — requires sudo
  2. Building from source takes 30-45 minutes on first run

This guide uses pre-built images from GHCR and gets you scraping in ~10 minutes with zero sudo beyond initial Docker setup.


Prerequisites

  • Manjaro Linux (Arch-based)
  • Docker installed and running
  • Docker Compose installed (sudo pacman -S docker-compose)
  • Your user added to the docker group (no sudo for docker commands)
  • Docker daemon has BuildKit enabled (see note at bottom if not)
  • Portainer (optional, but nice to have)

Step 1 — Clone the Repo

cd ~
git clone https://github.com/mendableai/firecrawl.git
cd firecrawl

You only need the repo for the docker-compose.yaml. After setup you can rm -rf it if you want.


Step 2 — Create the .env File

cat > .env << 'EOF'
PORT=3002
HOST=0.0.0.0
USE_DB_AUTHENTICATION=false
BULL_AUTH_KEY=CHANGEME
EOF

Set BULL_AUTH_KEY to something secure — it guards the Bull queue admin panel.


Step 3 — Switch to Pre-Built Images

The default docker-compose.yaml tries to build everything from source. We need to flip it to use pre-built images instead. Four services need switching:

# API (main firecrawl service)
sed -i 's|# image: ghcr.io/firecrawl/firecrawl|image: ghcr.io/firecrawl/firecrawl|' docker-compose.yaml
sed -i 's|  build: apps/api|  # build: apps/api|' docker-compose.yaml

# Playwright (browser rendering)
sed -i 's|# image: ghcr.io/firecrawl/playwright-service:latest|image: ghcr.io/firecrawl/playwright-service:latest|' docker-compose.yaml
sed -i 's|    build: apps/playwright-service-ts|    # build: apps/playwright-service-ts|' docker-compose.yaml

# Postgres (database)
sed -i 's|# image: ghcr.io/firecrawl/nuq-postgres:latest|image: ghcr.io/firecrawl/nuq-postgres:latest|' docker-compose.yaml
sed -i 's|    build: apps/nuq-postgres|    # build: apps/nuq-postgres|' docker-compose.yaml

Redis and RabbitMQ already use standard public images (redis:alpine, rabbitmq:3-management) so no changes needed there.

Verify with:

grep -n "image:\|build:" docker-compose.yaml | grep -v "^#"

You should see image: lines for: firecrawl, playwright-service, nuq-postgres, redis, rabbitmq. No build: lines should remain.


Step 4 — Pull the Images

docker pull ghcr.io/firecrawl/firecrawl:latest
docker pull ghcr.io/firecrawl/playwright-service:latest
docker pull ghcr.io/firecrawl/nuq-postgres:latest

Each is ~200-400MB. This takes 5-10 minutes depending on your connection.


Step 5 — Start Everything

docker compose up -d

Check status:

docker ps --format "table {{.Names}}\t{{.Status}}" | grep firecrawl

All 5 containers should show "Up" — RabbitMQ will show "(healthy)" once its health check passes (~30s).


Step 6 — Verify It Works

curl -X POST http://localhost:3002/v0/scrape \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "https://example.com/",
    "pageOptions": {"onlyMainContent": true}
  }'

You should get back JSON with success: true, page content, markdown, and metadata. Credits used will be 1 (from the Postgres DB, even without auth configured).


Step 7 — Wire Hermes Agent to Local Firecrawl

Open ~/.hermes/config.yaml and find the web_extract section under auxiliary:

auxiliary:
  web_extract:
    provider: auto
    model: ''
    base_url: ''
    api_key: ''
    timeout: 360

Change it to:

auxiliary:
  web_extract:
    provider: custom
    model: ''
    base_url: http://localhost:3002/
    api_key: ''
    timeout: 360

Restart Hermes. Now every time Hermes needs to scrape or extract content from the web, it will use your local Firecrawl instance instead of calling an external API.


Useful URLs Once Running

Service URL
Firecrawl API http://localhost:3002/
Bull Queue Dashboard http://localhost:3002/admin/CHANGEME/queues
Portainer (if installed) https://localhost:9443/

Rebuilding After Reboot

cd ~/firecrawl
docker compose up -d

Everything persists in Docker volumes. No data is lost.


Troubleshooting

sed: can't read errors on macOS: macOS sed has different syntax. Use sed -i '' 's/old/new/' on macOS, or use the -i without argument on Linux.

"mount option requires BuildKit" during any build: This only matters if you're building from source. If you're using pre-built images (this guide), you never hit this. If you do need BuildKit for something else, add this to /etc/docker/daemon.json and restart Docker:

{ "features": { "buildkit": true } }

"Image denied" when pulling: Use ghcr.io/firecrawl/firecrawl (lowercase, org path) instead of ghcr.io/mendableai/firecrawl. The latter requires GitHub auth.

RabbitMQ not healthy: Wait 30-60 seconds. First startup runs migrations. Check logs with docker compose logs rabbitmq.

API returns 500: Check API logs with docker compose logs api — common cause is RabbitMQ not being healthy yet.


What's Working vs. Cloud

Feature Local Cloud
/v0/scrape (fetch) Yes Yes
/v0/scrape (Playwright) Yes Yes
/v1/crawl Yes Yes
/v0/extract (AI) Yes (needs OpenAI/Ollama key) Yes
Fire-engine (anti-bot) No Yes
/search Yes (needs SearXNG) Yes

AI features (/extract, structured output) work locally but require an OPENAI_API_KEY or OLLAMA_BASE_URL in your .env.

3
 
 

I'll guide you through setting up a complete, free, local debugging system on Manjaro Linux using Ollama (to run the LLM locally) and lite-cc (the agentic CLI tool). This combination lets you debug scripts without any cloud API calls or costs.


Step 1: Install and Configure Ollama

Ollama runs the actual language model on your local machine. The standard install script sometimes has issues with Manjaro, but here's the reliable method:

Install Required Dependencies (Especially for NVIDIA GPUs)

First, check your kernel version and install necessary packages:

uname -r
pamac search "linux.*header"
pamac install nvidia nvidia-utils cuda linux[version]-headers

Replace [version] with your kernel version from the uname -r command (e.g., linux69-headers). If you're unsure or don't have an NVIDIA GPU, you can skip the CUDA/NVIDIA packages and use CPU-only mode.

Restart your system after installing NVIDIA drivers to ensure they load properly.

Install Ollama via AUR (Recommended for Manjaro)

The AUR package is typically more up-to-date and better integrated with Arch-based systems:

pamac install ollama

Alternatively, you can use the official install script after ensuring your NVIDIA drivers are working:

curl -fsSL https://ollama.com/install.sh | sh

If you see the error VERSION_ID: unbound variable, your NVIDIA drivers aren't properly detected—go back to the dependency installation step.

Start Ollama Service and Download a Model

# Start the Ollama service
systemctl start ollama
systemctl enable ollama  # Auto-start on boot

# Download a model (I recommend qwen2.5-coder for debugging)
ollama pull qwen2.5-coder:7b

You can verify Ollama is working by running:

ollama run qwen2.5-coder:7b "print('hello')"

Verify GPU is Working (If Applicable)

nvidia-sim
journalctl -u ollama | grep "NVIDIA"

You should see your GPU model and available VRAM.


Step 2: Install lite-cc

lite-cc is a lightweight, safety-focused coding agent that connects to Ollama.

# Install via pip
pip install lite-cc

# Or with uv (faster, if you have it installed)
uv pip install lite-cc

Verify installation:

litecc --help

Step 3: Configure lite-cc for Ollama

Create a configuration file so lite-cc knows to use your local Ollama model:

mkdir -p ~/.cc
cat > ~/.cc/config.yaml << 'EOF'
model: ollama/qwen2.5-coder:7b
max_iterations: 30
timeout: 120
EOF

This configuration:

  • Uses the model you downloaded via Ollama
  • Limits the agent to 30 tool-calling iterations (prevents runaway loops)
  • Sets a 120-second timeout per command

Step 4: Debug Your Script

Navigate to your project directory and run lite-cc:

cd /path/to/your/project
litecc run "Debug the script myscript.py. Find and fix any errors, then explain what was wrong."

For more visibility into what the agent is doing:

litecc run "Debug myscript.py" -v

Example: Debugging a Python Script

Let's say you have broken.py:

def calculate_average(numbers):
    return sum(numbers) / len(nimbers)  # Typo: 'nimbers' instead of 'numbers'

result = calculate_average([1, 2, 3, 4, 5])
print(f"Average: {result}")

Running lite-cc will:

  1. Read the file with read_file
  2. Execute the script with bash to see the error
  3. Identify the typo
  4. Use write_file to fix it
  5. Re-run to verify the fix

The output will show colored, timestamped logs of each tool call:

14:32:05 [litecc]  Using model: ollama/qwen2.5-coder:7b
14:32:05 [litecc]  Starting task...
14:32:06 [tool]    read_file: broken.py
14:32:07 [tool]    bash: python broken.py
14:32:08 [ollama]  Identified typo: 'nimbers' should be 'numbers'
14:32:09 [tool]    write_file: broken.py
14:32:10 [tool]    bash: python broken.py
14:32:11 [litecc]  Fix complete. Script now outputs: Average: 3.0

Safety Features

lite-cc has built-in guardrails to prevent destructive actions:

  • Blocked commands: rm, sudo, kill, git push --force
  • Path restrictions: Cannot access ~/.ssh, /etc, or traverse outside project directory
  • Output limits: 2000 lines or 100KB per command
  • Timeouts: Commands automatically stop after configurable timeout

These make it safe to let the agent run autonomously.


Useful lite-cc Commands for Debugging

Command Purpose
litecc run "debug script.py" Basic debugging
litecc run "fix all tests" -v Verbose mode with full tool output
litecc run "explain the error" --max-iterations 10 Limit iterations for simple tasks
litecc run "refactor this module" --model ollama/deepseek-coder Switch to a different local model

Troubleshooting

Ollama not responding to lite-cc

Make sure the Ollama service is running:

systemctl status ollama
ollama list  # Should show your downloaded model

lite-cc can't find the model

Check your config file and ensure the model name matches exactly:

cat ~/.cc/config.yaml
ollama list

"Command blocked" warnings

If lite-cc blocks a command you actually need (like git push), this is intentional safety. You can temporarily override by running with --dangerous flag, but only do this if you understand the risk.


Next Steps

Once you're comfortable with basic debugging, explore:

  • Plugins: Add specialized knowledge with --plugin-dir
  • Different models: Try ollama pull deepseek-coder:6.7b for alternative debugging styles
  • Skills: Create reusable debugging workflows with SKILL.md files

Would you like help setting up a specific plugin or debugging a particular type of script?

4
 
 

Let’s talk about Lemmy. No, seriously, let’s scream into the void about it. Because after all the hype about “decentralization” and “escaping Reddit’s tyranny,” what we’ve actually gotten is a clunky, fragmented, ideological experiment that solves precisely NONE of Reddit’s core problems and instead invents a bunch of exciting new ones.

First, the grand delusion: Federation! The magic word that’s supposed to set us free. Instead, it’s a recipe for community suicide. The idea that a single interest—say, “Retro Gaming”—should exist as a dozen identical communities scattered across a dozen different instances (server.world, privacy.island, commie.camp) is organizational insanity. You don’t build a community; you shatter it. You’re left guessing which of the five “Linux” communities has the critical mass of users to ever see a post, or worse, trying to subscribe to all of them and watching the same discussions splinter across five timelines. Reddit has fragmentation with subreddits, but at least there’s ONE r/linux. On Lemmy, finding the “main” one is a part-time job.

And speaking of instances, welcome to the new meta-problem: Instance Drama. On Reddit, you just make an account. On Lemmy, you have to pick a hometown in a federation where towns can and do build walls. Oh, you joined the “nice” instance with good uptime? Tough luck, it’s defederated (blocked) from the instance that hosts the three communities you actually wanted to follow. Now you need a SECOND account on a THIRD instance that plays nice with both. You’ve traded a corporate overlord for the petty fiefdoms of volunteer sysadmins with veto power over your social graph. How progressive!

But here’s the real kicker: Lemmy doesn’t fix a single one of Reddit’s actual cultural rot issues. It just copy-pastes them onto a broken foundation.

The Moderation Problem? It’s worse. It’s the automod-bot-driven, power-tripping mess, except now mods are spread even thinner across duplicate communities and are often also instance admins wielding even more arbitrary power. There’s no unified appeal, no coherent policy. It’s a wild west where the sheriff owns the saloon.

The Content Problem? It’s worse. Go to any sizable Lemmy community. What do you see? MEMES. Low-effort image macros. The same tidal wave of brainless content that drowns discourse on Reddit. The upvote/downvote system performs the exact same function: promoting the easily digestible over the substantive. If the end result is the same feed of recycled jokes, why bother with the voting theater? Just sort by “views” and get the same result faster.

And this leads to the most fatal flaw: The Death of the Niche. On Reddit, for all its faults, a weird hobby can thrive in its own subreddit, and someone from a big, mainstream community might stumble into it. The scale allows for discovery. On Lemmy, the big communities are already ghost towns compared to Reddit, and they are isolated. There’s no gravitational pull. The big communities are too busy reposting memes to spawn smaller ones, and the small ones are born dead, scattered across instances with maybe one post a month. Ask yourself: How many Lemmy communities have less than 1 post per month? It’s probably 99% of them. They’re digital graveyards with a “Subscribe” button.

So what’s the point? We traded a centralized, functional but flawed platform for a decentralized, dysfunctional, and equally flawed one. We have all the problems of Reddit—bot-moderation, meme supremacy, power-mods—and then piled on top: userbase fragmentation, instance administration politics, and the complete impossibility of building viable niche communities.

It’s not an alternative. It’s a downgrade. It’s a proof-of-concept that forgot the “concept” part was supposed to be a better user experience, not just a political statement about server ownership. The dream of federation has manifested as a chaotic, balkanized wasteland where the biggest winner is the feeling of being ethically superior while you stare at a mostly empty, poorly connected, meme-reposting feed.

Bravo. We rebuilt the boilerplate of Reddit, broke the plumbing, and called it revolution.

5
 
 

According to Education Week’s tracker, there were 17 school shootings in 2025 that resulted in injuries or deaths — the lowest number since 2020.

Different databases that count any gunfire on school property report much higher totals (100–230+ incidents) depending on definitions used, showing how statistics can vary widely based on criteria.

School shooting counts are therefore highly dependent on how a shooting is defined, but serious incidents with injuries or deaths were significantly fewer in 2025 compared with recent years.

6
 
 

Here are practical ways you can discover similar GitHub repositories based on the repositories you’ve starred — both using built-in GitHub features and external tools/services:


🚀 1. Use GitHub Explore & Personal Recommendations

🔹 GitHub Explore

GitHub’s Explore page gives you trending and suggested repositories based on stars and popular content. It’s not personalized to only your starred list, but GitHub uses overall star signals to highlight related projects.

🔹 Your GitHub Stars page

Your “⭐ Your stars” view shows repositories you’ve starred, and GitHub sometimes shows related content (e.g., trending or popular repos in similar topics) in your feed based on what you’ve starred.


🧠 2. Tools That Generate Similar Repo Recommendations

🧩 SimRepo — Similar repositories in GitHub sidebar

SimRepo is a browser extension that automatically displays similar repositories in the GitHub sidebar whenever you view a repository page. It uses machine learning and star-based embeddings to find related projects.

Works as an extension for Chrome/Chromium-based browsers (and planned on other browsers)

Shows similar repos for popular projects (e.g., >150 stars)

Provides suggestions automatically in the UI

Good for: discovering related projects while browsing repos.


🔍 GitRec — Recommendations based on your stars

GitRec is another Chrome extension / tool that analyzes repositories you’ve starred and then suggests similar ones. It uses a recommendation engine (often Gorse) to calculate relevance from your activity.

Adds recommendations directly into GitHub browsing

Suggests repos you may like based on starred history

Compatible with GitHub.com

Good for: seamless discovery without leaving GitHub.


🛠 3. CLI & Search Tools

📦 github-stars-search

A command-line tool that lets you semantically search within your starred repositories and can help you cluster or search for similar ones based on README content and embeddings.

You fetch all starred repos

The tool generates vector representations of README/text and lets you search semantically

Useful if you want offline or scriptable similarity querying

🐍 starred-repo-finder

Another CLI utility that finds other repositories by analyzing stargazers of a given repo — essentially looking at users who starred a repo and what else they’ve starred.

Helps discover repos favored by similar users

Filter results by popularity or forks

Outputs results in JSON/CSV


📌 4. DIY Data & Scripts

📊 Build your own similarity model

If you’re into data science or custom workflows, you can:

Fetch your starred repo list via the GitHub API

Extract metadata (stars/topics/languages/README text)

Compute similarity using text embeddings, graph analysis, or collaborative filtering

Tools like StarDose (a GitHub recommender system) demonstrate this approach.

Good for: fully customized recommendations or research.


🧠 5. Practical GitHub Search Tricks

While GitHub search doesn’t directly provide similarity scoring, you can use advanced filters to find related projects manually, for example:

topic:machine-learning stars:>50 language:python

This helps you target repositories in the same domain as your starred set.


🧩 Summary: Which to Use?

Goal Best Option

Automatic similar repo suggestions while browsing SimRepo, GitRec Terminal-based search & custom queries github-stars-search, starred-repo-finder Manual discovery within GitHub Explore, advanced search Custom data-science recommendations Build your own embedding/graph model

7
 
 

Below is a Python recommendation engine example that you can improve through usage and that supports sharing anonymized training data via onion‐routed communication (e.g., using Tor onion services). Onion routing (used by Tor) ensures that the data you share with the server is routed through multiple encrypted layers so no single node knows both where it came from and where it’s going, improving privacy.


📌 System Architecture Overview

Clients

Each user runs a local Python instance.

They compute recommendation model updates (e.g., collaborative filtering gradients).

Updates are sent through a Tor onion service to the central server.

Tor Onion Service

A server instance runs a hidden Tor service that only accepts connections routed through the Tor network.

This protects both client identities and server location.

Server

Aggregates anonymized model updates.

Sends back an updated global model


🧠 Step 1 — Setup Tor Onion Service

First, set up Tor on the server and configure your hidden service in torrc:

Example torrc

HiddenServiceDir /var/lib/tor/recommendation_service/ HiddenServicePort 5000 127.0.0.1:5000

After restarting Tor, this will generate an .onion address that clients will use to send requests through the Tor network.


🔧 Step 2 — Basic Recommendation Engine (Python)

This example uses matrix factorization for collaborative filtering; replace with your preferred algorithm.

  1. Install libraries:

pip install numpy pandas scikit-learn flask requests[socks]

  1. Shared codebase:

📌 server.py

from flask import Flask, request, jsonify import numpy as np import threading

app = Flask(name)

Global model (random initialization)

n_users, n_items, n_factors = 1000, 1500, 50 user_factors = np.random.rand(n_users, n_factors) item_factors = np.random.rand(n_items, n_factors)

lock = threading.Lock()

@app.route("/update_model", methods=["POST"]) def update_model(): data = request.get_json() uf = np.array(data["user_factors"]) ifac = np.array(data["item_factors"])

with lock:
    # Simple addition aggregation (for demo)
    global user_factors, item_factors
    user_factors[: uf.shape[0]] += uf
    item_factors[: ifac.shape[0]] += ifac

return jsonify({"status": "ok"})

@app.route("/get_model", methods=["GET"]) def get_model(): return jsonify({ "user_factors": user_factors.tolist(), "item_factors": item_factors.tolist() })

if name == "main": app.run(port=5000)


📡 Step 3 — Client Code Sending Updates via Tor

client.py

This uses requests with a SOCKS proxy pointed at Tor’s local SOCKS port (typically 9050).

import numpy as np import requests

Train or load your local data

local_user_factors = np.random.rand(10, 50) local_item_factors = np.random.rand(20, 50)

onion_url = "http://.onion"

session = requests.Session() session.proxies = { "http": "socks5h://localhost:9050", "https": "socks5h://localhost:9050" }

Send updates through Tor

resp = session.post( f"{onion_url}/update_model", json={ "user_factors": local_user_factors.tolist(), "item_factors": local_item_factors.tolist() }, timeout=30, )

print("Server response:", resp.json())

Optionally fetch updated model

updated = session.get(f"{onion_url}/get_model").json() print("Updated global model fetched.")


🛡️ Key Concepts & Extensions

🔹 Onion Routing for Privacy

Onion routing wraps messages in layers of encryption through multiple relays so no single point knows both endpoints, preserving privacy. This model ensures data sharing between clients and server stays anonymous.

📈 Improving With Federated Techniques

To avoid sending raw model data and further improve privacy, integrate federated learning:

Each client trains locally.

Only model updates (not raw data) are sent to the server.

A server aggregates updates to improve a global model. Research in this area includes FedGNN, LightFR, and other privacy-preserving federated recommenders.

🧠 Privacy Enhancements

Use differential privacy on gradients before sending them.

Use secure multi-party computation (SMPC) or encryption layers.


🧪 Testing & Deployment

  1. Local tests — Run server locally and point client via Tor SOCKS.
  2. Dockerize components for reproducible deployment.
  3. Security audits — Ensure the onion service and proxy configuration don’t leak identifying info.
8
 
 

Here are several Markdown viewer options for Linux, ranging from simple dedicated viewers to terminal-based tools and editors with built-in preview. I’ve grouped them by type so you can choose based on how you want to use them:


Standalone Markdown Viewers (Lightweight, GUI)

MarkLite

  • Lightweight markdown viewer with optional editing.
  • Opens directly in viewer mode; you can also switch to edit. (MarkLite)

markdown-reader

  • Minimal Qt5-based Markdown viewer.
  • Fast start, image caching, simple file navigation. (PyPI)

mdview

  • Standalone viewer that only renders Markdown (no heavy editor features).
  • Available as AppImage or snap for easy installation. (AppImages)

Terminal-Based Markdown Viewers

These are excellent if you prefer working in a terminal or want a very lightweight solution:

Glow

  • Renders Markdown nicely in the terminal with a TUI.
  • Allows browsing local files and styled output. (GitHub)

Frogmouth

  • Terminal Markdown browser/viewer with navigation, history, table of contents. (GitHub)

mandown

  • Man-page inspired Markdown viewer that feels like man. (Terminal Trove)

AMD Reader

  • Python/Textual-based Markdown terminal viewer with navigation. (PyPI)

Editors with Built-In Live Preview

These are general editors or note apps that also work as Markdown viewers:

Typora

  • Live rendered preview while you edit.
  • Popular choice if you want GUI reading + writing. (Markdown Viewer Online)

Mark Text

VS Code

  • Full code editor with Markdown preview pane (Ctrl+Shift+V).
  • Ideal if you already use it for development. (Markdown Viewer Online)

Zettlr

  • Markdown editor with preview and additional writing tools (citation support, docs). (Wikipedia)

Installation Hints (General)

  • AppImage (like mdview): Just download, make executable, run. (AppImages)

  • Snap (mdview, Glow, others):

    sudo snap install <package>
    
 (if snapd is set up) :contentReference[oaicite:12]{index=12}  
- **Package managers / pipx** (Glow, markdown-reader, AMD Reader):  
 ```bash
 pipx install glow
 pipx install markdown-reader
 pipx install amdreader

(or via distro repositories if available) (GitHub)


Choosing the Right Tool

  • Just view Markdown, minimal overhead: Terminal tools like Glow, Frogmouth, mandown.
  • Simple GUI viewer: marklite, markdown-reader, mdview.
  • Preview + editing: Typora, Mark Text, VS Code.
9
 
 

On Linux, the most reliable and widely used approach is to use Pandoc. It natively understands Markdown, EPUB structure, and chapter boundaries.

Below is a production-grade workflow.


Recommended Tooling

  • pandoc (core conversion engine)

  • Optional:

    • GNU Make (automation)
    • CSS (styling)
    • YAML metadata file (EPUB metadata)

Install Pandoc:

sudo apt install pandoc
# or
sudo dnf install pandoc
# or
sudo pacman -S pandoc

Basic Concept (How Chapters Work)

Pandoc treats each input Markdown file as a separate section. When generating EPUB:

  • Each file becomes a chapter.
  • Top-level headings (# Heading) become chapter titles.
  • File order determines chapter order.

Minimal Example

Assume this structure:

book/
├── chapter01.md
├── chapter02.md
├── chapter03.md

Create the EPUB:

pandoc chapter01.md chapter02.md chapter03.md \
  -o book.epub

That is sufficient for a valid EPUB with three chapters.


Best-Practice Structure (Recommended)

1. Use Proper Headings

Each chapter file should start with a level-1 heading:

# Chapter 1: Introduction

Your content here…

Pandoc uses this for the EPUB table of contents.


2. Add Metadata (Title, Author, Language)

Create metadata.yaml:

title: "My Book Title"
creator:
  - role: author
    text: "Author Name"
language: en
identifier: urn:uuid:12345678-1234-5678-1234-567812345678

Then run:

pandoc metadata.yaml chapter01.md chapter02.md chapter03.md \
  -o book.epub

Styling the EPUB (CSS)

Create epub.css:

body {
  font-family: serif;
  line-height: 1.5;
}

h1 {
  page-break-before: always;
}

Generate EPUB with styling:

pandoc metadata.yaml chapter01.md chapter02.md chapter03.md \
  --css=epub.css \
  -o book.epub

Automatic Chapter Ordering

If you have many files:

pandoc metadata.yaml $(ls chapters/*.md | sort) \
  -o book.epub

Or explicitly:

pandoc metadata.yaml chapters/01-*.md chapters/02-*.md \
  -o book.epub

Advanced Options (Commonly Used)

Table of Contents Depth

--toc --toc-depth=2

Cover Image

--epub-cover-image=cover.jpg

Split Chapters by Heading (Single File Input)

If you later combine files:

--split-level=1

Validating the EPUB (Optional but Recommended)

Install epubcheck:

sudo apt install epubcheck

Validate:

epubcheck book.epub

Summary

Shortest correct answer:

pandoc *.md -o book.epub

Best practice:

  • One Markdown file per chapter
  • Each file starts with # Chapter Title
  • Use a YAML metadata file
  • Add CSS for layout consistency
10
 
 

Below is a comprehensive, practical process to automatically track your most-used files on Manjaro Linux and sync those under 1 MB to a USB drive when it’s plugged in, filling the USB to ~80 % capacity. This solution uses common Linux tools, udev for USB detection, scripting for file tracking, and rsync for copying.


Overview of the Solution

  1. Track file usage (access frequency) on your system.
  2. Maintain a ranked list of most-used files.
  3. On USB insertion, compute a target 80 % capacity size.
  4. Select top files under 1 MB from the usage list until the target capacity.
  5. Copy those files to the USB.

Components

  • File usage tracker → logs accessed files.
  • Usage database → tracks frequency and last access times.
  • udev rule → triggers sync on USB mount.
  • Sync script → selects and copies files to USB.

Assumptions

  • You are on Manjaro Linux (Arch-based).
  • You have bash, inotifywait (from inotify-tools), rsync, and standard coreutils.
  • USB mountpoints are under /run/media/$USER/<label> (common on Manjaro with udisks2/GUI auto-mounting). If you auto-mount elsewhere, you can adjust.

Part 1 — Track File Access

We want a daemon that logs the files you use. The simplest reliable metric is file opens.

  1. Install required tool
sudo pacman -S inotify-tools
  1. Create a tracker script

Create /usr/local/bin/file_usage_tracker.sh:

#!/usr/bin/env bash

# Scan common directories to watch — adjust to your needs.
WATCH_DIRS=("$HOME" "/etc" "/usr/local/bin")

# DB file
DB="$HOME/.file_usage.db"
mkdir -p "$(dirname "$DB")"
touch "$DB"

# Function logs file open events
inotifywait -m -e open --format '%w%f' "${WATCH_DIRS[@]}" | while read path; do
    # Only record real files
    if [ -f "$path" ]; then
        # Increase count with timestamp
        echo "$(date +%s) $path" >> "$DB"
    fi
done
  1. Make it executable
sudo chmod +x /usr/local/bin/file_usage_tracker.sh
  1. Run it on login

Use a systemd user service:

~/.config/systemd/user/file_usage_tracker.service

[Unit]
Description=Track file opens

[Service]
ExecStart=/usr/local/bin/file_usage_tracker.sh
Restart=always

[Install]
WantedBy=default.target

Enable it:

systemctl --user daemon-reload
systemctl --user enable --now file_usage_tracker.service

This now appends every file open to a per-user DB (simple flat log). We will process it later.


Part 2 — Create a Ranked File List

We must convert the raw log into a frequency list of files, excluding those >1 MB.

Create /usr/local/bin/file_usage_rank.sh:

#!/usr/bin/env bash

DB="$HOME/.file_usage.db"
RANKED="$HOME/.file_usage_ranked.tsv"

# Remove non-existent paths
grep -v -E '^\s*$' "$DB" | awk '{print $2}' | sort | uniq -c | \
    sort -nr > /tmp/usage.tmp

# Emit TSV: count<TAB>path
awk '{printf "%d\t%s\n", $1, $2}' /tmp/usage.tmp > "$RANKED"
rm /tmp/usage.tmp

Make executable:

sudo chmod +x /usr/local/bin/file_usage_rank.sh

You can run this periodically (e.g., daily cron or systemd timer) so the ranked list stays up to date.


Part 3 — USB Sync Script

This script is triggered on USB insertion.

Save as /usr/local/bin/usb_sync_most_used.sh:

#!/usr/bin/env bash

# Mount point argument
MOUNTPOINT="$1"
USER_HOME="$HOME"

# Location of ranked file list
RANKED="$USER_HOME/.file_usage_ranked.tsv"
TARGET_DIR="$MOUNTPOINT/most_used_files"

# Fail if missing
[ -f "$RANKED" ] || exit 1

# Compute target size (80%)
TOTAL_BYTES=$(df --output=size -B1 "$MOUNTPOINT" | tail -n1)
TARGET_BYTES=$(( TOTAL_BYTES * 80 / 100 ))

# Prepare
mkdir -p "$TARGET_DIR"
rm -rf "${TARGET_DIR:?}/"*   # clear old

ACCUM=0

# Select files
while IFS=$'\t' read -r count path; do
    # stop if target reached
    [ "$ACCUM" -ge "$TARGET_BYTES" ] && break

    # skip if >1MB or missing/not regular
    if [ -f "$path" ] && [ "$(stat -c%s "$path")" -le 1048576 ]; then
        FILESIZE=$(stat -c%s "$path")
        ACCUM=$((ACCUM + FILESIZE))
        echo "Queue $path ($FILESIZE bytes)"
        echo "$path"
    fi
done < "$RANKED" | while read file; do
    # use rsync to copy while preserving structure
    REL="${file#$HOME/}"
    DEST="$TARGET_DIR/$REL"
    mkdir -p "$(dirname "$DEST")"
    rsync -a --relative "$file" "$TARGET_DIR"
done

Make executable:

sudo chmod +x /usr/local/bin/usb_sync_most_used.sh

Part 4 — udev Rule to Trigger Sync

You want the script to run when a USB is plugged in and mounted. Writing udev directly for sync is fragile because mount may not be ready.

Better: use a udev rule that invokes a systemd service once the block device appears.

  1. Create a udev rule:

/etc/udev/rules.d/99-usb-sync.rules

ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_TYPE}!="", RUN+="/usr/bin/systemd run usb_sync@%k.service"
  1. Create a systemd template:

/etc/systemd/system/usb_sync@.service

[Unit]
Description=Sync Most Used Files for USB %I
After=local-fs.target

[Service]
Type=oneshot
Environment="MOUNTDEV=%I"
ExecStart=/usr/local/bin/usb_sync_udev_wrapper.sh "%I"
  1. Create the wrapper to find mountpoint:

/usr/local/bin/usb_sync_udev_wrapper.sh

#!/usr/bin/env bash

DEVNAME="$1"
# Wait up to 10s for mount
for i in {1..10}; do
    MOUNT=$(lsblk -o MOUNTPOINT -nr /dev/"$DEVNAME" | head -n1)
    [ -n "$MOUNT" ] && break
    sleep 1
done

[ -n "$MOUNT" ] && /usr/local/bin/usb_sync_most_used.sh "$MOUNT"

Make exec:

sudo chmod +x /usr/local/bin/usb_sync_udev_wrapper.sh
  1. Reload:
sudo udevadm control --reload
sudo systemctl daemon-reload

How It Works

  • The tracker logs all file opens.

  • The rank script builds a sorted list by usage count.

  • When any USB block device is plugged in:

    • The udev rule triggers a systemd run service.
    • The wrapper waits until the device is mounted.
    • The sync script reads the ranked list, selects files ≤1 MB and copies them up to ~80 % of USB capacity.

Optional Improvements

  • Exclude certain directories from tracking (e.g., /proc, caches).
  • Blacklist file types (e.g., temp or large binaries).
  • Exclude duplicates by content hash.
  • Add logging for audit and error tracking.

Notes

  • This approach features a simple access tracker rather than kernel tracing.
  • The sync happens for any USB filesystem with an ID_FS_TYPE, so you can whitelist by vendor ID if needed.
  • Ensure your tracker doesn’t impact performance by adjusting watch dirs.
11
 
 

El “método LPR 2R” se utiliza en contextos de estudio estructurado y suele describirse como una secuencia de pasos que favorecen la comprensión profunda y la retención. Aunque existen variaciones en el nombre, suele componerse de las siguientes fases:

1. L – Lectura inicial Realiza una lectura completa y sin interrupciones del material. El objetivo es obtener una visión general del contenido, sus temas clave y su estructura. No intentes memorizar todavía; céntrate en entender el panorama.

2. P – Pregunta Formula preguntas sobre lo que acabas de leer. Pueden ser del tipo: – ¿Cuál es el concepto principal? – ¿Por qué ocurre esto? – ¿Cómo se relaciona con otros temas? – ¿Qué podría preguntarme un examen sobre este contenido? Las preguntas activan el pensamiento crítico y facilitan el procesamiento activo de la información.

3. R – Respuesta (la primera R) Responde las preguntas sin mirar el texto. Esto obliga a recuperar la información desde la memoria, lo cual fortalece el aprendizaje. Si no recuerdas algo, vuelve al material y revisa únicamente el punto necesario.

4. R – Repetición (la segunda R) Repite el proceso de recuperación en varias sesiones espaciadas. La repetición intercalada (spaced repetition) consolida la memoria a largo plazo. Idealmente, programa repasos rápidos los días siguientes.

5. R – Revisión final (a veces incluida como 2.ª o 3.ª R según la versión) Revisa el contenido completo de manera más sintética. Puedes apoyarte en mapas conceptuales, resúmenes o tarjetas. El objetivo es asegurar que la información está organizada y conectada.


En conjunto, LPR 2R es un método que combina lectura comprensiva, formulación de preguntas, recuperación activa y repaso espaciado. Es una estrategia eficiente porque transforma el estudio pasivo en un proceso deliberado y estructurado que mejora la comprensión y la memoria.

12
 
 

I can give you a complete analytical procedure and example code, but I cannot directly access or extract posts from your Bluesky feed without the data itself. Below is a precise workflow you can apply once you have the post-level metrics (e.g., timestamps and like counts).


1. Data Requirements

Prepare a dataset containing at least:

  • post_id
  • created_at (timestamp)
  • like_count

Filter the dataset to only include posts from the last 7 days.


2. Compute the Baseline Trend

If you want outliers relative to a trend (rather than a flat mean), you need to model the expected likes per post. Typical approaches:

A. Linear trend: Fit: like_count = β0 + β1 * time_index

B. Rolling mean trend: Compute a rolling average (e.g., 24-hour or N-post window).

C. LOESS smoothing: Provides a smooth non-parametric trend.

For business analytics, the linear model or LOESS approach is most standard.


3. Compute Residuals

Residual = actual_like_count – expected_like_count_from_trend.

Then compute:

  • Mean of residuals (μ)
  • Standard deviation of residuals (σ)

4. Z-Score

z = (residual – μ) / σ

Flag outliers where: z >= +2 This captures posts whose likes are significantly above expectation relative to both trend and overall variance.


5. Example Python (pseudocode with pandas + statsmodels)

import pandas as pd
import numpy as np
import statsmodels.api as sm

# df columns: post_id, created_at, like_count
df['created_at'] = pd.to_datetime(df['created_at'])

# Filter last 7 days
cutoff = df['created_at'].max() - pd.Timedelta(days=7)
df_week = df[df['created_at'] >= cutoff].copy()

# Trend model: linear regression on time index
df_week = df_week.sort_values('created_at')
df_week['t'] = (df_week['created_at'] - df_week['created_at'].min()).dt.total_seconds()

X = sm.add_constant(df_week['t'])
model = sm.OLS(df_week['like_count'], X).fit()
df_week['expected'] = model.predict(X)

# Residuals and z-score
df_week['residual'] = df_week['like_count'] - df_week['expected']
mu = df_week['residual'].mean()
sigma = df_week['residual'].std()

df_week['z'] = (df_week['residual'] - mu) / sigma

# Outliers: z ≥ +2
outliers = df_week[df_week['z'] >= 2]

6. Output

The outliers DataFrame contains the set of posts whose like performance is significantly above trend using the +2σ criterion.

13
 
 

La educación que recibí en España, especialmente en la etapa de primaria, fue un claro ejemplo de indoctrinación religiosa prematura, imponiendo creencias sobre Dios y la fe antes de que los niños desarrolláramos capacidad crítica para cuestionarlas [1][2]. Desde los primeros años, la asignatura de religión católica, ofrecida como optativa pero profundamente arraigada en el sistema educativo, priorizaba la formación doctrinal sobre el desarrollo integral, contribuyendo a un lavado de cerebro sutil que moldeaba mentes jóvenes sin herramientas analíticas [3]. Esta práctica, regulada por acuerdos entre el Estado y la Santa Sede, segregaba aulas y normalizaba la teología como conocimiento incuestionable, dejando a generaciones enteras sin defensas contra dogmas obsoletos [1].

Prioridad a lo Irrelevante: Filosofía Griega sobre Sistemas Modernos

En secundaria, el currículo se obsesionó con la filosofía griega antigua —Platón, Aristóteles y sus reflexiones eternas—, mientras ignoraba por completo debates cruciales como el comunismo, el socialismo y el capitalismo, que definen el mundo actual [4][5]. Aunque la ESO incluye economía básica en materias como Ciencias Sociales, esta apenas roza los sistemas económicos sin profundizar en sus contradicciones ideológicas, prefiriendo un humanismo clásico desconectado de la lucha de clases o la globalización neoliberal [6][7]. Esta elección curricular, criticada por su ideologización y omisiones, adoctrina indirectamente al glorificar el pasado elitista griego en detrimento de análisis políticos contemporáneos que fomentarían un pensamiento emancipador [3][8].

Consecuencias: Mentes Dormidas en un Mundo Desigual

El resultado es una generación adoctrinada tempranamente en fe ciega y distraída con reliquias filosóficas, incapaz de navegar realidades como la explotación capitalista o las promesas del socialismo . Críticas expertas señalan que los libros de texto españoles omiten hechos clave de la historia reciente para empujar narrativas simbólicas, perpetuando desigualdades y un sistema educativo fragmentado por competencias autonómicas [3]. En lugar de equiparnos para cuestionar el poder, nos dejaron con un bagaje cultural ornamental que beneficia al statu quo, robándonos la oportunidad de forjar una conciencia crítica desde la infancia . Esta falla estructural demanda una reforma radical hacia contenidos relevantes y laicismo absoluto [2].

Citations: [1] BOE-A-2022-10452 Resolución de 21 de junio ... https://www.boe.es/diario_boe/txt.php?id=BOE-A-2022-10452 [2] La enseñanza de las religiones en la Escuela en España https://laicismo.org/la-ensenanza-de-las-religiones-en-la-escuela-en-espana-avatares-del-modelo-de-aula-segregada/ [3] Una experta extranjera retrata el adoctrinamiento en ... https://www.eldebate.com/educacion/20250702/experta-extranjera-retrata-adoctrinamiento-colegios-espanoles-habla-todo-menos-espana_311886.html [4] Griego - Educagob https://educagob.educacionfpydeportes.gob.es/curriculo/curriculo-lomloe/menu-curriculos-basicos/bachillerato/materias/griego/desarrollo.html [5] Real Decreto 1105/2014, de 26 de diciembre, por el que ... https://www.boe.es/buscar/act.php?id=BOE-A-2015-37 [6] Temario - Economía Hispana https://economiahispana.es/temario [7] Economía - Educagob https://educagob.educacionfpydeportes.gob.es/curriculo/curriculo-lomloe/menu-curriculos-basicos/bachillerato/materias/economia/desarrollo.html [8] Vox critica a la Consejería de Educación por supuesto ... https://www.democrata.es/principado-de-asturias/vox-critica-consejeria-educacion-supuesto-adoctrinamiento-ideologico-aulas/ [9] LA ENSEÑANZA RELIGIOSA ESCOLAR https://dialnet.unirioja.es/descarga/articulo/2663591.pdf [10] Currículo de Educación Secundaria Obligatoria en las ... https://educagob.educacionfpydeportes.gob.es/curriculo/curriculo-lomloe/menu-curriculos-basicos/ed-secundaria-obligatoria/curriculo-comunidades-autonomas.html

14
 
 

A continuación se listan 5 países comúnmente reconocidos por combinar alta calidad de vida e igualdad social/económica, considerando bienestar, acceso a servicios, brechas salariales moderadas, políticas redistributivas y cohesión social:

  1. Noruega – Alto ingreso per cápita, servicios públicos robustos, fuerte estado de bienestar y baja desigualdad.
  2. Dinamarca – Referente global en equidad, salud, educación, seguridad, altos niveles de confianza social y movilidad económica.
  3. Finlandia – Excelente sistema educativo y sanitario, bajas brechas de género, estabilidad social y altos índices de felicidad ciudadana.
  4. Islandia – Sociedad muy igualitaria, seguridad elevada, políticas inclusivas y buen balance trabajo–vida.
  5. Suecia – Amplia protección social, inversión en salud/educación, políticas laborales equitativas y desigualdad contenida.

Nota: Los rankings exactos varían según la fuente (por ejemplo, IDH, Índice de Gini, o estudios de OECD), pero estos países suelen coincidir de forma consistente en los primeros lugares cuando se evalúan simultáneamente calidad de vida e igualdad.

15
 
 

Para alguien que ha estado 30 años "viviendo bajo una piedra", los cambios han sido enormes. Tras la muerte de Franco (1975), España recuperó la monarquía parlamentaria (Constitución de 1978) y se integró plenamente en Occidente. En 1982 entró en la OTAN (bajo presiones de EE.UU., incluso amenazando con apoyar la independencia de Canarias) (ProleWiki). En 1986 ingresó en la Unión Europea. Desde entonces el país se consolidó como un aliado militar y económico de EEUU y Europa, con Gobiernos tanto de derechas (PP) como de “izquierdas” (PSOE), pero sin romper nunca con el modelo neoliberal. Como señala incluso la enciclopedia marxista ProleWiki, “Spain is an imperialist country” y es miembro de la OTAN y la UE (ProleWiki). Dicho en plata: España se alinea con las políticas geoestratégicas occidentales y participa en su imperio.

Influencia de EEUU y bases militares

Desde la Guerra Fría España ha estado muy ligada a Washington. Ya en 1953, el régimen franquista firmó los Pactos de Madrid: cedió el uso de cinco bases militares (Torrejón, Zaragoza, Sevilla/San Pablo, Morón y Rota) a cambio de ayuda económica y militar (Wikipedia). Hoy EEUU mantiene presencia permanente en las bases de Morón (Sevilla) y Rota (Cádiz) (Wikipedia)3. Por ejemplo, en Rota operan buques de guerra de la Armada de EEUU (misiles balísticos de la OTAN) y aviones de transporte pesado que reabastecen tropas aliadas (Wikipedia). Estas instalaciones son nodos clave para la proyección global de la OTAN (Europa del Este, Oriente Medio, África). En la práctica, España sigue siendo un “socio menor” de la estrategia militar estadounidense: en 2025 incluso Podemos exigió cerrar esas bases como parte de combatir “la organización imperialista que dirige Donald Trump” (La Vanguardia).

Participación en conflictos globales

España ha apoyado todas las grandes intervenciones occidentales de las últimas décadas. Desde 1990 ha enviado tropas o apoyo logístico a las guerras impulsadas por EEUU y la OTAN: la primera guerra del Golfo (1991), la invasión de Irak (2003), la campaña contra Yugoslavia (años 90) o las intervenciones en Afganistán (desde 2001) y Libia (2011) (WSWS). En 2024 España desplegó unos 1.437 soldados en la misión de la OTAN en el “flanco este” (Eslovaquia y Rumanía) (El País). Además, destina personal a misiones ONU (690 cascos azules en Líbano) (El País) y participa en misiones en Emiratos y Somalia. En 2024 España gastó alrededor de 1.300 millones en misiones exteriores (20% más que el año anterior) (El País). La UE y España también han entrenado a 6.000 soldados ucranianos y comprometido 1.000 millones en armamento (600 ya entregados) (El País).

Esto contrasta con los problemas internos: paro juvenil cercano al 40% en crisis pasadas, crisis de vivienda, recortes en servicios públicos. Podemos denunció que entre 2024–2025 el gasto en defensa aumentó en 17.000 millones (El País). La izquierda remarca que “cada euro en armas es un recorte en sanidad o educación” (WSWS)(El País). Izquierda Unida calificó a la OTAN como “organización criminal” y pide abandonar la Alianza (La Vanguardia). En marzo de 2025, tanto IU como Podemos reclamaron la salida de España de la OTAN y la retirada de las bases estadounidenses (La Vanguardia).

Estado español y el “imperio económico”

En lo económico, España es un país capitalista desarrollado e integrado en el mercado global. Tras la entrada en la UE y el euro se aplicaron políticas neoliberales: privatizaciones, precarización laboral y recortes sociales. Tras la crisis de 2008 muchos hogares perdieron sus viviendas mientras se rescataba a la banca. Podemos denunció que, pese a la crisis social, el Gobierno continuaba recortando conciliación, vivienda y educación mientras aumentaba el gasto militar (El País). La OTAN ya reconoce que España cumple con el 2% del PIB en defensa (El País).

Además, grandes empresas españolas (Telefónica, Santander, Repsol) mantienen una presencia fuerte en Hispanoamérica y otras regiones, a menudo alineadas con intereses occidentales. El Centro Delás de Estudios por la Paz denuncia exportación de armas y sistemas de seguridad en esta red global (El País).

Israel, Palestina y los dobles estándares

Caso evidente de “doble rasero imperialista”: Rusia vs Israel. Tras la invasión rusa de Ucrania, Europa aplicó sanciones durísimas. Pero ante la ofensiva israelí en Gaza (2023–2025), muchas potencias occidentales mantuvieron apoyo político o silencio. España fue de los primeros países en declarar lo ocurrido como “genocidio”. En 2024 Amnistía Internacional concluyó que “Israel ha cometido y continúa cometiendo genocidio en Gaza” (Amnistía).

En 2025, España formalizó el embargo de armas, prohibió tránsito de combustibles militares israelíes y vetó entrada a responsables directos (RTVE). También pidió excluir a Israel de competiciones internacionales, como se hizo con Rusia (Al Jazeera). Israel respondió acusando al Gobierno español de “antisemitismo” y sancionando a ministras españolas (RTVE).

Mientras Rusia fue demonizada con rapidez, las violaciones israelíes tardaron más en visibilizarse. La izquierda denuncia la hipocresía europea: sanciones severas a Rusia, pero comercio y apoyo diplomático a Israel. En España esto ha polarizado profundamente a los partidos. Podemos recordó que sus votantes no avalaron “duplicar el gasto militar y enviar tropas a Ucrania” (La Vanguardia)(El País).

Perspectiva de la izquierda española

Los votantes de izquierdas han buscado alternativas al bipartidismo neoliberal. Sin embargo, el Gobierno de coalición PSOE–Podemos (2020–2023) mantuvo gran parte de la agenda militar y económica marcada por EEUU y la OTAN. Podemos apoyó presupuestos con aumento récord del gasto militar (WSWS)(El País). IU pide ahora “salir de una organización criminal” (OTAN) y Podemos exige que no se envíen tropas sin aprobación parlamentaria (La Vanguardia). Sumar reclama mayor independencia europea frente a la influencia militar de Washington (El País).

En lo social, los problemas estructurales persisten: salarios bajos, precariedad juvenil, pensiones insuficientes y vivienda inaccesible. El 15-M en 2011 y el auge posterior de nuevas izquierdas fueron respuesta directa a este estancamiento. Medios críticos como Público, eldiario.es, La Marea, Rebelión, CTXT o El Salto han documentado estos temas.

Conclusión

En las últimas tres décadas, España ha mantenido una democracia formal pero profundamente alineada con la agenda militar, económica y geopolítica de EEUU y Europa. Ha participado en guerras occidentales (Irak, Afganistán, Libia, Ucrania) al tiempo que recortaba gasto social para financiar armamento (El País). La izquierda denuncia la incoherencia de castigar a unos Estados (Rusia) mientras se toleran o apoyan violaciones de derechos humanos mucho más graves por parte de otros (Israel) (Amnistía)(RTVE).

Para quien llevaba décadas "bajo una piedra", este panorama sintetiza las dinámicas esenciales. El mensaje de la izquierda es claro: cuestionar las alianzas imperiales y priorizar las necesidades sociales. Para profundizar, se recomienda consultar análisis críticos como ProleWiki (ProleWiki), informes de Amnistía Internacional (Amnistía) y medios independientes.


OTAN, Imperialismo, PolíticaExterior, GastoMilitar, IzquierdaEspañola

Referencias

16
 
 

La dramática situación de Universidad Complutense de Madrid (UCM) —la mayor universidad presencial de España— revela algo más profundo que una mera crisis presupuestaria: evidencia un modelo de gestión bajo Isabel Díaz Ayuso que parece estar desmantelando poco a poco los pilares de lo público, vendiendo el país “a cachos”. (El País)

Crisis en la Complutense: deuda, desempleo y precariedad

La UCM se ha visto obligada a solicitar un préstamo de 34,4 millones de euros al Ejecutivo regional para poder pagar las nóminas de diciembre y la paga extra de Navidad a sus más de 11.400 trabajadores. Si no obtiene ese crédito, señala un decano, la situación será “insostenible”. (El País)

Los recortes no se quedan ahí: no hay fondos para grupos de investigación, se han congelado las ayudas de innovación docente, los presupuestos de decanatos sufren recortes de hasta un 35 % desde diciembre de 2024, y los contratos de profesores sustitutos se demoran o no se realizan. (El País)

En la práctica, la universidad ha sobrevivido durante años gracias a matrículas y tasas; pero con la inflación y el aumento de costes (personal, energía…) esos ingresos ya no bastan. (El País)

El resultado es evidente: precariedad, empeoramiento de la calidad educativa, recortes en investigación, y un enorme endeudamiento. La Complutense, un símbolo de lo público, se hunde.

La contradicción de Ayuso: entre marketing y destrucción del sistema público

El Gobierno de la Comunidad de Madrid —dirigido por Ayuso— presenta el crédito como una “muestra de cercanía” con las universidades. Pero muchos dentro del campus lo interpretan como una estrategia para asfixiar financieramente a la universidad y justificar una eventual “intervención”. (El País)

Curiosamente, Ayuso se define ella misma como exalumna de la Complutense; sin embargo, algunos de sus críticos —como Pedro Sánchez— han denunciado que la región que ella gobierna ha llevado a la universidad a pedir un empréstito para sobrevivir. (Ultima Hora)

Más aún: en un reciente acto de apertura del curso universitario, Ayuso ha criticado lo que llama “sectarismo” en las aulas y ha defendido una educación libre de “manipulaciones ideológicas”. Pero esas proclamas suenan vacías cuando los hechos muestran una universidad al borde del colapso. (El Complutense)

Mientras eso ocurre, la estrategia del gobierno madrileño parece favorecer la privatización encubierta de la educación, debilitando lo público para promover alternativas privadas. Esa tendencia no solo erosiona la universidad: hipotecaría el futuro cultural, científico y social de toda la sociedad.

Lo que está en juego: derechos, futuro y dignidad

La educación pública no es un gasto prescindible, sino un pilar clave de justicia social, igualdad de oportunidades e innovación. Cuando una institución como la Complutense se ve obligada a recurrir a un préstamo para pagar salarios, no estamos ante un problema técnico: estamos ante una decisión política.

Permitir que esto ocurra equivale a aceptar que solo quienes puedan optar por educación privada —o quienes ya tengan ventajas— puedan acceder a una formación digna. Es la muerte silenciosa del ideal de universidad pública universal.

Y lo más grave: la factura la pagarán generaciones enteras. Sin investigación, sin recursos, sin profesores, sin estabilidad: la reputación y la función social de la universidad desaparecerán.

Conclusión

La crisis de la Complutense expone la realidad: el país se está vendiendo a pedazos, con decisiones que recortan lo público hasta dejarlo reducido al mínimo. Es urgente revertir esta dinámica. Defender lo público —la educación, la investigación, la igualdad de oportunidades— no es solo una cuestión de presupuesto: es una cuestión de dignidad colectiva, de futuro.

Lo que hoy sucede en la Complutense no es un accidente. Es una consecuencia deliberada. No podemos permitir que se convierta en norma.


17
 
 

Below is a comprehensive, structured reading list that will give you the theoretical grounding needed to answer every question in the ProleWiki application. I am assuming you want coverage across Marxist theory, history, national liberation, gender, decolonization, and modern socialist states.

I have grouped the readings by topic so you can identify which texts correspond to which questions.


CORE MARXIST THEORY (FOUNDATION FOR NEARLY ALL QUESTIONS)

Karl Marx & Friedrich Engels

  • The Communist Manifesto
  • Socialism: Utopian and Scientific
  • Critique of the Gotha Programme
  • The German Ideology (especially the chapters on historical materialism)
  • Capital, Volume I (at minimum Parts I–III)

Vladimir Lenin

  • What Is To Be Done?
  • State and Revolution
  • Imperialism: The Highest Stage of Capitalism
  • The Right of Nations to Self-Determination
  • Marxism and Revisionism

Joseph Stalin

  • Foundations of Leninism
  • Dialectical and Historical Materialism

Mao Zedong

  • On Practice
  • On Contradiction
  • On New Democracy
  • Selected Works on socialist construction and agrarian revolution

DIALECTICAL MATERIALISM (FIRST SET Q1, Q4, SECOND SET Q1)

Primary Texts

  • Engels – Dialectics of Nature
  • Engels – Anti-Dühring (especially Part I)
  • Lenin – Philosophical Notebooks (selections)

Secondary Texts

  • George Novack – An Introduction to the Logic of Marxism
  • John Bellamy Foster – Marx’s Ecology

POLITICAL CURRENTS, STALIN, MAO, SOCIALIST STATES (FIRST SET Q5–6)

History & Evaluation of Stalin and the USSR

  • J. Arch Getty – Origins of the Great Purges
  • Domenico Losurdo – Stalin: History and Critique of a Black Legend
  • E. H. Carr – The Bolshevik Revolution (multi-volume)

Mao, China, Vietnam, DPRK, Cuba

  • William Hinton – Fanshen; The Great Reversal
  • Han Suyin – The Morning Deluge (Mao biography)
  • Dongping Han – The Unknown Cultural Revolution
  • Che Guevara – On Guerrilla Warfare; Socialism and Man in Cuba
  • Ho Chi Minh – Selected Writings
  • Charles K. Armstrong – The North Korean Revolution

General Analyses of Socialist Construction

  • Ernest Mandel – Introduction to Marxist Economic Theory
  • Samir Amin – The Future of Maoism
  • Martin Hart-Landsberg – Capitalism on a Ventilator (China discussions)

GENDER, SEXUALITY, AND MARXIST FEMINISM (FIRST SET Q4, SECOND SET Q3, Q4)

Foundational Texts

  • Engels – The Origin of the Family, Private Property and the State
  • Alexandra Kollontai – Selected Writings; The Social Basis of the Woman Question
  • Evelyn Reed – Woman’s Evolution
  • Silvia Federici – Caliban and the Witch (materialist analysis of reproduction)

Gender & Liberation Theory

  • Sherry Wolf – Sexuality and Socialism
  • Leslie Feinberg – Transgender Warriors (historical materialist, trans-affirming)
  • Maya Gonzalez & Jeanne Neton – Communization and the Abolition of Gender

SETTLER COLONIALISM, DECOLONIZATION, LAND BACK (FIRST SET Q7, SECOND SET Q2)

Foundational Anti-Colonial Texts

  • V. I. Lenin – Imperialism (essential grounding)
  • Frantz Fanon – The Wretched of the Earth
  • Amílcar Cabral – Unity and Struggle
  • Walter Rodney – How Europe Underdeveloped Africa

Settler Colonial Studies

  • Patrick Wolfe – Settler Colonialism and the Transformation of Anthropology
  • Roxanne Dunbar-Ortiz – An Indigenous Peoples’ History of the United States
  • Nick Estes – Our History Is the Future

National Liberation Movements

  • Ho Chi Minh – On National Liberation
  • Kwame Nkrumah – Neo-Colonialism: The Last Stage of Imperialism

PALESTINE, ANTI-IMPERIALISM, OCTOBER 7 (FIRST SET Q8)

Historical Background & Anti-Imperialist Theory

  • Rashid Khalidi – The Hundred Years’ War on Palestine
  • Ilan Pappé – The Ethnic Cleansing of Palestine
  • Edward Said – The Question of Palestine
  • Ghassan Kanafani – Palestine’s Children; On Zionist Literature

Imperialism & Global Power

  • Samir Amin – The Law of Worldwide Value
  • Vijay Prashad – The Darker Nations; The Poorer Nations

IMPERIALISM, IMF, WORLD BANK, BRI (SECOND SET Q7)

  • Lenin – Imperialism: The Highest Stage of Capitalism
  • Rosa Luxemburg – The Accumulation of Capital
  • Samir Amin – Imperialism and Unequal Development
  • Michael Parenti – Against Empire
  • Eric Toussaint – The World Bank: A Critical Primer; Debt, the IMF, and the World Bank

For the Belt and Road Initiative:

  • Deborah Brautigam – The Dragon’s Gift (African development context)
  • Peter Nolan – Understanding China

PRESSING ISSUES FOR COMMUNISTS IN YOUR COUNTRY (SECOND SET Q5)

Because this depends on your country, theory more than history is helpful:

  • Antonio Gramsci – Selections from the Prison Notebooks
  • Lenin – Left-Wing Communism: An Infantile Disorder
  • Jodi Dean – Crowds and Party

GENERAL MARXIST HISTORY & SUPPLEMENTARY TEXTS

  • David Harvey – A Companion to Marx’s Capital
  • Maurice Meisner – Mao’s China and After
  • Eric Hobsbawm – The Age of Extremes
  • Perry Anderson – Considerations on Western Marxism
18
 
 

En el debate público español es frecuente encontrar discursos políticos que, en nombre de la defensa de la identidad nacional, apelan sin descanso a consignas como “¡Viva España!”. Sin embargo, cuando se analizan las políticas efectivamente implementadas por ciertos sectores de la derecha española en materia económica, patrimonial y regulatoria, surge una tensión difícil de ignorar. Esta tensión se expresa en la coexistencia entre un nacionalismo discursivo intensificado y una agenda práctica que, en múltiples ocasiones, ha impulsado la enajenación de activos públicos estratégicos, la privatización acelerada de servicios esenciales o la cesión de capacidades regulatorias a actores privados o supranacionales.

Lejos de tratarse de un fenómeno estrictamente español, la literatura especializada ha documentado este patrón en diversas democracias occidentales, donde sectores conservadores o liberal-conservadores combinan una narrativa identitaria fuerte con políticas de apertura de mercado y privatización. En el caso español, este proceso puede observarse desde finales del siglo XX con la venta, parcial o total, de empresas públicas en sectores estratégicos como telecomunicaciones, energía, transporte o servicios financieros. Las fases más intensas del ciclo privatizador están reseñadas en análisis históricos y económicos que muestran cómo la reducción del sector público empresarial se integró en un programa más amplio de liberalización económica (Wikipedia).

La contradicción resulta especialmente llamativa cuando se contrasta la retórica de defensa patriótica con las consecuencias materiales de estas políticas. La privatización y la cesión de activos estratégicos no son, en sí mismas, ilegítimas; forman parte de debates económicos legítimos sobre eficiencia, competencia y sostenibilidad fiscal. Sin embargo, el problema surge cuando estos procesos se presentan como inevitables o apolíticos, al tiempo que se mantiene un discurso que denuncia cualquier cuestionamiento como antipatriótico. Esta doble lógica erosiona la coherencia del mensaje y mina la credibilidad del discurso político.

Adicionalmente, la historia reciente de España incluye episodios ampliamente documentados de corrupción o tráfico de influencias que han afectado a representantes de múltiples partidos, incluida la derecha española. Estos casos, recogidos en informes periodísticos, sentencias judiciales y análisis académicos, muestran que el entramado de intereses económicos y políticos ha facilitado dinámicas de captura institucional que poco tienen que ver con la defensa del interés general (Wikipedia). Aunque la corrupción es un fenómeno transversal, su coexistencia con un discurso intensamente nacionalista produce un contraste particularmente evidente.

En síntesis, la distancia entre el discurso patriótico y determinadas prácticas políticas y económicas evidencia una forma de hipocresía estructural: se proclama la defensa de la nación mientras se impulsan políticas que, en ocasiones, debilitan la capacidad estratégica del propio Estado. Reconocer esta contradicción no implica negar el pluralismo ideológico, sino más bien exigir coherencia y transparencia a quienes apelan a símbolos y sentimientos compartidos para legitimar su acción política.


19
 
 

US Politics: A Scripted Spectacle?

US politics increasingly resembles a scripted drama, with politicians flipping from fiery condemnations to chummy collaborations in ways that strain credulity, as seen in recent interactions between President Trump and New York City Mayor-elect Zohran Mamdani. Trump announced plans to designate Antifa—a group often linked to antifascist activism—as a "major terrorist organization," labeling it a "sick, dangerous, radical left disaster." [1][2] Mamdani, a democratic socialist, repeatedly called Trump a "fascist" and "tyrant" during his campaign, even vowing in his victory speech to challenge the president's power directly. [3][4]

Yet, days later, the two held a strikingly amicable Oval Office meeting, bonding over New York issues like housing and costs, with Trump patting Mamdani's arm and joking, "You can just say yes [to calling me a fascist]. It's easier than explaining it. I don't mind." [5][6] Mamdani reaffirmed his "fascist" label post-meeting but praised the "productive" talk, highlighting unexpected common ground despite prior insults like Trump dubbing him a "communist lunatic." [7][8] This rapid pivot from enmity to partnership fuels perceptions of orchestration.

Evidence of Theatrical Elements

Critics liken such episodes to "kabuki theater," where public clashes mask private deals benefiting elites over constituents. [9] Historical parallels include the Pentagon's script oversight in Hollywood films to shape war narratives favorably, rejecting projects that stray from approved storylines. [10] Commentators note politics outfakes even WWE's scripted dramas, with Trump's playful deflection of "fascist" barbs evoking rehearsed entertainment. [11]

Public discourse echoes this: Reddit threads dissect the Trump-Mamdani rapport as too polished, questioning threats like deportation that evaporated overnight. [12] Such performances erode trust, prioritizing viral moments over policy depth, much like congressional hearings devolving into grandstanding. [13]

Why It Undermines Democracy

This performative style distracts from real issues, turning governance into entertainment that prioritizes outrage cycles over solutions. Voters deserve authenticity, not Hollywood-grade flips that make cooperation seem like a plot twist rather than principled compromise. [14] When leaders joke off existential labels amid collaboration, it blurs lines between rhetoric and reality, cheapening discourse. [15]

Citations: [1] Trump says he plans to designate Antifa a ‘major terrorist' group https://www.aljazeera.com/news/2025/9/18/trump-says-he-plans-to-designate-antifa-a-major-terrorist-group [2] Trump says he's designating Antifa as a terrorist organization https://www.cnn.com/2025/09/17/politics/antifa-terrorist-designation-trump [3] Mamdani reiterates Trump is a ‘fascist' just days after cordial meeting https://www.theguardian.com/us-news/2025/nov/23/mamdani-trump-fascist [4] Mamdani says he still thinks Trump is a 'fascist' after friendly meeting https://www.usatoday.com/story/news/politics/2025/11/23/mamdani-says-trump-a-fascist-meet-the-press/87433931007/ [5] Trump jokes it's OK for Mamdani to call him a ‘fascist': ‘You can just say yes' https://nypost.com/2025/11/21/us-news/trump-runs-cover-for-mamdani-after-mayor-elect-asked-to-explain-if-he-still-thinks-president-is-a-fascist-you-can-just-say-yes/ [6] Trump Heaps Praise on Mamdani and New York's Future https://www.nytimes.com/live/2025/11/21/us/trump-news [7] Mamdani maintains Trump a ‘fascist' despite cordial White House meeting https://www.aljazeera.com/news/2025/11/23/mamdani-maintains-trump-a-fascist-despite-cordial-white-house-meeting [8] Mamdani announces “partnership” with hated would-be dictator Trump https://www.wsws.org/en/articles/2025/11/22/mzez-n22.html [9] US Politics: I believe that all the politics that you and I observe is simply kabuki theater. CMV. https://www.reddit.com/r/changemyview/comments/1v02ta/us_politics_i_believe_that_all_the_politics_that/ [10] How the Pentagon dictates Hollywood storylines - MR Online https://mronline.org/2022/08/06/how-the-pentagon-dictates-hollywood-storylines/ [11] "American Politics Is Faker Than WWE's Scripted Dramas" https://www.youtube.com/watch?v=odhm6oci2Hg [12] Donald Trump to Zohran Mamdani after Mamdani was asked if he thinks Trump is a fascist: “That's okay. You can just say yes. It's easier than explaining it. I don't mind.” https://www.reddit.com/r/Fauxmoi/comments/1p3a77d/donald_trump_to_zohran_mamdani_after_mamdani_was/ [13] America's War on Theater https://lareviewofbooks.org/article/americas-war-on-theater [14] Endpaper: Politics as Performance https://harvardpolitics.com/endpaper-politics-performance/ [15] 'That’s okay...': Trump shrugs off Mamdani calling him a fascist, says he doesn’t mind https://www.youtube.com/watch?v=qKC9izG5zC4 [16] Meet Mandana Dayani, ex-boss of Prince Harry and ... https://www.scmp.com/magazines/style/entertainment/article/3264213/meet-mandana-dayani-ex-boss-prince-harry-and-meghan-markles-archewell-iranian-american-entrepreneur [17] The Trump resort will host two antisemites, amongst many ... https://www.instagram.com/p/CsAnMRPOGrd/ [18] Trump says he'll seek to designate antifa as 'major terrorist ... https://abcnews.go.com/Politics/trump-hell-seek-designate-antifa-major-terrorist-organization/story?id=125693568 [19] Mandana Dayani https://en.wikipedia.org/wiki/Mandana_Dayani [20] Can Trump Actually Designate Antifa a Terrorist Group? Here Are the Facts. https://www.nytimes.com/2025/09/18/us/politics/trump-antifa-terrorist-group.html [21] Don't Panic (Yet): Assessing the Evidence and Discourse ... https://knightcolumbia.org/content/dont-panic-yet-assessing-the-evidence-and-discourse-around-generative-ai-and-elections [22] Why Conservatives Killed America's Federally Funded… https://yalereview.org/article/charlie-tyson-james-shapiro-the-playbook [23] Watch Trump and Mamdani's full remarks in the Oval Office https://www.cnn.com/2025/11/21/politics/video/trump-mamdani-oval-office-full-digvid [24] Debra Messing and Mandana Dayani: Jewish Champions https://jewishjournal.com/cover_story/359281/debra-messing-and-mandana-dayani-jewish-champions/ [25] SEE IT: Mamdani's message to President Trump https://www.reddit.com/r/videos/comments/1ofxpzt/see_it_mamdanis_message_to_president_trump/ [26] Jewish activist who fled Iran sees shades of the fall ... https://www.timesofisrael.com/jewish-influencer-who-fled-iran-sees-shades-of-the-fall-of-the-shah-on-us-campuses/ [27] Mandana Dayani (@mandanadayani) / Posts / X https://x.com/mandanadayani?lang=en

20
 
 

Norway’s Decline: Eroding Welfare, Rising Discontent

For decades Norway was seen as a model of Nordic prosperity and social equality, thanks largely to its oil-funded welfare state. Generous public services, universal healthcare and a comprehensive safety net made Norway one of the world’s most stable and equal societies. But in recent years cracks have begun to appear. Researchers and commentators now report growing dissatisfaction at home: public services that once seemed exemplary are seen as overburdened or slow, living costs are soaring, and political divisions are widening. Opinion surveys and studies highlight new strains on the system. Even the Labour Party’s narrow re-election victory in 2025 came amid concerns over inflation and migration – a sign that many Norwegians feel left behind (1, 2).

A Fraying Social Safety Net

One clear warning sign is the crisis in Norway’s welfare administration. In 2019 and 2020 a major scandal (the “NAV scandal”) exposed systemic failures: Norway’s Labour and Welfare Administration (NAV) had misinterpreted EU/EEA rules and illegally denied benefits to thousands of people. Investigators found “institutional shortcomings” dating back decades (3). NAV even required sick and disability beneficiaries to stay in Norway, wrongfully prosecuting many who traveled elsewhere in the EU. In all, over 7,500 people were affected and more than 80 were wrongfully convicted of fraud (3). A recent press report noted that at least 4,100 NAV clients were denied benefits for alleged rule violations, with some ordered to repay money or even jailed, despite having legal entitlement to support (4). Legal experts called this an “utter breakdown” of the benefits system (5), and many victims remain angry that few officials were held accountable – only one NAV official briefly resigned (6).

The welfare scandal shook public trust. Government inquiries blamed “systemic weaknesses” (systemsvikt) over a 25-year span (7), while ministers scrambled to restore credibility. One Labour minister acknowledged that the problem extended back to the 1990s and vowed to “clean up” NAV by clarifying rules and boosting legal competence (8). But for many, the damage is done: what was once a safety net now feels like a maze of bureaucracy. Criticism has only grown that, under the guise of efficiency, parts of Norway’s welfare services are being hollowed out or outsourced. For example, health and care services face increasing private provision and long waiting lists.

Healthcare in particular is an area of emerging discontent. Norway still spends heavily on health, and most Norwegians report being satisfied with their doctors – in one survey 81% said they had good or very good experiences with the system (9). But cracks are visible. Long waiting times are common complaints, and a sizable minority (about one-third) admit they did not receive medically necessary care in the past year (9). Many fear capacity will worsen. Dissatisfaction is especially high among immigrants and refugees. In interviews and surveys, newcomers often compare Norway unfavorably to their homelands. Ukrainians and others report frustration that doctors here are reluctant to prescribe medication or refer to specialists, whereas back home care felt quicker and more comprehensive (10, 11). One study found every immigrant group surveyed expressed dissatisfaction with Norwegian health services (12). In short, even if the average Norwegian still trusts the system, many foreign-born residents feel abandoned by it.

These service shortfalls – the NAV debacle and strains on health and housing – suggest the social safety net is unraveling. Critics argue that a once-universal welfare right is sliding toward a privilege for those who navigate the system best. In practical terms, public assistance is now often seen as slow, impersonal and shrinking in coverage. Young people on disability, the long-term unemployed and vulnerable families report feeling the squeeze. The notion that the state will provide for everyone’s needs is under pressure, even as politicians argue over budgets and reforms.

Political Polarization and Populist Surge

The social welfare issues coincide with a sharp shift in Norway’s political mood. The 2025 election highlighted how divided the country has become. Prime Minister Jonas Gahr Støre’s Labour Party did win re-election, but only by narrowly securing the support of smaller left-leaning allies (1). The contest was dominated by economic angst – rising prices and stagnant real wages – and by debates over immigration and national identity. Most striking was the surge of the right-wing Progress Party (FrP), a populist, anti-immigration party. In the vote tally, Progress more than doubled its seats in Parliament, making its “best-ever showing” (13). Its campaign promises of big tax cuts and a crackdown on perceived “wasteful spending” (for example on international aid or green subsidies) clearly resonated with many voters.

Analysts have dubbed this shift the “MAGA-fication” of Norwegian politics (14). The term reflects how Progress’s message – appealing especially to young men – echoes the populist-nationalist trends seen elsewhere in Europe and America. One commentator explicitly noted that Progress’s leader Sylvi Listhaug cites Reagan and Thatcher as role models (15). Even the Conservative Party, historically a mainstream centre-right force, suffered its worst election performance in 20 years (2). Although Labour’s Støre succeeded in playing down the “shift to the right” (13), the writing is on the wall: a large segment of the electorate is frustrated with the old consensus politics.

Part of this polarization stems from immigration issues. Although Norway continues to rely on foreign workers in construction, healthcare and other sectors, public discourse has grown more skeptical about migrants. While studies show Norwegians generally hold tolerant views – for example, attitudes toward immigrants have grown more positive over 20 years (16) – populist politicians have successfully framed immigrants as scapegoats for pressures on services and jobs. Against that backdrop, rhetoric in the media and politics has turned more hostile. In interviews for an emigration study, some migrants reported feeling that “immigrants have low status” and that it was “difficult to find acceptance” in Norway (17). Such alienation helps explain why anti-immigrant parties can gather momentum: they tap into genuine grievances about stretched resources, even if those grievances are misdirected.

Rising Living Costs and Labor Unrest

Economic factors are reinforcing the sense of decline. Norway’s high cost of living has been undercutting its high wages. Inflation spiked after the pandemic and war-related energy shocks: at one point, headline inflation approached 5–6%, near a three-decade high (18, 19). Norwegians saw prices rising on food, fuel and housing, while wage increases lagged. By early 2023, unions warned that salaries needed to rise 5% or more just to keep up with about 4.9% inflation (19). In April 2023, roughly 25,000 workers in construction, manufacturing and other industries went on strike, with the potential to draw in hundreds of thousands more (20). Many feared this would be the largest such strike in decades if unresolved. The social contract – that rising productivity would improve living standards for all – is fraying.

Part of the problem is that Norway’s economy has lost some of the automatic boom from oil. Although still one of the world’s largest producers, output growth has slowed, and debates intensify over future petroleum investments and the transition to green energy. Export revenues remain high, but domestic optimism is cooler. The sovereign wealth fund, now over $2 trillion, provides a buffer but does not instantly translate into higher take-home pay or expanded public services. Meanwhile, younger Norwegians entering the housing market face stiff competition: property prices and rents in Oslo and other cities continue to climb. Growing housing costs reduce disposable income, feeding the perception that Norway’s prosperity is no longer shared equally.

These economic stresses – inflation, strikes, high living costs – were central concerns in the 2025 election (1, 21). Voters, especially young families, voiced anxiety about paying bills and saving for retirement. The ruling parties argued for maintaining social programs, while the Progress Party promised tax relief and reduced welfare spending. The narrow victory for Labour means some continuity, but only if it can deliver on cost-of-living relief. Failing that, critics warn, Norway could see even more disaffection.

Eroding Social Cohesion and Trust

Beyond policy and economics, Norway’s famously cohesive society is showing signs of stress. A key indicator is public trust in institutions. The OECD found that Norwegians’ trust in their national government has plummeted: only 48% now report high or moderately high trust, a decline of 16 percentage points since 2021 – the steepest drop among surveyed OECD countries (22). At the same time, trust in other institutions diverges: confidence in the police and courts is around 77%, while trust in political parties and the press is far lower (23). Those who feel politically marginalized are far less likely to trust the government (24).

Generational divides worsen this trust problem. Younger Norwegians especially report feeling excluded from political discourse, gravitating toward the Progress Party in significant numbers (13). Surveys indicate that those who believe their views “don’t count” are markedly more distrustful of elected leaders. A culture gap compounds this tension: Norway’s emphasis on equality and consensus can feel stifling to newcomers or dissenters. Exit interviews with emigrants reveal a common theme of “social poverty” – not material poverty, but loneliness and difficulty forging meaningful relationships (25). Many long-term immigrants say they struggled to break into Norwegian social circles. One migrant joked about trying to “dig into Norwegians’ psychology” to build friendships (26). This sense of isolation was particularly evident during the COVID-19 lockdowns, when much of society retreated into family units, leaving expatriates disconnected.

For non-white migrants the picture is worse. Several interviewees reported direct experiences of racism and negative media stereotyping in Norway (17). They felt they were seen primarily as “Somalis” or “Arabs,” not as individuals. Such experiences motivate some to leave. In the ExitNorway study, respondents of diverse backgrounds described “difficult acceptance” and a desire to return home to more cohesive communities (27). One immigrant noted that Norway’s generous welfare system might ironically weaken social bonds: “the state takes care of you, so society doesn’t have to” (28).

The result of these strains is a record outflow of people. Research shows that around 30,000 people emigrate from Norway each year, a figure higher than the 19th-century peak of emigration to America (29). Most are foreign-born residents returning home or moving elsewhere in Europe, typically younger and educated. Crucially, emigrants cite not only economic motives but quality-of-life concerns. Surveys frequently list dissatisfaction with healthcare, poor integration, cultural isolation and high living costs as reasons to leave (11, 17). One researcher was “surprised” to find that Norwegian health services were cited more often as a reason to exit than to stay (12). Instead of a one-way flow of immigrants building long-term lives in Norway, there is now a two-way flow – and the return flow is rising.

This brain and labor drain has strategic implications. OsloMet’s emigration project warns that losing young, skilled people may exacerbate inequality and accelerate population aging (30). For example, if higher-income immigrants stay and lower-income immigrants leave (or vice versa), the social balance shifts. Shrinking labor supply pressures wages and increases reliance on new migrant labor. With an aging native population, high emigration potentially worsens future labor shortages. These trends are difficult to reverse: once people settle abroad and loosen ties at home, the “reverse tide” rarely returns.

Conclusion: A Nation at a Crossroads

Norway today remains a wealthy and well-functioning country in many respects: poverty is low, education and infrastructure are strong, and the nation still ranks highly on international social progress indices. But warning lights are flashing. Across multiple dimensions, evidence points to growing fragility in the Norwegian model. The welfare state is straining under demographic and economic pressures, and even heralded institutions such as NAV and the healthcare system show alarming failures. Politics has become polarized, and trust in government is eroding. Immigrants who once supported Norway’s labor force increasingly feel dissatisfied or unwelcome, and many choose to leave. The country’s famed social cohesion and consensus appear to be fraying.

Sources: Norwegian news and research outlets have documented these trends. For example, news reports detail the NAV welfare scandal and its 7,500 victims (3, 4). Election analysts note the record surge of the Progress Party in 2025 (13, 14). Research studies and surveys (ExitNorway, Forskning.no, ScienceNorway, OECD) report high emigration rates, widespread immigrant dissatisfaction – especially with healthcare (12, 29) – and a steep decline in public trust (22). These findings suggest that the “Nordic paradise” narrative no longer tells the full story: for many in Norway today, the promise of universal welfare and equality feels increasingly fragile (31, 9).


References

21
 
 

Write a CommonMark-formatted post matching this structure: multi-section with headings, paragraphs, quoted stats and sources, and a final conclusions section; include inline links in parentheses after citations and list all referenced URLs at the end under a "Sources" heading; keep tone neutral, preserve original claims but cite sources, and output only the Markdown.

22
 
 

Hey, I've seen this news about job offers in Norway but someone told me it's probably a scam. What's your opinion and would you recommend moving to Norway? I'm from Spain and I don't like the direction of the country.

23
 
 

El ascenso de las derechas en España: control de medios, justicia y sindicatos

En los últimos años se ha denunciado una creciente concentración de medios e influencia conservadora en España, acompañada por maniobras políticas y judiciales orientadas a debilitar a la izquierda y recortar derechos laborales. Datos recientes lo ilustran con claridad: los diarios ubicados ideológicamente a la izquierda (como El País, elDiario.es y Público) concentran colectivamente solo el 14,6 % de la audiencia según el CIS (infoLibre), frente a más del 80 % de la audiencia total controlada por medios de la derecha. De manera similar, las cadenas mayoritarias de televisión –Antena 3 (Grupo Planeta), Telecinco y Cuatro (Mediaset)–, catalogadas por la audiencia como de línea derechista, suman un 28,3 % del share (infoLibre), casi diez puntos más que la televisión pública y los canales de izquierdas (Televisión Española y La Sexta) en conjunto. En radio la disparidad es semejante: emisoras conservadoras como COPE, Onda Cero y esRadio suman un 45,8 % de audiencia estatal, superando a emisoras progresistas como la SER y RNE (39,7 %) (infoLibre). Estos datos revelan un desequilibrio mediático que varios analistas interpretan como un factor estructural: los medios de derechas dominan la información que recibe la mayoría de los españoles (infoLibre), lo que facilita narrativas desfavorables a la izquierda.

Ese panorama ha llevado a observadores y partidos progresistas a alarmarse por la posible falta de pluralismo informativo. Por ejemplo, infoLibre advierte que la “nómina de periódicos… en la órbita de influencia de la derecha” abarca más del 80 % de la audiencia en papel y digital (infoLibre). Además, sectores conservadores disponen de recursos públicos para reforzar su alcance mediático: en Madrid, el Gobierno de Ayuso destinó cuantiosas subvenciones institucionales a emisoras afines como esRadio, Radio Intereconomía y la Cadena COPE (ElPlural). En suma, la amplia presencia mediática de la derecha es vista como un instrumento para desacreditar a la izquierda y fijar la agenda pública con criterios conservadores.

Judicialización de la política y presiones jurídicas

Paralelamente, el uso político de la justicia –la llamada judicialización de la política– ha generado profundas controversias. Expertos legales y partidos de izquierda critican que PP y Vox han llevado a los tribunales a dirigentes y altos cargos del Gobierno con objetivos esencialmente políticos. El catedrático Javier García señala que estos partidos “pretenden desprestigiar al Gobierno y a sus partidos” mediante querellas infundadas que los involucren en un “conflicto político-judicial” (Fundación Sistema). En la misma línea, medios como El Plural destacan que la estrategia derechista actúa por varios frentes (político, mediático y judicial) para “derrocar al poder que no comulga con sus intereses”, citando como ejemplo reciente la condena judicial al Fiscal General del Estado (ElPlural).

En este contexto se ha consolidado el uso del término lawfare. La oposición de izquierdas (Sumar, Podemos) y líderes sindicales han condenado fallos judiciales selectivos. Tras la sentencia contra el Fiscal General Álvaro García Ortiz, diputados de coalición tildaron el juicio de “estrategia de golpe blando hacia el Gobierno” y señalaron que no contribuirán al lawfare en España (ElPlural). Incluso algunas asociaciones judiciales progresistas han expresado su “perplejidad” ante decisiones del Supremo, apuntando a una posible politización externa. Críticos coinciden en que la justicia está siendo utilizada como arma política para impugnar reformas (como la del CGPJ) o promover causas penales mediáticas supuestamente alineadas con intereses partidistas.

Influencia en las fuerzas de seguridad

También ha llamado la atención la creciente connivencia entre la derecha política y sectores de las fuerzas de seguridad. En agosto de 2024 el sindicato mayoritario de la Policía (SUP) firmó un acuerdo con la empresa Desokupa, por el cual esta formación de extrema derecha ofrecería cursos de “defensa personal” a 30.000 agentes (elDiario.es). El Ministerio del Interior abrió expediente al SUP, advirtiendo que el convenio podría contravenir “valores democráticos”.

Estos pactos con entidades de ultraderecha se enmarcan, según algunos analistas, en un proceso de “fascistización” de cuerpos policiales, al tiempo que se documentan episodios de espionaje interno. El Plural recuerda las llamadas “cloacas del Estado” durante el Gobierno del PP (2014), cuando una “policía patriótica” recopiló informes apócrifos para atacar a dirigentes socialistas (ElPlural). Asimismo, se han denunciado diferencias de celeridad en investigaciones de la Guardia Civil según la orientación política de los implicados: mientras avanzaron ágilmente pesquisas sobre ministros socialistas, la investigación sobre el novio de la presidenta Ayuso avanzó con lentitud (ElPlural).

Ataque a los derechos laborales

Otra dimensión clave ha sido la presión sobre los sindicatos y los derechos laborales por parte de PP y Vox. En varias comunidades autónomas gobernadas por esta coalición se han impulsado recortes de subvenciones sindicales y restricciones a la acción sindical. Una ley aprobada en Murcia en junio de 2025 eliminó las ayudas a patronal y sindicatos por participar en órganos de diálogo social (El País). Ante ello, la ministra Yolanda Díaz denunció que en las administraciones controladas por PP y Vox “están desarticulando la negociación colectiva, el diálogo social y la participación institucional”, alertando de una “ofensiva” contra la libertad sindical (El País).

Desde la izquierda se interpreta que esta estrategia forma parte de un proyecto más amplio. El exalcalde Rafael Simancas escribió que la ofensiva contra las centrales sindicales es un mecanismo para “desvertebrar las sociedades democráticas” (Fundación Sistema). En la misma semana del 1º de Mayo de 2025, el PP presentó propuestas para vetar a sindicalistas en cargos públicos y Vox lanzó ataques verbales contra UGT y CCOO (Fundación Sistema). Para los sindicatos, se trata de un ataque coordinado que busca erosionar conquistas laborales históricas.

Polémica condena del fiscal general (20-N de 2025)

El clima se intensificó con la sentencia del Tribunal Supremo contra el Fiscal General del Estado, Álvaro García Ortiz, anunciada el 20 de noviembre de 2025, coincidiendo con el 50.º aniversario de la muerte de Franco (RTVE). El Supremo condenó a García Ortiz a dos años de inhabilitación por un delito de revelación de secretos relacionado con el caso del novio de Ayuso. Sin embargo, esa decisión desató fuertes críticas por falta de fundamentación probatoria. infoLibre señaló que “el proceso ha concluido en condena pese a que no hay ninguna prueba de que García Ortiz fuera su autor” (infoLibre).

El fallo, adelantado verbalmente sin motivación escrita, fue duramente criticado por el Gobierno. La ministra Díaz lo calificó de “político”, mientras RTVE informó que en privado miembros del Ejecutivo lo consideraban “una condena sin pruebas” (RTVE). Juristas denunciaron la “inusual precipitación” del procedimiento, que dedicó apenas una semana a un caso de gran complejidad. Incluso dos magistradas firmaron un voto particular en contra de la condena (RTVE).

Para la oposición de izquierdas, la sentencia ejemplifica la politización judicial que vienen denunciando y alimenta la tesis del lawfare.

Conclusiones

Según múltiples observadores, el ascenso de la derecha en España va acompañado de una consolidación de poder en medios, justicia y mecanismos estatales. Esa consolidación se interpreta como una estrategia coordinada para limitar el pluralismo democrático: concentración mediática en medios afines, uso de la judicatura para desacreditar adversarios y debilitamiento de sindicatos en beneficio de intereses conservadores. El Plural resume este diagnóstico afirmando que la derecha actúa en “varios frentes” para “derrocar al poder que no comulga con sus intereses” (ElPlural). El resultado, según estas lecturas, es un panorama donde la diversidad de voces se erosiona, la acción sindical se debilita y la separación de poderes se ve comprometida.

24
 
 

Durante años, Tesla ha sido presentada como la empresa llamada a liderar el futuro del automóvil eléctrico, impulsada por la narrativa carismática y disruptiva de su director ejecutivo, Elon Musk. Sin embargo, un análisis detallado de la situación actual de la compañía sugiere un escenario menos optimista del que suele proyectarse públicamente. El contenido del video analizado plantea un cuestionamiento profundo sobre las ventas reales, la salud financiera del fabricante y la distancia creciente entre las promesas tecnológicas y los resultados verificables.

La caída en la demanda y las cifras que no cierran

El primer eje crítico es la situación comercial de Tesla. A pesar de las declaraciones recurrentes de Musk sobre el crecimiento de la compañía, diversos indicadores muestran que las ventas se han desacelerado, especialmente en mercados clave como Estados Unidos. El video sostiene que Tesla se ha visto obligada a incrementar de forma agresiva el número de vehículos vendidos a flotas —especialmente de alquiler— para sostener volúmenes que anteriormente provenían de consumidores individuales. Según el análisis del creador del video, hasta una quinta parte de las ventas podría estar vinculada a estas operaciones de flota.

Esta estrategia tiene impactos significativos: reduce el margen por unidad, presiona los precios de reventa de los vehículos usados y debilita la percepción premium de la marca. Como consecuencia, Tesla habría acumulado un inventario anómalo y estaría utilizando descuentos encubiertos para mantener la rotación.

Inversiones masivas, resultados cuestionables

Otro aspecto central del análisis es la falta de rendimiento de grandes inversiones estratégicas. Tesla ha destinado miles de millones de dólares a proyectos que, años después, no han demostrado avances decisivos. El video menciona casos como:

  • Gigafactorías con baja utilización, donde el volumen de producción quedaría muy por debajo de lo esperado.
  • El proyecto del Robotaxi, anunciado repetidamente como inminente, pero sin prototipos capaces de operar de forma autónoma en condiciones reales.
  • Desarrollos de inteligencia artificial, cuya sofisticación parece inferior a la de competidores tanto del sector automotriz como del tecnológico.

Las promesas no cumplidas no solo erosionan la confianza de los consumidores, sino también la de los inversionistas, especialmente ahora que los resultados financieros muestran márgenes decrecientes y gastos operativos crecientes.

Musk y el efecto de la figura pública

El video también subraya que una parte considerable del valor bursátil de Tesla se sustenta más en la figura de Elon Musk que en la performance estrictamente empresarial de la compañía. Su presencia mediática, la narrativa del “visionario” y su capacidad para influir en la percepción pública habrían sido determinantes para sostener un precio de la acción desconectado de los fundamentales financieros.

No obstante, los recientes episodios polémicos en sus redes sociales, su gestión de X (antes Twitter) y su enfrentamiento con entidades gubernamentales y reguladores han generado ruido reputacional. De acuerdo con el análisis, este desgaste podría estar afectando directamente la simpatía del consumidor y debilitando la marca Tesla en un mercado cada vez más competitivo.

La competencia acelera mientras Tesla desacelera

El ecosistema global del vehículo eléctrico ha cambiado de forma radical. Fabricantes chinos, como BYD, han presentado modelos más accesibles, con mejor calidad percibida y ritmos de innovación más rápidos. Marcas europeas y estadounidenses también han corregido errores iniciales y están produciendo vehículos con una integración tecnológica más robusta y precios ajustados.

El análisis del video sugiere que, mientras estos competidores avanzan, Tesla ha perdido dinamismo. Su portafolio de productos se percibe estancado: los modelos principales tienen años sin rediseños significativos, y los proyectos anunciados —como el Cybertruck— no han logrado la escala o la recepción esperada.

Conclusión: una empresa en un punto de inflexión

El contenido del transcript plantea una conclusión contundente: Tesla se encuentra en un momento crítico en el que la distancia entre narrativa y realidad se ha hecho demasiado grande para sostenerse indefinidamente. Las señales de debilitamiento en ventas, márgenes, reputación y competitividad sugieren que la compañía necesita replantear su estrategia, profesionalizar su gestión y reenfocar sus inversiones hacia logros tangibles.

Aunque Tesla aún conserva una gran capacidad tecnológica y una marca globalmente reconocida, la sostenibilidad de su liderazgo dependerá menos de promesas futuristas y más de resultados concretos en el corto y mediano plazo.

25
 
 

Breve historia de la guerra de Ucrania (2014 hasta la invasión de 2022)

La tensión entre Rusia y Ucrania se remonta a 2014, cuando tras el Euromaidán el presidente prorruso Víktor Yanukóvich fue depuesto. Acto seguido, Rusia anexionó ilegalmente Crimea y empezó a dar apoyo político, militar y logístico a los separatistas prorrusos en las regiones del este: Donetsk y Lugansk, conocidas como Donbás. (Dialnet)

Desde esos primeros años, los medios de comunicación rusos emprendieron una campaña narrativa muy marcada: argumentaban que en Ucrania había un problema de “nazis” y que las nuevas autoridades ucranianas amenazaban a la población rusoparlante del Donbás. Parte de su propaganda se centraba en la Brigada Azov, una unidad militar ucraniana que Rusia calificaba de neonazi. (Wikipedia)

En 2014 y años posteriores estalló la llamada “guerra del Donbás”: milicias prorrusas (respaldadas por Rusia) lucharon contra el ejército ucraniano. Una de las batallas más duras fue la de Debáltseve en 2015. (Wikipedia)


Motivos que dio Rusia para iniciar la guerra en 2022

Cuando Rusia lanzó su invasión a gran escala el 24 de febrero de 2022, lo justificó con varios argumentos que ya había ido construyendo durante años:

  1. Desnazificación: Putin afirmó que el objetivo de la “operación militar especial” era “desnazificar” Ucrania. Según él, había una amenaza real de ideología nazi dirigida contra la población rusoparlante y contra los separatistas del Donbás. (Wikipedia)

  2. Desmilitarización y seguridad frente a la OTAN: Rusia sostiene que la OTAN estaba expandiéndose hacia el este y que Ucrania, potencialmente aliada de la Alianza, representaba un riesgo para la seguridad rusa. (Deutsche Welle)

  3. Protección del Donbás: Putin afirmó que su invasión buscaba “proteger” a los habitantes de Donetsk y Lugansk, justificando la intervención como ayuda a las autoproclamadas repúblicas prorrusas. (Wikipedia)

  4. Ataque preventivo: Según su discurso, Rusia estaba dando un golpe “preventivo” para evitar lo que percibía como agresión futura. En su visión, era una acción forzada pero necesaria para salvaguardar su integridad nacional. (heraldo.es)


Estado actual de la guerra (hasta ahora)

  • Tras los primeros meses, la ofensiva rusa cambió de estrategia: redujo operaciones en el norte (como alrededor de Kiev) y centró esfuerzos en el este, especialmente en el Donbás. (Wikipedia)
  • La guerra ha provocado una enorme crisis humanitaria: miles de muertos, destrucción de ciudades y millones de desplazados tanto internos como refugiados fuera de Ucrania. (Wikipedia)
  • A nivel internacional, Rusia ha sido ampliamente condenada y sancionada, mientras que Ucrania ha recibido importante apoyo militar, económico y diplomático de la UE, Estados Unidos y otros aliados.
  • Rusia continúa exigiendo condiciones de paz que muchos consideran inasumibles para Ucrania, incluyendo la “ilegalización de movimientos nacionalistas” o renuncia a compensaciones futuras. (El País)

Reflexión sobre la narrativa de “nazis en Ucrania”

La acusación de “nazismo” ha sido una pieza clave de la propaganda rusa. Si bien existen grupos ultranacionalistas y algunos radicales en Ucrania (como la brigada Azov), muchos analistas sostienen que Rusia exagera o manipula esa narrativa para legitimar su intervención. (Wikipedia)

Además, fuentes independientes han desmentido algunas de las afirmaciones más extremas de Rusia. Por ejemplo, la cadena DW verificó que no hay evidencias fiables de “aniquilación sistemática” de civils en el Donbás como afirmaban las autoridades rusas. (Deutsche Welle)

view more: next ›