#development

1 messages ยท Page 24 of 1

whole quail
#

For something they see as not important

obtuse stump
#

Security experts are not on board as well as far as I know.

whole quail
#

Because they aren't researching and exploiting vulnerabilities all the time

#

security experts barely agree lol

#

And who even qualifies for that

obtuse stump
#

I consider people like Bruce Schneier an expert.

whole quail
#

If we go off that

#

I almost qualify

obtuse stump
whole quail
#

@dapper laurel yeah

#

Those are all the people who don't actively work hands on with this stuff

obtuse stump
#

Handling and storing password should IMO be as few steps and as simple as possible. Each step introduces new potential for bugs.

whole quail
#

@dapper laurel I'm not atm but I have done in the past many times but do sec research mostly atm

obtuse stump
#

send to back end over https, put server seed + user seed + password and hash, store.

#

I would not overcomplicate things.

whole quail
#

That's literally the developer mentality approach

obtuse stump
#

Have you considered that it might be a correct approach?

#

๐Ÿ˜ƒ

whole quail
#

It's not the secure approach

#

You can't be completely secure but when there are steps to remove insecurities you should take them

obtuse stump
#

Here we have to agree to disagree I guess.

whole quail
#

Unless they're going to cause large issues you definitely should take them

#

Simpler algorithms yeah, but hashing is something that is well documented and previously done

obtuse stump
#

It's the same when some people think they are smart and create a new encryption algorithm because oldones "are not secure enough" only to find out that their solution is easily broken in a way they did not foresee.

whole quail
#

But how could this break security???

#

At worst you use a terrible hash and yet it's still more secure that it was before

obtuse stump
#

Well, for example. Everyone starts to hash on client side. Someone makes a npm package to handle this. Everyone includes that npm package because it is easier. Now someone writes chrome extension that steals passwords before hashing because everyone uses the same package.

#

One scenario where it would be bad for security.

whole quail
#

Who would you rather be when there's another cloudflare bug that exposes user data? The people who can tell their users that their passwords are mostly fine or the people who have to say they aren't safe

#

@obtuse stump that's just stupid developers

obtuse stump
#

Maybe. But the end result is the same.

whole quail
#

But what stops someone making a chrome extension to steal passwords anyway

#

Literally search for inputs with a keyword pass or password somewhere in there

#

You can do heaps of different things

proper gale
#

literally nothing, its called a keylogger.

obtuse stump
#

It was just a scenario that I came up from the top of my head. The main reason noone (almost) hashes passwords on the front end is that there is little to no benefit.

whole quail
#

Except there is a benifit

#

You stop a whole range of exploits

#

From stealing user data

obtuse stump
#

Would be interesting to know if google for example hashes on the frontside.

whole quail
#

For certain things they do, for certain things they don't

proper gale
#

granted you are doing a SSL connection, does it matter?

obtuse stump
#

Imo it does not.

whole quail
#

It's a layer of security to prevent users passwords being leaked by many different vulnerabilities

proper gale
#

imo or Lmo?

obtuse stump
#

imo ๐Ÿ˜ƒ

whole quail
#

By preventing the users password from never leaving their client you can prevent it being leaked due to vulnerabilities on your end

#

Which there are a lot of

proper gale
#

but you have better control over the code server side.

whole quail
#

You can encrypt the hashes serverside

#

Which you should do with passwords

proper gale
#

personally, i would use a special rotating double hash method.

obtuse stump
#

Google does not hash before sending password over https. Looked it up.

whole quail
#

It does for certain things, doesn't for others

proper gale
#

where the password is at its most vunerable when you set it.

obtuse stump
#

It does not hash google account password on login.

whole quail
#

It's not one thing for everything

#

There's a bunch of different things both google and facebook do

#

Which I know because I've tracked

obtuse stump
#

I am talking about Google account password atm.

#

Not anything else.

#

This is what we were talking about, account passwords, yes? ๐Ÿ˜ƒ

whole quail
#

...

#

btw I'm really surprised that battlefront 2 hasn't got a cheater problem yet

obtuse stump
#

Facebook does not hash password on login page as well.

whole quail
#

They literally have no clientside anti cheat

proper gale
#

thats beacuse EA pulled bullshit with DLC

whole quail
#

I mean you can literally write to the games values

#

Nothing is protected

#

You can inject whatever

#

No sig detection

#

They have a tiny bit of anti debug and that's it

proper gale
#

thats almost a good thing

#

if their server-size anticheat works good enough, then modders (they dont hack anything) are unsure of what the code is doing.

whole quail
#

I say cheaters is better

#

They are just cheating

#

They don't mod or hack

proper gale
#

not the people using it, the people modifying the game.

#

they are modding it.

whole quail
#

Depends on what they're doing

#

There's a lot of re involved

#

Sometimes a lot of patching

proper gale
#

there is a lot of C++ (usually) involved.

#

C++ is a dick

whole quail
#

Depends who

proper gale
#

the people know what they are doing, just not what the srver is doing.

whole quail
#

The people reversing the game or the people who just copy sigs and offsets and make cheats like that

#

For games like csgo you literally don't need to do any reversing

#

Everything is just online

#

And you read memory and react to it how you want

#

Or very rarely write memory

#

Unless you are trying to bypass ESEA

#

That gets a bit more complicated but still straightforward

#

@proper gale the chams have already been reversed as well (not gonna link here tho) and most of the games structures have

proper gale
#

client or server?

whole quail
#

Client

proper gale
#

doesnt matter

whole quail
#

?

#

You get wallhacks

proper gale
#

what the client does, does not matter.

whole quail
#

By writting chams

proper gale
#

if the server can properly ban for cheating, then all is well.

whole quail
#

But it can't detect wallhacks

#

It only detects rage hacking

#

It doesn't detect aimbots or wallhacks or a bunch of other stuff

small escarp
#

@whole quail on the password client hash, note that the only thing you are protecting with clientside is the cleartext. Even if you hash in the client, if an adversary can get access to client (xss, etc.), they get the hash, which is enough to prove to the server you are the impersonated person, so you still get full access. The only way to really protect from that would be to include an interactive proof system, i.e. you would need to reimplement TLS all over again in javascript.

jolly pelican
#

What kind of development belongs here?

small escarp
#
  1. if someone has access to client, they can probably access raw input values anyway
#

all the development

jolly pelican
#

development is pretty broad, but I only see programming

#

ah okay

small escarp
#

I guess, real state development is not appropriate

#

(software dev)

jolly pelican
#

just wondering because I do some game-dev type stuff involving 3D work as well as programming

loud portal
#

@jolly pelican what gaem eng?

jolly pelican
#

no game engine

#

...that part's not my job

loud portal
#

LOL... you said game-dev type stuff just thought... LOL

whole quail
#

@small escarp again, not even talking about that. Talking about leaking passwords through memory which is becoming very common.

obtuse stump
#

"Very common" is a gross overstatement. I stand by my argument that if it is a real problem, Google, Facebook etc would also hash passwords before sending them over HTTPS POST. But they do not, so likely this is not a common problem at all.

whole quail
#

I mean it's far less of a problem for Facebook and Google or anyone who runs custom everything including hardware configurations

gritty rain
#

You two, what is your experince in the info sec sector?

obtuse stump
#

Specifically infosec - some courses and trainings, day-to-day I work as a software engineer.

static latch
#

Hashing on the client wouldn't help though... if someone could somehow obtain the password hash by exploiting a vulnerability that leaked memory (which can happen in specific vulnerabilities, I wouldn't call exploitation of that in the wild "very common") they could still obtain access to the account by sending that hash they've obtained rather than the password itself... it doesn't really change anything

nocturne galleon
#

@bright olive <insert developy talk here>

whole quail
#

@static latch about access to the password not access to the account

small escarp
#

