#dev-contrib

1 messages ยท Page 33 of 1

mellow hare
#

I feel like I've had it not do that properly before

green oriole
#

If you change the line?

glass pecan
#

yes, if you commit to the referenced lines the comment is on

#

it'll show as changed

#

if it's a suggested change, it'll autoresolve

#

if it's not, it may not resolve itself and need to be resolved by the PR author

green oriole
#

Yeah but it show as outdated not as resolved

glass pecan
#

yep, so you'd resolve it

green oriole
#

Okay got it

glass pecan
#

if the implementation though is different to the suggested change

#

i would probably not resolve it

#

really one should have discussed that though in the comments first

mellow hare
#

Commenting on it and asking for a re-review of that line would be better

#

Or yeah, ideally discussing first

hardy gorge
#

If I go with another solution that the reviewer submitted, I don't resolve the conversation, since the reviewer may want to look at it

#

The reviewer can then dismiss it or not depending on if they're satisfied with the change I've made

glass pecan
#

but yeah if it's already committed but slightly different, comment saying so yes

#

resolving should only occur with exact suggested changes really

#

or simple pokes like this paragraph needs to be spellchecked

#

spellchecking is important notlikecryblob

molten bough
#

I occasionally mark comments with tiny changes resolved as I make the changes locally

#

as in, before pushing

glass pecan
#

i think that's fine. the main thing is so long as it's in the correct state by the time you rerequest a review, do whatever

molten bough
#

That seems fair

glass pecan
#

if you're mid-reviews though, avoid force pushing

#

that throws all the comments out of wack

#

and can be super annoying

molten bough
#

oh god, yeah

#

I don't think I ever force push if I can avoid it

glass pecan
#

yeah most do avoid it

#

i use it only when cleaning up before ready for review

#

once it's review, those commits stay

molten bough
#

I pretty much only use it for murdering commits

glass pecan
#

yep

molten bough
#

like happened with the github allauth branch

#

I had like 3 commits and then the discussion changed to another idea

#

haha

glass pecan
#

there technically is cases where it can be unavoidable too

molten bough
#

that's true, yeah

glass pecan
#

where multiple reverts maybe are way messier than a reset

#

or just general fookups

molten bough
#

git nobodysawthat

glass pecan
#

haha yeah

#

we did discuss these things though in the past, it's probably worth putting somewhere easy to find

#

contrib guide maybe

molten bough
#

Yeah, maybe

glass pecan
#

found what i was looking for. we discussed PR review guidelines back in July. I'll try get that going again to settle them and put them into public resources.

molten bough
#

\o/ okay

glass pecan
#

!remind 1d PR review guidelines.

stable mountainBOT
#
Yeah okay.

Your reminder will arrive in 1 day!

hollow lichen
#

Should be 15minutes instead of 1y3m

hardy gorge
#

It uses the same naming conventions as Python's strftime

#

so m = months, M = minutes

hollow lichen
#

oh

#

maybe say somewhere it does?

hardy gorge
#

hmm

#

!help remind new

stable mountainBOT
#
Command Help

!remind new <expiration> <content>
Can also use: add, create

*Set yourself a simple reminder.

Expiration is parsed per: http://strftime.org/*

#

Something about your input seems off. Check the arguments:

hollow lichen
#

well I think most users use !remind instead of !remind new

green oriole
#

New isn't mandatory

tawdry vapor
#

!help remind

stable mountainBOT
#
Command Help

!remind <expiration> <content>
Can also use: reminder, reminders

Commands for managing your reminders.

Subcommands:
delete <id_>
Delete one of your active reminders.
edit
Commands for modifying your current reminders.
list
View a paginated embed of all reminders for your user.
new <expiration> <content>
Set yourself a simple reminder.

tawdry vapor
#

Would longer docstring be displayed here?

#

Or does it only capture the first line?

#

The infraction commands outline the durations better so that could be copied over for reminders too

green oriole
#

That the docstring of the converter

tawdry vapor
#

Converter?

#

You mean the command group?

mellow hare
#

That is interesting that it only shows that first line, though

tawdry vapor
#

I don't know if it does that

#

I was asking

#

Maybe the docstring is only 1 line currently

mellow hare
#

!help remind new

stable mountainBOT
#
Command Help

!remind new <expiration> <content>
Can also use: add, create

*Set yourself a simple reminder.

Expiration is parsed per: http://strftime.org/*

mellow hare
#

On the more specific command it'll show it all

#

But in the summary of all the available ones, only the first

tawdry vapor
#

Ah sorry

#

I was talking about for the group

mellow hare
#

Yeah, for the group it appears to only do the first line

tawdry vapor
#

But in retrospect it would not make sense to place it there anyway

mellow hare
#

Correct. It'd make the embed massive

tawdry vapor
#

Well that and it'd only be relevant for one of the subcommands

mellow hare
#

Right

#

!mute

stable mountainBOT
#

Something about your input seems off. Check the arguments:

#
Command Help

!tempmute <user> <duration> [reason]
Can also use: mute

*Temporarily mute a user for the given reason and duration.

A unit of time should be appended to the duration.
Units (โˆ—case-sensitive):
โ€ƒy - years
โ€ƒm - monthsโˆ—
โ€ƒw - weeks
โ€ƒd - days
โ€ƒh - hours
โ€ƒM - minutesโˆ—
โ€ƒs - seconds

Alternatively, an ISO 8601 timestamp can be provided for the duration.*

mellow hare
#

Does it have the same parsing?

tawdry vapor
#

Probably yes

green oriole
#

Yep they use the same converter

mellow hare
#

I... don't think it actually does

#

Hold on

#

Yeah, it's different

#

Reminders uses the bot.converters.Duration, where as the infractions uses dateutil.parser.isoparse(infraction["expires_at"]).replace(tzinfo=None)

#

Unless I'm over looking something

tawdry vapor
#

infractions definitely use the duration converter

#

it's probably under an alias

mellow hare
#

I mean I'm looking at the file right now and unless it's going some arbitrary way to it, I'm not finding it

tawdry vapor
#

I made a union of the duration and a timestamp converter I believe

mellow hare
#

Ahhhh, okay I see

#

It's in time

#

So it's likely that we never made the change to the reminder time conversion that we did with the infractions

hardy gorge
#

We use the same converter for both, the Duration converter

#

For infractions, we just have the exact ISODate converter in addition to that

mellow hare
#

Gotcha, my mistake

hollow lichen
#

What about adding a warning when the time looks unusual ? for example 15m looks awkward, since it's 1y3m

tawdry vapor
#

It shows the resulting time afterwards so I don't think that's necessary

#

If it's wrong you can go back and edit it

crude gyro
#

@long garnet after that change, your PR fails to lint due to these problems:

