skysight-inc/HackerNews huggingface dataset:
Ask HN: Doing transactional email (and beyond) in your SaaS product?
Every SaaS app will start off with some code to send email for the basic functions of signup, password reset, maybe eventually billing, inviting new users to the account.

When doing this in small apps I’ve written, I inevitably start with some sort of email type enum, the ability to define templates for each type of email, usually starting by doing variable substitution in a plain text message, on to variable substitution in a rich text email.

Eventually the app grows and the types of users become more diverse and soon enough templates are piling up. Someone gets tired of editing these templates and demands a WYSIWYG editor. Someone else needs more dynamic content than what you can achieve with simple string.Format and you start contemplating how you can let them write JavaScript for pre-processing.

Marketing wants to know how many of these emails are getting opened and ways to flag customers who aren’t interacting with the email as potential renewal risks. Someone has the bright idea that it would boost engagement if we could add new email types that get sent based on hand-wavey account status type things like “not logged on in the last 15 days” or “upgraded 7 days ago” and all the criteria should of course have a web panel to configure this dynamic selection criteria for use by non-programmers in ways that isn’t go to blow up and send emails to every user by mistake.

So,... long story short - for a multi-tenant SaaS company that sends emails from their own domains, at the scale of ~10,000 users per domain, with no desire to fully outsource the whole program,... how do people like to tame this beast?

It seems like a scaling problem every SaaS company probably has to some degree, compounded if you are doing a multi-tenant platform type service, and massive risk of reinventing the wheel and sinking resources into something which entirely adjunct to the company mission.
It just doesn't have either the api power or ease of use of ios and ipad os. On the developer side lets say you want to build an advanced audio app, on the apple side targeting arm64 for ios is trivial its all there in xcode ready to go On the windows side they just can't compete for things like pro audio where they never created their own plugin or pro audio layer and left it up to the manufacturer. On the android side we have the oboe library and midi support while its not as powerful as ios its still more capable than windows store apis for arm when it comes to the important niche of pro or prosumer audio.
The sun is much bigget energy source than nuclear. You don't need to increase panel efficiency (although we might as well try), you just need to build more panels.
MTG Arena is actually pretty good for getting started. Its tutorial modes teach you enough to start playing. There are a lot of interactions that aren't immediately obvious, though, and card/effect wording matters _a lot_.
I have a buddy who sells some custom widget on his own personal website and when we were snowboarding in whistler in March of this year, he complained about this. He was saying that if his widget is $5 on Amazon, he can't sell it for $4 on his site or Amazon will take his product down. He also does 2 day shipping, but unless he pays Amazon for a prime badge, he can't advertise that through Amazon.
React-native allows native developers to work faster. It is far from ready for anyone without native experience to be used in a production environment.
https://outline.com/Rwabyg
Gitlab has clearly been internally out of control for years. If you're a user you're pretty accustomed to reporting a bug only to see it get delayed, ignored. Feature requests are even worse; if it doesn't have some internal champion it will be ignored for years. It's almost hilarious, you will ask your rep for something, they will tell that it is coming, and then you can watch them plead with the devs to complete silence.

Meanwhile more half baked features like "Auto Devops" and "Cycle Analytics" are piled on. The docker/runner based CI is barely functional and any serious project runs up against the limitations of it (and the abysmal syntax of .gitlab-ci.yml) regularly.
"rm -rf /" ought to do it.
Part of it's title is 'How to feel nothing now'. It is aiming at gaining a new life from nihilism. It has little to do with religion, that is the framework for the process of heading towards nothing.

It has the same quality of mind emptying meditation that you can get from a Sam Harris workshop. It is fundamentally opposite from being on top of the world, having everything in order. It instead encourages you to clear out a valuable part of your life and society as if exiting downwards is productive.

The article is on point for current trends, clear the air to let in the water gods. It's predictable.
Let's say the question is not settled. There are experiments showing how one can predict a choice 7 seconds before.

https://www.nature.com/articles/nn.2112
I hope the contract that sparked this whole fiasco is big enough to cover the ton of goodwill they've lost (and keep losing) over this issue.
Depends on your job I would say. If you're a swe and youre pushing your own app to prod via containers then you can pretty safely ignore it.

If you're in ops and you're mostly managing that fleet but you also have to look after some non-docker stuff (say, an old artifactory or some qa tool or other) then probably the time to learn how it works is before it breaks.

