#development
1 messages · Page 181 of 1
Proof you absolutely ain’t no developer
least toxic development channel moment

isis type beat
don't even need this...
the screenshot is obviously a capability added in xcode
just check the entitlements file that xcode makes 😭
Also true
12 years ago
just on the cpu it does 7x the more recent programs
💀
on the gpu it's like 70x
or more
this is the mindset i use when making my compiler
if it breaks, fuck you, you did it wrong
write saner code or something
Rustie
this
int add(int size, ...) {
int res = 0;
va_list ptr;
va_start(ptr, size);
for (int i = 0; i < size; i++)
res += va_arg(ptr, int);
va_end(ptr);
return res;
}
int main() {
int res = add(3, 2, 3, 4);
printf("%d\n", res);
return 0;
}
``` is really confusing
like i get it but
idk
there has to be some way to get the vaargs length without needing to specify at call time
not really no
at that point just use an array
varargs honestly shouldn't even exist imo, unless there's something I'm missing
either you pass it directly or it can be inferred (like how printf does it for example)
you may be missing printf type funcs
this is how i did it in elle
fn add(Int size, ...) {
Int res = 0;
Variadic args[size];
for _ = 0 to size - 1 {
res += args yield Int;
}
free(args);
return res;
}
pub fn main() {
Int res = add.(1, 2, 3, 4);
printf!("%d\n", res);
return 0;
}
i added a syntactic sugar macro type thing
add.(1,2,...)
which automatically inserts the arg length at the 0th index
how does printf infer the arg length
using the %d, %c and stuff, based on the number of formats provided, it can inffer the expected amount of args and it will error, if the amount of args doesn't match
gross
ah i see yeah that makes sense
we shall go back to python where you pass in a "tuple" with the % replacement or whatever 
is this an okay way to do it if i document it properly lmfao
because i cannot think of a better way to do it and passing the number of args manually feels so cheap
how does that macro look?
and how do you think does that work under the hood?
its not exactly a macro because theres no preprocessor but internally it does it like:
this part
match self.current_token().kind {
TokenKind::LeftParenthesis => {
self.advance();
}
TokenKind::Not => {
self.advance();
if self.current_token().kind == TokenKind::IntegerLiteral {
match self.current_token().value {
ValueKind::Number(val) => {
variadic_index = val.to_string().parse::<usize>().unwrap();
},
_ => {}
}
self.advance();
}
self.expect_token(TokenKind::LeftParenthesis);
self.advance();
}
TokenKind::Dot => {
self.advance();
calculate_variadic_size = true;
self.expect_token(TokenKind::LeftParenthesis);
self.advance();
}
other => panic!("Expected left parethesis or exclamation mark (for variadic functions) but got {:?}", other)
}
``` detects the dot
and then its done like this
if variadic {
if calculate_variadic_size {
parameters.insert(
0,
AstNode::LiteralStatement {
kind: TokenKind::IntegerLiteral,
value: ValueKind::Number(parameters.len() as i64),
},
);
}
parameters.insert(
variadic_index,
AstNode::LiteralStatement {
kind: TokenKind::ExactLiteral,
value: ValueKind::String("...".to_owned()),
},
);
}
after the parameters are all parsed and stored in the vector
so essentially
func.(a, b, c, d);
will expand to
func(4, ..., a, b, c, d);
ignore the ... thats a whole other story
what are you even cooking? (just noticed the code is in rust lmao ...I was like "this looks very farmiliar, but it ain't C nor python")
looks reasonable enough
im writing my own language and trying to add variadic arguments
well, not trying
i did add variadic arguments
im just inspecting the most ergonomic syntax for it
this is the code in my language
- the variadic call first allocates memory with malloc of the size, then calls vastart on that ptr returned by malloc,
args yield Intessentially gets the next vaarg as an int type- needs to be freed at the end ofc because no memory leaks
- the
Int res = add.(1, 2, 3, 4);part uses the macro i talked about earlier
and thats basically how it works
the add function looks like this in the IR
function w $add(w %size.1, ...) {
@start
%res.2 =w copy 0
%args.3 =l call $malloc(w %size.1)
vastart %args.3
%_.4 =w copy 0
@loop.5.cond
%tmp.6 =w copy %size.1
%tmp.7 =w copy 1
%tmp.8 =w sub %tmp.6, %tmp.7
%tmp.9 =w copy %_.4
%tmp.10 =w copy %tmp.8
%tmp.11 =w cslew %tmp.9, %tmp.10
jnz %tmp.11, @loop.5.body, @loop.5.end
@loop.5.body
%tmp.12 =w vaarg %args.3
%tmp.13 =w copy %res.2
%tmp.14 =w copy %tmp.12
%tmp.15 =w add %tmp.13, %tmp.14
%res.2 =w copy %tmp.15
%tmp.16 =w copy %_.4
%tmp.17 =w copy 1
%tmp.18 =w add %tmp.16, %tmp.17
%_.4 =w copy %tmp.18
jmp @loop.5.cond
@loop.5.end
%tmp.19 =w call $free(l %args.3)
%r.v19.20 =w copy %res.2
ret %r.v19.20
}
and then yeah the main function
export function w $main() {
@start
%tmp.22 =w call $add(w 4, ..., w 1, w 2, w 3, w 4)
%res.21 =w copy %tmp.22
%tmp.24 =w call $printf(l $main.23, ..., w %res.21)
%r.v24.25 =w copy 0
ret %r.v24.25
}
data $main.23 = { b "%d\n", b 0 }
expands like i said
already did so
i just implemented floating point numbers first try wtf
pub fn main() {
Double a = -1.2;
Double b = 123.456;
Double c = a / b;
printf!("%f\n", c);
return 0;
}
it parses the floating point number as a string, then splits on the .
then it gets the length of the part after the .
then it concatenates the part before and after the . without any dot, so as an integer
then it divides this by 10 ^ (the length of the second part)
and then it parses them both as integers
its surprisingly extremely simple
fn parse_float(&mut self, token: Token) -> AstNode {
let value = match token.value {
ValueKind::String(val) => val,
_ => todo!(),
};
if !value.contains(".") {
panic!("Invalid float literal provided");
}
let nodes: Vec<&str> = value.split('.').collect();
let left = nodes[0];
let right = nodes[1];
let exponent = right.len();
let original = String::from_iter([left, right]).parse::<i64>().unwrap();
AstNode::ArithmeticOperation {
left: Box::new(AstNode::LiteralStatement {
kind: TokenKind::IntegerLiteral,
value: ValueKind::Number(original),
}),
right: Box::new(AstNode::LiteralStatement {
kind: TokenKind::IntegerLiteral,
value: ValueKind::Number(10_i64.pow(exponent as u32)),
}),
operator: TokenKind::Divide,
}
}
literally no testing i just had a theory that this would work and it did
i was expecting to be stuck for hours trying to get this to work
meanwhile me today
theres so many keywords now lmao
in the Theos server we were trying to use Sileo's classes without actually linking against Sileo - turns out because they don't have them markd as public, that's impossible
yeah fair
Mfw Patch Finder
no
step size officially implemented (real)
pub fn main() {
for Double i = 0 to 1.5 step 0.5 {
printf!("%f\n", i);
}
return 0;
}
I thought you changed pub to public?
Pub doesn’t mean anything please choose the right path 🙏
Also not sure if you can even do that, but if you can fix float numbers that would be great lol
no lmao
thats exactly what i just did
look here
OH THANK GOD
public func main() -> Int {
for Double i = 0 to 1.5 step 0.5 {
printf!("%f\n", i);
}
return 0;
}
god please no
I just made Swift... didn't I
nightwind i want input from you
public is clear can be understood by anyone
on how variadic arguments should work
this is how they work currently
fn add(Int size, ...) {
Int res = 0;
Variadic args[size];
for _ = 0 to size - 1 {
res += args yield Int;
}
free(args);
return res;
}
pub fn main() {
Int res = add.(1, 2, 3, 4);
printf!("%d\n", res);
return 0;
}
no
not that
o
I don't get yield
What you do is too close to rust and doesn’t mean anything
this
think of Variadic args[size] as vastart and args yield Int as vaarg(args, int)
how doesnt it mean anything lma
its just abbreviations
fn -> function
pub -> public
Ok now let’s say someone doesn’t know shit about coding and what’s to read your code
btw the argument size of 2 there is automatically calculated at compile time
I would just do vastart and vaarg
that's much simpler
would you rather it was expose op
in this case its not calling a function its a direct instruction in the intermediate representation so it doesnt matter as much what the syntax is
Dont bring stupidity in here 🙏
horror
i was more asking about the func.(a, b) syntax
why the .
which automatically inserts the $...$ AND puts the argument length at the 0th index
looks weird
instead of just putting $...$ like with !
no
but thats probably worse
that looks weird
i also tried *
hmmm
looks weird
looks like a multiplication
func.(a, b) is the best i could come up with but im open to suggestions
it feels very cheap in C where you need to specify how many arguments you passed manually
you could do that here too and use !
func!(2, a, b)
but func.(a, b) adds the arglength there automatically
wut
true
man idk
the . feels ALMOST right
but it isn't
omg i figured it out
o no
please no
not bad but feels like an array access
Wtf this is not maths
function that like returns multiple values asynchronously
Stop doing goofy stuff
in this case no
and yield doesnt always mean that anyway
in javascript yield returns the next value from a lazy generator
in elle its similar
yield returns the next variadic argument from memory
isnt that asynchronoius by definition
like from a conceptual standpoint
uhhh i suppose yes
you can yield infinitely but you need the size otherwise youll yield uninitialized memory (we love)
func!#(a, b)
I've lost my mind
rosie's code is insane
i hate infrared /s
so i can insert the ... at the right place at compile time instead of needing to specify at call time
sigh
both of those would be painful if you have to call the function often tho
thats why i put it as . because its very easy and fast to type
this is actually what i originally had
automatically inserts the argument length at the 0th index of a variadic function
so instead of func!(2, a, b) you can do func.(a, b) and itll achieve the same effect
func???(a, b) for variadic where the first arg is the amount of args
oh wtf you hav eto pass ijn the argument count?
you do yes otherwise you wont know how many to yield until you go into uninit memory
its the exact same in C
functions like this infer the number of arguments based on the number of formatters in the format string
NSLog, printf, etc
well rewrite this in elle
theres no string replacing utility methods yet lmao
theres like barely any utility methods at all
i wonder if donut.c would compile now
I think Swift affected me
why did I write _Nonnull here
lmaoo i was confused too
it is not
idk what i was thinking of'
how did i manage to break the app this bad
the view only updates when app goes into background activity
anyone know whats causing the issue?
does luno (legizmo dev) not provide support ?
how to statically list all objc methods from a specific objc class
for example using the command nm or otool
I couldnt manage to do that yet
uhh not rly jus look at the headers
go find ur class here - https://developer.limneos.net/index.php?ios=15.2.1
the search takes a moment so be patient
I just took another look at gleam, the syntax
Boy did they copy rust's homework
the keywords, function declarations, the text output from their package manager and compiler errors
Not that that's a good or bad thing
to be fair you can create asynchrony via a generator, and it’s sometimes used in polyfills where the promise api doesn’t exist
but generators aren’t async in nature
stdin in gleam how
i tried a few months ago and couldn’t figure it out
Idk I just read the documentation to sound smart
I'll try it sometime later if I have time
I need some more functional programming in my life
i dont think you can
prob need to add that into the stdlib using erlang/javscript
meanwhile
fn c_strlen(Pointer buf) -> Long {
Long res = strlen(buf);
return res;
}
fn input(String message) -> String {
Long stdin = fdopen(0, "r");
Char buf[256];
printf(message);
fgets(buf, 256, stdin);
buf[c_strlen(buf) - 1] = '\0';
fflush(stdin);
String result = malloc(c_strlen(buf) + 1);
strcpy(result, buf);
return result;
}
how tf have you got malloc in rust
it’s not rust
yeah i like how rust syntax looks
same, last time i saw your lang you had some weird keywords
this might be what you’re looking for
I do, I’m just going through a patch of having zero time for a number of reasons. I’ve now responded to your ping
Ok sorry, I didn’t know, responded 👍
bad thing
@placid kraken flora is randomly crashing healthappd? 😭
i still need to disable flora in system processes lmao
Cr4shed is so useful wtf
Yeah lmao
its probably impacting on performance and battery life
flora or cr4shed
Flora injecting into system processes
That it doesn't need to
seeing that healthappd crashes and it has to start up again probably does cause battery and performance issues right?
Depending on how much it happens
i mean i guess yeah
This is the first time it's happened though
i have a filter for UIKit only but the tweak still does whatever it wants
which means i need to filter what it injects into at runtime in the constructor too
i know how to do it i just haven’t gotten around to it yet
Also for some reason snowboard fonts has been crashing my carrot weather widget every 2 minutes 💀
Yeah idk why some tweaks do this even when you disable them in choicy?
ah i see
aren't you on iOS 15 ?
Or was cr4shed update for 15 ?
not officially but theres a fork: https://github.com/crazymind90/Cr4shed-Rootless
Its officially updates for iOS 15 rootful but someone unofficially updated it for rootless
And the unofficial version uses that new xpcbootstrap thing instead of rocketbootstrap :D
i remembered i need to make a defer keyword
defer to free allocated memory would be useful because it would be an easy way to make an in-place unique ptr
the defer would wrap another ast node and would simply be held in limbo until the whole function is parsed and then added at the very end of the vector of nodes
are you fr sticking with C(++)'s memory model?
no
however if you do
Pointer a = malloc(1024);
defer free(a);
it wouldn’t hurt to have this in the language
it would act the same as manually freeing at the bottom just it’s now grouped together
i wouldn’t introduce an actual unique ptr because if i’m completely honest i have no idea how to implement classes
Do it like typescript and just make them syntactical sugar