#
./bot/cogs/site.py:6:1: F401 'bot.constants.Channels' imported but unused
./bot/cogs/site.py:6:1: F401 'bot.constants.STAFF_ROLES' imported but unused
./bot/cogs/site.py:7:1: F401 'bot.decorators.redirect_output' imported but unused
#

you might want to set up the pre-commit so that it won't let you commit until lint passes

long garnet
#

hummm

#

I'm sorry, I admit I didn't check the documentation

#

for contributing

#

oh

crude gyro
long garnet
#

I read it wrong anyway

#

but I still should I guess

#

I'll fix it when I'm back, I don't have my actual editor here

long garnet
#

I amended and force-pushed since it's just an unapproved PR

jade tiger
#

Maybe I'm the only person who uses mobile, but to me this looks a bit yuck

#
  1. Until discord fixes formatting for mobile do we need the bold link?
  2. I don't see use for r/python below the link since it's in the webhook name
  3. Is the /u/ necessary?
green oriole
#

We are a lot that are on mobile, but do people really cares about #reddit?

hardy gorge
#

I care about the features we have ยฏ_(ใƒ„)_/ยฏ

green oriole
#

I mean, the day when there will be only one post per days of the most commented topic, I will care about it (I think I saw an issue about it) :)

hardy gorge
#

That's not what I mean. Even if I'm not interested in the feature myself (although I do look at it personally), that's not an excuse for not caring about a feature we have in our projects.

#

If we think it's broken, we should fix it

green oriole
#

Someone is already working on it I think

hardy gorge
#

In this case, it's an easy fix, add the bolding inside of the link rather than outside

#

The feature has recently seen an update, these are the daily top posts instead of a daily feed

green oriole
#

Oh yeah it has been already merged

#

So now I care about it :)

#

The words "upvote" and "comment" can also be replaced by emoji

#

And the r/python was because the reddit cog is configurable

crude gyro
#

I think upvote and comment emojis, fixing the bolded URLs (like ves said, it's just a matter of placing the asterisk in the right places and it will look fine on mobile), the u/ before the username and whether or not we need to have the subreddit there are all things that could be interesting.

#

I wouldn't mind if someone wanted to work on making that presentation a bit better

hardy gorge
#

The r/python is already in the Webhook name, I think we can remove that.

crude gyro
#

text separated by pipes isn't exactly very hot

hardy gorge
#

I'm working on it, I want to do something mindless for a minute

crude gyro
#

good

#

maybe lift upvote and comment graphics straight from reddit?

#

and then stick'em on an emoji server?

hardy gorge
#

I think reddit has a comment icon in the redesign, not sure about the copyright on that one

#

maybe fontawesome has great analogues

#

Someone of us has that font pack

crude gyro
#

I'm thinking more like

instead of | 16 upvotes | 10 comments | u/funlovingdadguy | r/python we could maybe do something like

upvote 16 ๐Ÿ—จ 10 ๐Ÿ™Ž funlovingdadguy

except with the right emojis.

#

probably needs a bit of workshopping

#

and might look better on 3 lines

#

but maybe not

gusty sonnet
#

Hmm, if we are talking about footer you can't use custom emoji there

crude gyro
#

reddit has these muted gray icons

#

probably not talking footer, it's not a footer currently I think?

gusty sonnet
#

Ah yes it is not footer atm

crude gyro
#

I'm saying essentially we do these icons, with their respective data, I'm sure we can make that look good.

#

anyway, just a thought

#

ves is on the job so I'm sure it'll be good.

#

ves never half asses anything.

hardy gorge
#

It's not a footer, because we have multiple posts in one embed

crude gyro
#

yeah that makes the sense.

#

anyway, I gotta run a bit. bbl.

hardy gorge
#

Oh, right, those icons are from the redesign of reddit

jade tiger
#

also not sure about the copyright on reddit logos but while we're throwing ideas out i think it might look nicer with a reddit icon in the username (I'm not sure if this should be a code thing or just changing it in the webhook settings, I think I mentioned it in PR but nothing ever happened)

crude gyro
#

pretty sure using these logos and icons to literally link reddit posts is absolutely within allowed use.

#

I agree, by the way, that might be a nice improvement too. @hardy gorge, maybe you wanna include that in your PR

jade tiger
#

๐Ÿ‘

hardy gorge
#

@crude gyro I think we should just set it as the Webhook's default avatar. In fact, done.

crude gyro
#

yep cool

hardy gorge
jade tiger
#

I like that

#

Not sure how it would look on mobile, but miles better than now already. What does it look like with user on a newline?

hardy gorge
#

below or above the upvotes/comments

#

I'm not sure if I like that

tranquil topaz
#

i like em on one line..

#

well.. the username could get very long.. whats the limit?

hardy gorge
#

It used to be 20 chars, but I'm not sure if that still holds

molten bough
#

I like 'em below honestly

#

Potentially better on mobile too since you shouldn't ever have the user icon on a different line to the username

hardy gorge
#

Another option to make that unlikely would be to dump the word "comments"

molten bough
#

I don't hate that but the alignment is annoying me

#

But doing a code block like 001 is probably a bad idea too

hardy gorge
#

Think the alignment is something we need to work with; we don't have much control over it

molten bough
#

Yeah, you're right

tranquil topaz
#

i like the later version. with all in one line and just icons.

#

people get emojis ๐Ÿ˜„

molten bough
#

It's definitely better I think :>

tranquil topaz
#

why do we not have control over alignment Ves?

#

cant we add whitespace?

hardy gorge
#

There are some unicode whitespace characters we could use, but it's just text + emojis in a non-fixed width font

#

I'm not even sure how to even try to align it

brazen charm
#

Can't think of a proper way without calculating the spacing from the font

gusty sonnet
#

Hmm, removing text? Like removing that comments text

#

Yeah I like the removed version

tranquil topaz
#

I might have a few ideas, but not sure how i could replicate the problem.

hardy gorge
#

I don't think we are going to get it consistent across devices anyway

tranquil topaz
#

well.. it uses web-tech. so im thinking to use tab. not sure if that works though

hardy gorge
tranquil topaz
#

how useless

crude gyro
#

I don't think that looks very bad.

#

I do wish we could align all the user icons and stuff like that but it's probably impossible to pull off.

tranquil topaz
#

can you embed it in a codeblock?

crude gyro
#

can't put emojis in a code block

tranquil topaz
#

guess you loose links that way

#

and that as well..

crude gyro
#

@hardy gorge imo it's probably as good as it gets, and a huge step in the right direction compared to how it looks today.

hardy gorge
#

The only thing you can do is what @molten bough suggested, put the numbers in a codeblock between the icons

#

I can try, but I'm not sure how that will look

molten bough
#

Yep, short of finding weird unicode, that's all I can think of

crude gyro
#

I can think of one highly creative way

#

nope

#

never mind

#

yeah no I think it looks pretty decent though

hardy gorge
#

Inline codeblocks won't work

#

It will strip whitespace inside of them within embeds

