index.html 18.8 KB
Newer Older
Pallav Agarwal's avatar
Pallav Agarwal committed
1
<title>Homepage - VARSTACK</title>
2 3 4 5 6 7 8
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
fjs.parentNode.insertBefore(js, fjs);
9 10 11 12
}(document, 'script', 'facebook-jssdk'));
var host = "varstack.com";
var hostwww = "www.varstack.com";
if (((host == window.location.host) || (hostwww == window.location.host))
13
        && (window.location.protocol != 'https:'
Pallav Agarwal's avatar
Pallav Agarwal committed
14
            || window.location.toString().match(/http.?:\/\/var/))){
15
  window.location = window.location.toString().replace(/^http:/, "https:").replace(/https:\/\/varstack/, "https://www.varstack");
16 17
}
</script>
Pallav Agarwal's avatar
Pallav Agarwal committed
18
<meta name=viewport content="width=device-width, initial-scale=1">
Pallav Agarwal's avatar
Pallav Agarwal committed
19 20
<meta charset="utf-8"/>

Pallav Agarwal's avatar
Pallav Agarwal committed
21
<noscript>
Pallav Agarwal's avatar
Pallav Agarwal committed
22
    <link href="/css/bootstrap.min.css" rel="stylesheet">
Pallav Agarwal's avatar
Pallav Agarwal committed
23 24 25 26 27
    <link href="/css/highlighting.css" rel="stylesheet">
    <link href="/css/style.css" rel="stylesheet">
    
</noscript>
<script id="loadcss">function loadCSS(e,n,o,t){"use strict";var d=window.document.createElement("link"),i=n||window.document.getElementsByTagName("script")[0],r=window.document.styleSheets;return d.rel="stylesheet",d.href=e,d.media="only x",t&&(d.onload=t),i.parentNode.insertBefore(d,i),d.onloadcssdefined=function(e){for(var n,o=0;o<r.length;o++)r[o].href&&r[o].href===d.href&&(n=!0);n?e():setTimeout(function(){d.onloadcssdefined(e)})},d.onloadcssdefined(function(){d.media=o||"all"}),d}
Pallav Agarwal's avatar
Pallav Agarwal committed
28
loadCSS( "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css", document.getElementById("loadcss"));
Pallav Agarwal's avatar
Pallav Agarwal committed
29 30 31 32
loadCSS( "/css/highlighting.css", document.getElementById("loadcss"));
loadCSS( "/css/style.css", document.getElementById("loadcss"));
    
</script>
Pallav Agarwal's avatar
Pallav Agarwal committed
33 34 35

<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
Pallav Agarwal's avatar
Pallav Agarwal committed
36
    <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
Pallav Agarwal's avatar
Pallav Agarwal committed
37 38 39
    <![endif]-->

    
Pallav Agarwal's avatar
Pallav Agarwal committed
40
    <img src="/img/homepage.jpg" id="bg-img" alt="Programmers Wallpaper banner">
Pallav Agarwal's avatar
Pallav Agarwal committed
41 42 43
    
    <div class="container">
        <div class="row" id="menu">
Pallav Agarwal's avatar
Pallav Agarwal committed
44 45 46 47 48 49 50 51 52 53 54 55 56 57
            <div class="col-md-3 col-xs-8 menu" id="site_title">
                <a href="/" style="color:black;">VARSTACK</a>
            </div>
            <div class="col-md-3 col-md-push-6 col-xs-4 menu">
                <form action="/search/" id='search-form'>
                    <input id="search-box" type="text" name="query" placeholder="Search..">
                </form>
            </div>
            <div class="col-md-6 col-md-pull-3 col-xs-12 menu">
                <div class="row" id="top_menu">
                    <ul class="nav nav-pills">
                        <li class="active" id="blog"><a class="color_change" href="/">Blog</a></li>
                        <li id="tips"><a class="color_change" href="/tips/">Tips</a></li>
                        <li id="algo"><a class="color_change" href="/algo/">Behind The Scenes</a></li>