@whole quail if memory leaks is what worries, that's even worse. You need the cleartext password in memory forever for UI reasons. The moment you lose it, the user can't edit the password anymore (e.g. use backspace). After sending the password to the server, it is never used again because you get the random hash session cookie. No website ever holds the password in memory longer than the login page.

whole quail
#

@small escarp that's assuming the server writes over the old memory

small escarp
#

??.... we are talking about the client

whole quail
#

No server

static latch
#

it's about either in the example being proposed. the password protects to the account... if an attacker can compromise an account why would they care whether they know they password the user originally set or not? the point is to figure out what to tell the server to let you access the account... normally thats the password, but if that's some hash derived from the password then you just compromise that. Hashing the password client-side before sending does not protect you from an eavesdrop-and-replay attack,

Essentially, it's a lot of work for zero gain. And I'd argue there's a case for the fact that it might lead people to a false sense of security, with site developers perhaps being less careful with this sensitive information since it seems more secure but is in fact no better than a normal password - in fact you must secure it just as you would a plaintext password. But now you've also added the complexity of hashing on the client, which would mean storing a separate client_salt on the server so the user can access your service from multiple browsers and sending them that salt so they can do their client-side hash... this is a lot of work for something that won't help you because whatever the client generates is now the password.

Long story short, rule #1 of crypto is don't roll your own crypto. Research industry best practices and do that.

keen nymph
#

The about page says forbidden for some reason....

carmine relic
#

seems like your htaccess is blocking about.html?

keen nymph
#

English? I'm kinda new to web development

carmine relic
#

Apache reads a special file named .htaccess when it reads a file in the same directory; this file specifies certain settings for the page, such as whether to allow requests outright, to require passwords, and to set error handling documents (e.g. redirect 404s to a /404.html page)

#

It looks like you may have a htaccess which denies access to about.html

dawn geyser
#

indeed, .htaccess or file permissions would be my starting points to look at.

keen nymph
#

Fixed it. Its a free service I use for webhosting that filters out common phrases found when their sevices are abused, so the link to my steam profile was detected and they restricted access to it.

whole quail
#

@static latch I mean you literally just ignored my point completely

#

Like most people here

carmine relic
#

huh?

obtuse stump
#

@whole quail , I just disagree with your point ๐Ÿ˜ƒ

proper saddle
coral flame
#

What is your guy's opinion of kotlin?

daring anchor
#

its still java like

#

but at least its a bit bettr

bright olive
#

what language sohuld jake start with

daring anchor
#

golang

#

10/10

zealous tangle
#

the lead backend dev decided to leave for a self driving car company. I don't have much confidence for the rest of the team. T_T

bright olive
#

ripperoni

daring anchor
#

rip

zealous tangle
#

So, my coworker calls golang a blub language. nothing really exciting about writing in it. very straightforward and wordy, and easy to collaborate on.

daring anchor
#

but golang is easy to learn, fast, fast compile times etc

zealous tangle
#

exactly.

bright olive
#

similar to python?

#

no

#

similar to c

daring anchor
#

nononononoonooooo

#

C

zealous tangle
#

nonono

daring anchor
#

not python

#

please

zealous tangle
#

I wouldn't even call it similar to C

#

it's garbage collected.

bright olive
#

golang is for writing software

#

or

daring anchor
#

backand servers

bright olive
#

ah

#

not really useful for me at this point

daring anchor
#

but can do lots of things

zealous tangle
#

man golang is incredibly versatile.

daring anchor
#

just not a lot of GUI librarys yet

coral flame
#

Start with Fortran linusKappa

daring anchor
#

start with assambly

bright olive
#

i think i wanna learn node

zealous tangle
#

twitch's entire metrics pipeline ingestion is written across 4-5 go services. atleast as of a year and a half ago.

daring anchor
#

netflix uses go

coral flame
#

What's your objective?

daring anchor
#

dropbox etc

zealous tangle
#

discord is written in elixr/erlang which is neat.

daring anchor
#

idk those

#

those new hipster languages?

zealous tangle
#

one of those pure functional lanugages. elixr is the web framework for erlang.

coral flame
#

Arnold c :)

zealous tangle
#

like how rails is the MVC framework for ruby.

daring anchor
#

I never used any functional languages, I think

#

id like to learn one tho

zealous tangle
#

haskell, erlang, etc. once you understand it, your mind undergoes a fundamental paradigm shift.

#

esp out of OOP

daring anchor
#

but if @bright olive wants to learn to code, honestly idk

#

esp?

zealous tangle
#

especially*

daring anchor
#

I dont like OOP

#

its to complex for no improvement

bright olive
#

erlang

#

maybe ill do that

#

LOL

zealous tangle
#

I'll be honest. if you want to lean how to code, start with python. it's simple. syntactic pseudo code. lots of bumpers. then try java and get used to it's wordyness. then golang for it's multi-threaded primitives like goroutines and channels. and then C++ if you want to go native, tc.

daring anchor
#

dont try java

proper saddle
#

C# Master Race! ๐Ÿ˜ƒ

daring anchor
#

its way to complecated

bright olive
#

i have some experience with java

#

its kind of gross

daring anchor
#

idd

#

and after you're dont with python forget about it.

#

just know how to write in it and never use it again

#

C is chalanging to write a programm in, so use that if you're in for one

obtuse stump
#

"ts still java like
but at least its a bit bettr"
I reject this notion that Java is some evil bad language -.-

coral flame
#

Kotlin or Scala is better than Java

daring anchor
#

I think kitlin is cool, its just to much like java

coral flame
#

Java is trying to become functional

obtuse stump
#

It has added functional elements, yeah.

daring anchor
#

but it actually sucks pretty damn hard at everything

obtuse stump
#

Hard to argue against that logic.

daring anchor
#

ey man, I wrote code in C jamesLaser

#

logic is all I know

obtuse stump
#

I dislike blanket statements, is all.

coral flame
#

Code in Skala: fork of Dotty but in German

proper saddle
#

I'm too awful to not use anything that's lower level that C# and JS. >:[

daring anchor
#

you cant go much higher then JS

#

maybe java of scratch

proper saddle
#

Pseudo code? ๐Ÿ˜›

daring anchor
#

your thoughts

obtuse stump
#

If you want to go functional, go all the way, why stop at scala ๐Ÿ˜›

zealous tangle
#

most good java folks self select into scala or kotlin. but it takes time to understand the magic of the JVM in java before you can appreciate languages like scala and kotlin IMO

whole quail
#

@bright olive if you are learning and want to be able to use the tool you've learnt for a bunch of different stuff just learn python

proper saddle
daring anchor
#

yep

whole quail
#

It's easy to learn, let's you do a lot and will let you experiment with a lot of different ideas in programming

#

When you first start learning don't worry about what you are using the language for (to a certain extent)

daring anchor
#

but its hard to unlearn

#

python fanboys are worse then apple

whole quail
#

Python fanboys aren't that bad

zealous tangle
#

meh. if you learn with the intention of understanding good programming style and structure, along with datastructures and algorithms, you tend to pick up languages pretty fast.

obtuse stump
#

I hate that whitespace matters, just hate it.

whole quail
#

Same

daring anchor
#

also true

zealous tangle
#

then you spend time learning the intricacies and gotchas of a language. I feel comfortable writing production code in a language I've never seen before in about a month

obtuse stump
#

I dont know, I still do not feel comfortable with JS ๐Ÿ˜„

carmine relic
#

oooh, are we telling people what language to learn?

whole quail
#

It's been a long time since I first started learning to program so I've forgotten a lot of what I did

obtuse stump
#

rest of the languages are okay ๐Ÿ˜›

proper saddle
#

Not only does whitespace matter, but you also can't mix indenting or the inturpreter will yell at you.

carmine relic
#

C# is the best language :^)

whole quail
#

C# was my second/third language depending on whether you count BASIC

carmine relic
#

I heard somebody mention Erlang earlier, and while Erlang is cool, you probably want to learn Elixir instead