#

!embed 1 + 33 = 44

stable mountainBOT
#

1 + 33 = 44

hardy gorge
#

Okay, I think this is as good as it gets

hardy gorge
crude gyro
#

that's hot

exotic ember
#

!reddit daily

stable mountainBOT
#

Here are today's top r/Python posts!

Flask Webserver for Google Poly models in AR
upvotes 18 comments 4 user professormunchies

Do you use virtualenv often? I think I might be OVERdoing it.
I create a virtualenv for every single project I start. I like the idea of having a python installation completely isolated...
upvotes 15 comments 36 user I_AM_ALWAYS_ANGRY

Mentoring in programming
Hi fellow programmers, if you're interested in being (obviously totally free) mentored in any programming language or...
upvotes 7 comments 4 user GCProgrammer

I half-scientifically calculated that "r" is indeed the most...
upvotes 6 comments 0 user i-am-qix

Python 3.5.8 final is finally out!
upvotes 5 comments 1 user ExoticMandibles

molten bough
#

Very nice

hardy gorge
#

Okay, there's a complication

molten bough
#

Webhook can't use custom emotes? Hrm

hardy gorge
#

They probably can, just bot those added to other servers I think

molten bough
#

I guess that makes sense when you think about it

hardy gorge
#

Yes, I'll try it with "local" emojis manually to see if it works

#

No, I know that works, because I tested that on the test server

#

Okay

#

We have enough emoji slots here for these three

molten bough
#

Sweet

hollow lichen
#

nice!

molten bough
#

Would there be any interest in a PR to simple-bulma to add support for buefy?

#

I'm likely gonna need it in a project anyway, it's basically a combination of bulma and vue.js

#

as it adds components though, it'd have to be a separate "mode"

hardy gorge
#

@crude gyro You're probably the only one who can say something useful about this

molten bough
#

I'd be fine with doing a separate project as well if not

#

probably fork it to comect and handle the lifecycle myself

crude gyro
#

iunno, it might sound a bit out of scope

molten bough
#

I could see that, yeah

crude gyro
#

although the stack is interesting

#

I'm a bit confused as to how this "mode" would work

#

wanna elaborate?

molten bough
#

Essentially buefy is a fork of bulma

#

it provides its own sass and a whole bunch of JS, of course

#

it also covers a bunch of stuff we use extensions for, like toggles

crude gyro
#

sounds like a lot of code then

molten bough
#

so I call it a "mode" because it would need to provide those assets instead

#

yeah, it could well be

crude gyro
#

maybe you should just do a django-simple-buefy :P

molten bough
#

Haha, yeah, that might be the best idea

#

I have nothing against that anyway

mellow hare
#

How do you even pronounce buefy

molten bough
#

bew-fee

crude gyro
#

wat

molten bough
#

vue -> bue

#

bew-fee

crude gyro
#

how would you possibly pronounce it like that

mellow hare
#

No

#

Well wait

molten bough
#

bway-fay if you're french?

#

I dunno

mellow hare
#

Well actually, if dew and due are said the same....

molten bough
#

and vue is said "view"

mellow hare
#

Okay, fair enough

crude gyro
#

Buefy (pronounced /หˆbyoอžoหŒfฤซ/, like beau-fy)

molten bough
#

I mean unless you'd say that "voo" I guess

crude gyro
#

okay, I guess so

molten bough
#

that's like bow-fy

#

well that's not too far

mellow hare
#

I think deep down I was hoping for beefy

molten bough
#

haha

crude gyro
#

I was reading it bew-eh-fy

#

as in beautify without the t

molten bough
#

that's interesting

mellow hare
#

I could see that

molten bough
#

I'll give you that

#

oh good my 188 updates are ready to install

mellow hare
#

The joy of the Manjaro update dump

crude gyro
#

bedazzle your website with buefy

molten bough
#

hahaha

#

I like that

mellow hare
#

Bedazzle your website with Beefy

#

I'm going to make it a thing

crude gyro
#

bueefy

mellow hare
#

Yeeesssssss

molten bough
#

That wasn't as hard as I thought it'd be

mellow hare
molten bough
#

Haha

stable mountainBOT
green oriole
patent pivot
glass pecan
#

links?

glass pecan
#

thanks

#

no pricing present on the actions one

patent pivot
#

nor on the package registry for us

glass pecan
#

nvm

patent pivot
#

we are open source

glass pecan
#

its at the bottom

patent pivot
#

ah yeah

#

though

glass pecan
#

not too bad

patent pivot
#

that is under privatet repos right?

glass pecan
#

2k minutes a month on private

#

yeah

patent pivot
#

right okay

glass pecan
#

free for oss

patent pivot
#

so public is all free

#

nice

glass pecan
#

selfhosted: coming soon pithink

patent pivot
#

yeah that'll be nice

#

compete with gitlab for sure

glass pecan
#

that's just their runners

patent pivot
#

yeah

#

i meant gitlab ci

glass pecan
#

i wonder though if gh would do selfhosting though

#

probs not

patent pivot
#

i mean

#

enterprise

glass pecan
#

it's not hosted?

patent pivot
#

no

#

can be

glass pecan
#

huh

patent pivot
glass pecan
#

nice

#

makes sense i guess

#

gotta get those contracts

patent pivot
#

indeed indeed

#

we could put our docker containers on github package registry

glass pecan
#

glad they're keeping oss free entirely though

patent pivot
#

i haven't figured out why we would do it yet but we could do it

glass pecan
#

well

#

we technically don't need the dockers hosted publicly

molten bough
#

Snekbox is a handy one to have a public container for to be fair

glass pecan
#

so even if gh was an option, it's not likely any different from dockerhub

patent pivot
#

hm

#

one thought is

#

might be nicer if we switch to actions ever to go down the all-on-github route

glass pecan
#

yeah it's not bad

#

i use it elsewhere

#

it's not as ... what's the word

#

familiar i guess as azure atm

#

also a lot of helper tasks just don't exist in gh actions

molten bough
#

I have a feeling it isn't quite as all encompassing, yeah

glass pecan
#

but i guess that just comes from being so green

#

gh actions does get the benefit of being able to reference formulas other people made though

molten bough
#

Azure does have that too

#

I imagine it's easier to write tasks for Actions though

glass pecan
#

mm maybe

patent pivot
#

they switched to json syntax now didn't they

glass pecan
#

yeah

#

or rather yml

patent pivot
#

ah yeah

#

that's the one

glass pecan
#

json works

#

only due to being a subset

#

lol

molten bough
#

You'd sure hope it wasn't json only..

patent pivot
#

lol

glass pecan
#

to be fair, i do love the readability of yml

#

it's also become super familiar to use

molten bough
#

It feels more designed for humans than a lot of stuff

patent pivot
#

yeah i like yaml

glass pecan
#

i'm not a fan of some things, like their terminology for things

