#development

1 messages · Page 57 of 1

warm sleet
#

and once you resolve them, marked as 'Fixed'

nocturne crypt
#

that's neat

warm sleet
#

itll notify if it is not fixed

#

Its very useful, because you get all this context information

#

and dont rely on customer stories to fix it

#

So you can resolve issues before customer even calls up and complains

#

Very useful for rapidly developing prototypes

nocturne crypt
#

it might be good for js

#

but it's useless for C++

warm sleet
#
            Sentry.init(properties.getSentryDsn() +
                    "?node" + node +
                    "&api" + API_VERSION +
                    "&core" + getDescription().getVersion()
            );
nocturne crypt
#

i mean for you it's probably good

#

because you're using a managed language

warm sleet
#

I mean, I use it to track bugs in minecraft lmfao

nocturne crypt
#

oh my

#

what if i told you

warm sleet
#

It hooks into the logger

nocturne crypt
#

i play most of my games through WINE

warm sleet
#
    <appender name="Sentry" class="io.sentry.logback.SentryAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>WARN</level>
        </filter>
    </appender>
nocturne crypt
#

on Pop OS! 20.04

warm sleet
#

oof

#

@nocturne crypt Pop! is bad

nocturne crypt
#

i play AAA titles on windows

warm sleet
#

it promotes poor security practices

#

like not requiring passkey for sudo

nocturne crypt
#

you need the passkey to use sudo?

#

it asks me every single time

warm sleet
#

really?

nocturne crypt
#

really

warm sleet
#

last time I helped someone on Pop!

#

spawned new terminal, entered command

#

didnt ask for pw

nocturne crypt
#

maybe they were logged in as root

#

like a dummy

warm sleet
#

nah

#

might have been, that they didnt have a userpassword set

nocturne crypt
#

it has a session password thing

#

but all distros do that

#

so like every terminal session only asks once

#

i think it times out after like 5 minutes

warm sleet
#

I have on that on my ubuntu install

#

but debian does nothing of the sort.

#

it doesnt even have sudo

#

sudo is bad practice anyways

#

any user account = root

nocturne crypt
#

debian just demands you logout and do stuff as root

warm sleet
#

yeah

#

su

#

dont need to log out

nocturne crypt
#

or only do cool stuff with the root account

warm sleet
#

now developers of games

#

think it is acceptable to ship a kernel level driver

#

for "anticheat"

#

idiotic.

nocturne crypt
#

i might look at this sentry thing for cool web app thingies

warm sleet
#

oh heres that picture from sentry ^

nocturne crypt
#

game studios can't hire good developers

#

so they make increasingly bad decisions

warm sleet
#

Sentry is either SaaS

#

or self hosted

#

free SaaS is limited to 10k events/month

nocturne crypt
#

oh i can self host it

#

that's dope

warm sleet
#

if you have >10k/month

nocturne crypt
#

i run a datacenter in my closet

warm sleet
#

you have shitty code.

nocturne crypt
#

maybe

warm sleet
#

or a big env

nocturne crypt
#

i just want to spin up like 500 VMs

#

and monitor them all at the same time

#

or like 100,000 containers

warm sleet
#

it can group, based on those breadcrumbs

#

so you can ask more specific questions to isolate the issue

#

the breadcrumbs are amazing

#

allows you to see a brief history

shy helm
#

game studios can't hire good developers
@nocturne crypt cause they pay terribly

twin pendant
#

Plus most of the kernel mode anticheats are a joke

#

Most cheats currently use Easy Anti Cheat itself to inject cuz its riddled with vulnerabilities

nocturne crypt
#

i agree with both of you

cunning flume
#

where would the best place to learn codeing other then school

icy wagon
#

The internet

scenic seal
#

bruh devs nowshipping games with kernel level drivers?

#

such a big security threat

hollow basalt
nocturne crypt
#

What

#

How do any of these statements correlate

pliant siren
#

think it is acceptable to ship a kernel level driver
@warm sleet Is this related to Valorant?

nocturne crypt
#

a lot of AAA studios are doing it now

#

it's not just the studio behind valorant

#

it's becoming a theme

hollow basalt
#

It's nothing new

#

The only difference with valorant is it runs even when you're not playing

#

You're now at the mercy of riot developers

#

Can't even run valorant on a VM (not simple to setup), lel the guys with unraid

#

Hope you can play

warm sleet
#

@pliant siren among others yeah

#

League of Legends is getting this now too

#

no user level program runs in kernel space, its just bad practice

#

esp if it can be patched 'just like that'

primal schooner
#

bruh devs nowshipping games with kernel level drivers?
@aarav2you#6823 what the

lost obsidian
warm sleet
#

@lost obsidian Caused by: java.io.FileNotFoundException: C:\Users\tyler\.gradle\caches\journal-1\journal-1.lock (Access is denied)

#

clear caches

#

?

#

I'm not too familair with gradle

#

but seems to be unable to get a lock on the file

#

because another process is probably using it.

icy wagon
#

Are you using forge?

lost obsidian
#

Yes

#

wdym cache tho what cache

#

or WITCH cache

#

wait

#

there is no cache

#

this is path im in C:\Users\tyler\Desktop\MC MODDING\BoatsDocks+.gradle

#

ohh

#

i understand

icy wagon
#

There should be an example mod you can download

#

And a tutorial on forged website

lost obsidian
#

thnks

icy wagon
#

You should be able to just extract the contents out of the zip file into a folder and then open the build.gradle with IntelliJ

lost obsidian
#

I did all of what the page said to do and It still gets same error

icy wagon
#

You downloaded the jdk put the contents into a folder and with IntelliJ you click new project from existing sources and selected the build.gradle?

lost obsidian
#

whenever i do gradlew genIntellijRuns it does not work

icy wagon
#

Are you connected to the internet?

lost obsidian
#

i already have intellij running and yes im connected to internet

icy wagon
#

Also it might be fine I don’t remember

#

It’s been a while

lost obsidian
#

thats the output

icy wagon
#

Do you have an example mod and can you run it

lost obsidian
#

soo the straight exmod file from forge?

icy wagon
#

Like exmod in IntelliJ

#

?

lost obsidian
#

this one?

icy wagon
#

Yes mdk

lost obsidian
#

k

icy wagon
#

But do you have it open in IntelliJ

lost obsidian
#

yes

#

I do

icy wagon
#

Can you open the example mod class in IntelliJ

lost obsidian
#

yes

icy wagon
#

Can you run it?

lost obsidian
#

how...

icy wagon
#

Is there a runClient button in the gradle stuff on the right hand side

lost obsidian
#

no but i gtg do something else

icy wagon
#

It might be in like a folder type thing you have to expand to see it

hollow basalt
#

why would they ban me

#

python is not bannable

#

how high are you

icy wagon
#

I mean

#

He said it himself

nocturne crypt
#

@hollow basalt my influence is spreading

pliant siren
#

I couldn't agree with that image more.

#

I only own a small handful of programming books, and one of them is Stroustrup, so... 😄

hollow basalt
#

@nocturne crypt you're spreading the obsolete

nocturne crypt
#

C++20 > python

hollow basalt
#

C++20 + python = ❤️

nocturne crypt
#

naw

#

C++20 has most of python's features

#

it just does it betterer

hollow basalt
#

It has, but embedded python would help you retain sanity

nocturne crypt
#

naw

#

