#development
1 messages Ā· Page 209 of 1
yeah
oh rally?
yes
nah but like rn im getting into C a lil bit more
do you know where i can find info on the exploit used by EUEnabler?
i'd like to maybe do stuff wit it
I do not
no
fuck
pretty much every dev is busy around here
yeah
still better than no nuthin
just refer to the trollrestore github
sparserestore is kinda self explanatory
any reason why my tweak like cant read FS?
-(BOOL)rutoreeeuir:(NSString*)path{
return [[NSFileManager defaultManager] fileExistsAtPath:path];
}``` everything is returing 0
the fuck is rutoreeeuir
random keys i mashed
for what ?
it'll be sandboxing
jk
Why I canāt delete groups
Ight thx Iāll take a peek
Anywhere i can find info about the new exploit? i think its using something in sparserestore, but i don't know python yet and i can't really understand what the hell they are doing in the scripts,
There aren't any writeups on it, the closest thing is https://theapplewiki.com/wiki/MobileBackup_Copy_Exploit
the difference is that the directory traversal is from SysContainerDomain instead
Thank you, i'll check it out
i can't read python
uh I don't think there are rewrites of it in other languages
yeah thats what im trinna do
but i don't understand python so im trinna find a writeup or smt
there's a Swift rewrite here https://github.com/khanhduytran0/SparseBox/tree/main/Sources/SparseRestore
the function which creates a partial restore to overwrite files is here https://github.com/khanhduytran0/SparseBox/blob/main/Sources/SparseRestore/Restore.swift#L24
Thanks, thats alreay much better than python
i do lua, and therefore have very little concepts of classes, which seem to be heavely used in the exploit
also python weird as hell
damn thatās kinda crazy
lua doesnt have classes?? then how do mfs makw games in roblox
š
people make 3d games in scratch
yeah but i legit never did fucking oOP
roblox lua has OOP, but its a diferent lua
ok but like C has structs at least
its luau
oh in scratch not from scratch
i was tryna make scratch games when i was 9
shit was crazy
i mean lua like the normal lua DOES have oop, but it requires using metatables to emulate oop, and i got very little clue how to use metatables, never really had to
wtf is a metatable
i remember making flappy bird in scratch
i was so happy
wish i could go back to being happy about making flappy bird in scratch
Scratxh was a simpler time
It does
well luau does at least
Luau has static typing also
Normal Lua kinda has classes
I've consumed them but haven't created them myself
They are mostly just tables with methods on them but it has some syntatic sugard where if you go class:function() it passes the class as the first argument
And if you define one that way it adds a self as the first argument
yeah it is pretty cool, but at least me myself never had to use classes in any of my projects, maybe it would've made stuff easier, i dunno
Is this thing new?
is this iPadOS 18?
No
Yes
Isn't 
what does it say, ur device will restart after the update?
not all that interesting
Itās a nice touch
trying to install libsandy to my theos
You have to manually include the headers
Just find them on google
Then -I.
In makefile
i didn't need it nvm
bsdmake is

So Iāve been looking into wanting to make tweaks and Iāve been understanding the whole concept of using objective c to hook functions and stuff but I donāt really understand how u read the applications code kinda like how ida exists
what would u use for that and can it be done on windows?
@tepid olive i never had to use ghidra/ida to make a tweak
you can find which methods to hook/use with FLEX
and then the rest is trial and error
All of this capable without a pc?
Or you can dump its headers to see the classes/methods
I mean I wouldnāt mind using my pc to do the actual coding since vscode is nice
you can definitely make a tweak entirely on your iphone but i really wouldn't recommend it
vscode would work
it's what i use
Iām using nathanlr would that mean through the debugging process of making my tweak id have to inject my tweak and uninject for each change I make?
No live changes like hot swaps or anything of that sort?
you'd have to restart the app every time you make a change, there's no hot reloading for tweaks afaik
Oh okay thatās not too bad then
whether the tweak development process is different with nathanlr or not, i don't know
How can I test my tweak privately without having my own hosting
all of your questions will be answered once you actually start
Just get the deb on your phone with whatsapp google drive etc
Yes 
theos has an install target so you can run make install and it will install the tweak on your device
Chances are you won't need IDA at all to make a tweak
issue is my phone doesnāt connect to my pc
I've never used IDA for any of my tweaks yet
Alright bet thanks
you can also do it remotely
set THEOS_DEVICE_IP to the IP address of your phone and you're good to go
also you'll need to have an ssh server installed and running on your phone
and you may need to set a password for the root account or you won't be able to log in
Damn okay Iām a little behind on this stuff I was reading a bit into it
Ill look more into it
Whatās the best site for information on it for the current date and time
Iāve been seeing lots of 7 year old threads so Iāve been ignoring those
Thanks
@tepid olive to do tweak development on Windows you'll either need WSL or a Linux VM
or a macOS VM
WSL is probably the easiest
š how tf is Linux supported but not windows
because it's Windows
Me and the homies love windows
(I don't like Windows)
Btw do u think a tweak like crane will ever be possible on a semi jb
I don't know enough about semi jailbreaks to answer that
I used to think semi jbs were full jailbreaks that just werenāt on the boot state
š
unless nathan bothers enough to get it working, it wonāt
explanation: you have to replace and inject into everything that crane does, which are like 5 different daemons
iirc nathan has gotten a few like installd but not all needed for crane
Yeah I noticed some arenāt working completely
i Donāt see the point in working on serotonin now because nathanlr is just better than it in every possible way
so I probably wonāt bother getting crane to work on sero either sorry
I donāt know if I can even use seratonin
why not
the difference is proper rootless bootstrap and app injection
yeah
I wanted to try dopamine but my device wasnāt supported š¦
Thinking about this tho, tech u adding it to sero might get u some people using it or it might cause Nathan to update lol which is prob likely

What an innocent series of assembly instructions from discord user captinc
Surely they would not send me instructions that infinitely spawns processes to lock up my system
No
Never
why isnt it posssible for semi jbs to be put on at boot?
i used to think semi jbs were full jbs that just werent on the boot state
I don't think we have very good ways to run code at boot
and also they usualy take a bit so you would be booted in and then a few second later it would just reboot into jailbroken
i suppose i actually like it being how it is now but
i was just curious as to why it wouldnt be possible or if it even is
iirc its mostly just new protections added by apple make it hard to do what we used to
I belive fugu14 could have been used for an untethered jailbreak but was just used to sign the unc0ver app, and trollstore you can replace testflight to get code to run on boot, but you can't use testflight apps then

I mean with iOS 14 you should just use CTv1 to do launchd haxx
no SSV means you can just do that
it wasn't used to sign anything, it completely disables codesigning upon boot, so it technically is an untethered jailbreak
Is there a way to make my tweak NOT load/inject into springboard ?
Ideally i want it to only inject into appstore apps, but for now just disabling springboard is fine
%ctor {
if ([[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.apple.springboard"]) {
return;
}
%init;
}
me installing an app with that bundle identifier
I currently have corefoundation equivalent of that in a attribute constructor but it goes into safe mode/crashes springboard upon installation for some reason
I think installd outright blocks it 
don't use an attribute constructor with theos
just use ctor
ts custom installation method
True
it's the same thing
(I think TS may have a check for that bundle id though)
rewrite shared cache with new sb
Guys springboard.app is actually a variant of seashell malware!!!
no community note
must be real
openssh is actually a rat!! 
a certain settings app customisation tweak is as wellā¦
@torn oriole can you mute me for a week
@torn oriole can you mute me forever
ā
@hasty ruin seek help
?
?

Just play minesweeper on gir
no i do that in #1189739986707288154
#unknown
My flex doesnāt open on any apps gotta be on the homescreen anyone know why? Iāve installed FLEXing also
@manic forum how are u able to use flex on discord
when I try opening flex on anything but the homescreen nothing happens, if I open it on homescreen open say discord and try to select anything nothing happens it just does normal interactions
Aussi

Under your skin
install flexing, hold with three fingers
worked for me every time
holding status bar?
i'm in your walls
does the holding with 3 fingers work on the home screen?
sounds like its not being injected into discord
oh prob cause I forgot to turn on tweak injection for discord
man I moved 4 days ago just to get rid of capt :/
LOL I forgot
dw i'll move with you :)

ill move you
?
i still have pixel
Anyway to enable tweak injection for certain tweaks only on nathanlr that way I donāt have to uninstall
nvm choicy is that but
Doesnāt work on Nathanlr
@visual meadow choicy support when?
I got the "new" AirPods Max with USB-C. I'm assuming that they won't have UI support on an older version like iOS 16?

The brainrot has won
TikTok turned out to be stronger
Are we really surprised
are pointers in mach-o files special or something? when i look at some pointers in __const region in a hex editor, the pointers seems to be prefixed with something (though ida fixes them? idk what really happens)
for example, this is from ida
and this is the file itself
so you've never heard of endianess before...
this is not endianness
when i read the pointer from the executable directly, i'd get 0x0010000007D6E750 which is obviously invalid
oh I see
but ida makes the pointer 0x0000000007D6E750 somehow
which is where i'm confused
for a hack, i did this but i'd like to know the actual reason for that behavior
a link to a pkpass should work
they are chained fixups
oh thank you
If the pass is signed yeah
@granite frigate hbd!!!
Thanks!
you should've set up /mybirthday
didn't know it waas a thing\
feliz birth dag !
happy birthday
thanks
this snippet from libimobiledevice's lockdown.h docs says this is how this function should be used
lockdownd_error_t lockdownd_client_new ( idevice_t device,
lockdownd_client_t * client,
const char * label
) ```
what am i supposed to put for the label? it says its the label to use for communication, usually the program name
so do i just put whatever? my program refuses to create a diagnostics_relay_client so i assume it comes from the lockdownd_client being invalid
@cloud yacht happy b day š„³
Yooo happy birthday @cloud yacht
Thank you
@cloud yacht HAPPY BRITHADY!!!!
thank you
update on the video editor idea to whom it may concern: i think the answer is to write my own sort of loose scripting language that lets you directly access functions and types; you will define everything in rust (and i can figure out some sort of plugin system for making your own custom operations)
the reason i wanted to use an actual scripting language was to take advantage of basic iterator functions like map existing in the language to make things easier, but i think its better if i define everything myself the way i want it in the rust world and make the scripting an adapter to using that
update on the video editor idea to whom it may concern: i think the answer is to write my own sort of loose scripting language that lets you directly access functions and types; you will define everything in rust (and i can figure out some sort of plugin system for making your own custom operations)
the reason i wanted to use an actual scripting language was to take advantage of basic iterator functions like map existing in the language to make things easier, but i think its better if i define everything myself the way i want it in the rust world and make the scripting an adapter to using that
die
mods
;
;
;
;
;
;
;
; (#8)
Do modern jailbreaks nowadays still use mobileLoader or did we switch to ellekit ?
Dopamine uses ElleKit
Idk about palera1n though
And there aren't any other modern jailbreaks
uses ellekit as well
It used substitute at first
well now it uses ellekit so
zefram
?
why the hell did i do this
why didnt i just make the second impl call the first one
i must not have been thinking the first time
so i wonder how many more random things are weird like this in bobashare
is there no good way to just save all my twitter bookmarks
why is everything on reddit paid
the api is expensive
jesus christ i should just write a scraper myself
there might be existing scrapers but itll be very hard because you cant access much
its pretty locked down after elon
no like i'm just trying to scrape my own bookmarks
then delete them all from twitter
i think i have like a few thousand
š
some js script should work
oh that should be easythen
just keep scrolling down but continually grab all the bookmarks on screen and throw them in a buffer Set or something
Yeah
as long as you have enough memory to store it all and dont have to start swapping the list of bookmarks out
rate limiting moment
gorn in bookmarks

No way sacro still has birthday role
sacro birthday forever
i'm at the beach that makes you old
Nothing is
I didnāt realize that
unfortunately i have 16k memes saved
I agree tbh
I agree tbh
I agree tbh
I agree tbh
I agree tbh
I agree tbh
I agree tbh
bro uses his bookmarks
- person who did not know bookmarks even existed until recently

Anyone here know where i can get a patched tvos 16.4 sdk for theos
I agree tbh
Time for it never being acknowledged or reviewed
in case someone here knows
I got the same message while I wasn't of legal age to be entering a contract with Apple 
IM 18
September 4 2006
Hm
Try up the DOB in your Apple account by a year, wait a few hours/days and try again 
I lied about my DOB and got through
smh reporting you to apple
Brought myself up to 19 while I was so close to 18 but not there
Changed it back down when it finally hit 
Eh they verify my ID anyway so
Their fault for letting me through
lmao
The UI doesnāt even display this for me though :(
It just gives me an error asap
Also my DOB before today on my Apple ID used to be 2000
So thatās def not the issue here
Arghhhhg
Antoine publishing app 
šš¤
LETS GOOO
what did u order
I will do that
managed to sign up for a dev account
does that allow you to release stuff in the app store
yeah
Yes
why do we fork() stuff instead of just posix_spawn which is safer
since if you fork, you have to branch into an if to do anything useful anyways
cant you just put the stuff you would have in the if branch into the executable you spawn
rust doesnt even have fork because its deemed too unsafe and problematic
they are now an epic appel devuwuper
i guess
but instead of duplicating your process you should spawn a new one always imo
thats what i always assumed was the case
i cant understand when you would need to fork specifically
do you have examplse
I believe node js uses forking for user processes so they can share the same in memory node process
My guess is most interpreted languages do the same
when do most languages even spawn new processes
Also if imadige if uour spawning like x amount of workers then you don't need to use memory for every worker
Multithreading
i guess thats true, but why not threads in that scenario
only if you need isolation or soemthing?
what, thats not processes
Idk most of the technical details
you dont spawn processes to do multithreading
Capt can you explain when I would want to use fork over threads and vise versa?
Common Darwin W
whats the pipe doing
Darwin is not windows so I can get behind that
unix*
hmmmm ok
youre trying to signal to the child when the parent dies?
every time i search it gives me the reverse of that
oh nevermind
i found sometihng
why isnt this a more common thing
that seems like a kinda obvious thing
no one wants zombies
i have child worker process that should exit if the parent is killed
thats what ithought
not that i have one i mean theoritically
web browser
so wanna kill all the tab processes if the parent manager dies
Child can ask kernel to deliver SIGHUP (or other signal) when parent dies by specifying option PR_SET_PDEATHSIG in prctl() syscall like this:
prctl(PR_SET_PDEATHSIG, SIGHUP);
See man 2 prctl for details.
Edit: This is Linux-only
so wait what even
why is this not a more common thing, wouldnt you always wanna deal with stopping children after parent dies if you happen to have subprocesses
so you dont have zombie processes
tldr just use posix_spawn and ignore capt
is it just that your subprocess doesnt really care about the parent's state usually?
if you need to clone parent memory youāre doing something wrong
does nginx do worker processes or are they threads
apparently it uses processes??
it also uses full async io so its non blocking which is nice
does it not on other platforms
does the kernel do basically the same thing
lies, itās vfork
isnt regular fork cow already
itās supposedly better for bigger processes
vfork() is an obsolete optimization. Before good memory management, fork() made a full copy of the parent's memory, so it was pretty expensive. since in many cases a fork() was followed by exec(), which discards the current memory map and creates a new one, it was a needless expense. Nowadays, fork() doesn't copy the memory; it's simply set as "copy on write", so fork()+exec() is just as efficient as vfork()+exec().
oh so i just found out clone() exists
so fork clones and then removes some stuff?
i have many many tabs
where the fuck is main in nginx source
i cant even tell where the build system is or the entrypoint
oh nevermind
why does nginx use subprocesses
thats my new question
where does unistd.h
are these all kernel apis that are just magically included or osmething
since theres no object linked that corresponds to it and these spawn and fork things are not part of libc i dont think
or does libc provide it
i have gone far off track
i was originally trying to read about how go's concurrency model works
no on linux
is macos like windows in that it exposes a libc which wraps the syscalls instead of syscalls being exposed to userspace
do you have to link against libsystem
how does it work
also wdym
how does linux compare for that
where do those c functions come from, are they a dynamic lib on the system that gets linked in or does the kernel inject it in or something
it sounds like its because before linux had posix threads, you could only have 1 thread per process so the entire program was structured around that
We've supported nginx running as a unikernel as-is w/no patches for a
long time but it still uses 90s style worker processes, so
naturally we cut patches to convert them to threads and instantly got a
free performance boost.
its for running it as a "unikernel" so if im udnerstanding that right, that means building nginx directly into the kernel executable (although still userspace)??
single application operating system
@granite frigate @crisp frost @grim sparrow which paragraph is more readable?
2
bet
bold the headers pls š
nah I like the subheading like that
looks very apple which is the goal here
Any better tweak than FlexING and flex
flex keeps putting my phone in safe mode when I hit done
Itās annoying as fuck
im about to add the first non-posix code to my minesweeper c program
i want an in game timer
what is the equivalent of epoll on both stdin and a timerfd on linux, but for macos
I really appreciate literally any language except c right now
This doesnt even seem sound
oh. I thinj i see
i was accisentally looking at regular timer functions and confusing them with timerfd ones
hi shoot me
this would be so much easier with euler/polar
its still not that bad lol
you just multiply by the conjugate
the denominator expands to cos^2x+sin^2x so it becomes 1
blehh
and ur left with cosx - isinx and that is the same as cos-x + isin-x
and boom
its not that bad but its very scary when you first read it
also by polar did u mean re^(i*theta) or r*cis(theta)
re^(i*theta)
r*cis you still have to do some ass
why r u writing C
when u have so much experience with Rust
ugh i have to manually implement carrying subtraction
My minesweeper
Its my single c project which is suooised to be designed perfectly
the only c program i trust
oh
Maybe i shouldnt name my arguments minuend and subtrahend because the lines are getting long
wtf do i call the two numbers in subyraction instead though
cant u just a b
wow what the fuck are you guys saying
š
my math is so cooked holy shit
wtf bro aren't u 18
surely u learn this?
š
ambiguous
documentation:
not the answer
You need to learn maths
Does safemode occur only because "springboard crash" or are there other reasons
My tweak that works fine on jailed via dylib injection; causes a safe mode when trying to install it in a jb even though i use "return;" in a constructor after checking bundleid and if its equal to com.apple.springboard
I see, wish there was a way to prevent the tweak from injecting into springboard specifically
supposed to inject into all appstore apps
panic(cpu 0 caller 0xfffffe0013a9ca80): watchdog timeout: no checkins from watchdogd in 90 seconds bro had one job
more or less what i am doing
header
const CFBundleRef mainBundle = CFBundleGetMainBundle();
return mainBundle ? (__bridge NSString *)CFBundleGetIdentifier(mainBundle) : nil;
}```
.x
```__attribute__ ((constructor(997)))
void springBoardCheck(){ //we don't want to inject into springboard
if (safe_getBundleIdentifier() == @"com.apple.springboard"){
return;
}
}
997 is the lowest of all constructors too
really
im dying how is there a timeout for watchdogd from watchdog
i thought it was fine
isEqualToString is what you want
if [safe_getBundleIdentifier() isEqualToString: @"com.apple.springboard"]
damm
__attribute__ ((constructor(997))) what's the 997 for??
thanks everyone
priority, there are 2 other constructors
? shouldn't it be 3 then
hm ? you can put any number between 101 and 60.000(something)
and it compares between eachother, lower runs first
Priority values up to and including 100 are reserved for internal use. If you use these values, the compiler gives a warning. Priority values above 100 are not reserved.
what is wrong with dyld
no way dyld doesn't care, seemed to work fine for me
well there are constructors in different files, i guess i could only have one constructor but thats disorganised IMO
makes sense
he was listening to opa
so
idk why he says NSBundle is unsafe there but I wonāt question it
corefoundation anything is better
i am purple š

@torn oriole make her purple
her?
I said what I said
i add 2 more
yeah idk
apparently CF is "not good enough" either
he says this is the best https://github.com/opa334/Choicy/blob/dev/Tweak.c#L221-236
cuz its slow af
its why libhooker is shit
Censorship
CF is slow??
Me in 2019: use Substrate
wtf r y'all smoking
that one operation is slow
they're all on meth
which one brah
CFBundle shit
this like my first time hearing of this
why the hell would cfbundle be slow what r they doing behind the scenes
⨠microoptimizations āØ
parsing the info.plist for every single loaded binary every time you call it
well it checks if cached already
so not everytime ig
that'd be funny as fuck ngl
90% of libhookers loading time is just doing cfbundle shit lol
I'm back to disagree with you again
in some places CoreFoundation is much faster than Foundation. I'm too lazy to give specific examples, but I think you can take my word for it
ĀÆ_(ć)_/ĀÆ
it would just make sense imo too. runtime lookups being slower and all that
#jailbreak message unironically can't find any testers for this. would be cool if someone here could test at least if it installs or goes into safe mode
is there a way to trick ipadOS into thinking its ios? so i could basiaclly have a JB "iphone"
for testing purposes
BBaoVanC/smines source code better
It does it perfectly and executes it with 100% accuracy
1984 ahh code.
No bugs, no mistakes 
It has a memory leak
Engineering has determined that the feature described is working as intended, and has decided to close the ticket.
There is no ticket.
Introduction Memory management in XNU Page tables Physical use-after-free Exploitation strategy Heap spray Kernel memory read/write Conclusion
highly enjoyable read, please check it out ^
(Just finished it in entirety)
I need to figure out how you poll to events asynchronously on macos like linux epoll
I mudt make the minesweeper dupport macos
i think kqueue is the closest you'll get
yeah
m1 mac
bru
don't u have a dev account
but like
with a paid dev account you can just use your cert and not have to request through apple every time
../include/timer.h:11:58: note: expected āstruct timespec *ā but argument is of type āstruct timespec *ā
what
ok it coredumps
awesome
i wrote the entire thing without testing because i was on macos
oh because im stupid
well it works, now i just need the events
ok ive since decided i dont want to deal with this shit twice so im making my minesweeper linux only
i read all of these kinds of blogposts then never end up doing anything with that skill š„
Iunno what allat meant but fire read
the compiler may not know what struct timespec is when it's referenced in the code
so it's like ../include/timer.h:11:58: note: expected <unknown> but argument is of type āstruct timespec *ā
and is there an easy way to fix it
yeah just make it find it

need exact code snippet to find out how
I think it was just confused because i missed a xlosing brace and it fucked up the entire program
idk it was a weird error
I didnt change the code around it
Hey guys, how to start compiling binaries for iOS from a Linux host? I wanna compile taglib and a music player written in C++, I've even installed theos but still can't figure out how
What build system
Look at how it is being done here
Thanks for pointing~~, madman who wants to run Wayland on iOS~~
Theos makefiles are different though afaik
You gotta put your includes and libraries in theos/include & theos/lib and then specify them in your makefile as "projectName_LIBRARIES = lib1 lib2 ..."
An lvalue is a glvalue that isn't an xvalue.
An rvalue is a prvalue or an xvalue.
capt is an rvalue
@grave sparrow you are either a prvalue or an xvalue, which one are you
holy shit this language is such a meme though
nothing they are the best š¤
they are just obtuse
there is nothing that can be done
did you invent zig

im pretty sure almost all of that stuff is the stuff zig has :
but i dont think its valuable to make unsafe languages
what
oh
i dont think you are either
defer is possible by making a return_defer and a defer label right before you return and using goto
its almost the same semantics
fair enough
do we have any insight into ScreenContinuityServices the framework for the iPhone mirroring app thing
it exists
i made sized arrays in C lol
#include <stdio.h>
#include <stdlib.h>
int *create_sized_int_array(int length) {
// size + array length
int *array = malloc(sizeof(int) * (length + 1));
array[0] = length;
return array + 1;
}
int len(int *array) {
// go back to the start of allocated segment
return array[-1];
}
void free_sized_int_array(int *array) {
free(array - 1);
}
void loop(int *array) {
for (int i = 0; i < len(array); ++i) {
printf("array[%d] = %d\n", i, array[i]);
}
}
int main() {
int *array = create_sized_int_array(4);
array[0] = 5;
array[1] = 12;
array[2] = 4;
array[3] = 39;
loop(array);
free_sized_int_array(array);
return 0;
}
its just a fat pointer
but still i think its cool
int* createSizedArray(int lenght) {
int retArray[lenght] ;
return retArray;
} 
yeah but you wont have the length information in other functions
youll just have a pointer
youre also returning stack memory which is unsafe
this is the equivalent in elle too lol
use std/io;
fn new_array<T>(i32 length) {
T *array = malloc(#size(i32) + #size(T) * length);
*array = length;
return array + #size(i32);
}
fn free_array<T>(T *array) {
free(array - #size(i32));
}
fn len<T>(T *array) {
return *(array - #size(i32));
}
fn loop<T>(T *array) {
for (i32 i = 0; i < len(array); i += 1) {
io::printf("array[{}] = {}", i, array[i]);
}
}
fn main() {
i32 *array = new_array<i32>(4);
defer free_array(array);
array[0] = 5;
array[1] = 14;
array[2] = 39;
array[3] = 4;
loop(array);
}
C pointer arithmetic operates on elements not the actual pointer as a number so thats why i have to do -1 in C and -#size(int) in elle
actually the fact that C does pointer arithmetic by element makes it really hard to get an exact subtraction so making a sized array for anything other than an int would be kinda hard
although you could cast it to an unsigned long long, subtract 4, and cast it back
ok so if I wantged to hook native c code, could that tweak be sideloaded
i'm assuming no
ok yeah figured as much
With jit this is possible afaik
why do u not just make a struct
this also makes it such that no element types other than int work .
yeah i know
also wait aren't fat pointers like part of the pointer itself
not as a element
this is part of the pointer itself
if u want to allocate an array of 4 strings u basically allocate 32 (4*8) + 4 (size) = 36 and shift 4 forwards to just the strings
so now you can do [0] and the pointer arithmetic still works
then when u need the size u just subtract 4 and deref it
and thatās what i do here i guess
this is more intuitive than C imo
no no that's not what being part of the pointer means
part of pointer means like for eg.
uint128 sized pointer
where the first 64 bits are the length
and the next 64 are the pointer bytes themselves
hmm i see
64 bit length is kinda overkill because i doubt you need to have an array with 4 quadrillion elements
but yeah
either way whenever i see fat pointer i just think anything that has a pointer aswell as extra metadata to go along with it
whether thats the approach i did or using a struct or making a type wide enough to hold the pointer and size at the same time
i see all of those as fat pointers
shits about to go down

okay just in, a vulnerability has been reported in cups
https://gist.github.com/stong/c8847ef27910ae344a7b5408d9840ee1
i'm in your walls

oh god you're back š
can't wait for some random printer to jailbreak all the phones on it's network
im im. Yiur computet
why is developer twitter up in flames over a vulnerability in openprinting cups which allows you to remotely deadlock cupsd
what is this video š
First tweak
Masterpiece
I'm going to touch you
time to buy one for a dollar
Eta wen
Lol maybe tomorrow i can figure out how to release it
post on r/jb and host a repo using github
ew tmi
Oh no
are you serena
wow
Hoe did yoy make the calculator snfw
How
What did you do tot eh chartijg anitikaotoonooo
I want this tweak
Do you have a readable version of this
No
is the file extension pl used for anything
can i make my language .pl
FUCK its perl
Name it penis
No
Name it capt actually
no my language isnt stupid beyond all hope
how about .ps
oh thats photoshop
how about .ms
ms for MediaScript
You are used
youāare mother
i need a name for my scripting language which lets you do video and audio editing
Fuck you im calling it mediascript
š£ļø
bs or sb (bobascript)
vis
visf
vi
vif
msf
pls
plf
Video language
sane c# code
int result;
do {
Console.Write("Enter a number to print up to -> ");
} while(!int.TryParse(Console.ReadLine(), out result));
for (int i = 0; i < result;) {
Console.WriteLine(Math.Pow(i+++1, 2));
}
yeah the pascal case functions are ugly
but its not the worst
what the fuck is a +++ though
is that adding 2?
no its i++(+1)
yeah does that not add 2
++ operators are stupid
this is why no modern languages implement them š§
++i+1
why not just shift the loop over by one though
or put the i++ in the for, whys it in the body
whats that
yeah i know the point is that it was supposed to be cursed
i got rid of them in elle lmao
in mediascript i will make everything insane
FP master race
except this is somewhere it actually makes sense
i saw the beauty of parsers in haskell
i will never go back to a procedural language for them
i dont think they do
but they claim a lot of stuff that sounds good
theres fp concepts like applicative functors
hold on
that allow you to make really clean parsers
chumsky
and logos
thats the two i was recommended
not really sure the difference and why both
sure
but logos crate
recursive(|expr| {
let int = text::int(10)
.map(|s: String| Expr::Num(s.parse().unwrap()))
.padded();
let atom = int
.or(expr.delimited_by(just('('), just(')'))).padded();
let op = |c| just(c).padded();
let unary = op('-')
.repeated()
.then(atom)
.foldr(|_op, rhs| Expr::Neg(Box::new(rhs)));
let product = unary.clone()
.then(op('*').to(Expr::Mul as fn(_, _) -> _)
.or(op('/').to(Expr::Div as fn(_, _) -> _))
.then(unary)
.repeated())
.foldl(|lhs, (op, rhs)| op(Box::new(lhs), Box::new(rhs)));
let sum = product.clone()
.then(op('+').to(Expr::Add as fn(_, _) -> _)
.or(op('-').to(Expr::Sub as fn(_, _) -> _))
.then(product)
.repeated())
.foldl(|lhs, (op, rhs)| op(Box::new(lhs), Box::new(rhs)));
sum
})
.then_ignore(end())
its beautiful
regex lexer is the most cursed thing ive ever laid my eyes upon
yeah thats kinda silly
im not sure why they do that
chumsky looks better
but it seemed like maybe you use both, logos for the tokenization and chumsky for actual parsing? idk how language dev works
i guess you dont want to overdo your logic in the tokenization stage
what'd you use for ellekit
the tokenization stage should literally only parse tokens
none
oh
i made my own from scratch
i kinda feel like itll be more challenging using a library so ill do it that way š§
i hate using libraries when i dont need to
i get forced into their ideologic design patterns for how the code should be structured
yeah but good libraries shouldnt do that
bro
why does the middle of this song like its about to be a rick roll
it has that same first 4 chord but different key
oh this is very inspired by haskell
not sure why they didnt just be normal and use rust conventions
can Haskell do anything that rust can't without more verbosity
it depends
rust is multi paradigm
its an entirely different idea
haskell is stricly pure functional
yeah
there are some things that rust would do a lot better than haskell and vice versa
hm
haskell is very mathy and rust is very much imperative
yeah that too
even though rust has multi-paradigm the imperative takes priority over almost everything
but rust does have some fp design patterns like on Option<T>
with .and_or_else
and whatever
its like java where you get some sort of monadic types in the std library but its overall imperative
yeah
but i think rust does it better obviously
I guess because it's supposed to be a lower level language
my friend doesnt consider rust a real language because it doesnt have as many issues like other languages such as cpp or js
functional languages are inherently high level because you do not remotely describe what the hardware does, just what transforms and eventually what result you want
thats just grasping for straws
language that's too good to be true
this language isn't real because it isnt shit
lmao exactly
i dont have that emote
yeah especially with haskell and holes
what are the holes
you just describe what type you wanna take in what and what to do to get a different type out
you can put _a anywhere where an expression goes and haskell will tell you what the type of what expression should be and the type of other things in scope around it
and _a is a "hole"
its not a fix lol its a language feature
yeah but its a feature thatsa fix in my mind
what is it fixing
ergonomics 
sure i guess
that is a much better way than all the stuff i was dreaming up for how to design my script
i thought i was gonna hve to write an lsp
i think it was introduced because some fp types get very complex with applicative, alternative, foldable, traversable, etc etc
what would probably be the best way to get what current apps active? I tried scenedidbecomeactive and applicationdidbecomeactive but nothing
-[SpringBoard _accessibilityFrontMostApplication] ?
Iāll try this when I get the chance thanks š
Discussion of iCloud/Activation Lock/passcode/MDM (Mobile Device Management) bypass, asking how to do it, or posting about it is not allowed. No, it doesn't matter if the phone is yours or not. We will not help you with it. If you do own it, itās recommended to use the links below.
If you forgot your Apple ID - Apple Support
If you forgot your Apple ID password - Apple Support
How to remove Activation Lock - Apple Support
If you forgot the passcode on your iPhone, or your iPhone is disabled - Apple Support
@gentle grove do you know how to do this >:3
I don't even remember what isomorphic means
equivalent
you can do it like this
this mapping
literally
are you not younger or the same age as them ?
itās not that complicated lol
- statement made by every smart person, ever, in an attempt to humble themselves
Any body able to compile new Taurine with Vertex
Time to try another exploit on 14
š
KFD been better than Fugu but Iām FEINING for more
Is that topology
Do you just enumerate each line segment and say theyre rhe same
It sounds vaguely familiar
oh no so youre basically saying that v->w is bijective
oh it literally says bijective in that text
i thought i was being smart by coming up wiht that
Whar class is this
further maths discrete lol
graph theory
judt had that class 30 mins ago and just got home so injective and bijective and surjective was fresh in my mind
lmao fair enough
I need a good latex rendering workflow so i can start using it for stuff
try mathehausaufgabe
oh
mathcha
itās an interactive latex notebook
as in you still write latex but you can see and edit it directly
i need something thatll work well with nvim
nvm then


