#💽Programming Chat v2

1 messages · Page 18 of 1

rustic vine
#

annotations are great honestly

#

one of the things java does decently I think

spare quartz
#

I just wish I could store more complex types in them

rustic vine
#

this is the equivalent of a star import

spare quartz
#

it’s important

rustic vine
#

true

#

should simplify imports by a lot

#

although its not like you were writing them anyway

#

should also curb unused import lints a lot

timid quartz
#

annotations

#

what does that mean

spare quartz
#

import module java.base :3

rustic vine
#

@hi

#

almost just pinged someone random

spare quartz
#

or

#

@Meow
int field;

rustic vine
#

its the same thing as

#

@classmethod is

#

in python

#

@property

#

etc..

timid quartz
#

oh so

#

kinda like #[] in rust

rustic vine
#

or like [[nodiscard]]

#

idk rust but probably

#

🙂

spare quartz
#

@Target(…)
@Repeatable
(annotations that control their presence in the CLASS file and reflection…)

Meta annotations

rustic vine
#

annotations can also generate new code and such

timid quartz
#
use serde::Deserialize;

#[derive(Deserialize)]
struct SomeJsonThing {
  #[serde::alias("someThing")]
  some_thing: String,
}
spare quartz
#

I think that’s more similar to what kotlin has going on with their deserialization

timid quartz
#

well that's just an example

spare quartz
#

That one also uses annotations // wait I’m misreading this!!! Ignore!!!!

#

how do you access your version of “annotations” in rust

timid quartz
#

here's an example with poise (a discord framework)

#[poise::command(slash_command, prefix_command, category = "General")]
pub async fn help(
    ctx: Context<'_>,
    #[description = "The command to get help for"] command: Option<String>,
) -> Result<(), Error> { /* ... */ }
timid quartz
#

we call them macros

rustic vine
#

@spare quartz lol value objects must entirely fit in 64 bits

#

you can fit 1 double in it

#

🙏

spare quartz
#

aw hell naw they just made bitfields???

#

actually.. good update

rustic vine
#

genius devs

#

idk what I'd use them for

#

maybe like 4 shorts

spare quartz
#

now I know how to pass my 64 booleans with

rustic vine
#

🙏

spare quartz
#

or like, 8, if they’re represented as bytes

rustic vine
#

its nice that its all stack allocated ig

#

but idk what im realistically doing with 64 bits

#

hopefully it gets better

timid quartz
#

@spare quartz

parsedInput.first
  .map { it1 ->
      parsedInput.second.count { it2 -> it1 == it2 }
  }
  .zip(parsedInput.first)
  .sumOf { (a, b) -> a * b }
#

ok

#

this isn't that abd

spare quartz
#

beep

timid quartz
#

smh

spare quartz
#

hatsune miko

timid quartz
#

anyways

#

write

#

rust

#

dewit

spare quartz
#

IM ON BED

timid quartz
#

let the rust virus spread

spare quartz
#

shortie

timid quartz
#

who you calling shortie

#

I'm like

#

6'5"

spare quartz
#

all rust users are below 4’

rustic vine
#

a'

spare quartz
#

TRUE

rustic vine
#

I remember getting to lifetimes last time I read the book

#

and then deciding that was enough torture

#

and gave up

#

this time around I am on chapter 4

#

and have made the guessing game in chapter 2

#

🙏

#

I gotta admit loop labels are kinda cool

#

kinda wish more languages had that, although the syntax is pretty goofy

spare quartz
#

huh

#

something Ada actually has

rustic vine
#

HUH

spare quartz
rustic vine
#

14 years ago

#

doesn't even have syntax highlighting on stack overflow

#

thats how you know it has

#

2 users total

spare quartz
#

