PageSourceSearch

https://rrampaer.github.io/about/

html rrampaer.github.io collected 2026-10-03 09:52:01 UTC 21,271 bytes, 516 lines download raw bytes

1<!DOCTYPE html>
2<html>
3<head>
4
5    <!-- Document Settings -->
6    <meta charset="utf-8" />
7    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
8
9    <!-- Base Meta -->
10    <!-- dynamically fixing the title for tag/author pages -->
11
12
13
14    <title>About</title>
15    <meta name="HandheldFriendly" content="True" />
16    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
17    <!-- Styles'n'Scripts -->
18    <link rel="stylesheet" type="text/css" href="/assets/built/screen.css" />
19    <link rel="stylesheet" type="text/css" href="/assets/built/screen.edited.css" />
20    <link rel="stylesheet" type="text/css" href="/assets/built/syntax.css" />
21    <!-- highlight.js -->
22    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css">
23    <style>.hljs { background: none; }</style>
24
25    <!-- This tag outputs SEO meta+structured data and other important settings -->
26    <meta name="description" content="Product | Data | Running" />
27    <link rel="shortcut icon" href="https://rrampaer.github.io/assets/images/favicon.png" type="image/png" />
28    <link rel="canonical" href="https://rrampaer.github.io/about/" />
29    <meta name="referrer" content="no-referrer-when-downgrade" />
30
31     <!--title below is coming from _includes/dynamic_title-->
32    <meta property="og:site_name" content="Robin Rampaer" />
33    <meta property="og:type" content="website" />
34    <meta property="og:title" content="About" />
35    <meta property="og:description" content="My spot on the interweb to showcase products I build and guides I write.
36
37
38{% include strava.html %}
39
40{% include goodreads.html %}" />
41    <meta property="og:url" content="https://rrampaer.github.io/about/" />
42    <meta property="og:image" content="https://rrampaer.github.io/assets/images/blog-cover.jpg" />
43    <meta property="article:publisher" content="https://www.facebook.com/rrampaer" />
44    <meta property="article:author" content="https://www.facebook.com/rrampaer" />
45    <meta property="article:published_time" content="" />
46    <meta property="article:modified_time" content="" />
47    <meta name="twitter:card" content="summary_large_image" />
48    <meta name="twitter:title" content="About" />
49    <meta name="twitter:description" content="My spot on the interweb to showcase products I build and guides I write.
50
51
52{% include strava.html %}
53
54{% include goodreads.html %}" />
55    <meta name="twitter:url" content="https://rrampaer.github.io/" />
56    <meta name="twitter:image" content="https://rrampaer.github.io/assets/images/blog-cover.jpg" />
57    <meta name="twitter:label1" content="Written by" />
58    <meta name="twitter:data1" content="Robin Rampaer" />
59    <meta name="twitter:site" content="@rational_robin" />
60    <meta name="twitter:creator" content="@rational_robin" />
61    <meta property="og:image:width" content="1400" />
62    <meta property="og:image:height" content="933" />
63
64    
64<script type="application/ld+json">
65{
66    "@context": "https://schema.org",
67    "@type": "Website",
68    "publisher": {
69        "@type": "Organization",
70        "name": "Robin Rampaer",
71        "logo": "https://rrampaer.github.io/assets/images/blog-icon.png"
72    },
73    "url": "https://rrampaer.github.io/about/",
74    "image": {
75        "@type": "ImageObject",
76        "url": "https://rrampaer.github.io/assets/images/blog-cover.jpg",
77        "width": 2000,
78        "height": 666
79    },
80    "mainEntityOfPage": {
81        "@type": "WebPage",
82        "@id": "https://rrampaer.github.io/about/"
83    },
84    "description": "My spot on the interweb to showcase products I build and guides I write.
85
86
87{% include strava.html %}
88
89{% include goodreads.html %}"
90}
91    </script>
91
92
93    <!-- 
93<script type="text/javascript" src="https://demo.ghost.io/public/ghost-sdk.min.js?v=724281a32e"></script>
93
94    
94<script type="text/javascript">
95    ghost.init({
96    	clientId: "ghost-frontend",
97    	clientSecret: "f84a07a72b17"
98    });
99    </script>
99 -->
100
101    <meta name="generator" content="Jekyll 3.6.2" />
102    <link rel="alternate" type="application/rss+xml" title="About" href="/feed.xml" />
103
104
105</head>
106<body class="page-template">
107
108    <div class="site-wrapper">
109        <!-- All the main content gets inserted here, index.hbs, post.hbs, etc -->
110        <!-- < default -->
111<!-- The tag above means: insert everything in this file
112into the {body} of the default.hbs template -->
113
114<!-- The big featured header, it uses blog cover image as a BG if available -->
115<header class="site-header outer">
116    <div class="inner">
117        <nav class="site-nav">
118    <div class="site-nav-left">
119        
120            
121                <a class="site-nav-logo" href="/"><img src="/assets/images/favicon.png" alt="Robin Rampaer" /></a>
122            
123        
124        
125            <ul class="nav" role="menu">
126    <!-- <li class="nav-home" role="menuitem"><a href="/">Home</a></li> -->
127    <li class="nav-about" role="menuitem"><a href="/about/">About</a></li>
128    <li class="nav-products" role="menuitem"><a href="/tag/products/">Products</a></li>
129    <li class="nav-guides" role="menuitem"><a href="/tag/guides/">Guides</a></li>
130    <!-- <li class="nav-try-ghost" role="menuitem"><a href="https://ghost.org">Try Ghost</a></li> -->
131</ul>
132        
133    </div>
134    <div class="site-nav-right">
135        <div class="social-links">
136            
137                <a class="social-link social-link-gh" href="https://github.com/rrampaer" target="_blank" rel="noopener"><img src="/assets/images/GitHub-Mark-32px.png" alt="GitHub-Mark" style="height:1.8rem"></a>
138            
139            
140                <a class="social-link social-link-tw" href="https://twitter.com/rational_robin" target="_blank" rel="noopener"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M30.063 7.313c-.813 1.125-1.75 2.125-2.875 2.938v.75c0 1.563-.188 3.125-.688 4.625a15.088 15.088 0 0 1-2.063 4.438c-.875 1.438-2 2.688-3.25 3.813a15.015 15.015 0 0 1-4.625 2.563c-1.813.688-3.75 1-5.75 1-3.25 0-6.188-.875-8.875-2.625.438.063.875.125 1.375.125 2.688 0 5.063-.875 7.188-2.5-1.25 0-2.375-.375-3.375-1.125s-1.688-1.688-2.063-2.875c.438.063.813.125 1.125.125.5 0 1-.063 1.5-.25-1.313-.25-2.438-.938-3.313-1.938a5.673 5.673 0 0 1-1.313-3.688v-.063c.813.438 1.688.688 2.625.688a5.228 5.228 0 0 1-1.875-2c-.5-.875-.688-1.813-.688-2.75 0-1.063.25-2.063.75-2.938 1.438 1.75 3.188 3.188 5.25 4.25s4.313 1.688 6.688 1.813a5.579 5.579 0 0 1 1.5-5.438c1.125-1.125 2.5-1.688 4.125-1.688s3.063.625 4.188 1.813a11.48 11.48 0 0 0 3.688-1.375c-.438 1.375-1.313 2.438-2.563 3.188 1.125-.125 2.188-.438 3.313-.875z"/></svg>
141</a>
142            
143            
144                <a class="social-link social-link-in" href="https://www.linkedin.com/in/robin-rampaer-38ba25108" target="_blank" rel="noopener"><img src="/assets/images/linkedin-logo.png" alt="LinkedIn-Logo" style="height:1.8rem">
145
146</a>
147            
148        </div>
149        
150            <a class="subscribe-button" href="#subscribe">Subscribe</a>
151        
152    </div>
153</nav>
154
155    </div>
156</header>
157
158<!-- Everything inside the #post tags pulls data from the post -->
159<!-- #post -->
160
161<main id="site-main" class="site-main outer" role="main">
162    <div class="inner">
163
164        <article class="post-full post page no-image">
165
166            <header class="post-full-header">
167                <h1 class="post-full-title">About</h1>
168            </header>
169
170            
171
172            <section class="post-full-content">
173                <p>My spot on the interweb to showcase products I build and guides I write.</p>
174
175<center><iframe height="454" width="300" frameborder="0" allowtransparency="true" scrolling="no" src="https://www.strava.com/athletes/14070026/latest-rides/b22a32ddc14888d3a682adb5f4673e709f89ddea"></iframe></center>
176
177<center><!-- Show static HTML/CSS as a placeholder in case js is not enabled - javascript include will override this if things work -->
178    <style type="text/css" media="screen">
179    .gr_custom_container_1479570443 {
180      /* customize your Goodreads widget container here*/
181      border: 1px solid gray;
182      border-radius:10px;
183      padding: 10px 5px 10px 5px;
184      background-color: #FFFFFF;
185      color: #000000;
186      width: 300px
187    }
188    .gr_custom_header_1479570443 {
189      /* customize your Goodreads header here*/
190      border-bottom: 1px solid gray;
191      width: 100%;
192      margin-bottom: 5px;
193      text-align: center;
194      font-size: 120%
195    }
196    .gr_custom_each_container_1479570443 {
197      /* customize each individual book container here */
198      width: 100%;
199      clear: both;
200      margin-bottom: 10px;
201      overflow: auto;
202      padding-bottom: 4px;
203      border-bottom: 1px solid #aaa;
204    }
205    .gr_custom_book_container_1479570443 {
206      /* customize your book covers here */
207      overflow: hidden;
208      height: 60px;
209        float: left;
210        margin-right: 4px;
211        width: 39px;
212    }
213    .gr_custom_author_1479570443 {
214      /* customize your author names here */
215      font-size: 10px;
216    }
217    .gr_custom_tags_1479570443 {
218      /* customize your tags here */
219      font-size: 10px;
220      color: gray;
221    }
222    .gr_custom_rating_1479570443 {
223      /* customize your rating stars here */
224      float: right;
225    }
226    </style>
227    <br />
228    <div id="gr_custom_widget_1479570443">
229        <div class="gr_custom_container_1479570443">
230    <h2 class="gr_custom_header_1479570443">
231    <a style="text-decoration: none;" href="https://www.goodreads.com/review/list/38406961-robin-rampaer?shelf=currently-reading&amp;utm_medium=api&amp;utm_source=custom_widget">Robin is currently-reading</a>
232    </h2>
233    <div class="gr_custom_each_container_1479570443">
234        <div class="gr_custom_book_container_1479570443">
235          <a title="Thinking, Fast and Slow" href="https://www.goodreads.com/review/show/1718634191?utm_medium=api&amp;utm_source=custom_widget"><img alt="Thinking, Fast and Slow" border="0" src="https://images.gr-assets.com/books/1317793965s/11468377.jpg" /></a>
236        </div>
237        <div class="gr_custom_title_1479570443">
238          <a href="https://www.goodreads.com/review/show/1718634191?utm_medium=api&amp;utm_source=custom_widget">Thinking, Fast and Slow</a>
239        </div>
240        <div class="gr_custom_author_1479570443">
241          by <a href="https://www.goodreads.com/author/show/72401.Daniel_Kahneman">Daniel Kahneman</a>
242        </div>
243        <div class="gr_custom_tags_1479570443">
244          tagged:
245          currently-reading
246        </div>
247    </div>
248    <div class="gr_custom_each_container_1479570443">
249        <div class="gr_custom_book_container_1479570443">
250          <a title="Antifragile: Things That Gain from Disorder" href="https://www.goodreads.com/review/show/1718634506?utm_medium=api&amp;utm_source=custom_widget"><img alt="Antifragile: Things That Gain from Disorder" border="0" src="https://images.gr-assets.com/books/1352422827s/13530973.jpg" /></a>
251        </div>
252        <div class="gr_custom_title_1479570443">
253          <a href="https://www.goodreads.com/review/show/1718634506?utm_medium=api&amp;utm_source=custom_widget">Antifragile: Things That Gain from Disorder</a>
254        </div>
255        <div class="gr_custom_author_1479570443">
256          by <a href="https://www.goodreads.com/author/show/21559.Nassim_Nicholas_Taleb">Nassim Nicholas Taleb</a>
257        </div>
258        <div class="gr_custom_tags_1479570443">
259          tagged:
260          currently-reading
261        </div>
262    </div>
263    <br style="clear: both" />
264    <center>
265      <a href="https://www.goodreads.com/"><img alt="goodreads.com" style="border:0" src="https://www.goodreads.com/images/widget/widget_logo.gif" /></a>
266    </center>
267    <noscript>
268      Share <a href="https://www.goodreads.com/">book reviews</a> and ratings with Robin, and even join a <a href="https://www.goodreads.com/group">book club</a> on Goodreads.
269    </noscript>
270    </div>
271    
272    </div>
273    
273<script src="https://www.goodreads.com/review/custom_widget/38406961.Robin%20is%20currently-reading?cover_position=left&amp;cover_size=small&amp;num_books=5&amp;order=a&amp;shelf=currently-reading&amp;show_author=1&amp;show_cover=1&amp;show_rating=0&amp;show_review=1&amp;show_tags=1&amp;show_title=1&amp;sort=date_added&amp;widget_bg_color=FFFFFF&amp;widget_bg_transparent=&amp;widget_border_width=1&amp;widget_id=1479570443&amp;widget_text_color=000000&amp;widget_title_size=medium&amp;widget_width=medium" type="text/javascript" charset="utf-8"></script>
273
274    </center>
275
276            </section>
277
278        </article>
279
280    </div>
281</main>
282
283<!-- /post -->
284
285<!-- The #contentFor helper here will send everything inside it up to the matching #block helper found in default.hbs -->
286<script>
287$(function() {
288    var $postContent = $(".post-full-content");
289    $postContent.fitVids();
290});
291</script>
291
292
293
294
295        <!-- Previous/next page links - displayed on every page -->
296        
297
298        <!-- The footer at the very bottom of the screen -->
299        <footer class="site-footer outer">
300            <div class="site-footer-content inner">
301                <section class="copyright"><a href="https://rrampaer.github.io/">Robin Rampaer</a> &copy; 2020</section>
302                <!-- <section class="poweredby">Proudly published with <a href="https://jekyllrb.com/">Jekyll</a> &
303                    <a href="https://pages.github.com/" target="_blank" rel="noopener">GitHub Pages</a> using
304                    <a href="https://github.com/jekyller/jasper2" target="_blank" rel="noopener">Jasper2</a></section> -->
305                <nav class="site-footer-nav">
306                    <a href="/">Latest Posts</a>
307                    <a href="https://github.com/rrampaer" target="_blank" rel="noopener">Github</a>
308                    <a href="https://twitter.com/rational_robin" target="_blank" rel="noopener">Twitter</a>
309                    <a href="https://linkedin.com/in/robin-rampaer-38ba25108" target="_blank" rel="noopener">LinkedIn</a>
310                    <a href="/sitemap.xml">Sitemap</a>
311                </nav>
312            </div>
313        </footer>
314
315    </div>
316
317    <!-- The big email subscribe modal content -->
318    
319        <div id="subscribe" class="subscribe-overlay">
320            <a class="subscribe-overlay-close" href="#"></a>
321            <div class="subscribe-overlay-content">
322                
323                    <img class="subscribe-overlay-logo" src="/assets/images/blog-icon.png" alt="Robin Rampaer" />
324                
325                <h1 class="subscribe-overlay-title">Know when I post</h1>
326                <p class="subscribe-overlay-description">I email once per quarter</p>
327                <form method="post" action="https://formspree.io/[email protected]" class="">
328    <input class="confirm" type="hidden" name="confirm"  /><input class="location" type="hidden" name="location"  /><input class="referrer" type="hidden" name="referrer"  />
329
330    <div class="form-group">
331        <input class="subscribe-email" type="email" name="email"  placeholder="[email protected]" />
332        <input type="hidden" name="_next" value="/" />
333    </div>
334    <button class="" type="submit"><span>Subscribe</span></button>
335    
335<script type="text/javascript">(function(g,h,o,s,t){h[o]('.location')[s]=h[o]('.location')[s] || g.location.href;h[o]('.referrer')[s]=h[o]('.referrer')[s] || h.referrer;})(window,document,'querySelector','value');</script>
335
336</form>
337
338            </div>
339        </div>
340    
341
342    <!-- highlight.js -->
343    
343<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.10.0/components/prism-abap.min.js"></script>
343
344    
344<script>$(document).ready(function() {
345      $('pre code').each(function(i, block) {
346        hljs.highlightBlock(block);
347      });
348    });</script>
348
349
350    <!-- jQuery + Fitvids, which makes all video embeds responsive -->
351    
351<script
352        src="https://code.jquery.com/jquery-3.2.1.min.js"
353        integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
354        crossorigin="anonymous">
355    </script>
355
356    
356<script type="text/javascript" src="/assets/js/jquery.fitvids.js"></script>
356
357    
357<script type="text/javascript" src="https://demo.ghost.io/assets/js/jquery.fitvids.js?v=724281a32e"></script>
357
358
359
360    <!-- Paginator increased to "infinit" in _config.yml -->
361    <!-- if paginator.posts  -->
362    <!-- 
362<script>
363        var maxPages = parseInt('');
364    </script>
364
365    
365<script src="/assets/js/infinitescroll.js"></script>
365 -->
366    <!-- /endif -->
367
368    
369
370
371    <!-- Add Google Analytics  -->
372    <!--  Segment Tracking code -->
373 
373<script>
374    (function(){
375    !function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t<analytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t,e){var n=document.createElement("script");n.type="text/javascript";n.async=!0;n.src="https://cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a);analytics._loadOptions=e};analytics.SNIPPET_VERSION="4.1.0";
376    analytics.load("bDZT1Eo2OcGSd1tqHigIcrqN4J4EKoK8");
377    analytics.page();
378    }}();
379    //Change these values
380    var msg = "We use 🍪. By continuing to browse the site you agree to our policy on cookie usage.";
381    var closeBtnMsg = "OK";
382    var privacyBtnMsg = "Privacy Policy";
383    var privacyLink = "https://rrampaer.github.io/cookies";
384
385    //check cookies 
386    if(document.cookie){
387    var cookieString = document.cookie;
388    var cookieList = cookieString.split(";");
389    // if cookie named OKCookie is found, return
390    for(x = 0; x < cookieList.length; x++){
391        if (cookieList[x].indexOf("OKCookie") != -1){
392            analytics.identify();
393            return
394            }; 
395    }
396    }
397
398    var docRoot = document.getElementsByClassName("post").length > 0 ?  document.getElementsByClassName("post")[0] :document.getElementsByTagName("main")[0];
399    var okC = document.createElement("div");
400    okC.setAttribute("id", "okCookie");
401    var okCp = document.createElement("p");
402    var okcText = document.createTextNode(msg); 
403
404    //close button
405    var okCclose = document.createElement("a");
406    var okcCloseText = document.createTextNode(closeBtnMsg);
407    okCclose.setAttribute("href", "#");
408    okCclose.setAttribute("id", "okClose");
409    okCclose.appendChild(okcCloseText);
410    okCclose.addEventListener("click", closeCookie, false);
411
412    //privacy button
413    var okCprivacy = document.createElement("a");
414    var okcPrivacyText = document.createTextNode(privacyBtnMsg);
415    okCprivacy.setAttribute("href", privacyLink);
416    okCprivacy.setAttribute("id", "okCprivacy");
417    okCprivacy.appendChild(okcPrivacyText);
418
419    //add to DOM
420    okCp.appendChild(okcText);
421    okC.appendChild(okCp);
422    okC.appendChild(okCclose);
423    okC.appendChild(okCprivacy);
424    docRoot.appendChild(okC);
425
426    okC.classList.add("okcBeginAnimate");
427
428    function closeCookie(){
429    var cookieExpire = new Date();
430    cookieExpire.setFullYear(cookieExpire.getFullYear() +2);
431    document.cookie="OKCookie=1; expires=" + cookieExpire.toGMTString() + ";";
432    docRoot.removeChild(okC);
433    analytics.identify();
434    } 
435    })();
436 </script>
436
437
438 <style>
439 #okCookie{
440  background-color:#F2F2F2;
441  color:#333333;
442  position:fixed;
443  bottom:0;
444  left:0;
445  width:100%;
446  padding:10px;
447  font-family:sans-serif;
448  -moz-box-sizing: border-box; 
449  -webkit-box-sizing: border-box; 
450  box-sizing: border-box;
451  border-top:1px solid #ccc;
452  z-index:10;
453}
454
455#okCookie p{margin:0 0 10px 0; float:left; padding:5px 0px;}
456
457#okCookie #okClose, #okCookie #okCprivacy{
458  padding:5px 20px;
459  float:right;
460  margin-left:10px;
461  text-decoration:none;
462  border-radius:3px;
463  color:white;
464}
465
466#okCookie #okClose{
467  background-color:#39B54A;
468  text-shadow:0px 1px 1px #507F2B;
469  box-shadow:inset 0px -1px 1px #507F2B;
470}
471
472#okCookie #okClose:hover{background-color:#42ce55}
473
474#okCookie #okCprivacy{
475  background-color:#8D9499;
476  text-shadow:0px 1px 1px #63666B;
477  box-shadow:inset 0px -1px 1px #63666B;
478}
479
480#okCookie #okCprivacy:hover{background-color:#a0a8ae}
481
482.okcBeginAnimate{
483    -webkit-animation: myfirst 2s; 
484    animation: myfirst 2s;
485}
486
487/* Chrome, Safari, Opera */
488@-webkit-keyframes myfirst {
489    from {opacity: 0;}
490    to {opacity: 1;}
491}
492
493/* Standard syntax */
494@keyframes myfirst {
495    from {opacity: 0;}
496    to {opacity: 1;}
497}
498 </style>
499
500
501    <!-- The #block helper will pull in data from the #contentFor other template files. In this case, there's some JavaScript which we only want to use in post.hbs, but it needs to be included down here, after jQuery has already loaded. -->
502    
503        
503<script>
504$(function() {
505    var $postContent = $(".post-full-content");
506    $postContent.fitVids();
507});
508</script>
508
509
510    
511
512    <!-- Ghost outputs important scripts and data with this tag - it should always be the very last thing before the closing body tag -->
513    <!-- ghost_foot -->
514
515</body>
516</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.