#ot1-perplexing-regexing

1 messages ยท Page 433 of 1

wet crane
#

i feel like the flux i was talking about is dif than your electric flux
@twilit hull i felt that in the beginning itself

twilit hull
#

the flux i was talking about was just integrating once for area

#

then if you integrate over area you get volume

#

per unit time

wet crane
#

Oh that thing

#

I was talking the physics flux

twilit hull
#

welp i wont be much help lol

#

if you show the pic i might figure something outlol

#

but most likely not

wet crane
#

I'll show you the figure

twilit hull
#

dank

wet crane
twilit hull
#

wat is the def for flux in this case?

#

the volume that pass through that weird thing per unit time?

wet crane
#

nah

#

electric field passing over the area of the figure

twilit hull
#

surface area?

#

wait but that doesnt make sense

wet crane
#

it is

twilit hull
#

how since surface area has no liek

#

volume

wet crane
#

In principle, to find the net flux through the surface

twilit hull
#

it would be just the surface area itself right?

#

since unit time we just times that area by 1

wet crane
#

when did i talk about time?

twilit hull
#

wait

#

oh i get it now shouldve said at any given time stamp maybe?

wet crane
#

Hmm

#

maybe that

twilit hull
#

so its just the surface area itself?

wet crane
#

There is also this flux for volume

#

yeah

twilit hull
#

hum

#

lol i always think of flux as volume per unit time welp

wet crane
#

It is understood

twilit hull
#

why not just call it surface area

#

oh wait i get it now

#

cuz flux is surface area with directions

#

omg

#

this should be illegal

wet crane
#

what?

#

surface area with directions?

#

I don't get what you understood

twilit hull
#

i just saw the those vectors representing those flux

#

so liek maybe its not simply adding up to get area

#

but its adding up unit flux in each unit area with directions

wet crane
#

yeah

twilit hull
#

this is insane how do you even

wet crane
#

generally you dont have this complex shapes

twilit hull
#

how do you even represent this weird plane with funcs lol

wet crane
#

lol

#

that is the mathematicians part

#

not ours

#

lol

twilit hull
#

this is way outta my

#

lol

wet crane
#

As I said, this is just beginning

twilit hull
#

can we delete physics

wet crane
#

so, that was like an example just to motivate you

#

the general problems are like cylinder, cube etc

#

can we delete physics
@twilit hull lol

twilit hull
#

ohh so you could rep them with 2d planes smart

wet crane
#

Yeah

twilit hull
#

wait no actually if they are not orthogonal to the arrows

#

wait it doesnt matter cuz the angles cancel out

wet crane
#

uh

#

wait a min

twilit hull
#

this is too much thinking i just wanted to meme on codecademy

#

lol

wet crane
twilit hull
#

you need to find the def for those 3 letters

#

lol

#

oh wait thats just the flux

wet crane
#

the first one is flux

twilit hull
#

its just projecting the flux over to the area

wet crane
#

E is electric field

#

A is area

#

bruh

#

that is the flux itself

twilit hull
#

ohhh

#

wati wat

#

thats definitely a vector projection

wet crane
#

Yeah

twilit hull
#

the \delta phi is the flux on that unit surface i think

wet crane
#

electric field is a vector quantity

twilit hull
#

which is the projection of the OG arrows onto that unit area

#

with angle \theta

#

idk man im just noob welp

wet crane
#

Yeah

#

I don't know why you feel it this complex

#

it is pretty much simple

twilit hull
#

and im assuming you just sum all the $$\delta phi$$ to get the total flux?

wet crane
#

yeah

#

that is why you integrate

twilit hull
#

hum its just the name is misleading i feel like

#

if you call it projected surface area eletric field or soemthing lol

wet crane
#

Yeah

#

lol

#

cos ur flux is different from mine

twilit hull
#

yeah lol

wet crane
#

projected surface area eletric field-seriously?

twilit hull
#

lol i feel like thats just what it is tho

wet crane
#

just electric flux

twilit hull
#

liek PSAEF

wet crane
#

lol

twilit hull
#

liek all the kool guys use acronyms

wet crane
#

What?

twilit hull
#

i was memeing lol

wet crane
#

lol

#

U r in univ or finished?

twilit hull
#

finished

#

yesteryear

wet crane
#

Senior

#

lol

twilit hull
#

no longer a senior lol

#

also i think we should be PC about it and call it n-th year

wet crane
#

PC?

twilit hull
#

lol not really just some peeps do that lol

wet crane
#

Nice talk

twilit hull
#

everyday i feel like im being more stupid than before

#

lmao

wet crane
#

lol

#

I feel the same when I start coding

#

Probably you are better in it

twilit hull
#

nah

#

there is one plausible explaination tho

#

that we both suc lol

wet crane
#

exactly. but,shh

twilit hull
#

lol

sand goblet
#

I know there's a few modders here

#

I am starting to get reeeeeeeeally tired of how toxic the minecraft forge project is

plucky ridge
#

In what way?

sand goblet
#

there's very much an air of "I have to be correct, I don't have to be nice"

#

like classic torvalds

#

of course they're often not correct either

#

I got yelled at for refusing to shut up about coremodding once because I asked how to do something without coremodding haha

plucky ridge
#

Yeah that's a massive tl;dr

sand goblet
#

it's years and years of bs tbh

#

I'm glad fabric is a thing (as an alternative to forge) and their community isn't toxic

#

hopefully I get to move to it someday

small fossil
plucky ridge
#

Today seems especially weird

#

No idea why

undone berry
#

Has anyone done any PDF generation with Python? I need to generate a summary type thing, and I can see a few different ways of doing it - not sure on exactly the best way

#

Pretty much just a bunch of tables and colours

#

easiest way to me seems to be Jinja+HTML+Something to turn HTML into a PDF

plucky ridge
#

That would be my suggestion, honestly. Working directly with PDF is an absolute bear in most cases

#

Where as things that print to PDF files are great

small fossil
#

report lab is pretty good

undone berry
#

Hemlock

#

another option

plucky ridge
#

I'm just heavily bitter towards pdfs

undone berry
#

is an Excel plugin

#

in React

#

I'm not sure if your experience should push me towards it or pull me away from it

plucky ridge
#

This is for work?

undone berry
#

yeah

plucky ridge
#

If everyone is using Office 365 or the latest Office then it's not a terrible choice.

#

If you're using only Windows machines and copies of office then I'd steer you towards VSTO

#

But using Excel as an interface isn't necessarily a bad idea

#

The only reason I had so much trouble with the Office.js stuff was because I was woefully unprepared

lofty dirge
#

Also, if you are in Office365, there is Excel REST API

plucky ridge
#

Even non-365 uses that, but you can't easily guarantee your on-prem versions will have what you need, not easily at least.

lofty dirge
#

REST API?

plucky ridge
#

But I can certainly help clarify a bunch of the BS I went through if that's the path you decide to take, Charlie

#

Yeah

lofty dirge
#

TIL

plucky ridge
#

Or no wait, maybe not REST

#