My 0.02$ -- If you can avoid it, do so.
Netflix Open-Sources: Mantis
Hmmm, I wonder what sort of large partnership could be so concerned with these two countries? Could it possibly be something with US intelligence agencies?
The rules appeal, but not the money-pit. I wouldn't say it's pay-to-win, but fuck.
There’s MySQL EE and the CLA that allows it to exist, I guess.
Interested in this one.
Somewhat less divisively: what ought to have been a routine democratic election took place which a lot of people invested a lot of emotion into. It’s hardly the first time a world government has had a political upset, but it does seem to be the first time a significant segment of the population lost sight of the fact that democracy only works when everybody accepts the results, even if it wasn’t the result they voted for.
We now have ion thrusters, which are great for when you need a huge velocity change but can take your sweet time to do it.
When the alternatives to streaming platforms look like Clear Channel, then I think it's ridiculous to complain about algorithmic curation of content. Clear Channel and its ilk used the most dumbed down, mass market research driven curation imaginable and the 90s media landscaped suffered accordingly.

On a side note, as a consumer I don't care at all what the intentions of the creator are. Hence post-modernism. If I want to watch Netflix at 2X speed in reverse while I stand on my head, then so be it.

Once you create something, it should be free to use as people see fit. I think there are actually some corollaries to this with the recent conversation around politics and software (c.f. GitHub's ICE issue) but that's beyond the scope of this comment.
That's not what the Wikipedia links says:

"A number of potential trigger types were investigated, including software bugs, software corruption, hardware faults, electromagnetic interference and the secondary high energy particles generated by cosmic rays. Although a definitive conclusion could not be reached, there was sufficient information from multiple sources to conclude that most of the potential triggers were very unlikely to have been involved. A much more likely scenario was that a marginal hardware weakness of some form made the units susceptible to the effects of some type of environmental factor, which triggered the failure mode."

Cosmic rays would be a very convenient excuse. (Cue the ECC RAM lobby, which will probably downvote this.)
Sure, if you are a dualist.
You can have 3 queues and 3 dispatchers, arrange some backpressure, a push-based consumer-producer model and you will have 3 queues, 300 queries and n polls per interval.

There is a solution to every perceived problem.
What principles not to disrupt: on AI and regulation
well, i am a programmer SO, that is not the satisfying answer for me at all
> HTML was designed as an application of SGML.

No, it wasn't. It may have gone from being influenced by SGML to being defined as an application of SGML by the time of the first spec, but TimBL didn't actually originally use SGML for it due to implementation complexity of SGML.
Reference to https://en.wikipedia.org/wiki/USA-247
I think of SQL like the JSON format: a standard that became standard because it's so boringly simple for software to write and parse. You can easily pick up enough in a day to pass queries from other languages, grab the data, and go back to your language of choice. SQL does its job and leaves features and complexity for other tools.
Are you seriously trying to argue that he brought the gun because he couldn't bring a pass-key instead? I'm of the opinion that it didn't get worse because there wasn't anything behind that door but god forbid if there had been people there and he could have easily maimed or killed someone just by firing it in the first place.

Gullible violent idiots should not have access to guns.
or, the argument is against the evidence of one experiment. similar protocols using other techniques have provided evidence against the idea that behavioral decisions can be unpredictable.
Are you saying you thought "anonymous sources on a gossip site said a former president is buying a beach house" was an argument against the global consensus on climate change?

(https://www.snopes.com/fact-check/obamas-mansion-marthas-vin...)
I'm curious about something. In one of her cited comments Candice Ciresi, the director, mentions that if the ban on Russia/China is due to a client request then it:

>could violate anti-boycott laws

Does anyone know specifically which laws she's referring to? Many companies have requirements on data not being accessed by individuals outside of certain countries or being sent outside of certain countries. Others have restrictions on not bringing company property into certain countries.
I've done these and I have a family. If you are sick, expecting, or have other obligations, it is unfortunate if you can't make it. It was fantastic to get to know a lot of folks who are typically just avatars on a screen or a face in a meeting.
I really like the title and I don't think it's link-bait-y.

Why?

Because too many engineers I've worked with would bump into this situation and this would be their answer. They wouldn't take the time to debug the situation deeply enough and they'd blame k8s, or blame the network, or blame...

In my experience, the most common issues with complex distributed systems are much more likely to be due to misconfiguration because of a limited understanding of the systems involved than such issues are to be caused by core, underlying bugs. And I believe that's why some engineers shy away from otherwise valuable frameworks and platforms: they have a natural and understandable bias to solve problems via engineering (writing code) than via messing with configuration parameters.
The false promise of green housing
Interesting analogy, the problem is staff notation has been used by every basically major composer for hundreds of years. SQL, while important, is far less universal and far more complex. In the end, staff notation is more like writing than it is like SQL. Writing and staff notation both have a limited number of characters with an insane number of possible combinations. With SQL, the main challenge lies in understanding the underlying data structures, not the declarative symbols of SQL itself.
Back when I still used them, this was why I only had things delivered to my office. If I tried to have things delivered to my home, one of two things nearly invariably happened: I'd either waste my time waiting on a delivery only to have it marked "no answer" or "can't access", or they'd leave it on the sidewalk outside my door. (I live in downtown San Francisco. You can guess how well that worked.)

But I dropped Prime a while back and stopped using them, and am still happy with that choice.
And yet it still feels like a language out of the 60s or 70s. To me, Go feels like the programming language equivalent of insisting that everyone communicate just by grunting because it's less complex to teach people just grunting than it is to teach them more effective forms of communication. And in theory, they still can communicate all the same things with more grunting! Some people refer to this as simplicity, and in a way it is, but it's simplicity in the language constructs at the expense of more complexity in the usage of the language to form more complex thoughts. There must be a golden balance here, but I don't feel like Go is it for all the fanfare it has been getting lately.
Every single CS baccalaureate degree from the University of Illinois has required from at least 2005[1] a mandatory engineering ethics course (CS 210).

Note that the UofI has always been in the top ten nationally for CS; its 2020 rank is #6 (behind MIT, CMU, UCBerkeley, Georgia Inst. of Tech, and Stanford).

1: 2005: https://web.archive.org/web/20050321215749/http://courses.ui...

2: 2019: https://cs.illinois.edu/academics/undergraduate/degree-progr...
There is nothing more significant, their stated reason was "tone policing":

https://twitter.com/cmaxw/status/1192261086810116096?s=20
reply
I know this is only tangentially related, but when you're bringing up UNIX philosophy...

> - Store data in flat text files.

Storing encryption keys or the like in flat text files is surprisingly hard, at least in C. I don't think it's even possible to use sscanf(3) without unexpected explosions, and otherwise you get to hand-roll your hex parsing code yourself (Base 64? Get yourself a library).
This is part of the same drama, as Candice Ciresi was the one who told other people at GitLab management that what they are doing (opt out tracking) is illegal in multiple juridictions.

I'm interested in what her next job will be, as hopefully another company will value her knowledge and integrity.
In my view, there has never been a more diverse and vibrant marketplace than online shopping. Amazon offers decent services, but whether it's shoes, or TVs, or food, there are many, many, very viable alternatives. It's very interesting to me that some folks are able to define "monopoly" in their head in a manner that captures Amazon.
You are ranting a bit too much. The reality isn't that excitingly gloom. If the waste would leak out, it would just contaminate the area around it (not that it wouldn't be bad). But it wouldn't cause the global armageddon as you describe it. I mean Chernobyl happened which was a far worse outcome (radioactive waste aerosolized due to the burning graphene), yet it didn't kill us off. Nuclear is scary, I understand your fear. But your thesis hangs a lot on the emotional side, so it's hard for me to emphasize with what you are saying.
Thankfully, I have come to realize that we are all in this together. The challenge to us all is - can we think outside our own problem - to address a greater problem - for all of us.

The title of this article begs that same question.

What percentage of your actions is self-serving?
Since we are mobile focused, I challenge this community to create an app that questions our motives in any given situation. Or is there an app already out there that does this? (edited formatting)
It's pretty obvious on CT scans: http://i.imgur.com/hKZqJUO.png -- and here I've been thinking I had a weirdly lopsided brain for 8 years!
I agree. I have prototyped this in the past, but our current pub/sub was not painful enough for us to go full steam ahead with PG.

However, my design was more bare bones. I was picking jobs by chaining CTE's that did the status update as they returned the first element of the queue.
Even if your apps do not make direct use of FKs (through cascading deletes for example), they, along with other constraints, are smart to have in place for the protection they provide. If every order requires a customer, why not also enforce that rule in the database? The application still has to handle it properly, but the database makes sure it's handled.

Of course you're probably thinking that it's no big deal when you're writing the app and the database at the same time. I will sort of concede that point (although I think constraints, FKs, etc... should all be used unless later performance testing shows they must be removed in certain cases). But, data nearly always outlives the original application. When it's time to add to/update/rewrite the original application code is when you'll be ecstatic to have the business rules enforced in the db.
These decisions are made based on private profit motives. What's good for the environment or the country never even factor into it.
Darcs hub! :-)

