#development

1 messages · Page 4 of 1

cyan niche
#

rn I work for the government as a contractor

#

Previously I was doing code consulting for some large companies.

sly marten
#

I’m basically IT support for $60k a year, so I’d say it’s pretty good considering for me, enjoyable work too, chill, not so stressful and painful

cyan niche
#

¯_(ツ)_/¯

#

Never merge on Fridays and I don't feel any stress xD

sly marten
#

It gives me time and energy to do other stuff I want to do on the side

#

Even during work hours

cyan niche
#

My real tip to other devs is get a remote job, then never actually put in eight hours a day, put in like 4-6 most days.

sly marten
#

I tried working remote, not for me, I get too easily distracted

cyan niche
#

You're only ever putting in that much anyway, and it frees up your time to decompress without being stressed about it.

#

Oooohhh, yeah remote work is the life.

sly marten
#

But yeah, it’s a great tip if you can manage a remote job

#

No employer will bat an eye as long as you’re not obviously slacking

cyan niche
#

Who knows if I'm slacking or not? xD

sly marten
#

Project deadlines and estimates 😛

cyan niche
#

Pff, they base those off of my output.

sly marten
#

That’s what killed me, not because I was slacking, but because I kept pressuring myself, so I was my problem, nothing else really 😂

sly marten
peak acorn
#

I'm working remote as intern until I graduate I'll tell u my productivity absolutely tanked from when I was going in to the office over the summer lmao

#

They still pay me tho so idc!!

cyan niche
sly marten
#

Well they want consistency more than bursts of super productivity probably anyway, and if working a little less productive means consistency, they’ll be happy, and so will you probably

sly marten
#

Probably a lot because of my ADHD

cyan niche
#

Yeah, companies will just not care, they don't give you big raises for it, and just keep piling more on your plate.

#

That's when I said fuck it dude I'm going to work like two days a week.

sly marten
#

So development will be particularly exhausting I guess, because it really never ends, and the more you output, the more they’ll throw at you

#

Yeah, i would probably make a significantly higher salary by now if I had managed to keep that phase 😛 but it’s not sustainable, especially when you’re also a perfectionist and you’re assigned to work on things that feel kinda pointless a lot of the time

#

Such as getting pictures from some random designers on how a website is supposed to look, then you are to implement that design in a system where you’re very limited on how much HTML you can change, and also unable to remove underlying CSS, so you kinda have to pile shit CSS on top just so it’ll work (such as using !important for everything)

cyan niche
#

Ask for mo money

#

:D

sly marten
#

I was burnt out long before I got to that point, also when I eventually started burning out, I felt so useless, and it ended up in a very bad circle lol

#

So never found a way to justify more pay without first getting my ass out of the gutter

#

Health system also failed me big time, didn’t get sick leave, but also didn’t get help, but clearly was struggling with my health, even my doc knew 😂

cyan niche
#

dayuum

sly marten
#

Very unfortunate, but it is what it is, and I’m back on track now 😎

cyan niche
#

gotta look after #1

sly marten
#

ADHD meds changed everything quite a bit, but so did a different type of job too

#

Now I can develop what I want to develop, when I want to develop it, no expectations or anything

cyan niche
#

nono money is the purpose of life not happiness

sly marten
#

I’m on the path of making more money now, I even make more in my current role that I did as a developer 😂

#

I did take on this task at work to create this web app that needs to work in a IE11 browser though 😂 and I’ve over complicated it (probably), as usual haha

#

So I’m really pressed for time if I want to meet the wished deadline, though I’ve never promised anything when it comes to a deadline

#

But it will be miles better than what we currently have at least, much more maintainable and easy to work with too

deep flicker
#

Oh I never claimed to understand it. That code is some mystical magical voodoo. Given the number of sin and cos terms, I think it's some sort of spherical coordinate mapping into an ASCII array. If you run the program at a low frame rate it looks like it has some sort of lighting/shadows worked into the ASCII array.

#
for(j=0; 6.28>j; j+=0.07) 
{ 
  for(i=0; 6.28 >i; i+=0.02) 
  { 
    float sini=sin(i), cosj=cos(j), sinA=sin(A), sinj=sin(j), cosA=cos(A), cosj2=cosj+2, mess=1/(sini*cosj2*sinA+sinj*cosA+5), cosi=cos(i), cosB=cos(B), sinB=sin(B), t=sini*cosj2*cosA-sinj* sinA; 
    int x=40+30*mess*(cosi*cosj2*cosB-t*sinB), y= 12+15*mess*(cosi*cosj2*sinB +t*cosB), o=x+80*y, N=8*((sinj*sinA-sini*cosj*cosA)*cosB-sini*cosj*sinA-sinj*cosA-cosi *cosj*sinB); 
    if(22>y&&y>0&&x>0&&80>x&&mess>z[o])
    { 
      z[o]=mess; 
      b[o]=".,-~:;=!*#$@"[N>0?N:0]; 
    } 
  } 
}
#

Truly understanding that program probably requires a ritual and some sort of animal sacrifice 😛

peak acorn
#

Reverse engineering that sounds horrible

spring cradle
#

oh cool

twilit beacon
# deep flicker Truly understanding that program probably requires a ritual and some sort of ani...

this is even worse

k;double sin() ,cos();main(){float A= 0,B=0,i,j,z[1760];char b[ 1760];printf("\x1b[2J");for(;; ){memset(b,32,1760);memset(z,0,7040) ;for(j=0;6.28>j;j+=0.07)for(i=0;6.28 >i;i+=0.02){float c=sin(i),d=cos(j),e= sin(A),f=sin(j),g=cos(A),h=d+2,D=1/(c* h*e+f*g+5),l=cos (i),m=cos(B),n=s\ in(B),t=c*h*g-f* e;int x=40+30*D* (l*h*m-t*n),y= 12+15*D*(l*h*n +t*m),o=x+80*y, N=8*((f*e-c*d*g )*m-c*d*e-f*g-l *d*n);if(22>y&& y>0&&x>0&&80>x&&D>z[o]){z[o]=D;;;b[o]= ".,-~:;=!*#$@"[N>0?N:0];}}/*#****!!-*/ printf("\x1b[H");for(k=0;1761>k;k++) putchar(k%80?b[k]:10);A+=0.04;B+= 0.02;}}/*****####*******!!=;:~ ~::==!!!**********!!!==::- .,~~;;;========;;;:~-. ..,--------,*/ 
twilit beacon
#

if its legit, i cant even comprehend how that would be in any way possible

hollow basalt
#

From the video it's 8180 which has 56 threads.
It uses the 32 sockets, so 32*56 = 1792 (seen from the video)

#

I didn't bother checking how they did that.
But seems possible to simulate doom in that scenario

peak acorn
#

Can you somehow target specific cores?

midnight wind
#

I think they just hooked into the task manager

#

Not actually making the usage change

#

It refreshes way too fast

peak acorn
#

True

silk eagle
#

god I love Bunny's CDN so much

peak acorn
#

I need a cdn dedicated to bunny pictures

north raft
#

Am i allowed to ask for someone to do some plugin work for my server here? rules were a little unclear of this part

trail remnant
#

It's a flight simulator that looks like a plane.

peak acorn
#

I believe the animated donut was an ioccc submission

spring cradle
slate frigate
#

If any LMG engineers ever frequent this channel, I'm SUPER interested in how y'all are handling the interactions between the golang gui and python framework with the new "Mark" software

#

Have an app that I'm looking to add easy user plugin creation, but still haven't settled on a way I'm entirely satisfied with

spring cradle
peak acorn
#

It does

#

its a pretty famous program

spring cradle
#

niice

celest junco
slate frigate
#

There pulling frame data directly from gpu, and HW data directly too, and the protobufs just make it easier to send everything around. As for the mix of go and python, my guess is that the go handles the gui and DB connections, with the python is what sets up and runs the benchmarks. Not a bad approach, especially considering how finicky setup and run would be game from game, lets them write tests as individual plugins rather than worry about a bad test killing the whole program @celest junco

celest junco
#

what I understood is they have some program dumping out the frame data in CSV format... why bother converting it to protobuf?

#

just ship the csv

slate frigate
#

Probavly because they're sending it over the network, and if they're running multiple tests at the same time, probably better for performance and reliability. Maybe they're using grpc? Thats one of the ways I've explored writing plugins

#

If they are using something other than http for comms, that'd explain the protobufs to me

celest junco
#

oh one other thing... if anyone from LTT is reading: It would be interesting to see this being open sourced in the future

slate frigate
#

I think thats their plan

#

@celest junco and go actually has a pretty decent gui framework with Fyne. I have some complaints with how they handle images, but its pretty solid. Way better than going at glfw completely raw. I THINK thats what ltt is using based off the very limit view we had of it. Styling and layouts looked familiar

celest junco
#

any thoughts on my 3rd point?

slate frigate
celest junco
slate frigate
#

Excuse me, pyautogui, not pygame

#

Lets you simulate user inputs, and I've seen it used it in the past to build bots, its especially powerful when combined with a CV library

celest junco
#

yeah I thought about that, but I figured they would have to spend a very long time to get it to play games semi proficiently

#

Good point on using CV, they did mention they were hiring for it

#

I still think it would be a challenging task. Personally that would be an interesting video topic.

slate frigate
#

Nah, not if they're just running games with benchmarks. Could probably do most with just arrow buttons and enter

twilit beacon
spare spade
#

Im my opinion I agree with some of your points but ultimately it boils down to using the right tool for the job. OO had to be a thing and java does it brilliantly. That's why I love it as well lol.

silk eagle
#

I'm a python main, partly because its a dumb language for uneducated programmers, but also partly because I can get things done and ready to go within an hour or two. but to remove from the first reason, I'm currently working on learning rust which (from my perspective) is basically a cs class put into language form.

#

rust feels a lot more palatable to me than most of the other 'complicated' languages.

nocturne galleon
#

I'm currently a student in a software engineering bootcamp but I could really use a friend to talk to about what I'm learning and just staying focused in general

#

please message me if you're interested in talking about learning javascript

cyan niche
#

I missed the hot take on OOP.

But as it turns out that OOP is the natural evolution of programming from its imperative roots, and it becomes necessary very quickly to manage increasing complexity that similar things need to be grouped into a single bucket so that you, the programmer, can easily manage what's going on. Even C has structs and uses naming conventions to group like things together. A properly readable C program is already trying to do what C++ does, which is why C++ came along in the first place.

"But what about inheritance problems? Functions? Spaghetti code?"

They're all irrelevant because the limits of OOP are the programmer. OOP doesn't make you write bad code, it makes people put guard rails on their code to prevent other people, perhaps even your future self, from modifying something that shouldn't be modified, or doing something that breaks something else. Inheritance solves code duplication problems like bugs introduced from these problems. The fact that you may have to expand the parent function to make it compatible with its inheritance for one case is a feature and not a bug, as it forces the programmer to consider the scope of all related objects. And there is always the option of overloading.

In modern times, all of the arguments against what OOP languages can't do is pretty much niche and petty. Functions are first class citizens in today's OOP languages. C# has Func<> which even has support for dynamic assignment or anonymous type returns. Modern OOP is flexible enough to handle the bits of a program that must be flexible, solving whatever grievances people had with it back in the 90's. It's basically a blend of all the best parts of functional and object oriented paradigms. Even declarative typing has been worn down with var assignments. Typescript has an "any" type.

This brings me back to the point the real limitation is the developer who writes it. If your code is spaghetti code it's because you're bad, not because the language is.

#

