#development

1 messages · Page 27 of 1

winged zodiac
#

Yeah my Firefox with ublock, and ipv6 uses 1.5gb on average with 5-8 tabs

proper gale
#

i have stock FF quantum, not sure if it was using ipv6 or ipv4, probably both.

winged zodiac
#

Although I’ve got 16gb

proper gale
#

and 40+ tabs

winged zodiac
#

Holy hell

proper gale
#

on just firefox

#

then there was chrome

winged zodiac
#

What do you have open?

unreal wind
#

Firefox <3

proper gale
#

uhhh, documentation, more documentation, stack overflow, etc, etc, etc.

#

there were about 10 oracle tabs, a few python ones, some jetbrains tabs, and im not sure about the rest

winged zodiac
#

Ah

proper gale
#

it was about 2 windows wide of tabs.

winged zodiac
#

Yeah I’ve been doing dev in vms

proper gale
#

chrome was mostly YT tabs for music.

#

chrome was mostly YT tabs for music.

winged zodiac
#

Lol

proper gale
#

i have the ram/CPU for that, but i need Vulkan support (make a guess what im doing...)

winged zodiac
#

Deep learning?

proper gale
#

no, that needs cuda/OpenCL (ROCm) support.

winged zodiac
#

Oh duh

proper gale
#

i am doing that, but thats on linux, this was on windows.

#

moving this to linux, but i cant get my 970 to play nice with my Vega at the same time...

#

nouveau shits itself, and the nvidia driver steps on the AMD one.

winged zodiac
#

Yeah my Linux distro corrupted so I’ve been working on rebuilding the os

#

Working off a custom bsd build

#

Need to recode 1000+ lines

proper gale
#

why?

winged zodiac
#

It’s a private bsd version of parrot, and while developing an exploit I forgot to activate the sandbox environment and it basically encrypted the entire system with no decryption key

proper gale
#

oh fun.

winged zodiac
#

Yeah....

#

Well atleast my website is still good

proper gale
#

it doesnt load for me.

winged zodiac
#

Really?

#

I think I need to remove some code

#

It must be https

#

I’ll change some formats and stuff

#

The site is huge anyway

crystal skiff
#

I can't even reach the server too

#

but yeah, it's the https

#

check your firewall or webserver config :P

proper saddle
little knoll
#

Discord is so much broken since some days... Loading icons aren't centered now...

vapid bloom
#

yeah

#

i waited for that to load

#

im smart

proper saddle
whole quail
winged zodiac
#

Can you guys try going on my site? I did a ton of optimization yesterday

crystal skiff
#

still can't reach it with https

#

ah no, server was just slow to respond

#

I don't have sound so can't listen to the sweet homepage music, but nice ASCII art there

#

but yeah, except the ASCII page, everything is slow to respond

cedar shell
#

For me it was like 10ms

native wave
#

Super quick response for me

cedar shell
#

Fiddler shows nothing errant either, that I noticed

idle cave
#

you can optimize the gif further. maybe try varnish to push the gif together with the html. or try to encode the image as base64. maybe also the sky.jpeg

#

wierd safari loads it pretty quick but chrome seems to be slow to connect

#

maybe chrome doesn't like the ssl cert

proper saddle
little knoll
#

Edge improves even more with its latest preview (Mozilla better do something at some point...)

crystal skiff
#

Service Workers and OGG Vorbis/Theora blobaww

proper gale
#

It's still edge, not using it

vestal glen
#

don't you have to install a thing from the store to get ogg codec and container support?

little knoll
#

Edge releases are still binded to Windows 10 releases

#

So you have to be on the Insider Preview to get access to it atm

vestal glen
#

(also, probably linked to the whole spotify is the new groove thing...)

torn remnant
proper gale
#

thats old

proper saddle
#

But it's still funny. xd

whole quail
#

It's not even that bad in certain scenarios

proper gale
#

What? That's horrid.

nocturne galleon
#

all da rich presence memes

raven needle
fiery onyx
#

Anyone do Arduino or Raspberry Pi here? I want dev friends lol

fiery onyx
#

Cool, any interesting recent projects?

raven needle
#

well i recently started a arduino project

#

its a 64 endless pot midi controller each pot is clickable and i made the code for it to run pretty basic stuff so yeah

#

i put more work on hardware than software most of the time

nocturne galleon
#

im making a full size darlek with a nas serve inside all run by a pi

#

cost abote 1.5k so far

whole quail
#

@proper gale Syntax can be used to extend a language in certain situations, especially around clarity

proper gale
#

how the hell is that a good brace style though?

#

its absolute hell

whole quail
#

Only if you're modifying it

#

It's a very good way to show that something shouldn't be touched

#

But still show the inner workings

proper gale
#

THAT IS LITERALLY HALF OF WHAT CODING IS!!! botcase botcase botcase

whole quail
#

As long as you use it with a comment explaining so and only use it absolutely when needed

#

The other option is just one lining things

proper gale
#

making code easily maintainable, readable, and fast all at the same time.

#

the other option is being a comptent developer

whole quail
#

Part of making something maintainable includes making sure people don't change shit they shouldn't

proper gale
#

thats called not letting it pass peer-review

whole quail
#

That's not always an option

proper gale
#

and it really isn't anyway

whole quail
#

It most definitely is

proper gale
#

i wrote some code that should never need to be changed.

#

it very much is modifiable

whole quail
#

But it catches your eye

proper gale
#

that does not.

#

it looks like shit

whole quail
#

Exactly

proper gale
#

throws language convention out the window

whole quail
#

That's the fucking point

#

It's so obviously bad that you have to notice it

#

Same with very large one liners

#

You just leave them alone

proper gale
#

even linux doesn't do that class if bullshittery

#

anywhere

whole quail
#

Why would linux?

proper gale
#

very large one liners, are split into many lines.

#

linux being a very large project with code from ~20 years ago.

whole quail
#

Linux is very well maintained lol

proper gale
#

that should never be touched beacuse its soo core.

#

that it is

#

because it is designed to be maintained.

whole quail
#

Not everything should be designed like that

proper gale
#

fucking hell bot

#

because it follows a code standard THROUGHOUT THE ENTIRE KERNEL!!! morebotcase

whole quail
#

The whole point of being a programmer is knowing when to throw convention and practice out the window and when you've gone too far

proper gale
#

even if not the same, there is convention.

whole quail
#

Otherwise your some monkey with basic computer science ideas or a robot with some coding skills

