2,811 karma · joined May 8, 2014
For what it’s worth, I don’t think changing a political stance should be considered “flip-flopping” unless it’s done for a self-serving purpose. Reevaluating should be considered an attempt to learn and grow. That’s why wisdom is often (but not always) associated with age and/or experience.
And I’ll do you one better:
US Supreme Court Justice Antonin Scalia, for all his faults (which are numerous), supported the 5-4 majority in a landmark case regarding flag burning.
https://en.m.wikipedia.org/wiki/Texas_v._Johnson
Imagine if Justice William Brennan, who wrote the majority opinion, said to Scalia rudely and dismissively “you don’t really believe in civil liberties, you’re only an absolutist on free speech”. It could have led to it being illegal today to burn the flag (which I don’t approve of on a personal level) - and presumably many other ways of expressing disapproval with how the US government conducts itself.
Retroactive shaming of anyone who was ever against your political position seems like some folks are devolving toward something even worse than cancel culture. The rudeness, as you put it, is not going to change my mind about the issue itself, but it does make me want to avoid the impossible-to-reason-with zealots.
I also don’t think of myself as a hero by any means.
Being a hacker and/or entrepreneur, even loosely defined, doesn’t imply you’re a conformist. In fact, I think what makes HN one of the most desirable places to engage with on the internet is that it’s less of an echo chamber than most.
As OP I agree that government has no business getting involved in these debates. But don’t you think insulting and ridiculing religious people, including those who agree with you on the general issue, is a bit much? You’re not really helping your cause by alienating those folks.
And let’s assume, for the sake of argument, that life does begin at conception. Isn’t the life and/or welfare of the mother also important? And who would you want making such a specific determination, a healthcare professional or Ron DeSantis?
> The revelation raises grave medical privacy concerns, particularly in a post-Dobbs era in which many states are working to criminalize reproductive health care. Even if people in states with restrictive laws cross state lines for care, pharmacists in massive chains, such as CVS, can access records across borders.
I was “pro-life” from as long as I can remember thinking about the issue (I still recall the Bush v. Gore debates) until I voted last month in favor of making free access to abortion a constitutional right in Ohio. It initially took some coaxing from my wife, who helped me try to understand the issue from a woman’s perspective, and for a while I had doubts about whether I had done the right thing, but reading about far-right shenanigans (or potential shenanigans) makes me 100% confident I’m now on the correct side on abortion.
Wherever power __can__ be abused, it __will__ be abused. I wish abortion was less common, and we should work on making it less common, but the last thing we need is ideologues and extremist politicians second-guessing healthcare professionals and harassing women in what is one of the most desperate times in their lives.
————————————————————————
Edit: reading some of the strident and confrontational comments from some of those with whom I actually agree on the issue, it’s clear that “the cause”, if you will, doesn’t always have effective advocates.
I have a fairly thick skin, some I’m avoiding engaging in a similarly mean-spirited way, but extremists (on both sides) are their own worst enemy. In the same way that I was pushed away from being “pro-life”, in part by far-right extremists, I imagine the extremists on the far-left are also losing friends and alienating people.
React and JSX were needed in 2013, but with the power and convenience packed into new ES standards and supported by modern browsers, React and JSX should be viewed as bloated polyfills at this point.
It’s really heartening to see things trending back toward single script tags that help you avoid build tools, churn, and dependency hell. To that end, I’m leaning toward htmx for my own project, but what you’ve come up with looks really enticing as well.
I’m very far from being a usability expert, but I think a good rule of thumb would be putting less-essential __digital__ functions like maps and audio in the touchscreen, but essential __mechanical__ functions like climate control (which includes seat heating/ventilation) be controlled by physical buttons, switches, sliders, and/or knobs. This makes it more intuitive and also more safe to control frequently-modified functionality while keeping eyes on the road.
I believe this is an essential safety issue, and it’s infuriating that companies with billions of dollars in resources and, presumably, lots of engineers and designers and usability experts with concerns that are probably ignored. Especially as cars continue to include more headline safety features (i.e. used to sell and even upsell) which are far more expensive than the components they’re skimping on. It’s very petty and irresponsible.
The US government has more or less abdicated its responsibility to keep corporate greed in check. Hopefully, the EU will step in and fill that void.
htmx is not meant to do anything fancy that you can’t do with Ember/Angular/React/Vue/etc.
The main motives for me deciding to go with htmx:
- No duplication of data models and routing, and all business logic stays on the server-side where it belongs.
- Locality of behavior: you can see exactly where a request will be triggered and what will be done with the response, so less jumping between files or scrolling up and down.
- No build step, no dependency hell, and no outrageous churn; just include one JS file that browsers should be able to run indefinitely.
I’ve worked at 4 different companies in the industry, ranging from < 40 person startups all the way up to JP Morgan Chase.
I reject the idea that “technical” folks are smarter than “non-technical” folks - in fact, as an engineer I often get caught in the weeds and lose sight of the big picture, and need a PM to help pull me out.
However, in my experience, the easiest PMs to work with as an engineer are ones who have at least __some__ actual exposure to code. Nothing fancy, it could have been building a website with HTML and CSS many years ago, writing some ad hoc SQL queries, or taking a Python class while doing a Master’s degree. __something__ that helps a PM understand that writing code is neither an exact science nor outright wizardry.
These PMs tend to advocate for the engineers they work with, or at least try to strike a balance between business demands and engineering realities. Those who get into PM with zero technical exposure tend to be more “business-oriented”, which may be exactly what a business needs at a given time, but not all the time, and as an engineer I would rather work with someone who has a better understanding of my perspective as well.
For what it’s worth, I also think Django needs a better elevator pitch, but Django captured me in 2010. I might try pushing for a home page improvement. Django does have tenure and mindshare working in its favor, though.
This backlash is quite understandable. I believe Ember/React/Vue/Angular/etc. were all created with good intentions, but with the ecosystems of bolted-on technologies and now-necessary build tools, they have all become unmanageable monstrosities.
So people want to go “back to basics”. Personally, while I loved Ember with CoffeeScript (talking to a Django server via JSON) in 2015-2017, I can’t even revive the app I built without a massive effort to upgrade and ditch all the deprecated, unsupported dependencies (which might take more time than modifying my actual app code).
So I’m just going to rewrite the Web client with htmx (with Django rendering the actual templates). No churn and dependency hell, no build tools, no nonsense. Just a single script tag and some HTML attributes. For special cases that can’t be covered by htmx, there’s hyperscript (just add another script tag). Since browsers intend to maintain backward compatibility indefinitely, forced upgrades should be minimal to non-existent.
It’s a shame JS ended up being perceived as a villain, because it was meant to enable rich client applications within browsers, which are the most universally-compatible and commodified client you can possibly run such apps in.
I will admit, Elixir and Phoenix have better real-time and scalability stories.
If I had a choice I would probably prefer Elixir/Phoenix/LiveView when joining an org to work on an established codebase that may have actual scalability needs and concerns. But I would probably prefer Django when starting from scratch.
But I’m abandoning the heavy JS paradigm in favor of htmx. Aside from the fact that I don’t want to duplicate routing and data validation across client and server, htmx is intentionally a single JS file with no build step, so in theory it should run fine as long as browsers maintain backward compatibility.
Where Django’s ORM shines is in the modeling stage: classes in models.py are your single source of truth, relationships only need to be defined once, no separate “schema” file, and most of the time migrations can be generated automatically. It’s truly top-notch.
I’m revisiting a business idea I was working on for a couple years, before I sought and found employment in the industry (where I used Java for a couple years, then Elixir for a couple more). My project was built with Django and Django REST Framework, and Ember on the client-side. 6 years later, the Django side needed minimal changes and is up and running (I jumped all the way from 1.11 to 5.0 beta).
Meanwhile, the Ember part is “lost in time… like tears in rain”. I tried everything, downloading older versions of Node and even the now-deprecated Bower. I don’t fault Ember (which is actually the most stable of the major JS client frameworks). But the JS (especially Node) ecosystem is beyond redemption in my eyes.
For my rewrite of the client, I’m going to skip the drama and just use htmx. Render Django templates server-side, include a single JS script, thrown in some HTML attributes, distinguish between full page requests vs. requests for a partial with updated data, and call it a day. No TypeScript, no Webpack, none of that nonsense. If I need special interactivity I can throw in some hyperscript.
At work I’ve used Elixir/Phoenix/LiveView and it’s revolutionary, truly awesome tech. But to get to market I would rather not have to customize an auth system and build a decent admin interface myself (I tried Ash; its auth and admin are not mature enough to be compared to what “just works” with Django). Yeah, it won’t be as scalable as a Phoenix app, but to me, Django seems like the most clean and rapid way to get to a point where you’ll actually need scalability.
Anyway, are universities covered by these policies as well?
I have opinions about Elixir, mostly around aesthetics (for context, I started programming in Python, not Ruby), but that doesn’t mean my opinions are objectively more valid than those of a genius like José Valim.
I’ve actually found Elixir to be very well-designed and internally consistent, and after two years using it, it’s obvious to me that José and team are very thoughtful and deliberative. I don’t think they want to introduce gradual typing because it’s trendy.
I don’t really like or trust most (if not all) of the established automakers, but there is something to be said for having several decades (over a century in some cases) of experience building potential killing machines vs. a company that’s not even 15 years old. The established players have put out cars which suffered freak malfunctions, but Rivian (and Tesla) seem to be struggling more with QA.
Non-rhetorical question: do companies have safeguards for critical components like braking systems, or are they also prone to catastrophic failure if a software engineer pushes a bad commit?
In other words, I’m not scared of UX in general, just not confident in my current abilities in UI (which is just one aspect of UX).