HNHacker News
TopNewBestAskShowJobs

tolmasky

10,734 karma · joined October 1, 2007

http://www.tolmasky.com

@tolmasky

submissionscomments
tolmasky··on Joint statement by the Department of the Treasury, Federal Reserve, and FDIC
It’s also never adjusted for inflation, despite this mess in theory being triggered by raising of interest rates due to super high inflation. 250K when it was set in 2010 is the equivalent of almost $350K now. If we ignore that, then we’re just admitting the number is totally arbitrary and we shouldn’t even bother arguing whether it’s a lot or a little.

Separately, it’s weird that a joint account is insured to 500K but a business account stays at 250K. It actually does weirdly favor wealthy individuals vs. working capital accounts for businesses that might represent many employees.

tolmasky··on Joint statement by the Department of the Treasury, Federal Reserve, and FDIC
I think you are wrong to not keep doing this (and I also don’t believe you’ll stop doing it unless it’s actually hard to continue doing, vs. the initial setup being difficult). I can tell you that after this I will start doing it. I don’t see these events as proving anything for the future. I have no idea what the political climate will be next time around, or any other factors. It’s like being down 9-0 in a soccer game and saying “hey, remember that one epic game we were also down 9-0 but then came back 9-10? Everything is fine.” What? No way. I don’t want my team down 9-0 at the half, ever.

BTW, in my experience many many people are risk averse in specific things they see that others don’t. It’s super hard to be an expert on everything. Talk to someone that knows about construction and they’ll have similar laments about home maintenance. Is it bad to “bail out” people that have their homes washed away in a hurricane? I honestly don’t know. But what I do know is that I’m definitely not jealous of them for making a silly location choice and “not paying the price”. That experience is not fun. I promise this episode was fairly disruptive even with this outcome. It is much better to look on from the outside than wonder whether a bunch of people you don’t know will save you. You’ll feel really bad if the next one isn’t bailed out because something is different and it gets you because you stopped doing something that aligned with your values just because of this thing this time.

tolmasky··on Yellen says government will help SVB depositors but rules out bailout
> Headcount and age. Etsy is a +1,000 employee company that's been around over a decade. Practically bedrock by Valley standards. I personally draw the line between "small" and "big enough to know better" at 100+ employees (around where the EEOC draws the line for mandatory reporting). I acknowledge people may disagree on this topic; that's where my line happens to be.

To be clear, Etsy is not my concern here. They will probably survive just fine regardless of whether we deem them to be responsible or not. That's part of the point. The sole question was the sellers, and trying to examine why they inspire more sympathy to similar-sized companies that may be directly banking with SVB. Hence my question of whether the mere existence of a legal entity is the difference, given that in fact many Etsy sellers do of course have simple LLCs set up. I would fine "Hey, Etsy sellers need to look into Etsy's bank to be responsible too" consistent with "3 person YC companies need to be responsible about the bank they choose", or acknowledging that's a tall order for both. But not one and not the other, was my only point here.

> Yes... That's what SV just did to its ecosystem due to over-reliance on one bad bank because "optimization is king" is the mantra of the whole machine.

If it puts your mind at ease, I think the result is going to be the same regardless of what happens to depositors: everyone now will try to spread out their money and sweeps will become part of startups 101, etc. In that sense, the system has worked: the irresponsible bankers are being punished, they and their investors lost their bank. I promise no one is going to wake up and say "well, glad that got magically solved" and not be super paranoid going forward. If anything, if depositors aren't made whole, this particular demographic is more likely to, to your point, over-optimize in that direction (perhaps create investment vehicles to short regional banks or something, who knows).

tolmasky··on Yellen says government will help SVB depositors but rules out bailout
That's not the situation here. Etsy holds seller payments in SVB in an account, that yes of course, is probably above the FDIC 250K limit since it represents the amount to be paid out to hundres if not thousands of sellers: https://www.nbcsandiego.com/news/business/etsy-warns-sellers...

Without derailing the discussion into whether Etsy "should have known better" (which to be clear is an argument that would be made in a simplified vacuum given the complexity of them probably just being an intermediary between a credit card processor and the sellers and thus it being fairly logistically complicated to set up that intermediary as some sort of multi-bank-account system or whatever), but regardless, even if that is the worst way to do it in the world, the point is that that's not the individual sellers' fault, and they shouldn't be punished for it. Again, as I mentioned in my comment, the position that "Well individual Etsy sellers should really do a financial analysis on the host platform's bank, quarterly, to account for interest rate changes, and if they independently conclude that that bank is unhealthy, they should pull their store off Etsy and... ???" is a bit hard to swallow, and I'm not sure if a world we really want to create.