molten bough
#

I mean the standard for that was INI at one point

#

And man is configparser garbage

glass pecan
#

thankfully ini is usurped by toml now

#

which is a much better thing to use

molten bough
#

Yeah, although I only ever see it used for build tools

#

And sponge plugins, I suppose

glass pecan
#

linting

#

honestly linting settings was like the first time i ever seen it

patent pivot
#

oh i like toml as well forgot about that one

molten bough
#

Pipfile is toml but you barely should ever touch it

glass pecan
#

yeah

patent pivot
#

rust uses toml

glass pecan
#

yeah iirc pyproject was inspired by rusts usage of it

#

would be nice if more things supported pyproject

#

technically anything that's already toml styled you can append to the end of pyproject and it'll work fine

#

but it's kinda .. not dodgy/hacky

#

just kinda unclean

#

because it's not following the actual pyproject syntax

#

so instead of doing ```toml
[tools.flake8]
blah = foo

you'd just put
```toml
[flake8]
blah = foo

just the same as normal configs for it

#

and then point flake8 to process pyproject.toml as the config file

#

@molten bough you use salt right?

molten bough
#

Yup

glass pecan
#

do you also use nginx

molten bough
#

Yup!

glass pecan
#

do you manage your sites-available via salt

molten bough
#

Yup!!

#

Well, sites-enabled

#

I never bother with sites-available

glass pecan
#

ah right

#

makes sense actually

#

we do use sites-available

#

i've got it sorted atm

#

but i was trying to think of a way to cleanup dangling symlinks in sites-enabled

molten bough
#

I don't really see the point when you're already managing everything via salt

#

If you're not doing that, well.. Never too late!

glass pecan
#

it's managed via salt, yeah

molten bough
#

All my nginx configs are in the same git repo as my salt states

#

So it's just a case of copy over and reload if changed

#

But it doesn't handle removing them right now because I just didn't take the time to do that

glass pecan
#

right, nah i've got the removals set for available

#
cleanup sites available:
  file.directory:
    - name: /etc/nginx/sites-available
    - clean: true
#

and the nginx configs are file.managed

#

