#development
1 messages · Page 2074 of 1
I manually do ctrl+s after everything I type so I never worry Xd
i guess i dont really need to pass client do it
hell yeah xiuh
do i*
async function getSelfroles(client, guild) {
return (await models.guild.findOne({ guildID: guild.id })).selfroles
}```
This works doesn't it Dylan?
yes we must one line EVERYTHING
export const GET_GUILD_SELFROLES_BY_GUILD_ID = (guildID) => models.guild.findOne({ guildID }).selfroles;```
I don't remember I haven't used js in a while
I mean saving the result to a variable is useless if all you're going to do is returns prop from it
oh true
async function getSelfroles(guildID) {
return models.guild.findOne({ guildID: guildID }).selfroles
}
?
yeah
i plan on having a bunch of functions in this file and exporting them all
into client.functions
I personally like all caps for mongo methods so I can easily spot then in code blocks
weirdo
i never had problems with it, it doesnt auto-save, but saves the in-progress changes in the session, so next time you open it, the changes are still there
is it better to export them one by one or all at once
That's a personal thing
my old functions folder has this:
I like barrel exporting/importing and only importing what I ened

So I export everything by itself
How do you even do a barrel file in normal js
ill get to condense that a lot this go round 
i feel so much more confident as a coder than i did when i first wrote una a year ago
I went straight from C++ to TS
Hell yeha we celebrate these wins

people that make dashboards do them all wrong and insecure I feel
my website right now is made with carrd LMAO
I haven't even finished mine out of being scared
Dylan shut up
and i have all my jwt stuff done 😭
I don't know the link to it
im using the discord.js slashcommandsbuilder yeah
But i've seen it during your streams
you've probably seen the main site not the dashboard. https://rolebot.gg
the example has KickMembers and BanMembers but then i couldnt find a list of all of them in terms of "permissionFlagsBits"
banned
I handle permissions myself in each command I didn't know they added perms for slash commands finally
they did yeah with the most recent update
looks correct
okay cool
Yeah very as well as accurate member permissions running the command
that method takes in a PermissionResolvable which can be a bit flag
oh there it is lmao
yeah what the default permission does is hide the command in the list unless they have the perm
I’m not sure if isCommand() will be a method in v14 anymore once it’s finally out
like you're not making your help command manager server only right
oh no this is for the settings command
so it's per command then ok
iirc they removed all that guards and force you to check the interaction.type yourself now
lol wtf
do i need to await interaction.replys
I mean that's not hard with TS typeguards so it's not going to be a big change
well im just returning so i dont thik so
The latest build still has the method but the change logs say it’s been removed
Better don’t ask why
Yes
If you want that line of code to finish before the code below it runs then yes you need to await it
The permissions are accurate to the moment the command being executed
async function func() {
// await..
await someAsyncFunction();
//this code has to wait for the above to finish and resolve
otherfunction();
}```
Only if you want to like show the data or want to use that data then and there
If they’re async then yes you should
You'll see your IDE complain that you're trying to access a promise otherwise.
If you DON'T need to wait then you can use .then()
look into the documentation of tje stuff you use, if they return a Promise, they need awaitinf
function func() {
// some promise
someAsyncFunction()
.then(data => {
// do something with data
});
//this code doesn't have to wait
otherfunction();
}```
cause they promise to do what you want
wrong
they can throw

then we cry
lol
you tell me to check out prisma but now I have a new problem dylan
Yes loop the promise until it returns what you want
hot tim take incoming
You could take one of Tim’s 2791 queued projects
an image-based storage

I will just finish tims astrology api
that stores data in png files
so we can finally use it
tim's api coming soon in 2025
It will never be
@oak cliff any other Qs?
do you have any more As?
for (const key in settings) {
if (data[key] !== settings[key]) {
data[key] = settings[key];
};
};
only QTs
this will update my thing correctly right?
its what i had before but im not sure if i understand what its saying properly

i think i just copied it for
show more of the code and where data is coming from
lol
i know im a bad child
Can’t be wrong then
okay so i am creating an "updateselfroles" function
ill pass the guildID and the new selfroles array
can't you just use the normal update method mongo provides?
this is the old function
async function updateSelfroles(client, guild, settings) {
let data = await client.functions.getSelfroles(client, guild);
if (typeof data !== 'object') data = {};
for (const key in settings) {
if (data[key] !== settings[key]) {
data[key] = settings[key];
};
};
console.log(`[${data.guildID}] updated SELFROLE settings.`);
return await data.updateOne(settings);
};
👀
I ltierally have the code here
That is way cleaner