having an inferred free would be confusing i don’t want to do that even if i could
eventually i do want to use it for personal use like for aoc and school projects and whatnot
hm only you
continue
wait actually @placid kraken i just realized you're literally making Zig 2
lmao
i realized this too lmao
not quite zig 2 maybe zig 0.5
the same level of memory management though
it was intended to be just an experiment to learn how compilers work
but i got a lot further than i expected
cool
like a lot further
so it’s become something i can actually use to solve basic problems
actually dont u just pass stuff to llvm

negative * negatives cancel out
originally i wanted to compile to beam bytecode
like the thing erlang uses
then i realized that’s a horrible idea
true,,,
at least now it’s usable for most things
i NEED modules
that opens up the door to so many new things
i’m only halfway done with them lol
i’m currently on a week holiday
i’m done on the 19th june
3 days after my birthday 🥲
tyyy
excited for new flora update 
might donate something if possible
AHHH
i cant wait for my server to get guilds
I think it’ll take like 1-2 more months for full rollout
I don’t think there’s been any new servers getting access
defer done
fn what_is_x(Double x) {
printf!("x = %f\n", x);
}
pub fn main() {
Double x = 0.1;
Defer what_is_x(x); // were expecting this to print 0.3
x += 0.2;
return 0;
}
Wen floating point error
already part of the language
you can also defer inside blocks like if statements and while loops
it was slightly annoying to code because i had to fight the refcell api and i had to account for return so i couldnt directly place it at the end of the node vec
one issue ive encountered is if you do something like this
fn test(Int a) {
printf!("%d\n", a);
}
pub fn main() {
Int a = 1;
Defer test(a);
if (true) {
a++;
return 0;
} else {
a--;
}
}
``` the defer will never fire
i have an idea
what if i call the deferrer right before every return statement
instead of just looking for the very last one
ok i did it with this horror
it automatically runs all of the defers either before any return statement or just at the end of the function if you dont return anything
this code
fn test(Int a) {
printf!("%d\n", a);
}
fn c() {
puts("c");
}
pub fn main() {
Int a = 1;
Defer test(a);
Defer c();
if (true) {
a++;
return 0;
} else {
a--;
}
}
compiles to
function w $test(w %a.1) {
@start
%tmp.3 =w call $printf(l $test.2, ..., w %a.1)
ret
}
function w $c() {
@start
%tmp.5 =w call $puts(l $c.4)
ret
}
export function w $main() {
@start
%a.6 =w copy 1
jnz 1, @ift.7, @iff.7
@ift.7
%tmp.8 =w copy %a.6
%tmp.9 =w copy 1
%tmp.10 =w add %tmp.8, %tmp.9
%a.6 =w copy %tmp.10
%tmp.11 =w call $test(w %a.6)
%tmp.12 =w call $c()
%r.v12.13 =w copy 0
ret %r.v12.13
@iff.7
%tmp.14 =w copy %a.6
%tmp.15 =w copy 1
%tmp.16 =w sub %tmp.14, %tmp.15
%a.6 =w copy %tmp.16
@end.7
%tmp.17 =w call $test(w %a.6)
%tmp.18 =w call $c()
ret
}
data $test.2 = { b "%d\n", b 0 }
data $c.4 = { b "c", b 0 }
what does defer even do
you see how the call of test and c is there both before the ret %r.v12.13 and before the ret at the end of the function
only calls the function when the current scope is about to be left
its like a destructor-ish
ah nice
this is a good example
it only calls the function when youre about to return
its intended purpose is to group together malloc and free calls
but it can be used for anything
apparently everyone is using rust syntax now
Does cr4shed hook C functions?
seems like it
yeah well if you installed cr4shed-rootless today that’s most likely the cause ig
can also imagine this function getting called quite often
Yea
iOS 14 best version because you can use rune and nexus while also having a true rootful jailbreak https://havoc.app/package/rune https://havoc.app/package/nexus
sorry, but i'm sentencing you to death for posting cringe
so true
Image4: Invalid security mode\n
68a64239691e40b9 + 0x14
patch 1 = -0x14 = 0x52800008; // mov w8, 0x0
patch 2 = -0x10 = 0x52800009; // mov w9, 0x0
Image4: Invalid board id\n
689a40b9690a40b9 + 0x14
patch 1 = -0x14 = 0x52800008; // mov w8, 0x0
patch 2 = -0x10 = 0x52800009; // mov w9, 0x0
both for ios 11.3-13.7
ios 13 downgrade patches
vm_fault_enter ✅
ios 13 img4 validation patches
Img4DecodePerformTrustEvaluatation ✅
Image4: Payload hash check failed ✅
Image4: Invalid security domain. ✅
Image4: Invalid chip id ✅
Image4: Invalid security mode ✅
Image4: Invalid board id ✅
Image4: Invalid production status ✅
Image4: Invalid epoch. ✅
Image4: Invalid ecid ✅
img4 patches are universal
just patch the adr x2, xxxx
nop to mov x0, #0 ret
it’s unique in every version I’ve seen
the one time when compile time arithmetic simplification is a negative operation
when the compiler optimizations change the behavior of the program

when you remember you're using C and you actually just realize you accidentally made UB
in theory the "compiler optimization" should cause the same behavior
correct
but i suppose writing 0.30000000000000004 in the machine code as the result of 0.1 + 0.2 wouldnt be the best idea either
well i dont think you can write 0.3 in the machine code
but if youre doing math entirely at compile time, then you can imagine 0.3 existing
that's how i understood the post, maybe they do represent it somehow
i got blocks working
fn print(Int a) {
printf!("[omg] %d\n", a);
}
pub fn main() {
Int a = 1;
{
Defer print(a);
for _ = 0 to 8 {
a *= 2;
}
}
print(5);
return 0;
}
this is becoming worse and worse
deferrers that arent in the root wont be deferred on any return statement theyll only be deferred when the current block is about to leave scope
Xcode ass error description
its not an error its more an implementation detail lol
give me a second to process that sentence
i think that defeats the entire purpose of defer
pub fn main() {
Int a = 1;
{
Defer print(a);
for _ = 0 to 8 {
a *= 2;
}
// will call print(a) here
}
print(5);
return 0;
}
pub fn main() {
Int a = 1;
Defer print(a);
if (a > 5) {
// will call print(a) here
return 1;
}
print(5);
// will call print(a) here
return 0;
}
not exactly
calling the deferred function on any return statement wont make sense if it wasnt created in the root
why does it print a in the if
theres a return statement there
the function is about to go out of scope
oh yeah
you cant determine at compile time which branch the function will take
i thought you were saying that print("a") would never be called in something like this
pub fn main() {
{
Defer print("a");
}
return 0;
}
oh and this doesnt make sense because if you make like, an if statement, declare a variable in it, then defer something, then if you call the deferred function at the return statement in the root it would be passing a variable that doesnt exist anymore because its out of scope
no it would be called but only when the block (the {} wrapping the defer) goes out of scope
okay that's right then
ok cool
imo things like defer shouldn’t be used as they create hidden control flow
its only “intended” usecase is to group memory alloc and dealloc
everything else that i’ve shown is as an example to make sure it’s working
but realistically defer shouldn’t be actually used if it’s not for memory dealloc, i agree
rust :
yeah i write in rust quite often
You clearly have not reversed rust 😭
zig does
zig 
where they used defer in that way
thankfully in elle the deferring is only a parsing-time operation
all defers are compiled into just placing the statement at the bottom, so if you were to reverse engineer the binary it would be the same as if you simply placed that line of code at the bottom, right before a return statement
i don’t know how zig does it but hopefully it’s also compile time
not really, it has the word defer right there
if it was hidden control flow it would place the line at the bottom and not tell you
zig 
elle more like
personalty twinsss
Irrelevant, how do I extract a free app's ipa to backport compatibility? or is that counted against the piracy rule
you can use that to decrypt installed apps and get an ipa
i didnt think of it that way actually
Thanks, for some reason Google wasn't any help
Hey, I work for a social media agency and we're looking for some tweaks to make our job more efficient so that we dont have to buy 100s of phones.
We're looking for:
- A crane extension which is able to change the gps location and proxy per container
- A tool which allows us to load images from the library to the camera to post on snapchat, tiktok etc
- A network analyzer to fetch auth codes so we can access our accounts from the web versions
- A reverse engineering of the account setup api for some social media apps so we can create accounts off device
Prices are negotiable but we're looking to spend around $300-500 per tweak with support
Anyone interested please leave a dm 🙂
who
him.
im pretty sure they mean they want to post videos from their camera roll directly as snaps which snapchat doesnt let you do
but yeah for tiktok just upload from camera roll lmao
they also want it for dating apps
snap doesnt let you
it sends the video as some weird attachment thing instead of a snap
ok on story sure
but not directly to other people
not when you go to snap someone tho
i would make it if i wasnt scared of my snapchat being banned after the havoc when iota died lmao
and if i used snapchat enough*
idk tbh
im a proud < 1000 snapscore user
what about discord
I don't use snap 🔥
Twitter is good
that's what makes it funny
the commit title is Read full commit then i list all the changes in the description
at least its not threads where its all christians and transphobes screaming about whatever
half my feed is
WE DO NOT LIKE TRANS PEOPLE
copy pasted 25 times lmfao
idk which one is worse but i logged onto threads once in a blue moon and decided to uninstall it when i did
it was hastily created as a replacement for twitter as they were assuming that twiter will die after elon bought it
its very rushed
based
@slim bramble choose your words wisely
wait really
why do i keep getting 1984d then when i post :3 stuff
im not the best person to ask
this channel and #themes are the only channels i talk in
i dont have anything to compare to
i think they know crane has nothing to do with location services 
they want something that can change location based on container
as in, something that works with crane
i know you're dense but not that dense
based
capt...
crane lets you have more than one container per app
they just want a tweak that also changes it's settings PER container
???
man
I thought you weren't dense 😭
you're missing the point
they want a tweak
they want a tweak that works alongside crane
different location for each container
what does the bundle filter have to do with containers...
bundle ids are unique to the app/executable
not the container
container is user data
let me open Microsoft™️ visual studio code on my Microsoft™️ windows machine and write some Microsoft™️ typescript code which required some Microsoft™️ npm packages to push to Microsoft™️ github which deploys to Microsoft™️ azure
just be glad we don't have a microsoft c compiler
we dont but we do have Microsoft™️ c#
which runs on the Microsoft™️ dotnet framework
does llvm stand for low level virtual machine
I wanna kill llvm with hammers
clang it
gcc = go clang (llvm) (you) c (user)
if its a project name it can still be an acronym lmfao
?
llvm started doing a lot more so the acronym didn't stick
bro we want
- the snaps from gallery to look like real snaps (not images posted from gallery)
- the tiktok livestream to be a video from gallery
both of that is not possible out of the box
Wait this is development
no its genera
I can delete harmful messages
1985
It’s not even me anymore lmao
The name LLVM was originally an initialism for Low Level Virtual Machine. However, the LLVM project evolved into an umbrella project that has little relationship to what most current developers think of as a virtual machine. This made the initialism "confusing" and "inappropriate", and since 2011 LLVM is "officially no longer an acronym",[20] but a brand that applies to the LLVM umbrella project.
https://en.wikipedia.org/wiki/LLVM
LLVM is a set of compiler and toolchain technologies that can be used to develop a frontend for any programming language and a backend for any instruction set architecture. LLVM is designed around a language-independent intermediate representation (IR) that serves as a portable, high-level assembly language that can be optimized with a variety o...
ah ok tyy
when the llvm language reference page is this long you can kinda tell it expanded to be a bit more than a low level virtual machine
oh such as?
:/
fair enough lol
:/
extremely extremely aggressive optimizations
are you expected to write in valid ssa form when you write code in llvm ir?
how tf do self hosted languages work
i know
but how does that even work
like how does one compile the compiler using the compiler without using the compiled compiler that was compiled first
i mean, once you have a decent compiler, you can just use older versions to build a newer one
after re-implementing in the lang of course
so like say i wrote a brainfuck compiler
how would i write a brainfuck compiler in brainfuck and then run my brainfuck code in that compiler
would i need to run it twice
first to build the compiler in brainfuck using another language
then compile the brainfuck code using that second compiler
well the concept of brainfuck is simple, it's just far from human readable
that's just manipulating memory addresses
so cross compiling is trivial tbh
oh this is interesting
theres frontends in multiple languages it seems
python preprocessor
interpreter in c
those are just extra utils tho
Do you want me to cook some you can't code memes 
Idk how good of an idea that would be
Fastest way to get banned 
goob.
Idk what a snapscore is
loser alert
i thought 20k was low
mine is like 5000
how
When do you turn 16
rune dev api when
january
indeed
Close
1 year
2009, Right?
yeah
i’m not tired at all 
Well I had school this week
Do it
Treat sleep like leg day, skip it if you don’t feel like it
skill issue
Thts my least favorite
alongside proper credits? 😠
he keeps "forgetting" them every version
i didn’t forget :)
g00d
who‘s Aka btw
an irl friend
the one with ios 15?
yep
yes
good
i thought u were like 19 what
😭
wait actually
15

Why would anybody study calculus willingly 
i already finished ap calculus bc i’m currently doing multivariable
stuff like that is fun for me
yeah i did that as well
youtube goated for that ngl
yeah in my free time
Our proff used to say calc2 was 4 times harder than calc1 but my grade was better in calc2 lol
probably cos of boundaries
Like how did he calculate 4 times tho
how do you have the free time, with actually going to school, revising for exams and shit, making a programming language and studying calculus
one step at a time
you don't constantly have exams
tr
lol yeah that too
i mean i do
pretty much
damn
after these exams i’ll have no more until the start of june 2025 when i can potentially take my a levels if i’m ready
or june 2026 if i decide to take them in yr13 instead
i had media & ict in january, english coursework up until like march. 2 english exams start of may and have 3 science exams in like 2 weeks
😭
horror
was your year 10 not the same?
my year 10 had only mocks so i didn’t really bother revising
so you did english literature and english language in the same year? that sounds painful
yeah i had all of them in the past few weeks
i still have yet to do english language paper 2
that’s after half term
surely you have more exams than me then if they’re all in one year?
same tbh
but i’m working on elle because why not
especially since you can’t resist science exams
my exams have been really easy so far
also WHY DOES EVERYONE SAY THIS
i hated the literature ones
I thought so too
idk but i thought the same
istg i’ve heard this same sentence like 1 million times
ur into pretty good calc catagory
that's why
lol
😭
Bro is 15
Everyone does
hope this is right channel but did anyone tried this on iphone x
I have to up my game 😭
omg hi yunho
yeah c:
wtf is a calc catagory
idk that sentence makes no sense
taylor series for one
oh you just mean the topic of calc
i think so
understandable
@wooden yarrow @placid kraken yeah like I just finished 12th grade and she was taking more advanced calc than I was, and I was literally placed in an advanced class lol
wait wtf did she do
we didn't lol
wtf
??
i dont think i learnt that
trol
idk dawg
it's apparently college level or smth
why did u have to learn that instead of taylor series
😭
taylor series are like
actually cool
though doesn't apply to many functions
.
that's prob why, but i also couldn't bother to give a single fuck at the end of the year so i can't remember shit abt darboux integrals
you're 15
so
@placid kraken are you sure you're 15
i mean im pretty sure yes
i was taking "graph the function" at 15 lol
unless my birth year changed from 2008 without me realising
at school were doing like quadratics and graph transformations
still relatively easy
thats what im planning
W
i want to major in pure maths and minor in computer science
That's wild
minor in computer science is crazy tho for someone who literally made their own lang
still havent met a pure math major that wasnt a masochist
😭
because i dont need the courses and content that majoring would provide
i can learn all of that stuff myself
Fr
real
true..
i mean theoretically you could also learn the pure maths yourself
but
true,,,
for the most part i did
but if i major in it i have the opportunity to ask my professor questions that i wouldnt be able to do otherwise
at least i think thats how that works??
yes
Math is NOT fun bruh
i already struggle with basic integration
not even ibp
then we got mfs doing math without numbers
man
just learn DI method it makes IBP so much easier to think about
ok this is a bit of an abstract example but you get the point
Thankfully we are not meant to know how to integrate ln(x)
i mean its not that hard if you know how to integrate by parts
Oh yea
I just actually read it
I thought the whole thing was about integrating ln(x)
the top part is simplifying the weird integral with the differential in the exponent lmfao
DI ?
it stands for differentiate, integrate
essentially when you have some integral of f(x) * g(x) dx
you can write it as a table like this
then you integrate one and differentiate the other until you get to a point where you can stop
after which point you multiply each diagonal and then you multiply the last row together and integrate that whole expression
like this
its kinda hard to explain through text lmfao
ima be real idk what you’re talking about
here try this https://www.youtube.com/watch?v=2I-_SV8cwsw
Integration by parts by using the DI method! This is the easiest set up to do integration by parts for your calculus 2 integrals. We will also do 3 integrals to illustrate the 3 stops of the DI method.
Dear calculus teachers, please let students use the DI Method (& why it is really the same as integration by parts) 👉 https://youtu.be/8xPfNuXLS...
ikrrr
Ah we just call this ibp lol
How else can somebody solve those though
There are probably other methods
the other most common one is this
oh
this
I was talking about this too rip. Should have watched the video i thought it was the same when i saw v and du 💀
the DI method essentially lets you do that just multiple times in rapid succession
and its easier to understand if you know the method
unfortunately most exam boards dont accept this as valid working so youll need to know the formula anyway
most exam boards can respectfully suck my dick
where u-sub
yoo bprp
basically learnt my calculus from him
goated
unfortunately he doesnt have very much content on multivariable calc
but yeah for single variable his content is amazing
after bprp you move on to 3b1b
trol
3b1b are more education videos about a range of topics than just mvcalc
i watch him too those videos are interesting
fair enough
hm so who do you watch for that if anyone
math is fun it's just usually not taught to be fun
i don’t hate it but idc to learn about it past what i need
khan academy for the intuition behind mv stuff, then i lookup a range of stuff extending that to try and solve myself
explode
yes definitely
doggystyle
lmfao
https://youtu.be/lbFDsSZxydk polar coords
Math: https://www.rapidtables.com/math/symbols/Basic_Math_Symbols.html
The video is taken from the Internet
If you want to support me to continue.*
These are support accounts.
Paypal account:
https://www.paypal.com/paypalme/ABDALLAHELDAL
#AbdallahElDaly
the funny
not really
especially the jacobian part
what does the vid do
is this just another method
the intuition is that when integrating with polar coordinates, r is the jacobian determinant
no its just simplified
hm
i skipped showing this part
the jacobian is a matrix of all the partial derivatives of a multivariable function
.
oh that's what it is
WHAT THE F- IS THIS
math
lmfao
:3
NO
:3
that nearly made my brain explode 😭
@warped sparrow how old r u
16
trolled
Any devs here who can make a working pbpaste for ios 14.8 (paid ofc) 🫠
i can just about do GCSE maths
try r/tweakbounty
haha! im older than you by less than a month
I've only come across them when I tried to put imaginary numbers as angles
trol
oh lmao
what abt them tho
idk
tanh is not a real thing
sinh/cosh
No
the /2 of both cancels out
mhm no
GENDERS??
literally this unironically
i love versine
arc whatver is just inverse
Si Ci are functions for integrating specific integrals that have no closed form solutions
like sinx/x
idk wha S(x) is
The Fresnel integrals S(x) and C(x) are two transcendental functions named after Augustin-Jean Fresnel that are used in optics and are closely related to the error function (erf). They arise in the description of near-field Fresnel diffraction phenomena and are defined through the following integral representations:
The parametric curve
...
ah
this is disgusting man
i assumed they were related to it lmao
hm given erf has the function e^(x^2) and these have sin or cos(x^2)
wonder if there's other integrals like that
i mean you have sinx/x like i said
is sin(x)/x related to the erf?
hm
I did posted it a few times already. Idk why no one is interested for 50$
sinx/x integrates to Si(x)
yeah I got that
but trying to figure out if Ci(z) and C(z) have any relation with each other
tro
or if Ci(z) is related to erf in some way
based
I think it would be funny if there was this shit but for like functions
tro
let’s see if ln(x) is related to kolmogorov-smirnov(n) guys
real
@slender glade i think i would get beaten to death if i was seen watching the above video
😭
they know what you are
what!!
i havent really done physics at a high level yet
i do know about the relation between displacement, velocity, acceleration, jerk and a few things like that but i havent gone all out on it yet
me with everything
Now if you’re interested in learning coding - I might have something super helpful for ya!
Since 2012, we’ve helped over 4000+ people become coders with a staggering 94% success rate and I just created a free course for my audience on how they can get started with coding as well!
Just comment down the word “COURSE” and I’d send you a step by s...
so real
i want to gauge my eyes out
:3
hiiii i'm trying to generate a .tbd
cat@archimedes tbd % ./tbd.sh /Volumes/SkyUpdate19H384.D10D101D20D201OS/System/Library/Caches/com.apple.dyld/dyld_shared_cache_arm64 APFS
Framework APFS not found in cache.
oooooops
so i can't paste the link to this github jist your modbot just flagged me for it i assume the author's account is on a "piracy list" but there's a snippet of code if you google to resize an APFS container
i'm trying to reduce my iOS APFS container so I can make room for a linux partition
where is tbd.sh from
// clang -o resize_apfs -Wall -Wextra -Wpedantic -Werror -Wl,-U,_mh_execute_header,-e,_main -Xlinker APFS.tbd resize_apfs.c
that's their compiler call for it and I'm trying really hard to get that APFS symbol table
(looks like a jtool caller tbh)
so project sandcastle android build seems to put a NAND image inside an APFS container and i don't know why they went that approach linux touching APFS is a recipie for disaster
You’ll need the path to the framework
but my end goal is to reduce the APFS container as small as I can and make a 2nd ext4 partition for a debian userland
huh, the site's ss shows it working without the path
guess it can't hurt to try tho
that's what i thought too but either way
cat@archimedes tbd % ./tbd.sh ./dyld_shared_cache_arm64 /System/Library/PrivateFrameworks/APFS.framework/APFS
Framework /System/Library/PrivateFrameworks/APFS.framework/APFS not found in cache.
for the record i've pulled the dyld_shared_cache_arm64 from my device, as well as a copy from an ipsw