tolmasky··on Yellen says government will help SVB depositors but rules out bailout
> I hope so. I don't expect the sellers to have done anything different. Corporations, however, have a responsibility to manage their finances effectively.

Just so I understand correctly, if the seller has an LLC they made through legalzoom.com for their Etsy bowl business (which is very common and highly recommended), then does your sympathy for them immediately evaporate since they now have a “responsibility to manage their finances effectively”? Why exactly is the Etsy seller off the hook in this scenario? Is it a headcount requirement? If the Etsy seller LLC is 3 people (two sisters and their mom), now are they irresponsible for using Etsy? Are all those 3 person startups in YC different somehow? Only in that they make “useless” things and the Etsy people make “useful” things, and that translates to whether a corporation needs to be responsible?

> Here's the question. Now that this happened, do the rest of us just accept that this is how it works? Because if we do, nothing changes, and we just get to sit back and wait for the whole system to unspool again.

Accept that what is how it works? It depends on the solution. If the solution is providing temporary backstops to depositors so that a sale to another private bank can be more attractive, then I don’t think that’s anything earth shattering to accept? Especially considering it would probably result in a private solution happening faster at little to no cost to the taxpayer. If congress empowers the FDIC to claw back SVB share sales to help make depositors whole, I think that’s also not anything that people would have a problem accepting? Like part of the problem here is that completely different parties are lumped together and in this fury the only acceptable answer is “no help!” No one is arguing for SVB to be bailed out. Those shares are going to zero. That is a sufficient market result. Enabling a bunch of assets that still have value to be maximized to avoid the philosophical dilemma of our Etsy seller doesn’t seem to be the “end all” nightmare scenario it’s being chalked up to be here. If anything, maybe the focus should be on plummeting interest rates to zero making precisely the kinds of “full liquidity paid for checking accounts” become an endangered species in the first place. Or maybe then raising rates at break neck speed despite having questionable results on the inflation they’re targeting, while clearly affecting random pieces of the economy.

> Or, we could stop treating the machine in California like it's better than a Vegas slot machine for most players and start building something better.

It seems like choosing a random 30% of Silicon Valley companies to put in hard mode is a close approximation to the Vegas slot machine than fad imitating zero interest checking accounts that were in no way high risk irresponsible investments that had the chance to wildly benefit the depositors if the bet would have “paid off” vs. if it crashed to zero. Especially given the high likelihood that there are sufficient assets to make depositors either whole or almost whole, it seems even more the case that those disproportionately affected will be workers, and not companies. Not to even mention the fact that those most responsible (Thiel) aren’t going to suffer, nor are the mega tech companies that can easily survive this, and may even end up just absorbing some of these companies and consolidating even more.

I am super curious as to what “something better” looks like though. Because right now, the world 6 months from now where a random subsection of tech and wine workers had their year ruined, while big tech companies and VCs are still doing just fine, doesn’t exactly seem like fertile ground for whatever amazing new system you have dreamed up.

tolmasky··on Yellen says government will help SVB depositors but rules out bailout
It really sucks for Etsy’s sellers so maybe… Etsy learned a lesson? Here’s the confused lesson by association argument again. The majority of your argument is around learning lessons, but you momentarily acknowledge that perhaps there are in fact people hurt here who it would be hard to accuse of deserving it due to a lack of due diligence, but you then immediately resolve the cognitive dissonance by reassuring yourself that perhaps that will make the lesson Etsy learns that much stronger.

The majority of your argument revolves around the idea that only rich people in this “rotten system” will be affected, or that this is an important lesson. When it’s pointed out that there are many types of employees who aren’t rich, you say they don’t count because they’re contractors, ignoring that even if true, which I’m not necessarily granting, it still doesn’t matter since that contracting job will still probably disappear and there is a high likelihood that they can’t just be immediately positioned somewhere new. The rich developer may have an easier time landing a new position than the cook getting a new shift from the contracting company somewhere new. But I suppose that’s irrelevant, because the point about cooks being contractors actually had nothing to do with the topic at hand of whether they deserve to be colateral damage. Rather, it was meant to derail the conversation into a long digression about how these contracting agreements further prove how “rotten” these startups are… and thus deserve to learn a lesson about treasury performance.

