Programming thread

  • 🐕 I am attempting to get the site runnning as fast as possible. If you are experiencing slow page load times, please report it.
I was thinking that if this thread keeps growing, it becomes harder to pick out good bits of discussion around particular problems like this. Some really good nuggets of wisdom could get buried. What if we had a sub-forum for it, perhaps similar in function to Q&A, and called it KiwiOverflow or some shit? Though, this would probably heavily diminish the number of conversation topics apropos to this thread specifically. Just thinking aloud.

They're not mutually exclusive. My understanding is that early recurrent neural networks used an evolutionary computing approach because traditional backpropagation no worky and also that NEAT (Neuroevolution of Augmenting Topologies), where the entire topology of the network is permitted to evolve, is a popular approach to evolutionary computing in neural networks today.
I agree. I guess what I meant by "counterpart" is the contrast in how they improve/evolve at a fundamental level, where one approach may be closer to random spontaneous mutations vs a more directed approach based on recognizing and adapting to patterns. Regardless, adaptive and self-improving systems need to incorporate these sorts of general concepts in one form or another. I did a lot of AI math in my work in the time leading up to me quitting out of a sense of bring about our doom lol.

How does Dart stack up as a first language?
Never tried it, but it looks interesting as a concept. In a practical learning sense, I would just use a different language with that familiar ALGOL-inspired syntax that has more widespread, mainstream use. Depending on your level of comfort, consider picking something that will handle essential memory management for you.
 
Last edited:
first attempt at tranny triangulation did not go so well
1712417522348.png
1712417514198.png
, most likely I should do a first pass with edge detection so I can get a proper outline
1712418089676.png
 
Last edited:
I was thinking that if this thread keeps growing, it becomes harder to pick out good bits of discussion around particular problems like this. Some really good nuggets of wisdom could get buried. What if we had a sub-forum for it, perhaps similar in function to Q&A, and called it KiwiOverflow or some shit? Though, this would probably heavily diminish the number of conversation topics apropos to this thread specifically. Just thinking aloud.
How would that proceed in terms of petitioning the site administration etc.?
I agree. I guess what I meant by "counterpart" is the contrast in how they improve/evolve at a fundamental level, where one approach may be closer to random spontaneous mutations vs a more directed approach based on recognizing and adapting to patterns. Regardless, adaptive and self-improving systems need to incorporate these sorts of general concepts in one form or another.
If you look for certain keywords like 'exploration vs. exploitation', 'hill-climbing' / 'local / global optima' etc. they all continue to crop up over and over again.
I did a lot of AI math in my work in the time leading up to me quitting out of a sense of bring about our doom lol.
how-we-imagined-ai-forty-years-ago-how-its-going-we-wuz-kangz.jpg
 
How would that proceed in terms of petitioning the site administration etc.?
Probably just some post somewhere under Forum Discussion. I figured it would be good to get some opinions on it here before I do anything like that.

