#💽Programming Chat v2

1 messages · Page 51 of 1

timid quartz
#

ok but what about WEATHER RADAR!!!!

spare quartz
#

ugh stop developing autism weather boy.

#

rate our ico

wheat hornet
timid quartz
spare quartz
#

exactly.

#

rare point in my life where i actually have too much food

#

hm

#

now that we actually have a wildcard cert with all the right chains n all

#

im gonna see if i can finally distribute videos yet

#

(of course i havent added Range so i expect something bad to hapen)

timid quartz
#

don’t you need to reimplement smtp for the third time

spare quartz
#

actually fifth

#

but that means im practically an expert in it so i dont mind

timid quartz
#

why do you keep redoing it 😭

spare quartz
timid quartz
#

that’s not an answer

spare quartz
#

yknow i plan to supersede the DNS stack in our server too

#

and THANKS TO YOU i actually know how

timid quartz
#

oh no

#

it’s because I made you use C#

spare quartz
#

yes

timid quartz
#

which is basically just better Java

spare quartz
#

i will concede on that point.

timid quartz
#

wow really

spare quartz
#

yes

timid quartz
#

surprised

flint belfry
timid quartz
#

Need to make you use Rust again..

spare quartz
spare quartz
timid quartz
timid quartz
spare quartz
#

whats a clr again

timid quartz
#

Common Language Runtime

spare quartz
#

oh you mean the jvm

timid quartz
#

ie the JVM for C#

#

yeah

spare quartz
#

i mean for Kotlin/JVM there is obv

#

for kotlin multiplatform its a bit more involved

timid quartz
#

yeah but there’s no “Kotlin” that runs on the CLR

#