Gah, hold on, I'm feeling dumb now

lofty dirge
#

you could also build summary webpage as well

undone berry
#

nah - my manager doesn't want a dashboard

lofty dirge
#

๐Ÿคฎ

#

I hate Excel Dashboards

undone berry
#

well - this is just presenting information

plucky ridge
#

How integrated are you with Office stuff

#

Like your office I mean

lofty dirge
#

Email is worse

undone berry
#

Options are generating PDF (i don't mind), generating static Excel (i'm not a fan), or actually interfacing with Excel (almost certainly a terrible choice, but it appeals to me on a stupid level)

#

and I think the Excel thing is just a bad idea

#

I have 2 weeks

plucky ridge
#

My gut says you're going to have a less terrible time - yeah, go for the first

undone berry
#

and too many problems lie in that direction

plucky ridge
#

Although you'd probably have an easier time of it than I did

#

There were lots of limitations that bound my hands

#

The biggest one being that I had to have a solution that worked even when not connected to the office network or the internet in general

#

Now having said that, I think option 1 is going to be the least painful

undone berry
#

I think I'd face different but time consuming restraints

#

i.e infosec being terrible here

plucky ridge
#

Fo sho

lofty dirge
#

Are people going to want data from this PDF?

#

because that's the part I see being problematic

plucky ridge
#

Good point

undone berry
#

Well - the people using it are business people

#

but some might want Excel

#

then to aggregate it themselves

lofty dirge
#

Are you in Office365?

plucky ridge
#

Something in the back of my head tells me that you can convert HTML tables to Excel

undone berry
#

Yeah, I think so

lofty dirge
#

There is also PowerBI

undone berry
#

there's openpyxl for working with Excel for Python

lofty dirge
#

where you just dump raw data on it's head and be like, unfuck it cloud

undone berry
#

and it looks pretty neat

plucky ridge
#

It is, honestly

lofty dirge
#

No

plucky ridge
#

Not a good option in this case, mind you

#

But the library is pretty cool

undone berry
#

I dunno - I'm just collating like 3 APIs into one thing

plucky ridge
#

If you're going to integrate with Excel, you'll want to do it the way they dictate

#

Unless all that matters is getting the data from point a to point b

lofty dirge
undone berry
#

what the fuck is that

plucky ridge
#

Something to note, I only really touched creating a Taskpane for the add-in

undone berry
#

I have no idea

#

but I love it

lofty dirge
#

Graph

undone berry
#

I press run

#

boom

#

email

plucky ridge
#

Oh dude

undone berry
#

how do I get a graph? I want a graph

plucky ridge
#

That's dope as fuck

undone berry
#

I don't want to do bloody LDAP

lofty dirge
#

Microsoft REST API for interacting with all the Office365 cloud stuff

undone berry
#

LDAP can get in the bin

lofty dirge
#

?

#

Graph is not for authenication

#

Azure AD is for Authenication (OAuth2)

plucky ridge
#

Little Ducks and Ponies

undone berry
#

i'm using LDAP right now to go from name --> email

#

but apparently not everyone is on O365 for some bizarre reason

#

so it doesn't matter and this isn't a solution - needs to support Office 2016

#

so

#

screw that

#

OpenPyxl

lofty dirge
#

๐Ÿคฆ

plucky ridge
#

Doesn't seem like a problem if it's just aggregating and dumping the data to Excel

#

Hell, could use Pandas to organize as need be

#

I think

#

Maybe

#

That's not really my area

undone berry
#

god I hate pandas

#

but yeah

#

making a dataframe isn't too hard

#

but god is pandas terrible software

plucky ridge
#

How so?

undone berry
#

The options it gives you for manipulating data are just atrocious compared to equivalents in R or in normal Spark. The API is not near as intuitive as it could be

#

some things just make 0 sense

#

like kwargs that can't be passed down through functions

#

despite the fact they should be able to be passed down through functions

plucky ridge
#

Fair enough. Closest I ever got to it was numpy

#

And that was only for Advent of Code

undone berry
#

don't get me wrong - Pandas is by far the best way of working with CSV/excel/numpyish data in Python (that I know of)

#

but it's bad compared to what you'd expect coming from better parts of the python ecosystem (or a better language for this stuff)

plucky ridge
#

Fair

#

Would the folks getting the Excel output expect anything special? Like any formulas calculating certain columns or what have you?

#

Or would they just want the data well organized

undone berry
#

mostly the latter

#

in fact

plucky ridge
#

Saves you some effort at least

undone berry
#

nevermind the in fact

lofty dirge
#

There is also getting them data

scenic blaze
#

I just give people csvs, haha

undone berry
#

The data is too texty

#

there's names and stuff in it

honest star
#

I think my favorite thing about pandas is the ability to pull data from a sql and almost immediately save it to a csv to give to someone who isn't as database-capable. It's been SO useful this test series

undone berry
#

so it needs some degree of formatting

scenic blaze
#

Yeah, my workflow is generally numpy -> pandas -> sql database

#

But I make csvs for people for quick checking of stuff

#

Like "Hey what's the output for that step of your program?" I'd rather just quickly write the code to gen a csv

plucky ridge
#

csv's really are useful

#

For the longest time I didn't understand quite how they worked

#

Like I thought they were only one line and didn't contain any newline characters

#

No idea why I thought that

scenic blaze
#

They're useful to give to programmers since you can parse a csv in pretty much any language

celest vine
scenic blaze
#

good job

arctic seal
#

there's always inspect element

#

: P

celest vine
arctic seal
#

speed

rough sapphire
#

i am speed

scenic blaze
#

Bleh

#

Company I just interviewed with probably won't be a good fit because it's on the eastern coast

#

east coast*

#

and they want people to have meetings on their time zone

#

and they like daily 9 am meetings >.>

lofty dirge
#

9 AM sounds soooo east coast

celest vine
#

meetings are dumb

lofty dirge
#

it's probably standup meetings

scenic blaze
#

yeah

#

but wtf 9 am

celest vine
#

literally most of the time spent in meetings are spent pretending to do work

lofty dirge
#

West Coast Companies I've dealt with generally are fine if nothing starts before 10AM

#

my company is awesome enough not to start before 1030

scenic blaze
#

Exactly

#

Local company starts at 10 am

lofty dirge
#

like my G Suite working hours are 1030 -> 1730

#

7 hours

#

and meetings are pretending to do wokr

#

but I'm paid for 8 hours, I don't care how I spend it

scenic blaze
#

My daily meetings range from 15 seconds to 15 minutes

plucky ridge
#

Gotta love the "Should have been an email" meetings

undone berry
#

I really wish instead of doing 9-5, you just had to log roughly 40hours a week

#

or X hours

#

because - I'd much rather work 7-10 and 17-22 than 9-5

quick ledge
#

damn 17-22

undone berry
#

maybe 7-11 and 17-21

#

but the point is mornings and evenings

#

fuck afternoons

stone beacon
#

f u c k a f t e r n o o n s

small fossil
honest star
#

