skysight-inc/HackerNews huggingface dataset:
Ask HN: Best tutorial on how email works?
I've been working on installing Postfix, Dovecot, OpenDKIM, OpenDMARC, and Roundcube on my own AWS instance lately. It's going OK...

I've begun to become curious about how exactly email works on a network level. Perhaps if I understood that better, I would be better equipped to get what I'm trying to do done.

There are thousands of articles out there when you search "How does email work?" on Google.

I assume HNers could point me in a better direction that Google could on this matter, however.
Rust solves this issue by having a ? operator to bubble up Errors. Before that there was the try! macro with the same semantics. That cuts the boilerplate to a minimum while having a well defined and explicit control flow.

I agree that if you had to write the ifs by hand it would be a pita. Looking at you, Go.
Hey, site down?
I have trouble seeing Element as a solution for anything, to be honest. My experience with it is that it’s slow, has cumbersome/confusing UX and is unreliable. I recently re-evaluated it and came to the same conclusion.

I want it to succeed, but the base line should be being better than Teams in those points and I see it far from it.
Second one is way easier to read, even though it's verbose on purpose.
You can also focus upon a specific niche and dig in.

The big cloud vendors are looking for products with mass appeal or that they think will have mass appeal.

So if you are building for with a business plan that calls for a hundred of thousands of users and more as fast as possible, you will quickly come up on the radar of the cloud providers (and others).

If you find a niche to be in, you probably won't be a unicorn in 5 years, or ever, but there is good money to be made and successful businesses to create. (Not nearly as sexy)

Of course, you can still get ripped off by a company wanting to be in the same space, usually, but not always, this becomes a fight between two companies of non FAANG status, so competition is a bit fairer.

It really help to hire domain experts in your niche.
They dont have to be technical at all.
Just have long experience with the business domain adn
be able to talk to executives and be taken seriously.

Coming in as a "hot startup" is in my experience not impressive to potential clients.

I worked for one company who did all this and they are still going strong making good money. Often in this space you can charge a lot of licenses.

I started my own several years ago and we outcompeted the legacy offering. Our biggest problem was that clients were locked into multiyear contracts with the competition, so conversion, even if interested was high, took time.
Decent review! I've been fascinated by this topic for a while. I think the real magic is of course in the specifications of the details, but I do think it's innevitable that AI-generated (or assisted) music will come to dominate the field as it democratizes what is currently a more specialized skill set.

I've always found the resistance to the idea of AI-generated music a bit odd, but I think it stems from a more philosophical idea about where beauty comes from. For example, it's tempting to imagine that the beauty of a Beethoven symphony comes from Beethoven himself, thus his music facilitates an intense personal emotional connection across time and space. The idea of AI music challenges this notion a bit; if AI "composed" something beautiful, and its decisions were not founded on emotions, where is the beauty coming from? Of course, I'd say the beauty is in the natural phenomenon of music itself; the beauty is in the human brain's ability to have a sense of "music" at all. In this way, a connection to Beethoven through his music is a shared recognition of the beauty of certain natural musical phenomenon. The beauty did not come from Beethoven, rather it was "captured" and shared by Beethoven.

As far as the business side goes, I've definitely found that there's interest in at least AI-assisted music composition, both from a melody-generating app I used to sell some years ago (limited as it was), and just collecting emails for a new web app I'm working on at https://www.tunesage.com/ ... I know there are already other services out there too for AI music, and I expect the space will continue to grow. I think it's gonna be awesome. :)
> The only argument for not getting the vaccine would be if you thought you had a better than average chance of never encountering the live virus.

Of course nobody reasonable is saying "Go out and try to get the virus! It's better than the vaccine!" But your comment overlooks a significant and growing population: the people who have already been infected.

Last year, a WHO official estimated that as much as 10% of the world population might have already been infected. A year later, given the spread of Delta, it would not be surprising if that estimate was substantially higher.