tolmasky··on Yellen says government will help SVB depositors but rules out bailout
Besides the trivially obvious recognition that people other than engineers work at companies (cooks, janitors, HR, etc.), realize also that, for example, Etsy’s sellers may be affected since the account used to pay them was at SVB. Of course, I’m sure someone here will explain that obviously some lady selling bowls in Michigan should have done due diligence on her platform’s bank of choice to make sure that they didn’t have any maturity risk. Anything short of that really just fundamentally represents business incompetence and deserves to be wiped out since Peter Thiel decided to cause a run at the bank two layers removed from her. But that will teach the correct lessons and punish the right people! Clearly Thiel should be rewarded for prudently advising everyone to remove all funds, while janitors and craftspeople on Etsy alike will finally learn the importance of marking to market treasuries.
tolmasky··on All you may need is HTML
I love that you went with easiness to read and not "wait, how does anyone navigate on your site without links in plain text files?"
tolmasky··on All you may need is HTML
You may not even need HTML. HTML is subject to different renderings on different browsers, confusing features that may not be supported on different browses, and may tempt you to use JavaScript (which can throw "errors" if written incorrectly).

If you stick to text files, you'll never have to go to caniuse.com ever. Need styles? Just make a PDF and throw that online. During the "XML HTML" phase the web went through, I never had to worry about validating my PDFs through an XML validator. Then when everyone decided using "<b>" and "<font>" tags was bad and insisting we switch to using "font-weight" CSS in a completely unrelated part of the file, guess what I had to do? Nothing! My PDF keeps rendering exactly the same way through every silly "trend" and "update" on the web, and never misses a beat on Lighthouse in Chrome.

Now if I could just convince all the browsers to implement .docx renderers out of the box, I'd really be set.

tolmasky··on “Pigeon Neck” Illusion (2014)
Hey, this is built with Cappuccino!
tolmasky··on Proposal to move 11 Oregon counties to Idaho
Great! I am sympathetic to arguments around limiting state and/or Federal powers. But the reality is that that is actually less and less often the actual goal. Instead, the goal has become to have "the other side" dictate what goes on, often by trying to incorrectly portray it as an equally large "disenfranchised" side. We can tell this is the case because there is less and less discussion about "protecting minorities viewpoints," as we can see in this very article that can't help itself but to try to portray this issue as "half the population" throwing up its hands and wanting to leave.

This inevitably leads to the actual problem we have in this country: minoritarian rule (that should be obviously worse than majoritarian rule, but again, gets disguised as the "actual majority" or "equally populous opposition" getting a say). If you look at the composition of the supreme court and the senate, along with the contribution to the electoral college from states in presidential votes, it's pretty clear that what gets dictated is lopsided to smaller percentages of opinion, not larger. At the current rate, we are on track to have 66% of the senate representing just 30% of the population by 2040: https://www.washingtonpost.com/news/politics/wp/2017/11/28/b...

