I already started using ChatGPT to solve problems because I can’t be arsed to read through ten vendors worth of documentation. It wrote me a fairly complete and accurate chunk of code the other day to solve a problem.
I've found it's often like pairing with a junior developer who is familiar with whatever problem you're describing and types insanely fast, and that's without learning too much how best to prompt it. A recent discovery was that you can ask it what problems may exist in its code, then ask it to fix them.
- how to filter tabs in a firefox extension (turns out some APIs are only accessible in background scripts). the fun part is that it gave me an obsolete use case, so I told him "it's wrong, firefox uses promises now", so he fixed itself and used the new api.
- someone about django custom inlines, the answer was mild but it integrated various aspects of the framework in a short answer which helped a lot (django is particularly horrendous, i cant suffer its strange style, so that played too)
Mid 2020 I was asked to port an app away from Silverlight before it hit EOL in Oct 2021. I wrote the original app in WinForms in 2003. Having experienced Win32, MFC, ATL, WinForms, WPF, WinRT and looked into WinUI I decided to pass on it.
ANY other UI technology is probably a better long term bet than anything Microsoft come out with.
For me what did it was the way they managed (or actually really didn't) the transition from .NET Native and C++/CX to their replacements, both with much lesser tooling, requiring manually dealing with code generation, merging files, no designer, while their GitHub issues keep increasing exponentially.
Despite writing tomes of scathing bitching about Windows 11, I have to say that the direction it's going in is the correct one.
All they have to do is kill off the mandatory cloud sign in everywhere, the telemetry, the crapware bundled with it, fix the S3 sleep problems, actually do some QA for a change, make the onboarding experience smooth as butter, deal with the buggity hellscape that is Windows Hello, fix all the stupid HiDPI weirdness, clean up at least 50% of the legacy shite hiding behind it and start respecting customers again and they will have a product.
Oh and fucking stick to one UI for a bit.
Edit: honestly I would love to use Windows on a daily basis. I lived through the glory days of Windows 2000 and it was consistent and dependable back then. Every step forward since has been two steps backwards.
That's a lot of things they still need to change - what are the good things about it? I use windows 10 at home and it's fine, but it feels like it's slowly becoming 11 without asking me. There's an ad on my lock screen now.
It's really fast so you can fuck the crapware off in record time.
That point is in jest but it really annoys the hell out of me that the excellent work the core windows guys have been doing is being compromised by the veneer of diarrhea over the top.
Well, you basically list major problems we have with Windows in general. 11 is not that different from 10 in that respect. So it's hard to say "the direction it's going in is the correct one" - I understand why they are pushing this stuff down our throats, but they are not winning users. Whoever can switches away.
Disclaimer, MS employee here, but I've got to say that the cloud sign-in is one of my favorite features.
The amount of time I spend worrying about and preparing for a hard drive failure has significantly gone down.
I'm able to have one device at home, and another at work, and they stay reasonably in-sync with one another.
I'm able to check things from my phone (even if I can't be productive on the phone, at least having access to progress made on my home machine is important).
I see others commenting here about how hard it is to create a local-only account on Windows 11, and I don't want to dismiss such criticism, but I'm personally never going back to a local-only account on my devices.
Good for you. Most people don't want Microsoft to own their data. You get that? User's data belong to them, if you are set to share all your personal data with Microsoft , then it should be an opt-in process (maybe they can entice you with Bing points or some sort of rewards?). It should be offline by default. As customer are already paying for the operating system. You can also use many syncing solutions from Google drive to dropbox, and many others. Regarding the "amount of time I spend worrying about hard drive failure" , never have I had a hard drive that just dies, is possible , but extremely unlikely, I make a backup of my important stuffs to other hard drives or the cloud. Cloud sign-on is just another way to track users and violates their basic privacy rights.
I’ve had more critical OneDrive failures in the last two years than hard disk failures in the last 30 years. I’ve experienced actual data loss on OneDrive three times since 2020.
It’s not a backup and it’s a shitty safety net for trivial cases. Fortunately I had beem backing up OneDrive up using Beyond Compare to an external disk and doing a binary comparison so I could find the cocked up files and recover them.
It’s funny the only time I’ve had to do a restore is because Microsoft’s cloud fucked up.
> people are syncing their personal and work devices
No, that's not what was said and I'm not sure how you interpreted that. I have a work device at home and in-office. My work devices use different user accounts from my personal devices.
It's like religion. You have one. Good for you. Don't shove it down other people's throats.
Edit: I just realized this could read rather harsh. I didn't refer to you explaining your preferences, but "shoving it down our throats" is seemingly the current attitude of MS as a whole.
There is no such thing as a macbook replacement at the moment IMHO. There is literally nothing with the same quality, battery life, thermals, audio, display, keyboard and reliability on the market. Not even the most expensive machines can get anywhere near even an M1 MacBook Air on this front. The M1 MBP destroys everything else.
I develop software on it no problems at all. We are way past targeting one platform. Linux can be the destination for sure but like hell I'm going to do the dev work on it. Years of attempting to run Linux on a laptop or desktop have left a very unpleasant flavour in my mouth. It might work today but it probably won't tomorrow and I'm getting too old to waste my time futzing. It has to work right now, properly, today with no risks.
Note: I have a mandated Dell Precision 7670 for some work, one of the most ridiculously stupid computers ever made and far more expensive in this config than a high end MBP M1 Max and it's absolutely a pile of shit from a hardware and software perspective. If you ran Linux on it, it'd be worse than if it ran windows on it, which is already terrible.
Macbook hardware is great, but you could not pay me any amount to daily-drive a recent version of MacOS. Big Sur was like the Windows 8 moment for MacOS, and it just compounded on the limitations that Apple had been building up to. Even if I couldn't have my "nice things" in Linux like KDE and VS Code, I'd still be using it simply on the basis that it behaves how I expect.
Apple has burned me too many times for me to feel comfortable paying them again. I much prefer choosing my hardware and software as opposed to suffering through whatever Apple says is right for me. Different strokes for different folks, I suppose.
Coming from Mojave, I was really disappointed by the Playmobil design philosophy and limitations on executable linking. Also something must have changed internally, because post-Big-Sur Nix installers have the most ass-backwards way of working around APFS. Making a comfortable dev environment on MacOS leaves my machine feeling like it's bursting at the seams...
I'm sure it's a great tool for creatives who want to loathe Windows with the rest of us, but for development MacOS has become more of a hindrance than a help. Even WSL2 feels nicer to use than baremetal Darwin deployment.
All my 32-bit plugins broke in Ableton Live, and Proton stopped working when I tried Catalina. Without my music toolkit, games or preferred programming environment, MacOS doesn't really have much left for me these days.
But essentially storage and memory savings, maintainability savings and some issues with the ObjC runtime.
I assume part of the issue too is being able to enable pointer authentication, which afaik uses the higher end bits to store data, and being able to do that allows them to secure the OS better. So 32-bit support likely was a security risk factor as a result too.
I have both a gaming laptop running Linux and a 2021 M1 MBP.
I prefer developing on the Linux gaming laptop, but anything outside of web browsing and raw development (listening to music, Bluetooth, share audio on video conference, gaming, accounting / office work, etc.) is horrible compared to MBP.
The gaming laptop has an RTX 2080, but I play games on the MBP, because Steam works better. I enjoy Steam better on Linux than on Windows, but not enough to waste hours just to relax.
> It has to work right now, properly, today with no risks.
There's still lots of desktop software that doesn't support AArch64, optimising for "just works" it seems a strange choice. Perhaps "just works (with a limited subset of programs)" seems more apt?
Weird that Wine is listed since I've got Wine on my M1 and it works fine running, e.g., Mineways. Maybe it's just some specific Code Weavers version? But Wine itself works fine on Apple Silicon.
I have had similar experiences to you in the past, which is why I posted about the different experience I had with the latest Thinkpad X1 Carbon that comes with Fedora Linux out of the box.
I've had 20 years of anxiety about closing the lid, hibernating, sleeping. Numerous working configurations became non working configurations after kernel updates and distribution upgrades.
And that doesn't include some of the problems with the desktop software I've had.
Came here to echo this sentiment. I even bought from a specialized Linux laptop retailer hoping that the hardware would have been selected because of its Linux compatibility; either an upgrade from Ubuntu 20 to 22 or a kernel upgrade or an nvidia update broke my ability to close the lid and trigger suspend.
I tried everything, dove semi-deep into systemd settings, spent hours online and pouring through logs and journald and forums and bug reports. Tried rolling back versions of damn near everything only to then break things I had installed after other upgrades. I tried doing some half-assed custom shell scripts that felt janky.
After several nights of losing all my free time after work only to wake up the next morning to a dead laptop battery, I treated myself to an m2 13” mbp.
Suspend is an industry-wide new problem affecting almost all new hardware since Windows convinced hardware makers to make S0 the default, and some don't even support S3 in their bios any more.
Google about "modern standby".
It's driven by a software change in Windows, but it affects Linux too because all mamufacturers made bios changes to support the Windows change.
The point I'm making is, Windows machines have the same problem for the last 2 or 3 years. Even macs have an essentially the same problem, just that on mac it's easy to change a setting to fix it.
It's not a Linux problem, and by that I do not just mean the usual that it's not Linux's fault that hardware manufacturers cater to Windows. I mean everything has the same problem right now, and the fix is to A: hope both your hardware has a bios that still provides support for S3 standby, B: use it.
Seperately, I personally have just never used standby or hibernate. It's true that aside from the current industry-wide issue caused by "modern standby", it's always been a bit of a problem on linux. Especially since I dual boot and also just never know how long the machine will be turned off or how much charge it will have when I close the lid, or rather I don't want to have to worry about it. So I just decided decades ago that the entire suspend and hibernate concept was a bad idea and I don't use them, on any platform. My machines shut down and boot up every time on battery. Plugged in they merely go idle and turn the monitors off. No swap or hiberfile even cpnfigured on linux or windows. Ever since ssd's booting from scratch has been fast enough. Standby and hibernate are just fundamentally not good ideas IMO. I don't care how popular and how they work 99% of the time. I opt out of that whole idea, on any platform.
And everything else works great.
My daily life on linux is all in all, less grief than Windows.
> After several nights of losing all my free time after work only to wake up the next morning to a dead laptop battery, I treated myself to an m2 13” mbp.
tl;dw: It may not be a OS problem, but rather a problem of which sleep states are supported by your firmware, which would explain why nothing you did helped. Possibly suspend never really worked and Ubuntu just got meaner on the battery. Getting a MBP is valid fix if you disable "Wake for network access" on it.
I've been using Linux for ~18 years, exclusively for ~12, and I haven't really had notable hardware issues in ~7-8. I definitely haven't had much frustration with working hardware breaking (and pretty close to none since I switched to NixOS).
I do feel your pain, though. I remember things being brittle and finicky for a long time back in the aughts. But these days, almost all of that disappears if you give Linux the same kind of hardware commitment you'd give macOS, and just buy hardware that is made or sold with it in mind. You do still have to pretty much stay entirely away from NVIDIA, though. Unfortunately Linux vendors still sell hardware with NVIDIA's shoddy components and drivers because CUDA dominates GPGPU applications.
> if you give Linux the same kind of hardware commitment you'd give macOS, and just buy hardware that is made or sold with it in mind
This is true and good advice for those of us who are primarily committed to using Linux. It is however a significant disadvantage compared to Windows. It is quite a joy just not to have to think about precise hardware specs (& not to have to continually read up on their changes). Buy just about anything, from a top end laptop to some weird gadget from Alibaba, to vast scads of second hand machines and parts from ebay, and you can be near certain it will work with Windows. There's no point pretending that's not terrific.
It's also a real but lesser disadvantage against MacOS, because Apple do the hardware curation for you (part of what you're overpaying for of course).
On balance I still find Linux the best choice for my purposes.
Totally agreed. It's a point that I think people (like and including myself) who are passionate about Linux tend to be fussy about the framing of. It's ‘not Linux's fault’, and it can be painful to hear people talk about shitty desktop Linux experiences when you know the incompatibilities would have simply been avoided. It often feels like an unfair ‘apples to oranges’ comparison to compare OEM hardware on an OS it ships with to attempting to retrofit a Linux desktop onto random hardware whose supplier never even gave a thought to Linux compatibility.
There are some vendors where (for a premium) you can defer hardware curation to them, but too few of them provide laptops comparable in quality to a MacBook Pro or an X1 Carbon. System76 has some really top-notch desktops of various form-factors, and their firmware work on their laptops is awesome, but the chassis and design aren't on par with those top brands imo. Maybe the HP Dev One is on a par with an X1 Carbon?
> On balance I still find Linux the best choice for my purposes.
It's the same for me. The freedom, flexibility, control, and predictability I get out of running a Linux system make using a computer feel really good to me. Using Windows or macOS feels chaotic, confining, unreliable, intrusive, and alienating to me. Consequently I find that overall, choosing Linux gives me the smoothest, highest quality experience.
Not OP, but I found there's a sort of bell curve with Linux support on laptops.
Initially your hardware is likely very new, so some things won't quite work out of the box.
Then, assuming you bought a popular piece of hardware, things get progressively better for you: improved driver support land in the kernel, distros get better at auto-configuring for your hardware, etc.
Finally, 3 years out, upstream development has moved on, your specific hardware configuration is no longer actively tested, and things start to break left and right.
All in all, you have a small window of optimal Linux support for your hardware.
There are still components that you need to watch out for when buying a used laptop if one intends to run Linux. Broadcom WiFi is notoriously painful for example (have seen routine updates break those drivers several times over the years), and even though Nvidia provides official Linux drivers those can complicate things too.
The most painless Linux laptops are those that use integrated graphics only and for the best experience, use Intel networking instead of Realtek (Realtek often works, but it working well is highly dependent on the specific chipset).
There are plenty of online accounts of "new Linux kernel versions" affecting working software. The last one I remember seeing is Linux in a MacBookPro hardware (I think MBP 2011) that started waking up immediately after sleeping due to some USB issues. Apparently the only known way to fix that was to "downgrade the Kernel" to some other version.
I am actually using Linux (Mint flavor) and use it for development. My main reason is that I hate Docker in Mac: The emulation layer uses a lot of RAM and high CPU, by necessity. While having Docker in Linux is transparent and requires pretty low resources.
I like Linux in general, but yeah, it still has A LOT of rough edges. The one that just bit me is the lack of Hibernate out of the box (it's 2022 ... come on!). And the process to enable hibernate is so fucking long: * create large swap, * edit some random files, * restart some random service. are they kidding me?
> The last one I remember seeing is Linux in a MacBookPro hardware (I think MBP 2011) that started waking up immediately after sleeping due to some USB issues. Apparently the only known way to fix that was to "downgrade the Kernel" to some other version.
Macs have hugely nonstandard firmware implementations, from EFI to SPI to Thunderbolt. You should always treat running Linux on Apple hardware like building a Hackintosh. It's not remotely in the same category as support for normal PC hardware.
I'll note my current up to date 2019 Mac running OS X currently wakes up immediately after putting it to sleep, so it's not like OS X or windows are immune from this kind of thing.
When the 'fisher price' laptop is light years better battery, better trackpad, better power management, better build quality, better screen than the $2k+ PC laptop competitors, what does that say about the state of PC laptops?
No touch screen, makes Mac productivity 4/10 at best. Whilst it might look good I'll take the extra functionality of touch and pen input on a screen that looks good over a screen that looks barely noticeably better but lacks this function any day.
Yeah I was like that a few years back. Now I flip laptop screen over on its back like a giant tablet. Use it for signing docs, drawing rough interface plans & ideas, sketching out flow charts, producing diagrams, brainstorming with clients or co-workers, demo'ing or testing handheld tablet/phone apps with a interface closer to what they will use themselves, reading books & docs and so on. Probably only about 5% of work time if even that, but hell I hate laptops without it these days. The ability to do these things makes work a far more enjoyable experience. I like the added freedom of a laptop that doubles as a giant tablet with enough actual grunt to get stuff done.
Yeah this. I pay for the WHOLE THING to work, not just bits of it, depending on the whim of the QA job someone did at a distro vendor. Been burned too many times.
And now we have the M1, sorry but I don't want to know on the hardware front unless Intel get anywhere near it.
Yeah this. Their managed services were absolute dog shit. It required me emailing a filled in word document template to someone to get a firewall change done and then they would fuck it up. Eventually I'd get whichever engineer they had on the phone and talk them through how to do it. One firewall change used to take me at least 3-4 days to get through.
Now using AWS WAF which admittedly costs more but not in wall clock time!
I recently bought a Lenovo windows PC to run some software I needed that was windows only. It shipped with windows 11 Pro. Figured it wasn't going to be any worse than the win 10 Pro I have to eat on my corp laptop. So I fired it up and was disappointed and though all the crapware was vendor installed. So I did a clean install of windows 11 pro from microsoft. Actually it was WORSE than the vendor shipped version.
It is supposed to be a professional operating system but really you're being force fed dog shit because you have no choice.
I spent a couple of weeks migrating all my stuff away and will sell the bloody thing on ebay when I get around to it.
But, I bought an Aya Neo as a mobile gaming PC, which never worked right with Win10. Like, really fucking weird shit that should never happen. External keyboards and mice not being able to load a driver kind of weird shit. I considered doing a fresh install of Win10, but decided, hey, Maybe I'll upgrade it to Win10 Pro via my ample MSDN licenses I get through work, and then do the Win11 upgrade.
Worked like a charm. Fixed every issue I had. Who knows why!
Anyways.
Win11 isn't bad after a year+. The stuff that gets in the way is the dumb shit they do with Windows Explorer to move options out of the way for power users. Think: All the cool shit you have set up when you right-click on something in Explorer.
I have also turned off all the telemetry options using WPD. No ads anywhere, and some of the stuff which is built in is pretty great: Windows Terminal, Tabs in Windows Explorer.
I find it to be a mixed bag. I don't hate it. I still prefer Win10 so far, but far less so than a year ago when compatibility issues were there.
Registry hacking is a moving target. They will auto update you into "accepting" spyware again. You need Windows Enterprise to actually disable that stuff.
If I needed a Windows machine I would stick to 7. That feels like before MS went Google.
It’s a desktop and I’ve got a MacBook Pro already. I quite frankly despise Linux on the desktop after trying to use it yearly for the last 25 years. Server fine. Desktop no thanks.
My only superpower is knowing what fad is going to make a stack of cash and riding it. The only thing I've actually honestly believed in and honed recently was Go programming.
I've done a wide variety of things. I try to keep two disparate things on the go. Visual Basic between 1992-2000. C# between 2002 and 2015. SunOS/Solaris admin 1995-2002. SQL Server 1999-2010. Linux admin 1998-present. Python 2005-present. Cloud infra/AWS 2012-present. Go 2015-present. I also did some random PHP and Perl things for stupid money in the 00s. Now I'm Linux, Go, Python, cloud infra.
What I really want to do is be locked in a room with a niche project I can look after until I'm dead a this point. But that ain't gonna pay the mortgage off...
I too have recently started diving into Go in a more comprehensive way. Any ideas about why it seems to you right now is a good time to cash in on golang?
My best guess is the ascendence of Kubernetes has made reading Go rather instrumental; and as a by-product, writing Go seems much more approachable.
Not GP, but: Critical mass. Accepted in many domains as a valid first class solution. Memory safe. Has that depth of modules now that you can `go get` most things off the shelf. Easy to get a team up to speed, leading to wide adoption.
It is like the Python of statically compiled languages to me, but with way more safety rails and things you need as your code base grows.
There is just demand for it in general from what I see.
I'm not really cashing in on it. It has become my sidearm. I think that's the best way to describe it. When I want to solve a problem it's just there, trustworthy, reliable and efficient.
What it does is allow me to circumvent demotivating and productivity draining pain which is seen elsewhere which is pretty much summed up as: shitty build tools, runtime environments, libraries, containerisation, IDEs, concurrency approaches, test frameworks.
Really it's a tool that allows me to actually get stuff done.
It's pretty much what I've wanted for years: a memory safe, GC'ed C with a stdlib that wasn't conceived in the 70s.
Just before COVID I did some lowish volume selling on eBay of an imported official product. They are "second sourced" aka "badly cloned" by a couple of Chinese crap shifters as well. I had to fend off various counterfeit reports and even people in China buying them with shill accounts, then cancelling the order until my listed stock was depleted. My eBay account was suspended twice within a month.
Eventually I gave up but I decided I'd spend a few months trashing the market first so I ran a selenium job daily which went and reported all of the drop ship sellers for counterfeit goods. That was incredibly effective. But really I would never get into a fight with a Chinese drop shipper again. I sort of broke even with difficulty. There were no gains.
I'm in the UK and I tend to not bother with Amazon myself now because it is an ocean of garbage which is difficult to find anything half decent on. I tend to go to Argos who have same day delivery that actually works for a small fee on most products or hit the local supermarket. I couldn't possibly consider entering that market as a seller based on the absolutely shitty customer experience.
I use AWS during the day and the quality there isn't much better. The whole org needs a quality and honesty shakedown.
The market is definitely open to an Amazon competitor which has a store front not chock full of garbage, a decent logistics network, returns policy and reasonable pricing. All I hear is people complaining about Amazon's mindset monopoly.
>The market is definitely open to an Amazon competitor which has a store front not chock full of garbage, a decent logistics network, returns policy and reasonable pricing.
We already had that before Amazon took over, and we still have that today. In the US, Target and Walmart fit that description, as does Best Buy for electronics. Walmart has long had a reputation for poor quality products, but they're practically a luxury store compared to the trash that fills Amazon these days.
Problem is none of them can keep up with Amazon on shipping times. My tire pressure gauge broke yesterday morning and I had a new one on my porch by 6pm. Amazon may just be AliExpress with faster shipping these days, but faster shipping is a big deal to people.
Argos here in the UK can. Same day delivery which is reliable (unlike amazon!) or you can actually go and pick stuff up usually immediately at actual retail stores. And it's mostly the same price as Amazon now as well.
I left my toolkit in my wife’s car and needed a pair of pliers. Ordered from
Target, and a person handed it to me in my car in my way home from work about 90 minutes later.
I buy so little that when I'm buying something (not food) it's because whatever I have is broken, and it's something I need. I may be in the minority, but when something breaks, I want (or need) a replacement ASAP. I've got enough stores within driving distance that I can usually replace something same or next day, but I'm far enough 'out in the sticks' that the only place that will deliver 'same day' is amazon (and that only started for my neighborhood in the past 6 months or so).
Oh it was dead easy. I just wrote something in selenium python which ran the search daily and went through each item, checked the seller was China based, checked for a missing keyword in the text body and opened the report item form and filled it in!
Took me about an hour to write and an hour to futz with chrome webdriver.
This was fuelled by rage and a can of red bull. A dangerous combination for revenge.
Hilarious and appropriate tagline. You’re doing the Lord’s work :)
And thanks for the other details. Since you didn’t mention Python at first I was trying to figure out if it was some kind of new built-in script language, or Node, or what.
> a store front not chock full of garbage, a decent logistics network, returns policy and reasonable pricing
All this is so much easier said than done, that if you did that, you'd have an Amazon-sized company. You'd also have a huge brand. Of course, then the temptation would be to list cheap Chinese crap to easily capitalize on your brand's value.
Amazon was a great company until it got MBA'ed. Thankfully they made online shopping mainstream, so you can now buy direct from reputable businesses who have not yet stepped into the brand-dilution trap.
This is assuming you have a competent infrastructure and networking team, which is expensive. Lots of middle managers don't like hiring engineers that earn more than they do. It defies the pecking order.
If you go all-in on cloud, you now need a team of cloud experts and you are beholden to whatever pricing strategy AWS/GCP/Azure deem appropriate in future.
It's also a terrible deal for the engineers who have to learn all this cloud stuff - instead of learning general computing, you learn how to work with vendor X. If they change things, go out of business, or get too expensive, that knowledge becomes useless.
If computing is a core part of your business, you should get good at it.
Easier to hire lots of low paid people than a few highly paid engineers. I don't dispute that TCO including labor is generally higher with cloud infrastructure.
+1 for just using Argos or a similar store instead. It takes too long on Amazon to weed out the AliExpress tier stuff and ordering certain things like high value electronics from there is just way too risky.
The mere curation of products has become a highly valuable service, saving you money and time.
I already started using ChatGPT to solve problems because I can’t be arsed to read through ten vendors worth of documentation. It wrote me a fairly complete and accurate chunk of code the other day to solve a problem.