Lol, at my org everyone pretty well assumes the day starts at 7am. We frequently have 8am meetings

lofty dirge
#

Fuck that noise

rancid forge
lofty dirge
#

#FF00FF

honest star
#

I only complain if we have meetings before 7:30am... but mostly because I struggle waking up before 6:30 am

rancid forge
scenic blaze
#

8 am meetings wow

honest star
#

But having a 7-3 workday is pretty nice in the summer

scenic blaze
#

Honestly I'm comfortable working 10 am to 10 pm

rancid forge
#

i like 9 am to any time personally

scenic blaze
#

I mean like, not all those hours, but maybe have random breaks thrown around in there

lofty dirge
#

Telling my developers you have 8Am meeting. no ๐Ÿ›๏ธ

honest star
#

Some people get in at 6am. I've have requests for 7:00am meetings and I literally just laugh at that

lofty dirge
#

Telling me that. dadparrot no ๐Ÿ›๏ธ

scenic blaze
#

I mean sure if you need to have a meeting at that time because everything is on fire

rancid forge
#

i could probably do that because i generally wake up early but i would be angry if it were earlier

scenic blaze
#

Or you're okay with me not retaining any information disclosed at that meeting

#

That's one thing, but daily/regular meetings? Screw that

lofty dirge
#

Thatโ€™s not a meeting, thatโ€™s a party at dumpsterfire

honest star
#

oh no, these are just regular meetings. Like project updates, reviewing procedures before testing for the day

rancid forge
#

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ
๐Ÿ”ฅmeeting time๐Ÿ”ฅ
๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ

lofty dirge
#

Yea, you can catch my asleep butt up at 10

#

Iโ€™m not out of bed

rancid forge
#

in completely unrelated news
the Twins have loaded the bases again

small fossil
#

We fixed socket upgrades ๐ŸŽ‰

scenic blaze
#

๐ŸŽ‰

small fossil
#

I do not miss dealing with that shit

rancid forge
#

pirates walked max kepler three times today

#

(human-operated color bot)
Shutting down, @ @rancid forge with a color value to start the service

rancid forge
#

i killed the chat

frozen crane
#

@rugged geyser I saw that you had asked earlier about making command line tools and that someone helped you with this in a help session, though I have a different approach

#

let me know if you'd like to go over it

rugged geyser
#

@frozen crane yeah sure I was thinking of just using click + setup tools to create the python cli

frozen crane
#

please open a help session and ping me and we can talk about it.

rugged geyser
#

sure

bleak lintel
#

test

strange barn
#

test

topaz aurora
#

btw this is why nobody except the most dedicated learns haskell https://wiki.haskell.org/State_Monad
@autumn night I've learnt the hard way that sometimes it's just easier to accept types as is rather than dwell on trivial examples and/or analogies

#

No regerts tho lemon_fingerguns_shades

autumn night
#

heh, it was more just the fact that the doc is incredibly dense

#

or howto or wiki page or w/e

topaz aurora
#

Yeah there's no real structure to it really

autumn night
#

every semi-official haskell document seems to assume you're fully familiar with the rest of the language

#

there's no good starting point in the official docs

#

you have to look elsewhere

#

i guess that's true for python, but less so

#

the big problem for python is that not enough stuff is cross-linked in the docs, like the definition of an "iterable"

#

which makes them hard to read

scenic blaze
#

You're hard to read

#

(Because we're communicating online and I can't see your facial expressions)

autumn night
#

i'm also a salt rock

#

it's hard to communicate with humans irl

#

pretty different cultures

trail hollow
#

I'm bad at communicating online and offline

#

i never understand

#

see

#

then its silence

#

๐Ÿ˜‚

wet crane
#

Online communication takes more time than offline

rough sapphire
#

but the tradeoff is you have more time to think out what you're going to say

trail hollow
#

yes i'm working on it lemon_infant

solid pollen
#

Isn't that just a lemon juice stand?

twilit hull
#

lemonade

#

i always feel like lemonade is just grenades made of lemons lol

ancient minnow
#

What why?

rich rover
#

Multiple games interpreted lemons as weapons

solid pollen
#

When life gives you lemons...

rich rover
#

Squeeze them on your keyboard

floral viper
#

I'LL HAVE MY ENGINEERS INVENT A COMBUSTIBLE LEMON! SO I CAN BURN YOUR HOUSE DOWN! WITH LEMONS!

obtuse falcon
#

trust me i am a engineer

tame terrace
#

ah yes, my boutique

obtuse falcon
#

now give me pgp gui in .deb type

solid pollen
#

I'LL HAVE MY ENGINEERS INVENT A COMBUSTIBLE LEMON! SO I CAN BURN YOUR HOUSE DOWN! WITH LEMONS!
@floral viper don't forget the manager

obtuse falcon
#

dont trust me the lemon write a tool tthat broke pgp so i kill the lemon

solid pollen
#

The pgp is a lie anyway

wheat lynx
#

Woo I fixed it

#

So you know when your computer is being all slow and shit

#

And you decide to close some stuff down

#

But then it won't close down, so you open up the terminal to kill it

#

But you accidentally copy the wrong PID and end up killing Xorg

rough sapphire
#

htop to the rescue!

wheat lynx
#

I had to turn it off because it was all broken n stuff

#

But then when I turned it on it froze whenever I tried to login

#

So then I spend my whole morning trying to get it working

#

And it's working!

#

(although I'm pretty sure it will break again if I turn it off, so I'm sort of scared to turn it off now)

rough sapphire
#

๐Ÿ‘€

#

Sounds like time for a reinstall

wheat lynx
#

It'll be fiiiiiine

gentle moss
#

sounds like time to not fix it

#

because then you'll spend time not fixing it than fixing it

rough sapphire
#

Sounds like time to invest in a proper backup strategy then lol

gentle moss
#

that's the strategy where it breaks and you back the fuck away from the table?

wheat lynx
#

Although to be fair I feel I learnt quite a lot by trying to fix it

#

I still don't really know what the problem was. Well, the problem was that it wasn't working, but I don't know the details

plucky ridge
#

That's my life story

#

"I mean.... it's on fire, I know that."

rough sapphire
#

"But why is it on fire?"

#

"Wait, I know that too."

plucky ridge
#

"Probably all the fire I put on it, honestly."

#

Bleh, well this is a good sign.

#

Only just now taking my morning meds

#

Stupid printers taking up time

gentle moss
#

well there's your problem

#

you should only load paper into the paper tray

plucky ridge
#

Right but then I can't have the cool deigns on them that I want

rough sapphire
#

Huh. Well, the fire probably isn't helping that.

plucky ridge
#

Or the carcinogens

gentle moss
#

ahhhh

#

love that generic error

#

lp0 on fire

#

a genuine unix error message for printers

plucky ridge
#

But seriously, the first thing I got greeted with this morning was a printer that was printing out solid black pages

gentle moss
#

you sure it wasn't just doing that instagram blackout thing

plucky ridge
#

This is why people shouldn't change toner other than me

gentle moss
#