tolmasky··on Proposal to move 11 Oregon counties to Idaho
> (If your governance is so bad that half the state tries to leave, you're doing something wrong.)" -- but if half the population of the state really wants change, then it should be able to do so with normal democratic functions, right?

I see we're still getting mileage out of the whole "population/land" duality, huh? The combined population of all the counties that have voted to leave so far is 205,000 (the red counties, not the grey and green, which have not voted so far), which, assuming the entire population voted to leave, comes out to just 5% of the population, not 50%. For the record, that's not even 50% the population of Multnomah County (the county that has Portland in it).

To be clear -- I have no particular opinion either way about whether counties should be able to switch states like free electrons in metal. In fact, I might lean towards it. I just don't see the need to repeatedly use the lamest, laziest, and cheapest rhetorical techniques in these arguments. For a group that loves to talk about virtue signaling, they sure like to "arguing-in-bad-faith" signal.

tolmasky··on Python 2 removed from Debian
No, you’d refuse to read the curl complaint because it’s too long, and instead arbitrarily decide that the entire discussion should hinge on issuing a challenge for them to find you one place where curl doesn’t work. And then when he does, you’d say “So what! No one wants curl there anyways!”

Afterwards you’d get involved in a long weird analogy discussion about two people arguing about git. But that fault would be shared by both of them.

tolmasky··on Python 2 removed from Debian
This is a fiction in your head. I’m not writing any manufacturer. I’m casually commenting on a forum that I’m pretty sure is not Python’s official complaint box. This is as ridiculous as yelling at someone at the bar who says “yeah, I don’t like to use Python that much”. The entire “thrust” of my “threat” to Python is that I’ll try to avoid it in the future. You’re blowing this way out of proportion. If I reacted this way whenever someone said something bad about JavaScript or Objective-C (which I promise you get way more “drive by” complaints), I don’t know what’d I do!
tolmasky··on Python 2 removed from Debian
> You can’t get node 0.10 on alpine Linux 3.17 from the official main repository. That 18.x/19.x. So you’re using a community one. And so, you could use a community python2 APK/install process. Except that doesn’t exist.

What a slight of hand to say "You can get it the same way you can with node, except for you can't". You should go into politics. Anyways, you asked me for a simple example, I gave it, and now you want to say what I want doesn't count because "no one wants it". Just choose a different challenge next time.

> thus you’re complaining that nobody else is maintaining this port for you.

I'm just pointing out a discrepancy with other environments. One you initially denied existed, and once I trivially pointed out did exist, you switched to attacking the complaint itself. Look, if I'm looking at two toasters and one has less features, sure, you can bark at me and tell me to make my own toaster if I want that so bad. OK, sure. Or I'll just get the one that has the features I want. You are still allowed to believe that those features are useless, but you can't deny they exist. It is OK for you to disagree with the properties I value in an ecosystem, you don't have to resort to telling me I don't know what I'm doing just because I value a different set of properties in the ecosystem.

tolmasky··on Python 2 removed from Debian
You are certainly making progress on the argument you believe you are having.

My point has always been simple: Python causes more pain than other languages when you're not directly using it. I can get node 0.10 on alpine 3.17 just fine. This demonstrates that your comparisons to server JS are completely wrong. But I know, you're going to tell me this is my problem and I expect the world to do work for me or something. Nope. As I've repeatedly stated, I've taken the time to get it to work already. I know you want to believe I'm here waiting for you to fix it, but I'm not. All I've said is: "Huh, I don't have this problem with anything else. I'll keep that in mind before I decide to use stuff from this ecosystem in the future".

tolmasky··on Python 2 removed from Debian
Sure, can't get python2 in Alpine 3.17. Few enough words for you?
tolmasky··on Python 2 removed from Debian
> Avoid writing huge, long rambling comments and try to simplify your arguments to less than 100 words. You may find the fault, and the fix, becomes obvious.

If you don't want to read the comment, then also don't bother responding. The comment is long because I am explaining a death by a thousand paper cuts situation. Don't worry, Python isn't going to die just because I don't like it. You don't have to defend Python even if you don't feel like reading my comment. You can also just ignore it or come back to it when you have time to engage with it thoughtfully, instead of just asserting you are correct and having your only argument be that I can't fit my argument to the arbitrary word length you've come up with.

> Those where the first that came to mind. There are many others, and many more if you widen it to server-side JS.

You should stick to talking about Python. This is just not the case and not the culture of browser JS. It's honestly fairly disrespectful of the monumental work browser engineers have done to make that a reality. If you want to switch your argument to server-side JS (where blink and alert don't exist and you are thus leaving it completely as an exercise to the reader to come up with the similar situation), fine, but node 0.10 runs exactly the same today as it did 10 years ago. Again, the bar I am setting is low: have the unchanged thing still gettable and still runnable. I get it. When you work in a certain environment, you imagine all the problems it has must be common and all the benefits are unique. But that isn't the case with this particular problem.

tolmasky··on Python 2 removed from Debian
> However that's not what you're complaining about. You are complaining about is that you want others to support python2 forever, just as you may want browsers/sites to support `alert()`, the `<blink>` tag and IE 6.0 forever. However that's not how the world works.

Incorrect. You have to understand that I am not a Python user, and don't a priori care what they do with the language. I only become annoyed when something breaks on its own, or if changing one unrelated thing breaks other unrelated things. This happens for a variety of reasons:

1. Either date-based breaking, or patch releases designed just to throw up deprecations, and breaking the tools you actually use.

2. Packages and or binaries disappearing from package managers, such that even if I have a pinned version and I make no changes, an accidental cache invalidation can now break the entire image.

