Computer programming thread

This is the polite off topic forum. If you’re looking to talk smack and spew nonsense, keep moving along.

Moderators: mgil, chromoly

Post Reply
User avatar
EggMcMuffin
Registered User
Posts: 574
Joined: Mon Apr 20, 2020 9:32 pm
Age: 28

Re: Computer programming thread

#641

Post by EggMcMuffin » Wed Mar 16, 2022 3:18 pm

Mathematics is absolutely kicking my ass. Do you even stand a chance at being anything than a low skilled code monkey (at best) if you aren't a "math" person? I've invested so much time into this degree it feels like I have nothing left lol

User avatar
hsilman
✓ Registered User
Posts: 2842
Joined: Fri Sep 15, 2017 8:31 am
Age: 39

Re: Computer programming thread

#642

Post by hsilman » Wed Mar 16, 2022 3:31 pm

Anaphase wrote: Wed Mar 16, 2022 3:18 pm Mathematics is absolutely kicking my ass. Do you even stand a chance at being anything than a low skilled code monkey (at best) if you aren't a "math" person? I've invested so much time into this degree it feels like I have nothing left lol
Yes, it doesn't matter. You won't be getting a job at Jane Street or in signal processing if you're bad at math, but You can still get hired at FAANG or anywhere else. No one is going to ask you trig derivatives or anything.

JimRiley
Registered User
Posts: 1282
Joined: Sat Sep 23, 2017 11:51 am
Location: <x(t), y(t), z(t), t>
Age: 69

Re: Computer programming thread

#643

Post by JimRiley » Wed Mar 16, 2022 8:42 pm

hsilman wrote: Wed Mar 16, 2022 3:31 pm
Anaphase wrote: Wed Mar 16, 2022 3:18 pm Mathematics is absolutely kicking my ass. Do you even stand a chance at being anything than a low skilled code monkey (at best) if you aren't a "math" person? I've invested so much time into this degree it feels like I have nothing left lol
Yes, it doesn't matter. You won't be getting a job at Jane Street or in signal processing if you're bad at math, but You can still get hired at FAANG or anywhere else. No one is going to ask you trig derivatives or anything.
It's important to be able to think rigorously and figure out complicated stuff, but yeah, specific math knowledge very rarely comes up. In the 25 years that I spent developing software, I used math that I'd learned after ninth grade on exactly one occasion. (The context was determining whether some encryption code we'd inherited could ever encrypt two different strings in the same way - in other words, whether the encryption algorithm was a one-to-one function. It wasn't.)

I think the math requirements for a CS degree exist primarily because the ability to pass those classes correlates pretty well with the two attributes I mentioned above: rigorous thinking and figuring out complicating stuff. On one of those diagrams where sets are represented by circles, the set of people who've passed CS math requirements and the set of people who succeed at software engineering would overlap, but they certainly wouldn't coincide, nor would one lie inside the other.

User avatar
Hanley
Strength Nerd
Posts: 8752
Joined: Fri Sep 15, 2017 6:35 pm
Age: 46

Re: Computer programming thread

#644

Post by Hanley » Thu Mar 17, 2022 5:46 am

Anaphase wrote: Wed Mar 16, 2022 3:18 pm Mathematics is absolutely kicking my ass.
What course/s?

JonA
Registered User
Posts: 2138
Joined: Fri Sep 29, 2017 7:00 am
Age: 48

Re: Computer programming thread

#645

Post by JonA » Thu Mar 17, 2022 8:47 am

JimRiley wrote: Wed Mar 16, 2022 8:42 pm On one of those diagrams where sets are represented by circles
That really is the most awesome venn diagram I've ever seen.

User avatar
Root
Grillmaster
Posts: 1997
Joined: Fri Sep 15, 2017 8:28 am
Location: Western Upper Lower
Age: 44

Re: Computer programming thread

#646

Post by Root » Thu Mar 17, 2022 10:57 am

hsilman wrote: Tue Jan 28, 2020 4:34 pm Classes started this week.