daring anchor
#

๐Ÿ˜

#

๐Ÿ˜

#

C#

carmine relic
#

Elixir runs on the same VM as Erlang, but is more like a classical programming language

#

So it's easier to learn

daring anchor
#

learn C

#

it has nothing to much

whole quail
#

Don't learn C

coral flame
#

10 print "learn python"
20 goto 10

daring anchor
#

and no strings

obtuse stump
#

Only learn C if you need it.

#

๐Ÿ˜ƒ

carmine relic
#

C is always fun, but it's becoming less and less useful as time goes on

daring anchor
#

yeah

whole quail
#

You need to learn too mcuh comp science and you don't get much out of it

obtuse stump
#

if you need to program atmega32, then you C

daring anchor
#

but if you want to learn how to code its a nice language for a chalange

carmine relic
#

I would suggest C++ but I'm sure some people would cry if I suggested it ๐Ÿ˜›

obtuse stump
#

its horrible as first language

proper saddle
#

C++ seems too daunting. ๐Ÿ˜

daring anchor
#

dont C++

carmine relic
#

It really isn't

daring anchor
#

c>C++

whole quail
#

@carmine relic if the person has a comp science background and good idea about structure it's actually a good start

proper saddle
#

Wait, nobody has suggested ASM yet! linusKappa

coral flame
#

matlab ๐Ÿ˜›

carmine relic
#

The only reason C++ seems daunting is because there's a lot of bad advice out there

daring anchor
#

I have actually

carmine relic
#

And a lot of outdated stuff

whole quail
#

And the standard libraries for C++ SUCK SO BAD

proper saddle
#

I didn't see that. ๐Ÿ‘€

zealous tangle
#

yes matlab. lets start indexing at 1 like savages.

carmine relic
#

Nah, the C++ stdlib is actually really good

daring anchor
#

its like 10 pages up

whole quail
#

That's the one thing I hate with Lua

#

Stupid 1 index

daring anchor
#

go has a better one

proper saddle
#

Lua also indexes at 1.

carmine relic
#

You have to use a modern C++ standard though, like C++14

daring anchor
#

go learn brainfuck

obtuse stump
#

So many people will get stuck with pointers and not learn programming. Sure its important to understand pointers eventually, just not immediately.

carmine relic
#

Lua? That's a great language to learn for a beginner, too.

whole quail
#

@carmine relic it's actually really slow and a giant mess xd

obtuse stump
#

pointers and pointers of pointers of pointers

whole quail
#

I learnt Lua accidentally when I was 10

daring anchor
#

pointers are great

#

whats wrong with pointers

obtuse stump
#

People dont understand them

#

and quit

whole quail
#

If you have trouble understanding pointers you either learnt wrong or can't program

carmine relic
#

@whole quail The C++ stdlib is actually really fast. The only reason people think it's slow is because they're using it wrong.

daring anchor
#

haha

carmine relic
#

Which again, bad documentation and examples

daring anchor
#

but go is faster

#

I think

whole quail
#

@carmine relic it's really slow compared to custom solutions

carmine relic
#

That's because Go is designed to be extremely concurrent ๐Ÿ˜›

daring anchor
#

hmmmmmm

carmine relic
#

@whole quail It really isn't ๐Ÿ˜›

proper saddle
#

What about Visual C++? ๐Ÿค”

daring anchor
#

what about C--++--=+# visual

carmine relic
#

I promise you an unordered_map that I write will be a lot slower than std::unordered_map

obtuse stump
#

VBA is the best, no question.

zealous tangle
#

welll the advantage is that go provides pretty much failsafe concurrency primitives fi you know how to set up things like thread/go-routine pools and know how to set up your channels appropriately for safe shutdown.

carmine relic
#

@proper saddle Visual C++ is absolutely horrible

whole quail
#

@carmine relic I know someone who using their own standard library only, everything he does is at least 3-15x faster than the standard alternative

proper saddle
#

xd

carmine relic
#

It's like a mish-mash of C++98, C++11 and C++14 with no real idea of where it is

daring anchor
#

and why do C and C++ have diferent styles and stuff

#

like c99 vs c14

whole quail
#

They are completely different languages

proper saddle
#

@carmine relic Is there a good resource for C++ that isn't a book, because r/learnprogramming is like "books are the only good resource."

carmine relic
#

@whole quail If that's the case then they probably know what they're doing. But for most cases, the C++ stdlib is fast enough

whole quail
#

@carmine relic agree, it's fast enough for most people but it's slugish compared to what it could be

daring anchor
#

and use logics

whole quail
#

Don't learn C++ from a book

#

Not anymore

#

5 years ago that'd be the right way to go

coral flame
#

the internet is a pretty good resource for leaning languages

carmine relic
#

@proper saddle cppreference is one of the best places to look for C++ documentation, and I suggest the C++ core guidelines for learning the general "gold standard" for writing fast maintainable C++ code

zealous tangle
#

you guys want to start a real war. lets go. What's your favorite DB technology and why.

obtuse stump
#

oracle because expensive = better, right?

whole quail
#

Also once you've learnt something, don't stick to guidelines just because

proper saddle
whole quail
#

As long as you document your code well enough people should be able to read it

zealous tangle
#

@obtuse stump. I'm drowning in your sarcasm.,

#

also having family that works in oracle. I absolutely agree.

carmine relic
#

Personally, I just use Entity Framework in .NET and stick whatever backend is necessary for the thing I'm working on

proper saddle
#

I use SQL Server because it's easier for me. ๐Ÿ˜›

obtuse stump
#

I have to use oracle and some of the decisions are just mind puzzling.

proper saddle
#

And I use it with EF core

carmine relic
#

e.g. if I need simple relational data storage, I'll use sqlite. If I need something more advanced, I'd likely jump to postgres first

zealous tangle
#

honestly. you can solve most problems with postgres.

coral flame
#

keep in mind the more things you pay for the more points of failure you have

obtuse stump
#

postgres or mariadb are my go-tos for personal projects.

daring anchor
#

im terrible at databases

carmine relic
#

@coral flame the more things you have the more points of failure you have, really

whole quail
#

Personally I use mysql and mongodb then have custom endpoints with all the information in memory while also taking backups

carmine relic
#

paying for it just makes it a larger point

coral flame
#

true

carmine relic
#

more like a circle rather than a point

coral flame
#

keeping it centralized makes it more reliable

obtuse stump
#

not a circle, a hole you fall into ๐Ÿ˜›

carmine relic
#

lmao

whole quail
#

It also keeps 1 point of failure

carmine relic
#

holes can be circles too

whole quail
#

Which is less reliable

coral flame
#

not in some cases

daring anchor
#

holes are negative circles with some depth

obtuse stump
#

I want to have few points of failure so I program everything as db routines

whole quail
#

I mean, are we talking about small projects here or industrial size

obtuse stump
#

so I only have db as backend

whole quail
#

Cause small projects who gives a fuck

daring anchor
#

idd

whole quail
#

use mysql if you want

carmine relic
#

I generally write my solutions to be as scalable as possible. I kind-of inherited it from ASP.NET

obtuse stump
#

I also overengineer my pet projects ๐Ÿ˜›

daring anchor
#

true

carmine relic
#

I have a stupidly over-engineered Discord bot running right now, actually

daring anchor
#

I have a friend that writes 100 lines of code for somethign that could be done in 5

carmine relic
#

its name is Monika, and it's a chat bot

obtuse stump
#

I was ready for "Its name is FiniteReality, and its a chat bot"

carmine relic
#

lmao

#

that would have been funny

coral flame
#

if you think about it

carmine relic
whole quail
#

Unpopular about to get me linched opinion: PHP (modern) is actually quite nice for small projects with a single developer

carmine relic
#

oh i forgot to de-embed that

#

oh well

coral flame
#

java is over-engineered machine code

daring anchor
#

java is bad and slow, and impossible to write in