Java took the OOP principles to heart, but even it has had to force to adapt to the new way of doing things. It had to add Stream API to keep up with LINQ. Honestly, it's been playing catch up to C# ever since C# 3. And Oracle has the licensing so messed up there's OpenJDK and their version and compatibility between the two can feel fucking awful. At least with .NET you get one single version that just automatically works. And don't get me started on its package managers. It also did silly things like not allow value comparisons on string comparisons because "that's the OOP way of doing things" even though no programmer would ever need to compare the references between two string objects. Other languages were just like, "Oh just override the .Equals". That's OOP too.

cyan niche
cyan niche
#

Best package management out of any language I've ever used too.

spark temple
#

Don’t inherit, compose.

midnight wind
#

Python package manament is a PITA

#

Better than C/C++, but still a mess with venvs and everything

cyan niche
#

no

#

that's what makes it great

midnight wind
#

Nope

cyan niche
#

It's one line virtualenv venv

midnight wind
#

Go's package management is much more pleasant to use

cyan niche
#

I've never used Go

peak acorn
#

Oop is awsom,, functional confusing!

#

Make me a linked list in functional lang only I'll wait freak

spark temple
peak acorn
#

Yeah when u need an article I think you've gone wrong

spark temple
#

And I'm not sure your background, but working in a large code base that heavily leans on OOP can be very painful when it uses inheritance all over the place.

Causes a lot of things tightly coupled when requirements begin to shift. Composing the things you need together makes these things less tightly coupled and allows shifting requirements easily while not impacting other's that use the composition.

OOP has its use cases and I think it is great for people getting started in development. It is also good for very small projects with limited uses. Composing things is the way to go for larger code bases.

spark temple
peak acorn
#

Yea I never done real oop at work

#

My job entirely C 🤡

twilit beacon
#

