#πͺ -progaming
1 messages Β· Page 107 of 1
i dont think anyone bought enron
Unironically an amazing website to use.
Who knew a meme could out compete all of Silicon Valley
@hoary sluice i made a rhythm game in elle

the music is also original
i cant wait to chart this one
i made a pretty basic charting format
0 1136 0
0 1429 1
0 1768 2
0 2136 3
1 2588 0 500
1 2588 3 500
0 3460 1
0 3460 2
0 3884 0
0 4202 3
0 4606 1
0 4969 2
0 5298 0
0 5636 2
0 5995 1
0 5995 2
0 6363 0
0 6363 3
0 6742 1
0 6976 3
0 7354 3
1 7767 0 240
1 7767 1 240
1 8121 2 240
1 8121 3 240
0 8494 0
0 8818 1
0 9166 0
1 9485 3 240
0 9893 1
0 10247 2
0 10565 1
1 10954 0 240
0 11317 2
0 11651 3
0 12089 2
1 12427 3 240
0 12667 0
0 13075 3
0 13443 0
1 13772 1 800
1 13772 2 800
the first int is the note type: 0 = single, 1 = hold
the second int is the absolute offset in ms from the start of the song
the third int is the lane index (0-3)
the fourth int is the duration of a hold note (if it is a hold note)
i also have this song but idk if i wanna chart this one aswell
@young flicker, <t:1754281469:R>: make penis daemon
wrong
is this auto parsed
wdym
this is how i parse it
state := State {
notes = io::read_to_string("charts/{}.pom".format(song_name))
.split("\n")
.iter()
.map(fn(x) x.split(" ").map(i32::parse))
.map(Note::from_i32s)
.collect(),
music = rl::load_music_stream("music/{}.wav".format(song_name)),
combo = 0,
time = 0,
};
``` idk what you mean
guys 2k requests to overpass api isnt very healthy right
β οΈ bruteforcing
i just need to rerequest these places for latitude and longtitude
if theres a better way lmk
io::read_to_string("charts/{}.pom".format(song_name))
.split("\n")
.iter()
.map(fn(x) x.split(" ").map(i32::parse))
.map(Note::from_i32s)
.collect()
how that beautiful piping stuff is done in rust
internally
mm java
not rust !!
the same thing is present in rust too
that code was too convincing
yeah i know lol
@deep mulch How do I do a tooltip on hover in compose
yeey
@jade stone SALAD
Zooter
./run
int foo[] = {1, 2, 3, 4, 5};
int i = 0;
foo[++i] = ++i;
System.out.println(foo);
Here is your java(15.0.2) output @jade stone
[I@376b4233
./run
int foo[] = {1, 2, 3, 4, 5};
int i = 0;
foo[++i] = ++i;
for (int i = 0; i < foo.length; i++)
System.out.println("foo@%d = %d", i, foo[i]);
@jade stone I only received java(15.0.2) error output
file0.code.java:5: error: variable i is already defined in method main(String[])
for (int i = 0; i < foo.length; i++)
^
file0.code.java:6: error: no suitable method found for println(String,int,int)
System.out.println("foo@%d = %d", i, foo[i]);
^
method PrintStream.println() is not applicable
(actual and formal argument lists differ in length)
method PrintStream.println(boolean) is not applicable
(actual and formal argument lists differ in length)
method PrintStream.println(char) is not applicable
(actual and formal argument lists differ in length)
method PrintStream.println(int) is not applicable
(actual and formal argument lists differ in length)
method PrintStream.println(long) is not applicable
(actual and formal argument lists differ in length)
method PrintStream.println(float) is not applicable
(actual and formal argument lists differ in length)
method PrintStream.println(double) is not applicable
./run
int foo[] = {1, 2, 3, 4, 5};
int i = 0;
foo[++i] = ++i;
for (int i = 0; i < foo.length; i++)
System.out.println(String.format("foo@%d = %d", i, foo[i]));
@jade stone I only received java(15.0.2) error output
file0.code.java:5: error: variable i is already defined in method main(String[])
for (int i = 0; i < foo.length; i++)
^
1 error
error: compilation failed
./run
int foo[] = {1, 2, 3, 4, 5};
int i = 0;
foo[++i] = ++i;
for (int j = 0; j < foo.length; j++)
System.out.println(String.format("foo@%d = %d", i, foo[i]));
Here is your java(15.0.2) output @jade stone
foo@2 = 3
foo@2 = 3
foo@2 = 3
foo@2 = 3
foo@2 = 3
./run
int foo[] = {1, 2, 3, 4, 5};
int i = 0;
foo[++i] = ++i;
for (int j = 0; j < foo.length; j++)
System.out.println(String.format("foo@%d = %d", j, foo[j]));
Here is your java(15.0.2) output @jade stone
foo@0 = 1
foo@1 = 2
foo@2 = 3
foo@3 = 4
foo@4 = 5
never
Alternate Title: NixOS: Stability on the Bleeding-Edge
One day, as happens now and then with a bleeding-edge rolling release distro, a systemd update reversed my mouse buttons.
The great thing about rolling-release and cutting-edge distributions like Arch Linux, is that you get to be a beta tester, whether you like it or not!
I thought this was ...
oh god
back off
back off
why does he speak so fast then slows to normal speed
im about to install home-manager
installed
/run
import javax.script.*;
public class Main {
public static void main(String[] args) throws Throwable {
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
engine.eval(
"var System = Java.type('java.lang.System');\n" +
"var foo = Array(5).keys().map(k => k + 1);\n" +
"System.out.println(foo);"
);
}
}
@winged mantle I only received java(15.0.2) error output
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "javax.script.ScriptEngine.eval(String)" because "<local1>" is null
at Main.main(file0.code.java:6)
you gotta love java don't you ββββββββββββββββββββββββββ
vibe coding hell yeah
@valid jetty when are you gonna try nixos
just spent 5 hours having to host a website locally to get access to the API in order to integrate it into a discord bot and finally got it working on the GET requests, only to have another look at the documentation, there's only one (1) POST and it doesn't do what I need it to do

okay but nix is gonna make everything else you're tinkering with more manageable
you could configure your bitwarden and such via nix and nix is just so great you should hop on
back off
nixos is the only good linux distro
BSD is the only good OS family, change my mind
are you tired of waiting 2 hours while your openbsd install updates?
@torn thunder @torn thunder @torn thunder @torn thunder @torn thunder @torn thunder @torn thunder @torn thunder @torn thunder @torn thunder @torn thunder
its true
evaluation warning: `mesa.drivers` is deprecated, use `mesa` instead
evaluation warning: `mesa.drivers` is deprecated, use `mesa` instead
i didnt know you were based
i thought anything you say is ragebait

use neovim @young flicker @pai.pie@pai.pie@pai.pie@pai.pie@pai.pie@pai.pie
@young flicker @young flicker @young flicker @young flicker @young flicker @young flicker @young flicker
how did you insta 5husk me
when i decide im too happy and wanna enter my next major depressive episode
who told you nix makes you depressed
are you using nix on mac rn?
its all propaganda by windows users
i know someone irl who uses nixos and their config is so fucked it was honestly kinda funny
the illusion of free choice
nixos ---------------------->
---------------------- a fucked up system
literally any other system ->
mobile moment
not really
What
I haven't fucked up my system in like a year

clueless
my horrorcode native node.js module worked in electron the first time 
macOS ---------- |
|
|
|
v
happiness
sorry i fucked up your macbook
all of them
why would i want to setup bitwarden on nix
i was just joking 
even i use docker for my vaultwarden instance 
im proud of you son
@deep mulch do you take backups of your vaultwarden
nop
don't know how
so easy
- turn it off
- copy the data folder somewhere else
- turn it back on
i only use the main db so I only need the sqlite db
i haven't backed it up since forever

cause havent changed anything
why is there barely any notable software written in smalltalk
written in what
smalltalk
programming language
inspiration for objective c
hello world in squeak/smalltalk
Transcript show: 'hello world'.
FizzBuzz
1 to: 100 do: [ :x | | d3 d5 res |
d3 := (x rem: 3) = 0.
d5 := (x rem: 5) = 0.
res := ''.
d3 ifTrue: [res := res , 'Fizz'].
d5 ifTrue: [res := res , 'Buzz'].
res isEmpty
ifTrue: [Transcript showln: x]
ifFalse: [Transcript showln: res].
]
this took so long
idk haskell is probably easier
smalltalk is so object oriented that it doesn't have if statements
ifTrue is a method on booleans
vban dumb plugin request spammed everywhere
Done! 
banned @steady gale
yeah I do too
@jade stone, <t:1754272566:R>: https://canary.discord.com/channels/@me/1124544746262634606/1401745195292299325
Does anyone know how can i capture network traffic to my phone
I like to use httptoolkit
but just know apps tend to only trust their own certificate authority, so it won't work with those unless you do some work around
I only want to see the packets not edit them
Also i suppose i wont be able to see https packets?
you can
well
it'll be encrypted
I've never looked at https traffic using http toolkit
Yea i want to see the json body primarily
should be able to
try httptoolkit without root stuff and see if the requests are intercepted
If it is ill decompile the app
its way easier to do this on an emulator
my pc would explode
but yea i can maybe try
@deep mulch so apparently i cant connect to internet with httptoolkit
the cert is being blocked
zootie zoot code
@glacial walrus bwa
thats cause True and False are objects themselves 
Even better, you can overwrite ifTrue to resolve true only randomly with a 50% chance and watch as funny things begin to happen
safe d
er mirrors?
why are you downloading monkeytype
why not
what is going on 
this is so fucking weird like it doesn't work the first time and then all other ones it does
like huh
this looks like my github languages
geometry dash script
you are trying to make geometry dash script work in gloom
How do you generate this
cozy
why is c++ there π
where is python π
i guess i donβt really have any python projects public most of that is private
oh and my aoc solutions arenβt in my own repo theyβre in my friends repo lol
that makes sense
why do you need to generate it it will just be 100% nix
hiii
roieeee
first is ts
typescript, ?, ?
nop
i wrote != nil in javascript...

then i thought it would be funny to #define nil null
then i remembered js doesn't have #define
const nil = null;
const NULL = null;
const nullptr = null;
const None = null;
const Option = { None: null };
const Optional = { empty() { return null; }, of(v) { return v; } };
INSANE
tbf it was inside a string
fun fact "undefined" exists as a property on the global object... and its value is the undefined literal
you could theoretically overwrite it in a custom js environment
only in sloppy mode which no one should use in 2025

/run ```js
"use strict";
undefined = "hi";
@royal nymph I only received js(18.15.0) error output
/piston/jobs/7e22c732-eab3-47b1-ab22-69d39b0bf261/file0.code:3
undefined = "hi";
^
TypeError: Cannot assign to read only property 'undefined' of object '#<Object>'
at Object.<anonymous> (/piston/jobs/7e22c732-eab3-47b1-ab22-69d39b0bf261/file0.code:3:11)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Module._load (node:internal/modules/cjs/loader:958:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:23:47
Node.js v18.15.0
so fire
why is there #
I think it's a getter in browsers π
const undefined = null;
/run
undefined = {};
console.log(undefined, globalThis.undefined)
Here is your js(18.15.0) output @tired vigil
undefined undefined
it's just sloppy vs strict mode like I said 
in sloppy mode it still seem writes are ignored
yes you can't overwrite the global
yes, but void 0 always returns undefined, no matter what it's set to
but you can shadow it
/run ```js
function lol(undefined) {
console.log(undefined);
}
lol("hi");
Here is your js(18.15.0) output @royal nymph
hi
you should be allowed to proxy the window in javascript
/run
function usingNamespace(ns) {
for (const key in ns) {
// avoid polluting with object/array methods
if (ns[key] === Object.prototype[key] || ns[key] === Array.prototype[key])
continue;
global[key] = ns[key];
}
}
usingNamespace(Math);
console.log(max(5, 10));
@winged mantle I only received js(18.15.0) error output
/piston/jobs/321b7a42-49e0-4ec4-a58f-cde568fc5655/file0.code:12
console.log(max(5, 10));
^
ReferenceError: max is not defined
at Object.<anonymous> (/piston/jobs/321b7a42-49e0-4ec4-a58f-cde568fc5655/file0.code:12:9)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Module._load (node:internal/modules/cjs/loader:958:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:23:47
Node.js v18.15.0
why...
because they are non enumerable
i wish you could do const { * } = Math;
is this not just crappy with
/run
with (Math) {
console.log(max(1, 2));
}
Here is your js(18.15.0) output @tired vigil
2
it's c++ style
/run
function rosieWith<T>(arg: T, callback: Function) {
const descriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf(arg));
for (const [key, descriptor] of Object.entries(descriptors)) {
typeof descriptor.value === "function" && ((globalThis as any)[key] = descriptor.value.bind(arg));
}
callback();
for (const [key, descriptor] of Object.entries(descriptors)) {
typeof descriptor.value === "function" && delete (globalThis as any)[key];
}
}
rosieWith([1, 2, 3], () => {
console.log(map(x => x * 2));
});
console.log(map(x => x * 2));
Here is your ts(5.0.3) output @valid jetty
file0.code.ts(2,32): error TS2550: Property 'getOwnPropertyDescriptors' does not exist on type 'ObjectConstructor'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2017' or later.
file0.code.ts(4,44): error TS2550: Property 'entries' does not exist on type 'ObjectConstructor'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2017' or later.
file0.code.ts(10,44): error TS2550: Property 'entries' does not exist on type 'ObjectConstructor'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2017' or later.
file0.code.ts(17,15): error TS2304: Cannot find name 'map'.
file0.code.ts(20,13): error TS2304: Cannot find name 'map'.
you cant use with in strict mode
oh
insane code
why did you do in typescript instead of js
because i originally wrote it in typescript
/run
function rosieWith<T>(arg, callback) {
const descriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf(arg));
for (const [key, descriptor] of Object.entries(descriptors)) {
typeof descriptor.value === "function" && (globalThis[key] = descriptor.value.bind(arg));
}
callback();
for (const [key, descriptor] of Object.entries(descriptors)) {
typeof descriptor.value === "function" && delete globalThis[key];
}
}
rosieWith([1, 2, 3], () => {
console.log(map(x => x * 2));
});
console.log(map(x => x * 2));
@valid jetty I only received js(18.15.0) error output
/piston/jobs/8d821cd7-65d1-4fe5-b986-ff5936024388/file0.code:1
function rosieWith<T>(arg, callback) {
^
SyntaxError: Unexpected token '<'
at internalCompileFunction (node:internal/vm:73:18)
at wrapSafe (node:internal/modules/cjs/loader:1176:20)
at Module._compile (node:internal/modules/cjs/loader:1218:27)
at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Module._load (node:internal/modules/cjs/loader:958:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:23:47
Node.js v18.15.0
oh
/run
function rosieWith(arg, callback) {
const descriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf(arg));
for (const [key, descriptor] of Object.entries(descriptors)) {
typeof descriptor.value === "function" && (globalThis[key] = descriptor.value.bind(arg));
}
callback();
for (const [key, descriptor] of Object.entries(descriptors)) {
typeof descriptor.value === "function" && delete globalThis[key];
}
}
rosieWith([1, 2, 3], () => {
console.log(map(x => x * 2));
});
console.log(map(x => x * 2));
Here is your js(18.15.0) output @valid jetty
[ 2, 4, 6 ]
/piston/jobs/33160626-898b-4cf2-b501-2552989a7245/file0.code:20
console.log(map(x => x * 2));
^
ReferenceError: map is not defined
at Object.<anonymous> (/piston/jobs/33160626-898b-4cf2-b501-2552989a7245/file0.code:20:9)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Module._load (node:internal/modules/cjs/loader:958:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:23:47
Node.js v18.15.0
this feels incorrect
/run
function rosieWith(arg, callback) {
const descriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf(arg));
for (const [key, descriptor] of Object.entries(descriptors)) {
typeof descriptor.value === "function" && (globalThis[key] = descriptor.value.bind(arg));
}
callback();
for (const [key, descriptor] of Object.entries(descriptors)) {
typeof descriptor.value === "function" && delete globalThis[key];
}
}
rosieWith([1, 2, 3], () => {
console.log("--- IN rosieWith ---");
console.log(map(x => x * 2));
console.log("--------------------");
});
console.log(map(x => x * 2));
Here is your js(18.15.0) output @valid jetty
--- IN rosieWith ---
[ 2, 4, 6 ]
--------------------
/piston/jobs/6d88160c-cbd4-4328-8828-f3b6ac451a5a/file0.code:22
console.log(map(x => x * 2));
^
ReferenceError: map is not defined
at Object.<anonymous> (/piston/jobs/6d88160c-cbd4-4328-8828-f3b6ac451a5a/file0.code:22:9)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Module._load (node:internal/modules/cjs/loader:958:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:23:47
Node.js v18.15.0
why are you censoring nix
/run
function usingNamespace(ns) {
while (ns !== Object.prototype && ns !== Array.prototype && ns != null) {
for (const desc of Object.getOwnPropertyDescriptors(ns))
global[key] = desc.value;
ns = Object.getPrototypeOf(ns);
}
}
usingNamespace(Math);
console.log(max(5, 10));
@winged mantle I only received js(18.15.0) error output
/piston/jobs/30146f0f-2f34-4e43-9a31-fa9ddc41c2b5/file0.code:3
for (const desc of Object.getOwnPropertyDescriptors(ns))
^
TypeError: Object.getOwnPropertyDescriptors is not a function or its return value is not iterable
at usingNamespace (/piston/jobs/30146f0f-2f34-4e43-9a31-fa9ddc41c2b5/file0.code:3:35)
at Object.<anonymous> (/piston/jobs/30146f0f-2f34-4e43-9a31-fa9ddc41c2b5/file0.code:10:1)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Module._load (node:internal/modules/cjs/loader:958:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:23:47
Node.js v18.15.0
/run ```js
function using(namespace, callback) {
const keys = Reflect.ownKeys(namespace);
const added = [];
for (const key of keys) if (!(key in globalThis)) {
const v = namespace[key];
globalThis[key] = typeof v === "function" ? v.bind(namespace) : v;
added.push(key);
}
try {
callback();
} finally {
added.forEach(k => { delete globalThis[k]; });
}
}
using(Math, () => console.log(random()));
Here is your js(18.15.0) output @royal nymph
0.07681129048413027
oh true i forgot eval exists
is there a library to do eval in rust
why are you husking... rust has a crate for garbage collection
include!(...)
rust devs are insane
i think spidermonkey is written rust iirc
write to a new file in a template folder
put the code in a method marked not to mangle
compile it to an object, dlopen it, run the method
I did that in my rust discord bot
girl this is a proc macro
HORROR
how
thats what proc macros are
how do you use a macro at runtime
pretty sure no
oh
this is for runtime
i see
rust compiles proc macros to dlls and simply dlopens and runs your functions at compiler's runtime 
veval
#include <stdio.h>
puts("Hello world");
use libloading::{Library, Symbol};
let clean_code = format!(
r#"
use std::fmt::Display;
#[no_mangle]
#[allow(dead_code)]
fn eval() -> impl Display + Send {{
format!("{{}}", {{
{}
}})
}}
"#,
code
);
fs::write("code.rs", clean_code).expect("bad");
let res = Command::new("rustc")
.args(["code.rs", "--crate-type", "dylib", "-o", "eval.so"])
.output()?;
let res = unsafe {
let lib = Library::new("eval.so").expect("Failed to dlopen eval.so");
let func: Symbol<unsafe extern "C" fn() -> String> =
lib.get(b"eval").expect("Failed to dlsym eval");
func()
};
rate
how are you meant to access discord stuff through eval
i wonder how hard it would be to make proc macros for elle
add flash player build target to elle
whar website is this
i assume it just counts own repos
API responded with non-success status code: 403
so innacurate
"Mirror" of http://squeakvm.org/svn/squeak (i probably won't update it much lol) - TheKodeToad/squeakvm-mirror-kind-of
this repo is ruining it
i just copied an svn repo to github
use std/prelude;
fn fmt(TokenStream stream) @proc_macro {
stream.advance(); // struct keyword
name := stream.current_token().get_identifier().unwrap();
while stream.current_token().kind != TokenKind::LeftCurly {
stream.advance();
}
stream.advance(); // { punct
fields := [string;];
for ;; {
if [TokenKind::Comma, TokenKind::RightCurly].contains(stream.current_token().kind) {
stream.backward();
fields.push(stream.current_token().get_identifier().unwrap());
stream.advance();
if stream.current_token().kind == TokenKind::RightCurly {
break;
}
}
stream.advance();
}
res := fields
.map(fn(x, i, self) "self.{}{}".format(x, i + 1 >= self.len() ? "" : ","))
.join("");
fmts := (0..fields.len()).map(fn() "{{}").collect();
return TokenStream::from("
fn {}::__fmt__({} self, u64 _) {{
$println(\"{} {}\", {});
}
".format(name, name, name, fmts, res);
}
then you use it like
struct Foo @fmt {
i32 a,
i32[] b
}
its probably not this easy
my code working so well
unfortunately the joined at thing doesn't show on leave unless the member is cached :(
generates this code 
let result = "";
if (view?.["user"]?.["guild"] != null) {
result += view?.["user"]?.["joinedAt"] ?? "";
result += " (stayed for ";
result += view?.["user"]?.["membershipDuration"] ?? "";
result += ")";
}
return result;
and code like this can be generated from user input
nothing could go wrong
i love using function constructor for microoptimisation
zod uses it too for parsing
I forgot my github repo with like 90 hours of python in the past month isnt public right now lol
Why isnβt golang #1
dynamic code modification in rust?
and they were mostly right about the fact most restaurants will use 
but not a good thingβ¦
thats a long way to say "i cant cook and i cant appreciate the things my cooks do for me and so i want to spread more shit about how microwaves will replace cooks so i can pay my employees less"
this is the equavalent of a ceo saying "in the future all apps will be made with ai and if you cant deal with that then you need to stop using computers"
@cinder egret nerd
love
ping me when you're done i will read
why do i do pretty nicely organised code whilst the best developers just dump every source file in the same folder and write swear words + words i'm pretty sure were banned in the 20th century in their comments
properly organised @winged mantle
Lemme know if you like my site too
I'm working on part 2 soon, if you want me to go over anything specific lmk
I'm mainly gonna go over actually reversing JNI libraries, reversing a minecraft cheat that uses JNI for protection/drm, how the VM's classloader works, how JVMTI works etc
Also how transpilers like JNIC work and how to fight against transpilation
Same with people who proxy calls (like JNIC lol)
What are you compiling π
servo
I seeee
im also running a 12yr old cpu with 2 cores
a friend of mine with a decent cpu compiled it to release target in 5mins
is it true most senior developers spend all day aligning things and adding comments like this
/*************************/
/* Color enum */
/* Enumeration of Colors */
/*************************/
enum Color {
RED (255, 0, 0),
GREEN (0, 255, 0),
BLUE (0, 0, 255),
ORANGE(255, 120, 0),
// ...
cool...
so cool
"If you create more without cleaning up, crash the VM." I think you forgot "you'll" @frosty skiff
truie
ty
fixed
c so good
evil
i used stringer in go
i guess it wouldn't be that hard to implement stringer for c
for some reason i got confused and just wrote struct three times
and then i wrote try inside the function...
in c
i love c
#define try
#define catch if (0)
C macros exist for stuff like this YK
you dont even need a tool to generate code like stringer the c compiler preprocessor can
in the next part i plan to cover so much
inlcuding local frames & stuff
I'm gonna write another post at some point on JVM obfuscation and I'll probably go more indepth into like
how people break ASM & stuff
same with how stuff like the stackmap works etc
sure
seperate note
if you wanna know something cool im working on
full emulation of jni
I'm planning on making it run with the real vm so it doesn't need to use mock data
I AM GOING TO GO FUCKING ISNANE
CHROMIUM HAS IT'S OWN FUCKIGN WINDOW FOR CLIPBAORD
X11 HURTS MY HEAD
love?
the window is an orphan so i can't tell which chromiumslop app created it
i think i can get around it
the window id of the selection owner seems to be very close to the real window id
i can probably manage with some shitty heuristics
@solemn ravine i want metadata for each clipboard entry (window that copied it, timestamp, icon, ...)
but each program uses it's own window as an "owner" for the selection
so it's impossible to know what window copied what
it's not just chromium lol
i might do that tbh, but still
when it comes to timestamp, its just when its saved to the sqlite db
can't you get the pid or smth
I handle a lot of useless data like that on the apps side
that's stored with the atom _NET_WM_PID which is not on every window
it is also not on any of the selection owner windows
StorageManager+historyApplication.swift: Lines 24-40
/// Creates an application for the current frontmost application if needed.
/// - Returns: Application object
public func createApplication(for bundle: URL? = nil) -> CBApplication? {
guard let applicationBundleUrl = bundle ?? NSWorkspace.shared.frontmostApplication?.bundleURL else {
return nil
}
if let existingApp = getApplication(for: applicationBundleUrl) {
print("already exists skiping!")
return existingApp
}
let newObject = CBApplication(context: context)
newObject.uuid = UUID().uuidString
newObject.bundleUrl = applicationBundleUrl
return newObject
}
silly
macos giving us an api just to get the frontmostApplication is kinda crazy
it gives us the path, and using that path you can just retrieve the icon with another api
lmao
pretty sure venmic has a similar issue with some apps just not setting basic metadata
Focussed window just seems reasonable

@royal nymph what if i hooked libx for all processes to add the pid to every window 
I dont really consider apps that arbitrarily modify the clipboard like i do
If it happens it happens the user can just copy it from my app again
ClipboardMonitorManager.swift: Lines 79-84
private func _didChange() {
let current = _pasteboard.changeCount
guard current != _lastChangeCount else { return }
_lastChangeCount = current
_checkClipboardItems()
}
i consider events things where your thread is sleeping
that is def polling
event would be your app is suspended and waiting for the os to notify it
when the clipboard changes that value is increased by 1
starts from 0 when you first use it
when the clipboard changes that value changes so it checks if it has changed and does what it needs to do
idk why they do this in particular
i can't wait to start windows support on this
windows got one 
with a good ui?
the native one is like one of the only clipboard managers with sane ui
It works as intended but as a mac user i accidentally trigger it because i use win+v for pasting and windows uses that to open the clipboard manager

mac issue
insane modifier setup
no its just win+v on mac and I accidentally trigger it bc im too used to it
switching between them is annoying because of that..
what more do you need from this..
searching, longer history saved to disk, timestamps
ocr is soooo nice tho
also i dont think it renders RTF or HTML
criiiinge
well mine "doesnt" but it has functionality for it
Incorporating html/rtf rendering in such small cells just causing me a lot of trouble
make some popout window / quick preview for it
I was thinking of just making the user press space to show a proper preview of the clipboard contents with all the rendering, or have a config where all the cells are large and incorporate them there
i like the idea of the first
maybe have some side view that shows the currently hovered item
in a bigger preview
I will probably do both
honestly ive been holding it off lately because making UI for this sucks
ironically
all the backend work is just done but making ui just for displaying a million types of content in a good way is annoying
(+ i don't have to deal with intellij and gradle)
I wouldnt have this problem in a mobile app
are you making react clipbaord manager @jade stone
yeah
react is what i know
yea
@nimble bone you love embedding jcef in things like idea and minecraft
i need a windows style clipboard manager for wayland
how is there no actual clipboard manager
i can't find one
isnt the wayland clipboard manager wayclip or something
or no thats clipboard provider
for some reason on mobile all codeblocks are literally different sizes
like first code block i saw had big text, than mixed text, than small text
wat
yeah idek doesnt happen on my phone lol
π
looove nice
pretty website and good writeup
a few things
- static name resolution actually looks for 3 different names I believe: one with name+parameters, one with just the name, and I can't remember the last one
- about local references; might be worth mentioning PushLocalFrame together with EnsureLocalCapacity?
- also might be worth mentioning that for jni on android: starting with Android 8, there's an unlimited amount of local references available. before android 8, it was capped at 512 without requesting extra
uhh
ive never touched android lol
like ever
husk
well it has jni too just thought id let you know
ya
idk people keep telling me to get into android stuff
since i already know a lot about jni stuff
iirc there isn't 3
there's only the short name and the long name
ah okay
tf
hop on kde
guhh I don't wanna hop off hyprland
guhh
@ornate quiver make
you will have fun doing Wayland protocol stuff
:blobcatcozy: :blobcatcozy:
it's horrid from what I heard
would be good blog post
you can write how you gone insane
I am making
You will use
Wayland support will come after x11 but before windows
Itβs electron
So much faster than compose
(Also has built in clipboard api so I only have to handle watching it for changes)
nvm
(But that is a pain in the ass)
They say while using discord
aliucord 
Do you not use discord on pc at all ?
no I do
anyways ill try and if electron is too laggy for me i might try making my own idk
and then kill myself trying to get Wayland protocol working
I want to keep it lightweight
what about just using cef
No native api for reading/writing clipboard I think.
But the plus is that native code is really easy
I might port to cef if electron is too heavy
@ornate quiver i will write in jcef and get the worst of both worlds
saladddddd π will do anything but use gtk or qt
what would i even use for ui
I don't want to use qt but gtk kinda sucks
Yeah
I tried compose but it sucked so hard
Idk how zt manages
compose is amazing but compose desktop isn't really that good
Yeah, Iβm sure itβs great to work with on android
and compose web sucks too @deep mulch hop off
native UI even non standard beats a web engine on the desktop
Wayland stuff is fun
I was writing my own desktop widget system in rust a while ago
mainly using tinyskia for rendering
they make code unreadable
why the fuck is this saying removed more lines than the original file has
the file has 30k lines and it says removed 2 million 
why are you reading the file twice
why are you parrellising the filtering
it doesn't matter what language yyou use
I would personally only use macros for stuff that's different between compilers or well documented stuff which is more like a function call than cdodegen
or constants ig
as constexpr was only added in recent c
@valid jetty @valid jetty @valid jetty @valid jetty @valid jetty
@valid jetty @valid jetty @valid jetty @valid jetty
@valid jetty @valid jetty @valid jetty @valid jetty
reminds me of that time i was generating aoc inputs and didnt clear the array in between so insted of generating 100k lines it tried generating 1.666716667e14 lines
Windows moment
windows
Get scoopβd
@lavish frigate uses Cursor
yea
yesterday i installed https://cursor.com/cli and then i did chsh cursor or whatever the command was so im ai'd in
also they're doing a zed windows alpha test u can apply here https://docs.google.com/forms/d/e/1FAIpQLScSalXiYB6HO_tQeHU2U2EiezWz5fCQSftkdwD-rH8CaTWhdQ/viewform
Alpha testβ¦? git clone β¦/zed cd zed cargo build
well not everyone is willing to build a big project themselves or use unofficial builds
Bro is too lazy to type 3 commands π
Itβs so over
AI and TikTok has rotten everyone and everything ππππ
no
It takes maybe 30 minutes at most and itβs not like u have to sit here and watch you do the commands and you go OUTSIDE
if you're like me it takes more than 2 hours
what if you have a weak pc
if my craptop can compile this then anyone can compile it
krill issue then go touch grass while it builds
and i mean this alpha test is more for the developers to get feedback me thinks
my pc does not like compiling zed 
ngl the compiler would be doing a bad job if it wasn't at 100% cpu usage
true
you paid for the whole cpu you will use the whole cpu
you can still mostly do that
just slap a -j6 or smth on it
oops

also I think it defaults to nproc
real
i got a laptop with more cores but tbh i regret it because it just seems like a waste of money
4 is all you need

proceeds to complain about compile times

but i rarely use this laptop
soo
i refuse to believe that more powerful cpus are needed for any reason other than modern software being bloat
zed
Compiling ai_onboarding v0.1.0
estimates say this will take about 260m to compile
im not actually using zed im just curious how long thisll take to compile...
I wanna say yes but also not really
no you still do have a point
kind of
like most of the time my cpu is at less than 5% usage
and discord still lags π
i've been listening to old people yelling at clouds a lot lately
When I compile zed, I can only have the terminal open lol
it's amazing how many crimes web developers commit
ok it only took 20m to compile zed
impressive
time to delete it now
release or dev
probably dev
yeah m4 is all you need
true
@ChShersh Functional programming was created so mid devs who canβt reason about state can still make programs
true!
Weird takeβ¦. If anything functional is gonna be hard than nilly Willy state management
it's a joke π
@hoary sluice look at this lmao
not my images
but its funny
"The function is a bit too long"
rewrites it into an even longer class
i hate both of these
who even writes java like this
FUCK YOU
MY MONTH LONG VACATION JUST STARTED AND YOU IMMEDIATELY REMIND ME OF ENTERPRISE JAVA
Is this thay Clean Code book?
All those nonsense instance fields are sooo clean
both of these are fucking awful wtf
Yooo how do I clear vencords themes that its looks for, when I enable and disable any theme I get errors that it's trying to look for old theme files I no longer have and Im trying to clear up my console.
Make sure discord is fully closed first
AppData\Roaming\Vencord\settings\settings.json
CTRL+F: enabledThemes
Remove the old ones.
terrible
I needed to clear it cause Im trying to debug a theme rn and I had those errors distracting me. No context was provided that's my b
why is react lowkey so much bloat π
also how tf did ppl build sites before react & svelte
lowk
its not that difficult
I have a whole site thats ran og
all frameworks are bloat
^^
lowk
you can make a good site with html and css
99% of the time you do not need some crazy js
I have one thats all PHP only hard coded, its my current project ^
lowk
yeah but with frameworks like svelte you can do some like conditions easier
instead of manually adding elements and shi
thanks for telling me
oomf is using an android π
what do you use???
iphone???
explod
give me $3m @spark tiger
u can buy a new iphone for like $400 istg
give me $400
Everyone should use Android
i wouldn't buy an iphone if it was $50
The only sane phone
never
im not using anything nonapple anymore
Why
he's special needs
cuz apple is the company of the future
as you can see
apple is the company of several year old android hardware
iphones are just perfect i dont see a reason not to use it
heavily locked down ecosystem
hostile to being ran on non-apple hardware
how is that a con
im buying an iphone
not some temu hardware phone and installing ios there
thats a con of apple itself
you can't install android on iphone either (without breaking eula of course)
its kinda intuitive once you learn it
iunno it seems much more needlessly complicated than svelte
@nimble bone
who cares
sideloading is useless
also Apple locking down their operating systems to Apple devices allows for a more polished experience
bugdroid is on many different phones which gives you an ass overall experience
iOS meanwhile only runs on Apple silicon
jquery
or php
low quality ragebait @nimble bone
do better
minus "bugdroid" i meant every word
That's misleading as fuck
Apple hardware is miles ahead
The software on the other hand....
it's great
shit's so locked down it pmo
Yeah
Funny that privacy-wise, iOS is better for normies than your average Android device
unless you flash a custom ROM
Google π
trueee
this is the most convincing part of the presentation
and then they proceed to show a github screenshot
@valid jetty hiiiiiiiiiiiiiii
I think i got lost in the sause
my body convulses at the idea of writing any more HTML or HTML templates so... this was created
i dont think a similar lib exists in go..... its also somewhat slow so i implemented my own templating to avoid recompiling a page for small reasons
i guess templ does something similar
gox
what
its a joke about jsx i think
i was interested in what GROK would do with the code and... is it supposed to think this long?
the graph crimes are the funniest I've ever seen
I will be going to jail after this for my crimes
graph crimes
cfg crimes
π€€
that looks like a celeste map
insnaity
this one isnt as bad
why 
is it good tho
id absolutely pay for a haskell lsp
for a good one
is there no good and free one?
there is one but its not as great as r-a or the jetbrains jvm ones
id pay for an lsp thats as good as r-a or a good package management system like cargo
you can give me $10 and i'll lyk if it's any good π
sorry $9
yeah
nah i want an nvim lsp not a macos ide
i randomly found it in awesome-mac with an expired domain lol
also can u even pay in the mac store
...wdym?
sanctions and stuff
ah u mean for me
ye
yeah well apple is really one of the few companies that didn't really fully block shit
oh cool
i remember kazakhstan used to rely heavily on russian infrastructure until "the incident"
now we have our own banks and everything
like you can either buy gift cards or top up your balance with like MTS (ig yk what that is?)
i dont know
its like uh
idk what's the proper name for it but it's mobilniy operator
mobile operator?
idk
like tmobile or whatever
isp
and like the best thing it's not some 3rd-party app, you can literally do it inside app store or settings or
or just switch your app store region
fortunately it's VERY easy to do on apple
iunno tbh
i personally never used it
i just bought gift cards
and then switched to turkey
terrible
90% of those aren't due to yaml, they're due to schemaless yaml
philosophical question: which hdd is bigger?
this tests your kubernetes knowledge
And of course, the latter half of the questions are random tools that use yaml, not yaml itself
That one's a bad schema question, and also a "what's k18s got to do with this" question
Should've just asked what json this parses as
Which of course is a fallacious question as well, since yaml is a different tree than json, with yaml having tag? Γ {map, list, string, unquoted string} as opposed to json's {object, array, string, float, bool, null}
ah yes the false file format equivilence fallacy
The 14 kinds of multiline strings are indeed cringe though
what json this parses as is fine
just imagine JSON.stringify(yaml.parse("..."))
{ "geoblock_regions": ["us", "fr", false, "sf", "in", "uk"] }
Specifically, what json does this equate to using the json-like schema
Yaml-the-syntax just says {unquoted string "us", ..., unquoted string "no", ...}
i think that's overcomplicating it...
The json-like schema chooses that unquoted string "no" means false and most other unquoted strings are strings
this specific yaml has an obvious json mapping and if you know about the norway problem you will be able to answer it fine
People conflating yaml-the-syntax with yaml-with-json-schema annoys me to no end
aka 90% of yaml you don't have a point
90% of those aren't due to javascript, they're due to badly written javascript
100% of those are due to the jews
what the husk
@nimble bone
if i see webpack in webtools does this mean this site sends all the source maps to the client...?
yes
isnt this the 10th time you ask
well not really
i did ask about .js.map's before yeah
but it was outside devtools
so even after getting an aswer i still had no idea what it looks like in devtools
not necessarily but usually yeah
sounds weird to me for a big airline site to do so but okay
but it makes it much much easier to get understanding of how things work
ok
oh neat i just found a big list of all endpoints
this "ok" be evil asf 
i mean yeah what else should we answer when nobody really cares about having sourcemaps like the downside is that already experienced people can use them to maybe make it easier to understand the code (not really though).. i guess might speed up reverse engineering..? (who even does that??!) and the benefit is that if prod breaks you can debug it easier and get the site working again easier
nobody hire chloe
sorry you are too late i was already hired
wait...
webpack devtools....?
what?
?
yeah that's how it shows up when you have sourcemaps
i think its literally webpack specific
but "sends source maps" isnt quite rigtht
if you're using inline-sourcemap, then its send together with the JS, since its inline
but if you're not using inline, then its requested by the devtools when you open devtools
and not loaded otherwise
which is why u usually want source maps enabled on prod if you're publishing source available code
since it helps, and doesnt imapct user performance
on one of my client mods i set the sourceurl of some eval'ed code to webpack://ModuleXXX and it showed up under the webpack section with the icon
i need sourcemaps for jsc code
as counter intuitive as that is
no1 made that yet doe
don't listen to chloe she's insane, yes exposing sourcemaps is kinda bad and probably a mistake

is it doe?
if ur code is source available
it doesnt matter
as long as u dont use inline sourcemaps
.
did you even read chat 
idk i just feel like she hates me lowkey
-10k lines π₯
stop ruining my troll π‘ as a fellow modder we have to strive for more people putting source maps in their sites π
I managed to extract almost all of nintendo online's source code from the source maps a while ago, do yeah probably avoid that
Everything except the files only containing ts definitions, since those didn't produce any output code to put the sourcemap on
Nintendo will sue you soon
Im telling Nintendo
Cope
wicked
I don't agree that it should be inline if a lot of casting and bit manipulation is used. Especially if its used as crap ton.
The function name makes no sense however.
i mean if the function literally is just (a << 16) + b it doesnt make any sense its not like he says that helpers shouldnt be used just that that exact helper is stupid and sucks
even though i dislike this guy he does sum it up pretty nicely
linus was implying that b for some reason would have to be casted as well in some cases... and idk why unless it wasn't a literal uint16_t
oh yeah it isnt because they just bit shift one
so there is a little extra work its not just (a << 16) + b.
What arch tho is polluting the higher bits in a uint32 (i assume) and if were overflowing then we need to account for role over before merging.
Or why is this even rolling over... why is this code even needed...
Yes, and if it was just (a << 16) + b i would agree.
Whelp Iβm too lazy to find the patch somewhere in the mailing list so unless someone else wants to spend their time looking through that we might never know
ngl epic response
get bent
but muh Clean Code...
i'm not taking advice from tim sweeny epic......
i think he meant (a << 16) + (b & 0xffff)
but its still more understandable
classic rookie mistake
@hoary sluice
AI still can't file my taxes
Still can't design properly with good ux
Of course it's gonna take jobs
I'm sure ai could file your taxes just fine
As could a proper automated system
But that wouldn't be beneficial for the taxes mafia
you love my helper
shame on you
it was kinda annoying to duplicate lots of code
though tbf i did get confused by my own helper
and didn't properly use the return value\
i fixed like 5 bugs in it while making my rhythm game lol
the worst one was enums
enum type conversion specifically
when you try to cast an enum to a type of a higher weight, it reinterpret casts it to that type (which is fine for any integer)
however since floats have a different binary representation, if you have an enum with an int repr and cast it to a float (say Foo::A * 2.0) it would reinterpret cast the integer value from Foo::A into a float and break everything
so instead i made it so if thereβs any floats involved, the type conversion is fully extended to do stuff like integer extension and float truncation
safe to say that was an impossible bug to debug in the rhythm game
i was making raylib rectangles and the widths and heights started being 0 when i switched to using enums for defining my layouts lmfaooooo
is this true tho
People like to imagine this as true but the reality is that we members of the rust cult have slowly started swapping out their existing infra with rust
90% true
cloudflare uses some r*st things, but not anyone else
not anyone else? idk if thats true
that's definitely not true
filing tax return in Austria is pretty much just pressing a button
okay for real now: cloudflare uses rust in "performance critical systems" citing QUIC/HTTP3 and firewall engine
AWS uses rust citing lambda, ec2 and bottlerocket os for containers
microsoft has introduced rust in windows kernel components, linux has introduced rust in hardware drivers
firefox rendering engine (specifically servo components) is written in rust, chrome has added rust support to their codebase (specifically security-critical code paths)
linux utilities are actively being made in rust, uutils coreutils strives to port the entirety of GNU coreutils to rust and together with sudo-rs is being adopted into ubuntu, along with newer tools like ripgrep or fd
asahi linux (linux for apple mac) is made almost entirely in rust
lets encrypt uses rust in its ACME protocol handling
databases like surrealdb and tikv are made almost entirely in rust
- many other day to day services are slowly converting to rust like the platform you are on right now, discord, using rust in the backend for very high usage server routes and rust in the frontend planning to speedup parts of the app
dropbox moved to rust for critical syncing code, figma uses rust in image rendering and multi-user systems, 1password (and many more) use rust to make crossplatform core libraries
(sadly?) a lot of web3 (crypto, blockchain) is made in rust
very extensive list!
there is probably a lot more but companies dont often have a reason to expose their rust usage, especially on server side
i use rust in my voice assistant diploma thesis
whats the most common reason why these companies are using rust
i think one nice part of discord is that they (relatively rarely?) publish blogs on development https://discord.com/category/engineering
here is a discord blog article about rust! https://discord.com/blog/why-discord-is-switching-from-go-to-rust
rust is on the llvm so its very fast (among the fastest programming languages) meaning for, for examples, servers it can handle a lot of traffic
and it prioritizes explicitness and safety, the error handling and borrow checker catching a lot of bugs and vulnerabilities (especially on the memory side)
i'm lagging behind a lot
my knowledge has already rotten
and i still dont want to touch rust
rust using llvm does not mean it is very fast
Rust has same speed as C or C++ if you compare rustc and clang
we're talking about runtime speed or compile times?
rust is bad at compile times
you know what i mean tho π i did not want to write a paragraph on why its fast to someone who probably wouldnt understand most of it anyway
from testing
- rust is faster than C in most cases
- C can be faster than rust if you are aware of invariants you can uphold that the rust compiler canβt represent, meaning in particular cases you can beat rust
in most cases rust already has very fast general case implementations in the standard library so youβre not beating it even if you use C
but in some cases it can be faster
its not as bad as people think, and while its annoying if you are building a project from scratch, incremental compilation make it very much bearable for developers and some lunatics (the dioxus development team) has even managed to add sub second rust hot module reloading using binary patching
my programming language with about 20k lines of rust takes like 30 seconds to compile
and thatβs not a cold start thatβs after all the deps compile
even runtime speeds, as i said in the paragraph under, C can be faster if you are aware of invariants the rust compiler isnβt
like particular unsafe memory operations
yea i probably wont, but i love hearing people yap about stuff they know a lot about
that the rust compiler canβt guarantee safety for and a C compiler could optimize better
btw itβs not hard to do this with a traditional language model
compile your bulk code once, compile the hot module into a dylib, then dlopen and dlsym, when you need to reload you compile the small module very quickly and reload the dylib
unfortunately rust is rust
lc.gem tldr?
It's clear from your detailed list that Rust is rapidly gaining traction across a wide range of applications.
Here's the TL;DR:
Rust has become a go-to language for performance, reliability, and security. It's being adopted by major tech companies like Cloudflare, AWS, and Microsoft for core, mission-critical systems such as operating system kernels, infrastructure, and firewalls. In the open-source world, projects like the Linux kernel and various utilities are turning to Rust for better performance and safety. The language's strengths in handling memory and concurrency safely make it ideal for building everything from new web browsers to essential cloud services and cross-platform applications.
so why is rust fast? cuz of its standard library?
- fast implementations for common things in the stdlib like vectors and iterators (and on that note iterators are compiled to loops)
- memory safety adds extra optimizations the rust compiler can make because of assumptions about the memory
- loads of the stdlib are zero cost abstractions
- aggressive inlining
- the type system is powerful enough that you can prove more things at compile time rather than needing runtime assertions for it
- llvm (though they raise this down to llvm ir from their own mir on which they perform some basic optimizations)
iβm sure thereβs more
what is mir? this? https://llvm.org/docs/MIRLangRef.html#introduction
i wonder what made the llvm devs choose this as their logo
fire?
wait what π
hui
goes super hard
so true
rust has their own intermediate representation called Mid-level IR (MIR) constructed from High-level IR (HIR) constructed from high level rust code
becomes lower and lower level until they pass it to llvm for the final optimizations and stuff