obtuse stump
#

java is easy to write in, what are you talking about ๐Ÿ˜›

carmine relic
#

Monika is written in C#, with a Lua component because writing a libgd wrapper would have been a pain in the arse

coral flame
#

try doing anything functional

#

you'll kill yourself writing in java

whole quail
#

^

carmine relic
#

Oh, functional programming is fun

coral flame
#

curry all the functions!

obtuse stump
#

It's like saying Ferrari is shit because it cannot drive offroad.

coral flame
#

and make them anonymous

carmine relic
#

I'm learning Haskell because it's part of my A-Level course

#

I've actually wanted to learn it for a while but I've only just gotten around to it because it's on my A-Level spec ๐Ÿ˜›

obtuse stump
#

I have tried haskell for 30 minutes, and then I forgot it. Should try it again.

whole quail
#

I don't have much use learning new languages now

#

Since I mostly use C++ for the types of things I do

obtuse stump
#

I have no use in learning new languages

#

but I still do

proper saddle
#

Functional JS. linusKappa

carmine relic
#

I've learned so many languages that I can pretty much just pick up languages as I go

daring anchor
#

usefull JS. linusKappa

whole quail
#

The last language I learnt was Hack and I can't remember much since I never got to use it LOL

obtuse stump
#

unicorn

whole quail
#

@carmine relic same

obtuse stump
#

I have a small project I write in every new language I try.

whole quail
#

I can't even remember what languages I can use

#

I also have grown fond of C++ after using it so much

obtuse stump
#

It's a log processor for quite large files. Rust has been the fastest so far. Javascript not so much ๐Ÿ˜„

carmine relic
#

I can list a bunch of languages I can write, but it's definitely not exhaustive

obtuse stump
#

Gitlab vs Github vs Bitbucket, which do you prefer and why?

whole quail
#

C, C++, PHP, Lua, Javascript, C#, Python are the only ones I can think of right now

obtuse stump
#

I have used bitbucket for quite some time because of unlimited private repos, some projects in github.

proper saddle
#

C#, JavaScript and Python.

obtuse stump
#

Never used gitlab so far.

whole quail
#

Unless we count languages we don't completely know

#

Then the list gets massive

daring anchor
#

ikr

whole quail
#

gitlab is annoying sometimes

coral flame
#

I use github, I get unlimited private repos from education discount

whole quail
#

But gitlab when it works, works amazingly

proper saddle
#

I don't completely know JS, but I know enough to do some algoithms in it. :v

whole quail
#

I use it for a gta v mp mod project I'm with

carmine relic
#

Personally, I love GitLab.

coral flame
#

meanwhile the people on the hardware side here use svn and redmine

daring anchor
#

I know a lot of languages, as in i know how to do algorithms in them

whole quail
#

@carmine relic you forgot the "when it's not down" clause

carmine relic
#

it's always been up when I needed it @whole quail ยฏ_(ใƒ„)_/ยฏ

obtuse stump
#

I have never used any other versioning system besides git (zip backups is not versioning, right? ๐Ÿ˜„ )

whole quail
#

It's been going down for me so often

carmine relic
#

I must be lucky then ยฏ_(ใƒ„)_/ยฏ

whole quail
#

zip backups is the best versioning!

coral flame
#

svn is actually terrible

#

at least the way I was forced to use it

molten kindle
#

.1, .2, .3 pls

carmine relic
#

either way, I used to host a local GitLab instance but my server's SATA controller died (at least I think) so I haven't really used it in a while

obtuse stump
#

git can also be messy if you do not know 100% what you are doing.

carmine relic
#

ah yes

obtuse stump
#

that good old xkcd

carmine relic
#

git can definitely be messy if you don't know what you're doing

obtuse stump
#
bright olive
#

so im gonna learn elixir

#

yolo

carmine relic
#

If you're familiar with Discord.Net, I'd like you to try out version 1.0.0 (specifically that version) - You will find that it is completely and utterly broken. And that was mostly my fault ๐Ÿ‘€

whole quail
#

Has anyone used rich presence here yet?

daring anchor
#

thats some damn good advertising

carmine relic
#

Like, I fucked up with git so much for the 1.0.0 release that we named it the #blamefinite release

whole quail
#

It's so easy to implement

carmine relic
#

rich presence is really easy to use, yeah

molten kindle
#

there were serious BC breaks between RC1, and stable for D.net

#

super annoying

carmine relic
#

@molten kindle I bet most of those breaking changes were my fault ๐Ÿ‘€

molten kindle
#

the dependency map

#

changed

#

entirely

#

idk who did that

carmine relic
#

that was a collaboration between foxbot and myself

molten kindle
#

but i can't update my bot to stable now

#

too much work

#

lol

carmine relic
#

lmao

#

that's why I abandoned Modatron

#

Modatron ran beta1-00420

molten kindle
#

i THINK LFGBot was up to the first RC

#

i think.

#

and bunehammer

carmine relic
#

anyway, as for rich presence, I have a rich presence app on my computer which sets a presence "Staring at Monika" with a few pictures. It's not running since I'm on my laptop

molten kindle
#

if you've seen that one

carmine relic
#

bunehammer? Nope.

obtuse stump
#

If it wasnt 11:55pm, I would start programming something, kinda hyped up after this discussion ๐Ÿ˜›

#

but instead I go to sleep, cya \o

carmine relic
#

Haha, it's 21:55 here. (11PM for the inferior people who use 12hr time ๐Ÿ‘€)

obtuse stump
#

I wrote 12h so everyone understands ๐Ÿ˜›

#

used to doing it in international chats for some reason

carmine relic
#

I mean, 23:55 is pretty much impossible to get wrong

#

it's obviously not 12hr

obtuse stump
#

Unless you get it wrong.

carmine relic
#

and the only other standard is 24hr

obtuse stump
#

There is base-10 as well ๐Ÿ˜›

carmine relic
#

10base?

daring anchor
#

binary??

carmine relic
#

decimal time?

daring anchor
#

hexadecimal?
\

carmine relic
#

jesus christ people still use decimal time?

obtuse stump
#

Decimal time is the representation of the time of day using units which are decimally related. This term is often used specifically to refer to French Revolutionary Time, used in France for a few years beginning in 1792 during the French Revoluti...

carmine relic
#

i thought that died in the french revolution

coral flame
#

who needs 24 hour time when we could define everything in picoseconds after 1/1/2000

whole quail
zealous tangle
#

the real magic is always being aware of UTC time wrt your own time zone and being able to convert to it and back instantaneously. you can tell how often I've had to debug/parse logs.

carmine relic
#

@whole quail is that the C++ stuff?

daring anchor
#

yeh

carmine relic
#

@zealous tangle oh yeah, that's pretty magic

whole quail
#

@carmine relic that's rich presence

daring anchor
#

wathever

obtuse stump
#

For me it is quite easy, UTC is -2/-3, so not that hard to calc ๐Ÿ˜›

#

in US it is somewhat more tricky

daring anchor
#

UK = -1 rest of eu = +2

carmine relic
#

though I'm right in UTC so it's not hard to figure out ๐Ÿ˜

zealous tangle
#

for me, -7/-8 so it can be kind of interesting.

carmine relic
#

huh no

daring anchor
#

rest of the world = idc

carmine relic
#

UK is UTC

coral flame
#

uses google

whole quail
carmine relic
#

except in BST when it's UTC+1

#

@whole quail match secret is just a secret used for joining game servers

whole quail
#

"TODO" is like my most used comment

carmine relic
#

it means nothing

#

it could be "a" for all discord cared

whole quail
#

I still have no idea how the joining works

carmine relic
#

as long as your game client can figure out which server to join based on it, its fine

whole quail
#

I had to do something else before I worked it out

zealous tangle
#

TODO: remove this nasty hack to get this working again

coral flame
#

Actually though

whole quail
#

