{"generator":"Jekyll","link":[{"@attributes":{"href":"https:\/\/alykhan.com\/feed.xml","rel":"self","type":"application\/atom+xml"}},{"@attributes":{"href":"https:\/\/alykhan.com\/","rel":"alternate","type":"text\/html"}}],"updated":"2021-02-28T01:22:04+00:00","id":"https:\/\/alykhan.com\/feed.xml","title":"Alykhan Kanji","subtitle":"The website of Alykhan Kanji. See Alykhan's social media profiles and professional portfolio.","entry":[{"title":"SSH Configuration","link":{"@attributes":{"href":"https:\/\/alykhan.com\/blog\/2015\/07\/16\/ssh-configuration\/","rel":"alternate","type":"text\/html","title":"SSH Configuration"}},"published":"2015-07-16T00:00:00+00:00","updated":"2015-07-16T00:00:00+00:00","id":"https:\/\/alykhan.com\/blog\/2015\/07\/16\/ssh-configuration","content":"<p>If you use <a href=\"http:\/\/www.openssh.com\">OpenSSH<\/a> to connect to <a href=\"https:\/\/tools.ietf.org\/html\/rfc4251\">SSH<\/a> servers on a regular basis, you may benefit from using an <a href=\"http:\/\/www.openbsd.org\/cgi-bin\/man.cgi\/OpenBSD-current\/man5\/ssh_config.5\">SSH configuration file<\/a>. This will help you to shorten long commands:<\/p>\n\n<div class=\"language-bash highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>ssh <span class=\"nt\">-p<\/span> 2222 alykhan@student.cs.uwaterloo.ca\n<\/code><\/pre><\/div><\/div>\n\n<p>into an easily customizable shortcut:<\/p>\n\n<div class=\"language-bash highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>ssh cs\n<\/code><\/pre><\/div><\/div>\n\n<p>This is accomplished by creating a text file located at <code class=\"language-plaintext highlighter-rouge\">~\/.ssh\/config<\/code> on your local machine with a few pieces of information and ensuring a specific set of permissions are applied to that file.<\/p>\n\n<h2 id=\"setup-instructions\">Setup Instructions<\/h2>\n\n<ul>\n  <li>Make the <code class=\"language-plaintext highlighter-rouge\">~\/.ssh\/<\/code> directory if it does not already exist:<\/li>\n<\/ul>\n\n<div class=\"language-bash highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nb\">mkdir<\/span> ~\/.ssh\/\n<\/code><\/pre><\/div><\/div>\n\n<ul>\n  <li>Set the <a href=\"https:\/\/en.wikipedia.org\/wiki\/File_system_permissions#Symbolic_notation\">permissions<\/a> for the <code class=\"language-plaintext highlighter-rouge\">~\/.ssh\/<\/code> directory such that it is readable, writeable, and executable for <strong>only<\/strong> the current user (i.e. <code class=\"language-plaintext highlighter-rouge\">rwx------<\/code>):<\/li>\n<\/ul>\n\n<div class=\"language-bash highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nb\">chmod <\/span>700 ~\/.ssh\/\n<\/code><\/pre><\/div><\/div>\n\n<ul>\n  <li>Create a text file at <code class=\"language-plaintext highlighter-rouge\">~\/.ssh\/config<\/code> following this example format:<\/li>\n<\/ul>\n\n<div class=\"language-plaintext highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>Host cs\n    HostName student.cs.uwaterloo.ca\n    User alykhan\n    Port 2222\n<\/code><\/pre><\/div><\/div>\n<p>Note that this file must also meet specific permissions requirements as specified by the <a href=\"http:\/\/www.openbsd.org\/cgi-bin\/man.cgi\/OpenBSD-current\/man5\/ssh_config.5\"><code class=\"language-plaintext highlighter-rouge\">ssh_config<\/code> man page<\/a> (i.e. <code class=\"language-plaintext highlighter-rouge\">rw-------<\/code>):<\/p>\n\n<blockquote>\n  <p><code class=\"language-plaintext highlighter-rouge\">~\/.ssh\/config<\/code> \u2014 Because of the potential for abuse, this file must have strict permissions: read\/write for the user, and not accessible by others.<\/p>\n<\/blockquote>\n\n<div class=\"language-bash highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nb\">chmod <\/span>600 ~\/.ssh\/config\n<\/code><\/pre><\/div><\/div>\n\n<h2 id=\"usage\">Usage<\/h2>\n\n<p>Congratulations! You may now connect to the SSH host via:<\/p>\n\n<div class=\"language-bash highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>ssh cs\n<\/code><\/pre><\/div><\/div>\n\n<p>Feel free to add multiple <code class=\"language-plaintext highlighter-rouge\">Host<\/code> entries to the <code class=\"language-plaintext highlighter-rouge\">config<\/code> file, to have quick access to different <code class=\"language-plaintext highlighter-rouge\">HostNames<\/code> via shortcuts like <code class=\"language-plaintext highlighter-rouge\">ssh website<\/code>, <code class=\"language-plaintext highlighter-rouge\">ssh work<\/code>, etc. Each of these entries may also have different <code class=\"language-plaintext highlighter-rouge\">User<\/code>, <code class=\"language-plaintext highlighter-rouge\">Port<\/code>, and other configuration values.<\/p>","author":{"name":{}},"category":[{"@attributes":{"term":"secure-shell"}},{"@attributes":{"term":"devops"}}],"summary":"If you use OpenSSH to connect to SSH servers on a regular basis, you may benefit from using an SSH configuration file. This will help you to shorten long commands:"},{"title":"Friendly UW Email Addresses","link":{"@attributes":{"href":"https:\/\/alykhan.com\/blog\/2014\/09\/19\/friendly-uw-email-addresses\/","rel":"alternate","type":"text\/html","title":"Friendly UW Email Addresses"}},"published":"2014-09-19T00:00:00+00:00","updated":"2014-09-19T00:00:00+00:00","id":"https:\/\/alykhan.com\/blog\/2014\/09\/19\/friendly-uw-email-addresses","content":"<p>If you have a number in your University of Waterloo email address (e.g. <code class=\"language-plaintext highlighter-rouge\">j9smith@uwaterloo.ca<\/code>), log in to <a href=\"https:\/\/watiam.uwaterloo.ca\/idm\/user\/\">WatIAM<\/a>, navigate to \u201cUpdate Profile\u201d, switch to the \u201cEmail Configuration\u201d tab, and check if you have a \u201cFriendly email address\u201d available to you. You may be able to claim the alias for your <code class=\"language-plaintext highlighter-rouge\">firstname.lastname<\/code> (e.g. <code class=\"language-plaintext highlighter-rouge\">john.smith@uwaterloo.ca<\/code>)!<\/p>","author":{"name":{}},"category":[{"@attributes":{"term":"email"}},{"@attributes":{"term":"university-of-waterloo"}}],"summary":"If you have a number in your University of Waterloo email address (e.g. j9smith@uwaterloo.ca), log in to WatIAM, navigate to \u201cUpdate Profile\u201d, switch to the \u201cEmail Configuration\u201d tab, and check if you have a \u201cFriendly email address\u201d available to you. You may be able to claim the alias for your firstname.lastname (e.g. john.smith@uwaterloo.ca)!"},{"title":"Learning by Struggling","link":{"@attributes":{"href":"https:\/\/alykhan.com\/blog\/2014\/08\/28\/learning-by-struggling\/","rel":"alternate","type":"text\/html","title":"Learning by Struggling"}},"published":"2014-08-28T00:00:00+00:00","updated":"2014-08-28T00:00:00+00:00","id":"https:\/\/alykhan.com\/blog\/2014\/08\/28\/learning-by-struggling","content":"<blockquote>\n  <p>\u2026praising someone's process (\"I really like how you struggled with that problem\") versus praising an innate trait or talent (\"You're so clever!\") is one way to reinforce a growth \u00admindset with someone. Process\u00ad praise acknowledges the effort; talent\u00ad praise reinforces the notion that one only succeeds (or doesn't) based on a fixed trait.<\/p>\n  <footer>\n    <cite title=\"Huffington Post\"><a href=\"http:\/\/www.huffingtonpost.com\/salman-khan\/the-learning-myth-why-ill_b_5691681.html\">The Learning Myth: Why I'll Never Tell My Son He's Smart<\/a><\/cite>\n  <\/footer>\n<\/blockquote>","author":{"name":{}},"category":{"@attributes":{"term":"education"}},"summary":"\u2026praising someone's process (\"I really like how you struggled with that problem\") versus praising an innate trait or talent (\"You're so clever!\") is one way to reinforce a growth \u00admindset with someone. Process\u00ad praise acknowledges the effort; talent\u00ad praise reinforces the notion that one only succeeds (or doesn't) based on a fixed trait. The Learning Myth: Why I'll Never Tell My Son He's Smart"},{"title":"Writing an Outstanding R\u00e9sum\u00e9","link":{"@attributes":{"href":"https:\/\/alykhan.com\/blog\/2014\/08\/27\/writing-an-outstanding-resume\/","rel":"alternate","type":"text\/html","title":"Writing an Outstanding R\u00e9sum\u00e9"}},"published":"2014-08-27T00:00:00+00:00","updated":"2014-08-27T00:00:00+00:00","id":"https:\/\/alykhan.com\/blog\/2014\/08\/27\/writing-an-outstanding-resume","content":"<blockquote>\n  <p>Being strikingly different is sometimes just a matter of doing what everyone ought to do, and then doing it a bit better.<\/p>\n  <footer>\n    <cite title=\"Strikingly\"><a href=\"http:\/\/blog.strikingly.com\/tips-and-how-tos\/5-ways-make-resume-work\/\">How To Write A Resume That Will Take You To The Top<\/a><\/cite>\n  <\/footer>\n<\/blockquote>","author":{"name":{}},"category":{"@attributes":{"term":"r\u00e9sum\u00e9"}},"summary":"Being strikingly different is sometimes just a matter of doing what everyone ought to do, and then doing it a bit better. How To Write A Resume That Will Take You To The Top"},{"title":"Hello, World!","link":{"@attributes":{"href":"https:\/\/alykhan.com\/blog\/2014\/08\/26\/hello-world\/","rel":"alternate","type":"text\/html","title":"Hello, World!"}},"published":"2014-08-26T00:00:00+00:00","updated":"2014-08-26T00:00:00+00:00","id":"https:\/\/alykhan.com\/blog\/2014\/08\/26\/hello-world","content":"<p>Hello, World!<\/p>","author":{"name":{}},"summary":"Hello, World!"}]}