If you look for certain keywords like 'exploration vs. exploitation', 'hill-climbing' / 'local / global optima' etc. they all continue to crop up over and over again.
That shit is everywhere :( Uncle Ted was right.

It's all a weird accelerationist mindset where they keep fighting against the forces of nature and what is natural in essence, much to our collective detriment. You see this everywhere, from trans-humanism, to pushes for legitimizing trans-sexual delusions, to the rise in automation, to the chemicals in the water that turn the frickin frogs gay. It's all deeply unnatural and only fights against the refined stability nature achieved over inconceivable periods of time.
>Durr, it's natural progression
 
How does Dart stack up as a first language?
I'm one of the few Dart fans out there. I think it lives in roughly the same niche as Python. Good for basic high level stuff. Easy to write, you can write it quickly, and it's easy to understand. I also enjoy using it.

However, I will say this: unless you plan on using Flutter, it's probably not worth learning. There are other languages out there that are approximately as good and fill the same role while also being more popular and thus easier to get help (and jobs) with.

I would really recommend Flutter if you plan on getting into cross platform app development though. It's the least shitty of the options, I think. As soon as I started using it my productivity increased noticeably. It does definitely have some really bizarre quirks you need to work around, but so does every cross platform solution.
 
Probably just some post somewhere under Forum Discussion. I figured it would be good to get some opinions on it here before I do anything like that.
Sounds interesting.
That shit is everywhere :( Uncle Ted was right.

It's all a weird accelerationist mindset where they keep fighting against the forces of nature and what is natural in essence, much to our collective detriment. You see this everywhere, from trans-humanism, to pushes for legitimizing trans-sexual delusions, to the rise in automation, to the chemicals in the water that turn the frickin frogs gay. It's all deeply unnatural and only fights against the refined stability nature achieved over inconceivable periods of time.
>Durr, it's natural progression
Well I think that's a separate matter entirely. By 'exploration vs. exploitation' for example I was referring much more technically to certain classes of algorithms having to trade off making use of known, sure things (exploitation) vs. going and making an uncertain hunt for the next known, sure things (exploitation).

 
  • Thunk-Provoking
Reactions: y a t s
However, I will say this: unless you plan on using Flutter, it's probably not worth learning. There are other languages out there that are approximately as good and fill the same role while also being more popular and thus easier to get help (and jobs) with.
I always try to make this point to prospective learners when they ask for language suggestions. Starting with one of the "main" languages helps with getting the hang of the skills that carry over to other languages and builds that intuition, and having plenty of existing reference material certainly helps.

Well I think that's a separate matter entirely. By 'exploration vs. exploitation' for example I was referring much more technically to certain classes of algorithms having to trade off making use of known, sure things (exploitation) vs. going and making an uncertain hunt for the next known, sure things (exploitation).

https://en.wikipedia.org/wiki/Exploration-exploitation_dilemma
Ah, silly me. I should've picked up on the keywords. lol any chance to hop on my soapbox.

It's all incentive structures of some form.

tbh C++ as a first language is entirely doable these days and forces you to deal with heinous shit almost immediately. That's usually what I recommend to people who I know won't give up easily.

You can end up with mysterious bugs in higher level languages if you don't understand what's going on with references.
I agree this approach can help build better habits from early on, but I would sooner suggest throwing the computer out the window than recommend C++. Different strokes, I suppose.
 
Last edited:
I agree this approach can help build better habits from early on, but I would sooner suggest throwing the computer out the window than recommend C++. Different strokes, I suppose.
Computer's gonna jump out the window on its own the first time you leave out a * or const and gcc generates a 4000-line error message.

IMO most of the issues with C++ are legacy features or related to the C compatibility shit. If you actually use idiomatic new standard features it's not bad
Yeah, actually there's a trap here. C++ Crash Course is the best book I've seen for modern C++ and it should be accessible even if you're new to programming. Older books have either bad code or are just...weird. Stroustrup's "intro" book has you fucking write a parser for some reason.
 
Last edited:
The usual pedagogy in STEM subjects goes something like this:


Starting with the ideal gas law then looking at more complex deviations. Or starting with basic Mendelian genetics then moving on to stuff like pleiotropy and sex linkage. I don't see why programming should be any different. I don't think starting with something like C++ is good pedagogy. It's putting the cart before the horse. I can't help but think of the Cold War-era response to Soviet threats in all areas including educational outcomes by teaching set theory in grade school.
 
Computer's gonna jump out the window on its own the first time you leave out a * or const and gcc generates a 4000-line error message.


Yeah, actually there's a trap here. C++ Crash Course is the best book I've seen for modern C++ and it should be accessible even if you're new to programming. Older books have either bad code or are just...weird. Stroustrup's "intro" book has you fucking write a parser for some reason.
If I was on the C++ standards committee, I'd make using raw new and delete without having overloaded those operators in the class be a warning by default. Most people are retarded and should be using smart pointers.
 
I don't think starting with something like C++ is good pedagogy. It's putting the cart before the horse
I'm mostly arguing against starting with a higher level language. Starting with C is fine too.

For example, let's say someone's entirely new to programming and learning Python

Code:
a = [1,2,3]
for e in a:
    e = 0

I'm sure everyone here knows why this doesn't work, but shit like this can be confusing for students.
 
I'm mostly arguing against starting with a higher level language. Starting with C is fine too.

For example, let's say someone's entirely new to programming and learning Python

Code:
a = [1,2,3]
for e in a:
    e = 0

I'm sure everyone here knows why this doesn't work, but shit like this can be confusing for students.
It's hard to say but I'm not sure I would have ever made that mistake. But I started in middle school and a lot of that is now lost to memory.

Maturity as a programmer is realizing that strict static typing is a good thing
I can and have done both, and can appreciate both. Type inference is very cool in the case of static typing. What I really don't like is weak typing. On a related note:
 

Attachments

  • javascript-the-good-parts.jpg
    javascript-the-good-parts.jpg
    791.7 KB · Views: 28
Last edited:
It's hard to say but I'm not sure I would have ever made that mistake. But I started in middle school and a lot of that is now lost to memory.
I volunteer tutor at the local junior college and they get tripped up by this stuff fairly often.

Maybe the teachers are terrible or they're just not cut out for coding or who knows.
 
  • Thunk-Provoking
Reactions: Belisarius Cawl
Maturity as a programmer is realizing that strict static typing is a good thing
Bit tubesockpilled tbh, its all just offsets. Something like int, int, bool, int will always have the same offsets no matter what the type is, so you can make a 'subtype' that is just the beginning few elements of a family of structs and it will correctly offset from a pointer to any of them.
 
Bit tubesockpilled tbh, its all just offsets. Something like int, int, bool, int will always have the same offsets no matter what the type is, so you can make a 'subtype' that is just the beginning few elements of a family of structs and it will correctly offset from a pointer to any of them.
It's more that relying on weak or dynamic typing indicates poor design at the outset.
 
Back