#🪅-progaming
1 messages · Page 98 of 1
web apps aren't inherently bloated
> 50MB of ram is bloat
electronslop sure
sir mpv uses minimum 300+MB of RAM
but Unknown is talking about PWAs
they use what's already available on your system and if you already have your browser open anyway (who doesnt), they probably use fairly little resources
this is on a <1 minute, 16MB video file btw
That’s just required to decode a video unfortunately
you should see what happens what happens to blurays
well shit would you look at that, that seems in no way a true statement!
I assume you’re using a hardware video decoder
Default mpv does not use one
i spent a year researching and writing a paper on this
i never said i'm using stock mpv
i'm using community recommended configs for optimal video playback
aka a functional video player
I assume also caching because mpv prides itself on it
cause it’s a blue ray and it caches the source file
But we have a high min ram usage due to multiple factors
No?
you're not going to win with theoreticals
native apps will ALWAYS use way more resources than a halfway decent PWA
Why the fuck we’re you arguing in favor for them earlier
and the outliers are so rare that they might as well be non-existent
me?
This is simply false idk what copium you’re huffing. Mpv is sound a lot you don’t know about
sure, but its not lighter than a PWA
Web browsers are not MAGICALLY more efficient
your proof
is right here
Because mpv is doing more than your app.
idk bro but the image viewer takes double the amount of ram as the bloated as shit native windows photo viewer and all im opening is a short gif
nope
it trully is not
they are both playing back a video
i could give less of a fuck about what kind of ass licking MPV is doing, all i care about is very fast, and correct video playback
Cool, you don’t implement the amount of features mpv is using
like?
opening a video file and rendering subtitles?
because that's all that mpv does, it doesnt even fucking have a ui
it just uses subtitles to render shit
color mapping? browser does it. HDR? browser does it. hw accell? browser does it.
subtitles admittedly i had to do myself
mpv keeps all streams in the file cached, it keeps a decode cache for fast and accurate seeking, complex filter chains it applies on most peoples configs, multiple other thing i dont care to explain
and... you think browsers dont?
shit browser's http streaming is better than mpvs brother
i mean go figure
mpv has a larger default cache for better seeking for starters
great, and the browsers simply solve that by seeking to multiple places at once and finding which one is more accurate
and the latency on that is ~20ms
again
i'm not going to dig into what mpv does
long story short is that native apps will not use less resources than pwas
ever
like ever ever
and the outliers to that is microsoft's old notepad
imageglass, qbit or libtorrent, etc etc
this does not work always for multiple reasons mpv solves
MPV does a LOT more than you think it does
and yet it works functionally the same, and uses more resources
wooooo!
again i dont care
its not delivering anything extra with those extra resources, which is also not my point
then you dont have feature parity and its a unfair comparison
and fuck me
man is complaining about feature parity without an interface
which is for the 5th time
not the point of the conversation
@ivory heath as a web dev im sorry that you have to deal with people like this
pyra you're the 2nd most braindead person here
mf goes "um akshtually mpv keeps a 300MB cache of each subpxiel of the each video frame in this 16MB file, so you can seek in 0.0001ns"
like brotha what
its a fucking 16MB file
you could lay out each frame as a PNG and that'd still be less than 300MB
no matter what it does it doesnt warrant that kind of memory usage on that tiny of a file, no matter what
its a SINGLE file
and i'm not saying mpv is shit, even the other way around, no matter how good your native app is, because even native apps as good as mpv, will will use more resources than web apps, BECAUSE THEY NEED THEIR OWN CONTEXTS TO WORK IN, they cant just go "oh yeah browser do this gpu stuff for me, and use the gpu process the 12 other tabs/pwas are using so you dont need to spawn the 12th GPU process"
so even in a BEST case scenario it will use more resources for that reason alone
ignoring all the OS specific bullshit you'd need to load and deal with as a native app
which PWAs do as a shared base entry cost, which is made more and more negligible the more PWAs you run
and this mf goes "nu-uh, i'd know more about this, as a person who doesnt do web dev, doesnt touch web apps, and hasnt spent any time researching it"
and you want me to keep it civil against that
like brotha man hold me pls
im bout to use the derogatory "sir" again
Each decoded frame of a 1080 video is 4MB in size.
Like i said the source files sizes does not matter and its actually pretty impressive MPV uses as little as it does with the performance it has.
You are overstating the cost of having a gpu stream unless youre too browser brained as the shared constant state is all gpu driver side.
even if creating a gpu stream was expensive (it isnt) EVERYTHING about a PWA is less efficient than native.
except ofc, actual resource usage like memory, cpu, gpu and ofc filesize, as that entire video player is <1MB
You are conflating facts and details to suck off browsers when they suck ass and 99% of things could be ran in a terminal with less than 1mb
sure if you use browsers for things a text editor can
but then just use firefox, since that's all its good for
i'm not doing that
i'm using it as a video player, as an image viewer, as an IDE
and i'm not saying mpv is shit
on the contrary i'm saying how good it is
and it simply cant beat what a pwa based env offers when it comes to resource utilization
is resource utilization the only argument you gonna use?
yes
you are over estimating the ammount of resources chrome can share between "apps"
chrome itself has a heavy start up cost (thats actually mostly cache files)
yeah ignoring speed or anything lese
because as long as you're real-time it doesnt matter what kind of perf you get, so i will
because if you're running at 200fps, 1ms and 5ms is no difference
ANY OPTIMIZATION
yes, which directly corelates to resource usage
smh
nope, you're underestimating it, chrome maxes out at roughly 2TB of RAM, and roughly 4GB of VRAM, and doesnt restrict cpu usage in any way, but yeah initial chromium cost is high, which is why:
you're just not reading
yep
and shit
who would have thought
browsers run native code
SHOCKER
OH MY GOD
but you're running it once
not 12 times
^^
i never talked about video games
so far i only mentioned video playback, a torrent client and an image viewer
you're just derailing because you're running out of things to argue
you just dont get it
that said, running video games in web isnt impossible, thanks to webgpu's vulkan, but.... the translation layers we have so far arent... good in any way tbf, so i wouldnt attempt it
nah you just dont get it, you're comparing 1 native app vs 1 pwa, i'm comparing 12 native apps vs 12 pwas
if in the future i turn on my pc and its entirely made out of pwas, i open explorer and it takes 5 minutes to load my files because it was made in react or some other dumbass framework im becoming an eco terrorist
well... yes, but see this is why i said
react doesnt qualify as that
as discord so kindly proved that
I don't think PWA can't be decent lol
that just means u cant do it
i've been running almost everything i can, in a reasonable amount, as a PWA
youtube music, discord, image viewers, music players
vscode doesnt rly work great as a PWA, and steam is closed down too tightly to allow to be ran as a PWA, there's no way to do file explorers as PWAs due to security sandboxing in browsers, and for a torrent client i need to run nodejs in electron, which is unfortunately not a PWA :/
honestly, yeah, there are very few good PWAs out there, like very few, its also a love hate relationship for me, but the potential is crazy for me
low time to product costs, low implementation cost, low simplicity
is what'd i'd boil it down to from personal experience
Honestly that's why I do everything in Kotlin
Whether I need native or JVM or WASM, it just works
yeah.... i kiiinda get that
please just don't make websites with compose web 😭
Too late, I already have multiple that are live
i will shoot...
but then never actually implemented any native API's around that

