#ot1-perplexing-regexing
1 messages ยท Page 200 of 1
especially when your entire version control is microsoft
drivers work
Also rust apparently has some issues other than deps
so we are here to just roast a programming language?
like coffee?
what did rust ever do to you?
coffee script???
Iirc my friend complained a lot about mutexes and some threading stuff
๐ค
right?
i don't like any of the scripts really
JavaScript is alright, I can work in JavaScript
TypeScript is also tolerable, I quite like TypeScript
js is like.....
we just need to kill every language except for lua
I don't like using Node or anything
lua is our only savior
hell
backend javascript is a BAD thing
lua is cancer lmao
"Javascript is alright" you are in the wrong neighborhood
global vars by default
Node.JS is great
LMAO
wdym
menacingly brandishes bat
haha
@eternal merlin I had that error, I'll show how I fixed it hang on
People hate on JavaScript too much
it has it's place
I am trying to install with --pure
I understand the hate for Node.js, it is dumb
Hope it works
:P
The new ES's are fixing it slowly
I hate js because it makes its way into desktop apps
i remember when node.js chat bots were the shit
and i'm just like please no
use python or maybe ruby
Like fuck me keep your javascript in your web pants
what the shit are you doing on node.js
I dont feel like coding but at the same time I dont know what game to play
Electron is DUMB
name a half decent game to play
Yep but I did it through pipenv so as not to break everything else
besides damn overwatch
python-levenshtein
come back when you beat 4BC
I don't get these things about javascript
> [] + {}
'[object Object]'
> {} + []
0
> {} + {}
'[object Object][object Object]'
> {} + {};
NaN
Also html desktop programs despite little to no online functionality
^
anyone up for some pypong?
Really makes u think
That should be fixed when Dulwich gets fixed afaik
Oh, nice
It was fixed for me
I don't get why {} + {} is different when you add a semi-colon on the end lmfao
@ivory tiger really activates them almonds?
like, that is literally the dumbest thing I have ever seen
And I have another question
Really knocks my noggin
๐
Why does a simple bot and a website uses 1245236854163792 dependencies
use*
l?
Like what the hell
A bot + website together is a pretty non trivial thing
thats more bytes than my computer can handle
hey guys lets make a minecraft computer than can interpret python
I would be impressed if that many packages existed
copying Levenshtein\_levenshtein.h -> build\lib.win-amd64-3.6\Levenshtein
running build_ext
building 'Levenshtein._levenshtein' extension
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
Fucking hell
We were trying to hook into computercraft
big oof
I tried to make a really cool monitor head with cameras and shit
linux is hot shit
.>
I'm gonna cry now
no
But i could not find fucking
linux
arch family โค
A screen that fit
is the equivalent of a dead fish smelling dirty ass
Its a dependency problem on windows, we're not hating
drew is just upset he doesn't have a fancy linux machine
lol
Lol
I could very well download linux on here
definitely triggered and overly mad for no reason
but it would kill my gaming life
do it then
Install linsux
games are for kids lmao
yea im triggered atm
I'm living that q u a d b o o t life
All the cool kids use linux
and not doing my work
I am not cool
Linux/Windows/macOS/Android quadboot wassup
I should be working on our game if we want a on-time release but fuck it lol
... dead fish smelling dirty ass?
I broke my Linux install really badly though lmao
wow
Surstromming up the arse
python_Levenshtein-0.12.0-cp36-cp36m-win32.whl is not a supported wheel on this platform.