58
                        <li id="gsoc"><a class="color_change" href="/gsoc/">GSoC_2016</a></li>
Pallav Agarwal's avatar
Pallav Agarwal committed
59 60
                        <li id="about"><a class="color_change" href="/about_me/">About Me</a></li>
                    </ul>
Pallav Agarwal's avatar
Pallav Agarwal committed
61 62 63 64 65 66 67
                </div>
            </div>
        </div>
        
        <div class="row" id="image"> </div>
        
        <div class="row" id="content">
Pallav Agarwal's avatar
Pallav Agarwal committed
68
            <div class="col-md-7 col-md-push-3">
Pallav Agarwal's avatar
Pallav Agarwal committed
69
                <div class="row" id="data">
Pallav Agarwal's avatar
Pallav Agarwal committed
70 71 72 73 74 75 76
                    <div class="col-md-12">
                        <br />
                        <h3>Homepage</h3>
                        <hr />
                        <div class="row text-justify" id="content-holder">
                            <div class="col-md-12">
                                
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
  <a href="/2016/05/06/SSH-port-forwarding-and-some-cool-uses/">SSH PORT FORWARDING AND SOME COOL USES</a>
  <p class="author" style="text-align: right;">
    <span class="date">May 06, 2016</span>
  </p>
  <div class="content">
    <p>I'll begin with some of the bare minimum and absolutely amazing things ssh port forwarding is capable of, and see if I can convert this to a proper blog post later.</p> <p><br/></p> <h4><strong>1. Local port forwarding</strong></h4> <p>Syntax:</p> <pre><code>ssh -L8081:example.com:80 pallav@myserver.com </code></pre> <p>Meaning: Opens a SSH connection to myserver.com, and forward all requests to <strong>my</strong> port 8081 to port 80 (default http port) of example.com <em>via</em> myserver. Thus, if example.com is blocked on my PC, but it can be accessed by some other PC which I have ssh access to, then I can use this command to gain access to the...
  </div>
  <br /><br />

  <a href="/2016/04/30/Google-Summer-of-Code-with-Gentoo/">GOOGLE SUMMER OF CODE WITH GENTOO</a>
  <p class="author" style="text-align: right;">
    <span class="date">Apr 30, 2016</span>
  </p>
  <div class="content">
    <p>I am excited to say that I've been accepted for this year's summer of code under Gentoo Organisation. <a href="/gsoc">This section of the blog</a> will be dedicated to documenting anything and everything I learn that is interesting or remotely related to my project.</p> <p>My proposal for the project can be found <a href="/img/gsoc.pdf">here</a>. The abstract for the same has been given below.</p> <blockquote><p>Gentoo is an operating system with extreme focus on configurability and performance. To provide fully customizable experience, without interfering with the stability of the system, Gentoo has a concept of masked packages. These masked packages (or versions) are...
  </div>
  <br /><br />

  <a href="/2016/04/27/SSH-keys/">EASY SHARING OF SSH KEYS</a>
  <p class="author" style="text-align: right;">
    <span class="date">Apr 27, 2016</span>
  </p>
  <div class="content">
    <p>This tip may be obvious to many people, but I feel this worth mentioning. A lot of us
have SSH keys set up for github. I found out today, from a friend (github/sakshamsharma)
that you can actually share your public keys with others by giving them your github
username.
For example,</p>

<pre><code>curl https://github.com/pallavagarwal07.keys &gt;&gt; ~/.ssh/authorized_keys
</code></pre>

<p>would give me ssh/scp access to your PC.</p>

  </div>
  <br /><br />

