I often see the question "why does modern software break all the time?". If you believe "the purpose of the system is what it does", there is an incredibly strong incentive to break existing software that works well. It's simply the easiest way to get people to buy something new.
Posts by Nic Barker
In the absence of breaking changes to hardware, software is the ultimate "buy it for life" proposition. With fixed hardware, software doesn't rot, it doesn't rust, it doesn't have expensive fiddly parts that break and need to be replaced. Which is of course, economically problematic.
I suspect companies realised at some point that they weren't just competing with other companies - they were competing with previous versions of their own products. Previous ideas that were mostly correct. Previous teams that they had laid off to save costs.
When I was growing up, software shipped in discrete versions. You purchased "Thing 1.0", and later, the company might release 2.0. The market could then decide if 2.0 was a success or failure. Now, you're forcefully upgraded to 2.0, the old 1.0 is gone, and with it, the incentive to improve.
The browser actually does a fantastic job of this - provided you're using vanilla JS to do retained mode DOM mutations for your UI. If you're using React, or an immediate mode approach in a non browser environment, it makes a difference ๐
Should be all good now I think! ๐
Interesting, seems like a floating point precision difference between browsers, thanks - I'll get it fixed up.
Mate that's horrible, hang in there. It's especially awful when you have to hold it together for the little ones even when you feel like you're going to keel over any second. Have had people tell me it gets better as they get older but I'm still in the thick of it ๐ญ
I'm genuinely curious! There have already been a couple of cool use cases that I'd never thought of in the thread, so I'd like to hear about it ๐
I ended up getting nerd sniped into making an interactive version of this graphic on virtual scrolling I made the other day, you can take a look here:
nicbarker.com/virtual-scrolling
That is a really interesting use case that I hadn't thought of!
Thank you for the insight! Had never thought of that one ๐
Totally possible that this is an accessibility feature that I just don't understand, I genuinely want to hear about people's use cases!
Maybe I'm missing something, but does anybody actually still use the standard text UI feature of "click & drag selected text to cut & paste it somewhere else"?
I've done it thousands of times and literally every single one has been accidental.
Great work, this looks like a really nice tool! And yes as long as you have a system that allows you to reasonable cheaply measure the height of each of the items, it's not too difficult to expand to variable heights. Would have been a bit much for a single infographic though I think ๐
I've explained the concept of "virtual scrolling" in UI several times recently, so I decided to put together a small graphic. If you have a scrolling list of items that are all the same height, you can use a simple calculation to only process the ones currently on screen.
So many times early in my career I spent way too long on some abstraction / interface in preparation for a second variant, only to find that when I actually built it, the reality of the two was so different that the abstraction made them _both_ worse.
A very common programming case is "I need a second, slightly different version of this thing", which creates an immediate temptation to build a shared abstraction.
IMO the better approach is to copy paste the whole thing, modify and get it working, and then decide if you need it.
It's the "presentation mode" in CLion, it usually looks a lot more cluttered than that ๐
Congrats on your temporary retirement Sean ๐
Thank you ๐ and yes, that last shot of the mirror took a bit of work to get right haha
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 ๐
Compared to iteration where inside your while loop, any local variables there will just be mutated / overridden rather than allocated again
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 ๐
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 ๐
After a lot more work than I expected, my video about Recursion is done. Hope you enjoy the journey down the rabbit hole ๊ฉ
youtu.be/YuaJ8x_NcLw
I have a game side project that uses algebra, so I built a small computer algebra system that can manipulate equations. Would anyone be interested in a video walkthrough of how the code works for something like this? I think it's quite interesting ๐
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!
It's kind of funny how a megabyte is either tiny or massive depending on who you ask
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.