C++20 is like ipv6

#

just let go

#

let the language do everything

nocturne galleon
#

@hollow basalt im back

#
import requests
import datetime
from proxy_requests import ProxyRequests

url = "https://github.com"
available = "available.txt"
users = "usernames.txt"
now = datetime.datetime.now()

def check():
    with open(users, "r+") as fp:
        line = fp.readline()
        checked = 0
        f= open(available,"a+")
        f.write("\n----> Checking started! <---- \n")
        while line:
            name = line.strip()
            r = ProxyRequests(url + name)
            r.get()
            status = r.get_status_code()
            print(r.get_status_code())
            print(r.get_url())
            if status == 404:
                print(f"{name} [AVAILABLE]")
            else:
                print(f"{name} [TAKEN]")
                f.write(f"{name}\n")

            line = fp.readline()
            if not line.strip():
                print("")
                print("Finished checking... Availalbe usernames in available.txt")
                f.write(f"----> Checking finished -")
                f.write(now.strftime('%l:%M:%S%p %A %b-%d-%Y'))
                f.write("<----\n")
                f.close()
                quit()
    check()
``` nothing happens when I run
#

Not even the file writing so im guessing check function isn't getting reached but theres no errors in console

nocturne crypt
#

lol can't you have having fun yet

hollow basalt
nocturne crypt
#

@nocturne galleon strong recommendation, just check the application one bit of functionality at a time

#

your function is to long

#

break it up into initialization, making the request

#

then using the information from that request

#

you'll spend pointless hours just looking at your code if you don't know which portion isn't actually running. As for error logs

#

URL timeouts aren't considered an error in python requests

pliant siren
#

lol, what??

#

Looks like I'm gonna have to start breaking out the Arduino gear again for some prototyping, hmm.

nocturne crypt
#

try the new PlatformIO stuff with vscode

pliant siren
#

That reminds me: Why have I not found a simple arduino-like device that it's only purpose is to detect circuit closures/pulses on the configured GPIO pins, and, connected to a configured WiFi network, send a REST call any time those pins give an input.

hollow basalt
#

why not do it yourself

primal schooner
#

👀

warm sleet
#

sounds like something you can DIY

#

optocoupler & GPIO

#

Put your GPIO on 3 and 4

#

1 and 2 are whatever you want to measure

#

though this only does binary on/off

midnight wind
#

@nocturne crypt vscode with platformio is nice

#

I'm planning on making a project where an arduino would poll information and then send it to a server via http

warm sleet
#

@midnight wind codewise, its easier to do it the other way around

#

or tbh, doesnt really matter

#

I've implemented both client & server on an arduino before

midnight wind
#

I've done a webserver before on arduino

warm sleet
#

you only need to implement minimal features

#

happy flow, if not, disconnect

vague narwhal
#

Is there a way to get just the row from sheet.find in python and gspread? i just need the row and not the column?

warm sleet
#

@vague narwhal not sure how gdocs API does this

#

Rows[Cells]

#

is typical for tabular datastructures

#

you can get the column from the cell

vague narwhal
#

i found out how to do it

#

you just do:

find = sheet.find(Enum, in_column=2)
row = find.row```
#

ok i have another problem

tiny valley
nocturne galleon
#

you just do:

find = sheet.find(Enum, in_column=2)
row = find.row```

@vague narwhal how am i supposed to do this thing

#

like this?

#
> find = sheet.find(Enum, in_column=2)
> row = find.row```
#

oh i see

#

py

#

' ' ' py >this is cool

#

' ' ' py > i hope this works

#

i need help with something to do with coding something which can someone scan a channel on discord until a certain format of code (184-1246-13-535 for example) is typed and then type it into a different game, dm me if you know anything about coding :)

vague narwhal
#

@vague narwhal how am i supposed to do this thing
@nocturne galleon yes that is how i am doing this

warm sleet
#

@nocturne galleon wat

stone lake
#

... nothing happens when I run
@nocturne galleon you never call check() (it is inside itself). Also, I rewrote your code and ProxyRequests seems to do too much for so little need. Just use requests. And for the rest, just divide it up to make it simpler. How large is the file or how little memory you have that you need to read and make the request before going to the next line?

minor crag
#

so, is icue modular, where if someone knew how to, could link other hardware not currently supported with it?

vague narwhal
#

ok so here is my code

 def Fil():
       sheet.update('F' + str(row), 'TRUE')
   def OS():
       sheet.update('G' + str(row), 'TRUE')
   def DOW():
       sheet.update('H' + str(row), 'TRUE')
   def EDI():
       sheet.update('I' + str(row), 'TRUE')
   def OS2():
       sheet.update('J' + str(row), 'TRUE')

   def OY():
       sheet.update('K' + str(row), 'TRUE')

#### Buttons
   filmbutt = tk.Button(Episode, text='Filmed', padx=100, pady=50, command=Fil)
   onserverbutt = tk.Button(Episode, text='on server', padx=100, pady=50)
   downloadedbutt = tk.Button(Episode, text='Downloaded', padx=100, pady=50)
   editedbutt = tk.Button(Episode, text='Edited', padx=100, pady=50)
   uploaded_to_stjarnor_server = tk.Button(Episode, text='On stjarnor server', padx=100, pady=50)
   uploaded_to_yt = tk.Button(Episode, text='Uploaded to youtube', padx=100, pady=50)
   configured_on_yt = tk.Button(Episode, text='Ready to publish', padx=100, pady=50)

when i press the button it makes this happen

#

so it dosen't tick the box
is there any way to fix this

crystal tundra
#

I could help u

#

But its 11pm here

#

So imma wait till tmrw

strange ginkgo
#

Question

#

does game development count here

tawny walrus
#

Probably.

grave tulip
#

I made a custom version of win 10 debloat
Anyone wanna take a look at it

pliant siren
#

I'm terrible with bash, what's the correct syntax for

if [ -z "$VARA" && -z "$VARB" ]
then

fi ?

pliant siren
#

nm, it's
if [[ -z "$VARA" || -z $VARB ]]

#

(I wanted either, not both)

indigo tapir
#

nm, it's
if [[ -z "$VARA" || -z $VARB ]]
@pliant siren what do you mean by "this"

pliant siren
#

I mean that's the correct answer to the problem I was trying to solve.

hollow basalt
#

you're right

warm sleet
#

@pliant siren man test

hollow basalt
warm sleet
#

test is that actual program

#

that does that bash expression evaluation with [[]]

#

test just returns true or false

pliant siren
#

neat

hollow basalt
#

Meat

warm sleet
#

@hollow basalt inlining expressions: $()

hollow basalt
#

Beat

warm sleet
#

things like: apt install linux-source-$(uname -r)

#
crystal@watomat:~$ uname -r
4.4.233
#

ancient kernel :p

celest egret
#

can someone tell me how to fix this

midnight wind
#

@celest egret what does your file structure look like

#

and did you do yarn/npm init

icy wagon
#

Discord had an API change so that’s unfortunate timing

warm sleet
#

@celest egret you have a typo in your package.json

#

the loader is looking for a main,js

#

that's supposed to be a . not a ,

hollow basalt
woven kernel
#

why coma(,) :/

raw plume
#

bruh

paper badger
#

