How to Fix Linux Menu Icons for Portable Electron Apps

Linux desktop menu showing an Electron application shortcut with its icon properly rendered beside the system tray

How to Fix Linux Menu Icons for Portable Electron Apps

You downloaded a Linux app as a portable folder or a raw binary — Antigravity IDE, a portable VS Code, a side-loaded Electron tool. You wrote a .desktop file, dropped it in ~/.local/share/applications/, and the app is gone from the menu. The launcher grid shows nothing. The search box finds nothing. You open the .desktop file and the Icon= line points at a perfectly valid PNG discover how 3 bash aliases saved me 10 hours last week, yet the system acts like the icon does not exist learn how to resize your Ubuntu VM disk step by step.

The problem is almost never the icon file. The problem is whitespace in the path.

GNOME, KDE, and most freedesktop-compliant desktop environments parse .desktop files with a config parser that is unusually strict about spaces. A path like /home/ubuntu/Downloads/Antigravity IDE/resources/app/resources/linux/code.png will silently fail to load for two reasons: the unquoted space inside Icon= breaks the parser, and even when the parser survives, the desktop file validator (which runs when update-desktop-database regenerates the cache) treats the entry as malformed and drops it.

I burned an hour on this the first time. The second time I wrote the fix down. This is the four-step version that survives every Electron portable app I have thrown at it.

Read more

Beyond Microservices: Adopting 4 AI-Native Development Patterns in 2026

Susiloharjo

Beyond Microservices: Adopting 4 AI-Native Development Patterns in 2026 Published: March 2026 | Category: AI Development | Author: Susiloharjo Introduction: The End of Microservices Era The microservices architecture has dominated software development for nearly a decade. Since Martin Fowler popularized the pattern in 2014, companies large and small have adopted service decomposition to achieve scalability, … Read more

Howto resolve nginx proxy manager failed to renew ssl

nginx-error-log

  I’ve been using Nginx Proxy Manager for a couple of years now. It provides free SSL with Let’s Encrypt, is designed with security in mind, and is perfect for home networks. Today, I encountered an issue where Nginx Proxy Manager failed to renew my SSL certificate using Let’s Encrypt. This was actually a problem … Read more

How to forward proxy nginx to custom port

nginx proxy

This is a sample nginx proxy config for forwarding nonstandard SSL port to other ip/domain with a custom port, not 443 standard https port server { listen 3000 ssl; server_name xxx.domain.com; error_page 497 301 =307 https://$host:$server_port$request_uri; ssl_certificate /etc/letsencrypt/live/xxx.domain.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/xxx.domain.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam … Read more

Proxmox Backup Guide: VMs, CTs, and PBS in 2026

backup proxmox

Proxmox Backup: Complete Guide for VMs, CTs, and PBS

Backing up a Proxmox Virtual Environment (VE) correctly means more than clicking a snapshot in the web GUI. This guide explains vzdump, Proxmox Backup Server (PBS), retention policies, and off-site strategies so your home lab or production cluster survives disk failure.

1. VZDump: The Built-In Backup Engine

Proxmox ships vzdump as its native backup tool. It creates consistent snapshots of running containers (LXC) and KVM virtual machines by pausing QEMU briefly, dumping RAM state, and copying the virtual disk.

Supported modes:Snapshot — freeze filesystem with QEMU guest agent, zero downtime – Suspend — save VM state to disk, brief pause – Stop — shutdown guest first, cleanest backup

Storage targets: local directory, NFS, CIFS, and Proxmox Backup Server

Compression: LZO (fast) or Zstandard (smaller). Zstd is the default since Proxmox 8.

2. Backup a Single VM or CT

Open Datacenter → Backup → Add. Select the node, VMs, and storage target. The default schedule runs at 2:00 AM daily.

For CLI users, a single command backs up VM 100 to local storage:

vzdump 100 --storage local --mode snapshot --compress zstd

To backup all guests on a node:

vzdump $(qm list | awk 'NR>1 {print $1}') --storage backup-nfs --mode snapshot

3. Proxmox Backup Server (PBS): Enterprise Off-Site

PBS is a separate Debian-based appliance that deduplicates backups across VMs. It stores chunk-level data, reducing total backup size by 40-60 percent compared to raw vzdump archives.

Architecture: – One PBS instance per off-site location – Proxmox nodes push backups via HTTPS/8007 – Deduplication happens client-side before transfer

Setup overview: 1. Install PBS on bare metal or inside a VM 2. Add PBS datastore via Datacenter → Storage → Add → Proxmox Backup Server 3. Set encryption key on the client (Proxmox node) 4. Schedule backup jobs pointing to PBS storage

Encryption is mandatory for off-site backups. Without it, root on the PBS host can read every guest filesystem.

4. Retention Policies That Actually Work

The default “keep last 7” fills disks fast. A better strategy:

| Tier | Count | Compression | |——|——-|————-| | Daily | 7 days | Zstandard | | Weekly | 4 weeks | Zstandard | | Monthly | 3 months | LZO for speed |

Configure this in Datacenter → Backup → Retention, or via /etc/vzdump.conf:

keep-last: 7
keep-hourly: 0
keep-daily: 7
keep-weekly: 4
keep-monthly: 3

5. Restore Testing: The Step Everyone Skips

A backup that has never been restored is a liability. Test restore quarterly:

1. Create a new VM ID on isolated storage 2. Restore from vzdump: qmrestore /var/lib/vz/dump/vzdump-qemu-100-*.vma.zst 999 --storage local-lvm 3. Boot VM 999 and verify data integrity 4. Run fsck inside the guest if filesystem errors appear

For PBS, use the web restore browser or:

proxmox-backup-client restore vm/100/2025-01-15T02:00:00Z /target/path

6. Monitoring and Alerting

Backup jobs that fail silently are invisible until you need them. Add notifications:

# /etc/vzdump.conf
mailto: [email protected]
notification: failure, success

Proxmox also exposes backup status in the task log. Integrate with your monitoring stack by parsing /var/log/vzdump/ or querying the API:

pvesh get /nodes/localhost/tasks --output-format json | jq '.[] | select(.type=="vzdump")'

What to Do Now

If your Proxmox environment currently has no scheduled backups, start with vzdump to local storage tonight. Once that works, deploy PBS to a second physical location. The combination of local vzdump archives plus off-site PBS chunks covers every failure mode from accidental deletion to building fire.

Related: How to Resize a Proxmox Ubuntu VM Disk (2026 Guide).

Related: Build AIoT Predictive Line: Pharma Digital Twin Guide.

Virtualization vs Containerization

docker

Virtualization and containerization are both techniques used to manage and deploy applications efficiently, but they differ in their approaches and level of abstraction. Virtualization: Overview: Virtualization involves creating a virtual version of hardware or an entire computer system, allowing multiple operating systems to run on a single physical machine. Hypervisor: It uses a hypervisor, which … Read more