├── .gitignore ├── LICENSE ├── README.md ├── _config.yml ├── _data └── menu.yml ├── _includes ├── footer.html ├── head.html ├── header.html ├── image.html └── nav.html ├── _layouts ├── default.html ├── page.html └── post.html ├── _posts ├── 2018-01-10-post-1.markdown └── 2018-01-10-post-2.markdown ├── _sass ├── _base.scss ├── _header.scss ├── _image.scss ├── _layout.scss ├── _mobile-header.scss └── _syntax-highlighting.scss ├── about.md ├── blog.md ├── categories.md ├── css └── main.scss ├── cv.md ├── cv ├── long_cv.pdf ├── short_cv.pdf └── two_page.pdf ├── feed.xml ├── images ├── icon.png ├── profile.jpg ├── screenshot.png └── screenshot_large.png ├── index.html ├── miscellany.md ├── miscellany ├── courses.md ├── extracurricular.md └── travel.md ├── projects.md ├── projects ├── project_1.pdf └── project_2.pdf ├── research.md ├── research ├── paper_1.pdf └── paper_2.pdf └── sitemap.xml /.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | .sass-cache 3 | .DS_store -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Yash Shah 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [Jekyll Themes Shield](https://jekyll-themes.com) 2 | # Academic Portfolio 3 | *Academic Portfolio* is a one-stop, clean and minimal mobile-friendly Jekyll theme for your academic homepage. I created it for my own homepage, borrowing elements from Steve Miller's [no-good-very-bad](https://github.com/svmiller/steve-ngvb-jekyll-template) template, and modifying style and layout to fit my personal needs. 4 | 5 | [Live Demo](https://ys1998.github.io/academic-portfolio) | [Donate](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2A744DLR6PA8G) 6 | 7 | 8 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | # Site settings 2 | title: Your name here 3 | general_email: your_general_email@gmail.com 4 | academic_email: your_academic_email@univ 5 | 6 | description: > # this means to ignore newlines until "baseurl:" 7 | Give a brief description of yourself, and maybe your passion/interests. It is displayed in search results. 8 | 9 | baseurl: "/academic-portfolio" # the subpath of your site, e.g. /blog/ 10 | 11 | url: "https://ys1998.github.io" # the base hostname & protocol for your site 12 | 13 | # twitter_username: jekyllrb 14 | github_username: github_username 15 | linkedin_username: linkedin_username 16 | facebook_username: facebook_username 17 | # feel free to add other links here; you will have to add the SVG icon in _layouts/footer.html 18 | 19 | # Build settings 20 | markdown: kramdown 21 | 22 | kramdown: 23 | math_engine: mathjax 24 | 25 | # Other options 26 | permalink: blog/:year/:month/:title -------------------------------------------------------------------------------- /_data/menu.yml: -------------------------------------------------------------------------------- 1 | - title: "About" 2 | href: "/about/" 3 | 4 | - title: "Research" 5 | href: "/research/" 6 | 7 | - title: "Projects" 8 | href: "/projects/" 9 | 10 | - title: "Blog" 11 | href: "/blog/" 12 | 13 | - title: "CV" 14 | href: "/cv/" 15 | 16 | - title: "Miscellany" 17 | href: "/miscellany/" 18 | subcategories: 19 | - subtitle: "Courses Undertaken" 20 | subhref: "/miscellany/courses/" 21 | - subtitle: "Extracurriculars" 22 | subhref: "/miscellany/extracurricular/" 23 | - subtitle: "Travel" 24 | subhref: "/miscellany/travel/" 25 | -------------------------------------------------------------------------------- /_includes/footer.html: -------------------------------------------------------------------------------- 1 | 88 | -------------------------------------------------------------------------------- /_includes/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /_includes/header.html: -------------------------------------------------------------------------------- 1 | 28 | -------------------------------------------------------------------------------- /_includes/image.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |
{{ include.caption }}
4 | 5 |
{{ include.caption }}
6 |
7 | -------------------------------------------------------------------------------- /_includes/nav.html: -------------------------------------------------------------------------------- 1 | 17 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {% include head.html %} 5 | 6 | 7 | 8 | {% include header.html %} 9 | 10 |
11 |
12 | {{ content }} 13 |
14 |
15 | 16 | {% include footer.html %} 17 | 18 | 19 | -------------------------------------------------------------------------------- /_layouts/page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 | 6 |
7 |

{{ page.title }}

8 |
9 | 10 |
11 | {{ content }} 12 |
13 | 14 |
15 | -------------------------------------------------------------------------------- /_layouts/post.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 | 6 |
7 |

{{ page.title }}

8 | 17 |
18 | 19 |
20 | {{ content }} 21 |
22 | 23 |
24 | -------------------------------------------------------------------------------- /_posts/2018-01-10-post-1.markdown: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: Title of post 1 4 | date: 2018-01-10 15:10:00 5 | description: An apt description of the post 6 | categories: [rnn, discussion] 7 | --- 8 | 9 | Write your post content here in normal `markdown`. An example post is shown below for reference. 10 | 11 | ### Introduction 12 | 13 | Recurrent Neural Networks and their variations are very likely to overfit the training data. This is due to the large network formed by unfolding each cell of the RNN, and *relatively* small number of parameters (since they are shared over each time step) and training data. Thus, the perplexities obtained on the test data are often quite larger than expected. Several attempts have been made to minimize this problem using varied **regularization** techniques. This paper tackles this issue by proposing a model that combines several of such existing methods. 14 | 15 | *Merity et al*'s model is a modification of the standard **LSTM** in which *DropConnect* is applied to the hidden weights in the *recurrent* connections of the LSTM for regularization. The dropout mask for each weight is preserved and the same mask is used across all time steps, thereby adding negligible computation overhead. Apart from this, several other techniques have been incorporated : 16 | * **Variational dropout** : The same dropout mask is used for a particular recurrent connection in both the forward and backward pass for all time steps. Each input of a mini-batch has a separate dropout mask, which ensures that the regularizing effect due to it isn't identical across different inputs. 17 | * **Embedding dropout** : Dropout with dropout probability $$p_e$$ is applied to word embedding vectors, which results in new word vectors which are identically zero for the dropped words. The remaining word vectors are scaled by $$\frac{1}{1-p_e}$$ as compensation. 18 | * **AR and TAR** : AR (Activation Regularization) and TAR (Temporal Activation Regularization) are modifications of $$L_2$$ regularization, wherein the standard technique is applied to dropped *output activations* and dropped *change in output activations* respectively. Mathematically, the additional terms in the cost function $$J$$ are (here $$\alpha$$ and $$\beta$$ are scaling constants and $$\textbf{D}$$ is the dropout mask) : 19 | 20 | $$ 21 | J_{AR}=\alpha L_2\left(\textbf{D}_l^t\odot h_l^t\right)\\ 22 | J_{TAR}=\beta L_2\left(\textbf{D}_l^t\odot\left(h_l^t - h_l^{t-1}\right)\right) 23 | $$ 24 | 25 | * **Weight tying** : In this method, the parameters for word embeddings and the final output layer are shared. 26 | * **Variable backpropagation steps** : A random number of BPTT steps are taken instead of a fixed number, whose mean is very close to the original fixed value ($$s$$). The BPTT step-size ($$x$$) is drawn from the following distribution (here $$\mathcal{N}$$ is the Gaussian distribution, $$p$$ is a number close to 0.95 and $$\sigma^2$$ is the desired variance) : 27 | 28 | $$ 29 | x \sim p\cdot \mathcal{N}\left(s,\sigma^2\right) + (1-p)\cdot \mathcal{N}\left(\frac{s}{2},\sigma^2\right) 30 | $$ 31 | 32 | * **Independent sizes of word embeddings and hidden layer** : The sizes of the hidden layer and word embeddings are kept independent of each other. 33 | 34 | The paper also introduces a new optimization algorithm, namely **Non-monotonically Triggered Averaged Stochastic Gradient Descent** or NT-ASGD, which can be programmatically described as follows : 35 | {% highlight python %} 36 | def NT_ASGD(f, t, w0, n, L, lr): 37 | """ 38 | Input parameters : 39 | f - objective function 40 | t - stopping criterion 41 | w0 - initial parameters 42 | n - non-monotonicity interval 43 | L - number of epochs after which finetuning is done 44 | lr - learning rate 45 | 46 | Returns : 47 | parameter(s) that minimize `f` 48 | """ 49 | k = 0; T = 0; t = 0; params = []; logs = [] 50 | w = w0 51 | while t(w): 52 | # `func_grad` computes gradient of `f` at `w` 53 | w = w - lr * func_grad(f, w) 54 | params.append(w) 55 | k += 1 56 | if k%L == 0: 57 | # Compute model's perplexity for current parameters 58 | v = perplexity(w) 59 | if t > n and v > min(logs[t-n:t+1]): 60 | T = k 61 | logs.append(v) 62 | t += 1 63 | # Return the average of best `k-T+1` parameters 64 | return sum(params[-(k-T+1):])/(k-T+1) 65 | {% endhighlight %} 66 | They also combined their **AWD-LSTM** (ASGD Weight Dropped LSTM) with a neural cache model to obtain further reduction in perplexities. A *neural cache model* stores previous states in memory, and predicts the output obtained by a *convex combination* of the output using stored states and the AWD-LSTM. 67 | 68 | ### Network description 69 | *Merity et al*'s model used a 3-layer weight dropped LSTM with dropout probability `0.5` for **PTB corpus** and `0.65` for **WikiText-2**, combined with several of the above regularization techniques. The different hyperparameters (as referred to in the discussion above) are as follows : hidden layer size ($$H$$) = `1150`, embedding size ($$D$$) = `400`, number of epochs = `750`, $$L$$ = `1`, $$n$$ = `5`, learning rate = `30`, Gradients clipped at `0.25`, $$p$$ = `0.95`, $$s$$ = `70`, $$\sigma^2$$ = `5`, $$\alpha$$ = `2`, $$\beta$$ = `1`, dropout probabilities for input, hidden outputs, final output and embeddings as `0.4`, `0.3`, `0.4` and `0.1` respectively. 70 | 71 | Word embedding weights were initialized from $$\mathcal{U}\left[-0.1,0.1\right]$$ and all other hidden weights from $$\mathcal{U}\left[-\frac{1}{\sqrt{1150}},\frac{1}{\sqrt{1150}}\right]$$. Mini-batch size of `40` was used for PTB and `80` for WT-2. 72 | 73 | ### Result highlights 74 | * 3-layer AWD-LSTM with weight tying attained 57.3 PPL on PTB 75 | * 3-layer AWD-LSTM with weight tying and a continuous cache pointer attained 52.8 PPL on PTB 76 | -------------------------------------------------------------------------------- /_posts/2018-01-10-post-2.markdown: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: Title of post 2 4 | date: 2018-01-10 15:01:00 5 | description: An apt description of your post 6 | categories: [rnn, regularization] 7 | --- 8 | 9 | Write your post content here in normal `markdown`. An example post is shown below for reference. 10 | 11 | ### Introduction 12 | Regularization is an important step during the training of neural networks. It helps to generalize the model by reducing the possibility of overfitting the training data. There are several types of regularization techniques, with L2 , L1, elastic-net (linear combination of L2 and L1 regularization), dropout and drop-connect being the major ones. While L2, L1 and elastic-net regularization techniques work by constraining the trainable parameters (or *weights*) from attaining large values (so that no drastic changes in output are observed for slight changes in the input; or in other words, they prefer *diffused* weights rather than *peaked* ones), **dropout** and drop-connect work by averaging the task over a dynamically and randomly generated large *ensemble* of networks. These networks are obtained by randomly disconnecting neurons (*dropout*) or weights (*drop-connect*) from the original network so as to obtain a subnetwork on which the training process is carried out (although for $$\approx1$$ epoch for each, since the chance of the same subnetwork being generated again is very rare). 13 | 14 | Application of dropout to feedforward neural networks gives promising results. RNNs are thought of as individual *cells* that are *unfolded* over several time-steps, with the input at each time-step being a token of the sequence. When dropout is used for regularizing such a network, the 'disturbance' it generates at each time step propagates over a long interval, thereby decreasing the network's ability to represent long range dependencies. Thus, applying dropout in the standard manner to RNNs fails to give any improvement. It is here where *Zaremba et al*'s research comes into the picture. 15 | ### Network description 16 | The network architecture that *Zaremba et al* proposed is quite simple and intuitive. In case of deep RNNs (i.e. RNNs spanning over several layers ($$h$$) where output of $$h_{l-1}^{t}$$ is used as the input for $$h_l^t$$), all connections between the cells in unfolded state can be broadly classified into two categories - *recurrent* and *non-recurrent*. The connections between cells in the same layer i.e. $$h_l^t ~-~ h_l^{t+1}~~\forall t$$ are *recurrent* connections, and those between cells in adjacent layers i.e. $$h_l^t ~-~ h_{l+1}^t~~\forall l$$ are *non-recurrent* connections. *Zaremba et al* suggested that **dropout** should be applied only to non-recurrent connections - thereby preventing problems which arose earlier. 17 | 18 | The modified network for LSTM units can be mathematically represented as follows: 19 | 20 | Denoting $$T_{m,n}$$ as an affine transformation from $$\mathbb{R}^m\rightarrow\mathbb{R}^n$$ ( i.e. $$T_{m,n}(x)=Wx+b$$ where $$x\in\mathbb{R}^{m\times1}$$, $$W\in\mathbb{R}^{n\times m}$$ and $$b\in\mathbb{R}^{n\times1}$$ and similarly for multiple inputs) and $$\otimes$$ as elementwise multiplication, we have : 21 | 22 | $$ 23 | f_l^t=\text{sigmoid}\left(T_{N,D}^1\left(\textbf{D}\left(h_{l-1}^t\right) ; h_l^{t-1}\right)\right) \\ 24 | i_l^t=\text{sigmoid}\left(T_{N,D}^2\left(\textbf{D}\left(h_{l-1}^t\right) ; h_l^{t-1}\right)\right) \\ 25 | o_l^t=\text{sigmoid}\left(T_{N,D}^3\left(\textbf{D}\left(h_{l-1}^t\right) ; h_l^{t-1}\right)\right) \\ 26 | u_l^t=\text{tanh}\left(T_{N,D}^4\left(\textbf{D}\left(h_{l-1}^t\right) ; h_l^{t-1}\right)\right) \\ 27 | c_l^t=c_l^{t-1}\otimes f_l^t + u_l^t\otimes i_l^t \\ 28 | h_l^t = \text{tanh}\left(c_l^t\right)\otimes o_l^t 29 | $$ 30 | 31 | Here, $$\textbf{D}$$ is the dropout *layer* or operator which sets a subset of its input randomly to zero with dropout probability `p`. This modification can be adopted for any other RNN architecture. 32 | 33 | *Zaremba et al* used these architectures for their experiments in which each cell was unrolled for 35 steps. Mini-batch size was 20 for both : 34 | 35 | **Medium LSTM** : 36 | Hidden-layer dimension = `650`, 37 | Weights initialized uniformly in `[-0.05,0.05]`, 38 | Dropout probability = `0.5`, 39 | Number of epochs = `39`, 40 | Learning rate = `1` which decays by a factor of `1.2` after 6 epochs, 41 | Gradients clipped at `5`. 42 | 43 | **Large LSTM** : 44 | Hidden-layer dimension = `1500`, 45 | Weights initialized uniformly in `[-0.04,0.04]`, 46 | Dropout probability = `0.65`, 47 | Number of epochs = `55`, 48 | Learning rate = `1` which decays by a factor of `1.15` after 14 epochs, 49 | Gradients clipped at `10`. 50 | ### Result highlights 51 | * 78.4 PPL on Penn TreeBank dataset using a single **Large LSTM** 52 | * 68.7 PPL on Penn TreeBank dataset using an ensemble of 38 **Large LSTM**s 53 | -------------------------------------------------------------------------------- /_sass/_base.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Reset some basic elements 3 | */ 4 | body, h1, h2, h3, h4, h5, h6, 5 | p, blockquote, pre, hr, 6 | dl, dd, ol, ul, figure { 7 | margin: 0; 8 | padding: 0; 9 | } 10 | 11 | 12 | 13 | /** 14 | * Basic styling 15 | */ 16 | body { 17 | font-family: $base-font-family; 18 | font-size: $base-font-size; 19 | line-height: $base-line-height; 20 | font-weight: 300; 21 | color: $text-color; 22 | background-color: $background-color; 23 | -webkit-text-size-adjust: 100%; 24 | } 25 | 26 | 27 | 28 | 29 | /** 30 | * Set `margin-bottom` to maintain vertical rhythm 31 | */ 32 | h1, h2, h3, h4, h5, h6, 33 | p, blockquote, pre, 34 | ul, ol, dl, figure, 35 | %vertical-rhythm { 36 | margin-bottom: $spacing-unit / 2; 37 | } 38 | 39 | 40 | 41 | /** 42 | * Images 43 | */ 44 | img { 45 | max-width: 100%; 46 | vertical-align: middle; 47 | } 48 | 49 | 50 | 51 | /** 52 | * Figures 53 | */ 54 | figure > img { 55 | display: block; 56 | } 57 | 58 | figcaption { 59 | font-size: $small-font-size; 60 | } 61 | 62 | 63 | 64 | /** 65 | * Lists 66 | */ 67 | ul, ol { 68 | margin-left: $spacing-unit; 69 | } 70 | 71 | li { 72 | > ul, 73 | > ol { 74 | margin-bottom: 0; 75 | } 76 | } 77 | 78 | 79 | 80 | /** 81 | * Headings 82 | */ 83 | h1, h2, h3, h4, h5, h6 { 84 | font-weight: 200; 85 | } 86 | 87 | 88 | 89 | /** 90 | * Links 91 | */ 92 | a { 93 | color: $brand-color; 94 | text-decoration: none; 95 | 96 | &:visited { 97 | /* color: darken($brand-color, 15%); */ 98 | } 99 | 100 | &:hover { 101 | color: $text-color; 102 | // text-decoration: underline; 103 | } 104 | } 105 | 106 | /** 107 | * Blockquotes 108 | */ 109 | blockquote { 110 | color: $grey-color; 111 | border-left: 4px solid $grey-color-light; 112 | padding-left: $spacing-unit / 2; 113 | font-size: 18px; 114 | letter-spacing: -1px; 115 | font-style: italic; 116 | 117 | > :last-child { 118 | margin-bottom: 0; 119 | } 120 | } 121 | 122 | 123 | 124 | /** 125 | * Code formatting 126 | */ 127 | pre, 128 | code { 129 | font-size: 14px; 130 | border: 1px solid $grey-color-light; 131 | border-radius: 3px; 132 | background-color: lighten($blue-color-light, 35%); 133 | } 134 | 135 | code { 136 | padding: 1px 5px; 137 | } 138 | 139 | pre { 140 | padding: 8px 12px; 141 | overflow-x: scroll; 142 | 143 | > code { 144 | border: 0; 145 | padding-right: 0; 146 | padding-left: 0; 147 | } 148 | } 149 | 150 | 151 | 152 | /** 153 | * Wrapper 154 | */ 155 | .wrapper { 156 | max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2)); 157 | max-width: calc(#{$content-width} - (#{$spacing-unit} * 2)); 158 | margin-right: auto; 159 | margin-left: auto; 160 | padding-right: $spacing-unit; 161 | padding-left: $spacing-unit; 162 | @extend %clearfix; 163 | 164 | @include media-query($on-laptop) { 165 | max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit})); 166 | max-width: calc(#{$content-width} - (#{$spacing-unit})); 167 | padding-right: $spacing-unit / 2; 168 | padding-left: $spacing-unit / 2; 169 | } 170 | } 171 | 172 | 173 | 174 | /** 175 | * Clearfix 176 | */ 177 | %clearfix { 178 | 179 | &:after { 180 | content: ""; 181 | display: table; 182 | clear: both; 183 | } 184 | } 185 | 186 | 187 | 188 | /** 189 | * Icons 190 | */ 191 | .icon { 192 | 193 | > svg { 194 | display: inline-block; 195 | width: 16px; 196 | height: 16px; 197 | vertical-align: middle; 198 | 199 | path { 200 | fill: $grey-color; 201 | } 202 | } 203 | } 204 | 205 | /** 206 | * Color button 207 | */ 208 | .color-button { 209 | background: $blue-color-dark; 210 | border-style: none; 211 | border-radius: 10px; 212 | color: white; 213 | font-weight: bold; 214 | font-size: 12px; 215 | display: inline-block; 216 | padding: 0px 10px; 217 | margin: 0px 5px 0 0; 218 | cursor: pointer; 219 | &:hover { 220 | background: $blue-color-light; 221 | } 222 | } 223 | 224 | a.tosu { 225 | color: #b00000; 226 | background: #f5f5f5; 227 | text-decoration: none; 228 | padding: 2px; 229 | font-weight: 600; 230 | font-family: 'Capita', Georgia, serif; 231 | } 232 | 233 | 234 | -------------------------------------------------------------------------------- /_sass/_header.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Site header 3 | */ 4 | .site-header { 5 | border-top: 0px solid $grey-color-dark; 6 | // min-height: 56px; 7 | background-image: linear-gradient($blue-color-light, $blue-color-dark); 8 | box-shadow: 0px 5px 10px grey; 9 | // Positioning context for the mobile navigation icon 10 | position: relative; 11 | } 12 | 13 | .site-title { 14 | font-size: 26px; 15 | /* margin-top: 15px; 16 | line-height: 40px; */ 17 | // letter-spacing: -1px; 18 | // margin-bottom: 0; 19 | float: left; 20 | font-weight: 500; 21 | font-family: 'Titillium Web', sans-serif; 22 | color: #ffffff; 23 | &, 24 | &:visited { 25 | color: #ffffff; 26 | } 27 | &, 28 | &:hover { 29 | color: #ffffff; 30 | text-decoration: none; 31 | } 32 | } 33 | 34 | .site-header .wrapper { 35 | padding-top: 10px; 36 | padding-bottom: 10px; 37 | position: relative; 38 | } 39 | 40 | .site-nav ul li a { 41 | color: #fff; 42 | } 43 | 44 | .site-nav ul { 45 | 46 | text-align: right; 47 | float: right; 48 | padding-top: 9px; 49 | font-size: 85%; 50 | letter-spacing: 1px; 51 | line-height: 1em; 52 | font-weight: 600; 53 | margin: 0; 54 | padding: 0; 55 | list-style-type: none; 56 | text-transform: uppercase; 57 | font-family: 'Titillium Web', sans-serif; 58 | } 59 | 60 | .site-nav .menu > li { 61 | border-bottom: 0px solid transparent; 62 | display: inline-block; 63 | height: 23px; 64 | line-height: normal; 65 | margin: 12px 10px 0 10px; 66 | position: relative; 67 | vertical-align: top; 68 | &:hover { 69 | text-decoration: underline; 70 | } 71 | } 72 | 73 | .site-nav a { 74 | display: block; 75 | color: #ffffff; 76 | } 77 | 78 | /* Sub Menu */ 79 | 80 | .site-nav .sub-menu a { 81 | display: block; 82 | font-weight: normal; 83 | height: auto; 84 | letter-spacing: 0; 85 | line-height: 1.2em; 86 | padding: 4px 10px; 87 | color: $blue-color-dark; 88 | } 89 | 90 | .site-nav .sub-menu a:hover { 91 | color: $blue-color-light; 92 | } 93 | .site-nav .sub-menu { 94 | // background: #ffffff; 95 | // border-color: $blue-color-dark; 96 | // min-width: 265px; 97 | 98 | z-index:2147483647; 99 | } 100 | .site-nav .sub-menu li.current-menu-item > a { 101 | border-left-color: $blue-color-light; 102 | border-right-color: $blue-color-light; 103 | border-right: 0px; 104 | 105 | } 106 | 107 | 108 | .sub-menu { 109 | border: 3px solid $blue-color-dark; 110 | border-top: 20px solid transparent; 111 | /* bg and border colors set in header */ 112 | box-shadow: 0 2px 2px rgba(0,0,0,0.4); 113 | -moz-box-shadow: 0 2px 2px rgba(0,0,0,0.4); 114 | -webkit-box-shadow: 0 2px 2px rgba(0,0,0,0.4); 115 | display: none; 116 | right: -25%; 117 | padding: 4px 0 3px 0; 118 | position: absolute; 119 | text-align: left; 120 | text-transform: none; 121 | top: 15px; 122 | // min-width: 265px; 123 | 124 | z-index:2147483647; 125 | font-family: Helvetica, Arial, Verdana, sans-serif; 126 | 127 | } 128 | 129 | .sub-menu li { 130 | border-bottom: 0; 131 | display: block; 132 | height: auto; 133 | // margin: 3px 0; 134 | padding: 0; 135 | text-align: left; 136 | background: #ffffff; 137 | } 138 | 139 | .site-nav li:hover > .sub-menu { 140 | display: block; 141 | } 142 | 143 | 144 | 145 | .site-nav h1 { 146 | position: absolute; 147 | left: -999em; 148 | } 149 | 150 | 151 | .site-nav { 152 | float: right; 153 | line-height: 40px; 154 | 155 | 156 | .menu-icon { 157 | display: none; 158 | } 159 | 160 | .page-link { 161 | color: #ffffff; 162 | line-height: $base-line-height; 163 | 164 | // Gaps between nav items, but not on the first one 165 | &:not(:first-child) { 166 | margin-left: 20px; 167 | } 168 | } 169 | 170 | 171 | 172 | @include media-query($on-palm) { 173 | position: absolute; 174 | top: 9px; 175 | right: 30px; 176 | background-color: $background-color; 177 | border: 1px solid $grey-color-light; 178 | border-radius: 5px; 179 | text-align: right; 180 | 181 | .menu-icon { 182 | display: block; 183 | float: right; 184 | width: 36px; 185 | height: 26px; 186 | line-height: 0; 187 | padding-top: 10px; 188 | text-align: center; 189 | 190 | > svg { 191 | width: 18px; 192 | height: 15px; 193 | 194 | path { 195 | fill: $grey-color-dark; 196 | } 197 | } 198 | } 199 | 200 | .trigger { 201 | clear: both; 202 | display: none; 203 | } 204 | 205 | &:hover .trigger { 206 | display: block; 207 | padding-bottom: 5px; 208 | } 209 | 210 | .page-link { 211 | display: block; 212 | padding: 5px 10px; 213 | } 214 | } 215 | } 216 | 217 | 218 | -------------------------------------------------------------------------------- /_sass/_image.scss: -------------------------------------------------------------------------------- 1 | .wp-caption { 2 | background-color: #f3f3f3; 3 | text-align: center; 4 | border: 1px solid grey; 5 | font-size: 0.90em; 6 | overflow: hidden; 7 | position: relative; 8 | 9 | } 10 | 11 | .wp-caption dd { 12 | color: #000000; 13 | background-color: #f3f3f3; 14 | font-size: .9em; 15 | padding: 2px 8px 3px 8px; 16 | margin: 1px 0 0 0; 17 | } 18 | 19 | .wp-caption dt { 20 | margin: 0; 21 | } 22 | 23 | .wp-caption img { 24 | display: block; 25 | margin: 0; 26 | padding: 0; 27 | border: 0; 28 | z-index: 0; 29 | } 30 | 31 | 32 | .alignleft, 33 | .alignright { 34 | margin-top: 4px; 35 | } 36 | .alignleft { 37 | float: left; 38 | margin-right: 20px; 39 | margin-bottom: 15px; 40 | } 41 | .alignright { 42 | float: right; 43 | margin-left: 20px; 44 | margin-bottom: 15px; 45 | } 46 | .aligncenter { 47 | display: block; 48 | margin-left: auto; 49 | margin-right: auto; 50 | } 51 | 52 | @media only screen and (max-width: 600px) { 53 | .alignleft, 54 | .alignright, 55 | .aligncenter { 56 | display: block; 57 | float: none; 58 | margin-left: auto; 59 | margin-right: auto; 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /_sass/_layout.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Site footer 3 | */ 4 | .site-footer { 5 | border-top: 1px solid $grey-color-light; 6 | padding: $spacing-unit 0; 7 | } 8 | 9 | .footer-heading { 10 | font-size: 18px; 11 | margin-bottom: $spacing-unit / 2; 12 | } 13 | 14 | .contact-list, 15 | .social-media-list { 16 | list-style: none; 17 | margin-left: 0; 18 | } 19 | 20 | .footer-col-wrapper { 21 | font-size: 15px; 22 | color: $grey-color; 23 | margin-left: -$spacing-unit / 2; 24 | @extend %clearfix; 25 | } 26 | 27 | .footer-col { 28 | float: left; 29 | margin-bottom: $spacing-unit / 2; 30 | padding-left: $spacing-unit / 2; 31 | } 32 | 33 | .footer-col-1 { 34 | width: -webkit-calc(35% - (#{$spacing-unit} / 2)); 35 | width: calc(35% - (#{$spacing-unit} / 2)); 36 | } 37 | 38 | .footer-col-2 { 39 | width: -webkit-calc(20% - (#{$spacing-unit} / 2)); 40 | width: calc(20% - (#{$spacing-unit} / 2)); 41 | } 42 | 43 | .footer-col-3 { 44 | width: -webkit-calc(45% - (#{$spacing-unit} / 2)); 45 | width: calc(45% - (#{$spacing-unit} / 2)); 46 | } 47 | 48 | @include media-query($on-laptop) { 49 | .footer-col-1, 50 | .footer-col-2 { 51 | width: -webkit-calc(50% - (#{$spacing-unit} / 2)); 52 | width: calc(50% - (#{$spacing-unit} / 2)); 53 | } 54 | 55 | .footer-col-3 { 56 | width: -webkit-calc(100% - (#{$spacing-unit} / 2)); 57 | width: calc(100% - (#{$spacing-unit} / 2)); 58 | } 59 | } 60 | 61 | @include media-query($on-palm) { 62 | .footer-col { 63 | float: none; 64 | width: -webkit-calc(100% - (#{$spacing-unit} / 2)); 65 | width: calc(100% - (#{$spacing-unit} / 2)); 66 | } 67 | } 68 | 69 | 70 | 71 | /** 72 | * Page content 73 | */ 74 | .page-content { 75 | padding: $spacing-unit 0; 76 | } 77 | 78 | .page-heading { 79 | font-size: 20px; 80 | } 81 | 82 | .post-list { 83 | margin-left: 0; 84 | list-style: none; 85 | 86 | > li { 87 | margin-bottom: $spacing-unit; 88 | } 89 | } 90 | 91 | .post-meta { 92 | font-size: $small-font-size; 93 | color: $grey-color; 94 | } 95 | 96 | .post-link { 97 | display: block; 98 | font-size: 24px; 99 | } 100 | 101 | 102 | 103 | /** 104 | * Posts 105 | */ 106 | .post-header { 107 | margin-bottom: $spacing-unit; 108 | } 109 | 110 | h1 /* .post-title */ { 111 | /* font-size: 42px; */ 112 | margin-top: 10px; 113 | letter-spacing: -1px; 114 | line-height: 1; 115 | font-family: 'Titillium Web', sans-serif; 116 | color: $blue-color-dark; 117 | 118 | @include media-query($on-laptop) { 119 | /* font-size: 36px; */ 120 | } 121 | } 122 | 123 | .post-content { 124 | margin-bottom: $spacing-unit; 125 | 126 | h2 { 127 | font-family: 'Titillium Web', sans-serif; 128 | font-weight: 500; 129 | /* font-size: 32px; */ 130 | 131 | @include media-query($on-laptop) { 132 | /* font-size: 28px; */ 133 | } 134 | } 135 | 136 | h3 { 137 | font-style: italic; 138 | font-weight: 500; 139 | /* font-size: 26px; */ 140 | 141 | @include media-query($on-laptop) { 142 | /* font-size: 22px; */ 143 | } 144 | } 145 | 146 | h4 { 147 | /* font-size: 20px; */ 148 | 149 | @include media-query($on-laptop) { 150 | /* font-size: 18px; */ 151 | } 152 | } 153 | } 154 | 155 | .footnotes ol li {list-style-type:decimal;} 156 | .footnotes ol {font-size:.85em; color:#666666;} 157 | 158 | html { 159 | overflow-y: scroll; 160 | } 161 | 162 | ul.listing { 163 | list-style-type: none; 164 | margin-left: 0px; 165 | } 166 | 167 | ul.listing li.listing-seperator { 168 | padding-top: 15px; 169 | font-weight: bold; 170 | font-family: 'Titillium Web', sans-serif; 171 | font-size: 1.17em; 172 | } 173 | 174 | ul.listing li.listing-item time { 175 | 176 | color: #333; 177 | font-weight: 500; 178 | text-transform: uppercase; 179 | padding-right: 10px; 180 | } 181 | 182 | ul.listing li.listing-item a { 183 | color: $blue-color-dark; 184 | font-weight: 400; 185 | font-family: 'Titillium Web', sans-serif; 186 | } 187 | 188 | -------------------------------------------------------------------------------- /_sass/_mobile-header.scss: -------------------------------------------------------------------------------- 1 | @media only screen and (max-width: 600px) { 2 | 3 | .site-nav h1 { 4 | border-bottom: 3px solid transparent; 5 | cursor: pointer; 6 | display: none; /* Standard. IE8+, Saf, FF3+ */ 7 | height: 23px; 8 | left: auto; 9 | margin-top: 10px; 10 | position: static; 11 | white-space: nowrap; 12 | } 13 | 14 | .site-nav .menu { 15 | border: 3px solid white; 16 | border-radius: 5px; 17 | // border-top: 0; 18 | /* bg and border colors set in header */ 19 | -moz-box-shadow: 0px 2px 2px rgba(0,0,0,0.8); 20 | -webkit-box-shadow: 0px 2px 2px rgba(0,0,0,0.8); 21 | box-shadow: 0px 2px 2px rgba(0,0,0,0.8); 22 | /* Hide until activated */ 23 | display: block; 24 | // left: -3px; 25 | // right: -3px; 26 | min-width: 215px; 27 | /* margin-top: 36px; */ 28 | padding: 4px 0 0 0; 29 | position: relative; 30 | z-index:2147483647; 31 | } 32 | 33 | 34 | .site-nav .menu.open { 35 | display: block; 36 | } 37 | 38 | .site-nav .menu li { 39 | display: block; 40 | margin: 0; 41 | color: $blue-color-dark; 42 | } 43 | 44 | .site-nav ul.menu a { 45 | background: #fff; 46 | color: $blue-color-dark; 47 | 48 | } 49 | 50 | .site-nav .menu > li { 51 | height: auto; 52 | text-align: left; 53 | } 54 | 55 | .site-nav .sub-menu { 56 | border: 3px solid transparent; 57 | -moz-box-shadow: none; /* FF3.5+ */ 58 | -webkit-box-shadow: none; /* Saf3+, Chrome */ 59 | box-shadow: none; /* Standard. Opera 10.5, IE9 */ 60 | display: block; 61 | font-family: 'Titillium Web', Helvetica, Arial, Verdana, sans-serif; 62 | position: relative; 63 | min-width: 215px; 64 | max-width: 215px; 65 | top: auto; 66 | text-transform: uppercase; 67 | right: auto; 68 | width: auto; 69 | background: white; 70 | } 71 | 72 | .site-nav .sub-menu { 73 | padding-left: 16px; 74 | } 75 | .site-nav .sub-menu li.current-menu-item > a { 76 | border: 3px solid transparent; 77 | } 78 | 79 | } 80 | 81 | -------------------------------------------------------------------------------- /_sass/_syntax-highlighting.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Syntax highlighting styles 3 | */ 4 | .highlight { 5 | background: #fff; 6 | @extend %vertical-rhythm; 7 | 8 | .c { color: #998; font-style: italic } // Comment 9 | .err { color: #a61717; background-color: #e3d2d2 } // Error 10 | .k { font-weight: bold } // Keyword 11 | .o { font-weight: bold } // Operator 12 | .cm { color: #998; font-style: italic } // Comment.Multiline 13 | .cp { color: #999; font-weight: bold } // Comment.Preproc 14 | .c1 { color: #998; font-style: italic } // Comment.Single 15 | .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special 16 | .gd { color: #000; background-color: #fdd } // Generic.Deleted 17 | .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific 18 | .ge { font-style: italic } // Generic.Emph 19 | .gr { color: #a00 } // Generic.Error 20 | .gh { color: #999 } // Generic.Heading 21 | .gi { color: #000; background-color: #dfd } // Generic.Inserted 22 | .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific 23 | .go { color: #888 } // Generic.Output 24 | .gp { color: #555 } // Generic.Prompt 25 | .gs { font-weight: bold } // Generic.Strong 26 | .gu { color: #aaa } // Generic.Subheading 27 | .gt { color: #a00 } // Generic.Traceback 28 | .kc { font-weight: bold } // Keyword.Constant 29 | .kd { font-weight: bold } // Keyword.Declaration 30 | .kp { font-weight: bold } // Keyword.Pseudo 31 | .kr { font-weight: bold } // Keyword.Reserved 32 | .kt { color: #458; font-weight: bold } // Keyword.Type 33 | .m { color: #099 } // Literal.Number 34 | .s { color: #d14 } // Literal.String 35 | .na { color: #008080 } // Name.Attribute 36 | .nb { color: #0086B3 } // Name.Builtin 37 | .nc { color: #458; font-weight: bold } // Name.Class 38 | .no { color: #008080 } // Name.Constant 39 | .ni { color: #800080 } // Name.Entity 40 | .ne { color: #900; font-weight: bold } // Name.Exception 41 | .nf { color: #900; font-weight: bold } // Name.Function 42 | .nn { color: #555 } // Name.Namespace 43 | .nt { color: #000080 } // Name.Tag 44 | .nv { color: #008080 } // Name.Variable 45 | .ow { font-weight: bold } // Operator.Word 46 | .w { color: #bbb } // Text.Whitespace 47 | .mf { color: #099 } // Literal.Number.Float 48 | .mh { color: #099 } // Literal.Number.Hex 49 | .mi { color: #099 } // Literal.Number.Integer 50 | .mo { color: #099 } // Literal.Number.Oct 51 | .sb { color: #d14 } // Literal.String.Backtick 52 | .sc { color: #d14 } // Literal.String.Char 53 | .sd { color: #d14 } // Literal.String.Doc 54 | .s2 { color: #d14 } // Literal.String.Double 55 | .se { color: #d14 } // Literal.String.Escape 56 | .sh { color: #d14 } // Literal.String.Heredoc 57 | .si { color: #d14 } // Literal.String.Interpol 58 | .sx { color: #d14 } // Literal.String.Other 59 | .sr { color: #009926 } // Literal.String.Regex 60 | .s1 { color: #d14 } // Literal.String.Single 61 | .ss { color: #990073 } // Literal.String.Symbol 62 | .bp { color: #999 } // Name.Builtin.Pseudo 63 | .vc { color: #008080 } // Name.Variable.Class 64 | .vg { color: #008080 } // Name.Variable.Global 65 | .vi { color: #008080 } // Name.Variable.Instance 66 | .il { color: #099 } // Literal.Number.Integer.Long 67 | } 68 | -------------------------------------------------------------------------------- /about.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: About 4 | permalink: /about/ 5 | --- 6 | 7 | {% include image.html url="/images/profile.jpg" caption="A sassy caption here" width=300 align="right" %} 8 | 9 | Describe yourself here. Dummy text ahead. 10 | 11 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 12 | 13 | Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. 14 | 15 | Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur? At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. -------------------------------------------------------------------------------- /blog.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: Blog 4 | permalink: /blog/ 5 | --- 6 | 7 | Here are my carefully compiled views on some topics that I encountered so far. Hopefully, you will find them helpful! You can also search my posts by category here. 8 | 9 | 22 | -------------------------------------------------------------------------------- /categories.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | permalink: /categories/ 4 | title: Categories 5 | --- 6 | 7 | 8 |
9 | {% for category in site.categories %} 10 |
11 | {% capture category_name %}{{ category | first }}{% endcapture %} 12 |
13 |

14 | 15 |

{{ category_name | capitalize }}

16 | 17 | {% for post in site.categories[category_name] %} 18 | 21 | {% endfor %} 22 |
23 | {% endfor %} 24 |
-------------------------------------------------------------------------------- /css/main.scss: -------------------------------------------------------------------------------- 1 | --- 2 | # Only the main Sass file needs front matter (the dashes are enough) 3 | --- 4 | @charset "utf-8"; 5 | 6 | $base-font-family: 'Open Sans', Helvetica, Arial, sans-serif; 7 | $base-font-size: .95em; 8 | $small-font-size: $base-font-size * 0.875; 9 | $base-line-height: 1.5; 10 | 11 | $spacing-unit: 30px; 12 | 13 | $text-color: #111; 14 | $background-color: #fdfdfd; 15 | $brand-color: #0077CC; 16 | 17 | $blue-color-dark: darken(#3E7AD1, 10%); 18 | $blue-color-light: #4B93DB; 19 | 20 | $grey-color: #828282; 21 | $grey-color-light: lighten($grey-color, 40%); 22 | $grey-color-dark: darken($grey-color, 25%); 23 | 24 | 25 | // Width of the content area 26 | $content-width: 950px; 27 | 28 | $on-palm: 600px; 29 | $on-laptop: 950px; 30 | 31 | @mixin media-query($device) { 32 | @media screen and (max-width: $device) { 33 | @content; 34 | } 35 | } 36 | 37 | // Import partials from `sass_dir` (defaults to `_sass`) 38 | @import 39 | "header", 40 | "mobile-header", 41 | "base", 42 | "layout", 43 | "syntax-highlighting", 44 | "image" 45 | ; 46 | -------------------------------------------------------------------------------- /cv.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: CV 4 | permalink: /cv/ 5 | --- 6 | 7 | You can find my curriculum vitae/resume below. 8 | -------------------------------------------------------------------------------- /cv/long_cv.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ys1998/academic-portfolio/4ca5f9a3cc40008cbe811720035ed9bafe1f87fd/cv/long_cv.pdf -------------------------------------------------------------------------------- /cv/short_cv.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ys1998/academic-portfolio/4ca5f9a3cc40008cbe811720035ed9bafe1f87fd/cv/short_cv.pdf -------------------------------------------------------------------------------- /cv/two_page.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ys1998/academic-portfolio/4ca5f9a3cc40008cbe811720035ed9bafe1f87fd/cv/two_page.pdf -------------------------------------------------------------------------------- /feed.xml: -------------------------------------------------------------------------------- 1 | --- 2 | layout: null 3 | --- 4 | 5 | 6 | 7 | {{ site.title | xml_escape }} 8 | {{ site.description | xml_escape }} 9 | {{ site.url }}{{ site.baseurl }}/ 10 | 11 | {{ site.time | date_to_rfc822 }} 12 | {{ site.time | date_to_rfc822 }} 13 | Jekyll v{{ jekyll.version }} 14 | {% for post in site.posts limit:10 %} 15 | 16 | {{ post.title | xml_escape }} 17 | {{ post.content | xml_escape }} 18 | {{ post.date | date_to_rfc822 }} 19 | {{ post.url | prepend: site.baseurl | prepend: site.url }} 20 | {{ post.url | prepend: site.baseurl | prepend: site.url }} 21 | {% for tag in post.tags %} 22 | {{ tag | xml_escape }} 23 | {% endfor %} 24 | {% for cat in post.categories %} 25 | {{ cat | xml_escape }} 26 | {% endfor %} 27 | 28 | {% endfor %} 29 | 30 | 31 | -------------------------------------------------------------------------------- /images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ys1998/academic-portfolio/4ca5f9a3cc40008cbe811720035ed9bafe1f87fd/images/icon.png -------------------------------------------------------------------------------- /images/profile.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ys1998/academic-portfolio/4ca5f9a3cc40008cbe811720035ed9bafe1f87fd/images/profile.jpg -------------------------------------------------------------------------------- /images/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ys1998/academic-portfolio/4ca5f9a3cc40008cbe811720035ed9bafe1f87fd/images/screenshot.png -------------------------------------------------------------------------------- /images/screenshot_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ys1998/academic-portfolio/4ca5f9a3cc40008cbe811720035ed9bafe1f87fd/images/screenshot_large.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 |
6 | 7 |

Hello there, and welcome to my homepage!

My name is <your name here>, and I am a <designation> at <university name>. You can add more details here, such as the most recent affiliation to a research group, etc.

8 | 9 | I maintain a list of my publications, research projects and implementations under the Research tab, and a list of other non-research projects under the Projects tab. You may also check out my Github profile.

10 | 11 | To get a better insight on my life so far, you can have a look at my curriculum vitae. I blog (although quite less frequently) and pin them down here. Feel free to read a bit more about me.

12 | 13 |
14 | 15 |

Updates

16 |
17 | 21 | 22 |
-------------------------------------------------------------------------------- /miscellany.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: Miscellany 4 | permalink: /miscellany/ 5 | --- 6 | 7 | 12 | 13 | You can add other topics by editing `miscellany.md` and `_data/menu.yml`. -------------------------------------------------------------------------------- /miscellany/courses.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: Key Courses Undertaken 4 | permalink: /miscellany/courses/ 5 | --- 6 | 7 |

At <your university name>

8 | 9 |

Department 1

10 | 11 | CS335: Arificial Intelligence and Machine Learning* 12 |  ·  CS726: Advanced Machine Learning* 13 |  ·  CS302: Implementation of Programming Languages* 14 |  ·  CS310: Automata Theory* 15 |  ·  CS663: Fundamentals of Digital Image Processing 16 |  ·  CS475: Computer Graphics 17 | 18 |

Department 2

19 | SI404: Applied Stochastic Processes* 20 |  ·  SI402: Statistical Inference 21 |  ·  SI417: Introduction to Probability Theory 22 | 23 |

Department 3

24 | MA214: Introduction to Numerical Analysis* 25 |  ·  MA106: Linear Algebra 26 |  ·  MA108: Differential Equations 27 |  ·  MA105: Calculus 28 | 29 | 30 |

MOOC

31 | CS231n: Convolutional Neural Networks for Visual Recognition 32 |  ·  CS224d: Deep Learning for Natural Language Processing 33 | 34 |
35 | *pursuing currently
accompanied by a separate lab course 36 |
-------------------------------------------------------------------------------- /miscellany/extracurricular.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: Extracurriculars 4 | permalink: /miscellany/extracurricular/ 5 | --- 6 | 7 | Add details of your extracurricular life here! For example sports, favorite novels, movies etc. -------------------------------------------------------------------------------- /miscellany/travel.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: Travel 4 | permalink: /miscellany/travel/ 5 | --- 6 | 7 | Add photographs of your journey around the world! -------------------------------------------------------------------------------- /projects.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | permalink: /projects/ 4 | title: Projects 5 | --- 6 | 7 | Here is a non-exhaustive list of my non-research projects. My research work can be found here. You can also check out my Github profile here for a complete list of my projects. 8 | 9 | -------------------------------------------------------------------------------- /projects/project_1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ys1998/academic-portfolio/4ca5f9a3cc40008cbe811720035ed9bafe1f87fd/projects/project_1.pdf -------------------------------------------------------------------------------- /projects/project_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ys1998/academic-portfolio/4ca5f9a3cc40008cbe811720035ed9bafe1f87fd/projects/project_2.pdf -------------------------------------------------------------------------------- /research.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | permalink: /research/ 4 | title: Research 5 | --- 6 | 7 | Describe your research interests here. 8 | 9 |

Publications

10 | 24 | 25 |

Research Projects

26 | 40 | 41 |

Research Implementations

42 | -------------------------------------------------------------------------------- /research/paper_1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ys1998/academic-portfolio/4ca5f9a3cc40008cbe811720035ed9bafe1f87fd/research/paper_1.pdf -------------------------------------------------------------------------------- /research/paper_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ys1998/academic-portfolio/4ca5f9a3cc40008cbe811720035ed9bafe1f87fd/research/paper_2.pdf -------------------------------------------------------------------------------- /sitemap.xml: -------------------------------------------------------------------------------- 1 | --- 2 | layout: null 3 | sitemap: 4 | exclude: 'yes' 5 | --- 6 | 7 | 8 | {% for post in site.posts %} 9 | {% unless post.published == false %} 10 | 11 | {{ site.url }}{{ post.url }} 12 | {% if post.sitemap.lastmod %} 13 | {{ post.sitemap.lastmod | date: "%Y-%m-%d" }} 14 | {% elsif post.date %} 15 | {{ post.date | date_to_xmlschema }} 16 | {% else %} 17 | {{ site.time | date_to_xmlschema }} 18 | {% endif %} 19 | {% if post.sitemap.changefreq %} 20 | {{ post.sitemap.changefreq }} 21 | {% else %} 22 | monthly 23 | {% endif %} 24 | {% if post.sitemap.priority %} 25 | {{ post.sitemap.priority }} 26 | {% else %} 27 | 0.5 28 | {% endif %} 29 | 30 | {% endunless %} 31 | {% endfor %} 32 | {% for page in site.pages %} 33 | {% unless page.sitemap.exclude == "yes" %} 34 | 35 | {{ site.url }}{{ page.url | remove: "index.html" }} 36 | {% if page.sitemap.lastmod %} 37 | {{ page.sitemap.lastmod | date: "%Y-%m-%d" }} 38 | {% elsif page.date %} 39 | {{ page.date | date_to_xmlschema }} 40 | {% else %} 41 | {{ site.time | date_to_xmlschema }} 42 | {% endif %} 43 | {% if page.sitemap.changefreq %} 44 | {{ page.sitemap.changefreq }} 45 | {% else %} 46 | monthly 47 | {% endif %} 48 | {% if page.sitemap.priority %} 49 | {{ page.sitemap.priority }} 50 | {% else %} 51 | 0.3 52 | {% endif %} 53 | 54 | {% endunless %} 55 | {% endfor %} 56 | --------------------------------------------------------------------------------