which is :(

spare quartz
#

ask jetbrains to make a compiler for that

timid quartz
#

real except they already have married Java

spare quartz
#

iirc their compiler is written in kotlin...

timid quartz
#

Married the JVM*

spare quartz
#

idk what to tell you

timid quartz
#

Honestly they could make a Kotlin/CLR target

spare quartz
#

they should've stopped making cpu architectures

#

should've just stopped at picoJava

timid quartz
#

ok anyways I sleep

timid quartz
#

also ngl I do wanna see how fast I could make TLS work in Ada

#

if I’d bang my head in the same spots as Rust

spare quartz
#

using a premade library or the protocol itself

timid quartz
#

A lib

#

I don’t wanna reimplement it rn

spare quartz
#

"rn"

timid quartz
#

idk maybe later

spare quartz
#

no you'll never want to implement tls in ada or rust or anything

#

i'd say maybe kotlin but 99.99% of the work is done for you by JDK all the way back in like

#

1.4

#

dare i say it the JVM has the best TLS stack out of any platform

timid quartz
spare quartz
#

yes

#

more specifically the encryption part though

#

if you have little to work on (e.g. in ada) you're essentially gonna have to learn the entire field of cryptography

timid quartz
#

makes sense

timid quartz
#

C#’s doesn’t look bad either but I’ve never used it

spare quartz
#

looks similar to the JDK's tls stack

#

JDK's is a tiny bit contrived in how you import certificates/keys though

#

since it mainly relies on the JKS format

timid quartz
#

what facilities does ada have for TLS

#

wolfssl?

spare quartz
#

absolutely none as its not standardized in the language

#

library wise you have either bindings to openssl or wolfssl

#

hopefully it becomes standardized in the 2030s though

timid quartz
#

lol if only

#

Ada will probably not be a public language by then

spare quartz
#

itll last

timid quartz
#

privatized into the only entity that uses it: the military

#

$3000 license to use it outside of that

spare quartz
#

it's always been public

#

the first compiler made for it was a university after all

#

then it was moved to GNU

timid quartz
#

ok anyways sleep

#

and then eventually PPP

spare quartz
spare quartz
#

nope no video playback yet..

spare quartz
#

need to subtract 1 from index and have 3 sigfigs

spare quartz
spare quartz
#

got mailboxes working with authentication without needing to write a login prompt

#

even works on phone

spare quartz
#

ughh

#

gotta email IANA back on how our Assignee email is working soon

#

also gotta make a mailbox for iana.contact

spare quartz
#

first email! jusut gotta savei t

timid quartz
spare quartz
#

Kotlin

#

I’m CURRENTLY hyperfixated on a bayachao character and you’ll never guess who

timid quartz
#

kohaku

timid quartz
spare quartz
#

WRONG

#

コニー

timid quartz
#

だれ

#

Idk who that is

#

Is it the goober in your profile banner

spare quartz
#

no that’s Pain

spare quartz
#

hmm.. how to phrase this..

timid quartz
#

That’s correct grammar

spare quartz
#

I know it is, but it’s really basic

#

I’ve got でも… 私はも言った, but I don’t know how to continue it correctly

#

trying to say “but, I said that initially too”

timid quartz
#

You could omit the 「彼女は」because the subject is clear

#

And just say 「警察官です」

spare quartz
#

but is it REALLY clear that it’s a she…

#

what if you thought they were a boy..

timid quartz
spare quartz
timid quartz
timid quartz
#

Translated it’s like “but I already said that, yknow

spare quartz
#

ehh, not the exact tone I was looking for

#

but good to know

spare quartz
#

“As well” …

timid quartz
#

Also like if someone is like 「これは何ですか?」you can say 「警察官ケモノですよ」with the よ kinda asserting that the new information you’re presenting is right

#

It’s like “you’ve asked for new information and I’m presenting it”

#

It can be used a few ways like everything in Japanese

#

But it generally has some kind of tone of asserting something

spare quartz
#

Adaは良いよ。

timid quartz
#

悪いよ悪い

spare quartz
#

😭

timid quartz
#

最悪だよ

timid quartz
spare quartz
#

Hmmm…

spare quartz
#

this is probably gonna look real awkward buttt

spare quartz
#

probably able to omit 君は..?

timid quartz
#

wow smh

spare quartz
#

what!!

timid quartz
#

what you said

#

But yeah you could probably omit the 君は

spare quartz
#

:<

timid quartz
#

maybe instead of よく you could say いつも

#

idk

#

I think よく still works

spare quartz
#

I’m gonna be honest I only know of ですか from

#

like, that game where you ask questions until you get what the people are thinking

#

except it’s about guessing hot dogs

#

I know か alone also indicates a question but I dunno where either are super appropriate

#

(also know of の at the end being more emotionally charged… thank you bayachao fox game)

timid quartz
#

correct about ですか

#

And か alone

spare quartz
#

immersion 💪

timid quartz
#

の at the end is a form of another grammar structure んだ which is broadly the “explanatory form”

#

it’s uhhh

#

Idk it’s a little tough to explain because it carries a lot of nuance and I’m not sure I totally understand it either

spare quartz
#

I only know two meanings of it, really

#

The possessive particle and, again, in more emotional contexts

#

Jisho says it can be used as a question/confident end interestingly

#

ペコペコ…

timid quartz
#

like idk the best way I could explain it is that it adds "it's because" somewhere in the sentence but it's also more than that

#

so like
あついです - "It's hot"
あついんです - "[It's because] it's hot"

#

there's a ton of other nuances

#

so like if you were to say "sorry I couldn't [do something]" I could say なにがあったの?("[Is it because] something happened?")

#

in that case the nuance is like "I have some interest in why you couldn't [do whatever] and would like you to tell me what happened"

#

you can google "Japanese explanatory form" and you should get a lot of good answers

spare quartz
#

OUR EMAIL WORKS

#

🥳

flint belfry
#

are you using Google smtp or

spare quartz
flint belfry
#

taking that as a no

spare quartz
#

i dunno what that is

#

koay just emailed the iana employee back

timid quartz
#

":3"?

#

you should totally email that to an iana employee

timid quartz
# spare quartz

"bro I just use thunderbird if ur 'custom' mail server aint gonna receive mail then ur not getting ur port"

spare quartz
#

but it should receive mail from any mail server if they're properly operating on 587/25

#

SMTP is honestly the simplest protocol to implement (on par with HTTP)

#

just wait till we make our own DNS server and not have any form of contact with them for a week 🧌

timid quartz
#

what if I make a rust dns server faster

spare quartz
#

you wont.

timid quartz
#

oh chatgpt

spare quartz
#

ada

#

thats what you should write yours in

timid quartz
#

mmmmmmno

#

I thought you were on a good streak with all this Kotlin you've been writing

#

like sure it's less ideal but at least it's not Ada

spare quartz
#

its false.

timid quartz
#

true

#

ada == outdated

#

rust is basically just better ada

#

with actual heap allocation w/ automatic memory mgmt w/o gc

spare quartz
#

ADA HAS BOTH

timid quartz
#

ok u have auto mem mgmt on the stack

#

heap allocation u gotta Unchecked_Free or whatever

spare quartz
#

have you thuoght about that

#

?

timid quartz
#

mmm

#

what if it's too big to fit on the stack :3

spare quartz
#

make a bigger stack

#

idiot

timid quartz
#

mmmm what if you wanna share data

#

like uh

spare quartz
spare quartz
timid quartz
#

procedure B allocates a new array or smth and returns it to procedure A

#

stack reference is invalid

spare quartz
#

we uh

#

okay so im trying not to laugh cause

#

teh serious answer to that is ada has a secondary stack for returns like that 😭

timid quartz
#

in rust we'd probably just uh

#

either return a &Vec which iirc is heap allocated

#

or return a Box which is 100% heap allocated

spare quartz
#

: <

timid quartz
#

vec is heap allocated

spare quartz
#

in ada/gnat vectors are "special"

timid quartz
#

also @spare quartz what happens if you have a vector (i.e., a dynamically sized array -- iirc these are "containers" in Ada) and you wanna grow it but it's on the stack and has variables allocated above it

spare quartz
timid quartz
#

elaborate

spare quartz
#

a vector with discrete types can be stack allocated, theoretically

#

actually no

#

they are

#

the exact semantics depends on how GNAT implements vectors but iirc functions return them on the normal stack: i'm not certain on how they're grown

#

for vectors with indiscrete/variable size types they're heap allocated with automatic memory management (for the vector itself)

#

since in ada the only way as a developer you're supposed to handle heap allocated stuff is access types which are manually handled by the developer..

timid quartz
#

but how does it know when to free the heap memory if there's no borrow checker :3

spare quartz
timid quartz
#

ok that makes sense

#

but what happens if it lives outside of the block

#

:33

spare quartz
#

then its up to you to handle it, duh

#

same thing in rust

#

it doesnt make sense to auto-free up a heap allocated object thats "global"

timid quartz
#

mm in rust you have to start dealing with lifetimes (probably) but the compiler handles it all for you

#

because the programmer is stupid

#

and will make memory mistakes

#

a fatal flaw of ada

spare quartz
timid quartz
#

me when I overflow ur buffer cause u compiled in release mode w/ opts which removes bounds checks

spare quartz
#

the worst that could possibly happen is memory that's never reclaimed which isn't something the language or any compiler can solve

spare quartz
#

the compiler will only remove checks if you have formally proved they can't happen mathematically

#

even if you compile with -gnatp which suppresses checks it will force checks in your code where it sees fit

#

this is why kernel crashes can happen in ada with a barebones environment cause the compiler forced a GNAT check, and you guessed it: there is no GNAT implementation

spare quartz
timid quartz
#

the borrow checker

#

that tells u when u can free memory safely

spare quartz
#

if you heap allocate an object that is GLOBALLY managed

timid quartz
#

and moreso than tells you, automatically inserts memory freeing

spare quartz
#

it is impossible to automatically determine where to free memory

timid quartz
#

rust has done it

spare quartz
#

i need an example

#

in ada the only way to leak memory (in a "safe" way) is an access type which you are expected to know what you're doing with

#

it is not very often you use access types

timid quartz
spare quartz
#

not applicable

timid quartz
#

mm yes it is

spare quartz
#

it isn't

timid quartz
#

how so

#

it's an example of the borrow checker knowing when to free memory

spare quartz
#

in ada "references" are not a thing and 99.99% are stack allocated/automatically managed

timid quartz
#

ok well in rust, other stupid things in ada dont exist so

spare quartz
#

then its not applicable stupid!

#

find a better example

timid quartz
#

exactly so

#

there's no point in saying that it's not applicable

#

hold on im gaming

spare quartz
#

reason i stated 99.99% of the time is cause the 0.01% is System.Address or using an access/alias

#

but access/aliases are automatically managed as they're tied to an object in a block, and System.Address is just directly modifying memory

timid quartz
#

ok fine

timid quartz
#
struct Stupid<'a> {
  // the lifetime 'a is associated with
  // instances of struct Stupid
  // the lifetime annotation here means
  // that field dumb lives for as long
  // as the outer struct
  dumb: &'a str,
}
#