proper gale
#

and its not that

#

ever.

whole quail
#

Convention isn't 100%

#

If I followed convention and standards

#

Half the things I've made that are actually worth anything wouldn't exist

proper gale
#

i call bullshit

#

it just would have taken longer

whole quail
#

The thing I'm making atm is literally doing something that breaks standard, convention, good practice, but couldn't be possible otherwise

proper gale
#

show me

#

and tell me exactly what standard you are breaking.

whole quail
#

It's anti cheat related

proper gale
#

i am talking about syntax standard.

#

i follow that to a fucking T (mostly beause my IDE picks up the slack for me)

whole quail
#

The key in that is standard

#

Standard doesn't have to mean industry standard

proper gale
#

there are many in C++

whole quail
#

It just has to be standard

proper gale
#

i follow OTBS, take your pick but the one i like is readable by most.

whole quail
#

I don't follow any single big name standard

#

Since I work on such an array of things

proper gale
whole quail
#

But I keep too a set of general rules

proper gale
#

unlike that EOL collumn BULLSHIT

whole quail
#

That's your problem, there is no proper way to do anything

#

It's all made up shit

proper gale
#

there may be no "propper" way

#

but there sure as hell are ways to do it wrong.

#

and that pic, is very very very wrong

#

putting a brace on the next line is better than that bullshit

whole quail
#

Half this will be thrown out the window in 10-50 years and a lot of it will stay the same

#

There is no single rule

#

The point of the rules isn't so you follow them

proper gale
#

K&R seems to have survived for a long ass time.

whole quail
#

But that you understand why they are there so you break them only when you should

proper gale
#

and OTBS being a slight modification of that

#

seeing as K&R is as old as C itself, i dont thing it will all be thrown out the window.

whole quail
#

You literally ignored what I said

proper gale
#

no, i didnt read it yet.

#

understand that i am talking strictly about syntax, and more specifically braces.

whole quail
#

"a lot of it will stay the same"

#

Syntax is an art, not a rulebook

proper gale
#

K&R is the Java standard.

whole quail
#

Java standards are some of the worst

proper gale
#

looking at braces

#

not the language or how it goes about shit

#

i do not care about how you handle automatical return type BS, generics, etc, etc, etc.

#

whole thing is on braces

whole quail
#

There's no set way to do anything in syntax

proper gale
#

which that picture is wrong.

whole quail
#

It's wrong in most situations*

proper gale
#

it works beacuse the language compiler is not whitespace dependant unlike the terror that is python

whole quail
#

Okay well I can agree on that one

proper gale
#

its wrong in all situations to do that with your braces and semicolons

whole quail
#

Fuck restricting whitespace

proper gale
#

if you are using python, then by all means use that type of syntax.

#

everything about that coe is fine but where the semicolons and braces are.

#

from a syntax point of view

#

im not even sure what its doing.

whole quail
#

Only if you are changing the code

proper gale
#

"only if", no its just wrong

whole quail
#

There's no wrong?

#

You need context to know if it's wrong or not

proper gale
#

there may be no right, but there sure is a wrong.

#

and that is it.

whole quail
#

You're just too close minded about syntax

#

There's a role for everything if you look hard enough

proper gale
#

consider that i absolutely hate python beacuse it doesnt allow me to use braces, and take that into consideration.

whole quail
#

The braces isn't the problem with python for me at all

proper gale
#

that one is a lost python (or similar) dev.

#

i do the white space stuff by default anyway, so that doesnt bother me.

#

its that i cant seperate stuff with braces for me.

whole quail
#

I don't need braces to seperate things

proper gale
#

i dont "need" them, but when you are looking at things quickly, its nice.

whole quail
#

I don't even care about what it looks like, I care more about the thoughts while reading code

proper gale
#

espically when your ide highlights them for you so you can easily skip stuff.

#

i seem to care more about consistant readability than you do

whole quail
#

I make readible code, the syntax just also tells a story

proper gale
#

the syntax is a means to an end

#

simply a language

#

the problem and how it was solved is the story

#

you dont make your own rules for english do you?

#

no, no you dont.

whole quail
#

The syntax is a way to display your thoughts extended from your code, without commenting every single line

proper gale
#

so do something readable by others.

#

so use the syntax given to you by the language.

whole quail
#

We literally do make our own rules for english

#

The language doesn't give you syntax

#

The language gives you a set of tools to create syntax

proper gale
#

but they are almost universally used/accepted

#

not bullshit like this.

whole quail
#

Universal rules are bullshit

proper gale
#

give me, a situation where the code shown is better than a properly braced variant.

whole quail
#

I did already

#

When you want it to be read but not rewritten

proper gale
#

why would you want it to not be re-written?

whole quail
#

Because there are situations where you don't want something to be rewritten because it's critical or has side effects that aren't apparent

#

It's rare but it can happen

proper gale
#

if each method is a magic black box that takes in input and creates an output, what its doing does not matter.

whole quail
#

Except it does

#

There can be situations where doing things a certain way that looks weird will give a different result from something that looks better and in theory does the same thing but doesn't because of a bug or unintended consiquence

proper gale
#

you want to know what works just as well, the ctrl+alt+l reformat code hotkey

whole quail
#

In those situations you don't want someone changing the code

proper gale
#

its amaing how all that time is defeated by a computer program.

#

IDEs defeat your one situation.

whole quail
#

???

proper gale
#

take that code, press hotkey, propper code comes out.

#

oh wait, do you use Notepad++?

#

no, vim?

#

wait no, nano?

#

still not it?

#

emacs?

whole quail
#

If they do that they might as well also just change the code without reading the comment?

#

I use vs and vs code for most of the stuff I do

proper gale
#

so you dont have this hotkey in one, and probably dont use it in the other.

#

that would explain your point of view

#

well, let me tell you somehting about IDEs.

#

they format your code for you, and people use that feature, a lot.

whole quail
#

I wouldn't ever use it

proper gale
#

get used to it.

whole quail
#

I would fucking hate that shit

proper gale
#

its amazing to have your lazily coded code reformatted into propper code.

#

its nice for readability.

#

helps a lot

whole quail
#

Just treat your code well

proper gale
#

just program it to your style of choice (be it project or what have you) and it makes it all look nice

#

and CONSISTANT!!! botcase

whole quail
#

There's a difference between consistant and having set rules

proper gale
#

as simple as ctrl+atl+l in reshaper and any IDEA based IDE (by default)

#

