> Most of the time knives that are too sharp are much more dangerous than knives that are too blunt.
With a sharp knife, you cut through food very easily so you use very little force. You also use techniques that prevent you from getting hurt, such as the claw ( https://www.thekitchn.com/knife-skills-the-claw-75998 ).
But if someone has used a dull knife for most of their life, they may not have cultivated these skills and may hold their knife in an unsafe way and or use a lot of force when cutting.
For someone like that, a sharp knife could be a lot more dangerous, but if they're trained/using it properly, a sharp knife is a lot more safe as it reduces effort and chance of the knife slipping.
My thought process was that anyone who is trained or interested would seek to get them sharpened.
I've been in this position and my partner at the time decided to use a separate set of knives from me, as my sharp knives made her focus on the danger and pulled her out of her zoned out cooking-with-a-glass-of-wine mood.
Fair enough, how she approaches tools isn't my decision.
Respectfully, proper technique is just a matter of searching and reading for 2-3 minutes followed by a bit of practice and repetition to get fast. You can skip the getting fast part if you want. Nobody needs "training" to become proficient with a kitchen knife.
She doesn't care. It's not possible to force someone to be a gear nerd.
She cooks, she enjoys it, she does it with a medium sharp knife that doesn't slip because that's not a real thing, and isn't scaring her because it's just medium sharp.
I'm a bit confused at the ways HTMX and Alpine AJAX differ and where they're the same. I know there are header difference, for example, and that HTMX may have some functionality Alpine is missing, etc.
For example, HTMX has websocket support, while it looks like Alpine doesn't. Alpine has Alpine AJAX, but also alpine-morph, etc.
I only saw one article specifically addressing combining the two, but also very little on server side transitioning from one to the other.
I wish there was an article on starting with HTMX and what Ajax looks like in p
> I don't think having the server render the table HTML and you injecting it is a good idea.
HTMX, Alpine AJAX and other similar progressive web frameworks work exactly this way, as do server side rendered React.js and friends.
> What if the server has downtime, and returns a 200 response but with a "maintenance mode" page
If the server is in maintence mode, it should not display the web application/web page, but instead show a "We're in maintenance mode" messages.
> Having it render only on a successful response and correct parsing of JSON data is more reliable.
You're comparing making a simple web page with either no secondary calls or a single secondary call using a few lines of code to writing a client side web application. It's a bit like comparing a car with a bicycle.
> You also start complicating things in terms of separation of concerns. You potentially have to adapt any styling considerations in your API, for instance if the table needs a class adding to it. Overall, not a good idea, imho.
This is certainly an opinion and that works for you, but HTMX and similar actually make much of my life easier, rather than harder since all that styling, etc. can live alongside my server logic, rather than being in an entirely separate second application.
I might recommend making the list slightly more approachable, rather than just a big ol' list. Perhaps a small grid of 3-6 random projects from the list near the top that one can easily hover over and see what they're about. I'd also include more info on how one can contribute to these projects, which isn't clear for all of them.
I'm not the OP or author, but the argument against private network addresses is that such addresses break the Internet in some fundamental ways. Before I elaborate on the argument, I want to say that I have mixed feelings on the topic myself.
Let's start with a simple assertion: Every computer on the Internet has an Internet address.
If it has an Internet Address, it should be able to send packets to any computer on the Internet, and any other computer on the Internet should be able to send packets to it.
Private networks break this assumption. Now we have machines which can send packets out, but can't receive packets, not without either making firewall rule exceptions or else doing other firewall tricks to try to make it work. Even then, about 10-25% of the time, it doesn't work.
But it goes beyond firewall rules... with IP addresses being tied to a device, every ISP would be giving every customer a block of addresses, both commercial and residential customers.
We'd also have seen fast adoption of IPv6 when IPv4 ran out. Instead we seem to be stuck in perpetual limbo.
On team anti-private networking addresses:
- Worse service from ISPs
- IPv4 still in use past when it should have been replaced
- Complex work around overcoming firewalls
I'm sure we all know the benefits of private networks, so I don't need to reiterate it.
Honestly though... does it, all that much? Even in a world where NAT didn't exist and we all switched to IPv6, we'd still all be behind firewalls, as everyone on an IPv6 home network is today. Port forwarding would just be replaced by firewall exemptions.
Like on a philosophical level, I do wish we had a world where the end-to-end principle still held and all that, but I'm not actually sure what difference it would make, practically speaking. "Every device is reachable" didn't die because of IPv4 exhaustion or NAT, it died because of security, in reality most people don't actually want their devices to be reachable (by anyone).
> I'm sure we all know the benefits of private networks, so I don't need to reiterate it
That is I think the key. Private networks have sufficient benefit that most places will need one.
The computers and devices on our private network will fall into 3 groups: (1) those that should only communicate within our private network, (2) those that sometimes need to initiate communication with something outside our network but should otherwise have no outside contact, and (3) those that need to respond to communication initiated from something outside our network.
We could run our private network on something other than IP, but then dealing with cases #2 and #3 is likely going to be at least as complicated as the current private IP range approach.
We could use IP but not have private ranges. If we have actual assigned addresses that work from the outside for each device we are then going to have to do something at the router/firewall to keep unwanted outside traffic from reaching the #1 and #2 types of devices.
If we use IP but do not have assigned addresses for each device and did not have the private ranges I'd expect most places would just use someone else's assigned addresses, and use router/firewall rules to block them off from the outside. Most places can probably find someone else's IP range that they are sure contains nothing they will ever need to reach so should be safe to use (e.g., North Korea's ranges would probably work for most US companies). That covers #1, but for #2 and #3 we are going to need NAT.
I think nearly everyone would go for IP over using something other than IP. Nobody misses the days when the printer you wanted to buy only spoke AppleTalk and you were using DECnet.
At some point, when we are in the world where IP is what we have on both the internet and our private networks but we do not have IP ranges reserved for private networks, someone will notice that this would be a lot simpler if we did have such ranges. Routers can then default to blocking those ranges and using NAT to allow outgoing connections. Upstream routers can drop those ranges so even if we misconfigure ours it won't cause problems outside. Home routers can default to one of the private ranges so non-tech people trying to set up a simple home network don't have to deal with all this.
If for some reason IANA didn't step in and assign such ranges my guess is that ISPs would. They would take some range within their allocation, configure their routers to drop traffic using those address, and tell customers to use those on their private networks.
> every ISP would be giving every customer a block of addresses, both commercial and residential customers.
or more likely, you would still receive only handful of addresses and would have needed to be far more considerate what you connect to your network, thus restricting the use of IP significantly. Stuff like IPX and AppleNet etc would have probably then been more popular. The situation might have been more like what we had with POTS phones; residential houses generally had only one phone number for the whole house and you just had to share the line between all the family members etc.
They worked around this with IPv6 by the fact that SLAAC exists and some devices insist on always using it. Your ISP has to give you at least 64 bits of address space or else some phones won't work on your network. And even if they only give you the bare minimum of 64 bits, you can subdivide it further without SLAAC if you know what you're doing.
Furthermore, the use of privacy addresses obfuscates how many devices you have.
The phone company would have been happy to sell you more phone lines. I knew people who had some.
But you're right that as dumb as it is, it's likely that ISPs would have charged per "device" (ie per IP address).
Before 1983 in the US, you could only rent a phone, not own one (at least not officially) and the phone company would charge a rental fee based on how many phones you had rented from them. Then, when people could buy their own phones, they still charged you per phone that you had connected! You could lie, but they charged you.
Like I said, I have mixed feelings about NATs, but you're right that the companies would have taken advantage of customers.
Interestingly, IPv4 is also we have the "great" ecosystem of IOT devices needing to talk to the cloud: making your phone able to talk to your thermostat is too damn complicated...
Tried it with AppImage on Linux, attempted to download a model and "Failed to download model. An error occurred." but nothing that helps me track down the error :(
I don't think it's the same error, but without a good error message I don't know.
I did manually download the models and associated them, which are great but then the audio didn't work. On the browser version, it never asks me for permission for an audio device, and on the native version, it makes a file of 0 length and then complains it can't read the contents.
My read is that the project looks very interesting, and I'd love a FLOSS replacement for Aqua Voice, but this software isn't ready for everyday use yet, at least not on Linux.
I'd love to help somehow, whether that's a donation or experimenting if you point me to somewhere.
As a new boss who has recently started using Story Points and requiring the devs stick to tickets, I think this article points to problems that are valid, but unrelated to the issue of tickets.
> a factory that forgot what it’s building. Features ship, bugs creep back in, and the codebase becomes an archaeological dig of short-term fixes and forgotten context.
That's tangential to tickets.
We always had tickets to some extent, but our current process involves organized feature planning, design tickets, implementation tickets, and review.
That has imposed a lot more structure, but it's also resulted in a lot less work. Developers know what the priorities are, know what the scope of work is, they know they'll get reviewed.
Issues the article talks about such as short term technical debt being accepted are tangential. If a problem comes up, it's documented and then a decision is made on when to address it. If it's serious, that could be immediately, and if not, it may be put aside until it's encapsulated in other work, such as a refactor or redesign.
Tickets drastically improve context by telling the story of what they're about, connecting to commits, and connecting to merge requests. The code becomes a series of narratives.
> “Yeah, good thought, but just stick to the ticket for now.”
That's bad management. Good management will say "Good thought, make a new ticket for it so we can hear what's on your mind and evaluate it."
> Ask why the feature matters? You’re overstepping.
Ask why the feature matters and you're a good dev!
But before we had this level of structure at my organization, sometimes the devs would override the stakeholder's explicit wishes without informing them!
Now with tickets there's an opportunity for dialog and a paper trail on decisions.
> Suggest a refactor while in the code? Not in scope.
This one is tricky as I just told a dev not to do a refactor this week. The reason was the refactor was tangential to the feature, which was already late to deliver. Instead, a ticket was made and we'll evaluate the decision to refactor next week.
> Improve naming, extract duplication, or add a helpful comment? That’s gold plating now.
Those aren't gold plating, they're part of code quality checks that go into reviews.
The tickets aren't the issue here any more than one might complain about a specific programming language being the problem. The core issue is the environment, and specifically of management.
Before I had tickets, developers worked on what they wanted to work on
I've worked on projects without a structure like story points, and it's usually a complete mess. Developers love it because there isn't any real way to gauge individual progress, but business owners hate it because projects never get done on time and lots of money is wasted.
I'm interested but I have more questions than answers.
It might make sense to provide some system for figuring out how to create the budget, and then how to track your expenses against it.
In my mind the simplest form of budgeting is so-called "Envelope Accounting", where you have physical envelopes full of money where you pull money out when you spend it.
There are electronic envelope accounting systems which retain the simplicity.
I'm a bit unsure of how this system works, where it differs, etc.
In summary, I'd love to see:
1. An explanation of how to construct a budget using your system.
2. An explanation of how to compare your spending to your budget? (bonus points if I can use my existing plain text accounting system, or at least a csv file)
3. An explanation of how to track my budget over time.
The processor considers monthly income when calculating your projections. It'll sum all credit and debit operations (from all flows) and calculate from there.
> In my mind the simplest form of budgeting is so-called "Envelope Accounting", where you have physical envelopes full of money where you pull money out when you spend it.
The ADL and other Jewish organizations have pointed out that aside from articles about Israel that articles about or mention Jewish topics generally have been editing with disinformation or that made Jews out to be the aggressors.
I agree with you that in order to believe in the ideals of liberal democracy that we must have a core belief in truth. And it's absolutely true that the Trump administration has taken a position that is deeply chilling on the issue of speech. It's clear they want to be the sole arbiters of what "truth" is and they want to use their power to manipulate the reality.
All that said, I cannot as a Jew ignore the fact that Wikipedia is not in itself neutral, and that "more eyes" does not negate systemic bias. What I've seen as a Jew is what the true meaning of marginalized minority is, which is to say that if you are truly a minority and truly marginalized then in a vote of "truth", your reality will be dismissed if it conflicts with the vast majority, and that Jews are only 0.2% of the world population.
While I brought it up, I am not debating the issue of antisemitic bias in Wikipedia[1] as anything other than an illustration of your point of objective truth being true, but also that we can't simply rely on the wisdom of the crowd to materialize that truth.
To preemptively address the issue that's bound to come up when I post this- I'm not arguing that the evils of silencing the entire Wikipedia project are equal to or a fair response to Wikipedia's antisemitic bias. I do believe Wikipedia needs to address its bias problem and that's best done through internal reform.
Two wrongs don't make a right, nor are two wrongs always of equal weight.
[1] Firstly because my point is separate, and secondly because I've encountered the exact issues I've found in Wikipedia elsewhere, which is why I'm sure I'll be voted down.
I agree 100%. It's exhausting fighting against antisemitic bias, and it feels like it's everywhere these days. My problem with Ed Martin is that what he is doing is clearly wrong. Hannah Arendt wrote a book about people like him.
At a time when students are having their visas revoked merely for writing Op-Eds critical of Israel, it's rather ridiculous to see the pro-Israel side acting like you're the ones being persecuted everywhere.
Your post proves my point quite exactly. Here you busy othering Jewish people by using language like "acting like you're the ones being persecuted". JEWISH PEOPLE ARE BEING PERSECUTED. I myself have been subject to anti-semitic treatment on/off throughout my entire life. I have been called the K word in the past. Current coworkers say things even though I am not even an Israeli citizen, and then are sure to add "of course Moshe we are not talking about you"...
I don't support what happened to Mahmoud Khalil. The Trump administration is evil. I might support Israel's right to exist, but I voted for Kamala because I support the US a hell of a lot more. None of the ordinary citizens of Israel or Palestine or the US is responsible for what's happening in Israel.
If you're not Jewish it might be a little difficult to understand. I know quite a few Jews who do not dare light a menorah in their window. Who don't dare fly an Israeli flag or identify themselves as Jews in any way. I am secular, but synagogues have to have armed security.
Jewish people != Israeli government.
By the way, Americans are absolutely safe traveling to Israel. You simple cannot say the same thing for almost any Arab country. Well, that's how Jews feel almost everywhere in the world.
I tried giving it a shot. It starts with an "executive summary", followed by an intro to how Wikipedia works. The very first link to any concrete evidence is by a guy who has a page on PragerU with gems like "Russian collusion hoax" and how the "mainstream media" is "fake news".
It's a pretty simple case of Wittgenstein's ruler for me. It tells me more about ADL as an org than the content.
Oh, that's VERY interesting. Thank you very much. Needs to be checked a bit more thoroughly, but the ADL report and the D.C. U.S. attorney's letter seem to have significant thematic overlap. It could well have served as one of the sources.
Basically, almost any time Zionists are mentioned, they're mentioned in a negative light and with genuine disinformation, such as that Zionism is the belief that Arabs needs to be destroyed. That is like saying the Civil Rights movement in the US was about killing white people.
They also position things in such a way that implies antisemitic things, such as saying that Zionism is only 200 years old, or discussing the Israel wars only or primarily through an Arab lens.
These biases around Jewish topics are small individually but large in aggregate, especially in how they present Jews and Jewish topics.
Multiple Jewish and civil rights organizations have done a more comprehensive job at discussing this, even organizations who don't usually agree on things. While they talk about "anti-Israel bias" Wikipedia articles on or mentioning Zionism (80% of Jews are Zionist) are IMHO just as, if not more damaging, and demonstrate the issue.
Most importantly though, talk to the Jews in your life about this. They will tell you.
Zionism, as a belief system and ideology, is one built on colonialism and manifest destiny. That's literally, plainly, what it is. Naturally, these have associations with bad things. Most colonialist movements in history were bad for the people getting colonized.
You cannot subscribe to a belief and simultaneously exempt yourself from all consequences of that belief. What I mean is, if you are a Zionist, then you believe some people should be displaced in a conquest for your people. What happens to them? You cannot say "well, we can do it without displacement" or "well, I don't believe that".
No. That is the consequence of what you belief, and you therefore MUST stand by it. You MUST believe you are entitled to the land and sovereignty of Arabs, whether you choose to articulate that belief or not.
This is something Zionists sometimes struggle to comprehend. They wish to live in an alternate reality, where they can keep their beliefs and magically get to an outcome they desire without anyone getting hurt. It doesn't work that way. If your belief hurts people, _that means you want to hurt people_.
I don't know if that statement is true or not, but it certainly seems like a specific enough statement that could be proved or disproved given enough effort.
The question was about antisemitism (hatred of Jews or Semitic people), not about Zionists, and you completely failed to point to a single example of antisemitic bias on Wikipedia, which is what you were asked to do.
The vast majority of Jews are Zionists, and the two topics are inextricably linked. What would expect antisemitic bias on Wikipedia to look like? What would you accept as evidence?
Most of the jews I know are through anti-genocide activism and they have a different view of this. I wanted to check because it is important to me that I not engage in antisemitism. Thanks for the info.
No I mean literally we are part of an organization focused on preventing and ending genocide broadly. Israel-palestine is one of them but there are several others ongoing and several more that may escalate into genocide in the next few months or years. I do see why you have a hard time with wikipedia.
Could you point me to an example of what you have in mind on wikipedia? I'm admittedly not as practiced at discerning subtle antisemitism as I am some other forms of discrimination. But also usually when it's being alluded to in the abstract like this people mean something closer to "criticism of israel's actions."
I didn't read that because the person asked for an example and you directed them to a 150 printed page article where you didn't specify which page(s)
This is the equivalent of stating that dinosaurs evolved into birds then when asked for one piece of evidence directing a person to a book, by another author, on how dinosaurs evolved into birds
This is the same ADL that said that Nazi salutes are fine, but that protesting against genocide isn't? Why do we care what the ADL says about anything? They're fascist sympathisers.
It was not remotely okay that they did this, and I agree that refusing to speak out severely hurt their credibility. The next time I get a fundraising email, I'm going to tell them they can kiss something.
Demanding moral perfection from an organization in order to believe that discrimination exists is a standard that I don't believe is fair to any group.
Did you read the statement they put out later that day about Musk, or the day after?
I agree this was a terrible move on the ADL's part, and there have been others, but you're essentially labeling the oldest anti-hate group "fascist" because you disagree with one statement they made.
This dismisses any concerns they raise, or if someone else says the same as them, then they too must be pro-facist.
He also tweeted in approval of this tweet putting forward the "Jewish people planned it" antisemitic form of great replacement theory with "you have said the actual truth":
> Jewish communties have been pushing the exact kind of dialectical hatred against whites that they claim to want people to stop using against them.
> I'm deeply disinterested in giving the tiniest shit now about western Jewish populations coming to the disturbing realization that those hordes of minorities that support flooding their country don't exactly like them too much.
> You want truth said to your face, there it is.
Then a bit later Musk gives the heil Hitler salute twice in a row, once facing the crowd, then turned around and gave it facing Trump.
The stuff the ADL put out after the salutes was only after he added on jokes involving Nazi party members, right? Or was the one later that day before that?
All that's old is new again. More than a decade ago, I inherited a Node application and was able to use many of these exact techniques inside the application.
Even moreso, I could introspect the entire application state, including providing myself a shell and modify application state within the application. Keeping a blocklist inside a simple array- no problem! And being able to run a shell inside the same process meant I could inspect and even modify the array while the application ran.
That made it incredibly pleasant to use and run.
On the flip side, upgrades can be very challenging.
In a modern web application it's standard practice to run (at least) two instances of the application at once and use the load balancer to test both, or to drain jobs from one to the other. This is relatively easy if the applications are stateless.
Once the application holds all the state in memory, there's a real challenge. That array that seemed so clever- you'll need to serialize it so it can be reloaded at initialization time. Keeping all the session identifiers in memory- be ready to dump that.
Worse, if the application is not designed to share this state with another application, you're now in some trouble. This is fine if you're running a small site with a few users who can accept some downtime, but if you're running a serious service, you'd like to have some kind of upgrade path other than shutting the application down and starting it back up again.
"I'll just share state with other application servers", you might think, and then use something like ZeroMQ to transmit state", but once you think about sharing state between application servers, you realize you'd probably be better off using a tool like Redis, and you're right back where we started.
You can migrate to the heavier infra later. I am serving hundreds of concurrent users from a single Rust binary backed by Sqlite. So far it hasn't shown the slightest problems and migration can happen if the service grows an order of magnitude (or two) from here.
With a sharp knife, you cut through food very easily so you use very little force. You also use techniques that prevent you from getting hurt, such as the claw ( https://www.thekitchn.com/knife-skills-the-claw-75998 ).
But if someone has used a dull knife for most of their life, they may not have cultivated these skills and may hold their knife in an unsafe way and or use a lot of force when cutting.
For someone like that, a sharp knife could be a lot more dangerous, but if they're trained/using it properly, a sharp knife is a lot more safe as it reduces effort and chance of the knife slipping.
reply