• 47 Posts
  • 204 Comments
Joined 1Y ago
cake
Cake day: Jun 12, 2023

help-circle
rss

Mercurial has comparable features (though maybe not obvious to someone accustomed to git) without the usability problems that still plague git nearly two decades later. Hg’s interface was made with humans in mind. Git’s was made to cut you.

(And it has cut so very many people that it’s consistently among the most popular topics in Q&A forums, and has even inspired comics.)

Thankfully, git’s early cross-platform shortcomings were eventually fixed, so that’s at least some progress. I hope its UI and docs eventually get some love, too.



The interface is the best I know of, a lot like pre-Microsoft github. Especially important to me is that It doesn’t intercept my browser’s built-in shortcuts like github now does, or require javascript or bury things under submenus like gitlab does.

The promise of federation is appealing, too.

I plan to use it for new public projects, and might even move my old ones over.


disallow list of known bad email providers.

Imagine giving someone your phone number, and having them say you have to get a different one because they don’t like some of the digits in it.

I have seen this nonsense more times than I care to remember. Please don’t build systems this way.

If you’re trying to do bot detection or the like, use a different approach. Blacklisting email addresses based on domain or any other pattern does a poor job of it and creates an awful user experience.

(And if it prevents people from using spam-fighting tools like forwarding services, then it’s directly user-hostile, and makes the world a worse place.)


Checking MX in your application means you needlessly fail on transient outages, like when a DNS server is rebooting or a net link hiccups. When it happens, the error flag your app puts on the user’s email address is likely to confuse or frustrate them, will definitely waste their time, and may drive them away and/or generate support calls.

Also, MX records are not required. Edit to clarify: So checking MX in your application means you fail 100% of the time on some perfectly valid email domains. Good luck to the users and support staff who have to troubleshoot that, because there’s nothing wrong with the email address or domain; the problem is your application doing something it should not.

Better to just hand the verification message off to your mail server, which knows how to handle these things. You can flag the address if your outgoing mail server refuses to accept it.


By the way, please don’t write regex to try to validate email addresses. Seriously.

Amen.

There are libraries for that; some of them are even good.

Spoiler alert: Few of them are good, and those few are so simple that you might as well not use a library.

The only way to correctly validate an email address is to send a message to it, and verify that it arrived.


he’s gone off the rails in the last 6-12 months - complaining about needing more linux devs

It’s also ironic in light of his history of loudly bashing linux and linux game development.

I can’t think of anything good to say about Tim Sweeney.


I might give Backpack Battles a try. It doesn’t look like my usual style, but I heard there’s some good strategy under the surface, and I like that it’s made with Godot.


how discouraging
should have used an asterisk
not a comic book


These come to mind:

  • Elixir to expand the way you think about problems (and maybe your career).
  • D to bring familiar conveniences closer to the metal.
  • C to understand (and maybe contribute to) a vast ocean of existing software.
  • Python for development productivity.

So with normal use it should be fine for a few decades.

Considering that “normal use” can be so very different among different people/applications/climates, I don’t put a lot of stock in assessments like that, but it is at least one prediction to compare against when we see what happens in practice. Time will tell.


I’m curious how long the current gen OLED consoles will be in use before they develop screen burn-in.


This outcome is welcome progress, but I get the sense that it’s only a drop in the bucket.

Bullying and intimidating people in other countries who openly contradict the CCP’s narrative seems widespread these days. From the news reports of unofficial Chinese “police stations” in North America, to youtube footage of US students speaking in support of an independent Hong Kong while Chinese students aggressively maneuver within inches of their faces while shouting threats, to the story in this post.

I hope this is a sign that we are finally taking action to stop it.


Or by people formerly paying for their internet service with money that should have been going toward food or heat.

Losing the $30 monthly discount could force families to choose between broadband and other necessities,

Exactly.

It’s also important to note that some ISPs created a low-cost service plan specifically for ACP. (It’s reasonable to assume this was possible in part because ACP handled income verification and eliminated the costs of individual billing and credit card payments.) That plan will likely disappear if ACP goes away, leaving poor people stuck paying a bill much higher than the program ever paid.