Lemme DM you one
i mean it is, it's just that the ui libraries for it kinda suck
and it ends up that your core codebase is in java, and cross platform, but then you have 3 libraries for calling native, one for linux, one for windows and one for mac
no one likes Swing
its not even that
Compose Desktop tho
its just... the language itself
thats kotlin not java
like the standards of the lanaguage
or lack there of
W3C is trully carrying JS
with the cross platform standards for everything
shit, we even got standards for raw GPU access now
i could trully see myself using kotlin more, if only it was trully cross platform with anything you do
like fuck, i love the threading implementations in kotlin
that shit's honestly great
well the IDE kinda sucks too, but oh well
im sure youll prefer any other languages threading model lol
over kotlins? probably only Go tbf, C++ is decent, but its C++, i'd rather kill myself than touch that, i shake when i see makefiles
make files are easy
kolins is the same as javas, c is similar to go if youre using pthreads, c++ is very simple as well.
until there are 4 of them, you're trying to compile for non x86 and you're trying to touch any flags
because fuck sane defaults right?
you know what's easy?
no makefiles
I don't really like the JVM's thread system myself but I do love kotlinx.coroutines
fair
oh you mean green threads?
C++'s ways are nice for it, but C++ itself is hell to work with, so I wouldnt consider using it
kotlin is really nice to work with, nice and friendly, no footguns every quarter step
go even more so
There's a funky trick you can do
- Grab Kotlin Native
- Set up targets in Gradle
- Add an empty Kotlin file (might need an entrypoint if executable)
- Set up the compile task to
-Xextra-compile file.cppfor each cpp file - ???
- Profit
honestly, at that point i'd just do rust or go bindings
That's how I used xsimd for all native build targets for https://github.com/Martmists-GH/ndarray.simd
but the problem is, if you're say importing harfbuzz
-Xextra-compile file.cpp
kotlins not gonna resolve libs for you lol
you still need makefiles to compile harfbuzz itself, and then hook it in go
which is just... the same cancer, but with extra steps
It's minimal effort with the klib format (or specifying manually)
Though honestly
Gradle might be the best build system ever created
thats only really true when its your own C++ ur workign with
which is not the growing pains of C++
Fair
the cancer of C++ is trying to import 3rd party libs