Keep in mind my joinRoles property is a string array. I don't know what your selfroles property is.
I assume it's also an array of just role IDs
a string array yeah
Cool
of role IDs yeah
Then yeah my code is what you want
sorry
just kidding
she's making MY bot
Lmfaooo
okay so the first {} is what im searching for
the second {} is what im updating
and im noT MAKING YOUR BOT
Yes
mines DIFRFERENT
my bad
Lol
partnership time?!?! Una X RoleBot???
wait so you don't need to specify what key youre searching for?
rolebot hit 3300+ recently
you have just { guildID}
what key
yes
In JS if the object name si the same as the property you don't have to do that
OOH
Fastest bot review process ever guaranteed
xig accepted my bot back in 2018 or something
i remember that issue
it fucking SUCXKED
never figured it out
wait so can i do this models.guild.findOne({ guildID }).selfroles
lol
i have to put { guildID: guildID} ?
no
no
im just confused when i have to specify the key
you dont if the variable is the same
I thought you were trying to update selfroles there
If you were you're wrong
thats from earlier
async function getSelfroles(guildID) {
return models.guild.findOne({ guildID }).selfroles
}```
yeah that's fine
ah
thats pog
ye that is fine I was confused for a sec sorry xiuh
okay

Promiseee
sorry im dumb
no you're not
you're LEARNING first of all
i just misunderstood what youw ere asking
wait dylan am I dumb or shouldn't that error?
await it
you're smart that's why I bully you
what does $each mean
until the promise is awaited wont .selfroles error?
It won't error it'll probably just say undefined
For each element in the array you pass in, int his case we only passed in a single element
well yea
TRUE
basedbasedbased
sorry that was weird
do i need to do return await models.guild.findOne
yea you just return the promise entirely
and probably await it when calling the func
return (await get())?.selfroles
my snippet above shows if you pass the property you want found from the object it'll return it when the promise resolves
selfroles doesn't exist on a promise so you have to await ti first
so this?
async function getSelfroles(guildID) {
return await models.guild.findOne({ guildID }).selfroles
}
async function getSelfroles(guildID) {
return (await models.guild.findOne({ guildID })).selfroles
}
joinRoles is the property on my guild object, so I find by guild Id and return the joinRoles array from it
removes the need for async func
wrap it in parans and then yes
Use ?. since it might not find it by guild id unless you're sure it exists
oh so i could do this:
async function getSelfroles(guildID) {
return models.guild.findOne({ guildID }, 'selfroles')
}
yes
and that just returns the selfroles property
right
An object that has the property
when i call the function, i need to await it
yes
ok

const selfsettings = await client.functions.getSelfroles(interaction.guild.id);
It's projection
i haven't touched mongo in awhile im just quopting old dylan
then "selfsettings" will be the array of roleIDs
should be yes
big brain
It returns an object that has selfroles
Ok so basically you want to listen for a GET request to a specific route and then send a specific .html file on request to that route...
Use selfsettings.selfroles
you can use express for that
ah
infinity free isn't hosting right?
it is
Wait what, that just seems dumb
It's for only grabbing specific properties
like this ?
yes
Yea but if you are grabbing it won't you just get the values
If you want to mutate the result you'd have to aggregate them
can you host a webserver on it?
what does the ? do?
i have to leave but maybe someone here more experienced with infinityfree could help you
it means if it's null it'll not crash and ignore it
basically tells it that it can possibly be null/undefined
how the FUCK is there 40240320 convos goin on in here
how to host my domain with nodejs
someone jump into VC
async function updateSelfroles(guildID, roleID) {
return models.guild.findOneAndUpdate(
{ guildID },
{ $push: {
selfroles: {
$each: [roleID]
}
}}
);
};```
<MMIST?
ou everyone spying
Mongo playground: a simple sandbox to test and share MongoDB queries online
battle of the documentation
lmao
They changed their flags to pascal case in v14
Be aware
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
Oof Dylan using the builders 
?
MessageSelectMenu constructor
Which is part of the builder tools
Why if you can easily use an object 😮
fuck that
don't like it?
Don’t like this?

Well that’s how the API expects it
No reason to use the continuously changing djs methods to build that
But I see
We need some general exorcism in here

