Programming thread

As much as it's a meme answer, I'd recommend learning at least a bit of c++ beforehand to prevent you wasting several hours trying to debug a case of passing a reference to a function and modifying it thinking you changed a copy.
That has nothing to do with python. Python doesn't even have references, it has a weird pass by name system depending on the mutability. The issue with C++ is it's monstrously complex and gets more so every version.

Imagine learning2code and one of the first things you learn is that it's fine, nay, necessary to do indentation and nesting with whitespaces. Can you ever recover from that? Hey perhaps! I am no neurologist. I mean, wonders happen. Sometimes.

Then the very next thing you learn that there's a library for everything and how to smash 30 of them together. I mean, it's just asking for it at this point. The end result is scientists that write code so janky that you end up being celebrated by the whole faculty by making everything three times as fast just by moving some lines around. Lets not even talk about code that isn't critical and doesn't have millions of dollars of equipment hinging on it, because I'm getting one of those headaches again.
For a lot of jobs, putting together the libraries is what you need to do. For many tasks it really is about writing code that is fast enough, where enough means a python library will do. If you really need to write fast code you will know it.

Maybe I come from an academic / math perspective, but I've always thought understanding the abstractions and CS concepts is more important than knowing anything particular about any modern language. This includes basic principles like modularity, DRY, single responsibility, etc. If you use properly named functions and code organization this already makes you better than like 90% of programmers. Also if you don't understand the architecture and design decisions of what you're working with, then you can never really write good code, just hacks thrown together that are fragile and buggy.

For personal bias: I love the theoretical algorithms side of programming. Things like efficient data structures: binary trees, priority heaps, segment trees, b-trees, graph algorithms, dynamic programming, stuff that is usually hiding behind a library implementation.
 
Last edited:
For personal bias: I love the theoretical algorithms side of programming. Things like efficient data structures: binary trees, priority heaps, segment trees, b-trees, graph algorithms, dynamic programming, stuff that is usually hiding behind a library implementation.
Nnnnerrrrrd. The only thing I know about big O is that it was an anime that featured basically Bruce Wayne with a mech.

(But seriously, thanks for working on the stuff that makes the shitty code the rest of us write run at least somewhat quickly.)
 
That has nothing to do with python. Python doesn't even have references, it has a weird pass by name system depending on the mutability. The issue with C++ is it's monstrously complex and gets more so every version.
You don't need to keep to date with the newest shit, just have a vague idea what's happening behind the scenes so you could write semi decent code.
 
You don't need to keep to date with the newest shit, just have a vague idea what's happening behind the scenes so you could write semi decent code.
If you want a programmer to quickly get some idea of what is "going on behind the scenes" when a computer program executes, a C++ tutorial is probably not ideal for that.

A tutorial aimed at teaching someone to become a modern C++ programmer (different goal from yours!), will likely avoid raw pointers as long as possible and won't even cover manual memory allocation/deallocation and raw arrays until the "Interoperability with C libraries" chapter.

What you want would probably be more of a C tutorial, but one that doesn't get bogged down with the actual C standard library and instead only covers the basics of variables / memory (heap & stack) / functions / pointers / arrays / structs.
 
Last edited:
If you want a programmer to quickly get some idea of what is "going on behind the scenes" when a computer program executes, a C++ tutorial is probably not ideal for that.

A tutorial aimed at teaching someone to become a modern C++ programmer (different goal from yours!), will likely avoid raw pointers as long as possible and won't even cover manual memory allocation/deallocation and raw arrays until the "Interoperability with C libraries" chapter.

What you want would probably me more of a C tutorial, but one that doesn't get bogged down with the actual C standard library and instead only covers the basics of variables / heap / stack / functions / pointers / arrays / structs.
You still need C++ for object oriented programming.
 
I'm doing this in golang, which is whatever, but I can leverage its pretty solid format language library for this.
Ok, so I originally had an update written up for this and forgot to post it, except it's now outdated but it's funny (in a sad way) anyway.

Old Update​

The client originally ok'd the use of golang, except now they're walking back on that. We have to use Java or Python.

So now I need to rewrite the whole thing from scratch. Though since we've got a contract and they did ok golang in writing (thank god, lesson learned), we do get like 7 months deadline reset. It'll take me like 3 months, so whatever.

God I hate bureaucracy.

New Update​