Advanced algorithms, no idea because it's probably the worst professor I've ever had in my 13+ years of post secondary education. Dude was like Bill Burr as a teacher, rambling angry tangents.
Good education for dealing with future coworkers

User avatar
EggMcMuffin
Registered User
Posts: 574
Joined: Mon Apr 20, 2020 9:32 pm
Age: 28

Re: Computer programming thread

#647

Post by EggMcMuffin » Thu Mar 17, 2022 12:13 pm

Hanley wrote: Thu Mar 17, 2022 5:46 am
Anaphase wrote: Wed Mar 16, 2022 3:18 pm Mathematics is absolutely kicking my ass.
What course/s?
Multivariate calculus/calculus 3. I'm probably going to get absolutely fucking bodied by the last courses I need to transfer as well: mechanics and electricity/magnetism respectively

User avatar
hsilman
✓ Registered User
Posts: 2842
Joined: Fri Sep 15, 2017 8:31 am
Age: 39

Re: Computer programming thread

#648

Post by hsilman » Fri Mar 18, 2022 5:11 am

Anaphase wrote: Thu Mar 17, 2022 12:13 pm Multivariate calculus/calculus 3. I'm probably going to get absolutely fucking bodied by the last courses I need to transfer as well: mechanics and electricity/magnetism respectively
I found Khan Academy helpful for all my calc courses. Interesting that you didn't have any issue with calc 2, usually that's where people get stuck.

User avatar
mgil
Shitpostmaster General
Posts: 8483
Joined: Wed Sep 13, 2017 5:46 pm
Location: FlabLab©®
Age: 49

Re: Computer programming thread

#649

Post by mgil » Fri Mar 18, 2022 12:25 pm

hsilman wrote: Fri Mar 18, 2022 5:11 am
Anaphase wrote: Thu Mar 17, 2022 12:13 pm Multivariate calculus/calculus 3. I'm probably going to get absolutely fucking bodied by the last courses I need to transfer as well: mechanics and electricity/magnetism respectively
I found Khan Academy helpful for all my calc courses. Interesting that you didn't have any issue with calc 2, usually that's where people get stuck.
Yeah, calculus 2 is all of the integration tricks I can’t remember and integration tables. Calculus 3 was way easier, like linear systems, line integrals, and high school math tricks.

User avatar
Culican
Registered User
Posts: 1411
Joined: Tue Sep 19, 2017 7:39 pm
Location: It's a dry heat
Age: 69

Re: Computer programming thread

#650

Post by Culican » Fri Mar 18, 2022 9:29 pm

I remember the final at my calculus 2 class. The tests were passed out and about 5min later one guy gets up and starts to leave. The professor asks, "What's wrong." The person leaving stops and turns around with a look like a ghost on his face and says, "I can't do any of them." He turns back towards the door and walks out.

User avatar
hsilman
✓ Registered User
Posts: 2842
Joined: Fri Sep 15, 2017 8:31 am
Age: 39

Re: Computer programming thread

#651

Post by hsilman » Sat Mar 19, 2022 7:16 am

Culican wrote: Fri Mar 18, 2022 9:29 pm I remember the final at my calculus 2 class. The tests were passed out and about 5min later one guy gets up and starts to leave. The professor asks, "What's wrong." The person leaving stops and turns around with a look like a ghost on his face and says, "I can't do any of them." He turns back towards the door and walks out.
Damn bro.

IIRC, calc 2 is the last class I actually used notecards to study for. I wrote down all the different formulas and trig function thingies and memorized them. I could be wrong and did that for calc 3 too, but as I recall there weren't really things you could write down on notecards for calc 3. It was more conceptual.

I do remember being blown away by vector visualization. Calc 3 really tied everything together nicely.

Anyways, I think my interview with Optum went well, fingers crossed I get an offer. If the money is good enough, it would work out really well timing wise. It doesn't start until July, so that gives me a lot of time to finish class, find a replacement for myself at work, and take a trip I already have planned in June.

User avatar
RedFinn
Registered User
Posts: 155
Joined: Thu Oct 12, 2017 4:41 pm