with ```yml
- require_in:
- cleanup sites available

molten bough
#

Mine are just file.recurse

#

Although I wrote all this stuff when I was still just learning salt

#

I still get confused trying to navigate the mess of docs..

glass pecan
#

i could technically skip the symlinks

#

and just change the above to enabled

#

not 100% sure what i'd lose by doing so

molten bough
#

Tbh even when doing it myself I still don't use sites-available

#

If I did I wouldn't symlink it

#

Primarily because mv is easier to remember the argument order for

#

Haha

glass pecan
#

as far as i can see it's only useful if you want to be able to preserve configs while disabling individual sites

#

our configs are generated

#

that's not a problem for us

molten bough
#

Even better

#

Mine are not, I should totally do it though since I have like 30 of them

glass pecan
#

that's actually what i've been working on for the past two days

#

altering our nginx config generation

#

testing changes to salt is painful

#

even more fun is preserving correct yml whitespace with a ton of jinja in between things

#

worked out ok in the end i think

molten bough
#

I'm sure you managed it amicably

glass pecan
#

too much swearing involved to use that word

molten bough
#

Haha

#

It's likely way more basic than yours though

#

It's late anyway so I'm gonna head off

#

o/ for now

glass pecan
#

thanks, catcha

crude gyro
#

@molten bough we're working on it

#

ref meta.

molten bough
#

Fair, fair

#

I can see why you'd want to do it

crude gyro
#

removed your message because it sort of exposes a way to circumvent filters

molten bough
#

Aha, okay

#

I did the same thing for the ProtocolSupport server RE JAR files

#

Have you had a lot of instances of people posting stuff they shouldn't, by the way?

#

Must be more common here than most places with the size

glass pecan
#

not a ton, but there's been the rare occasion and recently someone posted a malicious exe

molten bough
#

Yikes

glass pecan
#

yeah, they were banned

#

it was found really quickly ofc

#

and then our lovely people added the filter

molten bough
#

nods

#

wonder if they were trying to exploit that recent Discord issue

#

Discord can't fix that by the way, Squirrel updater doesn't support installation as admin

glass pecan
#

nah, they just wanted to share what they made for some reason

molten bough
#

Huh, okay

glass pecan
#

iirc they actually said what it does

#

doesn't make it good

molten bough
#

well that was.. smart..

#

haha

#

Anyway, all good, makes sense to have a filter I think

crude gyro
#

was something like a forkbomb?

glass pecan
#

yeah

#

i always mix up terms

#

forkbomb was it though

molten bough
#

well, we know all about the dangers of forkbombs here

crude gyro
molten bough
#

haha

hardy gorge
#

It was a forkbomb!

crude gyro
#

!otn a absolutely-no-forkbombs

stable mountainBOT
#

:ok_hand: Added absolutely-no-forkbombs to the names list.

molten bough
#

the legacy lives on

glass pecan
#

what's the story?

hardy gorge
#

A silly one. Once we removed the .exe. they just posted the sourcecode and urged people to use it to prank others

molten bough
#

someone posted a link to a PHP shell they were running on their server

#

and said "BREAK IT IF YOU CAN"

#

so I broke it

glass pecan
#

oh

#

that seems silly

#

especially considering it's php

#

which has the security level of a wet paper towel

molten bough
#

it was like, a web shell, you could run anything you wanted on the host

hardy gorge
#

php = pretty hostile (to) programmers

molten bough
#

no auth

crude gyro
#

gdude forkbombed a user and the staff got upset because owners probably shouldn't be forkbombing members of the server, even if they were begging for it.

molten bough
#

yeah, which is fair enough

#

think it got him banned from the host, actually

crude gyro
#

so g had to apologize for his forkbombage

#

and I changed the topic of staff-lounge to match

hardy gorge
#

People are still trying to break snekbox, but I haven't really seen much creativity there

crude gyro
#

forkbombing snekbox wouldn't work anyway

#

it kills the shell after a few seconds

glass pecan
#

kinda reminds me of the dude who didn't sanitise a bot command, the arg was handed directly as is to shell execution. turns out the bot was running on root and someone did a rm -R

molten bough
#

can't spawn processes anyway

hardy gorge
#

It would not, you can't open other processes

#

yeah

molten bough
#

Oh yeah, I remember that one scrags

glass pecan
#

yeah, i think i shared the screenshots

#

was a bit of a giggle

molten bough
#

I wonder if there's any kernel that has forkbomb protection

#

well, anyway, yeah

hollow lichen
#

What's a fork bomb btw?

hardy gorge
#

It's basically a self-replicating process

#

Because it self-replicates and all those replicants start replicating too, it gets out of hand real quick

#

The term comes from the line diagram you make

#

It looks like a fork

#

if you draw it with sharp lines, you'd get a fork shape

hollow lichen
#

Ah... I was thinking of forks on Github ^^

molten bough
#

Oh, I thought it was called that because you're forking processes, like, os.fork

crude gyro
#

it's actually named after the blink 182 song

hardy gorge
#

yes

crude gyro
#

not many people know this.

hardy gorge
#

but I suspect the name of creating a fork comes from the diagrams you draw to represent that.

#

but, I may be wrong, but that's what I read as the origin for both

#

That's the original diagram that inspired the name, I think, in a 1963 paper

#

So, the process "forks" into two and it looks like a fork

crude gyro
#

yeah but. the word fork has meant to split somehting into two for like hundreds of years before that.

#

so I don't know if I buy that etymology

hardy gorge
#

ahh

hollow lichen
#

It only replicates itself? Messy but useless, isn't it?

crude gyro
#

it's not useless

#

it'll usually crash whatever you let it loose on

hollow lichen
#

At some point I suspect it crashs the computer

crude gyro
#

because there are suddenly thousands or millions or processes running

#

yes

#

even if they're not doing much, no system can handle exponentially more process creations

hardy gorge
#

It seems to come from the tool, but why the tool was called that way, I can't find

#

Anyway, latin etymology is probably off-topic for this channel

#

the name fork above probably comes from the "split into two"-meaning, not the shape of the diagram

green oriole
#

OS aren't protected against forkbombs?

molten bough
#

Wouldn't think so

#

maybe some AVs detect it

green oriole
#

Hmm..

#

No you can protect your OS

molten bough
#

it's effective but it's also a really shitty thing to do

green oriole
#

You can easily limit the amount of processes that can be spawned in Ubuntu and most other Linux distributions by modifyingย /etc/security/limits.conf

#

Doesn't seem too complex

molten bough
#

yes, but then you can't start any more processes

green oriole
#

I guess superuser process override this restriction

#

I hope at least

hollow lichen
#

Ty for all the infos on forkbombs I'll try now

molten bough
#

ABSOLUTELY NO FORKBOMBS

#

:>

mellow hare
#

Inside joke noticed and acknowledged. Chuckle protocol initiated.

molten bough
#

haha, well it's no longer an inside joke, I guess, explained above

mellow hare
#

Inside reference then

#

Since I think that's still the channel description

molten bough
#

Yeah, lemon said it was earlier

#

:>

mellow hare
#

Well then

molten bough
#

legacy lives on

exotic ember
#

how would I test (I'm guessing I need mocks here) code that retrieves stuff from the web?

molten bough
#

I would say mocks, yeah

#

It depends on the context though

exotic ember
#

coughs totally not basing this question off this issue I claimed but now can't do..
if there is a function that gets something from the web > deal with response checking/error handling > builds a representation of the stuff gotten from the web all in one function, the way to go with unittesting would be to break up that function then test each part separately?

crude gyro
#

yes.

#

at work we have a nice library for mocking responses but it only works specifically with requests

molten bough
#

oh, of course sentry has that, haha

#

very nice

#

Yeah, break up the function if it makes sense, and mock out the library calls

crude gyro
#

being able to structure it as a context manager is particularly nice

molten bough
#

You can do that with the stdlib mock as well

#

super nice

crude gyro
#

I wouldn't mind if we wrote a nice aiohttp requestmock thing that we can use for this so we don't have to do it the hard way every time, by the way kosa.

molten bough
crude gyro
#

just something that makes it as trivial as creating an instance, feeding that instance the endpoint url and the response you want, and then using the instance as a context manager.

#

hm, yeah, that looks promising

hardy gorge
#

We rarely talk to aiohttp directly in our codebase, though. We usually use the bot.api_client.method, which is easily mockable with a return_value

crude gyro
#

ah, that's true.

mellow hare
#

Yeah most of that communication is handled within discord.py

hardy gorge
#

No, we're talking about our requests to our own api

mellow hare
#

OH oh oh oh

#

Right, sorry

molten bough
#

took me a second as well, haha

hardy gorge
#

That's okay

#

That's why we're talking about it

crude gyro
#

I'm not opposed to us adding some testing packages to the toolchain though, if we come across some cool stuff. there are some really excellent ones

hardy gorge
#

yes

mellow hare
#

Kind of off-topic, but what's our current coverage?

hardy gorge
#

for?

#

bot?

mellow hare
#

Yeah

crude gyro
#

20-30 something %?

hardy gorge
#

Branch or line coverage?

mellow hare
#

I honestly don't know the difference

hardy gorge
#

It's fairly easy

#

line coverage just keeps track of which lines are executed during the tests

#

And then calculates the percentage of all lines that got executed

#

if a line was never executed during testing, it was never tested

#

However, take a look at this code:

mellow hare
#

Oh yeah, branch then

#

I know some lines would be pointless to test

hardy gorge
#
def eggs(bacon):
    if bacon:
        spam = "ni"
    return spam
#

If, during our tests, we call this with eggs(True), all of the lines in there would be executed and we would have full line coverage

#

However, there are two paths/branches possible: bacon is truthy and bacon is falsy

#

If we only call it with a truthy bacon, we don't test the branch/path where bacon is falsy

#

So, we have full line coverage, but only partial branch coverage

molten bough
#

Reminds me of site coverage, which does require doing all the branches too

hardy gorge
#

Yes, bot as well. Both have coverage.py set to branch=True

molten bough
#

nods

#

It took me a bit to realise why the file wasn't marked as 100% covered lol

hardy gorge
#

I've added a section on that to the testing readme for bot

molten bough
#

\o/

#

also pycharm pro's coverage tool is awesome

hardy gorge
#

with a link to the coverage.py explanation of it

molten bough
#

big recommend

green oriole
#

The reddit cog break at the end of the month

#
Traceback (most recent call last):
  File "...\lib\site-packages\discord\ext\tasks\__init__.py", line 68, in _loop
    await self.coro(*args, **kwargs)
  File "...\bot\bot\cogs\reddit.py", line 133, in auto_poster_loop
    midnight_tomorrow = now.replace(day=now.day + 1, hour=0, minute=0, second=0)
ValueError: day is out of range for month```
hardy gorge
#

Ah, yes. This should use a relativedelta instead to add the day

#

Feel free to make an issue for it

green oriole
#

Okay

#

relativedelta or timedelta?

#

I would say timedelta is more adapted

hardy gorge
#

yeah, you're right. That's what I meant.

#

Bit tired

hardy gorge
#

I think it would be a good idea to add the emojis we create to the branding repo. A emoji directory would work well and we could include both the .png we upload and, if available, the svg we used to create it.

green oriole
#

They aren't already in?

hardy gorge
#

Not that I know of

green oriole
#

There is some in the assets folder, but yeah a lot are missing

hardy gorge
#

Yeah, only the very old ones, I think

#

Not our cool new duckies and what have you

molten bough
#

Good idea

#