can anyone tell me why the sleepfor function is getting squiggly lines? ```cpp
int main()
{
for (;;)
{
triangle();
std::this_thread::sleep_for(10);
deletor();
}

return 0;

}

#

i have the included threads but the std:: gets squigglylined

azure mica
#

OOP is great and all, but it has a lot of drawbacks that we simply shouldn't have to deal with.
This, in my opinion, becomes especially prevalent once things get big.

cyan niche
#

Like what?

peak acorn
azure mica
twilit beacon
#

"no instance of function template "std::this_thread::sleep_for" matches the argument list"

cyan niche
#

This article indicates that modern languages pick up functional principles into their own design. You could successfully argue JavaScript relies on it.

silk eagle
#

so you're saying

azure mica
#

JS is great, cuz it lets you write code.
OOP can be great but you need to bow down and lick its boots first.
Then you need to continue doing so for the next decade.

silk eagle
#

everything is functionally functional

azure mica
#

Also OOP usually has higher complexity meaning higher refactoring and maintenance cost.
I'd argue that the main success of OOP comes from the success of the languages that implement it cough cough Java.

azure mica
twilit beacon
azure mica
#

Then why are you talking about nvm ? 😂

twilit beacon
#

nevermind

#

nvm == nevermind

azure mica
twilit beacon
#

str nvm = "nevermind"

azure mica
#

As a matter of fact I am pretty sure it evaluates to false.

twilit beacon
#

1

azure mica
#

jk, I am messing with you
😄

twilit beacon
#

reminds me of the time when stewie from family guy took anabolics and trolled brian

nocturne galleon
cyan niche
#

What specifically about OOP makes you "lick it's boots first"?

trail remnant
# azure mica https://github.com/readme/featured/functional-programming

This reminds me of this talk: https://www.youtube.com/watch?v=QyJZzq0v7Z4

Richard is a member of the Elm core team, the author of Elm in Action from Manning Publications, and the instructor for the Intro to Elm and Advanced Elm courses on Frontend Masters. He's been writing Elm since 2014, and is the maintainer of several open-source Elm packages including elm-test and elm-css packages.

▶ Play video
#

The basic thesis is that "norm" basically equates to popularity, and then he goes into what made the top ten languages popular. The basic idea is that for some reason, functional programming languages never ended up hitting one of these reasons for very stupid historical reasons that basically came down to random chance and raw luck.

#

Then the presentation goes off the rails half way through, where things basically come down to very obscure hilarious oddities like Java becoming popular because they spent billions of dollars on marketing, and the fact that Objective C being "object oriented" happened because Smalltalk was on the cover of a popular magazine at the time, and that inspired him to follow in the footsteps and make everything an object.

#

The real killer point of the presentation is that functional programming is a "style", not a set of features. You can write programs in a functional style in nearly every popular language, including Java, the most anti-functional language around. Even better, since that presentation came out, Java has been aggressively adding functional features that allow some very functional styles to exist in Java. Support for streams and stream processing basically brings Lisp style coding to Java. Java also now has lambdas, which are the quintessential feature that allows you to skip writing custom classes to implement things like event listeners. I'm not a fan of Java, but it's hard to argue that Java is a "pure object oriented" now. It's a multiparadigm language, like basically every single popular language now days.

#

As a Clojure guy, he theorizes that some functional languages might end up in the top ten most popular languages, but ultimately he says at ~42:14

Classifying languages as "functional or not" is kind of arbitrary, definitely very fuzzy, and ultimately not as important as talking about the style and their support for the style.

lone hornet
#

this is what my prof. marked me down for on my quiz. Am I wrong?

midnight wind
#

depends on the convension

#

GB can be 1024 megabytes

lone hornet
#

yeah I don't think the prof. specified it. I know that one kibibyte is 1024 bytes but when I got my quiz back he said that 1 kilobyte is not 1000 bytes

mortal sigil
#

as per international standards: a kilobyte is 1000 bytes and a kibibyte is 1024

#

people generally use "kilobyte" when they actually mean "kibibyte" though

#

grading someone down for it, however, is pretty pedantic imo

azure mica
lone hornet
#

@mortal sigil Thanks for the link, I'll reference it when I'm emailing my prof for the points i'm due for

mortal sigil
#

in the real world, if someone says "A gigabyte", they mean 1024 megabytes 99.9% of the time

#

so it's worth keeping that in mind

#

it's still on your professor for an unclearly-worded question though

silk eagle
#

bing is also wrong

#

theyre all wrong, i dont know why this has been a thing for so long

mortal sigil
#

see the above link

silk eagle
#

oh

#

i thought it was the other way around

mortal sigil
#

Kilo: base-10
Kibi: base-2

silk eagle
#

well shit I need to go fix some stuff

mortal sigil
#

But again, people nearly always mean "kibi" when they say "kilo"

azure mica
#

It is considered a consensus.

mortal sigil
#

IMO, "kilobyte" should be base-2, and "kilobit" should be base-10

#

that's how they're used like 99% of the time anyways

azure mica
#

Maybe but we are talking about bytes no?

mortal sigil
#

it's just a really pedantic issue. even IEEE admits that the usages are VERY fluid. If you're being graded, or if it's mission-critical, the number base NEEDS TO BE SPECIFIED

silk eagle
#

on an unrelated note, I had a long list of items that I spent 5-10 minutes pasting into <option> tags because I wanted to do it the cool way with multiple cursors and all that and kept messing up

#

but it was stylish

trail remnant
#

That's one of those arbitrary divisions of units. Computers love powers of two, so most computer units move in powers of two. So usually, computer storage is measured in 2^10, which is 1024. Except when they don't, because it's much easier to market things in increments of 1000, and measuring the size of a storage device it in only 1000 instead of 1024 means you can put a slightly bigger number on the box.

mortal sigil
#

It's only 2.4% off anyway, so for marketing purposes it's "good enough"

peak acorn
#

Kilo kibi is such a pain in the ass

#

If you ever gotta be very clear, N x 10^3 or N * 2^10

silk eagle
#

or just say kibi and blame it on the other person if they get it wrong

peak acorn
#

Big tru

#

Also you can't use bit. Kibibit etc is important to keep separate

mortal sigil
#

it's one of those issues where it's not worth arguing at all

#

like if a manager or professor wants to use it a certain way, might as well abide by their weird system

#

No amount of SI-unit-pedantry will EVER convince me to use "nepers" though

peak acorn
#

Wtf is a neper

mortal sigil
#

it's a logarithmic unit, like the decibel-- it comes up a lot in any math-heavy engineering

peak acorn
#

Ah

#

I ain't no scientist

silk eagle
#

im of the opinion that the definition of "foot" should change depending on who our king/president is.

#

measure their feet, average the measurements, boom thats your foot measurement for the next 4 years.

mortal sigil
#

I guess the best description is:
KIBIbyte: clearly base 2
KILObyte: implied base-2, techincally base-10
kiloBIT: clearly base-10

cyan niche
# trail remnant The basic thesis is that "norm" basically equates to popularity, and then he goe...

First, the idea that functional programming didn't take off because of luck is... Remarkably grasping. The reason why C and later C++ was so dominant was not "luck", it was because it was the best tool for the job at the time it was created, and still is in its realm of application. The idea that something like Haskell or Lisp could currently replace C in the area of embedded system is laughable: it's execution speed and compiled size could never approach C on this front, despite its claims to the contrary, C is king in these regards. Lisp (Multilisp, interlisp at the time) also required a specialized virtual machine which in those days meant specialized hardware. Unix was built on C and so this was also a major factor in preferring C over other program languages. And the reason Unix was written in C was because it was originally written in Assembly and the port from Assembly to C is a lot less trivial since C is far, far closer to the actual machine code than functional programming.

This is not luck, and not Oracle's marketing, but simply that C was the best tool for the job at the time that was most practical and efficient. This also prevents functional programming's adoptions today. Functional programming terms are hard to grasp, OOP is easy and intuitive. The tool itself, whether it be Clojure or Haskell is difficult to use and the people that know how to use it are less prevalent therefore more expensive.

For the record, I like functional things included in my programming languages, and I suspect we'll see them blurred more as the best of each designs are included into programs. I certainly think some functional programming concepts could be incorporated into lower level language design and improve things fundamentally, and I don't really care which language you like the most. But the idea that "OOP was a trillion dollar mistake" narrative gets old on me. It gets rehashed but when I ask for specifics it's always, "Well OOP makes things difficult", but no one so far could show me how exactly in everyday programming it actually does. And don't say recursion because that's a limitation of imperative rather than OOP design, nor a problem that I face on the day to day.

trail remnant
#

For reference, Oracle didn't spend a billion dollars marketing Java. Sun microsystems did, which is part of the reason they went bankrupt.

cyan niche
trail remnant
# cyan niche I'm responding to you, not the video.

I was summarizing the presentation because I thought it was interesting. Your comment belongs much more on the youtube video I linked. I wasn't sharing my own thoughts, nor did I make any comprehensive statements about specific programming languages.

#

For reference, here's how I started off every single one of my comments:

The basic thesis is
Then the presentation goes off the rails
The real killer point of the presentation
As a Clojure guy, he theorizes

cyan niche
#

No I agree with them about Oracle.

#

or uh, Sun

#

And if I had to choose to program in the rest of my life in Haskell or Java I'd pick Haskell easy.

trail remnant
#

Go watch the presentation. It has a surprisingly good explanation (with plenty of references) about how the history of many languages was inspired by what was popular at the time. And many of the things that were popular were based on luck. He explains a surprisingly compelling line of reasoning about how Modula (a functional language) could have been the inspiration behind Objective C, if a butterfly had flapped its wings just a bit differently.

#

Do I agree with him? Mostly. He's got some more extreme views on functional languages, but I think the general idea is pretty compelling.

#

If nothing else, go listen to just the one question/answer at 42:14. He explains that it's really hard to define what a "functional language" really is. There's no generally agreed upon definition for what it means to have a functional language. If it's just "what features does the language have" then basically every modern language qualifies to be functional.

#

As far as the performance argument goes, Rust would like a word with you. An immutable by default language that provides strong compile time guarantees and matches C in raw performance, with the ability to directly target specific embedded hardware. There's no reason functional programming styles can't be blazingly fast.

#

As for the "easy to understand" that's arguable. I find functional concepts are easier to implement, design, and explain. Strong Object Oriented Java style XML documentation always gets difficult to read, and pushes people into pointless arguments over how to specify class hierarchies that usually end up making code less flexible and more confusing. I'd spend a great deal of time arguing that the only "good" Java code is the code that's operating on streams, which is basically functional programming with more steps and a less friendly language.

#

The really funny kicker is that C isn't object oriented at all. That's the whole reason C++ exists in the first place. (Which you'd know about the intermediate language between C and C++ if you watched the presentation)

#

I was never on the "trillion dollar mistake" rant. I don't think object oriented programming was a critical mistake. I'm from a time period after the billion dollar Java marketing hype train. The environment has changed a lot, and I don't see any extremely harmful ideas coming from Object Oriented programming, when done in moderation. (This applies to everything. Anything done in an extreme way is dangerous) The point of the presentation is that the lines are already blurred, and they always have been. Even some of the most ardent OOP guys will admit that composition is better than inheritance, and at that point it's just a pedantic argument on what programming style you like.

Languages are tools, and picking the right tool for the job always requires a careful and thoughtful analysis of the requirements you're working with. I do have strong personal preferences on which languages I like, but I'm still using GoLang at work regardless of how many hours I could spend ranting about critical design mistakes and annoying problems that really upset me.

spark temple
azure mica
#

Ofc, it's just when I think OOP I think Java so I might have used it somewhat interchangeably.
My bad.

spark temple
spark temple
azure mica
#

What's your take on OOP vs Functional?
@spark temple

spark temple
spark temple
#

Yes, even in the same code base.

spark temple
#

Nothing is really inherently bad in terms of tools and patterns we come up with. It’s just how they are implemented is typically bad or not the right one for the problem at hand.

trail remnant
# spark temple I mean, the main reason is with functional programming, it had a high performanc...

Definitely. At the time when C (and A/B that came before) was created in the late 60s, computers were dramatically slower. They couldn't afford any high level abstractions. I don't even know if they had L2 cache on those old mainframes. But C has been showing it's age for a long long time now. There have been over 30 years of attempted C replacements because C kinda sucks as a language. When comparing C with today's languages, C is basically glorified assembly code. You only really want to write C when you're dealing directly with the hardware, and you really really need to not have any abstractions between you and the hardware.

azure mica
spark temple
trail remnant
trail remnant
#

The only real cases where you want to use C/C++ is when you need to manually manipulate lots of memory, which is inherently dangerous. There's a reason that only one out of the top 10 most popular languages allows raw memory manipulation and doesn't have a garbage collector. For 99% of typical use cases, you really don't want to be manually managing memory.

azure mica
spark temple
trail remnant
midnight wind
spark temple
midnight wind
#

yeah, you have to know the computer a lot more

azure mica
azure mica
trail remnant
#

I think we should separate "bad" from "dangerous". "Bad" implies some moral wrong, or something that never has any merit whatsoever.

"Dangerous" meanwhile, explains the inherent risks associated with certain activities.

azure mica
#

There is a reason why we don't program in binary.

trail remnant
#

No programming languages are morally wrong. But there are definitely lots of things that are highly dangerous.

azure mica
trail remnant
# azure mica There is a reason why we don't program in binary.

I'd argue this isn't about the "hard stuff", but more about being practical. If you make a single typo (something that is bound to happen eventually) then you're opening yourself up to basically everything going horribly wrong with binary. But with a compiled language, (even C) it at least protects you from most typos.

azure mica
trail remnant
# midnight wind that's just skill

No matter how skilled you are, accidents happen. The aviation industry is one of the safest in the world because they admit that certain things increase the risk of danger, and should be avoided even if they aren't inherently wrong.

trail remnant
midnight wind
midnight wind
#

also proper coding practices

azure mica
trail remnant
#

Are you actually arguing that it's possible to prevent all bugs by just being skilled?

midnight wind
#

did I say that?

#

Bugs will happen regardless of language

azure mica
# trail remnant Are you actually arguing that it's possible to prevent all bugs by just being sk...

I think that's mathematically impossible.
Something along (not exactly) these lines...
https://en.wikipedia.org/wiki/Halting_problem

In computability theory, the halting problem is the problem of determining, from a description of an arbitrary computer program and an input, whether the program will finish running, or continue to run forever. Alan Turing proved in 1936 that a general algorithm to solve the halting problem for all possible program-input pairs cannot exist.
For ...

peak acorn
#

just be smarter

trail remnant
#

Let me ask you this then. What are you actually advocating for? I don't even know what your argument is. You've just been arguing against whatever I'm saying.

midnight wind
#

Just saying that there are valid reasons to use C

trail remnant
#

I never said there weren't. So why are you arguing that?

peak acorn
#

C awsom

azure mica
#

Assembler awsom

midnight wind
#

The only real cases where you want to use C/C++ is when you need to manually manipulate lots of memory

trail remnant
#

bnry awsm

azure mica
#

Voltage awsm

trail remnant
#

Relevant:

azure mica
#

Let's just go back to Analog Computing. Problem solved.

trail remnant
#

Butterfly programming is the best.

#

Did we seriously become a meme from 2013?

azure mica
#

I like the idea of analog neural nets.
https://youtu.be/GVsUOuSjvcg

Visit https://brilliant.org/Veritasium/ to get started learning STEM for free, and the first 200 people will get 20% off their annual premium subscription. Digital computers have served us well for decades, but the rise of artificial intelligence demands a totally new kind of computer: analog.

Thanks to Mike Henry and everyone at Mythic for the...

▶ Play video
#

I wonder how far we could take it.

#

Would it be better than digital computing? Who knows.

peak acorn
#

what do u even do programming an analog computer

#

whats the use case

azure mica
#

Neural nets.

trail remnant
#

I doubt we'll do a lot of that. Digital computing is far too useful and has far too many general uses to be replaced overnight. Just look at how slow it took huge sections of the industry to move from X86 to ARM, and that just required writing a new compiler and recompiling programs.

peak acorn
#

Then it'd just be a coprocessor
doesnt roly get programmed

azure mica
#

Also Analog Algorithms.
It's the same as Quantum computers. You need quantum-specific algorithms.

#

I don't really know much about this field. It's outside my scope of expertise but I think the idea is interesting.

trail remnant
#

Coprocessors are more likely, but even then it's unlikely that we'll ever make a hard switch away from digital processors as the main control unit for computers.

trail remnant
azure mica
#

But then if we had a General Purpose AI, would it matter?

trail remnant
#

Literally the untimely death of one man in 1959 might have changed the entire history of our computer hardware.

trail remnant
azure mica
trail remnant
#

What's interesting is that Dudley Buck's cryo computers could have paved the way for a smooth transition to quantum computers if he hadn't died and had continued to make advancements. But after he died the microchip revolution pulled all the funding out and the advancements stopped. It's just a theory, but his death might have pushed quantum computing back by one or two decades.

celest junco
#

I’ve been pretty impressed by the recent progress in AI with GPT3 and Dall-E 2. Even the dumb GitHub copilot is pretty impressive (though less so).

trail remnant
# azure mica I think we are currently limited by the hardware. If we had a big enough (assumi...

I've had many discussions with AI believers, but I remain unconvinced. Most of their arguments seem to fall back to the idea that Strong AI is an inevitable thing that is guaranteed to happen eventually (the philosophical idea of naturalism). I find the evidence for such a claim to be lacking. Many many things need to go exactly right, and many many things need to not accidentally fail.

midnight wind
#

Stable Diffusion

azure mica
#

And Stable Diffusion is awesome.

trail remnant
# celest junco I’ve been pretty impressed by the recent progress in AI with GPT3 and Dall-E 2. ...

The AI art generation is definitely impressive, but there's no evidence that Neural Networks will create a general AI. I'm not arguing against neural networks. Those will continue to be used in more and more places, and disrupt our lives a ton. But they aren't generalized AI. The way they're trained is designed to create very specific networks for specific things. There's zero evidence that an AI designed to generate text would be able to suddenly learn how to play chess without manually retraining the network, which makes it not a general purpose AI.

azure mica
#

Also we are really starting to move past the basic NN design. So I think we should just refer to weak AI as AI and not NN.

trail remnant
azure mica
trail remnant
#

So I'd argue that we should really always refer to NN as weak AI.

#

But that's not a useful topic. Pick a definition and I'll use it. I'm not here to argue about definitions of things that don't exist yet.

azure mica
#

Well the field of AI has evolved so much in the last decade... a lot of terminology has changed.
It also relates to what is known as an AI effect.
https://en.wikipedia.org/wiki/AI_effect

The AI effect occurs when onlookers discount the behavior of an artificial intelligence program by arguing that it is not real intelligence.Author Pamela McCorduck writes: "It's part of the history of the field of artificial intelligence that every time somebody figured out how to make a computer do something—play good checkers, solve simple but...

trail remnant
trail remnant
azure mica
azure mica
trail remnant
# azure mica Well my problem with calling all of weak AIs neural nets is that the NN design h...

Yes, there are big advances in NN designs. But I don't think it's wrong to have a broad category of classification. There's a good reason that biology has multiple layers of classification for different things. In the tech industry, we don't really have the idea of broad categories for things. A language is either OOP or functional. We love to think about things in black and white thinking, and we have a hard time thinking about things at a higher level and a lower level at the same time.

azure mica
trail remnant
trail remnant
#

You've seen the original Agile Manifesto, right?

azure mica
#

Yeah but simulating a real brain would be crazy expensive (computationally).
It might be easier at that point to just make your own.

trail remnant
azure mica
#

But yeah we'd need much stronger quantum computers with quantum-NNs and other quantum algorithms.
To this day I barely understand how they deal with all the probability.
I should read up on this.

trail remnant
# azure mica Yeah but simulating a real brain would be crazy expensive (computationally). It ...

The most interesting part of the article I read was not the computation part (which I understood very well) but it was the biology part. It turns out that the original estimations in the 70s (which haven't been updated) were WILDLY wrong about how complex the brain is. There are dozens of things the brain does that are mission critical for complex thought, that weren't even theorized back in the 70s. We now know about some very complex things brains to to "think" that kinda destroy the idea that NN could ever reproduce the same things a brain does. Like the fact that each neuron is actually a small NN itself. Individual neurons can generate non-linear inputs, which wasn't understood at all in the 70s. They just knew there was electricity in there. There's also complex chemical reactions that change how neurons respond to different thing across wider regions of the brain. There's no really any analog in NN design as far as I know. (Although some things the brain does are similar to current deep NN designs like backpropagation, but what the brain does there wasn't understood in the 70s)

#

If brains worked like we thought they did in the 70s, then yeah, some time in 2040 we'd see a computer that could model a brain. But it turns out brains are WAY WAY WAY more complex than anyone thought in the 70s. My current theory is that we'll need to understand how the brain works before we'll be able to build a strong AI. I'd watch developments in neural biology over computational developments if you're really looking for strong AI.

#

Anyways, on the topic of Agile, what happened was very simple. In the 90s, big businesses started trying to design software projects, and kept failing a whole lot. So there was a conference where a bunch of top industry experts (Some names you've probably heard like Martin Fowler. Check the list of names on the website) got together to discuss how they'd found success, and figure out what worked and what didn't work. They eventually settled on four basic principles that they all found they used in their unique processes.

#

The principles were simple, and not perspective.

azure mica
#

Well I tend to disagree with this methodology. I think that while strong AI is definitely strongly influenced by our biology it would be an entirely different (conscious or not) being compared to any living brain.
The problem is we can't really find a good starting point for such an approach.

I remember reading about an idea a while back, about creating a complex system of multiple flexible NN that can change their structure, each sub-NN in theory representing a portion of functionality that can either strongly or weakly connect to other sub-NNs.
Then you somehow have to measure the performance of the system which is not easy at all and encourage it to move towards a specific direction. Tho I think they found a problem with this and the idea was abandoned I don't know if it was ever pursued to begin with but it sounded okay, tho it was never presented in detail.

trail remnant
# azure mica Well I tend to disagree with this methodology. I think that while strong AI is d...

My point isn't that we'll simulate a brain, but that we'll need to understand how brains work before we can reproduce them. Given how little we actually knew about brains 50 years ago, there's a very good chance that there's a very critical important part to "thinking" that's missing from our AIs. It seems very likely that a deep understanding of the brain will lead to being able to reproduce "thinking".

azure mica
#

Either way I have a train to catch tomorrow early morning. Cya.

trail remnant
#

The idea of sub networks is great, but it leads to practical problems. How do you train those sub networks? Once mistake with a subnetwork, and everything starts to fall apart. Brains train themselves in a very different way than NN do.

trail remnant
# azure mica Either way I have a train to catch tomorrow early morning. Cya.

One last thing, is that the Agile Manifesto and "agile" changed over time. It turns out you can't sell an idea to people. You need to sell some sort of consulting. So many different "implementations" of agile appeared as people rushed to sell agile to billion dollar companies. Those are things like "Scrum", which prescribe a process with about dozen weekly meetings as a solution to "people over process". It gets about as dumb as you might imagine. Most people talking about Agile are running into the conflicts between the ideals of the manifesto and the realities of running a for-profit business. That's where most of the stupidity happens. If you really want to find people who know what Agile really represents, always ask about the manifesto. It's never been bad advice, even if it doesn't tell you how many mandatory weekly meetings your team needs.

azure mica
cyan niche
#

No I hate the manifesto.

#

Everyone uses a different flavor of agile, but there's no reason to have some sort of creed for it. Any two companies aren't using the same processes.

#

I know because I used to do this professionally.

trail remnant
trail remnant
#

The manifesto doesn't say anything about mandatory weekly meetings or sprints or how to plan things or any of the traditional things people associate with "agile". I'd argue that the agile manifesto and agile are two distinct different things now.

wind horizon
#

Strongly disagree with this point on manifesto:

The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.

Sounds like typical this is how I communicate best so others must be the same.

#

Me fighting with discords crappy markdown support. 😂

trail remnant
trail remnant
wind horizon
#

I think it’s all it depends and imo that’s where agile should be today, continually improving on what works well for your team not trying to adhere to something specific.

trail remnant
#

My main point was that "agile" is now a product that's sold to businesses, with all the good and bad that comes with that. It started out as a thing many people with lots of industry experience agreed were good ideas, and slowly morphed into a product sold for cash with little regard to quality software and quality products. Scrum certification companies get their money regardless of if your company launches successful products.

trail remnant
wind horizon
#

Yeah that’s true, I mean I have only worked 1 place that did certifications for it. Most other places I have worked were far more lax and didn’t buy scrum / agile stuff. (Besides say software)

trail remnant
#

Yeah, "Agile" is tainted and dead. The actual agile manifesto has been completely ignored and turned into a for profit product that's ruining our industry.

wind horizon
# trail remnant So, responding to change over following a plan?

Well the entire purpose, imo, of agile is to stop letting process get in the way. What better way than taking your retros and saying, hey this isn’t working let’s try and improve it. Even if our improvement breaks out of the typical “agile” flow, but works better for the team.

trail remnant
wind horizon
#

I do think the typical agile we are used to today is a solid starting point for any team though. I just don’t think we should worry about does what we do fit into agile.

#

Yeah well it doesn’t have to be retro, I’m just using that as an example since it’s a common process used to review.

trail remnant
# wind horizon I don’t believe there is a single best way, people all communicate in different ...

For reference, the actual manifesto says

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

That's a bit different than "always use face to face communication". Maybe you aren't looking for the most efficient way to communicate information. Maybe text is fine because you're sending dry technical information and not emotional information about the quality of your product.

wind horizon
#

I think I’m more just annoyed with old co-workers I had that would complain all the time “X isn’t agile” or similar things. Always point to something they didn’t like and saying this isn’t correct agile. Imo they should stop worrying about that and instead voice why this is causing pain points and work towered solutions.

trail remnant
trail remnant
#

Well, ideally. In reality, things are different. "Agile" means "scrum + what we like", and the manifesto is completely ignored.

#

BRB, getting food.

wind horizon
#

Yeah I just have heard it argued about so many times now that I’m grumpy about it. 😂

I have hit the point of idc wtf we call what we do, just does this process work and do we have a way to continually improve it. Lol

deep flicker
#

"Disregard 'Agile', acquire working code"

wind horizon
#

My current job has terrible agile processes, they improved like 10x over the past year though, so I’m still happy. There is a lot to still improve imo, but I at least know the system is working in the sense it keeps getting better.

wind horizon
trail remnant
#

Most of the stuff that we want to do as developers is part of the basic four principles. It's just frustrating how often people say "Agile" when what they really mean is "scrum" or worse, "our own in house process for creating the best code and you should take our process as law and not argue with it and also accept any changes from upper management without complaining".

trail remnant
wind horizon
trail remnant
wind horizon
#

But a sandwich does sound good

trail remnant
# wind horizon I think I’m more just annoyed with old co-workers I had that would complain all ...

The whole "X isn't agile" argument is stupid. Arguing over what isn't agile is the wrong mindset. Agile is about caring about the right things and focusing on improving those and tracking the right stuff. Rather than argue about what isn't agile, they should be doing what a previous senior engineer did, and meet with the team to figure out how to reduce the number of meetings we have because they were disrupting development. He didn't sit around and complain about what was or wasn't. He did something about it to try and improve things. There was a discussion between team members and our manager, and eventually we figured out how to cut down on our meetings to give us more time to work on our product. Whining is very counter productive. I found that out at least three teams ago.

trail remnant
dapper flax
#

The 12 agile principles do define what "agile processes" are. But yes, a core value is people over process. So a ceremony that provides a setting to get people talking has agile qualities.

wind horizon
trail remnant
trail remnant
dapper flax
#

Maybe some other time. I just wanted to point out the fact that the priciples give two definitions for what agile processes are.

trail remnant
# dapper flax Maybe some other time. I just wanted to point out the fact that the priciples gi...

Strong disagree. Cambridge dictionary defines "process" as

a series of actions that you take in order to achieve a result.
Dictionary.com defines it as
a systematic series of actions directed to some end
In the context we're discussing, Merriam Websters defines process as
a series of actions or operations conducing to an end
(Thanks for being the most verbose and least practical dictionary websters.)

#

None of those definitions describe what's in agilemanifesto.org

The main page has four points, but says

That is, while there is value in the items on the right, we value the items on the left more.
Which is the opposite of "systematic". Nearly all of the 12 principles on the other page are statements, not prescriptive actions. The ones that are commands to do something have a deep level of flexibility, which makes them more "guidelines" than "process". For example,
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
That doesn't tell you what you HAVE to do. Rather, what is beneficial to do.

dapper flax
#

Principle #2 defines agile processes as:

Agile processes harness change for the customer’s competitive advantage.

Principle #8:

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

trail remnant
dapper flax
#

I think we are on the same page 🙂

trail remnant
#

Also, refer back to the main statement

Individuals and interactions over processes and tools
That is, while there is value in the items on the right, we value the items on the left more.
The point isn't to strictly define a process that "makes you agile". The point is that whatever your current processes are, they exist to serve your business, your employees, and your customers. And that those processes are always open to change. The whole "agile certification" thing is the exact opposite of that. It defines a bunch of processes that you team MUST follow if they're going to be agile.

#

Honestly though, I'm fed up with the corporate software development world. Like 90% of the teams there are operating like waterfall companies what pretend the mandatory meetings give them the secret magic sauce to have functional software teams. I'm just tired of it, so I'm looking at jobs working in a smaller team/department/company that's less prone to corporate mandates from on high.

dapper flax
#

Sounds like you might enjoy working for a startup

trail remnant
#

Definitely. I started off in a startup, but I was new, inexperienced, and had some pretty big disagreements with a really bad manager. I spent quite a few years in the corporate world, and I think I'm ready to go back with more experience.

dapper flax
#

Definitely important to have a good rapport with your manager. It's worth asking who the hiring manager is if its unclear during the interview process.

celest junco
#

Idk that start ups are exempt from agile dogma. I’ve worked at a startup where that was present and I work at a large f500 where no one mentions the word “agile”. We do sprints but they’re just a way of organizing work.

wind horizon
#

I have worked startups, mom and pop size, and all the way up to multi billion / F500 tech companies.

What I learned was the team and manger have the biggest impact, the most boring company can be fun and engaging with a great team.

I do sometimes miss the wild ride of the startup, the lack of rules / HR and everyone is just doing whatever. It’s like the Wild West anyone can go pioneer a new path in the company or rework huge sections of code / change frameworks just by putting in the effort.

Big business turns much slower, but also has the best work life balance imo. Phenomenal PTO, great pay, and other talented people you can learn from even if your later in your career are some great perks of big tech.

At the end of the day I’d always pick a great team and manager over big or small company.

#

My personal requirement as an IC is the manager needs to have at some point, preferably in past 5 years, been an IC themselves. I’m okay with further up the chain ppl being far away from IC or never being an IC, but direct engineering manager I’ll probably never take another role where they were never a dev in the past.

trail remnant
trail remnant
# wind horizon I have worked startups, mom and pop size, and all the way up to multi billion / ...

Unfortunately, right now I'm contracting, so I have literally zero PTO, and the pay is only "good". Right now our team is pushing to finish things on tight deadlines, so I don't really have lots of opportunities to work directly with experienced engineers. It feels like I'm kinda distant from everyone else on the team. Most of the reasons to be part of a larger company just aren't there at my current job. Fortunately, I'm very isolated from political BS, but I'm just looking for something different.

And I agree that it's pretty terrible when a manager doesn't have practical experience doing the work. It's too easy for people to forget what it's like if they've been out for a long time.

wind horizon
lament bridge
#

Is there somewhere a good video to learn how to create multi-filters in React, maybe in Javascript itself?

Mostly the filter is made of user input and select elements and dates.

cyan niche
# trail remnant The manifesto is very basic. Do you really believe that people should put more e...

I think it's an unrealistic statement. Businesses of sufficient size will begin to demand contract negotiation between its developers and stakeholders. A sprint itself is a contract negotiation in a manner of speaking.

In government spaces contracts are everything and they have to be, what tickets you're allowed to work on, how long the sprints are, what work is delivered, it's all negotiated within a contract. It has to be a contract because the government won't work with you without one.

I see where they're coming from but when you build a product and the client comes back and says, "No this isn't what we want" a contract is your way of proving that you delivered what was promised. A contract can be as simple or complicated as you wish.

Agile is the best SDLC imo because it's a framework that can be applied to almost any business demand. Almost every sector has embraced it as the de facto way of doing things.

silk eagle
#

I like to make the same project once a year just to see if I've improved any, and when the day comes that someone needs this specific project that makes Roku direct publisher feeds, I will have the best one.

#

ill probably just load it up with ads and post it to a mailing list

twilit beacon
#

just do it on a laptop/pc

trail remnant
hollow basalt
#

Then have one

cyan niche
trail remnant
#

Government agencies can totally prioritize contract negotiations is they don't care about the quality and cost/speed of their software. Inflated budgets and cost overruns are pretty normal for government agencies, so it's not exactly the sort of thing that makes your stock go up. (See Intel the last few years)

#

It's also worth noting that even when you have an obligation to negotiate a contract, the contract can be negotiated to hire an agile team to build as much functionality as they can in a given time period, rather than set requirements in stone before the technical experts have gotten involved. The Social Security Administration is already doing this.

Source from the US government: https://www.oversight.gov/report/SSA/Agile-Software-Development-Social-Security-Administration

cyan niche
#

I could give you a laundry list of problems wrong with governmental red tape, but suffice to say not much anyone can do anything about it because that's what's required from the government itself because there are so many regulations they have to comply to.

For example, there's reporting requirements for every single change that happens to the code base.

trail remnant
#

Specifically, the Social Security Administration is actively aiming to change their delivery method from one giant blob to a more incremental delivery method: https://www.oversight.gov/node/224354

cyan niche
#

And I use agile at a government agency.

#

We use sprints just like anyone else.

peak acorn
#

do you use agile or just use sprints to track work

trail remnant
#

You're confusing the ideal with the compromises different organizations have to make due to their situations. And you still haven't answered my question on if you think organizations that spend more time on contract negotiations produce better software.

cyan niche
#

I'm not about to get into a discussion gatekeeping agile.

peak acorn
#

am i getting time confused or have yall been arguing above functional programming and agile for 2 days now?

cyan niche
#

I gotta argue only in my spare time xD

silk eagle
peak acorn
#

no i stg at least some ppl have been arguing for days

cyan niche
#

¯_(ツ)_/¯

trail remnant
#

I've been asking clear questions to the people replying to me, and I haven't been getting any answers. The people who have been arguing with me can't answer a simple direct question about what they believe. I've stated many times what I believe, and they can't seem to directly disagree with me. 🤷

silk eagle
#

well

#

that has to be ironic

cyan niche
# trail remnant I've been asking clear questions to the people replying to me, and I haven't bee...

I don't have enough information to answer your question because there isn't any hard data to back up what "customer collaboration" vs "contract negotiation" actually is. I don't know what's better because I don't know what they are, let alone do I have any sets of results that adequately compare the two.

Second, the question is ill formed because it asks an answer to something that is irrelevant. Governments have to use contracts.

#

And if I were to put on my philosopher hat, any discussion between individuals when discussing a course of action on something is essentially, a contract negotiation, and each party at the end of it is expected to uphold to the agreed decision.

This could be as simple as deciding how to sort a list of product items by default to what kind of database to use. Any time a consensus is concluded an informal contract is formed, whether it be verbal or written.

#

What would customer collaboration even look like? Me sitting down in a meeting with some users about the software asking them specifics on how a button works or what color it should be? Whatever they decide is still essentially a contract between the two parties present. It seems to me what it actually meant by "customer collaboration over contract negotiation" is "informal over formal agreement", where the latter requires written and signed agreement to a list of stipulations while the former is a simple thumbs up to a slack message.

Which just goes to show you just how unclear the entire manifesto is, and this is why I don't like it.

The principles are solid, however, and provide clarity in their meaning.

hollow basalt
#

Ah yes hello world

twilit beacon
#

yo, can too much math in one line crash c++ programs? it always stops working immediately ```cpp
posX=rsin(the)cos(phi);
posY=(r
sin(the)cos(phi))cos(A)-(rcos(the));
posZ=(r
sin(the)cos(phi))sin(A)-(rcos(the));
int point = (scWidth
(floor(posY)-1)+posX);
zBuffer[point] = '
';

