12
118
tuna

@discuss.tchncs.de

she/her

tuna 71 points 2 years ago

Linux, Firefox, virtualization, Blender, KDE Plasma, ffmpeg, Krita, Inkscape, yt-dlp, Godot, programming language toolchains

path: 0 14678375, hotness: undefined, score: 71, children: 6
tuna 47 points 2 years ago

Imagine they have an internal tool to check if the hash exists in their database, something like

"SELECT user FROM downloads WHERE hash = '" + hash + "';"

You set the pdf hash to be 1'; DROP TABLE books;-- they scan it, and it effectively deletes their entire business lmfaoo.

Another idea might be to duplicate the PDF many times and insert bogus metadata for each. Then submit requests saying that you found an illegal distribution of the PDF. If their process isn't automated it would waste a lot of time on their part to find the culprit Lol

I think it's more interesting to think of how to weaponize their own hash rather than deleting it

path: 0 10746305, hotness: undefined, score: 47, children: 1
tuna 29 points a year ago
pub trait Gender {}

// implement your own gender, and if u want, publish online! :3
pub struct Masculine;
impl Gender for Masculine {}
pub struct Feminine;
impl Gender for Feminine {}

// removed old api:
// fn two_lovers(one: Masculine, two: Feminine)
// srry not srry for breaking backwards compat
// new version has more flexible api!<3
fn two_lovers(one: Box<dyn Gender>, two: Box<dyn Gender>) {
    println!("smooch~");
}

// todo: other functions!!

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn me_and_who() {
        two_lovers(Box::new(Feminine), Box::new(Feminine));
    }
}
path: 0 17395167, hotness: undefined, score: 29, children: 2
tuna 28 points 2 years ago

and I'm a tuna!

path: 0 14643446 14644667, hotness: undefined, score: 28, children: 3
tuna 26 points a year ago