isn't it nice how it will tkae anything and map it to the rules you programed.

whole quail
#

You're literally the type of programmer I hate working with the most

proper gale
#

its also funny how it doesn't allow for that bullshittery.

#

show me something you call maintainable.

whole quail
#

I don't have anything at hand

proper gale
#

oh why not?

#

dont use version control beacuse that too big name aswell?

whole quail
#

Most of the things I actively work on are testing shit

#

Or aren't publically available

proper gale
#

try and find a code style like that in a actual project

#

you will fail

whole quail
#

Literally my least favourite type of programmer to work with

proper gale
#

i would hate working with you aswell, because you dont follow conventions.

#

or at least dont seem to.

whole quail
#

So we mutually never want to work together

#

Glad on that one

#

I follow multiple conventions

#

Not together but when one makes more sense than another I won't stick to one because it's somehow better

proper gale
whole quail
#

Standard != Strict set of rules

#

Standard means doing things the same way

#

That's different from following a strict set of rules

#

Like that one braces style is better than another

#

Because they both have a place

proper gale
#

i didnt say that OTBS is better than K&R etc, just that the one show is worse than almost anything else.

whole quail
#

And if you can't see that then there's no point continuing this

proper gale
#

you could make something worse if you tried

whole quail
#

Almost everything can have a place if you look hard enough

proper gale
#

most styles have a place, that one has no place anywhere near production code.

whole quail
#

No place in a company full of people

proper gale
#

the ONLY place is could possibly be even slightly useful, is explaing something to someone who doesnt get the idea of braces.

#

thats about it.

whole quail
#

That's just so closed minded

#

In a software company

#

It should never be used

#

Ever

proper gale
#

ok, so we agree.

whole quail
#

Because there are better alternatives

#

Far far better alternatives

proper gale
#

it should never ever be actually used.

whole quail
#

But there is still a place for it

proper gale
#

that one extremely rare situation i listed.

whole quail
#

My situation works better

proper gale
#

no it doesn't

whole quail
#

In one tiny part of a file

#

Surrounded by comments

#

So that some idiot doesn't skip past the comments

proper gale
#

give be a block of code designed that way, i will have to easily modifyable in seconds (if C++ or Java beacuse i have those IDEs open)

whole quail
#

That's the thing

#

It's not something that will occour often

#

Extremely rare

proper gale
#

-0%

whole quail
#

Almost never needed

#

But it still has a place

#

Literally the same can be said about Java

#

Better alternatives most of the time

proper gale
#

it has -0% of the place.

whole quail
#

But it has a place

#

Java is great at small portable ui applications

proper gale
#

better easily cross platform enterprise language with equal or better speed, with equal or greater IDE capabilies.

#

find it, i fucking dare you.

#

and i dont count any JVM language.

#

Kotlin > Java, but they are for all intents and purposes the same.

whole quail
#

Why do you need cross platform?

#

At that level

proper gale
#

its something Java has.

#

the ability to just run on ARM, or X86, or X86_64, etc, etc, etc.

whole quail
#

So does C++

proper gale
#

on windows, or Linux, or Mac.

whole quail
#

Okay windows, linux and mac

proper gale
#

if the compilers, libraries, and code is not platform specific.

whole quail
#

Where it will be on a users machine

#

Not a server

#

That's a perfect use case for java

#

And what it should be used for

#

It's a good thing if you distribute it to machines you don't run yourself

#

That's what Java is good at

proper gale
#

and why im using the JVM for part of my project.

whole quail
#

If you run machines yourself there are almost always better alternatives

#

And my problem with Java is that people use it for all those use cases

proper gale
#

beacuse it can, and it can switch.

#

you can use the same code on a server, and a client machine.

#

really really useful for networking.

whole quail
#

If you need Java

#

For networking

#

You shouldn't be doing anything to do with networking

proper gale
#

stares at minecraft

whole quail
#

Minecraft is literally the worst offender

proper gale
#

its code is horrid, but it makes use of Java's features in this respect.

whole quail
#

It also would be miles better if done in C++ for opengl and ported to different platforms

proper gale
#

actually, it would not.

whole quail
#

Have you not seen how badly that shit runs

proper gale
#

its problem does come from Java.

#

yes, i have.

#

and i know exactly why, and how to fix it.

#

its problem is that it is using OpenGL 2.1 AND Java

#

larger problem being OpenGL 2.1

#

Java doesn't help

#

or rather, not java, the JNI doesnt help.

#

but the folks over at LWJGL do a damn good job making it as fast as they can.

#

it usees full immediate mode rendering

#

how slow that is, is beyond comprehension.

whole quail
#

They also do a decent amount of computing

#

Since it's a game

proper gale
#

on a single thread.

whole quail
#

And you want it to run fast

proper gale
#

its a poorly designed game

#

the lanuage has nothing to do with that.

whole quail
#

The language led them down that path

proper gale
#

no it did not.

#

Java has many multithreading features that make it easy to split the work.

#

but noooo, its all on one thread.

whole quail
#

Games can't often do that easily though

proper gale
#

well, three (render, world, world generation)

#

minecraft can split into at least 5 threads

#

and past that it can get dynamiclly higher.

#

each non-connected area on a server can be computed by a different thread, granted code is done to handle that properly, without changing any game mechanics.

#

and each dimension can be seperated aswell.

whole quail
#

The thing is, you wouldn't be going down that path if you started in C++ and OpenGL

proper gale
#

meaing it is 5 at least

#

a) it is OpenGL

#

b) no, C++ is worse.

#

having used OpenGL on both platforms, C++ is worse.

whole quail
#

It's also a game though

proper gale
#

i am not saying dont use C++, hell im doing that myself.

whole quail
#

C++ is the better option for games in general

proper gale
#

but im also saying that its not better in this circumstance.

#

no, not really.

whole quail
#

You want to run as fast as possible

#

And have little overhead

proper gale
#

minecraft, shouldn't need that.

whole quail
#

It would be a different game if it was able to do more

#

It could have been more

proper gale
#

i want to run as fast as possible, and have as little overhead as possible, im using Vulkan on C++

#

minecraft wants to be able to run on anything, without making modifications.

#

so it uses Java and OpenGL 2.1

whole quail
#

It never should have wanted that

#

It was the wrong mentality in the first place

proper gale
#

so are you saying that its wrong?

whole quail
#

For a game yes

#

It never should have limited itself that way

proper gale
#

hey look, your saying the same thing abotu a different thing....