Easier to contribute them as well then

scenic moth
#

is there way to suggest adding a tag or alias

molten bough
#

I think there's an issue on the meta repo

brazen charm
#

Or the meta channel

green oriole
#

Yeah there is an issue on meta

scenic moth
#

ty

green oriole
#

Guys, I have three hours before hacktoberfest is completed for me, I want to do a last issue on a pydis project (my 10th contrib) any important issue in mind that need to be solved and that will not take ages?

brazen charm
#

There's not that many to go through and check what you can handle

green oriole
#

There is 147 issues opened on bot :)

#

Half of them are test writing

brazen charm
#

Filter tests out and the second half is a manageable amount to check, you know better about what you can handle in that timeframe

green oriole
#

Hmm good point

#

I found one

#

Not sure if I can finish it but I'm gonna try anyway

#

If someone can please assign me

green oriole
mellow hare
#

Assigned

green oriole
#

@mellow hare thanks! Any thoughts about using the bot_setting model? Because for now it is only used for the defcon settings there is maybe a reason to it?

mellow hare
#

I don't really have any strong thoughts about it honestly. Plead your case, how do you think you'd make it work?

green oriole
#

Well, we have this model that isn't very used, I don't think this feature deserve a brand new model and it seems to very fit the goal of this model they are runtime settings.

#

Actually I only need to store two list (one for the tokens, one for the users) and an expiration date

molten bough
#

That seems like the wrong model

#

"settings" to me sounds like stuff you don't change automatically

#

the user sets them and they're not big lists of things

#

whereas it seems like this one is purely access programmatically by the bot, especially considering the timing aspect, and commands

#

so yeah I'd say this probably needs another model

green oriole
#

The defcon can't be enabled at runtime?

molten bough
#

yes but it's not like entries are going to be automatically added and removed

#

there's always a single defcon entry

green oriole
#

Hmm yeah you're right

clever wraith
#

btw there is a issue with bot , i am just saying cuz m not skilled enough to help fixing it ,
in the output it don't consider empty spaces

mellow hare
#

How do you mean?

#

!e

print()
print()
stable mountainBOT
#

@mellow hare :warning: Your eval job has completed with return code 0.

[No output]
mellow hare
#

I think that's intentional

clever wraith
#

no not that

#
def reformat_(a):
    len_a = 8 - len(a)
    a = " " * int(len_a / 2) + a + " " * int(len_a / 2)
    return a
reformat_("Hii")
hardy gorge
#

It will strip the leading spaces of the first line; is that what you mean?

mellow hare
#

Yep

hardy gorge
#

wait

#

that's on me

#

but it shows it anyway

#

!e

print("    hello", "    goodbye", sep="\n")
stable mountainBOT
#

@hardy gorge :white_check_mark: Your eval job has completed with return code 0.

001 | hello
002 |     goodbye
mellow hare
#

Huh

clever wraith
#

!e
print("hello ")

stable mountainBOT
#

Sorry, but you may only use this command within #bot-commands.

clever wraith
#

what about after spaces ?

molten bough
#

I mean.. do you need those?

#

spaces at the end of the string

clever wraith
#

in some cases YES

molten bough
#

why?

clever wraith
#

some conditions like if i want to print | abcd __________
and with end = ""
i do next print

#

wait its the discord

#

which strips it

mellow hare
#

Here's the thing, they're still there in the variable, but they just aren't printed

#

And there really isn't a feasible way to see white spaces after a string

clever wraith
#

so what happened i typed a function and wanted to check it , that reformat_ one , and i did it with this bot and was really confused why it didnt worked

hardy gorge
#

This stripping of spaces should not influence the end="" thing

#

!e

print("A    ", end="")
print("B", end="")
stable mountainBOT
#

@hardy gorge :white_check_mark: Your eval job has completed with return code 0.

A    B
clever wraith
#
def reformat_(a):
    len_a = 8 - len(a)
    a = " " * int(len_a / 2) + a + " " * int(len_a / 2)
    return a

#

this one

mellow hare
#

Right, but I'm more saying there's no way to tell if there's more spaces after B

#

Because it's the last visible character

clever wraith
#

but after using this function it dont even show first spaces ?

mellow hare
#

Yeah it strips the whitespace on the first line for some reason

woeful thorn
#

!e

def reformat_(a):
    len_a = 8 - len(a)
    a = " " * int(len_a / 2) + a + " " * int(len_a / 2)
    return a
print(reformat_("Hii"))
stable mountainBOT
#

@woeful thorn :white_check_mark: Your eval job has completed with return code 0.

Hii
hardy gorge
#

It strips the whitespace of the output variable

#

So, leading and trailing spaces will be removed

#

I'm not sure if that's absolutely necessary, someone should experiment with removing it. It's probably there for a reason.

clever wraith
#

or maybe maybe as python reply with ` at start and end , is throwing it off

green oriole
#

Oh yeah ` strip the spaces

hardy gorge
#

It's not an inline codeblock, but a multiline one

#
    this works fine
 with both leading and trailing spaces    
clever wraith
#