i need some help with java Graphics renderer, im trying to make a simple game, i added a laser but every time it move to the left this happens
btw it extends till the function for removing it is called
and this is the code i use to render objects -

    public void render(Graphics g){
        for (int i = 0; i < objects.size(); i++){
            GameObject tempObject = objects.get(i);
            tempObject.render(g);
        }
    }
icy wagon
#

What’s the issue

#

And it seems you are using swing yes

flint forum
#

this is going to sound stupid... but I'm losing my mind a bit at this point. I'm trying to set up a local wordpress site to later export, currently using AMPPS I got it at least to work with wordpress but it refuses to install a free theme, only a couple select paid themes. Is this just something they limit you to and should I choose a different method, or is there something I missed?

amber phoenix
#

Hi,
So I'm trying to create a docker image based on alpine to host a csgo server and steamcmd needs the glibc in 32 bits but I cannot manage to make it work (even though I think I've installed the necessary packages but there aren't any doc for alpine). So here's the Dockerfile:

FROM alpine

WORKDIR /usr/src/steam
RUN echo "x86" > /etc/apk/arch
RUN apk add bash libc-utils libc-dev
RUN wget -O - https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar -xvz
RUN ./steamcmd.sh +login anonymous +force_install ./cs_go/ +app_update 740 validate +quit

And the repo is here: https://www.github.com/DevCycom/csgo-docker if you want to have a look
Ping me if you answer me

sterile pollen
#

for how to use glibc in an alpine container

#

though you might find debian easier, alpine would be more lightweight for sure

amber phoenix
#

Yeah I'm definitely using alpine for it being lightweight, Thanks I'm taking a look at it

amber phoenix
#

I see that it is in 64 bits though and steamcmd definitely needs 32 bits so if you may know how to get a 32 bits version

lone cairn
#

