Falsehoods programmers believe about email

I will be the first to admit that I make all kinds of assumptions when seeing an email address from someone. https://beesbuzz.biz/code/439-Falsehoods-programmers-believe-about-email Everyone has an email address Everyone has exactly one email address An email address never changes Whenever an address does change, it’s under that user’s control Whenever an address does change, it’s because the user specifically requested it to happen Whenever an address does change, the old address will continue to work/exist Any one email address refers to only one single person Unique strings of characters all map to different addresses All email is hosted by a centralized system When email is sent to a user at a domain, it is delivered to a server whose address matches that domain When email is sent by a user at a domain, it is sent by a server whose address matches that domain All email comes from a .com, .net, .edu, or .org address You can filter out email based on the TLD or ccTLD from which it originates Having a particular ccTLD means that you prefer to receive communications in that country’s native language (for example, .fr → French) Email addresses only contain letters Email addresses only contain letters and numbers Email addresses only contain letters, numbers, and a handful of common punctuation marks (e.g. ., _, and -) Email addresses will have at least one letter in them An email address like ^_^@example.com or +&#@example.com is invalid Email is a reliable transport Email is an instantaneous transport Emails will be sent within a few minutes of their scheduling Emails will be sent within a few hours of their scheduling Emails will be sent within a few days of their scheduling Emails will be received soon after they’re sent When an email is sent it immediately goes to its destination server If an email bounces, the address is invalid If an email doesn’t bounce, the address is valid An address which is valid will always be valid, and an address which is invalid will always be invalid All email is sent via SMTP over TCP/IP port 25 All email is sent via SMTP over TCP/IP All email is sent via SMTP over IP All email is sent via SMTP All email servers support the various vendor extensions by the current “everyone uses this vendor” vendor (Microsoft, Google, etc.) An email can only have one From: address The Date: header on a message is legitimate The Received: headers will always be no earlier than the Date: header All email clients support HTML attachments All email clients support HTML message bodies All email clients support MIME encoding Email is secure Encrypted email is secure All email is accessed via webmail All email is accessed via webmail or IMAP All email is accessed via webmail, IMAP, or POP3 Nobody uses email anymore

September 1, 2022 · 3 min · birdchan

True size of countries

https://www.thetruesize.com/ It is hard to represent our spherical world on flat piece of paper. Even though Greenland looks really big on the map, Greenland being 0.8 million sq. miles is much smaller than Africa being 11.6 million sq. miles.

August 21, 2022 · 1 min · birdchan

Psychology and life

June 11, 2022 · 0 min · birdchan

IAM demystified

https://start.jcolemorrison.com/aws-iam-policies-in-a-nutshell/ IAM is basically Who can do what to which resources. When do we care? Nice article.

March 16, 2022 · 1 min · birdchan

Code Review

Ref: https://www.morling.dev/blog/the-code-review-pyramid/

March 11, 2022 · 1 min · birdchan

Reversing emojis

Interesting read. https://davidamos.dev/why-cant-you-reverse-a-flag-emoji/ ` flag = “🇺🇸” reversed_flag = flag[::-1] print(reversed_flag)🇸🇺 ` https://stackoverflow.com/questions/64136641/how-to-reverse-a-string-that-contains-complicated-emojis A library that does the reverse operation correctly. https://github.com/dotcypress/runes

January 28, 2022 · 1 min · birdchan

docker compose file creation

This tool will convert a docker run command into a docker compose file. https://www.composerize.com/

January 15, 2022 · 1 min · birdchan

ENTRYPOINT vs CMD

The ENTRYPOINT specifies a command that will always be executed when the container starts. The CMD specifies arguments that will be fed to the ENTRYPOINT. FROM debian:wheezy ENTRYPOINT ["/bin/ping"] CMD ["localhost"] $ docker run -it img google.com Ref: https://stackoverflow.com/questions/21553353/what-is-the-difference-between-cmd-and-entrypoint-in-a-dockerfile/34245657#34245657

January 3, 2022 · 1 min · birdchan

Digital fingerprinting

Turns out incognito mode doesn’t quite protect privacy, websites can still track us. https://github.com/gautamkrishnar/nothing-private https://github.com/jackspirou/clientjs

November 6, 2021 · 1 min · birdchan

Data Fallacies to Avoid

https://www.geckoboard.com/best-practice/statistical-fallacies/

November 4, 2021 · 1 min · birdchan