#ot2-the-original-pubsta

652 messages Β· Page 91 of 1

tall sparrow
#

Shortened the perl script down to just the essential pieces, the other parts were just creating spreadsheet xls files

sinful sun
#

omg perl

calm bolt
#

dude must have been ol school linux user

tall sparrow
#

But this is the only script that was ever shared around, and this extracts the tgx file into a Data folder

#

Kohan mod statistics collector written in Perl, version 0.1.3

tribal tinsel
#

that's why I would like more than one set of ini+tgx (even two would be good, just so I have something to compare) πŸ™‚

tall sparrow
#

Is it cool if I link the git I've set up for this?

round moss
#

jesus christ that is some god awful perl

tall sparrow
#

It has tgx files and ini files in there.

round moss
#

ye, you can link to gh repos

tribal tinsel
tall sparrow
#

Probably simpler to send them over discord yeah. Alrighty, files incoming

calm bolt
#

I'd like to see the GH for cursiousity

tawdry fog
#

This mans did not

sinful sun
#

is the a proper noun

#

clap back at them

tawdry fog
#

but the last line

#

"should I invite alessandro?"

#

He didn't capitalize his name...

sinful sun
#

is a name a proper noun

tawdry fog
#

yes...

calm bolt
#

What is in a name?

tawdry fog
sinful sun
#

idk what a proper noun is tbh

calm bolt
#

@sinful sun really?

sinful sun
#

im not english, why should i

calm bolt
#

non-native english speaker?

tribal tinsel
calm bolt
#

sorry

sinful sun
#

lmao no worries

calm bolt
#

You're English is really good, I couldn't tell

#

A proper noun would be your name, like Bill

#

as opposed to just him

tall sparrow
sinful sun
#

ohhh classic raids

#

which one, MC?

calm bolt
#

@tall sparrow it is cool that the community is still passionate for such an old game

tribal tinsel
tribal tinsel
sinful sun
#

oh dang

#

lmao time is a flat circle it seems, blizzard is restarting the timeline

tall sparrow
sinful sun
#

when it catches up to wrath i might rejoin

#

wrath baby gang

calm bolt
#

I coulda sworn classic W0W had a map...

#

like the little in game map

tribal tinsel
calm bolt
#

minimap in corner

tribal tinsel
calm bolt
#

I swear when I tried WoW classic it wasn't there...

tribal tinsel
echo fern
#

playing minecraft even in wow, smh my head πŸ˜”

tribal tinsel
#

wait, does my profile still say minecraft? XD

echo fern
#

MC πŸ™‚

tribal tinsel
#

...oh, right XD

#

Molten Core

sinful sun
#

MC wasnt first

#

what about onyxia

#

and that troll one

#

were those in classic?

tribal tinsel
#

or 2

#

Phase 1 - Onyxia and Molten Core - Released August 26th, 2019
Phase 2 - Release Date: November 12th, 2019 - Honor System and World Bosses
Phase 3 - Release Date: February 12th - Blackwing Lair
Phase 4 - Release Date April 2020 - Zul'Gurub and Arathi Basin
Phase 5 - Release Date - Ahn'Qiraj
Phase 6 - Release Date - Naxxramas

that's from some guide on Classic Wowhead

#

we're now on 2nd phase of TBC

vital crown
#

Did WoW classic move into TBC?

tribal tinsel
vital crown
#

Aw man, I kinda thought it'd be like eternal vanilla

tribal tinsel
#

oh, there was split!

#

and if you wanted your character to be in both, you had to pay

#

and now Blizzard wants to release vanilla again, but this time with some changes. Season of Mastery they call it

vital crown
#

Ah, ok, so you can still do pure vanilla if you want to

#

So it'll be kinda like those seasons they have in Diablo 3 nowadays

tribal tinsel
#

idk about the state of classic-classic servers, I think most people moved to TBC and continued progressing

hollow heart
#

@jovial island maybe it's an assignment and they're specifically being asked to use certain functions, you don't know. in general I try to help with what they know or what they're trying to do and then show them alternative preferred ways

#

there's nothing wrong with learning how to use the round function

jovial island
#

Is that even guaranteed to convert to string with that many digits?

#

floats don't even have digits, it doesn't make sense.

#

it may be that they should look up documentation for string formatting floats

radiant socket
#

yeah, that's my main beef with round. it doesn't make sense

jovial island
#

but that's unlikely to happen.

#

and you basically have to show that, there's no figuring that out

#

I WILL AGREE the timing sucked

#

people shouldn't be allowed to use floats while learning xD

hazy laurel
#
In [4]: round(2.50)
Out[4]: 2

In [5]: round(2.51)
Out[5]: 3