So, when the higher ups saw the new 7 month deadline, they got pissed at the guy who tried to yank it back on us. So they're letting use go for this project. Maybe not in the future though.

I spent like a week refamiliarizing myself with Java before they told me they were folding on the Golang issue.

Random bitching about pajeets​


Goddamn, the language issue really is a problem. And not programming language, but english language.

So I was in a meeting, we had a frontend pajeet and then two client (in the contract sense) morons quizzing him about what dependencies they'd need to deploy his code. They kept asking him about what postgres library he was using.

The right answer is "uhh, I'm frontend, I'm not doing anything with postgres, that's Marvin's job".

But he couldn't understand them. It was like there was a new word he couldn't understand, and worse than that, he couldn't just say "what do you mean? what is postgres?" (assuming he was incompetent enough as a professional working programmer not to have heard of postgres, even in frontend) Even then, he couldn't clearly say "I do not make use of anything called postgres, I don't know what you mean".

I just sat there listening to this for a good 4 minutes. I really should've spoken up, but I was just dumbfounded.

Scott Adams is a total weird boomer lolcow, but jesus christ, what's wrong with me where I'm starting to sympathize with dilbert cartoons.
 
It straight up tells you at the start that it's not good code.

I guess probably you could work through that and then work through Fluent Python
Oh, I must've missed that.

I figured what might make it interesting is that one of the biggest challenges I think about learning programming on your own is having "real" problems to solve, rather than just working through exercises or doing projects you'll toss out when you're done with them.

So the premise of learning a programming language by actually implementing solutions that could be useful seems like not such a bad idea.
 
I figured what might make it interesting is that one of the biggest challenges I think about learning programming on your own is having "real" problems to solve, rather than just working through exercises or doing projects you'll toss out when you're done with them.
Sometimes you just have to make your own fun

Who was the worst NFL quarterback in the past 10 years? Are people who don't own a refrigerator in eastern Europe more likely to hate Jews than those who have a refrigerator?

All the data you'd need for this is online, you just have to process it.

Rosen. Yes.
 
But seriously, thanks for working on the stuff that makes the shitty code the rest of us write run at least somewhat quickly.)
this is giving me too much credit. I don't get to work on that fun stuff either. well not yet


Sometimes you just have to make your own fun

Who was the worst NFL quarterback in the past 10 years? Are people who don't own a refrigerator in eastern Europe more likely to hate Jews than those who have a refrigerator?

All the data you'd need for this is online, you just have to process it.

