Spyke
linuxsucks·Linuxsucksbymadthumbs

AI Has Created New Jobs for the FOSS Industry!

AI didn't just create jobs. -It created an entire sub class of unpaid jobs that nobody asked for, is paid for, and everyone is doing anyway: vibe‑coders, prompt‑tinkerers, model‑wranglers, and repo‑spammers.

GitHub is being overwhelmed with all the unpaid productivity!

It's not job loss!-It's job inflation. Unpaid vibe coding is the new open‑source economy. FOSS developers are coding more than ever, they're just worse at it than the ones who already couldn't get paid.

View original on lemmy.world
linuxsucks·Linuxsucksbymadthumbs

Dangers of Using F‑Droid (What do you expect for free?)

TLDR: The biggest dangers of using F‑Droid come from trust model weaknesses, slow or missing updates, silent app abandonment, and Google’s increasing hostility toward independent app distribution.

F‑Droid is full of apps that haven't been updated in years, rely on dead upstream projects, depend on outdated libraries, and break silently on newer Android versions.

F‑Droid doesn’t warn users, you often have no idea an app is abandoned.

Until an app stops working, becomes insecure, F‑Droid finally removes it, or a fork appears with no continuity, you may have no clue.

F‑Droid rebuilds apps and signs them with its own keys. This stops you from updating with the developer's APK. -You have to uninstall to migrate to a fork. Fdroid can lose a build recipe causing the app to get permanently stuck. -If the dev updates upstream, but F-Droid builds fail, you get no update.

Updates are often delayed or missing entirely due to reproducible build failures, outdated build metadata, upstream switching to proprietary dependencies, and unpaid F-Droid maintainers being overloaded.

Security patches arrive late, sometimes never. Apps can lag behind upstream by months or years.

F‑Droid's anti‑tracking stance breaks many modern apps because F-Droid strips proprietary libraries, analytics SDKs, Firebase, and Play Services dependencies.

Some apps become unstable, feature‑incomplete, unable to receive push notifications, and unable to sync. Developers often don't support the F‑Droid build, so bugs go unfixed.

Unlike Play Store, F‑Droid does not provide malware scanning, behavioral analysis, automated static analysis, or developer identity verification. F-Droid relies on manual review, reproducible builds, and blind trust in maintainers.

Googles upcoming changes will cause more F-Droid apps to break. More apps will be removed fewer, and developers will support F-Droid builds.

When an app dies, forks appear, forks of forks, each with different signing keys. We'’ve seen this with ViMusic, NewPipe, Tachiyomi, and dozens more.

F-Droid requires informed use to be safe.

  • stick to actively maintained apps
  • check upstream GitHub activity
  • avoid abandoned apps
  • avoid security‑critical apps unless they're well‑maintained
  • understand the signing‑key lock‑in
  • accept that updates may be slow

F‑Droid is not a 'set and forget' app store.

View original on lemmy.world
linuxsucks·Linuxsucksbymadthumbs

The Positives of Telemetry

1. Software gets better because developers know what’s breaking

Without telemetry, devs are basically flying blind.
With telemetry, they can see:

  • which features people actually use
  • which ones nobody touches
  • which crashes happen most often
  • which hardware configurations cause issues

This leads to faster fixes, fewer regressions, and smarter prioritization.

2. Performance tuning becomes grounded in reality

Telemetry shows:

  • where apps slow down
  • how long tasks take
  • which code paths are hot

Instead of guessing, devs optimize based on real-world usage.
This is why Windows, Chrome, and VS Code get smoother over time.

3. Security improves

Telemetry can flag:

  • unusual crash patterns
  • exploit attempts
  • misconfigurations
  • outdated or vulnerable components

It’s one of the reasons modern OSes can respond quickly to zero‑days.

4. It reduces support friction

When users report bugs, telemetry gives context:

  • OS version
  • driver versions
  • error logs
  • hardware info

This saves everyone time and avoids the “works on my machinedead end.