https://hub.darcs.net
Heh.

Throwaway account of sorts here. I too am a South Asian who has been in the US for quite a while, and have lived in both red and blue states. I used to live in South Asia and the Middle East.

In my experience, Americans (of all races, including whites), are a ton more welcoming than I've seen anywhere else (well, except Canada of course). In fact, the most welcoming community I lived in was in a red state.

In contrast, people in the countries I lived in are much, much more overtly prejudiced. Here in the US I have no problem having a conversation with pretty much anyone - be they of another race or wealthy or in poverty. In South Asia those who were of a different social class were simply invisible. You don't get to interact much with those higher than you, and everyone pretends the poor simply don't exist.

And so much is dictated by your ethnicity/tribe.

I remember the situation in the US after 9/11. There were bad things happening across the country against people of Muslims or those suspected of being Muslims. But the majority were supportive. I remember my Saudi friend remarking "You know, if white people had done something like this in our country, it would not be safe for them to leave their home. And here I am not worrying at all about being outside. I know the majority has my back."

In over 20 years of living in the US, I've never had someone overtly treat me in a racist manner. Yet back home being treated in a prejudicial fashion was the expectation. Life's simply a lot better in the US.

Clearly, the US has lots of prejudism/racism issues. And it's visible. And you can see it in the statistics. And in my experience it has gotten worse in the last few years. We're not saying the US is alright. But when I look globally, the US is definitely in the better half, and probably pretty high in the better half.

