Chrome not working with IBus input method
Continue Learning Explore the Programming Academy
Continue Learning Explore the Programming Academy
Archiving or copying a 1TB sparse file containing only 32MB of actual data is impractical with naive approaches—you’ll waste time and I/O bandwidth copying zeros. The solution is using SEEK_HOLE and SEEK_DATA flags with lseek(), which allow tools to skip over hole regions entirely. How SEEK_HOLE and SEEK_DATA work The Linux kernel provides two additional…
If you suspect a disk has bad blocks, use the badblocks utility to scan for them. This tool probes a device (usually a disk partition) and reports which blocks are unreliable or unreadable. Basic Usage badblocks /dev/sda1 This scans /dev/sda1 from the first block to the last block on the device. Common Options -s: Show…
LVM (Logical Volume Management) abstracts physical storage into logical volumes, giving you flexibility to resize filesystems, snapshot data, and manage disk space without downtime. It sits between your physical disks and the filesystems you mount. The three core LVM concepts are: Physical Volumes (PVs): Physical disks or disk partitions Volume Groups (VGs): Collections of PVs…
When you need to verify that two Linux systems can communicate over a specific protocol and port, you have several solid options. Let’s cover the most practical approaches. Using nc (netcat) The nc command remains a reliable choice for quick connectivity tests. It’s widely available and requires no special setup. TCP connection test To listen…
When you mmap() a range larger than your system’s total physical memory plus swap, the kernel normally reserves swap space to back the mapping. If that reservation would exceed available swap, mmap() fails with ENOMEM. The MAP_NORESERVE flag lets you bypass this reservation requirement. Understanding the Default Behavior By default, when you call mmap() with…
A hard link is an additional directory entry pointing to the same inode as the original file. Unlike symbolic links, hard links share the same inode number and have identical permissions, ownership, and content. To find all hard links to a file, you need to locate every directory entry with the same inode. Using find…
Evolution is a full-featured personal information management suite that handles email, contacts, calendars, and tasks. It includes enterprise features like native Microsoft Exchange support and integrates deeply with GNOME’s ecosystem. To troubleshoot issues, migrate data, back up configurations, or secure your setup, you need to know where Evolution stores everything. Evolution follows the XDG Base…
NFSv4 significantly simplifies network exposure compared to NFSv3. Where NFSv3 requires managing multiple dynamic ports (mountd, statd, lockd), NFSv4 uses only port 111 (rpcbind) and port 2049 (NFS). This makes firewall configuration and port forwarding straightforward. For production environments, consider implementing Kerberos authentication (krb5, krb5i, or krb5p) instead of relying solely on network-based access control….
This post covers .NET Core 2.1, which released in May 2018. Some of the predicted features below didn’t materialize as described; we’ll clarify what actually landed versus what was speculated. What is .NET Core? .NET Core is Microsoft’s open-source, cross-platform runtime for building applications in C#, F#, and Visual Basic. Unlike the monolithic .NET Framework…
If you’re working on Windows but need to interact with Linux systems, you’ll need reliable remote access tools. SSH is the standard—it’s secure, scriptable, and works everywhere. Here’s what actually matters. SSH Clients Windows Terminal + OpenSSH is the baseline for Windows 11. It’s built-in, integrates native SSH without extra installation, and handles key authentication…
ASP.NET Core remains one of the most efficient frameworks for building scalable web applications. This guide walks through deploying an ASP.NET Core MVC application to Azure App Service using Visual Studio — the quickest path from local development to production. Prerequisites You’ll need: An active Azure subscription (free tier accounts work fine for testing) Visual…
Before encoding instructions, you need to understand the two assembly syntaxes you’ll encounter—they differ fundamentally in operand order and addressing format. Intel syntax (Intel/AMD manuals): Operand order: destination, source Memory addressing: [base+offset] Example: add r8, [rdi+0xa] AT&T syntax (GNU toolchains on Linux): Operand order: source, destination Memory addressing: offset(%base) Example: addq 0xa(%rdi), %r8 For most…
When you need to debug kernel behavior without full instrumentation frameworks, module parameters offer a pragmatic shortcut. Rather than immediately reaching for perf, kprobes, or eBPF, you can add simple toggles and state tracking directly in the code you’re investigating, then control them at runtime through sysfs. Frameworks like perf, kprobes, and eBPF are powerful…
Most popular task monitoring tools (top, iotop, procfs) sample disk I/O information at granularity limited by kernel timer frequency—typically once per second. This sampling rate misses short-lived I/O bursts and makes it difficult to accurately measure which tasks are truly I/O bound. eBPF and kernel tracepoints let you capture microsecond-level accuracy without heavy overhead. Why…
SEO is not quick. This is the reality that catches most people off guard. The internet has conditioned us to expect instant results — viral content, overnight success, algorithmic magic that transforms a website in weeks. None of that applies to SEO. Be direct about expectations: a newly published page typically needs 3-6 months to…
Xen remains a solid hypervisor choice for specific workloads, though KVM dominates most Linux distributions today. This guide covers installing a paravirtualized DomU on Xen using modern tooling and Rocky Linux 9, which requires specific kernel parameters during installation. Why Paravirtualization Matters Paravirtualized guests communicate directly with the hypervisor rather than emulating hardware, resulting in…
USB technology continues evolving with each generation delivering significant speed improvements. Linux provides comprehensive kernel support across all modern standards through dedicated drivers. USB 2.0 Speed: 480 Mbps (theoretical ~60 MB/s) Status: Legacy but still common. Nearly all systems retain USB 2.0 ports for backward compatibility. Linux support: Built-in via the ehci-hcd driver in all…
Grab a release from kernel.org. Recent stable versions (6.x and later) are recommended for production systems: wget https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.12.tar.gz tar xf linux-6.12.tar.gz cd linux-6.12/ If wget isn’t available, use curl: curl -O https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.12.tar.gz Verify the tarball Always verify the kernel’s integrity using checksums and signatures published on kernel.org. This is essential for production systems: wget https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.12.tar.gz.asc…
Data visualization transforms raw metrics into actionable insights. When you’re managing infrastructure metrics, application logs, business KPIs, or system performance data, visualization is how you extract signal from noise. The human brain processes visual information faster and more reliably than log files or spreadsheet rows—which is why dashboards have become essential infrastructure in modern operations….