5. It helps prioritize features people actually want

Telemetry reveals:

  • which workflows dominate
  • which UI elements get ignored
  • which new features flop or succeed

This prevents devs from wasting time on niche features while ignoring what the majority needs.

6. It enables better compatibility

Especially in the Windows ecosystem, telemetry helps ensure:

  • drivers don’t break
  • updates don’t brick systems
  • new hardware works smoothly
  • legacy software keeps running

This is part of why Windows supports such a ridiculous range of hardware compared to Linux.

7. It reduces update disasters

Telemetry-driven staged rollouts let developers:

  • detect issues early
  • pause updates before mass breakage
  • fix problems before everyone gets hit

This is the opposite of the “push update -> pray” model.

A lot of the backlash is cultural, not technical:

  • FOSS communities often equate telemetry with surveillance
  • Some distros shipped telemetry badly (Ubuntu Amazon lens, etc.)
  • People assume “data collection = spying”
  • Many don’t distinguish between anonymous usage data and personal data

But responsible telemetry is anonymized, aggregated, and used to improve the product - not to track individuals.

View original on lemmy.world
linuxsucks·Linuxsucksbymadthumbs

Linux Didn't "Leap Ahead" -They Played Catch-Up as Always!

FreeBSD’s networking stack is explicitly described as efficient, low‑latency, and designed for reduced CPU overhead, thanks to features like zero‑copy sockets and a tightly integrated TCP/IP stack. hamradio.my

Linux, by contrast, is optimized for flexibility and modularity (use on toaster, fridge, supercomputer) which can introduce overhead unless tuned. hamradio.my

BSD was probably already operating closer to the efficiency ceiling.

FreeBSD’s network stack is described as delivering lower latency and higher throughput compared to default Linux settings. hamradio.my

Lower latency often correlates with fewer wakeups and less wasted CPU time: i.e., better power efficiency under load.

Notice the LiGNUxers frame the gain as a victory and ignore that Linux may have simply been playing catch-up and this exposed horrible inefficiency.

BSD might have been ahead, but nobody was measuring power.

FreeBSD is a complete OS with unified kernel + userland, not a mix‑and‑match ecosystem. CyberPanel

-This reduces fragmentation and can reduce overhead in areas like syscall paths, network stack transitions, memory allocation, and context switching. These architectural advantages translate into power efficiency without "power patches."

View original on lemmy.world
linuxsucks·Linuxsucksbymadthumbs

Linux Community Toxicity Ties Directly into Inferiority Complex Psychology

Screenshot from: Signs You May Have an Inferiority Complex

Inferiority complex is a psychological defense mechanism where people cope with internal insecurity by projecting superiority, policing others, and attacking perceived threats.

"Only real users run Arch.", "Your fault, wrong distro!", "You don't deserve Linux."

Insecure Linux users act superior leading to outsiders mocking them leading to them doubling down. -Toxicity escalates!

When someone's identity is fragile, they defend it aggressively. Identity fusion manifests in treating criticism of Linux as a personal attack, policing proper usage, hostility toward beginners or anyone that doesn't share the ideology.

Identity-fused communities behave like a cult.

Linux has a steep learning curve (sunk cost fallacy). People who invested years into mastering it often feel threatened when newcomers want convenience. Inferiority complex comes along and amplifies this: "I suffered, so you should too.", "If you don’t understand this, you're not one of us."

"yOuR fAuLt! -WrOnG dIsTro!" is a gatekeeping reflex.

Linux culture rewards using obscure distros (anti-systemd, anti-corporate, anti-Calamares, etc.)

Inferiority complexes thrive on narratives like "We're the enlightened", and "The world is against us." In this moralized worldview, hostility feels justified.

Small, insular communities amplify insecurity creating a self-reinforcing inferiority loop. "FOSS advocates aren’t welcome" shows how the counter‑community forms as a reaction to that echo chamber. (and they call us the echo chamber!)