#

hypocrite.

whole quail
#

???

proper gale
#

i say the brace style is wrong, you say using Java for a game is wrong.

whole quail
#

I'm saying that in minecrafts case

proper gale
#

you say the first has its use case, i say the latter is fine.

whole quail
#

Are you saying that limiting minecraft the way they did was right?

proper gale
#

nope.

whole quail
#

Java can be used for games

proper gale
#

hence im using C++

whole quail
#

Not saying that

#

Saying that it was wrong for minecraft to do it

proper gale
#

but im not saying that its straight wrong if done correct.

#

which it was not.

#

if notch did a good job coding it using modern standards, it would be fine.

#

he did not, and its engine is shit.

whole quail
#

Were those things even available when minecraft was created?

proper gale
#

OpenGL 3.0 was iirc.

whole quail
#

But wasn't well supported

proper gale
#

probably not.

#

probably about as well as OpenGL 4.6 is now.

whole quail
#

So he couldn't have done that?

proper gale
#

OpenGL 3.0 Release date: August 11, 2008

whole quail
#

But he could have done a better job in C++

proper gale
#

3.0 was available on most hardware by 2010 when he started the project.

whole quail
#

I remember having gpu's without support for it around the time

proper gale
#

3.2 even OpenGL 3.2 Release date: August 3, 2009

#

what GPU?

whole quail
#

Can't remember

proper gale
#

the Geforce 8000 series and newer supports it

whole quail
#

I've had a fuckton

proper gale
#

and the ATI 2000 series and newer supports it

whole quail
#

Was old hardware given to me

#

Not new

proper gale
#

was it over 4 years old at the time?

whole quail
#

I have no idea

proper gale
#

again, consider i said modern.

#

meaning that older hardware may not support it.

#

but it should gain wide support going forward, as it did.

whole quail
#

But you should make it for the current market

#

Not everyone buys a new gpu every year or even 2

proper gale
#

it was origionally a bet, soooo

whole quail
#

It also quickly became more than that

proper gale
#

good thing OpenGL 3 GPUs were 4 years old in 2010

#

well outside of upgrade time then.

#

consider that the 7970 came out less than 2 years after minecraft

#

that GPU supports Vulkan, and is OpenGL 4.6 capable

#

and the latest from Nvidia at the time (500 series) supports OpenGL 4.6 on the latest drivers.

#

with the incoming 600 series supporting Vulkan aswell.

#

he had no reason to use OpenGL 1.1-1.5

whole quail
#

The earliest gpu I remember having was a HD 5770 which isn't that old

proper gale
#

not sure but they dropped 1.5 support noit as long ago as you may thing.

#

2009

#

generation old at minecrafts release.

whole quail
#

Yeah OpenGL 1.5 was a bad choice

#

Most of the choices he made were bad

proper gale
#

Java was not a bad completely bad choice

whole quail
#

He doubled down on them instead of redoing things

proper gale
#

it was made bad by the others he made.

whole quail
#

Like Facebook

#

Facebook literally made a language to solve a problem that shouldn't have existed

proper gale
#

wat?

whole quail
#

Hack

#

Hack never should have existed but because of bad decisions needed to

proper gale
#

what decision?

whole quail
#

to use php for so long

proper gale
#

Programmers Hate PHP

whole quail
#

Imagine being someone working on facebook in 2012

#

That life would suck

proper gale
#

i would quit and get a job at a company that did something i cared about.

whole quail
#

Actually imagine working at facebook now

#

Would be just as bad

proper gale
#

same reaction

#

i dont have a facebook, so i can care less about facebook.com

#

social media can suck a dick.

whole quail
#

I wouldn't want to work for Amazon either

proper gale
#

o hell no.

whole quail
#

Far too stressful and from what other people have said would probably burn me out very quickly

proper gale
#

Google on the other hand, yes plz.

whole quail
#

Yeah I am hoping to start applying to Google among other things in 6-12 months

#

Like, Google is a giant evil company

#

But they're just a little less evil than the others

proper gale
#

you applying for jobs, im trying to get an internship.

whole quail
#

Oh I could probably get an internship pretty easily

proper gale
#

not at google

#

im trying to get an internship at Servicenow.

#

because i know somone who works there.

whole quail
#

You looking to intern with software enginering?

proper gale
#

mhmm.

whole quail
#

Yeah very different

proper gale
#

kinda what my major will be if i continue with what im doing.

whole quail
#

That would take a lot more work for me

#

I'm not interested in swe

proper gale
#

my current computing class is on Neural Networks

#

or well "Deep Learning" (big neural networks)

whole quail
#

I like deep learning

#

When I have the time I'm gonna dive into it

proper gale
#

also, mind you im in high school

whole quail
#

I would have just finished high school if I was normal

proper gale
#

sooo no job for me yet.

whole quail
#

I dropped out at 16

#

Had a full scholarship for cyber security

#

And cbf with high school bullshit

proper gale
#

i have my reasons to not drop or graduate early.

#

which is not for educational reasons.

whole quail
#

I have programmed probably around an average of 3 hours a day for 5-6 years now

proper gale
#

if it was pure academics, i would be out at the end of this year

whole quail
#

I would program in class instead of paying attention

#

For every class

proper gale
#

that is not why im there, and my current graduation date is still end of senior year.

whole quail
#

Including my programming class

#

But my teacher in that class told me that I was miles ahead of him anyway

proper gale
#

i will probably be teaching part of my programming class

#

because my teacher needs a crash course on IDEA.

whole quail
#

I had to learn Python for my programming class

proper gale
#

im ahead of my computing teacher in many ways, and not in others.

#

mine is Java.

#

and Pyhton

#

my techer has his Ph. D. in computer science.

#

its almost sad if thats the state of this industry.

whole quail
#

Mine had enough degrees that they were in the double digits

#

Don't know how many masters he has

proper gale
#

Ph. D. in comp sci?

whole quail
#

Or if he has a phd

proper gale
#

with many years of work experiance to go along with it.

whole quail
#

I think his highest degree is actually in teaching

#

He also taught in every single department

proper gale
#

i try to talk about just about anything, even in C++ which he did, and he doesnt know most of the terminology i use.

whole quail
#

Since he had degrees that qualified him to teach in every department

proper gale
#

i mean, thats just as if not more impressive that being absurd in a single subject.

whole quail
#

His main one was physics and then comp science

#

But he did at least 5 years of teaching every big science subject

proper gale
#