What do you advise the previously infected to do? It is scientifically dishonest to dismiss the strong and growing evidence we now have that natural immunity is robust and likely in some respects superior to that provided by the vaccines.

https://www.sciencemag.org/news/2021/08/having-sars-cov-2-on...

https://www.rockefeller.edu/news/30919-natural-infection-ver...

> ...the only decision you really have is whether that will be self-administered and self-limiting, or wild and replicating uncontrolledly.

Yes, the risks of a natural infection in an unvaccinated person causing severe illness are undoubtedly higher, but let's not slander the human immune system. Young, apparently healthy people do get sick and die, and some report debilitating symptoms that linger, but if you look at the overall numbers honestly, you have to acknowledge that the vast, vast majority of people who are not old and who don't have metabolic disease don't get seriously ill and die from COVID, they recover just fine. And a double-digit percentage of people never even display symptoms.

This thing isn't Ebola and vaccination marketing that presents it as such is, not surprisingly, proving to be less than persuasive to lots of people.
Access Controller: A highly scalable implementation of Google's Zanzibar
"Sherman, set the Wayback Machine!"

"What year, Mr. Peabody?"

"Any year when Notepad was still my IDE of choice!"
That does sound more likely. There was a rotary switch on that single line to the eproms, but the kit did come with a warning you shouldn't switch them while the computer was running. Was certainly a lot easier than levering out your expensive eprom. In retrospect it was a stupid way to distribute software, but the microbee couldn't fit the word processor and assembler in memory at the same time.
I can't imagine anything more harmful to minors than being exposed to even more communist propaganda, which is what this new restrictions aims to do.
The problem is not that spammers will buy your boxes and subscriptions and ISP connections in order to spam.

The problem is that spammers will get into your customers' boxes and use them to spam.
To be fair. Oauth works completely without SDK as well, you just have to call the right URLs with the right parameters.

Aren't there any third party oauth libs for php?
Outsourcing Software Development: Ukraine vs. Poland
Figure out more about the Ukrainian and Polish outsourcing IT markets and check out what things make them different.
Have you considered using patterns that help dealing with that?

like Railway Oriented Programming

https://www.youtube.com/watch?v=45yk2nuRjj8

I believe that almost every thing should return Result<T>, because almost everything can fail and compiler should scream when you do not handle those fail pathes.

That makes me believe that C#'s "FirstOrDefault" for value types sucks, because you're never sure whether the "Default" comes due to lack of value or because the found value is actually the same as default

e.g

var list = new List<int> {1,2,3};

var found = list.FirstOrDefault(x => x < 1);

found = 0 (default)

meanwhile 0 may be valid value! so we aren't sure whether it is error or an actual value

and we have to perform e.g casts to `int?` or stuff to detect that.

using Result<T> gives very precise information
“Real programmers fix bugs in production”.
If your plan is to move away from O365 frying pan them jumping into Google's fire is definitely not the way to go.
This gives a new spin/explains the tagline on their website as well:

"The game engine you waited for."
If your worry is violating Schrems 2 https://iapp.org/news/a/the-schrems-ii-decision-eu-us-data-t... why would you choose Gmail?
A well-done advertorial of their (terribly expensive) Smart Links product.
Great article. But ia it ne ot ia the english strange and slightly pretencious?
Why Is It Necessary To Hire A Professional Hacker?: https://www.hackerslist.co/why-is-it-necessary-to-hire-a-pro...
Obviously most will be unrelated and not caused by vaccines. It is not even clickbait but simply false. The title is written either due to ignorance or intentional malice.
No one reads the readme anymore?
https://github.com/googleapis/google-api-php-client#cleaning...
"Cleaning up unused services
There are over 200 Google API services. The chances are good that you will not want them all. In order to avoid shipping these dependencies with your code, you can run the Google\Task\Composer::cleanup task and specify the services you want to keep in composer.json:"
>However for most turns (higher-speed) the curvature is less significant so the handlebars don't really turn at all