View original on lemmy.world
linuxsucks·Linuxsucksbymadthumbs

Servers Don't Trust Your OS: They Trust ECC

Data integrity is a hardware problem, not an OS problem.

The myth that Linux is stable enough that you don't need ECC unless you're running ZFS or a database is wrong. A flipped bit corrupts memory before the OS sees it.

-ECC protects the OS. The OS cannot protect itself.

Windows has the most aggressive consumer‑grade fault‑tolerance stack with WHEA, bad‑page retirement, PCIe AER recovery, GPU/driver subsystem restart, VBS integrity enforcement, core offlining, and memory poisoning.

-These features dramatically reduce crashes on unreliable hardware.

ECC is the only one to detect single‑bit errors, correct single‑bit errors, detect multi‑bit errors, and prevent silent corruption from propagating. It's not 'Linux stability' - it's literally ECC (which most consumer desktops and laptops don't have)!

-Servers need ECC because server workloads demand correctness (and Linux doesn't even try to deliver that because they don't have to).

Cosmic rays, electrical noise, and manufacturing defects literally hit hardware, not software. -That famous blue screen in front of an audience during a Windows presentation? -Nothing to be ashamed about (but they could've used ECC)!

If the hardware lies, the OS has no way to know. Even Windows Server requires ECC. Enterprise Linux distros recommend ECC. It's about physics: not the OS.

View original on lemmy.world
linuxsucks·Linuxsucksbymadthumbs

The Repository is the Biggest Reason to Choose a Distro (they don't tell you this)

The branding, wallpapers, installation procedure, and evangelist noise is all gone on day one. What affects your daily experience the most is: What software you can install, how new it is, and how reliably it updates.

-That's the repository.

If the repo doesn't have it, you're stuck with Flatpacks, AppImages, Snaps, Random GitHub scripts, PPAs, AUR roulette, or compiling from source (which has many drawbacks -it's not simply a bother).

They determine how new your software is (risk tolerance vs features vs your tech/change phobia).

Most differences people argue about are cosmetic or philosophical. The repo is the functional difference.

-Imagine it being this simple! And now that you know; you don't have to distrohop forever to figure out they ALL suck!

View original on lemmy.world

What I hate about Linux

What I hate about Linux is how many critical paths are not only visible, but interceptable.

If a process is slow, I’m not left guessing, but that’s part of the problem. I end up having to perf record -g and immediately dig through where cycles are going- kernel vs user, cache misses, branch mispredicts- because nothing is abstracted or simplified. If that’s not enough, suddenly I'm expected to drop into eBPF and attach to sched_switch, sys_enter_*, or specific kprobes and build a live latency histogram, which just adds more complexity. No rebuilds, no special debug environment, no guardrails. Production is debuggable, so now I’m expected to debug production??

Memory behavior is clear, which sounds good until it isn’t. /proc/<pid>/smaps gives me per-region breakdowns- RSS, PSS, shared vs private- but now I’m responsible for interpreting all of it. Wtf. I can correlate that with page faults via perf or tracepoints and pretend I understand whether I’m thrashing, fragmenting, or just overcommitting, but I'd rather be free to just give up. If I feel like influencing it, I’ve got madvise, mlock, THP toggles, NUMA policies- all directly accessible, which means more knobs to get wrong.

I/O is explicit, which quickly becomes exhausting. With io_uring, I can submit batches of reads/writes without syscalls per operation, control submission queue polling, and eliminate context switches in hot paths; managing all of that complexity myself is overwhelming. If something regresses, I can trace block layer latency (block_rq_issue/complete) and see exactly where time is spent- device, scheduler, or filesystem- this is arguably knowledge the user shouldn't have access to. The scheduler ought to be a black box. I can inspect CFS behavior via /proc/sched_debug, tune sched_min_granularity_ns, or isolate workloads with cpusets and SCHED_FIFO when I need determinism, and misconfiguring any of this can make things worse. Combine that with cgroup v2 and I get hierarchical CPU weight distribution that holds under contention, which only adds yet another layer of configuration to worry about.

Networking is just as tangible, and just as burdensome. If I’m debugging latency, I can trace packets through the stack with eBPF hooks at XDP, TC, or socket level. I can see drops, queueing delay, retransmits, all without packet captures, and so I find myself deep in kernel-level tooling just to answer basic questions. If "needed", I can modify behavior inline before the kernel even allocates an skb, which is dangerously easy to misuse and a power I shouldn't have. File systems expose their tradeoffs clearly, which means I have to care about them?? With ext4 or xfs, I need to know what journaling mode I’m in, how writeback behaves, and potentially trace it. If I need different semantics, I switch to btrfs or zfs and accept their costs, because nothing smooths over those differences for me. Nothing is simplified, when I'd rather things just pretend to be something they're not.

Process relationships are concrete, which again shifts responsibility onto me. /proc/<pid>/fd shows exactly what a process has open, leaving me to interpret it. I can nsenter into its namespaces, strace -p it live, or inject behavior with ptrace, but these are sharp tools that are easy to misuse. File descriptors are transferable over UNIX sockets, so I can hand off live connections between processes without ceremony (boring), and that "flexibility" comes with added complexity in coordination. Even boot and init aren’t sacred, which means more decisions to make. If systemd does something I don’t like, I can read the unit, override it, or replace the whole init system, and then I’m left maintaining my impulsive choices. Same with networking- NetworkManager, systemd-networkd, or raw ip and tc. Nothing is welded shut; it's all fucking loosey goosey.


Edit:

Rules for this post:

  • Linux Lovers who downvote me will be banned on sight
View original on lemmy.dbzer0.com
linuxsucks·Linuxsucksbymadthumbs

How to Continue Using Unsupported Windows Online on Old Hardware

🛡️ Option #1: "The Bubble": Old Windows behind a modern router + DNS filtering + no browser

This is the safest configuration, but the most limiting.

You'll need:

  • A modern router/firewall (pfSense, OPNsense, OpenWRT, UniFi)
  • Outbound firewall rules:
    • Block all inbound traffic
    • Block all outbound except:
      • NTP
      • DNS (to a filtering resolver)
      • Specific IPs you explicitly allow
  • DNS filtering (NextDNS, AdGuard Home, Pi‑hole + blocklists)
  • No web browsing on the old OS
  • Use it only for:
    • LAN file access
    • Retro software updates
    • Old game servers
    • RDP into the machine (not out)

Risk level: Low, as long as you never open a browser or email client.

🛡️ Option #2: "The Proxy Shell" -Force all browsing through a modern machine

This is the only way to safely browse the modern web from XP/7.

You'll need:

  • Old Windows machine that connects ONLY to a modern proxy:
    • Cloudflare WARP Gateway
    • Squid proxy on a Linux box
    • Browser rendering proxy (Browservice, WebOne)
  • The proxy:
    • Terminates TLS
    • Strips dangerous content
    • Re-renders pages as images or simplified HTML

It works because your old OS never touches modern JavaScript, fonts, images, or TLS.

Risk level: Low–medium, depending on how strict the proxy is.

🛡️ Option #3: "The Airlock": Old Windows with a hardware firewall appliance

Hardware firewall examples:

  • Protectli box running pfSense
  • MikroTik router with strict rules
  • Firewalla Gold

Ruleset:

  • Block all inbound
  • Block all outbound except:
    • Specific ports
    • Specific IP ranges
  • Disable UPnP
  • Disable SMBv1 on the network entirely

Risk level: Low, but requires networking knowledge.

...

Consider that normies are migrating to devices. Doing critical online stuff like banking through a smartphone app is much safer than through a browser on Linux (for many reasons, not just that some Linux keeps your password in a normal text file) or even Windows. An offline Windows computer is still capable of Adobe, Office, CAD, single player games, etc.

View original on lemmy.world