doesnt bot uses 2 of those `

green oriole
#

Oh yeah

clever wraith
#

do this ?

#

regardless

hardy gorge
#

No, it uses a multine codeblock, not an inline codeblock

mellow hare
#

It doesn't have to do with Discord's formatting

clever wraith
#

hi hell no

hardy gorge
#

No, it does not

#

It's purely the stripping of whitespace

mellow hare
#

!e

print("               I will be flush with the | symbol")
print("               I will not.")
stable mountainBOT
#

@mellow hare :white_check_mark: Your eval job has completed with return code 0.

001 | I will be flush with the | symbol
002 |                I will not.
mellow hare
#

If it did have to do with Discord's formatting, the output for this would be the same as the prints

#

Snekbox is Mark's baby, right?

hardy gorge
mellow hare
#

Or who designed it?

hardy gorge
#

The other one comes after the line numbers are added

#

This is the bot code of snekbox, not the snekbox repo.

clever wraith
#

conclusion its the bot who is doing it on purpose ? right

hardy gorge
#

I think gdude originally adding the stripping, but mark reformatted the code

#

(going by the git blame)

#

Yes, the bot is doing this on purpose, probably to prevent empty lines from being added at the start or end

#

We have limited space, so that would only take up space and usually isn't relevant

mellow hare
#

Seems pointless since we have a built in spam reduction

#

It pares it down to 10ish lines anyway

hardy gorge
#

We only allow 10 lines of eval output, using two of those empty trailing or leading lines is probably not that useful

#

However, it just means we should not strip whitespace from lines with something on it

mellow hare
#

True but it'd be accurate to the output

green oriole
#

Maybe we can add an option for it?

clever wraith
#

toggle like system ?

hardy gorge
#

No, I just think we should change the stripping logic to where it doesn't strip leading spaces on lines with actual non-blank output

mellow hare
#

That's an easy fix

#

More or less anyway

clever wraith
#

btw are we gonna get any support for matplotlib , like outputting a image , like spyder does ?

#

if we dont have it yet

brazen charm
#

there's wolfram alpha support which I believe does that

mellow hare
#

I keep forgetting about that cog

past falcon
#

Trying to set up a dev environment for playing around with the bot, but I haven't used Docker before and I'm feeling a little lost. I'm on Windows 10, but not a Pro version so I'm not meeting the criteria for Docker Desktop. Should I then go for the Docker Toolbox? These binaries https://download.docker.com/win/static/stable/x86_64/ ? pip install docker? x_x

molten bough
#

If you're on a home edition windows, Docker is probably not going to work for you

#

you'll need to do it without docker

past falcon
#

Ah, oh.

brazen charm
#

I got it working for the site on 7 with gdude's help but bot's being run through pycharm's pipenv configuration

green oriole
#

I'm on 10 home and I use a no-docker setup @past falcon

past falcon
#

Oh, cool! Was it a hassle to set up? @green oriole

green oriole
#

Not that much

#

Once you know what you need to do

#

You want a bit of help?

past falcon
#

That would be very much appreciated ๐Ÿ™‚

green oriole
#

Okay so

#

You want the site and the bot?

past falcon
#

Was thinking I'd start with just the bot, unless I need the site for that too

green oriole
#

You need it to interact with the db

past falcon
#

I see. So another fork and clone for me

green oriole
#

Yep

woeful thorn
#

You're staff, you don't need to fork

green oriole
#

In the meantime you can download postgres 12

#

Yeah if you are in the org you can clone the upstream

past falcon
#

Ah, well I guess I'm doing a bit of a lone wolf setup then ^^

green oriole
past falcon
#

Yeah, installing atm

green oriole
#

Okay in the meantime we can start configuring the bot

past falcon
#

I think I did most of that

green oriole
#

Okay you changed the channels, the roles and the webhooks?

past falcon
green oriole
#

(inside config.yml)

past falcon
#

Yus

#

Uh, postgres port number. 8000?

green oriole
#

No leave the default

#

In the env you need to add

DATABASE_URL=postgres://pysite:pysite@localhost:5432/pysite
SECRET_KEY=suitable-for-development-only
STATIC_ROOT=C:/Users/<your username>/AppData/Local/Temp/django```
past falcon
#

Environment vars?

green oriole
#

The .env file

#

Along with the BOT_TOKEN

#

Tell me when postgres is installed ^^

past falcon
#

Done!

#

And this .env file is, uh, where? ๐Ÿ™‚

green oriole
#

In the bot folder

#

You hard-coded your token in the config file?

past falcon
#

No, stored as environment variable

#

I'm not finding the .env?

green oriole
#

Oh yeah you don't need to store it as an actual env var you can add it in the .env

#

You need to create it

past falcon
#

Oooh.

green oriole
#

When you launch your script pipenv load the variables inside the .env as actual environment variables

#

Oh wait

#

My bad I mixed things up

#

I gave you the env of the site not the bot

past falcon
#

Ah, I'll move those to the site folder then?

green oriole
#

Yep

#

Sorry

past falcon
#

No worries! Thanks for the taking the time =)ยจ

green oriole
#

So postgres

past falcon
#

This is taking me through quite a few things that are new to me. I tend to stick to my comfort zone of solving fun code puzzles ^_^ Anyhoo. Got a site .env, got my postgres - leaving my bot token as a real envvar for now

green oriole
#

Open the start menu and search for pgAdmin

past falcon
#

Gotcha.

green oriole
#

Oh before that you can type your bot token and BOT_API_KEY=badbot13m0n8f570f942013fc818f234916ca531 in the bot .env

past falcon
#

Uh hm, do I have both a BOT_TOKEN and a BOT_API_KEY?

green oriole
#

Yep both

#

With a line break between them

past falcon
#

I'm not sure where to find that API_KEY. Discord gives me client id, client secret, bot token

molten bough
#

the api key comes from the site

#

look at the compose file for it

#

for the bot

#

I mean

green oriole
#

No the api key is always the same

#

The one I gave to you

molten bough
#

it's in the compose file

#

Oh right, yeah

#

you posted it lol

past falcon
#

Ooh.

#

Okay, back on track now I think.

green oriole
#

Okay so

#

You should have a web page with some graph on the right side

past falcon
#

Yeah

green oriole
#

Right click on the user icon in the left bar and click new

#

Then name that new user pysite

#

Make it admin (it a switch in the security tab I think)

#

And in security set the password pysite

#

?

#

Anyway

past falcon
#

Uh, hang on. I think I'm making a group role, not a user

#

...but that's also the only thing I see that I can create

green oriole
#

Create it and I think it actually create an user

past falcon
#

Alrighty

green oriole
#

Perfect

#

Now right click on database and then click on create

#

Name it pysite and I think you can choose the database owner?

past falcon
#

Yupyup

green oriole
#

Then choose pysite as the owner and create it

past falcon
#

So far so good

green oriole
#

Okay

#

I think we are ready to go!

#

(well you need to wait a bit of time until the server start)

#

(assuming you changed your host file)

past falcon
#

I have interacted with very few host files recently ๐Ÿ™‚ I also haven't fixed the pipenv on the site, so installing some packages now

green oriole
#

Oh you can abort it

#

You nned to do pipenv sync --dev

past falcon
#

Yeah, doing that

green oriole
#

Or you are going to get an error on pyuswgi

#

You are sure it is installing the dev packages?

past falcon
#

I ran the pipenv sync --dev, so I would hope so

green oriole
#

Oh okay I thought pipenv was self installing it because you started the site

past falcon
#

Ok, now what's this host file thingy

green oriole
#

There was a note on it in the contributing guide

#

Okay so

#

Open the start menu, search for notepad, right click and select run as admin

#

Next use ctrl + o

#

Type C:\Windows\System32\Drivers\etc\hosts and press enter

#

Then add