Oh, and if you want an idea of how bad things can be even in Western Europe, I strongly encourage you to listen to Epsiode 684 of This American Life ("Burn it Down"): https://www.thisamericanlife.org/684/burn-it-down

You can see the transcript on the site.

Some of the stuff described there would be pretty outrageous/scandalous in the US. The difference isn't that sutff like this doesn't happen in the US (it probably does), but how the public reacts to it when it becomes mainstream news in a major city.

Oh, and just on the side: We South Asians are not really any better. I can't tell you how many times a fellow South Asian in the US complains about racist white people, and then has no problem making racist remarks about Chinese and African Americans. And when called out on it simply dismiss it with "Well that's just the reality!"
If your brain made decisions outside of your free will which you become conscious of after the fact, then that would manifest itself as a frequent conflict: we would often disagree with the action that was taken. Because we don't disagree, it must be something that is integrated with will.

Concretely, we are not surprised that our finger moved; we believe we wanted to do that and we agree with that action.

Moreover, this readiness potential phenomenon works on short time scales. The will operates on long time scales. I can plan at 11:55 that I will move my finger at 12:00, five minutes ahead. And then when the time comes, do just that. Still, the readiness potential will play out the same way: the commands to move the finger precede the conscious awareness of the finger moving.
It's not an inherent trade-off tech is participating in -it's the result of insensitive policies.

It's not like doing retreats or other things people with families don't like is what causes it to pay more.
Just like everything in California causes cancer, everything Trump says has racial components.

Sheesh - for a racist spouting rhetoric full of racial components Trump is pretty awful at actually being a racist. Just look at his immediate family! He's not only an incompetent politician he's an incompetent racist!
some previous discussion: https://news.ycombinator.com/item?id=21474961
of course systemd is so bloated and monolithic that it's hard to find and identify bugs and flaws in the first place, so it's win-win for them.
We don't need revolutionary design, though. France uses pressurized water reactors to generate over 70% of it's electricity. And they pay half the cost for that electricity as Germany, which shut down its nuclear plants and tried to build solar and wind instead (and their emissions remained mostly flat because of all the gas plants they build to replace their nuclear plants).
Is it possible that increased security after breaches is actually what's slowing down medical staff?
I think he more than anyone knows how related the two are.
> conflate this context with another context in which particles are more general

I can't help it if you want to willfully ignore the meaning of the word "particle" in order to make an irrelevant argument on the internet. You failed to understand the context of my original post and are continuing to double down on this absurd position. Just because you were thinking of just elementary particles doesn't mean that's all that was being discussed.

> It's as helpful as claiming that quarks are a misnomer, because they are obviously not a dairy product.

Quark is a made up word and has nothing to do with dairy. What on earth are you talking about?

How can you sit here and argue that particle isn't a good word for these systems and then say that I'm misusing the word "particle" when I've clearly been pointing out from the start that I don't like the broad application the word has. It's not my fault that the word "particle" means what it does, but you tried to shift the discussion to just the class of elementary particles, not me.

You're literally arguing just to argue. And your need to downvote me and attempt to insult my intelligence instead of having a civil discussion just reinforces what kind of person you are. Please stop embarrassing yourself and read up on these things before interjecting as an armchair physicist.
That's both not true and not the issue here.

If he sells some custom widget he can do whatever he wants with it. Amazon won't even know and/or care about what happens off Amazon. The Amazon.com Retail team probably won't be interested in buying it and selling it for $5 if he's selling it for $4 on his own site, but the marketplace/FBA side of things doesn't care at all… assuming it's actually a custom widget.

You don't explicitly pay for the Prime badge. You need a Professional account to sign up for Seller Fulfilled Prime, but your eligibility is based on volume and performance.
Economies of scale due to monopolistic domination of markets.

The question is how to fix this
There is also no obligations on us to not call out companies for being ageist.

"Shut up or leave if you don't like it" is a very bad form of argument imho.
>Boo hoo. All these companies thinking they can split all their content up and get people to pay for every single service are in for a (totally expected) surprise.

But people complained just as loud when cable TV "made them pay for everything even though they only watch three channels".