3. The fact that updating one utility may break others (either because you need to figure out this python symlinking issue or whatever).

4. Python causing discontinuities that don't exist in other bundled build tools. Going from buildpacks:x to buildpacks:y, to get a new feature in A, usually doesn't affect B, but in the specific case of Python, means the installed version might change and break a bunch of stuff.

5. Python 3 changes often being bundled with breaking API changes in app updates, making "upgrading to Python3" a uniquely involved challenge for each one.

If you deprioritize "fault" for a second, such that we're not deciding who's to blame here (whether it's the transition plan by the language devs, the library or app authors, the distribution handlers, or even end users like me), you have to reconcile the fact that this is a unique situation to python. I am not describing the woes of development in general. I am describing a very python-specific set of experiences for non-python users. I did not out of nowhere decide to get angry at a language I don't use. This is the result of a repeated set of circumstances that just aren't happening elsewhere.

As has been mentioned throughout this thread, it is further upsetting that a lot of this could have been avoided. The fact that there are things that could have been done differently to make the long tail effect less painful is fairly disappointing. At the end of the day, I don't need a list of solutions. I've implemented them all, don't worry. I've gone through and read the 500-thumbs-upped threads of people repeatedly running into this exact same problem, either found an easy workaround or taken the time to update the config files for a tool that rudely put itself at the front of my priorities list in order to fix the build, or found a way to remove the utility in question completely. This is not me coming on here trying to figure out how to move forward. This is me identifying a clear pattern, and sharing what I believe to be is a common conclusion: putting "python" in the "cons" column when considering a tool.

I come from the node world. There's plenty of people that do the same for node. Some of it I consider fair, others not. But I make no illusions about one fact: if we want to change that perception, it's up to us to earn that by making the experience better going forward, not by explaining to people why their experience actually isn't real. For example, if there is a simple solution, if you just were familiar with the ecosystem, then LOG IT WHEN THE ERROR HAPPENS. If the person has to go to stack overflow and see a thousand other people running into the same thing, then you've failed.

> However that's not what you're complaining about. You are complaining about is that you want others to support python2 forever, just as you may want browsers/sites to support `alert()`, the `<blink>` tag and IE 6.0 forever. However that's not how the world works.

This is also hilarious since you had to scrape the bottom of the barrel to find the only instances of "non backwards compatible" features in JS/HTML, an environment notorious for backwards compatibility. Also, `alert` may still stay in.

tolmasky··on Python 2 removed from Debian
> Take some ownership of your problems, even if the ecosystem provides them -- they are chosen, and can be managed.

Not sure where you're going with this. I didn't whine to someone else to fix it. I did take ownership. Over and over. I fixed these problems, as unrelated to my main goal as they were. I then complained about it after the fact. Seems like a totally fair ordering of events to me.

Separately, I will state that Python is an environment that seems to go out of its way to make it hard to meticulously manage dependencies if you want to. There's all sorts of competing environments and package managers. I'm sure it's straightforward if that's your main environment, but it doesn't help if you're coming form the outside.

> Those should be routinely addressed as part of your auditing, along with the whole of the supply chain

This assumes that the only available option is "manage this dependency better". That's not the only option. There is also "consider using something different that is easier to manage." Most of these utilities exist in a competitive market. And if there are utilities that allow me to choose the cadence and separately make that auditing simpler, then I will choose that. That is the point of my statement. I am not choosing to go on a hunger strike or avoiding some no-other-choice tool. Quite the contrary, a lot of these tools were chosen by other members of the team at some point, either because it's what they were familiar with or some other unimportant reason, and now they have, to their own detriment, made themselves the squeaky wheel, and opened up the range of possibilities to everything from "put in the work to maintain this tool that has currently demonstrated itself to be brittle" to "maybe I should use something else". Generally speaking, it's a bad thing to only draw attention to yourself when you are doing something bad.

> can't really prescribe much... this is just generic advice.

And yet this is a specific problem.

> I understand the woes, it's just not as unique as this is painted

It very much is unique. I'm literally not experiencing this with any other language that I don't directly use. Do I experience this with the libraries I directly use in my language? Of course. I signed up for that. I know the risks I take using beta builds and have a keen sense of the current internal transitions, etc. But I absolutely do not become aware of the latest argument in the C++ language spec, or a contentious Swift proposal, or end up becoming vaguely aware of the string implementation choices of a language I don't use. That is a unique Python thing. The fact of the matter is, Python has (recently? momentarily perhaps?) proven itself to require more maintenance than other tools I use. The community can decide who's at fault for this (language devs, library devs, end users, whatever), and even whether or not it matters, but if the message to the people outside the community is to deny that this is unique or troubling, then don't be surprised if the way they choose to take ownership is to count Python as a point against a project they are considering to use.

tolmasky··on Python 2 removed from Debian
It's always amusing when the other person has to fall back on "The tricks on you! You invested time talking to me, while I deviously spent way less time and put less thought into my arguments. Don't you feel foolish now?" No, not really. As it turns out writing a couple paragraphs does not meaningfully impact the progress of my other work. And I would assume that's the case with most people.

Maybe one day you can get past DH0: http://www.paulgraham.com/disagree.html

tolmasky··on Python 2 removed from Debian
That is precisely what happened: I don't write Python (grandma doesn't write JS). Python changed (JS changed). Environment stopped supporting the old one (browser for grandma, package manager for me). End-user apps didn't keep up (website for grandma, the apps for me). I am now forced to go resolve these issues. This is 100% analogous. Please explain how it is not. In both scenarios you would blame the "app developer" (in the Python case you would blame app/library developers for bad dev practices or whatever, in the hypothetical you would blame the website developer for not updating the crossword page), and the end-use for being entitled (in my case, the user of various apps that are broken, and the grandma using the crossword website). You supposed solution is that we should either not complain, or I guess, ironically, just learn the base systems better to be more on top of things so we can compensate for the bad dev practices ourselves.