Is it possible to turn a bicycle at higher speeds without leaning? Ie turn like a car by just turning the front wheel. I've tried it a few times and it's been very difficult.
The way I implement Google logins on my pages is using the email to create a traditional user account that can also login with a password. Sometimes I even force the user to setup a password.

I am no fan of the idea either, but I like the option to login on a single click.
It all comes down to generating tokens. The dominant paradigm is to compose the music by generating the next token based on the last few seen tokens, then take that and generate the next token, and so on. No one has been able to significantly improve upon that. All development in the last ten years or so has been about creating ever larger models with more data so that emitted sequences will stay coherent for longer. The problem with this paradigm is that it works amazingly well for short sequences, but often fails to stay coherent for longer sequences. So composing interesting ten seconds long instrumental music is a solved problem - composing full songs three-to-five minutes long is far beyond the reach of current state-of-the-art.

Text-generating models suffer from the same problem. E.g. GPT-3 will generate two to three-hundred tokens or so and then it will begin to spout nonsense. That it still works so well is because it's trained with a massive corpus and because its tokens are richer. It operates on the world level, while most music composition models operate on the note level which are more analogous to characters than words. If someone were to be able to figure out how to represent multi-instrumental compositions using "music vectors" (analogous to word vectors) that would probably lead to a major breakthrough.
It's so easy to think you have backups when you don't.

I have the following setup: my main machine is Windows and my photos are on a local NTFS drive, that is backed up (mirrored) on a Netgear NAS via rsync; I rotate the backup drives on a weekly basis.

Every time the backup job runs it sends an email to tell me how it went. The email is sent via gmail. This used to work well but at some point (a year ago maybe?) gmail decided this was "unsecure" and stopped forwarding the emails. Instead it sent a notice that "somebody tried to send an email and we blocked it".

I couldn't be bothered to fix it and accepted the gmail warning notice in lieu of the actual Netgear backup report.

Then eventually I upgraded the email notification system... only to find out that the backups were failing systematically.

Luckily nothing was lost as the main drive was fine; I was able to fix the problem and do the backups correctly.

But of course it could easily have gone a different way: the main drive could have failed and with empty mirrors there would have been no solution, and I would have had only myself to blame.

It is so easy to tell oneself that everything is a-okay when it really isn't.
Plasticizers are very rarely used for polymers whose name is not PVC.
Its not surprising that there is a strong lobby for gas.

There is a lot of obvious evidence german politicians are pushing for Nord Stream 2.

When ex German Chancellor Gerhard Schroeder becomes the chairman of Nord Stream 2 after his term is over some warning lights should be going off.

Do you think the campaign to kill off all the evil nuclear plants is a random happening? When you have to make room for all that gas?
> Running without a subscription is not something we currently support because of a lot of variables that can prevent email from working consistently

No problem. I see the technical difficulties with that and that you don’t want to support it. But is it possible?

If you want peoples’ (definitely mine) trust I’d suggest clearly decoupling the subscription from the device and communicating that it’s only for the E-Mail routing.

Otherwise it feels like renting a device with some extra initial cost, which is like 20% as good as actually owning something (If I’m already renting just take away the setup cost and make it 12$/mo).
The Gaudiya Vaishnava tradition sees Krishna as the original form of god. Every other school considers Krishna to be an avatar of Vishnu. Chaitanya Mahaprabhu is considered an avatar of Krishna by Gaudiya Vaishnavas while everyone else sees him as a mortal devotee of Krishna and not Krishna himself.

These are fundamental differences in theology. Prabubada's translation is in service of the beliefs of his lineage which at times are decidedly against what the mainstream believes.

The fact that ISKCON is popular in a country where less than ~1.5% of the population identifies as Hindu doesn't mean that they are representative of mainstream Hinduism.