Your current approach of talking raw SMTP is likely to be more hassle than is worthwhile, and since the days of permissive SMTP servers are long gone, might not work at all.

Since you appear to be using an Debian-based Linux distro, I suggest this approach:

  • If you don’t specifically need exim, consider replacing it with the lightweight dma package (DragonFly Mail Agent): apt install dma
  • Configure dma (or exim) to use your ISP’s SMTP server as a smart host. (Or the Gmail SMTP server if your ISP doesn’t provide one.)
  • Use the /usr/sbin/sendmail command (which comes with dma or exim) to send messages from your scripting language of choice.

If you prefer to receive messages as SMS, note that most major mobile carriers maintain an email-to-sms gateway for this purpose. Some web searches will probably lead you to the one for your carrier. They usually accept email at an address like 123456789@sms-gateway.example.com


“Systems that break email already exist, so let’s add more to the world.”

Please, no.


My (least) favorite in this category is email addresses. It’s astonishing how many developers screw this up by trying to validate an email address by some means other than sending a message to it.


Joke’s on them. Google locked me out of my account when I refused to give them my phone number.


C++ was my language of choice for a long time, but I can’t say I’m with you on this one. If I’m going to use Vec, I had better know what it is already. Littering the code with a special double-glyph operator when a dot would do is just needless noise to me.

(I won’t criticize you for liking it, though. Cheers.)


This seems like a step in the right direction. Much like language translation, doing it on-device is the only way to preserve people’s data agency / privacy.








IMHO, some of the beauty of Baldur’s Gate 3 lies in the ability to start playing immediately, and discover the mechanics little by little as you go. Instead of an impenetrable wall of complexity, it gives you a world to explore while learning something new every time you play.

However, if you want to study the mechanics, you can also consult the D&D 5th edition rules. BG3 follows most of them. https://media.wizards.com/2018/dnd/downloads/DnD_BasicRules_2018.pdf


But really destiny and overwatch complicated??? Those games are for children

Overwatch might seem that way because of the cartoon style and the low skill floor, but the skill ceiling is somewhat higher. I haven’t met many children who would be good at predicting behavior of high-level opponents and coordinating to counter it, for example.

I don’t know that I would call it complicated, either, except in the sense that there’s often a lot to keep track of all at once. I think I’d place it somewhere in the middle.


Friendly reminder that Klei is now owned by Tencent, in case that’s important to anyone here.


There’s a reliable way to combat scalping in general. Start selling the item at a high price or in larger quantity and then cut the price whenever sales drop off.

That alone might be effective at reducing scalping, but would also put the item beyond the reach of entire income classes.



Even if that issue were to be solved, the endless vendor lock-in and deliberate incompatibilities would remain.

I stopped buying Apple products years ago because they’re all about preventing people from truly owning the hardware they buy. Given how effective it is at extracting as much money from us as possible for as long as possible, I doubt that will ever change.


I think it’s time that we move the letter of the law past the requirement to prove harm in cases of encroachment on personal agency. Such things are next to impossible to prove as harmful (especially within a limited time frame) yet the damage is irreparable and can potentially continue forever.



Ha… That is hilarious, and very much like Bethesda. (See also: the bee problem in Skyrim.)


Sigh… You conveniently deleted important parts of my comment, such as “at least with low-graphics settings” and “adjust for a few years of hardware inflation”, and completely ignored the fact that I am talking about cases of abnormally bad performance compared to entire categories of games. The straw man you’re arguing against is not what I wrote.


Given that they’ve developed a faithful and fairly wide-ranging representation of D&D 5e, I’m willing to bet that ended up being a lot more involved than their own proprietary system.

That game was just one example, but since you seem interested in singling it out:

Turn-based game rules cannot explain the awful graphics performance that game has, even at idle, on some systems. (Not even D&D 5e, which I happen to know in detail.)

Graphics engine enhancements might explain it, but in that case, the developers should have included options to disable those enhancements.