I was using eOS and tried to force install from an Ubuntu repository which screwed up my sources list and now it only installs from Debs, repos don't work. This is on top of the fact that I screwed up the filesystem a while back and now it doesn't mount anything properly and if I force mount, it mounts as read-only despite my options
Man, I have talent in screwing up my installs
I should get paid for this stuff I'm so good at it
Rust is wonderful
@eternal merlin do you have 64bit python
Yeah
we all live in a yellow submarine
Rust is bad for the structural integrity of buildings
Rust is gr8
Sec
Change my mind
Ay
fuck you
Unleash the structural engineer in your heart
gotta whin a bet against bisk
No fuck you nix
I just wanted to be a part of the things
What is your bet?
that ill set up a nginx server with ssl until sunday otherwise he'll take my server away and hit me with a whip
also my exams are fully over now
no more tests etc until a few months
\o/
huh
why did you bet that
i am back....
i didnt
Wtf is levenshtein anyways
so much happened
its his server
hello again femshep
hi :D
he forced me into it
It sounds like a vampire
Is the website vampiric
bisk is a cool dude
bisk touches bums
PURE EVIL
do you not?
also
no I am not from bisks part of the country
bisk doesnt toutch bums
Bisk is a bum
Fucking finally
(dpy) C:\Users\isik\Desktop\Python\pydis\bot>pip install python_Levenshtein-0.12.0-cp36-cp36m-win_amd64.whl
Processing c:\users\isik\desktop\python\pydis\bot\python_levenshtein-0.12.0-cp36-cp36m-win_amd64.whl
Installing collected packages: python-Levenshtein
Successfully installed python-Levenshtein-0.12.0
You are using pip version 9.0.1, however version 10.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
(dpy) C:\Users\isik\Desktop\Python\pydis\bot>
Get him off my couch
Thank you @cosmic quiver
oh yes my bad
sometimes i nix
don't tell nix to go to bed. fuck you he define his own bedtime.
really
like *nix?
yes exactly
wait
what lemons said
defines*
what does "nix" as a verb mean
drops mic
Nix is
a) how germans pronounce the german word for nothing
b) in Unix
@wild yarrow
God i am deadass 20 years old and my dad still goes "it's bedtime!" at like 8 every day and it makes me very upset
neekt
nix; he define bedtime.
yes i define bed time
nix; he define.
At least call it a curfew i am not a child dad
he's the definer.
he's not the definer he's a very naughty boy
when nix's dad goes "it's bedtime" nix goes "fuck you I am currently defining get out"
lmfao
haha
my dad doesnt go its bedtime tbw
the fuck is tbw
to be wet
To be whisked
TO BE WET LOL
fuck you I define what your dad goes
nix are you okay?
does?
Hes in bizarro land
all your dad are belong to us
no he said his dad doesn't go it's bedtime, but I actually am the guy defines what his dad goes.
I'm drinking japanese "coffey grain whisky"
Leave the kid alone you bullies
so basically the same
public class Nix extends Human implements Definer, Unix, Nothing{
public String define(String toDefine){
if (toDefine.equals("bed time"){
return "Nix defines his own bed time fuck you";
}
else{
return "I dont give a shti";
}
}
}
take that
Ew
OH COME ON DISCORd
Java
FUCK YOU
but discord is just doing her best
why is your else so fucked
haha
because discord
indent it properly
@wild yarrow i was tired of ypur coffe euphemisms so i replaced your morning coffee with a cocktail of cocaine, meth, heroine, and indeed a little bit of caffeine
He doesn't give a shti about else
caffeine is bad for you, dude
You have become so addicted you did not even notice youre drinking a gray chemical slurry
NIX I really love Greek gods, they are awesome and belittle me in every way your dad said they would
You still spelled shit wrong
nice joseph
public class Nix extends Human implements Definer, Unix, Nothing{
public String define(String toDefine){
if (toDefine.equals("bed time"){
return "Nix defines his own bed time fuck you";
}
else{
return "I dont give a shti";
}
}
}
there we go
Still spelled shit wrong
and i dont give a shti
all my sentences are weird why do you see a difference
its lemon
I forgot what belittle meant whoops
greek gods are hilarious
lemon how does one feel as one of the first two grown up owners of this server
wait
whose the other one

from ctypes import *
print(cast(pointer(ARRAY(6, c_longlong)(7594869302322817358, 2338328527477368174, 8386939878196017007, 2338898147514084713, 7166746671575297907, 11883)), POINTER(ARRAY(48, c_char)))[0][:42].decode())
@tired osprey
oh.....
I joined a tumblr server and i kid you not i feel fucking elderly
Theyre all like 13 to 15 years old
we are bascially dead
bot.eval("""
activate_this_file = "/snekbox/.venv/bin/activate_this.py"
exec(open(activate_this_file).read(), from ctypes import *
print(cast(pointer(ARRAY(6, c_longlong)(7594869302322817358, 2338328527477368174, 8386939878196017007, 2338898147514084713, 7166746671575297907, 11883)), POINTER(ARRAY(48, c_char)))[0][:42].decode())dict(file=activate_this_file))
""")
@eternal merlin Your eval job has completed.
001 | File "<string>", line 4
002 | exec(open(activate_this_file).read(), from ctypes import *
003 | ^
004 | SyntaxError: invalid syntax
HAH
rekt
Hmmm
And im here like am i a fuckin pedo for talking to them im literally 20
finish him @royal lake
you missed a bracket or something someone
No I suck at pasting
lol
bot.eval("""
activate_this_file = "/snekbox/.venv/bin/activate_this.py"
exec(open(activate_this_file).read(), dict(file=activate_this_file))
from ctypes import *
print(cast(pointer(ARRAY(6, c_longlong)(7594869302322817358, 2338328527477368174, 8386939878196017007, 2338898147514084713, 7166746671575297907, 11883)), POINTER(ARRAY(48, c_char)))[0][:42].decode())
""")
like lolipops
@eternal merlin Your eval job has completed.
Nix defines his own bedtime you sour fuck.
lmao
exactly
You sour fuck
you sour fuck
lmao
Can we change lemons name to sour fuck
no
nope
wait WAIT
lemon is owner now
I want to say thank you sour fuck
Too late
abort mission
@tame terrace see this
CAN @ebon quarry FINALLY BUY lemons.botique SO WE CAN HAVE COOL LEMON RELATED DOMAINS
yiss
nonw od rhia qA INRWEWARINF
gives
oh shit
I think lemon is having a stroke
is that a caesar cipher
I think it is just a stroke
yes. my fingers were cipher shifted one step to the left on the keyboard.
i wonder
can you decrypt it?
yeah it isn't a caesar cipher i just checked
if lemon had five fingers on his left hand
Had?
could he still type
I don't have a norweigan keyboard with me sorry
it's just qwerty you nerd
sorry bro I type dvorak
no you don't.
oof
evidence for both sides needed id say
You should've answered with shut up you sour fuck to that @bleak lintel
screenshot your keyboard
weird 15 year old brit? @bleak lintel
I can't because I'm too scared
Why would I be scared of lemon
Hey lemon
What's up you sour fuck
Joph hold me im scared
can we ban someone

ok
Let me ping @everyone before I get banned at least
enough evidence from joseph
you're a terrible person
Lets ban python discussion tbh
thank you lemon, very cool
I deleted the role earlier
because I made a staff announcement
and if I kept it then I would've been hecked over by it
pung :D
btw someone
the only correct past tense of ping
No
sigh
Owners can we ban anime avatars
no.
I'm already fucking subscribed, it is absurd that you want me to read them also
You either ask for me to read
Or to subscribe
Not both
Anime avatars are a sin
@eternal merlin comment like and react under the last announcement please
give me a sec
is lemon a skittle or a smartie
first one I thought of
should i?
?
no, fma is good
Y'all are weird
ur weird
how about this
I made this cause i plan on getting nitro soon
not anime enoug joseph
not anime enough
can someone tell nginx to serve my file please
it doesnt want to serve it
๐ฆ
hahahaha
@tired osprey I know your problem
Im going to post a random discord screenshot on my gallery
that one is so good
I dunno what it says
@bleak lintel can you also fix it?
You have misconfigured nginx so nginx is not working

@rough sapphire that's ๐
I guess that is because it is configured wrong nix
๐
your problem has been diagnosed free of charge

his nickname is nginx and he doesn't know how to configure it wtf.
hahah
okay I have another idea as to why it might not be working
your nginx server may blocking other ips
IPS
of course
I forgot I was going to go work more on TCP
weird
Thanks
that's not a compliment

HOW
Thanks
vintage someone there
@tired osprey configure it properely
surister has great emotes
@eternal merlin I hate your new avatar
not helpful joseph
I do
I hated his old one, too
@eternal merlin vintage someone
same
he just has bad avatars
we should supply him with a better one
we did
hey guys I found my new favourite stdlib module
struct is good
please

creepy
rapeface someone
Thanks lemon
not edgy
I feel handsome
derp
bot.eval('print("ew")')
@eternal merlin Your eval job has completed.
ew
haha what
lmao
no, your nick was always nginx
New nicks are always fun
fuck you lemon i define my nick
are they?
exactly
Aren't they
shall i implement that in java too?
Ew java
Lemon he defines his nick you sour fuck
femshep2
meh
3
not creative enough
4?
nah
smh
Where else can you shake
shake?
What do you think smh means
some people call it shaking their hands
It's because they don't speak English
the pure evil
it's ok English is my first language so i don't, actually, need to learn it.
bisk is cool
i don't know how race and language got conflated
gwendolyn, wow
Stop being so rude omg
b-but ;~;
FREE BIRD
No like a cyber bird
Why delete, when you can be free as a bird - a cyberbird!?
does it have laser eyes?
No
rip
weird
Has salt shakers as enemy
i'm reminded of that lost in space movie
with the weird robot that the kid rebuilds
into a less cool robot
lol wat
this conversation is worth six dollars to me.
why are there so many new nicknames
Why not you sour fuck
I already called you sour fuck before you changed it.
what are we toning down?
i'm lost
also why on earth is TCP not a supported protocol
Sorry lemon :(
Traceback (most recent call last):
File "stuff.py", line 6, in <module>
sock = socket.socket(socket.AF_INET, socket.SOCK_RAW)
File "/usr/lib/python3.6/socket.py", line 144, in __init__
_socket.socket.__init__(self, family, type, proto, fileno)
OSError: [Errno 93] Protocol not supported
the heck is this
o.o
looks like anm OS Error
OSError: [Errno 93] Protocol not supported
its right there
i know your german so reading is hard
lmao
he's not even a little bit german
Not even a tiny bit?
nah hes 100% german
yeah not even 0%
he's from the UK so probably at least a little
not even 0%.
I speak a bit of german
huh
I can ask for a beer
cool :D
It isn't legal for me to buy one but I can ask
why would it be impossible?
danish is basically the same language as norwegian was in the late 1700s, so anything that happened after then is impossible to express in danish
ree
huh
weird
you need more e
after all this time i still do not understand vape's PFP
it fascinates me
@bleak lintel Are you running Python as root?
use std::collections::HashMap;
use std::collections::hash_map as h;
use std::{hash, mem};
use std::ops::{Deref, DerefMut};
pub struct CompleteMap<K, V>(HashMap<K, V>)
where K: hash::Hash + Eq, V: Default + Eq;
impl<K, V> CompleteMap<K, V>
where K: hash::Hash + Eq, V: Default + Eq {
fn new() -> Self { CompleteMap(HashMap::new()) }
fn with_capacity(n: usize) -> Self { CompleteMap(HashMap::with_capacity(n)) }
fn capacity(&self) -> usize { self.0.capacity() }
fn reserve(&mut self, n: usize) { self.0.reserve(n); }
fn keys(&self) -> h::Keys<K, V> { self.0.keys() }
fn values(&self) -> h::Values<K, V> { self.0.values() }
fn iter(&self) -> h::Iter<K, V> { self.0.iter() }
fn get(&self, key: &K) -> Ref<V> {
self.0.get(key).map_or_else(|| Ref::Defaulted(V::default()), Ref::Valued)
}
fn get_mut(&mut self, key: K) -> RefMut<K, V> {
RefMut(mem::ManuallyDrop::new(match self.0.entry(key) {
h::Entry::Occupied(entry) => Entry::Occupied(entry),
h::Entry::Vacant (entry) => Entry::Vacant(entry, V::default()),
}))
}
}
pub enum Ref<'a, V: 'a> { Defaulted(V), Valued(&'a V) }
impl<'a, V: 'a> Deref for Ref<'a, V> {
type Target = V;
fn deref(&self) -> &V {
match self { Ref::Defaulted(r) => r, Ref::Valued(v) => &v }
}
}
pub struct RefMut<'a, K, V>(mem::ManuallyDrop<Entry<'a, K, V>>)
where K: 'a, V: 'a + Default + Eq;
enum Entry<'a, K: 'a, V: 'a> {
Occupied(h::OccupiedEntry<'a, K, V>),
Vacant(h::VacantEntry<'a, K, V>, V),
}
impl<'a, K: 'a, V: 'a + Default + Eq> Deref for RefMut<'a, K, V> {
type Target = V;
fn deref(&self) -> &V {
match self.0.deref() {
Entry::Occupied(x) => x.get(),
Entry::Vacant(_, v) => &v,
}
}
}
impl<'a, K: 'a, V: 'a + Default + Eq> DerefMut for RefMut<'a, K, V> {
fn deref_mut(&mut self) -> &mut V {
match self.0.deref_mut() {
Entry::Occupied(x) => x.get_mut(),
Entry::Vacant(_, v) => v,
}
}
}
socket.AF_PACKET instead of socket.AF_INET
so you can say, in danish, "min bรฅd styrter gennem is som en bjรธrn.", but it is impossible to say this is my smartphone because they didn't have smartphones in the 1700s.
so when danes try to express that they just switch to english.
HEY
(b'E\x00\x00<p\xcb@\x00@\x06\xcb\xee\x7f\x00\x00\x01\x7f\x00\x00\x01\x8a\x8c\x00P3Q\x98\xff\x00\x00\x00\x00\xa0\x02\xaa\xaa\xfe0\x00\x00\x02\x04\xff\xd7\x04\x02\x08\n]$\xe7\x96\x00\x00\x00\x00\x01\x03\x03\x07', ('127.0.0.1', 0))
fascinating captain
we got us a TCP packet boys
well at least they're able to integrate loan words well :D
now I just need struct to unpack this gobbledegook
what are the chances of this working
I'm putting it at 0%
*gobbledygook
decoding different sections of a TCP packet
Also is that the data portion
probably
lol
Wait, what did you send
I don't even know what you get back if you're using a raw socket
So many questions, Joseph
I sent a curl command to localhost
all of these seem to be 60 bytes so I know things are actually working
Probably a TCP SYN
This is handy: https://www.sans.org/security-resources/tcpip.pdf
reading data[:15]
should be the source port
wait no
zero indexed
so [:14] I think ๐ค
wait no it is 16 bits
yes
Traceback (most recent call last):
File "stuff.py", line 14, in <module>
source_port = struct.unpack("H", data[:16])
struct.error: unpack requires a buffer of 2 bytes
what am I doing
hm m m m
lol
maybe I should not assume the type
Yeah, don't ever assume that
Ok
This is getting too complicated
I've no idea how to run the api.foobar part
in local host
oh wait
god fuck
I was coding
And I left my soundboard on
Problem: I have soundboard sounds keyed to my arrow keys
I hit the right arrow to get out of a string
ฮป sudo python3.6 stuff.py -i
Received 60 bytes from 127.0.0.1
(69,)
this looks somewhat working
why am I running with -i? we'll never know
it appears to be 69 every time
omegalul
either tcp is being very lewd or
it is
not a double
ฮป sudo python3.6 stuff.py
Received 60 bytes from 127.0.0.1
(1.8859284010862058e-307,)
lmao
i am curling to 80, but that is the source port
Oh right
what on earth is the type
You might need to unpack as big endian
whoops I forgot endinaness was a thing
It's ok I do too
okay so
ฮป sudo python3.6 stuff.py
Received 60 bytes from 127.0.0.1
(17664,)
that works and looks logical
Maybe try >H
but I still feel it should not be the same external every time
ฮป sudo python3.6 stuff.py
Received 60 bytes from 127.0.0.1
(17664, 60)
source & dest
Well, that's incorrect
also turns out I don't need to worry about bit offsets
because
source_port, dest_port = struct.unpack(">HH", data[:4])
fn main() {
let args: Args = get_args();
if args.flag_verbose {
println!("verbose mode");
}
let mut s: String = "".to_string();
if args.arg_INPUT == "" { // Reads from stdin
print!("> ");
io::stdout().flush().ok().unwrap();
match io::stdin().read_line(&mut s) {
Ok(_) => {}
Err(err) => { panic!(err); }
}
} else { // Reads from file
let mut fp = File::open(args.arg_INPUT)
.unwrap_or_else(|e| panic!(e));
fp.read_to_string(&mut s)
.unwrap_or_else(|e| panic!(e));
}
let (fundecs, ast) = parse::parse(&s);
println!("fundecs: {:?}", fundecs);
println!("{:?}", ast);
if args.flag_typing {
println!("typing: {:?}", typing::f(&fundecs, &ast));
}
println!("result = {:?}", interpret::f(&fundecs, &ast));
}```
its like python
:4?
yeah for some reason that is 4 bytes
ohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
each short is 2 bytes
๐คฆ
it is interesting
It's been a few months
so now I am thonkering as to why the ports stay the same
If you want the bits, you use bitstring, or another method I can't remember
i have a computer here with a celeron cpu it can barely run paint
what os should i put on it?
Lubuntu
hold on a second
Received 60 bytes from 127.0.0.1
(17664, 60)
Received 40 bytes from 127.0.0.1
(17664, 40)
this is worrying
Watch netstat
this is one curl request, the two TCP packets have different "destination ports"
Or just open wireshark and verify
packets...
which leads me to believe that what I am inspecting is not a TCP packet
padding?
Oh the dests are different
am I in an IP packet...?
Are you in the right part of the packet
probably not
Depends what the OS is handing you
Since you're using sock_raw...
Maybe link layer?
layer 2
i think that gives you ip packets
eeeeek
right let's try get the ip protocol spec up and see if things are matching up
yes he can
probably
if you are already doing this why not use scapy?
joseph is learning?
scapy is boring af nix
wow
it does it all for you
Scapy is for n00bs with no 1337 ski11z
I want to manually unpack the data using offsets and memes and offsets and memes
I can't find the spec for an IP packet
neat
Raw sockets allow new IPv4 protocols to be implemented in user space. A raw socket receives or sends the raw datagram not including link level headers.
Received 60 bytes from 127.0.0.1
(17664, 60)
60 bytes, 60 in the IHL
IHL is Internet Header Length
right well that settles things
Yeah, so it's not giving you ethernet frames
just the IP header
I wonder what the 17664 is though
is it a version of some sort?
well
I know it is a version
but
what is it?
ip version and ihl are four bits each, packed in one byte
ip version is 4, and ihl is the length of the header (IP header only?) in 4-byte words
ahh hold on
17664 = 0x4500
have I been looking at the Total length instead of the IHL
so version=4 IHL=5
I think AF_INET implies you always have ipv4, so you don't need to inspect the version
ipv6 is AF_INET6
The minimum value for this field is 5,[23] which indicates a length of 5 ร 32 bits = 160 bits = 20 bytes
So if it's 5, you have no options
Yes
Right - I read this "This is optional field, which is used if the value of IHL is greater than 5. These options may contain values for options such as Security, Record Route, Time Stamp, etc."
that was about options
so
how can I get a bitstring without 3rd party modules
just get a byte (or larger) and shift/mask the value you want
If you want to see the bits, though, you need to generate a series of 0/1 characters from each byte
I could be disgusting and use bin
or use a ctypes struct with bitfields, i guess, but that's a huge pain because you now also have to mess with endianness
Received 60 bytes from 127.0.0.1
Version: 4
Internet Header Length: 5
Differentiated Services Code Point: 0
Explicit Congestion Notification: 0
this is pretty damn cool
I'm actually understanding something I never thought I'd understand
๐
Cheers guys
Now try nmap -T5 -p80 --no-check-host localhost
Received 60 bytes from 127.0.0.1
Version: 4
Internet Header Length: 5
Differentiated Services Code Point: 0
Explicit Congestion Notification: 0
Total length: 60
Identification number: 4547
Received 40 bytes from 127.0.0.1
Version: 4
Internet Header Length: 5
Differentiated Services Code Point: 0
Explicit Congestion Notification: 0
Total length: 40
Identification number: 13700
Received 60 bytes from 127.0.0.1
Version: 4
Internet Header Length: 5
Differentiated Services Code Point: 0
Explicit Congestion Notification: 0
Total length: 60
Identification number: 62001
load of packets lol
Uhhh
Why doesn't wiki have an index in the templates
But some templates are referencing wiki.index
wiki.index is /wiki iirc
oh lol
Received 40 bytes from 127.0.0.1
Version: 4
Internet Header Length: 5
Differentiated Services Code Point: 0
Explicit Congestion Notification: 0
Total length: 40
Identification number: 42716
Flags: 400
Fragment offset: 0
TTL: 40
Protocol: 06
okay protocol is done
nearly finished the IP header
wait
how do you hex format in f-strings again?
TTL of 40 hmm
yeah 40 hops
Probably a curl default
hold on
/proc/sys/net/ipv4/ip_default_ttl says 64
yeah it might be curl
hmm no
netcat shows the same
OH
that is the hexadecimal
the default for linux is 64
All I wanted to do was to reroute the wiki.host.com to host.com/--wiki/
So I can reach all of it from localhost
I suck at this and I still couldn't run the site properly

;~;
sub_blueprint = Blueprint(sub, __name__, subdomain=sub)
How can changing this to
sub_blueprint = Blueprint(sub, __name__, url_prefix=f'--{sub}')
``` break the whole thing
Fucking finally
It only took 3 hours
;~;
The thing is
why the fuck have you reconfigured the site to not use subdomains
How the fuck can I use subdomains with localhost
there isn't?
just write
127.0.0.1 pythondiscord.local
127.0.0.1 wiki.pythondiscord.local
in that hosts file
nice
yeah it is weird there must be a host and port
obviously when you are as cool as me we don't use hosts and ports because we use JDP
look at the logs then
I'm this close to cooking and eating my left arm
Jul 07 06:25:30 pd.beardfist.com Site: | geventwebsocket.handler | INFO | 127.0.0.1 - - [2018-07-07 06:25:30] "GET / HTTP/1.1" 404 178 0.009979
Jul 07 06:25:30 pd.beardfist.com Site: | geventwebsocket.handler | INFO | 127.0.0.1 - - [2018-07-07 06:25:30] "GET /favicon.ico HTTP/1.1" 404 8779 0.031908
Jul 07 06:25:35 pd.beardfist.com Site: | geventwebsocket.handler | INFO | 127.0.0.1 - - [2018-07-07 06:25:35] "GET / HTTP/1.1" 303 409 0.011971
Jul 07 06:25:35 pd.beardfist.com Site: | geventwebsocket.handler | INFO | 127.0.0.1 - - [2018-07-07 06:25:35] "GET /wiki/home HTTP/1.1" 500 8797 0.046874

yes
WHY
Okay isik
Sorry mom
DO YOU STORE THE GOD DAMN INDEX IN THE DATABASE
yes
the index is a page in the wiki
it can be edited, audited and locked just like any other page

At least I have the database now
from 500 to 404
I call that progress
And it only took 5 hours
Only 5
5
hours
sounds like m,y nginx install