and you're just crushing a political movement?

royal laurel
#

But seriously, the first thing I got greeted with this morning was a printer that was printing out solid black pages
@plucky ridge excuse me it's doing what now

plucky ridge
#

Political movements don't usually go hand in hand with daily payroll reports

gentle moss
#

solid black pages usually means an idiot put the toner in

plucky ridge
#

I did 2 cleaning pages, still getting horizontal bars

#

So something is still fucked

#

And I swapped the cart

royal laurel
#

What a wasteeee

#

If there's something I hate, it is printers

#

I despise printers

plucky ridge
#

Eh, I mean paper and toner is so cheap (relatively) that it's not as big of a deal

#

You can waste a couple hundred and it really wouldn't make that much of a dent

wheat lynx
#

but think of the trees lemon_sentimental

plucky ridge
#

And since our shred goes to a recycling company, I don't feel super terrible about it

#

More annoyed, honestly

royal laurel
#

It's more the ink mafia than anything else

gentle moss
#

consumer cartridges are a massive fraud

royal laurel
#

I just hate it man

#

Digitally locked cartridges

gentle moss
#

yeah, i believe in the U.S. there was a lawsuit over it

#

can't remember how it turned out

#

when a cartridge can just be reloaded with ink and you're intentionally flipping bits in the firmware to say "don't use this" then fuuuuck you.

plucky ridge
#

Oh yeah, consumer carts are dumb

#

Business ones are slightly better

#

Well, for toner at least

#

But they're such complex machines that if one thing goes the whole thing is shot

#

Although that has been moderately rectified by having a lot of those complex parts in the toner cartridge, but then that ups the cost and yaddah yaddah

#

I'm mainly salty that HP doesn't have any metal fuser rollers anymore

#

It's all the film

#

And considering we've had fusers literally shred themselves in multiple machines, it gets old reeeaaalllly quick

#

But then the trade off is that the film ones heat up faster so there's less time from clicking print to picking up your page but like...

#

Sorry, I'm rambling about the most boring thing in the world

gentle moss
#

i am fully onboard with your rant

#

i too have spent too much time inside of printers

plucky ridge
#

I'm just imagining you as a Borrower just wandering through one

gentle moss
#

or reading a 2000 page service manual to see if i could bypass the ink detection mechanism

plucky ridge
#

If we didn't have contracts with a printer maintenance firm and someone who comes in and replaces our toner carts, I might have looked into it

#

But the maintenance is far more useful in my eyes

gentle moss
#

hint: you can but you have 4 arrow keys and an okay button and it's like +20 menus deep in the secret service mode boot method

plucky ridge
#

Which is usually locked

#

Oh, cool thing

#

We actually have a printer/scanner big ass thing that has a keyboard

#

Just pulls out from under the screen

gentle moss
#

yeah, you just have to get inside and find the "reset to real factory defaults" jumper

#

oh that is cool

plucky ridge
#

Yeah pretty sure that'd void our contract like

#

Instantly

#

Not going to be held responsible for that one.

gentle moss
#

i was working for a school when i did that. they outright owned the machine but obviously didn't have any printer experts and weren't going to pay for none

#

"look, i can see it. there is clearly toner in there!"

#

"yes, but it wont print if it's below X level because it might not produce good results."

#

"don't care. make it work."

plucky ridge
#

Also potentially for mechanical safety

#

Although that's less often the case

#

And with our prints, we need to have good quality

#

But yeah, schools are always on a tighter budget

#

So that makes 100% sense to me

sand goblet
#

When I worked for SKDP the printer had like an entire reservoir

#

this bigass separate thing for waste toner

#

it'd fill up and then we'd have to wait two days for the guy to come empty it before we could print again

gentle moss
#

ahhh waste toner.

#

the shirts people have destroyed taking those things out

sand goblet
#

I stained my hands a couple times

plucky ridge
#

"Toner smoke. Don't breathe this. No seriously, it'll actually give you cancer."

sand goblet
#

the printer at my current job doesn't have a separate thing for waste toner

#

I suspect there is still waste toner, and that it's just in the actual toner cartridges

gentle moss
#

i've managed to come out of printer work with a 100% clean white shirt rate

#

fucking jamie hyneman up in here

plucky ridge
#

HA

#

Was just thinking that

sand goblet
#

me too tbh, my shirts were okay

#

haha

gentle moss
#

always wash toner off with cold water as well btw

plucky ridge
#

Yep

gentle moss
#

if you don't it'll set

plucky ridge
#

And become more likely to absorb into the skin

#

Same rule after going to a gun range

#

Honestly I just wash my hands with cold water most of the time anymore

undone berry
#

oh - is that true for lead?

gentle moss
#

lead and gun powder tend not to be the best things to put in your mouth

#

yes

plucky ridge
#

Yep

gentle moss
#

you should 100% wash your hands after handling lead pellets

undone berry
#

huh - used to shoot air rifles all the time and washed my hands with hot water

plucky ridge
#

Air rifle pellets aren't typically lead are they?

undone berry
#

yeah

gentle moss
#

they are

plucky ridge
#

Huh

#

Didn't know that

gentle moss
undone berry
#

The ones I had were soft enough that you'd fairly regularly crush them with your bare hands

plucky ridge
#

Oh you know what

undone berry
#

lead is the only metal even close to letting you do that

gentle moss
#

not the steel bearing ones.

plucky ridge
#

I was thinking the copper bb's

#

Yeah

#

@undone berry Gold

gentle moss
#

yeah, these have to be lead else they wont rifle in the barrel

plucky ridge
#

Um... I've got another one...

#

God what's it called...

undone berry
#

There is one that's almost liquid at room temperature

gentle moss
#

i think you can get some other metal types for non-toxic pest control

undone berry
#

but not quite

floral viper
#

Lead bans are starting to roll out now though

gentle moss
#

gallium?

plucky ridge
#

THAT

undone berry
#

but it stains the shit out of your hands

plucky ridge
#

That's the one

undone berry
#

yeah - that's it

gentle moss
#

fucks up aluminium real good too

plucky ridge
#

The old "melting spoon" trick

undone berry
#

Gallium isn't harmful - but it does stain apparently

plucky ridge
#

Yep

#

It's really cool stuff

gentle moss
#

literally decays/destroys aluminium, so cool to watch

plucky ridge
#

I think mercury can do the same? Or it can

#

When it amalgamates with other metals.

undone berry
#

I think Lead is still malleabler than gold

#

by a fair bit

plucky ridge
#

You're probably right

#

@floral viper It'll be interesting to see how that goes

gentle moss
#

i haven't hit a gold bar with a hammer and punch yet

#

but i'd say probably.

plucky ridge
#

I know gun advocates will pitch a HUGE fit

undone berry
#

@gentle moss yeah, I generally leave my gold bars alone

#

don't bother hammering them

gentle moss
#

also: we have lead bans in europe

#

you can still get lead shot for guns

#

you just can't use it in like say, soldering

plucky ridge
#

Oh huh

#

I mean is there really a decent replacement for bullets?

