I 100% agree with you about the touch bar, but you might be underestimating the user-hostility of modern Windows and the shoddiness of Windows computer manufacturers.
I've had devices from from Dell, Microsoft (3x), and Lenovo (2x) in the past few years, and they've all had hardware or driver issues either from the start or within the first few months. Tried countless registry hacks and driver reinstallations, spent dozens more hours on the phone with support reps who have no idea what they're doing, finally gotten a replacement but it doesn't include warranty coverage so the next failure is game over. Worst support by far was Dell -- they refuse to admit there's a problem, transfer you to wrong departments, and just wait for you to hang up. Their basic warranty coverage also only includes "depot service", which means you mail the machine away for two weeks and literally all they do is wipe it and reinstall the OS. Lenovo sent somebody to my home and actually resolved the issue.
Even when the system is put together correctly, every Windows update breaks something, or reverts some setting to a default value, and you don't get to choose which ones you need and which to skip. That Persian calendar fix is going to break your touchpad. Your system event log will be full of errors, and you won't know if you should be concerned. But that's just how Windows is, rotted and barely clunking along. Not to mention the built-in app ecosystem -- my wife tried their Mail app for a while, and one day it deleted all of her emails and calendar events. OneDrive sucks. Everything about Windows sucks.
I've done the "Reset This PC" thing on 3 different machines, and it's bricked all of them.
By contrast, the MacBook Pro that I've used at work for a few years has had zero problems and the OS feels so much more coherent. I do passionately hate the touch bar; I accidentally brush it all the time and suddenly the volume changes or Siri pops up or whatever irritating thing. I miss having a real Esc (yes, I've remapped Caps Lock, but muscle memory dies hard).
I've always used Windows laptops, but recently I've realized the MacBook is actually not more expensive after you factor in the hours of maintenance and the fact that Windows machines will die much more quickly no matter what you do.
Especially true as API design seems to have moved away from using exceptions in non-exceptional situations; handling them locally is not desirable in most cases. In the old days we'd have a Parse method that would blow up the program if your string had characters other than digits; now we have a TryParse that returns e.g. an option type. It could also be because of the industry I'm in, but I've written (and read) extremely little exception-handling code in the last few years, because a real exception is not something my little domain method can do anything about.
That said, exception handling syntax is ugly and cumbersome in most languages I've seen. Whether it's try/catch/finally with braces or begin/rescue/ensure/end or whatever. It's also rarely written in a way that tells the reader where exactly the exceptions come from, it's just a blanket for a large block of code.
Something that ties the handling directly to the statement that breaks, without the noise of including the 'exceptional' behavior alongside the main logic, might be an improvement:
result = do_something(x, y, z)
handle SomeArgumentError with my_nre_handler(x, y, z)
handle RecordNotFound with missing_record_handler(x)
This point grinds my gears toothless. I've been angry enough at the misery and indignity of TSA procedures to point out (in an airport) how easy it would be for anybody to bomb the dozens/hundreds of people stuck in the 'security' line. Fortunately I wasn't prevented from boarding my flight. I guess the counter-argument is how much more damage could be done if they got on a plane and hijacked it, but I feel like some other safeguards would be far more effective than having somebody in a back room looking at a scan of my naked body (and my family's).
That's a good point. One of the places I worked hired a ton of juniors and placed them under "senior" team leads, but the leads were too few, not exactly all-stars, and code quality was all over the place. I tried to have a positive influence on some of the eager new hires, with varying success (mostly because I wasn't very senior either, just a little further along than they were).
Eventually the environment became frustrating enough that I had to move on. Great people, really friendly environment, and even a product I believed in, but it felt so bad to keep having to read through awful, giant, bug-ridden code reviews with the same old rookie mistakes. I only had enough influence within my own team to slow the rate of bad code entering master, but it still came alarmingly fast. I think nobody from my team is still at that company. I really hope management has turned it around since.
Agreed. I have a cold brew kit that cost ~$20, and I found a cheap coffee that tastes great in it. Very little effort required (dump + rinse the bag once a week or slightly more often), less than $1 per day. Throw some grocery store dairy in there, still probably under $1. I get the social aspect of getting coffee with people, but if we're just talking about the value of the drink, there's no reason to spend that much regularly and it really is enough to make a difference if your non-negotiable expenses already push your limits. Paraphrasing another commenter, 5% of take-home might be 15+% of disposable, which is a huge bite out of savings.
What I don't see mentioned in the article or comments is the fact that the latte isn't the only $5 decision we make every day. We can choose not to buy the latte, and to pack our own lunch, and to choose cheaper veg instead of meats at the grocery store, and on and on. Frequently it's multiple smaller choices that add up to noticeable benefit, even when a single latte or lunch out won't break the bank.
(of course there are frequently good reasons to buy things, particularly when there's a social component -- e.g. as a byproduct of spending time with people, as an informal break with coworkers)
Autoplaying video is enough to make me close a tab immediately, even with Chrome's merciful mute-by-default setting. I understand that some amount of advertisement is required for the content to be free, but this attention warfare is disgusting.
Oh, and you forgot the survey that pops up before you've even read the article.
What's your F# setup on AWS? I've been tinkering with an F# (Giraffe) side-project for a while and am finally trying to find a place to host it. Azure seems simple to use but way too expensive -- app service + DB starting around $100/mo, even with Linux and Postgres. AWS seemed complicated for a solo dev, couldn't figure out what I actually needed or how much of it, or how to plan for scalability later without paying too much today. After too many hours comparing prices and features, I resigned myself to learning Docker so I could deploy to Heroku and plan to move it later.
I'd love to hear your thoughts/dev workflow/deployment pipeline/etc.
(Side note, it turns out Docker is a lot more user-friendly than I'd feared, although my dev machine runs Windows Home, which is less supported (also want to point out that at 1/3 the price of a Mac, Windows is still not worth it and Windows OEMs all have terrible support)).
I've had devices from from Dell, Microsoft (3x), and Lenovo (2x) in the past few years, and they've all had hardware or driver issues either from the start or within the first few months. Tried countless registry hacks and driver reinstallations, spent dozens more hours on the phone with support reps who have no idea what they're doing, finally gotten a replacement but it doesn't include warranty coverage so the next failure is game over. Worst support by far was Dell -- they refuse to admit there's a problem, transfer you to wrong departments, and just wait for you to hang up. Their basic warranty coverage also only includes "depot service", which means you mail the machine away for two weeks and literally all they do is wipe it and reinstall the OS. Lenovo sent somebody to my home and actually resolved the issue.
Even when the system is put together correctly, every Windows update breaks something, or reverts some setting to a default value, and you don't get to choose which ones you need and which to skip. That Persian calendar fix is going to break your touchpad. Your system event log will be full of errors, and you won't know if you should be concerned. But that's just how Windows is, rotted and barely clunking along. Not to mention the built-in app ecosystem -- my wife tried their Mail app for a while, and one day it deleted all of her emails and calendar events. OneDrive sucks. Everything about Windows sucks.
I've done the "Reset This PC" thing on 3 different machines, and it's bricked all of them.
By contrast, the MacBook Pro that I've used at work for a few years has had zero problems and the OS feels so much more coherent. I do passionately hate the touch bar; I accidentally brush it all the time and suddenly the volume changes or Siri pops up or whatever irritating thing. I miss having a real Esc (yes, I've remapped Caps Lock, but muscle memory dies hard).
I've always used Windows laptops, but recently I've realized the MacBook is actually not more expensive after you factor in the hours of maintenance and the fact that Windows machines will die much more quickly no matter what you do.