[-] eth0p@iusearchlinux.fyi 7 points 3 months ago

Because I Got High by Afroman?

[-] eth0p@iusearchlinux.fyi 6 points 3 months ago* (last edited 3 months ago)

I highly, highly recommend Prodigal. It's an absolute gem of a game if you're a fan of the Oracle games, and it's currently on sale too. It nailed the GBC art style and palette, and it has an interesting story full of mysteries.

There's also Beyond the Mountains, which is a passion project by a single developer. It's not as polished as one would hope, but it's free, and it's a fun game that can be completed in a couple of hours.

[-] eth0p@iusearchlinux.fyi 5 points 11 months ago

Firefox will probably survive if they bow and add WEI support.

I can't imagine Google, Microsoft, and Apple opening themselves up to further monopolization scrutiny by trying to keep attestation restricted to their own browsers on their own operating systems.

Self-built or community forks are probably screwed, though.

[-] eth0p@iusearchlinux.fyi 11 points 11 months ago

But the real questions is, can we change them?

Imagine this:

[-] eth0p@iusearchlinux.fyi 6 points 11 months ago* (last edited 11 months ago)

Would my government? Aladeen, 100%.
^If^ ^that^ ^doesn't^ ^make^ ^sense,^ ^it's^ ^a^ ^reference^ ^to^ ^a^ ^movie.^

[-] eth0p@iusearchlinux.fyi 6 points 11 months ago* (last edited 11 months ago)

In my other comments, I did say that I don't trust this proposal either. I even edited the comment you're replying to to explain how the proposal could be used in a way to hurt adblockers.

My issue is strictly with how the original post is framed. It's using a sensationalized title, doesn't attempt to describe the proposal, and doesn't explain how the conclusion of "Google [...] [wants] to introduce DRM for web pages" follows the premise (the linked proposal).

I wouldn't be here commenting if the post had used a better title such as "Google proposing web standard for web browser verification: a slippery slope that may hurt adblockers and the open web," summarized the proposal, and explained the potential consequences of it being implemented.

[-] eth0p@iusearchlinux.fyi 7 points 11 months ago

I don't disagree with you. If this gets implemented, the end result is going to be a walled garden web that only accepts "trusted" browsers. That's the concern here for ad blocking: every website demanding a popular browser that just so happens to not support extensions.

My issue is with how the OP framed the post. The title is misleading and suggests that this is a direct attempt to DRM the web, when it's not. I wouldn't have said anything if the post was less sensationalized, laying out the details of the proposal and its long-term consequences in an objective and informative way.

[-] eth0p@iusearchlinux.fyi 11 points 1 year ago

Circular dependencies can be removed in almost every case by splitting out a large module into smaller ones and adding an interface or two.

In your bot example, you have a circular dependency where (for example) the bot needs to read messages, then run a command from a module, which then needs to send messages back.

    v-----------\
  bot    command_foo
    \-----------^

This can be solved by making a command conform to an interface, and shifting the responsibility of registering commands to the code that creates the bot instance.

    main <---
    ^        \
    |          \
    bot ---> command_foo

The bot module would expose the Bot class and a Command instance. The command_foo module would import Bot and export a class implementing Command.

The main function would import Bot and CommandFoo, and create an instance of the bot with CommandFoo registered:

// bot module
export interface Command {
    onRegister(bot: Bot, command: string);
    onCommand(user: User, message: string);
}

// command_foo module
import {Bot, Command} from "bot";
export class CommandFoo implements Command {
    private bot: Bot;

    onRegister(bot: Bot, command: string) {
        this.bot = bot;
    }

    onCommand(user: User, message: string) {
        this.bot.replyTo(user, "Bar.");
    }
}

// main
import {Bot} from "bot";
import {CommandFoo} from "command_foo";

let bot = new Bot();
bot.registerCommand("/foo", new CommandFoo());
bot.start();

It's a few more lines of code, but it has no circular dependencies, reduced coupling, and more flexibility. It's easier to write unit tests for, and users are free to extend it with whatever commands they want, without needing to modify the bot module to add them.

[-] eth0p@iusearchlinux.fyi 7 points 1 year ago* (last edited 1 year ago)

A couple years back, I had some fun proof-of-concepting the terrible UX of preventing password managers or pasting passwords.

It can get so much worse than just an alert() when right-clicking.

The codepen.

A small note: It doesn't work with mobile virtual keyboards, since they don't send keystrokes. Maybe that's a bug, or maybe it's a security feature ;)

But yeah, best tried with a laptop or desktop computer.

How it detects password managers:

  • Unexpected CSS or DOM changes to the input element, such as an icon overlay for LastPass.

  • Paste event listening.

  • Right clicking.

  • Detecting if more than one character is inserted or deleted at a time.

In hindsight, it could be even worse by using Object.defineProperty to check if the value property is manipulated or if setAttribute is called with the value attribute.

[-] eth0p@iusearchlinux.fyi 5 points 1 year ago* (last edited 1 year ago)

Back when I was in school, we had typing classes. I'm not sure if that's because I'm younger than you and they assumed we has basic computer literacy, or older than you and they assumed we couldn't type at all. In either case, we used Macs.

It wasn't until university that we even had an option to use Linux on school computers, and that's only because they have a big CS program. They're also heavily locked-down Ubuntu instances that re-image the drive on boot, so it's not like we could tinker much or learn how to install anything.

Unfortunately—at least in North America—you really have to go out of your way to learn how to do things in Linux. That's just something most people don't have the time for, and there's not much incentive driving people to switch.


A small side note: I'm pretty thankful for Valve and the Steam Deck. I feel like it's been doing a pretty good job teaching people how to approach Linux.

By going for a polished console-like experience with game mode by default, people are shown that Linux isn't a big, scary mish-mash of terminal windows and obscure FOSS programs without a consistent design language. And by also making it possible to enter a desktop environment and plug in a keyboard and mouse, people can* explore a more conventional Linux graphical environment if they're comfortable trying that.

[-] eth0p@iusearchlinux.fyi 7 points 1 year ago* (last edited 1 year ago)

Had to give up at rule 20 because I was using a phone.

SpoilerAs much ~~fun~~ pain as that was, highlighting with a touch screen is nowhere near fast enough to put out the fire.

Would love to see a speedrun leaderboard for this, though.

[-] eth0p@iusearchlinux.fyi 8 points 1 year ago

You say that like it hasn't been happening already for two decades.

https://www.cnet.com/news/privacy/fbi-taps-cell-phone-mic-as-eavesdropping-tool/

I can't read French so I only have others' translations and intepretations to rely on, but from what I understand, the differences here are that,

  1. France lawmakers are being direct with their legislation, rather than relying on precedence or judges' interpretations of anti-terrorism or national security bills; and

  2. Privileged conversations (e.g. between client and attorney) can still be admissible when recorded surreptitiously this way.

Apparently it would still need to be pre-approved by a judge. That doesn't inspire much confidence in it not being hand-wave allowed, though.

view more: ‹ prev next ›

eth0p

joined 1 year ago