Rosen. Yes.
you c anhave a good career as a statistician or data scientist (if you don't already)
I would do all of this with R in tidyverse but that's showing my statistics bias


What you want would probably be more of a C tutorial, but one that doesn't get bogged down with the actual C standard library and instead only covers the basics of variables / memory (heap & stack) / functions / pointers / arrays / structs.
honestly if you want to write python or js professionally you probably don't even need to know about low level memory like heap/stack and structs (which have a specific memory layout in C). maybe you don't even need pointers if you understand the abstraction of pass by reference (in modern C++ you almost never use raw pointers or manually allocate C style). there even exist web compilers which is kinda absurd
 

Random bitching about pajeets​


Goddamn, the language issue really is a problem. And not programming language, but english language.

So I was in a meeting, we had a frontend pajeet and then two client (in the contract sense) morons quizzing him about what dependencies they'd need to deploy his code. They kept asking him about what postgres library he was using.

The right answer is "uhh, I'm frontend, I'm not doing anything with postgres, that's Marvin's job".

But he couldn't understand them. It was like there was a new word he couldn't understand, and worse than that, he couldn't just say "what do you mean? what is postgres?" (assuming he was incompetent enough as a professional working programmer not to have heard of postgres, even in frontend) Even then, he couldn't clearly say "I do not make use of anything called postgres, I don't know what you mean".

I just sat there listening to this for a good 4 minutes. I really should've spoken up, but I was just dumbfounded.

Scott Adams is a total weird boomer lolcow, but jesus christ, what's wrong with me where I'm starting to sympathize with dilbert cartoons.
Pajeets learn never to say "I don't know" or "I can't do that", no matter what. If you ask one to create a singularity inside a snowglobe, he'll say "okay". Then he just won't do it, because he can't. It makes for a double whammy of shit: they get hired virtually everywhere because they're so agreeable and retarded managers mistake their agreeableness for competence, then they don't do their jobs because they were never qualified in the first place. So not only are they everywhere, they're uselessly filling slots that could be held by someone who knows what they're doing.

It's one thing when someone can't do something and admits it, because then the asker can simply move on and ask someone else. But pajeets waste everyone's time by saying they'll do something and then stringing everyone along for as long as possible. Some projects lose months because the team of H1Bs spend the entire time lying about how they're totally doing the job and nobody ever actually checks in on them.
 
Pajeets learn never to say "I don't know" or "I can't do that", no matter what. If you ask one to create a singularity inside a snowglobe, he'll say "okay". Then he just won't do it, because he can't. It makes for a double whammy of shit: they get hired virtually everywhere because they're so agreeable and retarded managers mistake their agreeableness for competence, then they don't do their jobs because they were never qualified in the first place. So not only are they everywhere, they're uselessly filling slots that could be held by someone who knows what they're doing.

It's one thing when someone can't do something and admits it, because then the asker can simply move on and ask someone else. But pajeets waste everyone's time by saying they'll do something and then stringing everyone along for as long as possible. Some projects lose months because the team of H1Bs spend the entire time lying about how they're totally doing the job and nobody ever actually checks in on them.
a little humility and honesty goes a long way
 
I'm bored and i decided to develop a rust app to do site enumeration. I just started cybersec and dont know much about enumeration. Does anyone have a good resource for the types of site enumeration?
 
Pajeets learn never to say "I don't know" or "I can't do that", no matter what.
There's a pernicious cultural element in Asia and Africa where they literally cannot admit they don't know what the fuck they're doing because it would make them look bad, and if you challenge them they're always down to fight you about stupid shit even if they're in the wrong.

We got Pajeets all over medicine too and holy fucking shit we all hate them.
 
There's a pernicious cultural element in Asia and Africa where they literally cannot admit they don't know what the fuck they're doing because it would make them look bad, and if you challenge them they're always down to fight you about stupid shit even if they're in the wrong.

We got Pajeets all over medicine too and holy fucking shit we all hate them.
The Chinese are especially bad about this. If your group's driver forgot where he parked the car, it won't matter that everybody else remembers; nobody will point it out so that the driver won't "lose face" and you will spend the next 30 minutes walking around aimlessly while one person is making an ass out of themselves and the others pretend not to notice. Yes, this is a real story. It's insanity.
 

Random bitching about pajeets​

Valid AF. During my degree, for one group project, I was paired with a pajeet who was getting his master's and a girl. Girl held her weight. Pajeet, though, couldn't understand what we expected of him. We assigned him the UI. I built the data structures he was to hook to. He couldn't do diddly. I ended up having to rewrite most of what he wrote to even get it working.

My one and only experience at a Fortune 500 was also marked by language barriers. The team I was working in was all Chinese. And then there's lily white me. I never want to work for a corporation that big ever again.
 
honestly if you want to write python or js professionally you probably don't even need to know about low level memory like heap/stack and structs (which have a specific memory layout in C). maybe you don't even need pointers if you understand the abstraction of pass by reference (in modern C++ you almost never use raw pointers or manually allocate C style). there even exist web compilers which is kinda absurd
Python is very useful for interfacing with C libraries. So you should definitely know some C if you want to get the most out of it.
 
  • Like
Reactions: awoo
The Chinese are especially bad about this. If your group's driver forgot where he parked the car, it won't matter that everybody else remembers; nobody will point it out so that the driver won't "lose face" and you will spend the next 30 minutes walking around aimlessly while one person is making an ass out of themselves and the others pretend not to notice. Yes, this is a real story. It's insanity.
This reminds me of an article I read that was primarily about cha bu duo, but they touch on the importance of face.
My one and only experience at a Fortune 500 was also marked by language barriers. The team I was working in was all Chinese. And then there's lily white me. I never want to work for a corporation that big ever again.
I haven't worked with many chinese thus far. What was that like?
 
I recently lost my job (didn't renew probation, but there were other problems) and I want to get into coding because a lot of jobs want it, and my few skills are fairly niche.

Null said to get into JavaScript to be employable, I have "C for Dummies", and my brother is talking about learning Swift. Plus, I like computer games and I hope I can do something with video games. Do I start C for Dummies, or just looking up something online?
 
Back