Not needed to change it again not even until djs v99
Someone knows how to sort inside of .exec function on mongoose?
account.find({})
.exec((err, res) => {
for (i = 0; i < res.length; i++) {
if (res.length === 0) {
embed.setDescription("NO DATA")
} else if (res.length > 0) {
//Over here I wanted to sort bank and cash individually
}
}
message.channel.send({
embeds: [embed]
})
})
can anyone tell me, how to discord render such link in embeds
let evaled = await client.cluster.evalOnCluster(
(c, ctx) => {
let guild_name = c.guilds.cache.get(ctx.guild).name;
c.channels.cache.get("962900407686946876").send({
embeds: [
new (require("discord.js").MessageEmbed)()
.setColor(c.settings.embed_color)
.setFooter({ text: `c` })
.setDescription(
`Removed premium from a guild.\n\nGuild's Name: \`${guild_name}\`\nGuild's ID: \`${ctx.guild}\`\nReason: \`Validity Expired\``
),
],
});
return { success: true };
},
{
context: {
guild: data.id,
},
guildId: "827383182630322267",
}
);
Yeah this is why I didn't use the builders during my rewrite. My first thought was "imma have to redo everything for v14 aren't I?" 
Haven't had issues so far but yeah v14 isn't out yet.
I'm not looking forward to v14
it feels like I just upgraded to v13 last week 
I trust d.js to update accordingly, it's not like they haven't been doing this for awhile so I don't have any issues or qualms.
Just as easy if discord changes what the request body should be like.
dylan you done with your 3m run?
Yeah but I figured if I use the request body instead of the builder at least that's only one way it can change. Either discord can change the request body or djs can change the way builders work so i figured it was one less way it could change 
was a walk but yeah only took an hour with 500foot incline
planning a trip to Japan in the spring with friends so wanting to be fit, so doing 3mile walks each night.
Nice
Yeah I wanna see the cherry blossoms bloom.
Fr
They are in such a small window.
discord does it
That's when I want to go too 
Not this year... 👀 Or maybe I will?
how we control, what discord display on thes eembeds ?
Wait when's spring in Japan
as you do with top..gg links
Look up meta tags
Yeah that's what I thought it's the same
ohk
fixed lmao finally i got the right answer
https://paste.gg/p/anonymous/39bed863c9c44fe489547254ed5d5eba loving prisma so far