oh boy do I have a comment that will make people mad

carmine relic
#

RP::Ready is just a callback to let you know that the IPC connection is ready

whole quail
carmine relic
#

@whole quail Nah, I do that all the time in cpp files when I know it's safe to do so

#

it's not that bad

whole quail
#

@carmine relic pm me how join works when you have time

coral flame
#

At least you have comments it is so hard to get my team to comment anything

whole quail
#

I don't completely understand it

obtuse stump
#

We have almost no comments at all. Code should be self-documenting.

#

sensible names for functions etc

whole quail
#

@carmine relic also it's pretty bad xd

zealous tangle
#

I reviewed a junior engineer's django code once. he accidentally overwrote a primitive with a value, because you can do that in python. Lets just say I added two new linters to our CI/CD pipeline after that.

coral flame
#

Well sometimes some things can't document themselves

whole quail
#

You shouldn't do it on anything important or anything large

carmine relic
#

@whole quail I forget how the flow works entirely, but IIRC you get a join request with the secrets and stuff and you're supposed to use that to connect

whole quail
#

I don't get where the connecting happens and what gets sent where

carmine relic
#

ยฏ_(ใƒ„)_/ยฏ

whole quail
#

It's literally undocumented

carmine relic
#

I haven't looked that much into it

#

i wonder where mason put the dev documentation for discord-rpc ๐Ÿ˜›

#

anyway

zealous tangle
#

but in the real world, when your CEO is breathing down your neck to get this feature built because it's going to "change everything" so you end up writing it pretty messily. hence why I still write docstrings and whatnot.

carmine relic
#

how did i manage to hit enter there

#

dumb laptop keyboard

whole quail
#

LOL

#

I mean, if that was me I'd probably fix that up

carmine relic
#

meh, std::chrono::duration_cast<std::chrono::milliseconds> is long

#

i could probably use a namespace alias instead but oh well ยฏ_(ใƒ„)_/ยฏ

vestal glen
#

auto

whole quail
#

Put using chrono in SourceLua or put your code in a namespace and put anything you need there

carmine relic
#

auto doesn't solve the duration cast issue

whole quail
#

namespaces are the dirtiest clean thing

carmine relic
#

it's in an implementation file, and it's in a namespace anyway so yea, it's not that bad

whole quail
#

I mean, it's worse than what I did it in

carmine relic
#

i definitely never put 'using namespace' in a header file

whole quail
#

I did it in a 543 line csgo cheat

carmine relic
#

that's my golden rule about 'using namespace': never in header files

#

my favourite bit about that C++ file though, is line 55 ๐Ÿ˜›

whole quail
#

Why do people have to abuse ReClass so much

carmine relic
#

I decide to spawn a new thread to join another thread ๐Ÿ‘

#

ReClass?

whole quail
carmine relic
#

...huh

#

I didn't know anything like that existed

whole quail
#

oh that's a basic tool

#

There's better stuff out there

carmine relic
#

I always made the structs myself

#

I have like a thousand C# structs for when I was writing a WoW server in my free time ๐Ÿ˜›

#

You can probably guess why I lost motivation in the project lmao

#

Oh, that and implementing SRP6 was a nightmare

whole quail
#

For the mp mod I work on, GTA V has been reversed so much that there isn't that much needed

carmine relic
#

like, if there's one thing I recommend you never do, ever, it's implement World of Warcraft SRP6

whole quail
#

I played wow for like 3 days

#

Then stopped

#

Forever

carmine relic
#

jesus christ I spent so many weeks of hair pulling on trying to get that stuff to work

whole quail
#

ReClass is so messyyyyyy

carmine relic
#

i never figured out what the problem was, because I even translated line by line the implementation of CMaNGOS' SRP6 and it refused to work

static latch
#

a coworker and i spent today trying to de-tangle some code... we hit header files last modified in the 90s...

daring anchor
#

90 istn legacy code right? linusKappa at least not in my definition linusKappa

swift niche
#

I mean, C++ 98 looks quite a lot different than C++ 11

#

Can't really argue for other languages lol

obtuse stump
#

@daring anchor , it's not legacy until you hit 198x and Cobol.

proper saddle
#

Doesn't financial stuffs still use Cobal?

obtuse stump
#

Not only financial stuff. Quite a lot of systems that were built pre 1990s use Cobol.

#

It's just that financial systems are more likely to have been started in 1980s

#

they had money for computers

cyan niche
#

if it aint broke dont fix it

obtuse stump
#

Thing is, they often are bottlenecks, but too hard or expensive to replace.

proper saddle
#

Cobol's last stable release was 2014. ๐Ÿ˜

obtuse stump
#

I prefer that to JS where frameworks had last stable release in 1 hour ago... oh sorry, 1 minute ago.

#

and 1h ago release is deprecated

#

๐Ÿ˜„

proper saddle
#

๐Ÿ˜›

#

Eh, I think yearly is the best though! ๐Ÿ˜ƒ

obtuse stump
#

Cobol is so mature that maybe it is okay.

#

Cannot say really, I have never used it myself.

proper saddle
#

Security fixes would be nice, can never be too secure. :v

obtuse stump
#

Maybe Cobol is done, nothing to fix anymore ๐Ÿ˜„

rich cradle
#

fucking PHP

native lintel
#

ah PHP ain't so bad if you use it properly... except all the ways in which it's terrible like terniary operator order, flipped needle / haystack parameters, things like that

cyan niche
#

you spoiled kids

proper saddle
#

The Lisp one on Git the Princess is my favorite! blobsmile Even though I've never used it. xd

frosty sleet
#

Does anyone have experience in building a NPS extension dll?

#

I need to do this for a school project but i can't find any information on how to begin

torn remnant
#

PHP is like a synonym of despair

carmine relic
#

i'd like to correct you

#

PHP is a synonym of cancer

mental magnet
#

I feel I must be doing it wrong. I do JS without libraries.

proper saddle
#

o: You don't really need libraries or frameworks, it just makes it easier. ๐Ÿ˜›

obtuse stump
#

Doing JS without libraries is cool. It's just not that productive. Imo.

torn remnant
#

@obtuse stump I'd say it's more productive than using the wrong libraries.

obtuse stump
#

I suggest not using the wrong libraries ๐Ÿ˜›

#

I cannot imagine building a web page without React or Vue or Angular or something similar.

#

And having maintain it.

torn remnant
#

Actually, it's harder to maintain it with Angular ๐Ÿ˜›

#

At least assuming you compare it with a decent MVC web framework

#

Never tried React though

obtuse stump
#

I haven't used Angular myself.

#

React is okay, I have heard vue is better.

torn remnant
#

But I dare say, using Angular is basically 1.5-2x the effort of a simple webpage supported by JS

obtuse stump
#

Well, for simple page it might be overkill to use framework.

torn remnant
#

And it is likely to be much buggier as well

obtuse stump
#

But if you have decent amount of business logic etc, it is a neccessity imo.

torn remnant
#

The thing is, not every website has to be an SPA

obtuse stump
#

True.

torn remnant
#

In fact, as fun as SPAs are, if you want something you can put ads on, it's a clusterfuck

#

Cause obviously, advertisers just HAVE to use document.write on async loaded ads.

obtuse stump
#

Yeah, I am fortunate, I have never dealed with ads ๐Ÿ˜›

torn remnant
#

Then your users will be asking why they get empty pages

#

That you are. It sucks ๐Ÿ˜›

obtuse stump
#

I can imagine, with all that fancy JS they bring along.

torn remnant
#

But honestly, I can only see the benefit of an SPA in very few cases

whole quail
#

Modern PHP is okay

#

And it's not cancer if you don't use it in cancer ways

obtuse stump
#

Everyone remembers old PHP ๐Ÿ˜ƒ

#

And every time I have had to work with legacy PHP project... oh wow.

torn remnant
#

@whole quail I have yet to see a non-cancerous PHP project