twilit beacon
#

how do i fix a segmentation fault

#

fixed

twilit beacon
#

funny circle doing whateva

hollow basalt
#

As we can see above. This is what slowly getting crazy looks like when learning c/c++

twilit beacon
trail remnant
# cyan niche I don't have enough information to answer your question because there isn't any ...

Priorities. It's about priorities. Did you read the one paragraph of text?

That is, while there is value in the items on the right, we value the items on the left more.

They don't say "never negotiate contracts". They say you should put more effort into collaboration than trying to win contract negotiations.

If you haven't experienced this before, there's an entire industry based around trying to manipulate people. Here's a random primer I found: https://www.bookchums.com/books-on-manipulation/

This type of thinking was far more popular in the 90s when the manifesto was written, and the manifesto stands in contrast with much of the conventional wisdom of how to run a business by being a manipulative jerk who takes advantage of everyone they can.

The important part is collaboration over a toxic negotiation where both parties are trying to cheat the other side out of as much as they can. Those businesses and people still exist, and that type of thought process doesn't lead to quality software.

Looking for best books on manipulation? Then read our article to know the list of books that can assist you in manipulation art. Visit us now!

astral ether
#

Posting that seems manipulative

trail remnant
#

It is manipulative and evil, and it's the sort of thing some people do. That's the contrast between people who don't collaborate and those that do. That's the context that's important to understand when you try to understand the difference between the software development methods of the 90s and the agile manifesto.