this is used by the borrow checker

#

to know when to free things

spare quartz
timid quartz
#

you could also have a shorter lived lifetime given to dumb (idk rlly how but it's possible)

spare quartz
#

are you sure?

timid quartz
#

yes

#

lifetime use != mandatory heap allocation

spare quartz
#

what does it need to be accounted with to be used

timid quartz
#

either stack or heap

spare quartz
#

i mean code wise

#

because im not super familiar with how you code in rust

#

and you clearly can't use that as an object like in kotlin

#

and if it's "freed when the block ends" we have that in ada, return it in the secondary stack and initialize a variable with it

timid quartz
#
struct Stupid<'a> {
    dumb: &'a str,
}

fn main() {
    let bruh = Stupid { dumb: "lo" };
    println!("{}", bruh.dumb);
}
spare quartz
#

it'll get freed by the end

spare quartz
#
declare
  Not_Stupid : String := "meow";
begin
  Ada.Text_IO.Put_Line (Not_Stupid);
end;
timid quartz
#

well a &str was an easy example

#

but in general lifetimes are tags of information that help the borrow checker determine how long something lives

#

ergo when the memory can be freed

#

and probably where memory might need to be allocated

#

eg if it needs to be heap

spare quartz
#

formally ada does not define where things need to go, compilers can decide wherever (but we've spoken about this)

#

but RAII is very powerful in ada when determining when things should no longer exist

timid quartz
#

raii is goated

spare quartz
#

if im being honest

#

the main reason i havent been coding in ada recently is just

#

lack of tooling IDE wise 😭

timid quartz
#

well if you come to rust land...

spare quartz
#

vs code works but its inferior to intellij

timid quartz
#

well if you come to rust land...

#

(RustRover)

spare quartz
#

noooo thank you

timid quartz
#

no u still get everything that makes ada good

spare quartz
#

nope

timid quartz
#

plus you get an actual community

#

yup

spare quartz
#

i get it in a weird package full of nonsensical syntax

#

AGHHJ

#

WHYY ARE JAPANESE PEOPLE SO WEIIIRD

timid quartz
spare quartz
#

YOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

timid quartz
# spare quartz yo you got any good syntax? no, we got
struct Container<'a, T> {
    value: &'a T,
}

impl<'a, T> Container<'a, T> {
    fn new(value: &'a T) -> Self {
        Container { value }
    }

    fn get_value(&self) -> &T {
        self.value
    }
}

struct Wrapper<T> {
    inner: Container<'static, T>,
}

impl<T> Wrapper<T> {
    fn new(value: T) -> Self {
        let value_ref: &'static T = Box::leak(Box::new(value));
        Wrapper {
            inner: Container::new(value_ref),
        }
    }

    fn display(&self) {
        println!("{:?}", self.inner.get_value());
    }
}

fn main() {
    let wrapped = Wrapper::new(42);
    wrapped.display();

    let data = String::from("Rust");
    let container = Container::new(&data);
    println!("{}", container.get_value());
}
#

beautiful syntax

spare quartz
#

UGGGLY

#

it looks like perfectly good kotlin code after 500 years of bit rot

#

hold on

timid quartz
#

looks like perfectly bad kotlin code after 500 years of perfection

timid quartz
#
class Container<T>(val value: T)

class Wrapper<T>(value: T) {
    private val inner: Container<T> = Container(value)

    fun display() {
        println(inner.value)
    }
}

fun main() {
    val wrapped = Wrapper(42)
    wrapped.display()

    val data = "Kotlin"
    val container = Container(data)
    println(container.value)
}