#

plus, it still has a LOT of bad things about it

whole quail
#

PHP 7 is completely different

#

PHP 7 is actually nice to program in

#

People just hate on PHP because it used to be literal cancer for a long time

torn remnant
#

So is whitespace.

#

PHP7 is only pleasant to program in compared to PHP5

whole quail
#

PHP 5 isn't that bad either lol

#

PHP 4 and below are complete cancer however

#

PHP 7 can also be faster than Hack

torn remnant
#

You are still comparing PHP to itself ๐Ÿ˜›

#

And PHP5 is still terrible

whole quail
#

I haven't heard anyone who actually uses PHP 5, PHP 7 and Hack say that lol

torn remnant
#

Now you have

#

The only thing worse than the language artifacts are the super-popular garbage with actual support that people make with it

#

The only people who I haven't heard talk bad about PHP (including 7) are the people who have only ever used PHP

#

The rest are already using NodeJS, Python, Go, Java or C# or something else

gritty rain
#

the code any bot should have

if ( message.mentions.everyone )
    message.channel.sendMessage( "Do that again you little ike", {
        file: "https://cdn.weeb.sh/images/ryKLMPEj-.png"
    } );
nocturne galleon
#

Oh yes

nocturne galleon
#

Oh god, every coding channel on discord is just full of d.js

carmine relic
#

Try discord api. Everyone flips their shit if you talk about libraries in the wrong channel

gritty rain
#

what's wrong with d.js?

timber quail
#

d.js is great

#

i've only used it once though

#

i mainly code in J A V A

torn remnant
#

Dunno about d.js, Microsoft fanboys have had async/await in typscript for years o3o

keen nymph
timber quail
#

Oh god

sacred forge
#

@gritty rain btw, sendMessage is Deprecated, use message.channel.send('test')

hollow stirrup
#

@torn remnant @carmine relic Iโ€™m a (modern) PHP developer. AMA zslightlysmiling

carmine relic
#

rEEEEEE

#

in other news, typesetting text is extremely hard

nocturne galleon
proper gale
#

@hollow stirrup when did you kill yourself?

#

(start php)

hollow stirrup
#

@proper gale I dd() multiple times a day. zsmirking

#

PHP was my 2nd language.

halcyon pike
#

Anyone have any suggestions for learning how to code in Kotlin, I have some ideas on some Android apps I want to create but would appreciate it if someone could show me some free online courses/instructions. Thanks!

proper saddle
#

The official docs? blobtongue

nocturne galleon
#

Also, using a native language isn't a requirement, react native etc is always an option

proper gale
#

Jetbrains did a great job on the docs/tutorial on the kotlin website.

#

For the language, not the Android API

torn remnant
#

@hollow stirrup Where does it hurt?

hollow stirrup
#

LOL

whole quail
#

@hollow stirrup do you ever work with other developers? do they hate you?

#

PHP is fine and all but if you make anyone else use it with you you're the devil

#

Or if you need more than 1 person on the project it's so annoying

hollow stirrup
#

@whole quail Our team's core site is a mainly Laravel and Vue.js based app.

#

I hate vanilla PHP myself lol

whole quail
#

It's great at quick small 1 person projects

#

And some smaller things

hollow stirrup
#

Not only ๐Ÿ˜ƒ

#
CodePier

You're here to build apps. CodePier is here to help you manage your infrastructure, allow custom provisioning for each application, and eliminate downtime with zerotime deployments, plus, so much more.

whole quail
#

@hollow stirrup that looks terrible lol

hollow stirrup
#

๐Ÿ˜ฆ

#

What specifically?

whole quail
#

Uses so many techniques on the website to make it look better than it is

hollow stirrup
#

It's in beta lol

whole quail
#

Looks b grade

hollow stirrup
#

Landing page is really bad

#

Look at the UI though if you'd like

#

(video is very outdated)

whole quail
#

idk I don't have a use for UI 98% of the time

hollow stirrup
#

wat?

idle cave
#

oo Laravel en Vue, my dayjob

whole quail
#

I use cli for most important things

hollow stirrup
#

Then CodePier isn't for you lol

shell coyote
#

Can someone pls copy the -----text---- category for me pls, i want to add it to my server.

whole quail
#

cli, vs, vs code is all I use

hollow stirrup
#

We automate infrastructure for web devs that would prefer to not worry about it.

whole quail
#

I'm like the opposite of a web dev

hollow stirrup
#

Then CodePier isn't for you lol

whole quail
#

See, I do web development, I just use a giant ass pole while doing it as to not get anywhere near it

torn remnant
#

Most modern frameworks on the cloud automate it, honestly

#

Uploading a website to Azure takes 2 clicks. Another 3 or so for the first time. Making it scale is just about the same 3 clicks.

#

Same with node

hollow stirrup
#

@torn remnant One of the ways that CodePier is different from say a PaaS, is in the sense that you have full control over your infrastructure.

whole quail
#

Considering that like 40% of all the programming I do atm is making cheats for games in C++ on windows I'm definitely not the target audience xd

idle cave
#

we use automatic deployment systems for all clients. and all external env's . i might haved logged in to one server ssg as a developer role. am pretty happy about it

torn remnant
#

@hollow stirrup So I can SSH into any of the individial, automatically provisioned machines that might be replaced at any time due to provisioning/maintenance. Cool.

whole quail
#

That's a loaded sentence if I've ever seen one hahaha

torn remnant
#

It's meant to be. Automatic provisioning is both a boon and a nightmare.

whole quail
#

Loaded multiple times too

hollow stirrup
#

@torn remnant Yeah, you can. We won't overwrite any changes you've made.

whole quail
#

It's a double barrel shotgun

#

@torn remnant has a point though

torn remnant
#

@whole quail It's a railgun

whole quail
#

A giant point

torn remnant
#

With a stack of bullets in the barrel

whole quail
#

You need a solution that is specific enough to your problem that you can maintain it in specific ways

#

Or you have a solution that is too restrictive and because of that makes things harder

#

Or you have a solution that let's some junior dev (or at least give the junior dev the blame) make a tiny mistake that takes days to find

torn remnant
#

@hollow stirrup If you want something properly nice, add a manually editable command list that is automatically ran on every new server deployment. And add .NET Core and SQL Server 2017 for Linux to that stack, or enterprises won't even look your way

whole quail
#

Also setup editable user restrictions so that if someone does need to do something manually they can't fuck things up too badly

#

And if there isn't a backup system that can constantly take backups with enough data to restore a server but not any unnecaserry repetitive information

#

You really should add one

#

With configurable excemptions too

torn remnant
#

Free SSL certificates... Who even needs to buy non-EV certificates with CloudFlare and Let's Encrypt around...

whole quail
#

Also after those additions (and probably more) you still would need to have a large enough advantage over other solutions

torn remnant
#

Well priced dedicated servers would be a good starting point

#

Something that has proper horsepower

#

Not an overprovisioned hyperthread on a 40-core 2Ghz machine

whole quail
#

If you can't undercut an aws solution by at least 50% it's very difficult to get someone to go with you over an aws solution

torn remnant
#

It doesn't take much to undercut AWS/GCS/Azure

#

You can basically calculate your /core price by assuming you get hyperthreads instead of cores, each at 2.2Ghz

whole quail
#

Keeping speed/reliability it's not that easy

#

In some cases impossible

#

In others really simple

torn remnant
#

@whole quail The thing is, if you made an auto-provisioning system on OVH dedicated machines, and increased their price by 50% that way, you'd still be like 70-90% under cloud prices

whole quail
#

You wouldn't have their reliability though

torn remnant
#

Honestly? I'm not even sure about that

#

I've seen more downtimes from AWS and Azure than from dedicated machines

whole quail
#

I've seen the opposite

torn remnant
#

Plus, Azure even recommends you to add a duplicate app service on another region that is paired against your primary region in case of regional maintenance, and using a load balancer to manage it.