gentle moss
#

for lead shot there's steel shot

undone berry
#

you still get lead solder right?

gentle moss
#

and if you're hunting to eat you should use that already

floral viper
#

@gentle moss no in some countries it is completely banned. Denmark for example. Uk is banning it atm

gentle moss
#

nope, it's not lead based anymore charlie

plucky ridge
#

Oh finally, it's safe to lick the soldering work

gentle moss
#

you might be able to get it as a specialist product, but it's not common place anymore

undone berry
#

huh - so it seems. I'm sure 5-10 years ago it was still fairly common

gentle moss
#

because i think it's around then when it came in

#

i still have some lead based solder laying around

plucky ridge
#

I'm sure I do as well

gentle moss
#

the new stuff feels like it needs a higher temperature to work with, but it's fine

undone berry
#

yeah, lead is the only metal of it's kind when it comes to meltiness

#

most others are quite a bit higher

plucky ridge
#

Gallium

undone berry
#

enough to be annoying

#

gallium is too melty

plucky ridge
#

True

undone berry
#

ideally you'd want one that melted at like 120c or something

plucky ridge
#

I'm just obsessed with it

gentle moss
#

tin is low

#

you can do that on a camp fire

undone berry
#

tin is lower

#

but it's also very liable to tarnishing

#

lead not near as much

gentle moss
#

i think lead is like

plucky ridge
#

Unless in an alloy

gentle moss
#

~250c?

undone berry
#

tin is 230, lead is 300ish

plucky ridge
#

Neat

gentle moss
#

the most common lead solder replacement i see is like

plucky ridge
#

I should get some bismuth crystals...

undone berry
#

yeah, normally you're allyoing tin, lead, and other shit to get exactly what you want

gentle moss
#

tin-silver-copper mix

plucky ridge
#

They're so pretty

gentle moss
#

bismuth is pretty nice looking yeah

plucky ridge
#

Too expensive to own but still

undone berry
#

thinking about lead

#

why is it always a lead pipe

#

that you hit someone with

#

literally any other metal seems better

#

I guess it's the weight/denseness of lead

plucky ridge
#

Also because that's what was most common around the time that was popularized

undone berry
#

even if it is fairly malleable and liable to bend

#

yeah, true

plucky ridge
#

More likely to bend yes, but still probably stronger than a skull

undone berry
#

sorry to lead us off on a tingent - back to bismuth

#

very cool stuff

plucky ridge
#

And helpful when you have an upset tumtum

#

Niiiiiiiiice

#

That was a worthwhile edit

undone berry
#

I only noticed the potential genius after the fact - I couldn't let the opportunity go to waste

plucky ridge
#

Good man

sand goblet
#

oh hey

#

pipenv installed a library

#

but it can't lock it

gentle moss
#

i think it's the weight of a lead pipe

#

blackjacks were often made with lead shot in them for the same reason

sand goblet
#

it'll install it just fine but refuses to lock

gentle moss
#

"saps"

sand goblet
#

good times

plucky ridge
#

You have to pop it before you can lock it

solid pollen
#

Pop'n lock, man

rough sapphire
#

I just watched the episode of Community the other day where they have the pop'n'lock'a'thon and no one goes accept Chang who pops and locks for like 5 hours or something.

scenic blaze
#

That was great

#

Then they lose anyway

#

and Chang doesn't get to join the group

plucky ridge
#

@rough sapphire And there's nothing wrong with being not good at a particular language. But every language has its strengths and weaknesses, and hating it wholesale does no one any good

rough sapphire
#

he is still going on about it in general lol

plucky ridge
#

Yeah I see that

sonic river
#

My rule of thumb is that if you think whatever language you use is flawless, you're basically a zealot trying to prove something or you're just lying to yourself

plucky ridge
#

@rough sapphire Again, more than willing to have the conversation, but lets do it in here

#

Trying to implement one language in another is also going to lead to all kinds of headaches, especially if you're not experienced in the base language

sonic river
#

I use python every day, it's my work tool, but god damn does I hate it sometimes, I secretly wish the field I'm in would move to other languages but every time I try something else I just miss either the ecosystem, the documentations, syntactical shortcuts etc

rough sapphire
#

I mostly use C# and C++ so writing classes in python is a bit weird lol

#

ok

#

fine

#

i will do it here

plucky ridge
#

Thank you

topaz aurora
#

@rough sapphire For the record, Lua is not comparable to Python in terms of functionality. Lua is a lot more lightweight than CPython

sonic river
#

It's also not used for the same purpose at all

rough sapphire
#

I saw a guy on twitter that got Lua running in kernel mode lol

topaz aurora
#

There's a reason why it's the preferred scripting language for C/C++

rough sapphire
#

if lua is more lightweight than python then why do i have to import tons of stuff in python, a high-level language?

#

bruh

topaz aurora
#

Because namespaces help with cohesion

sonic river
#

imports don't have anything to do with how high/low level a language is

scenic blaze
#

^

topaz aurora
#

Consider the following

sonic river
#

you're saying because a language has a good ecosystem (that is, a big community) it's bad ?

rough sapphire
#

no

plucky ridge
#

Python's strengths lie in its diverse ecosystem, how quickly you can create something, ease of testing, interoperability with C code and a few others.

Its weaknesses are its execution speed, its dynamic typing, difficulty with recursion, and requiring the interpreter to run

graceful basin
#

Haskell is extremely high level and requires imports for everything but prelude, and purescript requires imports for even the prelude

rough sapphire
#

if lua is more lightweight than python then why do i have to import tons of stuff in python, a high-level language?
@rough sapphire python has a lot of the code already written for you. In other languages you would need to write it on your own

topaz aurora
#

Haskell is extremely high level and requires imports for everything but prelude, and purescript requires imports for even the prelude
@graceful basin Said it before me haha

sonic river
#

the low/high level discussion is silly at best

rough sapphire
#

i never said i like haskell or purescript, i dont even know what the latter is, and for haskell, i never wrote even a hello world in it

graceful basin
#

imports are just because having everything builtin is inconvenient

rough sapphire
#

high level - good for complex interaction with servers, scripting, etc. low level - good for performance dependant tasks and generally when you need to get down and dirty with the memory

graceful basin
#

lua prevents having a massive builtin namespace by placing functions into tables

#

which is a fine approach

rough sapphire
#

in python you have to convert tuples and builtins to lists to perform most of the list-related functions

shell raptor
#

What do you mean by "builtins"?

topaz aurora
#

Yes, because they're different things

rough sapphire
#

a type when you run builtins()

shell raptor
#

uhhhhhh

#

dict?

rough sapphire
#

well because tuples are by nature read-only

#

well ok with tuples i can understand

sonic river
#

I don't see how that is a problem, they're different types entirely

graceful basin
#

yeah, lazy sequence manipulation is pretty mediocre in python

rough sapphire
#

but builtins and tuples are basically the same

sonic river
#

what

rough sapphire
#

they are both readonly lists

sonic river
#

which builtins

plucky ridge
#