There are probably dozens of other translations by bonafide practitioners of other lineages which are closer to what the vast majority of Hindus actually believe.
There's nothing childish or hysteric about caring about principles.

> How could you be this naive? Especially after the Snowden revelations.

You make a good argument, but you're wrong to dismiss the slippery-slope counter-argument. This move by Apple is normalizing your own devices betraying you. Like if door locks all had a master key the police could use to open them. It doesn't matter that they're easy to lockpick, what matters is the principle, because that is what stops you from taking the first step down a very dark road. And every step along that road will be portrayed as the "first".

As for "do you really think that a powerful government like China or the US can't already do it???" - this argument can be used to dismiss any effort at preserving privacy.
I think you could make a venn diagram out of 'building the right thing' and 'building it right' and the intersection of the two is the sweet spot where a successful and sustainable product might land. Or, more likely, it's where one might gravitate to over time as the business matures.

Even within that spot there's room to shift focus - sometimes you'll want to work on technical excellence, shoring up bugs, paying off tech debt. Other times it'll be a case of taking on a bit more debt in order to innovate. The proportions of building it right and building it the right way will shift but never so far as to abandon one of those principles.
Maybe more might if there wasn't a giant ball in the sky spraying photons.
Smarter than many humans.
That was a very interesting read. Thank you for sharing. I could really use some of the other color spaces presented too.. in some other situations.. I'll just need to figure out how to plug them into my workflow :)

It's strange but the first linear color space (CET-L03 red-yellow-white) seems to go to a lightness of 100. On the far right it looks white as expected. However the other one (CET-L20) looks very nice, but it doesn't seem to reach 100. Even though in the plots and explanation it suggests it does. Strange..
What do you mean with "most of those formats were made there"? The only thing I can think of is early digital video camera codecs. Even when these were created, MPEG-1 and H.261 had been around for years.
Show HN: Paper – Bookmarking and note-taking extension for VSCode
I personally don't get meeting fatigue, I like a bit of human interaction that isn't my partner. I moreso don't like useless meetings or feeling a meeting is unnecessary but I'm attending to keep my superiors happy.
If you read the original Nobel-winning paper by Penzias and Wilson discovering cosmic background radiation, they explain that their original assumption for the background noise was “biological” in origin, i.e. bird droppings.
Not really. They still push them to be the best they can be. It's just that the expectations are more realistic.
I would assume to make it easier to find?

I do something similar by setting cursorline and cursorcolumn. It gives me a (more subtle) full-file crosshair showing where the cursor is.
Cloning a product requires you to clone the API bug-for-bug an locks you in architecture-wise quite a bit, since your interface must be similar. This requires you to solve problems the same way the original software did, but doing so similarily well might not be easy. Also, this takes time.

Then, once you cloned the software, you still need to convince the customer base to switch.

It's far easier to simply write a check and get code, talent and customers at once without delay.
The only waste in software development are product teams full of MBAs
"new battery tech" and "fusion is 10 years away" - name better duo
> errors are such an integral part of our programs, and have so much to do with flow control, that I don't believe thinking about errors just as values is enough

Exactly. The control flow. Both errors and asynchronous programming share the quality that they don't go well with our call/return based programming model(s). You have to return something, but you either don't have anything (error) or don't have something yet (async).

A great solution to this is to use dataflow. This decouples the logic, which is encoded in the dataflow, from the control flow, which just serves to drive the dataflow, and thus negotiable.

For async, it is synchrony-agnostic, which is nice, because it solves, or rather sidesteps, the "function colouring" problem. For errors, it allows you to keep error handling out of the happy path without needing exceptions.
Tunisia’s Unique Identifier format validator
This seems to be down
LiMux
Managing large volumes of digital photos is still an unsolved problem.

I have tens of thousands and they are probably my most treasured possession.

It’s quite concerning that they are languishing on Google Photos, with a few partial backups floating around that I’m not confident in.