huh

whole quail
#

Bio, chem, physics

proper gale
#

mine did Ubiquitous computing before it was cool.

#

i soo spelled that wrong.

whole quail
#

Mine would talk about programming in punch cards a lot too xd

proper gale
#

mainframes?

whole quail
#

But not only programming with the cards in basic

#

He had to mail them in to another university

#

That actually had the machine

#

And it would run

#

And mail the results back

proper gale
#

one of my teachers workstations was an overclocked pentium pro.

#

that was after graduation, and years into having a job.

#

he was jelous of MinGW compile times.

whole quail
#

Kinda makes me feel worse about being annoyed at compile times over 30 seconds

proper gale
#

that being 45s for a small project.

whole quail
#

But then I just forget it and get annoyed again

proper gale
#

and GCC on linux being like 17s for that same project.

whole quail
#

And my friend sends me screenshots all the time of his compile times for one project

#

Sometimes it's 5 minutes

#

I feel bad for him and his laptop

proper gale
#

shaderc took like 20m to compile on my laptop.

#

well, old laptop.

#

it had a 4720hq, and was running linux.

whole quail
#

My laptop has a 6700hq and very good cooling\

#

So it runs pretty damn fast

proper gale
#

my laptop has a 7700hq and it runs at 95C under full load.

#

the 1060 runs damn cool though.

whole quail
#

I'll probably buy the next gen top of the line intel cpu or a next gen workstation cpu

proper gale
#

get a Zen 2 CPU

#

1700x is a beast of a CPU.

#

espically for its price.

whole quail
#

I care about single core performance and less about price

proper gale
#

i got mine, with crosshair for $350

#

single core is good enough for most applications.

#

espically if you also need multicore

whole quail
#

8700k is close to what I want

proper gale
#

if all you need is single (doesnt seem like thats all) then 8700k by all means.

whole quail
#

It's so close to what I want

#

Because not only do I want single core

#

I want multicore

proper gale
#

Ryzen!

#

Ryzen Threadripper!

whole quail
#

Slower clock speed, lower ipc

#

8700k is the closest to exactly what I want

proper gale
#

7740x?

whole quail
#

It's missing features

proper gale
#

Ryzen has more PCI-e

#

thats part of why i got it

#

runs my Vega at 16x and 970 at 8x at the same time.

whole quail
#

I'm less worried about pci-e lanes

proper gale
#

970 i can care less about, but i want my Vega at 16x (yes it matters for me)

whole quail
#

Yeah saturating pci-e lanes is actually quite common once you use cards for compute

proper gale
#

mhmm, thats why i have a Vega.

#

that 28TF compute

#

so long as tensorflow supports fp16 on ROCm

#

otherwiser the 14TF is still fast AF.

#

^ have not taken the time to test/check that yet

whole quail
#

My 1080ti is enough for now

proper gale
#

i did bench it at 14TF fp32

#

which multilies to 28TF fp16

whole quail
#

With my 1080ti not only do I get good compute performance

proper gale
#

but also the best gaming, yea yea, Vulkan.

whole quail
#

I get to play games on my 1440p 144hz gsync monitor at 144fps

#

Which is the big selling point for me

proper gale
#

propper Vulkan, GCN wins.

#

impropper Vulkan, GCN still wins.

#

not sure how much of that is to blame on AMD drivers.

#

and how much easier Vulkan is in comparison to OpenGL (for an implementor)

whole quail
#

gpu driver devs are like a valuable mineral

proper gale
#

and boy do i appricate them

whole quail
#

They do so much fixing game devs shit

proper gale
#

yea, about that.

#

games should not get special treatment like that.

whole quail
#

There's no book you can read that will give you the knowledge needed

proper gale
#

the devs should have to fix their shit.

whole quail
#

They should

proper gale
#

if its not to spec, thats not Nvidia's problem.

whole quail
#

But I also am glad that nvidia and amd fix it

proper gale
#

optimizing the driver for how a game's engine works, is fine.

whole quail
#

So I get to play games at 60 or 144fps

proper gale
#

fixing a bug that is due to the engine doing something out of spec, o hell no.

whole quail
#

They literally patch mistakes though lmao

#

It

#

Is crazy

#

Those devs must get paid a fuckton too

proper gale
#

i prefer AMD's driver team, their OpenGL driver is actually to spec unlike Ngreedia's

whole quail
#

AMD's drivers are better

#

But on windows I would rather nvidias

proper gale
#

for a developer, yes.

#

for a gamer, depends.

#

AMD does wayyyyyy better on linux

whole quail
#

I wouldn't run a nvidia gpu on linux

proper gale
#

they had Open source drivers for Vega on launch day.

#

LAUNCH DAY!!! botcase

whole quail
#

Fuck trying to get nvidia drivers working on linux

proper gale
#

i just bought a cable so i dont have to use my 970 in linux

#

nouveau doesn't play nice with AMDGPU-pro installed.

#

kinda shits on everything.

#

and the nvidia drivers step on the AMD drivers soo thats a no.

#

now to get my DP to HDMI cable back from my mother....

whole quail
#

lmao but think of things like device hooking on windows

#

Where you replace a function pointer with your own then call the function pointer

#

Easy mode hooking

#

But then someone does it to yours

#

And someone does it to theirs

proper gale
#

right, i do that with OpenGL, for a different reason, and internally, but i do it.

whole quail
#

So you have this massive thing being called for a usb driver

#

It's both amazing to think about

#

And terrible

#

It's also not conventional at all

#

There's another way you should do it

proper gale
#

oh god no.

whole quail
#

But that way sucks

proper gale
#

mine is for state shadowing

whole quail
#

So I'm going too hook everything

proper gale
#

which is actually convention.

#

what is said other way?

whole quail
#

There's some system where you add a filter but it doesn't work in all cases so then there's another system that you add device or something but that also sucks

proper gale
#

oh god.

#

thats worse than the Vulkan validation layer hooking.

#

you can pile those fuckers up like nobodys business.

whole quail
#

You create a whole driver instance I think

#

And then attach it to something

#

idk I kinda stopped reading about it once I worked out that you can hook it

proper gale
#

huh

#

its a nice feature of ASM/C/C++ when used correctly.

#

its also really easy to abuse.

whole quail
#

You initialise and create a driver then you attach that driver to the device

#

The other one is you create a filter and attach it to a driver I think

proper gale
#

i usually dont work that low level with drivers

whole quail
#

I mean this is relatively high level windows kernel stuff