what was the most helpful tool for people to learn various languages? (I'm using w3 schools and codeacademy, not sure if there are more effective resources as well, just wondering what others have found helpful)

midnight wind
#

projects

#

actual projects that utilize the language

gusty girder
#

Would this
[a-zA-Z0-9-_]{3,16}
be a correct regex expression if I want to check if it matches:
Each Online ID must contain between 3 and 16 characters, and can consist of letters, numbers, hyphens (-) and underscores (_).

#

This is the first time I ever looked at regex and it's confusing af.

spring pond
#
^[a-zA-Z0-9-_]{3,16}$

This one should work.

#

your regex was pretty close but i added some start and end of line characters

spice wharf
#

hey i need help lol

#

any of you lot know anything about Cocoa API?

#

I'm looking for a function which works like <stealth> like on windows.h

gusty girder
#

Thanks @spring pond. Turns out it's more complicated than that. (Sony and Playstation making my life difficult). Would you be up for helping me figure it out some more?

spring pond
#

what are you looking to do?

gusty girder
#

it can only start with a letter.
^[A-Za-z][A-Za-z0-9-_]{3,16}$
does this make sense or am I missing something obvious?

#

also, what's the difference between using ( brackets ) and not using them?

^[a-zA-Z0-9-_]{3,16}$
and
^([A-Za-z0-9-_]{3,16})$
``` ?
spring pond
#

here is the regex i came up with: ^[A-Za-z][A-Za-z0-9-_]{2,15}$

#

since you need 3-16 chars and you already capture one with the first set i subtracted the end numbers by one

#

your regex listed above allows 4-17 characters

#

to answer your question im not an expert on regex but i do think that the two regexes youre comparing will produce the same output

#

the parenthesis act as an OR

gusty girder
#

they do, I'm just trying to understand what the "()" does

spring pond
#

you could use the pipe (|) to add other groups for the regex to search

#

right now there is only one group so the parenthesis do nothing

gusty girder
#

okay, thank you very much. Now gonna try actually using it in code and praying it properly works

spring pond
#

gl

gusty girder
#

It doesn't.
If you're familiar with PHP, how would you "format" the expression to work with the preg_match() function?

spring pond
#

i havent used php but looking at the function documentation it looks like you just put it as the first argument

gusty girder
#

yeah well that doesn't work ˆ^ Thanks for the help though, the major hurdle is done

spring pond
#

this works @gusty girder

preg_match('/^[A-Za-z][A-Za-z0-9-_]{2,15}$/', 'test');
gusty girder
#

Thanks!

mellow prawn
#

It doesn't.
If you're familiar with PHP, how would you "format" the expression to work with the preg_match() function?
@gusty girder this is completely unrelated but something to look out for if you’re new to PHP. a lot of the core functions built in do not share any consistency between the order of haystack and needle. So make sure you like always have docs open.

#

Eg:

in_array($needle, $haystack)
str_pos($haystack, $needle)

#

It’s just something I wish I would have known before starting PHP, provided of course you are just starting this

warm sleet
#

@nocturne crypt one of the rare blogs on the internet that is actually interesting to read

#

Been following this guy for many years now

#

or girl

#

idk

#

the anecdote is my favorite lol

#
Now imagine you meet millions of carpenters using this toolbox who tell you “well hey what’s the problem with these tools? They’re all I’ve ever used and they work fine!” And the carpenters show you the houses they’ve built, where every room is a pentagon and the roof is upside-down. And you knock on the front door and it just collapses inwards and they all yell at you for breaking their door.

That’s what’s wrong with PHP.
#

He also has another article

#

strong critique on javascript

#

because websites need javascript now, for the most mundane of features

hollow basalt
#

Gotta use that javascript for that sleek menu

warm sleet
#

@hollow basalt I need to make a small html demo for a blog today

#

as proof of concept

#

I got the template engine all working yesterday

hollow basalt
#

remember to use a frontend framework

warm sleet
#

now I have to do html & css :(

#

@hollow basalt nah

hollow basalt
#

if you aren't transpiling typescript for your frontend framework, you're not doing it right in 2020

warm sleet
#

its just simple site features

#

there's no frontend

#

its just html rendered by the server

#

again

#

I'm not a webdesigner

#

I build frameworks.

#

I cant be asked to know all the specifics with css and html

#

its just too much of a pain

hollow basalt
#

I ain't either

warm sleet
#

@nocturne crypt I'm a big fan of MvvM

#

in context of MVC based applications

#

ViewModels are composites of Models

#

Views compile against ViewModels, and not models

#

easier decoupling

#

and nice to manage business models seperately

#

@nocturne crypt in this context, MVC is used to set up the page

#

any interactive elements are implemented as SPA components

#

with mithril.js

warm sleet
#

@nocturne crypt its a javascript framework for SPAs

#

but it also supports serverside prerendering

#

important for things like SEO, crawlers only read HTML

hollow basalt
#

This might be the answer to my problems

#

cause most frontend frameworks are bloated

#

with all of this webpacks and babel crap

#

I just want frontend that makes sense

warm sleet
#

@nocturne crypt ^

#

@hollow basalt the company I work for uses it mostly to develop re-useable application components

#

like small interactive applications

#

@nocturne crypt I am dying

#

Automate CSS?

#

mithril allows you to modify the DOM with code

#

in fact, the whole DOM is built up with code

#

The idea with mithril prerender

#

is that you do the initial HTML on the server

#

the client receives html document, and then starts mithril

#

this is useful for sites, where you have a big product catalog

#

and you scroll down

#

it has to load more content

#

the initial view is prerendered

#

using the same code

#

that the client would use

hollow basalt
#

Isn't that what frontend frameworks is all about

warm sleet
#

Well

hollow basalt
#

removing the hardships in all this dynamic content crap

warm sleet
#

Angular and Vue are both monstrocities

#

and slow as fuck

#

mithril is tiny

hollow basalt
#

that's what i've been looking for

#

I want to try out a framework but all these node craps

#

that requires several step just to print hello world

#

it's time to migrate regular html/js to mithril now

warm sleet
#

@nocturne crypt its like react yeah

#

I am not an expert on this

#

but this is what they say ^

gaunt folio
#

Need some solution if someone can help ?

hollow basalt
#

Need some problem if someone want solutions

gaunt folio
#

I had a scenario where my client has a website on one server and the his blog site on another server , for some reason he want to connect his One domain to both of the server but the problem is that the hosting are different but he wants same domain to connect both the server, so is there are workaround or loop hole by which i can achieve

hollow basalt
#

that is kinda weird and vague, you could be more technical

gaunt folio
#

i know, let me clear out more , I want to use one domain for two different hosting servers so that i can use single domain but have two websites on different server connected to same.

hollow basalt
#

You could use subdomains for the easiest solution

#

so 2 dns records

gaunt folio
#

Will it be good for SEO ?

hollow basalt
#

That's kind of another vague question

#

which part are you using for SEO

#

essentially since you are using 2 subdomains and 2 servers, you might want to consider it (yourself) that you have 2 websites

worldly cargo
#

oh, I misunderstood

gaunt folio
#

having duplicate content will hurt you but it’s clear that you have two separate websites
@worldly cargo content is different one has main website with other type of content but he already has blog on different but he doesn't want his website on same server's , Weird Clients 😕

worldly cargo
#

it makes no difference

hollow basalt
#

Yea, just consider it you have 2 websites

worldly cargo
#

^

#

the “you need a dedicated IP/server for every site” thing is a joke

hollow basalt
#

@gaunt folio keep this in mind

#

you should always try to expose the most important part at root level

#

or make it more accessible

gaunt folio
#

Ok fair enough, thanks guys for helping out ✌️

worldly cargo
#

@hollow basalt actually I’m not sure

#

does doing /blog affect SEO?

hollow basalt
#

that's weird, wdym affect

worldly cargo
#

well

#

I should reword that

hollow basalt
#

SEO is still weird lel

worldly cargo
#

I wouldn’t put the same content on both obviously

#

I don’t think it matters but I guess for clarity’s sake

hollow basalt
#

@worldly cargo TLDR: search engines consider subdomains as different entity

worldly cargo
#

I see

#

and I guess a link to the blog on the main page will tell google where it is

#

unless you deliberately submit a site map

hollow basalt
#

since websites still use the "www" subdomain, it pretty much doesn't matter

worldly cargo
#

most websites just redirect www -> @ or the other way around

hollow basalt
#

Yes, that's why for SEO. you are essentially maintaining numerous websites

#

since they may be ranked differently

#

though take this as grain of salt, I'm not much experienced in SEO

worldly cargo
#

me neither

#

I just pray that my website appears on google

hollow basalt
#

@gaunt folio I forgot to ping you about the article I linked above

#

I just pray that my website appears on google
@worldly cargo spam it in websites

#

@gaunt folio TLDR:

Search engines keep different metrics for domains than they do for subdomains, so even though Google itself has stated that — from a ranking perspective — content in subdomains and subdirectories is treated roughly equally, it's still recommended that webmasters place link-worthy content like blogs in subfolders rather than subdomains (i.e. www.example.com/blog/ rather than blog.example.com).

It's still your decision if you want subfolder or subdomain

worldly cargo
#

@hollow basalt I don’t want to be that kind of person lol

hollow basalt
#

@worldly cargo I know lel

worldly cargo
#

sad moments

hollow basalt
worldly cargo
#

I guess that’s one way to market their store

#

spam it eveeerrrywheeeere

#

they don’t sell hydroflasks which blows

#

unless you consider their insulated bottle

hollow basalt
worldly cargo
#

they finally sold out of their velcro haha

warm sleet
#

@hollow basalt the www era is long since done

#

I CNAME www to the full hostname

#

used to be the oether way around

hollow basalt
#

it truly is, but if the client wants it then be it

warm sleet
#

you just have to make sure you register both in your webserver

#

so SSL can properly verify

hollow basalt
#

@warm sleet lel thanks for mithril.js I'm yeeting normal js rn

warm sleet
#

@hollow basalt who needs CSS

hollow basalt
#

As long as it's center text

warm sleet
#

CMS backend ^

hollow basalt
#

I don't want/need 3d-like websites

#

I just want working

warm sleet
#

@hollow basalt there's no view for the articles yet

#

so it just does this

hollow basalt
#

should be fine

warm sleet
#

but hrefs work

#

:D

hollow basalt
#

I like json responses 😄

warm sleet
#

all it does is

#
router.get("article", (req: Request, res: Response, m: Umbraco<Article>) => {
    res.json({title: m.title, body: m.mainBody})
})
hollow basalt
#

yup, makes sense

#

though I still don't like
var_name : var_type

#

😛

upbeat nymph
#

I just pray that my website appears on google
@worldly cargo Google search console. Lifesaver for me. I know exactly where and how my sites appear in searches.

mellow prawn
#

I CNAME www to the full hostname
@warm sleet thats usually fine but a more stable way if you really don’t like the www is to setup a HTTP 301 status pointing to the domain without www

#

Usually more important for old programs or specific use case but it’s usually best practice

lone cairn
#

What's a good home project to focus on to learn php/sql?

mellow prawn
#

Like something to build?

warm sleet
#

dont learn php

mellow prawn
#

PHP still has its advantages

lone cairn
#

I'm forced to, to get my minor in cois lol

warm sleet
#

@mellow prawn like?

mellow prawn
#

Mainly ease of use and testing

lone cairn
#

Yea, I guess something to build, I'm uncertain what to do with it, really

warm sleet
#

ease of use, not really, its flaky

cinder kraken
#

php is very straight forward for quick projects

warm sleet
#

standard lib is terrible

#

and testing and debugging PHP is terrible

lone cairn
#

I was much better with sql than I am with php

warm sleet
#

there's no built in debugger.

cinder kraken
#

sql is another thing entirely

lone cairn
#

I understand

cinder kraken
#

sql is just a database standard

lone cairn
#

hence my problem with php

cinder kraken
#

php is a full fledged programming language

mellow prawn
#

There is no built in debugging granted but still error messages that are comprehensive

lone cairn
#

Approached it from the wrong mentality and f'd myself quick lol

#

my only frame of reference learning php is some c#

mellow prawn
#

I’d recommend a simple blog

warm sleet
#

I usually write a blog for proof of concepts

#

like I did today :)

#

to test my new web framework for a headless CMS

mellow prawn
#

PHP to access the db and process the basic html and MySQL to obviously store it

lone cairn
#

I can run something like that locally, right?

mellow prawn
#

Yeah

lone cairn
#

solid, thank you

mellow prawn
#

I usually write a blog for proof of concepts
@warm sleet what’s it in

warm sleet
#

typescript/node

lone cairn
#

what is the common utilization of php in the industry?

#

just web framework?

#

or rather, html

warm sleet
#

@lone cairn to build simple web applications with

mellow prawn
#

To be honest a lot of legacy systems

warm sleet
#

but its being phased out

mellow prawn
#

Yeah

warm sleet
#

php is legacy

#

unsecure piece of shit

#

used by amateurs

mellow prawn
#

unsecure piece of shit
@warm sleet unsecure if you’re a dumbass

lone cairn
#

what's better to learn moving forward?

warm sleet
#

python, node, or if you need rich applications, .NET ASP

mellow prawn
#

Node

#

Yeah

lone cairn
#

Roger

mellow prawn
#

If you’re starting I’d recommend DJango

warm sleet
#

flask is quite easy too

#

with python

mellow prawn
#

I’ve never seen that as a website type thing but yeah that could work too

#

I’ve always seen that as an API

#

But then again it does have HTML template rendering built in

lone cairn
#

Alright, so starting with php moving into python, django, flask, node, .net as a solid baseline for moving into more advanced items? Php is all they're asking now, but I'd like to work, not just do research, after my grad lol

mellow prawn
#

Flask then DJango

lone cairn
#

Friend of mine recommended doing a bunch of red hat courses as well, any experience there?

mellow prawn
#

In my opinion flask is easier than Django for a web framework

lone cairn
#

Understood, I'll re-organize, ty

warm sleet
#

if you first start learning

#

you'll want a framework that is as simple as can be

mellow prawn
#

Yeah

warm sleet
#

the less magic, the better

#

express is very simple in that regard

#

for java, there's sparkjava

mellow prawn
#

I mean if you wanna go ultra simple PHP is undoubtably the way to go when first learning

warm sleet
#

yeah but PHP teaches you the wrong way

mellow prawn
#

If you go too in-depth yes

lone cairn
#

What text editor do you guys use? I've got sublime text and visual(t.t) on my computer and atom I think

warm sleet
#

IDEA

mellow prawn
#

But as long as you use it for the key understanding like arrays, variables, if statements etc you’ll be fine

#

I use sublime

warm sleet
#

IDEA works on pretty much all languages

#

but its a full fledge IDE

#

not as quick and snappy as a pure text editor

#

visual studio code is very user friendly

#

especially for webdevelopment

#

in node/ts

mellow prawn
#

Idk why but I’ve never used an IDE

lone cairn
#

I enjoyed it for the very specific error notes in c# practice

warm sleet
#

@mellow prawn for java its wanted, because maven complicates things a bit

mellow prawn
#

I’ve always just been an editor then run in a shell kinda guy but an IDE would be a lot easier

#

Yeah

warm sleet
#

but the thing i like about maven

#

is that you can run it from commandline without an IDE

#

so it works side-by-side

#

the same cannot be said for Visual Studio

#

C# in visual studio feels like I am coding with my arm in plaster

mellow prawn
#

Lol

warm sleet
#

its so slow, clunky, and annoying lol

#

@mellow prawn this is so nice :D

mellow prawn
#

In all fairness I haven’t had many issues with sublime yet

warm sleet
#
router.get("home", async (req: Request, res: Response, m: Umbraco<Home>) => {
    const articles = await client.getArticles()
    res.render("home/home", {home: m, articles: articles.items})
})
#
<body>
<div class="header">
    <h2>{{home.pageTitle}}</h2>
</div>
<div class="body">
    <p>{{home.body}}</p>
    <ul>{{#each articles}}
        <li><a href='{{this._url}}'>{{this.title}}</a></li>
    {{/each}}</ul>
</div>
</body>
mellow prawn
#

Oh

warm sleet
#

working on a radically different concept here

#

the first parameter of get which is "home"

#

isnt actually a path

mellow prawn
#

I may be ******** but I didn’t remember mode was asynchronous

warm sleet
#

but a datatype

#

node is completely async

mellow prawn
#

Wait that sounds cool but seems like you’re needlessly overcomplicating it

warm sleet
#

@mellow prawn not really

mellow prawn
#

Why not just JSON

warm sleet
#

the paths are not decided by my framework

#

thats what the CMS does

#

I'm writing a frontend framework for a headless CMS

mellow prawn
#

Ohhhhh

warm sleet
#

so the url, is passed to the CMS

#

the CMS returns content at that url

#

then, it decides which controller it needs

#

based on the datatype of the content

#

so "home" is a datatype

#

and so is "article"

mellow prawn
#

Yeah

warm sleet
#

so for example

#

the first article I have in the cms right now

#

is located at /home/article-1

#

the customer, can manage content on the site, in the backoffice

#

they can change the urls

#

to whatever they want

#

it just makes sure the right controller is called, for a given page

mellow prawn
#

Is it scalable

warm sleet
#

err

#

yes

#

the CMS is a headless application in the cloud

mellow prawn
#

Oh wait yeah I’m a mong

warm sleet
#

datatypes defined in the CMS

#

are exported as a schema with GraphQL

mellow prawn
#

Yeah

warm sleet
#

thats how my code gets the bindings

#

and why I use typescript :)

#

my framework downloads these definitions

#

generates a schema

#

and produces a project that you can use to develop views for that CMS

mellow prawn
#

Smh just slap flask backend and PHP embedded HTML for a frontend and call it a job done

#

Lol

warm sleet
#

well

#

the CMS they use also has a nonheadless variant

#

but that is running ontop of ASP.NET

#

and very fat

mellow prawn
#

Yikes

warm sleet
#

they offer this as a SaaS solution called "Umbraco Heartcore"

#

and thats what i am developing for

#

its relatively new

#

@mellow prawn main reason why I also use typescript for this

#

is that the whole frontend development team, currently writes most of their sites with Mithril.js

#

and they embed this into a .NET controller

#

kinda messy, don't need 99% of the stuff in .NET

#

so node is easier to use, and...

#

we're no longer platform dependent

mellow prawn
#

I suppose

#

I mean it looks clever

warm sleet
#

@mellow prawn thank fuck I dont have to pay for licensing

#

cus i would never use this privately

#

I'm using a professional instance right now

mellow prawn
#

Woah

#

How are you not paying

upbeat nymph
#

So we just gonna ignore the fact that Laravel exists?

nocturne galleon
#

Should I make my BST nodes for a chess engine out of structs or classes?

warm sleet
#

@mellow prawn this is for an internship

#

so its provided to me

#

@nocturne galleon what lang?

nocturne galleon
#

c++

#

@warm sleet

warm sleet
#

@nocturne galleon the difference with a struct and a class

#

is where its located in memory

nocturne galleon
#

then I could create deconstructors for them

warm sleet
#

structs can sit on the stack

#

structs can do just fine I think, but you need a class that contains the struct

#

so your BST is a class, but the nodes themselves are structs

#

or at least, thats how I would go about it in C#

#

not sure if C++ structs are any different

nocturne galleon
#

yeah I was just thinking it would be simpler to operator overloading for nodes that are in the form of a class because then I could just do node 1 = node 2 and then all the data would be easily transfered that way?

#

If I have a shitton of objects laying around with classes filled with data and I am constantly creating new ones. Will it matter memory wise since the deconstructor will be called in the end releasing all the data or should I release it when it's not used anymore?

round dome
#

:!!!!!!!

warm sleet
#

@nocturne galleon structs are value types

#

not objects

#

you have one BST objects

#

that contains all the struct instances

vital blaze
#

structs can sit on the stack
@warm sleet I'm pretty sure you can put classes on the stack and structs on the heap?

warm sleet
#

each node is a struct, that points to one or more children

#

@vital blaze class instances are objects, and any variables are merely pointers to a location in the heap

nocturne galleon
#

yeah but I could use classes aswell for nodes and then I could do something like node1 = node2 to copy the data and so on'

warm sleet
#

there's two kinds of types

#

value types

#

like integers

#

and characters

#

boolean

#

and such

#

and then there's reference types

#

these are complex objects, that you create with new

#

I'm drawing from my C knowledge here

#

but this pretty much applies to all OO languages with similair memory model

#

C doesnt have objects

#

it only has structs

#

you have to allocate memory on the heap manually

#

and use pointers and such

vital blaze
#

In c++ if you do not use the new keyword it get's put on the stack. If you use the new keyword you get a pointer to the object/value in the heap.

warm sleet
#

isnt there' scoping in C++ ?

#

if you add this code to class methods

#

and you'd have to allocate this on the heap anyways

#

@vital blaze you can pass a struct as a value type

#

if you put it into a parameter, it doesnt use a reference

#

I've only really programmed little C++ for an arm microcontroller

#

but most of that stuff was just plain C

vital blaze
#

I'm pretty sure it's the same with objects. Which is why you use the & in the method declaration to pass by reference.

warm sleet
#
typedef struct circular_buf_t {
  uint8_t * buffer;
  size_t head;
  size_t tail;
  size_t size;
} circular_buf_t;

int circular_buf_reset(circular_buf_t * cbuf);
int circular_buf_put(circular_buf_t * cbuf, uint8_t data);
int circular_buf_get(circular_buf_t * cbuf, uint8_t * data);
boolean circular_buf_empty(circular_buf_t cbuf);
boolean circular_buf_full(circular_buf_t cbuf);
#

this is how I did it in C

#

ages ago

vital blaze
#

This is passing the matrices in by reference because of the &

void render(const glm::mat4 &world, const glm::mat4 &view, const glm::mat4 &proj);
#

This would be by value

void render(const glm::mat4 world, const glm::mat4 view, const glm::mat4 proj);
warm sleet
#

yes

#

but if you get the value of a refence

#

its just memory address

#

where in the heap it is

#

I'm glad linux is C lol

#

at least I can fix things when they break

#

C++ too complicated for me

vital blaze
#

Just did a test

#include <iostream>

using namespace std;

class MyClass{
  public:
    int i1 =1;
    int i2 =2;
};

int main(){
  int stackInt = 0;
  MyClass  onStack = MyClass();
  cout << "int on stack " << &stackInt << "\n";
  cout << "onstack " << &onStack<< "\n";
  cout << "onstack.i1 " << &(onStack.i1) << "\n";
  cout << "onstack.i2 " << &(onStack.i2) << "\n";

  MyClass* inHeap = new MyClass();
  cout << "inHeap " << inHeap << "\n";
  cout << "inHeap->i1  " << &(inHeap->i1) << "\n";
  cout << "inHeap->i2 " << &(inHeap->i2) << "\n";
}

output

int on stack 0x7ffd908bdae4
onstack 0x7ffd908bdaf0
onstack.i1 0x7ffd908bdaf0
onstack.i2 0x7ffd908bdaf4
inHeap 0x5653bcd642c0
inHeap->i1  0x5653bcd642c0
inHeap->i2 0x5653bcd642c4
#

Crystal was saying otherwise.

#

That's where I learnt to so I don't blame him/her.

#

I was also just checking for my own sanity as well

warm sleet
#

@nocturne crypt I come from the world of java, and went onto C after that

#

but going to C++ from my C & Java knowledge, brain hurts too much

#

Only reason why C is dear to me is JNI

#

for when java sucks at this one operation

#

dont need that

#

not for the kind of compute I was doing with it

#

and tbf, I would just put a little json facade in front of it, and call it from shell

#

@nocturne crypt I wish java had operator overloading

#

and an object indexer would be nice too

north tide
#

java or python

vital blaze
#

Yeah I don't think I will be pulling any of those tricks any time soon.

warm sleet
#

C# has it

#

@nocturne crypt I've found this dodgy library in java that I've done it with :D

#

I've tried it

#

lemme find the code lol

#

@nocturne crypt I'm a master in classloading

#

written software that can be updated while running

#

ez

#

java can already dynamically update classlibraries

#

the new looks at type definitions from the local classloader

#

you can get the one from your current thread by reference

#

I've done aspect oriented programming in java too

#

its also quite nasty

#

its bytecode weaving

#

after compilation

#

you can add code blobs by annotation

#

or method signature

#

and have before(): after():

#

Its nice for big applications that have a lot of cross cutting concerns

#

things that need to be logged

#

in different places

#

because its for govt

#

and it keeps your codebase simple

#

you can just attach method calls by annotation

#

yeah but by default nothing happens

#
package com.knockturnmc.core.database;

import com.knockturnmc.api.database.BlockingCodeException;
import org.bukkit.Bukkit;

public interface PreventBlockingCode {

    /**
     * Ensures that the current method stack is executed from any thread but the servers primary thread.
     * This is validated through {@link Bukkit#isPrimaryThread()}.
     *
     * @throws BlockingCodeException if the method stack that executes this method is run from the primary server
     *                               thread.
     */
    static void ensureAsync() throws BlockingCodeException {
        if (Bukkit.isPrimaryThread()) throw new BlockingCodeException(Thread.currentThread());
    }

}
#

mh

#

ok nvm

#

wait

#

this is old!

#

it got removed in new version lmao

#

look, other people maintain this project for me now

#

I've written the first 30k lines

#

lemme checkout older version ffs

#

friend of mine reworked the API

#

removed the weaving

#

ok so

#

forget what you saw above

#

you have this annotation:

package com.knockturnmc.core.database;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface PreventBlockingCode {
}
#

this is an annotation

#
    @PreventBlockingCode
    @Override
    protected OfflineMagicUser _getOfflinePlayer(UUID uuid) throws NoSuchPlayerException {
        OfflineMagicUser magicUser = ProceduresImpl.getOfflinePlayer(uuid);
        if (magicUser == null)
            throw new NoSuchPlayerException(uuid);
        return magicUser;
    }
#

this is part of the public API

#

and these calls, do a direct sync call to the database

#

and these programmers, are idiots

#

so they use main game thread

#

to call this in an eventhandler

#

this is to make sure, that doesnt happen

#

because my plugin will start throwing errors and stuff, and they blame me

#
package com.knockturnmc.core.database;

import com.knockturnmc.api.database.BlockingCodeException;
import org.bukkit.Bukkit;

public aspect BlockingCode {
    pointcut preventBlocking(): execution(@PreventBlockingCode * *(..));

    before(): preventBlocking() {
        if (Bukkit.isPrimaryThread())
            throw new BlockingCodeException(Thread.currentThread());
    }
}
#

now this, should be weird

#

ok no markdown support for aspectj

#

you can also pass parameters, but I don't need any in this case

#

oh yeah here. I found the other operator overloading example

#
    public static void main(String[] args) {
        MyObject obj1 = new MyObject(10);
        MyObject obj2 = new MyObject(5);

        MyObject objTotal = obj1 + obj2;

        System.out.print("Total value: ");
        //Prints 15
        System.out.println(objTotal.getValue());
    }
#
class MyObject implements Add<MyObject> {

    private final int value;

    MyObject(int value) {
        this.value = value;
    }

    int getValue() {
        return value;
    }

    public MyObject add(MyObject object) {
        return new MyObject(value + object.getValue());
    }

}
#
        <dependency>
            <groupId>java-oo</groupId>
            <artifactId>javac8-oo-plugin</artifactId>
            <version>0.5</version>
            <scope>provided</scope>
        </dependency>
#

and a ghetto compiler plugin

nocturne galleon
#

you still need to delete smart pointers right if they are not used?

hollow basalt
#

how smart do they need to be

nocturne galleon
#

200iq

#

just a regular unique_pointer

#

@hollow basalt

hollow basalt
#

@nocturne galleon you're right

nocturne galleon
#

that means that I would have to customize it right?

#

@nocturne crypt

#

ik

#

But it still doesn't delete itself after not being used anymore

#

I'd have to delete it myself

#

no

#

yeah but they just go out of scope if the function ends or the program reaches return 0 in main right?

warm sleet
#

lua scoping is fun

#

lua knows one datatype

#

table

nocturne galleon
#

so if I create a bunch of smart pointers through a class function and then I destroy that object. Would all the pointers go out of scope that were made through that specific object?

warm sleet
#

__constructor()

nocturne galleon
#

no but if I make a binary search tree

#

then it's dumb to

#

just delete each node for node

warm sleet
#

or wait

#

wasnt it __init()

nocturne galleon
#

like I dont have to basically reverse the process of building the binary search tree. I can only delete my BST object

warm sleet
#

only thing I know from lua, is setmetatable()

nocturne galleon
#

yeah

#

just read through operator overloading. And smart pointers came up there for like 2 pages. Gonna continue reading about templates in the next chapter

#

but yeah I was thinking I'd have to reverse the whole process of building up my BST

#

like delete node for every node

warm sleet
#

@nocturne crypt wrote a B-tree implementation for minecraft regions

#

xD

nocturne galleon
#

nah

#

C++ in one hour a day by Siddharta Rao

#

It does contain C++ 17

#

but not C++ 20

#

complete enough for me

#

Im gonna read through this one kinda and then I'm gonna continue with some data structure book and then I guess I'll read about C++ 20

#

now I'm just tryign to build my chess engine

warm sleet
#

wait

#

what do you use a b tree for in chess?

#

to chain movesets?

#

chess is two dimensional array

#

of pieces

#

and rules you check

#

each piece can only set amount of moves

nocturne galleon
#

I need it for my AI

warm sleet
#

and those are simple methods

nocturne galleon
#

lol you need it for searching moves ahead

#

yeah you do

warm sleet
#

bruh

nocturne galleon
#

well idk what you call it but its a tree with nodes

warm sleet
#

@nocturne galleon there is data, and then there's algorithms, that use that data

#

a chessboard is a table

#

you can just do ChessPiece[][]

#

@nocturne crypt yeah just have a big caselist

#

and every state

#

executes, and can change the state

#

and you can also do logic like interrupts and timers

nocturne galleon
#

idk what terminology you are using but for the simplest and advanced chess engines you use the minimax algorithm

#

and alpha beta pruning

warm sleet
#

🤣

nocturne galleon
#

huh I've looked at some open source engines and they all use a tree

vital blaze
#

Minimax uses a tree structure but it's not a binary tree.

nocturne galleon
#

A TREE WHATEVER

nocturne galleon
#

IDC what you call it but it has nodes and look kinda like a binary search tree

#

@nocturne crypt I dont think you've seen a woman ever

warm sleet
#

wat

#

@nocturne galleon why do you ask us, and then argue with us

#

Both of us have years of experience

nocturne galleon
#

Im not arguing I just said that it looks like a tree

#

it has nodes and shit

warm sleet
#

yeah, but we're saying that the aproach you are taking, will not work

nocturne galleon
#

how wont it work if literally seen videos of people creating a tree searching for moves and then evaluating it

warm sleet
#

wat

nocturne galleon
#

I literally saw a lecture made by MIT on the subject

warm sleet
#

you learn how to code on your own

#

you dont need some weird tutorial

#

once you know the basics, experiment, try things yourself

#

don't look at some video online

nocturne galleon
#

that is kinda whaty im doing

warm sleet
#

and think you can learn anything

nocturne galleon
#

But you gotta start somewhere

#

Im not gonna reinvent the wheel

warm sleet
#

but you are

nocturne galleon
#

doing some research on the subject

warm sleet
#

it is done my lord

nocturne galleon
#

lol I dont understand why u are so triggered or if your just joking around

#

just looked up decision tree and it looks exactly as the thing I was trying to describe

#

@warm sleet

#

and the things you are describing is some alpha go advanced algorihtm that I wouldnt be able to implement on my own since I dont even know scoping well enough

#

and last time I checked I think they were using a desicion tree with several optimizations

#

like some monte carlo stuff

#

with a neural net

#

@nocturne crypt

#

and Im not trying to make a chess engine that will contend with alpha zero

vital blaze
#

@nocturne galleon If you want to try learning the techniques required for making an AI to play chess. I'd suggest to learn the basic concepts with less "complicated" games. If you use minimax for chess you need to do optimazations such as alpha-beta pruning and others since there are so many game states. But if you try to learn minimax with a game like tic tac toe you can apply the vanilla algorithm.

Also I'd recommend getting a good understanding of programming first. But you don't need to be up to date with all the fancy new language features like some people here are saying.

worn relic
#

Running a python program in terminal. It errors and says global name ‘b_chunk’ is not defined.

#

What can I do to fix this

midnight wind
#

define b_chunk

#

bascially somewhere in the program, you never decalered b_chunk

worn relic
#

Oh ok. I’ll have to look into the code. It’s not my program.

midnight wind
#

is it open source?

worn relic
#

Yes

midnight wind
#

if you find the error and fix it, then submit a pull request(with the new code), if not submit an issue

worn relic
#

I prolly won’t. It hasn’t been updated in about 5 years. A pr won’t do much.

midnight wind
#

oh, then yeah, however I submitted a pull request to our school's gpa calulator and someone actually merged it

worn relic
#

Oh really wow.

#

Is there anywhere specific I should look for b_chunk. Or am I going to have to look through everything.

midnight wind
#

I would just CTRL + F

worn relic
#

Ok. There’s several different .py files. I meant will there be a certain one I’m looking for.

midnight wind
#

I belive there is a tool to find a specific phrase between different files

worn relic
#

It’s on macOS btw.

#

I’ll look it up.

#

@nocturne crypt so what should I run. Grep b_chunk

#

Never mind. I found the creators discord and dm’ed him. He made a commit and is testing.

vital blaze
#

Just for reference grep -r 'b_chunk' . from the project directory is the command.

worn relic
#

Would that tell me which file it is in

vital blaze
#

Yeah

worn relic
#

Ok thanks

vital blaze
worn relic
#

The changed code in the commit worked. But thank you guys for what you taught me.

vital blaze
#

I have not been following the history of C++

#

I'm too used to people just saying too use the new thing since it's fancy.

#

I assumed wrong then.

worthy dirge
#

C++20 templates```cpp
auto function(auto&& parameter)
{...}

#

You just have to love it

warm sleet
#

when you compile code for atmel chips and run out of static ram

#

instead, you put your constants into program memory :3

tulip oracle
#

Skip compiling and just write it in AVR assembly instead 😛

warm sleet
hollow basalt
#

the more the better

warm sleet
#

webstorm refuses to start

warm sleet
#

oof

#

they werent joking

upbeat nymph
#

Okay guys, want to expand past what I already know. Thinking about this website that will benefit me mainly. But my question is, do you all have recommendations for frameworks to use for it? I use NodeJS/TypeScript for most all, but I'm not opposed to branching out. It will require OAuth as well. Thinking about making a separate React or VueJS frontend for it and then having another backend for handling all the other stuff. Will probably need to do some cron tasks/scheduling as well...doesn't have to be directly integrated...but I know I'm used to Laravel's scheduler for a lot of that stuff. Just looking for recommendations to expand my knowledgebase.

spring pond
#

im using django for my website. it can handle a lot and is very easy to expand with modules. it also comes with all of the benefits of using python

upbeat nymph
#

I've honestly never used Python in my life

spring pond
#

its very easy to pick up especially since you already have familiarity with other languages

upbeat nymph
#

Hmm, how's it with OAuth? Or maybe I should just ditch OAuth and do my own login. Jut Django have scaffolding for that? Especially for integration with a React based front end?

spring pond
#

django-oauth-toolkit

#

its an addon that i use for oauth

#

it does everything for you

#

honestly, the future of web development is based on native technologies like Golang, Rust, and C++. If you want to expand your knowledge that's where you'd do it
imo native languages are a hassle (I tried making a web server on C++, big mistake and cost me a month of time) and the performance gains are negligible for a non-massive website

#

well ill admit ive only worked with c++17 but when i looked at the 20 spec i didnt see any massive changes

#

the import stuff changed and thats about all i got from it

#

ohhhhh are they like protocols/generic constraints in swift

#

thats cool if they are

#

huh

#

well thats definitely a cool feature

vestal glen
#

And it'll disappear just like PHP

#

that's my point

#

well, it is used in some very old and trusted software, like wordpress. So that seems like a good reason to keep it alive to me, if you didn't want to re-invent wordpress

#

every programming language is a security risk.

#

I am happy that I don't have such an elitist world view^^

spring pond
#

^

#

i somewhat disagree with the "real talent is supporting other languages", i think that php is just not built or maintained very well

#

but every other point is good

upbeat nymph
#

no, just learn OAuth
@nocturne crypt to be clear, I know OAuth...it's more of do I want to limit myself to supporting only one service/platform for the sake of simplicity by just implementing OAuth or do I want it to be more flexible by allowing people to just register themselves. That was really my entire point.

#

Because it's related to gaming shit

spring pond
#

Because it's related to gaming shit
if you are doing anything related to gaming you need to use a native language

#

(as in something akin to a csgo server)

upbeat nymph
#

You can do that with OAuth . . .
I know that, I'm just debating between making essentially just making my own for the React frontend vs using generic 3rd parties since things like "Sony" don't have a public OAuth that I could find. Although I may just be overthinking it because the reality is, most people who it would target and would care already have BNet anyway shrugs it's probably me trying to plan for a problem that doesn't exist and may not exist.

if you are doing anything related to gaming you need to use a native language
@spring pond not like that, it's just to track numbers and generate graphs and basically do some automation. I do it locally with my spreadsheets, but manually updating it takes time and some people I know expressed wanting to be able to do it themselves and there not being a system for it. Honestly, I could just straight up make a completely downloadable version and say "fuck automation" but then again...that's the point. so I can kind of do it and forget about it. hahaha

spring pond
#

well then i go back to my django recommendation

upbeat nymph
#

yeah, which is what I've been looking at.

spring pond
#

my oauth implementation using django-oauth-toolkit allows for my users to either create an account with my service or use something like google or apple

#

django's orm is also very nice which will be good if you want to do advanced relations

upbeat nymph
#

I guess really it will only handle a few tasks

  • Login/Registration
  • Adding accounts to track
  • Generating graphs (can be done client side though)
  • and automated task to scrape the data...

Really that's it. shrugs

spring pond
#

well django can do all of that

upbeat nymph
#

Whatcha mean?

hollow basalt
#

Phoenix is right

midnight wind
#

@nocturne crypt my friend is learning php, I tried telling him to not

warm sleet
#

I've done my own OAuth-esque token store before

#

accept credentials, return token that's valid for a given time

#

the token then also has a token you can use to renew a token

#

hurr

#

OAuth is just a reference implementation

#

guaranteed to work with many other services

#

but the concept is the same with all of these

#

never use userpasswords in regular appplication flow.

night kraken
#

hi

#

anyone knows a good python 'online' tutorial?

hollow basalt
#
nocturne galleon
#

Is it possible to cout to a second terminal window? So that when the program starts Ill have to terminal windows open

#

?

spring pond
#

you're probably gonna have to look into os-specific libraries for spawning and talking to different processes

worthy dirge
#

On Windows it's impossible

#

You need to spawn another process and use pipe to send data to that process

#

Don't know about linux

nocturne galleon
#

So I cant like have like a live report of everything happening in the program, I have to write it to a file to check later or?

#

like a log

spring pond
#

couldnt you just print it to the same window

nocturne galleon
#

yeah but problem is my program is inside the terminal window making it much neater having 2 terminal windows

worthy dirge
nocturne galleon
#
#include<iostream>
using namespace std;
class B 
{
public:
    int d=3;
    void setd(int a) { d = a; }
    void printd() { cout << d << endl;}
    void operator=(A* ptr) 
    {
        this->d = ptr->d;
    }
};
class A : public B
{
public:

};

int main()
{
    
    B BObject1;
    A AObject1;

    BObject1.setd(11);
    BObject1 = &AObject1;
    BObject1.printd();


    return 0;
}```
#

Why does this not work and how do I make it work

#

Basically wondering how to do operator overloading between two different objects which are someway connected through inheritance/polymorphism I guess?

worthy dirge
#

You need to forward declare A, forward declare this function, and define A fully, then define this function

nocturne galleon
#

thx

worthy dirge
#

You should know the compiler generate a default operator= most of the time, but they are references not pointers

#

Instead of b_obj = &a_obj; you just b_obj = a_obj;

worthy dirge
#

I made a wrapper for all these shit so that all you need to understand is ```cpp
std::cout << "On window 1\n";
Console console2;
console2 << "On window 2\n";

worthy dirge
#

How does this compares to boost::Process

crystal tundra
#

Finally some real programming talk on this channel

#

Not just Web dev stuff

hollow basalt
#

Are you saying web dev isnt programmig

crystal tundra
#

Im saying that web dev is a lot of markup languages

#

And also the worst ever language js

hollow basalt
next nest
nocturne galleon
#

jesus christ didn't know you could be that butthurt over a joke

nocturne galleon
#

When you kept insisting on some weird name and I constantly said "some kind of tree" not caring about the exact specific terminology. So I though you were just kidding around trying to play an irritating person like that guy in the class that says to the teacher you didnt give us any homework. And thats why I asked you jokingly have you ever seen a woman. And then later I replied to your thing about the alpha go stuff but you never replied to that so...

#

sorry if you misunderstood me

crystal tundra
nocturne galleon
#

Well I guess it doesn't matter since PhoenixFlower blocked me so

#

some people are just wired differently

#

There is no such person as PhoenixFlower on this server

cinder kraken
#

there was

nocturne galleon
#

why did he leave

crystal tundra
#

yeah i never saw him on here

#

however last night at 1am i got a dm from him

#

completely unprompted