gross kotlin

spare quartz
#

AHHHH!!! KEYWORD USED!!

timid quartz
#
with Ada.Text_IO;

procedure Main is

   type Container (T : Integer) is record
      Value : Integer;
   end record;

   procedure Display(C : in Container) is
   begin
      Ada.Text_IO.Put_Line("Value: " & Integer'Image(C.Value));
   end Display;

   type Wrapper (T : Integer) is record
      Inner : Container (T => 0);
   end record;

   procedure Create_Wrapper (W : out Wrapper; Value : Integer) is
   begin
      W.Inner.Value := Value;
   end Create_Wrapper;

   My_Wrapper : Wrapper (T => 0);
   My_Container : Container (T => 0);

begin
   -- Using the Wrapper and Container
   Create_Wrapper(My_Wrapper, 42);
   Display(My_Wrapper.Inner);

   My_Container.Value := 100;
   Ada.Text_IO.Put_Line("Container Value: " & Integer'Image(My_Container.Value));

end Main;
#

even UGLIER ada

spare quartz
timid quartz
#

🤢

spare quartz
#

remember VHDL?

#

its ada. because ada is so good.

timid quartz
#

imagine being so old that you need to write out your keywords completely otherwise you get confused

timid quartz
#

imagine being so old that you basically READ AND WRITE ENGLISH when you code

spare quartz
#

we shouldve stopped at ASCII

#

idk what to tell you

timid quartz
#

rust syntax is composed entirely of ascii :3

spare quartz
#

nope

timid quartz
#

yup

spare quartz
#

nope

timid quartz
#

proof?

spare quartz
#

proof.

timid quartz
#

smh

spare quartz
#

僕は人間の善性をそこまで信頼してないというか、ネガティブな意味ではなく"そういうもの"だと思ってるから(人間みんな大分不器用なので)仮にその手の良くないエピソードが事実としてあったとしても「まぁそういう部分もあったりするのかもしれんな〜」ぐらいに思ってる。

timid quartz
#

ADA USERS IN SHAMBLES

spare quartz
#

that was my soda

#

not me

timid quartz
#

just admit ur lang is obsolete and inferior

spare quartz
#

no

#

just admit your lang is a fad

timid quartz
#

what's one thing you use regularly in Ada that isn't in Rust

spare quartz
#

my internet

timid quartz
#

std::net

#

:3

spare quartz
#

inferior

timid quartz
#

superior*

spare quartz
#

iirc you dont even have stable cross platform RAW socks

#

😭😭😭

timid quartz
#

who needs em

spare quartz
#

EVERYONE

timid quartz
#

mmm there's a raw_socket crate

spare quartz
#

CRATE.

timid quartz
#

at least one crate

spare quartz
#

if you delegate everything to your ecosystem

spare quartz
#

im sorry to say it but the JVM floors you and your entire community

timid quartz
#

and a similar trait for unix

spare quartz
#

Ada/JVM users are the back to back champions since the 1990s..

#

💪

timid quartz
spare quartz
#

you're just mad you dont have your own interpreter.

timid quartz
#

why would I be mad about not being interpreted lmao

#

compiled to native code >> interpreted

spare quartz
#

JVM JIT:

#

interpreted code can be run anywhere...

#

but at least its not js!

timid quartz
#

sigh...

#

at least it's not js...

#

cough @red rivet @pastel tinsel

spare quartz
#

EWWW

#

WHY DID YOU PING THEM

#

THIS WAS A CLEAN CHAT!!

pastel tinsel
pastel tinsel
#

aera ur my 13th reason ❤️ 🥰 💖

#

😍

spare quartz
#

what does that even mean ??

timid quartz
# spare quartz WHY DID YOU PING THEM
   Mesoscale Discussion 0431
   NWS Storm Prediction Center Norman OK
   1014 PM CDT Sun Apr 06 2025

   Areas affected...Southeast AL...FL Panhandle...southwest GA

   Concerning...Severe potential...Watch unlikely 

   Valid 070314Z - 070545Z

   Probability of Watch Issuance...20 percent

   SUMMARY...Locally damaging wind and perhaps a tornado remain
   possible into the early morning hours.

   DISCUSSION...Widespread convection is ongoing late this evening
   across parts of south AL into the western FL Panhandle, in response
   to an approaching mid/upper-level trough, and a persistent
   southwesterly low-level jet. 

   Several small cells with occasional weak rotation have been noted
   across southeast AL. These cells may continue to develop within the
   low-level warm advection regime. Modest MLCAPE and weak midlevel
   lapse rates will tend to limit updraft strength, but rich
   boundary-layer moisture and favorable wind profiles (as noted on
   regional VWPs) will support potential for at least transient
   supercells, which may be accompanied by the threat of a tornado
   and/or isolated strong gusts. 

   Farther west, multiple loosely organized clusters have occasionally
   emerged from regenerative convection near/east of Mobile. Some
   threat for locally damaging wind and a tornado could develop if any
   of these clusters can become more organized and sustained as they
   spread northeastward with time. 

   Watch issuance continues to be considered unlikely, due to the
   expectation that the severe threat will remain rather isolated, but
   trends will continue to be monitored for an uptick in coverage of
   organizing storms.

   ..Dean/Hart.. 04/07/2025

   ...Please see www.spc.noaa.gov for graphic product...
spare quartz
timid quartz
#

:33

spare quartz
#

you are NOT "silly"

#

you are a college student

#

do your homework or whatever it is you do.

timid quartz
#

why don't you go watch your bayachao videos or whatever it is you do

spare quartz
#

I AM

timid quartz
#

or make a custom editor idk

#

poor man’s GNAT Pro

spare quartz
#

how

timid quartz
#

git

spare quartz
#

but like

#

you're gonan be coding in rust

#

im gonna be coding in kotlin

#

how do they join..

#

unless you'll be writing JNI

timid quartz
#

oh I figured you’d just use rust /j

timid quartz
#

you wouldn’t want to implement it in Ada?

spare quartz
#

you'd have an even harder time joining the two

#

since interop in rust isn't the greatest from what i know even if i export convention as C

timid quartz
#

ugh

#

where’d you…get this idea that I’d be using rust from…

spare quartz
#

you wouldn't write kotlin.

timid quartz
#

I have before…

spare quartz
#

sure ...

#

but id also need to give you creedntials to our server 😰

timid quartz
#

mmmwhy

#

GitHub

spare quartz
#

access to maven.javart.zip

#

where published artifacts are supposed to go

timid quartz
#

you can just publish them

#

or make a GitHub action to

spare quartz
#

laaammee

timid quartz
#

I might also write Ada too

#

idk

spare quartz
#

i mean if you're actually serious i do have some windowing work in place already

#

only for windwos thouggh

timid quartz
#

windowing for what

spare quartz
#

like

#

windowing

#

the code to create/manipulate GUI windows

timid quartz
#

OHH

#

I thought you were talking LSP not full editor

spare quartz
#

i dunno how lsps work 😭

timid quartz
#

giant spec

#

plus static analysis

spare quartz
#

i assume by giant spec you mean the protocol for microsofts lsp protocol rigth

timid quartz
#

yes

spare quartz
#

yeah i can do any protocol

#

btu the static analysis part

#

:<

timid quartz
#

you have to encode everything in json too

#

json rpc baybee

spare quartz
#

just usee this tiny incomplete thing im ade .. so easier..

#

except the

Peer A opens socket on port 30 (TCP)
Peer B listens to socket on port 30 (TCP)

part is deprecated since of the existence of BEG-DSCNP

timid quartz
#

virus

spare quartz
#

no .

timid quartz
spare quartz
#

horrible..

timid quartz
spare quartz
#

no email yet..

timid quartz
#

imagine they have emailed you but it bounced

spare quartz
#

it'd resend

timid quartz
#

imagine it stopped trying

#

or refused to send at all

spare quartz
#

the thing is we're not allowed to SEND email

#

at least not until we get our second server

#

theres only one issue with relying on WWW-Authenticate

#

browsers won't get the memo that two mailbox paths use different authorization headers

#

also emails are so fat

timid quartz
spare quartz
#

no, just read it's mailbox

#

like you can't read my mailbox without the right password

#

@timid quartz

#

you're confusing it,...

timid quartz
#

damnit I’m running openssl s_client with -starttls smtp

#

why it no starttls

spare quartz
#

it says it is..

#

ughdfugd

#

its MAIL FROM:<x>

timid quartz
#

I realize

spare quartz
#

why did you quit!!

#

actuallyi cant send that one here

#

liar..

timid quartz
#

oh cmon

spare quartz
#

i havent added any DKIM/SPF yet so

#

try not to abuse that too much yet..

#

should probably add a favicon soon but idk what to pick

timid quartz
#

check ur inbox

spare quartz
#

i wonder what that could be

timid quartz
#

zip bomb!

#

not really

spare quartz
#

i think you're right..

timid quartz
#

LOL

flint belfry
#

you copy everything so what's new

spare quartz
#

need 2 make static GREEN site

flint belfry
spare quartz
flint belfry
spare quartz
#

<he says, as he has no idea how the web works>

flint belfry
spare quartz
spare quartz
#

talking bout making our own DNS with codev rn

#

as well as automation/succession of certbot

spare quartz
#

backup server being shipped tmrw

#

we'll be able to serve the entire eastern seaboard with this one

spring harbor
timid quartz
spare quartz
spare quartz
proud creek
#

@pastel tinsel

pastel tinsel
#

true

spare quartz
#

horoay static server is operartional

timid quartz
#

Bro thinks they’re BBI

spare quartz
#

??

timid quartz
spare quartz
#

HACKER

#

STOP HACKING

timid quartz
spare quartz
#

:3

timid quartz
#

I want to be free of this semester

#

rrr

spare quartz
#

mmmm

proud creek
#

cookie

spare quartz
#

got my project assignment today 💯

#

guess who has to write SSH in JS

lavish dove
#

Lmao

spare quartz
spare quartz
#

kts migration done

#

now to write js

timid quartz
spare quartz
#

actually a good idea

#

thanks

timid quartz
spare quartz
#

um

#

what teachers

#

?

timid quartz
spare quartz
#

no lol

#

project as in a bread experts group project

timid quartz
#

oh

#

ok yeah

spare quartz
timid quartz
#

Kotlin/JS

timid quartz
spare quartz
#

intellij context menu

#

actually i forgot my computer education classes from 2015

#

its the menu thats apart of the title bar

timid quartz
#

oh gg

spare quartz
#

🤢

timid quartz
#

docker ❤️

spare quartz
#

useless

timid quartz
#

mmm nope

spare quartz
#

mm yes

timid quartz
#

very useful in fact

spare quartz
#

tool whos sole goal is to let developers stop developing their server applications correctly

#

horrible

timid quartz
#

false

spare quartz
#

tell me what else it does that isnt just letting you commit sins on file systems

#

ugh i feel like playing with the power brick suspended next to me but if i fidget with the led itll shut off my entire setup :<

timid quartz
#

easier deployment of server apps

#

because everything is set up correctly and bundled nicely in a container

#

so it's as easy as giving it environment variables/a config path and running it

spare quartz
#

not that hard..

timid quartz
#

DS?

#

like

#

nintendo?

spare quartz
#

distributed system but SURE... yknow why

timid quartz
spare quartz
timid quartz
#

ALSO because they're containers they're sandboxed

spare quartz
#

ew systemd

#

EW SANDBOXING

timid quartz
#

me when I hijack your http server and get control over your entire system cause it wasn't sandboxed

spare quartz
#

really i just prefer more "traditional" distributed services with messaging

spare quartz
#

thats what we have lines for

timid quartz
#

you can make "traditional" distributed services with messaging if you package them all in containers

spare quartz
#

no

#

thats just needless bloat

spare quartz
#

and BLUE servers are designed to exercise file system control through specified stores

timid quartz
spare quartz
#

(which are inherently locked)

spare quartz
#

on the left, just. design your servers right. its not that hard?

timid quartz
#

besides your point about bloat is irrelevant on linux

spare quartz
#

no

timid quartz
#

there's no virtualization done

spare quartz
#

you said wrapping a distributed service over a container

timid quartz
#

you're not really adding anything because it all still interfaces with the underlying kernel

spare quartz
#

you're wrapping a message twice essentially

timid quartz
#

mmm not really

spare quartz
#

yes really

#

docker/whatever -> messaging interface -> service

timid quartz
#

[ container 1 ] --- vlan --- [ container 2 ]

#

is how it would look

#

the vlan is no different than a normal linux vlan (if running on linux)

spare quartz
#

okay, but inside those brackets, are the needless bloat

#

i was saying bloat towards a DS inside a container

timid quartz
spare quartz
#

not any regular server

spare quartz
#

and another question

#

what does docker really do if say

#

you only have one server and are expected to remain with just that server

timid quartz
#

you can run multiple containers on one server?

spare quartz
#

not my point

spare quartz
timid quartz
#

unless you mean one server for your distributed app

spare quartz
#

virtualization/sandboxing is effectively just letting you design your server badly

timid quartz
#

hard disagree

#

better to have a sandbox and not need it then need it and not have it

spare quartz
#

but when would you need a sandbox?

timid quartz
#

off the top of my head, barring any security vulns, at least to keep your app (config files, temporary stuff, etc.) organized in one spot

spare quartz
#

organization is a fair point

#

but ill admit im biased against it (i prefer no configuration files)

timid quartz
spare quartz
#

health checks as in?

timid quartz
timid quartz
#

what the command does is up to the person making the app

spare quartz
#

what does it do if it reaches a failure condition

timid quartz
#

you can configure that

spare quartz
#

that just sounds like a cron job to me in all honesty

timid quartz
#

it is but it's organized within docker/podman/whatever you use

spare quartz
#

ugh hold on

#

these stupid ass scanners

timid quartz
#

even more powerful when you use say docker compose which lets you define one config file to deploy an entire set of services

spare quartz
#

oh my god

#

i oughta start IP banning 😭

timid quartz
#

fail2ban moment

spare quartz
#

some of them just sending random ass data

timid quartz
#

it has its upsides and personally I prefer it to "normal" deployments

#

mainly because of the ability to manage, restart, scale, etc. as needed, the ability of things like docker compose to declaratively create a set of services to be used together, and because organizing everything into containers keeps the underlying base os clean

#

the organization also includes dependencies

spare quartz
#

very interesting design that i feel like should be expanded upon

#

current implementations are strange to use

timid quartz
#

should take a look at nixos and fedora silverblue

#

well ig those are "immutable"

#

but the updates are "transactional"

spare quartz
#

also enjoy how macos does their method of application storage

#

it's not as contained as what you've described but

#

it's a lot better than what's present on many linux distros/windows

timid quartz
#

it's similar

#

because the core app stuff gets kept inside the "app"

#

but it does sprawl out

#

whereas a container would keep everything inside the container

#

*unless otherwise allowed

spare quartz
#

lemme just find my notes for something

timid quartz
#
# conduwuit

services:
    homeserver:
        ### If you already built the conduwuit image with 'docker build' or want to use a registry image,
        ### then you are ready to go.
        image: registry.gitlab.com/conduwuit/conduwuit:latest
        restart: unless-stopped
        network_mode: "host"
        volumes:
            - ./data/:/var/lib/conduwuit
            - ./conduwuit.toml:/etc/conduwuit.toml
        environment:
          # CONDUWUIT_SERVER_NAME: aerasto.xyz
          # CONDUWUIT_DATABASE_PATH: /var/lib/conduwuit
          # CONDUWUIT_DATABASE_BACKEND: rocksdb
          # CONDUWUIT_PORT: 6167
          # CONDUWUIT_MAX_REQUEST_SIZE: 20_000_000 # in bytes, ~20 MB
          # CONDUWUIT_ALLOW_REGISTRATION: 'false'
          # CONDUWUIT_ALLOW_FEDERATION: 'true'
          # CONDUWUIT_ALLOW_CHECK_FOR_UPDATES: 'true'
          # CONDUWUIT_TRUSTED_SERVERS: '["matrix.org"]'
          # CONDUWUIT_LOG: warn,state_res=warn
          # CONDUWUIT_ADDRESS: 0.0.0.0
            CONDUWUIT_CONFIG: '/etc/conduwuit.toml' # Uncomment if you mapped config toml above
    #
    ### Uncomment if you want to use your own Element-Web App.
    ### Note: You need to provide a config.json for Element and you also need a second
    ###       Domain or Subdomain for the communication between Element and conduwuit
    ### Config-Docs: https://github.com/vector-im/element-web/blob/develop/docs/config.md
    # element-web:
    #     image: vectorim/element-web:latest
    #     restart: unless-stopped
    #     ports:
    #         - 8009:80
    #     volumes:
    #         - ./element_config.json:/app/config.json
    #     depends_on:
    #         - homeserver
#

like

#

this is a docker-compose.yml file for conduwuit (matrix server)

spare quartz
#

oh right conduwuit is something i need to succeed later

timid quartz
#

as you can see

#

there's also a section to add in an element web frontend

spare quartz
#

ugh!!! where did i put my ufedmi notes!!!

timid quartz
#

that would get automatically started and stopped

#

idk I find it really useful

timid quartz
spare quartz
#

not the biggest thing ive implemented

#

goddd

timid quartz
#

http is smaller

#

tls is smaller

#

hell probably lsp is smaller lol

spare quartz
#

IP

#

EXE

timid quartz
#

exe is exe

#

u just read it

#

ip..idk ip is kinda big

spare quartz
#

just different transmission

spare quartz
timid quartz
#

holy moly

#

how big is the client-server api page alone

spare quartz
#

will need 2 rewrite. just an os idea i had for nanokernel which defers most of its power to applications and servers

#

(delegate would be a better word)

#

and shouldnt say os either, its a kernel..

timid quartz
#

I'd like to say

#

the largest section numbers I can see

#

for client-server

#

is 10.41.x

spare quartz
#

thats not that much

timid quartz
#

ok buddy

spare quartz
#

have you ever looked at the IA-32 manual?

#

or read any RFC?

timid quartz
#

ive read rfcs yes

#

oh the ip rfc is way smaller than the client-server api spec for matrix

spare quartz
#

thats because IP is a single protocol out of the entire IP stack

#

it by itself isnt very special as a lot of the logic that goes behind it is router-specific

timid quartz
#

the tcp and ip rfcs combined are probably smaller

spare quartz
#

try

#

SSTP/PPP/IP/TCP/UDP/ICMP/IPV6/ICMPV6

timid quartz
#

sounds like a self-inflicted hell to me

spare quartz
#

hey

#

i didnt invent those

timid quartz
#
#

idk scroll it for yourself

spare quartz
#

old people from 1990 did

#

im on it rn

#

it LOOKS big

#

but still managable

#

im sure you wouldn't need all of this

timid quartz
#

im sure you would

spare quartz
#

nah

#

it'd probably just be like any other protocol

timid quartz
#

ok make a matrix server then

#

u get 2 weeks

spare quartz
#

you implement the big stuff first and then weed out edge cases

spare quartz
#

do you want this to be on our gituhb or my account

timid quartz
#

uh idk beg is your thing so your choice

spare quartz
#

do you want it to be published on a maven

timid quartz
#

why does my opinion matter in this lo

spare quartz
#

becuse YOU'RE the commissioner.

timid quartz
#

OH

#

the matrix server

#

ic ic ic

timid quartz
timid quartz
#

unless you have a really good reason not to

#

like bad tls or smth

spare quartz
#

a matrix server and not client just to be sure

timid quartz
#

yes a server not a client

spare quartz
timid quartz
#

wow you've really fallen out of love with ada this is crazy

spare quartz
#

matrix looks full of encryption stuff which kotlin/java is much more developed towards

timid quartz
#

it is

spare quartz
#

im sorry our lang doesnt have a billion femboys being mad on stack overflow and github for everything you have

timid quartz
#

RUST!!!!!!!!!!!!!!

spare quartz
#

EWW

timid quartz
spare quartz
#

EWWWWWW

timid quartz
#

LETS GO

spare quartz
#

🤢

#

🤢

timid quartz
#

your langs could never imagine these kinds of Ws

spare quartz
#

YEAH CAUSE ALL OF YOU ARE FEMBOYS

#

‼️

timid quartz
#

says the furry

spare quartz
#

not a furry

timid quartz
#

are a furry

spare quartz
#

just bayachaoinclined

#

much different

#

me sitting in my JVM vat

timid quartz
#

yep

#

you sitting there, dead

spare quartz
#

nope

timid quartz
#

covered in the black tar that is the jvm

spare quartz
#

alive more than ever

spare quartz
#

remember who you have to rely on for your compilation (LLVM)

#

id trust oracle hotspot with my life...

timid quartz
#

remember who you have to rely on for your compilation (gnu)

spare quartz
#

WRONG

#

the usaf 💪

timid quartz
#

more like

#

the fsf

spare quartz
#

okay well

#

unlike you, adas compilation was actually matured with the fsf/gnu

#

this is why our code is superior

#

actually

#

i wonder what the first ada compiler was written in

timid quartz
#

probably c

#

or asm

#

meanwhile rust's: ocaml 💪

spare quartz
#

EW

#

when our compiler manuals look like this you know its peak

#

holy crap

timid quartz
spare quartz
#

20 second compilation time for hello world

#

computers/compilers really have improved

#

MULTITHREADING SINCE THE START BABBYYY

timid quartz
spare quartz
#

and hasn't for a good decade

timid quartz
#

GCs encourage bad memory use patterns…

spare quartz
#

we've had many parallel GC designs over the years

#

most modern one is ZGC which is nearly infinitely scalable

timid quartz
#

GCs ARE UNNECESSARY BLOAT!!! 🗣️ 🔥

spare quartz
#

nah

#

rust is bloat..

timid quartz
#

You are bloat(ed)

spare quartz
#

ew

#

weirdo..

timid quartz
#

We’re finna trim you

spare quartz
#

im not an ssd.

timid quartz
#

std::mem::forget(atp);

#

drop(atp);

spare quartz
#

procedure Kill is new Unchecked_Deallocation (Aerasto_Access);

#

Kill (Aerasto);

timid quartz
#

So much text when I’ve already dropped you and forgotten you

spare quartz
#

"your"

spare quartz
#

ughh

#

this document doesnt say what their compiler was coded in

#

OH

#

FOUND IT

timid quartz
spare quartz
#

SETL (SET Language) is a very high-level programming language based on the mathematical theory of sets. It was originally developed at the New York University (NYU) Courant Institute of Mathematical Sciences in the late 1960s, by a group containing (Jack) Jacob T. Schwartz, R.B.K. Dewar, and E. Schonberg. Schwartz is credited with designing the ...

#

they wrote it in SETL

timid quartz
#

gross

spare quartz
timid quartz
#

it's the most widespread and well-known use of the jvm

spare quartz
#

it's also the worst example

timid quartz
#

well youre only as strong as your weakest link...

spare quartz
#

50% of the game is just native, and the parts that aren't are most likely for older JVMs like 8 whose only option is G1GC (or G1C? i forget the name..)

#

also the fact that most modders are just bad at coding

timid quartz
#

while your jvm program is sitting down doing its 50th gc pause in the last half-second, my rust program will already have finished

spare quartz
#

oh no it looks like your rust program panicked...

timid quartz
#

probably had good reason

#

oh no you forgot to try catch

spare quartz
#

too bad my jvm program finished with flying colors

#

because all of its execution was safely threaded.

timid quartz
#

tell that to the RuntimeException

timid quartz
#

smh

spare quartz
timid quartz
#

yep

spare quartz
#

your multiprocessing is weird as hell..

timid quartz
#

ever heard of "fearless concurrency"

spare quartz
#

☣️ concurrency

timid quartz
spare quartz
#

wrong, actually

#

thats dependent on what the package does

#

(and really isnt a point against it! )

timid quartz
#

mm yeah it is

spare quartz
#

nope

timid quartz
#

i like telling my threads exactly when to start and stop

#

who needs "determinism"

spare quartz
#

EVERYONE

timid quartz
#

concept made up by the government to keep us in control

spare quartz
timid quartz
#

ok

#

considering that implementing olm and megolm in ada yourself may be slightly painful

#

you will be permitted to use kotlin

spare quartz
#

you're so distracting 😭

#

i havent even written one line of kotlin for my project ..

timid quartz
#

you're letting yourself be distracted

spare quartz
#

koay well

#

idk

timid quartz
#

trol

spare quartz
#

i cant write microcode uipdates for my brain

timid quartz
#

cause ill probably still use conduwuit (rust 💪)

spare quartz
#

oh yaeh but

#

can i get paid in umm

#

umm

timid quartz
#

in whag

spare quartz
#

yknow im 99% sure i can't send this here because of some of the dialog but...

#

its all in japanese nobody can understand it

timid quartz
#

mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm

#

guess there won't be a matrix server then

spare quartz
#

NOOOOOOOOOOO

spare quartz
#

arren't you gonna get blamed for 9,000,000 server problems

#

like you were and ben last yr..

timid quartz
#

uh no...

#

I use it just for me

spare quartz
#

i blame rust

timid quartz
#

although

#

for olm/megolm

timid quartz
#

were you planning to use a java package

#

or were you planning to implement it yourself

spare quartz
#

im not authorized to use external libraries unless someone says i can..

timid quartz
#

you can idc

spare quartz
#

kades server for instance runs purely by itself

timid quartz
#

it would relieve the burden of implementing olm/megolm

#

but if you wanted or still want to implement it yourself, then use ada

spare quartz
#

i bet Sun already did it

timid quartz
#

actually yknow what

#

im not really even commissioning this

#

you said yourself that you wanted to "succeed conduwuit eventually"

#

so...you're under no obligation

spare quartz
#

okay butlike

#

eventually means whenever i want...

#

you're forcing me at gunpoint ..

timid quartz
#

not lly

#

not rlly

spare quartz
#

yeah rela.y..

timid quartz
#

I have no care when you make this

#

the 2 weeks thing was a joke

spare quartz
timid quartz
#

I was just saying

#

if you're so confident in making a matrix server

#

then do it in 2 weeks

#

but you don't have to

spare quartz
#

gunpoint..

timid quartz
#

ok listen

#

idc

#

even if you made it I probably wouldn't use it unless it was just that good

spare quartz
#

yes i knwo you dont care 😭

timid quartz
#

take how much time you want

#

smh

spare quartz
#

2 weeks though

#

thats a lot of itme..

timid quartz
#

do u want to be forced to do it in 1

spare quartz
#

do people actually use that keyword .. keyboard..

spare quartz
#

umm

timid quartz
spare quartz
#

i mean that depends

#

im sure i could get something FUNCTIONAL by that time

#

like being able to send messages

timid quartz
#

was thinking of getting a split ortho keyboard like that tbh

spare quartz
#

but attachments/whatever matrix has that isnt just text idk

#

hold this for me