Also, I am not "trying hard" not to care about Python. I specifically said in my very first comment I go out of my way to avoid it now. I think that falls in the "cares" category. My default state is to not be aware of what language things are written in. I don't know if some given tool is written in C, bash, or JS. If I were to coincidentally learn what language it was written in, it might serve as a curiosity, but not really phase me either way. However, I was forced to become aware of a bunch of Python stuff since it started breaking, and then forced to learn about all the weird workarounds to get it working. Given that I was forced to repeatedly deal with dependency hell with apps in this language, I am now choosing to avoid it if I can in the future if I learn that an app is written in it.

tolmasky··on Python 2 removed from Debian
It's as if JavaScript had shipped a non-compatible update, browsers had on a magic day stopped supporting the old JavaScript, and all of a sudden her crossword website stopped working because that site's developer didn't update the JavaScript. This grandma sure complains a lot about broken websites for someone who supposedly doesn't know what JavaScript is. What an entitled grandma. Why doesn't she just build Linux from source and check out a previous release of the browser from git.
tolmasky··on Python 2 removed from Debian
That's the dream of containers. Arguably this is the "reality" of Nix. But the reality of containers is that if a layer gets invalidated, you need to refetch packages that are lower down. If the Python 2 versions (or Python 2 itself) is removed, then you can't "just" surgically make the change you want in the container without affecting the rest of the system (this is a major failing of Docker, but the world we live in). Now, you can start digging around in the container image and trying to do "layer surgery" yourself by editing the tars, but I would also consider that a less than ideal outcome of these changes.
tolmasky··on Python 2 removed from Debian
> I write a lot of Python code and don’t really run into Python 2 vs 3 issues anymore.

I think you are missing the key point here: I don't write a ton of Python. I don't write any Python. Of course you think this is old news. You write a lot of Python. You're totally plugged in. You've known this is coming, this inside baseball is "the thing" for you. My point is that, believe it or not, the rest of the world does not keep up to date with whatever the Python community is doing. This is not unique to Python. Most people in dev community X are not aware of what is happening in dev community Y. What is unique to Python is that all of a sudden we were forced to become aware as the downstream apps began to break. By creating a backwards compatibility issue in an interpreted language, you necessarily "backload" the end-user pain to when the apps, which by definition are updated later than the code within the apps, begin to break as packages are removed from package managers, or things are EOL'ed, etc. This is a situation that I can honestly not remember happening with any other language. I can't remember any other circumstance, and certainly not one where it proceeded to happen repeatedly, where I've been abruptly made aware that utilityX was written in a no-longer-supported version of C/perl/whatever (when I previously didn't even know what language it was), after I had been running it for ages.

tolmasky··on Python 2 removed from Debian
> I think you’re extrapolating unfairly

