#๐ช -progaming
1 messages ยท Page 136 of 1
@valid jetty add OOP
add jvm target
@valid jetty trailing lambda 
there is defer
you could do
use std/prelude;
fn main() {
counter := Mutex::new(0);
threads := (0..5)
.map_with(fn(_, arg)
Thread::spawn_with(fn(counter) {
value := counter.lock();
defer counter.unlock();
return *value += 1;
}, arg), counter)
.collect();
res := threads.map(fn(thread) thread.join());
$dbg(*counter.lock(), res);
}
heck you could even
add dtors when
add build script when
Used bun instead of rollup and got 30x faster builds without having to use a build script
@royal nymph
programming
forced myself to not use tailwind and just ended up doing this
what's wrong with tailwind 
sucks
how
it makes everything SO unreadable i cant lie
then why are you doing the same thing by hand???
there's a difference between being insane and using "utility" classes to make your entire ui and being sane by writing normal ui and sprinkling utility classes on top of it
vencord also has margin css classes
like relative flex flex-col gap-0.5 px-4 pt-3 pb-3 pr-12 rounded-[10px] bg-white/[0.07] border border-white/[0.12] min-w-[160px] transition-all duration-150 hover:bg-white/[0.13] hover:border-white/25 hover:-translate-y-0.5 cannot be tas
a lot of time when building ui with already themed components all you need is a bit of margin here and there
its easier to just add a margin utility class for that than to come up with a proper class for those parts of the ui and add css file
i use plain css for base components (anything that could have it's styles overridden), and tailwind for everything else
that's the balance i like
yeah i dont want to add an entire class onto an h1 just to remove the bottom margin
for more complex things like this, i'll end up just using plain css
it's good for individual tweaks i agree
i long for the day when plain css supports // comments
YESSS
am i the only chud who just rawdogs css
vanilla
everything?
no i fw that
vanilla css is nice, but scoping makes it better
whether that be astro/svelte style scoping or css modules
wonder if any production project is using css @scope rules yet
false. like dont use tailwind for everything but use it for shit you cant name
i havent bothered to try learning @layer yet
there isnt anything to learn really
honestly i dont get the point of @layer unless youre using both ends of it
Instead of css @scope (.outer) { .inner {} } cant you just use ```css
:where(.outer) .inner {}
oh wait
that's @scope
you confused me by randomly switching to a different rule
well in case of @layer there's also not much to learn, you can learn it in 5 minutes
in my most recent project I used it to give my component css classes lower specificity
i see
you can once at the top of ur css file write this to define ur layers
@layer lowPrio, mediumPrio, highPrio;
@layer highPrio {
.element { color: red; }
}
@layer lowPrio {
.element.with.high.specificity { color: blue; }
}
red wins
so if a layer is defined later in the initial @layer definition, it has higher specificity?
ye
u dont have to define them all at once you can just do just this too
@layer lowPrio {
.element.with.high.specificity { color: red; }
}
@layer highPrio {
.element { color: blue; }
}
but that kind of defeats the point of them imo
the point of them is to get away from the last statement wins thing
yayy
i hate this
tw4 started using this and it makes css hell to debug in chrome
css has so much shit now i can barely keep up
and worst part is we can barely use half of it because shit like firefox exists
which doesnt support most of it
like what do you mean initial-styles? what do you mean discrete?
what?
i will probably sound stupid but bun isnt bad software and i had an issue once
hopefully this is good and not slop
https://code.visualstudio.com/updates/v1_112#_debug-web-apps-with-the-integrated-browser
@jade stone
@deep mulch @lyric latch i love powershell
oh
it's not the default
for some reason, ^C doesn't work if powershell is launched inline from cmd
explode sadan tbh
@pseudo sierra rust compile times so good
no cache momet
discord calls the whole thing (reply banner, attach buttons, etc...) the ChannelTextArea, and just the input box the ChannelEditor
how
the whole thing is that if nothing changed, it knows to skip the build
but if i update the timestamp of one file(nothing else), it takes 1.5 minutes
oh wait release no it spends like most of that time linking 
and stripping and whatever else release does
lto only takes this long because im doing stupid shit
everything you do is stupid shit so that's not very surprising
@pseudo sierra i'm embedding 150mb of data via include_bytes!(), LTO is choking on that
HUSK
@pseudo sierra
@deep mulch
@deep mulch this assertion passes!!!!!!!!!!
b := "{
\"a\": 1,
\"b\": \"hello world!\",
\"foo\": [1, 2.2, -1.3],
\"bar\": {
\"baz\": [{}, {}, {
\"qux\": null,
\"quux\": false
}]
}
}".parse_json();
$assert(b.is_ok_and(fn(value) value.tag == JsonValueKind::Object));
$assert(b.unwrap() == JsonValue::Object($map(#[
$("a", JsonValue::Number(1)),
$("b", JsonValue::String("hello world!")),
$("foo", JsonValue::Array([
JsonValue::Number(1),
JsonValue::Number(2.2),
JsonValue::Number(-1.3),
])),
$("bar", JsonValue::Object($map(#[
$("baz", JsonValue::Array([
JsonValue::Object(HashMap::new()),
JsonValue::Object(HashMap::new()),
JsonValue::Object($map(#[
$("qux", JsonValue::Null()),
$("quux", JsonValue::Bool(false))
])),
]))
])))
])));
json parser success
and also json stringifier because i made a simple fn to turn a JsonValue back into a json string
fn JsonValue::to_string(JsonValue self) -> string {
// SAFETY: we are checking tags so its
// safe to use unchecked variants
if self.tag == JsonValueKind::Null {
return "null";
} else if self.tag == JsonValueKind::Number {
return "{}".format(self.number);
} else if self.tag == JsonValueKind::String {
return "\"{}\"".format(self.string);
} else if self.tag == JsonValueKind::Bool {
return "{}".format(self.bool);
} else if self.tag == JsonValueKind::Array {
return "[{}]".format(self.array.map(JsonValue::to_string).join(","));
} else if self.tag == JsonValueKind::Object {
res := self.object.iter()
.map(fn(entry) {
key, value := entry;
return "\"{}\": {}".format(key, value.to_string());
})
.collect()
.join(",");
return "{{{}}".format(res);
} else {
$panic("Invalid tag found: {}", self.tag);
}
}
scary
why the fuck does this shit show up around my browser tab
when i have devtools open
WTF
eorry
chat what do yall think of that one thing
i hate that one thing specifically
the other thing is fine tho
oh
https://plyx.iz.rs/ this one iirc
ofc its fucking matrix that has the most up to date font for emojis with the most cross compat
cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex shrink-0 items-center justify-center gap-2 rounded-md font-medium whitespace-nowrap outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 hover:bg-foreground hover:text-foreground dark:hover:bg-foreground/10 size-8 text-xl
mmm i love tailwind
cinema
the colored icons big nono
second one is acceptable imo
more padding between text and icon though
i think the descriptions font size should be smaller
what are the font sizes used for both lines
try top 16 and bottom 14
then make top 16
i think that looks better
personally i prefer the icons having the colors but not a big deal
why did you remove categories
wouldn't have only 3 settings if Navic had any features yk
i should pr an american english translation
i think so far it literally only changes one word
no i see customise
thats at least 2
eh ill wait for you to set up crowdin or weblate or something
weblate
how are swipe actions appearance
this is what happens if you remove categories because "it's only 3 settings"

yes it doesn't work
I told u ages ago @young flicker
no
anything but http.cat ๐
how do we make profesional eror page without htp.cat
just put a minigame or sm on there
error 418
use tanstack start gang
yea thats what i use in my other projects because im not stupid anymore, but migrating 30k line nextjs project isnt exactly an hour job :/
ask an agent :3
@young flicker
@deep mulch 31x speedup from using sized strings instead of null terminated strings in my json parser
look at this bs lmao

after using sized strings
Looks slower?
no the graph doesnt show time taken
it shows which functions use what proportion of time
so in the graph above you can see strlen be a huge chunk (like 99%) of the time taken
in the second one you can see various functions doing different things instead of just strlen
I think i understand
first one takes 1.002 seconds, second one takes 32ms
the graph does not show time
these bits
are these bits

kachow
yeah lol

why not cache string length
i did the better thing of moving to sized strings
getting the length is now O(1) its the same thing
yeah but cases like this will always come up
strings are a char* under the hood
im going to migrate to sized strings by default soon
kachow
woa
ro IEEE
i got a test json string from my friend
its 182,841 bytes
and all the bounds checks of the string during parsing end up taking its length like 1,170,555 times lmao
so its doing 214,025,446,755 iterations of ptr derefs of strings purely for calculating the length
how

const isEven = (x: number) => x == x + (3*.1+.3)/(3*.1-.3) - (3*.1+.3)/(3*.1-.3)
???
equality of floats is always wrong using == as it compares the ieee-754 representation
Math.abs(x - (x + (3*.1+.3)/(3*.1-.3) - (3*.1+.3)/(3*.1-.3))) < 1.0e-6 pls
will this crash my bun
This statement is meaningless unless you quantify the variables, because โx,y. x + y - y != x is false while โx,y. x + y - y != x is true
can you give an example?
like for โx,y
>>> 1 + 1e50 - 1e50 == 1
False
i dont program in apl
what the fuck is an upside down A
for all?
>>> msi = 9007199254740991
>>> 0.1 + msi - msi == 0.1
False
??????
am i the problem
yes
What exactly are you trying to claim with this?
- x+y-y is not always equal to x
- x+y-y is never equal to x
meow
idk
the former is only true due to float imprecision, the latter is not true
@valid jetty add funny constants like tau and the golden ratio
why
because I said so
You do understand how those two are different claims, right?
@valid jetty
@deep mulch look at this beautiful code
use std/prelude;
enum F @repr(fn(string) -> F) {}
fn foo(i32 *x) -> F {
*x += 1;
return foo;
}
fn main() {
x := 0;
a := +foo(&x);
b := +a(&x);
c := +b(&x);
$dbg(x);
}
prelude
And math doesn't like statements that can be interpreted in multiple ways, so they invented โ and โ symbols to be able to specify exactly what they mean
unary + to convert the enum to its repr type since type aliases dont exist yet
https://www.tauday.com/ @valid jetty
Me when I step on the legos
im aware of this
of course
you probably wrote it
@valid jetty @valid jetty @valid jetty @valid jetty
me when i:
complex numbers are wrong, what they call i is actually the bivector component xy
i think tau is better than pi because i dont need to divide by 2 which my brain takes a few days to do
@valid jetty explain I/Q modulation
so the square root of -1 is equal to x * y?
no
oh
rosie could genuinely be my college math professor
geometric algebra says complex numbers are really 2d vectors
and quaternions are really 4d vectors
what is a rotor
A multivector with only the even components nonzero
well yeah i guess
In 2d, that's the 1 and xy components (classically written as 1 and i), in 3d it's 1, xy, yz, and xz (classically written 1, i, j, k)
Or equivalently, the geometric product of an even number of vectors
Well, more like "the square root" is a nonsensical statement in domains other than reals
And highly questionable even in reals, unless you restrict to nonnegative ones
she the on my square till i root
..or can you? A deceptively simple question with a complex answer โ come join a mathematical journey into madness and wonder, in search of answers that might just give you a new perspective on the mathematical constructs we use in our games
Recorded at Dutch Game Day 2023, October 4th
Timestamps:
00:00 Intro
04:34 Talk Start
05:17 Anatomy of...
good talk
cap
_mm256_mul_ps can do that
https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#4687
@valid jetty forced to write simd instructions by hand
not super hard
what is this shit
I just do --simd on my build
get this nerd stuff away from me
llvm will do this for us
Btw the cross product is my favorite type error
Manually using AVX
No
You will be forced to write assembly and not javaslop
rhetorical question
the only assembly I wrote by hand is 8086
this will not change
that was fucking painful
fucking manually writing asm in a MS-DOS terminal with a lookup table printed on a piece of paper
x86-64 is much easier to write nowadays
Don't worry segmentation doesn't exist in 64-bit
import m from "mithril"
import { css } from "goober"
const centerDivCss = css({
display: "flex",
flexDirection: "column",
justifyContent: "center",
alignItems: "center",
height: "100vh"
})
const buttonCss = css({
margin: "10px",
fontFamily: "Courier New"
})
const countCss = css({
fontFamily: "Courier New"
})
const root = document.body
m.mount(root, {
count: 0,
view() {
return m("div", { class: centerDivCss }, [
m("button", { onclick: () => this.count++, class: buttonCss }, "Increase"),
m("br"),
m("span", { class: countCss }, this.count),
m("br"),
m("button", { onclick: () => this.count--, class: buttonCss }, "Decrease")
])
}
})
we cant be fucking deadass
bros reinventing react native
thats literally what does react do under hood
yes??? but i am not using a 40 kilobyte library i am using mithrill
mithril is supposed to be used like this
thats why mithril also easily supports jsx
this is cancer holy
i mean sure svelte is still better
but this can be done without a bundler
technically
and here I thought my tailwind is bad

@pseudo sierra
whos that
where does the misconception that functional = not oop therefore C is a functional language come from
(1..100).each{|n|s="";s+="Fizz"if n%3==0;s+="Buzz"if n%5==0;puts s.empty? ? n:s}
gang
anyone wanna save me
no i already know
its just
i spent the whole day
making this
im cooked
what is it
discord bot, with flask integration for easy to access modification to any command, including custom phrases
what's the point
im making it for my server
insane font
okay
need
Replacing each proton in your body with a neutron.
wouldn't that cause a horrifyingly big boom?
i wanna split every proton in my body
heyy
how is this even okay
hop on uvloop/winloop
also i'll switch to records for packets, but at the start idk
we got compact headers anyway tho
depends what you mean ?
wdym object
oh wait don't tell me this is old screenshot where it was still object
yeah i used to have a class now i have static stuff
i stole this from something i shared days ago
it's just that having a class made debugging easier as i could see both representations at the same time
that's how it is now
Based Microsoft ???
my ByteReader is just package private functional interface
nah they just reintroducing what they removed from W10 it's not based is oh we fucked up and see everyone going for Linux and Mac and we need to change shit so market share go up again
it's interesting but i'll see when it'll hit LTS
one thing i like is virtual threads tho
look at that shit, one line change, way more performance
package me.julienraptor01;
import me.julienraptor01.socket.Client;
import me.julienraptor01.socket.Server;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Main {
public static final Logger LOGGER = LoggerFactory.getLogger(Main.class.getName());
public static final String ADDRESS = "localhost";
public static final int PORT = 25565;
@SuppressWarnings("UnnecessaryModifier")
public static void main(@SuppressWarnings("unused") String[] args) {
Server server = new Server(ADDRESS, PORT);
LOGGER.info("Server started : {}", server.socket.getLocalSocketAddress());
for (;;) {
Client client = new Client(server);
LOGGER.info("Client connected : {}", client.socket.getRemoteSocketAddress());
//new Thread(new ClientHandler(client)).start();
Thread.startVirtualThread(new ClientHandler(client));
}
}
}
also this kind of website remind me why i hate web devs
fucking justified text and max width
like here's the same page but with CSS adjusted to not be shitty and boom it fit in a fucking single fullscreen 1080p page
sure share, i'm always open to ideas to change code
i'll make my repo public at some point when it'll be advanced enough
i see why for 1. but it's intended and sane and i want to swallow all exceptions and just turn them into null and prevent them from rising
also the emitted bytecode and how it get JITted to native is actually fine
also i couldn't do if i want, the point of a functional interface is that it only has a single method
also dataInputStream doesn't have an hasRemaining so i'd always return true and i know that for my ByteBuffer hasRemaining will always return true as i readFully and already know the packetSize and i'm pretty sure even in case of bad packet there's no way it could try an out of buffer read
also for the 2, a baos initial capacity is actually 32bits and so for most of the time it actually will not realloc
the only case here my stuff realloc is on the write of the 5th value which nearly never happen
and also ByteBuffer fucking suck for writing and reading, you gotta fucking flip and hasArray and shit and nah
i find ByteArray to be great for read only, but that's it
what i can do tho is tell the baos to allow with 5 bytes and that way i know it will never realloc
also i just checked and it JIT well anyway
so yeah basically i should just change it like this
public static byte[] encode(int value) {
ByteArrayOutputStream baos = new ByteArrayOutputStream(5);
while (true) {
if ((value & ~0x7F) == 0) {
baos.write(value);
return baos.toByteArray();
}
baos.write((value & 0x7F) | 0x80);
value >>>= 7;
}
}
well here the VM actually JIT it into optimized stuff
and under the hood it's doing well
i mean technically Mojang's VarInts are silly as they are non-zigzag LEB128
which mean any negative value always takes the max space
instead of values furthest from 0 taking the most space
why do u need a BAOS for this
it's fixed size so u can just use byte[]
oh livia said that
basically this
it's not fixed size
i actually need an array without 0 at the end
so i need to do an array copy and actually remove the 0s
and that's literally what baos with an alloc size of 5 do
and also that means i have to track the index
and i mean at that point i should literally FFI and use optimize C(++) code
except that the JVM literally create optimized shit from the bytecode with the JIT
all i have to do is to just tell the baos to alloc the max size and then when it works in it, it's always gonna staay in it and then when i get the byte[] i get the right thing
Why not use a pool and MessageWriter class instead
Or pre-compute packet array size upon making packet and allocate array once across one packet, and straight write into it
That's what i am going to do in phantom (custom Among Us server (and i know that Impostor exists, but I want C++))
explain more as i'm not sure to understand what you mean
probably because i have more code and context and that you might imagine other things
anyway the JIT isn't stupid and basically reduce my VarInt code to what one would write at low level so it's all fine
all i was missing was specifying the MAX_SIZE as allocation
and if you guys wanna try feel free to run functions million times to see how it ends up
What the hell is this
A small part of the message above
Bro in what world will the JIT save you there
Like, if you really want to prove it you could wire it up with JMH+JITWatch
Me who literally just run cheat engine and go see the assembly
I have no clue what you're yappin on about the "JIT" saving your ass
The real pain (if you meant to cause it) is the amount of boxing and alloc spam in what seems to be code you're trying to optimize.
The 'correctness' here as far as 'the code doing what you want it to' is prolly fine
But if perf/gc pressure do become an issue here, please just make a wrapper/facade around your memory buffer for reading/writing varints. Or a set of static methods that directly interact with the buffer.
Without having one-time-use byte[] just bing-chilling in there, or nullable Long values
And if you insist on keeping that array there, you can do this:
static byte[] toVarInt(int i) {
if ((i & 0b1111111) == i) {
return new byte[] {
(byte)i
};
} else if ((i & 0b1111111_1111111) == i) {
return new byte[] {
(byte) ((i >>> 7) | 0x80),
(byte) (i & 0x7F)
};
} else if ((i & 0b1111111_1111111_1111111) == i) {
return new byte[] {
(byte) ((i >>> 14) | 0x80),
(byte) (((i >>> 7) & 0x7F) | 0x80),
(byte) (i & 0x7F)
};
} else if ((i & 0b1111111_1111111_1111111_1111111) == i) {
return new byte[] {
(byte) ((i >>> 21) | 0x80),
(byte) (((i >>> 14) & 0x7F) | 0x80),
(byte) (((i >>> 7) & 0x7F) | 0x80),
(byte) (i & 0x7F)
};
} else {
return new byte[] {
(byte) ((i >>> 28) | 0x80),
(byte) (((i >>> 21) & 0x7F) | 0x80),
(byte) (((i >>> 14) & 0x7F) | 0x80),
(byte) (((i >>> 7) & 0x7F) | 0x80),
(byte) (i & 0x7F)
};
}
}
Which the JIT will actually enjoy working with
plus u have no loop
1st boxing is fine, way better than exceptions
2nd there is literally no alloc spam, the amount of alloc is literally the amount you need, you can remove a single allocation if you don't use a baos which alloc byte[5] and then actually give a byte[n] depending on what's necessary
good there is no issue
and nullability in the read not only is intended, but also less costly than exception or needing to have a sentinel value
at that point i should just do FFI and have my native function in C using a jump table to only do a single comparison
"make the project optimized pls"
RE: #๐พ-core-development message (@wanton totem)
i personally am aware of text replace but isn't it's function to primarily replace the contents of one's own messages?
from the looks of it, the original PR was to replace all given client-side render iterations of "microsoft" like the original linked browser extension does it
i should also disclose that i thought the PR was funny and i wanted to give the contributor a nudge into the correct direction :)
ยฏ_(ใ)_/ยฏ
I mean allocating byte[] once, then make ur method accept byte[] destination, int offset, T value and return int representing count of written bytes (for caller, this means to advance offset)
If this was C or C++ these params should have gone into struct which can be allocated on stack
But you're using Java and objects are allocated on heap, so you either should use a pool (basically you pre-allocate objects upon application startup, preferably a lot (at least 1024), and you can recycle objects so you can make no allocations for long time. You also can have multiple pools for same type but with different sizes (e.g 1KB, 2KB, 4KB, 8KB, 16KB, 32KB, 64KB, etc)), or you can allocate a byte array once per packet (but then you stress allocator)
I recommend using a pool in Java
Go with allocating byte array per packet if youre using C/C++ (ideally on the stack)
then use patches
I have that for my text replace
ohhh interesting
ty for clarifying
the original comment didn't really point it out so i glanced over it
Is this Window's comeback story??
i have faith
they started getting scared
dropping [...] WebView in [...] Start menu
pretty sure start menu always used react native instead of webview
Probably ai slop
Especially since it doesn't link to any actual msft announcements, or is windowslatest itself an offical outlet?
w11 is just going great โข
Never
god i hope all react and tauri devs fucking end themselves
spent 30 minutes trying to uninstall this rust app, because its auto-updater downloaded to %tmp% and to uninstall it, you need the installer
sdo i couldnt fucking uninstall it, and when i seletected "do not uninstall" on the updater, it just gave me "failed to uninstall'
FUCKER I JUST SAID TO NOT UNINSTALL
20 minutes of fixing shit via regedit, it fucking doesnt work anyways because its taurio on fucking REACt
AND REACT IS SO DOGSHIT ITS UNFUNNY

linux solves this
linux doesnt solve tauri being dogshit
and react also being dogshit
it wraps tauri auto-update dogshit in its own package manager dogshit, which will cause its own problems down the line
and for react its even worse since you'll be playing a lottery if your webview even works on linux with tauri
because firefox is a webview of all time for sure
linux doesn't solve apps being stupid and being uninstallable
In fact it's worse on linux
@jade stone satan
brainfuck
trueish, flatpak and appimages make them a lot simpler but there are some apps that are archives only
apps that do that should die
die
@deep mulch
i'm new to css and browser stuff
wondering why is this prefered
.home-button {
transition: color 0.1s ease !important;
}
.home-button svg {
width: 24px;
height: 24px;
}
.home-button svg path {
d: path("...");
}
over this
.home-button {
transition: color 0.1s ease !important;
svg {
width: 24px;
height: 24px;
path {
d: path(
"..."
);
}
}
}```
as well as
```css
.sidebar button {
transition: 0.1s ease;
}
.sidebar button:hover {
transform: scale(1.1);
}```
over this
```css
.sidebar button {
transition: 0.1s ease;
&:hover {
transform: scale(1.1);
}
}
atleast from what i see in most css snippets or whatevs
honestly i prefer nesting
yeah it like easier too you don't have to select twice
but i kept seeing this reselect
vsb 1
Done! 
softbanned @kindred parcel
also css tuff ve been testing around ignore the text
@deep mulch
read text
actually insane text ๐ญ
w text
The text is physically impossible to ignore
awesome text
great text
idk i got bored and wanted to fix custom usernames weirdly wrapping on firefox
if anyone else has that issue i made a silly fix
div[class^="usernameRow__"] div[class^="container_"] > span[class^="innerContainer_"] {
display: flex;
}
flatpak has it's own issues
namely that images are huge and permissions are a pita
fatpak
who knew defragmenting memory was this easy
does this C make sense? do i need to be casting ptr_diff to int and taking the abs val?
@pseudo sierra I started optimizing my code and i had to make the buffer 8x bigger because it was so fast it kept being limited by the buffer
(tbh i didn't really do any optimization, i just used memchr instead of the stdlib)
GUH
8192 still sometimes fills up

Die
this is on my okish laptop hardware
i haven't run this optimized version on a desktop cpu yet
flamegraphs my beloved
learnt them not that long ago and I could feel myself going mad
@jade stone satan
is this fine or is there a more humane way
const scriptSrcDescriptor = Object.getOwnPropertyDescriptor(HTMLScriptElement.prototype, "src");
Object.defineProperty(HTMLScriptElement.prototype, "src", {
set(newSrc) {
if (keyWords.some(word => newSrc.includes(word))) return;
scriptSrcDescriptor.set.call(this, newSrc);
},
get() {
return scriptSrcDescriptor.get.call(this);
}
});```
there a site i often use with excessive ads that keep fetching stuff every few seconds so i thought this would like atleast do something
This seems long for the simple task
And slow
Linked lists are evil
how about adblock 
i'm doing stuff like tauri > webview2 smth like that because. and webview2 doesn't support extension ;9
oh
classic tauri cope
I jinxed it
I'm sobbing, the fact that you pinged me right when my Visual Studio crashed
tbh just don't use visual studio 
hop on clangd
that seems promising, will do 
wing uses
nop i use clion
how do you make native ui
use qt
i dont wanna use c++
what are you using then
c
I think cpp/wxwidgets is the best option for you if you;re aiming cross platform
you can easily only write the UI in cpp then just write your backend in c
It's not native, but I think imgui has c bindings
except it uses gtk3 on linux 
imgui is nice
Not sure if this is the right place to ask, but is this being worked on by anyone? Specifically being able to reorder favorite emojis?
https://github.com/Vencord/plugin-requests/issues/440
I use
It's great
the windows lover also likes visual studio
how
every single time I have ever used it is the most bloated sluggish ide I've ever used
I'd rather use eclipse
How do I fix it taking 10000 years to start
Somehow longer than jetbrains ides
use vs26
it fixed everything
why would you want VS in neovim
No no, neovim in vs
(It supports building for linux)
the most bloated.. what? 
gang should i switch to emacs
Nop
yop
where have you got that picture of me and my waif
what package
https://github.com/gaozhangmin/aliyunpan
https://github.com/gaozhangmin/aliyunpan/blob/main/package.json#L70
package.json: Line 70
"jassub": "^1.7.15",
so many https://github.com/zoriya/Kyoo
none of these are new tho

Weak
yes i know file
your C only headless, dependencyless, javascriptless, rustless, gpuless libaries are way more popular and better
dont need to tell us the story of ur life again, we'll pass
its simply a niche topic
my lib has more dls than all the alternatives combined
its also simply better
rust = bad
nino = bad
might ban
no pls
@frosty obsidian github copilot is getting trained on gloom
gloom was built using github copilot
i can't even disable optimizaitons ๐ญ
vai help this user
The images clearly show the significant performance difference when regex optimizations are enabled versus disabled. When optimizations are disabled, the "Reporter finished in" time is 112.32 seconds, with "Collecting find matches" taking 84 seconds. In contrast, with optimizations enabled, the process completes in 2.76 seconds, and "Collecting find matches" takes only 2 seconds. This demonstrates that regex optimizations drastically reduce the processing time.
Given your comment "i can't even disable optimizaitons ๐ญ", it seems you are highlighting the practical impossibility of running the process without these optimizations due to the severe performance degradation. Optimizing regular expressions is crucial for efficiency, especially in high-volume environments, to reduce CPU utilization, minimize memory consumption, and shorten execution time.
-# Response generated by gemini-2.5-flash. AI may be incorrect or misleading.
insane
vibecoding is the FUTURE
what have they done to you
@solemn ravine @pearl parrot can one of you finish gloom wing abandoned
petra novakova
Oh boy, I can't wait to fall in this scam.
@pearl parrot
vsb 1
Done! 
softbanned @cold bay
bro was already kicked
discord is just dumb and doesnt delete all messages sometimes
guh
i honestly have no clue what im looking at
it requires brain power to understand
which im lacking recently
The regex lib performs optimizations on the regex
The output is different if you enable them
oh I thought that meant optional
that makes sense ig
God finally proper AMOLED black lineup
took so long to get Gboard full black
petra novรกkovรก
pogfish
petra novรกkovรก
girl at the club asked me if this was a hate symbol
QRT: isabelrosesss
do you guys know I like nix?
it is
yop
Super husk
@dry path
no way its me

nix cant be this good
it really can 
how
I just stumbled upon a new patent from google : Patent US12536233B1 I hope I misunderstood the concept. It seems like they made a technology to generate webpage using AI on the fly based on your digital fingerprint ( and sponsored content ).
do you not ever feel the need to write hermeticly evaluated and declerative code that has a near perfect reproduciblity
yes but sadly i am not motivated nor smart enough to do that
i dont know how to put it, but dont you ever just want to sudo pacman -S something? or sudo apt install
not really
if i need something for like 5 minutes i have nix run and for anything longer i have the prefection that is my config
how big is ya config

imagine like gruvbox medium niri with gay
it really does look like a hate symbol if u don't know nix ๐ญ
i am a catppuccin shill but it doesnt look professional
sadly

my main arch critique was that proton was completely broken
is that the case for nixos
wha
i don't play much games on linux after the apex linux ban :/
my computer just came out as non binary (hexadecimal). can it still run nixos?
probally actually nixos has quite insane hardware support
like we have risc-vi support, loongarch64 and you can even build for windows
i built nix.exe once
oh
Port nixpkgs to windows when
wasnt that done
it already can do that tho
guh?
@vital plume arch moment LOL
works on my machine
@pearl dawn
https://en.cppreference.com/w/cpp/experimental/reflect.html seems delicious
Yeah, but those docs are old
And reflection is only available in the clang fork
Should also come with gcc 16 later this year
Where can I find ui inspirations for a game launcher? I'm doing as a side project. Are there any game launchers or websites with UI designs that I could checkout?

discord game library is alive and well actually
whoaaa how do i get that back โ๏ธ
you'd have to have owned some games to get that feature ๐ญ
ripppp i made this acct after they discontinued the feature
you can actually still enable the library even if you didnt have any games
for some reason
DiscordOS 
oh is it an account flag or something
its an advanced option
show game library
i dont know if theyve removed it now but even if they did it absolutely existed because ive enabled it a few times
hmm that option isn't visible on my other account
im on the windows desktop client just to clarify
dont know if it doesnt show up on web
malware
The Adevnture of PepeL
I remember this game
peep!!!!!!
does installing games work for you
I thought the infra was down
nope :(
I just kept the old adventures of pepeL files for testing some stuff
@jade stone teach me rust
i barely know it lol
lol axios maintainer was hacked and malware pushed to axios https://github.com/axios/axios/issues/10604
more details: https://www.stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan Most likely, a maintainer's GitHub and npm accounts are compromised as these...
if only people didn't use this archaic obsolete library anymore 
insane
i used to use that library a few years ago
axios time <3
my bad
npm so popular like windows, its even got its own marketshare monopolization of supply chain attacks on package managers
@deep mulch teach me rust
hey guys, i need a quick help with css ๐ , ive got no clue why is there excess space on the bottom of my page. it can disappear if i put overflow-hidden on body, that works, but it also hides it on pages with different layout where i need the scroll
its like this
the goal was to create a layout, which is fixed and a content which is scrollable. the content is scrollable, but theres also a 2nd scrollbar on the entire body
it is there!
theres 2 scrollbars in total for some reason
should i REALLY be exposing this info
https://mikeden.site/apis/about-this-server.php
Javascript moment
You pull 3000 dependencies for a single project and get this
Have you tried adding min height 0
yes
I've needed to do that with flex + scroll before
Have you tried the contain property
The contain CSS property indicates that an element and its contents are, as much as possible, independent from the rest of the document tree.
Containment enables isolating a subsection of the DOM, providing performance benefits by limiting calculations of layout, style, paint, size, or any combination to a DOM subtree rather than the entire page...
what i find interesting is the fact that i happened to make a working version in plain html
@jade stone this might sound crazy, but the issue was an absolutely positioned input for whatever reason, when i remove it, it doesnt happen anymore
this is fucking weird
Honestly I can't know if it's crazy or not without having actually tried to fix it myself
They're just so many moving parts when you're dealing with CSS
not but like why tf does it affect Y axis
because you dont specify inset
well i use shadcn (radix primitives) so i cant even edit this. i just solved it by wrapping it in position relative element
upon testing it seems to work correctly
yea but this is baked into radix primitives
checkbox.tsx: Line 361
position: 'absolute',
i dont use the buble input directly tho, its wrapped in the actual checkbox, so i cant pass it into it
oh wait
it uses context
i might be just stupid then 
i just have to specify it through actual style attribute and not tailwind
one day anthropic will ship good software
that is the day AGI is created
hah doing the exact same thing
perhaps its because the gql file has 8k lines 
well i wanted partial entity normalization in a graph cache
TLDR while network requests is in flight, resolve partial pieces from cache, then predict the query results based on the request, with shit like filtering etc
a lil bit batshit insane
didnt work
wow
'U' could be instantiated with an arbitrary type which could be unrelated to 'Awaited<Z> | Awaited<U>'
REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
now add ambient occlusion

A bug in Bun may have been the root cause of the Claude Code source code leak.
bun so good
we love bun XD
What version of Bun is running? 1.3.10+30e609e08 What platform is your computer? Microsoft Windows NT 10.0.26200.0 x64 What steps can reproduce the bug? This in server.js: import homepage from '...
Claude code source code has been leaked via a map file in their npm registry!
Code: https://t.co/jBiMoOzt8G

bun blast @royal nymph
this real?
no lmao
fun
@upper tree you
(also the back to all blogs button on your site is broken)
@jade stone SADANTIFACTORY
soon
ye it's supposed to a different deployment (Cloudflare Workers) and I just stripped the / page since it requires backend
what about baseui
theres baseui variants you can use
Hmm, might consider migrating in the near future
Im running DistroBox Debian in NixOS to run OperaGX
nuke ogx
agree
remove computer, just use a notebook
ragebaited a skid and now hes "ddosing" my site
son
bro doesnt know cloudflare exists
hi
wtf bro I use this ๐ https://fixupx.com/i/status/2039355472830939319
I wish you could use a userscript for this
there's no other way to do what the extension does 
unless you do it manually (always click extension icon whenever you want to prettify json)
you'd expect Google to vet extensions with millions of users better, especially ones with such permissions
yeah i saw this in its source code a few months back so i removed it
idk i see no reason to allow auto updates on this type of extension but maybe chrome doesn't allow disabling it
actually you could just unpack the extension then load unpacked
im scared of auto updates
usually if I don't trust an extension entirely I just read the code then pin the version 
this is why i almost exclusively use userscripts
cant have random malicious updates
and im competent enough to fix shit myself in the code
bro.
mutual friend.
what ๐ญ
how are u conected to nyami.
hes fr connected to half of the planet
true
i have this + tampermonkey
and then my own custom extensions i wrote myself for fun
ngl I think there are some things where not updating it is the more secure option, but when there are things which may have a lot of security vulnerabilities well you're screwed ig
im not updating anything that i didnt trust on the first install but somehow didnt infect my machine
that made almost no sense but it makes sense in my heart
so true
I liked the sentiment of a comment on a video about the axios situation
If you don't update - you get hacked. If you DO update - you get hacked
simple solution: just don't use axios

simple solution: https://pnpm.io/supply-chain-security#delay-dependency-updates
Sometimes npm packages are compromised and published with malware. Luckily, there are companies like [Socket], [Snyk], and [Aikido] that detect these compromised packages early. The npm registry usually removes the affected versions within hours. However, there is always a window of time between when the malware is published and when it is detec...
honestly I'd be reluctant to update besides fixing confirmed security vulnerabilities
but package.json versions typically allow a newer version to be used (though shouldn't the lockfile make things somewhat consistent)
ah, that's why in my actual experience a newer version sometimes gets used then 
it depends how you define dependencies
by default when you install a package it adds v ^1.2.3
the ^ allows minor updates
if you run npm install with ^1.2.3 in package.json, it could install 1.20.18
I know where you are now 
@royal nymph vencied will have 500 cves soon
Have minimal deps*
I have zero dependencies in my current C++ project
Maybe only RapidJSON and OpenSSL
But openssl can be avoided on windows thankfully
yeah I realise that I just thought the verison in the lockfile would be prioritised
and I've seen pnpm i change the lockfile and also knew that the frozen-lockfile flag existed so idk why I thought that
this is nice but onlyBuiltDependencies is better
obviously you use both of them
yop
how do i get permission to send my own pluginsโ and where are the rules to follow to not send something thats gonna get me banned ? #1256395889354997771
Guidelines for #1256395889354997771
Please read before posting your plugin
To submit, please open a #๐ฉ-modmail with your submission.
Your plugin must be in its own git repository and allow users to install it by simply cloning it into their userplugins folder, as described in https://discord.com/channels/1015060230222131221/1257038407503446176.
This means that your repository needs to have its index.ts file in the root. One plugin per repo!
Please add a README.md to it and link to the install guide: https://discord.com/channels/1015060230222131221/1257038407503446176
Your submission must follow the plugin rules:
- No raw DOM manipulation. Use proper patches and React.
- No FakeDeafen or FakeMute.
- No StereoMic.
- No selfbots or API spam. (animated status, message pruner, auto reply, nitro snipers, etc)
- If your plugin makes use of an external API, you must add a disclaimer.
also if you AI generated your plugin don't submit it
firefox does this natively
its very nice
@deep mulch i love reading my old code
malware
(this is also a logic error for other reasons </3)
If you call that garbage, provide something good instead.
Youโre not providing concrete feedback, and I want the real reason for rejection.
It doesnโt seem specified in your instructions that AI-assisted plugins are not allowed.
I followed the listed requirements. If there are technical violations, list them exactly so I can fix them.
no slop is an unwritten rule
LOL he left
glock write me a message that makes me look mad since i got rejected
A little video about C++.
0:00 Introduction
1:39 Casting in C++.
2:47 Keywords
5:31 Types
7:02 Different Ways to Do the Same Thing
7:20 const
8:20 Formatting and Style
9:40 Naming Conventions
14:16 Header Files
20:28 Namespaces
24:50 Compile Times
26:51 Modern C++.
31:53 C/C++.
33:08 C++ Edge Cases
34:53 Compilers and Build Systems
40:35 Instal...
@deep mulch watch
2h long
Why is caterpregnant_s
hi lana
Hello sorry
JavaScript (JS) is a lightweight interpreted (or just-in-time compiled) programming language with first-class functions. While it is most well-known as the scripting language for Web pages, many non-browser environments also use it, such as Node.js, Apache CouchDB and Adobe Acrobat. JavaScript is a prototype-based, garbage-collected, dynamic lan...
xi jinpin
I've seen that before in a lot of it is dumb
But the AI images in it were just miserable to watch
@jade stone
i think the actual content of the video is pretty good
although the ai graphics are pretty awful
I mean there are some Fair points in it but I feel like some are pretty weak
Never finished it the graphics were so bad
you love ai slop
nop
am i so cool
Object.defineProperty(Object.prototype, "getHorizontalAdHeight", {
set: v => {},
get: () => {
return () => 0;
}
});
Object.defineProperty(Object.prototype, "getVerticalAdWidth", {
set: v => {},
get: () => {
return () => 0;
}
});```
to stop
Insane
what's the downside to like these excessive monkeypatching tho
aside from it being on every object
is this better atleast
const props = ["getHorizontalAdHeight", "getVerticalAdWidth"];
props.forEach(prop => {
Object.defineProperty(Object.prototype, prop, {
set(v) {
Object.defineProperty(this, prop, {
value: () => 0,
writable: true,
configurable: true
});
delete Object.prototype[prop];
},
get() {
return () => 0;
},
configurable: true
});
});```
This is insane
its programming just not me the one whos programming
okay honestly one thing i really struggle with is implementing auth in spring
even AI cant spit it out correctly
the docs are shit
@calm ruin get to work
in work (game)
yes it is bad
@calm ruin why are you turkish
@jade stone
vibecoding is like ai art
you still are a coder because you manage the ai
just like we ai artists are artists because of managing the ai
the art of skinning a nina alive
ubuntu is cisgender and heterosexual
we dont
logged into gith*b first time in this year just to block claude and make informed choices
github owns my body
I need the free github runners
if i get free compute they can take as much code as they want bro (its all horrible code anyways that will just ruin some vibe coders day)
Why the fuck can I not make static properties in C++
average windows api
a few small c++ crimes
horror
i have a sudden urge to switch to nixos but last time it didnt go well
and i currently dont have access to any other pc that isnt my laptop so if i cant boot into my laptop its broken until i get home
RESIST
do not
idk use fedora or something
i need like very good comfortabilitly
customizability*
or something
dik
idk
oh I guess arch then
games work badly on arch
what do you even need to customize
everything i want unixporn to be proud of me
how's it not customizable enough
it is customizable but it gives you a lot from scratch that needs to be removed/edited
wait until you hear about gentoo or lfs
building every executable from scratch is the stupidest idea i have ever heard in my life
its customization to the extreme
really i think plain arch is probably best
its gonna be more minimal than cachy
well if you need that then just configure arch from scratch without archinstall
and apple whatever optimizations cachyos uses
same drivers DE configs etc
also arch is fine for games from personal experience
apple
apply*
did someone say
@pseudo sierra
It's pretty good
I like ot
hall yaeh
Pinguh will say my config is insane
penger
.
cuz it is
do
@pearl parrot 




