Enjoyed the first episode.
In regards to logic puzzles in interview questions I feel they solve the problem of seeing how an interviewee works through a problem that is outside of their familiar domain. In the event that a developer runs into issues in an area completely unfamiliar to them how do they set out to solve the problem.
This is also why I hate web apps usually. Developers just update them whether I like it or not. I wish web apps would have versions like normal apps.
But now it seems even normal apps like Chrome don’t give you that option anymore. Fuck the user, right?
Maybe this is some weird attempt to make sure you know that you have no control over your machine. Give up petty human!
Well, look at it this way…
The compact, kinda, was “Developers will fix bugs and not write terrible software”, and for users “Users will promptly update when given free updates”.
Funny thing–developers released bad software, and users pathologically failed to update things.
Developers have gotten a little better about software, and have removed the option for users to screw up and not update.
Users–especially the casual users we all cultivate online–have shown themselves unwilling to do the right thing, and it’s cost many man-years of development time. They’re getting better than they deserve.
EDIT:
To wit, look how far back the entire web development world has been because of legacy users running IE6 or something, and being unwilling to update because “it might break something”.
The zen of software is to update frequently if you need to fix bugs/make compatibility. Not doing this is a Bad Idea.
Eh, part of the problem is that I doubt this is true. Developers really do break things when they update, and not having control over when to update is as a result very problematic, especially when using professional software. If developers never broke things when updating, gave suitable advanced warning before deprecating features, etc., it wouldn’t be a problem, but that’s not how things work. Even SaaS stuff I’ve paid money for is typically not very good, and not very consistent. With versioned software that has oddities, you can at least develop workarounds for the common issues, and when working in a team you can all get on the same workflow and get on to real work. But with odd webapps that change every 2 weeks you can’t even develop usable workarounds!
Android apps are also Very Bad Quality on average, and the constant updating makes them even worse, because it often actually breaks things that previously used to work, and when it doesn’t break things it gratuitously changes them. But fortunately I don’t currently use any Android apps for “real” work.
I would posit: Developers, especially the casual developers cultivated in the app/webapp space, have shown themselves unwilling to do the right thing, and it’s cost many man-years of user time.
Users are certainly not guilty of anything wrong. If they’ve done anything, it’s learned that the software we give them is outrageously fragile, and once they get it in a state where they can use it, they should never touch it ever or something will break and they’ll be unable to use it. Except now even that’s not enough, and systems will break themselves without user interaction, so the only solution is fuck you we developers got ours, I guess?
You said it better than i did! thanks!
hyperboot is a library that intends to allow for versioning and user control of those versions for single page apps. Potentially much harder (and expensive) for server rendered applications.