deep flicker
# trail remnant So you mean "working code over extensive documentation"?

Sorry, my comment was being snarky 😁 . I've dealt with places where people who've never written a line of code talk about how they are 'scrum masters' and 'agile experts' and plaster on layers of bureaucracy when at the end of the day someone needs to write something that makes the 1's and 0's going into the CPU correct.

#

TBH most of the stuff I work on now is small enough it can be managed via a simple "epic > story > tasks" categorization

twilit elk
# deep flicker Sorry, my comment was being snarky 😁 . I've dealt with places where people who'...

Agile programming language

Interview with an Agile Coach in 2022 with Josh Doe - aired on © 2022 The Agile.

Programmer humor
Agile humor
Agile jokes
Agile memes
Agile 2022
Agile memes
Scrum jokes
kanban
agile manifesto
time boxing
planning poker
software development

#software #jokes #agile

▶ Play video
deep flicker
#

insert quote about doing the same thing over and over again here

#

😄

sly marten
hollow basalt
#

Computers are literally made to Compute. Yes it breaks up the operations into something that the architecture can do.
So not too much math, but wrong math would crash the program

twilit beacon
hollow basalt
#

it doesn't have to be

sly marten
twilit beacon
hollow basalt
#

nozemi is right though

twilit beacon
#

yes but the question wasnt whether computer languages are designed to be able to do math, whereas it was more meant as "is this possibly the reason my computer couldnt handle and it therefore ended with a crash"

sly marten
#

so in knowing that, you also know math operations in one line isn't a problem, it's something else that causes a crash - which you already figured out though

twilit beacon
#

i probably should have expressed the question a bit clearer

sly marten
#

if you wanted a more specific answer, probably 😛 but regardless, I always try to give answers that are more useful in the long term - sort of like building a stable foundation before you build the house on top

because by knowing fundamental things, it's also a lot easier to troubleshoot other things 🙂 though that way of answering people's question means a little more work and thinking on their part (which is my intention tbf)

hollow basalt
#

yup tbf

keen hound
midnight wind
#

Out of bounds

keen hound
#

You're just gonna get NaN as a result

midnight wind
#

I guess yeah

#

Just remembering what gives me errors on calculators

waxen river
#

Our school district has blocked GitHub because “It could be used nefariously”

#

Any ideas?

midnight wind
#

why? or getting it resolved?

#

if you want to get it resolved, talk to admin, and say how you use it for programming

waxen river
#

Didn’t work…

midnight wind
#

worst case, use a vpn or another git server hosting service

peak acorn
#

Yeah unless u wanna cause a real stink ur gonna be sol

waxen river
midnight wind
#

I would write how it disturbes learning and you can't develop

hollow basalt
spark temple
#

I’d used a vpn in the meantime but for sure reach out to the network admins. Yes, GitHub can be used to distribute bad code but… professionally I can’t work unless GitHub is working. I’ve left work in the past when it has gone done because I couldn’t do my job and there was no point in staying.

wind horizon
#

Also maybe a simple proxy will work, unless they are doing packet inspection likely can just proxy your traffic. Lol

waxen river
wind horizon
#

You asked for ideas on getting around the schools blocking, but are worried about following their code of conduct. 🤔😂

hollow basalt
#

start the revolution

misty thorn
#

subtracts ".org"

#

What if all websites didn't have extensions

#

No .com no www.

#

Just... getshitdonedotcom

hollow basalt
#

but you just said no .com

misty thorn
#

It's all spelled out hehe

midnight wind
misty thorn
#

Let's go I'm ready for meta web

spark temple
# waxen river Breaks code of conduct

If this was for a job, then totally understandable. Since you pay them, I don’t see the ethical dilemma. They’re preventing you from using one of the most effective tools you’ll use in everyday software development. Seriously, there’s very few better tools than GitHub.

Not just using for your code but for documentation of modules you’ll need for almost every single programming language.

This isn’t an ethics thing where you are taking money from a job and need to play within their security playground because that’s what they think keeps them safe. This is harmful to your education not having access to GitHub.

bold scarab
#

I have some questions about js frameworks and web dev if anyone can help?

celest junco
#

They’re probably just blocking DNS from resolving if I had to guess. Adding entries in /etc/hosts would fix that

hollow basalt
#

curry for 3

bold scarab
# polar arrow shoot 😄

I am trying to learn svelte and I dont understand when I am supposed to use html or the .svelte file

polar arrow
#

always use .svelte

midnight wind
#

it needs to be compiled first

polar arrow
#

yeah, use svelte/kit

bold scarab
#

I am using both

polar arrow
#

wont work

inner wraith
#

Some arguments aren't worth having

#

Or use cellular

#

4G hotspot might be a viable workaround

deep flicker
inner wraith
#

A desktop?

waxen river
#

Until I can get a replacement laptop battery its not an option, currently I have like a 40 min battery life

waxen river
inner wraith
#

Failing that just copy your repos+deps to a flash drive and take it home to do pulls/push

deep flicker
# inner wraith Failing that just copy your repos+deps to a flash drive and take it home to do p...

Could also init a repo on a USB drive then plug into another computer to sync with github https://stackoverflow.com/questions/20628420/how-to-make-usb-pendrive-as-a-git-repository

inner wraith
#

Pretty much what I just proposed

waxen river
#

for now, so I can fall back on that for syncing, hard part is packages

#

it fucked up NPM to error every time due to the proxy

inner wraith
#

Repo on flash drive, npm at home

#

Or fix your stuff

waxen river
#

OH WAIT, I am locked out of my gitlab account at school

hollow basalt
#

you don't have to be

waxen river
#

take a guess why

inner wraith
#

Sounds like your solution is to fix your problems lol

waxen river
#

Wait I can change it to a username and password

#

Crisis Averted

urban flint
#

crossposting a cool linux development thing I did here as well 🙂

#linux message

trim warren
#

can you go back to previous scanner?(like going back to main menu) using a string scanner?

urban flint
#

Is that addressed to my post? You can switch layers with key codes yeah

trim warren
#

oh no it's a problem I've been working on

sturdy ingot
twilit beacon
#

working on this cool project, will add hotfixes tomorrow but for now its good ```cpp
#include <iostream>
#include <math.h>
#include <windows.h>

float cons[] = {108, 36, 0.05, 6.28, 10, 0};
char bu[3888];
const int mix = (cons[0] / 2);
int miy = (cons[1] / 2);
int posX;
int posY;
int posZ;

int main ()
{
while (1)
{
memset (bu, ' ', 3888);
for (cons[5];cons[5] < cons[3]; cons[5] += cons[2])
{
for (cons[5]; cons[5] < cons[3]; cons[5] += cons[2])
{
posX = cons[4] * (mix / miy -(cons[0] / pow ((mix / miy), 5) * 2)) * sin (cons[5]) *cos (cons[5]) + mix;
posY = (cons[4] * sin (cons[5]) * sin (cons[5]) + miy);
int point = floor (cons[0] * (posY - 1) + posX);
bu[point] = '#';
}
}
std::cout << "\x1b[d";
for (int x = 0; x <= 3888; x++)
{
putchar (x % 36 ? bu[x] : '\n');
}
}

return 0;
}```

