Why you do what you do?

Interesting and enlightening video. I often think I know why I do what I do, being able to give a convincing and logical explanation on a certain action which I happened to perform. Under the same conditions at another time and place I may very possibly choose to perform some other actions, and I can very well be able to give an equally convincing explanation.

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

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.

Psychology and life

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.

Code Review

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

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

docker compose file creation

This tool will convert a docker run command into a docker compose file.

https://www.composerize.com/

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

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