114 115 116 117 118 119 120 121 122
  <a href="/2015/12/12/Linux-commands-every-user-should-master/">LINUX COMMANDS EVERY USER SHOULD MASTER</a>
  <p class="author" style="text-align: right;">
    <span class="date">Dec 12, 2015</span>
  </p>
  <div class="content">
    <p>When it comes to linux, there are some commands that you can't live without and then there are some you <em>shouldn't</em> live without. I mean sure, you can live your life without ever using <code>grep</code> or <code>find</code> but you'd never believe how much productive knowing a few more terminal commands can make you.</p> <p>Here is a list of the commands we are going to take a look at:</p> <ol> <li><em>man</em></li> <li><em>grep</em></li> <li><em>find</em></li> <li><em>sed</em></li> </ol> <p><br/></p> <h4><strong>The command that started it all: <em>man</em></strong></h4> <p>I really hope you know this one. But in case you don't, well today is your lucky day....
  </div>
  <br /><br />

123 124 125 126 127 128 129 130 131
  <a href="/2015/12/10/Configuration-Management-in-Linux/">CONFIGURATION MANAGEMENT IN LINUX</a>
  <p class="author" style="text-align: right;">
    <span class="date">Dec 10, 2015</span>
  </p>
  <div class="content">
    <p>You can't yourself a linux enthusiast if you've never run into the problem of sorting out your configuration files. All of your precious files like <code>.bashrc</code>, <code>.zshrc</code>, <code>.vimrc</code>, <code>.emacs</code>, <code>.fonts</code>, <code>.Xdefaults</code> are some of the ones that can take a lot of pain to customize from the ground up.</p> <p>Like most people, I started out by always backing up my important config files. But the list soon got so huge that I started having trouble remebering which files to back up, and to do it after every change.</p> <p>So, obviously, I moved on to the next obvious option, <strong>symlinks</strong>! I...
  </div>
  <br /><br />

132 133 134 135 136 137 138 139 140
  <a href="/2015/10/06/Introduction-to-Cimulator/">INTRODUCTION TO CIMULATOR</a>
  <p class="author" style="text-align: right;">
    <span class="date">Oct 06, 2015</span>
  </p>
  <div class="content">
    <p>Cimulator is a tool that can help you see you program in action. That means no more mysterious floating point exceptions, no more hidden runtime errors. With Cimulator, you can actually see your program run step by step and debug the errors as they occur.</p> <p>You can change the speed of the Simulation using the slider on the top left hand side, or even pause the simulation altogether using the Pause button on the top right of the screen. The reset button, just next to the Pause button can be used to stop a running simulation, and reset everything. When...
  </div>
  <br /><br />

Pallav Agarwal's avatar
Pallav Agarwal committed
141 142 143 144 145 146 147 148 149
  <a href="/2015/08/24/Shared-TMUX-sessions/">SHARED SSH SESSIONS WITH TMUX - BEST OF TERMINAL</a>
  <p class="author" style="text-align: right;">
    <span class="date">Aug 24, 2015</span>
  </p>
  <div class="content">
    <p>Since the title isn't very descriptive, let us look at what we are trying to achieve. Click the image below to view the animation I recorded. The two terminals are made to mirror each other, i.e. anything I type on one terminal will appear on the second one, and vice versa.</p> <p><br /> <img src="/img/TMUX-animation.gif" alt="SSH shared session using TMUX" class="img-responsive"> <br /></p> <p>This won't make much sense, or seem of any use, until you realize that the two terminals need not be on the same computer. That is, me and my friend from across the country could do this...
  </div>
  <br /><br />

150 151 152 153 154 155 156 157 158
  <a href="/2015/08/01/Windows-10/">WINDOWS 10: A LINUX USER'S PERSPECTIVE</a>
  <p class="author" style="text-align: right;">
    <span class="date">Aug 01, 2015</span>
  </p>
  <div class="content">
    <p>For the TL;DR people, here is the verdict. Microsoft has tried (For the first time, it seems) very hard to actually make the OS more hospitable for both technical and the non-technical community. Features like PackageManagement and switchable desktops (Linux Workspace equivalent) actually have made Windows 10 a huge improvement over its predecessor.</p> <p>So, like everyone else, in the past two days, my facebook feed was filled with posts about Windows 10. As a linux user, I tried for quite some time to ignore the posts, but then finally decided to upgrade my preinstalled Windows to 10.</p> <p>The article is...
  </div>
  <br /><br />

