Spyke

Replies

linux

Comment on

I built a GPU-accelerated wallpaper engine for Wayland in Rust — Wallr 🚀

Ngl, the recent influx of AI-generated projects is slightly unnerving. While I don't know the extent of your technical expertise, programmersd21, I’ve noticed many vibe-coded projects pop up, where the maintainer doesn't actually understand their own codebase. All the philosophical arguments against AI aside, this paradigm might introduce severe security and maintainability flaws (I do not know to what extent this is applicable to this particular project).

I am not an expert in Rust. But, skimming 2 random files in under 5 minutes revealed code that I wouldn't let pass a review:

  1. https://github.com/programmersd21/wallr/blob/72e10a02ae9fdd65ba2f5a440f45906d0fffc6a4/wallr-core/src/wallpaper/mod.rs#L156

This function called apply_wallpaper doesn't apply a wallpaper. Instead it checks if the file exists, and logs stating it will apply otherwise.

  1. https://github.com/programmersd21/wallr/blob/72e10a02ae9fdd65ba2f5a440f45906d0fffc6a4/wallr-core/src/video/gpu.rs#L37

This file contains the same adapter enumeration logic, but it is implemented differently across the detect_adapters and select_adapter functions.

Also,

~/wallr $ rg detect_adapter
wallr-core/src/video/mod.rs
12:pub use gpu::{GpuSelection, detect_adapters, select_adapter};

wallr-core/src/video/gpu.rs
35:pub async fn detect_adapters(instance: &wgpu::Instance) -> Vec<AdapterInfo> {

I do not know Rust, but this looks like dead code to me (these are the only two mentions of that functions; commit 72e10a02 btw). Please correct me if I'm wrong.

If my assessment above is incorrect due to me misunderstanding the code, I retract my statement towards this project. My concerns still exist though. Perhaps it's truly time to stop writing code that is maintainable by humans. ¯\(ツ)/¯

Comment on

You Hate A.I.? So What?

Really? So what?

A lot of people are either poor or simply don't have a need for art, which is why they don't buy it. The buyers are the appreciative, non-poor individuals. Before GenAI, artists had a market, they produced work for these buyers, whether for legitimate use or pure appreciation.

Now, GenAI is eroding that market. Legitimate users just use GenAI for "good enough" results, and appreciative buyers lower their standards by flooding themselves with GenAI content.

Meanwhile, the poor folk push back against the normalization of such art which wrecks the art industry. They're doing what they can.

Comment on

Flathub is a 🏴‍☠️

ProtonVPN has "Stream films, sports events, and videos on any streaming service (Netflix, Hulu, Amazon Prime Video, Disney+, BBC iplayer etc)" in its description.

Torrhunt and Orion Torrent Client, both have the tag "netflix torrent".

Comment on

What my classmate meant?

It's a ROT cipher. This is what it means:

I love you. Will you be my boyfriend?

"4" is just the shift. All letters are shifted four characters forwards.

Cipher vs Actual

A → W

B → X

C → Y

D → Z

E → A

...

Z → V

Comment on

dating tips

How to piss off a Linux guy in 3 steps:

Step 1: Use Windows

Step 2: Encounter a computer problem and ask the Linux guy for a solution.

Step 3: When they say they don't know Windows, mock them for being so stupid despite staying in the terminal playing pretend hackerman all day.

Comment on

Space Nazis

Tbh, it makes me sad that the Swastika is viewed as a racist symbol. It has existed for ages before the advent (and collapse?) of Nazis. The Nazis have misappropriated it in the eyes of the western world. There are still numerous cultures all over the world who view the swastika as a symbol of good health.

Comment on

Agentic Coding is Burning Me Out | Sid's Blog

I never understood vibe coding (or ✨Agentic Coding✨) tbh.

May be I am too stupid, but I think as I code and code as I think. I do not usually formulate a plan before I start coding. I am categorizing architecture as code btw because, for me, architecture involves pseudo-code to some degree .

Even in college, I could never just understand lectures. I needed to write down the formulas and work out the derivations myself to grasp them. I know there are people who understand things right away, but I am not one of them.

So, now, when I see senior developers (which I am not) vibe code green field projects, I am just astounded as to how they manage the architecture + understanding + optimization + maintenance context.

privacy

Comment on

I made an extension that bypasses online age verification

Lol, is it just an onclosed function call?!

I myself haven't seen any age verification popups yet, due to me always being on a VPN, but I admire you for writing the bypass and making it open source.

I hope this continues to work, but seeing how dystopian the surveillance is getting, I won't be surprised if everything is handled in the backend in the near future (client <-> server, client <-> verification provider, server <-> verification provider); sort of like how payments are handled.

privacy

Comment on

Graphene vs /e/ os

I came to GrapheneOS for privacy and security, but stayed for the features.

  1. Per application network toggle: I found this incredibly useful in cases where the application is fully functional without internet, yet still asks for internet permission, and I do not want it to phone home (e.g. Google Photos). It is helpful for when you are using a VPN, and do not want the slot to be taken by an application like NetGuard. Although, I believe you can replicate this functionality with (Split Tunneling) + (Block connections without VPN).

  2. Storage Scopes: This is a another highly useful feature. Say you took a bunch of pictures on a trip, and want to show the pictures to a friend. Normally, you'd fear them snooping around pictures that you don't want to show them. However, with GrapheneOS, you can just download a separate Gallery application, only expose the photos (or the photo directory) that you want to show via Storage Scopes, pin the application, and safely hand the phone over to them.

I found this feature very helpful when shortlisting ~10 photos from a gallery of 500 photos. I downloaded PhotoSwooper (which lets you keep/delete photos by swiping right/left) from F-Droid, exposed the 500 photos directory to it, and started swiping. I iterated this a couple of times, and got my perfect 10.

  1. Contact Scopes: This is for the cases when you don't want to expose your contacts to the application for whatever reason (e.g. you don't want them to graph your connections or you just want to protect the privacy of your friends). You can just selectively share contact(s) instead of handing your entire phonebook to the application.

  2. Sandboxed Google Play: Some applications require the extremely invasive Google Play Services (because it operates with elevated system-level privileges). However, with GrapheneOS, you can just install the sandboxed play services, which acts as a regular user level application. You can then revoke network access within Sandboxed Google Play Services, and use your play services dependant application as usual.

So, basically, if you can afford it, go for GrapheneOS. I wanted privacy and security; but now that I tried GrapheneOS's features, a lot of these are now nonnegotiable to me.