But that's exactly the nature of doing this sort of change. Again, I am not a Python person. This transition created an unintentional filter where the utilities with poor practices surfaced to end users, such that their only direct interactions with Python are always negative. So sure, the extrapolation may very well be unfair, but that is the completely avoidable situation they set themselves up for. No other language expects end-users of the programs written in that language to be sympathetic to some internal engineering transition. All this stuff may have great reasons, but you've already failed if you have to explain those reasons to non-Python users, or tell them this is confirmation bias or whatever. It's just not happening with other languages. And this is for big stuff too. Ansible, which uses 2 pythons, one locally and one remotely, was a pain. Add on to this that this was a fairly public boondoggle, that the makers agree wasn't handled well, so whether "fair" or not, this is a common take away I think.

tolmasky··on Python 2 removed from Debian
That was one issue I mentioned. You know that. You read my comments.

However, I will take your snarky reply and turn it into lemonade by using it as an opportunity to talk about how often development teams fail to consider the social implications of their changes. As is mentioned in another comment on this post, the Python team seems to readily admit in retrospect that they didn't predict the pain of having no clear transition path, etc. I think another lesson to take from this experience is the realization that if you create some big "line in the sand" update, you may absolutely inadvertently encourage bad development practices. If the Python 2-to-3 transition had held "ease of transition" as a core value, then it is more likely that that value would have been modeled downstream. By instead initially declaring that the 2-to-3 transition was going to be some watershed moment and people were going to have to update everything, it is not surprising that it could encourage people to just pull the trigger on a bunch of breaking stuff they wanted to do, and come to the (incorrect, but understandable) conclusion that they didn't themselves need backwards compatibility since the entire ecosystem was going through a "unique" non-backwards-compatible change anyways.

tolmasky··on Python 2 removed from Debian
It is hard to keep track of the (no joke) dozens of different weird failures each unique instance of this caused. But I do vaguely recall that sometimes, yes, you now have to go and point each individual utility at the right Python, or set an environment variable, or something. Other times you are relying on some combined build package, which if you want the one that has Python 3, no longer includes Python 2. So then you have to go manually install it. But it's no longer provided as an independent install by that package manager anymore, it was just a coincidence that it was still being included in buildpacks-whatever, so now you have to decide whether you want to figure out how to find and install Python 2 yourself or maybe just go and update everything else to Python 3 too or... UGH. Then you remember "Wait a minute, why I am I doing this, I'm not even a Python programmer!"

The worst part is a lot of times, since Python 3 is a breaking change, people decide that it's a great time to finally do all their breaking API changes too, so all of a sudden updating something to the Python 3 version means that all of its associated config files have changed format, and now you're updating config files that have worked great for ages and running into bugs there.

tolmasky··on Python 2 removed from Debian
As someone who does not use Python, the end result of this is that I now look into whether random utilities I use happen to be written in Python, and if so try to find an alternative. This is because I felt the pain of this transition -- again, as someone who does not program in Python. It has been miserable every time some random utility starts complaining that Python 3 is missing and then somehow when you install it something else that wants Python 2 starts complaining. You have containers that have worked for years that all of a sudden error out saying "Python 2 is no longer supported," and you have to dig up whatever library or utility that would otherwise work fine has some sort of date-based check or something? I don't know, all I know is a compiled C++ thing works the same yesterday as it does today, and I can upgrade on my timeline, not have a random Docker layer cache invalidation result in a week's worth of Python 3 migration in the least important part of my build. And it keeps happening, again, because this is not in stuff I directly edit, it's all in random dependencies and sub-utilities of utilities I install. So it is non-trivial to even go in with the mindset of "I will update everything on our systems that use Python". Although I guess if it's being pulled completely now that job will once again be done for me. Sigh.

I have this opinion about no other language. I am generally neutral about languages I don't use. But literally my only experience with Python is porting to Python 3. It's like a sitcom scenario of how to force the worst possible first impression for a language ever. The amount of slowdown and pain that Python 3 has generated on our non-Python project is really just out of this world ridiculous.

tolmasky··on In Canada it's illegal to call yourself software engineer
It makes sense why there's no software engineering then. If a requirement would be to have to learn about every software engineering disaster in the last 10 years, let alone the last 100 years, no one would have time to finish the course.
← PreviousPage 5 of 34Next →