#voice-chat-text-0
1 messages · Page 140 of 1
What if the very fabric of space and time isn't made of one-dimensional strings or energy as we think of it, but instead was simply a code or a language made from a geometric projection?
Quantum Gravity Research is a Los Angeles based team of mathematicians and physicists working on developing a theoretical framework for a first-principles un...
does it not create the directory automatically?
or is the question specifically about templating?
I think if I used this it will do it
def get_image_path(instance, filename):
return os.path.join('images', str(instance.id), filename)
Python 3 comes with a new module named Pathlib. Since Python 3.6, pathlib.Path objects work nearly everywhere that os.path can be used, meaning you can integrate your new code directly into legacy code without having to rewrite anything. Pathlib makes working with paths way simpler than os.path does.
Feature spotlight:
• Normalizes file paths for all platforms automatically
• Has glob-like utilites (eg. Path.glob, Path.rglob) for searching files
• Can read and write files, and close them automatically
• Convenient syntax, utilising the / operator (e.g. Path('~') / 'Documents')
• Can easily pick out components of a path (eg. name, parent, stem, suffix, anchor)
• Supports method chaining
• Move and delete files
• And much more
More Info:
• Why you should use pathlib - Trey Hunner
• Answering concerns about pathlib - Trey Hunner
• Official Documentation
• PEP 519 - Adding a file system path protocol
higher-level wrapper around what os.path does
upload_to mayalso be a callable, such as a function. This will be called to obtain the upload path, including the filename. This callable must accept two arguments and return a Unix-style path (with forward slashes) to be passed along to the storage system.
example:
def user_directory_path(instance, filename):
# file will be uploaded to MEDIA_ROOT/user_<id>/<filename>
return "user_{0}/{1}".format(instance.user.id, filename)
class MyModel(models.Model):
upload = models.FileField(upload_to=user_directory_path)
I guess something like this
you'd still have to obtain posttype somehow
def upload_to(instance, filename):
return f'{instance.posttype}/{instance.id}/images/thumbnail'
class MyModel(models.Model):
mainimage = models.ImageField(null=True, upload_to=upload_to)
assuming instance.posttype doesn't contain forward slashes
Does the existence of new ton's law suggest the existence of old ton's law, thus there being two ton's laws?
os.path.join may fail because Django wants forward slashes
(may fail on Windows)
Aha ill try it on any host
I don't have pc 😂
I work from my phone 🙂
Never let anything stop u
Right
I should
go clip a video about map projections
so bad it got into the name of the talk
Bell's theorem is a term encompassing a number of closely related results in physics, all of which determine that quantum mechanics is incompatible with local hidden-variable theories given some basic assumptions about the nature of measurement. "Local" here refers to the principle of locality, the idea that a particle can only be influenced by ...
60 seconds · Clipped by Alisa Feistel · Original video "Instrumenting the real-time web: Node.js, DTrace and the Robinson Projection" by Bryan Cantrill
The Meissner effect (or Meissner–Ochsenfeld effect) is the expulsion of a magnetic field from a superconductor during its transition to the superconducting state when it is cooled below the critical temperature. This expulsion will repel a nearby magnet.
The German physicists Walther Meissner and Robert Ochsenfeld discovered this phenomenon in 1...
(and the one I was originally planning to clip)
https://youtube.com/clip/Ugkxw3BDExPmwEA71trnB43gPJ-OEGathEJs
10 seconds · Clipped by Alisa Feistel · Original video "Instrumenting the real-time web: Node.js, DTrace and the Robinson Projection" by Bryan Cantrill
A controversial campaign aimed at young motorists is running in Australia with the message: "Don’t be a dickhead".
So good
imagine having this hard-coded as the definition of the "projection"
@brisk current did you code the NN yourself?
or do you use the existing library?
i heard NaN
yes, NN outputs NaNs
k
there's also "let's disclose weird stuff so people don't dig into real stuff"
The Voice of God weapon — a device that projects voices into your head to make you think God is speaking to you — is the military’s equivalent of an urban myth. Meaning, it’s mentioned periodically at defense workshops (ironically, I first heard about it at the same defense conference where I first met Noah), […]
like how all the military bases are fond of supporting alien UFOs conspiracy theories just to get people away from discovering what is actually flying there
Garry P. Nolan (born c. 1961) is an American immunologist, academic, inventor, and business executive. He holds the Rachford and Carlota A. Harris Professor Endowed Chair in the Department of Pathology at Stanford University School of Medicine.
Was the Fonz an ayyylien?
Movie I loved as a child and watched the shit out of: Milo and Otis.
I watched it a number of years ago, later. I was appalled.
solving rustlings inside the vs code browser magic
Hi! Is the audio up currently on voice channel0 as I seem to have some audio issues on my end?
I can see gofek's screen only
no one is speaking
This code is working but ihave a problem I want the file or the image to be saved with its name and exstion like
resourepacks/images/thumbnail/image.png
Instead the image is being saved in like dp file like the image
So can you help me ?
I know I ask alot but I have searched and I couldn't find any answers.
Ahh I fixed it
I should put the {filename}
any mod?
here
Hi there 😉
Hi Nova
IDK but I know for a fact that when using more than 1 thread, I certainly saw it go faster
There's a lot of blocking elements and I definitely noted a difference between normal and threaded
Ah I see
It will only use 1 core, but threading can increase performance if you are not utilizing that core entirely
@verbal zenith have you tryied this
IDK if makes any difference
>>> import os
>>> os.name
'posix'
>>> import platform
>>> platform.system()
'Darwin'
>>> platform.release()
'18.7.0'
>>>
it should shows you the OS version
how much does your PC total price cost?
@verbal zenith u running this on one machine?
Hi
50 msg
oh 50
oh ok
ok thanks for the help @ebon sandal
i have a question! @ebon sandal
I'm from morocco!
I'm currently developing a remake of discord
i just started learning python 3 months ago
i have the fundamentals
but i'm looking to meet up with people that have the same interestes as me
@ebon sandal
oh ok, i'm sorry!
thanks for understanding me!
will do don't worry
yeah, i can send a github link, you can just chekc images
would be great
https://github.com/MazineZ/PyDiscord here is the link if interested
it's nothing much, it was made by pygame tho
which was hard definetely challenging
ye ye, ik but it was my first project
it's just for practicing my skills, but yeah what you said is definetely correct, python is a slow of a language for such big app
I was thinking about converting my project into GO, is that a good idea??
Depends on what your goal is?
If it is game development I'd say go for game engines.
If it's to learn python then why would you switch to GO?
i meant once i master python, which is impossible, but at least know all of the advanced topics, i think it's a good idea to move on to another language
GO would most likely be, the way to go
Why would you master something and move on to another thing though. Wouldn't you just utilize your mastery of it to make the world a better place. If that's possible.
Hello
oh no no
that's not what i meant
i meant like getting mostly all of the advanced topics
that you need to know as a python programmer
ye
i would like to move on to GO because python lacks perfomance
don't worry buddy, you take your time
cpu performance
CPU performance isn't always the requirement for every project.
My mentor did a test between python and go, go was efficiently faster
That's kind of obvious
ye for my specific case i need that perfomance
You could write your module in c and import it to python
you can use cython
That too
ye that' s what i had in mind, but go is growing larger, so i think acquiring such valuable language is really gonna be worth a while
I think python in general lacks perfomance, the fact that you can only use one cpu core, is kinda bad
Is Go worth learning 2023?
Overall, Go is a great choice for building web applications, cloud services, and distributed systems. It is fast, reliable, and easy to learn and use. It also has a wide range of features that make it stand out from other programming languages.
i searched this up, and it turns out, that go is worth learning in 2023
i see a lot of people starting to learn go and rust.
i think it might be worth it
but i am black so no offense
@rugged root when i try to join other servers it say are u human and when i click the check point box it block or kick me from image selection stuff
group
ok just froget it
I just don't know what you mean by group
let me ask you question @rugged root when you try to get or join in a server it says are u human captcha stuff right?
It can but I don't think I've had it happen to me
@whole bear Can you check your mic settings or turn on Krisp?
We're getting some weird mic feedback
HA
Forgot about that one
I hate that it can even be a joke
A thrice-weekly webcomic written and illustrated by Reza Farazmand. New comics every Monday, Wednesday, and Friday.
"We're moving you to cloud."
from django.db import models
# Create your models here.
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField("date published")
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
anyone who has a real job
-_-
wait are u talking to me??
ok when you get interview there is CV stuff right?
Usually. Although if you're wondering more about career stuff and what not, #career-advice would have better answers than I can offer. Plus there's likely folks that are from where you're from so they can give you more specific answers
tnx
Happy to help
So you said you were wanting to get started on learning Python? Have you decided what resources to use to get started?
i dont know just i havent been coding over 2 months
so i will learn python and c++ from now on
The Resources page on our website contains a list of hand-selected learning resources that we regularly recommend to both beginners and experts.
We'll we've got a bunch of resources to get you back up to speed on Python
I typically recommend "A Byte of Python"
are those bot??
wait i will come back in just mintues
Hello
@rugged root can u send me youtube link pls
For which?
lol, what
It's a weird request
u know my country has even blocked google right and it doesnt even work
what????????????
china?
ethiopia
why
cuz complicated religioun war stuff
give a hint or summery i'll google the details
Even through Discord, having the link from here wouldn't help you.
say like ethiopian christian orthodox and abiy war
I mean that wouldn't change how you'd get to the site via hyperlink
The site is still the site
Ethiopia’s Orthodox Christian Church is locked in a bitter feud with the government of Prime Minister Abiy Ahmed, the former Nobel Prize winner turned war-man.
The church claims state interference in its affairs. It threatens mass defiance, and thus a historic split looms in one of the world’s most ancient and largest Orthodox churches.
this is a news article
VPN
nah my family is only android
download a vpn for free. and then u can use google again with vpn
the thing is that my wifi is bad
welp its upto you is using google or your internet speed is more important
just send me a random website link anyone
You can type the link yourself and it'll turn into a hyperlink
Just have to do the https:// first
if you use a vpn (WHICH IS FREE) you can use youtube
Potentially
like how?????????????
If they're blocking VPN hosting servers then it's moot
just send me a free vpn linked website for macOS pro
it worked BABY!!!!!!!!!!!!!!!!!!!
@mossy cedar utube worked
thanks
wait they can do that ?
damn ;-;
All the VPN stuff gets routed to that server
so if a country really wishes they can take down all the webs ? (for them)
@mossy cedar @rugged root with out u i would'nt wash some cold and sigma vids
North Korea and China do their best to do so
i hate being feminist
....what?
but i mean
That came out of nowhere
Being right isn't always easy.
ok-_-
U DONT NEED MANY FRIENDS TO WIN U NEED REAL FRIENDS TO WIN REMEBER LAMBO HAS ON 2 SEATS TO WIN IT @mossy cedar @somber heath
🙂
u 13 u gon regret saying dat ever. make fren always everywhere as much as u can.
hel na everybody is fake
even if they fake fren the connection is good enough
nope
your choice. you'll suffer in future. not my concern
wait the helll up
There's a Scottish aeronautics et al company. It's called Loch Heed Martin.
are u female??
y
cuzzz
:3 maybe
ayo
wat
ok who is better
me]
Grilled ginger smells amazing and goes well in cookies.
dey human all is gud
YES IT DOES
wat
And grilled garlic goes well with bread.
Specially with butter
Oh, my, yes.
IDK Y I IMAGINE U LIKE A GRAMMA RN-
I had this idea you didn't like garlic.
cheff sound
me ? i can eat raw garlic
No, Hemlock.
some ppl do eat it raw here
no-
A couple (Jenna Ortega, Marcello Hernández) has a serious conversation about their relationship outside of the Waffle House.
Saturday Night Live. Stream now on Peacock: https://pck.tv/3n1IyzK
Subscribe to SNL: https://goo.gl/tUsXwM
Stream Current Full Episodes: http://www.nbc.com/saturday-night-live
WATCH PAST SNL SEASONS
Google Play - http:/...
"It's not just a waffle house, it's a waffle home."
who is better messi or ronaldo
m
I mean.... are you looking to get banned or trying not to?
And if the meme is relevant to what's going on/being discussed and it's server appropriate, then it's fine
Just don't spam them
Whosa good match? Whosa fuzzy match? You are! Yes, you are!
lmao
I'm getting into intermediate level of programming in python and im making a chess game rn with pygame. But I'm starting to think the project is going to be more complex than what pygame can do with its built in functions. I'm just wondering if continue with python or learn a new language like java or c/c++ which are more in tune for game development?
ps sorry if that was little long i tried talking in the career discussion chat but couldnt get anyone
yeah
ok got it
i also plan to get into AI so i kinda need python
thats the only reason i didnt go into another language
true
pygame is a super great library just wasnt sure if it would be suffecient for larger projects but i think ur right opal i should just continue in python pygame
alr
ye lmao
i agree
matt what are all the stuff u know
from all the projects
that youve done
thats cool
we got it
dang
why dang
ok
wow
thats super cool
guys if you wanted to keep track of say a bunch of accounts for an application, and you wanted to use files and not data bases, what kind of files would you use?
just curious
would it be like json files or?
for example usernames, passwords, and different scores theyve made overtime in a game
oh ok
ye
never used anything passed a list or numpy array so just was curious on that
It's a fair question
:)) thanks for the answer really helpful 👍
For something like that, you can do a JSON, since it'd just be standard dictionary style
Happy to help
I love fielding questions like this
oh ok cool
But at the same time, something like a simple SQLite database could work
One table with the columns you described
ok
I guess like you said it really just depends on the size of your project and security reasons and stuff like that if you want to use a data base or just small files
Right. Some things to keep in mind.... If you think you're going to get a fair number of users, it probably better to adopt a database earlier rather than later
That way you don't have to try and convert a big ass file later down the line
Or adjust your code to now use the database
The benefit of something like SQLite is that it is just a single file
You don't need to have a separate database server or hosting to use it
It's just there in place
Right ok cool
And there's packages/libraries for it in damn near every language
Python just happens to come with it
you seem to have alot of knowledge this kind of stuff, can I ask what projects you did to learn all this stuff?
im trying to think of things I want to learn in computer science down the line
So I'm not in the industry and I wasn't a comp sci major
I just try lots of things and see what works and doesn't
I've really only had one project I was proud of
Majority of what I know is from helping others and my little protyping things
I was a Computer Information Systems major
Yep, I love the pursuit
Not to say I wouldn't like to actually make more things
But I get easily distracted and lose confidence fairly quickly
Slowly working on that
But it does mean I'm well rounded with my knowledge and can at least pass that on to others
relatable
thats really cool btw
IT is my true love
my dad does the same thing its really cool
well, thanks for the info Mr. Hemlock
that helped alot
I think I know what I need to do for my project now
Cool! If you have any other things you want to bounce off me I'm all ears
Questions, ideas, whatev
Thanks man, will do 👍
hello
hello
where are u from Nando ?
Brazil
and you?
@lunar haven What do use to do the 'text-to-speech' in the page?
Hello
Oh there is rainbow here lol
Oh nice, another brasileiro
That depends largely on what you need help with.
@teal pasture 👋
see in #code-help-voice-text
👋
Discord bots aren't my thing. Try poking around #discord-bots and #❓|how-to-get-help
@patent gyro We'd prefer if you didn't advertise those kinds of links in this server, so I've removed them 🙂
Source code: Lib/heapq.py
This module provides an implementation of the heap queue algorithm, also known as the priority queue algorithm.
Heaps are binary trees for which every parent node has a value less than or equal to any of its children. This implementation uses arrays for which heap[k] <= heap[2*k+1] and heap[k] <= heap[2*k+2] for all k, counting elements from zero. For the sake of comparison, non-existing elements are considered to be infinite. The interesting property of a heap is that its smallest element is always the root, heap[0].
to avoid mixing ints into the stack, but requires making new nodes
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
trees = [root]
traversed = []
while trees:
tree = trees.pop()
match tree:
case None:
pass
case TreeNode(val=val, left=None, right=right):
traversed.append(val)
trees.append(right)
case TreeNode(val=val, left=left, right=right):
trees.append(TreeNode(val, None, right))
trees.append(left)
case _:
raise TypeError
return traversed
@midnight agate
if it's a stack of trees, then maybe that special case is unnecessary
I have a version of it which never pushes None into the stack
(without handling root separately)
do the spoilers for code still work?
||
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
nodes = []
def push(tree):
if tree is not None:
nodes.append(tree)
push(root)
traversed = []
while nodes:
node = nodes.pop()
match node:
case TreeNode(val=val, left=None, right=right):
traversed.append(val)
push(right)
case TreeNode(val=val, left=left, right=right):
push(TreeNode(val, None, right))
push(left)
case _:
raise TypeError
return traversed
||
@midnight agate are you free
@vocal basin , @whole bear , @rugged root hello all of you
how is it going
@midnight agate hello
while let Some(node) = nodes.pop() {
...
}
in Rust, I'd have it as Vec<Node>
which would be cheaper on memory than storing val in an enum variant
but more memory expensive than Vec<Box<Node>>
Oh huh. They apparently finally made spoilered codeblocks work on mobile
sup @somber heath
Yes, well, Hemlock, you made the mistake of showing you were around in chat.
hi
Also, happy garbage collection month!
wow it's tough to be able to speak in this channel btw
Alas, it is better with the restrictions than without
A small negative to eliminate a far greater negative.
what are you guys doing rn?
The crafty mines.
Playing more or less with just Create. Giving Fabric a whirl, vs Forge.
Because apparently it's better, but most of the stuff I enjoy is on Forge, but if people never use Fabric, there won't be an impetus to migrate
i'm solving system of non-linear equations on python, lot's of fun...
Haven't done a runthrough with create.
So I'm learning as I go.
I gave someone else a lol
Fabric is more lightweight; but, afaik, the "bloat" that Forge has is quite heavily relied upon in some mods (because it's all the integration and cross-mod compatibility systems)
I recently attempted helping someone with smoothing the graph like this
some specific question?
It's like a gentle vacuforming.
Yes, drapey.
I did say gentle.
so, a relational model specifically, I guess
yep the problem is that for each movie there are sessions (let's say 18:30, 20:30 and so on) and i want to implement seat booking foe each session but it seems like i have to create a new db every time i create new session as an admin. Is it a good practice?
no, creating new tables/dbs per some data point often is not a good practice
the more common and simple approach is to add a column specifying what session a ticket refers to
with a separate table listing all existing sessions
per each ticket:
(session, seat) pair is unique
session is a foreign key to a table of all sessions
i haven't thought about it. thanks!!! i really had no clue what should i do
still not sure how to make seat work strictly
that would be a check not a foreign key, I think
there is another way though
to duplicate theatre in ticket
(session, theatre, seat) contained in a ticket
(session, theatre) foreign key to sessions table
(theatre, seat) foreign key to seats table
ticket reservation system has a certain other aspect which makes things difficult
that timer thingy which is a temporary mutex (and how fine-grained it is depends on the specific case)
have to finish it till Monday 😦
anyway thanks for helping guys! i'll go and try to do it
sounds like a memory-resident key-value store (Redis) would be fit for that
Fair
Although I still relational could work
We just have to condense our thinking
Crap, I have to focus on work
You guys are too interesting
Hello guys I need a help in preparing javascript algorithm anyone here who can help me out,I highly appreciate if anyone of you could hellp me,Thanks
what algorithm?
For a given sentence, find occurrences of given character set. Pick filtered words and generate permutations. (SENTENCE AND CHARACTER SET ONLY CAN HAVE UPPERCASE LETTERS)
Show selected words & permutations
Example :
Inputs sentence = "THIS IS AN ISSUE FROM GIHAN" word = "IS"
Output { words : ["THIS", "IS", "ISSUE"], permutations : [["THIS","IS","ISSUE"], ["IS","THIS","ISSUE"], ["ISSUE","THIS","IS"], ["THIS","ISSUE","IS"], ["IS","ISSUE","THIS"], ["ISSUE","IS","THIS"]] }
the desrcibed problem has two distinct parts to it
or, rather three
split into words
filter words
permute words
can you build an algo for the above case
first two are simple
Im new to programming can you please build an algo for this
JavaScript, right?
yep
you don't need an algorithm for the first two steps
these are done using built-in JavaScript methods
(of arrays and strings)
step 1: one string method call
step 2: one array method call, one string method call
step 3 is difficult, idk how to solve it
This is going to be my assesment for the trainee position for web developer,They told me to do the assesment even with the help of chatgpt they dont want to know how i do it,they are just expecting the correct answer thats all
Please help me
@rugged root please help me
if I was doing it, I'd just translate itertools.permutations from Python to JS
https://docs.python.org/3/library/itertools.html#itertools.permutations
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split#using_split
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter#examples
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes#using_includes
@rugged root loop for filtering?
there's [].filter
A guide to solving LeetCode #46: Permutations
this one is actually non-recursive
I started with python in 2020 but due to addiction to online games i couldnt stay focused
there some quite are clever permutation enumeration algorithms but I don;t remember any
wth is that while n:
do you know how push to an array in JavaScript?
@rugged root Please help me build it
yes
I tried 2 days
without sleep
today is last day thats why
that's the reason why you can't solve it
sleeping is necessary
Yes but I need the job so i can help my family we all are struggling to live and my father is loosing his job
I searched the web and tried my level best even chatgpt is not giving correct output
or, another option:
solve it without pattern
can you make it return this?
[["o", "o", "o", "o", "o"],
["o", "o", "o", "o", "o"],
["o", "o", "o", "o", "o"],
["o", "o", "o", "o", "o"],
["o", "o", "o", "o", "o"]]
without "x"s at first
what if
what if I installed IJavascript kernel in Jupyter
@serene condor Can this be a Python problem?
no its JS
@serene condor Do you know what a for loop is in Python?
yes
solution in python is quite easily translated into js
can you give me a python solution even
Have you used range to get numbers?
Combined with for.
@rugged root "We're called managers for a reason, sweetheart."
looks outdated
(potentially)
or just done
You have faith in people?
this is not right, right?
GUYS PLEASE HELPPPPP MEEEE PLEASEEE THIS IS LIKE BETWEEN LIFE AND DEATH SITUATION
Stop begging, we've given you the pieces you'd need, we've also told you that we're not doing this for you.
I did the thing
what is this
JS/TS kernels in Jupyter
Oh great
Thank you that you are trying to help me
the thing isn't working...
Nobody:
You: A is better than B.
Us: But A is awful!
You: It's just like, a comparison, man.
my condolences
"Dearly beloved, we have gathered here today to mourn the loss of Fredrik's headset..."
Figure 1: frog.
Trying to distract myself from work!
(sample overleaf project)
A little. Deadline and all that.
Also doesn't help that my manager is supposed to do quarterly reviews.
We still haven't done the first one for the year!
They do tell me I am doing well. Would be good to have it recorded formally.
!voice @serene condor
Can’t talk in voice chat? Check out #voice-verification to get access. The criteria for verifying are specified there.
at least quarterly isn't as useless as annually
https://youtu.be/1KeYzjILqDo?t=1134
Back shortly
Mm. I can barely remember what I did last month. And it's only the first.
Association is not apostasy.
if you want to set the whole place on fire, do it just after the review, so people forget it by the time the next review comes
Nor am I religiously inclined...kind of the opposite. But I think that you could ask yourself a question: Does Allah know your heart? Take comfort in the answer.
It might not matter what position you're in...but some positions may be more hazardous than others!
Laying down seems to carry at least one risk.
Dombra instrument
One of my absolute favorite exchanges between a robot and a human.
From the flick "I, Robot."
This movie has nothing to do with apple by the way.
Cheers!
I manage a team of 8 and have to complete their annual evaluation reports this week... trust, is not a fun time from the other side of the table either.
Becomes even harder when your team goes above and beyond because the entire point is to acknowledge strengths and find areas to improve. Hard to tell someone where they can improve when they're already above and beyond.
Just makes me feel like a d*ckhead. /rant
Dieter Hartmann-Wirthwein patented a system in which four cylinders operate using only one single connecting rod. This allows all four pistons to work as a single mechanical assembly, which transmits power to the crankshaft via a single connecting rod on a single crankpin
My manager tells us to write up what we think we can improve on, preferably things we can act on by the next review, and then he paraphrases it for the reports.
Ngl, seems a bit lazy, no?
Perhaps. He is not particularly well-versed in giving solid feedback.
I'm Matt, and here on DIY Perks you'll find plenty of interesting projects on a variety of topics!
Want help with a project? The official forum is a perfect place to start! Don't forget to help others out with your knowledge, too! https://forum.diyperks.com
We also have a live-chat Discord server so you can talk DIY to like-minded individuals!...
Because I still have work to do
And I'd rather connect to our VPN and remote in rather than do the work directly on my lappy
HHO generators, composites, 3D printing and much more.
ALEX LAB BLUEPRINTS
PDF step-by-step DIY guides are available for Channel Members in the Community tab.
Join the team right now! http://youtube.com/alexlab/join
If YouTube Membership is not available in your country, you can get PDF blueprints on Patreon.
https://www.patreon.com/alex_lab
H...
Home chemistry, where we try and investigate the cutting edge of modern explosives science, talk about some of the classics of the energetics field and just generally shitpost.
Explosions&Fire(1) ran from 2011-2017, with over 90 videos on various chemistry and energetics, before we got 3 community guideline strikes in 2 hours, for putting chil...
Exploring theoretical physics (GUTs), consciousness, and AI. If you'd like to support this endeavor then please visit the Patreon (https://patreon.com/curtjaimungal). Thank you for your charitable and kind hearted support.
I'm Curt Jaimungal, a Torontonian filmmaker making a documentary on the above topics (as for what shape the final settled p...
Independent journalist making videos that help you better understand the world
Support my work here: https://www.patreon.com/johnnyharris
Media/News rep: marc.paskin@unitedtalent.com
Brand/YouTube/Social rep: rebecca.bibb@unitedtalent.com
I recently launched: http://brighttrip.com where we make and sell travel courses
This is a science and technology channel mainly focused on electrical and mechanical engineering.
https://www.patreon.com/TPAI
https://www.subscribestar.com/TPAI
Former toy designer, current YouTube maker and general robotics, electrical and mechanical engineer, I’m a fan of doing it yourself and innovation by trial and error. My channel is where I share some of my useful and not-so-useful inventions, designs and maker advice. Iron Man is my go-to cosplay, and 3D printing can solve most issues - broken b...
g2g, cheers
peace dude
I was the second in the session.
A computer video series focusing mainly on retro technology from the 80s, 90s and 2000s. However, once or twice a year I'll create something totally "out there." My main goal at this point is to make educational content about retro technology that is interesting and engaging. Some people will be re-living their childhood, while others will be ...
@pale sigil already subd 😉
Yeah I just found him😅
Hi everyone. Are all voice chats empty or I just can't see/listen members because I'm new in that community and don't have enough rep?
right now its empty
the rep is only needed to speak
you can always join
!code
This is semi pseudocode for a file explorer back-end
def handel(name, extesnsion, task):
task = task
match task:
case "create":
with open(f"{name}.{extesnsion}", "w") as f:
f.write()
case "delete":
pass
case _:
return False
def push(type: int = 0, name: str = None):
match name:
case None:
return "Error+name"
case _:
match type:
case 0: # file
handel(name, "create")
case 1: # folder
handel(name, "create")
case _:
return "Error+type"
# file/folder parent
class content:
def __init__(self) -> None:
pass
# file child
class file(content):
def __init__(self, name) -> None:
super().__init__()
self.name = name
@classmethod
def create_file(self, extesnsion):
name = f"{self.name}"
push(name, 0, extesnsion)
@classmethod
def delete_file(self, extension):
handel(self.name, extension, "delete")
# folder child
class folder(content):
def __init__(self, name) -> None:
super().__init__()
self.name = name
@classmethod
def create_folder(self, extesnsion):
name = f"{self.name}"
push(name, 1, extesnsion)
@classmethod
def delete_file(self, extension):
handel(self.name, extension, "delete")
The idea is that there is a parent class called content that is curently not in use, and that the children classes are file and folder that that have methods to delete and to create that will be handed by the handel ** (File and Folder Handler used to manage the files) **
|I!i @vocal basin i!I|
don't shadow built-ins
type -> path_type
don't use magic constants
FILE = 0
DIRECTORY = 1
there's also
!d enum
New in version 3.4.
Source code: Lib/enum.py...
name: str = None
strictly, it's name: str | None = None
probably better to just avoid passing None into the functiion
!pathlib has quite a good system of abstractions for paths
Python 3 comes with a new module named Pathlib. Since Python 3.6, pathlib.Path objects work nearly everywhere that os.path can be used, meaning you can integrate your new code directly into legacy code without having to rewrite anything. Pathlib makes working with paths way simpler than os.path does.
Feature spotlight:
• Normalizes file paths for all platforms automatically
• Has glob-like utilites (eg. Path.glob, Path.rglob) for searching files
• Can read and write files, and close them automatically
• Convenient syntax, utilising the / operator (e.g. Path('~') / 'Documents')
• Can easily pick out components of a path (eg. name, parent, stem, suffix, anchor)
• Supports method chaining
• Move and delete files
• And much more
More Info:
• Why you should use pathlib - Trey Hunner
• Answering concerns about pathlib - Trey Hunner
• Official Documentation
• PEP 519 - Adding a file system path protocol
pseudo
!pep8
PEP 8 is the official style guide for Python. It includes comprehensive guidelines for code formatting, variable naming, and making your code easy to read. Professional Python developers are usually required to follow the guidelines, and will often use code-linters like flake8 to verify that the code they're writing complies with the style guide.
More information:
• PEP 8 document
• Our PEP 8 song! :notes:
Path.unlink(missing_ok=False)```
Remove this file or symbolic link. If the path points to a directory, use [`Path.rmdir()`](https://docs.python.org/3/library/pathlib.html#pathlib.Path.rmdir "pathlib.Path.rmdir") instead.
If *missing\_ok* is false (the default), [`FileNotFoundError`](https://docs.python.org/3/library/exceptions.html#FileNotFoundError "FileNotFoundError") is raised if the path does not exist.
If *missing\_ok* is true, [`FileNotFoundError`](https://docs.python.org/3/library/exceptions.html#FileNotFoundError "FileNotFoundError") exceptions will be ignored (same behavior as the POSIX `rm -f` command).
Changed in version 3.8: The *missing\_ok* parameter was added.
!d pathlib.Path.rmdir
Path.rmdir()```
Remove this directory. The directory must be empty.
these two
try:
methods inside BaseException class
Exception is specifically for non-exit exceptions
!e
print(f'{issubclass(Exception, BaseException)=}')
print(f'{issubclass(SystemExit, BaseException)=}')
print(f'{issubclass(SystemExit, Exception)=}')
print(f'{issubclass(ValueError, Exception)=}')
@vocal basin :white_check_mark: Your 3.11 eval job has completed with return code 0.
001 | issubclass(Exception, BaseException)=True
002 | issubclass(SystemExit, BaseException)=True
003 | issubclass(SystemExit, Exception)=False
004 | issubclass(ValueError, Exception)=True
!e
print(dir(Exception))
@vocal basin :white_check_mark: Your 3.11 eval job has completed with return code 0.
['__cause__', '__class__', '__context__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__suppress_context__', '__traceback__', 'add_note', 'args', 'with_traceback']
@warm atlas each exception needs to have certain methods
@warm atlas try this: https://chat.openai.com/?model=text-davinci-002-render-sha
That’s an understatement
Fr
... __traceback__,args and with_traceback are most prominent as far I saw them used
Reminder that chatgpt doesn’t make code, chatgpt makes text that superficially resembles code
I think this one is new
https://docs.python.org/3/tutorial/errors.html#enriching-exceptions-with-notes
it's 3.11
https://peps.python.org/pep-0678/
Python Enhancement Proposals (PEPs)
!e
class FakeException:
pass
e = FakeException()
e.add_note("some note")
@vocal basin :x: Your 3.11 eval job has completed with return code 1.
001 | Traceback (most recent call last):
002 | File "/home/main.py", line 5, in <module>
003 | e.add_note("some note")
004 | ^^^^^^^^^^
005 | AttributeError: 'FakeException' object has no attribute 'add_note'
The Exception class is the base class for all built-in exceptions in Python. By inheriting from this class, your custom exception inherits all the essential properties and behaviors of an exception. It ensures that your custom exception is compatible with the existing exception hierarchy and can be handled correctly by the exception handling mechanisms .
this answer is not specific to exceptions
The Fruit class is the base class for all built-in fruits. By inheriting from this class, your custom fruits inherits all the essential properties and behaviors of a fruit. It ensures that your custom fruit is compatible with the existing fruit hierarchy and can be handled correctly by the fruit handling mechanisms.
it's just a Ctrl+H type answer
Job security: people think chatgpt isn’t just making text that resembles code and thus use it as a crutch instead of actually learning skills. This allows those of us who actually put in honest work to get ahead.
!e
class RealException(Exception):
pass
e = RealException()
e.add_note("some note")
@vocal basin :warning: Your 3.11 eval job has completed with return code 0.
[No output]
.add_note is something that you as a programmer are actually supposed to use directly unlike the other Exception methods
so, since 3.11, you can demonstrate that necessity in code without digging into special methods
@turbid sandal it's very good at giving fake references
@whole bear PHP becomes less garbage with each year passing
how the syntax its horrible
wtf did you say?
React as a competitor to PHP??
i mean node js
my bad
Next.js if you mean React-specific
Did someone mention JavaScript
!e
n = 4
for a in range(1, n+1):
for b in range(n, 0 ,-1):
if b != a:
print(b, end="")
else:
print('*', end="")
print("")
@whole bear :white_check_mark: Your 3.11 eval job has completed with return code 0.
001 | 432*
002 | 43*1
003 | 4*21
004 | *321
lol
@vocal basin did you mute me or what?
not yet
lol
Give it time
cuz she joined server recentttly
she has been here for more than three days
lol it took me 2 month to verify the voice thingy
even if I verify, I wouldn't speak anyway
fun fact: ctrl+shift+arrow text selection is broken in Discord
Those who speak loudest usually have the least to say
🧐
when deselecting
it goes character-by-character instead of word-by-word
#Answer 1 : Exception class is used because in the custom exception we have to create a class
# and it needs to have the needed properties to use the raise keyword for an exception to raise
is it good?
not in better discord XDD
TOS
TOS
who care
TOS
TOS
!rule 5
5. Do not provide or request help on projects that may violate terms of service, or that may be deemed inappropriate, malicious, or illegal.
!rule
!rule 2
2. Follow the Discord Community Guidelines and Terms of Service.
!rule 3
hahhaa well im using it for 2 years
Three rules broken just by using betterdiscord. And you can get banned for using it.
!rule 3
better not to brag about it to be safe
me?
Be glad hemlock isn’t here, although at most he’ll warn you.
well discord even knows about it, if u are using discord api under their guidline everything safe
@whole bear why you leave
oh cuz i joined another vc mistake
We can ping the mods and find out real quick what this server’s policy is
umm yes
am i promoting it?
Yes
also, "it IS against discord tos" just as the comment says
where did i said u to install it?
Mentioning something called “Better Discord” is inherent promotion
ohk then if u say so im sorry then
section a:
[You will not (and will not attempt to or permit or enable others to)] reverse engineer or otherwise derive source code, trade secrets, or know-how from the APIs, except to the extent this restriction is prohibited by applicable laws
section b:
[You will not (and will not attempt to or permit or enable others to)] modify, create derivative works, copy, reproduce, redistribute, rent, lease, sell, or syndicate access to the APIs
section c.i:
[You will not (and will not attempt to or permit or enable others to)] access or use the APIs in any way that is not in accordance with the applicable Documentation
"except to the extent this restriction is prohibited by applicable laws"
^ that clause is there because in some jurisdictions you're allowed to reverse-engineer the source code, but not allowed to publish the results
i am not publishing it
You are contributing to the spread
"not enough 'non-'s in that sentence"
anyway thnx for the info
@vocal basin
what?
Are we having a picnic?
can you help me writing the code for printing hierarchy of Exceptions clas
*class
just let me figure it out
and help me
what do you mean by "printing hierarchy of Exceptions class"?
!e py print(ValueError.mro())
@somber heath :white_check_mark: Your 3.11 eval job has completed with return code 0.
[<class 'ValueError'>, <class 'Exception'>, <class 'BaseException'>, <class 'object'>]
?
Where’s verboof and his ajvar
hierarchy of all the exception error has according to its priority
very expressive dependency section
priority in which sense?
"it goes"
wait, why are there two of them
Expression / line evaluation order and whatever exception happens first, there?
depends on the specific application
yes
but can you help me printing it?
Yes, well...just so.
I could tell you the order, but programmatically, not so much.
i have googled it maybe can be achieved by inspect module
it's almost always the first error that's raised
what is an example input-output for what you're trying to do?
python's notion of error/exception isn't really about errors and/or exceptions
StopIteration isn't an error, neither is it an exceptional situation
even though it derives from Exception
!e
it = iter([0, 1, 2])
print(next(it))
print(next(it))
print(next(it))
print(next(it))
@vocal basin :x: Your 3.11 eval job has completed with return code 1.
001 | 0
002 | 1
003 | 2
004 | Traceback (most recent call last):
005 | File "/home/main.py", line 5, in <module>
006 | print(next(it))
007 | ^^^^^^^^
008 | StopIteration
but
uncaught StopIteration is an error
it becomes an error when you fail to catch it
semantically, it's not an error
it is an exception, in Python terms
.
so, you just want a class hierarchy of errors, right?
---> Exception
------> TypeError
---------> MultipartConversionError
---------> FloatOperation
------> StopAsyncIteration
------> StopIteration
------> ImportError
---------> ModuleNotFoundError
---------> ZipImportError
------> OSError
---------> ConnectionError
------------> BrokenPipeError
------------> ConnectionAbortedError
------------> ConnectionRefusedError
------------> ConnectionResetError
--------------> RemoteDisconnected
!e
def hierarchy(type_, depth=0):
print(' ' * depth + type_.__name__)
for subtype in type_.__subclasses__():
hierarchy(subtype, depth + 2)
hierarchy(BaseException)
@vocal basin :white_check_mark: Your 3.11 eval job has completed with return code 0.
001 | BaseException
002 | BaseExceptionGroup
003 | ExceptionGroup
004 | Exception
005 | ArithmeticError
006 | FloatingPointError
007 | OverflowError
008 | ZeroDivisionError
009 | AssertionError
010 | AttributeError
011 | BufferError
... (truncated - too many lines)
Full output: https://paste.pythondiscord.com/odaxucigum.txt?noredirect
@vocal basin :white_check_mark: Your 3.11 eval job has completed with return code 0.
SomeClass
BaseException includes certain "exit" exceptions, as well as normal exceptions
Exception is supposed to hold only "non-exit" exceptions
!e
try:
exit(1)
except SystemExit as e:
print(e)
raise
@vocal basin :x: Your 3.11 eval job has completed with return code 1.
001 | Traceback (most recent call last):
002 | File "/home/main.py", line 2, in <module>
003 | exit(1)
004 | ^^^^
005 | NameError: name 'exit' is not defined
eh
doesn't work here
there are two most common exit exceptions:
SystemExit and KeyboardInterrupt
first happens on exit() call
second happens on Ctrl+C and/or when SIGINT signal is received
!e
import asyncio
def hierarchy(type_, depth=0):
print(' ' * depth + type_.__name__)
for subtype in type_.__subclasses__():
hierarchy(subtype, depth + 2)
hierarchy(BaseException)
@vocal basin :white_check_mark: Your 3.11 eval job has completed with return code 0.
001 | BaseException
002 | BaseExceptionGroup
003 | ExceptionGroup
004 | Exception
005 | ArithmeticError
006 | FloatingPointError
007 | OverflowError
008 | ZeroDivisionError
009 | AssertionError
010 | AttributeError
011 | BufferError
... (truncated - too many lines)
Full output: https://paste.pythondiscord.com/woziqerero.txt?noredirect
as you can see in the full output, importing modules affects the result
for example, another exception appeared: CancelledError
generally, you're not supposed to catch and ignore/suppress exit exceptions
except block with them would almost always end with an empty raise (which re-raises that same exception)
... unless you're really trying to mess with the control flow
try:
...
except BaseException as e:
handle_the_error()
raise
in this case raise is almost the same as raise e
!e
try:
1 / 0
except BaseException as e:
print(f"caught {e.__class__.__name__}: {e}")
raise
@vocal basin :x: Your 3.11 eval job has completed with return code 1.
001 | caught ZeroDivisionError: division by zero
002 | Traceback (most recent call last):
003 | File "/home/main.py", line 2, in <module>
004 | 1 / 0
005 | ~~^~~
006 | ZeroDivisionError: division by zero
!e
try:
1 / 0
except BaseException as e:
print(f"caught {e.__class__.__name__}: {e}")
raise e
@vocal basin :x: Your 3.11 eval job has completed with return code 1.
001 | caught ZeroDivisionError: division by zero
002 | Traceback (most recent call last):
003 | File "/home/main.py", line 5, in <module>
004 | raise e
005 | File "/home/main.py", line 2, in <module>
006 | 1 / 0
007 | ~~^~~
008 | ZeroDivisionError: division by zero
this explicitly tells that the error didn't happen inside except: block
that's why raise line doesn't appear in the traceback
this part is shown only in the second case
003 | File "/home/main.py", line 5, in <module>
004 | raise e
!e
try:
1 / 0
except:
raise
@vocal basin :x: Your 3.11 eval job has completed with return code 1.
001 | Traceback (most recent call last):
002 | File "/home/main.py", line 2, in <module>
003 | 1 / 0
004 | ~~^~~
005 | ZeroDivisionError: division by zero
yes, it adds an extra line to the traceback when raise something is used
(regardless of whether something was caught previously)
empty raise also works with empty except
though empty except is generally not a good practice
#include <stdio.h>
int main() {
int N;
int count = 1;
printf("Enter number of rows between 2 and 9: ");
scanf("%d", &N);
if (N < 2 || N > 9){
printf("ERROR: enter a number within range.");
return 1;
}else{
for (int i = 0; i < N; i++){
for (int j = 0; j < N - i; j++){
printf("%2d ", 0);
}
for (int j = 0; j < N; j++){
printf("%2d ", count);
count++;
}
for (int j = 0; j < i + 1; j++){
printf("%2d ", 0);
}
printf("\n");
}
}
return 0;
}
```c
#include <stdio.h>
int main() {
printf("use Discord's markdown support\n");
return 0;
}
```
#include <stdio.h>
int main() {
printf("use Discord's markdown support\n");
return 0;
}
hey 👋
None
"""
def is_float(string):
try:
float(string) # try to convert the string to a float
return True # if successful, return True
except ValueError: # if there is a ValueError, it means the string is not a valid float
return False # return False
"""
is 0.00.01 a version?
Git is partially made to avoid having versions as directories
there are tags and branches for this
tags for versions
branches for major versions
(because you might want to update major versions separately)
tts?
google cloud text-to-speech isn't free, afaik
google translate text-to-speech is questionably legitimate
because it's undocumented
there is pyttsx3 which is offline
I think it (partially?) uses the native OS tts functionality
https://pyttsx3.readthedocs.io/en/latest/support.html
@ebon mist if it's just notes and not a Python file, you can make it a .md file (Markdown) to make it clear
if you're using VS Code / PyCharm, you'll be able to see the preview of it too
multiple references to the same node exist at times
@lunar haven 👋
if right is not None, this pushes two references to right into the stack
push(right)
stack.append((Visit.VALUE, node))
if the algorithm doesn't need to "consume" the tree as it traverses it, then fine
which, looking at what types Rust version of the problem uses, it doesn't
(so multiple references thing doesn't actually matter)
If anyone needs a Curse word detection for their discord bot Then DM me
if there's a restriction on having types uniform, then probably not much to be improved with this
paid?
no for free
it was easy to make
check your dms instead @midnight agate
(checking for the sake of !rule 6 and !rule 9)
it took so long...
but I can run Rust in Jupyter now
even allows doing ? unwrapping
(probably just has blanket From<T: Display> for the error)
from the example the docs give:
it looks for a method named evcxr_display
then for Debug implementation
i wonder if you could do something like <script>alert()</script> inside the display function
yes
it works, so don't run on untrusted data
amazing, but now I'd be paranoid of people providing "debug method" that is secretly mining bitcoin
this seems... way too complicated
maybe that's the real reason why that "test system in Jupyter" actually existed?
def in_order(self, root: Optional[TreeNode]) -> List[int]:
result = []
def run(node):
if node:
run(node.left)
result.append(node.value)
run(node.right)
run(root)
return result
I still think handling root separately is unnecessary
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
inorder = []
stack = []
def push(node):
if node is not None:
stack.append((Visit.BRANCHES, node))
push(root)
...
cheeky "technically":
def in_order(self, root: Optional[TreeNode]) -> List[int]:
def run(node):
if node:
yield from run(node.left)
yield node.value
yield from run(node.right)
result = []
for val in run(root): result.append(val)
return result
if root is None is extra
what really is recursion if not spicy loops
what does yield-from optimisation (?) actually do?
(iirc it's not just syntactic sugar)
I don't think it optimizes anything I just didn't want to rewrite it
the "technically" was from me collecting the values in the final loop
lol my bad, yield node.value
there are some specific fields in generators to handle yield-from case
but i have loop!!!!
/s
I'd probably just do something like (have not run it):
def in_order(root):
stack = [root]
result = []
while stack:
cur = stack.pop()
match cur:
case TreeNode(): stack.extend([cur.right, cur.val, cur.left])
case int(): result.append(cur)
return result
last time I did it was
||
```py
code
```
||
||
code
||
when in rome
new levels of hacky-ness
for some reason cc was broken and pointing nowhere
You technically already have a list with different types in it, you just also store an extra enum instead of just checking the type, feels equivalent to me
(list of tuples but w/e)
I wonder if inlining the ||``` makes it compact
||```py
code
it does
so it doesn't add extra newlines
||```py
code
```||
oh right you always store the node, not the value
i guess that works
personally, if I'm using a dynamic language I'd rather use the dynamic language
(within limited scope, this isn't a full-scale program)
I am not a fan of iterative approach in this case tbh, asymptotically it uses more memory and the logic is more annoying
I originally did isinstance() but changed it to match to line up with your version a little more
how though?
fair enough, just check if it's non-null
unless you also want to collect None, at which point I tell you I don't care enough
you have mentioned this many, many, many times
maybe go take some code off my github and refactor that to make it cleaner if you really fancy 🙂
aecor definitely needs some cleaning
my programming language
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
inorder = []
stack = []
def push(node):
if node is not None:
stack.append(([], [node]))
push(root)
while stack:
values, nodes = stack.pop()
inorder.extend(values)
for node in nodes:
push(node.right)
stack.append(([node.val], []))
push(node.left)
return inorder
in Rust if would be unnecessary
you can just collect an Option into a Vec
... or just store tuples of options
the most cryptic version I came up with so far
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
inorder = []
stack = [([],filter(bool,[root]))]
while stack:
values, nodes = stack.pop()
inorder.extend(values)
for node in nodes:
stack.extend([([],filter(bool,[node.right])),([node.val],[]),([],filter(bool,[node.left]))])
return inorder
though I know how to make it worse
the "worse":
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
inorder = []
stack = [filter(bool,[root]),[]]
while stack:
inorder.extend(stack.pop())
for node in stack.pop():
stack.extend([filter(bool,[node.right]),[node.val],filter(bool,[node.left]),[]])
return inorder
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
from collections import deque
q = deque([None, filter(bool,[root]),[]])
try:
while True:
q.extendleft(q.pop())
for node in q.pop():
q.extend([filter(bool,[node.left]),[node.val],filter(bool,[node.right]),[]])
except:
return list(q)
similar idea but without try-except
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
from collections import deque
q = deque([float('nan'),filter(bool,[root]),[]])
while q[-1]==q[-1]:
q.extendleft(q.pop())
for node in q.pop():
q.extend([filter(bool,[node.left]),[node.val],filter(bool,[node.right]),[]])
return list(q)[:-1]
at this point it is complete opposite of trying to get uniform types in a list
@whole bear here
hey
i am making a s/e/x thing
i dont know how
like this
see
wanna see my version
no
just like
yeah
and i need a domain
? @midnight agate
?
@wind raptor can we go to dm
private vc
can you go to my dm
i mentioned you
heyo does anyone know how to use pygame?
@midnight agate he was showing a discord thing, it's not like it's lewd or anything
I asked what it was