127.0.0.1 pythondiscord.local 
127.0.0.1 api.pythondiscord.local
127.0.0.1 staff.pythondiscord.local 
127.0.0.1 admin.pythondiscord.local```at the end of the file
mellow hare
#

Ideally with those on separate lines for clarity

#

Sorry, my pickiness kicked in

green oriole
#

Yeah on phone I saw them with one per line

#

But they wasn't

#

No you're right, clarity is important ^^

past falcon
#

Site is running!

green oriole
#

Yay

#

And now pipenv run --debug in the bot folder

past falcon
#

With site running?

green oriole
#

Yep

#

Open another terminal

past falcon
#

run whatnow? Missing something there I think

green oriole
#

Missing something? Why?

#

The bot should post some log and stop around user sync finished

#

BTW we should add a proper "I have started" message

mellow hare
#

pipenv run start --debug

green oriole
#

(I said it)

mellow hare
#

You forgot the start bit

green oriole
#

Oh my bad

past falcon
#

Stuff happening now! Hitting a snag on the yaml file though, but think I can squash that

green oriole
#

The start commands are so wordly

mellow hare
#

Sed, if you look in the pipfile at the bottom you'll see a variety of commands you can use through pipenv run

#

You might want to run the precommit one to make it easier to do linting before making a commit

#

I always forget to do it otherwise

green oriole
#

You have test coverage lint precommit and all that kind of crazy stuff

#

Oh yeah precommit

#

Very important one ^^

brazen charm
#

just remembered, would it be possible for the precommit to only run on things that are added in that commit?

woeful thorn
#

That's what it does

green oriole
#

(and so they are at the end of the pipfile. I always asked myself where they were)

brazen charm
#

It picked up some test files I had laying around in the folders

woeful thorn
#

The alternative is manually syncing the pre-commit config with everything else, which isn't desirable

green oriole
#

Yeah it stash them before running the test

past falcon
#

Hitting some connection errors, but I gotta do some dinner-related errands. Gonna hafta look at it later. I muchly appreciate the help so far @green oriole Making big progress here ๐Ÿ™‚

#

You should consider expanding on that contribution guide for windows nurbs like me

green oriole
#

Happy to have helped ๐Ÿ˜„

#

I proposed, they didn't wanted

past falcon
#

Oh. Well, +1 on the suggestion from me.

hardy gorge
#

We did not?

woeful thorn
#

Pretty sure that's not true

green oriole
#

Let me find it back

hardy gorge
#

We eventually want one, good guide, that preferably works well for everyone

#

I think

green oriole
#

Oh well, no staff responded

mellow hare
#

Sure but considering not everyone has the same system we might have to take them in piecemeal and fix any discrepancies

green oriole
#

I wanted to write a no-docker win 10 all in one guide

molten bough
#

lemon did say he was interested

green oriole
#

He did?

hardy gorge
#

@mellow hare Sure, but the biggest issue is docker and it's perfectly possible to provide a guide that works without docker (but maybe has an optional docker part for people who want to use it)

mellow hare
#

I was thinking one guide with sections

#

Similar to what we have now

green oriole
#

I think there should be a guide special no-docker because of the additional step it had, like manually setuping the database @hardy gorge

hardy gorge
#

@green oriole What I meant was that if docker is that problematic for a large group of (potential) contribs, because it doesn't work well on Windows 10 Home, then our main guide should not say "use docker; it makes things easy". Instead, we should probably have a robust guide without docker as the main guide (if that's the solution to those problems) and have docker as the additional guide.

#

However, this is probably topic that's going to trigger some debate, since some people really like our docker set-up

#

So, it's not something just a few people should decide

mellow hare
#

Probably better for a meeting

#

Or a poll

hollow lichen
#

What's the value added by docker, since there is already pipenv to properly set the dependencies?

mellow hare
#

Docker makes setting it up even quicker

#

As well as updating the setups and what have you

green oriole
#

Maybe just a clear distinction at the beginning of the docker guide "if you are on win 10 home see this guide instead"

#

Tbh I just recivied my raspberry pie and I'm going to do a no-docker setup even if I could have used it

#

I don't think it make things easier

#

But that's just my opinion

woeful thorn
#

You don't think docker makes things easier?

green oriole
#

Yeah

mellow hare
#

Have you gotten it to successfully work on the rpi?

woeful thorn
#

Do you have any particular reason for that?

brazen charm
#

well, certainly not on windows at least so that should be covered in some way

woeful thorn
#

Why not on Windows?

mellow hare
#

Correction, not on Windows 10 Home

#

Because Docker does not work on that version since it requires...

#

What's the word...

green oriole
#

No I don't really see any point in it

#

I just received it @mellow hare I will see tomorrow

#

That's the same as doing a normal setup and you need to work around docker

#

It just add restrictions imo

#

The fact that it made my lost my mind and two days of my life @woeful thorn :)

woeful thorn
#

What restrictions does it add?

brazen charm
#

because it took me 2 days to get it running, lack of resources online for looking up things yourself

mellow hare
#

Hyper-V

#

That's it

green oriole
#

(all my message are in the wrong order thanks internet connection)

mellow hare
#

10 Home does not have Hyper-V functionality

#

And so it can't properly run Docker. That's something that they mention in their setup (the docker folks being the they)

green oriole
#

@woeful thorn the fact for example you need to configure the bot and the site to be able to communicate

woeful thorn
#

?

green oriole
#

The fact that it take 10 minutes to shutdown the container

woeful thorn
#

It doesn't

mellow hare
#

Yeah neither of those are true

woeful thorn
#

If we're going to say "don't use docker" for anything that isn't Windows 10 Home then we need real reasons

green oriole
#

Yes you need to add the compose project or something

woeful thorn
#

Not "I don't like it"

mellow hare
#

Well I'm pretty sure, "It doesn't work" is enough of a reason

woeful thorn
#

It does work lol

green oriole
#

It doesn't take 10 minutes but it take something like 20 seconds

mellow hare
#

Sorry, maybe it's Docker-Compose that doesn't?

hollow lichen
#

I agree

brazen charm
#

didn't manage to get it working for the bot

green oriole
#

20 seconds you don't have to wait without docker

mellow hare
#

Either way, it's something crucial for it to function

hollow lichen
#

@green oriole You can safely kill it and it takes 2 seconds

mellow hare
#

And true ELA, you CAN get it working on Win 10 Home, but it would require either a VM or WSL

woeful thorn
#

I'm not talking about just Windows 10 Home

mellow hare
#

And at that point, you might as well use the other option

green oriole
#

WSL doesn't work

#

I tried

woeful thorn
hollow lichen
#

On linux/Mac installing Docker is pain-free

#

Nostalgic of #IRC?

mellow hare
#

As is Docker for 10 business or pro

molten bough
#

if we're talking about docker on xyz windows versions

#

pro: yes, full hyper-v available

green oriole
#

I totally understand that some people prefers docker, I just don't like it

molten bough
#

home stable: yes, barely, for now

mellow hare
#

So yes, I agree that the guide shouldn't be swapped over to not suggest docker

molten bough
#

home insider preview: nope

mellow hare
#

Wait, home stable has Hyper-V?

molten bough
#

no

mellow hare
#

I was under the impression that was what was holding it back

#

I'm confused then

molten bough
#

you can use docker toolbox, which spins up a virtualbox VM

mellow hare
#

Gooooooootcha

molten bough
#

there's a problem with this though

#

WSL2 is the problem

#

in order to facilitate it, home is going to include some select parts of hyper-v

#

not enough to run docker proper

#

but enough to break virtualbox

#

meaning neither solution will work

mellow hare
#

So for practical purposes, it's not a good fit for 10 Home

molten bough
#

Pretty much