Javascript's strengths are that it's really the only horse in the game when it comes to Web stuff, its vast and battle tested ecosystem, its powerful engines (V8 for example).

Its downsides are that it's restricted to being either web based or server based, and while you can wrap it into a desktop application using something like Electron, performance suffers heavily. Its dynamic typing, use of both null and undefined, as well as a handful of other things make it very problematic

topaz aurora
#

I'd honestly rather move map and filter to functools if only it didn't break legacy code

rough sapphire
#

builtins()

sonic river
#

that's not a type

topaz aurora
#

That's a dictionary

shell raptor
#

I think you don't really understand which types exist in Python and why they are different.

rough sapphire
#

hemlock, python is also dynamic typing

plucky ridge
#

I also mentioned that as a con in my Python list

rough sapphire
#

oh

#

i didnt notice that list

plucky ridge
#

I'm taking the values of the language per language

rough sapphire
#

brb

scenic blaze
#

complaining about dynamic typing but also complaining about having to convert types is ???

plucky ridge
#

Just like any good tool, it has to be used for the right job

#

You wouldn't use a hammer to screw in a bolt, you wouldn't use a wrench to saw a plank of wood

#

You can (and should) find what you like and dislike about a language, but it needs to be within the context of its purpose

#

Blanket hatred towards a language limits your options and learning opportunities, and breeds unnecessary biases towards things that could benefit you at a later date.

rough sapphire
#

fair enough

plucky ridge
#

Again, I get that there's a LOT to bitch about in Python. There is in any language

#

But you have to take the noise of the crowd with a grain of salt, find out for yourself

shell raptor
#

Again, I get that there's a LOT to bitch about in Python. There is in any language
unless it's lisp. it's perfect /s

topaz aurora
#

Don't you mean Haskell?

#

I jest

plucky ridge
#

(((Sorry)(((Say (again?))))))

shell raptor
#

@topaz aurora I think you misspelled Idris!

rough sapphire
#

Nah QBasic for the win

graceful basin
#

I think you meant forth

shell raptor
#

I think I said Form DSL

rough sapphire
#

pascal is the perfect language, no one can beat it /s

plucky ridge
#

I keep seeing "Pascal" but in my head hear "pastels" and it just makes me think about art classes back in middle school

shell raptor
#

Well, Pascal ABC .NET adopted many modern features

topaz aurora
#

I'll stick to my favorite LISP flavor for now haha

plucky ridge
#

@topaz aurora I think it'd make me happier if LISP was written as if you had a lisp. Like thtring for string

topaz aurora
#

Don't give me ideas now

shell raptor
#

I'm actually building a lisp interpreter in python, it's pretty fun

rough sapphire
#

if python adds readonly lists (tuples), why not add readonly for every type and not make it in a separate type, just use a keyword or something, that would perhaps make it better than js

sonic river
#

(most) lisp implementations actually make a very nice use of dynamic typing that we don't see very often

rough sapphire
#

cause there is no need

plucky ridge
#

It does have immutable other types

topaz aurora
#

Immutability by convention works well

plucky ridge
#

strings are immutable, for example

#

As are ints and floats

shell raptor
#

@rough sapphire Making an arbitrary type immutable is impossible and might make some types useless. But, for example, there are frozensets.

rough sapphire
#

but i can read and write to a string, int and float

sonic river
#

nope

plucky ridge
#

It creates a new object

sonic river
#

(not without ctypes, which is cursed)

plucky ridge
#

It's not modifying the same one

topaz aurora
#

By convention, it should be noted not to touch anything like this

DO_NOT_TOUCH = UnsafePerformIO()
rough sapphire
#

lemme try that

plucky ridge
#

Python works on the idea of "consenting adults"

topaz aurora
#

Ye

plucky ridge
#

In that the conventions should be as good as gold when it comes to treating things as constants

#

Python isn't going to tell you that you can't do it, but you know that you shouldn't

shell raptor
#

And, well, there are read-only properties

plucky ridge
#

Forgot about those

rough sapphire
sonic river
#

I really hate the idea of footguns and letting the developers on their own

graceful basin
#

you are not changing a string

sonic river
#

you didn't modify the string

plucky ridge
#

That's overwriting the string

graceful basin
#
a = (1, 2)
a = (3, 4)
``` is also valid
sonic river
#

you're binding a new string to the variable somestr

shell raptor
#

if you mean that there is no const keyword, then yes

rough sapphire
#

oh

topaz aurora
#

__slots__ also enforces stuff to not arbitrarily be assigned with new attributes

plucky ridge
#

!e

my_string = "bacon"
my_string[1] = "c"
print(my_string)
royal lakeBOT
#

@plucky ridge :x: Your eval job has completed with return code 1.

001 | Traceback (most recent call last):
002 |   File "<string>", line 2, in <module>
003 | TypeError: 'str' object does not support item assignment
rough sapphire
plucky ridge
#

What I just tried right there is an attempt to modify the string itself

graceful basin
#

enforcing immutability is difficult (I would even say unviable in a inheritance-based object environment)

sonic river
#

again, still created a new string

plucky ridge
#

Rather than just create a new one

rough sapphire
#

ok then, can they make non-immutable strings, ints, floats etc.?

graceful basin
#

+= also creates a new string (there is a special case where it does for optimalization purposes, but that will never actually be detectable)

plucky ridge
#

Also, something like "bacon and " += "ham" also creates a - damn it lak, you're too fast

topaz aurora
#

Those things that you've mentioned are semantically immutable

rough sapphire
#

immutable is different from read-only
you can rewrite immutable things
but not read-only things

topaz aurora
#

You can't change some property of a number, but you can with a list

sonic river
#

that's because you're used to "false" const-correctness

shell raptor
#

if you mean that there is no const keyword, then yes
but as I said in #python-discussion, it might be deceptive (as it doesn't prevent mutation)

const fooBar = {hello: "world"};
fooBar.hello = "baz";
sonic river
#

js doesn't have proper const correctness

#

unlike C or C++

rough sapphire
#

im not saying anything about js specifically

#

i dont really like it that much anymore

plucky ridge
#

Sure, it's just the easiest comparison to make

shell raptor
#

@sonic river :D
in C/C++ the type of constness depends on where you put the const in the type
const int*
int* const
const int* const

rough sapphire
#

im talking about "final" in java

#

or does it not have proper final correctness as well

sonic river
#

yes, so we can have fine graiin control over which part we need as const/mut

topaz aurora
#

!e

xs = ([], [])
xs[0].append("Hello")
xs[1].append("World")
print(xs)
graceful basin
#

making class immutable cannot work because of something like this

class Immutable:
    def fun(self):
        return 5

class SecretlyMutable(Immutable):
    def __init__(self):
        self.x = 0
    def fun():
        self.x += 1
        return self.x
```when object implementation details can arbitrarily mutate, it fails
shell raptor
#

@rough sapphire you can still mutate something which is final, I think. Because otherwise you wouldn't be able to call any methods on a final value, since the compiler can't prove that some method doesn't have side effects.