:(

rustic vine
#

I'll admit

#

that doesn't look bad

spare quartz
rustic vine
#

rust has like

'hi loop {

}```
or something
#

I'd argue that looks insane

spare quartz
#

Probably 2005 feature which is common today (2012 is mostly used)

timid quartz
#

something like that

#

kotlin also has block labels

rustic vine
#

' is for chars please stop using them for other things thx

timid quartz
#

mm no

timid quartz
rustic vine
#

hence why I am surprised

timid quartz
#

only dwarfed by public static void main(String[] args)

rustic vine
#

because the rest of it looks pretty bad

spare quartz
timid quartz
rustic vine
spare quartz
#

that’s a good thing.

rustic vine
#

dude

#

theres like

#

800 keywords

#

in this picture

#

wth is happening in this language

#

lua has 21 keywords total

spare quartz
#

lemme get the keyword chart

#

there’s only like… 50

rustic vine
#

awesome

#

theres a delay??

#

wth is delay for

spare quartz
#

for delaying

rustic vine
#

huh looks like its literally just a delay

#

why is that a keyword 😭

spare quartz
#

it can serve as a timeout for tasking stuff

rustic vine
#

should be in the standard library instead

#

yall use rem instead of %??

spare quartz
spare quartz
rustic vine
#

huh

#

whats the difference

spare quartz
#

rem doesn’t handle negatives correctly

rustic vine
spare quartz
#

mod ensures a number will be in the range 0 .. x

rustic vine
#

bringing it into the language directly as a keyword feels like pollution

#

when I don't need it in say 90% of code

spare quartz
#

did you see the page for it

rustic vine
#

not for delay no

spare quartz
#

7 years ago… it hurts my soul

rustic vine
#

I don't understand what they're doing

spare quartz
#

they do

#

the delay alternative is executed if the statements don’t complete within the delays time

rustic vine
#

where is the delay

spare quartz
#

it’s not shown

rustic vine
#

huh

spare quartz
#

the delay is in the delay alternative when you write the code

rustic vine
#

oh what

#

uhhhhhhhhh huh

#

weird language 👍

spare quartz
#

timid quartz
#

weird language

timid quartz
spare quartz
#

Nuh

timid quartz
#
with Ada.Text_IO; use Ada.Text_IO;

procedure Show_Simple_Tasks is
   task T;
   task T2;

   task body T is
   begin
      Put_Line ("In task T");
   end T;

   task body T2 is
   begin
      Put_Line ("In task T2");
   end T2;

begin
   Put_Line ("In main");
end Show_Simple_Tasks;
#

example code

#

the tasks begin when the parent begins

#

so when you run this, all of the tasks will start on their own

timid quartz
#

uhm actually that wouldn't compile

#

there's no let at the start

#

and type mismatch

spare quartz
#

belehgehhehglghl

#

blame the person who made that

#

“Hello I would like”& Apples'Image & “ apples”

timid quartz
# spare quartz blame the person who made that
    fun part1(input: List<String>): Int {
        val regex = Regex("""mul\(([0-9]{1,3}),([0-9]{1,3})\)""")

        return input.sumOf { line ->
            regex
                .findAll(line)
                .toList()
                .map {
                    it.groupValues.drop(1).map(String::toInt)
                }
                .sumOf {
                    it[0] * it[1]
                }
        }
    }
#

lovely regex

#

don't you just love regex

spare quartz
#

acidosis

rustic vine
rustic vine
spare quartz
#

UnExpected

rustic vine
spare quartz
#

oh my goddddddddd

#

well

#

hold on let me check

#

thank god

rustic vine
#

😍

spare quartz
timid quartz
spare quartz
#

c isn't real

timid quartz
spare quartz
#

asm isn't real

timid quartz
#

you're right

#

raw binary

spare quartz
#

raw binary isn't real

#

write in transistors D olt .

timid quartz
#

nah

#

all you need is a hard drive, a magnetic needle, and a steady hand

spare quartz
#

FUCK YOU I WAS JUST GETTING THE XKCD

#

😭

timid quartz
lavish dove
#

How TF is zig fast

timid quartz
#

cuz it fast

lavish dove
#

Fr

burnt locust
#

I'm learning c# for unity

timid quartz
#

C# is cool

burnt locust
#

Yeah

tidal wave
#

#ATP-and-Aerasto-Chat-2

burnt locust
#

TRUE

spare quartz
spare quartz
#

I HATE POLYNOMIALS!!!

timid quartz
spare quartz
#

im sobbing and crying right now

timid quartz
#

that's baby shit

#

just foil it and add like terms

spare quartz
#

HOW

#

WHAT IS AN "ADD LIKE TERM"

#

i know im stupid but this is just witchcraft to me

timid quartz
#

so

#

8x^2 and 2x^2 both have an x^2

#

so you can add them to make 10x^2

#

@umbral monolith saw you

spare quartz
#

who boykisser reacted aera 😭

timid quartz
#

sgi definitely

timid quartz
umbral monolith
umbral monolith
spare quartz
#

me rn

timid quartz
#

(x + y)(x + y)
FOIL stands for "first outer inner last" which is the order you multiply terms in
so you do

  • first: x * x
  • outer: x * y
  • inner: y * x
  • last: y * y
#

and then you add it all up

spare quartz
#

oh

timid quartz
#

so you get x^2 + xy + xy + y^2

spare quartz
#

they showed me a table for factoring...

timid quartz
#

and simplify to x^2 + 2xy + y^2

umbral monolith
#

cause if so

spare quartz
#

ys

timid quartz
#

factoring is the other way around I thought

umbral monolith
#

I've never seen anyone else with that method

umbral monolith
#

expanding is unfactoring lmao

spare quartz
#

bkeh

umbral monolith
#

everyone here is taught the "x" method

#

(I still don't understand it)

spare quartz
#

it should be noted

umbral monolith
#

(table works for me)

spare quartz
#

99% of the informational courses were uh

#

intercepted... by a parent managing my account... cause they thought i completed them (they had no assignment in them)

#

so i never got to see them

timid quartz
#

??

#

what does that mean

spare quartz
#

hold on

#

okay so you see the row with the 1 right

timid quartz
spare quartz
#

thats a course with an assignment, which is something i have to do and mark as complete

#

the other one is informational (it teaches you on how to do something)

#

i really only got to see one of those for algebra which had the table and nothing else cause my mom on my account marked every other informational course as complete (while i never got to see it)

umbral monolith
#

lmao

timid quartz
spare quartz
#

solution: use an online calculator

#

👍

timid quartz
#

solution: learn how to do it yourself because every future math class will assume you can expand and factor polynomials

spare quartz
#

nuh uh

spare quartz
#

when will i ever need to use polynomials in real life...

timid quartz
#

when you make a physics engine and have to do physics calculations

umbral monolith
spare quartz
#

i dont need to do polynomials for physics

timid quartz
spare quartz
#

ew

#

also i don't really need to solve that for a physics engine

timid quartz
#

mmmmmmmmm yeah you do

#

that's a projectile motion equation

spare quartz
#

you can do something known as ... just writing the equation out

timid quartz
#

very fundamental

spare quartz
#

yes but why do i need to solve it

timid quartz
#

because

#

you want your physics engine to accurately simulate projectile motion

#

and besides you said "when will I need polynomials" and that is indeed a polynomial :3

spare quartz
#

okay yes but i can just write the equation out, and use it as any ordinary function

#

and let the computer solve it

timid quartz
#

anyways

#

you'll have to do it by hand on tests

#

so

spare quartz
#

OKAY BUT

#

hear me out on this one

#

ill just go online school next year too

#

:3

timid quartz
#

well

#

get caught cheating for all I care

#

¯_(ツ)_/¯

spare quartz
#

i haven't all year and i'd just call it effective use of my equipment

timid quartz
#

it's really easy though of all the things you could cheat on

#

expanding polynomials is so easy

#

you just

#

multiply them

spare quartz
#

okay but they're weird looking and they're something i really don't need the knowledge on

#

the only place i could possibly ever use them is in algebra class which i can sidestep using a calculator which i've done since the start of time, even in physical schools

#

remember: cheating doesn't exist, just different solutions :3

timid quartz
#

idk I feel like I've used them outside of classes

#

I just can't think where

spare quartz
#

if polynomials appear significantly on the ASVAB or SIFT i might think about it

#

but theres other subjects on both those tests i need to learn more about

#
proud creek
#

interesting

spare quartz
#

i did th epolyomial...

#

by myself ..

rustic vine
#

Why you got a whole square setup

#

Just multiply

spare quartz
#

because the test wanted me to “show my work”

#

and my work otherwise would be a calculator

rustic vine
#

There's no work involved there

#

You just arrive at the result in 1 step

spare quartz
#

not true

rustic vine
#

It's true

spare quartz
#
  • punnet square filled in
  • red arrows indicate the similar terms added
  • result
#

3 steps

#

checkmate

rustic vine
#

Alternatively just multiply

spare quartz
#

that is multiplying though

rustic vine
#

1 step

#

No that's drawing

spare quartz
#

math is drawing

rustic vine
#

Math is math

spare quartz
#

no

rustic vine
#

Oh ok

#

You got me

timid quartz
#

congrats on doing it yourself though

spare quartz
spare quartz
#

funniest pr ive ever seen

spare quartz
#

the scary door

full berry
#

bruh what

#

draft PRs need to be paid for for organizations???

spare quartz
#
local E = 0; local B: { [string]: { Count: number, Scripts : { LuaSourceContainer } } } = {}; for _, V in workspace:GetDescendants() do if V:IsA("LuaSourceContainer") then E += 1; if (not B[V.Source]) then B[V.Source] = { Count = 1, Scripts = { V } } else B[V.Source].Count += 1; table.insert(B[V.Source].Scripts, V) end end end; local C, D = 0, 0; local L = {}; for _, V in B do table.insert(L, V) end; table.sort(L, function(a,b) return a.Count > b.Count end);  for _, V in L do if V.Count > 1 then print (V.Scripts, V.Count); C += 1; D += #V.Scripts end end print("Duplicate clusters:", C) print("Duplicates:", D) print("Total Scripts:", E) print("Total Scripts with only 1 of a duplicate cluster:", E - D + C)
full berry
#

yeah i have no clue why lol

spare quartz
#

safe coding

spare quartz
#

no i just wrote all of that in the command bar

spare quartz
#

making an extensible item giver is hard

timid quartz
#

just dont make it extensible :3

spare quartz
#

i have to since 9000 different booths use effectively the same logic

timid quartz
#

ok then uh

#
local Items = [ --[[ ... ]] ];

for _, Inst in game:GetService("CollectionService"):GetTagged("giver") do
  Inst.ClickDetecter.MouseClick:Connect(function(Player)
    local Item = Items[math.random(0, #Items)]:Clone();
    Item.Parent = game.Players[Player].Backpack;
  end)
end
#

ez @spare quartz

#

extensible

spare quartz
# timid quartz ```lua local Items = [ --[[ ... ]] ]; for _, Inst in game:GetService("Collectio...
--!strict

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local HTTPService = game:GetService("HttpService")

local GlobalPermissions = require(ReplicatedStorage.Modules.GlobalPermissions)
local Logger = require(script.Parent.Parent.Parent.Utilities.Logger)

for _, Item in script:GetDescendants() do
    if Item:IsA("Tool") then
        Item:SetAttribute("ItemGiver_Tag", HTTPService:GenerateGUID(false))
    end
end

local General = require(script.Parent.Parent.Parent.Utilities.General)

return {
    Server = function(Objects : { Instance }, Logger : Logger.Logger)
        for _, Object in Objects do
            local Listener : Instance = 
                if Object:IsA("ProximityPrompt") or Object:IsA("ClickDetector") then Object
                else Object:FindFirstChildWhichIsA("ProximityPrompt") or Object:FindFirstChildWhichIsA("ClickDetector")
                or Instance.new("ClickDetector")
            local Event : RBXScriptSignal =
                if Listener:IsA("ProximityPrompt") then Listener.Triggered 
                elseif Listener:IsA("ClickDetector") then Listener.MouseClick 
                else error("Illegal state")
            local ThisAssurer = General.CreateAssurer(Object)
            
            local Paths : string = ThisAssurer.Attribute("string", "^SupplyTools$")
            local SupplyTools : General.AssuredList<Tool> = General.GetObjectsFromPath(script, Paths, "Tool", nil, 1)
            
            local AuthorizationList  : { string } = string.split(ThisAssurer.Attribute("string?", "^RestrictAccessTo$") or "", ',')
            local GiverHandlerScript : ModuleScript? = ThisAssurer.Child("ModuleScript?", "^Handler$")
            local GiverHandler       : (Player, boolean, General.AssuredList<Tool>?) -> (boolean | General.AssuredList<Tool>)? = function() return end
            if GiverHandlerScript then GiverHandler = (require)(GiverHandlerScript) end
            
            (Event.Connect :: any)(Event, function(Player : Player)
                if (not Player.Backpack) then return end
                
                local Authorized = 
                    (((#AuthorizationList > 0) and (not not table.find(AuthorizationList, tostring(Player.UserId))))
                    or #AuthorizationList == 0)
                    or GlobalPermissions.IsStaff(Player.UserId)
                if GiverHandler(Player, Authorized) == false then return end
                
                local HasTagged : { [string] : boolean } = {}
                for _, Tool in Player.Backpack:GetChildren() do
                    local Check = Tool:GetAttribute("ItemGiver_Tag")
                    if Check then HasTagged[Check] = true end
                end
                
                local WithoutTagged : General.AssuredList<Tool> = {}
                for _, SupplyTool in SupplyTools do
                    if (not HasTagged[SupplyTool.Object:GetAttribute("ItemGiver_Tag")]) then table.insert(WithoutTagged, SupplyTool) end
                end
                
                local Tranformed : General.AssuredList<Tool> = 
                    (GiverHandler(Player, Authorized, WithoutTagged) :: General.AssuredList<Tool>?) or WithoutTagged
                for _, SupplyTool in Tranformed do
                    local NewTool = SupplyTool.Object:Clone()
                    local LogicCheck : ModuleScript? = SupplyTool.Assurer.Child("ModuleScript?", "^Tool$")
                    if LogicCheck then (require)(LogicCheck) end
                    NewTool.Parent = Player.Backpack
                end
            end)
            
            if (not Listener.Parent) then
                Listener.Parent = Object
            end
        end
    end
}
#

no, this is extensible

timid quartz
#

No that’s overclamplicated :3

spare quartz
#

no.

#

if you wanna see overcomplicated take this

timid quartz
#

Roblox needs to add synchronization primitives to Luau

#

We need mutexes and condvars

#

Although I guess you could use a bindable event as a condvar

spare quartz
#

or the forbidden

#
repeat task.wait() until ...
timid quartz
spare quartz
# spare quartz

i wrote this as a bulletproof method above the previous,,, free model script in use by the booth

#

if the sound doesnt load in time its removed from the array and if the array is empty we should stop ticking

#

i have a habit of overstructuring the execution of my code

spare quartz
#
export type Assurer = {
    For        : any,
    Child      : (Type : string, Pattern : string?, On : Instance?) -> any,
    Children   : (Type : string, Pattern : string?, On : Instance?) -> { any },
    Attribute  : (Type : string, Pattern : string,  On : Instance?) -> any,
    Attributes : (Type : string, Pattern : string,  On : Instance?) -> { [string] : any }
}
#
return {
        For        = For,
        Child      = function(Type : string, Pattern : string?, On : Instance?) : any
            local On = On or For
            local Found = Children(Type, Pattern, On, true)[1]
            if (not Found) and (string.sub(Type, #Type) ~= '?') then
                local Check: Instance? = nil
                if Pattern then
                    for _, Child in On:GetChildren() do if ((Pattern and string.match(Child.Name, Pattern)) or (not Pattern)) then Check = Child end end
                end
                error(`A child of pattern "{Pattern}" and type "{Type}"{if Check then ` (except for {Check:GetFullName()}, type: {Check.ClassName})` else ""} was not found in {On:GetFullName()}.`)
            else
                return Found
            end
        end,
        Children   = Children,
        Attribute  = function(Type : string, Pattern : string, On : Instance?) : any
            local On = On or For
            local _, Found = next(Attributes(Type, Pattern, On, true))
            if (not Found) and (string.sub(Type, #Type) ~= '?') then
                local NameCheck: string?, Check: any? = nil, nil 
                for Name, Attribute in On:GetAttributes() do if string.match(Name, Pattern) then NameCheck = Name; Check = Attribute end end
                error(`An attribute of pattern "{Pattern}" and type "{Type}"{if Check then ` (except for "{NameCheck}", type: "{typeof(Check)}")` else ""} was not found in {On:GetFullName()}`)
            else
                return Found
            end
        end,
        Attributes = Attributes
    }
timid quartz
#

ok english

spare quartz
#

ensures a set of children/attributes will be under the specified conditions exactly

#
Assurer.Child("BasePart?", "^Example$")

A child must be under this object that is of the type BasePart or nil with the exact name Example

#

if Example exists (and there is no maximally specific object) but is not a BasePart, error

#

mainly written cause i hated using assert with a bunch of error messages everywhere

#

i think ada poisoned me

timid quartz
#
function Child(Type, Pattern, On)
  local Children = On:GetChildren();
  local Found = false;
  for _, Ch in Children do
    if string.match(Ch.ClassName, Type) and string.match(Ch.Name, Pattern) then
      Found = true;
      break;
    end
  end
  if not Found then error("nope") end;
 end
#

@spare quartz :3

#

I know matching on ClassName isn't quite the same as IsA

#

but

spare quartz
timid quartz
#

who needs nullables

spare quartz
#

also you use ; and you're not typing anything

#

you suck

timid quartz
#

who needs strong types

#

this is lua smh

spare quartz
#

bad coder

timid quartz
#

strong types are nice don't get me wrong, but on roblox, they're honestly more of a nuisance

spare quartz
#

the whole point of an assurer is to ensure something is always a certain type

timid quartz
#

ok here

#
function Child(Type, Pattern, On)
  local Children = On:GetChildren();
  local Found = false;
  for _, Ch in Children do
    if string.match(Ch.Name, Pattern) and Ch:IsA(Type) then
      Found = true;
      break;
    end
  end
  if not Found then error("nope") end;
 end
spare quartz
#

man made one change

timid quartz
#

seems pretty assuring to me

spare quartz
#

anyways thats practically identical to what im doing already

#

(except of course children is split up into its own thing for filtering)

timid quartz
#

I feel very assured by my code

#

and it's not overclamplicated

spare quartz
#

my code isn't overcomplicated.

#

you're just not bayachaopilled

#

oh yeah theres also this

timid quartz
spare quartz
#

right one is SO you

#

oh yea...

#

hows the qs booth going.. nerd..

timid quartz
spare quartz
#

ughghgh

#

ping speedy 1000 times like you do for everyone in guardsman then

timid quartz
#

nno

spare quartz
#

👎

timid quartz
#

I will ping you 1000 times though

#

death by 1000 pings

spare quartz
#

i already get pings for every message in this channel

timid quartz
#

:3

#

:3

#

:3

#

:3

#

:3

#

:3

spare quartz
#

im rying to work!!!!!!!!

#

ooo yknow what

spare quartz
timid quartz
#

mmm no

spare quartz
#

yyyesss

#

not a virus promise

#

:3

timid quartz
#

definitely not

spare quartz
#

it installs ada...

timid quartz
#

even more of a reason not to

spare quartz
#

wow...

#

meanie..

#

im getting lazy again

#

back ot reading scp articles instead of deduplicating

timid quartz
#

at least you don't have to rewatch basically 6 hours of lecture because you didn't pay attention to any of them

spare quartz
#

my school has mandatory livelessons every week

#

i just ignore them :3

spare quartz
lyric mesa
#

(we haven’t started on it)

spare quartz
#

👎

proud creek
proud creek
#

like

#

a

#

uh

#

common module thingy

#

that we all use

#

so we dont duplicate scripts essentially

spare quartz
#

well i was planning to but like

proud creek
#

and for stuff like client tweens

spare quartz
#

project leadership didn't see a reason to,,,

proud creek
spare quartz
proud creek
#

what the flip

spare quartz
lavish dove
# spare quartz

it banned me for that without any extra cause and no warning

#

when I appealed they waited 30 days then sent me a email saying that I couldnt appeal because it had been 30 days 💀

rustic vine
#

why do you do put a space before the : for types 😭

#

its meant to be local t: T

pastel tinsel
#

on god

timid quartz
rustic vine
spare quartz
spare quartz
#

54 days

woven flicker
spare quartz
#

smell??

woven flicker
#

it grows more pinkish towards the middle
and there is a slight THING

#

so it does look nsfw

spare quartz
#

I dunno looks normal to me

woven flicker
#

if that arm wasnt there you'd be seeing a whole lot

spare quartz
#

I’m looking at the little character and it’s fine

woven flicker
#

doesnt look fine to me
im siding with roblox

spare quartz
#

also the character it’s based off of doesn’t have whatever you’re trying to refer to here

#

… anywhere

#

and they’re male so take that as you will

woven flicker
#

sure whatever

#

but it does

#

look mildly nsfw!

spare quartz
#

looks ordinary!

woven flicker
#

hey

#

yk whats funny

#

the source material

spare quartz
#

what’s the source material you’re talking abt

rustic vine
#

roblox moderation doing its job correctly

#

god bless

spare quartz
#

cause the original source was on a military site

woven flicker
#

this is the original art source

#

this is on pixiv

#

tf?

spare quartz
#

huh

#

send link in dms

spare quartz
rustic vine
#

no I think thats correctly

#

maybe its hard to tell but I think correctly is more correct here

woven flicker
#

to a regular or dirty minded eye it would look suggestive to nsfw

spare quartz
rustic vine
#

no I just don't think its appropriate for children

#

and roblox is a platform for kids

#

everything checks out to me

woven flicker
#

then again i saw changed nsfw on roblox before

#

so

rustic vine
#

not sure what you're trying to say here

spare quartz
rustic vine
#

the fact you saw does not equal it being a good thing or something that should be allowed

rustic vine
spare quartz
#

DEBATE ME!!! or whatever the twitter people say

woven flicker
timid quartz
#

Not in tech chat

#

Not in QSP

woven flicker
#

he sent it first

#

your on your own

#

good luck

spare quartz
#

(if it’s not clear cause I’m bad at making videos, the editable image is initialized with the image set and a guassian blur is applied)

timid quartz
#

Ok atp just

#

Stop

#

You too shotgun

spare quartz
#

what’d I do

woven flicker
#

i was about to say that is not a very good guassian blur until i saw the thing apply

timid quartz
#

Just stop continuing this conversation

woven flicker
#

o k

#

microwaves are pretty cool

spare quartz
#

I’m not continuing anything

timid quartz
#

I don’t want there to be more provocations for “oh but this is nsfw whatever whatever”

woven flicker
#

atp do you like microwaves

spare quartz
#

which wouldnt make sense alone for programming chat

spare quartz
woven flicker
#

lame

spare quartz
#

if you don’t have something tied to programming or you’re not driven to talk about it, it’s probably best you don’t talk about it here

spare quartz
#

also because I didn’t have the time to do batch operations

woven flicker
#

how do you even do it

#

editableimages?

spare quartz
#

yes

woven flicker
#

if it involves a lot of math you could try --!native

spare quartz
#

I already do

#

The problem is a lack of batching where each pixel is read, manipulated, and written again, instead of mass read, manipulate, mass write

timid quartz
#

Pretend you’re in the 1990s and only have 128mib of ram

spare quartz
#

This would work under 128 mib easily

timid quartz
#

And a pentium with one core working at 1.2ghz

spare quartz
#

… excluding the part where we have a GC

spare quartz
timid quartz
#

Mmm ok fine

spare quartz
#

this is the astral central place with all the booths in it (no unloading) which is very heavy even for my computer

timid quartz
#

64kib of ram

#

250mhz

#

Write fast inverse sqrt again (I have no clue what the math behind Gaussian blur is)

spare quartz
# timid quartz 64kib of ram

The omaneko image would be handled fine under this condition since it’s a cropped, relatively low resolution image

#

The bayachao and background panoramas not so much

spare quartz
timid quartz
#

I’m stupid idk what that is

spare quartz
#

also generally fast inverse sqrt isn’t really that effective today

spare quartz
#

move that center up a bit

#

the curve is a Gaussian distribution

#

you get the sum of each pixel, multiply it by the value at its position on the Gaussian curve, that’s your blur

timid quartz
spare quartz
#

Because the curve is always the same for a set of parameters and positions, we precompute the values beforehand

timid quartz
#

uh basically hash map

#

but probabilistic output with deterministic runtime

#

rather than deterministic output with probabilistic runtime

#

so like a really basic bloom filter is just you have like an array of single bits and you have like idk 3 hash functions

#

when you try to see if an element is in the set, you hash the element with all the functions and check each of the 3 places that get mapped to, if all of them are 1 then the element is there but if at least one is 0 then the element isn't

#

(except when you get false positives)

#

@spare quartz

spare quartz
#

I get pinged for all your messages dw

spare quartz
#

that’s magic stuff above my thinking level…

timid quartz
#

it's ez

#

anyways I gotta figure out how to export all these onenote things so I can print them off and use them on my exam tmrw morning

spare quartz
#

Nerd. I should probably start doing my 150 assignments tmrw

timid quartz
#

windows onenote export is so much better than macos

#

shit that makes my life a lot easier

timid quartz
spare quartz
#

Forced to look at Jisho

timid quartz
#

you chose this for yourself when you began watching bayachao and looking at omaneko

spare quartz
#

oh my god it wasn’t my fault…….

#

tell that country to stop making good military propaganda

timid quartz
spare quartz
#

nuh uh

#

first I’d need to join the JASDF

#

And get stationed however to Omazaki

#

I think that’s the name

#

And then realized they removed the mascot for omaneko like a few weeks ago

timid quartz
#

actual l

#

rip

spare quartz
#

the artist who drew them still makes art of them so it’s fine

#

and the mascot still exists

#

just not a member of that base anymore

spare quartz
#

明日学校で絶望
これは今してる妄想

spare quartz
timid quartz
timid quartz
#

oh guess it’s legit then

#

I’ve just never seen that

spare quartz
#

i should stuff you in a null*

spare quartz
#

okay

#

time to write my own file format

timid quartz
spare quartz
#

Hey Area .

#

do you think its against the law of any country to save the full connection details of a client to a file

timid quartz
#

uhh

#

define full connection details

spare quartz
#

like every single packet the client sends

timid quartz
#

oh

#

mmmm

spare quartz
#

also

timid quartz
#

considering companies probably do that...

spare quartz
#

my router decided to expose itself to the internet again

#

yay .....

#

damn

#

i have a lot of ports open (3 pages)

rustic vine
#

crawlers are like all over that

spare quartz
#

¯_(ツ)_/¯

rustic vine
#

I'd assume?

#

HUH wym

#

you shouldn't just "have" ports open

spare quartz
#

my firewall is off so they can have whatever trash data they get out of them

spare quartz
rustic vine
#

crawl it and blast it with some garbage prob

#

wasted computing power (on both ends)

spare quartz
#

let them have fun with it then

#

there's no service running so it just gets voided as if it were on a firewall

rustic vine
#

what da flip

#

your setup is cursed

spare quartz
#

yeah i tend to do that

rustic vine
#

whys your router login accessible to the world

spare quartz
#

i dunno

#

it just happened one day

rustic vine
#

goood

#

even my provider dont do that

#

I had to replace my parents router cause it died after a lightning strike

#

somehow

spare quartz
#

was it on a surge protector

rustic vine
#

they upgraded old and trusty to new and fancy (bloatware)

rustic vine
#

thats what im saying

spare quartz
#

weird

#

maybe it was defective

rustic vine
#

prob some cheapo

#

surge protector

#

I replaced it with better one

#

so we chilling now

rustic vine
#

🙁

spare quartz
#

oh my parents router does that

#

for some reason that router also has faulty port forwarding

#

so it's chained into a router from tp-link which doesn't need an app and somehow port forwards fine

rustic vine
#

I think theres only 1 port open on that router

#

and its for me to remote into my parents house whenever

#

when I set it up a long time ago there were definitely crawlers blasting it with garbage

#

prob still are

spare quartz
#

blame AT&T

rustic vine
#

im at&t too

#

or well, parents are

spare quartz
#

the router specifically is some modem/router in one

rustic vine
#

wasn't at&t goat of all digital tech like a few decades ago

spare quartz
#

looks white and is beveled cube looking

rustic vine
#

I don't understand how they fell to just being a bad ISP

spare quartz
rustic vine
#

yeah that

spare quartz
#

now bell is owned by nokia

rustic vine
#

they were like THE innovators I thought

#

them and IBM, but I think IBM is still doing fine

#

just not doing much b2c

spare quartz
#

then theres also ARPA before them

#

they're still doing stuff but it's all military

rustic vine
#

military gets the cool stuff first

spare quartz
#

they have some of their projects public

#

one of which is making microbes that produce expensive materials which is pretty cool

rustic vine
#

I just remember them touting their

#

railguns and lasers

#

but then all news disappearing about it

#

or something

spare quartz
#

im pretty sure thats mostly a navy thing

rustic vine
#

idk I don't keep up

spare quartz
#

just isn't very cost effective cause the rail wears out super fast or something

rustic vine
#

they prob made a discovery and had to hide it from the public 🙏

rustic vine
#

construction robots

#

and a roboport

spare quartz
#

we are not making factorio

#

the world will go the ways of satisfactory

#

and ada will actually just be chatgpt ... 6o or something

rustic vine
spare quartz
#

not that ada 😭

rustic vine
#

DUDE openai used to put out goated ai videos

#

now its all

#

chatgpt marketing

rustic vine
spare quartz
#

there is an ai in satisfactory named ada

rustic vine
#

oh

#

I don't play satisfactory

#

as evident

spare quartz
#

boooorinnnnnnnggggggg

rustic vine
#

im also broke

#

🙂

spare quartz
rustic vine
#

LOL

#

evil

#

I'm not like actually broke broke but I like to think I am

#

else im actually gonna go broke

spare quartz
#

oh yeah i need to extend my web server if i want it to serve html files

#

have to add actual routing instead of directory listing

rustic vine
#

years of web development yet no real use found for

#

anything beyond a single html file

spare quartz
#

that's the plan

#

i don't know how people can use react or

#

whatever they have in those 99,000 js libraries or whatever

rustic vine
#

work used angular

spare quartz
#

i'm only used to index.html

rustic vine
#

I never touched that

#

the only frontend I ever touched at work was

#

aspx

#

LOL

#

that was hellish

spare quartz
rustic vine
#

it was genuinely awful

spare quartz
#

we should've just stuck to java applets

rustic vine
#

HUH

#

netbeans isn't any better

#

whatever its called

spare quartz
#

isnt that apaches java ide

rustic vine
#

netbeans is the editor

spare quartz
#

it used to look like this

#

but they apparently improved the ui a lot

rustic vine
#

oh its called swing

spare quartz
#

eclipse-like

spare quartz
rustic vine
#

yeah netbeans iirc is the go-to for swing

spare quartz
#

sentenced to use AWT and never return

rustic vine
#

its awful though (swing, not netbeans, I think netbeans was ok)

#

just use luau for everything

#

goated language

#

its kinda in a weird state rn though but ignoring that its goated

spare quartz
#

isnt that what roblox is trying to do with studio

rustic vine
#

yes

spare quartz
#

they should do a better job at it

rustic vine
#

its in a weird state rn because they're trying to unify requires

#

by bringing string requires to studio/roblox

#

but its a mess

#

its a screwup

rustic vine
#

and

#

it'll be a goated language

#

they also need to fix like the 2 million bugs with the new typechecker

rustic vine
#

so you can go help

#

👍

#

best place on earth btw

spare quartz
rustic vine
#

HUH

#

nvm

#

I take that back

#

@spare quartz found the fabled 3rd ada user

spare quartz
#

12 days ago ✝️

#

better than the 17 years ago dates on a ton of forum posts i guess....

#

mmmm i think ill go the lazy route

#

-cfn --configuration-files-prepend

rustic vine
#

wow this language is all keywords

#

theres more keywords than non keywords

spare quartz
rustic vine
#

no idea I just found it

#

idk the context its from like 4 years ago

spare quartz
#

also this appears to be Ada 2012 code as function Image is effectively obsolete in 2022

rustic vine
#

6 years ago

#

not 4

#

it also says 2005 in the header

spare quartz
#

2005/2012 code semantics are roughly the same

#

probably for something related to ASIS if its for ASTs

#

but that's a guess founded on nothing

rustic vine
#

lol what is this

spare quartz
#

they raised her from the dead??

#

from 200 years ago???

rustic vine
#

real

spare quartz
#

whats the full msg

rustic vine
#

its a bunch of language burns

spare quartz
#

snd if possible

rustic vine
rustic vine
spare quartz
#

bro ran hlt in real mode 💔

rustic vine
#

misinput it was MISINPUT

#

searching for ada mostly gives me ADA compliance stuff

spare quartz
#

yeah you have to say "programming" after

#

since APPARENTLY civil engineers are more important than programmers...

rustic vine
#

that gives me no results LOL

spare quartz
#

how .

rustic vine
#

idk its not really an ada focused server at all

spare quartz
#

OH i thought you meant on like

#

google

rustic vine
#

oh lol

#

prob will still give me no results

#

👍

spare quartz
#

👎 👎 👎 👎 👎 ❌

#

huh

rustic vine
#

sounds like a lot of places replaced ada for c though

#

how do you feel

spare quartz
#

where did the google results/time thing go

spare quartz
#

Ada 83/95 sure i could see it

#

2005/2012... why

rustic vine
#

I think this is mostly pre 2000s

#

most of commercial aerospace today is pre 2000s techstack from what I've heard

spare quartz
#

that can't be right

#

this cannot be all they had in ada 83

rustic vine
#

I have bad news

#

I think thats all they had

spare quartz
#

ui design is my passion

rustic vine
#

I really hope units make it into the c++ standard sometime

#

mp units is up for grabs for c++29

#

🙏 that it gets in

spare quartz
#

heres the full checklist

rustic vine
#

features 📈
users 📉

spare quartz
#

i blame that on compilers ......

#

meanwhile this VICIOUS language

rustic vine
#

LOL

lavish dove
timid quartz
spare quartz
#

im writing !!!

bleak inlet
#

Lmaooo

spare quartz
#

x_x

#

complete spec

#

im now very tired

lyric mesa
#

studio silly

rustic vine
lyric mesa
rustic vine
#

try it

#

I promise its related

lyric mesa
#

ah yes

#

the same error

rustic vine
#

indeed

#

goofy stuff

lyric mesa
rustic vine
#

probably you setting a property using the properties panel

#

to something its not meant to be

#

I mean the properties panel is iirc internally a luau vm anyway

#

they just trim the stack trace

lyric mesa
rustic vine
#

try setting the size of a frame to some text

lyric mesa
#

i see

#

it did fallback to a default value though

rustic vine
#

yeah, but it also emits that

#

another kinda weird but cool thing is you can cache the __newindex and __index functions of instances (as they are userdata) and actually gain a non-negligible speedup from it (in hot code)

#

I wouldn't rely on it for anything though, as its UB

#

but still cool nonetheless!

timid quartz
proud creek
spare quartz
#

i have had the most intrusive idea

spare quartz
#

okay worst case i have to do 30 assignments per day

ashen pollen
#

does anyone know a way to grab discord desktop notifications, im working on a custom display to go above my keyboard like the Apple touchbar and id like to to display the content of my discord notification.

spare quartz
ashen pollen
spare quartz
#

its under windows apps/shell so in general

ashen pollen
#

like im just trying to grab this from a python script and send data to a Microcontroller

spare quartz
#

notification mirroring is a thing microsoft loves though

ashen pollen
#

thanks

pallid loom
#

some routers decide to act in a sense that if accessed by remote ip but over a local ip they redirect

#

it used to happen to me aswell

spare quartz
#

remote administration over HTTPS was turned on in the settings

pallid loom
#

ah.

spare quartz
#

its been turned off now so that's no longer a problem

pallid loom
#

still tho just keep in mind that some routers act like that

#

my previous did

spare quartz
#

lets see

#

okay cool that works now

#

huh

#

interesting

#

discord doesn't appear to respect Content-Type

spare quartz
#

looking on chrome and it doesn't either

#

probably a chromium thing

spare quartz
#

okay so

#

note to self

#

in the future impl these (DISABLE ON TLS!!!)

#

HTB might be a good solution for TLS compression though

timid quartz
#

Deflate

spare quartz
#

inflate

#

gonna have to rewrite my http server

#

thankfully i have two keyboardsn ow

timid quartz
#

Gonna have to make myself study for combinatorics tomorrow

#

I may have a very small chance at an A in the class by basically acing this entire exam but if I fail it badly I’ll have to retake the entire class

spare quartz
#

imagine counting in math

#

2^8

#

7

#

oops made a mistake with the lower 2 writes

rustic vine
#

what is that formatting 😭

spare quartz
#

GOOD formatting

rustic vine
#

bad formatting

#

nigh unreadable formatting

spare quartz
#

nigh extremely readable formatting

rustic vine
#

WRONG

spare quartz
#

oh right

#

i gotta... make Big_Endian/Little_Endian vers of these types

#

erngkimbmdzpg

rustic vine
#

one of those is

#

the obejctively right choice

spare quartz
#

but it's not the always valid choice

rustic vine
#

nvm I forgot people just use both anyway

spare quartz
#

network order and big endian formats (e.g. png)

rustic vine
#

xkcd standardization

#

pls

spare quartz
#

we love the ietf

rustic vine
#

I need a xkcd bot that

#

sends the right

#

xkcd

#

for the right moment

spare quartz
#

hey

#

at least we didnt get stuck with middle endian

rustic vine
rustic vine
#

👍

spare quartz
#

change the definition of a byte to be 7 bits 💪

#

ASCIIpilled

rustic vine
#

7.5 bits

#

half the data has 7 half has 8

#

good enough for government work

spare quartz
#

you could make an interlacing pattern out of that!!!

#

but base64 is probably superior

timid quartz
#

I hate this shit and this exam is cumulative

rustic vine
#

absolutely hated (loved) that class

spare quartz
spare quartz
lavish dove
#

rah

spare quartz
spare quartz
timid quartz
# spare quartz

you should make your file format arbitrarily switch endianness

spare quartz
#
( *( < user:1: >< /0 >< u32:3: >[ CR ]< LF >*( < filename >< /0 >< u32:4: >[ CR ]< LF > )[ CR ]< LF > )[ CR ]< LF > ):2:
[ filename:5: ][ CR ]< LF >
*( < filename >< /0 >< u32:6: >[ contenttype ][ CR ]< LF > )
#

wdym by that

#

the only endianness dependant things are the u32s

timid quartz
#

just

#

randomly switch the endianness

spare quartz
#
byteflippers.adb:8:04: warning: no more representation items for type "Unsigned_Big_Endian" defined at byteflippers.ads:30 [enabled by default]
byteflippers.adb:26:07: error: representation item appears too late
byteflippers.adb:35:07: error: representation item appears too late
byteflippers.adb:36:07: error: representation item appears too late
byteflippers.ads:33:07: warning: no more representation items for type "Unsigned_Little_Endian" defined at line 26 [enabled by default]
byteflippers.ads:34:07: error: representation item appears too late
byteflippers.ads:49:04: warning: cannot instantiate "Modular_Endian" before body seen [enabled by default]
byteflippers.ads:49:04: warning: Program_Error will be raised at run time [enabled by default]
byteflippers.ads:49:04: warning: in instantiation at line 33 [enabled by default]
byteflippers.ads:49:04: warning: cannot instantiate "Read_Integer" before body seen [enabled by default]
byteflippers.ads:49:04: warning: Program_Error will be raised at run time [enabled by default]
timid quartz
#

like "oh this u32 is stored in little endian but then the one next to it is big endian"

spare quartz
#

although i CAN do that

timid quartz
#

be evil

spare quartz
#

you're a mean person

timid quartz
#

be evil

timid quartz
#

so if you have any u16s those are also affected

spare quartz
#

nothing in that specification is bigger than a u8 than the u23s