#ot1-perplexing-regexing
1 messages · Page 523 of 1
:((
why sad face
:)) because she is a bottom
You can even use operators as argument names
(*.*) |>=>| c = c *.* c
well
haskell has first class functions
which more or less means functions are values
operators are functions, functions are values, and functions can take in values
u can even redefine operators right since theyre functions as well?
julia also has that feature as well
Great
Everything can be redefined
not so much redefine as shadow
though not as full as haskell's
just the same way that you can shadow variables in python
since haskell is pure fp
Quite a few languages have haskell like operators, some are even more powerful (though I can't think of anything else that can name arg as an operator, though I expect raku can do it)
lol
the only limitation in haskell is that identifiers must either be all textual or all nontextual
And all operators must be binary infix
so add and $$<><><>+,.., are both fine as identifiers but <hsa> is not
not necessarily
there isn't really such thing as an operator
there's just functions and infix functions
and all infix functions are necessarily binary because well.. they're infix
i could just as easily do something like
Still can't make circumfix operators
That's not valid haskell though, it would be (+) 2 2
no
what i did is fine
you need the () if you want to use an infix function as prefix
but remember in the example
i am shadowing the (+) function
so i can define it however i like
well
i guess i would have to unimport prelude first
since prelude specifies + as infix
but with just the base language it would work
Non textual identifiers cannot exist as prefix
Try compiling ++++++++++++++ 2 2 = 7
i forgot this
(+++++++++++) 2 2 = 7 is fine though
so much too much so many very much plus plusses
lol
one two three four five
textual identifiers must be prefix as well
i think
anyway as for do notation it is just sugar for the bind (>>=) and bind-drop (>>) operators
example:
-- this
main = do
name <- getLine
putStrLn $ "Hello, " ++ name
-- is the same as this
main = getLine >>= (\name -> putStrLn $ "Hello, " ++ name)
in the same vein
-- this
main = do
putStrLn "1"
putStrLn "2"
putStrLn "3"
-- is the same as this
main = putStrLn "1" >> putStrLn "2" >> putStrLn "3"
monads go brr
question
what does infix do if it is chained
dead 💀 chat dot e x e
lmfao
"putStrLn" Has to be the worst series of letters to print something ever
¯_(ツ)_/¯
print was taken
print = putStrLn . show
or rather
print :: Show a => a -> IO ()
print = putStrLn . show
Man I hate haskell so much
I can't stand pure functional programming in general
why not qwq
it doesn't work with my brain
imagine not being able to mutate variables
I tried sitting down and earning haskell for about a week recently
I couldn't really get past the very very basics
imagine not having to worry about the problems state causes
hmm
i could try to help qwq
i think the biggest problem anyone has is just lack of resources
Purely functional programming is basically an antipattern to the way I process information in my head.
imagine being iq and never creating a race condition
I like things like python and rust that balance styles of programming
i think js balances better than python
Yes but Js is also the worst programming language ever created
but that's just my opinion
i don't agree
js is pretty fine
I will force myself to write haskell before I touch JS
I hate JS with the most passion out of any programming langauges
Hell, I've had to write Fortran 77 recently
Why?
and I prefer that over JS
C++ and PHP definitely deserve that hate more than js does
JS is pog
Js is plastic disc?
js is not the best but it is not the worst by far
like i said it is pretty fine
imo
lambdas using () => is ugly
It tries to do too much at once, it's stretched too thin, the communities are too fragmented, and the syntax rarely makes actual sense
lambdas using lambda: is ugly 🙃
I actually like those style of lambdas, my language uses a similar system
i like js lambda a lot
and the entire thing looks like one big callback
python's lambdas are one of the worst implementations of anonymous functions if you ask me
JS has to do all that, since well, there is no alternative to JS
which is the biggest problem
Python lambdas are intentionally bad
lmao
Since FP is really not a good fit for python
yeah lambdas are not pythonic
yes
which is why i don't like python that much
i am a very fp person
also why i don't think it is that balanced
I only like fp if it's pure and such
# However, anonymous functions (Lambdas) are first class objects!
var x:lambda = <arg1, arg2> -> { return arg1 + arg2 }
two different sculptures made of the same rock
The weird half mix a lot languages try to just ends up as worse closure or worse haskell most of the time
it's important to note, in this situation lambda is a TYPE HINT
not a syntax requirement
I like the 6 different raku lambda syntaxes
i think rust and js do a pretty good job of striking a balance between the procedural ideas and the functional ideas
that can also be written as
var x = <arg1, arg2> -> {return arg1 + arg2}
I don't
for either of them??
It's like this due to an interesting fact about my language
being that functions are NOT first class objects themselves
Ye, JS you either end full on FP which would be better in a different language, or procedural which is fine in JS
oh no
they are optimized down a bit, but lambdas ARE objects, therefore slower, but more versatile
Rust I haven't really tried, but the only marginally fp thing I saw were closures and lazy linear linked lists=iterators
Which are also features of python
I have not seen any rust example doing functional stuff like recursion over mutation
I don't doubt you can do it
But rust programmers don't
and the preference of piping values through functions (a.b().c().e().f().g()) over just mutating a bunch of stuff
I don't write a lot of Rust, I use it in places where I would normally use C or C++
except wherenot possible
when u use recursion to do some version of the loop
ive done racket
and its different...
Rust feels like "procedural code with some functional stuff here and there", whereas clojure is more FP with procedural here and there
the basement flooded so I took an extra day of work lmao
rust is extremely functional for what it is imo
It's about as functional as you can get for a systems language.
anywho
Yeah, which is not very functional
Functional programming and systems programming don't really go hand in hand
If I am writing functional code, I want it to actually be functional. Which is why I very rarely use monads in haskell and such
Scheme, shen, clojure, elm can all do that with varying degrees of success
Rust can't from what I've tried
I find it much more ergonomic to just write regular old procedural code
Same in JS
again, different purpose for languages
how are monads not functional lmao
They literally are a way to represent imperative programming in functional terms
no
So they are imperative programming
they are just a concept from category theory
Ye, that is more how they are used in code
which happen to be used, sometimes, to allow for easier handling of concepts like persistence
no Maybe for you then
no lists either
I use Maybe, just not it's monad instance (unless I actually have a sequence of actions each of which may possibly fail and it is in fact the best way to express it)
Though I find that once I start having sequences of actions is when the weird bugs show up
You can use a type without using its monad instance
you still have Text and such
but
i mean
yeah
but
it is still a monad
anywho
now i am curious what the bind implementation is for lists
I think it's just map the function and concat
Ol
And honestly, not using String is a good idea anyway
I have the same feeling, if you write everything all the logic in IO or AppM or something like that, it's not very different from imperative languages... apart from the expressiveness, maybe
it's like -- if you have a non-pure language, is this function pure?
def apply_twice(f, x):
return f(f(x))
well, it doesn't do any side-effects on its own, maybe yes?
But then, you can pass a side-effectful function here:
apply_twice(launch_missiles, 42)
and all the reasoning valid for pure functions is now potentially invalid.
so if you write logic in an arbitrary monad, you're potentially writing impure code that launches missiles
This ultimately arises from the use of a monad stack where more often than not, IO is at the bottom so one can perform arbitrary actions without leaving the context. I guess at that point, the only real "functional" code is the crutch that you're writing monadic code that you can compose.
Composability and purity are vastly different things
is it fedora rolling release ?
Fedora is not rolling release no
well
io actions aren't really good for that
~<
i mean you could do it like that i guess but
io actions are magic
magic should be avoided
wanna know whjats crazy
what
my main discord acc got hacked
that i made 4 years ago 😢
and this is discords reponse
Hi again Bella,
Thank you so much for your cooperation regarding this matter.
I just wanted to let you know that I'll be escalating this ticket to a team member to look into further your compromised account. I genuinely apologize for the inconvenience in the meantime and will keep you updated here as soon as I hear back.
Let me know if you have any other questions at any time.
Best,
Jonathan A
:((
this is my acc
#bot-commands message
it goes to the message
of the userinfo i did
wen i joined

discord is real dog sht when it comes to customer service and security
tbh
Good for? IO actions are the only way to interact with the real world, unless you mean using Free monads in which case then yes, it helps at the cost of more code
i mean that io actions aren't good for having the entire logic of the program
imo as much as possible should be outside the io action
since io actions are magic
Yeah, that's the common pattern outside of monad transformers
hmm
how should i implement fmap for the result type
y'see the problem is
no not fmap
<*>
the problem is that with two ok's it makes sense, with one ok and one error it still makes sense, i just pass the error along
but
i don't know what to do when it is two errors
it seems to me i have to pick one of them
My vague intuition on applicatives tell me you should pick the left
oh?
Either does at least
e.g. there's no need to evaluate the right side if you're already erroring out at the left
i suppose that makes some sense
but i don't like that
evaluation order is supposed to be fake
🙃
Since <*> is ultimately the same as
ap lhs rhs= do
f <- lhs -- This fails immediately
x <- rhs
pure $ f x
i suppose
Could you elaborate?
in a pure functional language evaluation order is irrelevant
In some cases, yes, because you're essentially doing declarative programming
haskell is die hard declarative lmao
at leat
least
when you come at it from the category theory point of view
But in monadic contexts where it imitates imperative programming, it is relevant, and in the case of applicatives where it's a declarative facade over and inherently imperative pattern, evaluation order does matter, what doesn't is how you group them
what do you mean by a declarative facade over an inherently imperative pattern
This, over
a = lhs <*> rhs
That implies that ordering in do-notation doesn't
theoretically, it doesn't
well
no
the order does matter
but it doesn't matter in what order you evaluate
It doesn't at the syntactical-level (at least in modules), unlike how you write terms in languages like C or Python; it also doesn't at the runtime-level because of laziness. But do-notation is different, it's syntactic sugar after all.
and for some things the order does not matter
if we pretend for the moment that nothing magical exists
in haskell
the order of evaluation, even within do notation, does not matter one bit
Sure
well
hmm
bottom throws a wrench into things
idk
whatever
lmao
does bottom throw a wrench into things
idk
lazy evaluation makes me unsure whether bottom is significant
Monads aren't commutative :V

Well, they don't guarantee to be
i mean
haskell is comfusing
what do you mean by guarantee
the monad laws cannot be checked
methinks
you know what really interests me
the idea of a quantum functional paradigm
a super abstract functional paradigm rooted in quantum computing
absolutely fascinates me
Trivial example, but bear with me
x = do
env <- getEnv -- May fail
insert $ r1 -- May fail
delete $ r2 -- May fail
y = do
env <- getEnv
delete $ r2
insert $ r1
```While these two actions essentially do the same thing, the side effects make it so that evaluation order matters to developers
I was trying to emphasize on academic/practical terms
hmm
it would be interesting to try to make a haskell equivalent but rooted in quantum
or some sort of pure fp thing at least
There's always a LISP for everything
i am not sure how much brainpower it would take to square quantum with category theory
They won't go hand-in-hand, unless you mean porting Haskell/GHC to a quantum computer and using the applications of category theory that it does
Quantum computing is so new it needs a flexible language for programming - Robert Smith of Rigetti Quantum Computing explains why he uses this 60 yr old language for cutting-edge work.
Meta-Programming: Coming Soon
PDP-11 & Zork: https://youtu.be/gYng1yypNCA
https://www.facebook.com/computerphile
https://twitter.com/computer_phile
This video...
no i mean having it be fundamentally rooted in quantum
reversibility and all that shit
I use fedora btw!
that if anything is one of the most fascinating things about quantum to me
hi
how it enforces certain laws
heyo
how you doing
like
information simply cannot be destroyed
had a great installation
pretty fast
i dual boot windows and arch
rust is technically pretty good for quantum
hah,
being that it implements a version of affine types
personal preference
ig
but dnf is dam cool
i don't know how you didn't like it
...
Haskell now has LinearTypes™ but I'm not sure where they're going with that
The proposal states that it won't be used for any compiler optimizations but at least we're getting Dependent Types™
ooo
also the entire functional/imperative split is kinda stupid if people don't really define what either means
dependent types are nice
dependent types are one of the things idris has had the upper hand on
monads are a way to reify typed computational effects-- nothing more or less
but both terms are well defined :/
monads are also well defined, and not defined like that
if you think that sequential computation is not functional, then, well, i don't know what to tell you
it isn't
fundamentally
sequential computation and pure functional are incompatible
well
not necessarily incompatible
how are monads not that
CPS is sequential
just that in a pure functional program the sequence doesn't matter
CPS is pure
what is cps
you're conflating declarative and functional
pure functionality is inherently declarative imo
functionality in general is not necessarily so
Continuation-passing style
ok
so
i am delirious
because it is like midnight
i am gonna sleep
and in the morning i will read up on this shit
since my brain is not absorbing it now
and then we can talk
One last thing as well, Free is implemented as a list of functors, of which both concepts are inherently pure
well
i guess that's a way to say the free monad is the coproduct over all self-compositions of a functor
but anyway, inversion of control (cps) is a functional concept
so i don't see how control flow ISN'T functional
Purity is ultimately up for the runtime to decide, but by all means, IO itself is pure, the effects introduced by the runtime aren't; but maybe I'm just being pedantic
no, you're fine
which is why i said monads were a way to encapsulate computational effects in a typed way
io is not a great example because it is magic
More like well-written wizardry within GHC that abides laws, making it pure
it is magic
STM is as well
a term i have given a precise definition in other conversation
though i cannot retrieve it atm
assuming stm is the state monad, it is not magic
Ah, I meant ST
Well, you're right in that regard
yeah it looks magic
i will try to find the precise definition tomorrow but
suffice it to say that i am using magic to mean "pure but meaningless unless given special meaning by the compiler"
error is also magical
i really like thinking about haskell in terms of category theory
it gives me joy
ndaskjdnsaj
infinite types when
can someone help me with a captcha
you can feel free to ask your question, make sure it does not break rule 5 though
its almost like if the website doesnt want me too register
haha, yeah that one is torture. You should be able to reroll it
@viral parrot
yeah... i figured you hade to have something like that
3 z a I 1 F 2 ?
i see 3zI12
dunno though its really weird
we need to keep the machines out by asking them their emotional response to images now....
We will keep away the bots and the sociopaths
You have exceeded the maximum number of registration attempts for this session. Please try again later.```
maybe this one is only supposed to keep out humans
lol
PHP!! Yay!!
no
what even is that
that is clearly 讙
yes
lol
that seems moving
#cybersecurity help needed...
hey
I've got some problem when i log in
about themes
i think that's because the env variable that i set for Qt5ct
can you remove the overlay in inspect element
open with incongnito
perhaps
true
lol same here
But when I open with incognito and then medium be like 😭
i have just discovered how useful symlinks are
spotify was taking 5gb on my C drive (which was low on space) so i used a symlink to make it think it was still in the C drive
ha
B)
gg
nice work
wait is it bad if i make a lot of symlinks?
of course not
until u mess it up
lol
lol
lol
@solid pollen @narrow pecan
Here's your reminder: how is 2021 so far?.
[Jump back to when you created the reminder](#ot1-perplexing-regexing message)
oh interesting
Fairly good
when captchas are way too strong they prevent humans
like the roblox one
my brain nerver just folfed hands
and begged for mercy
ohh yea that one was hard
really hard
I do the same but with
Downloads , documents,and desktop
ic
idc
heyy
WHY IS THIS CHANNEL NAMMED PHP WINS AGAIN?
It's random
looking for someone who is familiar with ubuntu and arch packaging for piston-cli.
fire eat f1re
f1re eat fire *
w1ter eat f1re
w0ter*
Blackholes eat everything
I guess you could publish your package to AUR, it should be easy enough
for ubuntu, look into something like Launchpad
I don't have much knowledge in this respect though
ok thanks!
milk
switch to Fedora 
i wouldnt be surprised if you come back some time later saying x is better than fedora
I won't
¯_(ツ)_/¯
¯_(ツ)_/¯
what is it?
see
, it was just a few seconds
wha?
nothin
Just boosted the server, supporting the server as much as I can :)
nice
hey, thank you
i only did it for the blue color
@edgy crest having problems about a distro doesn't mean i want to switch
lol
@quick ledge I've got a black screen after upgrading

oh lol
just saying everyone has their opinions, and switching distros and operating system's is a pain
did you get it fixed?
Nope
welp good luck 
see if you can find a fedora linux server
others would probably have the same issue

not a big fan of its logo tbh
still its logo is better than manjaro 
manjaro has like that worst logo ever
the owner came and split a square to smol things and called it a logo
do you agree amd > nvidia?
not yet haha
yes haha
Can we use Rufus to flash Android x86
dont i make such great commit messages
My last commit message was
"Final commit before I screw things up"
im going for, like, huge changes
https://github.com/AceLewis/my_first_calculator.py/blob/master/my_first_calculator.py have you seen this lol
just look at the last commit
what the fuck
Dose anyone want to check out my discord bot?
that right there is the highest quality calculator ever made
super high tech
goes all the way up to 50
madlad
if 3/2 == 1: # Because Python 2 does not know maths
``` 
what the fuck
where do you find this
# TODO: Make it work for all floating point numbers too
ahahhha
just look up my first calculator
its the first thing that shows up
wait this is your repo
no lol
bro
tic tac toe
😔
oh wait
ahahhah i thought you were zee
oops sorry
hha
dnbashdshjdsa
python 2 does know maths
honestly i think the python 2 thing was better??
like what happened to "explicit is better than implicit" hmm????
you could like
make an effort to follow your guiding principles
👀
cuz
the problem is
they kept the mechanic that / performs integer division when used on two ints
but they made it so that int literals are implicitly converted to floats
which i dislike
i would also be ok with it if they made / just do float division in all cases
but the thing with implicitly converting to float (unless you explicitly said it was an int), idk that just seems kinda wishy washy to me
and also breaks the zen of python
just my two cents
i'm not necessarily saying the python 2 system was good
just that it was more consistent with the guiding principles of the lang
and less implicit
the best system imo would just to have / always do float division
wait
:O
i am testing it and it is doing always float division
i could have sworn they kept the int division mechanic
wack
i guess they didn't
are you thinking of //
in that case i like the python 3 system better
lol
>>> 6.0//4.0
1.0
i am aware qwq
ok
ok
print(x)
no
no
yes
print(x) will work in 2 too
yes
ok
agreed
wot
I see we are in mutual consensus
x = x
print x
python2!
idk
minecraft 2 droppin when
x = "my name" print x
idk
name = "Avery"
putStrLn name
print('magic')
plz tell
```
code here
```
for syntax highlighting put the file extension or lang name after the first ```
so for python it would be
```py
some python code here
```
```py
x = 'Avery'
print(x)
```
gets you
x = 'Avery'
print(x)
Here's how to format Python code on Discord:
```py
print('Hello world!')
```
These are backticks, not quotes. Check this out if you can't find the backtick key.
haha
Need some help buying or making a computer/pc. Not sure what to look for in specification, for general web programming, running emulators etc. Or you Dm me if you can help
Up to a 1000 euro, but the cheaper is the better 😃
Bible 2 droppin when
M1 Mac Mini
The LOLCat Bible Translation Project was a wiki-based website set up in July 2007 by Martin Grondin, where editors aim to parody the entire Bible in "LOLspeak", the slang popularized by the LOLcat Internet phenomenon. The project relies on contributors to adapt passages. As of March 27, 2008, approximately 61% of the text had been adapted, and G...
yes
today's one of many Cat Days. idk if it's local or international. but I'm far away from my overlor-... I mean, my cats
squireel eat squiel
your discord id after your name suggests you're indeed an overlord... 😮
What is the purpose of LOLCat?
that's the language of our overlords, the cats
Ok
if the admins are salmons they better watch out
for i am the catboy
and nothing gets in the way of me and my salmon
furries smh
furrys smh my head
furrys?
furries
ew furries
🐱
💪 🟨 🖕 Furry that read your post:
🟨
🦵 🦵
lol im not one tho
they are weird ngl
use a zero width space to fix that
what's that
👀
put that character at the beginning
we have to make rock paper scissors with python
now i am being told think up something that is like rock paper scissors
and just replace the-
also, do emojis work in a '(insert emoji here)' kinda way
ty
i can't be bothered to make a new .txt and right-click to get a ZWJ lol
@clear plume hmm imma look at the sources i have collected in sending a real empty space
haha nope
u added "\n" lol
yes
yes
Especially around a cheeky dev I know which added support for \ prefix escapes. They fake run the command and edit after to say you got gnomed.
**
**
Aur?
arch user repository
Command line tool for compiling over 27 languages instantly using the wandbox api

btw you get a warning at the end, i dont know what it means, it doesnt do anything though
hmm i kinda wonder why u allow read and execute. i guess it is fine and safe lol
use bitwarden
btw i added inline inputs if you dont provide args in the latest version, though not in the AUR version, i will update it soon
Right, but has anyone used it?
I do now. Moved today.
meant for me?
What are they gonna do, now?
noice
run code on it
No i mean do with lastpass

change it to 700
change what to?
@remote socket lmao what did you do?
?
Can you go invisible for 10 seconds?
why
Because the member list is broken for me and you're the only non borked member
oh yeah that happens to me as well sometimes
restart your discord
should be fine afterwards
that list is corect
Sounds about right.
lol
Yes, each admin is worth two members.
@trail juniper did you duplicate yourself
Oh, the other mention oops
lol
Oh so you saw the cryo chambers
i didn't see that 4
And the 8 on moderaties
there are 5 rn
Also I just counted
There's only 29977 members online
It says 31671
Which is clearly wrong
OK this one is total bullshit
!server
Also says there's 1 lead
are helpers not included in staff?
But we know there's zero
That's staff or private channels I assume
Aka all channels where everyone has read messages turned off I guess
Probably
That's an assumption
oh its in the channels category didnt see that
What is the eighth news channel
I'm gonna take a stab and say it's either an internal channel or a different channel, not sure
Btw, I do, as of today.
And I regret not moving sooner
The entire UI is just better.
uwu
ill add a thumbsup instead ig

uwuify text - yes/no
good point
B)
i have ;( for an error is that ok 👀
wait doesnt that mean ur winking while being sad?
LOL akarys moderating on IPAD!
why are you so shocked about that 
i think you must have said you use an ipad someday and when he saw the online icon as a mobile he guessed ¯_(ツ)_/¯
unless they are using some modded discord 
No lol
I am not shown as being on mobile right now, am I?
No not rn
Because I do be on my iPad haha
But I’m using the web portal and Discord is really confused by that
Ok do you wanna know where did I found that you're on ipad?
Haha, fair
LOL Ik
Is @trail juniper a salmond lizard?
Do you think the channel names would lie
damn
lol yes you should update the web now saying we have 150k developers!
yayyy 150k !!!!!!!! 
Our staff of over 50 dedicated expert Helpers
@solid pollen 😉
!role Helpers
267630620367257601
#eecd36
0.14 0.77 238
90
27
104189504
lol, big delay
Where do we give a number?
How did owners give helper roles? like if someone is helping from a long time will thy get?
A staff member can nominate users, and after some time we put the user into a vote, and we need at least 12 mods voting up and no one voting down
https://pythondiscord.com/ see the first look of this web
We're a large, friendly community focused around the Python programming language. Our community is open to those who wish to learn the language, as well as those looking to help others.
yeah that happens to me, discord acts weird on ipads
you can't really right click
Oh the 100k banner
Did you voted ever?
Well, that’s a special event that we hosted
Yeah, at every vote
Oh cool 😄
even i voted at every vote
Where does votes take place>
secret channels
oh cool how can you vote then?
🤷
what's this then ?
||every vote differs from person to person||
Oh lol
Hello @grim stirrup, please don’t send random memes on the server
New server icon.
aha yes
sorry what?
the ot name
fun fact: in javascript, NaN ("not a number") actually isn't a number
but it also isn't not a number
and actually it is a number
the first one is weird, but the latter two also hold in python
whaa?
if you do this instead then it is not a number
and it's a number
but actually it isn't not a number
and actually it's an object

yes
that is how JS works
you would probably see something similar with javas Float, though its type would be Float
javascript is weird
I used to think java and javascript were related to one another
You got nitro back nice, no more using images :D
Too many bees
they are cute
i agree
if the admins are salmons, what are the mods?
Goldfish
There's another off-topic name for that actually
what are the helpers then
I forgot
hmmm
are they bees?
seaweed
@topaz aurora do you use lastpass?
I got locked out immediately after registering so no
I do use Bitwarden though
Plus, I don't like LastPass's aggressive advertising campaigns
you haven't heard the news then
Much like I don't like NordVPN
News of?
lastpass locking you to one device type if you don't pay them starting march 16th
Looks like I made the good choice ¯_(ツ)_/¯
lastpass is desperate lol
thankfully bitwarden makes it easy to switch
ironically everyone I know has moved to bitwarden, with a few that went to keepass
I'm on bitwarden now lmao
I'm actually considering self-hosting my own Bitwarden instance once I get a powerful-enough server computer
or a VPS I can use
I am forced into the desire to eat the admins now.
and just from being on mobile for a little bit, its nicer than lastpass already
There's nothing I like more than raw salmon.
why not keepass
I could, yeah
I am, after all, a cat.
i could give you honey instead 
I've had this hypothesis before that most staff members likes cats
I've yet to be proven wrong
same ||but I am not a staff member||
wtf
cause she does not like cats

i liked cats until i smelled their pee
!warn @sand inlet advertisement for Honey which is a free browser add on available on Google, Opera, Firefox, Safari. Honey automatically saves you money when you checkout on sites Like Amazon. Papa John's. Kohl's. Wherever you shop it's a good chance that honey can save you money.Check out the link in the description for more info and use the code honey.com/pydis to get 10% off
vivek it seems you're Indian?
yes I am :D
Oh 😄
obvi
how can you say?
my username lmao
it was vivek gurkan and now its just 'vivek'
idk it was my gut feeling, I got visited by god in my dreams and he told me the location of @quick ledge in my dreams and now I know


29173
120840