Re: Computer programming thread

#652

Post by RedFinn » Sat Mar 19, 2022 10:36 pm

I've decided to get more serious about learning to write software. Specifically I have some smartphone app ideas I want to explore.

I only know the basics of writing software. like loops, conditionals, basic functions and such. I've been doing some research and there is so much stuff to figure out about writing apps. You need to learn about the front end, the back end, the middleman (APIs), databases, IDEs, which programming languages and frameworks to use, version control, how to host and deploy the app... the list goes on.

A couple people have advised me to to do something simpler, like trying to write a website or follow an online course first, but I'm reluctant to take that advice because I am motivated to try to implement my ideas, not to do those things.

---

Also, I see you guys are discussing calculus, so here's a calculus theorem I'm working my way towards: [equation]\int_{\partial \Omega} \omega = \int_{\Omega}d\omega.[/equation] You can read more about it at https://en.wikipedia.org/wiki/Generaliz ... es_theorem.

User avatar
hsilman
✓ Registered User
Posts: 2842
Joined: Fri Sep 15, 2017 8:31 am
Age: 39

Re: Computer programming thread

#653

Post by hsilman » Sun Mar 20, 2022 6:38 am

RedFinn wrote: Sat Mar 19, 2022 10:36 pm A couple people have advised me to to do something simpler, like trying to write a website or follow an online course first, but I'm reluctant to take that advice because I am motivated to try to implement my ideas, not to do those things.
Everybody wants to be a bodybuilder, but nobody wants to lift no heavy-ass weights.

convergentsum
Registered User
Posts: 826
Joined: Thu Mar 01, 2018 3:44 am
Age: 43

Re: Computer programming thread

#654

Post by convergentsum » Sun Mar 20, 2022 9:51 am

hsilman wrote: Sun Mar 20, 2022 6:38 am
RedFinn wrote: Sat Mar 19, 2022 10:36 pm A couple people have advised me to to do something simpler, like trying to write a website or follow an online course first, but I'm reluctant to take that advice because I am motivated to try to implement my ideas, not to do those things.
Everybody wants to be a bodybuilder, but nobody wants to lift no heavy-ass weights.
Yeah. If you dont want to follow any tutorials, at least reduce one component of one of your ideas to a super simple component that you can deploy and test. But honestly, you'll end up throwing it away and doing it again better anyway, so you may as well have done a tutorial.

User avatar
RedFinn
Registered User
Posts: 155
Joined: Thu Oct 12, 2017 4:41 pm

Re: Computer programming thread

#655

Post by RedFinn » Sun Mar 20, 2022 10:03 am

Well, I guess it depends on what you mean by tutorials. I watch YouTube videos about how to use this tool or that tool, like a Django or PostgreSQL. I am doing a lot of research before writing any code because one of my biggest concerns is selecting the wrong tools for the job and having to start over.

The main thing I don't want to do is work on some project that seems completely orthogonal to the things I'm actually interested in. I understand the notion of beginning with simpler things - it's not necessarily wrong. But if I have a large amount of motivation to work on X, then ignoring that in order to work on Y is at least a little bit questionable.

User avatar
Hanley
Strength Nerd
Posts: 8752
Joined: Fri Sep 15, 2017 6:35 pm
Age: 46

Re: Computer programming thread

#656

Post by Hanley » Sun Mar 20, 2022 10:37 am

RedFinn wrote: Sat Mar 19, 2022 10:36 pm I am motivated to try to implement my ideas
Have you already sketched-out the ideas? You can do quite a bit of design work while you build your "implementation tool set".

If you're more interested in the manifestation of the ideas (and less about building a comprehensive skill set) it might actually make sense to contract out the implementation work.

User avatar
RedFinn
Registered User
Posts: 155
Joined: Thu Oct 12, 2017 4:41 pm

Re: Computer programming thread

#657

Post by RedFinn » Sun Mar 20, 2022 11:02 am