Aw man :( Asahi Lina and her GPU project has been an inspiration for me. Hope she is alright.

path: 0 15785181, hotness: undefined, score: 26, children: 0
tuna 25 points a year ago

we have a truly marvelous application process, which this margin is too small to contain

path: 0 15975423, hotness: undefined, score: 25, children: 1
tuna 22 points a year ago

🫂 beautiful name btw <4

path: 0 16397061, hotness: undefined, score: 22, children: 1
tuna 21 points 2 years ago

path: 0 12813250, hotness: undefined, score: 21, children: 4
tuna 21 points 2 years ago

On mobile I kept opening the whois pixel by accident when dragging. I often tap and hold to initiate a drag because I'm still looking at the art, but when i drag away and let go, it opens the whois thing. I think if you drag a certain screen-space distance away it should cancel the whois pixel lookup.

The heatmap I found too hard to tell where recent pixels were placed. I think at 100% opacity the "cold" pixels should be dark blue instead of their actual color.

A couple times I placed a dot, realized I actually didn't want it there and ran out of time to undo, which felt bad having to wait 30s. I wish it was a bit longer.

When you try to place a pixel a few milliseconds too early I feel like it should queue it and wait the few milliseconds for you.

I'm not super sure on the canvas having transparency. Most people treated the canvas as white, not transparent. If you wanted a white-on-white drawing, people will just make an outline.

Maybe a concept worth testing: if you place a pixel next to your own pixels, you get a (slightly) reduced cooldown, that way you get an extra boost when completing your art. (At the same time, I think there is beauty in the canvas being as simple as possible:)

path: 0 11199434, hotness: undefined, score: 21, children: 3
tuna 21 points 2 years ago

XWayland normally runs x11 apps seamlessly (more or less) in Wayland

XWayland rootful spawns a window which is like a virtual monitor running a full x11 session inside it. You spawn apps inside of the window using the DISPLAY variable

path: 0 10075637 10076315, hotness: undefined, score: 21, children: 11
tuna 19 points 2 years ago
o Windows 10
|
o Linux Mint
|
|\__
|   \
|    o Manjaro KDE
|    |
o Fedora KDE
|    |\__
|    |   \
x    |    o Windows 11
     |    o Windows 11 + Arch Linux
     |    |
     o Arch Linux
     |    |
     |    |
     |    o Windows 11 + Debian KDE
     |    |

hopefully it renders well on your client :D

path: 0 10447446, hotness: undefined, score: 19, children: 4
tuna 18 points 2 years ago

Looks to be in the works which makes me very happy. If you use nightly, make sure browser.tabs.groups.enabled in about:config is enabled

https://connect.mozilla.org/...

path: 0 13048489 13051075, hotness: undefined, score: 18, children: 0
tuna 15 points 2 years ago

Arch is the only person who has been in my house for the last week and i have no clue how he is going about it and he has no clue how it is affecting him or how he feels and how it is affected me

path: 0 12155284, hotness: undefined, score: 15, children: 2
tuna 15 points 2 years ago

My first impression is that it feels fake because of:

when kids our on him

our -> are

Come try are boy

are -> our

Maybe it depends on accent but "are" and "our" are homophones in my accent and if you spelled by sound you'd likely spell "our" as "are" ..i cant help but feel like it's intentionally increasing the mistake counter :(

path: 0 10365886 10368972, hotness: undefined, score: 15, children: 1
tuna 15 points a year ago

I need there to be a theory video about how this is actually not a joke, but confirmation that mojang will rewrite minecraft bedrock edition in rust and how it will save bedrock edition from all of its bugs

path: 0 16200641, hotness: undefined, score: 15, children: 0
tuna 15 points 2 years ago

And make sure the time is synced to the cloud so they need internet connection, and so the player can't be sneaky and reload the game to reset the timer if they pressed x too many times

path: 0 11358404, hotness: undefined, score: 15, children: 0
tuna 14 points a year ago

I got inspired and made a similar effect is desmos

f(theta, t) = 0.1 max(cos(theta + t), 0)^2 sin(8 theta)

r = 1 + f(theta, t)
r = 1 - f(theta, t)
where: 0 <= theta <= 2 pi

t = 0
where: 0 <= t < 2 pi

It's not quite right though, the sin(8 theta) part needs to phase shift, but basing it off of t messes up the perfect loop.

At that point I would reach for code, which also lets you save the animation. Using something like p5.js (editor.p5js.org) you can easily draw graphics and save each frame as its own image

path: 0 16003203, hotness: undefined, score: 14, children: 1
tuna 14 points 2 years ago

Blender's webpage for a completed donation which reads "Thank you! Your donations help dozens of people to work on Blender development, online infrastructure and documentation."

path: 0 14271242, hotness: undefined, score: 14, children: 0
tuna 12 points 2 years ago

Something i didnt know for a long time (even though its mentioned in the book pretty sure) is that enum discriminants work like functions

#[derive(Debug, PartialEq, Eq)]
enum Foo {
    Bar(i32),
}

let x: Vec<_> = [1, 2, 3]
    .into_iter()
    .map(Foo::Bar)
    .collect();
assert_eq!(
    x,
    vec![Foo::Bar(1), Foo::Bar(2), Foo::Bar(3)]
);

Not too crazy but its something that blew my mind when i first saw it

path: 0 12918465, hotness: undefined, score: 12, children: 8
tuna 11 points a year ago

On any reasonable terminal, RETURN has a key of its own

This reminds me of a time at work when I was not on a reasonable terminal. I was explaining to a co-worker how I automated some tasks by running some scripts, but in my demo my RETURN key didn't work, so I had to improvise and use CTRL+M which worked, hahaha. I don't know how the terminal got in such a bad spot but it was probably something to do with msys on Windows.. honestly not sure. It was perfect timing to have happen while teaching of course ;)

I would also be doing a disservice not to share what the book you linked says about CTRL+D. Right after your quote, it says:

Other control characters include ctl-d, which tells a program that there is no more input

This is pretty good for an introduction, but it is not the full story. It explains CTRL+D properly later (chapter 2, page 45):

Now try something different: type some characters and then a ctl-d rather than a RETURN:

$ cat -u
123<ctl-d>123

cat prints the characters out immediately. ctl-d says, “immediately send the characters I have typed to the program that is reading from my terminal.” The ctl-d itself is not sent to the program, unlike a newline. Now type a second ctl-d, with no other characters:

$ cat -u
123<ctl-d>123<ctl-d>$

The shell responds with a prompt, because cat read no characters, decided that meant end of file, and stopped. ctl-d sends whatever you have typed to the program that is reading from the terminal. If you haven’t typed anything, the program will therefore read no characters, and that looks like the end of the file. That is why typing ctl-d logs you out — the shell sees no more input. Of course, ctl-d is usually used to signal an end-of-file but it is interesting that it has a more general function.

This is why the article says it's "like pressing enter," because it flushes the input just like enter. The difference is that enter sends a newline, but CTRL+D does not, so you can exploit that to send no data (and the program chooses to interpret that as an EOF).

path: 0 15812535 15813647, hotness: undefined, score: 11, children: 0

thanks for using Leebra!

go to feed...