Profile avatar
nicbarker.com
Open source developer & programming educator. github.com/nicbarker for my projects. https://www.youtube.com/@nicbarkeragain for programming videos. ex engineering @canva & game dev @cerebralfix
459 posts 566 followers 203 following
Regular Contributor
Active Commenter
comment in response to post
Congrats on your temporary retirement Sean 😁
comment in response to post
Thank you 😁 and yes, that last shot of the mirror took a bit of work to get right haha
comment in response to post
Yes you're right, under certain circumstances the compiler can transform a recursive call into a loop, which means you don't need a stack frame for each layer of depth πŸ™‚
comment in response to post
Compared to iteration where inside your while loop, any local variables there will just be mutated / overridden rather than allocated again
comment in response to post
The main difference there will be that with recursion, you’ll need to pay the full cost (memory wise) of all the local variables in every stack frame, which can very quickly add up to a significant % of your 64k of L1 πŸ™‚
comment in response to post
Exactly, picking the level of difficulty is one of the hardest things about making educational videos - I try to start easy then have a reasonably smooth increase up to the more complex parts πŸ™‚
comment in response to post
Thank you for the kind words, I appreciate it πŸ™‚ My older videos are a bit rough (especially back when I was still recording the entire thing in one take), but I hope there's still some useful bits in there!
comment in response to post
I 100% agree with this, especially for the larger AI auto complete. It's like having an over eager junior constantly talking in your ear while you're trying to program.
comment in response to post
I'm sure that overall I'm faster and more effective with the modern tools, but observing this phenomenon is making me wonder if I should be essentially "working out" by writing code in plain old notepad a few times a week.
comment in response to post
Yeah my programming exams in university were "write the code on paper" style. I personally don't think it's a good method of assessment but at least it avoids the AI problems.
comment in response to post
The things in my life that in hindsight I am very proud of are almost exclusively things that I was convinced I spent 10 times too long on at the time.
comment in response to post
As a programmer I've lost track of the number of times I've oscillated between "society is unable to comprehend my brilliance" and "I'm probably the dumbest person to ever sit in front of a computer"
comment in response to post
I also think now that Microsoft owns Github there is a perverse incentive in place - as with every massive tech company, MS has made enormous profits off the back of open source work without proper compensation, and it's in their interest for things to stay that way.
comment in response to post
I also wonder whether github is missing an opportunity to offer paid software licenses (basically, an app store) alongside $0 open source, given that ends up being the pathway to sustainability for many long term FOSS maintainers.
comment in response to post
Steam, for all its faults, does have systems in place to incentivise quality - public facing aggregated reviews & scores from users, easily accessible tags and genre charts, an "early access" model specifically for partially complete software.
comment in response to post
I think it's reasonable to look to a section of our industry that manages to reasonably consistently release feature complete and documented software (i.e. video games), and recently I've been thinking that the steam model might work better than the github one for open source.
comment in response to post
I absolutely support and believe in the idea that maintainers of critical infrastructure should be paid for their time, but I also think that to move forward productively as a discipline, we need to hold what we release for "free" to a higher standard.
comment in response to post
I really like this x*y*z framing, I think it helps illustrate the combinatorial explosion of problems we have in the real world!
comment in response to post
I've heard this from several people about clojure! Will definitely have to try it out 😁
comment in response to post
The problem is unfortunately self fulfilling, as new software is built on more and more layers, modifications in the lower layers cause ripples of forced updates and deprecation downstream. You can only build stability on top of stability.
comment in response to post
Surely we can just do a little bit and not go full haskell 😁
comment in response to post
Same here!
comment in response to post
Oh boy, I can’t wait to visit these two distinct locations!
comment in response to post
The process of learning a technical topic in the modern world feels like following a "Top 10 things to see in New Zealand" guide for your holiday, only to find that all 10 locations are actually the same place, with the photos taken from a different angle.
comment in response to post
Can’t argue with that!
comment in response to post
Pretty much πŸ™‚ I don't even have a particular "correct" answer in mind, my soft red flag answer would be "they're bad but I can't explain why", and I suspect with more experienced people it would lead to some interesting discussions. Would be a plus if threading gets mentioned!
comment in response to post
Apple instruments is actually fantastic if you’re on osx, superluminal on the windows - I have tried to like the visual studio profiler over the years but just struggle to get useful in depth results out of it
comment in response to post
I honestly had no idea there were black squirrels, what a cool little dude!