I have had a few attempts at cleaning it up but haven’t found the right software.

I would also like to print my favourites, which probably also amounts to thousands of pictures, but working through the sheer volume is quite intimidating.

Feels like the whole thing needs a better workflow around it.
“Programming with exceptions is difficult and inelegant”

Nonsense.
Skype was Estonian.
hehe. In india, a couple months ago they did an experiment of launching a big ticket movie online for the first time. Here is how they put it, after you pay
.
open this page https://www.zee5.com/zee-plex-movies-on-rent
and click on how it works. then "How to buy and watch ZEEPLEX movies?".

they say "buy and watch" but then say "pay per view service", then there are stupid watch time requirements and all that.

piracy is 1 click, just press play. then these idiots go and equate piracy as a heinous crime
I think the article is less about grafana/elastic/mongo type scenario and more about closed source SaaS.

We were in the "other side" of this situation a couple of years ago in a previous startup: We were almost ready to sign with DataRobot what we thought was a shitty deal. We were a pretty established FinTech with a good DataScience team looking for ways to streamline our ML process. DataRobot was a good option but the terms were super crappy, and the "aura" of the company was like "though luck if you don't like it". Just about 1 week before we were going to sign, AWS released their ML engine SageMaker with the typical "pay as you go" billing. We lucked out and went with that. Not sure what datarobot is doing now but SM deffinitely cost them a sale.
From my understanding the other goal that is often overlooked is that limiting resources on unmetered workloads prevents those processes from depriving others (and the host) of resources. It's mostly just a catch-all situation, but I would expect there to be ways to fine-tune this behavior.
This doesn't even account for the number of people who have multimonitor setups and no particular connection between camera position and where the call window might be.
Im afraid that AI will overwhelm us with perfect amazing music (and other creations) that we will come to a familiar situation that Alan Watts describes : "And you would, naturally as you began on this adventure of dreams, you would fulfill all your wishes. You would have every kind of pleasure you could conceive."

And then in this world overwhelmed with perfection we will fall back to that untraceable aspect of human creation that keeps us in awe. Of course we will be much more comfortable in that advanced world in a sense of fulfilled basic needs, but self actualisation (from the pyramid of needs) i guess will never be achieved by AI :)
True, this is often compared to the "traditional" way off physical meetings without reflecting that they can laso be seen as an alternative to something else istead of being something like the baseline.

And there actually is meeting fatigue caused by often badly ventilated meeting rooms.
Summing up:

- the hardware looks okay

- the mandatory subscription provides value, but if the company folds, all the services go away and there's no instructions on how to set them up yourself -- at which point you might as well have bought an RPi with a preconfig'd distro.

- The selling point is "escape Big Tech" but the services are provisioned via AWS.

- The CEO is arguing with people here telling them that they are wrong about what they want.

- The owner doesn't have root access and Helm does. They promise that they can't look at your stuff, but of course they can.
I feel the same exact way. I have 60,000+ photos to go through, edit, and remove.

Where do I even begin? What app do I use to go through them all?

I've searched and tried out many apps and I still don't have a good workflow.

I truly don't understand how the pros do it.
Prohibition didn't work out well elsewhere. I see a new underground
We have outlined this within our architecture[1], but I left out Poly1305 in my previous comment in the context of the original question comparing XChaCha20 with AES256.

The devil truly is in the details. :)

[1]: https://ente.io/architecture#implementation-details
This was bread and butter error handling in COM, everything old is new again!
The article I actually quite like, but the headline is misguided. The market for scientific knowledge is called SciHub. That is precisely where the natural economic equilibrium lives.

The scientific publishing industry exists because of either (a) inertia as we move to the new equilibrium or (b) because of government regulations and interference via IP law. And even that isn't enough to stop market forces. The marginal cost to copy knowledge is around 0.
Because they performed miracles. If you argue that those were real and magic is not, then that's just a matter of perspective.