PageSourceSearch

https://zkamvar.github.io/

html zkamvar.github.io collected 2026-10-03 10:15:08 UTC 21,612 bytes, 560 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3
4  <head>
5  <meta charset="utf-8">
6  <meta name="robots" content="all,follow">
7  <meta name="googlebot" content="index,follow,snippet,archive">
8  <meta name="viewport" content="width=device-width, initial-scale=1">
9  <title>Zhian N. Kamvar</title>
10  <meta name="author" content="" />
11
12  
13  <meta name="keywords" content="r">
14  
15
16  
17  <meta name="description" content="Zhian N. Kamvar">
18  
19
20  <meta name="generator" content="Hugo 0.56.0" />
21
22  <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'>
23  <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet" type='text/css'>
24
25  
26  <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
27  <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
28
29  
30  <link rel="stylesheet" href="/lib/gallery/css/blueimp-gallery.min.css">
31
32  
33  <link href="https://zkamvar.github.io/css/animate.css" rel="stylesheet">
34
35  
36  
37    <link href="https://zkamvar.github.io/css/style.violet.css" rel="stylesheet" id="theme-stylesheet">
38  
39
40  
41  <link rel="stylesheet" href="//cdn.bootcss.com/highlight.js/9.11.0/styles/github.min.css">
42  
42<script src="//cdn.bootcss.com/highlight.js/9.11.0/highlight.min.js"></script>
42
43  
43<script src="//cdn.bootcss.com/highlight.js/9.11.0/languages/r.min.js"></script>
43
44  
44<script>hljs.configure({languages: []}); hljs.initHighlightingOnLoad();</script>
44
45  
46
47
48  
49  <link href="https://zkamvar.github.io/css/custom.css" rel="stylesheet">
50
51  
52    
53
54  
55  <link rel="shortcut icon" href="https://zkamvar.github.io/img/favicon.ico" type="image/x-icon" />
56  <link rel="apple-touch-icon" href="https://zkamvar.github.io/img/apple-touch-icon.png" />
57  
58
59  <link href="https://zkamvar.github.io/css/owl.carousel.css" rel="stylesheet">
60  <link href="https://zkamvar.github.io/css/owl.theme.css" rel="stylesheet">
61
62  <link rel="alternate" href="https://zkamvar.github.io/index.xml" type="application/rss+xml" title="Zhian N. Kamvar">
63
64  
65  <meta property="og:title" content="Zhian N. Kamvar" />
66  <meta property="og:type" content="website" />
67  <meta property="og:url" content="//" />
68  <meta property="og:image" content="img/logo.png" />
69  
69<script src="https://hypothes.is/embed.js" async></script>
69
70  
71  
72
73
74</head>
75
76
77  <body>
78
79    <div id="all">
80
81        <header>
82          <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200">
83
84    <div class="navbar navbar-default yamm" role="navigation" id="navbar">
85
86        <div class="container">
87            <div class="navbar-header">
88                <a class="navbar-brand home" href="https://zkamvar.github.io/">
89                    <img src="https://zkamvar.github.io/img/logo.png" alt="Zhian N. Kamvar logo" class="hidden-xs hidden-sm">
90                    <img src="https://zkamvar.github.io/img/logo-small.png" alt="Zhian N. Kamvar logo" class="visible-xs visible-sm">
91                    <span class="sr-only">Zhian N. Kamvar - go to homepage</span>
92                </a>
93                <div class="navbar-buttons">
94                    <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation">
95                      <span class="sr-only">Toggle Navigation</span>
96                        <i class="fa fa-align-justify"></i>
97                    </button>
98                </div>
99            </div>
100            
101
102            <div class="navbar-collapse collapse" id="navigation">
103                <ul class="nav navbar-nav navbar-right">
104                  
105                  <li class="dropdown">
106                    
107                    <a href="/blog/">Blog</a>
108                    
109                  </li>
110                  
111                  <li class="dropdown">
112                    
113                    <a href="/about">About</a>
114                    
115                  </li>
116                  
117                  <li class="dropdown">
118                    
119                    <a href="/pubs">Publications</a>
120                    
121                  </li>
122                  
123                  <li class="dropdown">
124                    
125                    <a href="/">Home</a>
126                    
127                  </li>
128                  
129                  <li class="dropdown">
130                    
131                    <a href="https://github.com/zkamvar/CV/blob/master/ZNK_CV.pdf">CV</a>
132                    
133                  </li>
134                  
135                </ul>
136            </div>
137            
138
139            <div class="collapse clearfix" id="search">
140
141                <form class="navbar-form" role="search">
142                    <div class="input-group">
143                        <input type="text" class="form-control" placeholder="Search">
144                        <span class="input-group-btn">
145
146                    <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button>
147
148                </span>
149                    </div>
150                </form>
151
152            </div>
153            
154
155        </div>
156    </div>
157    
158
159</div>
160
161
162
163        </header>
164
165        
166
167<section class="no-mb color-white">
168    <div class="dark-mask"></div>
169    <div class="container">
170        <div class="row">
171            <div class="col-md-8" style="margin-top: 50px">
172                
173              <center>
174                <h1>This site has moved to <a href="https://zkamvar.netlify.com">zkamvar.netlify.com</a></h1>
175                <h3>
176                The content of zkamvar.github.io will no longer be updated, but will be preserved for future reference.
177                </h3>
178                <h1>This site has moved to <a href="https://zkamvar.netlify.com">zkamvar.netlify.com</a></h1>
179              </center>
180
181            </div>
182
183        </div>
184    </div>
185</section>
186
187
188
189
190        
191
192
193
194
195        
196
197
198
199
200        
201
202
203
204
205        
206
207<section class="bar background-white no-mb">
208    <div class="container">
209
210        <div class="col-md-12">
211            <div class="heading text-center">
212                <h2>My Blog</h2>
213            </div>
214
215            <p class="lead">
216              Most of the posts will have something to do with R, population genetics, reproducibility, or academia
217            </p>
218
219            
220
221            <div class="row">
222
223                
224                
225                <div class="col-md-3 col-sm-6">
226                    <div class="box-image-text blog">
227                        <div class="top">
228                            <div class="image" style="overflow:hidden">
229                                
230                                <img src="https://zkamvar.github.io/img/banners/coffee.jpg" class="img-responsive" alt="" >
231                                
232                            </div>
233                            <div class="bg"></div>
234                            <div class="text">
235                                <p class="buttons">
236                                    <a href="https://zkamvar.github.io/blog/don-t-buy-me-a-coffee/" class="btn btn-template-transparent-primary"><i class="fa fa-link"></i> Read more</a>
237                                </p>
238                            </div>
239                        </div>
240
241                        <div class="content">
242                            <h4><a href="https://zkamvar.github.io/blog/don-t-buy-me-a-coffee/">Don&#39;t buy me a coffee</a></h4>
243                            <p class="author-category">
244                            
245                            By <a href="#">Zhian N. Kamvar</a>
246                            
247                            on 2019-06-23
248                            </p>
249                            <p class="intro">tl;dr I don&rsquo;t get paid to maintain poppr anymore and do so on my own time, so if you use it and value the work that I put into it, please donate to RAICES Texas (https://www.raicestexas.org/donate) to help provide legal services to underserved immigrant and refugee families in the United States.
250 
251Last Tuesday, I released poppr version 2.8.3, which fixed a corner case in read.genalex() and enhanced minimum spanning network rendering by drawing single-population nodes as circles instead of pies (with contribution by Frédéric Chevalier).</p>
252                            <p class="read-more">
253                              <a href="https://zkamvar.github.io/blog/don-t-buy-me-a-coffee/" class="btn btn-template-main">Continue reading</a>
254                            </p>
255                        </div>
256                    </div>
257                    
258
259                </div>
260                
261                <div class="col-md-3 col-sm-6">
262                    <div class="box-image-text blog">
263                        <div class="top">
264                            <div class="image" style="overflow:hidden">
265                                
266                                <img src="https://zkamvar.github.io/img/placeholder.png" class="img-responsive" alt="">
267                                
268                            </div>
269                            <div class="bg"></div>
270                            <div class="text">
271                                <p class="buttons">
272                                    <a href="https://zkamvar.github.io/blog/nice-selection/" class="btn btn-template-transparent-primary"><i class="fa fa-link"></i> Read more</a>
273                                </p>
274                            </div>
275                        </div>
276
277                        <div class="content">
278                            <h4><a href="https://zkamvar.github.io/blog/nice-selection/">nice selection</a></h4>
279                            <p class="author-category">
280                            
281                            By <a href="#">Zhian N. Kamvar</a>
282                            
283                            on 2019-06-18
284                            </p>
285                            <p class="intro">I started writing in R before the tidyverse became a thing and I never really had to think about non-standard evaluation when writing functions. Those days are long past and I’ve recently struggled with the challenge when writing functions for the R4EPIs project, which would stick out like ugly little trolls along side tidyverse functions.
286One of my biggest struggles was trying to figure out how, excactly to select a varaible from a user as either a character string or a bare variable.</p>
287                            <p class="read-more">
288                              <a href="https://zkamvar.github.io/blog/nice-selection/" class="btn btn-template-main">Continue reading</a>
289                            </p>
290                        </div>
291                    </div>
292                    
293
294                </div>
295                
296                <div class="col-md-3 col-sm-6">
297                    <div class="box-image-text blog">
298                        <div class="top">
299                            <div class="image" style="overflow:hidden">
300                                
301                                <img src="https://zkamvar.github.io/img/git-push-fail.gif" class="img-responsive" alt="" >
302                                
303                            </div>
304                            <div class="bg"></div>
305                            <div class="text">
306                                <p class="buttons">
307                                    <a href="https://zkamvar.github.io/blog/2fa-with-github/" class="btn btn-template-transparent-primary"><i class="fa fa-link"></i> Read more</a>
308                                </p>
309                            </div>
310                        </div>
311
312                        <div class="content">
313                            <h4><a href="https://zkamvar.github.io/blog/2fa-with-github/">Things I Learned About 2-Factor Authentication on GitHub</a></h4>
314                            <p class="author-category">
315                            
316                            By <a href="#">Zhian N. Kamvar</a>
317                            
318                            on 2019-06-06
319                            </p>
320                            <p class="intro">Since the end of 2018, I&rsquo;ve been a part of a collaboration between RECON and MSF called the R4EPIs initiative where we are trying to integrate a more standardized workflow of R for field epidemiologists so that it can be more cost-effective (no license fees) and troubleshooting among epidemiologists can be more effective. We have a repository to host templates for automated situation reports at https://github.com/R4EPI/sitrep. When we created the GitHub organisation, we wanted to make sure that the code being submitted to the repository was genuinely authored by the person and didn&rsquo;t contain malware from a hijacked account1, so we required 2-factor authentication for the R4EPI github organisation from the start.</p>
321                            <p class="read-more">
322                              <a href="https://zkamvar.github.io/blog/2fa-with-github/" class="btn btn-template-main">Continue reading</a>
323                            </p>
324                        </div>
325                    </div>
326                    
327
328                </div>
329                
330                <div class="col-md-3 col-sm-6">
331                    <div class="box-image-text blog">
332                        <div class="top">
333                            <div class="image" style="overflow:hidden">
334                                
335                                <img src="https://zkamvar.github.io/img/placeholder.png" class="img-responsive" alt="">
336                                
337                            </div>
338                            <div class="bg"></div>
339                            <div class="text">
340                                <p class="buttons">
341                                    <a href="https://zkamvar.github.io/blog/forum-over-email/" class="btn btn-template-transparent-primary"><i class="fa fa-link"></i> Read more</a>
342                                </p>
343                            </div>
344                        </div>
345
346                        <div class="content">
347                            <h4><a href="https://zkamvar.github.io/blog/forum-over-email/">Ask developers questions over forums, not emails</a></h4>
348                            <p class="author-category">
349                            
350                            By <a href="#">Zhian N. Kamvar</a>
351                            
352                            on 2019-05-30
353                            </p>
354                            <p class="intro">My package, poppr, has been on CRAN for over six years now and it has received more than 400 citations and just north of 70,000 downloads from the RStudio cran mirror. I can think of three reasons why this package has been successful:
355 Our lab gave several workshops using our package over the years We have written extensive documentation with both web site and package documentation. I actively maintain and answer the vast majority of questions that appear on the poppr google group.</p>
356                            <p class="read-more">
357                              <a href="https://zkamvar.github.io/blog/forum-over-email/" class="btn btn-template-main">Continue reading</a>
358                            </p>
359                        </div>
360                    </div>
361                    
362
363                </div>
364                
365
366            </div>
367            
368
369            
370
371        </div>
372    </div>
373    
374</section>
375
376
377
378
379
380        
381
382
383
384
385        <footer id="footer">
386    <div class="container">
387
388        
389        <div class="col-md-4 col-sm-6">
390            <h4>About me</h4>
391
392            I am a population geneticist, data scientist, plant pathologist, and R package developer working at Imperial College, London
393
394            <hr class="hidden-md hidden-lg hidden-sm">
395
396        </div>
397        
398        
399
400        <div class="col-md-4 col-sm-6">
401
402             
403            <h4>Recent posts</h4>
404
405            <div class="blog-entries">
406                
407                <div class="item same-height-row clearfix">
408                    <div class="image same-height-always">
409                        <a href="https://zkamvar.github.io/blog/">
410                          
411                            <img src="https://zkamvar.github.io/img/placeholder.png" class="img-responsive" alt="">
412                          
413                        </a>
414                    </div>
415                    <div class="name same-height-always">
416                        <h5><a href="https://zkamvar.github.io/blog/">Blogs</a></h5>
417                    </div>
418                </div>
419                
420                <div class="item same-height-row clearfix">
421                    <div class="image same-height-always">
422                        <a href="https://zkamvar.github.io/blog/don-t-buy-me-a-coffee/">
423                          
424                            <img src="https://zkamvar.github.io/img/banners/coffee.jpg" class="img-responsive" alt="">
425                          
426                        </a>
427                    </div>
428                    <div class="name same-height-always">
429                        <h5><a href="https://zkamvar.github.io/blog/don-t-buy-me-a-coffee/">Don&#39;t buy me a coffee</a></h5>
430                    </div>
431                </div>
432                
433                <div class="item same-height-row clearfix">
434                    <div class="image same-height-always">
435                        <a href="https://zkamvar.github.io/blog/nice-selection/">
436                          
437                            <img src="https://zkamvar.github.io/img/placeholder.png" class="img-responsive" alt="">
438                          
439                        </a>
440                    </div>
441                    <div class="name same-height-always">
442                        <h5><a href="https://zkamvar.github.io/blog/nice-selection/">nice selection</a></h5>
443                    </div>
444                </div>
445                
446            </div>
447
448            <hr class="hidden-md hidden-lg">
449             
450
451        </div>
452        
453
454        <div class="col-md-4 col-sm-6">
455
456          <h4>Contact</h4>
457
458            
459            <div class="social-entries">
460
461              <div class="social-entry">
462                <a href="https://twitter.com/zkamvar"><i class="fa fa-twitter fa-fw"></i>@zkamvar</a>
463              </div>
464              <div class="social-entry">
465                <a href="https://github.com/zkamvar"><i class="fa fa-github fa-fw"></i>zkamvar</a>
466              </div>
467
468              <div class="social-entry">
469                <a href="https://stackoverflow.com/users/2752888/znk"><i class="fa fa-stack-overflow fa-fw"></i>2752888/znk</a>
470              </div>
471              <div class="social-entry">
472                <a href="https://www.researchgate.net/profile/Zhian_Kamvar"><i class="fa fa-pencil fa-fw"></i>Zhian_Kamvar</a>
473              </div>
474
475              <div class="social-entry">
476                <i class="fa fa-envelope fa-fw"></i>&nbsp;[email protected]
477              </div>
478              <div class="social-entry">
479                <i class="fa fa-mobile fa-fw"></i>&nbsp;&#43;44 7444 840264
480              </div>
481            </div>
482            
483
484        </div>
485
486    </div>
487    
488</footer>
489
490    
491
492    
493
494    
495
496
497
498
499
500
501<div id="copyright">
502    <div class="container">
503        <div class="col-md-12">
504            
505            <p class="pull-right">
506              Built with <a href="https://github.com/rstudio/blogdown">blogdown</a>
507              and <a href="https://gohugo.io">hugo</a>. 
508
509              <br/>
510              Template by <a href="http://bootstrapious.com/free-templates">Bootstrapious</a>.
511              
512
513              Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a>.
514
515            </p>
516        </div>
517    </div>
518</div>
519
520
521
522
523
524    </div>
525    
526
527    
528<script type="application/javascript">
529var doNotTrack = false;
530if (!doNotTrack) {
vendor: 339 bytes, lines 530-535
530
531	(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
532	(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
533	m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
534	})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
535	ga('create', '
535UA-60561808-1
vendor: 39 bytes, lines 535-537
535', 'auto');
536	
537	ga('send', 'pageview');
538}
539</script>
539
540
541<script src="//code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script>
vendor: 1 bytes, line 541
541
542<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
542
543
544<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
vendor: 1 bytes, line 544
544
545<script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script>
vendor: 1 bytes, line 545
545
546<script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script>
vendor: 1 bytes, line 546
546
547<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script>
547
548
549<script src="//maps.googleapis.com/maps/api/js?v=3.exp"></script>
549
550
551<script src="https://zkamvar.github.io/js/hpneo.gmaps.js"></script>
vendor: 1 bytes, line 551
551
552<script src="https://zkamvar.github.io/js/gmaps.init.js"></script>
vendor: 1 bytes, line 552
552
553<script src="https://zkamvar.github.io/js/front.js"></script>
553
554
555
556<script src="https://zkamvar.github.io/js/owl.carousel.min.js"></script>
556
557
558
559  </body>
560</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.