You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

299 lines
11 KiB

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <!-- Minima -->
  5. <!-- Hexo theme created by @adisaktijrs -->
  6. <!-- Basic Page Needs
  7. –––––––––––––––––––––––––––––––––––––––––––––––––– -->
  8. <meta charset="utf-8">
  9. <title>All Posts - Tim Kicker</title>
  10. <link rel="sitemap" href="https://tim.kicker.devsitemap.xml" />
  11. <link rel="canonical" href="https://tim.kicker.dev/archives/2023/05/">
  12. <meta name="description" content="">
  13. <meta name="author" content="Tim Kicker">
  14. <meta property="og:image" content="https://tim.kicker.dev/images/goldengate.jpg">
  15. <meta property="og:site_name" content="Tim&#39;s Blog" />
  16. <meta property="og:type" content="article" />
  17. <meta property="og:title" content="All Posts - Tim Kicker" />
  18. <meta property="og:description" content="">
  19. <meta property="og:url" content="https://tim.kicker.dev/archives/2023/05/" />
  20. <meta name="twitter:card" content="summary_large_image">
  21. <meta name="twitter:title" content="All Posts - Tim Kicker">
  22. <meta name="twitter:description" content="">
  23. <meta name="twitter:image" content="https://tim.kicker.dev/images/goldengate.jpg">
  24. <meta name="twitter:url" content="https://tim.kicker.dev/archives/2023/05/" />
  25. <!-- Mobile Specific Metas
  26. –––––––––––––––––––––––––––––––––––––––––––––––––– -->
  27. <meta name="viewport" content="width=device-width, initial-scale=1">
  28. <!-- Preload fonts
  29. –––––––––––––––––––––––––––––––––––––––––––––––––– -->
  30. <link rel="preload" href="../fonts/dm-serif-display-v4-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
  31. <link rel="preload" href="../fonts/inter-v2-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
  32. <!-- CSS
  33. –––––––––––––––––––––––––––––––––––––––––––––––––– -->
  34. <link rel="stylesheet" href="/css/normalize.css">
  35. <link rel="stylesheet" href="/css/skeleton.css">
  36. <link rel="stylesheet" href="/css/custom.css">
  37. <link rel="stylesheet" href="/css/prism-dark.css">
  38. <link rel="stylesheet" href="/css/prism-line-numbers.css">
  39. <!-- User css -->
  40. <link rel="stylesheet" href="/css/user.css">
  41. <!-- Favicon
  42. –––––––––––––––––––––––––––––––––––––––––––––––––– -->
  43. <link rel="icon" type="image/png" href="/images/teddy-bear-apple.webp">
  44. <!-- Custom Theme Color Style
  45. –––––––––––––––––––––––––––––––––––––––––––––––––– -->
  46. <style>
  47. a:not(.icon) {
  48. text-decoration-color: #0FA0CE;
  49. background-image: linear-gradient(
  50. to bottom,
  51. rgba(0, 0, 0, 0) 50%,
  52. #0FA0CE 50%
  53. );
  54. }
  55. blockquote {
  56. border-left: 8px solid #0FA0CE;
  57. }
  58. .nanobar .bar {
  59. background: #0FA0CE;
  60. }
  61. .button.button-primary:hover,
  62. button.button-primary:hover,
  63. input[type="submit"].button-primary:hover,
  64. input[type="reset"].button-primary:hover,
  65. input[type="button"].button-primary:hover,
  66. .button.button-primary:focus,
  67. button.button-primary:focus,
  68. input[type="submit"].button-primary:focus,
  69. input[type="reset"].button-primary:focus,
  70. input[type="button"].button-primary:focus {
  71. background-color: #0FA0CE;
  72. border-color: #0FA0CE;
  73. }
  74. input[type="email"]:focus,
  75. input[type="number"]:focus,
  76. input[type="search"]:focus,
  77. input[type="text"]:focus,
  78. input[type="tel"]:focus,
  79. input[type="url"]:focus,
  80. input[type="password"]:focus,
  81. textarea:focus,
  82. select:focus {
  83. border: 1px solid #0FA0CE;
  84. }
  85. </style>
  86. <!-- Google Analytics (With Privacy Settings On)
  87. –––––––––––––––––––––––––––––––––––––––––––––––––– -->
  88. <meta name="generator" content="Hexo 6.3.0"><link rel="alternate" href="/atom.xml" title="Tim's Blog" type="application/atom+xml">
  89. </head>
  90. <body>
  91. <div class="container">
  92. <div class="row">
  93. <div>
  94. <script async src="https://stats.kicker.dev/script.js" data-website-id="295db5f5-27a1-42e8-9783-1e410896a596"></script>
  95. <script data-goatcounter="https://altstats.kicker.dev/count" async src="//altstats.kicker.dev/count.js"></script>
  96. <meta name="google-site-verification" content="B4hZCJh4Uz6qdaXiH65DRXUpjVTHBcblzZaXZjUo7AE" />
  97. <div class="row">
  98. <div class="two columns" style="max-width: 50px">
  99. <h1 class="mt-2 mode">
  100. <div onclick=setDarkMode(true) id="darkBtn">🌑</div>
  101. <div onclick=setDarkMode(false) id="lightBtn" class=hidden>☀️</div>
  102. <script >
  103. if (localStorage.getItem('preferredTheme') == 'dark') {
  104. setDarkMode(true)
  105. }
  106. function setDarkMode(isDark) {
  107. var darkBtn = document.getElementById('darkBtn')
  108. var lightBtn = document.getElementById('lightBtn')
  109. if (isDark) {
  110. lightBtn.style.display = "block"
  111. darkBtn.style.display = "none"
  112. localStorage.setItem('preferredTheme', 'dark');
  113. } else {
  114. lightBtn.style.display = "none"
  115. darkBtn.style.display = "block"
  116. localStorage.removeItem('preferredTheme');
  117. }
  118. document.body.classList.toggle("darkmode");
  119. }
  120. </script>
  121. </h1>
  122. </div>
  123. <div class="six columns ml-1">
  124. <h1 class="mt-2">
  125. <div onclick=navigateHome()>Hello World.</div>
  126. <script >
  127. function navigateHome() {
  128. window.location.replace('https://tim.kicker.dev');
  129. }
  130. </script>
  131. </h1>
  132. </div>
  133. <!--
  134. <div class="six columns ml-1">
  135. <h1 class="mt-2">
  136. <a class="mt-2" href="/">Hello World.</a>
  137. </h1>
  138. </div>
  139. -->
  140. <div class="twelve columns">
  141. <div class="row">
  142. <div class="nine columns left">
  143. <a href="/">Home</a>
  144. <a href="/archives" class="ml">Blog</a>
  145. <a href="/About" class="ml">About</a>
  146. <a href="mailto:[email protected]" target="_blank" class="ml">Email</a>
  147. </div>
  148. </div>
  149. <hr style="margin-bottom: 2.6rem">
  150. </div>
  151. </div>
  152. <div class="trans">
  153. <h2>All Posts</h2>
  154. <article>
  155. <div class="row">
  156. <div class="three columns left lit">
  157. <p class="bottom">May 18, 2023</p>
  158. </div>
  159. <div class="nine columns left mb-3">
  160. <a href="/2023/05/18/whatsapp-analyze/" class="">
  161. Data about data
  162. </a>
  163. </div>
  164. </div>
  165. </article>
  166. <div class="pagination-bar">
  167. <ul class="pagination">
  168. </ul>
  169. </div>
  170. <div class="row mt-2">
  171. <div class="eight columns">
  172. <p id="madewith">
  173. #<a href="https://git.kicker.dev/tim/tim.kicker.dev" target="_blank" rel="noreferrer">opensource</a></p>
  174. </div>
  175. <!-- Sepcial thanks to https://simpleicons.org/ for the icons -->
  176. <div class="four columns mb-3 posisi" >
  177. <a class="ml-0 footer-link icon" href="https://twitter.com/timjkicker/" target="_blank" style="text-decoration: none" rel="noreferrer" aria-label="Twitter">
  178. <svg class="twitter svg-hov" width="18" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitter</title><path d="M23.954 4.569c-.885.389-1.83.654-2.825.775 1.014-.611 1.794-1.574 2.163-2.723-.951.555-2.005.959-3.127 1.184-.896-.959-2.173-1.559-3.591-1.559-2.717 0-4.92 2.203-4.92 4.917 0 .39.045.765.127 1.124C7.691 8.094 4.066 6.13 1.64 3.161c-.427.722-.666 1.561-.666 2.475 0 1.71.87 3.213 2.188 4.096-.807-.026-1.566-.248-2.228-.616v.061c0 2.385 1.693 4.374 3.946 4.827-.413.111-.849.171-1.296.171-.314 0-.615-.03-.916-.086.631 1.953 2.445 3.377 4.604 3.417-1.68 1.319-3.809 2.105-6.102 2.105-.39 0-.779-.023-1.17-.067 2.189 1.394 4.768 2.209 7.557 2.209 9.054 0 13.999-7.496 13.999-13.986 0-.209 0-.42-.015-.63.961-.689 1.8-1.56 2.46-2.548l-.047-.02z"/></svg>
  179. </a>
  180. <a class="ml-0 footer-link icon" href="https://github.com/timkicker" target="_blank" style="text-decoration: none" rel="noreferrer" aria-label="GitHub">
  181. <svg class="github svg-hov" width="18" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg>
  182. </a>
  183. <a class="ml-0 footer-link icon" href="https://www.linkedin.com/in/tim-kicker-5438b1237/" target="_blank" style="text-decoration: none" rel="noreferrer" aria-label="LinkedIn">
  184. <svg class="linkedin svg-hov" width="18" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>LinkedIn</title><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
  185. </a>
  186. </div>
  187. </div>
  188. </div>
  189. </div>
  190. </div>
  191. </div>
  192. <script src="/js/nanobar.min.js"></script>
  193. <script>
  194. var options = {
  195. classname: 'nanobar',
  196. id: 'myNanobar'
  197. };
  198. var nanobar = new Nanobar(options);
  199. nanobar.go(30);
  200. nanobar.go(76);
  201. nanobar.go(100);
  202. </script>
  203. <script>(function(w,d, s, id) {w.webpushr=w.webpushr||function(){(w.webpushr.q=w.webpushr.q||[]).push(arguments)};var js, fjs = d.getElementsByTagName(s)[0];js = d.createElement(s); js.id = id;js.src = 'https://cdn.webpushr.com/app.min.js';fjs.parentNode.appendChild(js);}(window,document, 'script', 'webpushr-jssdk'));webpushr('init','BLrRztSWnClZ_Jjg50n_ziB6VHz0Wcp721ZbAl9So1t0DMi4ChlDXQ1Ta2wKVYebMjm1l2HQNdZBkaLwBeNoQ2Y');</script></body>
  204. </html>