I haven’t reverse engineered the code, but some of the behaviors I’ve seen in that game smell strongly of decisions/mistakes that I would expect from a game that was rushed, such as lack of occlusion culling. Others smell like mistakes that are common among programmers who haven’t yet learned how to use the graphics APIs efficiently, such as rapid-fire operations that should instead be batched. Still others could be explained by poor texture and/or model scaling techniques. As a software engineer, the bad performance in this particular game looks like it could come from a combination of several different factors. None of them are new in this field. All of them can usually be avoided or mitigated.

In any case, the point is that none of that analysis matters for the sake of this discussion, because a community with experience using products doesn’t have to be experienced in building them in order to notice when something is wrong. It’s not fair to categorically dismiss their criticism.

(Thankfully, the Baldur’s Gate 3 developers haven’t dismissed it. Instead, they are working on improving it. Better late than never.)


That’s not a fair comparison.

I think it is. Note that I wrote 30km/h, not 200km/h. (In case you’re American, 30km/h is about 18mph.)

The Last of Us Part 1 is another example. We know it should run better on our hardware (at least with low-graphics settings) because we have already seen the original game run far better on less capable hardware. Yet this one fails to do so even at the lowest possible settings.

Even Baldur’s Gate 3, despite being otherwise wonderful, has some glaring hit-and-miss performance issues (think 8 fps at 1080p) that show up on hardware that can handle similar games easily. You don’t need to be a software engineer to compare it to Divinity: Original Sin 2, adjust for a few years of hardware inflation, and have a rough idea of how it should perform at moderate-to-low settings.

I see people upset because the car isn’t a masarati,

I don’t doubt that those people exist, but I believe they are outliers. Most of the complaints I see about underperforming games in the past year or so are from people with very reasonable expectations. If most of the gripes you’ve seen are from teeth-blaming Masarati-entitled loudmouths, I suspect it has more to do with the forums you frequent than anything else.



To be fair, one doesn’t have to be an automotive engineer to deduce something is wrong with a new car that struggles to reach 30km/h while most of the others exceed 100km/h with ease.

(This is the first I’ve heard of anyone blaming teeth, though. That’s a bit strange.)


Ham radio is amateur radio. It’s not the same thing as a community broadcast station (and not at all comparable to Twitch).


There's some good background and explanation in [this comment](https://news.ycombinator.com/item?id=38053342).
fedilink

You got it right. Matrix is decentralized. It’s just not peer-to-peer (although there has been some work toward making it so).


I think more people would understand what you mean if you asked for community recommendations (or space recommendations if you want to use the Matrix-specific term). What Discord calls a “server” is not a server in any normal sense of the word, so it’s going to confuse people who aren’t Discord regulars, especially when we’re talking about a different network that has actual servers and self-hosting support.


I don’t find Unity’s excuses surprising, interesting, or newsworthy.


You log in, confirm it with another device (better hope it’s nearby! That first setup of a 2nd client is a doozy of a feel bad, if it isn’t),

Your devices don’t have to be nearby to verify them. You can enter a key backup passphrase instead.

then a few days later it just stops letting you do anything,

That’s not normal. Looks like you ran into a bug. Did you report it, so it can be tracked and fixed?

I gather from their weekly reports that they’ve been fixing encryption bugs lately, and that the clients now in testing (the Element X code base) seem to have them solved. You might want to try those, or one of the third-party clients.
















Edit: Changed the link to YouTube because it looks like Piped has [an intermittent bug](https://github.com/TeamPiped/Piped/issues/2915). You can always search for the title to find the video elsewhere, too. Alternate links: [Audio only](https://infocon.org/cons/DEF%20CON/DEF%20CON%2031/DEF%20CON%2031%20video%20and%20slides/DEF%20CON%2031%20-%20An%20Audacious%20Plan%20to%20Halt%20the%20Internet%27s%20Enshittification%20-%20Cory%20Doctorow.mp4) [Piped](https://piped.video/watch?v=rimtaSgGz_4)
fedilink


...and the related [Mozilla report](https://foundation.mozilla.org/en/privacynotincluded/articles/its-official-cars-are-the-worst-product-category-we-have-ever-reviewed-for-privacy/)
fedilink














Human Shader
> "1542 different people have been doing math by hand for the last 49 hours, completing the first mathematical painting (shader) ever made with human brain power alone, rather than by a machine! If you know how to add and multiply, you can join us!"
fedilink