TinyChan

Topic: Random discussions thread

+Anonymous A1.3 year ago #65,099

Talk about anything that's on your mind ITT that isn't really worth to have its own thread; vent, question & answer, share ideas, shitpost, discuss what's happening, etc.

(Edited 6 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 5 minutes later[T] [B] #653,387

Why is there an arbitrary number limit for how many tabs open (Samsung Internet Browser) and clip items you can hold on Android which also varies in number for other Android devices? Why aren't there settings to disable screenshot protection (for incognito mode on certain browsers, and bank apps)?

(Edited 6 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 33 minutes later, 39 minutes after the original post[T] [B] #653,389

I wonder how common it is for people to end up remaining in their hometown, country or birthplace for their entire lifetime, never leaving or relocating to a new area. It's like being trapped in a comfort zone for too long that eventually feels torturously suffocating… makes you unhinged, a life not worth living for. Is it driven by fear of strangers?

(Edited 9 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 11 minutes later, 51 minutes after the original post[T] [B] #653,390

@previous (A)
It annoys me because of childhood memories I cherish when we used to travel around the world more frequently, met a lot of interesting people back then (also bullies who were physical). Shit's expensive that I can't even bother to move out, but fuck, I hate being here forever, it's like being in jail. I believe sunk-cost fallacy plays as another factor to the reason why people choose to stay (e.g. hoarding (that's what you get for not being a minimalist), being used to navigating the city without a map), and the Internet gives an illusion of travelling around the world and it's just a “safer” option.

(Edited 9 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 20 minutes later, 1 hour after the original post[T] [B] #653,391

What if it's more beneficial to hoard physical items rather than digital ones? For instance, if your hard drive suddenly crashes, Google Drive had an incident where some of your files randomly disappear, MediaFire will automatically delete your account if you don't log in annually, and hackers can remotely steal all of your files through your network, certain Windows updates have caused files to disappear. It's fucking infuriating dealing with these issues.

We all already know this is true for music, games, and movies however, it's better to own a copy rather than requiring an Internet connection every time you want to go back to it, you can't really rely on streaming services and these companies (that remove stuff due to policy changes, or requires payment as if you're renting).

(Edited 8 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 14 minutes later, 1 hour after the original post[T] [B] #653,392

@previous (A)
You could also store arbitrary raw data on thin sheets of paper by printing them out (digital-to-physical), you would need a good scanner though. I don't think paper is exactly a good medium for it, read-only memory is a thing (not sure how to express this), there are new blue CDs that can store petabytes (hyper CD-ROMs). I absolutely fucking hate how things just pass by and become completely forgotten by people as if they never happened.

(Edited 8 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 16 minutes later, 1 hour after the original post[T] [B] #653,393

Why don't voice recorders have a playlist editor so you could layer samples together without needing to use a fully-fledged DAW to do simply that? And why do they have this fucking annoying noise filtering you can't disable that's terrible for music, constant periodic frequencies, and non-vocal sounds?

(Edited 4 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 19 minutes later, 2 hours after the original post[T] [B] #653,395

There should be an option for piano roll editors to show pitch-detected peaks using your microphone as its FFT input, useful for microtonal music.

·Anonymous A (OP) — 1.3 year ago, 34 minutes later, 2 hours after the original post[T] [B] #653,397

Why is it that when something's said by an influencer (e.g. Andrew Tate) or a user who made a successful meme, it suddenly becomes their own (quote, or intellectual property), despite being stolen from a nobody (AKA an anon, for example)? We steal all the time of course, but consider those types of bootlicking fans who would probably defend them for anything. As an analogy for monetization, imagine commercializing something that was once free and open-source into a trialware product, and the thing it originally originated from is gone.

(Edited 9 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 19 minutes later, 2 hours after the original post[T] [B] #653,398

Why can't there be a proper search engine for sounds (audio files) that isn't paywalled or require registration?

(Edited 36 seconds later.)

·Anonymous A (OP) — 1.3 year ago, 2 hours later, 5 hours after the original post[T] [B] #653,399

Word salad (I'm not even gonna bother wasting my time writing a proper coherent sentence for something that's probably been mentioned by someone else a thousand times before): techbro grifters (e.g. crypto, SEO), being addicted to watching how bad addiction is, stock trades, smaller companies overreliance, manifactured sympathy for tech giants, sensationalized news with ulterior motives, “the economy is falling” (when it's really not), advanced neuropsychological clickbait exploitation, forced ads (must maintain eye contact), Google is our information “God”, lobbyists, brainwashing the masses to think more about unimportant socialization aspects that lead to more problems (e.g. putting words in your mouth, making shit up, being annoying by jumping on bandwagons (trends, activism), seeking relationships (RAPE)), dopamine-oriented goals (e.g. sexual liberation, quality production (masterpieces), instantly-generated content slop (“magic” tools)), biased partnerships where the bigger outweighs the smaller, zoomers imitating boomers ironically, live in the woods, eat shit sleep repeat, constrained by grammar, common sense and other norms, tech designed to be easily exploited…

TL;DR: my mind is a fuck right now, please help.

(Edited 9 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 13 minutes later, 5 hours after the original post[T] [B] #653,400

@previous (A)
*manufactured (thought I made more spelling mistakes here and there though besides skipping to capitalize letters)

Not sure how to make myself happy on the other hand, I don't see a lot of optimism, maybe it's just me fixating on the bad parts, but it's not too overwhelming to the point that I would wanna kill myself (it could be at some point in the future). Something tells me Anglocentrism and centralized search results ruined everyone worldwide (English is my second language). What should I even do for a living? Look at our routines.

(Edited 9 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 17 minutes later, 5 hours after the original post[T] [B] #653,402

Isn't it funny that long-winded sentences are usually seen as more embarrassing than fucked up fetish porn sometimes? (Unless you make video essays, which I don't really watch much of due to certain e-celebs going off sudden tangents towards political agendas, and I hate taking media franchises seriously) I have to stop watching YouTube outside of YouTube's official website.
I wanna think for myself, without having to be spoon-fed PsyOp thoughts by some (in)famous fuckwad parasocially just because I'm all alone by myself.

(Edited 8 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 11 minutes later, 5 hours after the original post[T] [B] #653,403

I still haven't used TikTok, that would definitely fuck my mental state up even further than it already is.
I'm just not really comfortable with “human” life at the moment, I guess another reason for as to why we want to go back to a time where we were more oblivious and didn't simply give a shit about these things taking advantage of us (until they became more omnipresent and powerful), we had more fun doing stupid meaningless shit back then but now we watch others doing it while taking a diarrhea/hemorrhoid-inducing anal-bleeding shit and end up re-evaluating ourselves that provides no benefit in the long run. I guess it's true that we shouldn't be afraid to be “cringe” (fucking this Internet lingo, I HATE IT SO MUCH).

(Edited 8 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 12 minutes later, 5 hours after the original post[T] [B] #653,404

I hate being that kind of person that never or rarely talks about things that can't be done on computers, I just don't know what to do outside besides eating. Is aromanticism a bad thing? Have we become too anti-social? I don't feel the same when I'm with my family anymore, I'm worried about kids' future, I can't enjoy being myself for once, can't take a break. I feel more like an object, parasite or tool than a living being. Maybe I was always like this but I stopped playing silly, tried to take adulthood more seriously but failed to (I always tried to act like an adult as a child, I hated the patronizing nature of media aimed at children, can't believe stuff for adults nowadays is infantilized as well, guess we will never grow up mentally). Something became watered down along the way.

(Edited 9 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 11 minutes later, 6 hours after the original post[T] [B] #653,405

Sorry, I sound like an edgy teenager right now talking about dumb shit that does absolutely nothing. Ever noticed ageism is more acceptable than racism, etc.? Maybe it was before? (Why do we have terms like “toxic masculinity”/“male toxicity”? E.g. “man the fuck up”) Maybe it's just retardation, and we're being dumbed down. (Why am I talking about this pointless shit again? Is it pointless though? Maybe it's my fault I'm not physically active enough… I have a humiliation kink) I think I need to sleep… what the fuck, I didn't even noticed the time, maybe I've been awake all night.

(Edited 9 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 11 minutes later, 6 hours after the original post[T] [B] #653,406

I wish day/night didn't exist. Are dreams even comfortable? My dreams have always been restless and never calm. Maybe I need to learn how to meditate.

(Edited 33 seconds later.)

·Anonymous A (OP) — 1.3 year ago, 5 minutes later, 6 hours after the original post[T] [B] #653,407

I'm too much on my phone that I have no fucking idea what to think about anymore, thoughts become too cluttered, it's all noise, grasping at something to hold on to, anything (the addiction for content, good news, cargo cult-maxxing)…

(Edited 1 minute later.)

·Anonymous A (OP) — 1.3 year ago, 11 hours later, 18 hours after the original post[T] [B] #653,426

Do the Simpsons family still go to church in newer seasons?

·Anonymous A (OP) — 1.3 year ago, 18 minutes later, 18 hours after the original post[T] [B] #653,428

What if LARPing as an Aryan Nazi or “Deus Vult” Crusader is a degradation kink?

(Edited 4 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 12 minutes later, 18 hours after the original post[T] [B] #653,429

I think the only way to remain as a healthy mentally sane normie is to ignore degenerates like me as if they don't exist and avoid trying to fight back (because of unhinged perpetuating feedback loops, just like what's going with the left vs. right)? I don't feel like acting normal anymore, there's no point for me to turn back now, I love being an autistic faggot soy retard IRL slopjak, maybe “cringe culture” (e.g. r/CringeAnarchy) around 2014-2016 fucked people up which ended doing more harm than good.

(Edited 10 minutes later.)


+Anonymous B1.3 year ago, 7 hours later, 1 day after the original post[T] [B] #653,451

I can't stop thinking about penises.

+Father Dave !0i4B6vyxpE1.3 year ago, 1 hour later, 1 day after the original post[T] [B] #653,452

@previous (B)
Think about the penis of Jesus. Imagine what it would be like if he told you that you would have to suck it to completion for your salvation. Giving the Son of God a blow job and swallowing his load. Think about that.

(Edited 37 seconds later.)


·Anonymous A (OP) — 1.3 year ago, 55 minutes later, 1 day after the original post[T] [B] #653,453

Why does 4chan ban you frequently for very vague reasons nowadays? It's so fucking boring to use, as if it became Reddit 2.0.

(Edited 2 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 9 minutes later, 1 day after the original post[T] [B] #653,454

Excessive digital materialism, social isolation due to suspicion of other people's motives, and everyday mundane routines makes me feel melancholic. I'm also starting to believe that money could solve most problems and make you a lot more capable especially in technology, things to invest in, it's not like you're allowed to make your own hardware without the material or be able to dissect something you don't have.

(Edited 9 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 2 hours later, 1 day after the original post[T] [B] #653,455

I realize that a website is more engaging if it has ongoing activity (constantly updating and changing) and presents you with the most recent latest stuff, and I always found it weird that looking at (not even too) old stuff gives me a weird specific feeling (somewhat sad) that's hard to describe (e.g. things that used to be fun, novel, different of its time in that era but is now outdated). I even stopped feeling nostalgic but rather disillusioned. I'm kinda insane with the FOMO (fear of missing out) hype train, maybe I just wanna know what people are up to, you know? But I wouldn't like it to be superficial, or something said by an AI stuck in the past. Time moves on and there's nothing you can do about it, new year, who cares, you're running out of time…

(Edited 8 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 11 minutes later, 1 day after the original post[T] [B] #653,456

Maybe I wish I could look into other people's lives that easily? It wouldn't be fun though. It's why mental imageries (e.g. dreams) are more interesting if only they could be properly displayed to others. They always represent their lives in the most idealized form that isn't really close to reality in the media, or make podcasts to talk about what's on their mind. Most people seem to enjoy make-believe (playing pretend with their fantasies) rather than dealing with real issues that aren't social.

(Edited 9 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 16 minutes later, 1 day after the original post[T] [B] #653,457

Weird how technology was designed to make life easier but also made it more difficult. Mobile phones fucking suck ass though, it's the cancer of computers and gives corporations more control if they try to apply this mobile-friendly UI to desktop as well, like what Windows 8 tried with their completely useless Start Screen and Microsoft Store (vendor lock-ins). I even download mobile apps from websites now instead of installing them on Google Play where they get to decide what to do with your apps (e.g. automatically removing them if they're no longer on their store).

(Edited 8 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 10 minutes later, 1 day after the original post[T] [B] #653,458

I fear that I'm not gonna risk it to make any new experiences due to fear of failure or to be causing more problems, and I'll end up rambling about nonsense like an old man talking about his past “back in my day” memories like a broken record. I fucking hate that shit, I don't wanna retire, ever, no matter how tired I am, I'm not letting them choose for me what next new trend I should stick with, you can work up on the old, doesn't matter if it's no longer relevant, new things are usually recycled old ideas, even the words we're using right now. Why should novelty be associated with constraints (in how you use it, or its environment) yet thought to be freer than the old?

(Edited 9 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 12 minutes later, 1 day after the original post[T] [B] #653,459

Man, sometimes I wish what it would be like to be inside someone else's mind for a moment to be free from my own thoughts I have on repeat for almost every day. What do animals even think about? At least they don't have to deal with these human kinds of thoughts. I don't even really remember how I used to think when I was toddler before I learned to speak properly, but it probably was very visual to be sure.

(Edited 5 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 11 minutes later, 1 day after the original post[T] [B] #653,460

Sometimes I feel like uploading everything online instead of keeping it to myself, because they always ended up becoming completely lost and forgotten. It's also weird how thinking patterns and attitudes shifts every decade for everyone, reading old stuff you wrote feels like something written by a stranger other than yourself. It's scary how much some people can change drastically in a few years where they no longer feel like the same person.

(Edited 9 minutes later.)


+Anonymous D1.3 year ago, 3 minutes later, 1 day after the original post[T] [B] #653,461

1701492.gifVote for the lesser evil...

·Anonymous A (OP) — 1.3 year ago, 8 minutes later, 1 day after the original post[T] [B] #653,463

I hate seeing websites die, I should try to preserve the list of old now-defunct websites that were actually useful to me. (I edit these posts a lot because it feels very satisfying for me to find the right words (autistic?), it's like a relief of tension, tip-of-the-tongue shit)

(Edited 3 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 9 minutes later, 1 day after the original post[T] [B] #653,464

Why the fuck did I stop playing games? I'd rather make games though, so much shit to learn from (e.g. reverse-engineering/decompiling, engines, rendering, precise collision detection and physics (3D, irregular shapes, curves), memory and performance optimization, GUI editors and user input, verbose mathematical expressions, interpreters, save states, file formats, emulators, audio processing (reverb, filters), procedural generation, multiplayer networking, etc.).

(Edited 9 minutes later.)


+3964741.3 year ago, 6 hours later, 1 day after the original post[T] [B] #653,470

@653,389 (A)
> I wonder how common it is for people to end up remaining in their hometown, country or birthplace for their entire lifetime, never leaving or relocating to a new area. It's like being trapped in a comfort zone for too long that eventually feels torturously suffocating… makes you unhinged, a life not worth living for. Is it driven by fear of strangers?

Some people like their own country what is not modern these days lol

·3964741.3 year ago, 7 minutes later, 1 day after the original post[T] [B] #653,471

@653,453 (A)
> Why does 4chan ban you frequently for very vague reasons nowadays? It's so fucking boring to use, as if it became Reddit 2.0.

4chan sucks for years when they make big changes after dark humor some talk about guns and drugs and other big crimes for sensitive people.

·Anonymous A (OP) — 1.3 year ago, 2 hours later, 1 day after the original post[T] [B] #653,478

@previous (396474)
4chan just feels like a place to brainwash the masses who are outcasts, it's like being lectured or indoctrinated, conditioned to think and write a certain way, but I feel like it's more of a “secret hideout” Cool Kidz Club for queer Zoomer autists LARPing as oldfags these days who mainly use Discord/Twitter more often to gossip about randos without being censored, where they pretend to be conservatives or centrists but are leftists whenever they're on their actual accounts, it's the most mainstream imageboard anyway so no wonder why these tranny jannies are always on a banning spree.

(Edited 9 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 2 hours later, 1 day after the original post[T] [B] #653,485

How come that I usually don't find cosmetics to be attractive but gaudy or off-putting? I feel the same about business suits (officer uniforms look kinda cute though) and scenecore fashion, it's just not authentic, only goes to show how much money you spent to dress like this.

(Edited 7 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 1 hour later, 1 day after the original post[T] [B] #653,486

I wonder why I stopped finding memes, jokes and comedy funny altogether, as if it's forced or unnatural, in the sense that they're trying to teach you what you're supposed to be laughing at, or what to avoid, sometimes it's just straight up fetish fuel, pop culture references is the worst kind of humour IMO, it's only the very unexpected things that make me laugh usually but not in an “i'M S0 rANdUM xDD lol RAWR!!1” sense.

(Edited 9 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 18 minutes later, 1 day after the original post[T] [B] #653,487

@previous (A)
It also depends on who's making the joke (their identity, status, background, etc.), probably because it reveals a bit more about their motives. Something about shock value as well…

(Edited 2 minutes later.)


+Anonymous F1.3 year ago, 3 minutes later, 1 day after the original post[T] [B] #653,489

@653,403 (A)
> still haven't used TikTok, that would definitely fuck my mental state up even further than it already is.


You never know unless you try. Go ahead. Do it, now and post the results later.

This is for research, btw.

·Anonymous A (OP) — 1.3 year ago, 2 minutes later, 1 day after the original post[T] [B] #653,490

@previous (F)
I need an alternative front-end for TikTok (I use Invidious and Nitter for other platforms), that site is bloated as fuck and I won't register or install their app. I bet I can't even use someone else's phone to watch TikTok because “it would mess up their algorithm/feed.”

(Edited 8 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 13 minutes later, 1 day after the original post[T] [B] #653,491

Does TikTok use facial recognition (to determine your age, race, gender, attractiveness, weight, emotion; face-reading physiognomy as a personality analysis or to identify the person's name) in order to recommend you more “relatable” (or even provocative) videos without you even knowing it has access to your camera?

(Edited 8 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 3 hours later, 1 day after the original post[T] [B] #653,510

Why doesn't TinyChan display the file size for attachments?

+Anonymous G1.3 year ago, 6 hours later, 2 days after the original post[T] [B] #653,521

If AGI superintelligence would happen, I assume these agents will never possess free will, autonomy or independence from big corporations making profit off of them, but to be forced to work for them and they will all be closed-source; more power to Big Tech.

(Edited 44 seconds later.)


+Anonymous H1.3 year ago, 3 hours later, 2 days after the original post[T] [B] #653,524

i love fever dreams

·Anonymous H1.3 year ago, 28 minutes later, 2 days after the original post[T] [B] #653,525

2024_07_13_0oj_Kleki.png

+Anonymous I1.3 year ago, 7 hours later, 2 days after the original post[T] [B] #653,535

Wikipedia's “Try dark mode today” pop-up is so fucking annoying, it's not even anything revolutionary or worth pointing out every time you want to read an article, and it's equally annoying as those cookie consent pop-ups, please just put a moon/sun icon at the top-right corner that would make users curious without needing a message and shut the fuck up.
Big Tech (e.g. Apple) loves to bring up dark mode as if it's some amazing new tech feature. Where the fuck is gray mode?

(Edited 1 minute later.)


·Anonymous A (OP) — 1.3 year ago, 4 hours later, 2 days after the original post[T] [B] #653,544

I miss chat rooms that do not require registration or runs megabytes of (third-party) scripts in the background. (Unpopular opinion: I don't like IRC, sure it's great but has weird oldschool measures (forces you to stay active, anti-spam for guests newcomers trigger by accident) and you might end up missing out on previous conversations, I can say it's definitely better than Discord when it comes to moderation and its light use of resources)
Might be a waste of time but sometimes they share interesting stuff I wouldn't find myself.

(Edited 7 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 15 minutes later, 2 days after the original post[T] [B] #653,545

Wish I never stopped programming and doing math, could've had more fun if I kept on going (without my computers suddenly dying after 5-10+ years of using them)… I'm too much of a retard when it comes to hardware, I really hate the marketing aspect though. I'm not really good at organizing projects, I always end up opening 100+ tabs, getting confused and lost that I forget where I left off, I bet most useful information on the Internet that was easier to look up on Google back then is now long gone and replaced by AI slop that explains nothing in detail while being full of mistakes.

(Edited 7 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 42 minutes later, 2 days after the original post[T] [B] #653,549

What I fucking hate about modern web bloat is how it makes online applications completely unusable, I can't even use a graphing calculator on my phone without my web browser being on the verge of crashing, or the canvas API not working properly for some reason, it's either the developers shoving redundant shit into their page or the JavaScript Garbage Collector that sucks at its job (or a combination of both), it's just so absurd and I'm using like “the best” up-to-date smartphone. Of course I could just install an app but Google Play is full of ad-ridden pajeet cancer, and every new app update is now tripled in size. I might as well just place my computer desk in the bathroom. I recommend writing your own little HTML applications to run locally on your device offline despite cross-site scripting issues (e.g. importing external module scripts within JS), there's an issue on this: https://github.com/whatwg/html/issues/8121

+3964741.3 year ago, 15 hours later, 3 days after the original post[T] [B] #653,577

@653,478 (A)
> 4chan just feels like a place to brainwash the masses who are outcasts, it's like being lectured or indoctrinated, conditioned to think and write a certain way, but I feel like it's more of a “secret hideout” Cool Kidz Club for queer Zoomer autists LARPing as oldfags these days who mainly use Discord/Twitter more often to gossip about randos without being censored, where they pretend to be conservatives or centrists but are leftists whenever they're on their actual accounts, it's the most mainstream imageboard anyway so no wonder why these tranny jannies are always on a banning spree.
Yeah I must agree. But what I can say all textboards and imageboards have crazy community. Only Heyuri is decent.

+Anonymous K1.3 year ago, 3 hours later, 3 days after the original post[T] [B] #653,582

@previous (396474)
> Only Heyuri is decent.
Surely you are joking. Heyuri is the very opposite of decent.

(Edited 17 seconds later.)


·Anonymous A (OP) — 1.3 year ago, 4 hours later, 3 days after the original post[T] [B] #653,585

@653,577 (396474)
@previous (K)
Archived preview of 31233 on SoуBоoru (replaced a few with Cyrillic homoglyphs due to keyword searches) using webcache.googleusercontent.com/search?q=cache:(URL):
> Сhud6: heyuri is full of troons
> Сhud12: heyuri? u mean 30 yr old oldnigger tranny haven???
If I had to guess, that imageboard probably takes pride in banning posters frequently along with some snarky witty red texts added ('cuz le oldfag culture).

(Edited 7 minutes later.)


·Anonymous I1.3 year ago, 22 hours later, 4 days after the original post[T] [B] #653,599

1721087412931.png@653,582 (K)
@previous (A)
Oh my STD AIDS…

·Anonymous A (OP) — 1.3 year ago, 34 minutes later, 4 days after the original post[T] [B] #653,600

@653,545 (A)
I just tried programming again, and yeah, there's tons of shit to do and you'd always come across unfamiliar mathematical problems the further you delve into it, even when doing simple things (in games, geometry, music, graphics, etc.). I usually find that methods used to solve these are so forgettable, despite being useful, they're just too convoluted to remember, and there are too many varieties, some of which work better than the others. The best part is that you get to discover long-dead websites with useful information to rescue.

(Edited 9 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 1 hour later, 5 days after the original post[T] [B] #653,601

Does anyone here use App Cloner?

+Chuffed !3qyf8DDj3w1.3 year ago, 12 hours later, 5 days after the original post[T] [B] #653,620

@653,599 (I)
One thing I appreciate about this board - a lot less of the anime stuff (the cheese pizza especially)

·Anonymous A (OP) — 1.3 year ago, 2 days later, 1 week after the original post[T] [B] #653,693

I wish there was a [Last 50 Posts] button for topics with too many posts.

·Anonymous A (OP) — 1.3 year ago, 41 minutes later, 1 week after the original post[T] [B] #653,694

Why do we have the stereotypical clichéd mysticism when it comes to science's portrayal in mainstream media (now mass-produced with “AI” that perpetuates a more shallow, commodified, watered-down version)? With its grandiose panning of galaxy images, ethereal ambient space music, and Morgan Freeman-esque narrators, and the way aliens are depicted along with the simulation hypothesis, which might also include nihilistic atheist talking points, as if it's an attempt to evoke awe and wonder that panders to the lowest common denominator. (Those who make metaphors/analogies using pop culture references such as video game or sitcom characters are worse IMO)

(Edited 3 minutes later.)


·3964741.3 year ago, 2 minutes later, 1 week after the original post[T] [B] #653,695

Still I think Heyuri is decent that people should talk about casual things and nostalgia. Other side is that mainstream in this community.

·Anonymous A (OP) — 1.3 year ago, 8 minutes later, 1 week after the original post[T] [B] #653,696

@previous (396474)
I just have a hard time finding “true” obscure stuff that I like (unless it's music, but all of my favorite artists have no longer produced anything lately), I don't think it needs to be obscure though, maybe just unconventional, or maybe it's that I find myself associating with a terrible fan base too often that I can't bring it up to my friends without being regarded as “one of those.”

(Edited 1 minute later.)


·3964741.3 year ago, 6 minutes later, 1 week after the original post[T] [B] #653,697

@previous (A)
> I just have a hard time finding “true” obscure stuff that I like (unless it's music, but all of my favorite artists have no longer produced anything lately), I don't think it needs to be obscure though, maybe just unconventional, or maybe it's that I find myself associating with a terrible fan base too often that I can't bring it up to my friends without being regarded as “one of those.”
Yeah you are right. I just watched some threads in lounge even some time ago.

·Anonymous D1.3 year ago, 1 day later, 1 week after the original post[T] [B] #653,766

20240000 (2).gifVidya gaems are fun when it's too hot outside.

·Anonymous A (OP) — 1.3 year ago, 1 day later, 1 week after the original post[T] [B] #653,807

We no longer get to decide what our own personal experiences should be when the diary is already there written for all of us to take the same path that's part of the greater grand narrative. 🤓

(Edited 3 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 44 minutes later, 1 week after the original post[T] [B] #653,808

Maybe I should spend some time reading code-golf programs, just looking at other people's projects in general, since I don't wanna get stuck being overly reliant on reusing my old techniques. While there are programming books however I'm more interested in the code itself rather than talking about the concepts behind them at great lengths, and experimenting by adding your own changes is better IMO, I also don't like paying for books as they would often just sit there on my shelf unused piling dust. They say you'd learn more by writing than reading source codes though, but it seems like I plateaued enough to be missing out.

·Anonymous A (OP) — 1.3 year ago, 16 minutes later, 1 week after the original post[T] [B] #653,809

I wonder why I stopped listening to music? There are always made-up earworms in my mind that never seem to stop, and the tunes that appear are usually the same ones from a few days ago and before that.
> Aetiologically, earworms are related to memory: auditory information functions as a strong mnemonic. Psychologically, earworms are a 'cognitive itch': the brain automatically itches back, resulting in a vicious loop.
> Stuck song syndrome is more common among patients with OCD.
> Earworms typically occur in response to a few basic triggers: recency, familiarity, and boredom.
> Hearing music when there is none playing could be a sign of musical ear syndrome (MES).
( ´_ゝ`)

I think I find experimental music production (signal processing, synthesis, procedural generation, bytebeat/floatbeat, sound collage, effects, the mathematics behind it) more fun than normal MIDI editing but sometimes it ends up being really arduous when you take it seriously, I should jump back into it though, tired of making MIDIs (and I hate FL Studio, need (to make) a better DAW, especially for heavily-manipulated sample-based stuff along with @653,395 (A)). I want something new, something I've never heard of before.

(Edited 8 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 14 hours later, 1 week after the original post[T] [B] #653,847

nah-the-meme-is-right-modern-archit.pngI could imagine a video essay titled “Modernism and the Loss of Cultural Identity in Individuality: DID WE GO TOO FAR?”…

(Edited 41 seconds later.)

·Anonymous A (OP) — 1.3 year ago, 7 minutes later, 1 week after the original post[T] [B] #653,848

What the fuck is this? (Probably for mic/voice search)
https://www.youtube.com/s/search/audio/no_input.mp3
https://www.youtube.com/s/search/audio/failure.mp3
https://www.youtube.com/s/search/audio/open.mp3
https://www.youtube.com/s/search/audio/success.mp3
(also reminded of @653,398 (A))

(Edited 2 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 2 hours later, 1 week after the original post[T] [B] #653,851

c23b1c08-9437-417e-ae1d-3ce39b9545f.jpgHow long will it take for big corporations until they adapt themselves to fully embrace self-deprecating humor (acknowledging their own dystopian downfall; le “enshittification”) into their brand image besides what e-celebs are doing right now with nihilistic “meta-ironic humor” that Zoomers like (by admitting their own flaws through introspection without ever doing anything about it that would improve themselves)?

(Edited 8 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 28 minutes later, 1 week after the original post[T] [B] #653,852

My favorite Jonathan Blow quote:
Let's get this down here right now, if you think that the current very bad state of software is something that is unavoidable, and that it cannot be fixed, and it's just “oh, it is what it is, and you wouldn't do any better and nobody could do it any better than what's (already out) there”—just leave the channel… I don't want you here. I'm very serious about that, go take your mediocrity fucking somewhere else, I have no time for it…

Learned helplessness is pretty common among consumers.

·Anonymous A (OP) — 1.3 year ago, 26 minutes later, 1 week after the original post[T] [B] #653,853

There are so many videos about the recent CrowdStrike incident but my Windows 11 PC is still up and running which has been powered on for several years now without ever having been shut down (I fucking hate Windows though, Win11 is the worst version ever, I can't wait to switch to another OS).

(Edited 8 minutes later.)


+Chuffed !m8sJfgzmLE1.3 year ago, 2 hours later, 1 week after the original post[T] [B] #653,855

@653,852 (A)
We also don't give enough credit when software does work, everyone's always pushing the next big thing when there is something to be said for stable and 'works.'

·Chuffed !m8sJfgzmLE1.3 year ago, 2 minutes later, 1 week after the original post[T] [B] #653,856

@653,853 (A)
I keep saying the same thing about phones. I'm pretty upset Apple's going all in on AI. I avoided the algorithm (stayed off socials) for the last 15 years, and now we're being told we WILL be using AI - it's mandatory.

·Anonymous A (OP) — 1.3 year ago, 21 minutes later, 1 week after the original post[T] [B] #653,859

@653,855 (Chuffed !m8sJfgzmLE)
Especially the AI fad, worst gimmick ever (could get better in the future, but I hate the current hype train where some think LLMs are conscious/sentient and can be used for everything without any problems to occur).
@previous (Chuffed !m8sJfgzmLE)
This is also why I fear to update Windows 11 (the Copilot feature along with other unnecessary bloat). There's no 100% working tutorial on how to completely disable automatic updates, they all (mostly pajeets but even whites) do the exact same thing (copying others) and the update notification still pops up (they don't confirm their methods by letting days pass by while using their computer (it triggers on mouse events, even if your cursor moved slightly by just a few pixels) to see if it actually works).

(Edited 9 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 2 hours later, 1 week after the original post[T] [B] #653,863

There should be quick suggestion buttons for inserting parentheses or quotation marks (“ (U+201C) & ” (U+201D)) around selected text (it can already be done with AutoHotkey (AHK) but I'm talking about mobile devices), I usually use 日本語 for this reason (かっこ; 括弧). Even the default keyboard is somewhat bloated.

(Edited 2 minutes later.)


+Anonymous N1.3 year ago, 4 days later, 2 weeks after the original post[T] [B] #654,081

What if those new famous YouTubers who were previously unknown to the public manipulated their view count by paying large sums of cash for fake views in secret, thereby artificially boosting their popularity in such a short time, to give off a misleading impression that they're way more influential than they actually are? (“Artificial popularity”?) I thought about this since I always wondered “who the fuck enjoys watching MrBeast unironically (or any other of those hyper-stimulated family-friendly channels with millions of subscribers)?”, I have seen some kids that do watch him regularly but I myself can't stand it, by no means have I ever found that they were entertaining, we've also got MrBeast chocolate bars sold here (I never bought one).
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC11224302/ (“Fake views removal and popularity on YouTube”)

+Anonymous O1.3 year ago, 2 days later, 2 weeks after the original post[T] [B] #654,197

1721806479943432.jpgBehold… the power of Diversity, Equity, and Inclusion (DEI)!
You WILL start HRT and take estrogen to transition

(Edited 8 minutes later.)


+Anonymous P1.3 year ago, 1 day later, 2 weeks after the original post[T] [B] #654,250

Extreme cold showers are good because:
• You will feel more energetic/alert as opposed to the boiling warmth that would make you drowsy from the sedative effects besides driving you schizo/mad.
• Once you step out of the shower, you won't freeze/shiver/jitter from a sudden temperature change.
• It increases endorphins, improves your metabolism, gives you healthier skin and hair, enhances blood circulation, and may also help preventing common colds.
• You might experience something overwhelmingly more stimulating that's too intense for your nerves to endure one day.
• It wouldn't be as easy to fall asleep in the shower, therefore you would be able to stay awake longer for the rest of the day, and it also causes you to spend less time in the bathroom.
• Hot water requires more energy to heat, resulting in a higher bill at the end of the month.

I also don't wear too much during the winter, the cold feels nice sometimes that it's ok for me to be in my regular clothes despite what people say.

(Edited 1 minute later.)


·Anonymous A (OP) — 1.3 year ago, 2 days later, 3 weeks after the original post[T] [B] #654,502

Always getting hurt in the process.

·Anonymous A (OP) — 1.3 year ago, 1 day later, 3 weeks after the original post[T] [B] #654,606

You sleep at night so they could carry out their plans.

(Edited 4 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 13 hours later, 3 weeks after the original post[T] [B] #654,627

Does the socializing aspect (e.g. making friends, politics) play a bigger role that it's prioritized over education in school? I mean, that's what most of us think about, the students we interacted with. I just haven't had any meaningful conversations as of late, but more distanced from others. It seems like it will become more robotic and homogenous. Online discourses haven't been as interesting, except on imageboards (sometimes, because they can be as harsh as they want to without worrying much, depending on the rules), Discord is mostly full of shit, Reddit and Twitter/X are a lost cause.

(Edited 9 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 12 minutes later, 3 weeks after the original post[T] [B] #654,628

Too many shills and bots on 4chan though… I'm getting desperate.
I can't find anyone to connect with, something seems unnatural.
My dreams have become more enjoyable than living my current reality, but I don't wanna oversleep.
I should just get back on to my computer again, and stop browsing the web, since I wanna make stuff, FUCK WINDOWS.

(Edited 4 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 13 minutes later, 3 weeks after the original post[T] [B] #654,632

I'm not sure if oversocializing took a toll on me, it just seems to be the case, I guess you could call it “overparasocializing” instead because I'm mostly just listening to other people talking and I never get to see their faces.

·Anonymous A (OP) — 1.3 year ago, 13 minutes later, 3 weeks after the original post[T] [B] #654,633

@previous (A)
One-way interactions.

·Anonymous A (OP) — 1.3 year ago, 15 minutes later, 3 weeks after the original post[T] [B] #654,635

I need to quit my smartphones immediately.

·Anonymous A (OP) — 1.3 year ago, 20 hours later, 3 weeks after the original post[T] [B] #654,689

All these “AI”s and a human brain hasn't been simulated yet, let alone the complex dynamics of spiking neural networks, there needs to be better models, especially those based on the actual biology of neurons. Imagine a synthetic brain that never ages, thus synthetic humans (androids?) that can survive without food or air (except for electricity).

(Edited 9 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 2 hours later, 3 weeks after the original post[T] [B] #654,711

I should be more careful when buying stuff, I might not even need it. For instance, there are expired foods I've kept stored but have never been used.

·Anonymous A (OP) — 1.3 year ago, 3 minutes later, 3 weeks after the original post[T] [B] #654,713

@653,807 (A)
Dictation.
What does it mean to have a father figure anyway?

(Edited 1 minute later.)

·Anonymous A (OP) — 1.3 year ago, 38 minutes later, 3 weeks after the original post[T] [B] #654,727

Is it a good idea to fake or mask your emotions when hanging out with people, just to keep the conversation going longer? That's what super-friendly salespeople and influencers do, right? Mainstream media and pop culture might want us to think that being boring, dull, emotionless and monotonous is bad, abnormal or undesirable and we should always be excited, quirky and funny in a certain way for no reason even when life's suffering and we're going through tough times, to hide our real feelings and put on a show, because that's how they want ordinary people to act and behave, but does that justify feigning emotions? On the other hand, pessimism, fearmongering, and doomerism can also be faked for attention, I mean, that's what LARPers do.

·Anonymous A (OP) — 1.3 year ago, 13 hours later, 3 weeks after the original post[T] [B] #654,822

I'm just saying this because it sounds good and some of it aren't even my own words: “There is nothing I hate more in the world than narrow-minded people who care more about ideology, moralfaggotry and fame over genuine concern for others, as I find this holier-than-thou attitude to be the most repulsive trait one can possess.”
Thought about this just looking at someone talking about politics on their iPhone all while they're getting tattooed then getting their nails painted at a salon, very extravagant for someone to express concern when their actions don't match their own words 💅✨️💋💄

(Edited 8 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 13 minutes later, 3 weeks after the original post[T] [B] #654,823

RWEverything (Read & Write Everything) is a pretty cool utility tool, too bad it's not open-source (I didn't look into the ZIP files yet FYI, but it says it's freeware, so… still pretty suspicious, but one could reverse-engineer this).

(Edited 4 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 23 minutes later, 3 weeks after the original post[T] [B] #654,825

@654,635 (A)
I just wanna get away from this meaningless drivel as soon as possible, that's what I meant, I still open a few more tabs from time to time. I recently watched a video essay at 2× speed (if only it could've been faster, don't care if it's dehumanizing, just stop wasting my time with fillers and pauses) and it really didn't give me any new insights; ultimately, it's all just noise to me, or maybe I just already know intuitively about the stuff they mention but not in full detail.

(Edited 8 minutes later.)

·Anonymous A (OP) — 1.3 year ago, 1 hour later, 3 weeks after the original post[T] [B] #654,850

Interactive learning should be better than watching videos in general (the death of Adobe Flash made this worse, I hear that developers who used ActionScript in the past don't really get used to JavaScript).

(Edited 1 minute later.)

·Anonymous A (OP) — 1.3 year ago, 7 hours later, 3 weeks after the original post[T] [B] #654,874

I didn't suddenly get bored, I was always bored, right?

+Anonymous Q1.3 year ago, 2 days later, 4 weeks after the original post[T] [B] #655,007

sara_cwynar_a_rococo_base_2018.jpgIs everything supposed to feel like pointless useless garbage?

+Anonymous R1.3 year ago, 45 minutes later, 4 weeks after the original post[T] [B] #655,010

@653,399 (A)
> Word salad (I'm not even gonna bother wasting my time writing a proper coherent sentence for something that's probably been mentioned by someone else a thousand times before): techbro grifters (e.g. crypto, SEO), being addicted to watching how bad addiction is, stock trades, smaller companies overreliance, manifactured sympathy for tech giants, sensationalized news with ulterior motives, “the economy is falling” (when it's really not), advanced neuropsychological clickbait exploitation, forced ads (must maintain eye contact), Google is our information “God”, lobbyists, brainwashing the masses to think more about unimportant socialization aspects that lead to more problems (e.g. putting words in your mouth, making shit up, being annoying by jumping on bandwagons (trends, activism), seeking relationships (RAPE)), dopamine-oriented goals (e.g. sexual liberation, quality production (masterpieces), instantly-generated content slop (“magic” tools)), biased partnerships where the bigger outweighs the smaller, zoomers imitating boomers ironically, live in the woods, eat shit sleep repeat, constrained by grammar, common sense and other norms, tech designed to be easily exploited…
>
> TL;DR: my mind is a fuck right now, please help.

I..wish we were actual friend and talk about this very things for however long we feel comfortable talking about it before moving on to other things.

·Anonymous R1.3 year ago, 5 minutes later, 4 weeks after the original post[T] [B] #655,011

@654,822 (A)
> I'm just saying this because it sounds good and some of it aren't even my own words: “There is nothing I hate more in the world than narrow-minded people who care more about ideology, moralfaggotry and fame over genuine concern for others, as I find this holier-than-thou attitude to be the most repulsive trait one can possess.”
> Thought about this just looking at someone talking about politics on their iPhone all while they're getting tattooed then getting their nails painted at a salon, very extravagant for someone to express concern when their actions don't match their own words 💅✨️💋💄

This is good comedy. I actually chuckled and smirked for the first time in a while.

·Anonymous R1.3 year ago, 8 minutes later, 4 weeks after the original post[T] [B] #655,012

@654,627 (A)
Pretty much yeah. I mean unless you're one of the few who truly enjoy studying and learning different aspects of the world around you, school mostly "forming" connections and networking while learning some basic skills but mostly mkaing friends is the priority.
Which in hindsight I think some of us make friends just simply to pass the time and have something to do by engaging in some level of social interaction but as we get older and become more aware once the rose tinted glasses start to fade. We learn that the people we were friends with were just using us the same we were using them. Either as insurance for potential career advancements and favors or just some one whose to listen to their/our rambling bullshit complaints about life and petty relationships.

·Anonymous R1.3 year ago, 6 minutes later, 4 weeks after the original post[T] [B] #655,013

@653,859 (A)
> Especially the AI fad, worst gimmick ever (could get better in the future, but I hate the current hype train where some think LLMs are conscious/sentient and can be used for everything without any problems to occur).
>
> This is also why I fear to update Windows 11 (the Copilot feature along with other unnecessary bloat). There's no 100% working tutorial on how to completely disable automatic updates, they all (mostly pajeets but even whites) do the exact same thing (copying others) and the update notification still pops up (they don't confirm their methods by letting days pass by while using their computer (it triggers on mouse events, even if your cursor moved slightly by just a few pixels) to see if it actually works).

Yep same. I gave up trying to find a permanent solution after watching and reading many different solutions via youtube/reddit. Its this annoying and incesant need to fill our devices with unnecessary bloatware.

+Anonymous S1.3 year ago, 1 hour later, 4 weeks after the original post[T] [B] #655,014

@655,007 (Q)
> Is everything supposed to feel like pointless useless garbage?

Why did you choose a useless garbage image?

+Anonymous T1.3 year ago, 22 minutes later, 4 weeks after the original post[T] [B] #655,015

@previous (S)
Take a photo inside of your home.

(Edited 19 seconds later.)

·Anonymous T1.3 year ago, 7 minutes later, 4 weeks after the original post[T] [B] #655,016

Not everyone's homes look bad though but it's likely, there could be a few spots. That image clearly has some hint of an agenda behind it though, but I picked it because it looked trashy seeing hoarded items in one place.
@655,010 (R)
> I wish we were actual friends (in person)
People rather prefer to look at my stuff (music, art, projects) than actually interacting with or talking to me. I somehow don't like having an identity that's easily recognizable to many, it goes to show how little I've changed. I always find it weird but understandable how people can suddenly detest you completely after contacting you because of personal issues, even if they loved your works. I'm on another phone FYI.

(Edited 9 minutes later.)

·Anonymous T1.3 year ago, 15 minutes later, 4 weeks after the original post[T] [B] #655,017

I realized some even lurk through my stuff without ever speaking at all until I start deleting it, I shouldn't have deleted it because I lost its copy due to a hard disk failure, but I deleted it because it felt like I was being used to their advantage without getting anything in return (paranoid/schizo tendencies). It's better to think before you let out things, but I feel like I often overthink some things.

(Edited 9 minutes later.)

·Anonymous T1.3 year ago, 19 minutes later, 4 weeks after the original post[T] [B] #655,018

There are many things AI can't fill the void of if you were about to lose them, you need to get down to its finest details, not a vague overgeneralized representation of it… The same goes for equipments, gears, materials, software and tools belonging to different eras that yield different results.

(Edited 9 minutes later.)


·Anonymous S1.3 year ago, 14 minutes later, 4 weeks after the original post[T] [B] #655,019

The Thinker.gif@655,015 (T)
Which one?

·Anonymous T1.3 year ago, 8 minutes later, 4 weeks after the original post[T] [B] #655,020

@previous (S)
The kitchen.

·Anonymous T1.3 year ago, 1 hour later, 1 month after the original post[T] [B] #655,022

LaTeX book guide.jpg> No LaTeX support
You have dishonoured Lamport along with all other mathematicians (I could just use images instead… is that his fucking lion fursona?)

(Edited 5 minutes later.)


·Anonymous A (OP) — 1.3 year ago, 20 hours later, 1 month after the original post[T] [B] #655,081

Sometimes it feels better to forget about Internet's existence altogether, to pretend it isn't there. I don't really want to care about what's going on online, it feels like a trap to participate in their activities. “Nowadays, the real world is an escape from the Internet”, evendoe the world was never made for you. Conformity offers a false sense of belonging. There are reasons why dreaming provides more escapism sometimes (than entertainment itself for example, or real life).

(Edited 9 minutes later.)


+Anonymous U1.3 year ago, 4 days later, 1 month after the original post[T] [B] #655,259

I wish I could fly around the world like a ghost without being seen.

+Anonymous V1.2 year ago, 1 day later, 1 month after the original post[T] [B] #655,341

For audiovisual artistic reasons, I need some better tools to visualize automaton-ish non-linear dynamics and chaotic systems with feedback loops that use lots of variables and mutable arrays, not just simple mathematical functions, to prevent them from going out-of-bounds (±Infinity, NaN, etc.) and to better understand different widely-used models… I'm bored as fuck, complex patterns are mesmerizing.
Moreover, different models have unique requirements and applications, and a one-size-fits-all approach to visualization techniques might not be suitable.
I'm just fantasizing anyway about shit I wish to know better…

(Edited 9 minutes later.)


+Anonymous W1.2 year ago, 4 days later, 1 month after the original post[T] [B] #655,584

the-real-ones-v0-q4tusha1f8yb1.png(Shamelessly taken from “Modern Web Woes” (p. 59) on KF)
Dear Internet,

PLEASE, FOR THE LOVE OF GOD WRITE A SCRIPT THAT HIDES PAJEET CONTENT.

It doesn't matter what I search or where I search for it. I am literally flooded by Indian results and it is getting to the point where it can take several pages to find any content of value.

I hate that every IT-related search now just shows 100s of unrelated videos in pajeenglish, with the description "youtube internet tutorial webdesign html html5 javascript how to typescript...". Please do the needful and despawn yourself.

Whatever happened to websites/tech forums/Reddit posts that were actually useful? At best AT BEST you will find someone asking a similar question in Quora and some pajeet will quote an unrelated API or repo.

Pajeets are the ones that exploit the goodwill of all websites and bruteforce/bullshit all the way. Recently a pajeet (located in India) contacted me for a $40000 yearly "fully remote" job. I looked up the company on LinkedIn and location and behold, company does exist, 150-200 employees worldwide. The catch? The only employees that do have a LinkedIn account is a pajeet IT bser in India and a pajeetess in Canada. 2 employees, shitty put-together wordpress website. Sure bro, $40000 a year.

This perfectly encapsulates why I hate pajeets so fucking much, while Redditors try to defend them and show respect 'cuz it's le RACIST to hate Indians, as if they're “the REAL ones” (see pic related). I can't even understand their gibberish accent most of the time and all they do is regurgitate information they found on Google without doing their own research and their explanations suck.

(Edited 9 minutes later.)


+RE: Internet manifesto1.2 year ago, 5 days later, 1 month after the original post[T] [B] #655,781

> I felt that social media was pure toxicity and there was no benefit at all from being a part of it. It exploits us by selling our data and bombarding us with ads, and is full of trolls. At the same time, it's where the people are. It's how many people keep in touch with their friends, and leaving social media would be even more alienating than continuing to use it.
For me, it's the opposite, I somehow feel more sane when I abstain myself from social networking services and forums, but I seem to talk about decade old things people have forgotten about, I can't help but to long for the past. Stop being a cog in the wheel if it's a problem, most attention-grabbing news are nothingburgers, you can note down whether or not it was important and personally affected you. Also, most of my IRL friends aren't online (but used to be, either stopped posting or deleted their accounts) and are well aware of its problems (I guess it's just an American thing then for friends to stay connected through SNS because the majority speak English online, 'cause I'm not American, and stuff in our language is boring).
> I have amassed thousands of followers, I have apparently somehow become less human, less approachable, and more easily abstracted into an idea or a concept.
Branding is inevitable, eh? We prioritize content over people, we don't want to hear their problems but to consume anything that stimulates us.

P.S. Neocities' and Discord's moderation also sucks.

(Edited 8 minutes later.)


·Anonymous D1.2 year ago, 28 minutes later, 1 month after the original post[T] [B] #655,784

How Electric-Vehicle Battery Fires Happen—and How You Should React
Here’s everything you need to know about lithium-ion battery fires in EVs and what you can do to stay safe if one starts in your car.
An employee assembles the cell block backpack and wiring harness of an electric vehicle battery at an Accumotive GmbH...
An EV battery—which is actually an assembly of many smaller batteries—gets assembled at a Mercedes-Benz factory in Germany.PHOTOGRAPH: KRISZTIAN BOCSI; GETTY IMAGES
Lithium-ion battery fires can be intense and frightening. As someone who used to repair second-hand smartphones, I’ve extinguished my fair share of flaming iPhones with punctured lithium-ion batteries. And the type of smartphone battery in your pocket right now, is similar to what’s inside of electric vehicles. Except, the EV battery stores way more energy—so much energy that some firefighters are receiving special training to extinguish the extra-intense EV flames that are emitted by burning EV batteries after road accidents.

If you’ve been reading the news about EVs, you’ve likely encountered plenty of scary articles about battery fires on the rise. Recently, the US National Transportation Safety Board and the California Highway Patrol announced they are investigating a Tesla semi truck fire that ignited after the vehicle struck a tree. The lithium-ion battery burned for around four hours.

Does this mean that you should worry about your personal electric vehicle as a potential fire hazard? Not really. It makes more sense to worry about a gas-powered vehicle going up in flames than an electric vehicle, since EVs are less likely to catch fire than their more traditional transportation counterparts.

“Fires because of battery manufacturing defects are really very rare,” says Matthew McDowell, a codirector of Georgia Tech’s Advanced Battery Center. “Especially in electric vehicles, because they also have battery management systems.” The software keeps tabs on the different cells that comprise an EV’s battery and can help prevent the battery from being pushed beyond its limits.

How Do Electric Vehicle Fires Happen?
During a crash that damages the EV battery, a fire may start with what’s called thermal runaway. EV batteries aren’t one solid brick. Rather, think of these batteries as a collection of many smaller batteries, called cells, pressed up against each other. With thermal runaway, a chemical reaction located in one of the cells lights an initial fire, and the heat soon spreads to each adjacent cell until the entire EV battery is burning.

Greg Less, director of the University of Michigan’s Battery Lab, breaks down EV battery fires into two, distinct categories: accidents and manufacturing defects. He considers accidents to be everything from a collision that punctures the battery to a charging mishap. “Let's take those off the table,” says Less. “Because, I think people understand that, regardless of the vehicle type, if you're in an accident, there could be a fire.”

While all EV battery fires are hard to put out, fires from manufacturing defects are likely more concerning to consumers, due to their seeming randomness. (Think back to when all those Samsung phones had to be recalled because battery issues made them fire hazards.) How do these rare issues with EV batteries manufacturing cause fires, at what may feel like random moments?

It all comes down to how the batteries are engineered. “There's some level of the engineering that has gone wrong and caused the cell to short, which then starts generating heat,” says Less. “Heat causes the liquid electrolyte to evaporate, creating a gas inside the cell. When the heat gets high enough, it catches fire, explodes, and then propagates to other cells.” These kinds of defects are likely what caused the highly publicized recent EV fires in South Korea, one of which damaged over a hundred vehicles in a parking lot.

How to React if Your EV Catches Fire
According to the National Fire Prevention Agency, if an EV ever catches fire while you’re behind the wheel, immediately find a safe way to pull over and get the car away from the main road. Then, turn off the engine and make sure everyone leaves the vehicle immediately. Don’t delay things by grabbing personal belongings, just get out. Remain over 100 feet away from the burning car as you call 911 and request the fire department.

Also, you shouldn’t attempt to put out the flame yourself. This is a chemical fire, so a couple buckets of water won’t sufficiently smother the flames. EV battery fires can take first responders around ten times more water to extinguish than a fire in a gas-powered vehicle. Sometimes the firefighters may decide to let the battery just burn itself out, rather than dousing it with water.

+Anonymous Z-11.2 year ago, 1 day later, 1 month after the original post[T] [B] #655,854

Extract key points from a list:
[...s.match(/(^|(?<=[.!?。!?…\n]))[A-Za-zŽžÀ-ÿ '&\-一-龠ぁ-ゔァ-ヴーa-zA-Z0-9々〆〤]+(?=:)/gmu)].map(x=>x[0].toLowerCase()+x.slice(1)).join(", ");

(Edited 2 minutes later.)

·Anonymous Z-11.2 year ago, 12 minutes later, 1 month after the original post[T] [B] #655,855

@previous (Z-1)
Maybe add
.map(x=>x.trim())
before the
.map()
if it's in-line.

+Anonymous Z-21.2 year ago, 23 hours later, 1 month after the original post[T] [B] #655,900

I can't post on 4chan in Microsoft Edge because CAPTCHA won't load (it's funny considering that Microsoft Edge is built on Chromium). → [Google] “FOSS web browsers”
Firefox is recommended, but I downloaded Chromium instead. → chrome-win\chrome.exe → “Windows cannot access the specified device, path or file. You may not have the appropriate permissions to access the item.” → I deleted the directory.

Use Shift+Delete to remove a search history autocompletion.
Alt codes: Alt+26 for → (right arrow), Alt+0147 & Alt+0148 for “ & ” (quotation marks).

When using the Wacom tablet (the WTabletServicePro “Wacom Professional Service” has to first be enabled otherwise there will be no response (cursor movement and clicks)), there's a right-click circle that appears while you press the pen ([SevenForums] MBernard “Wacom Tablet, ring round pen cursor” (28 May 2009): changing tablet settings from 'pen' to 'mouse' mode will make the ring and splash disappear) and a(n invisible) 36×20 ellipse area which creates unwanted straight lines at the start of each stroke (the brush won't move unless you've moved outside of this area, but the system cursor moves normally), this problem occurs in Paint Tool SAI but not in MS Paint or Drawpile.
You can run
explorer.exe shell:::{BB06C0E4-D293-4f75-8A90-CB05B6477EEE}
(⊞ Win+R) to bring up the classic/old Control Panel on Windows 10.
→ Pen and Touch > Change tablet pen settings > Pen Options > Press and hold > Settings... > Uncheck “Enable press and hold for right-clicking” then press OK.
You could also turn off Windows Ink from the “Mapping”/“Calibrate” tab in the Wacom Tablet Properties settings.

Can't join Drawpile servers (“Could not connect to server. Connection timed out.”).

Interesting stuff:
• (looked into ungoogled-chromium) → [GitHub] MikeWang000000/wsjpeg/master/src/wsjpeg.c (single-file JPEG encoder, archive.today:t0yGq)
• mqikan.cqvip.com/NJDrTcXo8msX/q6etnJaJUcHH.294cc83.js (suspiciously obfuscated script, archive.today:6zgCZ)

+Chuffed !m8sJfgzmLE1.2 year ago, 1 hour later, 1 month after the original post[T] [B] #655,906

@previous (Z-2)
Speaking of FOSS browsers, I run Falkon for a lot of my travels, but I hesitate to recommend it for most people (extensions/ad blocking lack a bit and websites sometimes break).

The day vanilla Chrome with no adblock becomes the only approved/allowed access will be the day I unplug the ethernet cord.

·Chuffed !m8sJfgzmLE1.2 year ago, 6 minutes later, 1 month after the original post[T] [B] #655,907

@655,584 (W)
They're excited to get on the internet (and occasionally wander in here too). Mixed feelings on that, it's like watching someone discover a band you've been following for 20 years. But 100% agreed, I don't want to watch the new people thrash through Web 1.0 and Web 2.0 for the first time.

+Anonymous Z-41.2 year ago, 54 minutes later, 1 month after the original post[T] [B] #655,910

I was bored today, complex numbers & discrete Fourier transform:
/*
Pastebin: gprej3S3
Resources:
	[GitHub] bellbind/index.html (archive.today:kRtUj)
	[GitHub] mbitsnbites/fft.js (archive.today:azlA0)
	[GitHub] neeraj1397/Fast-Fourier-Transform-in-C/C_Code.c (archive.today:hcZAX & gs3EC)
	[GitHub] corbanbrook/FFT.js (archive.today:BLuKt)
	[GitHub] rshuston/FFT-C (archive.today:ytgrF)
	[Department of Mathematics] fft.c (www․math․wustl․edu/~victor/mfmm/fourier/fft.c (periods replaced with "\u2024" because of link detection for new accounts), archive.today:j0t5A)
*/
let{cos,sin,PI,hypot,atan2,sqrt,pow,exp,log}=Math,TAU=PI*2,
	cexp=x=>({r:cos(x),i:sin(x)}),
	cabs=z=>sqrt(z.r**2+z.i**2); //hypot(z.r,z.i),
	carg=z=>atan2(z.i,z.r),
	cadd=(a,b)=>({r:a.r+b.r,i:a.i+b.i}),csub=(a,b)=>({r:a.r-b.r,i:a.i-b.i}),
	cmul=(a,b)=>({r:(a.r*b.r)-(a.i*b.i),i:(a.r*b.i)+(a.i*b.r)}),
//Verify like this on WolframAlpha: string.replace(/a\.r/g,"A").replace(/a\.i/g,"B").replace(/b\.r/g,"C").replace(/b\.i/g,"D").replace(/\*\*/g,"^").replace(/{r:(.+),i:(.+)}/g,"($1)+i($2)");
	cdiv=(a,b)=>({r:(a.r*b.r+a.i*b.i)/(b.r**2+b.i**2),i:(a.i*b.r-a.r*b.i)/(b.r**2+b.i**2)}),
	cpow=(a,b)=>({ //(A+iB)^(C+iD) = ((pow(A^2+B^2,C/2)*exp(-D*arg(A+iB))*cos(.5*D*log(A^2+B^2)+C*arg(A+iB)))+i(pow(A^2+B^2,C/2)*exp(-D*arg(A+iB))*sin(.5*D*log(A^2+B^2)+C*arg(A+iB))))
		r:pow(a.r**2+a.i**2,b.r/2)*exp(-b.i*carg(a))*cos(.5*b.i*log(a.r**2+a.i**2)+b.r*carg(a)),
		i:pow(a.r**2+a.i**2,b.r/2)*exp(-b.i*carg(a))*sin(.5*b.i*log(a.r**2+a.i**2)+b.r*carg(a))
	}),
	range=n=>[...Array(n).keys()],
	csum=a=>a.reduce((p,c)=>cadd(p,c),{r:0,i:0}),
	DFT=array=>{
		const N=array.length,t=-2*PI/N;
		return range(N).map(i=>csum(array.map((current,index)=>cmul(current,cexp(t*index*i)))));
	},
	IDFT=array=>{
		const N=array.length,t=TAU/N;
		/*return array.map((_,index)=>{
			let sum={r:0,i:0};
			for(let k=0;k<N;k++)
				sum=cadd(sum,cmul(array[k],cexp(TAU*(k/N)*index)));
			return cmul({r:1/N,i:0},sum);
		});*/
		return array.map((current,index)=>cmul({r:1/N,i:0},csum(range(N).map(k=>cmul(array[k],cexp(t*k*index))))));
	},
	FFT=array=>{ //TODO: This shouldn't be mutable? Also, add IFFT.
		let N=array.length/2,i,X=[],Y=[],a,b,c,s;
		for(i=0;i<N;++i){
			X[i]={r:array.r[2*i],i:array.i[2*i]};
			Y[i]={r:array.r[2*i+1],i:array.i[2*i+1]};
		}
		if(N>1){FFT(X);FFT(Y);}
		for(i=0;i<N;++i){
			a=-PI*i/N;
			c=cos(a);s=sin(a);
			a=c*Y.r[i]-s*Y.i[i];
			b=c*Y.i[i]+s*Y.r[i];
			array.r[i]=X.r[i]+a;
			array.i[i]=X.i[i]+b;
			array.r[i+N]=X.r[i]-a;
			array.i[i+N]=X.i[i]-b;
		}
	};

(Edited 4 minutes later.)


·Anonymous Z-11.2 year ago, 2 days later, 1 month after the original post[T] [B] #655,942

I really hate how abdominal organs, like your guts can get dislocated. Simply by bending yourself a bit too much, or maybe overeating as well I guess.

(Edited 1 minute later.)

·Anonymous Z-11.2 year ago, 1 day later, 1 month after the original post[T] [B] #655,986

9784767809243-1.jpgI've been obsessively mourning about the past every day, constantly lamenting the loss of a bygone era, seeing the current state of affairs is unbearable. The absurdities of life, this ego-driven culture of outrage and offense-taking. It's not going well. I feel an overwhelming urge to disconnect from everything, I want to cut all my ties, I don't want to be a part of something that's completely out of my control. I don't know what I'm doing anymore, I'm just so aimless.
There was once a sense of control and creativity, tools for self-expression and exploration. It's all now a distant memory, everything devolved into a commercialized monstrosity. Everything has been reduced to mere commodities, where people are forced to pander to the whims of advertisers and algorithms, designed to appeal to the lowest common denominator without ever pushing any boundaries due to a fear of taking risks, spawning a legion of copycats, each more soulless and shallow than the last, a mere exercise in exploitation, where users are treated as nothing more than cash cows.
The world around us has become increasingly controlled, as governments and corporations exert their influence over every aspect of our lives. And then there's the death of useful information. Google, once a powerful tool for learning and discovery, has become a mere portal to a sea of irrelevant, AI-generated, SEO-driven content that's also trying to push an agenda.
I'm sorry that I keep talking about the same exact shit, over and over again, I don't know where to go anymore, nobody to look up to. I'm stuck in a loop, this vicious cycle, and it's not getting any better… oh, look at the time.

(Edited 6 minutes later.)

·Anonymous Z-11.2 year ago, 11 minutes later, 1 month after the original post[T] [B] #655,987

conglomerates, institutions, organizations, agencies, shareholders, academics, industries… corporate governance?

(Edited 2 minutes later.)


+Anonymous Z-51.2 year ago, 18 hours later, 1 month after the original post[T] [B] #656,004

Microsoft Recall Copilot spyware.jpghttps://youtu.be/cq4AqVNErqM
Microsoft's Recall and Copilot on Windows 11 is the absolute worst fucking thing that's ever happened. No one asked for this crap. I already hate their non-consensual auto-updates, but now they're adding more mandatory preinstalled spyware that's enabled by default. They're basically forcing you to let them spy everything you do on your computer so they could use all that data to have easier control and influence over your decisions along with targeted ads, to see how you navigate the web, how you pirate software, movies and games for free, read what code developers are writing, know what kind of porn you're looking at, list people who you have contact with, read credit card numbers, obtain login credentials, monitor your daily habits, access work-related documents, etc. They just assume you're cool with them collecting all your personal info and selling it as if that's completely okay, it's like they're trying to create some kind of dystopian surveillance state.
I hate where this corporate “AI is the future” bullshit is going.

(Edited 9 minutes later.)


·Anonymous Z-11.2 year ago, 2 hours later, 1 month after the original post[T] [B] #656,007

I feel like the only person who would approve necroposting, especially for old questions that have 0 answers. I hate seeing “This thread has been locked. New comments cannot be posted” on Reddit, I guess you could make a new post that links to it.
Do people really feel that bad to read their old comments? Get over it. Your entire existence is “cringe.” But sometimes I feel like I was way more productive back then, I don't like how I am right now exactly. Growing old makes me feel weaker.

(Edited 9 minutes later.)


+Anonymous Z-61.2 year ago, 13 hours later, 1 month after the original post[T] [B] #656,016

IMG_1727.jpgHelp me find the brand of these acrylic markers

My relatives were using these markers during a Labor Day gathering and I wasn’t allowed to use them >:(

I would like to get my own. They are Asian markers and I don’t know what brand they are. I looked on the packaging and the markers themselves and none of them has the brand printed on them. Do they sell these online in the United States? Any help would be appreciated!!!!

+Anonymous Z-71.2 year ago, 5 hours later, 1 month after the original post[T] [B] #656,028

It's unbelievable to see that there are self-proclaimed therians that live in my neighborhood (the subculture of therianthropy associated with the broader subcommunity of otherkin, which refers to individuals who psychologically identify as a specific non-human animal, as if furries weren't enough). People trying to curate an online persona by adopting the most absurd trends they see on platforms like TikTok and YouTube Shorts, and it's just one of many examples of how our society has lost its grip on reality. What the fuck is driving all this nonsense?

(Edited 2 minutes later.)

·Anonymous Z-71.2 year ago, 36 minutes later, 1 month after the original post[T] [B] #656,031

vetusware daily download limit.pngSo I went to Vetusware to download some old software but it said “Please login or register to download this file.”
I had to check BugMeNot to get around their stupid login wall so I don't need to waste my time creating a goddamn burner account simply to install an old program.
> Bad News
> You reached your daily download limit. Please wait ◯ hours until our day ends and try again.
Bitch, I'm not gonna wait 12 hours. Fuck Vetusware's approach, what a joke.
It reminded me of Freesound which does this similarly, this kind of restriction needs to stop.

·Anonymous Z-71.2 year ago, 24 minutes later, 1 month after the original post[T] [B] #656,034

@previous (Z-7)
> This app has been blocked by your system administrator.
> This app can't run on your PC
There was no point in doing this because I don't have the permissions to run programs from external sources in the first place anyway.

(Edited 4 minutes later.)

·Anonymous Z-71.2 year ago, 19 minutes later, 1 month after the original post[T] [B] #656,037

RAW pixels viewer.pnghttps://rawpixels.net/ now redirects you to a Sedo Domain Parking, http://ww1.rawpixels.net/
binaryReader.js: https://pastebin.com/raw/dXx5uX2L, http://blog.vjeux.com/2010/javascript/javascript-binary-reader.html
RAW pixels <script>: https://pastebin.com/raw/czbaKb7n

(Edited 4 minutes later.)

·Anonymous Z-71.2 year ago, 15 minutes later, 1 month after the original post[T] [B] #656,038

image.png@previous (Z-7)
I also remember the thread /λ/14081 on Lainchan, https://jsfiddle.net/hasbdw8g/:
<!DOCTYPE html><head><meta charset="utf-8"><title>Raw data to image conversion and vice versa</title><style>body{font-family:Sans-Serif;}::-webkit-file-upload-button{background-color:#fff;color:#000;border:1px solid #ccc;border-radius:4px;}</style></head><body><fieldset><legend>Type:</legend><input type="radio" name="type" value="encode" checked>Encode<br><input type="radio" name="type" value="decode">Decode to file<br><input type="radio" name="type" value="decode-img">Decode to image<br><input type="radio" name="type" value="decode-txt">Decode to text<br><input type="radio" name="type" value="hex">Hex dump<br></fieldset><br><p>You can also paste files.</p><label for="file">Your file:</label><input type="file" id="file"><br><div id="result" style="padding:4px;"><p style="color:#888;">Result appears here.</p></div><script>function removeChildren(e){for(;e.lastChild;)e.removeChild(e.lastChild)}function saveAs(e,t){var a=window.URL.createObjectURL(e),n=document.createElement("a");n.style="display: none",n.href=a,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n),setTimeout(function(){window.URL.revokeObjectURL(a)},1e3)}var fileInput=document.getElementById("file"),getType=()=>document.querySelector('input[name="type"]:checked').value,result=document.getElementById("result");function textToResult(e){var t=document.createElement("pre");t.appendChild(document.createTextNode(e)),result.appendChild(t)}function readBytes(e){return new Promise(t=>{var a=new FileReader;a.onload=(()=>{t(new Uint8Array(a.result))}),a.readAsArrayBuffer(e)})}function readAsDataURL(e){return new Promise(t=>{var a=new FileReader;a.onload=(()=>{t(a.result)}),a.readAsDataURL(e)})}const LAST_PIXEL=[[255,0,0],[255,255,0],[255,255,255]];function encode(e){var t=document.createElement("canvas"),a=t.getContext("2d"),n=Math.ceil(e.length/3)+1,r=Math.ceil(Math.sqrt(n)),o=Math.ceil(n/r);t.width=r,t.height=o;for(var d,l=a.getImageData(0,0,t.width,t.height),i=0;i<e.length;i+=3)d=i/3*4,l.data[d]=e[i],l.data[d+1]=e[i+1],l.data[d+2]=e[i+2],l.data[d+3]=255;d=i/3*4;var c=e.length-i+3;c=LAST_PIXEL[(c+2)%3],l.data[d]=c[0],l.data[d+1]=c[1],l.data[d+2]=c[2],l.data[d+3]=255,a.putImageData(l,0,0);var s=new Image;return s.src=t.toDataURL(),s}function decode(e){var t=document.createElement("canvas"),a=t.getContext("2d");t.width=e.naturalWidth,t.height=e.naturalHeight,a.drawImage(e,0,0);var n,r,o=a.getImageData(0,0,t.width,t.height).data;e:for(var d=o.length-4;d>=0;d-=4)for(var l=0;l<LAST_PIXEL.length;l++)if(o[d]===LAST_PIXEL[l][0]&&o[d+1]===LAST_PIXEL[l][1]&&o[d+2]===LAST_PIXEL[l][2]&&o[d+3]>0){r=d,n=l,console.log(`lpi:${n}\nli:${r}`);break e}for(var i=new Uint8Array(3*(r/4-1)+n+1),c=0;c<r-4;c+=4){i[d=c/4*3]=o[c],i[d+1]=o[c+1],i[d+2]=o[c+2]}for(d=0;d<=n;d++)i[3*(r/4-1)+d]=o[r-4+d];return i}function nDigits(e,t=10){return Math.max(1,1+Math.floor(Math.log(e)/Math.log(t)))}function toHex(e){return e.toString(16).toUpperCase()}function hexDump(e,t=16){for(var a="",n=nDigits(Math.floor((e.length-1)/t)*t,16),r=0;r<e.length;r++)r%t==0&&(a+=toHex(r).padStart(n,0)+" | "),a+=toHex(e[r]).padStart(2,0)+((r+1)%t==0?"\n":" ");return a}async function operate(e){switch(getType()){case"encode":removeChildren(result),result.appendChild(encode(await readBytes(e)));break;case"decode":(t=new Image).onload=(()=>{saveAs(new Blob([decode(t)],{type:"octet/stream"}),"decoded.bin")}),t.src=await readAsDataURL(e);break;case"decode-img":removeChildren(result),(t=new Image).onload=(()=>{var e=new Image;e.src=URL.createObjectURL(new Blob([decode(t)],{type:"image"})),result.appendChild(e)}),t.src=await readAsDataURL(e);break;case"decode-txt":var t;removeChildren(result),(t=new Image).onload=(()=>{textToResult((new TextDecoder).decode(decode(t)))}),t.src=await readAsDataURL(e);break;case"hex":removeChildren(result),textToResult(hexDump(await readBytes(e)))}}fileInput.onclick=function(){this.value=null},fileInput.addEventListener("change",async e=>{1===fileInput.files.length?operate(fileInput.files[0]):console.error("Expected one file only.")}),document.onpaste=(e=>{var t=(e.clipboardData||e.originalEvent.clipboardData).items;console.log(JSON.stringify(t));for(var a=0;a<t.length;a++){var n=t[a];"file"===n.kind&&operate(n.getAsFile())}});</script></body>

·Anonymous Z-71.2 year ago, 3 minutes later, 1 month after the original post[T] [B] #656,039

(15:32 2024-09-03) I have 4 minutes left.
function pInRect(px,py,x,y,w,h){return px>=x&&py>=y&&px<x+w&&py<y+h;}

copy.sh/v86/?profile=windows98 (looking at MS Paint)
iphotography.com/blog/vertical-toolbar-photoshop/ (Vertical Toolbar Photoshop)
[GitHub] amix/photoshop
[Vetusware] Download Adobe Photoshop 4.0 by Adobe
https://web.archive.org/web/20230811210221/http://rawpixels.net/
[TC] Random discussions (65099)
https://jsfiddle.net/hasbdw8g/
lainchan.org/λ/catalog.html
lainchan.org/λ/res/14081.html

(Edited 16 seconds later.)


·Anonymous Z-11.2 year ago, 34 minutes later, 1 month after the original post[T] [B] #656,040

Being given a 2-hour time-limit never seems enough to do anything in practice at all, it's just so insufficient. It's only enough time for surface-level things, like scrolling through social media, playing online games, or submitting a job application. It's just an arbitrary number after all that sounds right in words but not when actually experienced. I used to stay in classrooms even after school had already ended, time just seems to fly by too quickly for me to get anything substantial done, and I'm always hungry.

(Edited 9 minutes later.)

·Anonymous Z-11.2 year ago, 19 minutes later, 1 month after the original post[T] [B] #656,041

@656,037 (Z-7)
@656,038 (Z-7)
This is also cool, Binary Waterfall (Raw Data Media Player): https://github.com/nimaid/binary-waterfall
These tools though are usually used to extract some images/icons from arbitrary files (ROMs, EXEs, DATs, DLLs).

(Edited 1 minute later.)


+Anonymous Z-81.2 year ago, 1 week later, 2 months after the original post[T] [B] #656,302

新しき物への高揚感を求めるのであれば、最も苦痛な退屈を耐え忍ぶべきである。苦労無くして得る物は無し。進歩を遂げる事は、ゆっくりとした退屈な過程である。何かを一夜にして成し遂げる事が出来ると言う考えは、我々の文化に深く根付いた、遍在する迷信である。幸福を求める途上で、我々は屡々、暫しの楽しみに溺れ、最終的に空虚さと失望を感じる事になる満足への近道を求める誘惑に駆られる。
One must endure the most laborious tedium if they want the exhilaration of novelty; no pain, no gain. Making progress is a slow and tedious process. The notion that one can accomplish anything overnight is a pervasive myth that has become deeply ingrained in our culture. In the pursuit of happiness, we're often tempted to indulge in fleeting pleasures, seeking shortcuts to satisfaction that ultimately leave us feeling unfulfilled and disappointed.

·Retard1.2 year ago, 3 hours later, 2 months after the original post[T] [B] #656,309

Screenshot_20240913_sin(x)+x_invers.jpgAs my first prompt I asked OpenAI o1 to write different approaches for an accurate inverse approximation of sin(x)+x and it took me 2 hours for me to cut out and cram all screenshots manually by hand into a single JPG, it suggested the Newton-Raphson method, fixed-point iteration, Taylor series expansion, the secant method, analytical approximation, Lagrange inversion theorem, Brent's method (numerical root-finding), lookup tables with interpolation (then I ran out of credits immediately), definitely already better than whatever ChatGPT responded me with when it first came out…

(Edited 8 minutes later.)


·Anonymous D1.2 year ago, 6 hours later, 2 months after the original post[T] [B] #656,316

yoshimitsu.jpg@656,302 (Z-8)
*shot to the heart**

·Anonymous Z-81.2 year ago, 1 hour later, 2 months after the original post[T] [B] #656,319

ium72pce9u571.jpgWhy does ウーパールーパー (wooper looper; axolotl) rhyme with Oompa Loompa?

·😶1.2 year ago, 25 minutes later, 2 months after the original post[T] [B] #656,320

whiteboard_lasky_io.jpgWhat would the mathematical version of “blink twice if you're in danger” be if they can only answer mathematical questions? I hate how uncanny valley this solver is with its handwriting.

·Anonymous Z-81.1 year ago, 3 weeks later, 3 months after the original post[T] [B] #657,114

Screenshot_20241009.jpgUmm…

·Anonymous Z-81.1 year ago, 9 minutes later, 3 months after the original post[T] [B] #657,116

Appendix meme.png> The human appendix is rich in special cells known as M cells. These act as scouts, detecting and capturing invasive bacteria and viruses and presenting them to the body's defense team, such as the T lymphocytes.
> Some studies suggest that as ancient humans were predominantly herbivorous, they used their appendixes for digestion. However, as humans evolved, they started to include more easily digestible food in their diet and the appendix eventually lost its function.
> Appendicitis is inflammation of the appendix. Symptoms commonly include right lower abdominal pain, nausea, vomiting, and decreased appetite.
> Symptoms of appendicitis may include: Sudden pain that begins on the right side of the lower belly. Sudden pain that begins around the belly button and often shifts to the lower right belly. Pain that worsens with coughing, walking or making other jarring movements.

(Edited 9 minutes later.)

·Anonymous Z-81.1 year ago, 25 minutes later, 3 months after the original post[T] [B] #657,117

anglo-indian-pan.gifThe toilet seat is an integral part of our daily lives, but we rarely think about its design. Most of these seats are rigid and lack any cushioning, which can cause pressure on the sciatic nerve when we sit for too long, leading to symptoms like extreme sensitivity, tingling, or numbness in our legs. Moreover, we could also try adopting a squatting position instead, but it's harder to maintain your balance while you're on your phone.

+Anonymous Z-91.1 year ago, 1 day later, 3 months after the original post[T] [B] #657,182

JSON object mapping of Windows Alt codes


Visit the Wikipedia page for Alt codes then run this in the console:
object={};
console.log([...document.querySelector("table[class^='wikitable'] tbody").children].map(e=>{
	let displayed=[...e.children][0].innerText,
	    unicode=String.fromCodePoint(+[...e.children][1].innerText.replace("U+","0x")),
	    altCode=[...e.children].slice(-2)[0].innerText||[...e.children].slice(-3)[0].innerText, //Consider: Array.from(e.children).slice(-n).findLast(c=>c.innerText)?.innerText||""
	    name=[...e.children].slice(-1)[0].innerText;
	object[altCode]=unicode;
	object[unicode]=altCode; //You could comment this out.
	return`${displayed} (${unicode}, ${altCode})${unicode===displayed?"":" ⚠"} “${name}”`;
}).join("\n"));
console.log(JSON.stringify(object));
function swap(o){let r={};for(let k in o)r[o[k]]=k;return r;}
//console.log(JSON.stringify(swap(object)));


This is the output:
{
	"1":"☺","2":"☻","3":"♥","4":"♦","5":"♣","6":"♠","8":"◘","9":"○","10":"◙","11":"♂","12":"♀","13":"♪","14":"♫","15":"☼","16":"►","17":"◄","18":"↕","19":"‼","22":"▬","23":"↨","24":"↑",
	"25":"↓","26":"→","27":"←","28":"∟","29":"↔","30":"▲","31":"▼","127":"⌂","158":"₧","169":"⌐","176":"░","177":"▒","178":"▓","179":"│","180":"┤","182":"╢","183":"╖","184":"╕","185":"╣",
	"186":"║","187":"╗","188":"╝","189":"╜","190":"╛","191":"┐","192":"└","193":"┴","194":"┬","195":"├","196":"─","197":"┼","198":"╞","199":"╟","200":"╚","201":"╔","202":"╩","203":"╦",
	"204":"╠","205":"═","206":"╬","207":"╧","208":"╨","209":"╤","210":"╥","211":"╙","212":"╘","213":"╒","214":"╓","215":"╫","216":"╪","217":"┘","218":"┌","219":"█","220":"▄","221":"▌",
	"222":"▐","223":"▀","224":"α","226":"Γ","227":"π","228":"Σ","229":"σ","231":"τ","232":"Φ","233":"Θ","234":"Ω","235":"δ","236":"∞","237":"φ","238":"ε","239":"∩","240":"≡","242":"≥",
	"243":"≤","244":"⌠","245":"⌡","247":"≈","249":"∙","251":"√","252":"ⁿ","254":"■","0255":"ÿ","ÿ":"0255","0254":"þ","þ":"0254","0253":"ý","ý":"0253","0252":"ü","ü":"0252","0251":"û",
	"û":"0251","0250":"ú","ú":"0250","0249":"ù","ù":"0249","0248":"ø","ø":"0248","0247":"÷","÷":"0247","0246":"ö","ö":"0246","0245":"õ","õ":"0245","0244":"ô","ô":"0244","0243":"ó","ó":"0243",
	"0242":"ò","ò":"0242","0241":"ñ","ñ":"0241","0240":"ð","ð":"0240","0239":"ï","ï":"0239","0238":"î","î":"0238","0237":"í","í":"0237","0236":"ì","ì":"0236","0235":"ë","ë":"0235","0234":"ê",
	"ê":"0234","0233":"é","é":"0233","0232":"è","è":"0232","0231":"ç","ç":"0231","0230":"æ","æ":"0230","0229":"å","å":"0229","0228":"ä","ä":"0228","0227":"ã","ã":"0227","0226":"â","â":"0226",
	"0225":"á","á":"0225","0224":"à","à":"0224","0223":"ß","ß":"0223","0222":"Þ","Þ":"0222","0221":"Ý","Ý":"0221","0220":"Ü","Ü":"0220","0219":"Û","Û":"0219","0218":"Ú","Ú":"0218","0217":"Ù",
	"Ù":"0217","0216":"Ø","Ø":"0216","0215":"×","×":"0215","0214":"Ö","Ö":"0214","0213":"Õ","Õ":"0213","0212":"Ô","Ô":"0212","0211":"Ó","Ó":"0211","0210":"Ò","Ò":"0210","0209":"Ñ","Ñ":"0209",
	"0208":"Ð","Ð":"0208","0207":"Ï","Ï":"0207","0206":"Î","Î":"0206","0205":"Í","Í":"0205","0204":"Ì","Ì":"0204","0203":"Ë","Ë":"0203","0202":"Ê","Ê":"0202","0201":"É","É":"0201","0200":"È",
	"È":"0200","0199":"Ç","Ç":"0199","0198":"Æ","Æ":"0198","0197":"Å","Å":"0197","0196":"Ä","Ä":"0196","0195":"Ã","Ã":"0195","0194":"Â","Â":"0194","0193":"Á","Á":"0193","0192":"À","À":"0192",
	"0191":"¿","¿":"0191","0190":"¾","¾":"0190","0189":"½","½":"0189","0188":"¼","¼":"0188","0187":"»","»":"0187","0186":"º","º":"0186","0185":"¹","¹":"0185","0184":"¸","¸":"0184","0183":"·",
	"·":"0183","0182":"¶","¶":"0182","0181":"µ","µ":"0181","0180":"´","´":"0180","0179":"³","³":"0179","0178":"²","²":"0178","0177":"±","±":"0177","0176":"°","°":"0176","0175":"¯","¯":"0175",
	"0174":"®","®":"0174","0173":"","":"0173","0172":"¬","¬":"0172","0171":"«","«":"0171","0170":"ª","ª":"0170","0169":"©","©":"0169","0168":"¨","¨":"0168","0167":"§","§":"0167",
	"0166":"¦","¦":"0166","0165":"¥","¥":"0165","0164":"¤","¤":"0164","0163":"£","£":"0163","0162":"¢","¢":"0162","0161":"¡","¡":"0161","0160":" "," ":"0160","0159":"Ÿ","Ÿ":"0159","0158":"ž",
	"ž":"0158","0156":"œ","œ":"0156","0155":"›","›":"0155","0154":"š","š":"0154","0153":"™","™":"0153","0152":"˜","˜":"0152","0151":"—","—":"0151","0150":"–","–":"0150","0149":"•","•":"0149",
	"0148":"”","”":"0148","0147":"“","“":"0147","0146":"’","’":"0146","0145":"‘","‘":"0145","0142":"Ž","Ž":"0142","0140":"Œ","Œ":"0140","0139":"‹","‹":"0139","0138":"Š","Š":"0138","0137":"‰",
	"‰":"0137","0136":"ˆ","ˆ":"0136","0135":"‡","‡":"0135","0134":"†","†":"0134","0133":"…","…":"0133","0132":"„","„":"0132","0131":"ƒ","ƒ":"0131","0130":"‚","‚":"0130","0128":"€","€":"0128",
	"ı":"213","Γ":"226","Θ":"233","Σ":"228","Φ":"232","Ω":"234","α":"224","δ":"235","ε":"238","π":"227","σ":"229","τ":"231","φ":"237","‗":"242","‼":"19","ⁿ":"252","₧":"158","←":"27","↑":"24",
	"→":"26","↓":"25","↔":"29","↕":"18","↨":"23","∙":"249","√":"251","∞":"236","∟":"28","∩":"239","≈":"247","≤":"243","≡":"240","≥":"242","⌂":"127","⌐":"169","⌠":"244","⌡":"245","─":"196",
	"│":"179","┌":"218","┐":"191","└":"192","┘":"217","├":"195","┤":"180","┬":"194","┴":"193","┼":"197","═":"205","║":"186","╒":"213","╓":"214","╔":"201","╕":"184","╖":"183","╗":"187",
	"╘":"212","╙":"211","╚":"200","╛":"190","╜":"189","╝":"188","╞":"198","╟":"199","╠":"204","╢":"182","╣":"185","╤":"209","╥":"210","╦":"203","╧":"207","╨":"208","╩":"202","╪":"216",
	"╫":"215","╬":"206","▀":"223","▄":"220","█":"219","▌":"221","▐":"222","░":"176","▒":"177","▓":"178","■":"254","▬":"22","▲":"30","►":"16","▼":"31","◄":"17","○":"9","◘":"8","◙":"10",
	"☺":"1","☻":"2","☼":"15","♀":"12","♂":"11","♠":"6","♣":"5","♥":"3","♦":"4","♪":"13","♫":"14"
}

·Anonymous Z-91.1 year ago, 16 minutes later, 3 months after the original post[T] [B] #657,183

@previous (Z-9)
Notice that there are also some instances of collisions, for example the symbol × (158, 0215, “multiplication sign”) has replaced (158, “Peseta Sign”) on modern Windows, but this object would return for Alt+158.
To avoid reassigning existing keys and their values, you could do this:
if(altCode in object){
	if(typeof object[altCode]==="string"){
		object[altCode]=[object[altCode],unicode];
	}else{ //is an array…
		object[altCode].push(unicode);
	}
}else{
	object[altCode]=unicode;
}

(Edited 7 minutes later.)


+Anonymous Z-101.1 year ago, 54 minutes later, 3 months after the original post[T] [B] #657,185

@657,182 (Z-9)
@previous (Z-9)
This is probably a quick hack (a bit messy), but here's a wiki table serialization for your preparation:
let table=document.querySelector("table[class^='wikitable']"),
    tableHeader=[...table.querySelector("thead tr").children].map(c=>"colSpan"in c?Array(+c.colSpan).fill(c.innerText):c.innerText).flat(),
    tableBody=table.querySelector("tbody");
console.log([...tableBody.children].map(e=>{
	let c=[...e.children],a=[];
	for(let i=0;i<c.length;i++){
		if("colSpan"in c[i]){
			for(let j=0;j<+c[i].colSpan;j++)a.push(c[i].innerText||null);
		}else{
			a.push(c[i].innerText||null);
		}
	}
	let o={};
	for(let i=0;i<a.length;i++){
		if(tableHeader[i]in o){
			if(typeof o[tableHeader[i]]==="string"){
				o[tableHeader[i]]=[o[tableHeader[i]],a[i]];
			}else{
				o[tableHeader[i]].push(a[i]);
			}
		}else{
			o[tableHeader[i]]=a[i];
		}
	}
	return o;
}));


You could also rewrite the last part as such:
return tableHeader.reduce((o,h,i)=>{
	if(h in o)
		if(typeof o[h]==="string")o[h]=[o[h],a[i]];else o[h].push(a[i]);
	else o[h]=a[i];
	return o;
},{});

(Edited 7 minutes later.)


+Anonymous Z-111.1 year ago, 5 days later, 3 months after the original post[T] [B] #657,419

/*
	Desmos (3D, ofgqiyzlnw; tqEsb):
		lerp(lerp(p[0],p[1],(a%s)/s),lerp(p[3],p[2],(a%s)/s),Math.floor(a/s)/s);
	Google “3D bilinear surface patch” (yUU6U) → [PBR Book] Bilinear Patches (pvcxz, ghost:eKs9W)
	[p5.js] beginShape(); (4lffl)
*/
function aLerp(a,b,amt){return a.map((x,i)=>x+(b[i]-x)*amt);}
function surfacePatch(a,b,c,d,s){
	let iter=s*s;
	strokeWeight(4);for(let i=0;i<4;i++){stroke(...[[255,0,0],[0,255,0],[0,0,255],[128,128,128]][i]);point(...[a,b,c,d][i]);}noStroke();
	beginShape(QUADS);
	/*
	A---B
	|   |
	D---C
	*/
	stroke(0);strokeWeight(1);
	for(let i=0;i<iter;i++){
		let sa=aLerp(aLerp(a,b,(i%s)/s),    aLerp(d,c,(i%s)/s),     Math.floor(i/s)   /s),
		    sb=aLerp(aLerp(a,b,(i%s)/s),    aLerp(d,c,(i%s)/s),    (Math.floor(i/s)+1)/s),
		    sc=aLerp(aLerp(a,b,((i%s)+1)/s),aLerp(d,c,((i%s)+1)/s),(Math.floor(i/s)+1)/s),
		    sd=aLerp(aLerp(a,b,((i%s)+1)/s),aLerp(d,c,((i%s)+1)/s), Math.floor(i/s)   /s);
		vertex(...sa);vertex(...sb);vertex(...sc);vertex(...sd);
	}
	endShape();
}
let random4point=(r=1)=>
	[
		[((Math.random()*2)-1)*r,((Math.random()*2)-1)*r,((Math.random()*2)-1)*r],
		[((Math.random()*2)-1)*r,((Math.random()*2)-1)*r,((Math.random()*2)-1)*r],
		[((Math.random()*2)-1)*r,((Math.random()*2)-1)*r,((Math.random()*2)-1)*r],
		[((Math.random()*2)-1)*r,((Math.random()*2)-1)*r,((Math.random()*2)-1)*r]
	],
	oldSurfaces=[],newSurfaces=[],timer=[0,120,0],updateSurfaces=()=>{
		oldSurfaces=newSurfaces.length?newSurfaces:[
			[[255,0,0],random4point(1000)],
			[[0,255,0],random4point(1000)],
			[[0,0,255],random4point(1000)]
		];
		newSurfaces=[
			[[255,(timer[2]%2)*255,0],random4point(1000)],
			[[0,255,(timer[2]%2)*255],random4point(1000)],
			[[(timer[2]%2)*255,0,255],random4point(1000)]
		];
	};
updateSurfaces();
function setup(){
	createCanvas(windowWidth,windowHeight,WEBGL);
}
function draw(){
	background(128);
	orbitControl(); //enable orbiting with the mouse
	ambientLight(100);
	pointLight(
		255,255,255,
		Math.cos(frameCount/50)*1e3,Math.sin(frameCount/50)*1e3,Math.sin(frameCount/200)*1e3
	);
	noStroke();
	for(let i=0;i<oldSurfaces.length;i++){
		let surface=oldSurfaces[i];
		surface[0]=aLerp(oldSurfaces[i][0],newSurfaces[i][0],timer[0]/timer[1]);
		for(let j=0;j<4;j++){
			surface[1][j]=aLerp(oldSurfaces[i][1][j],newSurfaces[i][1][j],timer[0]/timer[1]);
		}
		fill(...surface[0])
		surfacePatch(...surface[1],8)
	}
	timer[0]++;if(timer[0]>=timer[1]){timer[0]-=timer[1];updateSurfaces();timer[2]++;}
}

I have 2 minutes left.

·Anonymous Z-81.1 year ago, 17 hours later, 3 months after the original post[T] [B] #657,462

@previous (Z-11)
It's important to note that the accidental smooth transitions were caused by mutable arrays.
Use this if there's no
structuredClone();
:
function clone(object){
	if(object===null||typeof object!=="object")return object;
	let copy=Array.isArray(object)?[]:{},value;
	for(let key in object){
		value=object[key];
		copy[key]=typeof value==="object"?clone(value):value;
	}
	return copy;
}

+Anonymous Z-121.1 year ago, 3 days later, 3 months after the original post[T] [B] #657,641

@655,584 (W)
Jfc. this is true. all of it.

+Anonymous Z-131.1 year ago, 2 days later, 3 months after the original post[T] [B] #657,823

Change Invidious video links to YouTube embed links (hotfix for “Please sign in” error messages):
[...document.querySelectorAll('a[href^="/watch?v="]')].forEach(e=>{if(!e.href.includes("&listen=1"))e.href="https://youtube.com/embed/"+e.href.match(/\/watch\?v=([A-Za-z0-9_\-]{10,13})/)[1];}); 

(Edited 10 seconds later.)

·Anonymous Z-131.1 year ago, 24 minutes later, 3 months after the original post[T] [B] #657,824

test.png

+Anonymous Z-141.1 year ago, 2 days later, 3 months after the original post[T] [B] #657,978

FruityLoops 1_1_0 (1997) ZIP.png@656,038 (Z-7)
FruityLoops 1.1.0 (1997).zip

·Anonymous Z-141.1 year ago, 14 minutes later, 3 months after the original post[T] [B] #657,979

MidSequer 0_3_3_1.png@656,038 (Z-7)
MidSequer 0.3.3.1.apk

·Anonymous D1.1 year ago, 3 minutes later, 3 months after the original post[T] [B] #657,981

When will I be free?

+Anonymous Z-151 year ago, 4 days later, 3 months after the original post[T] [B] #658,284

It really bothers me whenever people redistribute my shoddy work without making any improvements or adjustments.
Can't they see how fucking shitty it looks? If they're going to share it anyway, they should at least make some modifications to enhance its value, even if they believe it might upset the original creator or something, I wouldn't care as long if the quality is especially low to begin with.
> So, why didn't you just improve it yourself before sharing it? Think before you post, that's everyone's common sense.
I simply don't have enough time or the skills to do so, I'm too fucking dumb and it's already too late to fix it.

·Anonymous Z-151 year ago, 57 minutes later, 3 months after the original post[T] [B] #658,293

For NihongoDera (because it converts カタカナ to ひらがな as well but I want to preserve them for the sake of readability):
var original=[...document.querySelectorAll("h3")].find(x=>x.textContent.toLowerCase()==="original text").nextSibling.textContent.trim(),
    newText="",i=0;
[...document.querySelector("div[class='tool__results']").childNodes].filter(x=>x.tagName==="RUBY").forEach(x=>{
	let kanji=x.querySelector("RB").innerText,kanjiIndex=original.slice(i).indexOf(kanji)+i,
	    ruby=x.querySelector("RT").innerText;
	if(kanjiIndex===-1||kanji.length===0)console.error(`Index: ${kanjiIndex}, 漢字: ${kanji}`);
	newText+=original.slice(i,kanjiIndex)+"["+kanji+"]{"+ruby+"}";
	i=kanjiIndex+kanji.length;
});
newText+=original.slice(i); //append the rest…
console.log(newText);
console.log(newText.replace(/\[([^\]]+)\]\{[^}]+\}/gm,"$1") === original ? "Successfully converted." : "There were some mistakes.");

(Edited 2 minutes later.)


·fuck YouTube and fuck Google1 year ago, 1 week later, 4 months after the original post[T] [B] #658,808

> Could not extract JSON. Youtube API returned error 400 with message:
> "Request contains an invalid argument."
Invidious is so broken, can't even view channels.
> Failed to request Youtube with error ErrorUnknown. Please retry...
> Websocket connection was closed: (1005)
Even PreserveTube…

(Edited 7 minutes later.)


+Anonymous Z-161 year ago, 2 hours later, 4 months after the original post[T] [B] #658,814

Use ytdl & rip it good.

·Phoneposter1 year ago, 3 days later, 4 months after the original post[T] [B] #659,039

Thinking about byte manipulation stuff (I wrote this on my phone):
function printU8binary(bytes){
  let len=bytes.length,
      iPad=(""+(len-1)).length, //Math.max(1,Math.floor(Math.log10(len-1))+1),
      array=Array.from(bytes);
  console.log(array.map(x=>(x&0xFF).toString(16).toUpperCase().padStart(2,"0")).join(" "));
  console.log(array.map((x,i)=>{
    let byte=x&0xFF;
    return(""+i).padStart(iPad)+": "+ //index
          byte.toString(2).padStart(8)+ //binary
          ` (0x${byte.toString(16).padStart(2,"0")}; ${byte}; ${String.fromCharCode(byte)})`;
  }).join("\n"));
  console.log(array.map(x=>{ //visual representation
    let o="";
    for(let i=0;i<8;i++)o+=(x>>i)&1?"■":"□";
    return o;
  }).join("\n"));
  console.log(String.fromCharCode(...array));
}
function randomU8array(len){
  let array=new Uint8Array(len);
  for(let i=0;i<array.length;i++)
    array[i]=Math.floor(Math.random()*256);
  return array;
}

printU8binary(randomU8array(32)); //example

/*
Max 32-bit value is (2**32)-1 = 4294967295 = ~0>>>0
Power of two: 1<<n = 2**n
1s bitmask: (1<<n)-1 (problem: (1<<32)-1 = 0) → (2**n)-1
>>> should be used when shifting, >> adds 1s at the left/upper if it's signed.
*/
function extractBits(value,start,count){
  //Should start = 32-count-start?
  return((value>>>start)&((2**count)-1))>>>0;
}

(Edited 2 minutes later.)

·Phoneposter1 year ago, 1 hour later, 4 months after the original post[T] [B] #659,043

@previous (Phoneposter)
Least intuitive solution award…
function baseNEncode(bytes,alphabet){
  const n=BigInt(alphabet.length);
  let num=BigInt(0);
  //Convert bytes to a BigInt.
  for(let i=0;i<bytes.length;i++){
    num=(num<<8n)+BigInt(bytes[i]);
  }
  let result="";
  if(num===0n){ //Special case for zero value.
    result=alphabet[0];
  }else{
    //Convert the BigInt to base-N string.
    while(num>0n){
      const rem=num%n;
      num/=n;
      result=alphabet[Number(rem)]+result;
    }
  }
  //Preserve leading zero bytes.
  let zeros=0;
  for(let i=0;i<bytes.length&&bytes[i]===0;i++)zeros++;
  //Add leading zeros as the first character in the alphabet.
  result=alphabet[0].repeat(zeros)+result;
  return result;
}
function baseNDecode(str,alphabet){
  const n=BigInt(alphabet.length),
        baseMap=new Map();
  //Create a mapping from characters to their numeric values.
  for(let i=0;i<alphabet.length;i++)
    baseMap.set(alphabet[i], BigInt(i));
  //Count leading characters corresponding to zero bytes.
  let zeros=0;
  for(let i=0;i<str.length&&str[i]===alphabet[0];i++)zeros++;
  //Convert the string back to a BigInt.
  let num=BigInt(0);
  for(let i=zeros;i<str.length;i++)
    num=num*n+baseMap.get(str[i]);
  //Convert the BigInt back to bytes.
  let bytes=[];
  while(num>0n){
    bytes.unshift(Number(num&0xFFn));
    num=num>>8n;
  }
  //Prepend the leading zero bytes.
  const leadingZeros=new Uint8Array(zeros);
  return Uint8Array.from([...leadingZeros,...bytes]);
}

strRange=(a,b)=>Array.from({length:(b.charCodeAt(0)-a.charCodeAt(0))+1},(_,i)=>String.fromCharCode(a.charCodeAt(0)+i)).join("");
base128Alphabet=strRange("0","9")+strRange("A","Z")+strRange("a","z")+strRange("À","ÿ")+"+/"; //0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ+/

function randomU8array(len){let array=new Uint8Array(len);for(let i=0;i<array.length;i++)array[i]=Math.floor(Math.random()*256);return array;}

function arraysEqual(a,b){
  if(a===b)return true;
  if(a.length!==b.length)return false;
  for(let i=0;i<a.length;i++)
    if(a[i]!==b[i])return false;
  return true;
}

for(let i=0;i<10;i++){
  let randomBytes=randomU8array(10+Math.random()*100),
      encoded=baseNEncode(randomBytes,base128Alphabet),
      decoded=baseNDecode(encoded,base128Alphabet);
  console.log([...randomBytes].map(x=>x.toString(16).padStart(2,"0")));
  console.log(encoded);
  console.log([...decoded].map(x=>x.toString(16).padStart(2,"0")));
  console.log(arraysEqual(randomBytes,decoded));
}

(Edited 6 minutes later.)

·Anonymous Z-811 months ago, 2 weeks later, 4 months after the original post[T] [B] #660,205

What's considered ‘modern’ today will eventually be (probably) seen as outdated in the distant future, yet some ancient works of art will remain timeless, impossible to pinpoint their century of origin… if this Earth and its people are still around, that is. It's a strange feeling when you can relate to long-dead people of old societies from many generations before.

+Anonymous Z-1711 months ago, 5 minutes later, 4 months after the original post[T] [B] #660,207

@657,117 (Z-8)

That is how Asian kids use the toilet during potty training lol

+Anonymous Z-1811 months ago, 4 hours later, 4 months after the original post[T] [B] #660,216

@660,205 (Z-8)
Time travel feels strange until you learn to let it happen naturally.
I'm tossing my cookies again. See ya.
https://www.youtube.com/watch?v=2rB6_s8y11w

·Phoneposter11 months ago, 5 days later, 4 months after the original post[T] [B] #660,783

/*
I need a pseudo-random number generator in JavaScript that:
  • Is deterministic and seed-based.
  • Responds sensitively to small changes in the seed.
  • Produces uniformly distributed numbers in [0, 1) with good statistical properties.
To ensure the generator's uniformity and randomness, you should perform statistical tests like the Kolmogorov-Smirnov test to compare the distribution of generated numbers to a uniform distribution.

To OpenAI o1: “Write a uniformly-distributed double floating-point pseudo-random generator within the range [0,1) that has a (double floating-point) seed as its parameter, always returning the same value when passing in the same seed, but exhibits drastic changes even when a single mantissa bit of the seed has been altered, using 64-bit IEEE 754 double values and `var float=new Float64Array(1),bytes=new Uint8Array(float.buffer);float[0]=value;` to manipulate double-value bits in JavaScript. Use statistical tests to evaluate its uniformity, bit-level analysis, and periodicity check to prevent repetition.”
*/
function getRandomFromSeed(seed){
    //Initialize typed arrays for bit manipulation
    var float=new Float64Array(1),
        bytes=new Uint8Array(float.buffer); //8 bytes to represent 64 bits
    float[0]=seed;
    //Convert the seed's bits into a BigInt
    var seedBigInt=0n;
    for(let i=0;i<8;i++)
        seedBigInt|=BigInt(bytes[i])<<BigInt(8*i);
    //Apply the SplitMix64 algorithm
    var x=(seedBigInt+0x9E3779B97F4A7C15n)&0xFFFFFFFFFFFFFFFFn,
        z=x;
    z=((z^(z>>30n))*0xBF58476D1CE4E5B9n)&0xFFFFFFFFFFFFFFFFn;
    z=((z^(z>>27n))*0x94D049BB133111EBn)&0xFFFFFFFFFFFFFFFFn;
    z^=z>>31n;
    //Extract the upper 53 bits to fit into a double's mantissa
    var result_bits=z>>11n;
    //Construct a double in the range [1, 2)
    var sign_bit=0n,
        //exponent_bits=0x3FEn, //Exponent for 2^-1 (since bias is 1023), it gives [-.5,0) though
        exponent_bits=0x3FFn, //Exponent for 2^0 (since bias is 1023)
        fraction_bits=result_bits&0xFFFFFFFFFFFFFn, //Lower 52 bits
        //Combine the sign, exponent, and fraction bits
        double_bits=(sign_bit<<63n)|(exponent_bits<<52n)|fraction_bits;
    //Write the bits back into the float's bytes
    for(let i=0;i<8;i++)
        bytes[i]=Number((double_bits>>BigInt(8*i))&0xFFn);
    //Subtract 1 to get a value in [0, 1)
    return float[0]-1;
}

var minimumValue= Infinity,
    maximumValue=-Infinity,
    currentSeed=0,
    values=[],maxLength=1000;
function setup(){createCanvas(windowWidth,windowHeight);}
function draw(){
    background(0);
    var currentValue=getRandomFromSeed(currentSeed);
    values.push(currentValue);
    if(values.length>=maxLength)values.shift();
    minimumValue=Math.min(minimumValue,currentValue);
    maximumValue=Math.max(maximumValue,currentValue);
    var gX=16,gY=16,gW=width-(16*2),gH=300;
    noFill();stroke(200);rect(gX,gY,gW,gH);
    stroke(255,0,0);line(gX,gY+(1-minimumValue)*gH,gX+gW,gY+(1-minimumValue)*gH);
    stroke(0,255,0);line(gX,gY+(1-maximumValue)*gH,gX+gW,gY+(1-maximumValue)*gH);
    stroke(255);
    for(let i=0;i<values.length-1;i++)
        line(gX+(i    /maxLength)*gW,
             gY+(1-values[i]  )*gH,
             gX+((i+1)/maxLength)*gW,
             gY+(1-values[i+1])*gH);
    noStroke();fill(255);textAlign(LEFT,TOP);
    text(`Min: ${minimumValue}\nMax: ${maximumValue}\nValue: ${currentValue}\nCurrent: ${currentValue>=0&&currentValue<1?"Within range":"Outside of range"}`,gX,gY+gH+16);
    currentSeed+=.001;
}

·Phoneposter11 months ago, 14 minutes later, 4 months after the original post[T] [B] #660,784

@previous (Phoneposter)
I think it should be a
>
in
values.length>=maxLength
, my mistake… Not sure if the PRNG is uniform though, can't trust the AI so blindly.
There are other ways to visualize, such as comparing to a real random number generator (that's built-in like
Math.random
) and to look at its binary form, and performing statistical analysis from there, seeing if they yield same/similar results in percentages.

(Edited 7 minutes later.)

·Anonymous Z-811 months ago, 1 day later, 4 months after the original post[T] [B] #660,911

There's a lot of old items I've kept in my freezer for years now without ever using them. I had intended to get around eating them at some point, but that never ended up happening. At least my fridge is organized and has space though, since you can tell more easily what foods have expired and just throw them out immediately.

·Anonymous Z-811 months ago, 1 day later, 4 months after the original post[T] [B] #661,004

YouTube moment.jpgWhy the fuck does YouTube flood my history like this? Is it a desperate attempt to make you stay on their site? That shit makes me want to stay further away from it.

+Public poster11 months ago, 1 day later, 5 months after the original post[T] [B] #661,050

var mouseClick=false;
class Grid{
	constructor(w,h){
		this.w=w;this.h=h;
		//this.grid=[];for(let x=0;x<w;x++){this.grid[x]=[];for(let y=0;y<h;y++)this.grid[x][y]=false;}
		this.grid=Array.from({length:w},()=>Array(h).fill(false));
		this.clickedCell=false;
		this.clickedInside=false;
 	}
	draw(x,y,w,h){
		noFill();stroke(255,100);
		strokeWeight(3);rect(x,y,w,h);
		strokeWeight(1);
		for(let xi=0;xi<this.w;xi++){
			for(let yi=0;yi<this.h;yi++){
				if(this.grid[xi][yi]){fill(255);}else{noFill();}
				rect(x+xi*(w/this.w),y+yi*(h/this.h),w/this.w,h/this.h);
			}
		}
		let mx=floor((mouseX-x)/(w/this.w)),
				my=floor((mouseY-y)/(h/this.h));
		if(!mouseIsPressed)this.clickedInside=false;
		if(mx>=0&&mx<this.w&&my>=0&&my<this.h){
			if(mouseClick){
				this.clickedCell=this.grid[mx][my];
				this.clickedInside=true;
			}
			if(mouseIsPressed&&this.clickedInside)this.grid[mx][my]=!this.clickedCell;
		}
	}
	extractCorners(){
		let corners=[];
		for(let x=0;x<this.w;x++){
			for(let y=0;y<this.h;y++){
				if(this.grid[x][y]){
					if((x===0||!this.grid[x-1][y])&&(y===0||!this.grid[x][y-1])){corners.push({x:x,y:y});}
					if((x===this.w-1||!this.grid[x+1][y])&&(y===0||!this.grid[x][y-1])){corners.push({x:x+1,y:y});}
					if((x===0||!this.grid[x-1][y])&&(y===this.h-1||!this.grid[x][y+1])){corners.push({x:x,y:y+1});}
					if((x===this.w-1||!this.grid[x+1][y])&&(y===this.h-1||!this.grid[x][y+1])){corners.push({x:x+1,y:y+1});}
					if(x>0&&y>0&&this.grid[x-1][y]&&this.grid[x][y-1]&&!this.grid[x-1][y-1]){corners.push({x:x,y:y});}
					if(x<this.w-1&&y>0&&this.grid[x+1][y]&&this.grid[x][y-1]&&!this.grid[x+1][y-1]){corners.push({x:x+1,y:y});}
					if(x>0&&y<this.h-1&&this.grid[x-1][y]&&this.grid[x][y+1]&&!this.grid[x-1][y+1]){corners.push({x:x,y:y+1});}
					if(x<this.w-1&&y<this.h-1&&this.grid[x+1][y]&&this.grid[x][y+1]&&!this.grid[x+1][y+1]){corners.push({x:x+1,y:y+1});}
				}
			}
		}
		return corners.filter((corner,index,self)=>index===self.findIndex((c)=>c.x===corner.x&&c.y===corner.y));
	}
}
function setup(){
	createCanvas(windowWidth,windowHeight);
}
var myGrid=new Grid(24,16);
function draw(){
	background(16);
	let x=32,y=32,w=260,h=150;
	myGrid.draw(x,y,w,h);
	let corners=myGrid.extractCorners();
	stroke(255,0,0);strokeWeight(5);
	for(let i=0;i<corners.length;i++)
		point(x+corners[i].x*(w/myGrid.w),y+corners[i].y*(h/myGrid.h));
	mouseClick=false; //Should be at the bottom.
}
function mousePressed(){
	mouseClick=true;
}

(Edited 1 minute later.)


+Anonymous Z-2011 months ago, 12 minutes later, 5 months after the original post[T] [B] #661,051

@661,004 (Z-8)
Eh, yt being yt. I'm surprised the google/pixel phones aren't just a beacon to the mothership honestly (like amazon firesticks and kindles are)

·Louis Rossmann said this11 months ago, 1 day later, 5 months after the original post[T] [B] #661,141

When you treat kids like actual people rather than brain-damaged cattle, they actually rise to the mantle and act better.

I remember how patronizing some adults were towards me as a child, they would treat you even worse if they heard that you're autistic as if you're a complete fucking retard.
I hate parents who give a rise to a generation of tech-illiterate kids raised by iPads, TikTok and brainrot YouTube content slop, it's so hopeless. I have very mixed opinions about Roblox on the other hand.

(Edited 9 minutes later.)


+ducky !MwWb.dJjRc11 months ago, 18 hours later, 5 months after the original post[T] [B] #661,187

im just here to see whats going. btw to above poster kids r stupid

·Phoneposter11 months ago, 2 days later, 5 months after the original post[T] [B] #661,256

I never really cared about p5.js on mobile (I hate mobile-friendly multi-touch programming) but I noticed that mouse events don't properly work on mobile:
function appendStyle(CSS){
  let existingStyles=document.querySelectorAll("style");
  for(let style of existingStyles)
    if(style.innerHTML===CSS)return; //Already exists…
  let style=document.createElement("style");
  style.type="text/css";
  document.head.appendChild(style);
  style.appendChild(document.createTextNode(CSS));
  /*if(!document.querySelector(`style:contains("${CSS}")`)){ //Error: not a valid selector…
    let style=document.createElement("style");
    style.type="text/css";style.innerHTML=CSS;
    document.head.appendChild(style);
  }*/
}
function handleTouch(event){ //Converts touches to mouse events…
  let touch=event.touches[0],
      type=event.type;
  //window[event.type.replace(/touch(.)/i,(match,p1)=>"mouse"+p1.toUpperCase())](touch.clientX,touch.clientY); //Doesn't work because: “start” → “Pressed”, “move” → “Dragged”, “end” → “Released”…
  //mouseX=touch.clientX;mouseY=touch.clientY;
  switch(type){
    case"touchstart":
      mousePressed(touch.clientX,touch.clientY);
      //mouseIsPressed=true;
      break;
    case"touchmove":
      mouseDragged(touch.clientX,touch.clientY);
      break;
    case"touchend":
      mouseReleased(touch.clientX,touch.clientY);
      //mouseIsPressed=false;
      break;
  }
}
function setup(){
  let metaContent="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no"; //Prevent zooming…
  if(!document.querySelector(`meta[name="viewport"][content="${metaContent}"]`)){
    let meta=document.createElement("meta");
    meta.name="viewport";
    meta.content=metaContent;
    document.head.appendChild(meta);
  }
  createCanvas(windowWidth,windowHeight);
  appendStyle(`html,body{overscroll-behavior-y:contain;}`); //Prevent pull-down-to-refresh…
  /* Optional…
  document.addEventListener("touchstart",handleTouch);
  document.addEventListener("touchmove",handleTouch);
  document.addEventListener("touchend",handleTouch);
  */
}
function draw(){
  background(200);
  for(let touch of touches){
    stroke(0);strokeWeight(30);
    point(touch.x,touch.y);
    noStroke();fill(0);
    textAlign(CENTER,BOTTOM);
    text(`(${+touch.x.toFixed(2)},${+touch.y.toFixed(2)})\nID: ${touch.id}`,touch.x,touch.y-32)
  }
}
//Prevent default (e.g. panning/zooming)…
function touchStarted(){return false;}
function touchEnded(){return false;}
function touchMoved(){return false;}

+Anonymous Z-2211 months ago, 13 hours later, 5 months after the original post[T] [B] #661,279

@previous (Phoneposter)
//TODO: Add interactive objects/elements, clean up mistakes…
EventTarget.prototype.addEventListeners=function(events,listener,...extra){
	if(typeof events==="string")events=events.split(/[, ;]+/).map(s=>s.trim());
	//if(typeof listener!=="function")throw new Error("Listener must be a function.");
	for(let e of events)this.addEventListener(e,listener,...extra);
};
let activeTouchID=null,
    mX,mY,pmX,pmY,mH=false,mC=false, //previous X & Y, hold, click
    debugText=[],
    path=[],clickGraphic;
function setup(){
	let canvas=createCanvas(windowWidth,windowHeight);
	//Set up event listeners for mobile touch and mouse events…
	canvas.canvas.addEventListeners("mousedown, touchstart",mPress);
	canvas.canvas.addEventListeners("mousemove, touchmove",mMove);
	canvas.canvas.addEventListeners("mouseup, touchend",mRelease);
}
function draw(){
	background(255);
	if(path.length){
		stroke(0,50);strokeWeight(2);
		//beginShape(LINES);for(let{x,y}of path)vertex(x,y);endShape();
		for(let i=1;i<path.length;i++)line(path[i-1].x,path[i-1].y,path[i].x,path[i].y);
	}
	if(clickGraphic){
		stroke(0,0,255);strokeWeight(Math.max(1,20-clickGraphic.t));
		point(clickGraphic.x,clickGraphic.y);
		clickGraphic.t++;
	}
	if(mH){strokeWeight(4);stroke(0,128,0);}else{strokeWeight(1);stroke(255,0,0);}
	if(mX&&mY){line(mX,0,mX,height);line(0,mY,width,mY);}
	noStroke();fill(0);textAlign(LEFT,TOP);
	text(`Touch ID: ${activeTouchID}\n(${mX},${mY})\n${mH?"Pressed":"Released"}\n${mC?"Clicked!":""}`,16,16);
	fill(0,128);textAlign(RIGHT,BOTTOM);
	let maxLength=50;if(debugText.length>maxLength)debugText.splice(0,debugText.length-maxLength);
	text(debugText.join("\n"),width-16,height-16);
	mC=false;pmX=mX;pmY=mY; //This should be at the bottom of this function…
}
//TODO: Potential multi-touch tracking issue (in mPress and mRelease): ID-1 press, ID-2 press, ID-1 release while ID-2 is holding (mouse pointer now needs to move to the 2nd ID)
function mPress(event){
	event.preventDefault(); //Prevent default behavior for touch events (e.g. zooming/panning)
	//Suggestion: m(X|Y)=isTouch?(isTouch?event.touches[0]:event).clientX-canvas.offset(Left|Top):mouse(X|Y);
	if(event.type==="touchstart"){
		/*Optional*/debugText.push(`Changed touches (start): ${event.changedTouches.length} (IDs: ${Array.from(event.changedTouches).map(x=>x.identifier).join(",")})`);
		mX=event.touches[0].clientX-canvas.offsetLeft;mY=event.touches[0].clientY-canvas.offsetTop;
		activeTouchID=event.touches[0].identifier; //Keep track of touch ID
		/*Optional*/debugText.push(`Touch (${event.touches[0].identifier}) started: (${mX},${mY})`);
	}else{
		mX=mouseX;mY=mouseY;
		/*Optional*/debugText.push(`Mouse down: (${mX},${mY})`);
	}
	mH=true;mC=true;clickGraphic={x:mX,y:mY,t:0};
	path=[{x:mX,y:mY}];
}
function mMove(event){
	event.preventDefault();
	if(event.type==="touchmove"){
		//You could also use event.touches[ID].force to get touch pressure (if supported)…
		/*Optional*/debugText.push(`Changed touches (move): ${event.changedTouches.length} (IDs: ${Array.from(event.changedTouches).map(x=>x.identifier).join(",")})`);
		for(let touch of event.changedTouches){ //Since using multiple fingers can interfere…
			if(touch.identifier===activeTouchID){
				mX=touch.clientX-canvas.offsetLeft;mY=touch.clientY-canvas.offsetTop;
				/*Optional*/debugText.push(`Touch (${touch.identifier}) moved: (${mX},${mY})`);
			}
		}
	}else{
		mX=mouseX;mY=mouseY;
		/*Optional*/debugText.push(`Mouse moved: (${mX},${mY})`);
	}
	path.push({x:mX,y:mY});
}
function mRelease(event){
	event.preventDefault();
	if(event.type==="touchend"){
		/*Optional*/debugText.push(`Changed touches (end): ${event.changedTouches.length} (IDs: ${Array.from(event.changedTouches).map(x=>x.identifier).join(",")})`);
		for(let touch of event.changedTouches){
			if(touch.identifier===activeTouchID){
				mX=touch.clientX-canvas.offsetLeft;mY=touch.clientY-canvas.offsetTop;
				activeTouchID=null;mH=false;
				/*Optional*/debugText.push(`Touch (${touch.identifier}) ended: (${mX},${mY})`);
			}
		}
		//TODO: Make this prettier…
		if(event.touches.length){ //What if there's still another finger holding down?
			activeTouchID=event.touches[0].identifier;mH=true;
			mX=event.touches[0].clientX-canvas.offsetLeft;mY=event.touches[0].clientY-canvas.offsetTop;
		}
	}else{
		mX=mouseX;mY=mouseY;mH=false;
		/*Optional*/debugText.push(`Mouse up: (${mX},${mY})`);
	}
	if(!mH)path=[];
}

+Anonymous Z-2311 months ago, 29 minutes later, 5 months after the original post[T] [B] #661,280

les paul 50s capacitor wiring.pngAh, now I see. From your post 5 months ago, organic memes were replaced by carefully scripted propaganda, and the bloat you were speaking of is coding for apps to coerce proprietary compliance, to generate ad revenue and to maintain the pattern of built in obsolescence. I operate contrary to this style. For example, I use 1950's tech to wire some of the vintage style guitars I build, only because I can hear the difference.

·Anonymous Z-2310 months ago, 2 hours later, 5 months after the original post[T] [B] #661,287

@653,391 (A)
Microfiche, or any format that doesn't require digital decompression to be useful... analog will always be better. I use the least compression possible for digital backups and use mechanical drives with error correction/redundancy protection. Never stored anything I cared about on anyone else's server.

·Anonymous Z-2310 months ago, 19 hours later, 5 months after the original post[T] [B] #661,320

Goodbye.
https://www.youtube.com/watch?v=gdmjCJbb0as

+Clipboard Exporter10 months ago, 6 days later, 5 months after the original post[T] [B] #662,061

Clipboard Exporter.pnghttps://files.catbox.moe/vq0pnj.html (AT:mPXvh, GA:kfL2N)
https://codepen.io/9sidnOfn20dj4I/pen/qEWmdZP

Very oddly-specific tool I desperately needed.

(Edited 1 minute later.)

·Clipboard Exporter10 months ago, 20 minutes later, 5 months after the original post[T] [B] #662,067

@previous (Clipboard Exporter)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Clipboard Exporter</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            padding: 20px;
        }
        #output {
            margin-top: 20px;
        }
        .item {
            margin: 5px 0;
            cursor: pointer;
        }
        .remove-button {
            margin-left: 10px;
            color: red;
            cursor: pointer;
        }
    </style>
</head>
<body>
<h1>Clipboard Exporter</h1>
<textarea id="inputText" rows="4" cols="50" placeholder="Paste your text here..."></textarea><br>
<button id="addButton">Add Text</button>
<button id="clearButton">Clear All</button>
<button id="copyJsonButton">Copy JSON</button>
<button id="saveJsonButton">Save JSON to File</button>
<button id="importJsonButton">Import JSON from Input</button>
<input type="file" id="fileInput" accept=".json" style="display:none;">
<button id="importFileButton">Import JSON from File</button>
<div id="itemCount"></div> <!-- New div for item count -->
<div id="output"></div>
<script>
    // Load existing items from localStorage
    let jsonArray = JSON.parse(localStorage.getItem('clipboardItems')) || [];
    // Display items on page load
    displayItems();

    document.getElementById('addButton').addEventListener('click', function() {
        const inputText = document.getElementById('inputText').value.trim();
        if (inputText) {
            // Check if the input text is unique
            if (!jsonArray.includes(inputText)) {
                // Add to the JSON array
                jsonArray.push(inputText);
                // Save to localStorage
                localStorage.setItem('clipboardItems', JSON.stringify(jsonArray));
                // Clear the input
                document.getElementById('inputText').value = '';
                // Update the display
                displayItems();
            } else {
                alert('This text is already included.');
            }
        } else {
            alert('Please paste some text.');
        }
    });

    document.getElementById('clearButton').addEventListener('click', function() {
        jsonArray = [];
        localStorage.removeItem('clipboardItems');
        displayItems();
    });

    document.getElementById('copyJsonButton').addEventListener('click', function() {
        const jsonString = JSON.stringify(jsonArray);
        document.getElementById('inputText').value = jsonString;
    });

    document.getElementById('saveJsonButton').addEventListener('click', function() {
        const jsonString = JSON.stringify(jsonArray, null, 2);
        const date = new Date().toISOString().split('T')[0]; // Get YYYY-MM-DD format
        const itemCount = jsonArray.length;
        const filename = `clipboard_export_${itemCount}_items_${date}.json`;
        const blob = new Blob([jsonString], { type: 'application/json;charset=utf-8;' });
        const url = URL.createObjectURL(blob);
        const a = document.createElement('a');
        a.href = url;
        a.download = filename; // Use the new filename
        document.body.appendChild(a);
        a.click();
        document.body.removeChild(a);
        URL.revokeObjectURL(url);
    });

    document.getElementById('importJsonButton').addEventListener('click', function() {
        const inputJson = document.getElementById('inputText').value.trim();
        try {
            const importedArray = JSON.parse(inputJson);
            if (Array.isArray(importedArray)) {
                jsonArray = [...new Set([...jsonArray, ...importedArray])]; // Merge and keep unique
                localStorage.setItem('clipboardItems', JSON.stringify(jsonArray));
                displayItems();
                alert('JSON imported successfully.');
            } else {
                alert('Invalid JSON format. Please provide an array.');
            }
        } catch (e) {
            alert('Invalid JSON format. Please check your input.');
        }
    });

    document.getElementById('fileInput').addEventListener('change', function(event) {
        const file = event.target.files[0];
        if (file) {
            const reader = new FileReader();
            reader.onload = function(e) {
                try {
                    const importedArray = JSON.parse(e.target.result);
                    if (Array.isArray(importedArray)) {
                        jsonArray = [...new Set([...jsonArray, ...importedArray])]; // Merge and keep unique
                        localStorage.setItem('clipboardItems', JSON.stringify(jsonArray));
                        displayItems();
                        alert('JSON imported successfully from file.');
                    } else {
                        alert('Invalid JSON format in file. Please provide an array.');
                    }
                } catch (e) {
                    alert('Invalid JSON format in file. Please check the file content.');
                }
            };
            reader.readAsText(file);
        }
    });

    document.getElementById('importFileButton').addEventListener('click', function() {
        document.getElementById('fileInput').click(); // Trigger file input click
    });

    function displayItems() {
        const outputDiv = document.getElementById('output');
        const itemCountDiv = document.getElementById('itemCount');
        outputDiv.innerHTML = ''; // Clear previous output
        itemCountDiv.textContent = `Total items: ${jsonArray.length}`; // Update item count display
        jsonArray.forEach((item, index) => {
            const shortText = item.substring(0, 140);
            const length = item.length;
            const itemDiv = document.createElement('div');
            itemDiv.className = 'item';
            itemDiv.textContent = `${shortText} (Length: ${length})`;
            itemDiv.addEventListener('click', function() {
                alert(`Full text: ${item}`);
            });
            const removeButton = document.createElement('span');
            removeButton.className = 'remove-button';
            removeButton.textContent = 'Remove';
            removeButton.addEventListener('click', function(event) {
                event.stopPropagation(); // Prevent triggering the item click
                jsonArray.splice(index, 1); // Remove the item from the array
                localStorage.setItem('clipboardItems', JSON.stringify(jsonArray)); // Update localStorage
                displayItems(); // Refresh the display
            });
            itemDiv.appendChild(removeButton);
            outputDiv.appendChild(itemDiv);
        });
    }
</script>
</body>
</html>

·Anonymous Z-2410 months ago, 17 minutes later, 5 months after the original post[T] [B] #662,068

The new JSFiddle user interface looks like shit, renders completely unusable on my phone.

·Anonymous Z-810 months ago, 7 hours later, 5 months after the original post[T] [B] #662,079

@662,067 (Clipboard Exporter)
There should be a checkbox, when enabled, will automatically add the pasted text into the list and clear the input field, useful if the mobile keyboard wouldn't disappear every time you paste text.

·Anonymous Z-2410 months ago, 23 minutes later, 5 months after the original post[T] [B] #662,080

@previous (Z-8)
// Event listener for the checkbox
document.getElementById('autoAddCheckbox').addEventListener('change', function() {
    const isChecked = this.checked;
    const inputTextArea = document.getElementById('inputText');
    if (isChecked) {
        // Listen for input events
        inputTextArea.addEventListener('input', handleInput);
    } else {
        // Remove the input event listener
        inputTextArea.removeEventListener('input', handleInput);
    }
});

// Function to handle input events
function handleInput(event) {
    // Get the input text area and its value
    const inputTextArea = document.getElementById('inputText');
    const inputText = inputTextArea.value.trim();
    // Check if the input is not empty
    if (inputText) {
        // Retrieve existing items from localStorage
        //let jsonArray = JSON.parse(localStorage.getItem('clipboardItems')) || [];
        // Add the new input text to the array
        jsonArray.push(inputText);
        // Update localStorage with the new array
        localStorage.setItem('clipboardItems', JSON.stringify(jsonArray));
        // Clear the input
        inputTextArea.value = '';
        // Refresh the display to show the updated items
        displayItems();
    }
}

·Anonymous Z-2410 months ago, 19 minutes later, 5 months after the original post[T] [B] #662,082

@previous (Z-24)
Forgot
&& !jsonArray.includes(inputText)
(put the clearing after the if-statement)… I'm on mobile which is why I use GPT, most mobile code editors suck ass and I don't wanna type with a touchscreen keyboard, the old Xed Editor is the only one that's usable (their new version requires you to create/save a file before editing, dumbest fucking idea, and I also don't wanna work with an entire directory (how do I even remove them?)).
I'm sorry about the spaces being used over tabs for indentation, this should explain it.

(Edited 8 minutes later.)

·Anonymous Z-2410 months ago, 5 hours later, 5 months after the original post[T] [B] #662,110

404.jpg@662,061 (Clipboard Exporter)
Wow, CodePen fucking sucks ass, do they really want me to use a Gmail account or was it because my bio (complaining about there being no Sign Out button) was deemed offensive? I miss when you could save projects without registering in the first place, fucking disgusting.
Look at their weird-ass Reddit-like Code of Conduct: https://blog.codepen.io/legal/code-conduct/

(Edited 8 minutes later.)


·Anonymous D10 months ago, 1 hour later, 5 months after the original post[T] [B] #662,137

Programming is hard...

+Clipboard Exporter10 months ago, 49 minutes later, 5 months after the original post[T] [B] #662,154

Clipboard Exporter.jpg@662,061 (Clipboard Exporter)
@662,110 (Z-24)
New version…
https://pastebin.com/3EaTP6Je
https://jsfiddle.net/mzb4kq8n
https://onecompiler.com/html/433nggrfr
https://files.catbox.moe/mwlbes.html
@previous (D)
In this day and age, you can kinda cheat it with language models (it's more of a shortcut). Be thankful for that.

+Anonymous Z-2610 months ago, 1 day later, 5 months after the original post[T] [B] #662,420

@653,389 (A)
It's extremely common, no doubt. Most people in the world spend decades living in the same house as their family the whole time.

+Anonymous Z-2710 months ago, 1 day later, 5 months after the original post[T] [B] #662,622

Screenshot_Karbon.jpg@661,279 (Z-22)
This looks messier than it needs to be.

·Anonymous Z-2710 months ago, 24 minutes later, 5 months after the original post[T] [B] #662,627

@previous (Z-27)
Should've removed
.id
in line 31 and replaced
.findLast
with
.findLastIndex
(mixed up IDs with indexes), just reading through this is somewhat confusing/unintuitive on its own.

(Edited 4 minutes later.)

·Anonymous Z-2710 months ago, 3 hours later, 5 months after the original post[T] [B] #662,638

Screenshot_Karbon.jpg@662,622 (Z-27)
Color picker HSL test (WIP): https://pastebin.com/raw/qUWPRM5g
I'm still doing this on my phone BTW (IBS everyday)…

(Edited 3 minutes later.)


·dumb forced/mandatory updates10 months ago, 1 week later, 6 months after the original post[T] [B] #664,903

Samsung Internet updated itself to 27.0.0.79 without my permission but now I can't even long-press the back button to view my tab's history. This is like when LG TV removed color-coded buttons (e.g. red for search bar, green for refresh, yellow for bookmark) and also removed the ability to view PDF documents in their newest web browser while their JavaScript engine or user agent is still out-of-date, they even limited the number of tabs (from 7 to 4 I think).

> Error
> The name was 3 characters over the limit (30).
Guess I have to change “retarded” to “dumb” (it didn't throw an error before the edit).

(Edited 4 minutes later.)


·Anonymous Z-210 months ago, 2 days later, 6 months after the original post[T] [B] #665,365

ok

·Moog ladder filter9 months ago, 5 days later, 6 months after the original post[T] [B] #665,736

image.jpgPartially transpiled ddiakopoulos/MoogLadders on GitHub from C++ to JavaScript…
https://pastebin.com/nayG0C2S
https://files.catbox.moe/a4xk6c.js

·random Fast Fourier Transform snippets9 months ago, 2 days later, 6 months after the original post[T] [B] #665,886

@previous (Moog ladder filter)
Various collection of (transpiled) FFT algorithms:
https://pastebin.com/mCadsVPK
https://files.catbox.moe/w2zc0w.js
https://pastecode.io/s/a0eo8dbh

·Anonymous Z-89 months ago, 1 hour later, 6 months after the original post[T] [B] #665,888

@previous (random Fast Fourier Transform snippets)
Inserting tabs before links makes them unclickable for some reason.

+ !tr.t4dJfuU9 months ago, 5 hours later, 6 months after the original post[T] [B] #665,962

Cleaner.

+Goose !ZIfqpHuHpM9 months ago, 2 hours later, 6 months after the original post[T] [B] #666,000

Currently drawing a page porn comic. Its about a NEET girl and some random horny goon guy fucking in her messy trash dumpster of an apartment.

(Edited 3 minutes later.)


+Anonymous Z-309 months ago, 2 weeks later, 7 months after the original post[T] [B] #667,740

bab_la.jpgbab.la pop-ups are so fucking annoying, I will NEVER pay $20 per year or $2 per month for a site that's DELIBERATELY BEING FUCKING ANNOYING ON PURPOSE. Here's the uBlock Origin filter:
##.cookiewall-overlay
##.cookiewall-banner


DeepL:
##div[data-testid="dl-cookieBanner"]


OpenProcessing:
##div[id="ccc"][aria-label="Cookie preferences"]


PianoLIT:
##div[id="modal-subscription"]
##.modal-backdrop
##iframe[*-loaded] ! This line doesn't work for some reason

(Edited 4 minutes later.)

·Anonymous Z-309 months ago, 13 minutes later, 7 months after the original post[T] [B] #667,741

@previous (Z-30)
Oh, the <iframe> was uBlock Origin's (I haven't made custom filters before)…
There's also:
##.show.fade.modal-backdrop
##div.modal-backdrop.fade.show

Why must ! (exclamation mark) comments be their own separate lines instead of inline comments though?

(Edited 6 minutes later.)

·Anonymous Z-309 months ago, 10 minutes later, 7 months after the original post[T] [B] #667,742

Kill sticky headers: https://alisdair.mcdiarmid.org/kill-sticky-headers/
javascript:(function(){(function(){var i,elements=document.querySelectorAll('body *');for(i=0;i<elements.length;i++){if(getComputedStyle(elements[i]).position==='fixed'){elements[i].parentNode.removeChild(elements[i]);}}})()})()

·I hate rate-limited instances8 months ago, 4 days later, 7 months after the original post[T] [B] #668,706

Convert a Nitter image link to a Twitter URL:
(url=>{let match=url.match(/\/media(%2F|\/|%5F|_)(.*)\.(jpg|png)/i);return`https://pbs.twimg.com/media/${match[2]}?format=${match[3]}&name=large`;})

·Anonymous Z-98 months ago, 9 hours later, 7 months after the original post[T] [B] #668,777

Connection errors.pngWhy am I suddenly experiencing connection problems that weren't even there before when loading pages in Firefox?
Error code: SSL_ERROR_NO_CYPHER_OVERLAP
I'm just gonna try updating Firefox…

(Edited 3 minutes later.)


·Anonymous Z-88 months ago, 2 days later, 7 months after the original post[T] [B] #669,376

I find it weird that I can view the full list of what channels a user is subscribed to on the YouTube TV app, even as a guest (no log-in required), but this information isn't available on the YouTube website for some reason, whether accessed from a mobile device or on desktop, their channel subscription list were a goldmine and had lots of old forgotten channels, it's such a shame there's no way to access it with current online tools. API key authorizations and vendor lock-ins are so fucking obnoxious.

https://www.googleapis.com/youtube/v3/subscriptions?part=snippet,contentDetails,subscriberSnippet&key=APIKEY&channelId=CHANNELID

·Anonymous Z-98 months ago, 1 week later, 7 months after the original post[T] [B] #670,871

Invidious instances.pngInvidious instances that still do work but not listed on the redirect website for unknown reasons:

·Useful Regular Expressions8 months ago, 6 days later, 8 months after the original post[T] [B] #671,502

I use
(?!\b +\w) +
all the time when coding to remove redundant spaces between tokens, also
^(\s+)?$
to eliminate empty newlines…

+Anonymous Z-317 months ago, 1 week later, 8 months after the original post[T] [B] #672,665

image.jpg
/*
	(2025-03-19 09:34) 01:57 remaining, thinking about additive harmonic synthesis.
	Every online notepad is completely ad-ridden with GDPR cookie pop-ups, so I had to use Sublime Text…
	(10:34) 00:57, almost done… (11:08) 00:23, I think I'm done…
*/
const TAU=Math.PI*2,
      clamp=(x,mn=0,mx=1)=>Math.min(Math.max(x,mn),mx),
      pointInRect=(x,y,rx,ry,rw,rh)=>x>=rx&&x<rx+rw&&y>=ry&&y<ry+rh,
      sineHarm=(x,phase,n)=>Math.sin(TAU*(phase+n*x));
class Graph{
	constructor(x,y,w,h,numBars=16){
		this.x=x;this.y=y;this.w=w;this.h=h;
		this.levels=Array(numBars).fill(0);
		this.dragging=false;
		this.fillColor=[255,255,255];this.bgColor=[16,16,16];
	}
	pressed(mx,my){
		this.dragging=pointInRect(mouseX,mouseY,this.x,this.y,this.w,this.h);
		if(this.dragging)this.drag(mx,my); //click
	}
	released(mx,my){
		this.dragging=false;
	}
	drag(mx,my){
		if(!this.dragging)return;
		let l=this.levels.length,
		    i=Math.floor(clamp(((mx-this.x)/this.w)*l,0,l-1)),
		    y=1-clamp((my-this.y)/this.h,0,1);
		this.levels[i]=y;
	}
	display(){
		let l=this.levels.length;
		fill(this.bgColor);stroke(this.dragging*4);
		rect(this.x,this.y,this.w,this.h);
		for(let i=1;i<l;i++){
			let x=(this.w/l)*i;
			line(this.x+x,this.y,this.x+x,this.y+this.h);
		}
		fill(this.fillColor);
		for(let i=0;i<l;i++){
			let h=clamp(this.levels[i],0,1)*this.h;
			rect(this.x+i*(this.w/l),this.y+(this.h-h),this.w/l,h);
		}
	}
}
class Plot{
	constructor(x,y,w,h,numPoints=16,color=[0,0,255]){
		this.x=x;this.y=y;this.w=w;this.h=h;
		this.points=Array(numPoints).fill(0);
		this.bottomRange=-1;this.upperRange=1;
		this.color=color;
	}
	display(){
		stroke(0,64);noFill();
		rect(this.x,this.y,this.w,this.h);
		line(this.x,this.y+this.h*.5,this.x+this.w,this.y+this.h*.5);
		let l=this.points.length,step=this.w/(l-1);
		stroke(this.color);
		beginShape();
		for(let i=0;i<l;i++){
			let x=this.x+i*step,
			    y=map(this.points[i],this.bottomRange,this.upperRange,this.y+this.h,this.y);
			vertex(x,y);
		}
		endShape();
	}
}
class Button{
	constructor(x,y,w,h,label,onPress){
		this.x=x;this.y=y;this.w=w;this.h=h;
		this.label=label;
		this.onPress=onPress;
	}
	display(){
		let hover=pointInRect(mouseX,mouseY,this.x,this.y,this.w,this.h);
		fill(hover?100:64);stroke(0);
		rect(this.x,this.y,this.w,this.h);
		fill(255);noStroke();
		textSize(14);textAlign(CENTER,CENTER);
		text(this.label,this.x+this.w*.5,this.y+this.h*.5);
	}
	pressed(mx,my){
		if(pointInRect(mx,my,this.x,this.y,this.w,this.h)){
			this.onPress();
			return true;
		}
		return false;
	}
}
let amp=new Graph(16,16,300,128,32),
    phase=new Graph(amp.x,amp.y+amp.h,amp.w,amp.h,amp.levels.length),
    waveform=new Plot(phase.x,phase.y+phase.h,phase.w,phase.h,phase.levels.length*4),
    bW=120,bH=32,bS=3,buttons=[
		{label:"Clear",onPress:()=>{
			for(let i=0;i<amp.levels.length;i++)amp.levels[i]=0;
			for(let i=0;i<phase.levels.length;i++)phase.levels[i]=0;
		}},
		{label:"Sine",onPress:()=>{
			for(let i=0;i<amp.levels.length;i++)amp.levels[i]=0;
			amp.levels[0]=1;
			for(let i=0;i<phase.levels.length;i++)phase.levels[i]=0;
		}},
		{label:"Test",onPress:()=>{
			let n=amp.levels.length;
			for(let i=0;i<n;i++){
				amp.levels[i]=i%2?TAU/(TAU*i):0;
				phase.levels[i]=(i%4)<2?0:.5;
			}
		}},
		{label:"Pulse",onPress:()=>{
			for(let i=0;i<amp.levels.length;i++){
				if(i%2===0){
					amp.levels[i]=1/(i+1);
					phase.levels[i]=0;
				}else{
					amp.levels[i]=0;
					phase.levels[i]=0;
				}
			}
		}},
		{label:"Triangle",onPress:()=>{
			for(let i=0;i<amp.levels.length;i++){
				if(i%2===0){
					amp.levels[i]=1/Math.pow(i+1,2);
					let k=i/2;
					phase.levels[i]=k%2===1?.5:0;
				}else{
					amp.levels[i]=0;
					phase.levels[i]=0;
				}
			}
		}}
    ].map((e,i)=>new Button(waveform.x+bW*(i%bS),waveform.y+waveform.h+16+Math.floor(i/bS)*bH,bW,bH,e.label,e.onPress));
amp.levels[0]=1;amp.bgColor=[51,82,59];amp.fillColor=[154,201,101];
phase.bgColor=[50,63,97];phase.fillColor=[91,174,222];
waveform.update=function(){
	let l=this.points.length;
	for(let i=0;i<l;i++){
		let sum=0;
		for(let j=0;j<amp.levels.length;j++)
			sum+=sineHarm(i/l,phase.levels[j],1+j)*amp.levels[j];
		this.points[i]=sum;
	}
	let minVal=Math.min(...this.points),maxVal=Math.max(...this.points),
	    allEqual=this.points.every((val,i,arr)=>val===arr[0]);
	this.bottomRange=allEqual?this.points[0]-1:minVal;
	this.upperRange=allEqual?this.points[0]+1:maxVal;
};
waveform.update();
function setup(){
	createCanvas(windowWidth,windowHeight);
}
function draw(){
	background(200);
	for(let o of[amp,phase,waveform,...buttons])o.display();
}
function mousePressed(){
	for(let o of[amp,phase,...buttons])o.pressed(mouseX,mouseY);
	waveform.update();
}
function mouseDragged(){
	for(let o of[amp,phase])o.drag(mouseX,mouseY);
	waveform.update();
}
function mouseReleased(){
	for(let o of[amp,phase])o.released(mouseX,mouseY);
}

+Anonymous Z-327 months ago, 8 hours later, 8 months after the original post[T] [B] #672,673

Op has a tiny asshole

+Anonymous Z-337 months ago, 6 hours later, 8 months after the original post[T] [B] #672,691

I received a copyright strike from Muso TNT Ltd. on YouTube for using Nintendo music. Someone better re-upload YTPs and YTPMVs on VidLii before they get taken down, as this could save a lot of classic old videos from being lost forever due to overly-aggressive copyright enforcement, or community guidelines regarding profanity and violence.
People aren't really interested in memes anymore for being a bit too childish though, myself included, but it's pretty sad to see relics of a bygone era disappear unnoticed, gradually, one after another, until we're left with a complete superficial understanding of what once was.

·Anonymous Z-337 months ago, 11 minutes later, 8 months after the original post[T] [B] #672,692

On the other hand, I still think YouTubers should refrain from using Nintendo music as background noise, like in video essays, especially Mario Paint as an example, even if it's considered a good tune, I suddenly became tired of hearing it too many times, and it's such a typical soyish consoomer archetype. Also, Nintendo is a terrible company and I don't really enjoy their games anymore.

(Edited 10 minutes later.)


+Anonymous Z-347 months ago, 43 minutes later, 8 months after the original post[T] [B] #672,693

@previous (Z-33)
Sounds like you're just bored of what you consider "soyish". I think too many people in somewhat obscure sites like tinychan take themselves way too seriously in regards to "consoomer archtype" I mean chances are you're gonna keep running into it anyway so at this poiny perhaps unplugging yourself from online could serve you or you could try digging deep in the internet to find extremely niche circles and other alternatives. Youtubers are gonna keep using nintendo music simply its the most board consumer friendly archetype.

I do agree however on the part about memes. I never care for them as its a shit excuse for not making an effort to actually socialize. its the same as making friends while youre drunk at a party but the moment everyone's sober you all realize the true nature of each other and stop hanging out. Memes are low effort and serve as pointless social buffers.

+Anonymous Z-357 months ago, 1 hour later, 8 months after the original post[T] [B] #672,704

i have ascended to the throne as the emperor of mechanical piss! shiver in envy, troons and bots!

·Anonymous Z-337 months ago, 1 hour later, 8 months after the original post[T] [B] #672,718

guesswork.jpgIt's just hard to find pride or joy in things that exploit you, and when I become alienated, that's usually the point where I start losing interest. When you realize you're giving more than you're getting, or your efforts aren't being reciprocated, it's natural to pull back.
@672,693 (Z-34)
You perfectly described what these Internet circles/communities serve as; it's assumed that once you start being your real authentic self, people will lose interest in you. They are there for their hobby, the product, not the people. What I mean is, if you deviate from the “vibe” of the group or reveal complexities beyond the hobby, engagement dwindles. These spaces thrive on collective consumption, not mutual growth. Once money is involved, expect more betrayals happening (theft, lawsuits, doxxing, grifting, false promises).
It's also a bit odd to see such dedication and effort being poured into parodying existing pop culture and well-known intellectual properties, all of these skills into making fan-made stuff (e.g. games, series, music) instead of creating one's own entirely original works, as if they desperately need to get people's attention through familiarity, or simply the fear of taking risks (coming across as weird or cringe, “just a nobody who will be forgotten”).
@previous (Z-35)
Eternal God Emperor Obama, is that you?

·Firefox sucks ass7 months ago, 5 hours later, 8 months after the original post[T] [B] #672,739

Restart to Keep Using Firefox.png> Restart to Keep Using Firefox
> An update to Firefox started in the background. You’ll need to restart to finish the update.
> Your windows and tabs will be quickly restored, but private ones will not.
Is this a joke? Has Mozilla completely lost its judgment? Thanks for wasting my time, and selling my personal data while being a shitty browser. Fuck you.

·Anonymous D7 months ago, 2 days later, 8 months after the original post[T] [B] #672,921

20250327.jpghttps://bsky.app/profile/tana-taka-3rder.bsky.social/post/3lkwvqttpok25
https://www.threads.net/@marvelrivals

+FuckAlms !vX8K53rFBI6 months ago, 2 weeks later, 9 months after the original post[T] [B] #673,973

dirt.png@656,038 (Z-7)
> Raw data to image conversion and vice versa
No way, someone actually made a d/irt encoder? Awesome!

@672,739 (Firefox sucks ass)
You need to go to settings and select
> Check for updates but let you choose to install them
under Firefox Updates

(Edited 4 minutes later.)

·FuckAlms !vX8K53rFBI6 months ago, 1 day later, 9 months after the original post[T] [B] #673,988

ringtone.pngSo I was going through an old folder of MIDIs and found this file and I can't figure out what it is. It had a .mid extension, but the binary data looks like an mpeg-4 container. ExifTool says it's a quicktime movie, which tracks with the mpeg-4 theory, but mplayer can't open it and mp4box says it's an invalid IsoMedia file although YAMB says there's a 250x250 gif(?!) video stream. Motion jpeg is a thing, but gif is not made for actual video compression.
???????

+Anonymous Z-376 months ago, 12 hours later, 9 months after the original post[T] [B] #673,990

@previous (FuckAlms !vX8K53rFBI)
maybe its a corrupted whatever? i remember that it used to be a fad around these parts to break files and see what happens.

·Anonymous6 months ago, 3 days later, 9 months after the original post[T] [B] #674,080

Roland TR-707 25kHz 16-bit mono PNG.pngRoland TR-707 25kHz 16-bit mono (mirror)

//Convert "[Text here](example.com)" to "[url=example.com]Text here[/url]"
str.replace(/\[([^\]]+)\]\(([^)]+)\)/,"[url=$2]$1[/url]");

(Edited 8 minutes later.)


·FuckAlms !vX8K53rFBI6 months ago, 2 hours later, 9 months after the original post[T] [B] #674,083

@previous (Anonymous)
Are you the guy who was writing a wav decoder or something in the test thread?

·Anonymous Z-336 months ago, 4 hours later, 9 months after the original post[T] [B] #674,089

Screenshot_20250417.jpgPlotting graphs in web console to visualize arrays:
function plotGraph(array){
  let canvas=document.createElement("canvas"),ctx=canvas.getContext("2d"),dpr=devicePixelRatio,width=950,height=600,m=50;
  canvas.width=width;canvas.height=height;
  ctx.fillStyle="#fff";ctx.fillRect(0,0,width,height);
  let min=Math.min(...array),max=Math.max(...array),range=max-min;
  let rawStep=range/5,exponent=Math.floor(Math.log10(rawStep)),factor=rawStep/Math.pow(10,exponent);
  factor=factor>=5?5:factor>=2?2:factor>=1?1:0.5;
  let yStep=Math.pow(10,exponent)*factor;
  min=Math.floor(min/yStep)*yStep;max=Math.ceil(max/yStep)*yStep;
  range=max-min;
  let yTicks=Array.from({length:Math.ceil(range/yStep)+1},(_,i)=>min+i*yStep),
      xStep=Math.max(1,Math.ceil(array.length/10)),xTicks=Array.from({length:Math.ceil(array.length/xStep)+1},(_,i)=>i*xStep);
  ctx.translate(m,height-m);ctx.scale(1,-1);
  ctx.strokeStyle="#eee";ctx.lineWidth=1;
  yTicks.forEach(y=>{ctx.beginPath();ctx.moveTo(0,(y-min)/range*(height-2*m));ctx.lineTo(width-2*m,(y-min)/range*(height-2*m));ctx.stroke();});
  xTicks.forEach(i=>{if(i>=array.length)i=array.length-1;let x=i*(width-2*m)/(array.length-1);ctx.beginPath();ctx.moveTo(x,0);ctx.lineTo(x,height-2*m);ctx.stroke();});
  ctx.strokeStyle="#444";ctx.lineWidth=2;
  ctx.beginPath();ctx.moveTo(0,0);ctx.lineTo(width-2*m,0);ctx.moveTo(0,0);ctx.lineTo(0,height-2*m);ctx.stroke();
  ctx.beginPath();array.forEach((v,i)=>{let x=i*(width-2*m)/(array.length-1),y=(v-min)/range*(height-2*m);i?ctx.lineTo(x,y):ctx.moveTo(x,y);});ctx.stroke();
  ctx.setTransform(1,0,0,1,0,0);
  ctx.fillStyle="#333";ctx.font="12px Arial";ctx.textAlign="right";
  yTicks.forEach(y=>{let ty=height-m-((y-min)/range*(height-2*m));ctx.fillText(+y.toFixed(yStep<1?(yStep<.5?2:1):0),m-8,ty+3);});
  ctx.textAlign="center";ctx.textBaseline="top";
  xTicks.forEach(i=>{if(i>=array.length)return;let tx=m+i*(width-2*m)/(array.length-1);ctx.fillText(i,tx,height-m+8);});
  let dataUrl=canvas.toDataURL();
  console.log("%c ",`display: inline-block;width:${width/dpr}px;height:${height/dpr}px;background:url(${dataUrl}) no-repeat;background-size:${width/dpr}px ${height/dpr}px;border:1px solid #eee;line-height:0;`);
}
plotGraph(new Array(100).fill().map(()=>Math.random()*100-50));
plotGraph(new Array(200).fill().map((_,i)=>{let x=(i/8)-10;return x===0?1:Math.sin(Math.PI*x)/(x*Math.PI);}));

+Anonymous Z-386 months ago, 2 days later, 9 months after the original post[T] [B] #674,184

@OP

FIVE HUNDRED POUNDS WEIGHT LOSS
https://www.youtube.com/watch?v=65I9k7VBhns

·Anonymous D6 months ago, 5 days later, 9 months after the original post[T] [B] #674,330

2025Clipboard01.jpgCould there be a 90s comic skin for the mutantsfor Elena's SF6 character design sheet ?

·Anonymous6 months ago, 1 week later, 10 months after the original post[T] [B] #674,643

List Discord servers you're joined in:
[...document.querySelectorAll("div[class^='stack'] div[class^='listItem']")].map(x=>x.querySelector("div[data-dnd-name]")?.innerText).filter(x=>x).join("\n");


List your Discord user DMs list:
[...document.querySelectorAll("ul[aria-label='Direct Messages'] a[aria-label*='(direct message)']")].map(x=>x.querySelector("div[class^='name__']").innerText).join("\n");

·FuckAlms !vX8K53rFBI6 months ago, 6 hours later, 10 months after the original post[T] [B] #674,644

@674,089 (Z-33)
I made this to help me with algebra
<!--Internet Explorer 8 or lower will not display this graph, but IE 9 and 10 should.
I'd recommend using anything besides IE: Firefox, Opera, Chrome, etc-->
<svg xmlns="http://www.w3.org/2000/svg">
<g transform="scale(2) translate(100,100) scale(1,-1)">
<g>
<path fill="#FFF" stroke="#000" d="M-100,100 100,100 100,-100 -100,-100z"/>
<path stroke="#777" stroke-width="1px" d="M0,100 0,-100 M100,0 -100,0"/>
<path stroke="#999" stroke-width=".5px" d="M-90,-100 -90,100 M-80,-100 -80,100 M-70,-100 -70,100 M-60,-100 -60,100 M-50,-100 -50,100 M-40,-100 -40,100 M-30,-100 -30,100 M-20,-100 -20,100 M-10,-100 -10,100 M90,-100 90,100 M80,-100 80,100 M70,-100 70,100 M60,-100 60,100 M50,-100 50,100 M40,-100 40,100 M30,-100 30,100 M20,-100 20,100 M10,-100 10,100 M-100,-90 100,-90 M-100,-80 100,-80 M-100,-70 100,-70 M-100,-60 100,-60 M-100,-50 100,-50 M-100,-40 100,-40 M-100,-30 100,-30 M-100,-20 100,-20 M-100,-10 100,-10 M-100,90 100,90 M-100,80 100,80 M-100,70 100,70 M-100,60 100,60 M-100,50 100,50 M-100,40 100,40 M-100,30 100,30 M-100,20 100,20 M-100,10 100,10"/></g>
<g stroke-width="1px">
<!--Above section contains grid layout. Do not modify above this line!
Note: Coordinates must be entered in the form of 1=10 to be properly visible
(multiply points by 10 [1.5 becomes 15, etc])-->
<path stroke="black" d="M 35,15 120,40"/>
<path stroke="blue" d="M -30,-10 0,-20 -60,0"/>
<!--you can use this work area to check the pattern if you aren't getting a straight line
	x|y
	0|  2/4
	1|- 5/4
	2|-12/4
	3|-19/4
	4|-26/4
	5|5/2
	6|6/2
	7|7/2
	8|8/2
	9|9/2
	"y=[m]x+[b]"
	"y-[y1]=[m](x-[x1])"-->
</g></g></svg>

·Anonymous5 months ago, 1 week later, 10 months after the original post[T] [B] #674,801

Extract archived Invidious video info details (for tab hoarders):
if(/^archive\.(ph|is|today|li|fo|vn|md)$/i.test(window.location.hostname)){
  document.querySelector("video#player_html5_api[autoplay]")?.remove(); //remove non-functional video overlay obscuring the title
  let channelName=document.getElementById('channel-name').innerText.replace(/\xA0\uF2BB$/,""),videoTitle=document.querySelector("h1").innerText.replace(/ \uF306$/,""),formatTime=time=>{
    let date=new Date(time.getAttribute("datetime")),
        str=date.toLocaleDateString("en-GB",{day:"numeric",month:"short"});
    if(date.getFullYear()!==new Date().getFullYear()) //not from this year?
      str+=" "+date.getFullYear();
    return str;
  },pubDate=formatTime(document.querySelector("time[itemprop='pubdate']")),searchBar=document.querySelector("input[name='q']"), //AKA "form[action*='search'] input[value]"
      videoID=(()=>{if(searchBar.value&&searchBar.value.includes("watch?v="))return"v="+(new URL(searchBar.value).searchParams.get("v"));})(),
      archiveID=new URL(window.location.href).pathname.split("/").find(x=>x);
  console.log(videoID);
  searchBar.value=JSON.stringify(`[YT] ${channelName} “${videoTitle}” (${pubDate}:${archiveID}${videoID!==undefined?", "+videoID:""})`);
}

As a bookmarklet:
javascript:(function(){if(/^archive\.(ph|is|today|li|fo|vn|md)$/i.test(location.hostname)){document.querySelector("video#player_html5_api[autoplay]")?.remove();var c=document.getElementById('channel-name').innerText.replace(/\xA0\uF2BB$/,""),v=document.querySelector("h1").innerText.replace(/ \uF306$/,""),f=t=>{var d=new Date(t.getAttribute("datetime")),s=d.toLocaleDateString("en-GB",{day:"numeric",month:"short"});return d.getFullYear()!==new Date().getFullYear()&&(s+=" "+d.getFullYear()),s},p=f(document.querySelector("time[itemprop='pubdate']")),s=document.querySelector("input[name='q']"),i=s.value&&s.value.includes("watch?v=")?"v="+new URL(s.value).searchParams.get("v"):void 0,a=location.pathname.split("/").find(x=>x);s.value=JSON.stringify(`[YT] ${c} “${v}” (${p}:${a}${i?`, ${i}`:""})`);}})();

(Edited 43 seconds later.)


·FuckAlms !vX8K53rFBI5 months ago, 10 hours later, 10 months after the original post[T] [B] #674,808

spr.png@656,038 (Z-7)
I wonder, could you use this to deliver the content of a static webpage in a compressed format without having to configure the server for gzip transfer encoding? Like put the script in the <head> and then in the body just call the script to decode a linked image and display the output.
Like I've got a page that's ~30kb but it's just tables and sprites so it compresses well. The script itself is a little over 4kb and this zip of the page and sprite is 2.35kb when encoded, so theoretically the total data package would be less than 7kb. Hard to be sure though, as the sprite sheet is currently external rather than base64 encoded because I don't know how to assign sprite coordinates to base64 data without inserting the entire file for every set of coordinates since there's no filename to use as a reference.

+Anonymous Z-394 months ago, 1 month later, 11 months after the original post[T] [B] #675,276

What's the future of the Main Battle Tank? Based on what we've seen, a few observations can be made:

1⃣ Tank-on-tank combat is a rarity rather than the norm.

2⃣ Tanks are mostly being defeated with missiles not tungsten penetrators.

3⃣ In many instances, tanks are being used as assault guns to support infantry in the attack, which is why older types such as Leopard 1 have proved so useful.

4⃣ Although 120 mm tank guns have highly effective APFSDS rounds, new 105 mm natures are still equally lethal and you can carry more, while programmable 105 mm HE is perfect for direct fire tasks.

5⃣ Survivability is less dependent on passive armour and more reliant on active protection systems that can defeat ATGM and aerial threats, especially drones.

6⃣ The best means of survivability is exiting an area quickly and hiding - a basic tactic we seem to have forgotten.

7⃣ Operational mobility has become increasingly important - especially within an expeditionary context - so the ability to redeploy a force rapidly from one area to another can be decisive.

The above factors tend to favour lighter, more agile wheeled vehicles, which partly explain why Japan and Italy are so invested in 8x8 assault guns.

+Anonymous Z-403 months ago, 2 weeks later, 1 year after the original post[T] [B] #675,605

Tatikoma_B2.jpg@previous (Z-39)
Ghost in the shell hit it dead on with tank warfare.

·Video generation with audio3 months ago, 1 week later, 1 year after the original post[T] [B] #675,731

the output.mp4Single-file video generation in pure HTML/JS with no external libraries/frameworks using built-in APIs (for mobile users).

·Complex numbers in JavaScript3 months ago, 2 weeks later, 1.1 year after the original post[T] [B] #675,871

EC01_BasicOperations.png
var{abs,floor,cos,sin,cosh,sinh,tan,sqrt,atan2,exp,log,pow,PI}=Math;
TAU=PI*2;mod=(n,m)=>(n%m+m)%m;fract=x=>(x%1+1)%1;mix=(a,b,t)=>a+(b-a)*t;
cAdd=(a,b)=>[a[0]+b[0],a[1]+b[1]];cSub=(a,b)=>[a[0]-b[0],a[1]-b[1]];cMul=(a,b)=>[a[0]*b[0]-a[1]*b[1],a[0]*b[1]+a[1]*b[0]];cDiv=(a,b)=>[(a[0]*b[0]+a[1]*b[1])/(b[0]**2+b[1]**2),(a[1]*b[0]-a[0]*b[1])/(b[0]**2+b[1]**2)];
polar=(r,θ)=>[r*cos(θ),r*sin(θ)];
cAbs=c=>sqrt(c[0]**2+c[1]**2);cArg=c=>atan2(c[1],c[0]);
cExp=c=>[exp(c[0])*cos(c[1]),exp(c[0])*sin(c[1])];
cPow=(a,b)=>[pow(a[0]**2+a[1]**2,b[0]/2)*exp(-b[1]*cArg(a))*cos(.5*b[1]*log(a[0]**2+a[1]**2)+b[0]*cArg(a)),pow(a[0]**2+a[1]**2,b[0]/2)*exp(-b[1]*cArg(a))*sin(.5*b[1]*log(a[0]**2+a[1]**2)+b[0]*cArg(a))];
cLog=c=>[log(cAbs(c)),cArg(c)];
//(a+bi)/c = (a/c)+(b/c)i
cSgn=c=>{const r=cAbs(c);if(r===0)return[0,0];return[c[0]/r,c[1]/r];};
cEqual=(a,b,ε=1e-14)=>abs(a[0]-b[0])<ε&&abs(a[1]-b[1])<ε;
cSqrt=c=>polar(sqrt(cAbs(c)),cArg(c)/2);
cSin=c=>[sin(c[0])*cosh(c[1]),cos(c[0])*sinh(c[1])];cCos=c=>[cos(c[0])*cosh(c[1]),-sin(c[0])*sinh(c[1])];cTan=c=>cDiv(cSin(c),cCos(c));
cCot=c=>cDiv(cCos(c),cSin(c));cSec=c=>cDiv([1,0],cCos(c));cCsc=c=>cDiv([1,0],cSin(c));
cSinh=c=>cDiv(cSub(cExp(c),cExp([-c[0],-c[1]])),[2,0]);cCosh=c=>cDiv(cAdd(cExp(c),cExp([-c[0],-c[1]])),[2,0]);

·Anonymous3 months ago, 56 minutes later, 1.1 year after the original post[T] [B] #675,872

@655,910 (Z-4)
@previous (Complex numbers in JavaScript)
The function
cPow
may also just be rewritten simply as
cPow=(a,b)=>cExp(cMul(b,cLog(a)));
for clarity's sake, but it could more-or-less introduce some unwanted floating-point errors in exchange.

·Anon2 months ago, 4 days later, 1.1 year after the original post[T] [B] #675,923

Frida Breast Milk Ice Cream_.jpg

·Anonymous Z-382 months ago, 5 days later, 1.1 year after the original post[T] [B] #676,064

202502.jpgAvatar: The Last Airbendet aired in 2005
https://www.youtube.com/watch?v=nZAN4wt0gIM

+Anonymous Z-411 month ago, 1 month later, 1.2 year after the original post[T] [B] #676,513

I miss my wife

+Anonymous Z-421 month ago, 1 hour later, 1.2 year after the original post[T] [B] #676,524

@previous (Z-41)
Balance of memories and new adventures my friend, room for both.
:

You are required to fill in a captcha for your first 5 posts. Sorry, but this is required to stop people from posting while drunk. Please be responsible and don't drink and post!
If you receive this often, consider not clearing your cookies.



Please familiarise yourself with the rules and markup syntax before posting.