159 160 161 162 163 164 165 166 167
  <a href="/2015/08/01/SSH-from-Windows/">USING SSH FROM WINDOWS 10 WITHOUT PUTTY</a>
  <p class="author" style="text-align: right;">
    <span class="date">Aug 01, 2015</span>
  </p>
  <div class="content">
    <p>With the recent upgrade to Windows 10, Microsoft fixed many of the things that I despised in Windows 8. I don't usually use Windows if I can avoid it, but unfortunately, some of my work requires me to use it anyway. For those times, one of the basic needs for me is an SSH client. A <em>LOT</em> of the time I'm programming directly on a SSHed server machine.</p> <p>Till a few days ago, this meant that I had to use PuTTY everytime I had to use SSH from Windows. If you have ever used PuTTY, you'd know that it isn't...
  </div>
  <br /><br />

Pallav Agarwal's avatar
Pallav Agarwal committed
168 169 170 171 172 173 174 175 176
  <a href="/2015/07/27/Boost-Python-Performance/">CYTHON: BOOST PYTHON CODE PERFORMANCE</a>
  <p class="author" style="text-align: right;">
    <span class="date">Jul 27, 2015</span>
  </p>
  <div class="content">
    <p>This tip is for those people who have been working on large python projects and the fact that python is a slow language as compared to statically compiled languages has finally caught up with them. This tip is about Cython, what it is and where can you use it for maximum effect.</p> <p><br /></p> <h4><strong>What is Cython?</strong></h4> <p>From the docs themselves,</p> <blockquote><p>Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex).</p> <p>The Cython language is a superset of the Python language that additionally supports calling C functions and declaring...
  </div>
  <br /><br />

Pallav Agarwal's avatar
Pallav Agarwal committed
177 178 179 180

<!-- Pagination links -->
<div class="pagination" style="text-align: center; width: 100%;">
  
181 182 183
  <span class="page_number ">Page: 1 of 2</span>
  
    <a href="/page2" class="next">Next</a>
Pallav Agarwal's avatar
Pallav Agarwal committed
184 185
  
</div>
Pallav Agarwal's avatar
Pallav Agarwal committed
186

Pallav Agarwal's avatar
Pallav Agarwal committed
187 188
                            </div>
                        </div>
Pallav Agarwal's avatar
Pallav Agarwal committed
189 190
                    </div>
                </div>
191
                <hr /><br />
Pallav Agarwal's avatar
Pallav Agarwal committed
192 193 194 195 196
            </div>
            <div class="col-md-3 col-md-pull-7" id="recent">
                <h4>RECENT POSTS</h4>
                <ul class="nav nav-pills nav-stacked">
                    
197 198 199 200
                    <li>
                        <a href="/2016/05/06/SSH-port-forwarding-and-some-cool-uses/" class="color_change">SSH port forwarding and some cool...</a>
                    </li>
                    
201 202 203 204
                    <li>
                        <a href="/2015/12/12/Linux-commands-every-user-should-master/" class="color_change">Linux commands every user should master...</a>
                    </li>
                    
205 206 207 208
                    <li>
                        <a href="/2015/12/10/Configuration-Management-in-Linux/" class="color_change">Configuration Management in Linux</a>
                    </li>
                    
209 210 211 212
                    <li>
                        <a href="/2015/10/06/Introduction-to-Cimulator/" class="color_change">Introduction to Cimulator</a>
                    </li>
                    
Pallav Agarwal's avatar
Pallav Agarwal committed
213 214 215 216
                    <li>
                        <a href="/2015/08/24/Shared-TMUX-sessions/" class="color_change">Shared SSH sessions with TMUX -...</a>
                    </li>
                    
Pallav Agarwal's avatar
Pallav Agarwal committed
217 218 219 220
                </ul>
                <h4>RECENT TIPS</h4>
                <ul class="nav nav-pills nav-stacked">
                    