Hanley wrote: Sun Mar 20, 2022 10:37 am
RedFinn wrote: Sat Mar 19, 2022 10:36 pm I am motivated to try to implement my ideas
Have you already sketched-out the ideas? You can do quite a bit of design work while you build your "implementation tool set".
I guess it depends what you mean by design. I have only thought a little bit about what I want the front end to look like (i.e. how it looks to the user). The main things I've been thinking about are

1) trying to flesh out my ideas, e.g. trying to understand more clearly what kind of functionality I want, and sketching out a rough plan for how the database should be implemented, and

2) Investigating the most appropriate tools for the job. This interacts with 1) above, because I want tools to implement the desired functionality, but I also have to consider my meager skills. I am interested in tools that are free, can lead to increased efficiency in certain ways, and are relatively well-supported. I'm trying to avoid biting off more than I can chew by choosing tools that are too difficult for me to work with.

For example, the main two candidates I am looking at for writing the front end are React Native and Flutter, because the idea is that you can write the code once and it runs on both Android and iOS. That's very attractive to me, as someone with limited skills.

Another example is choosing database software. I was initially looking into a document-style database like MongoDB but then I got some advice to try to work with a relational database if possible. So I started looking into SQL and PostgreSQL. Then when I was looking into the middleman (API) software, which connects the database with the front end, I saw that a popular choice (Django) works much more naturally with a relational database than a document-style database. Because I'm not an expert it seems simpler to try to use tools that are already known to work well with each other, so my current plan is to use PostgreSQL and Django because they're known to work well together.
If you're more interested in the manifestation of the ideas (and less about building a comprehensive skill set) it might actually make sense to contract out the implementation work.
I've definitely thought about this, but I'm deciding against it for now. I probably have enough money to pay someone to implement my ideas (though I haven't looked into exact costs), but I don't think it's a good idea. The most likely outcome is that I don't make any money from my ideas, in which case the only thing of value I can gain is some skill at writing software. I would like to succeed entrepreneurially, but worst case I'm hoping that being able to write software at least helps me command a higher salary.

So basically I want to realize my ideas but I think the skills gained are quite important as well. For example they could help prepare me to implement some idea I have in the future. And if you pay someone to write software for you and it somehow does explode in popularity, and you have no idea how to manage it, that could be a problem.

User avatar
Hanley
Strength Nerd
Posts: 8752
Joined: Fri Sep 15, 2017 6:35 pm
Age: 46

Re: Computer programming thread

#658

Post by Hanley » Sun Mar 20, 2022 11:18 am

RedFinn wrote: Sun Mar 20, 2022 11:02 am I guess it depends what you mean by design.
Just a layout of user-flow.

^ Armed with a whopping 2 semesters of undergrad compsci, coding bootcamp and "app ideas", I found this first step quite humbling.

User avatar
RedFinn
Registered User
Posts: 155
Joined: Thu Oct 12, 2017 4:41 pm

Re: Computer programming thread

#659

Post by RedFinn » Sun Mar 20, 2022 11:47 am

Well, I can't say I've thought a lot about that yet. But I am trying to think about things somewhat carefully before beginning to write code. I'm hoping to begin writing code before summer is over.

User avatar
Skander
Registered User
Posts: 1419
Joined: Sun Mar 04, 2018 4:02 pm

Re: Computer programming thread

#660

Post by Skander » Sun Mar 20, 2022 12:24 pm

I wrote a Django based website and it did take a solid year or so from idea to fully working. I liked Django because Python is very pleasant to write in, and the documentation is some of the best I've encountered in that kind of thing- I'm not finding the Flask stuff quite as good. That said, the stuff that "comes for free" with Django is not relevant to every project, and it can be complex if you're doing something simple. I'm also not sure how good it would be for single page apps.

I have an app idea and I finally realized I needed a partner in crime - I was able to find one who can do all the front end stuff, so we're using Flask and I do a lot of the back end stuff and he does the JavaScript stuff.

Finally, you may want to try to stick to MySQL if you can. For python anywhere for example, MySQL is free to use, but postgres requires a paid account.

Post Reply