• 0 Posts
  • 12 Comments
Joined 2 years ago
cake
Cake day: May 14th, 2023

help-circle

  • yeah, where else do you expect self published authors to make their mark?

    I’ve extremely enjoyed the self-pub route so many authors can take these days. Some of my favorite series come from people who didn’t even want to bother with the traditional publisher and I am so much happier for it.

    So I mean, if you have some alternatives for self published authors to reach a broad audience with a minimum of fuss, that’s great. I’m just not seeing a valid replacement, myself.

    edit: that said, some are dumpster fires in a pit of eternal despair. but I’m a big boy, I can figure that out for myself.


  • I think it’s easier and less risky to bank on a whole-ass isolated OS than it is to bank on making sure you have perfect coverage and mitigations in place for every possible module that ships with conda (not miniconda). But honestly, they could just require that Hyper-V is allowed if you want Python in Excel and offload it into a tiny little excel-hypervisor-daemon, same as they’re doing in the cloud.

    Ultimately, it’s all just us reading tea leaves tho. I don’t feel super strongly about any of the hypothetical motives talked about in this thread - not even my own. They’re all possible, and reasonable people would make different decisions based on their priorities, and we don’t even know what the priorities were of the team that decided to ship this. I mean, obviously they want to make money; but making money can be done by asking your customers to pony up more, or it can be done by having a strong degree of confidence that you won’t get your ass handed to you when an xslx doesn’t tap into cortana tts and try to extend your car’s warranty or whatever. Maybe it’s both. Maybe they want to start shipping Python with Windows but it isn’t ready yet, so they’re doing this Up There for a bit first. Or none of these. My goal in my initial response was just to say “it could be this too”, in reference to the “there is no possible other explanation”. There is a possible explanation. Heck, I gave you two new ones in this response alone! I only submit it as an entrant, not necessarily as the frontrunner.


  • I feel like you think you’re talking to a different person than I am. My work computer is a linux box, my work IDE is either Jetbrains CLion or Pycharm, and my 40-hour-a-week-job is writing open source software that I release on behalf of Microsoft. So, yanno, if you want python libraries for graph spectral embeddings or approximate nearest neighbor algorithms, that’s me.

    The only thing I know about Visual Studio is it is distinctly not built for me, and I don’t use it. I wouldn’t know the first thing about creating a project in Visual Studio, because in the last 7 years I haven’t created a single one in it. Gradle and Kotlin or SBT and Scala, sure. Python and pip, sure.

    My problem with Python has nothing to do with the language itself. It has to do with the packaging. Remember that bit about me releasing open source software for Microsoft? Yeah. I’m stuck doing a lot of the packaging.

    Friends don’t let friends use Python, because then they’re complicit in the frankly inhumane conditions in the pypa pit of eternal despair. Hug your numpy packager today!




  • They could easily vendor python in the excel distribution if they wanted to, though. In fact, it would be the smart thing to do from their perspective; expecting people to keep up to date python versions (and what counts as up to date and what counts as a needless forced upgrade just from typing import List for your typehints turns into : list is super plausibly arguable.)

    I can’t love python after all the pain and suffering I’ve had to go through packaging things from extension modules. I’ve never had a worse experience with computers, and I used to write coldfusion and java swing for money, so that’s fucking saying something. The entire distutils ->setuptools->build/PEP517 + bdist vs. sdist is the least gratifying work in my entire career, by far. It’s not even interesting, it’s just shockingly poorly documented and your only plausible solution is “try literally everything and see which things work”. I shouldn’t have to fucking emulate a quantum computer just to ship a fucking bdist.


  • If you read the release, each spreadsheet gets to run in it’s own isolated container in a hypervisor system. You literally have separation of information at the file level, which is good. But I absolutely agree with you that if you store things in the cloud, you don’t own those things, you give them away and lease that access back under restrictive terms. I don’t find it to be worth it, but countless other people disagree with me.

    If I’m to get on my soapbox after all, I’ll just say this: Use json or jsonl, use polars, use jupyter and seaborn/matplotlib-pyplot, keep your data lolcat, and never open Excel again.

    Edit: unless someone sends you an xslx and you need to convert it to csv before you transform it to jsonl. If someone has a cli that’ll turn xslx -> jsonl directly I’d be so happy.


  • Full disclosure, I work for MSFT, but I do not speak for them. I fucking hate python and am forced to write it a lot while working here, but I want to suggest there’s a complementary technological reason for wanting to run it in the cloud. This isn’t to say that MSFT will stand to make more money if you are using their cloud services, and I don’t have any insight at all into the “gib us money plz” side of this business.

    The reason: One of the biggest headaches for IT depts has been attack vectors through office productivity suites. Download a sketchy excel spreadsheet from someone, and suddenly custom macros are purposefully creating avenues for attack, or are attacks themselves. Ken and Debra in accounting aren’t security people. They got a spreadsheet from an email that seems superficially plausible, so they pop it open. Suddenly, your entire org is ransomwared just because two people who are just doing their normal duties get tricked.

    That’s why the ol’ VBA shit and all those fancy macro systems from the past got neutered. Sandboxed and isolated, removed entirely, whatever. But a good feature gets lost.

    Enter The Cloud, or in other terms, “Someone Else’s Computer”. As in, someone else’s computer out there, far from your corporate network, that has no ability to reach back through your security perimeter and have a rummage around your business guts. The worst thing that will happen is the attack-vector-spreadsheet, itself, might be compromised. Or Microsoft’s cloud computers, which are, again, not your computers.

    Anyway, that’s honestly a great reason for it. And there’s also the business cat reasons, which I don’t like in principle; I always begrudge businesses their attempts at squeezing us for more and more every single fucking day. So anyway, it probably isn’t worth it to the average home user, but IT departments are going to be thrilled, even if the tech budget is going to get even fatter paying for all these users using someone else’s computer.

    I have strong opinions about home users who can write Python already but choose to use excel, but I’ll keep them to myself. They’re elitist and basically just me being a little shit, so… you do you, boo.



  • My natural inclination is toward black gallows humor in situations like these, but I have to keep reminding myself that a lot of people are going to get harmed and laughing is an unacceptable faux pas.

    I also have to remind myself that “not knowing what to do with all these feels” may result in unhelpful reactions.

    Yet I still want to stand on DeSantis’ head and shout “what the hell did you damn well expect you fucking troglodyte”. Feelings are tricky.


  • correct, but now you’ve just identified two separate types of tearing, both happening at different times. put them together and the perceived frequency will be significantly worse than it was prior.

    being able to zero one of those out and only worry about the other means you can hopefully optimize a better solution - as much as one can when you can’t realistically atomically update the entire display from top to bottom.