peak acorn
#

What does it do

silk eagle
#

i personally prefer to write paragraphs as variable names

bitter edge
#

is this only for coding

silk eagle
#

its for most forms of software/hardware development-related things

bitter edge
peak acorn
#

Prob won't get as good a reception as other topics, but yea u can ask anything lol

bitter edge
#

alr so I wanna try to create a little pcb that has a micro usb port and a led and I'm wondering how much resistance I would need for it

deep flicker
# bitter edge alr so I wanna try to create a little pcb that has a micro usb port and a led an...

This is what breadboards were invented for! https://en.wikipedia.org/wiki/Breadboard

You should absolutely prototype the circuit to confirm your layout, component choices, and functionality before making a PCB.
I would recommend getting a breakout board for the header (e.g. https://www.adafruit.com/product/1833 for uUSB), a couple of LEDs (never hurts to have spares), and an assortment of resistors at different values for testing.

The most important thing to consider when designing a circuit is power dissipation. The datasheet posted says the diode can dissipate 150 mW, with a forward current of 100 mA. For the following I'm assuming a series circuit with only the diode and resistor as the load, i.e. +5 V |---Diode---Resistor---| GND

Using Ohm's law, V=IR, (https://en.wikipedia.org/wiki/Ohm's_law) and the power law for circuits, P=IV, (https://www.allaboutcircuits.com/textbook/direct-current/chpt-2/calculating-electric-power/) we determine how much voltage can drop across the diode as

P = I * V --> V = P/ I --> 0.15 W / 0.1 A = 1.5 V

assuming the USB header give us +5V, the voltage drop across the resistor is then

5 - 1.5 = 3.5 V

and since it's a series circuit, the same current flows through the resistor as through the diode (100 mA), so it's R value is

R = V/I --> 3.5 V / 0.1 A = 35 Ohms

deep flicker
deep flicker
bitter edge
#

i never knew such a little thing would take so much time to plan

trail remnant
# deep flicker Sorry, my comment was being snarky 😁 . I've dealt with places where people who'...

Nah, I totally get this. It's frustrating to me as well. I worked on several highly dysfunctional teams that didn't know how to communicate or build working software. They were scrum teams with certified scrum masters, but they couldn't deliver software on any sort of a reliable schedule. It was kinda pathetic, and deeply frustrating for me as someone who enjoys seeing people use my software.

It's why I'm pretty pedantic about the difference between today's "agile" and the "agile manifesto". The two are different things, but the manifesto is often treated like it's just as toxic as some of the agile garbage that often happens to teams. The manifesto is just a document, and it's written by industry veterans, and surprisingly reasonable. I don't think it should be followed like a religious textbook, but the advice often borders on common sense. (As a software team, your main goal should be to make software. Much advice. Wow.) Meanwhile, today's "agile" is just a corporate product. It's a product sold for profit, and it's usually much easier to find a crappy ripoff product than a high quality product. I don't think that agile has to be bad, but much of it is pretty terrible. However, it's important to have perspective. Decades ago, waterfall projects could literally spend years negotiating contracts and detailing out every single minor detail, only to start the project and realize that the most basic assumptions were wrong, and the entire planning phase had been wasted. Yes, I've had multiple support incidents this year because another team pushed unexpected changes that broke our team's code, but I'd take that over spending a year planning and not writing code.

bitter edge
deep flicker
deep flicker
bitter edge
#

that's about as much as I know (it failed)

#

also pretty sure I burnt it

deep flicker
# bitter edge through-hole design?

The resistor in your screenshot is a surface-mount resistor, which are tiny and not easy to solder by hand. Same with the pins on the USB header

deep flicker
bitter edge
#

also as far as I know my little usb thing is responsive

#

it just doesn't work...

deep flicker
trail remnant
bitter edge
#

Also zed are you familiar with ribbon cables

deep flicker
bitter edge
#

That's why I'm getting a heat gun and solder paste..

#

it will make that much easier

deep flicker
deep flicker
#

Or just solder a JTAG header and break out the pins on the other side

bitter edge
deep flicker
deep flicker
wind horizon
trail remnant
#

My current team is pretty good, but most of the important improvements have come out of non-retro discussions. There's a general willingness to speak up and offer improvements to our processes, which is really great. The most impactful improvements usually happen when someone runs into a big problem in the middle of the sprint, and they come up with an idea to fix that problem, and bring it up during the next standup. Generally, if you communicate well, it only takes ~10 minutes to explain a problem, discuss your potential solution, and commit to a plan of action, so we can have that discussion after our ~8 minute standup. Our team is very supportive, so everyone is there to contribute improvements to ideas, not to tear them down.

Dealing with problems as they arise lets people feel appreciated and relive pressure throughout the sprint, which means those feelings aren't bottled up, so the retro isn't just a complaining session. We also structure our retros to explicitly have positive sections, which helps because our team team doesn't have systemic issues dragging us down, so most of our pains are temporary. The way our retros are run makes them sometimes useful for being a place to bring up time independent ideas with all the team members present and no distractions. Generally though, the main process at the retro is to create a story for future action. The retro shouldn't be your only tool for improving your team.

#

Unfortunately, most teams have major systemic issues and are constantly in pain, so the retro is just a regular meeting to uncover how screwed up you team is and how little things are improving, which tanks team morale. CB_hidethepain

next cipher
#

yeah I'm in this weird position where my regular job is a non-production team, but one of our big ongoing research areas has kinda suddenly evolved into an actual product and they want it out there now

#

so I'm helping pitch in on a fairly standard agile/scrum ish team at the same time as we're putting together/spinning off that team to actually become a product team

#

it's a very weird situation and i still have my regular job to keep track of and not lose track of shit (even though the total workload is pretty flexible)

broken pendant
#

hi.. im new to programming... is there an application that allow me to create simple GUI for python?

bitter edge
# bitter edge

i better stop plugging this in ;- ; this thing almost broke my external hdd

trail remnant
bitter edge
#

part of me is telling me this will work and part of me is telling me this will fail

trail remnant
trail remnant
bitter edge
trail remnant
bitter edge
bitter edge
#

and I'm getting a heat gun with some solder paste to fix that issue

trail remnant
#

I'm not saying it's easy. I have literally only touched a soldering iron once in my life. But if it's out of your skill range, then it's out of your skill range.

bitter edge
#

but mine is like 1/8th of the board itself

trail remnant
#

Watching Louis Rossman rants definitely qualifies me to let you know that you need more flux. More flux fixes everything.

bitter edge
#

I don't have anything to really magnify what I see right now

trail remnant
# bitter edge what do you mean by "plug"

The board is green, and you're trying to use the holes to make an easier connection, right? The problem is you still need to solder the red pins to use the breakout board.

#

Instead of needing to solder this stuff yourself, you can always just buy a breakout board for the components you need. It's pre-soldered, so you just need to use the large pins to connect things.
Like this: https://www.adafruit.com/product/4090

bitter edge
#

just not with a soldering iron

trail remnant
#

You gonna solder it with your smoldering good looks or something?

bitter edge
#

i am gonna use a heatgun with some solder paste

trail remnant
#

Do you have a way to apply the paste?

bitter edge
#

it's paste

next cipher
#

like tech demo, not even remotely close to a complete product

silk eagle
#

speaking of demo-able states, I spent the day rewriting things line-by-line (it's python so its really only a few hundred lines), fixed dozens of bugs accidentally, and improved the speed of my service enough to have to artificially slow it down so it doesnt look like something broke.

#

I also had to make a save button that changes its text to "Saved!" for a few seconds and doesnt do anything because people didn't understand that things were automatically saving.

bitter edge
silk eagle
#

well yeah each line in python is like 35,000 lines of C

bitter edge
#

i do java

silk eagle
#

what does that indicate? i have like 0 knowledge of java other than java webstart being gone so idk

twilit beacon
bitter edge
twilit beacon
#

java is even worse

bitter edge
twilit beacon
# bitter edge how so

class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }

silk eagle
bitter edge
silk eagle
twilit beacon
# bitter edge and

its just stupidly a lot just telling the computer to print out a hello world. at least its just printf in c

bitter edge
#

but can you make minecraft plugins in python

silk eagle
#

you can make minecraft in python and then make python plugins for the python minecraft

bitter edge
#

Who's gonna do that

#

how big of a message are you typing

silk eagle
#

😎

bitter edge
#

usually people who code can atleast type pretty fast

silk eagle
#

I type like 130-150wpm whenever I'm sprinting

bitter edge
#

you can't sprint while typing

silk eagle
#

but if theres a bracket I fall down to 90 due to the whole python thing

bitter edge
#

java has more brackets

silk eagle
#

python has no *curly braces

bitter edge
bitter edge
silk eagle
#

its indent-based

bitter edge
#

press tab then boom you have an indent

wind horizon
trail remnant
bitter edge
silk eagle
#

test the demo in a VM, sell the vm image

trail remnant
# silk eagle I also had to make a save button that changes its text to "Saved!" for a few sec...

This is actually a classic problem. Turbo Tax has a similar thing, where people don't understand that calculating taxes is actually trivially fast for a computer. So Turbo Tax literally sits there for seconds, showing you all the things it's calculating with little pretty loading bars, just to make sure everyone knows they did the work. While it may seem counter intuitive to intentionally make your software slow, think of it more as an accessibility feature that helps people understand what your software is doing.

trail remnant
bitter edge
trail remnant
# bitter edge is the laptop an added bonus for free 🙂

Tell the company that to deploy the software, they'll need to hire a full time person to sit there and set up new laptops with your exact same setup so everything works correctly. I'm sure management will love this plan, and rush ahead with deploying software that way.

bitter edge
#

even smaller

trail remnant
#

It's not blue anymore

bitter edge
#

yes now it's white

#

time to learn how to create 3d models ;- ;

bitter edge
bitter edge
#

make it larger

bitter edge
#

friends

trail remnant
#

Darklife just over here writing fanfiction

sturdy ingot
twilit beacon
sturdy ingot
#

k. But that's not C++. It's C with std::cout.

twilit beacon
#

but its a cpp file

#

how do i then make it c++

sturdy ingot
#

You'd write proper and clean C++ code; which would kinda defeat the whole obfuscation journey, right?

twilit beacon
#

i am making a clean version, but when that one will be finished, ill obfuscate it

#

this was just a test to get a rough idea of the obfuscation process

sturdy ingot
#

Yeah, that's fine. Still it's easier to start with a working variant and then obfuscate it, especially if you're learning a language. I'd also recommend you to use version control (e.g. git) in case you haven't tried that yet.

twilit beacon
#

what does a version control do

sturdy ingot
#

It allows you to have a look at earlier variants of your software/code without saving first_try.c, second_try.c, final_try.c, real_final_try.c, real_final_try_1.0.c, real_final_try_1.0_final.c.

#

By the way, if you want to have some ideas for obfuscating your code, here's a slighty obfuscated variant of your goal (C, not C++): ||main(c,d,e,f){for(f=0xf,c=-f-1;c<f;puts(""))for(d=-1-f,++c;d<f;)printf("%c",c*c<=f*f-++d*d?'X':' ');}||

twilit beacon
bitter edge
#

imma do it

sturdy ingot
sturdy ingot
#

But if you're asking what that code does, well... it creates a (filled) circle.

rancid nimbus
#

Does anyone know how to resolve this?
error: 'strstr' is not a member of 'std'

sly marten
#

my guess is Python or C(++), but really no idea...

rancid nimbus
#

Cpp I think.

twilit beacon
#

what did you do to make it that short

#

there is no cos, no sin no nothing

sturdy ingot
sturdy ingot
# twilit beacon there is no cos, no sin no nothing

If you have a circle of radius r, any point (x,y) is within the circle if the Euclidean length of (x,y) is less than or equal to r. That's the same as sqrt(x*x + y*y) <= r. Square both sides and you have x*x + y*y <= r*r. Rename the variables and you get c*c + d*d <= f*f. Move the loops increment within the expression (which is, by the way, undefined behavior, but works fine on GCC), and you'll get c*c + ++d*d <= f*f. And then subtract ++d*d from both sides to make it slightly more confusing, and you'll end up with c*c<=f*f-++d*d.

twilit beacon
#

pls not spoil everything if that is the case, ill try it myself first

#

just can you tell me if i got the gist of it

twilit beacon
#

oh i understand now

#

you used pythagorean theorem to get the distance

bitter edge
#

this is why i use java

#

like tf is all this math

twilit beacon
#

in java if you wanted to do the same you would use the same math

#

you would just express it differently

#

but my question now is, does it iterate like that without waiting until the for is done or what

peak acorn
#

That's a nasty for loop

twilit beacon
#

and what does the puts do

peak acorn
#

Print I think

twilit beacon
#

yeah but what is its signifficance

#

why it do what it do

spring cradle
#

newline?

silk eagle
#

well how else are u going to puts?

twilit beacon
spring cradle
#

i think cpp has puts

peak acorn
#

I don't understand that for loop at all

twilit beacon
#

i think it iterates trhough all the possible x and y

peak acorn
#

The condition is (x=-r-1)? So it continues until that difference is 0?

twilit beacon
#

to the put into the last printf statement where it calculates something

spring cradle
#

x or space if it's inside circle

twilit beacon
peak acorn
#

Oh there's a comma

twilit beacon
#

wait ill post it again so we wont have to scroll up

spring cradle
#

does it take an r so the fn won't have to initialize a variable or something

peak acorn
#

Yeah they're stacked without braces

twilit beacon
#

wdym

peak acorn
#

1 sec

bitter edge
twilit beacon
#

its just doing first for loop and in that loop there is the second one which holds the printf?

peak acorn
#

Yeah they are nested

spring cradle
#

yeah it's like a double nested one liner

twilit beacon
#

so c can nest without braces?

peak acorn
#

U don't need curly braces for for loops with one line

twilit beacon
#

oh its a one liner

peak acorn
#

This doesn't rly feel like c, what's with the parameter list?

twilit beacon
#

it is c just obfuscated

peak acorn
#

Our the function declaration entirely

twilit beacon
#

thats kind of the point of c coding

spring cradle
#

ooh i have one

peak acorn
#

didnt know that was valid syntax at all

twilit beacon
#

idk you dont need to declare main ig

spring cradle
#

line 8

#

it uses a bracketed if inside an unbracketed while

sturdy ingot
sturdy ingot
# twilit beacon thats kind of the point of c coding

Nah, that's obfuscation. Proper C99 code would look like this:

#include <stdio.h>

int main(void) {
    const int radius = 15;

    for(int y = -radius; y <= radius; ++y) {
        for(int x = -radius; x <= radius; ++x) {
            if(x * x + y * y <= radius * radius) {
                putchar('X');
            } else {
                putchar(' ');
            }
        }
        putchar('\n');
    }
    return 0;
}
sturdy ingot
peak acorn
#

ah

#

any C code i write has hundreds of characters of warning config

sturdy ingot
silk eagle
#

obfuscated C is just perl

#

for example, im pretty sure there's 1 variable here and its $line and the rest is just normal to perl

$line =~ /^\s*(\w+)\s+(\d+)/;
sturdy ingot
sly marten
#

also the performance of JVM is terrible in comparison

sly marten
#

back at this are we eek working on a Kotlin library for Minecraft server plugins pogg

peak acorn
#

poggin

sly marten
#
class SetHomeCommand(
    override val name: String = "sethome",
    override val description: String = "Set a home at your current location."
) : HomesCommandBase() {

    override fun execute(player: Player, command: BCommand, label: String, arguments: List<String>) =
        player.createHome(if (arguments.isEmpty()) "default" else arguments.first())
}```
not too bad to define commands like this
#

but would still be nice if I could make kts work

peak acorn
#

kotlin weird

misty thorn
bitter edge
bitter edge
#

what ide do you use ?

sly marten
sly marten
peak acorn
#

never actually used it

sly marten
#

I had a whole translations plugin, so in my plugins I would do translation identifier keys to lookup translations off of - this let me translate commands, arguments, messages, etc etc (me being the server owner, not just the developer)

#

I also had a player settings plugin, so all of my plugins could use that plugin to store settings etc for players, which makes it easier to have settings for your plugins, but also easy to use settings across plugins

#

the kotlin plugin library will be open source once it's more complete, along with some of these plugins that will serve as proof of concept plugins

slate frigate
#

Feeling this a LOT as I'm building a genetic training algorithm

bitter edge
#

I need a anyone to give me 3 names for buttons

bitter edge
#

anyone here use dreamweaver

#

if so how tf do I change this view

#

I don't wanna be staring at this like that. I want it somewhat vertical

hollow basalt
#

dreamweaver
KEKW

bitter edge
midnight wind
#

everything

bitter edge
midnight wind
#

it kinda sucks

hollow basalt
silk eagle
#

when I do web development stuff, I just use this extension in vs code:

wind horizon
#

Honestly I didn’t know DreamWeaver still existed. 😳

bitter edge
#

but geforce now just gave me a free trial to adobe creative and I wanted to try it

glass phoenix
#

@silk eagle live server doesnt work for php in my pc , what would i do?

wind horizon
#

I bet PHP has some dev server setup, usually all major frameworks have them. But if not or if you just want to run closer to prod you could setup a Docker file you run with compose that hosts it behind ngnix/Apache. Set the volume mount that way local changes will be replicated into the container.

sly marten
#

why would you have anchor tags around buttons though?

sly marten
# bitter edge anyone here use dreamweaver

2010 called, they wanted their editor back!

in all seriousness - I have no idea what DreamWeaver is like these days, but I doubt a lot of people use that... Try VSCode instead

sly marten
#

Live Server (afaik anyway) is for front end development, and not having to reload the browser every time you make changes to the code

twilit beacon
silk eagle
sly marten
#

but in fairness, it's probably because they're new to HTML, and didn't learn it's not the way to go

silk eagle
#

yes true, they are probably new to HTML. now I know the right way, but for the people here who dont, what is the right way?

sly marten
#

<a> = anchor tag = a link taking you somewhere (traditionally anyway)
<button> = a button = triggers an action that does whatever (usually executes some JavaScript)

silk eagle
#

oh so just use the <a> stylized to look like a button, understandable

sly marten
silk eagle
#

theres this one vs code extension somewhere that I uninstalled accidentally, it does some fancy stuff where whenever u write css it autofills browser support stuffs'

sly marten
# silk eagle oh so just use the <a> stylized to look like a button, understandable

you can certainly do that, I've done that many times - but things like Google, embed generators (such as whatever Facebook, Twitter, Discord, etc uses), accessibility tools (disabled people - mostly blind I guess) might treat buttons and anchors differently

anchors can also take you somewhere else on the same page (a button can too, but would need JavaScript to achieve that)

sly marten
sturdy ingot
# twilit beacon what would you advise me, start doing c to then obfuscate or continue with c++

That depends on what you want to achieve. Do you want to learn proper C or C++? Then pick one and learn (with proper learning resources, especially for C++; most online tutorials suck and only teach "C with classes"). Write lots of programs and get them reviewed, for example on https://codereview.stackexchange.com.

Do you want to write obfuscated code, but not go the way of Cthulhu with C++ templates? Then pick C.

twilit beacon
sturdy ingot
#

Hm. If you want to have more in-depth knowledge as in "closer to the real system", then I'd recommend C, especially if you want to go into Assembly.

#

Also, its fun to see C code and the resulting Assembly next to each other: https://godbolt.org/z/9fxYMK1Mj (but that also holds for other languages like C++, Rust, Zig...)

twilit beacon
#

then ill do c, thanks for the help

#

if i hypothetically wanted to also use an ascii code (such as 0x20 for 32 for instance) instead of numbers, would that also assign it a value like C did in the obfuscated code

bitter edge
wind horizon
# sly marten <a> = anchor tag = a link taking you somewhere (traditionally anyway) <button> =...

This message ❤️. Please don’t use buttons as links. It’s one of the most common mistakes I see when ppl work in JS frameworks like React where they toss on click handler to redirect. Now your user can’t open the button as new tab, copy link, accessibly is shit, etc.

It feels like modern JS frameworks have made it too easy for ppl to never learn proper markup and you start to see things like div styled like button with an on click handler to open a new webpage. 😂

sly marten
#

just build the entire site with div tags

silk eagle
#

I feel attacked

young elbow
#

when you think about it, everything in html is a glorified div LUL

latent valve
#

fr

wind horizon
#

Nah there is a lot of differences how browsers handle specific elements, especially when it comes to accessibility.

sly marten
sly marten
bitter edge
sly marten
bitter edge
#

and they atleast seem to work exactly like divs

peak acorn
#

By default divs are blocks and spans are inline iirc

wind horizon
#

I’d suggest you skim through an HTML course / guide or YT videos. Basics of HTML aren’t too big / complex so you can probably blast through it on the weekend and you’ll find it makes things a lot easier when you have some of the html basics down.

hollow basalt
#

glamdring is right though

wind horizon
wind horizon
#

Span are inline elements, while divs are blocks.

bitter edge
twilit beacon
#

isnt nav better for navbar or still div or whateva

sick fossil
#

idk what category this question would fit but quick question:

Does mere existence of trojans on the system (Have not opened the files yet) cause issues? I'm trying to learn some reverse engineering and its the first time I try downloading malicious files. On a VM of course

peak acorn
#

The binary executable sitting on your system wouldn't be able to do anything unless something runs it

twilit beacon
#

computer programming

peak acorn
#

Computer

twilit beacon
#

puter man

peak acorn
#

Segfault

lapis briar
#

can someone with knowledge of c help me? Can i use a switch statement with every case in a seperate sourcefile?

peak acorn
#

What is the problem exactly?

lapis briar
#

I dont know how to use multiple source files

#

I want to have one file for every case

peak acorn
#

Oh I think I understand

#

Wouldn't it make more sense for each case to be a function? Either way you need to compile all the files

#

Maybe search up simple makefile or just gcc them all

sly marten
#

you don't need knowledge of c to be able to answer this question tbf

#

if c has other ways to do it, idk, but I doubt it

lapis briar
#

im very new to programming 😅

sly marten
# lapis briar im very new to programming 😅

np, but please try to avoid gatekeeping people from answering your questions, because I have 0 experience with C, yet I can answer your question just fine

same with questions like "anyone EXTREMELY experienced in PHP?" to then wait for someone to respond, and the question is just "how do I hash and unhash passwords?"
this is just an exaggerated example fwiw, but the point should be clear 😛

ask your question, without putting any arbitrary limitations on who can answer 🙂

So in this case:
"Can i use a switch statement with every case in a seperate sourcefile?" ->
"In C, can I use a switch statement where each case is handled in separate files"

lapis briar
#

ahh thanks, i get it

#

Shouldve thought of that

sly marten
# lapis briar Shouldve thought of that

yes, but also no 😛 you can't know until you know, you simply just asked your question and was focused on that rather than how to communicate it as good as possible 🙂

lapis briar
#

thats right, good to know for the next time though!

sly marten
#

hence why I explained it to you ^^ and also everyone else who comes across it

nocturne galleon
#

so, i'm working on a makefile, i want my main target to depend on a phony target that creates an output directory (for all my objects and such)
if i just do

discord: setup $(OBJECTS)
    $(CC) -o build/discord-shmem.exe $<

it complains about setup not being a file, which i suppose makes sense, but there is another issue, even if i filter-out setup (which please tell me if there is a better way to do it), there are no objects in $<, however if i flip their places ($(OBJECTS) setup), it works fine but then it doesn't create the build directory early enough

what am i doing wrong?

#

OH wait i am dumb

#

i should be using $^

silk eagle
#

Python 3.11 is out, finally we have fancy error messages that point things out (...at runtime)

#

and Exception notes

#

and whatever this is which you can use for whatever you use it for

sleek blade
#

I made a fancy play/pause button, thought I’d share

bitter edge
sleek blade
#

Just a little project I'm working on, nothing released publicly, yet

bitter edge
#

looks good

sleek blade
#

Thank you

#

Came out a lot better than I was expecting 😂

hollow basalt
#

ARR GEEE BEEE

candid hare
#

hey champs, im tryna figure out how i could possible make certain audio outputs change on a shortcut.

right now i do it by opening sound mixer options and changing it individual but would be nice to be able to do it off a desktop shortcut

anyone have any ideas or anything that could help?

sleek blade
sly marten
nocturne galleon
#

Can anyone point me in the direction of a community for helping to learn javascript? I'm currently doing a bootcamp, and there's a slack channel for it but it would be nice if there was another resource I could alternatively use for help

#

mostly looking for people who I can talk to about it rather than hard learning resources, I have plenty of those

wind horizon
echo notch
#

TIL: In python 3.8+, they removed the ability to unpack a dictionary item in a lambda function:

ltt = {"linus": 0, "luke": 1, ...}
dict(filter(lambda (k,v): 'linus' in k, ltt.items()))

you have to handle it like a single tuple object:

ltt = {"linus": 0, "luke": 1, ...}
dict(filter(lambda k_v: 'linus' in k_v[0], ltt.items()))
deep flicker
# nocturne galleon Can anyone point me in the direction of a community for helping to learn javascr...
#

^ This guy is a programming/development polymath

vestal spire
#

is there a place where i can deploy my create-react-app and add password protection for free? Like vercel's password protection, but I need the pro plan for that on vercel

nocturne galleon
#

You can host anything for free on oracle cloud, though as a vps it requires a tiny bit more management from you compared to managed services

next cipher
#

oracle cloud is truly free as a loss leader but the tradeoff is that you have to maintain & secure it yourself (also that you have to deal with oracle)

wind horizon
#

I think you can have free auth from okta back in the day for something like 10k accounts, not sure if that’s still the case. I think Firebase used to have free tiers as well, again not sure what changes have happened over the years in pricing.

If you can work with a 3rd party like that todo what you want you can get mostly if not fully free tier, but it’s going to require some mix and matching probably from different providers free tiers. 😂

sly marten
#

well, some web servers have anyway, but not sure of any free hosts - aside from configuring your own VPS though

midnight wind
#

Because ik azure AD is free for a certain about if objects

#

But that still requires a backend

sly marten
#

they probably don't want to mess about with SSO or Azure either - at least the impression I get is they want something rather trivial

fairly sure the easiest way to get it for free is one of these free Oracle VPSs and configure it on there, then install Nginx and use that for password protection

midnight wind
#

Yeah

upbeat aspen
#

hey i can't seem to get streamlink running can someone help

next cipher
#

unless you just want a hardcoded basic auth password sitting on the filesystem but that's hardly considered authentication

spark temple
#

Uh, I mean... that's what it ultimately gets saved in but you can use OAuth providers. But yeah, saving user information but passwords? Not needed if they authenticate with something like Google, Facebook, Amazon, Apple, etc.

#

There's multiple ways to solve a user authentication.

peak acorn
#

why wikipedia have a newline here

hollow basalt
#

cause it is more than
half

silk eagle
#

i did that evilrondo

wind horizon
# midnight wind Otka sso?

They used to have a stand alone option too, which used their same sdk but could even do basic user/pass not SSO. I haven’t touched any of there stuff in few years so not sure what there is these days.

midnight wind
#

huh

next cipher
#

the point is that you either need something dynamic which costs the provider orders of magnitude more than static file hosting, or you're stuck with some kind of hard coded basic auth which isn't meaningful security

peak acorn
#

Why is python so bad

#

🤨

#

How can I make an enum, or similar concept that has some values associated with it. Seems like the enum package is borderline useless or required a bunch of boilerplate to make it useful

#

Ok apparently i just fucked smth up, but nonetheless i shouldn't need to google as much as I am to set up some basic enum stuff

storm berry
peak acorn
#

Yeah I ended up figuring it out

#

Annoying though, mapping those enums to a string, or attaching a function to them? Should be easier.

#

For the string, I just ended up using a dict, which feels real dirty but it doesn't matter

storm berry
peak acorn
#

Right but not exactly the enum name

storm berry
#

or MyEnum['V1'] which gives MyEnum.V1

peak acorn
#

assumign you're supposed to name enums BIG_CASE or similar
can't display anything like that

storm berry
#

how would you do it in another language

peak acorn
#

in java enum is just a class with some constant guys attached, i like that
other langs are similar

#

Also good, in C, enum is just a renamed int. So there's no expectation of being able to do fancy stuff, and it's also dead simple

storm berry
#

like what do you want from this

Right but not exactly the enum name

peak acorn
#

Just re-styling something, say States.MAIN_MENU should be transformed into 'Main Menu' or whatever, for each enum

#

I just made a dict and mapped them

storm berry
#

you could do

class States(enum.Enum):
  MAIN_MENU = 'Main Menu'
#

then States.MAIN_MENU.value gives you 'Main Menu'

peak acorn
#

Right so an enum can only have a single value attached i guess
Or looking at how it's structured now maybe you can just attach a class

storm berry
#

yeah you could probably have a whole class as the right side

peak acorn
#

Point is I think it's not as obvious as it could be. Which I guess is sorta clear since class States(enum.Enum) is one of the goofiest declarations of any lang

storm berry
#

I think it works like a normal class

peak acorn
#

Right I think it's just a normal class and each enum is a static field?

storm berry
#

but by inheriting from enum it gets some qol stuff

peak acorn
#

by the looks at least, i dont know python very well, I almost exclusively use python as a terminal calculator

storm berry
#

maybe it's hacky, maybe it's cleverly keeping things simple, maybe it's both

peak acorn
#

If it wasn't required to be python for this class I would definitely not do it

#

It's a networking class, so we made little TCP client and servers. I guarantee you I'd be done faster if I did this in C, lol

storm berry
peak acorn
#

Probably cos I do C for a job, and not python, but nonetheless

#

I think they just pick python becuase its easier to debug and they really don't want to put student onto new languages

storm berry
#

I'd pick python over C for most networking tasks

peak acorn
#

Yeah probably for the best

#

But personally I could have finished this assignment in C a lot faster

#

Especially this goofy state management stuff I don't know very pythonic ways to handle it

sly marten
sly marten
# next cipher unless you just want a hardcoded basic auth password sitting on the filesystem b...

Ah yeah, this is what I was on about. Indeed, it’s not authentication, but they were also just asking to password protect their application on a free host.

Presumably they just want to show the thing to certain people, and not be accessible by just anyone

If they actually want authentication, oh man, they’re gonna have to do a lot of learning I’m afraid 😛 There are a crazy amount of ways to do that. They probably also want to get a cheap host rather than free host at this point.

Hetzner is pretty affordable. DigitalOcean isn’t too bad either, depending on what you get. OVH is reliable, but they have a terrible user control panel, and as far as I know not particularly good customer support - though I’ve been with OVH for years, never had to use the control panel or their customer support (I’m also above average experienced, so I don’t need their support for my own misconfiguration etc though)

So that’s a little bit of food for thought, I can elaborate if I’m onto something they actually want.

sly marten
# spark temple There's multiple ways to solve a user authentication.

Fairly sure I’m right in my assumption above - they don’t even want you to see their react app before authentication has happened, without a backend, a web server with basic auth is best you’re gonna get.

Because otherwise you will have to check if they’ve authenticated for every request they make, before serving the React app

sly marten
nocturne galleon
midnight wind
#

It depends on where

#

But for scripts and stuff python 100%

#

Webapp, python

nocturne galleon
#

Python is by far the hardest language for me to read

next cipher
next cipher
silk eagle
midnight wind
#

yeah python for the most part isn't terrible

nocturne galleon
hollow basalt
spark temple
# sly marten Fairly sure I’m right in my assumption above - they don’t even want you to see t...

I mean, if you want to lazy load you’re app is one way to make sure the package of the SPA is sent (aka your react app). Typically this is how it is done. A request comes in and then the token is verified as valid.

But the only other solution to ensure someone doesn’t get the SPA before authenticating is VPN and only allowing it on the network access.

Lastly, I think you’re talking about something else in regards to what I am. Cause I was referring to how users are verified aka; generating a token for login. You’re talking about authentication, aka does this user have rights to get this resource.

sly marten
# spark temple I mean, if you want to lazy load you’re app is one way to make sure the package ...

I mean, if you want to lazy load you’re app is one way to make sure the package of the SPA is sent (aka your react app). Typically this is how it is done. A request comes in and then the token is verified as valid.
not sure what you're talking about here - sounds like something on some backend verifying an access token before it sends the files (in this case the React app), typically something such as JWTs - which I doubt is even close to what this person wanted, so it's probably just gonna confuse them more to start suggesting these types of things to them

But the only other solution to ensure someone doesn’t get the SPA before authenticating is VPN and only allowing it on the network access.
no - basic auth of a web server does this... before it serves you any files, it has you enter whatever credentials you configured in there

Lastly, I think you’re talking about something else in regards to what I am. Cause I was referring to how users are verified aka; generating a token for login. You’re talking about authentication, aka does this user have rights to get this resource.
well, I'm talking about what the guy who asked a question needed - or rather, what I assume he needed - a simple non-advanced way to show his React app to people he choose, not whoever has the link.. basic auth is effective for this purpose..

if he was asking about authentication and having a login/registration system on the other hand, that would be something else

spark temple
#

Clearly you don’t understand what I’m saying. Good luck solving the problem.

sly marten
#

lmao ight man... enlighten me then?

#

how convenient, blaming it on me lacking understanding, but refusing to explain? 😂 very mature, goes to show you're very confident 🤡

spark temple
#

Did I attack you? No, clearly we are not on the same page of what we are talking about.

I got what you said, I didn't say anything in regards to you being technically wrong. I was trying to address what I originally replied to.

But sure, I'm the immature one if that helps you sleep better at night.

#

Have a good one because I got work to do.

sly marten
#

thought we were all still trying to solve the original question lol

hollow basalt
#

Lol

drifting narwhal
kind magnet
#

i noticed they might be using python in their # development, its too easy syntax you need c like syntax

#

no thats a joke but honestly base c syntax is horrible

#

i never felt the need to cry when coding before

#

i am working now without any auto completion apps other than intellisense (which does not work for some reason)

silk eagle
#

is there a significant difference between

dict.__setitem__(key, value)

and

if dict.get(key):
    dict[key] = value

other than separating the logic behind checking the existence of the key? (so if you modify/use the same key multiple times you would only need to check its existence once, saving python precious time)

spring cradle
#

readability is a plus

next cipher
#

the difference is one is vastly more readable & idiomatic

#

underscores denote an internal method you should probably not be using directly unless you know exactly what you're doing and there is no other way

wind horizon
#

So if your worried about performance of a hashmap lookup you shouldn’t be writing your program in Python to start. Lol

With that said if you know you want to set this key anyway why not just use something like dict[key] = value instead of reaching into private method? 🤔

storm berry
silk eagle
silk eagle
#

and I'm not asking this to retroactively optimize existing code, just so I can be aware of it in the future

storm berry
silk eagle
#

I'm trying to decipher that