• 0 Posts
  • 110 Comments
Joined 2 years ago
cake
Cake day: July 1st, 2023

help-circle
  • I did consultancy work as part of renewing and replacing ancient software systems for an insurance company, and it’s amazing how little people actually know about how their own business processes are actually supposed to work.

    Orgs are in the position where everyone who built a system is gone, and all the current people who work there defer to the system for how the processes work, without actually properly understanding the rules. And so the system itself becomes the arbiter of correctness.

    This is obviously horrible because it ends up where nobody dares to touch the current system in case they break it in some way nobody understands.

    We ended up speaking to people across the whole business to painstakingly work out what the rules really were, putting together a new system and effectively “dual running” that side-by-side with the old system, so we could compare outputs and make sure they were the same. In some case they were different, and in some of those cases it was actually because the old system was actually wrong, but nobody noticed!

    It’s a mess.


  • Here’s my take.

    What the author is saying is true in terms of the ‘downsides’ of frameworks - they force coupling, dictate the way in which you write your code, and make it difficult to move to any different framework.

    But that doesn’t mean frameworks are inherently bad.

    I recently used the Kivy graphics framework to build a GUI app in python. Yes, this means I have to structure my app the way Kivy wants it to be, but it also means I get a huge amount of heavy lifting done for free. Kivy takes care of rendering graphics, bubbling user input through the component hierarchy, all the underlying tricky stuff, and means I can focus my time where I want to; adding functionality.

    Frameworks control the way you code, but in return they let you get going very quickly.

    The prescriptive nature of frameworks can also be a huge boost in a commercial setting, because it makes it easy for developers to work together with a common understanding on what they are doing. If someone has built a mobile app in React Native and they move to another team that is also building apps in React Native, they know what they expect to see when they clone the repo. It’s not a fresh learning curve every time.

    The negatives the author calls out are totally valid, but IMO there are upsides to consider too.






  • When I am interviewing people, I always appreciate when the candidate is honest about their experience - or lack of experience.

    If I ask about something and they openly say they never did that, that’s a green flag. I want to see people are honest about where they don’t have experience, because being honest about gaps is an important trait for when they are actually on the job.

    On the other hand, if the candidate has something literally written on their CV/resume as a “strong skill” but then when I ask about it they struggle and try to bullshit their way through it, that’s the opposite. If someone is happy to lie to get the job, they’ll probably lie when they’re on the job too.



  • I remember reading a story a while back about someone who owned a legit CS version with a proper serial and activation.

    They had to change computer, and in doing so had to reactivate Photoshop, but it wasn’t working. They contacted Adobe support and explained the situation but support basically told him nope, not a chance, we aren’t helping you. You need to subscribe to new Photoshop.

    So Adobe accepted that yes, he bought a perpetual licence for Photoshop and that yes, the reason it isn’t working is the online activation, but they still refused to help.

    Scumbags.


  • I understand what it’s saying, though.

    In the “old days”, when you sent someone a file, that file would end up with them on their computer, but generally nowhere else unless that person actively chose to send it somewhere else - which they generally wouldn’t as we are assuming they are a non-malicious human being who respects your privacy.

    Nowadays, ending a file to someone usually means that file getting synced into their cloud storage, and now with things like recall, seen by some AI and used for whatever purposes, over which you have absolutely zero control.





  • Back in my days working as .NET developer on Windows 7, I came into work one morning to find a colleague fuming that his machine had died on him.

    He spent the whole morning reinstalling Windows and getting his environment set back up, and then pulled the branch he was working on, happy to finally be done with setup and get back to work. Ran his test suite and bam, machine crashes!

    It was only at that point the penny dropped. We took a look at his branch, and sure enough he’d accidentally written a test that, when ran, deleted his entire C: drive!

    That particular lesson made me very careful when writing any code that does things with the filesystem.


  • They can hardly avoid screwing up, really.

    The whole draw of Steam Deck is that it’s a carefully curated experience where everything from the OS upwards is crafted to play nicely together and “Just Work” to bring that console-like experience to PC gaming.

    Whatever Microsoft are putting together isn’t going to have that end-to-end consideration. It will be nothing more than a skinned launcher on top of Windows 11, and no matter how shiny that launcher looks you won’t be able to hide from Windows for long. All the normal Windows bloat will be there, and I wouldn’t be surprised if you spend as much time messing around in actual Windows as you do playing games.