proper gale
#

i try to keep my code cross platform, so i work with crossplatform APIs.

#

i dont doubt that.

#

but its lower level than GLFW (what i use)

whole quail
#

lol if only I had the choice to keep things cross platform

proper gale
#

the closest to a driver i work is Vulkan.

whole quail
#

oh atm I'm manpulating part of how windows works

#

And might hook parts of the thread manager in the kernel

proper gale
#

ATM im thinking about when to go to sleep.

#

and how to do this config system

whole quail
#

Doing this on linux would be so easy

#

I could literally just read through the source

#

Find what I wnat

proper gale
#

FOSS FTW!

whole quail
#

Setup debuggers to find the information I need

#

Plug the information in

#

Make a nice little program

#

Done

proper gale
#

then microsoft comes along and is an assbag.

whole quail
#

Instead I have to read hours and hours of documentation, test and debug for hours and hours

#

Then I figure out if what I want is possible or not

#

Then multiply that by 10 for the next part

proper gale
#

#LinuxMasterRace

whole quail
#

And eventually I either make something really cool and ground breaking or I die

proper gale
#

as im running windows

whole quail
#

Anti cheat is hard

#

The effort involved in the research and working around windows bullshit

#

It's nothing for a big company though

#

Blizzard take a strong approach but they are very good at making anti cheat that stops cheats

#

But it leads to a worse user experience

fiery onyx
#

@raven needle Cool MIDI thing

#

I used to make anti cheats on ROBLOX

#

as petty as it sounds , it's a real challenge using the API against something that's not in the API

whole quail
#

Serverside anti cheats are stupid

raven needle
#

jub jub want rub rub

carmine relic
#

I would really enjoy a recursive macro in C++ right about now

rich hill
#

msft supposedly has a good anti-cheat thing coming up but it will only work on games through the windows store i think. i remember reading about it a few weeks ago. some different approach more native to windows that works better

proper saddle
#
def fact(a):
    if (a <= 1):
        return a
    else:
        return a * fact(a - 1)

print(fact(997))
olive mist
#
confused = false
while true do
    if confused == true then
        print ("I'm confused")
        wait(1)
    end