I remember trying to import mbedtls
I ended up writing my own TLS impl for Nintendo Switch
And then my own http/ws clients...
i assume youre on windows?
It's a problem on every platform
Where
nope, because harfbuzz doesnt even compile correctly on windows!
so i have to use WSL and linux to compile it
WOOOO C++
HELL YEAH BAYBE
yeah compiling c/c++ is super easy on linux
Ah yes because I can easily use JS on the fucking Nintendo Switch
I'd love to see you try
It's genuinely make modding quite a bit easier I think
Except for the part where you've got essentially no heap and BSS is very limited
malloc has a 90% chance of breaking so you'll need to use fakeheap
yeah i saw, switch is insanely cancer to work with
There's essentially no libc methods either like socket/select/close/clock/etc
Or are those considered musl
I forget
Either way
You gotta use their dedicated APIs
Which, depending on the game, you might not even have access to
what is this? just a alloca?
if you malloc() from a separate nss file at the wrong time, nn::mem::Allocator will throw a fit and hard crash
And often that happens on the rendering thread for some reason so you can't even debug it
yes so im asking what youre using as a fake heap. my first assumption is just using your own stack space as a pseudo self managed heap
Uhhh
Whatever exlaunch does
I believe it's just a BSS-based heap
Of like 16MB?
Probably less actually
Oh but no global ctors that use classes of course
Because those don't malloc but instead operator.new
Which doesn't use the fakeheap and has all of the aforementioned malloc issues
im so happy i just use my android phone as a steam deck and dont have any of these problems
I like to think everything I've posted here before is enough proof of me being a psychopath
you are a certified one and i respect it
And I haven't even shown my code for interacting with cpython from pure python without need for ctypes or anything wacky
The easiest one just uses /proc/self/mem but on windows we actually use EX_ARG 255 times to overflow the argument handler and get access to the entire memory by abusing a memoryview on an object that technically doesn't exist
But I believe that has since been patched so we're SOL on modern python on windows
But the bytecode modification tools should still work more or less
i think i've posted all the unhinged code i've written over the years here
the libass wasm wrapper is probably the craziest one tho
webtorrent client stuff is up there too i guess
i fucking decided that the easiest way to do color space conversion for subtitles is to pre-compute all combinations of colorspaces into a color matrix
and use svg filters in the browser to have the browser convert the color spaces for me

https://github.com/AndroidAudioMods/ViPERFX_RE is probably the only somewhat sane project I ever did
most of my shit is fairly sane considering its meant to be used in production, and most of the time i'm just writing drop-in replacements for dogshit libraries other people wrote
this one is fun tho

@royal nymph look, these guys have you beat in how long it takes them to merge shit https://github.com/electron/electron/pull/44947
Description of Change
Added docs for developers to be able to discover how to enable specific chromium flags and switches. This method is non-exhaustive, but it's the most.... complete way ...
8 months
XDDDDDDDDDD
2 loc per month
lines of docs actually not loc
no one can beat gnome tho
cough cough gtk file picker cough thumbnails cough 18 years

