I enjoy data analytics, trying out new restaurants, traveling, calligraphy and meeting new people. My favorite part of the United States is my homeland of New England due to the diverse geographical features present within the area, such as the Berkshires mountain range, and rich cultural history present within the region (half of the Ivy League is located within the region and the southwestern portion of New England comprises part of the New York metropolitan area due to its adjacency to New York City).
Also, to tie back into restaurants, the region is home to the finest Italian-American cuisine outside of New York City.
I am passionate about learning about new technologies and helping people realize their potential through technological means. I can daily-drive a Linux distribution if needed, and show you how to as well.
I am interested in technological entrepreneurship and enjoy helping people with their technological needs. If you are a consumer that is in need of help regarding one of the services listed on this page, please do not hesitate to reach out to me via e-mail.
I enjoy reading non-fictional books about philosophy, technology, and science. I also enjoy photography, calligraphy, and writing in my journal. I am also trying to get back into amateur music production (sadly, my tracks are not fire yet).
Nota bene: I am not an active contributor to all of the aforementioned projects nor do I endorse them. I mostly use them to facilitate goals as an end user.
I have expertise in the following languages:
*: POSIX™ is a trademark of the Institute of Electrical and Electronic Engineers (IEEE). The creator of this website does not intend to infringe upon this trademark and is not affiliated with the IEEE as of this writing. Usage on this website is purely for referential purposes.
**: JavaScript™ is a trademark of Oracle® Corporation. ECMAScript is the standard that JavaScript™ is based upon. The creator of this website does not intend to infringe upon this trademark and is not affiliated with Oracle® Corporation as of this writing. Usage on this website is purely for referential purposes.
This was a project used to monitor human-readable changes of an HTML web-page at regular time intervals via the Requests module and converted to human-readable text. It was mostly used for monitoring Wikipedia edits to pages as they occurred (particularly those articles subject to an "edit war").
This was a project used to monitor human-readable changes of an HTML web-page at regular time intervals via the Requests module and converted to human-readable text. It was mostly used for monitoring Wikipedia edits to pages as they occurred (particularly those articles subject to an "edit war").
This was a project used to monitor and account for data storage for various employee working groups and organizational sub-divisions. This was an end-to-end solution that calculated the amount of storage data utilized and emailed respective stakeholders at the individual and managerial level. This project utilized data cleaning, ingestion of various data sources, PostgreSQL Common Table Expressions (CTEs), and management of data via R and Python pandas data frames. To accelerate build times, this also made use of multi-stage builds to limit wasted time to realize the final product.
-----BEGIN PGP PUBLIC KEY BLOCK----- mDMEaBHK9RYJKwYBBAHaRw8BAQdABHmE49M5xk47MGWqrUzb1TLg52qD9BLdBL93 Rm8xgpa0L0FsZXhhbmRlciBTaGFyaWYgPGFsZXhhbmRlci5hLnNoYXJpZkBnbWFp bC5jb20+iJMEExYKADsWIQTe554cYMD59AAAbePJ/UO27FP7sAUCaBHK9QIbAwUL CQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRDJ/UO27FP7sGPUAQC7MiJQh6sN AmClyFR3E9HA4wrG9JB0LL+eULMFi8wyVgEAy1yrRAZcja6tjrba2z3zDwqIfIhi MHko5rs1EQucMQa4OARoEcr1EgorBgEEAZdVAQUBAQdAqqHEc2ZcUMC0T07k5CQW TFYNoDuXnw0kvljp5m+Vjh8DAQgHiHgEGBYKACAWIQTe554cYMD59AAAbePJ/UO2 7FP7sAUCaBHK9QIbDAAKCRDJ/UO27FP7sGpWAP9uMcwprDgrHGPcqkAwdfAJzvWI AokhWxTXOfi8polSRAEApfA02qZzt9F09Hs0cimKvPYypiuc52uOEIcZ3tvo0wg= =fVCm -----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 Bet+IQRliO2hRow5FoQ= =KLeq -----END PGP PUBLIC KEY BLOCK-----
AlexSharif.pub
.
gpg --import AlexSharif.pub
message.txt
.
gpg --armor --encrypt --recipient alexander.a.sharif@gmail.com
message.txt
message.txt.asc
should appear in
whatever working directory you ran the command listed above in.
The encrypted file
message.txt.asc
is the cipher
text that can be securely sent to me via email.
gpg --full-generate-key
.
message.txt
.
gpg --armor --encrypt --recipient alexander.a.sharif@gmail.com
message.txt
message.txt.asc
should appear in
whatever working directory you ran the command listed above in.
Since the encrypted file
message.txt.asc
is the cipher
text that can be securely sent to me via email and decrypted using my secret key, two way secure
communications can now be established.
gpg --armor --encrypt --sign --recipient alexander.a.sharif@gmail.com mess
shows
-----BEGIN PGP MESSAGE----- hF4DYu7Xpz9tDm4SAQdARrXpwfUAxIOd4hne75zGxMmPeO97tXHREARe7r6Q10Ew vVrlwsDfT6P9Z/uYPf6C4V71yKJgqZdxT/m746FkZG/ZsxcqWJRLAnaXtVwyTIJV 1OkBCQIQ2OlOKLcVnyIYlQYM1arvra0X3Tij2/yVuVfKIjdAyISgDozRHS1hvis3 muwTHbVlXGBx9SNVNU+Bu5p2veofyr4XB+ZNlSiRZ+K75D6REVSC/g4VA3FtzCjI zneh4kYj4bVHatHIpUnY60nE+TgbYVN6XWeMQHJNJTedgiV/KVgyRGjtpMw6XQi7 eZbKia8saUkgTNxM3XrwTrDnHOQMoOQ1ciY5AVZegXizqgawc80Y23YzWKqyoHoi MDp5bKlBChtoKyEgEB9gwEYyE0QEgA6gWhbsD7W/jzlvcL32qg0AyGtFbGH7BGJ/ mQwMbahrdfdqbVYCKY7kyZOcUIFZIEspLEsEGE/98IM8djXFMZSN1WxQDv0aQW8r aaXqFB+ePkQdLM6QynPBHTZgj7K2FuwiyBTUy2Jur4B4wfDcy/qxaapF0hFCUtX2 gWz010vtIIvFpaCy0QRbxWpF1+dttpQKESHDdpA8lwfZrve7r/sZLia9xGa2ip6f 6lv9VEhnOluAw/B+flDW4vmsr1tFizfyYEQ8CyQiLe4+2mtOUzZayuqxef0blZcw ohPF4eXvC9f3RdUvwNImfzXNSAlYNLSnMshmoP3g2ytekT72Tl4lhU3vGCrjjihs SmntJnuNjQKlCIcTRrKsuQy6buksH6zMYqb1tvmpKRLwwZgLvfrolEcHdjdVWnpE lvmrQ0bbIyDwkKzoKvztrmD202+X98GbLZ66J1tFJvjGtdyrtYmFhzyqiuLXvg70 Ew9ODft6v2O2FsFXV6CEdjaABSZRMC0oGma1F4lzAvtI7QIu2q42iwAv86amrWWG iGbd8X0mCjx3dUk5oDsZg2kIgCdTvdEFBz2uGiL7QmC6+GxQtxsfG/HHqQ== =Lc3t -----END PGP MESSAGE-----and subsequent decryption of the message shows both the original plaintext and the signature validity string as follows:
gpg --armor --decrypt --recipient alexander.a.sharif@gmail.com mess.asc
Hello.
gpg: Signature made Thu Aug 21 09:41:10 2025 EDT
gpg: using RSA key 8A54728AA645C8E675B3C06A2D2BB647DEC09581
gpg: Good signature from "Alexander Sharif <alexander.a.sharif@gmail.com>" [ultimate]
The "Ultimate" key trust implies that it is essentially you communicating with yourself.
You can also use commands like
gpg --clearsign sample
(sample
is the document being signed) that maintains unencrypted content and a signature
block.
For example, consider the output of the previous command from sample.asc
document from the
fictitious person Judge Q. Public (Note that the message is also hashed):
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 To Whom It May Concern, This is being made official. Regards, Judge Q. Public -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEilRyiqZFyOZ1s8BqLSu2R97AlYEFAminO7YACgkQLSu2R97A lYFWAA/+OudBuLH+0yOdEs4OfB3ZkATLMftQgaYZThwrcLZ0whjZdV8mtLJw4M4D VcnB9wp2+PPuAc4pPNS6VKXKc97+HsZeeTFa5ghqFTG9eashdTEZe9u4Cuf5BctU ObuWblqEonoG9TV5NuvWrBpvooVEwYDXXcXbdslIuTOSxqEgkS+uP9sOqkEkwRPG rQ0v4EDnrUvbnKv31cLlqfsm0W9qFsEWpOv0JMP9o5Y9AUITYaMa1e9mnWTkXp0O djLtRkDgNAT0aeObG21I3fuBpAgrEWYv1pbGFPc/ChjPO/AWgGK+L6+4Yqu362xn rkCtyE8CZS8E4RNI0q1dYdWA2Wjuwz7KGV4kC3YEEZBnGQe7tgDdEXy39Env/zqU F56exU4n8Oab8HXNbfLC7vj47VQR7/Np3c/4dlT7+GK4pdL0G97EzA192hJafdB2 67kDAtK7Wv3PetlvvluC1fIG5EtRgLQVu4sItDHQ+ZZdAwkId9pZUQPIx+xQno+d Oh682+tRrCXQ0shGCY41JRLzVRfTflDTOWV0Pk4NIrMsaEV1G7x+zevSZmTBjHmo klwz9KJe5wv1lHY6zvN3UMFZ9jW+ZAPteLjyYPhgi8joT7hk1KlaJ1xfucFH+uAz 0jhxJ+bUmLqh5AtHufdTnaD/WILER4I/tBFtrSxc7kHeO1jCZ+c= =RqPB -----END PGP SIGNATURE-----
This is firstly, a personal website. While GPG is one of my favorite technologies, I have unfortunately contributed nothing to the project other than spread awareness of how it can and should be used. Therefore, I am including a list of common references for the GPG security and security in general:
Copyrighted by Alexander Sharif, all rights reserved unless otherwise stated. 2025 (© 2025)
This website is provided for informational purposes only. No warranty is expressed or implied. Use the information at your own risk; the author is not responsible for any damage or data loss resulting from the use of these materials.