end()```
proper saddle
#

That lang is that? blobeyes

#

All that fact() does is multiply all numbers from 1-997 together

#

If I did a larger number, it would five me a stack overflow error. :V

#

It seems that I can actually go to 998. :V

proper gale
#

you could also just go ahead and use a loop instead...

obsidian bluff
#

/r/iamverysmart

proper gale
#

what of that?

obsidian bluff
#

Idk

#

Reading your messages is making me cringe for some reason. I'm not in the mood to start an argument so I won't.

proper gale
#

my messages are, odd

#

i admit to that.

obsidian bluff
#

You come across as a knowitall in my honest opinion

#

I could be misinterpreting your intentions though

proper gale
#

misinterpreting intentions, yes.

#

you misinterpreting, no.

#

me wording badly, yes.

obsidian bluff
#

you sound like you think you're a programming god or something

#

Idk

proper gale
#

that message was me contesting that i would be suprised how much you learn about history learning something.

obsidian bluff
#

I should read the rules before continuing

proper gale
#

hmm?

obsidian bluff
#

Idk I don't want to start shit

#

Without knowing what is and isn't allowed in this server

#

I was too lazy to read the rules before

proper gale
#

oh

#

its not that i try to be a "know it all"

#

its just that people try to prove me wrong, and quite often fail at it.

obsidian bluff
#

No "know it all" tries to be one

proper gale
#

so i demand hard proof.

#

some do, and ive seen that happen.

obsidian bluff
#

I don't want to continue this conversation. I regret starting it.

#

I should've left you alone

#

Apologies

proper gale
#

hmm?

#

im kinda bored ATM sooooooooo, thats a thing.

obsidian bluff
#

I was calling you out for no reason

#

You were saying something like "I am a developer" "I have a developer computer" "did I mention I am a developer?" Idk That's just how it came across to me

#

"I am reading the vulkan spec rn"

proper gale
#

that last one was just complaining

graceful silo
#

"developer computer"

obsidian bluff
#

He was talking about why he needed X graphics card

#

And X amount of cores

#

And "My teacher needs a crash course in IDEA"

#

Sorry btw for assuming gender lol

graceful silo
#

Own up to it

#

don't be sorry

obsidian bluff
#

they

graceful silo
#

lol

#

If you assumed wrong, they can correct you

proper gale
#

my teacher needs a crash course because he has never used the IDE that i use daily.

#

and he will be using because i set it up on the students computers

#

again, complaining.

obsidian bluff
#

Well like... basically what I'm saying is that all I read when scrolling up was you talking about how other people write shit code and other people are worse at X than you are.

proper gale
#

you talking about me arguing with jubjub about braces?

obsidian bluff
#

I honestly don't know. I only skimmed the messages

proper gale
#

the large argument right before you called me out.

#

it makes a little more sense if you read the messages, i think.

obsidian bluff
#

Anyway... Like I said... Nvm

proper gale
obsidian bluff
#

I'm just coming off as an idiot at this point.

proper gale
#

entire argument was summed up in those 9 words.

obsidian bluff
#

even though that was 10 words

#

lol

proper gale
#

TLDR is an acronym, and is technically 4.

obsidian bluff
#

whatever this conversation isn't going anywhere productive.

proper gale
#

nope, and im fine with that.

obsidian bluff
#

Remember I asked that question about GDI dropping frames?

proper gale
#

yes.

obsidian bluff
#

few weeks ago?

#

I dun fixed it

proper gale
#

problem was?

obsidian bluff
#

Problem was what I predicted

#

I was using GDI

#

Converted the program to using a DXGI swapchain that's GDI compatible

proper gale
#

problem solved?

obsidian bluff
#

Yes

#

Any problems that arise at this point would be on Microsoft's or Nvdia's end

proper gale
#

hmm.

obsidian bluff
#

Basically what I made is a program that records system audio and displays it on the screen as a waveform at 60FPS (or whatever your screen refresh rate is)
It also does a fourier transform (full disclosure I used a library for that) and plots that below the waveform

#

It looks pretty gewd

proper gale
#

huh

obsidian bluff
#

Only used windows API's beside the one fourier transform library

#

and C++

proper gale
#

do you mess with any of the rendering code or does GDI take care of that for you?

obsidian bluff
#

GDI is pretty much only still in windows for backwards compatibility from what I understand

#

It was from before Microsoft introduced DWM

proper gale
#

not why i asked

#

what would happen if i moved it from a 144hz display ot a 60hz one?

obsidian bluff
#

It handles that

#

It also handles change in refresh rate

proper gale
#

hmm

obsidian bluff
#

Refresh rate sync is done using vsync

#

So if you move it it automatically adjusts

#

But I also have to explicitly adjust the rate at which I read the audio buffer

#

Basically running 2 threads

#

one for the window

#

And one for the retreiving of audio samples

#

And got a lock that keeps the data clean

#

It also handles it when you change the default audio output

#

So if you change from 3.5mm to HDMI for instance

#

It will swap to the HDMI audio

#

When I was using only GDI it was copying the entire screen buffer from memory to the GPU

#

Which took about 20% CPU usage or something

#

Totally inefficient

#

Converting to DXGI swapchain made it render the frames directly on the GPU

#

Making it way more optimised

proper saddle
#
RogueLogix - Today at 1:55 PM
you could also just go ahead and use a loop instead...

But that's not as fun! D:

#

And I heard some algorithms are easier to do with recursion. :V

obsidian bluff
#

I think I actually messed up the comments as well

#

memcpy for the win

carmine relic
#

what on earth is that

proper saddle
#

a CPP program. :V

proper gale
#

thats more what i was asking about.

carmine relic
#

i gathered that it was C/C++

#

but i was asking about the purpose and why it was implemented like that

proper gale
#

so you do handle a change in hz with respect to the audio buffer.

obsidian bluff
#

Huh?

#

Yeah if the mode changes to a different sampling rate it also adjusts

proper gale
#

ICE, when was coding fun?

obsidian bluff
proper saddle
#

It's fun aslong as everything works the first time, debugging is when I want to tear my hair out, then I realise I just misspelled or misplaced something. :V

obsidian bluff
proper saddle
#

That offends me because I've only completed High school Algebra! /s

obsidian bluff
#

Science has gone too far

rich hill
#

seems pretty basic but maybe im just a nerd

#

but im also done with college

lyric maple
#

someone who knows anything related to battery banks / power draw

#

How long would a 2800mah bank last with a device constantly pulling the power output it states (5v 2.4A)

proper gale
#

depends on battery wattage

#

if its a 5v battery, 2800/2400 hours.

little knoll
#

@lyric maple 2800 mAh > 2.8 Ah (ampere per hour), so at 5V 2.4A, this powerbank would last about 1h15-ish

proper gale
#

2800mAh == 2.8Ah

#

also its amp (ampere) hour, not per hour

little knoll
#

Yeah, little mistake ^^'

small escarp
#

also, you should check the charge/discharge rates at which it was tested/charged/discharged (C-rate) [might be a small effect for coarse estimation], see Peukert's Law

graceful silo
#

Not sure what DB type I should go with for a project (Java)

#

Basically what I'll need is this:

User1:
    Entry1: ShitA
    Entry2: MoreShitA
User2:
    Entry1: ShitB
    Entry2: MoreShitB
    Entry3: EvenMoreShitB

and

Entry1:
    User1: ShitA
    User2: ShitB
Entry2:
    User1: MoreShitA
    User2: MoreShitB
Entry3:
    User2: EvenMoreShitB
#

Where I can pull up everyone under Entry 1, get whatever shit I put under that user, and also pull up each user and the individual entries involving them

#

I've done this in the past with two separate .yml files, though I want to go with something a little more refined and more organized than that

#

Considering SQLite, not sure if it's capable of what I need

#

(I have little experence with SQL)

proper gale
#

MongoDB would probably do you nicely.

#

they have a great Java API

#

@graceful silo

graceful silo
#

I'll check it out, thanks @proper gale

proper gale
#

its a nosql based DB

graceful silo
#

Would MongoDB require an external server running to access it?

#

I know with SQLite I can just open up a connection directly to the database file from within the program

#

No need for an external server for it

whole quail
#

@obsidian bluff if you understood the context, what he said wasn't "no it all"

#

Despite us majorly disagreeing he definitely wasn't being a no it all

#

@rich hill the anti cheat is literally just blocking off access to the game

#

Similar to some stuff that blizzard does

#

I absolutely hate that type of anti cheat

#

Good anti cheat doesn't stop you using fps counters and recording gameplay

#

Which is the reason why I'm making what I'm making atm

proper gale
#

@whole quail please hold while im T R I G G E R E D for gender assumption

#

@graceful silo yes.

graceful silo
#

rip

#

Might just try figuring out SQLite then since server based databases would just be more trouble to set up

lyric maple
#

@little knoll what about 7000mah?

little knoll
#

It's still mAh, divide it by 1000 to have Ah then divide the result by the max outputted A (or counsumed by your device) of your powerbank to know an estimated battery life (result is in hours)

#

*powerbank capacity* mAh / 1000 / *max output* A = *estimated battery life* hrs

graceful silo
#

Max draw would be a better term than max output just for the sake of clarity

#

Not every device will use the max output of the battery

#

And you also should be considering the voltages as well.

A 9v 1.5Ah (13.5Wh) battery with a 9v 1A (9W) draw would be about 1.5 hours of battery life, whereas if the draw was 12v .4A (3W), it'd last about 4.5 hours.

Using your calculations, the 9v 1A device would be correct at 1.5 hours of battery life, but the 12v .4A device would be incorrect at 3.75 hours.

#

A better equation would be:
(Battery Watt-hours) / (Device Wattage) = Approximate battery life in hours
or
(Battery Capacity [mAh] / 1000 * Battery Voltage) / (Device Draw [A] * Device Voltage) = Approximate battery life in hours

whole quail
#

Also you most likely can't use 100% of the batteries capacity

#

So depending on what voltage you draw from it and at what amperage you will also get different results depending on the battery

#

And when working with Lipo, LiHV or Lion batteries you never want to draw 100% from them

#

70% is a safe ammount

#

And battery capacity isn't actually measured in Ah

#

You have to measure the packs voltages and do some maths to get the capacity in Ah

#

I fucking hate batteries

#

Lipos are okay

#

Fuck anything else

#

It took me 3 days to get a nimh battery to charge

#

I have some lipos that are tiny asf

#

But put out 1680W

#

For under 40 seconds

#

For my mini quad

carmine relic
#

batteries are complicated

tranquil dew
#

Batteries also have diminished cycles, so each time you charge the battery the capacity becomes less.

small escarp
#

and they have anowflake charge zone were they like to be at rest

graceful silo
#

Ended up going with SQLite for my project, seems to be capable of what I want

#

Wonder how long until AI is stealing programming jobs

small escarp
#

100 years min

#

sqlite is pretty capable

#

if you need to use different structures for each entry (but are not thinking about filtering too much on those) you should check out sqlite json capabilities

#

important sqlite detail: it's file oriented with no access restriction features

#

so, anyone with access to the file can read everything

#

might be important or not depending on your architecture

graceful silo
#

It won't matter

#

I'm not putting sensitive data in it

#

It's just storing shop stock information for a minecraft plugin

hybrid wolf
#

print("Hello World!")

proper saddle
#
system.out.println("C# Master Race! :D");
zealous plaza
#

Ugh, what heresy

carmine relic
#

i hope that was sarcasm

#

because i literally cringed at the amount of wrong in that message and image

ionic hull
#

What is the best nodejs framework for a web server

proper saddle
#

Isn't it express? :v

ionic hull
#

Isn't there something other than express

worldly vale
fallow zephyr
#

For the first time in my life, I've written a piece of code and was only half sure of what it actually does :/

#

but it looks neat (in a dumb way) so eh

#

I had to find out about the fixed statement online though since I've never actually played around with pointers very much in C# before 😛

#

Junior programmer things

hybrid wolf
#

@neat belfry I'll not speak

#

No BlackHat Syuff allowed

winged zodiac
#

What about black hat stuff?@hybrid wolf

small escarp
#

@fallow zephyr note that the returned thingy may be invalid after returning, since it would be outside the fixed context. Also, FindIndex may not find anything and point to an invalid address. And finally, the fixed pointer points to a temporary address, so I'm not sure the real object (validVersions) would be pinned down, hence the fixed context could indeed not fix anything.

graceful silo
#

With SQLite, using multiple columns in the primary key, how would I set up a replace statement with those?

#

I have four columns at the moment, three of which are primary.
name | id | meta | amount

I need to be able to modify the amount for a specific name, id, and meta combination

#

Table is named 'stock'

#

I'm thinking REPLACE INTO stock (name, id, meta, amount) VALUES ([user's name], [item id], [item meta], [item amount]) but I'm not sure if that'd work

#

Looks like it worked, nvm

proper saddle
small escarp
#

@graceful silo why are you using a multicol key? can two products have the same name and id but have a different meta, or the same id but different name, and so on...? I'd think id should be the unique key by itself, the other cols could just be unique

lost schooner
#

sublime text is a god

#

i just opened the file in it, and although it took a while to load

#

now to try vscode

#

vs code didn't do syntax highlighting for the file but sublime did. 🤔

graceful silo
#

@small escarp name is a user's name, not a product name

whole quail
#

You should be using userid's and have another table for user data

#

So the userid is a foreign key in stock and primary key in the users table

proper gale
#

linus commented on a 20 year old laptop having a soft semicolon key
my responce
oh i wonder why a work laptop would have a soft semicolon key

small escarp
#

@graceful silo as jubjub says, they should be separate tables, see database normalization. It's the best option to avoid update anomalies (updates that leave the db in an inconsistent state).

#

a good schema would be: User table (id, name, age, .....), Items (id, name, price, .....), Inventory (userid=user.id, itemid=item.id, specific_item_data, ....)

graceful silo
#

Nah

#

It's a general store stock, I just need to track what users are selling what items, and how much of them.

#

name text, id integer, meta integer, amount integer, PRIMARY KEY (name, id, meta) seems to be working just fine.

#

I'm not storing user information or anything, just what they have in the shop.

small escarp
#

what is id?

graceful silo
#

item ID

small escarp
#

isit unique?

graceful silo
#

If two items share the same ID, they have different meta/data values.

small escarp
#

so it's a foreign key?

#

i.e. how do you know 34 means "wooden cart"

graceful silo
#

It's for a Minecraft plugin. So for example, 5:1 is spruce planks, but 5:0 is oak planks.
There's a separate function for putting names on items for the frontend, but in the backend, everything is ID and meta based.

small escarp
#

ok

graceful silo
#

That's what it'd look like in practice

#

(using DBBrowser)

#

I've already tested it and it works exactly as I wanted

agile saffron
#

Anyone here work with express.js and apache2

neon vortex
#

@agile saffron You mean hosting a Node.js application and Apache2 on the same server?

little knoll
#

@agile saffron I've done a lot of Express w/ Nginx, but depending on your issue, I may be able to help you. Is it about proxy-ing an Express app ?

restive sundial
#

i think im doing something wrong but screw it.

little knoll
#

Using Java to code something ?

restive sundial
#

nope XD

#

getting my ue4 plugin to compile

#

its so close ;-;

#

i find java weird but i like C# thonk

#

and holy hell it compiled 😄

agile saffron
#

@neon vortex yes that's what I msan

#

Because I have a sub domain and want that to work with it

devout lava
agile saffron
#

Must have taken lots of time

torpid knot
#

i wanna learn how to code too 😶

devout lava
#

yeah @agile saffron

nocturne galleon
#

@torpid knot No you don't

devout lava
#

lol why?

#

I like it

nocturne galleon
#

It's just a shitshow of compile, syntax, and vocab errors

devout lava
#

^^

agile saffron
#

Do you guys have ideas? On my question

devout lava
#

"Anyone here work with express.js and apache2"
December 28, 2017
?

torpid knot
#

@nocturne galleon ruuuude

devout lava
#

that question?

nocturne galleon
#

@devout lava Since I saw the hardware way, I cant't get back

devout lava
#

lol

agile saffron
#

Yeah

nocturne galleon
#

Like, you can see whyit is not going well

devout lava
#

I want to do network engineering
2nd I will do video production

nocturne galleon
#

a resistor will catch on fire

#

A cap will blow up

#

I actually started looking at it with Louis Rossman if you remember

#

Back then

devout lava
nocturne galleon
#

Gotta love verizon

devout lava
#

I actually like them

#

as a service... the reps...

nocturne galleon
#

On the EU, rip

#

I use Vodafone

#

These fuckers should get horrible diarrhea

devout lava
#

I love the new "Play as you browse" on the YT app but rip people w/o unlimited unless you set it to WiFi only

nocturne galleon
#

They'll be on a meeting:

"Oh let's charge 6EUR for a GIGABYTE!"
Poof!

devout lava
#

wow