I mean I also have some code for production like my GraphQL server impl that actually uses kx.coroutines and has a nice DSL, and a GraphQL client where you actually write gql: kotlin gql.query { me { name friends(limit=10) { // : is invalid kotlin name } } }
why is this better than just writing it as string
Because strings can have syntax errors or target fields that some objects might not have since they're not checked
This just uses the type system directly
string? syntax error? what?
in typescript you can use the typesystem to check this
gql.query`
me {
name
friends(limit=10) {
name
}
}
`;
like invalid queries
yeah, but he's not doing that, so he doesnt have them
i dont think he means gql errors
but language errors???
Like if I do quert{ ... } that's not valid but the compiler doesn't know and it'll error at runtime
Also since it's a string the compiler won't know the return type and you have to do ugly casts
ah so you dont have tooling for checking the queries in strings
ic
yeah
for js we need to have ts lang server plugins to verify string queries
I mean I probably could write a Kotlin compiler plugin for it but this was much simpler
plus it does typed returns
Oh god I forgot TS has string literal types
but again, requires a plugin
nah it doesnt
its a custom plugin
Oh
But yeah I'm just happy that this entire thing works entirely ootb and is also usable from Java where we don't have compiler plugins or C/C++ if you really hate yourself
yeah no
implementing that kind of shit is insane
your solution is simpler, but isnt 1:1 gql syntax
It's as close as can be while being valid kotlin syntax
yeh
well i imagine shit like this
Fuck whoever decided GQL should have introspection
That shit took me a solid 3 weeks to implement on my server
would be hard
technically you could implement it in purely the type system but that's unhinged
usually you just make an extension xD
sir thats the only good thing about gql
XD
the type system is turing complete so if you're dedicated enough you can make ANYTHING in purely the type system
well that and entity normalization
Oh there I just did kotlin me { fragment on User { name } } iirc
I also supported expansion of fragments specified elsewhere in the thingy using some syntax but I forgot what it was
not bad then
I believe the only thing I don't support is the @skip modifier
I do support custom scalars tho 
you can also enjoy this if u want to https://github.com/ThaUnknown/matroska-metadata/blob/main/src/index.js
metadata provider for mkv/webm files, based on my custom pure js ebml parser
XDDDD
Map<any, {...}>
I forgot TS can just have objects as types rather than specific classes, that shit was a nightmare when I had to work with prismjs and nestjs when their types were minimally different
Because some devs where I worked would just try to transform the object
Whereas I used proper database/response classes
prismjs and nestjs
see this is where ur problem lies
https://github.com/Martmists-GH/multiplatform-everything/blob/master/src/commonMain/kotlin/com/martmists/multiplatform/validation/Email.kt
Full RFC 5322 email validation
hell yeah, new line feed based protocols
i did a loooooooot of that
ftp, tftp, and most notably nntp
In that same repo you'll also find a BigNum implementation that can go up to 10{1000}10
where 10{0}10 = 10+10, 10{1}10 = 10*10, 10{2}10 = 10^10, etc
Implementing tetration was fun
Oooh NZB my behated
which TLDR means u interact witha File object, as if it was a local file
but in practice it streams data real-time over nttp
which means, you can stream NNTP files
1st one in the world btw
idk why no1 else has done it, it was so simple to do
and so you can just hook that File into a video player
Oh man I wish I still had my minimal lua ext-like filesystem implementation somewhere
and stream nntp directly into a video player
without needing to download anything fully
pure streaming WOOO
XD
i also did the same for normal HTTP files too https://github.com/ThaUnknown/url-file
Nice
Tho for that one you can just use ffmpeg
well
it returns a file object
you wouldnt necessairly use it for playback
it could be anything
so you could stream a zip, over nntp and extrractt a single file from it
I tried writing an impl for reading zips and gave uo
https://github.com/jimmywarting/zip-go/blob/main/lib/read.js surprisingly easy to do in browsers, zip streaming that is
It's clearly designed for spreading files across multiple floppies
(or is it floppys)
I don't know what the plural of floppy (n) is
The footer specifies which chunk it is and for each file it tracks which chunks are on what parts of which parts
i cant wait till i implement nzb streaming into my client
but its so much work i cba for now
I still need to fix my dungeon generation code 😭
hah
i caught up on backlog this week
i'm now only 3 years behind
i got to the shit i wanted to do 3 years ago
aka PE/MSE
which i... kinda did
It'll probably just be a DFS but rotating rooms and making sure they fit and that if they fit they don't obstruct other rooms is not fun
oh yeah i saw plenty of this
its not actually insanely hard to do
Try making your own game engine using nothing but OpenGL
It's just annoying with how I tried to be efficient in memory because now rotating a room is something I need to think about for 6 hours to figure out what happens
Because I support variable shape rooms with doors in any position
btw since you clearly like cool toys
look up android 16 terminal display server

and start thinking of all the unhinged shit you'll be able to do
I'll be doing proton
Do a deep dive into OpenGL 1.0
And use only that to make a video game
i recently started working on something that uses TS language service plugins
i love it
i can just take the ast and go wild
The Scam of Age Verification - PORNBIZ.COM
good article
god i hate id age verification
hi can you look at to my dms pls
seems slightly biased
so true tho all this legislation is horrid
yeah no doubt but all the points are pretty valid
i explictly support piracy
?
I agree but how is this related
i guess if you stretch the definition yes
drm is for the IP owner though
finish manager
No thanks I'm not changing my beloved C++ to terrible JS
C++ 😭
DW you can stay writing C++, we need people to implement W3C standards into JS, which is almost always native code
it's the only reason good JS isn't actually any slower than native code, unlike what many synthetic benchmarks will lead you to believe
since you're still just simply calling native code from js
css is turing complete
@valid jetty how to remove ads from youtube on ios
Sledgehammer always works
@ornate quiver when is manager dropping
Does 'Get Android phone and Revanced on it" work? Or nah
Finally got my dungeon generation code to work 
love how insane web dev is sometimes, thought id have to get in a depedency to resize images on the client... nope!
web is the future
not if i eat the internet cables
nom
doesn't x,y start from top left
yea?
why are you drawing in the middle
i am not
you do not have to find bugs in my code
because im already using it and it works
😭
wāw
this sped up the speed of the page by like 500% because before id just load 4k images into those 50x50 pixel divs 
before using actual objecturls id also just convert the blobs into base64 urls and put them into the attributes which mightve caused devtools to crash on multiple occasions 
that's interesting I wouldn't expect that to be too much of a problem
well
i also had 10 images there
and its a start page so you really do feel any slow down
ok base64 url is kinda ass
uhhm
let me check
this should be it
really is, i didnt know about objecturls before tbh cuz i never needed them
but i have no backend here so i cant just get the images from cdn i have to store them in object storage of indexeddb
npnp
also true
but i mean i just do this 
??= now
nope
CATGIRLS!!!!!
is there an extension which makes youir code look like scratch blocks
guhhh what does this mean
it never ends
l
non nullable?
that makes no sense
it means it doesnt implement it
its not unwindable, sendable, or synchronized
but those traits are usually implemented automatically
rude
made it work with unusual section shapes too :3
now add verticality
like stairase rooms and shit
but something it could run into
other problem: it currently never creates loops
no clue how to check for those tbh
especially when at least 1 terminal node must exist
you dont need to check if its a loop, since your entrances and exists are aligned
loops will just create themselves sometimes
especially if your process is substraction from a world of stone, rather than addition to empty world
if its a dead end its simply stone
if its a loop it will simply connect
right so
you can be giga lazy about it
ah you want it infinite
other issue:
if its free to create loops
it could create a P shape
and have nowhere to place the exit
it wouldnt see itself as creating a loop
it will be a loop to the player, but not the algo itself
you have a matcher for where an exit is for a given node no?
simply check if there's already a node in the direction of an exit, there is that means its "blocked" and you try the next shape
until you can solve
if u cant, you go back to the previous node and try changing that one
no?
or am i overcomplicating this
so how its currently done
it marks all terminal nodes (not including start)
and picks a random one to become the exit
right so you simply need to go back a step if you cant generate a valid exit for a given terminal node
or pick a different terminal node, and if none match undo 1 generation step
simply brute-force a solution
its not very efficient, but it doesnt need to be
its not like its of high compute
realistically i'd personally do it with a bounding box system, rather than an exit node based grid
since it allows for WAY better room generation, since rooms wont feel so "same-y" to the player
get coding then
Got any reference impls? Here's the current code for reference
whoops that one TODO is no longer needed
play.mysticrunes.net implemented this kidn of system
maybe they wrote a blog
you could investigate
dont see one
but also how can you make sure rooms line up with each other without using an exit node grid
check their discord or ask their staff, im sure they will be quite enthusiastic to talk about it
they definetly implemented the best procedurally generated dungeon system i've ever seen
it was amazing
you dont need to, you only define the exit points in a given shape
then you pre-calculate the bounding for each room, and fit them like puzzles making sure they dont collide

ofc this makes it way more common for dungeons to randomly end since well the more complex the shapes the more likely you'll be to run yourself into a dead end, which is why they had an undo system
i remember seeing a video on it
yeah they have a yt channel but i guess its not here https://www.youtube.com/@mysticrunesyt/videos
i probs saw it in their discord
this was almost a decade ago at this point tho lol

I'm old, leave me alone
asked in their discord, here's to hoping they respond
haha
if you ever find the video or know a rough key term to search for lmk
I mean it was ages ago
it was possible it was some exclusive showcase given to a wynncraft youtuber for promotion
it was that long ago
I remember it was a view from outside of the dungeon of it generating
kinda like yours but with fully built rooms
tfw going through message history and seeing this
I was on the overtale dev team way back then 
probably from that server
nah from wynn
trying to fix this for horizontal now
are you still supposed to use thin/thick/etc materials in tahoe
why shouldnt you?
but what does that relate to here
it kinda looked like you those materials, i was wondering if they did anything like encourgaging you to use liquid glass or something
their guidelines show that liquid ass should only be used for navigation elements or items that need to hover
regardless thats (publicly) not out so its none of my concerns
@woven mesa should it be a grid or a stack (with slight rotation like in finder)
does anyone have experience with native c++ interop from java/kotlin
i have no idea where to start
google yields nothing useful
try asking zeet
i did in dms
he made ffmpeg wrapper in kotlin
also from what i can tell that's just wrapping java bindings for ffmpeg
i want to make the java bindings
guh
look for jni libs and copy what they do
Hi yes me
JNI is the easiest one to do
do you have a good example you can point me to
that's fine
I did JNI with knative in https://github.com/Martmists-GH/ndarray.simd (i believe in desktopNativeMain source set?)
Ignore Gradle because that's a mess
The important part is to have a function named e.g. Java_com_martmists_ndarray_simd_NativeSpeedup_vecAddVec and then in Java/Kotlin have a class com.martmists.ndarray.simd.NativeSpeedup with native/external (for Java/Kotlin respectively) method vecAddVec
yeah
i got that part
i just need to figure out how to integrate the native build to gradle
right so that's the part that sucks
I hijack the kotlin native compiler tasks and just add my C++ sources to that so it compiles the JNI for each architecture/OS. Downside is needing each library and setting up linking through Kotlin cinterops
im looking to comple java
You will need C++ for the JNI code
yeah
Alternatively you could try JNA but I've got zero experience there
Supposedly it's less painful to work with and doesn't need C++, but idk how it works
does it matter if it doesnt need c++ if im writing c++
wdym
If you want to just write bindings for an existing library, JNA is likely easier
If you're writing your own, probably JNI but god help you
Also if you're targeting macos I suggest you give up before you try
i'll build for mac when apple provides an easy way for me to make a macos vm
(on windows or linux)
until then, mac users can cry or buy me a mac device
But as long as math.h doesn't exist I can't do shit
Same
tbh it's not even that
if i cant build and test my software on the platfrom it will be running on, i can't support it
@jade stone I forgot I did this
basic setup
yeah, i found the android guide for adding cmake to your build
but that's android only
and i need desktop
wtf rushii unbound dev
i need to interface with libappindicator
the java.awt class for it is just broken
huge indents
You can probably just add a simple stub task that invokes cmake, no?
val cmakeBuild by tasks.registering {
doFirst {
exec("cmake", "--build", "dir")
}
outputs.file(...)
}
val processResources by tasks.existing(Copy::class) {
from(cmakeBuild)
}
does that make it a build dependency
Something along those lines
On mobile at 4am so don't trust it 100% but I believe that's more or less what it should be
its just one tab
github isnt consistent in its rendering
8 spaces
no github just renders them wrong
theyre better
looks like i didnt use tabs for cpp for some reason
idk why
continuation indent is 8 spaces guh
You are stupid I know more than you
the github app renders them as 8 spaces and gloom uses 1
should fix that but idk how
people looking at my code on github and wondering why my tabs are absurd
you can change how tabs are renedered in github in your settings
same with the github app
bottom of
can't change it in the app
the default for rendering tabs in a repo is extracted from editorconfig btw
but not for direct links to commits in a repo (bug)
both
is it performant
i'd say so
well there is a lag spike when first showing it
i will profile and find where its from
its probably just from trying to first create the collectionview
you dont normally see this when opening a window but when using an animation at the same time you can
not really a problem though
add
true
the text preview is so hard to see with it being small
so I made the title just be the data
fair
what the freak
Nice line spacing
ok nvm i hate c++
you're not the first
what is [:e:] meant to be
idk i think this syntax might be invalid
fever dream
everybody likes c++ until the first version that comes out after they begin learning
i think its some special syntax highlighting failing bad
sometimes that website has like inline urls in code but idk why its one letter
brisket operator
from now on i just code rust
would rather learn borrowing, stealing, burglary and pointer alchemy than this
rini
you can now write
typename[:^char:] c = '*';
``` instead of
```cpp
char c = '*';
^T gives you a type info struct for reflection at compile time
yay ugly syntax
[:T:] turns that type info struct back into the type
rust errors are like
Susan is currently using this memory. Please ask her nicely for it back using the `please` keyword.
please i += 1;
^
|
|
add here
And it’s great because you almost never not understand what went wrong unlike with other languages which would just say shit like You were not polite enough.
horror
@supple whale was it something like this one? https://vazgriz.com/119/procedurally-generated-dungeons/
yeah sounds roughly like what i described
so it sorta sounds like what I do but instead of doing chunk-aligned it's completely variable based on the structure and it just has offsets to doors?
except mine doesn't do loops
yep
and bounding boxes for collisions
pain
so u can have variable shapes
as i said, that server probs has the best procedurally generated dungeons ive seen
and they made them a decade ago
well bounding boxes are easy thats just the structure size if im lazy or some funky optimalizations if im willing to do some ugly mixins
not being chunk-aligned is annoying tho
yes, but its MUCH better for players
chunk aligned dungeons get boring after the 3rd room
but performance... this already takes 4-5 seconds to generate 
fair
then you implement it smh
you have the easy part of the code already from what I shared earlier
php
PusH Processor status
was TSX transfer stack ptr to X ?
no
was it one of those undocumented ones
wait
oh i was right the first time
oh im removing my vote in that case
@valid jetty i lost half my wpm 🥀 💔 🚡
(on qwerty)
this guy broke so i have to use a normal kb now
that keyboard is so cool !
oh yeah there's also a jsr instruction
jump to subroutine
jsr is jvm instruction, isnt it?
i thought it was invoke virtual or something
No invoke virtual is INVOKEVIRTUAL
WHY ARE YOU SHOUTING
That's how bytecode instructions are typically written
what does overwatch 2 have to do with this??
i don't think there's a standard string representation
don't asm languages tend to be case insensitive with instructions
or are there just some which use upper and some which use lower

/run nasm ```asm
BITS 64
GLOBAL _start
_start:
MOV RAX, 4
MOV RDI, 1
MOV RSI, hello
MOV RDX, 3
SYSCALL
MOV RAX, 1
MOV RDI, 0
SYSCALL
SECTION .data
hello db "hi\n"
@crude star I received nasm(2.15.5) compile errors
file0.code:6: warning: 64-bit unsigned relocation zero-extended from 32 bits [-w+zext-reloc]
/piston/packages/nasm/2.15.5/run: line 5: 1698552 Segmentation fault (core dumped) ./binary "$@"
virus
i think most assembly languages are case insensitive
for the same reason sql is
no syntax highlighting
There is, its x86asm
xor rdi, rdi
mov rsi, 4
syscall
ret
historically
asm existed way before fancy editors
horror why cant i remember x86-64 linux abi
ow2 my beloved (except it doesn't split function bodies over 64kb automatically)
Can't say that's ever bothered me
Rename all functions in jar to snowman emoji
??????????????
for x in (1..=5).rev() {
println!("{x}");
}
@crude star
true.....
this is almost valid elle code..
for x in (1..=5).rev() {
$println(x);
}
``` silly
php...
/run
<?php
$println = "print";
$println(1);
Here is your php(8.2.3) output @lavish frigate
Fatal error: Uncaught Error: Call to undefined function print() in /piston/jobs/e1f3f509-aff3-4255-bf2d-b59f99187d2b/file0.code:3
Stack trace:
#0 {main}
thrown in /piston/jobs/e1f3f509-aff3-4255-bf2d-b59f99187d2b/file0.code on line 3
So basically i cannot find anything revelant to it or i'm bit restarted, where i can find something that would allow me to change another user local volume or mute him? (in vencord)
maybe someone has it
Best 6502 instruction
17
24
1
NOP
@hoary sluice its happening
im FINALLY writing a real academic document on this stupid language
in typst ofc
(mods don't banish me into the shadow realm, this is only question i ask
)
look at these sources..
i swear this is a stock feature
you can just right click on them while theyre in the vc and theres a slider
or maybe im remembering wrong
yes but i want to do the funnies, basically I have rpi2040 with rotary encoder
but i remember that
why would you ask this here is the question
and not in vencord support
i bound it to F13/F14/F15 keys
I got all the events and custom plugin stuff but for god's sake i cannot find volume change in vencord
and im digging in the code for 2 hours already

in vencord support is support related to vencord built in stuff, not custom built
i don't have access to vencord development channels either
nor i need access to them for more than 15 minutes
so i asked it here with the hope someone will know maybe

shamelessly copying SO posts
I know, but
- There are 3 options to select and all of them are related to creating public stuff, and I'm making custom plugin for private use cuz it's for rpi2040 integration
- Even if, do I really need to request access for 15 minutes as I said above?
yes, the channels are gated because people will just ask for normal support in them if they aren't
Ok, i thought you can only request access if you want to contribute lmao
And ye, quite reasonable in this kind of server
i love combine
combine is so cool
i wanna explode i cant motivate myself to do programming anymore
what if IOS was built on java
@young flicker
its kinda sad, ppl used to say my constant work would motivate them to work too
now i cant do anything anymor
i just doomscroll twitter or play games these days
very unproductive
for (i in 5 downTo 1) {
println(i)
}
til huawei the phone company had their own programming language
https://www.huaweicentral.com/huawei-preps-to-rival-java-swift-with-it-open-source-programming-language/amp/
Huawei will take a major “open-source” step for its self-developed Cangjie programming language. The company will make the codes available to the public by the end of this month, following the route of self-sufficiency in the technological world. Open-source refers to a process that allows everyone to access a software or its programming sou...
same bestie…
i gotta actually see if it works
/run ```c
#include <stdio.h>
int main() {
int x = 5;
while (x
--> 0)
printf("%d ", x);
}
"rival java and swift" bro trying to rival 2 languages at the end of the spectrum at once
Here is your c(10.2.0) output @spark tiger
4 3 2 1 0 ```
dead on arrival language
HOW IS THIS REAL
@spark tiger ?
wha
i just use
as a reaction for no reason it looks silly
☹️
my bad 😔💔
the language is like a weird mix
of fucking
swift
rust and python
even got the unsafe keyword in there
disgusting bro
add some parenthesis in there
also no semicolons
where’d ya find that cuz like i can’t find anything about that fucking language lmao
no semicolons is good
ty
The Cangjie programming language is a new-generation programming language oriented to full-scenario intelligence. It features native intelligence, being naturally suitable for all scenarios, high performance and strong security. It is mainly applied in scenarios such as native applications and service applications of HarmonyOS NEXT, providing de...
i’ll never remember that fucking name i stg
cangjie
i think it means something in chinese idk
of swift, rust, python and js **
i saw a bit of kotlin in there
they mightve just taken a bit of every language
but yeah this language has 0 use
their site is literally unusable on mobile 😔
they took options from rust https://cangjie-lang.cn/en/docs?url=%2F0.53.13%2Fwhite_paper%2Fsource_en%2Fcj-wp-nullsafety.html
The Cangjie programming language is a new-generation programming language oriented to full-scenario intelligence. It features native intelligence, being naturally suitable for all scenarios, high performance and strong security. It is mainly applied in scenarios such as native applications and service applications of HarmonyOS NEXT, providing de...
and there is also no null
like rust
are they using mdbook for the docs 
it has named parameters but you have to declare that a parameter can be named???
why???
this is kotlin
they're just saying classes are final by default
w-whats the point of of classes if there is no inheritance
like the one thing classes excel at is that you can just
inherit some class
define other behaviour
and use it like the original class
this makes sense
you can inherit one that wants to be inherited
you just have to add the open keyword
yus
kotlin does this exact same thing
what if i want to inherit something and its in a library and the author forgot to add the open keyword
fork it
idgi what problem does not allowing inheritance by default solve
depending on the circumstance that would just be bad api design
ideally there would just be an interface or abstract class you can use
oh god it’s using that chinese github
in swift its a bit complicated (depending on the type of project, xcodeproj/swiftpm), you can inheret classes from your own scope without explicitly needing an open keyword (theyre open by default) but when it comes to using them outside of your defining module theyll need to be explicitly marked as open
in kotlin we have sealed classes for that
the module can inherit but outsiders can't
i mean just use github i’m pretty sure it’s not banned there
in c# sealed means nobody can inherit it even from the same namespace
i think they're borrowing a lot from kotlin regarding classes and inheritance
crazy
now the chinese dont even have to put in any effort into obfuscating their spyware
this is likely only gonna be used on Huawei phones
Harmony OS specifically
since they ditched android
wouldn’t be like really easy to decipher considering this all language is open-source?
borrowing from:
kotlin for classes and inheritance
python and swift for language semantics
rust for safety

no
its definitely a mashup of popular programming languages
@lavish frigate
ASJNF ASDOJNIKGFASDNJOKFJOAKNSD NO WAY
no you dont understand i have a different character per server
THEY HAVE RUST MACROS
The Cangjie programming language is a new-generation programming language oriented to full-scenario intelligence. It features native intelligence, being naturally suitable for all scenarios, high performance and strong security. It is mainly applied in scenarios such as native applications and service applications of HarmonyOS NEXT, providing de...
at least they are mostly copying the good parts of the languages
python2 