who has done this >:(

radiant socket
#

nearest even number go brrr

hollow heart
#

python uses bankers rounding but

#

that's not .. relevant

#

ok

jovial island
#

they should teach decimal if they're gonna use ... decimals

#

petition to move the float type to some obscure nested module

#

and remove the literals

radiant socket
#

oh i have no idea of the context. i just don't like the round function

jovial island
#

context is I showed how to do it with f-string when they were dealing with an error in their use of round

#

so they didn't solve the error, jumping to my example

radiant socket
#

with some insults thrown in too i see

hollow heart
#

there was plenty of time to read what error they got in their attempt before jumping in

#

that's all i ask

#

they passed a list to their round function, had you read more closely you would have seen that and guided them to see why they were getting that error

#

or, what i would have done

jovial island
#

so uhm are we mad at each other now or do we simply both agree that went wrong?

#

please don't teach people to misuse float, though.

hollow heart
#

what went wrong?

radiant socket
#

misuse float
huh?

daring jay
#

floats are great

#

how else are you going to process decimals

jovial island
#

grr

daring jay
#

Or do you mean replace it with decimal.Decimal?

radiant socket
#

tbh, i would be totally happy with decimal.Decimal being the default

daring jay
#

Yeah I'd be fine with that, but not get rid of the literal

jovial island
#

well they don't bother me for my own use. in that way I don't mind.

#

but beginners constantly expect them to behave as decimal does

#

I think they've been in school too much.

dusky cliff
#

i mean, its not an unreasonable expectation

#

also considering that python ints aren't limited like in other langs

radiant socket
daring jay
#

mhm

dim root
#

sup @lucid girder could you share the playlist you listen to while you are streaming on Twitch?

lucid girder
#

which one?

dim root
#

the one you were listening to yesterday

lucid girder
#

The last stream I did was a 10 hour stream, you're going to have to be more specific on the song you want.

dim root
#

hmm, just gimme any1 of them, don't remember the name

lucid girder
dim root
#

cool thanks

hazy laurel
#

is it just me who has this Discord bug on Linux

worldly harness
#

I had that before

#

just wait for it to load

hazy laurel
#

and it's only a problem on Linux

dusky cliff
hazy laurel
#

shut

#

blame Discord for being so mean

#

stupid Linux "support" hmph

worldly harness
#

I'm on windows web and when I had that I waited for like 1 to 2 mins and it loaded

hazy laurel
#

They never load for me

worldly harness
#

theres discord desktop on linux?

hazy laurel
#

like ever

hazy laurel
worldly harness
#

wew discord is nicer than I expected

hazy laurel
#

it's just terrible quality because there's not a single Discord Linux desktop dev

#

not a single one

worldly harness
#

add braces

dim root
hazy laurel
#

rip

#

I'm cursed

#

I wonder if it's a Wayland thing

#

Nim-like variable naming πŸ‘€

dim root
#

make it work like Java

#

mandatory class with main function

dusky cliff
#

make userdefined infix operators

#

like, idk,

>>> infix ~(x, y) = abs(x - y)
>>> 2 ~ 3
1
#

F

#

hmph you've already done better lambdas

hazy laurel
#

welp

#

I sleep meow

#

goof knight

dusky cliff
#

meow

hazy laurel
#

meow

dusky cliff
#

good nyaaight

hazy laurel
#

uwu

#

scroll up? \πŸ€”

#

it's the section right above that

#

Identifier equality

#

idk, sounds fun Β―_(ツ)_/Β―

#

plus it's something that I've wished Python has had for a while

#

no it wouldn't

#

huh

#

Isn't consistency a large part of the Zen of Python

#

uh

#

I'd think the opposite

#

say you import a module

#

all the methods are camelCase

#

your code is primarily snake_case, as per standard

#

you either live with the inconsistency or you go against standard with camelCase

#

but then you end up importing modules that are snake_case anyways

#

C modules.

#

things like cv2

#

they are in camelCase

#

this allows programmers to be more in charge of the consistency in their program

#

and I argue it complicates hardly anything

#

It allows programmers to mostly use their own preferred spelling style, be it humpStyle or snake_style, and libraries written by different programmers cannot use incompatible conventions. A Nim-aware editor or IDE can show the identifiers as preferred. Another advantage is that it frees the programmer from remembering the exact spelling of an identifier. The exception with respect to the first letter allows common code like var foo: Foo to be parsed unambiguously.

dusky cliff
#

i think you can do it in pure python lol
just hook into variable assignments and everytime there's a snake_case insert, insert snakeCase too

#

and so on

hazy laurel
#

yeah I've done that in the past but it's quite messy

#

yes

dusky cliff
#

ye

hazy laurel
#

I wish you the best of luck

#

keep me apprised \😩

#

I shall now commence sleep protocols

steel eagle
#

Man, I love windows

#

I managed to, due to user error, screw up my efi partition and boot information when I cloned my SSD

#

Took only a couple of minutes to rebuild a new one from a recovery disk

#

I'd have been sitting for hours trying to fix an issue with GRUB or something

median blade
worldly harness
#

make type hints required

#

nah thats a bad idea linters already do that

#

how about

>>> let x be 1
>>> print(x)
1
dim root
#

implement that

worldly harness
#

or macros

>>> unless = macro quote(expr), quote(body), quote(alternative): unquote(body) if not unquote(expr) else unquote(alternative)
>>> unless(1 != 1, print("all good"), print("math broke"))
all good
>>>
steel eagle
#

Or an until loop

#

So install of while i > 0: ...
until i == 0: ...

worldly harness
#

oh yeah or just make unless built-in and don't bother about macros lol

unless 1 != 1:
    print("all good")
else:
    print("math broke")
#

niceee

jovial island
#

Hey @vague shadow, can you send a link to the server that has kirby gunner?

jovial island
#

Of course it is, haha

#

Well, guess not then akarys_pensive

vague shadow
jovial island
#

Yesssss, come to me partygopher!

#

That's a cute one

real forum
#

Why does a go server have such cute emojis and stickers

normal quartz
#

that's why

#

cuz it's a go server

echo fern
#

they have to lure them in somehow πŸ‘€

real forum
#

True lmao

worldly harness
#

(also apparently gophers are cuter than snakes)

fluid plank
fluid plank
fluid plank
#

to kill me? sad

tight shore
#

Elementor is not opening in 000webhost , anybody knows how to fix it ?

jovial island
#

@jovial island yeah but they'll get that using pass too, that's caused by the if-statement, not the continue

#

Wdym?

#

the print is in the else, so if the condition is satisfied, the printing is skipped

#

!e

for i in range(10):
  if i == 5:
    continue
  else:
    print(i)
clever salmonBOT
#

@jovial island :white_check_mark: Your eval job has completed with return code 0.

001 | 0
002 | 1
003 | 2
004 | 3
005 | 4
006 | 6
007 | 7
008 | 8
009 | 9
jovial island
#

!e

for i in range(10):
  if i == 5:
    pass
  else:
    print(i)
clever salmonBOT
#

@jovial island :white_check_mark: Your eval job has completed with return code 0.

001 | 0
002 | 1
003 | 2
004 | 3
005 | 4
006 | 6
007 | 7
008 | 8
009 | 9
jovial island
#

Seems correct

#

And ur right, it's due to how the if statements are implemented in this case

#

so it doesn't demonstrate continue x) it's just a no-op

#

Exactly πŸ˜„

gray belfry
#

πŸ‘€

foggy moon
steel eagle
#

tar -zxf bomb.tar

shrewd lance
#

tar --help brainmon

round moss
#

tar x

hazy laurel
#

tar bomba

jovial island
#

here

#

or wait

#

let me try in new cell first

#

okaay hello

#

u here idk ur name

hollow heart
#

shouldn't have mattered

jovial island
#

it printed

#

after 7 mins

#

somehow

hollow heart
#

mhm, what are you computing

jovial island
#

the data is pretty big however, 373 columns and 127k rows

hollow heart
#

csv file?

jovial island
#

yes

#

shift + enter on the cell again and the printed result is gone

#

ok it printed

#

takes a couple seconds tho

hollow heart
#

yeah i believe it

jovial island
#

The kernel appears to have died. It will restart automatically.

hollow heart
#

i think the biggest csv i deal with is several million

jovial island
#

my computer sucks as well, i have a 2018 macbook air, took me an hour to open the csv file alone

#

building a pc this black friday

hollow heart
#

opening with python? or just macos

jovial island
#

macos

hollow heart
#

whatever you do don't open it with excel

jovial island
#

nop numbers

hollow heart
#

can you open it in a super plain text editor

#

that should be faster

jovial island
#

its windows tho

hollow heart
#

and what are those machine's specs

jovial island
#

dont know exactly its my dad some lenovo

#

company's laptop so i believe it would be faster

#

what do u use? @hollow heart You said u work with csv files as wlel

hollow heart
#

i'm testing loading this 10 million row csv in vs code right now. let's see

#

12 million*

#
[12670108 rows x 10 columns]
0:00:10.595457
jovial island
#

bruh

hollow heart
#

the csv is 1.01GB

jovial island
#

custom built or prebuilt

#

ur comp

hollow heart
#

prebuilt

jovial island
#

nice, what is it

hollow heart
#

dell optiplex.. smth

#

it's a work computer

jovial island
#

nicee

#

^

hollow heart
#

so anyway, the reason i said don't open in excel is because at that size when you try to filter and sort it will lag and crash if the file is big enough

jovial island
#

@hollow heart

hollow heart
#

mhm

jovial island
#

String index out of range? There's literally 373 columns tho

sinful sun
#

show your data?

jovial island
#

there's 173k rows

hollow heart
#

are you trying to just get the column names? row names?

jovial island
#

filtering out rows i dont want

sinful sun
#

thats not how you filter rows

hollow heart
#

and what's the criteria

sinful sun
#

how do you want to filter

hollow heart
#

filtering based on labels.. is so much nicer than based on integer positions

jovial island
hollow heart
#

what's the name of that column

jovial island
#

gtcbsa

sinful sun
#

df[df.iloc[:, -16] == "220"]

#

try this

jovial island
#

? whats iloc?

sinful sun
#

index based selection

jovial island
#

but values 220 only exist in column[-16]? whats wrong w my code?

sinful sun
#

it'd be easier if you chould show us a slice of your df

jovial island
#

vc?

slate leaf
#

df.head()

jovial island
#

whats .head()?

sinful sun
#

grabs the first 5 rows

#

across all columns

slate leaf
#

Shows the top few rows of a dataframe object

#

I think the columns get truncated too?

#

Like the first 3 and the last 2 or something like that

hollow heart
#

not usually

jovial island
#

vc so i can show data?

hollow heart
#

unless it's uber big

#

you have 3 people willing to help you via text

sinful sun
#

373 cols they said

#

373 cols sounds like a mistake tbh

jovial island
#

?

sinful sun
#

what on earth are you storing anyway

hollow heart
#

print(df.columns) and print(df.index)

slate leaf
#

(You can post pictures in off-topic)

#

(Also copy & paste terminal output)

jovial island
#

and send 300 pics?

#

there's 120k rows and 373 columns

slate leaf
#

I mean 1 is better than none

#

Right now I have no idea what your data looks like

jovial island
#

there

slate leaf
#

Alrighty, and you want to filter it based on the value of the 16th to last column?

jovial island
#

yes

slate leaf
#

What is the column name

jovial island
#

gtcbsa

#

this shit doesnt even print the entire thing bruh thats the problem

sinful sun
#

df[df.loc["gtcbsa"] == "220"] try this now that you have a label

slate leaf
#

I'll recommend mariosis' solution: df[df.iloc["gtcbsa"] == "220"]

jovial island
#

i really dont wanna use iloc bc they havent taught us that yet but lemme try

sinful sun
#

use .loc with labels

#

.iloc is for indexes

#

and slices

#

also loc/iloc are the pandas bread and butter

#

not being taught them is no excuse for not using them

hollow heart
#

wait your .loc is in the wrong spot

jovial island
#

they;ll just give me a zero lol

#

yk how schools are

#

ight just ignore ill figure it out

#

thanks

sinful sun
#

bruh just try it

#

now im curious

hollow heart
#

df.loc[df["gtcbsa"] == "220"]
or
df.loc[df["gtcbsa"] == 220] if it's numbers

slate leaf
#

Mina saving the pandas

hollow heart
#

my real title is pandas helper not python helper

jovial island
#

but still cant use loc so

hollow heart
#

that first attempt looked like some funky list comp

jovial island
#

lmaoo

#

its how they want us to do it lmao

hollow heart
#

actually you know

jovial island
#

sucks but u gotta do it that way

hollow heart
#

df[df["gtcbsa"] == "220"]
df[df["gtcbsa"] == 200]

#

there, it works without loc too dogekek

#

they can't say you're wrong then

jovial island
#

lolol ok

jovial island
hollow heart
#

do only 1 or the other, not both

jovial island
#

works when == 220

#

instead of '220'

hollow heart
#

makes sense, must be numbers in that column

#

print(df.dtypes)

#

yeah so they're all ints or floats

jovial island
#

gtcbsa int64

hollow heart
#

which is why "200"doesn't work

#

hm i don't get a type comparison error though. just an empty df

jovial island
#

prolluy

#

lol

hollow heart
#

i have no idea what that is lol

jovial island
#

list comprehension

hollow heart
#

what is it supposed to be? the end result

#

a list of what tho

jovial island
#

list of all rows that has 200 at column[-16]

#

it should get rid of the rest

hollow heart
#

specifically a list though? not a dataframe?

#
filtered = df[df["gtcbsa"] == 200]
#

just do that

jovial island
#

lol ok

hollow heart
#

that's a dataframe though

jovial island
#

thanks

jovial island
#

just ignore ill figure it out my bad

hollow heart
#

why would you CTRL+F? you should filter that specific column only

#

like you have had 200 in other cells, excel would find those

jovial island
#

wanted to double check, jupyter nb doesnt even show that specific column and the vlaues in there bc of how big it is, so stupid

#

lemme do this in vim so i can actually look at the entire data and make sure bc jupyter nb is stupid

hollow heart
#

you can select which columns appear

#

print(filtered[['column1', 'column3', 'gtcbsa']])

jovial island
# hollow heart `print(filtered[['column1', 'column3', 'gtcbsa']])`
list_x = df[df["okklmo"] == 220 or df["okklmo"] == 740 or df["okklmo"] == 800]
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pandas/core/generic.py", line 1537, in __nonzero__
    raise ValueError(
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
hollow heart
#

no or and and in pandas boolean filtering.. doesn't work the way you'd think

#

use & and |

jovial island
#

ok

jovial island
# hollow heart use `&` and `|`

list_x = df[df["okklmo"] == 220 | df["okklmo"] == 740 | df["okklmo"] == 800]
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pandas/core/generic.py", line 1537, in nonzero
raise ValueError(
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

hollow heart
#

parenthesis around each condition

jovial island
#

im stupid imma stop bugging u now lol

hollow heart
#

noo problem these are all issues i faced when trying to learn it..

jovial island
#

figured lol im stupid

hollow heart
#
list_x = df[(df["okklmo"] == 220) | (df["okklmo"] == 740) | (df["okklmo"] == 800)]
#

idk if there's a better way to do that tho

jovial island
#
print(filter[['eemmMM', 'WSSSHF', 'okkk223']])
TypeError: 'type' object is not subscriptable
#

when i said filtered, it said "No module filtered found, did u mean filter?"

hollow heart
jovial island
#

no print

#

print(filtered[['column1', 'column3', 'gtcbsa']])

hollow heart
#

print(type(filtered))

#

is filtered a dataframe?

jovial island
#

what exactly is classified as a data fraame?

hollow heart
#

if print(type(filtered)) does not give you: <class 'pandas.core.frame.DataFrame'>

#

then you did not make filtered a dataframe

hollow heart
jovial island
#

fock ok i think i figured it out

#

yep thanks works

old vale
#

i need c++

#

help

jovial island
#

bruh

#

join C++'s server?

old vale
#

system("");
old vale
#

why do i get -1invalidargument

#

they sent me here

hollow heart
#

no don't ask in python-general

old vale
#

i was told to ask here

#

so i need hep

old vale
jovial island
#

Send a screenshot of your error

hollow heart
old vale
jovial island
old vale
#

please help

old vale
#

but please help

jovial island
#

Send us your whole code

old vale
#

i was told to put %d before the system method and it returned this

old vale
#
#include <iostream>
#include <json/json.h>
#include <json/jsoncpp.cpp>
#include <fstream>
#include <stdlib.h>
#include <direct.h>
#include <errno.h>
using namespace std;

int main()
{
    //read json
    Json::Value craftbooster_data;
    ifstream craftbooster_file("./craftbooster.json" , ifstream::binary);
    craftbooster_file >> craftbooster_data;

    cout<<craftbooster_data["key"]<<"\n";
    //copy files to the path in json
    if(mkdir("E:\\tesst") == -1){
        cerr << " Error : " << strerror(errno) << endl;
    }
    else{
        cout<<"done";
    }
    printf("%d", system("cmd batchcode.bat"));
    printf("%s", strerror(errno));
    getchar();
    return 0;
}
jovial island
#

Nice, now wait until someone who knows c++ helps you out πŸ™‚

old vale
#

bro this aint funny

jovial island
#

What?

radiant socket
#

i mean...you decided to ask your cpp question in python server idk what you expected

jovial island
#

lol

old vale
#

there is no other way to get help

#

my problem only exists on my pc

#

none other

#

zero

radiant socket
hollow heart
jovial island
# old vale bro

Nobody here is forced to help someone, if they want, they will. You're also in a Python server asking for C++ help, now I got you to move into a off topic channel, you posted your issue and your code, now wait patiently until someone that willingly wants to help you out. If no one does here, ask in C++ server.

old vale
#

so i think you can paint a picture of my situation

radiant socket
#

"this error" what error? you haven't said

old vale
daring jay
#

The error looks like you're trying to create/do something a file which already exists

old vale
daring jay
#

Does anything in the code do that (create a file (or some other fs operation))?

jovial island
radiant socket
#

that seems quite descriptive

daring jay
#

tbh that error looks like you're using some knockoff library to create a file that already exists

jovial island
#

I googled it and I can't find anything about it, could be a custom raise error?

daring jay
#

Whats craftbooster_file?

jovial island
hollow heart
#

what's the current name of the dataframe you want to save?

#

!d pandas.DataFrame.to_csv

clever salmonBOT
#
DataFrame.to_csv(path_or_buf=None, sep=',', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, mode='w', encoding=None, compression='infer', ...)```
Write object to a comma-separated values (csv) file.
jovial island
hollow heart
#

no your dataframe

#

is it filtered or df or something else?

jovial island
#

oh filtered

hollow heart
#

filtered.to_csv('updated.csv')

#

or filtered.to_csv('updated.csv', index=False) if you don't want the index to be saved in the csv

#

if you don't want all 300 columns you can also select which columns you want saved

jovial island
#

if i were to create a bar graph with 6 different values, and each value has values from an entire column, how would i go on w that?

hollow heart
jovial island
#

can i dm w pics?

#

@hollow heart

hollow heart
jovial island
#

haha ill try figuring out if i need help ill let ya know

hollow heart
jovial island
#

nvm i solved it

old vale
#

its still there

#

nop unfortunately

#

yep yep

#

the one thats affecting me is the -1invalid error

tribal tinsel
# old vale the one thats affecting me is the -1invalid error

see all your code that does outputs:

    if(mkdir("E:\\tesst") == -1){
        cerr << " Error : " << strerror(errno) << endl;
    }
    else{
        cout<<"done";
    }
    printf("%d", system("cmd batchcode.bat"));
    printf("%s", strerror(errno));

-1 comes from the batch call
and the text comes from the second print

old vale
#

its a pc problem

#

so dont mind aabout it

hollow heart
#

.

foggy flicker
#

.

slate leaf
#

,

carmine herald
#

`

jovial island
#

'

wheat rock
#

...

wise niche
#

"

languid osprey
#

'

real forum
#

β€ž

faint elm
#

:

hollow heart
#

LOL sorry guys :x

real forum
#

How dare you >:(

odd sphinx
#

damn

faint elm
#

raisin bran

sterile nymph
#

Marie

#

Antonnie

uneven dune
#

let them eat lemons

sterile nymph
#

French sounds elegant even in english

jovial island
#

@brisk edge but the gevent sleeps though, that's still unexplained black magic

brisk edge
#

it probably is spawning its own userspace threads inside the worker processes

#

did you try with gevent and with --threads?

jovial island
#

oh it's... oh it's being naughty

#
from time import sleep

@app.route("/")
def test():
    print(sleep.__module__)
gevent.hub
gevent.hub
gevent.hub
gevent.hub
#

?? xD

brisk edge
#

wait even with --threads it's running 4 in parallel. lol

jovial island
#

that's funny.

#

though I still don't understand how it's able to suspend that.

brisk edge
#

it's probably suspending the userspace thread instead of the kernel thread which time.sleep suspends

#

since it's using its own impl of sleep

jovial island
#

uhh. right so it keeps python stacks ?

brisk edge
#

as in call stack?

jovial island
#

gears grinding

#

is gevent using a different bytecode loop?

#

that's gotta be it right? that's how it's able to suspend the thread

brisk edge
#

we could just check it's codebase πŸ˜…

jovial island
#

somehow I imagine it's huge. maybe it's not.

#

426 python files

clever salmonBOT
#

src/gevent/hub.py line 129

def sleep(seconds=0, ref=True):```
jovial island
#

ah. ye that's a good place to start

brisk edge
jovial island
#

why is it so hard to google what gevent does

#

yeah okay it monkey patches the world I get it
but how does it stop

#

about half a dozen times now I've been reading text that gets SO CLOSE to telling me how the sausage is made and then just doesn't

brisk edge
#

wdym how does it stop?

jovial island
#

it suspends the threads

#

suspend - run something else - resume

#

normally you can do that with recursion, but I doubt that's it.

#

instead it suspends the whole thing, and starts fresh with another

#

if it is indeed replacing the bytecode loop it could do it that way. but idk if it's doing that

brisk edge
#

the logic's in the sleep function i llinked above

jovial island
#

do you mean that explains it or just that this is the sleep function?

#

I read it and moved on, not seeing it

#

it's just comunicating with the actual machinery, wherever that is, from what I can tell

#

but does not itself do anything

brisk edge
#

it calls hub.wait, and if you see what hub.wait does

#

digging deep it just seems to give control to the event loop's timer method

jovial island
#

so lost in this rabbit hole

brisk edge
#

haha. yea the flow goes back and forth between hub and other files

jovial island
#

I give up

jovial island
#

A PyGreenlet is a range of C stack addresses that must be
saved and restored in such a way that the full range of the
stack contains valid data when we switch to it.

brisk edge
#

so a manually maintained call stack huh?

jovial island
#

crazy people -_-

brisk edge
#

eh… if it works Β―\_(ツ)_/Β―

lusty brook
#

@languid osprey I'm taking a look at the parser and language implementation links you sent me a while back and wow are they going over my head

#

I really do have zero CS knowledge or experience

daring jay
#

Ooh lang dev

lusty brook
#

thank you for the links though, they're quite a good read even if my comprehension is near 0 /hj

daring jay
#

If you want a guide to it from rock bottom to a fully functional language, I'd advise you read Crafting Interpreters by Robert Nystrom

lusty brook
#

that's literally the link aboo sent me

daring jay
#

I've been working through it recently, and it's a really wonderful book

#

I'm not surprised haha, it's great

lusty brook
#
SET-REGISTER  81000
STORE         &product

# Initalize the loop.
ADD           1
STORE         &loop_until
SET-REGISTER  1
STORE         &factor

# Calculate the reminder of product / factor.
# Jump if the reminder is zero.
LOAD          &product
LOAD-B        &factor
MODULO
GOTO-IF-NOT   17

# Add one to factor; keep looping until factor > product.
LOAD          &factor
ADD           1
STORE         &factor
LOAD-B        &loop_until
EQUAL
GOTO-IF-NOT   6
# If factor > product, jump the above if's body and exit.
GOTO          24

# The reminder of product / factor was zero.
LOAD          &product
LOAD-B        &factor
DIVIDE
FLOOR
PRINT         &factor
PRINT
GOTO          10

EXIT

This was my latest forray into implementing languages, let's just say this is really basic :p

dim root
#

That's the only "good" read on lang dev

daring jay
lusty brook
#

the VM is rather ... uh ... slow lol

lusty brook
daring jay
#

Still good

#

I've just began parsing for lox

#

I'm certainly not that far

lusty brook
#

oh yea I almost forgot, I implemented a super sketchy transcompiler from this assembly-like language to Python. Basically any kind of conditionals break it :p

#
SET-REGISTER   0
STORE          &i

LOAD           &i
ADD            1
PRINT
STORE          &i
EQUAL          900
GOTO-IF-NOT    2
register_a = 0
register_b = 0
db = {}
def chunk_2():
    global register_a, register_b
    register_a = db['i']
    register_a += 1
    print(register_a)
    db['i'] = register_a
    register_a = (register_a == 900)
    if not register_a:
        chunk_2()
register_a = 0
db['i'] = register_a
chunk_2()
#

I should probably learn some proper language techniques at this point before I learn how to craft language implementations in the totally wrong way :)

ember oar
#

Nice job!

languid osprey
lusty brook
#

I switched projects back to my original recursive-descent attempt

#

I was trying to write a calculator because that's like classic CS homework

#

Rewriting everything except for the tokenizer which is actually usable

languid osprey
#

Lmao

lusty brook
languid osprey
#

Nice :D

lusty brook
#

I'm not using it, it's garbage

languid osprey
#

No parser is worth using until after a few rewrites :P

lusty brook
#
    9: (
        "1 + (2 + 3 + (4 + 5))",
        [
            Token(kind="Number", value=1, pos=(0, 1)),
            Token(kind="Operator", value="+", pos=(2, 3)),
            Token(kind="Parenthesis", value="(", pos=(4, 5)),
            Token(kind="Number", value=2, pos=(5, 6)),
            Token(kind="Operator", value="+", pos=(7, 8)),
            Token(kind="Number", value=3, pos=(9, 10)),
            Token(kind="Operator", value="+", pos=(11, 12)),
            Token(kind="Parenthesis", value="(", pos=(13, 14)),
            Token(kind="Number", value=4, pos=(14, 15)),
            Token(kind="Operator", value="+", pos=(16, 17)),
            Token(kind="Number", value=5, pos=(18, 19)),
            Token(kind="Parenthesis", value=")", pos=(19, 20)),
            Token(kind="Parenthesis", value=")", pos=(20, 21)),
        ],
        Expression(
            body=Operation(
                1,
                "+",
                ParenthesizedExpression(
                    body=Operation(
                        2, "+", ParenthesizedExpression(body=Operation(4, "+", 5))
                    )
                ),
            )
        ),
    ),

it fails even this simple test case

#

tokenization is fine as expected but the AST isn't quite right

echo fern
#

where did the 3 go πŸ‘€

languid osprey
#

Lmao

#

Disappeared

lusty brook
#

wait what

echo fern
#

lol

lusty brook
#

ok maybe that's why this one is failing πŸ˜…

#

but there's others that fail properly

languid osprey
#

Improper failing πŸ‘€

lusty brook
#
    11: (
        "1 + (2 + 3) + 4",
        [
            Token(kind="Number", value=1, pos=(0, 1)),
            Token(kind="Operator", value="+", pos=(2, 3)),
            Token(kind="Parenthesis", value="(", pos=(4, 5)),
            Token(kind="Number", value=2, pos=(5, 6)),
            Token(kind="Operator", value="+", pos=(7, 8)),
            Token(kind="Number", value=3, pos=(9, 10)),
            Token(kind="Parenthesis", value=")", pos=(10, 11)),
            Token(kind="Operator", value="+", pos=(12, 13)),
            Token(kind="Number", value=4, pos=(14, 15)),
        ],
        Expression(
            body=Operation(
                1,
                "+",
                Operation(ParenthesizedExpression(body=Operation(2, "+", 3)), "+", 4),
            )
        ),
    ),

okay, this shows the failing of my (terrible) parser

daring jay
#

I'm trying to write a testing tool for my language and it's so haaard

languid osprey
#

I just make the ast into a string and compare it

daring jay
#

Well, not my language, but one I'm implementing

languid osprey
#

I have a custom display impl for that

daring jay
#

Yeah I could do that, but I've decided to try parsing it from that language's files

languid osprey
#

Something more sophisticated might be nicer than just comparing strings

#

Since writing them out is a pain

lusty brook
#
Expression(
    Operation(
        Number(1)
        + ParenthesizedExpression(
            Operation(
                Number(2)
                + Operation(
                    Number(3)
                    + ParenthesizedExpression(Operation(Number(4) + Number(5)))
                )
            )
        )
    )
)

this is what it spits out actually, which is so wrong :(

languid osprey
#

Lmao

daring jay
#

Like this is an example lexer test for what I want

(){},.-+;/*!=><!===>=<=

// expect: OpenParen
// expect: CloseParen
// expect: OpenBrace
// expect: CloseBrace
// expect: Comma
// expect: Dot
// expect: Minus
// expect: Plus
// expect: Semicolon
// expect: Slash
// expect: Star
// expect: Bang
// expect: Equal
// expect: Greater
// expect: Less
// expect: BangEqual
// expect: EqualEqual
// expect: GreaterEqual
// expect: LessEqual
// expect: Eof
#

And it shall lex it

lusty brook
#

!otn sudden-language-dev-channel
or !otn makeshift-language-dev-channel

#

(helpers can't actually do this)

languid osprey
#

Just become mod ez

lusty brook
#

yeah i know it's soo easy /s

languid osprey
#

Lol

lusty brook
#

(mods, we aren't disrespecting the critical roles y'all hold in this server πŸ˜… )

daring jay
#

or are we πŸ‘€

languid osprey
#

Perhaps

lusty brook
#

.< well

languid osprey
#

Most mods asleep

#

Time to go wild

daring jay
#

I'd like to make it clear that when I use an emoji in a message, it's a joke, I don't mean it negatively

languid osprey
#

Lies /s

lusty brook
#

Anyway back to lang-dev, I assume that pratt parsing would be a good fit for implementing a calculator?

languid osprey
#

Wdym

languid osprey
lusty brook
#

Alright, I'll try to keep this important bit in mind this time 🀞

#

thanks!

languid osprey
#

I have a few articles on Pratt parsing

lusty brook
#

... that are all in rust presumably

languid osprey
languid osprey
lusty brook
#

you sent me that a few months ago

languid osprey
#

Ah

#

There's one for Java too

lusty brook
#

I know no languages well except for Python

languid osprey
#

Oop and for c

lusty brook
#

If I had to save my life with javascript I could, but like it's going to be the most messy code ever

languid osprey
#

Lmao

lusty brook
#

well this is going better than I expected

#

the right and left hand sides shouldn't be instances of token but I'll fix that later

echo fern
#

one kind of number, smh - what is this, a JS interpreter? πŸ˜›

lusty brook
#

just a calculator 😳

languid osprey
#

Nice

#

Language design is pretty fun

worldly harness
#

parsing is the most enjoyable part because you get to work on top of tokens or AST instead of user input

#

i love how my parser can be smarter than me. for something like -1 - -2 + -2 / -3**2 or more complex i'd have to put parens for my brain to comprehend whereas the parser can recursively parse it

#

not a bad idea tbh

daring jay
#

whitespace dependent precedence, interesting concept

languid osprey
#

Parsing is fun, but I prefer writing vms

#

The actual execution part is pretty interesting to implement

worldly harness
#

so 1 * 2 * 1-1 * 3 + 4 would be (1 * (2 * (1-1) * 3) ) + 4?

daring jay
worldly harness
#

oh yeah

languid osprey
#

That would be interesting

daring jay
#

What about using the length of the whitespace to determine it? So one space would have higher precedence then two.

daring jay
#

I thought there was one after 4, oops

#

But that's the fun of it :D

#

And you'd have normal precedence if you use consistent whitespace (one space every time)

#

Which isn't hard

worldly harness
#

but it would be confusing if you have a big expression

daring jay
#

Wait so would the language support parentheses for grouping as well?

#

theoretically

worldly harness
#

so only a single level of whitespace precedence would be allowed?

worldly harness
#

1 - 1 - 1 - 1 would be (1-(1-1))-1 because of double whitespace

#

okay how about 1 - 1 - 1-1 - 1 - 1 as (1-((1-(1-1))-1)-1 :P

ember oar
#

How about instead of parentheses we use forward and back slashes lemon_imp

2 * / 5 + 3 \

is the same as

2 * (5 + 3)
#

I'm sure it can be more cursed than this

worldly harness
#

lmao, wouldnt that be the same as existing parsers, except when lexing parens you set / to be left paren and \ be right paren

ember oar
#

Yep pretty much

#

Exactly

worldly harness
#

division can be (

ember oar
#

OOH

#

Yes

#

2 ( 5 * / 3 \

#

is the same thing as
2/5 * (3)

worldly harness
#

if:
* = )
+ = ]
- =[
/ = (
( = /
) = \
then... 2 [ 3 ( / 1 ] 1 \ ) 3 being 2 + 3 / (1+1) * 3 is pretty cool

ember oar
#

This looks like some familiar math notation that I forgot the name of, intervals?

jovial island
#

Guys , do not eat pure cinamon it dfoesn't taste good by itself.

rotund python
#

finishing to read book about javscript

#

I thought python is magic...

#

I was wrong ...javascript is pure magic and hacks

median dome
# rotund python I was wrong ...javascript is pure magic and hacks

Bash is the command line shell that you encounter when you open the terminal on most Unix operating systems, like MacOS and Linux. Learn how to create your own bash scripts to automate tasks on your computer.

#linux #compsci #100SecondsOfCode

πŸ”— Resources

Bash Reference https://www.gnu.org/software/bash/manual/bash.html
Unix Shell History http...

β–Ά Play video
jovial island
rotund python
rotund python
median dome
rotund python
#

the best is to learn the book and then to apply, apply, apply, apply, apply at practice ;b

rotund python
#

it is worthy to read books for beginners btw, at least the best ones, they explain a lot of core practices / best practices / mechanisms behind the current tech in a really easy to get way

rotund python
jovial island
rotund python
#

any topic they cover... usually always the best covered

#

in the easiest to understand way

#

I finish their javscript book at the moment

#

they don't just give syntax, they explain mechanics, that otherwise you would get only through experience ;b

#

for other books I just search O'Reilly, and carefully monitoring Amazon reviews and other factors, how much re editions the author published for the book and e.t.c.
There is some need for certain balance to find the best book and preferably updated recently. Some topics can be taken with older books though

median dome
rotund python
#

I am really... fast reader with a lot of... passion for books? that's the best way for me

#

i had a time when in three years I had read few thousands books ;b

median dome
#

Even Sweighart was guilty of this.

rotund python
#

πŸ€·β€β™‚οΈ IMO finding quality book is certainly easy

#

and even if there is some water, it is the book, it is easier to read faster

#

books give great navigation ;b

median dome
rotund python
#

Bwhahaha.

#

Javascript has even python generators

#

they just aren't named so and sort of based on another javascript hack

jovial island
#

.TOPIC

#

.topic

rustic harborBOT
#
**Name one famous person you would like to have at your easter dinner.**

Suggest more topics here!

jovial island
#

The famous youtuber skinny boi 5

rotund python
# rustic harbor

Any famous CEO of a any big interesting to me company that recruits me ;b

Just kidding.

jovial island
#

5 gigs

median dome
jovial island
#

Pythony

#

pythonic

#

Python + C++ - java =?

median dome
#

Pythong

#

When?

jovial island
#

We need python underwear tbh

#

.topic

rustic harborBOT
#
**If you could have any superpower, what would it be?**

Suggest more topics here!

jovial island
#

Power to have any power i chose to ANd be able to remove it

real forum
#

Pydis lingerie when?

jovial island
#

Let's make our own

remote wren
sinful sun
#

underwear

hollow heart
#

there's pydis jammies

carmine herald
#

whats a jammie

slate leaf
#

pajamas

nova ember
slate leaf
#

TIL

#

Gotta hit that order button

hidden kernel
#

whats a button

languid osprey
#

buttons dont exist

dusky cliff
languid osprey
#

fake news

#

πŸ”³

#

πŸ“°

#

:fakenews:

sinful sun
#

wait, its all <div onClick="handleClick"></div>?

languid osprey
#

its all <a>

sinful sun
#

is onclick camelcase or am i confusing it with react

#

i think im confusing it with react

jovial island
#

onclick in vanilla is all lowercase

#

onclick="handleClick()"

slate leaf
#

You all over here messing with my understanding of reality

languid osprey
#

It's only camelCase in react

sinful sun
#

dangit

#

close enough

odd sphinx
jovial island
#

That function then gets called

odd sphinx
#

oh

#

wow

#

ive been using document.addEventListener

#

all this time

#

because onclick="handleClick" would never work

jovial island
#

Yeah; unlike < onclick="" >, aEL and .onclick = doesn't need the parentheses for calling the function

#

Arguably inconsistent, but yeah

odd sphinx
#

yea

uneven dune
#

In mathematics, a series is, roughly speaking, a description of the operation of adding infinitely many quantities, one after the other, to a given starting quantity. The study of series is a major part of calculus and its generalization, mathematical analysis. Series are used in most areas of mathematics, even for studying finite structures (s...

jovial island
uneven dune
jovial island
#

Oh, but still my brain just can't stand with math

#

I stay far as possible from that thing

uneven dune
#

haha understandable. if you take it slow though it's not all that scary

daring jay
#

No but like, we really need to make these

real forum
#

Pydis has some surprising clothing articles and trinkets on their redbubble

jovial island
#

@visual slate we should've known 😦

visual slate
jovial island
#

my dumbass didn't even know this was considered as a self-bot

visual slate
#

ah welp

#

was a cool problem tho

#

might save the loop quitting thing for later

jovial island
#

Same here, might be useful for other stuff

daring jay
#

@rare moat My local friendly C user, may @languid osprey and I pick your brain about good C books?

rare moat
#

hmm

languid osprey
#

I have been summoned

rare moat
#

'The C Programming Language' is still pretty much the de-facto standard for C books.

languid osprey
#

e

daring jay
#

okie, tyty

rare moat
#

let me get you the P D F

#

hey it is on GitHub.

#

there seems to be a couple here.

daring jay
#

.bm 905932313827872769

echo fern
#

oh nice, pirated books

rare moat
#

@echo fern problem? troll

echo fern
#

it's strange this lived for 5 years, actually

#

at least one such repo I've seen, with more than a dozen programming books, got taken down

#

i totally didn't clone it or anything, though

rare moat
#

i should archive this then.

#

never know when you might need them. :^)

radiant socket
#

@drifting venture what is tofurkey?

#

i see πŸ¦ƒ but like

drifting venture
#

Turkey made of tofu, lol

radiant socket
#

o

#

interesting

drifting venture
#

turkey flavored tofu, generally considered an abomination

radiant socket
#

i agree

jovial island
#

@mystic coral

#

@mystic coral

#

@mystic coralyo

#

@mystic coral

#

@mystic coral

magic atlas
#

!warn 767407164003450930 Don't spam people with pings please.

clever salmonBOT
#

:incoming_envelope: :ok_hand: applied warning to @jovial island.

jovial island
faint elm
#

howdyyy

somber belfry
faint elm
#

would you guys recommend learning C or C#?

jovial island
echo fern
#

I'd say C# is something with far more everyday usages than C, which you'd use, like, if you wanted to contribute to the linux kernel or something

faint elm
wicked hollow
#

I do unix backend development for a living. I see a web service written in C# every once in a while, but almost every tool I use in my normal day to day life is written in C or C++ or Python or shell.

fluid plank
#

godlygeek is a geek god

#

hence godlygeek

faint elm
#

Really dumb question

#

Probably fuelled by the fact that it’s 3AM

maiden marsh
#

?

faint elm
#

but does anyone else get stressed out while playing video games because of the code?

#

Like??? I’m PLAYING the games

#

And I’m thinking β€œdamn, imagine all the lines this must’ve taken for this window to pop up”

#

Idk if that makes sense

maiden marsh
#

I don't rage to video games, but I raged to computer errors.

faint elm
#

Hehe, I only get sad instead

#

But every time I play a game, i imagine how the code must look like??? And I’m kinda stressed because I start feeling bad for the devs

#

This is so incoherent T__T

median dome
#

Games are more about concept and assets the coding is secondary and in most cases today is optional.

jovial island
#

some games took the hard way out and implemented everything from scratch though

#

like factorio with their fully custom engine, it took them many years to build

jovial island
#

C++ and Lua

median dome
jovial island
#

Originally 3, now 25

median dome
median dome
real forum
#

I would assume not very far considering they had to hire 22 more people

median dome
#

It sounds like they built the engine and hired people to use the engine.

jovial island
#

few years I think

median dome
# jovial island few years I think

I'm just wondering how much alpha/beta did they develop before they realized they needed 22 extra employees. They could have spent 10 years developing the engine and 1 year on the game.

jovial island
#

You can probably see that if you dig into their blog called FFF

median dome
jovial island
#

Dew it

somber belfry
tepid hamlet
#

Greta Thunberg wants to know your location

sinful sun
#

Greta thunberg should go finish school first

tepid hamlet
#

lol

sinful sun
#

Imagine granting this much media attention to some brat that hasnt even graduated high school yet

carmine herald
#

wait who

real forum
carmine herald
#

mmm yes the climate is made out of climate

#

@real forum did u tell ppl I'm 14 lmfao

real forum
#

No?

carmine herald
#

I'm confused then

real forum
#

About what?

carmine herald
#

things i cba to dig it's 4am I'm half asleep

real forum
#

I don't know what you're trying to say

carmine herald
#

be smarter smh

real forum
#

K

carmine herald
#

K

wheat rock
#

2 mole potassium

daring jay
#

That age doesn't even make sense, I was being an idiot

#

Must have been thinking about someone else

carmine herald
#

or the seamstress sending me to the kids section of the store cuz they dont have my size lemon_angrysad

jovial island
#

@noble totem wasn't my algorithm :x I wasn't really providing any sort of meaningful code

#

I may have misunderstood matrix multiplication on the other hand when describing it in prose but I did point this out :^)

#

it was them that should describe it anyhow

#

the code I posted only had renamed vars

noble totem
#

your code was easier to read πŸ™‚

snow forum
lost onyx
#

Hi mates is there anyone who knows Emacs?

lapis plinth
#

cmon people

#

literally half the server does and is very passionate abt emacs but everyone died ig

hazy laurel
#

Hardly anyone uses emacs

sinful sun
#

dont ask to ask otherwise you get no responses

#

let this be a lesson i guess

hollow heart
#

in all seriousness though, there's at least 2

daring jay
#

I only know Pure and Joe, but there are likely others

hollow heart
#

ok then 3, bc LP

round moss
#

I also sometimes use emacs

carmine herald
#

woah a whole 4 nice

shadow elk
#

speaking of Elm...

#

I was playing around with PureScript (Halogen)

#

and I think it won

#

as in, I gave up

round moss
#

PureScript is a work of a madman

shadow elk
#

I'm saying this as a person who still hasn't given up on Agda

round moss
#

someone really just sat down one day and implemented typeclasses and structural subtyping in a language

#

but yeah, I tried it, got lost in the weird typesystem, got unlost in the weird typesystem, got sth done then decided I would stick to JS or clojurescript

shadow elk
#

I like TS

round moss
#

the thing that makes elm so appealing is how trivially simple it is

shadow elk
#

although haskell still doesn't have anything structural, right?

round moss
#

not to my knowledge

shadow elk
#

I liked purescript as a language, but

  • Halogen is really complicated, feels like I'm writing a PhD not making a web app
  • the ecosystem is sparse and very poorly documented
round moss
#

I liked <pretty much anything haskell-related> as a *, but

  • <pretty much anything haskell-related> is really complicated, feels like I'm writing a PhD not making a *
  • the ecosystem is sparse and very poorly documented
shadow elk
#

lol

shadow elk
round moss
#

everytime I write something even mildly intersting in haskell, I realise that literally no one but me will ever be able to understand this

shadow elk
#

hey, I actually succeeded in making a telegram bot with commands in Haskell. it was fun.

round moss
#

that's cool

shadow elk
#

unlike purescript

#

although interfacing with JS was kinda cool

round moss
#

yeah, I liked the native interface

#

that worked really nicely

shadow elk
#

agda compiles in JS as well, maybe I should try making a web app with that

#

like, when I go on vacation

round moss
#

but I wasn't using halogen I don't think

#

I don't have the code, so IDRK

shadow elk
hazy laurel
#

oh yes. early vacation

round moss
#

true

jovial island
spice spear
#

@jovial island i like

#

@jovial island thanks a million for your help I will be able to get this to work i think

#

@jovial island is it more like a message broker with smart routing than pub sub?

jovial island
#

@spice spear don't ask me it's your design xD
I wouldn't say a message broker would have any sort of worker pool in it

spice spear
#

@jovial island lol, love it. Its some frankenqueue.

jovial island
#

I suppose I'd call it a work queue with some weird messaging thrown in. x)

#

not that I know anything about concurrent stuff (wish I did, it's always fun to mess around with)

spice spear
#

@jovial island i agree. I am enjoying playing around with it. I would like to give golang a go for that purpose too. I am hoping that this concurrent pattern will mean I can move away from boring loops and focus on just writing the producers / consumers.

hazy laurel
#

haha. "golang a go"

worldly harness
tribal tinsel
#

Hm, it's past Halloween. Should I move to my usual pfp or find/make/commission something new?

daring jay
#

@full haven Rust has an ownership model that helps you avoid writing memory unsafe code.

#

(pinging you here because that's off topic for pygen)

full haven
#

Oh

#

Thats nice

pliant trench
tribal tinsel
pliant trench
#

yea

tribal tinsel
radiant socket
#

πŸ˜”

#

after halloween = christmastime

tribal tinsel
#

Furvilla's bases are cute. But holidays canine is Santa-like, while holidays fox is snowman-themed

#

Fox for comparison

#

Oh! Found a nice Christmasy free to use base

jovial island
#

Sweden's financial regulator just released an article in which the director-general concludes that if cryptocurrency mining via Proof-of-Work is allowed in Sweden, we'll run out of renewable energy and endanger our chances of meeting our Paris Agreement climate responsibilities.

Retweets

132

Likes

760

#

@elfin vine i applaud the Swedish land

elfin vine
#

Nice haha

#

I am reading that and holy shit

jovial island
#

Then the rest of the thread is just galaxy level bs

elfin vine
#

1 780 000 kilometers for one bitcoin

small pivot
#

πŸ‘€

#

we really do need to get rid of proof of work