PageSourceSearch

https://nlkinlock.github.io/index.html

html nlkinlock.github.io collected 2026-10-03 09:41:21 UTC 8,420 bytes, 193 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-US">
3
4
5  <head>
6    <meta charset='utf-8'>
7    <meta name="viewport" content="width=device-width, initial-scale=1">
8	<meta name="google-site-verification" content="LYVuNXLeCKbzJgryLnEGzyW4uqlRMoPEaBb4h5p2byY" />
9	<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
10    <link rel="stylesheet" href="https://fonts.bunny.net/css?family=Roboto:300,400,600" > 
11    <link rel="stylesheet" href="/assets/css/style.css?v=">
12    <link rel="stylesheet" type="text/css" href="/assets/css/print.css" media="print">
13
14<!-- Begin Jekyll SEO tag v2.8.0 -->
15<title>Nicole Kinlock | Postdoctoral researcher in plant ecology</title>
16<meta name="generator" content="Jekyll v3.10.0" />
17<meta property="og:title" content="Nicole Kinlock" />
18<meta property="og:locale" content="en_US" />
19<meta name="description" content="Postdoctoral researcher in plant ecology" />
20<meta property="og:description" content="Postdoctoral researcher in plant ecology" />
21<link rel="canonical" href="https://nlkinlock.github.io/" />
22<meta property="og:url" content="https://nlkinlock.github.io/" />
23<meta property="og:site_name" content="Nicole Kinlock" />
24<meta property="og:type" content="website" />
25<meta name="twitter:card" content="summary" />
26<meta property="twitter:title" content="Nicole Kinlock" />
27<script type="application/ld+json">
28{"@context":"https://schema.org","@type":"WebSite","description":"Postdoctoral researcher in plant ecology","headline":"Nicole Kinlock","name":"Nicole Kinlock","url":"https://nlkinlock.github.io/"}</script>
28
29<!-- End Jekyll SEO tag -->
30
31  </head>
32
33  <body>
34	
35	<style>
36  #cookie-notice {
37    display: none;
38    position: fixed;
39    bottom: 1rem;
40    left: 0;
41    right: 0;
42    margin: 0 auto;
43    width: calc(100% - 2rem);
44    max-width: 700px;
45    box-sizing: border-box;
46    padding: 0.6rem 1rem;
47    text-align: center;
48    background: #044DBD;
49    color: #fff;
50    line-height: 1.3;
51    font-size: 0.8rem;
52    border-radius: 6px;
53    box-shadow: 0 2px 10px rgba(0,0,0,0.25);
54    z-index: 1000;
55  }
56  #cookie-notice button,
57  #cookie-notice a {
58    display: inline-block;
59    margin-left: 0.5rem;
60    font: inherit;
61    cursor: pointer;
62  }
63  #cookie-notice button {
64    padding: 0.2rem 0.55rem;
65    line-height: 1.3;
66    border: 1px solid #fff;
67    border-radius: 4px;
68    background: transparent;
69    color: #fff;
70  }
71  #cookie-notice button:hover { background: #fff; color: #044DBD; }
72  #cookie-notice a { color: #fff; text-decoration: underline; }
73  #cookie-notice a:hover { color: #fff; opacity: 0.7; }
74
75  @media (max-width: 767px) {
76    #cookie-notice span { display: block; margin-bottom: 0.6rem; }
77  }
78</style>
79
80<div id="cookie-notice">
81  <span>This site uses third party cookies and scripts to improve functionality.</span>
82  <button type="button" id="cookie-notice-accept">Approve</button>
83  <button type="button" id="cookie-notice-deny">Deny</button>
84  <a href="/privacy">More information</a>
85</div>
86<script>
87    function createCookie(name,value,days) {
88        var expires = "";
89        if (days) {
90            var date = new Date();
91            date.setTime(date.getTime() + (days*24*60*60*1000));
92            expires = "; expires=" + date.toUTCString();
93        }
94        document.cookie = name + "=" + value + expires + "; path=/";
95    }
96    function readCookie(name) {
97        var nameEQ = name + "=";
98        var ca = document.cookie.split(';');
99        for(var i=0;i < ca.length;i++) {
100            var c = ca[i];
101            while (c.charAt(0)==' ') c = c.substring(1,c.length);
102            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
103        }
104        return null;
105    }
106    function eraseCookie(name) {
107        createCookie(name,"",-1);
108    }
109
110    if(readCookie('cookie-notice-option')=='true') {
111        
112            /*This function will load script and call the callback once the script has loaded*/
113
114function loadScriptAsync(scriptSrc, callback) {
115    if (typeof callback !== 'function') {
116        throw new Error('Not a valid callback for async script load');
117    }
118    var script = document.createElement('script');
119    script.onload = callback;
120    script.src = scriptSrc;
121    document.head.appendChild(script);
122}
123
124/* This is the part where you call the above defined function and "calls back" your code which gets executed after the script has loaded */
125
126   loadScriptAsync('https://www.googletagmanager.com/gtag/js?id=G-SQDWJGN99P', function () {
127     
vendor: 145 bytes, lines 127-130
127window.dataLayer = window.dataLayer || [];
128     function gtag() { dataLayer.push(arguments); }
129     gtag('js', new Date());
130     gtag('config', '
130G-SQDWJGN99P
vendor: 7 bytes, lines 130-131
130');
131   
131});
132
133        
134    } else if (readCookie('cookie-notice-option')!='false'){
135        document.getElementById('cookie-notice').style.display = 'block';
136    }
137
138    document.getElementById('cookie-notice-accept').addEventListener("click",function() {
139        createCookie('cookie-notice-option','true',31);
140        document.getElementById('cookie-notice').style.display = 'none';
141        location.reload();
142    });
143
144    document.getElementById('cookie-notice-deny').addEventListener("click",function() {
145        createCookie('cookie-notice-option','false',31);
146        document.getElementById('cookie-notice').style.display = 'none';
147        location.reload();
148    });
149
150</script>
150
151
152    
153	<div id="container">
154      <div class="inner">
155
156        <header>
157          <h1><a href="index.html"><img src="images/header.png" alt="Home"></a></h1>
158
159			<ul class="flex-container">
160				<li class="flex-item"><a href="research.html">Research</a></li>
161				<li class="flex-item"><a href="publications.html">Publications</a></li>
162				<li class="flex-item"><a href="cv.html">CV</a></li>
163				<li class="flex-item"><a href="mailto:[email protected]"><img class="image-shrink" src="images/email.png" alt="Email"></a></li>
164				<li class="flex-item"><a href="https://orcid.org/0000-0002-2917-5133" target="_blank"><img class="image-shrink" src="images/orcid.png" alt="ORCID"></a></li>
165                <li class="flex-item"><a href="https://scholar.google.com/citations?user=wl76EO8AAAAJ" target="_blank"><img class="image-shrink" src="images/scholar.png" alt="Google Scholar"></a></li>
166				<li class="flex-item"><a href="https://github.com/nlkinlock" target="_blank"><img class="image-shrink" src="images/github.png" alt="GitHub"></a></li>
167			</ul>
168
169        </header>
170
171        <hr>
172
173        <section id="main_content">
174          <p>I am a plant ecologist working across scales from global to local, and from broad species pools to communities. The throughline of my research is invasions, which occur when species are brought by people to a new place where they establish long-lasting populations without further help from people, and where they can have large impacts on local ecosystems. I am interested in invasions from both a basic science perspective, using them to better understand how our world works, and from an applied science perspective, providing recommendations to mitigate current invasions or avoid future invasions. Lately, my focus is on the diversity and distributions of cultivated plants, including all species planted and cared for by humans, both because of their implications for invasion and for their services to people and ecosystems. But, I maintain diverse scientific interests, including: how evolutionary relationships determine the species that end up together in a region; how human history (events, policies, land use, etc.) can explain present-day species distributions; and how species interact with one another to form networks that structure communities. I like to use the best possible tools for analyses, and that means that I use a variety of quantitative and computational approaches, including hierarchical, spatial, and Bayesian modeling, simulations, machine learning, and high-performance computing. I am currently working as a postdoctoral researcher in Mark van Kleunen’s lab at the University of Konstanz.</p>
175
176<p align="center">
177<img width="200" src="images/me.png" />
178</p>
179
180
181        </section>
182
183        <footer>
184			<a href="https://pages-themes.github.io/tactile/" target="_blank">Tactile</a> <a href="https://jekyllrb.com/" target="_blank">Jekyll</a> theme for Github Pages. Template adapted from <a href="https://github.com/jabranham/github-pages-academic-starter-kit" target="_blank">A. Branham</a>.
185        </footer>
186
187      </div>
188    </div>
189
190
191  </body>
192</html>
193

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.