Seems like no one else faced this issue enough to talk about it in the repo either at least I couldn't find it
hey guys, i am trying to create a json element that looks like this:
{
variable1 : 0
}``` how would i try to pass that variable1 tho? As i tried ${} and ` marks, but it needs to be a "".
JSON.stringify(anything)
What does that have to do with what they are asking
thay had a object so I guessed they wanna convert it to json
{
interaction.options._hoistedOptions[1].value : 0
}``` This won't work because of the . and _. I am finding a way to pass this variable as a new element key.
but stringifying it doesn't do that
No, srry. I think that i didn't explain it that well.
What exactly are you trying to achieve here, I think you are misunderstanding how this works
shouldn't that be JSON.parse(). Stringify creates a string of the passed json or am i wrong>?
I am trying to create a key : element in my json file
stringify turns it into a stringified json, parse turns it back into a usable json format
stringify makes objects to json
what?
it doesn't?
this is the issue i am encountering
That is a string dingus
a json string
Yes you can't do that in a json file
that isn't valid json
yeah i know, so i am trying to find a way to use that variable as key name
What you are trying to achieve can be done by writing the json beforehand and then saving it to the json file
but I am wondering why you want to even do this in the first place
not really, as some new key names could be used, which wouldn't be in the file.
for example, /test 5. If the number 5 isn't in the file, it should add it.
well yes, but i am working with options and for that i need to get that variable name and use it
Why are you even saving them to a json file
when your machine doesn't support sqlite
nvm i fixed it
let k =interaction.options._hoistedOptions[1].value ```
and just pass that k as key name
I am still confused why you wanna save the options ot a json file
i was thinking stupid
I am too lazy to use mongodb or something. And there's only 10 keys being saved so i think it's okay.
yes but what is the benefit of saving them
are you going to use them later for other things?
yeah
and will this json file have a constant read/write?
shouldn't storing at memory be enough
Not constant, maybe few times a day?
depends if they need it outside the current scope or not
if they only need it in the scope of the current running command then saving it is pointless
If you guys know an easy alternative to use, i could instead of json use that ofc
Be extremely careful when using json as a database
especially for info you will need for the bot to function
sqlite if you want something simple
its a disk oriented db as it saves it to a file on the disk
I know, i've gotten many issues with it
awesome, thanks!
corrupted
"simple" sqlite can get pretty complicated
It's far easier than something like postgres
I also suggested SQLite as it doesn't require you to have a server going to use
Wow i am really appy that i switched to djs v13.
It's so cool to work with those modals, etc etc.
Pretty hard at first, but really fun
the discord api is a programmer's representation of the bipolar disorder
now get ready to switch to v14
see ya in 9 month
hoisted options is a private property, use the get() method instead, this method will not change
yo anyone know why this aint working? i got the SchemaTypes as numbers
they need to fuck off with their updates. v13 is enough
channel_id: Value "id" is not snowflake``` How do i tail where this issue is coming from>??
not released yet but you can use it right now, also
Has been like 90% for almost one year
anyone got any idea?
oh 💀
By awaiting your promises combined with error handling
Yeah tbh expect a few more months of development
There are many known internal issues - still - causing lots of features to not work atm
Which will cause a lot of API errors but caused by the lib
I have used so many breakpoints and logs, i still haven't figured out where it's coming from
Well invalid form body can’t have much possibilities
Must be some content you wanna send to a channel using channel_id as argument for the channel resolveable
So… search up that var channel_id and find out
did v14 did any improvements to caching? or does it still not support disabling channels for example
i really dont want to update djslight
I hope you don’t ask me
Do you like math?
no i hate math
meth
Well too bad graph this function f(x)=x^(2/3)+0.85*(4-x^2)^(1/2)*sin(10*π*x)
It leaves a cool message
When I left school like ages ago I was sure I would never see this again
Damnit Misty ruining my expectations
<3
It only knew to graph it cause of f(x)
i dont understand graph maths
I'm sure if you left that out it'd try and equate it instead
shouldnt be y a constant
Huh
i suck at math
Honestly 10 should be a variable but I set it as 10 so it could be a more well defined heart
f(x)=x^(2/3)+0.85*(4-x^2)^(1/2)*sin(a*π*x)
This is the original function
If you lowered what a was it'd be more stretched
They had many plans for v14 such as rawdata cache storage. But drafted them for v15.
Improvements are breaking stuff for fixing inconsistency
They made for the rest and ws part ... seperate packages.
All in all, less improvements on caching, besides that they now have on some structures this.data and take use of getters, which call that prop
idk what sin does, didnt get to it yet lol
trigonometry 😩
It is a trig method
It basically takes the opposite and hypotenuse of a triangle
And gives you the angle you're looking for
sin, cos, tan and then there is cos-1, sin-1, and tan-1 which are inverse and they are commonly used for finding a missing side and such
second ever public app that i finished https://github.com/cryy/piksel
i don't know whether i want to keep working on this or should i move to other projects
i'm currently stacking public apps as much as i can on my github profile
cool
although you may also want to add an online version so people don't have to install it just to try it
that's actually a good idea
shouldn't be a problem since the frontend is react
tyvm
that day you finally update the packages on your servers
Anyone know about the discord/d.js problem where you get double button presses?
Haven't heard of that problem, what discord.js version are you using?
yeah, I see that event being submitted two times, sometimes, too
at least in the current v14 dev build
It wouldn't be surprising in an unstable build, which is v14
yeah haven't seen this in v13 so far
hii guys, so i making an command which will send bot updates to assigned channel... channel and guild id are saved to db, but, now i have problem with this:
here Guild: si empty cuz idk what to actually use...
If this was some other event, like for example messageUpdate, i would use message.interaction.id
but for ready, idk what to use
if you guys get me
fetch the guild you wanna send updates to, then fetch the channel, then send messages to it
but idea of sending a message to a channel on each event is very bad
You're sending a message regardless of specific guild IDs, you're supposed to not pass a guild ID and get the proper documents
And you can send them to a single announcement channel in the bot's support server for example, and let users follow the said announcement channel in their own servers to receive messages
ahh good idea
so in your case, let guild = await clients.guilds.cache.fetch(...) then fetching the channel const channel = await guild.channels.fetch(...) then sending your message to it
All guilds and channels are already cached by default, so there's no point in fetching them
It checks the cache, then again there's no point when all of them are cached
dingus
Dum dum
get() won't be available as method in v14 anymore
so fucking use fetch()
doesn't matter since the cache check
Who says it won't be available?
according to the docs it has been renamed to resolve()
The managers will still have the caches as collections, and the collections won't be removing the get() method
The get() method isn't bound to the managers
hmm true
looks like they just removed this documentation
since collections are documented separately
Exactly
"performance-wise" lol
he wanna send a message on every event
fuck performance I guess
and rate limits
This isn't about what they want to do anyway, they're speedrunning getting ratelimited
💀
quick.db more like FuckingSlowAndOverloaded.db
is that quickdb he's using? idk tbh
They're using Mongoose as it seems
I will never use anything else than SQL anyways
yeah
i use prisma so i dont care 🤷♂️
Use PostgreSQL and join the cool kids club
never even heard of this
shut up
i do but with prisma
no benefit for me switching from mariadb to postgres
FakE news once again
alright, so... tell me how will my life get better after switching
Also I think Discord switched from MariaDB to something else
cassandra db 💀
=> /var/database is using 87.2% of 917.09GB
wtf


nais
too big
Yeah I think they did
https://www.globenewswire.com/en/news-release/2020/07/22/2065978/0/en/Discord-Chooses-Scylla-as-Its-Core-Storage-Layer.html
wait they were actually using cassandra db 💀
actually this is funny since the ext4 format blocks like 70GB
dbfs => /var/database 95.06% (934.22 GB of 982.81 GB)
makes me sad
seems like I need to invest into 2 larger SSDs
what are you storing 💀
that's a hash table
mmh
wtf
to resolve their hashes to get the Steam ID
since there's no other way to do it
4 billion is more than the current amount of steam accounts
so I got some time left until larger SSDs are needed
I do weird stuff I know
Why are u even storing in an ssd?
to guarantee fast access times?!
and do you have any clue how long it takes to generate 4 billion records?
Simply sort the hashes and partition it into chunks of ranges
Then access a specific chunk of data instead of iterating over all of it
Impossible as I need to provide the ID on request
not any coding language supports all this
...hashes can be sorted
especially since we're tasking about game modding languages
[07.08.2020 19:32:23] rcon_lookup.php -- Task done in 1678467.279 s
[08.04.2021 13:07:57] lookup_gen.php -- Task done in 1317965.892 s
running that on a HDD will take weeks or longer to generate
Only if u try to search the whole thing
I did already "heavily" optimise the second generation process
yes I can only search for the entire hash
Oh my
I'm not talking about matching the entire hash, I'm talking about finding a needle in a haystack
Simply sort the hashtable so u can get an approximate line number
which is the reason the database is that large, since they index take more than 50% of it's size
Files don't need to be read from the beginning
ik, still makes a gigantic file
Ik
the database is already heavily optimised, why the fuck should I not use it
You don't get what I mean, and idk how to exemplify
even if creating a file is faster in the generation process, this will only be required if a SSD ever dies
yeah I feel like we're talking about two different things tbh

I will place a note on your profile, you're being weird sometimes if that's okay for you
will take some while
servers are currently upgrading
finally doing the release upgrade
I imagine it's like hash-id pairs?
it simply is the Steam ID and two (different) hashes of it different game developers are using instead of using the Steam ID
idk why they're doing this
while the steam id actually has a static value I could technically get rid of the first 8 or 12 bytes if I remember correctly
but instead of puzzling things together after I gave a fuck and basically save the entire ID in the database together with the created hashes
--------------- chunk (axxxx - bxxxx)
ahash - 1234
bhash - 5678
--------------- chunk (cxxxx - dxxxx)
chash - 9012
dhash - 3456
--------------- chunk (exxxx - fxxxx)
ehash - 7890
fhash - 1298
Not necessarily written like that, but like, break your data into sorted parts, then retrieve the part where your input hash is expected to be
So instead of 1b entries, u only need to search among 1m entries or so
some years ago I did save the records as binary data to reduce the size of the database but puzzling things together is annoying after since not any language have inbuilt methods to do so
Ik most databases do this for indexed tables, alas why they're fast
yeah I bascially know what you mean and what you're going for, but the work to restructure all this, is too much for the time I have
But you'd save on money, since even hdds would suffice
As I said I already did it differntly years ago but moved away from it again
dude... SSDs aren't exepensive anymore
With high capacity?
Ssd price to capacity ratio is way lower than hdds
yeah true, but still
one second
Data Units Read: 2,629,944 [1.34 TB]
Data Units Written: 26,978,377 [13.8 TB]
Host Read Commands: 69,062,776
Host Write Commands: 501,245,975
estimated life time of about 300-400TBW
How tf u write more than read?
so I guess they will still last long
oh wrong disks selected
ah shit... can't get the smart values
of those SSDs
since they being put together as hardware RAID
the raid controller can't share their smart data it seems
Btw, why does steam use id hashes instead of the actual id?
this was the data of a ZFS RAID the containers/VMs are running on
Or is that something u chose to?
those hashes being used by different game developers in their game logs to identify the players
for some reason some games don't use the Steam ID directly but hashes of it
idk why
maybe to "hide" the original Steam ID
It's not like that's a sensitive (or even private) data
yeah don't ask me why
It's like people hiding their bot id here when asking for help
it's stupid but there's no way to decrypt it (yeah ik there is, shut up) so a hash table is the solution
for every possible Steam ID
So u basically bruteforce from 00000001 to 99999999
well unfortunately those are hashes of the Steam ID 64
but technically yeah I simply look up the account ID
from 1 to 4 billion
while currently only exist about 2.5 billion to 3 billion accounts
so I got some time left until Steam reaches 4 billion before generating more IDs
and hashes
seems so
from the articles i found they increment over time
they don't seem to be using snowflakes though
yeah they are
A SteamID is broken up into four components: a 32 bit account number, a 20 bit “instance” identifier, a 4 bit account type and an 8 bit “universe” identifier.
this is the Steam ID 64 (bit)
the account ID itself is sequential
starting with ID 1 with the first ever created Steam account
interesting
Gaben ig?
something akin to snowflakes but proprietary it seems
which is 76561197960265729
Who tf tested steam before gaben?
the first created Steam accounts are all Valve employees
created far before the platform even got released
took some time to investigate all this but it's quite interesting
need to restart Proxmox in a few minutes, too
I will take a look at the smart values of the SSDs
about their TBR and TBW
bruh
i remember using proxmox to test something
pretty cool
just not good for my application
bought a cheep cache drive offa ebay
to use as a boot drive
but sadly its not bootable so i thought "just slap a vm on it and rung the hipervisor on another drive"
worked but was too clunky for my liking
proxmox really is a damn nice environment for virtualization
yeah
has almost vertually no processing overhead too
which is nice
was running on a dell from 2006 and didnt really notice it on the vm at all
yeah it's minimalistic but feature rich, always up to date and free
indeed
and literally needs only a few ressources to manage all containers/VMs
yeah i saw that on my dell
has a 2.2ghz athlon 4200+
not the fastest thing
but was still mostly idle
pretty good
also
whilst im here
well my hardware isn't the latest shit, too but much optimized for virtualization
Intel Xeon you know
in nodejs whats the diference between === and == cuz each seems to have diferent properties
oof Xenon
i mean some are still pretty good
"still" lol
lol
nr 1 architecture
i mean i cant remember the name but theres a couple of 3ghz ones and they are pretty good hovering around i7 4th gen
xeon gold, platinum or exterprise support is what makes them the nr. 1 professional architecture
== has type coercion, whereas === compares value and type with no coercion
but for the private sequemt AMD EPYC currently is more interesting
as the amount of cores for virtualization matters here
not so for professional hosting
im guessing its like if the "thing" is literally what you are comparing it to like if e == true cuz its true and not a string or any other data type
yeah isnt the latest one like 64 cores or somthing?
an easy example
1 == "1" // true
1 === "1" // false
since a string and integer are different types
i know thier uses but i just wanted to know why there was two diferent "=" things
idk tbh, I will never pick AMD tho
Intel will always be the best supported and most reliable choice
that wont change soon
bruh amd is cool though but yeah intel is pretty rock solid
cus javascript is dumb and decided to make things complex
"cool"? it's just cheap focusing gamers and virtualization but not much more tbh
AMD is a very good consumer CPU manufacturer
amd is more power efficient atm though so thats why im here, that and the fact they are pretty good to their consumers using the same socket for longer and keeping older equipment suported for longer
Intel falls behind in affordability to power ratio sometimes, but their high end CPUs almost always outperform AMDs high end CPUs
tbh, nobody give a fuck about power efficiency
like my 8 year old gpu just got a driver update lol
i mean true and thats kinda sad
but i do
I meant like how powerful the CPUs are
Oh you were talking to him
Nvm
lol
you do once you grow up and pay your own bills
ALWAYS KEEP IN MIND when comparing Intel and AMD CPUs, Intel still doesn't produce chips on like 5 or 4nm like AMD and they still outperform AMD chips easily
bruh power draw is power draw
also, low power = low heat = less cooling = more longevity
^^^
bullshit, people picking AMD for power efficiency than adding a NVIDIA graphic card taking up to 300W or more
i use to have an fx8350
Most AMD equivalent CPUs to Intel usually outperform them in multi-threaded scenarios
well yes, that is indeed bs
those where dark and extreamly hot times
Until you get to the really high levels of CPU like Epyc
true for the consumer use case CPUs
but for a laptop for example, amd cpu + vega grahpics = 9+ hours of battery easy
as nobody actually needs more than 4 or let's say 8 cores as consumer
but AMD comes with CPUs providing 16 cores or more for consumers which is nonsense
unless you have like 39487 chrome tabs open
i mean if you are doing many things at once then cores come in handy
I will still stick to my 9900ks and oc it up to 5.5GHz and will beat literally any AMD CPU with it
I run a Ryzen 7 2700 that’s overclocked to 4ghz on all 8 cores, it’s been running fantastic for tens of thousands of hours over the last 3 years
lol
a lot of people are not used to fully close programs when they stop using them, for example mac users never ever actually close programs, they just click the X button and dont know the program is still open in the taskbar lol, so for those people more cores will make a perceivable difference
once you get into not perfectly optimized games, you will notice an extrem difference between 4 GHz and 5.5 GHz
I can tell you that
my ryzen 5 5600x has the stock cooler and has never gone over 70*C
I’m also not running games at 4k expecting 2 billion fps
bruh i have an hd7770 lol
that's a different story tbh as MAC OS is much more better optimized than Windows ever will
I run all my games at 1080p usually at or above 144fps depending on the game’s limits on framerate
yes but many windows users are the same, they are not used to the concept of closing programs to free resources
well my bottleneck is the 1080Ti atm
Granted I also have an RTX 2070 so it’s pretty easy to chug through games
system tray moment
they dont even know the difference between closed and minimized

that and windows has a bunch of background crap built in anyway
same goes for their smartphone once the accidentally open their app switch
yeah
would rather all that crap be running in cores that im not ising for the game im playing
cuz frame stutters piss me off alot
get a random stranger's phone in your hands and enter the running app list, its not uncommon to see 50+ running apps
being running google maps 24/7 in the background and wonder why their location is being tracked 24/7 literally killing the battery
much true
people having a smart phone wondering why there location is being tracked 24/7
well tbh
they're not wrong with it
Android makes it impossible to disable all trackers
while at least this isn't the case in iOS
yeah but you can still disable location history in your google account for example
but still can not disable system services tracking your stuff
i mean we dont know that ios could still be tracking you they just aren't transparent about it
and there are more and more privacy-friendly phones with location spoofing built in
I had an Android for one year and it was a mess
disabled those system services comes up with a message, many apps will not work anymore
and guess
the message was right
ive only ever had shitty androids and hoinistly its fine
but then id be ok running a nokia brick
cuz i use my phone as a phone and not a do-everything machine
same
not to mention that any OS sends meta data around but iOS compared to Android is much more friendly in terms of what I can disable and what not
true but then how easy is it to do things apple doent aprove of
like install apps from somthing other than the app store
or actually have a file viewer
or a bloody headphone jack
I fucking like their environment is closed
prevents you from being fucked at any time like on an Android phone
stupid argument tbh, the hardware design has nothing to do with the software
It should be your responsibility on what you're installing and shit, not the OS's
true but because apple is closed source you dont have other manufacturers that make diferent options
but nothing which isn't known to be dangerous for the environment
unless it was banned off the app store
The OS isn't supposed to decide what you should install, iOS on the other hand just hand-holds you and doesn't allow installation of untested applications
indeed
which is totally okay - called responsibility
a common phone user don't install weird, untested apps from unknown sources
i bought a device its my responsibility not the manufacturers
nope
That responsibility is yours, not OS's
^^^
yup
when i buy something i expect to be at liberty to do what i damn please on it or with it
or if they have even decided to make one
I don't see any use case while this should be relevant at all
"why is the app store the only place where I can install stuff"
apple: "to make your device secure, private, and consistent"
anyone who can read through corporate dogma:
lol
remember we're still speaking about the common user not what you personally expect to see
still weird
nah not all
inb4 apple forced by government to add the lockdown mode to give whistleblowers/journalists a false sense of security
apps that apple bans cuz they dont like them even though they are perfectly legal and cause no harm to useres
oh yeah that new feature is dumb af
count the cases of compromised apps or phones compared between Android and iOS
and literally electron apps
💀💀
yup
It doesn't matter what type of user it is, you're not supposed to be limited to what you can install and operate, you're taking all the responsibility in instead of letting the OS decide everything for you
YOU'RE ALWAYS limited
are you really sure
That's an invalid argument
still android provides more
The common user installes the few apps he uses from a known source, the app store
and he's not really doing anything beyond that
well yeah?
Apple doesn't even run its App Store well nor treat its developers well.
yup
You don't need to root your Android phone to install and operate whatever you like, unless it interferes with the OS's own system apps or logic that is outdated
And you don't "root" an iPhone, you jailbreak it which becomes way harder every update
yeah reminds me of a meme i saw about cars
"user manuals in cars used to tell you how to ajust the valve timings, now they just tell you not to drink the contended of the battery"
personally i hate this form of babyproofing everything has thesedays what if the ragular user wants to do somthing for them selves but the manufacturure blocks it so the may to be fucked over by a dealer charging exorbitant prices
great discussion, and kids with bloody hands are creating my cloth in India... does that bother me when buying the cloth in cheap shops over here? No
bruh
Yikes.
bruh
that's how the world is
No, that's how capitalism works.
you do realise you can choose to buy stuff made localy
Exactly
The world is not fully capitalist, nor is that really relevant. You're really just spreading corporate propaganda right here and trying to assert it as "just the facts".
I didn't start drifting to that discussion
pay more for locally made stuff, its better quality and means small honist local businesses can grow. its people like you that are the reason the kids in india are in this position
I don't care what they charge from their app developers, either you care or not, either you can afford or not, that's how it is
not even sure if free apps being charged
but that's not the point
and you know the cost affects you
Mindustry is literally free in every platform except steam and app store
so it can affect you
wtf is Mindustry
a game
ah oh lol
that and if devs get more money they have more insentive to make somthing thats not a shitty ad driven mobile game
but then those will be a plague nomatter what
still no valid point for me, there're more than enough free apps on iOS, too and I don't have an issue paying for something I wanna use, also supporting the developer even if they only get a small percentage of it
I honestly wouldn't want to see a world where the OS's actually decide everything for it's users, hand-holding the users a lot is just generally a bad idea because the user learns nothing of how things really work, and intend to get stuck on the most simple problems, let's say an app had a malware that is on the app store, the Apple users aren't gonna give a shit because they think it's "safe" and wouldn't contain anything suspicious
count the cases of compromised apps or phones compared between Android and iOS
I remember there have been a few
so you will pay more for a game you want but wont pay more for clothes that aren't made by children in india
interesting
anyway ima get food
this argumant will probably still be going when i get back
probably unless someone goes to sleep
Yeah no shit because Android allows you install things that aren't really tested, and not everyone is generally aware of how to check for malware or similar things to avoid them
that has been an example and yes I don't give a fuck as long as the quality of the product is ok
But a lot of Android users are aware of them, so that's a good take away as well
doesn't mean I don't prefer local stores
I don't necessarily believe targeting a certain audience with certain features is a bad thing. My personal issue is that Apple products are used by a very wide audience with different preferences, yet Apple will not budge for those people as it's more profitable for them to be inflexible (i.e. pursue platform capitalism).
Also, buying locally is usually pointless since it may rely on services that are global.
a lot of Android users are aware
not really, I doubt even 10% of the users actually know anything about the phone or system
You're actually thinking the wrong way around, that's the Apple users, Android users have had a journey through things like this and know the most ways to avoid them by now, while the Apple users' only hope is on the Apple app testers
Apple users aren't one person, and Android users certainly haven't been "trained".
XcodeGhost (and variant XcodeGhost S) are modified versions of Apple's Xcode development environment that are considered malware. The software first gained widespread attention in September 2015, when a number of apps originating from China harbored the malicious code. It was thought to be the "first large-scale attack on Apple's App Store", acc...
dude that's how you see things, no fucking phone user is "going through" things
they use their phone, their install and use the same 3 apps every day, make a call or two and that's it
nobody is actually thinking about how it works or getting into it at all
I never meet anyone
That's also how you see it on your perspective, a lot of the users install a ton of things from what I've seen, and by experience can avoid malicious apps and things that can harm the device, it's not just using a few apps or making a call or 2
I only being asked over and over again why this blobbing up on Android phones, why this is sending notifications to me, why this isn't working, why the battery is running down so quickly etc.
That's the old times you're thinking of, it's not how it is today
Still... users go the app store or play store, search for an app and install it
your entire argument about the chance to install apps from external, unknown sources still is nonsense
who tf does that?
Considerable amount of my friends also use iPhones, telling me how to resolve the same set of issues, nothing uncommon in this case
Let me introduce you to https://en.wikipedia.org/wiki/Batterygate 
Batterygate is a term used to describe deliberate processor slowdowns on Apple's iPhones, in order to prevent handsets with degraded batteries shutting down when under high load.
Critics argued the slowdown amounted to planned obsolescence, however this may stem from the common misconception that all older iPhones were slowed down. Some have arg...
the iOS is extremly optimized in terms of battery life tbh, I can't complain
but people actually charging their phone 24/7 and ruining their battery
while this is true, i don't know any world company doing differently
only issues I know and I'm pissed about, too are software issues nowadays we didn't had like years ago
Of course, because every relevant top tech company has a monopoly in that field.
I think you're completely misunderstanding things, a lot of people do that on Android phones when the app stores provided doesn't provide what they want, the iOS users just go to the app store and install things that are only tested, the iOS users aren't aware of most ways to avoid malicious things while Android users does, since they can install untested apps that contain malicious things
Most apps available on the app store of iOS doesn't contain malicious things, so generally the users will always install it without caring about such details, even though it may contain malicious things regardless of being available there
still don't know anyone being careful of things like that using Android phones
Oh you wouldn't believe, a ton of people do, a shit ton infact