rough sapphire
#

lemme try that

plucky ridge
#

Python doesn't have something like that. The best you can do is make the variable all caps and know that you shouldn't modify it. If you accidentally modify it yourself, that lends itself more to a logic error than a language issue

royal lakeBOT
#

@topaz aurora :white_check_mark: Your eval job has completed with return code 0.

(['Hello'], ['World'])
graceful basin
#
final List<Integer> x = new ArrayList<>();
x.add(10);
```is valid
#

same issue

#

when I can inherit from a class and make it mutate things, marking something immutable is meaningless

topaz aurora
#

const only reflects on the variable doesn't it?

plucky ridge
#

I believe so

graceful basin
#

swift actually enforces it for structs, but not for classes

topaz aurora
#

Much like Rust's

rough sapphire
#

i mean, why wouldnt it be? its just a method

shell raptor
#

@topaz aurora depends on the language (see message above about C/C++^)

graceful basin
#

methods mutate

rough sapphire
#

๐Ÿ‘ final ๐Ÿ‘ doesnt ๐Ÿ‘ mean ๐Ÿ‘ preventing ๐Ÿ‘ using ๐Ÿ‘ methods

graceful basin
#

then it does not mean immutability

plucky ridge
#

No but you were saying it should prevent changing the value?

#

Or did you just mean that it should prevent reusing the variable

#

Just trying to make sure I'm understanding

shell raptor
#

So it prevents changing the identity, like const in JS, but doesn't prevent changing the value.

rough sapphire
#

but how would it prevent it if it is using methods and not += or something

plucky ridge
#

Gotcha, okay

topaz aurora
#
let xs = "hello".to_string();
// xs.push_str("world")  nightmare, bad
let mut ys = xs;
ys.push("world");
plucky ridge
#

That's rust, right?

topaz aurora
#

Yes

graceful basin
#

+= is just several method calls in python

plucky ridge
#

Does xs still have ownership or is that given up when you make ys

graceful basin
#

and in a bunch of other langs

topaz aurora
#

It is transferred to ys

plucky ridge
#

Gotcha, okay

#

Neat

rough sapphire
#

using languages i never claimed to be better than python against me is just not correct

#

i never said anything about rust

plucky ridge
#

We're not saying you did

#

We're just extrapolating on the concepts

topaz aurora
#

It's also totally different from Haskell's everything is immutable model which caught me off-guard

sand goblet
#

all I have to say is "hi" when it comes to these conversations kotlin

plucky ridge
#

This is more us being nerdy and enjoying seeing how things tick in the various languages

shell raptor
#

@topaz aurora And then you get caught off-guard when you realize that it is actually not ๐Ÿ˜„

topaz aurora
#

Is it?

rough sapphire
#

so this does work but

#

like i said

shell raptor
#

@topaz aurora Well, with unsafe stuff

rough sapphire
#

final doesnt mean preventing people from using methods

topaz aurora
#

That's correct

shell raptor
#

makes sense

sand goblet
#

yup

rough sapphire
#

@rough sapphire wouldn't that final just prevent reassinging the value x points to?

topaz aurora
#

final only reflects on the variable much like const I believe

sand goblet
#

that's right

graceful basin
#

ye, all final does is prevent the value from being reassigned (except when it does not)

sand goblet
#

you can actually bypass that modifier on JRE < 12

shell raptor
#

Well, in java there's reflection and stuff...

graceful basin
#

reflection doesn't let you do that IIRC

topaz aurora
#

That reminds me of interior mutability in Rust. Neato

sand goblet
#

JRE >= 12 prevents it though

rough sapphire
sand goblet
#

it does, on 11 and lower

rough sapphire
#

crazy, right?

topaz aurora
#

Yes, you're assigning something new to a final

sand goblet
#

it applies some extra optimisations tofinal variables when they're plain primitives as well

graceful basin
#

no, that did not work because you are reassigning a variable, rather than mutating an object

shell raptor
#

Well, in Python there's typing_extensions.Final

rough sapphire
sand goblet
#

in kotlin, you can actually only use final with static primitives

shell raptor
sand goblet
#

I expect it does some memory optimisation that has to be enforced there

sonic river
#

It's still reassigning a variable, you're not mutating the 5 object

sand goblet
#

also operators in java are not methods

#

which is why you can't override them

sonic river
#

like python's += on strings

sand goblet
#

well that also doesn't mutate ya fixed it

shell raptor
#

the [int] part isn't necessary, though

rough sapphire
#

fine you proved me wrong about 1 of my 17 cons

#

neither java nor javascript has immutable const/final

sand goblet
#

I bet that one is a nasty hack

sonic river
#

nobody is saying python has no cons

sand goblet
#

haha

#

java does have const as well

rough sapphire
#

i noticed that

#

but didnt get to learn what java's const does

sand goblet
#

it might just be an alias, I'm not sure

#

yeah it's just a reserved keyword

graceful basin
#

jshell> import java.lang.reflect.Constructor;

jshell> import java.lang.reflect.Field;

jshell>

jshell> enum Test {
   ...>     A, B;
   ...>     public static void main(String[] args) throws Exception{
   ...>         Field f = Unsafe.class.getDeclaredField("theUnsafe");
   ...>         f.setAccessible(true);
   ...>         Unsafe unsafe = (Unsafe) f.get(null);
   ...>         Test C = (Test) unsafe.allocateInstance(Test.class);
   ...>         long addr = unsafe.objectFieldOffset(Enum.class.getDeclaredField("ordinal"));
   ...>         unsafe.putInt(C, addr, 5);
   ...>         System.out.println(C.ordinal());
   ...>     }
   ...> }
|  created enum Test

jshell> Test.main(new String[0])
5
``` I mean, does java 12+ really prevent mutating final fields?
topaz aurora
#

const disallows you to reassign a value

rough sapphire
sand goblet
#

The enhancement request ticket in the Java Community Process for implementing const correctness in Java was closed in 2005 on the basis that it was impossible to implement in a backwards-compatible fashion, implying that const correctness will probably never find its way into the official Java specification.

rough sapphire
#

maybe it's int const

stable knoll
#

isn't that final in java?

sand goblet
#

it's a reserved keyword but it doesn't do anything

rough sapphire
#

nope

sand goblet
#

as in, it's not used in the parser

shell raptor
#

like goto?

rough sapphire
#

yes it is final but we are discussing const, a different keyword

stable knoll
#

ok

sonic river
#

which appears does nothing

sand goblet
#

so they just kind of reserved the keyword and decided not to implement it

#

I wonder why

sonic river
#

they do that a lot

scenic blaze
#

Python doesn't force things, it just offers best practices and syntax clarification

rough sapphire
#

btw i use java 8 because i am too poor for higher javas

sand goblet
#

I build against 14 where possible

rough sapphire
#

Python doesn't force things, it just offers best practices and syntax clarification
@scenic blaze also python: requires tabs instead of brackets

sand goblet
#

but I also write minecraft mods so gotta target 8 there

scenic blaze
#