#

Which is just BS

whole quail
#

I personally won't use Azure and haven't used it much

torn remnant
#

Also, it wasn't that long ago when AWS died

#

Taking half of the web with it

whole quail
#

Wasn't for long

#

And it happened to everyone

torn remnant
#

2-3 hours

#

Maybe more

whole quail
#

I thought it was less

#

Also I've found that AWS seems less reliable because you expect it to be up

torn remnant
#

Actually

#

It's more

#

It seems

whole quail
#

So when it isn't it's really annoying

torn remnant
#

10:30AM to 2PM PST

#

3.5 hours

#

Actually, started even before 10:30AM

#

9:45AM

#

That's a loooong downtime

#

Plus, the pricing is so expensive that, while it does take more work, if you double up on dedicated servers you are still getting away much cheaper

#

Of course, that assumes you do have someone to maintain it so obviously not really worth it otherwise

whole quail
#

Depends on the needed power too

torn remnant
#

Yeah. On small scale, maintenance and SLA is a bother

#

On larger scale though, clouds so aren't worth it

#

And if you do something irregular like hosting images, the network pricing is crippling.

#

Plus, my PC can run circles around 3 entire 4-core cloud instances on both AWS and Azure

inner umbra
#

Hello guys. I want to start ccna but I don't know if it still worth. Could anyone who has ccna tell me if it is worthy?

torn remnant
#

ccna?

inner umbra
#

Yes

sour nova
#

@inner umbra If you don't need it right now I would wait. The certification only lasts for 3 years or something. No point in taking it before you need it.

chilly shell
#

One doesn't realise the benefit of operator overloading until it's lost. Man coding Java looks like a pain after I finally did C++.

#

I mean look at this bullshit: b.negate().multiply(a.modInverse(n)).mod(n);

#

All what this should do is essentially this: a^-1 * -b (mod N)

sour nova
#

@torn remnant Cisco Certified Network Associate

proper saddle
#

Certified

torn remnant
#

Yeah I figured in the 5.5 hours since ๐Ÿ˜›

carmine relic
#

man, do you know how painful rendering text is?

#

like, it's insanely painful

proper gale
#

@carmine relic I do, I've done it.

#

What API are you using?

carmine relic
#

@proper gale I'm using freetype to get kerning information, and gd to render images

#

i would use gd's built in freetype stuff but unfortunately it doesn't deal well with wrapping text

proper gale
#

Freetype is fine.

carmine relic
#

yeah, freetype is ok

proper gale
#

Gd, couldn't be as hard as OpenGL.

carmine relic
#

it's just wrapping text is hard ๐Ÿ˜›

proper gale
#

I did it in opengl

#

That, is a pain

carmine relic
proper gale
#

thats not that bad

#

in terms of size

#

choice of language could be argued, but its not that long

carmine relic
#

yeah

proper gale
#

i havent written a text renderer in a few years, and the one i did make was shit

carmine relic
#

i chose lua because it had already available bindings for the libs I wanted to use, and would have been easier to debug than something written in C

proper gale
#

C is ezpz to debug

#

well, C++ when you are not segfaulting is at least.

carmine relic
#

it is... except when you fuck memory up

proper gale
#

i sniped you on that

carmine relic
#

yeah, i saw ๐Ÿ˜›

#

but i'd rather not fuck memory up and since lua is garbage collected, it makes things a lot easier

proper gale
#

you dont have to use new/delete in C++

#

GLSL shader processor ^

carmine relic
#

yeah i know

proper gale
#

no manual memory in there

carmine relic
#

if you use new or delete you're generally doing something wrong

proper gale
#

generally, yes

#

unless you are writing a library class (IE, your own vector)

carmine relic
#

well yeah

#

unless you need to use it, you probably shouldn't, is all i'm saying ๐Ÿ˜›

proper gale
#

or are using global pointers/references (bad idea but you kinda need new/delete for that)

#

because a global smart pointer will never hit deconstruction

woeful jay
#

Retard moment, Hex is 0-8, A-F isn't it?

carmine relic
#

yeah, F being 15 and 0 being 0

whole quail
#

@woeful jay 0-9, A-F

#

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

#

16 individual characters/digits

zealous plaza
#

^

mossy goblet
#

quick sort of programming related question: would you choose 29" 2560x1080 or 27" 2560x1440 for programming productivity?

dawn sorrel
#

take the 1440p one

mossy goblet
#

what's the reasoning behind that? if it helps i will be pairing it with my existing 24" 1080p

dawn sorrel
#

the 16:9 aspect ratio is better than ultrawide for this kinda stuff. Also more pixels contribute to you being able to read more text on the screen

mossy goblet
#

ok sounds good thanks for your help

dawn sorrel
#

๐Ÿ‘Œ

#

also if you do webcoding or make uis it will be beneficial since you can use the 1080p screen to see the at in realtime as you code

mossy goblet
#

yeah i do some web stuff and also some unity game dev which definitely benefits from 2 monitors

dawn sorrel
#

^^

whole quail
#

1440p is just nice

#

4k makes a lot of things look weird

#

I have a 1440p, gysnc, 144hz 27inch monitor

dawn sorrel
#

nice

#

i only have a 1080p 60hz 15,6" ๐Ÿ˜„

obtuse stump
#

27" has more pixels. And should be bigger area as well iirc.

#

Plus depending on what your needs and current monitor are,maybe you can use it in portrait mode

#

Also, 29" + 24" side by side is too wide imo

proper gale
#

Quad+ monitor is nice for game dev stuff

carmine relic
#

Having more than one monitor in general helps greatly when you're trying to write code ๐Ÿ˜›

grand hornet
#

Iโ€™m a web developer o/
I think Iโ€™m going to buy a ultrawide screen for development with two 23 inch screens next to it

carmine relic
#

haha

#

I have two 1080p displays, one 24" and the other 21", it's p. nice

#

at least I think the smaller one is 21"

proper gale
#

ive got a 24" main, twin 23.x" secondarys and a some cheapo old dell that fits on my shelf for a quaternary monitor.

#

its very nice to have lots of screen

gritty carbon
#

29" ultrawide main, 24" secondary

carmine relic
#

Man, writing an AI is so much fun

obtuse stump
#

while(true)
destroyHumankind();

dawn sorrel
#

how does one write an ai?

carmine relic
#

Honestly, I don't know. I'm just using Dialogflow, which is based on Tensorflow

#

Dialogflow is doing all the magic here, really

proper gale
#

its not magic

#

its math

#

math that i sort of understand but could not give a good explanation of.

carmine relic
#

I also sort-of understand how neural networks work, but I don't get how they work

#

like, I understand that it's a network of nodes linked together which calculate values based on weights

#

but I don't get how they can be used to, say, convolute an image

proper gale
#

how the comutation works is math, how that computation works to actually do something, is magic.

carmine relic
#

yeah

rocky hamlet
#

can't wait digging into that

#

that's when/if my game project ever gets that far

#

still stuck at physics and collisions

#

already did a small image recognition test in Unreal engine, surprisingly easy to set up

proper gale
#

writing the OpenCL code to accellerate that at a reasonable speed, is hard.

#

very, very, hard.

rocky hamlet
#

yea at acceptable rates

carmine relic
#

I once tried to learn OpenCL

#

it was fun

proper gale
#

its not that hard

carmine relic
#

I was aiming to write a simple audio transcoder using it so I could massively parallelize and hopefully improve the speed of audio transcoding for a music bot project I had

proper gale
#

not im comparison to Vulkan

#

the hard part is spliting the work

#

and factoring in stuff like instruction divergince

carmine relic
#

yeah, that's where I gave up ๐Ÿ˜›

#

I was trying to design a good "flow" to doing it but I couldn't come up with anything that didn't have serious bottlenecks somewhere

proper gale
#

i would probably have split the file by small chunks and had each kernel work on a very small section of it.