221 222 223 224
                    <li>
                        <a href="/2016/04/27/SSH-keys/" class="color_change">Easy sharing of SSH keys</a>
                    </li>
                    
225 226 227 228
                    <li>
                        <a href="/2015/08/01/SSH-from-Windows/" class="color_change">Using SSH from Windows 10 without...</a>
                    </li>
                    
Pallav Agarwal's avatar
Pallav Agarwal committed
229 230 231 232
                    <li>
                        <a href="/2015/07/27/Boost-Python-Performance/" class="color_change">Cython: Boost Python Code Performance</a>
                    </li>
                    
Pallav Agarwal's avatar
Pallav Agarwal committed
233 234 235 236 237 238 239 240 241 242 243 244 245 246 247
                    <li>
                        <a href="/2015/07/09/Wrath-of-Linux-Package-Managers/" class="color_change">Wrath of Linux Package Managers</a>
                    </li>
                    
                    <li>
                        <a href="/2015/07/01/Vim-Mappings/" class="color_change">Quick intro to custom Vim Mappings...</a>
                    </li>
                    
                </ul>
                <br />
                <br />
            </div>
            <div class="col-md-2">
            </div>
            <div class="row">
248
                <div class="col-md-7 col-md-offset-3 col-xs-10 col-xs-offset-1">
249 250
                    <div class="row">
                            <div class="col-xs-4">
Pallav Agarwal's avatar
Pallav Agarwal committed
251
                                <div class="fb-like" data-href="//www.varstack.com" data-layout="standard" data-action="like" data-show-faces="true" data-share="true"></div>
252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274
                            </div>
                            <div class="col-xs-8 text-right">
                                <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
                                <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
                                <script src="/js/SmoothScroll.js"></script>
                                <script src="/js/script.js"></script>
                                
                                
                                <script type="text/javascript">var switchTo5x=true;</script>
                                <script type="text/javascript">stLight.options({publisher: "7839e2af-f9d1-4f68-9304-dcf13d3352ea", doNotHash: false, doNotCopy: false, hashAddressBar: false});</script>
                                <span class='st_sharethis_large' displayText='ShareThis'></span>
                                <span class='st_facebook_large' displayText='Facebook'></span>
                                <span class='st_twitter_large' displayText='Tweet'></span>
                                <span class='st_googleplus_large' displayText='Google +'></span>
                                <span class='st_linkedin_large' displayText='LinkedIn'></span>
                                <span class='st_pinterest_large' displayText='Pinterest'></span>
                            </div>
                    </div>
                    <br/>
                </div>
                <div class="col-md-7 col-md-offset-3 col-xs-10 col-xs-offset-1">
                    <div id="disqus_thread"></div>
                    <script type="text/javascript" async>
275 276 277 278 279 280 281 282 283
/* * * CONFIGURATION VARIABLES * * */
var disqus_shortname = 'varstack';

/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
    var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
    dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
Pallav Agarwal's avatar
Pallav Agarwal committed
284 285 286 287 288 289 290
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-21768487-2', 'auto');
ga('send', 'pageview');
291
                    </script>
Pallav Agarwal's avatar
Pallav Agarwal committed
292
                    <script type="text/javascript" src="//w.sharethis.com/button/buttons.js" async></script>
293
                    <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
Pallav Agarwal's avatar
Pallav Agarwal committed
294
                </div>
Pallav Agarwal's avatar
Pallav Agarwal committed
295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317
            </div>
        </div>
    </div>


    <div class="modal fade" id="imagemodal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">
                        <span aria-hidden="true">&times;</span>
                        <span class="sr-only">Close</span>
                    </button>
                    <h4 class="modal-title" id="myModalLabel">
                        Image Preview
                    </h4>
                </div>
                <div class="modal-body">
                    <img src="" id="imagepreview" style="max-height: 100%; max-width: 100%;">
                </div>
            </div>
        </div>
    </div>