You should be tabbing anyway

rough sapphire
#

yes i am

scenic blaze
#

It offers clarity for someone else reading your code

sand goblet
#

well you should be using 4 spaces

#

but yeah

scenic blaze
#

Fair

graceful basin
#

pretty much the only disadvantage there is moving code blocks around, which a good editor fixes

rough sapphire
#

but when i say copy code from say, discord, in primitive IDEs i cant shift+tab

sonic river
#

really if such a small syntactical difference bothers you, id say the problem lies elsewhere

graceful basin
#

I mean, even vi lets you deal with it fine

topaz aurora
#

C-style syntax is more flexible but indentation-based syntax is more humanly readable

graceful basin
#

so I tend to call it not a problem

sand goblet
#

yeah, what pure said

sonic river
#

the only difference is that aggressive indentation is not possible for python, that's about it

sand goblet
#

which is why things with C-style syntax tend to be indented

rough sapphire
#

i dont know, people say python is like english, but have those people ever seen lua?

sand goblet
#

lua is far less readable, what're you talking about

scenic blaze
#

The benefit to C is that if you really wanted to fuck with people you can obfuscate your code and make it unreadable pretty easily

rough sapphire
#

if you want to achieve english in a programming language, use lua

#

and again, i dont say lua is good

shell raptor
#

use COBOL /s

sand goblet
#

tell me zalt

scenic blaze
#

^

plucky ridge
#

@shell raptor I will end you

sand goblet
#

how do you join two strings in lua?

scenic blaze
#

COBOL is the english programming language that's terrible but it exists

shell raptor
#

SQL is not great either

scenic blaze
#

SQL works well enough, tbh

rough sapphire
#

lua may be less readable, but it is almost exactly like english

#

oracle sql is dope tho

sonic river
#

in what way

sand goblet
#

it's really not

plucky ridge
#

What's crazy to me is that both SQL and COBOL are a chore to write in but they're so friggin' powerful

rough sapphire
#

it even starts with 1 for all you english-programming language lovers

sand goblet
#

it's 1-indexed, yes

shell raptor
#

FLATTEN MONAD IN users WHERE LEFT ASSOCIATIVE JOIN EXISTS ON NULL

rough sapphire
#

i know starting with 1 is not an english thing

#

but still

scenic blaze
#

Then why did you say it

plucky ridge
#

@shell raptor I mean in fairness I've gotten emails like that

sand goblet
#

I can't believe we have to have a separate concat operator in a modern language

#

string + string? Nay, string .. string

sonic river
#

can you develop on how lua may be closer to "english" than python

rough sapphire
#

lua is not really modern i think

graceful basin
#

I mean, + for strings is bad if you have weak typing

topaz aurora
#

@shell raptor English-based parser combinators ๐Ÿ‘€

shell raptor
#

@sand goblet Tell me how to concatenate strings in Julia ๐Ÿ˜„

sand goblet
#

if you have implicit casting, yeah

rough sapphire
#

lua has tons of cons but it was easy enough for me to make a simple game using LOVE2D

scenic blaze
#

Julia is a programming language?

plucky ridge
#

@sand goblet I think there are others that do something like ++ instead of +

sonic river
#

yes chess

plucky ridge
#

But I can't remember off the top of my head

sonic river
#

haskell

plucky ridge
#

Ahhh okay

sand goblet
#

Julia is string(x, y)

scenic blaze
#

Okay, I've mentioned this a billion times, but I wish Python had ++ and --

rough sapphire
#

^

plucky ridge
#

Ehhhhh

scenic blaze
#

Tired of typing out += 1 -=1

plucky ridge
#

I'm not really hurt about it

rough sapphire
#

like yall said, different languages have different purposes

sand goblet
#

I'd rather not have ++ or --

shell raptor
#

In Julia, "abc" * "def" == "abcdef" and "abc" ^ 2 == "abcabc" because of some bullshit explanation about how it forms a monoid.

topaz aurora
#

<> is also a synonym for String concat

plucky ridge
#

It's like... 3 extra key strokes?

graceful basin
#

<> in haskell (there is no common typeclass for String and Num), ~ in raku (otherwise you get weak typing mess), . in PHP, ditto

sand goblet
#

I actively avoid it in languages that have it

undone berry
#

Sql is lovely to write

scenic blaze
#

It comes up a lot in algorithmic work

#

EVERY KEYSTROKE IS SACRED /s

plucky ridge
#

But yeah, different flavors per language.

scenic blaze
#

(I say as I fuck off on discord)

rough sapphire
#

now we moved on from python to different programming languages, great

sonic river
#

it's because haskell bois thought it would be a good idea to make strings linked lists

sand goblet
#

and I think kotlin doesn't use it either, although I could be wrong

sonic river
#

now they're regretting it

#

and everyone uses Text

plucky ridge
#

This is how our brains work, Zalt

scenic blaze
#

strings as linked lists O_O

topaz aurora
#

or ByteString

plucky ridge
#

Or don't work, I guess

shell raptor
#

@sonic river There are actually many different types for strings, and I'm lost :)

graceful basin
#

ye, <> should still work cause Semigroup

sonic river
#

String is defined as [Char] @scenic blaze

#

cause monoid

scenic blaze
#

How do y'all feel about chars as ints?

shell raptor
#

In traditional object-oriented programming languages const would require proving that a method is not mutating anything.
The only way to do that is to mark mutation in the type system (like in Haskell/Idris)

rough sapphire
#

at the end of the day, you guys will always prefer python over java and js, and i will prefer js and java over python

#

i dont prefer python over anything I apply the best tool for the situation

scenic blaze
#

^

rough sapphire
#

i started with js and so i like c-like syntax

topaz aurora
#

That's a generalized assumption mate

sonic river
#

I linked it before but

scenic blaze
#

If you like java so much why not code in C?

sonic river
#

We're all prone to it

sand goblet
#

kotlin and python are my top two but I do a lot of java

scenic blaze
#

Or ASM

rough sapphire
#

c is low level

plucky ridge
#

@rough sapphire I wouldn't say always. I have been dabbling in some JS based languages or at least ones that compile down to it (Elm and ReasonML are the ones I'm referring to)

sand goblet
#

different tools for different things

graceful basin
#

I started with pascal, C and java and I still like python

rough sapphire
#

like really low level

plucky ridge
#

Again, it's right tool for the right job

rough sapphire
#

I started with C, python is still my favorite

#

java isnt that low level

sand goblet
#

although I wouldn't use java if I could slot kotlin into the stack

scenic blaze
#

I mean, you are saying that you hate high level stuff

graceful basin
#

C is pretty high level

scenic blaze
#

So why not go as low as you can go

#

ASM all the way

plucky ridge
#

@scenic blaze Soldering transistors into place?

rough sapphire
#

C is pretty high level
@graceful basin not sure if i agree but ok

topaz aurora
#

C is pretty high level
Relative to ASM

sonic river
#

the low/high level discussion is soooooo silly

graceful basin
#

yes

plucky ridge
#

It is