#

IE, each kernel does 0.05s of audio (~4000 work items at 4 minutes of audio)

proper gale
#

@rich cradle what language are you learning?

rich cradle
#

little bit of C#

proper gale
#

not exactly a c# supporter

#

From what I see, it combines the worst of Java and C++

rich cradle
#

i was told its a very flexible lanuage for software and game dev

#

i was also recommended Python

proper gale
#

it is

#

but C++ is too, technically

rich cradle
#

i don't have the experience to know the difference, but i remember a game dev complaing about C++ and eventually switched to C# due to more efficent load times

#

also i haven't heard a reason to use C++ over C#

carmine relic
#

C# isn't a combination of the "worst of Java and C++" ๐Ÿ˜ 

proper gale
#

performance

#

namespaces are a dick

carmine relic
#

namespaces in C# are far better than Java packages, and you don't even need them

proper gale
#

and does C# support native prodecural code?

carmine relic
#

pesedual?

proper gale
#

no objects

carmine relic
#

.NET is object based; you can't have a not-object-based language in an object-based platform

#

heck, even if you did have a language that was purely procedural, it would likely just wrap everything in a class anyway

proper gale
#

C

carmine relic
#

(in the .NET ecosystem, that is)

proper gale
#

and im not looking for how its working on the hardware

#

im talking about the language

#

in the end, its all C

carmine relic
#

C# very much isn't C

#

C is to C# as car is to carpet

proper gale
#

Can you write c style code in c#

rich cradle
#

what have i started?

proper gale
#

You can't in Java. Well, static exists but I don't count that

carmine relic
#

What do you mean "C style code"?

#

Purely procedural?

#

You could take "C style code" to mean anything, really

proper gale
#

yes, pure procedural

carmine relic
#

No. Objects are generally easier to deal with, anyway.

proper gale
#

@rich cradle welcome to the club.

carmine relic
#

The last time I tried writing pure procedural code I literally ended up with spaghetti

proper gale
#

Glad you came.

carmine relic
#

Like, purely procedural code makes sense in some cases

proper gale
#

I code in a hybrid manner.

carmine relic
#

but for the sort of target that C# and .NET in general is targeted at, pure procedural code really doesn't make sense

proper gale
#

But I love the ability of PP

#

OOP only is restrictive in a different way.

rich cradle
#

@proper gale on the site im being taught (sololearn.com), its a lot of basic terms for someone who's never done coding before like conditionals, loopss, methods, class & objects , etc. which im still not too familiar with (since im still learning)

carmine relic
#

But yeah, C# is definitely not the worst of Java, for what its worth

#

C# is leaps and bounds ahead of Java

#

and Java have only just started trying to catch up ๐Ÿ˜›

proper gale
#

Java has some darker parts, yes.

rich cradle
#

i was respond to your earlier message btw about there being little terms despite me not even understanding half of what even goes on here

carmine relic
#

In general: anything you can do in Java, you can do in C# with less code and get similar or better performance

proper gale
#

Java 9 modules are very nice. I'm aware its basically namespaces, but it's separate bot intertwined.

obtuse stump
#

java 9 modules are nice in theory, practice is to be seen ๐Ÿ˜ƒ

proper gale
#

That's on the developers

obtuse stump
#

Yeap

proper gale
#

Same as c++ style standards

#

or rather the lack there of

carmine relic
#

I like the fact that C++ doesn't really have any specific style standard. It means that you get to choose something you prefer, instead of being forced into the "widely accepted norm"

#

I mean, as long as you're consistent with your style

#

I generally have my IDE set up to format files before saving so I naturally force myself into my configured style

obtuse stump
#

Everyone should use autoformat. Not using it in 2017 is just being lazy imo.

carmine relic
#

autoformat?

obtuse stump
#

Basically what you said, different IDE-s call it differently. Some do it on save, some do it on some shortcut.

carmine relic
#

oh, basically what i described

#

ok

#

yeah, visual studio usually uses ctrl+k, d

obtuse stump
#

cmd+alt+L or ctrl+alt+L in IDEA iirc

carmine relic
#

since I'm mainly a C# dev, I used to use visual studio a lot so I configure most of my editors to use ctrl+k, d to format files

#

and I also enable the "format on save" option if it exists

obtuse stump
#

Reasonable.

#

And if some dev forgets, our build env will throw a big red error and tell them how stupid they are ๐Ÿ˜„

carmine relic
#

It's literally muscle memory for me at this point, so its impossible for me to not remember ๐Ÿ˜›

#

I don't throw errors on style violations though... Mostly because I haven't found the options to do that

proper gale
#

Crtl+alt+l is correct

#

I use idea and clion mainly myself

#

Msvs can go suck a dick

obtuse stump
#

It's funny how I am not sure what a shortcut is when I have to tell someone else. But when I have to use it, it is just there. ๐Ÿ˜›

carmine relic
#

I hate IntelliJ so I stay away from it like its some sort of disease ๐Ÿ˜›

obtuse stump
#

Why so?

carmine relic
#

For me, its UI is back-asswards and I end up having to jump through hoops trying to get to something I want ยฏ_(ใƒ„)_/ยฏ

proper gale
#

Idea is amazballs, not sure what crack you are on.

carmine relic
#

Compared with Visual Studio, where everything just "made sense" to my mind

obtuse stump
#

I am the opposite of that ๐Ÿ˜„

#

Plus I like that different jetbrain products use the same logic. So if I use webstorm, all my knowledge applies.

proper gale
#

^^^

#

Clion is idea for c++

carmine relic
#

either way, I personally use KDevelop for C/C++ and VS Code for anything else

proper gale
#

Not a second IDE.

obtuse stump
#

Clion, Webstorm, Pycharm etc

proper gale
#

Vs code != Vs

obtuse stump
#

all the same, just different skin ๐Ÿ˜›

carmine relic
#

Yeah, I know VS Code isn't Visual Studio ๐Ÿ˜›

obtuse stump
#

I use VS Code as well, a lot actually.

#

But mostly as a clipboard ๐Ÿ˜›

carmine relic
#

Visual Studio doesn't run on linux so I'm stuck in the VS Code boat until Microsoft do something about it

proper gale
#

Vs code is fine

obtuse stump
#

a great place to store SOAP requests/replies and compare them

proper gale
#

Vs is trash.

carmine relic
#

It'd be dope if Visual Studio ran on linux, at least for me

proper gale
#

N++ is my clipboard

carmine relic
#

Oh, another problem with IntelliJ is that Rider uses Resharper as its backend

#

which means that you don't get the niceties of Roslyn

#

Roslyn analysers are literally dope

#

They can do everything Resharper can, and more

#

and they're pretty easy to write

#

compared to Resharper, where you're stuck with JetBrains' limited set of things which don't expand far out of what they implement

obtuse stump
#

That sounds legit (foreign problem for me ๐Ÿ˜ƒ )

carmine relic
#

Yeah

#

I can see how it would have made sense in the past when Roslyn wasn't really "stable", because Resharper may have legitimately provided far superior semantic analysis than Visual Studio

#

but now that Roslyn is very much a thing, it's just dead weight really

#

I usually feel sorry for the devs who are locked into using Resharper since it's literally second nature to them

proper gale
#

Resharper is nice for c++

carmine relic
#

I'm a fan of KDevelop's semantic analysis ยฏ_(ใƒ„)_/ยฏ

#

it's powered by clang so it's super accurate, and is generally quite unobtrusive

obtuse stump
#

On another topic, what is your CPU usage on http://floatplane.com
On my Macbook Pro 15" mid 2014 the fans got almost to full speed after a few minutes ๐Ÿ˜„ With Safari.

carmine relic
#

Signed in or no? Because I obviously don't have an account ๐Ÿ˜›

obtuse stump
#

landing page

#

noone has account there yet ๐Ÿ˜›

#

except for Linus, Luke etc