#development
1 messages · Page 570 of 1
the fact that it emulates C while not behaving the same fucks with your intuition
yeah im moving a pointer to a function and then because of vtable shenanigans the pointer is 0x30 different
so here i am going wtf
and classes/objects not being pointers/similar to objc internals, also hurts my head
because of classes or something
i still dont even know why its off but alas
but for this program using anything else isnt an option
i could use python but like the whole point is to write something faster / lower usage than node js shit
and python is in that categoryt
well it is way better with ram
but cpu usage not
yea and nobody wants to write complex data structures in C
llvm is all C++ 
i use std string most of the time
and vector
the occasional sorting algorithm
the standard library shit is already faster than whatever i would do
same :(
so might as well use it
would've very gladly used python but i need something that can be used in future GUI apps
but that also allowed usage in a cli tool
yeah but embedded is pretty niche and not really applicable to most of us
all of us scrubs write shit for macos ios linux or windows
where ram space is ample
it is
its so great
it can be so fast too
can dump the headers for 2000+ libraries in approx 2-3 minutes on a 3 core github actions server
ppl who say python is slow just write shit python
"yeah my car crashed bc the cpu crashed. cant come in to work today"
the GIL is kinda frustrating in terms of multithreading
theoretically i could shave off more milliseconds from metadata loading by using a multithreading approach
with one thread everything is fine and dandy
with shitstorm threads 2+ you a have
but multiprocessing cant properly handle distributed mmaped IO, and multithreading has no benifit bc GIL
i doubt youd save time anyway because of the cost of creating/destroying it
its also good for scalable libraries and large projects, when you're using an IDE< which is why i love it
like it actually takes milliseconds for the average thread to start once you create it
pretty sure
250-500 us probably
idk how expensive actually but its not instant
i just work on this on an arm windows machine and as such have tried about everything to make things faster
on my POC (which cant work on windows), yeah, benchmark showed multithreading sped up the processing bit at the expense of costing the same amount of time in overhead
but for large binaries that speed difference could be significant
if there would be more to process ig
idk what exactly youre processing
it evened out
even though i usually implement stuff to help with speed on larger files at the cost of microseconds of overhead on small ones
ended up just turning off the multithreading bit

kept the 'Queue' wrapper i wrote for it and the refactor + some cacheing sped things up a ton anyways
dont know if there are any major bottlenecks left to remove 
i have an implementation but it requires the input be sorted beforehand

def qs_o1(data: list) -> list:
return data
ok gib 10$
aight ill have your 10 zimbabwean dollars on the way
true
oh also i cache almost everything bc my code is bad and it makes the problem go away
its just a little ram
trolley
at the cost of approximately twice the filesize worth of memory (+ the mmaped file)
i mean
id rather ram be used for something useful like that anyway
than 300mb of whatever the fuck of nodejs
/ electron
discord does not need 300-600mb for a few images and text
it just doesnt
actually it might not be bad now
it would've been fucking terrible before today's update
damn itd be nice if i could do this stupid 2 page paper during normal hours but nah
gotta procrastinate it until 1
this is the way
and this should be easy because i did a 7 page paper 2 weeks ago in 4 1/2 hours
but it still isnt

anyone know how to install an app on corellium with it being signed
it's the UDID
i could try patching on my irl device's one
but let's see
Yea udid is coming back invalid
can you not install it through xcode?
or if all else fails, ad-hoc signing it or using that one tweak
Didn’t even try that tbh
nano moment
Hey @silver rampart you have a yoga c630 right? Does WSL2 work?
it does not
I can’t for the life of me get it to work
c630 does not have OS access to EL2
anything utilizing hypervisors (e.g. WSL2) will not work
Ah I didn’t know that, guess I’ll have to use wsl 1
https://github.com/cxnder/woa-survival-guide/blob/master/WSL.md#wsl1-without-virtualization-drivers if you haven't set up wsl1 yet:
was a huge headache bc standard wsl setup requires a hypervisor regardless of what version you want to use
Why does it have hyper-v then
I only had to switch to wsl 1, it worked
Are you on the home version?
i'm on win 11 pro
iirc hyper-v does exist but doesn't actually work
same with all of the settings options that make it look like your system has hypervisor support
Ah yeah that makes sense, it didn’t have hyper v on the home version. It does on 11 pro but wsl 2 just doesn’t work
getting hypervisor on a c630 would require a firmware update from lenovo (which nobody is counting on)
or flashing modified firmware, if that's even possible
and the c630 was discontinued however long ago
They don’t even have the drivers for it separately
I clean flashed 11 pro and it was a pain in the ass to get the drivers
hyper-v is a program for running vms
Uh I know? I was just talking about Lenovo not providing proper support
For the sake of testing you can install Discord, which can only run under x64.
Immediately uninstall discord bc it runs horribly in emulation
:trolley:
lol my bad I kinda changed the topic there
mfw they write app in js
which is arch agnostic
proceeds to only publish x64 builds
It’s a nice device though. Especially for 250 bucks 
absolutely yeah
use mine for most of what i do
battery life + lack of heat + being fast af when running native apps is too good
the battery is amazing
they do publish arm64 builds*
*only on macOS
even more annoying bc electron supports arm64 win builds since v7
and a ton of ppl ask for them
they can publish arm64 builds for all OSes if they want to
but their valuable CI build minutes
no
they dont even listen to library devs
dies from cringe
discord try to write a native app challenge
deadass my battery on ios would be so much better
they write native android apps (citing react native perf issues)
but decided to go with react native for ios

because react native is the future!!!
true bro
i like bloat
finally
only took 3 hours of half assed writing to write a whopping 808 words
big mood

this your 4th or 5th rebrand now?
not keeping track
there is still the one not many people realized was you
i mean i'd wager a good amount of ppl assume i left since i sorta deleted my twitter and all of that
really dont know why ppl care that much
not trying to dodge controversy, just wanted to change my usernames
@grave sparrow blessed
it's because of native modules
they hardly even have the full app on linux as-is
surprising they even bothered to make the binaries work on Intel macOS at all, let alone bothering to release an ARM macOS build
(no Krisp noise isolation on Linux because it's a binary blob and I guess Krisp dgaf about Linux)
suffering with this swift stuff
official docs:
offset from what?
in what unit?
do i need to mask anything?
and also it's all outdated and as such wrong anyways

livestreaming with audio is also windows only i believe
nope supported on macOS
oh cool
but it's just a rebadged Rogue Amoeba whatever their thing is called
whichever of their million products that do almost the same thing
dsdump doesn't even seem to handle this, it just links swift and uses swift's code 
@eager spire happy birthday big... uhh... umm...
There’s also swiftdump
Just found out about it, never used it though
Might be helpful
actually insanely useful ty
Np
🤝
you have the order of flags inverted. you're still asking it to use the latest SDK and deploy to target iOS 13.0+
if you just make it iphone:clang:13.0, it'll pick a safe default deploy target for you, otherwise you can set one manually eg iphone:clang:13.0:12.0
gm
gm
Flame repo
yw
L
@grave sparrow on Unix you can get notified of directory changes, so you can get events of files being added/removed from a folder
You wouldn’t need to get a request from any package manager, as long as they write the filter files to standard paths
You can set a timeout that you reset on each event. Then after a period of no changes you reload
@lime pivot I'm in need of a hoodie, think I can get a chariz seller discount?
ask our unpaid merchandising officer @indigo peak
since youre a chariz seller you have that tweak money, so its actually extra
90% of the money goes to me and the other 10% goes to chariz (@lime pivot )
yeah tbh cameron is rich with the $0.00 he's earned from QuickActions
technically he's actually cost us money but not enough for me to care about lmao
like a few cents
get some chariz debt collectors 🚎
do like dynastic and make people pay for hosting
I should be a debt collector for myself with my wildly popular "Cephei" package
why did you kill my daughter
make FlameCoins that the seller has to pay to keep their packages up
everyone would flame me for introducing FlameCoins
man

gonna send you a bill for the 2 cents you cost us bro
that's packix tier behaviour
introducing the chariz governance chain
im telling aaron to revoke your dev role
How about instead you add PWYW
true
actually planning something like that
@shut stag
Good cause I want money but don't feel comfortable charging people for quickactions
he’s threathening me
I want money too 
you mean the package that is the source of COVID-19
yeah the C stands for Cephei
latest version is 15.ba.2 codename “Omicron”

I went and looked up where omicron is in the green alphabet to make a throwaway joke I’m such a nerd my god
*greek* alphabet
is that the real shrek
no
😦
we pay him in exposure
Rt
why are you exposing yourself to him
it's our standard procedure bro

YEAH
HTTP CAT
i need to figure out http cat for traefik
so i can have it on the mc server map and stuff
@grave sparrow can you help me with some shit. I got no idea what I’m doing wrong, I can stream it to u
I'll dm u the code
but why
WHY ISN'T THIS DEFAULT
https://github.com/llvm/llvm-project/blob/main/llvm/lib/Support/Unix/Host.inc#L76-L81
Any idea what I'm doing wrong here lol
new_bank[bank_name] is returning a string
I need that value to be actually set as an integer so that I can dump it to a json file
so syntactically you're trying to do 'some string here'['blah']
its a list of strings, then
you're trying to set a dictionary value on a string, which isn't a dictionary
bc nuevo_banco is a list of strings, not a list of dictionaries
from what i can tell
def nuevo_banco():
nuevo_banco = {}
nombre_banco = input("Introduce el nombre del nuevo banco: \n")
nuevo_banco[nombre_banco] = nombre_banco
nuevo_banco[nombre_banco]['menor10k_salario_min'] = int(input("text"))
I need to add a new integer to that position within the list
ending up something like this
oh, you told me it was a list but it was indeed a dict
sorry my bad lol
nombre_banco = input("Introduce el nombre del nuevo banco: \n") is setting nombre_banco to whatever string the user enters
so
and basically nesting stuff from there on
I have an int conversion with the input
doesn't matter
wait nvm. That's the bank's name and it should be a string
when you do nuevo_banco[nombre_banco] = nombre_banco, you're saying, "in my bank dictionary, i want the users input to return exactly the user's input and nothing more"
so assuming they put in 'cheese', nuevo_banco['cheese'] will return the string 'cheese'
I basically try to create this structure within that line:
Bankname {
}
then
Then nesting stuff within
nuevo_banco[nombre_banco]['menor10k_salario_min'] = int(input("text")) when you call this
since you assigned nuevo_banco[nombre_banco] = nombre_banco, that'll resolve to just nombre_banco
so looking at 'nombre_banco'['menor10k_salario_min'] = int(input("text")) , hopefully you can see the issue
in your nuevo_banco dictionary, you're assigning both the key and value to be the same thing (a string) which is not what you want here
I see. How would I make the second [] dynamic to whatever the user inputs then? So I can dump all this into a new json object
initialize it with a dictionary instead
nuevo_banco[nombre_banco] = nombre_banco should be nuevo_banco[nombre_banco] = {}
So I just remove the first line then?
def nuevo_banco():
nuevo_banco = {}
Oh do you mean all those other values should be within the dictionary
as in
def nuevo_banco():
nuevo_banco = {}
nombre_banco = input("Introduce el nombre del nuevo banco: \n")
nuevo_banco[nombre_banco] = {
nuevo_banco[nombre_banco]['menor10k_salario_min'] = int(input("text"))
}
``` Pardon my stupidity but I'm kinda new manipulating json data with python
you could do it like that but it's a pain to read
actually wait no
but lets just stick with your original thing
You should see my other functions lol, I def need to optimize a lot but I need to finish the MVP first. Then optimize stuff
you cannot do dictionary assignments to strings, and your dict as shown in cell 3 up there is returning a string, not a dictionary
Yeah I've been avoiding this because I need to do a hierarchy like this:
Bankname : {
loan_type1 : {
req1 : 500
req2 : 1000
}
loan_type2 : {
req1 : 700
req2 : 1200
}
}
I just need to create new hypothetic banks that follow this requirement hierarchy, so that they can modify the requirements for each type of loans without affecting other loans
soo
what you need to be doing in your original sample, i think? is this:
you can see now the code runs properly
I see
and the type of the object your dictionary request returns is a dictionary, not a string
Yeah I actually want a dict
you can see if i try to do it the old way, then it crashes, bc i'm just doing bankname['someshit'], but bankname isn't a dict, it's the name of the bank
Definitely need more practice with this lol
Ok so this is the new syntax then?
Or should I delete the first line
Yep bc it won't know what variable I'm talking about
This json is a mess, 3 banks and I have like 1500 lines
That's why I needed to automate this
Thank you very much, I'll try it out
datos_bancos is a dict, .append is for lists
I see
if you want to add a value to a dictionary, you need to tell the dictionary what the key is so it knows 'where to put it'
so adding a value to a dict is going to (usually) be done with dictionary_name['key'] = value
That's the thing. Basically I have no key, this is at the root level of the json file
The new bank I'm creating is the new key
could you show an example of like, the beginning of the json file
Yes I already did, this screenshot
That's the beginning of the file
for readability
Banesco and Banco General are separate banks. All with their own requisites
I'm just trying to replicate the same code over and over to create their own banks
datos_bancos.update(nuevo_banco)
which is a rather convoluted way of doing it
basically says 'take these two dictionaries and smush them together'
which is what i think you want in terms of output
It didn't error out this time, but it didn't add it either
can you show your full code
I can DM it to you
if you collect all the data into separate variables you can also do validations on each before adding them to a dictionary
I'll send it here but tbf my code is a readability mess rn (beginning with python, first weeks), don't be judgy lmao
archivo_variables = './variablesbanco.json'
def nuevo_banco():
with open(archivo_variables, "r") as a:
temp = json.load(a)
nuevo_banco = {}
nombre_banco = input("Introduce el nombre del nuevo banco: \n")
nuevo_banco[nombre_banco] = {}
print("\n Prestamos de valor menor a 10 mil dolares \n")
nuevo_banco[nombre_banco]['menor10k_salario_min'] = int(input("Introduce el salario mínimo para solicitar un préstamo de 10k: \n"))
nuevo_banco[nombre_banco]['menor10k_puntaje_apc'] = int(input("Introduce el puntaje APC mínimo para solicitar un préstamo de 10k: \n"))
nuevo_banco[nombre_banco]['menor10k_niv_endeud'] = int(input("Introduce el endeudamiento máximo para solicitar un préstamo de 10k: \n"))
print("\nPrestamos mayores a 10 mil dolares pero menores a 20 mil dolares\n")
nuevo_banco[nombre_banco]['p10k_20k_salario_min'] = int(input("Introduce el salario mínimo para solicitar un préstamo de 10,000 a 20,000: \n"))
nuevo_banco[nombre_banco]['p10k_20k_puntaje_apc'] = int(input("Introduce el puntaje APC mínimo para solicitar un préstamo de 10,000 a 20,000: \n"))
nuevo_banco[nombre_banco]['p10_20k_nivel_endeud'] = int(input("Introduce el endeudamiento maximo para solicitar un préstamo de 10,000 a 20,000: \n"))
print("\nPrestamos mayores a 20,000$")
nuevo_banco[nombre_banco]['mayor_20k_salario_min'] = int(input("Introduce el salario mínimo para solicitar un préstamo mayor a 20,000$: \n"))
nuevo_banco[nombre_banco]['mayor_20k_puntaje_apc'] = int(input("Introduce el puntaje APC mínimo para solicitar un préstamo mayor a 20,000$: \n"))
nuevo_banco[nombre_banco]['mayor_20k_nivel_endeud'] = int(input("Introduce el endeudamiento maximo para solicitar un préstamo mayor a 20,000$: \n"))
temp.update(nuevo_banco)
with open(archivo_variables, 'w') as v:
json.dump(temp, v, indent = 4)
it could be worse
It can also be better lmao
yeah you haven't seen some of my code after i POC it on jupyter lol
but I know what you do regularly

I know this code can be optimized to use nested functions and stuff, but rn my priority is doing something that works in this quarter
i'd fix these variable names (in my code) but i dont know what any of them mean
first thing I'd change is using nuevo_banco[nombre_banco] everywhere. you can just use nuevo_banco, set all the keys and then do temp[nombre_banco] = nuevo_banco
Magic of not commenting our own code and forgetting what stuff means after a couple months
^^^
so,
nuevo_banco['whatever'] = int(input('Whatever'))
temp[nombre_banco] = nuevo_banco
basically
b: parsing_brackets
bc: bracket_count
bu: buffer
yes
then there's the problem of assuming input() will return a string that can be used to make an integer
Yeah error handling hasn't been done yet
Do you see any errors related to the json.dump and the temp.update lines?
Because it doesn't error out in the Terminal anymore, however it doesn't save to the json file either
no obvious ones. using pathlib may make it simpler though
if you change it so that
archivo_variables = Path('./variablesbanco.json')
you can do
temp = json.loads(archivo_variables.read_bytes())
and then
archivo_variables.write_bytes(json.dumps(temp, indent=4))
Ok did it with the prior code, it saved indeed but not in the nested hierarchy I used
I basically need every other requisite to be inside "Prueba" : {}
I'll need to see the updated code
Sure
def nuevo_banco():
with open(archivo_variables, "r") as a:
temp = json.load(a)
# temp = json.loads(archivo_variables.read_bytes())
nuevo_banco = {}
nombre_banco = input("Introduce el nombre del nuevo banco: \n")
nuevo_banco[nombre_banco] = {}
print("\n Prestamos de valor menor a 10 mil dolares \n")
nuevo_banco['menor10k_salario_min'] = int(input("Introduce el salario mínimo para solicitar un préstamo de 10k: \n"))
nuevo_banco['menor10k_puntaje_apc'] = int(input("Introduce el puntaje APC mínimo para solicitar un préstamo de 10k: \n"))
nuevo_banco['menor10k_niv_endeud'] = int(input("Introduce el endeudamiento máximo para solicitar un préstamo de 10k: \n"))
print("\nPrestamos mayores a 10 mil dolares pero menores a 20 mil dolares\n")
nuevo_banco['p10k_20k_salario_min'] = int(input("Introduce el salario mínimo para solicitar un préstamo de 10,000 a 20,000: \n"))
nuevo_banco['p10k_20k_puntaje_apc'] = int(input("Introduce el puntaje APC mínimo para solicitar un préstamo de 10,000 a 20,000: \n"))
nuevo_banco['p10_20k_nivel_endeud'] = int(input("Introduce el endeudamiento maximo para solicitar un préstamo de 10,000 a 20,000: \n"))
print("\nPrestamos mayores a 20,000$")
nuevo_banco['mayor_20k_salario_min'] = int(input("Introduce el salario mínimo para solicitar un préstamo mayor a 20,000$: \n"))
nuevo_banco['mayor_20k_puntaje_apc'] = int(input("Introduce el puntaje APC mínimo para solicitar un préstamo mayor a 20,000$: \n"))
nuevo_banco['mayor_20k_nivel_endeud'] = int(input("Introduce el endeudamiento maximo para solicitar un préstamo mayor a 20,000$: \n"))
temp.update(nuevo_banco)
# archivo_variables.write_bytes(json.dumps(temp, indent=4))
with open(archivo_variables, 'w') as v:
json.dump(temp, v, indent = 4)
I commented out the Path stuff so I was able to try the previous code
nuevo_banco[nombre_banco] = {}
should not be there and
temp.update(nuevo_banco)
is not
temp[nombre_banco] = nuevo_banco
when will discord add line numbers to markdown code blocks
sadge
Ok this is better
Whenever they're competent
I'm pretty sure they have tons of bugs to fix
yet they add more stuff without fixing lmao
I think I can go on from here. Thank you very much @glacial matrix @silver rampart
so never 
Exactly
the thing i really want is for pin perms to be separate from delete perms
I have tons of stuff in my wishlist
But the one I'd like the most is a proper oled dark mode on iOS, like Android has
I read Discord sometimes in pitch dark, it'd be great
WTF
Ive been on Android for like 8 months
only just now learned that toggle exists
F
You gotta tap 10 times the 'Dark Mode' option
then OLED shows up
i remember when android had significantly more features than ios discord
android #1
i remember not being able to mark a channel as nsfw on ios (don't ask me why i was trying that)
I basically wish they'd transition to a better cross platform development. React works ok but it definitely not performs as great
I mean Android has threads broken lmao, iOS doesn't
fr?
I wasn't able to type in the Delay OTA thread on Android, but I was able on iOS
wasn't a perms issue
it's kinda weird that even though they're using this pretty easily ported react native stuff they're so different from each other
oh yeah android also doesn't have semaphores :(
Yeah
on the topic of threads
I mean React works ok. It just consumes more resources rendering stuff
semaphores? idk what that is
it's good for the web, for discord it's like
uikit exists
I hope Flutter catches up on the Web soon enough
fine for desktop too
i mean
one of the only sane/reasonable cross platform UI + code solutions
gotta love electron apps
as much as that's unfortunate
On phone too
yea
ouch
f
cheaping out on laptop might not have been the best idea
I bought this thinking of upgrading the ram, I opened it and it was soldered
so I just took the L
rip
@glacial matrix broke it again somehow lol
nuevo_banco['v_prestamo_personal']['menor_10k']['sal_min'] = int(input("Introduce el salario mínimo para solicitar un préstamo de 10k: \n"))
returns:
nuevo_banco['v_prestamo_personal']['menor_10k']['ep_sal_min'] = int(input("Introduce el salario mínimo para solicitar un préstamo de 10k: \n"))
KeyError: 'v_prestamo_personal'
I just changed the keys, it should be one within the other, right?
No
They’re separate keys
oh so I just can do one at a time?
It depends on what you want to do
this
Here they’re on the same level
You’ll need to make more dictionaries that you ask questions for
And put one in another when you’re done
appending them like this then
temp[nombre_banco] = nuevo_banco
Well, that’s just the top one (least deep)
Yes
(And that’s just setting a key, not “appending”)
This is such a mess lol
I'll try to find tutorials somewhere on nested dictionaries
Good luck, I’ll be going to sleep now
good night! thanks for the help
L
This is why you have to research
True
No dualchannel mode, that’s tough
I did, the laptop's model I was buying had replaceable ram
However they changed to new version
So I got the new one
Which got soldered

I got a dell like 7 years ago, and i have a m1. And i still use my dell 24/7
I upgraded it though, except processor is still a shitty i3
Works good asf
I’m not gonna keep this laptop dor over a year
I’ll prob smash it into oblivion one day
Or gift it to my niece
suckless to the max
yeah you're def not getting anywhere with 4GB any more, at that point you're wearing out your hdd/ssd as a substitute for more RAM
Question
So should i ask if its possible get compensation for my findings
Or am i better off not even reporting it
FYI cause I just saw this, no need for $ZEBRA or $SILEO since there's nothing specific they implement beyond just the same interface as $CYDIA
be prepared to be disappointed of course, you should consider yourself very lucky if you get anything other than "thanks but no thanks 🙂" or "fuck off or we'll call the FBI"
depends on what the issue is I guess (probably don't tell me lol)
if you'd consider it a really bad security issue, maybe suggesting it and explaining how it works and why it's a good idea (with links to wikipedia and stuff if you're not sure whether you trust them to go the former rather than the latter route) is worth the shot
Well the app does everything through network requests. Imagine a social media with a premium subscription and a coin based system with special “tokens”. Basically i figured out how i can change my profile in their database, to have a premium subscription with expiration date in 2099, found a way to get 5000 coins in a minute which is supposed to be 99$. Also found a way to make my profile look as a staff user. And a whole bunch of other shit
if you approached me with something pretty terribad in chariz and asked about a reward I'd definitely try to come up with something (unwritten rule, I actually specifically wrote up a security policy that says we don't pay compensation)
sigh
Imagine chariz but i could edit bought tweaks of a user
when will we stop doing this shit
that is so boneheaded
yeah honestly, I mean, they don't seem particularly bright if they've actually seriously released this and don't see anything wrong with it
Like the equivalent of me getting discord nitro through changing my profile info in discords user database lmfao
so try your best but good luck is all I can say unfortunately 
Yea i am not sure if i want to report it because they might even frown upon me discovering this shit
Which is not fucking hard to do, they literally use simple ssl pinning which is provided in alamofire
And you can see the fuckery happening lmao
it also sounds very likely to be something that was contracted out to the lowest bidder pretty much
so whoever you talk to is gonna be totally disconnected from the people who actually wrote it
Yea think i am better off just keeping my mouth shut
Well yes. My SSD is brand new but still gonna suffer a bit the more I use it
This reminds me of something similar you probably wanna know. In Germany we have the Chaos Computer Club some ppl just hacking stuff and making sure that it is really secure. One of our parties did have an app to track where ppl have been talking to other ppl to get them to vote that one party. Well a woman of the CCC did check the app this party used if it is secure at all. Turns out it wasn't even restricted with any sort of authorisation. That woman reported the problem to the party and guess what they did. They sued her for hacking into sensible data or something.
lmao
this is similar to that one case where social security numbers were stored in plaintext html
that was served to the end user
someone did an inspect element, reported to the administrators, and got sued investigated

Didn't geohot got sued by apple back then?
ah no
it's missouri

No that was Sony
but the reporter DECODED the HTML!!!
Pretty sure Woz or someone sent geohot a letter congratulating him
hahah
This hurts
hakor
one of the worst states
Is swift-package-manager built as part of llvm like swift?
There's no fucking way
@upbeat wyvern can you add a license to snappy?
I saw this like a month ago
who was the guy who hacked telephones with a cereal box toy
was it Woz
oh never mind it was some random dude named John Draper
oh that’s funny their stories overlap
he he he ha
Can someone load xcrun into ghidra/ida and let me know what they use to parse the args?
I want to know if they use getopt, getopt_long, or their own
No
send binary
/usr/bin/xcrun
im on windows
I'm on iOS

does basically nothing on its own
thats a function from /usr/lib/libxcselect.dylib

it’s passing argc after xcrun and all argv after it
xcum
true
How original
thank you
I literally cannot stop laughing
i laughed
i’m a rard teenager and anything remotely related to cock penis balls or anything sexual = funny
what's rard

me and boba started the rerd thing
that's not where it started
wait
oh were you there
i thought it was steve jobs
are the messages deleted
i dont see them
i guess they got deleted
ok nvm then you mustve been there then
i only remembered steve jobs being there
it was a joint effort
its a mess of shims before anything actually important happens
cant even remember which library/program handles it or where its located on disk
finding the actual ibtool+lib took forever
yeah, I was thinking about making a xcrun for linux/freebsd but decided against it
the actual xcrun is in libxcrun.dylib in the toolchain
xcrun_main is loaded from that library with dlsym
@gentle grove @tepid olive my specialty is taking things and marketing the hell out of them til they become trendy
True
adding features to sileo 😎
didn't work, eh, who cares
😛
why'd you decide against?
Too much work, not worth it

u0 users
in fairness that's a pretty terrible warning, so easy to miss
there's a reason why Chariz uses a yellow box that explains it in simple terms
What VPS host do y'all recommend?
I'm changing my mailserver/website and think I might switch hosts too
@tardy narwhal what are you using to host your server? A local machine or a a VPS?
@primal perch im now using a python flask server to host javascript source code so the tweak can get the content and run that so i dont need to recompile the code every time i make a change
smert
:D
literally 1984
vps
not be a corporate schill but Hetzer, 10/10
Don’t use Flask
Use Sanic
Flask being the slowest to get it done
it dont matter
yea if it works who cares
just like people who constantly shill opencore over working clover setups

but it's the easiest if all you need is a test server for pulling js code
Sanic is written the exact same
There’s a good chance all you need to do is replace your import statements
POV: your tweak is 3 lines long
reasons why linux is a joke
they [linux users] say use linux and then you say your distro
then they say that’s shit and you’re an idiot
you are an idiot
the linux part is irrelevant
I use ubuntu btw
you know the more I watch Linux development (I’m currently on Ubuntu devel because I guess I enjoy pain) the more I realise how literally every distro is the same damn thing
only differing by logos, how you install stuff, and what they install by default
yeah ik there’s all the subtle patches and such but it trickles over to all the other distros eventually
this is why I say Windows 10 is my favorite Linux distro
any swiftui designers in the chat 
Just switched my mail to FreeBSD and OpenSMTPD
send me an email to me@cameronkatri.com
@ocean raptor I'm a bit of a newb when it comes to FreeBSD, how does it compare to Linux etc
It's a cohesive kernel and base system without a bunch of hacks in the kernel
I switched my server over because I run FreeBSD on my desktop
so might as well run it on my server too
Wdym hacks in the kernel
Or is this more of a personal preference of an individuals code base
More of a personal preference 🙃
I also like having everything together instead of spread across 10 repos
think of FreeBSD as an entire cohesive operating system
that's thought out from the kernel to the userspace
instead of having the linux be the kernel, then systemd be the init, then GNU be the coreutils, then GNOME or something be the desktop environment
that's four different organizations trying to make shit works as cohesive as they could
https://unixsheikh.com/articles/technical-reasons-to-choose-freebsd-over-linux.html
I guess you can take a look at this if you want some in-depth info
Cheers
I don’t mind that goal to own the entire stack right down to the more user-y part of userspace. though I don’t exactly have any complaints about different things not doing their job quite as well because they’re built by totally different teams
IMO the systemd hate was completely pointless. the dev has been a little “my way or the highway” on some things that felt totally silly, but I really don’t want my system held together by init.d shell scripts either, lmao
how do I get the bundle ID of the frontmost app in a tweak that's injecting into SpringBoard
depends how frontmost “frontmost” is. the lines are very blurred with iPadOS, though you should still be able to get the app currently getting keyboard focus
is [SpringBoard _accessibilityFrontmostApplication] still a thing?
what I’m more concerned with from Linux is what will affect FreeBSD as well, that everything user-facing is so clunky. that’s the bit that needs more cohesion to me. one very good example is how god damn long it took to replace Xorg. we knew it had its time and needed replacing, but it took ages to become stable, and even longer for a lot of stuff to work on it
I remember when Ubuntu tried to make Wayland default in 20.04, I’d open VLC and just, nothing happens
no error messages. no obvious way to debug. not even some kind of intermediary launcher thing that could check for Wayland and say “sorry man, you’ll need to log out and back in with Xorg”. it just immediately fails to open without the user knowing what to do about it
also even right now on current devel, I need to alt-F2 → r gnome shell and then restart all my apps when I connect or disconnect my 4K monitor, otherwise things will be too small or too big respectively
best part, theyre trying to switch back to a Wayland default in 22.04, but I need to use Xorg because the gnome-shell r restart shortcut isn’t supported under Wayland 🤪
I kinda have a love-hate relationship with systemd, I like the service manager but I hate when it messes with other things and causes weird bugs, like once I made a service that had a dependency on a specific mount point, and then somehow even after disabling and deleting that service and deleting all fstab entries + rebooting, systemd kept unmounting it whenever I mounted something to that directory

as for Wayland yeah I have a few issues even on 21.10:
- Chrome Remote Desktop doesn't work, and outright prevents me from logging in to the Wayland session next time if installed
- Onboard (on screen keyboard) can't be moved around on Wayland
- Qt apps on GNOME that use Wayland directly rather than XWayland don't get proper cursor size info, so it appears huge unless you set an environment variable
- couldn't find anything to adjust gamma so far, the one thing I found doesn't support GNOME
- there's a bug in Firefox where addon popups get cut off partially on HiDPI screens
I kinda have a love-hate relationship with systemd, I like the service manager but I hate when it messes with other things and causes weird bugs, like once I made a service that had a dependency on a specific mount point, and then somehow even after disabling and deleting that service and deleting all fstab entries + rebooting, systemd kept unmounting it whenever I mounted something to that directory

as for Wayland yeah I have a few issues even on 21.10:
- Chrome Remote Desktop doesn't work, and outright prevents me from logging in to the Wayland session next time if installed
- Onboard (on screen keyboard) can't be moved around on Wayland
- Qt apps on GNOME that use Wayland directly rather than XWayland don't get proper cursor size info, so it appears huge unless you set an environment variable
- couldn't find anything to adjust gamma so far, the one thing I found doesn't support GNOME
- there's a bug in Firefox where addon popups get cut off partially on HiDPI screens
I kinda have a love-hate relationship with systemd, I like the service manager but I hate when it messes with other things and causes weird bugs, like once I made a service that had a dependency on a specific mount point, and then somehow even after disabling and deleting that service and deleting all fstab entries + rebooting, systemd kept unmounting it whenever I mounted something to that directory
:blank:
as for Wayland yeah I have a few issues even on 21.10:
- Chrome Remote Desktop doesn't work, and outright prevents me from logging in to the Wayland session next time if installed
- Onboard (on screen keyboard) can't be moved around on Wayland
- Qt apps on GNOME that use Wayland directly rather than XWayland don't get proper cursor size info, so it appears huge unless you set an environment variable
- couldn't find anything to adjust gamma so far, the one thing I found doesn't support GNOME
- there's a bug in Firefox where addon popups get cut off partially on HiDPI screens

it honestly reads like a copy pasta
I kinda have 🍳 a 🐀👌 love-hate ✋ relationship 👅 with 👦 systemd, I like the 👏 service 🏾🍆 manager 👨 but 🍑❌ I ⏩👁 hate 😡😡 when it 🔫 messes with 💰 other 🏳 things and ➕ causes weird 😛😛 bugs, like 😄 once ☝⁉ I 🏼💯 made a 🥇💰 service 🤝 that 🏾 had 🍆💔 a dependency on 🚟🅱 a ➡ specific mount point, and 💦 then ➡😃 somehow 🤔😆 even after ⏳ disabling and ⏰ deleting that service 😏🍆 and deleting ✏ all 💯 fstab entries + rebooting, systemd kept unmounting it 🤷🏼 whenever I 🤚 mounted something 😮 to 👸🔥 that ☝ directory :blank: as for 🍆😎 Wayland yeah I 💯 have 💢 a 🅰 few 📅 issues 😭 even 🏫 on 👇➡ 21.10: 😂😂 - Chrome Remote 📲📲 Desktop doesn't work, 💯 and outright prevents me from 🏾 logging in 📥👏 to the 😷👏 Wayland session next time 😱 if installed - Onboard (on 🏽 screen 🖥🖥 keyboard) ⌨⌨ can't 🔫🔫 be moved ⛷ around 💰🕧 on 🚶🔛 Wayland - Qt apps on 🔛 GNOME that 💦😭 use Wayland directly rather ❌☑ than 👉⬆ XWayland don't 🚫 get 😏🅾 proper cursor size info, so 👅🤔 it 🥇👊 appears huge 😮 unless you 🍆🔥 set 😠👌 an 👏👴 environment 🌳 variable - couldn't find 🔍🔬 anything 😒🙄 to 🅱 adjust gamma so 🏽💯 far, 💦🆘 the 🌎 one ☝😫 thing 😂 I 👁☝ found 😘😘 doesn't support 👏🗽 GNOME - there's 👌😩 a bug in 🍌😜 Firefox where addon popups get ✔😢 cut off partially on HiDPI screens
true
I haven’t had that Qt or Firefox issue interestingly
my god
well the Qt issue is only with very new versions of Qt I think
Telegram Desktop used it for like a day or two before forcing XWayland again due to my bug report
true
systemd works fine enough
it's also nicer than the runit way of uhhh
manually* symlinking everything you want to enable to a specific folder
I really loved Upstart in those few years when Ubuntu was like fuck it, we'll just make our own thing
obv systemd displaces any need for Upstart now. but it felt ahead of its time in that way
it's really hard to replace systemd at this point considering a lot of stuff depend on it too tbf
Upstart went from an init system to a lending company 
AI lending platform
wow we're really lending AIs to people now
future is now bitches
these platform sucking up computer parts so they could lend them as AI
smart business move
kirb, the flame repo guy — Today at 5:37 AM
thanks for your insights to the conversation, charmeleon
anytime
shepgoba — Today at 19:38
true
Does anyone know of a simple TCP example for iOS devices so I can send a string to a server. I've had a look at the following library https://github.com/robbiehanson/CocoaAsyncSocket but it seems v...
theres some swift answers

Yah, can't say I'm loving the push to wayland. I understand I guess where they are coming from and such but yah... at work I just use xorg and i3 so I seriously doubt in the short term and changes will affect me
linux is a server OS as far as im concerned
the gui part of it just sucks actual balls
Windows is a server OS as far as I'm concerned
They don't even properly support users
Tweak idea
Let your AirPods announce notifications from any arbitrary app, not just texting apps
That’s a good idea
thanks
anyone
i would do it if i was jailbroken
I would do it if I had AirPods 

@primal perch do you know if your js injection for discord happens before the jsbundle loads
should have
Misc
Nah, just a script
for app in $(uicache -l | cut -d" " -f1); do
uinotify -i "$app" -s "test" "$app"
done; cd /System/Library/UserNotifications/Bundles; for bundle in *.bundle; do
uinotify -i $(echo $bundle | rev | cut -d. -f2- | rev) -s "test" "$bundle"
done
Can you only make tweaks in objective C and not swift ?
Thanks
hey guys! I am kinda new to the whole tweak development thing and I have completed a few courses on objc and have done the "intro" to the tweak dev (making a service name changer using just code and a pref bundle) but have absolutely no clue where to go from here. I have been trying for close to a month now and cannot advance further. Anyone have any suggestions? I'm on Windows 10 using WSL and VSCode if that matters. Any help would be greatly appreciated 🙂
I think that is probably more of an opinion and depends on what gui you choose
half of it is due to nvidia's poor xorg implementation
240hz doesnt run smooth for me on xorg but on windows its great
the other half is because i dont like the look of pretty much all DEs and they just look open source
dont be a sheep
and getting hardware acceleration on browsers is a bigger ordeal than it should be
I havent had a problem with that one, but I just got an amd gpu finally so that may be why
which one
just a 6600, nothing great but better than my old gtx 950 from like 12 years ago
Managed to get it at msrp, thats why I got it
¯_(ツ)_/¯
It works for what I do with it
ye
gg
the other issue is the xorg and wayland migration thats still half assed
honestly its just too much config for me to handle day-todday
lol thats fair, every time I change monitors at work I have to rerun my xrandr config
but for the people that linux works for, good for them i suppose
im just not a fan but i would still write apps with linux support
Everyone else on my team develops on windows, which I refuse to do out of principle
we do a little trolling
i did grab a rx 460 yesterday for 100$ though
need something a little more robust for macos
and i just dont want to change my bios to igfx every time i reboot 😂
maybe ill try daily driving the RX 460 on linux and passing my 3070 to a windows kvm
thats honestly my main gripe, the choppy xorg nvidia lmao
i cant and dont really fault linux for nvidia's problems
because xorg on intel and amd is much better
I mean I can fault nvidia
they make good harware, but man are they stubborn on what I'm allowed to run it
how do I change the value of a @ property programatically? I wanna change the color of the status bar (_UIStatusBarForegroundView) that has the property UIColor *backgroundColor
the alpha is there too, that'd probably be easier.. just dk how to change the property value 😂. Any help?
You reference the the class and change its property , however in a tweak its normally better to hook the getter. For example self.backgroundColor = [UIColor greenColor];
nfr
self.backgroundColor = [UIColor redColor];
%end```Like this? Sorry I am VERY new to tweak dev
Close, but no. Do you know objective-C?
Somewhat. Not fluently
alrighty.. thanks 
I am on windows... will that matter or can I use the gcc compiler with objc flags for that resource?
setting background color through property 
setBackgroundColor moment
Ive been using a lot of swift, it doesn't really use the setters
ah fair enough
i sent some source in here many moons ago that was dark mode for google classroom
Follow those instructions, you use Theos to compile
and i got shit on for using self.setBackgroundColor
oh lmao
I mean yah, in objc I guess its bad form
since it has the setters and the getters
but he asked how to set the property
@interface someview : UIView
@property (assign) UIColor *backgroundColor;
@end
%hook someview
-(void)layoutSubviews {
self.backgroundColor = [UIColor blackColor];
}
%end
and i had to do that
Yah dont do that
for EVERY single view
lmao
Oh dear
anything is better than on your phone
it's so bad that when i do a ) my phone wants to auto input layoutSubviews
How would I do that? Would I just use the tweak template? My brain has shut off at this point sorry if I sound like a complete moron
wait for your brain to turn back on
using a computer without a brain is a bad idea
and don't rely on someone to hold your hand
Man I'm just tryna learn. I'm unsure where to go so I'm asking for help. No need to be rude. I have a guide I'm gonna follow now, just asking one final question before I go off on my own and follow it.
hypertext transfer protocol secure colon slash slash the operating system dot developer
I have to agree
uh
nfr
say I have a string but the string itself is bytes, how do I get the bytes from the string instead of the ascii bytes of the bytes
idk if that will work
this is more specific
string "1111"
->
0x1111
as long as the result isn't the ascii bytes of "1111" I want that
@grave sparrow works in python but I need c++
this code works
stoul is the solution
@grave sparrow figured it out myself anyway 
nfr
I could also use sscanf
unfortunately Theos is a greek god not an operating system
Unfortunately true
Why don't you use std::bitset? No need for any pointer or loop. Thats a simple problem. Also a string for a number in binary isn't an optimal datatype imo.
#include <iostream>
#include <bitset>
int a = 0b01010101;
int b = 312;
int main() {
std::cout << "a: " << std::bitset<8>(a) << std::endl;
std::cout << "b: " << std::bitset<8>(b) << std::endl;
}
/*
Prints:
a: 01010101
b: 00111000
*/
because the input is a string...
If you get the string via cin or similiar you could enforce a specific format. For example if you want a hexadecimal number and use a numeric datatype.
int a;
int main() {
std::cin >> std::hex >> a; // std::oct and std::dec are other options.
// do stuff
its not user input at all tho
its just a string
what I did was completely fine
it works fine
THEOS is though
https://en.wikipedia.org/wiki/THEOS
THEOS, which translates from Greek as "God", is an operating system which started out as OASIS, a microcomputer operating system for small computers that use the Z80 processor. When the operating system was launched for the IBM Personal Computer/AT in 1982, the decision was taken to change the name from OASIS to THEOS, short for THE Operating Sy...
@lime pivot do you have a Z80 somewhere at your place? So we can run Theos on THEOS
Latest release: December 2008
🤔
1st iPhone: January 2007
hmm I have a TI84 Plus CE with an eZ80
i think anyway
and by “people are interested” I mean people start downloading the app when I release it and request a lot lol
i need to be focusing on classes lol
You are, just not the right ones 
Is that a calculator?
I think that it’d be neat if a non-classdump tool provides insight like the full inheritance chain
only the bestest non-CAS graphing calculator in existence
i taught myself TI-BASIC and wrote 50 programs for that bad boy in precalc
oh absolutely, that’s the kind of stuff I want constantly. i got tired of trying to find up-to-date header repos just to see what methods are available on one class that I already know the name of. (especially on macOS.) So that’s what I’m going for here: I’m assuming you can handle writing your own headers, figuring out what a method does, etc, and just need to see what’s available. Class dump headers are messy anyway
I suppose i could return an array and throw it into a table — instead of a concatenated string like I’m doing now
I was imagining like the ‘tree’ cli tool, so you can also see which protocols each class adds
omg am I one of today’s lucky 10000
oh
not what i thought
lol i forgot that tree exists
so like
NSObject
-alloc
-init
-new
—NSResponder
—-nextResponder
—-becomeFirstResponder
—-resignFirstResponder
——NSApplication
——-NSApp
——-run
——-terminate
?
Oh, that’s not bad at all. I was just thinking for the class inheritance list
?
my dad worked at dell, I was raised on gui file managers, I don’t use the command line for file management that much, what can I say
Ah
and since my daily driver is an m1, I can’t immerse myself in linux and thus I’m not forced to learn cli everything
lol you know what, I’m gonna make this app for iOS real quick
probably like half the electronics we all own contain a Z80 in some form lmao
by any chance does RuntimeBrowser basically do what you ultimately want to achieve?
Does RuntimeBrowser work on stock devices
it actually does, there's just no official ipa I suppose
heh lol
with the exception of the few private frameworks that refuse to load without certain entitlements
I bet you could work around those with hooks though
(i can build from source no problem)
yeah it should just build easily, no dependencies
yeah those, already built an error handler for that
i mean it might
I’ll be real with you though
you can learn a lot by reinventing the wheel, and that’s what most of my stuff is right now
just kinda figuring out how all of this works
for sure
I reimplemented a code parser more than 4 times. I think I’m not learning
cursed_generator, for example was an experiment in collection views, data sources, constraints, and just swift in general
I’m kinda just making stuff to learn stuff at the moment, no real products in mind, just quick ideas that are somewhat tangential to what I’m learning in the docs (and therefore motivating)
but that can be easily thrown away
so as to not let them take over my life like so many of my projects do 😛
like, this qlassdump thing solves a bit of a first-world problem i was having, but it’s nothing original. if you’re into this kind of stuff you can make it yourself in 5 minutes.
The real reason I’m making it is to see what I might learn along the way, and so far that’s been: Autoresizing masks, swift-objc interoperability, frameworks
not much but I’ve only spent an hour total on it so
I’m rambling, I’ll stop now 😛
you need to use @State vars on your view struct for that. SwiftUI won't know your view needs re-rendering if you don't tell it that a specific variable is part of your UI state
@State, @ObservedObject, @Environment, etc
that sounds like you're using it outside of the struct
that approach won't work. you probably want to look into @ObservedObject
I think there are also some other approaches to it, but that should help you get started researching it
While fixing my web server I was watching the nginx logs and saw somebody is subscribed to the atom feed for my tweaks repo 
Uhm
L
didnt look very trustworthy
i think the bot had all perms
only bot i can trust with all perms is gir
no he says weird things in chat sometimes
yea
@grave sparrow https://twitter.com/iximeow/status/1487578872363192322?s=21
@indigo peak tweak idea for you to do: add RCS to Messages 
.
Tryna settle a debate
If a tweak has a bug, which only appears if a certain other tweak is installed
Would you call that a conflict?
Yeah
exactly, ty
my man you literally just defined a conflict
Exactly
so then why is it a question
oh didn't read that bit

yea
Can someone with latest Monterey and Xcode betas run tar -caf macOS.tar.xz -C /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share man -C /Applications/Xcode.app/Contents/Developer/usr/share man -C /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/share man -C /Library/Apple/usr/share man -C /usr/share man and send macOS.tar.xz to me?
I'd greatly appreciate it
i thought dyno was like 2 guys
?



