#development
1 messages · Page 4 of 1
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
It gives me time and energy to do other stuff I want to do on the side
Even during work hours
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.
I tried working remote, not for me, I get too easily distracted
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.
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
Who knows if I'm slacking or not? xD
Project deadlines and estimates 😛
Pff, they base those off of my output.
That’s what killed me, not because I was slacking, but because I kept pressuring myself, so I was my problem, nothing else really 😂
My estimates were based off of estimates output of an average developer, or whatever someone felt like we’re good estimates anyway
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!!
Yeah I can do much more than the average developer, I just choose to hit around the average.
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
Yeah, I just don’t really have it in me to slack, I keep pushing 😂
Probably a lot because of my ADHD
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.
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)
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 😂
dayuum
Very unfortunate, but it is what it is, and I’m back on track now 😎
gotta look after #1
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
nono money is the purpose of life not happiness
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
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 😛
Reverse engineering that sounds horrible
oh cool
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;}}/*****####*******!!=;:~ ~::==!!!**********!!!==::- .,~~;;;========;;;:~-. ..,--------,*/
just as i thoight the donut code was crazy i foind this videom on tiktok
if its legit, i cant even comprehend how that would be in any way possible
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
Can you somehow target specific cores?
I think they just hooked into the task manager
Not actually making the usage change
It refreshes way too fast
True
god I love Bunny's CDN so much
I need a cdn dedicated to bunny pictures
Am i allowed to ask for someone to do some plugin work for my server here? rules were a little unclear of this part
This reminds me of the International Obfuscated C Code Contest https://www.ioccc.org/years.html#1998
This is the C file that won the "best in show" award in 1998.
https://www.ioccc.org/1998/banks.c
It's a flight simulator that looks like a plane.
I believe the animated donut was an ioccc submission
does that preserve compilability?
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
that is to say, does the donutized source still compile
niice
Yeah that seemed like a weird combo to me (go isnt exactly known for front end dev). I was also curious about:
- The decision to have a GUI at all versus just a CLI.
- Why convert from CSV to protobuf
- How do they implement the actual benchmarks? I may have missed it but I thought it didnt get covered in the video and I thought that would be the most complex part.
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
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
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
oh one other thing... if anyone from LTT is reading: It would be interesting to see this being open sourced in the future
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
any thoughts on my 3rd point?
They're writing handler scripts, probably using pygame or something similar, to start and run em
I dont follow how would pygame automate playing games?
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
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.
Nah, not if they're just running games with benchmarks. Could probably do most with just arrow buttons and enter
arent there better ways to input things rather than pyautogui
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.
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.
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
ok
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.
The hardest thing to grasp in Javascript is promises. Once you get that figured out you're home clear JS is easy.
Python is one of my favorite languages because it is really just very easy to do anything you want and mostly built in.
Best package management out of any language I've ever used too.
Don’t inherit, compose.
Lol
Python package manament is a PITA
Better than C/C++, but still a mess with venvs and everything
Nope
It's one line virtualenv venv
Go's package management is much more pleasant to use
I've never used Go
Oop is awsom,, functional confusing!
Make me a linked list in functional lang only I'll wait freak
Check this out. It's pretty good from my quick glance.
https://dev.to/joelnet/creating-a-linked-list-using-only-function-combinators-5hhk
Yeah when u need an article I think you've gone wrong
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.
Hahaha. Okay.
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
"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"
OOP is the increased complexity.
Thankfully the industry seems to be moving away from OOP as a programming paradigm and back into functional.
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.
Like what?
Have u tried checking what it complains about
yeah, i looked on stackoverflow but noone got anything similar
"no instance of function template "std::this_thread::sleep_for" matches the argument list"
This article indicates that modern languages pick up functional principles into their own design. You could successfully argue JavaScript relies on it.
so you're saying
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.
everything is functionally functional
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.
I remember reading this a while back.
And I think some of the arguments presented here are really good.
https://suzdalnitski.medium.com/oop-will-make-you-suffer-846d072b4dce
ok nvm fixed it
Node Version Manager fixed it?
no, i added cpp using namespace std::literals::chrono_literals;
Then why are you talking about nvm ? 😂
Okay if you don't want to talk about it.
str nvm = "nevermind"
Yeah I don't think this is true
As a matter of fact I am pretty sure it evaluates to false.
1
jk, I am messing with you
😄
reminds me of the time when stewie from family guy took anabolics and trolled brian
Im currently learning about arrays and objects, it doesn't seem too hard learning about it but I'm afraid of having to put it into use
What specifically about OOP makes you "lick it's boots first"?
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.
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.
this is what my prof. marked me down for on my quiz. Am I wrong?
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
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
Interesting. Will give it a proper watch later but a lot of what he says seems to be on point.
@mortal sigil Thanks for the link, I'll reference it when I'm emailing my prof for the points i'm due for
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
google is wrong which is probably where the confusion is
bing is also wrong
theyre all wrong, i dont know why this has been a thing for so long
no, this is correct. Kilobyte != Kibibyte
see the above link
Kilo: base-10
Kibi: base-2
well shit I need to go fix some stuff
But again, people nearly always mean "kibi" when they say "kilo"
Scientifically speaking you are not wrong.
But because of how binary works the kilo, mega, giga prefixes were adapted to be in scale of 1024 instead of 1000. Because binary really doesn't like the number 1000, since we can only use 0 or 1.
It is considered a consensus.
IMO, "kilobyte" should be base-2, and "kilobit" should be base-10
that's how they're used like 99% of the time anyways
Maybe but we are talking about bytes no?
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
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
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.
It's only 2.4% off anyway, so for marketing purposes it's "good enough"
Kilo kibi is such a pain in the ass
If you ever gotta be very clear, N x 10^3 or N * 2^10
or just say kibi and blame it on the other person if they get it wrong
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
Wtf is a neper
it's a logarithmic unit, like the decibel-- it comes up a lot in any math-heavy engineering
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.
I agree to some extent.
I guess the best description is:
KIBIbyte: clearly base 2
KILObyte: implied base-2, techincally base-10
kiloBIT: clearly base-10
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.
Did you like, watch the presentation, or did you just make a quick emotional response to my bad 30 second summary of a complex presentation that covers decades of programming history?
For reference, Oracle didn't spend a billion dollars marketing Java. Sun microsystems did, which is part of the reason they went bankrupt.
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
Also, here's a reference from 2003, about how Sun spent the money, not Oracle.
https://www.theregister.com/2003/06/09/sun_preps_500m_java_brand/
Big Bucks
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.
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.
OOP isn’t a language. It’s a design pattern. So, comparing it to JavaScript isn’t something you should do.
Ofc, it's just when I think OOP I think Java so I might have used it somewhat interchangeably.
My bad.
Not really. Functions are just a way to structure code. You don’t really need more than one function for an application really. Just becomes unwieldy.
No worries. Just wanted to make sure people understand appropriately.
What's your take on OOP vs Functional?
@spark temple
I mean, the main reason is with functional programming, it had a high performance cost on the CPU due to context switching. L2 cache wasn’t as big as it is now and the predictive execution wasn’t as good.
Use the right tool for the right job. There’s balance between the two.
Yes, even in the same code base.
Fair.
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.
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.
Yeah like using Python for everything...
All other languages are typically built on C. Nothing wrong with it. Again, pick the right tool for the problem at hand.
I'd argue that outside of rare situations, inheritance is something to be avoided. Similar to how goto is treated today. There's a good reason why experienced developers don't have code littered with complex class dependency chains.
Originally? Yes. But even Rust has been self hosting for a while now. Most highly performant popular languages are self hosting.
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.
I mean these days Rust seems to fill the C/C++ gap pretty well.
Tho its community could focus more on actual programming.
I did say favor composition. But the phrase is composition over inheritance. A closed loosely coupled system is typically good.
Though there are use cases for inheritance, few though. Better to define an interface and compose the implementations.
I think most of the power of Rust comes from its community, and their general focus on high quality over quickly churning out things to meet deadlines.
ik people who really only write in C
It’s not really dangerous if you know how to count. It’s just that it’s hard for most people.
yeah, you have to know the computer a lot more
Maybe... I have own thoughts about the Rust community.
Yeah and us Programmers really don't like doing the hard stuff.
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.
There is a reason why we don't program in binary.
No programming languages are morally wrong. But there are definitely lots of things that are highly dangerous.
That’s fair.
Oh my... u just gave me a perfect idea.
Ima make my own most offensive and immoral programming language I can think of. Just to spite the Rust guys.
that's just skill
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.
Yeah and all it takes is to take this way of thinking one step further.
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.
I'm not the one advocating for extremism. That's you.
well yeah, but that's what testing and debugging is for
Hol up.
also proper coding practices
Neither am I. But if we are going to draw a line somewhere why not push it in either of the directions? What's a bit more.
And then u find yourself at the end of the scale.
Are you actually arguing that it's possible to prevent all bugs by just being skilled?
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 ...
just be smarter
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.
Just saying that there are valid reasons to use C
I never said there weren't. So why are you arguing that?
C awsom
Assembler awsom
The only real cases where you want to use C/C++ is when you need to manually manipulate lots of memory
bnry awsm
Voltage awsm
Relevant:
Let's just go back to Analog Computing. Problem solved.
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...
I wonder how far we could take it.
Would it be better than digital computing? Who knows.
Neural nets.
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.
Then it'd just be a coprocessor
doesnt roly get programmed
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.
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.
Oh yeah for sure.
There are actually many dead ends in the history of computing. One of the most interesting is the alternative set of computing hardware that used cryonics instead of transistors. Source: https://spectrum.ieee.org/dudley-bucks-forgotten-cryotron-computer
But then if we had a General Purpose AI, would it matter?
Literally the untimely death of one man in 1959 might have changed the entire history of our computer hardware.
General purpose AI is a pipe dream that's not going to happen in our lifetimes.
I think we are currently limited by the hardware. If we had a big enough (assuming same speed at big scale) memory unit with sufficiently powerful (assuming speed again) computing unit I think we evolve a strong AI.
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.
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).
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.
The rate at FOSS AIs developed vs Dall-E is impresive
Stable Diffusion
This is nothing. Based on the AI industry and research papers we are about to make a lot of big things in the field of AI.
And Stable Diffusion is awesome.
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.
You are correct, but the fields of NNs etc (weak AI) and strong AI research are very much disjointed.
Can't really compare one against the other.
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.
So you think there's upcoming research for Strong AI that will suddenly change the status quo? Most people I talk to can't even conceptualize the difference between strong and weak AI, and those that can still can't point to any evidence that strong AI are anywhere close to becoming reality.
Oh no, in my message above about breakthroughs I meant weak AI.
As I said before it seems that we are very much hardware limited in terms of developing a strong AI.
No bike shedding. I don't care what we call it. Based on historical context, most people who talked about AI a long time ago were referring to strong AI. It was difficult for them to imagine a computer that could create art, but couldn't hold a conversation with someone, and couldn't understand human feelings.
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.
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...
I agree. I can't remember where I found it, but there was a compelling argument that barring some insane breakthrough in quantum computing, we're at best around 100 years from being able to fully simulate a human brain at full speed. (which was the hypothesis that once we're able to do that, we can just throw a brain in a jar and have a strong AI)
Such is true in most fast moving fields. See the above debate about OOP, and how the original creator of the wording doesn't like the new modern definition.
Also, see "agile".
Well my problem with calling all of weak AIs neural nets is that the NN design has evolved so much, calling it a NN might be an oversimplification.
It's like calling a bee a bug. You are technically not wrong.
I am actually very much against the "replication" idea.
I think that strong AI should have the traits of human brain but should not simulate it. Otherwise it's not really a strong AI is it?
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.
To this day I have no actual idea what "agile" really is. It just seems like a term that is thrown around a lot.
I like the logic of simulation of a brain. It's much easier to make modifications to an existing design than it is to create a brand new design from scratch.
Once you start trying to recreate intelligence from scratch, you suddenly run into a giant world of philosophy that no one has good answers for.
Oh man, now we're stepping into my world. I've gone around and through this subject a TON.
You've seen the original Agile Manifesto, right?
Yeah but simulating a real brain would be crazy expensive (computationally).
It might be easier at that point to just make your own.
Here's the original website, as published in 2001: https://agilemanifesto.org
We are uncovering better ways of developing software
by doing it and helping others do it. These are our
values and principles.
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.
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.
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.
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".
Either way I have a train to catch tomorrow early morning. Cya.
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.
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.
I heard of the manifesto, will make sure to read it.
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.
So it's your professional word against my professional word?
The manifesto is very basic. Do you really believe that people should put more effort into contract negotiations than collaborating with customers?
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.
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. 😂
Remember that this was written before a time when real time video was possible. What other alternatives do you believe are the best way to communicate?
Discord markdown support kinda sucks
I don’t believe there is a single best way, people all communicate in different ways.
Personally I prefer written over verbal in 70%+ of cases. Similarly I think what is being communicated effects what medium works well.
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.
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.
So, responding to change over following a plan?
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)
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.
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.
The manifesto doesn't even mention retros. Those were added by a specific company that had a specific way of doing things that mapped really really well to business consulting.
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.
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.
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.
My whole point is that Scrum is a crappy excuse for the agile manifesto, and people are so tainted by scrum/kanban that they can't think of any other way to run a software team. Agile has become a fill in word for scrum.
Oh, definitely. That's the type of person who wants to have a strict set of rules to tell them how to think. That's what waterfall is for. Agile is the exact opposite of that kind of toxic stupidity.
Well, ideally. In reality, things are different. "Agile" means "scrum + what we like", and the manifesto is completely ignored.
BRB, getting food.
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
"Disregard 'Agile', acquire working code"
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.
Now you got me thinking what do I want for dinner. 🤔🤔
So you mean "working code over extensive documentation"?
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".
Sandwich and soup is good.
Ordered some sushi haha
I think my point is that there's no such thing as "Agile process". That's the worst kind of oxymoron. The agile manifesto expressly says that you should value people plover processes. But the sales people selling consulting products have brainwashed people into believing that agile is a process, not a philosophy. Because you can't sell a philosophy.
But a sandwich does sound good
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.
Picked up sandwiche and soup. But I got stuck in construction traffic. Making the drive how now. 
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.
Construction is the worst. I used Uber Eats, over charged but no construction haha
Do you actually want to argue that principles == process? I'm in the mood to go through every single one of the 12 principles and explain why none of them describe processes, if you're up for that.
My 20 minute food trip turned into an hour away from home 
Maybe some other time. I just wanted to point out the fact that the priciples give two definitions for what agile processes are.
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.
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.
The word "process" does appear in the 12 principles, but the 12 principles are NOT processes. Do you understand the difference?
I think we are on the same page 🙂
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.
Sounds like you might enjoy working for a startup
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.
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.
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.
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.
Absolutely. At the time I was new and kinda desperate. I don't regret taking that job, but I wouldn't do it again.
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.
Oh that sucks, yeah imo that sounds like a situation I’d be looking around at new opportunities as well.
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.
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.
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
just do it on a laptop/pc
So, you think government agencies that prioritize contract negotiations produce better software? 🤔
Then have one
Government agencies require contracts as per legal requirement.
That wasn't the question.
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
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.
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
do you use agile or just use sprints to track work
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.
I'm not about to get into a discussion gatekeeping agile.
am i getting time confused or have yall been arguing above functional programming and agile for 2 days now?
I got a life man
I gotta argue only in my spare time xD
is that ironic? i feel like thats ironic
no i stg at least some ppl have been arguing for days
¯_(ツ)_/¯
I posted a summary of a video, then I described the history of the definition of the word "Agile", and some people think that means I'm a fanatic because I used two words associated with misery and suffering for many engineers. That's what happened.
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. 🤷
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.
Ah yes hello world
yo, can too much math in one line crash c++ programs? it always stops working immediately ```cpp
posX=rsin(the)cos(phi);
posY=(rsin(the)cos(phi))cos(A)-(rcos(the));
posZ=(rsin(the)cos(phi))sin(A)-(rcos(the));
int point = (scWidth(floor(posY)-1)+posX);
zBuffer[point] = '';
As we can see above. This is what slowly getting crazy looks like when learning c/c++
i did it, it is finally smooth
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.
Posting that seems manipulative
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.
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
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
Hey if the process isn't working, we can just pay for more training to become a Level 2 Certified Scrum Master ®️
insert quote about doing the same thing over and over again here
😄
I don't know C++, but I would say; yes and no - the math itself probably isn't the problem, but how you've done it could be
afaik the computer will still break up the math into pieces anyway, it's more about formatting/readability in the IDE/code files
someone please do correct me if I'm wrong, as I'm pretty much just guessing off of my understanding of how computers work 
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
i already followed up with a message that fixed it
it doesn't have to be
fix it, yes, but fixing isn't always a direct answer to a question 🙂
i just asked if the math could have been the problem here for the crash, then i downloaded gdb and saw it was a segmentation fault and applied fix
nozemi is right though
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"
yeah, that's fair, but since I only know the "how do a computer work" part of that question, I could only give you tips that will help regardless of what you do and which language you program in 🙂
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
i probably should have expressed the question a bit clearer
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)
yup tbf
The only thing that can cause an exception in math is division by 0
arcsin.. arctan..
Out of bounds
That depends on the OS, on windows floating point exceptions are disabled, so it won't crash your program
You're just gonna get NaN as a result
Our school district has blocked GitHub because “It could be used nefariously”
Any ideas?
about what?
why? or getting it resolved?
if you want to get it resolved, talk to admin, and say how you use it for programming
Tried by both me and our AP computer science teacher
Didn’t work…
what did they say
worst case, use a vpn or another git server hosting service
Yeah unless u wanna cause a real stink ur gonna be sol
Npm isn’t working right because of this
I would write how it disturbes learning and you can't develop
Vpn time
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.
Also maybe a simple proxy will work, unless they are doing packet inspection likely can just proxy your traffic. Lol
Breaks code of conduct
You asked for ideas on getting around the schools blocking, but are worried about following their code of conduct. 🤔😂
Laws should be freeing not the other way around
start the revolution
Hell yea overthrowtheplanet.org
subtracts ".org"
What if all websites didn't have extensions
No .com no www.
Just... getshitdonedotcom
but you just said no .com
It's all spelled out hehe
Let's go I'm ready for meta web
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.
I have some questions about js frameworks and web dev if anyone can help?
They’re probably just blocking DNS from resolving if I had to guess. Adding entries in /etc/hosts would fix that
no one
shoot 😄
curry for 3
I am trying to learn svelte and I dont understand when I am supposed to use html or the .svelte file
always use .svelte
.svelte, since it's not valid html
it needs to be compiled first
yeah, use svelte/kit
I am using both
wont work
VPN to home or a cloud provider/TOR, probably the former because websites block TOR annoyingly
Some arguments aren't worth having
Or use cellular
4G hotspot might be a viable workaround
I am on a school computer
Boot a Linux live USB + VPN?
A desktop?
Until I can get a replacement laptop battery its not an option, currently I have like a 40 min battery life
Shity mac with an RX 580
Failing that just copy your repos+deps to a flash drive and take it home to do pulls/push
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
gitlab also still works
Pretty much what I just proposed
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
OH WAIT, I am locked out of my gitlab account at school
you don't have to be
take a guess why
Sounds like your solution is to fix your problems lol
If you guessed I made my GitLab account using my github account You would be CORRECT
Wait I can change it to a username and password
Crisis Averted
crossposting a cool linux development thing I did here as well 🙂
can you go back to previous scanner?(like going back to main menu) using a string scanner?
Is that addressed to my post? You can switch layers with key codes yeah
oh no it's a problem I've been working on
You should at least add the programming language (and possibly even the framework) to your question.
Pepperoni
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;
}```
What does it do
i personally prefer to write paragraphs as variable names
is this only for coding
its for most forms of software/hardware development-related things
so I can ask questions about a PCB
Prob won't get as good a reception as other topics, but yea u can ask anything lol
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
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
The values for the LED current you have are quite high though, usually 15-35 mA is more reasonable https://www.adafruit.com/product/754, https://www.adafruit.com/product/301
You should also check the current rating on whatever you're plugging in to the USB header to make sure it can deliver enough power https://resources.pcb.cadence.com/blog/2020-what-are-the-maximum-power-output-and-data-transfer-rates-for-the-usb-standards
i never knew such a little thing would take so much time to plan
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.
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
``` i em coder
Yeah, proper agile manifesto style development is a better methodology since it's self-correcting/easier to detect when an assumption is missing or wrong. Iterative approaches to design/development are much less likely to waste massive amounts of time
Do you have soldering experience with surface-mount parts? If not I'd strongly recommend a through-hole design as a first PCB instead of surface-mount. It's waaaaaaaaay easier
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
Yeah those header pins are bridged
I'm getting a heat gun with some solder paste to fix that issue
also as far as I know my little usb thing is responsive
it just doesn't work...
Yeah because the power and ground pins on the USB header are bridged, so it's shorting out the USB port
Unfortunately, you sometimes get "agile" teams like the ones that I was on, where they had a retro, only for people to complain about the same things every single retro, with zero changes ever made to actually fix those practices. (Because heaven forbid we slow down for one or two weeks to make our team move faster the rest of the year.)
Also zed are you familiar with ribbon cables
From https://www.electrokit.com/uploads/productimage/41016/41016968-1.jpg, this is what you want no solder between the pins
Not the super tiny ones like you find in laptops, I usually just use these https://www.mikroe.com/ribbon-cable-40-wire-male-male-20-cm
oof
Or just solder a JTAG header and break out the pins on the other side
You can get them(https://www.digikey.ca/en/products/filter/flat-flex-ribbon-jumpers-cables/457?s=N4IgTCBcDaIE4EsBGSD2A7ABAYwIZIBsBTEAXQBoQA2KUBAEyhAFoBGABgkoAcAXJkJV4BPbiUgh6AZ2wgAvnKA), but they're super finnicky and the board connectors are almost impossible to get correctly attached by hand
The complaining will continue until morale improves 😛
I feel like this is legit 90% of retros. I have seen very few things improve from them, ideally I think retro needs to be formalized a bit after “complaining” is done and some action items can be taken.
But it’s almost always just a spot devs can vent and make them feel herd then brushed off. Lol
True. I think if the expectation is that improvements only are allowed in a bi-weekly meeting, there's something wrong with the culture. It's also worth noting that 90% of teams are complete crap. (sturgeon's law and all)
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. 
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)
hi.. im new to programming... is there an application that allow me to create simple GUI for python?
i better stop plugging this in ;- ; this thing almost broke my external hdd
Hardware design is hard. Now you know.
yep
part of me is telling me this will work and part of me is telling me this will fail
Honestly, I think the biggest problem with most teams is impatience. The business people push for things as fast as possible, without understanding the tradeoffs that will happen. There are other systemic problems, certainly, but not taking time to do things right is definitely one of them most common and easily avoidable ones.
Don't you still have to solder the plug to the board anyways? If you have zero solder skills, then it doesn't matter what the design of the board is like.
i have some solder skills
some of my finest handy work 🙂

yeah yeah yeah but do you know how small that is in reality
and I'm getting a heat gun with some solder paste to fix that issue
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.
I mean maybe if I had a fine point tip
but mine is like 1/8th of the board itself
Watching Louis Rossman rants definitely qualifies me to let you know that you need more flux. More flux fixes everything.
I don't have anything to really magnify what I see right now
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
I mean I can solder the red pins
just not with a soldering iron
You gonna solder it with your smoldering good looks or something?
no
i am gonna use a heatgun with some solder paste
Do you have a way to apply the paste?
it's paste
yeah we recently got told by the product/business people "yeah we decided this is going to a small trial next month" meanwhile we are just barely getting to a demo-able state
like tech demo, not even remotely close to a complete product
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.
"it's python so its really only a few hundred lines"
well yeah each line in python is like 35,000 lines of C
i do java
what does that indicate? i have like 0 knowledge of java other than java webstart being gone so idk
it prints out a circle, but this obfuacated code doesent work rn.
I think you're maybe exaggerating a lil bit
java is even worse
class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }
and
well I mean a few hundred lines is still not much to rewrite in python
now make a web request
i may be stupid or smth but isn't that kinda javascripts job
its a lot of things' jobs, javascript is just the most direct way of doing it (sort of)
its just stupidly a lot just telling the computer to print out a hello world. at least its just printf in c
but can you make minecraft plugins in python
you can make minecraft in python and then make python plugins for the python minecraft
😎
usually people who code can atleast type pretty fast
I type like 130-150wpm whenever I'm sprinting
you can't sprint while typing
but if theres a bracket I fall down to 90 due to the whole python thing
java has more brackets
python has no *curly braces
they use this [ or what
its indent-based
press tab then boom you have an indent
Yeah I think retros often become the complain about things outside our teams direct control. Product making crap tickets, designs missing, etc etc. Things that should be action items to improve with those steak holders, but yeah. Lol
Give the demo, and then after the demo, tell them about your plan to give a perfect copy of your laptop to all the customers that want to use the software. 
is the laptop an added bonus for free 🙂
test the demo in a VM, sell the vm image
the board is blue
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.
Did you not see my MS Paint scribbles?
i saw but the board is blue your drawings are irrelevant
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.
how do you like my new design
even smaller
It's not blue anymore
just one more question : should I make this even smaller
alr your silence has answered me
make it larger
done
Darklife just over here writing fanfiction
Yeah, I'd recommend you to write a non-obfuscated version first that actually works and then obfuscate the code. Bonus points if you keep it C only.
i do have non obfuscated code but i for some reason cant multiply 2 values from 2 different indexes in the array etc. so ill have to figure that one out, besides im just learning c++ so i wont do c
k. But that's not C++. It's C with std::cout.
You'd write proper and clean C++ code; which would kinda defeat the whole obfuscation journey, right?
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
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.
what does a version control do
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':' ');}||
man whatever that obfuscated part is, it looks like pure mess💀
welp it's only 6.10$ to buy 30 of them
imma do it
That's the intention 😄
But if you're asking what that code does, well... it creates a (filled) circle.
Does anyone know how to resolve this?
error: 'strstr' is not a member of 'std'
what language is this?
my guess is Python or C(++), but really no idea...
Cpp I think.
how the hell did you decipher that bruh
what did you do to make it that short
there is no cos, no sin no nothing
Use lots of stuff that are "somewhat" valid in C code 😄
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.
so if i wanted to make a "sphere", i could just get away with changing or fondling with x²+y²+z²=r?
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
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
That's a nasty for loop
and what does the puts do
Print I think
newline?
well how else are u going to puts?
but that would be \n or is this some speciality of c
i think cpp has puts
I don't understand that for loop at all
i think it iterates trhough all the possible x and y
The condition is (x=-r-1)? So it continues until that difference is 0?
to the put into the last printf statement where it calculates something
x or space if it's inside circle
no thats first statement, the condition is x is smaller than r
Oh there's a comma
does it take an r so the fn won't have to initialize a variable or something
Yeah they're stacked without braces
wdym
1 sec
no I would find a library that simplifies it
its just doing first for loop and in that loop there is the second one which holds the printf?
Yeah they are nested
yeah it's like a double nested one liner
so c can nest without braces?
U don't need curly braces for for loops with one line
oh its a one liner
This doesn't rly feel like c, what's with the parameter list?
it is c just obfuscated
Our the function declaration entirely
thats kind of the point of c coding
ooh i have one
didnt know that was valid syntax at all
idk you dont need to declare main ig
Aye, exactly
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;
}
Well... that's a Code golfing tactic, but more or less: you can skip the return type of a function and the parameter types; this will have C default to int. You will get a ton of warnings, but hey, you're not going for clean code with obfuscation there.
Ah, I usually have -Wall -Wextra -pedantic active, at least in real projects. With C++, I usually have clang-tidy in some pipeline.
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+)/;
Eh, many other languages use the same syntax for regular expressions. Some of them don't have a special operator though and instead use a function call.
lol... assuming one is made... it also depends what you want to learn and/or do... always relying on libraries certainly isn't always a good idea
also the performance of JVM is terrible in comparison
back at this are we
working on a Kotlin library for Minecraft server plugins 
poggin
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
kotlin weird
rate my samurai game fight theme (really early)
7.4/10
i just use java 
what ide do you use ?
oh, IDE, my bad, IntelliJ
meh, until you get used to it, it is 😛 but it has a shit ton of convenient syntax sugar
never actually used it
here is another proof of concept plugin
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

Feeling this a LOT as I'm building a genetic training algorithm
my when I work with css 
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
dreamweaver
what about dreamwaver
everything
what about everything
it kinda sucks

I'm no web developer, but VS Code + some relevant extensions is probably way better for web development
when I do web development stuff, I just use this extension in vs code:
Honestly I didn’t know DreamWeaver still existed. 😳
i can tell
but geforce now just gave me a free trial to adobe creative and I wanted to try it
@silk eagle live server doesnt work for php in my pc , what would i do?
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.
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
you need something that can host php scripts, the browser won't understand php
Live Server (afaik anyway) is for front end development, and not having to reload the browser every time you make changes to the code
what would you advise me, start doing c to then obfuscate or continue with c++
to make buttons href

but in fairness, it's probably because they're new to HTML, and didn't learn it's not the way to go
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?
<a> = anchor tag = a link taking you somewhere (traditionally anyway)
<button> = a button = triggers an action that does whatever (usually executes some JavaScript)
oh so just use the <a> stylized to look like a button, understandable
https://www.w3schools.com/tags/default.asp
https://developer.mozilla.org/en-US/docs/Web/HTML
these are two great resources for web development 🙂 documents the standard that browser engines follow (at least try to)
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'
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)
yeah, not sure the browser support stuff is very necessary these days, it was much more so when IE11 and older was still used
though Webkit (which is what Safari uses) has some kinks, some specific to iOS (maybe iPadOS too), some specific to Safari 😛
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.
I just think that getting experience with programming before college (while also ofc focusing a lot on school) is just what i need to hopefully have a good future. This is really mostly to master a computer language and understand computers in depth. I was also thinking of maybe learning assembly, as that requires deeper, in depth knowlege of these systems.
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...)
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
bruh I use that as my main editor lmao 
^^^
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. 😂
when you think about it, everything in html is a glorified div 
fr
Nah there is a lot of differences how browsers handle specific elements, especially when it comes to accessibility.
glorified divs, but the browser (like glamdrink was on about) treats them differently in terms of accessibility, according to HTML spec (which is a defined standard)
not necessarily something wrong with this
why not use spans 🙂
why use spans?
idk I've just used spans
and they atleast seem to work exactly like divs
By default divs are blocks and spans are inline iirc
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.
who are you talking to
glamdring is right though
Well technically anyone, but was specifically referring to your comment on spans working like divs. 🙂
spans
also they do
Span are inline elements, while divs are blocks.
they still work the same though
isnt nav better for navbar or still div or whateva
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
The binary executable sitting on your system wouldn't be able to do anything unless something runs it
that's a computer question
computer programming
Computer
puter man
Segfault
can someone with knowledge of c help me? Can i use a switch statement with every case in a seperate sourcefile?
What is the problem exactly?
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
yes and no, you can use methods in switch statements, where each method is defined in another file
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
thanks ill look into it
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"
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 🙂
thats right, good to know for the next time though!
hence why I explained it to you ^^ and also everyone else who comes across it
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 $^
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
I made a fancy play/pause button, thought I’d share
where is the download to this fancy play button
haha, download to what exactly?
Just a little project I'm working on, nothing released publicly, yet
looks good
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?
Lol, why not 😂
per application?
https://learn.microsoft.com/en-us/windows/win32/desktop-app-technologies my guess would be to look at this
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
try the Odin Project
I think some of the ppl that sell learning resources also have slack or discord servers, for example I think Wes Boss had one. No idea how populated they are or quality of ppl isn’t hem but prob worth a shot.
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()))
I make fun and informative software engineering videos for a globally diverse audience on topics like JavaScript, Python, C, and Linux. Hope you enjoy my content! New videos most Sundays and live streams periodically.
Drop by on Discord to say hello to me:
https://discord.gg/engineerman
Please do not use my business email to ask for coding hel...
^ This guy is a programming/development polymath
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
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
unlikely to exist without a catch. marginal cost of hosting a static react app is essentially free but password access requires actual server side verification, a database, etc etc and suddenly costs money
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)
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. 😂
doesn't need database, the web server has a built in authenticate stuff
well, some web servers have anyway, but not sure of any free hosts - aside from configuring your own VPS though
Otka sso?
Because ik azure AD is free for a certain about if objects
But that still requires a backend
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
Yeah
hey i can't seem to get streamlink running can someone help
where are you storing your usernames and passwords if not in some form of database? doesn't specifically need to be a mysql server or whatever, but it has to go somewhere
unless you just want a hardcoded basic auth password sitting on the filesystem but that's hardly considered authentication
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.
why wikipedia have a newline here
cause it is more than
half
i did that 
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.
huh
you can use public client flows in SPAs to authorize access to other APIs or resources but that can never actually block or grant access to the site itself
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
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
class MyEnum(enum.Enum):
V1 = enum.auto()
V2 = enum.auto()
a = MyEnum.V1
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
there's MyEnum.V1.name which gives 'V1'
Right but not exactly the enum name
or MyEnum['V1'] which gives MyEnum.V1
assumign you're supposed to name enums BIG_CASE or similar
can't display anything like that
how would you do it in another language
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
like what do you want from this
Right but not exactly the enum name
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
you could do
class States(enum.Enum):
MAIN_MENU = 'Main Menu'
then States.MAIN_MENU.value gives you 'Main Menu'
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
yeah you could probably have a whole class as the right side
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
I think it works like a normal class
Right I think it's just a normal class and each enum is a static field?
but by inheriting from enum it gets some qol stuff
by the looks at least, i dont know python very well, I almost exclusively use python as a terminal calculator
maybe it's hacky, maybe it's cleverly keeping things simple, maybe it's both
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
python is pretty good at tcp though
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
I'd pick python over C for most networking tasks
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
It goes in the config of the web server, so not exactly ideal, but it works, and is pretty much exactly what he needs
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.
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
So if you haven’t already figured it out for yourself, please read my messages above - and ask if you need 🙂
Tbh i would never pick python over C, it's borderline unreadable to me
I would javascript or typescript or something, hell even bash would be better
Python is by far the hardest language for me to read
yes i understand that - the point is that free static file hosts pretty much universally don't let you configure the web server or add anything (even basic auth) beyond just shoving the files down the pipe in response to any request, unfortunately
but yeah this is what i said - a public client auth flow doesn't help it has to be server side
I feel like you've seen some bad or complicated python code then
yeah python for the most part isn't terrible
I've tried to read a fair bunch of projects
oh no js/ts electron and/or their bloated projects
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.
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
Clearly you don’t understand what I’m saying. Good luck solving the problem.
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 🤡
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.
my bad then - I interpreted it that way, but I will eat my words 🙂
thought we were all still trying to solve the original question lol
Lol
Play Tiny Crate on itch.io - https://harmonyhoney.itch.io/tinycrate
Open Source on GitHub! - https://github.com/HarmonyHoney/tiny_crate
Play PICO-CRATE - https://harmonyhoney.itch.io/pico-crate
View Source - https://github.com/HarmonyHoney/pico_crate
Celeste Classic - https://mattmakesgames.itch.io/celesteclassic
Thanks to KenneyNL for helping...
Cool
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)
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)
readability is a plus
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
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? 🤔
if you want to check if the key exists in the dictionary it would make more sense to write if key in dict:
just cuz python isnt fast doesnt mean I shouldn't look to make it a little bit faster with reasonable compromises. (not saying it would be wise to use the private method, but point is there are a few approaches and I'm trying to learn best practice by comparing them)
Fair point, but keyword in my message, reasonable. Like with if dict.get(key) and if key in dict, it's basically the same thing from a development perspective, but one could be noticeably faster and I'd never know if I didnt ask questions
and I'm not asking this to retroactively optimize existing code, just so I can be aware of it in the future
also these two lines aren't the same actually
I'm trying to decipher that
