{"version":"https://jsonfeed.org/version/1.1","title":"Ronald Langeveld","description":"AI Native Software Engineer and Photographer. Maker of PixelGlass","language":"en","home_page_url":"https://ronald.langeveld.blog/","feed_url":"https://ronald.langeveld.blog/feed.json","items":[{"id":"https://ronald.langeveld.blog/zero-configuration-nextjs-deployment-to-a-self-hosted-vps-with-kamal-a-comprehensive-guide","url":"https://ronald.langeveld.blog/zero-configuration-nextjs-deployment-to-a-self-hosted-vps-with-kamal-a-comprehensive-guide","title":"Zero configuration NextJS deployment to a self hosted VPS with Kamal. A comprehensive guide.","content_html":"<p>One of the biggest quality of life improvements when it comes to deploying over the past few months has been learning how to use <a href=\"https://kamal-deploy.org\">Kamal</a> and have learnt to use it properly without getting lost in the complexities.</p><p>Kamal is a simple tool for deploying web apps to any server using Docker containers with zero downtime. Although originally developed for use with Rails, it can be used to deploy just about any web application to the web.</p><p>Best thing about it, is it can be setup on a new VPS without expecting you to even log into your server - Kamal does everything for you, making it truly Zero Configuration Deployment on your server. With the latest Kamal, <code>2.8.2</code> it's even easier as you don't even need to worry about having access to a Docker registry.</p><p>In this example I will show you how you can deploy a NextJS application using Kamal onto a brand new VPS. My VPS provider of choice nowadays is <a href=\"https://hetzner.cloud/?ref=2rRWvBWV6ubW\">Hetzner</a>, but you can use any provider of your choice as long as it can run a Linux based operating system.</p><aside data-callout=\"blue\">This is a highly comprehensive tutorial. As part of the \"comprehensive\" part I will include errors you will potentially run into as part of the learning curve, because it will help you have a much better understanding of how Kamal works.</aside><p>It's fairly easy to get started and the barrier is fairly low, but I'll assume you've can find your way around development environments.</p><p>They are as follows:</p><h2 id=\"%F0%9F%92%A1assumptions\">💡Assumptions</h2><ul><li>You use MacOS, Linux or use WSL on Windows.</li><li>Have Docker installed</li><li>Have a VPS setup and can login as root with only your SSH keys.</li><li>A domain with DNS setup pointing to your VPS's IP Address.</li><li>Are familiar with NextJS - but I'll setup everything step by step so that by the end of this guide you can deploy projects beyond NextJS.</li><li>Have some familiarity around terminal and a code editor. I'm using the default terminal on MacOS and VSCode.</li><li>Have Ruby installed on your machine - MacOS and certain Linux distributions have it preinstalled.</li><li>Some git knowledge.</li></ul><!--members-only--><p></p><div class=\"kg-card kg-cta-card kg-cta-bg-white kg-cta-immersive   kg-cta-link-accent kg-cta-centered\" data-layout=\"immersive\">\n            \n            <div class=\"kg-cta-content\">\n                \n                \n                    <div class=\"kg-cta-content-inner\">\n                    \n                        <div class=\"kg-cta-text\">\n                            <p><span style=\"white-space: pre-wrap;\">If you don't want to follow the guide and simply look at the end code, you can find it in the repository which is a snapshot of everything included in this tutorial</span></p>\n                        </div>\n                    \n                    \n                        <a href=\"https://github.com/ronaldlangeveld/kamal-nextjs/tree/next-basic\" class=\"kg-cta-button kg-style-accent\" style=\"color: #FFFFFF;\">\n                            GITHUB\n                        </a>\n                        \n                    </div>\n                \n            </div>\n        </div><p>Now summon your terminal of choice.</p><p>I'll be creating a new NextJS project called <code>next-kamal</code>, by running <code>npx create-next-app@latest next-kamal</code> in my folder of choice and install with all defaults. You can call it anything or use an existing NextJS project.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mzk4LCJwdXIiOiJibG9iX2lkIn19--02a126a2faf23cc051f94244b0d32bf538fa4fd1/Screenshot-2025-10-29-at-8.20.06---am.png\" alt=\"\" loading=\"lazy\" width=\"1660\" height=\"1094\"></figure><p>Also, while we're in the terminal, run <code>gem install kamal</code> to install Kamal on your system globally. For more information check out the <a href=\"https://kamal-deploy.org/docs/installation/\">official installation guide</a>.</p><p>Now let's run the NextJS app locally just to ensure it installed correctly with <code>npm run dev</code>.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mzk5LCJwdXIiOiJibG9iX2lkIn19--75d8c428f27ab3e80a0e3ac79b4875377f11c5c3/Screenshot-2025-10-29-at-8.41.09---am.png\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1165\"><figcaption>Navigate to http://localhost:3000 and you should be greeted with this page with everything is good.</figcaption></figure><p>Once that is done, I will open <code>next-kamal</code> in VSCode.</p><p>Now let's focus on Kamal.</p><p>First things first, I will run <code>kamal init</code>.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDAwLCJwdXIiOiJibG9iX2lkIn19--d2506cced7427b465a4986948ced9fa1412ea217/Screenshot-2025-10-29-at-8.34.07---am.png\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1259\"></figure><p>This will scaffold a few files and folders namely <code>.kamal</code>, <code>config/</code> and a <code>deploy.yml</code>. No need to worry about them for now.</p><p>Since Kamal is Docker based, we need to setup a <code>Dockerfile</code> in our project. Vercel provides us with a Dockerfile that we can use pretty much as-is from their <a href=\"https://github.com/vercel/next.js/blob/canary/examples/with-docker/Dockerfile\">Github repository</a>, and we'll go ahead and copy that as is into our project.</p><pre><code class=\"language-Docker\"># syntax=docker.io/docker/dockerfile:1\n\nFROM node:20-alpine AS base\n\n# Install dependencies only when needed\nFROM base AS deps\n# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed.\nRUN apk add --no-cache libc6-compat\nWORKDIR /app\n\n# Install dependencies based on the preferred package manager\nCOPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* .npmrc* ./\nRUN \\\n  if [ -f yarn.lock ]; then yarn --frozen-lockfile; \\\n  elif [ -f package-lock.json ]; then npm ci; \\\n  elif [ -f pnpm-lock.yaml ]; then corepack enable pnpm &amp;&amp; pnpm i --frozen-lockfile; \\\n  else echo \"Lockfile not found.\" &amp;&amp; exit 1; \\\n  fi\n\n\n# Rebuild the source code only when needed\nFROM base AS builder\nWORKDIR /app\nCOPY --from=deps /app/node_modules ./node_modules\nCOPY . .\n\n# Next.js collects completely anonymous telemetry data about general usage.\n# Learn more here: https://nextjs.org/telemetry\n# Uncomment the following line in case you want to disable telemetry during the build.\n# ENV NEXT_TELEMETRY_DISABLED=1\n\nRUN \\\n  if [ -f yarn.lock ]; then yarn run build; \\\n  elif [ -f package-lock.json ]; then npm run build; \\\n  elif [ -f pnpm-lock.yaml ]; then corepack enable pnpm &amp;&amp; pnpm run build; \\\n  else echo \"Lockfile not found.\" &amp;&amp; exit 1; \\\n  fi\n\n# Production image, copy all the files and run next\nFROM base AS runner\nWORKDIR /app\n\nENV NODE_ENV=production\n# Uncomment the following line in case you want to disable telemetry during runtime.\n# ENV NEXT_TELEMETRY_DISABLED=1\n\nRUN addgroup --system --gid 1001 nodejs\nRUN adduser --system --uid 1001 nextjs\n\nCOPY --from=builder /app/public ./public\n\n# Automatically leverage output traces to reduce image size\n# https://nextjs.org/docs/advanced-features/output-file-tracing\nCOPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./\nCOPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static\n\nUSER nextjs\n\nEXPOSE 3000\n\nENV PORT=3000\n\n# server.js is created by next build from the standalone output\n# https://nextjs.org/docs/pages/api-reference/config/next-config-js/output\n# ENV HOSTNAME=\"0.0.0.0\"\nCMD [\"node\", \"server.js\"]</code></pre><p>Kamal will use this build steps as a base for your project, at the end Kamal will forward this container. One thing you can do is comment out (or remove) the <code>ENV HOSTNAME</code> since that will be a concern for Kamal later.</p><p>Next up, head over to your VPS host and get your server's IP Address. In my case it's <code>37.27.213.124</code>.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDAxLCJwdXIiOiJibG9iX2lkIn19--fb3f68cdcc813238ad8ba0ed7af708f494342382/Screenshot-2025-10-29-at-9.06.40---am.png\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1328\"></figure><p>If you haven't yet, now is a good time to point your domain to your server's IP address via your domain registrar.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDAyLCJwdXIiOiJibG9iX2lkIn19--1d80b215d76a8d0e32be197fa4ce5c168ab4b414/Screenshot-2025-10-29-at-9.14.22---am.png\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"558\"><figcaption>In my example I'm using a subdomain nextkamal.ronald.ink</figcaption></figure><p>We now need to populate our <code>deploy.yml</code>. This file is the heart of Kamal and acts as both the proxy configuration (think Nginx, Apache, Traefik etc), but also like a <code>docker-compose</code> all together. If you don't know what that is, don't worry too much about it.</p><p>Update your deploy.yml to roughly match this snippet:</p><pre><code># deploy.yml\n# Name of your application. Used to uniquely configure containers.\nservice: my-next-app \n\n# Name of the container image.\nimage: my-next-app\n\n# Deploy to these servers.\nservers:\n  web:\n    - 37.27.213.124\n  # job:\n  #   hosts:\n  #     - 192.168.0.1\n  #   cmd: bin/jobs\n\n# Enable SSL auto certification via Let's Encrypt and allow for multiple apps on a single web server.\n# Remove this section when using multiple web servers and ensure you terminate SSL at your load balancer.\n#\n# Note: If using Cloudflare, set encryption mode in SSL/TLS setting to \"Full\" to enable CF-to-app encryption.\nproxy:\n  ssl: true\n  host: nextkamal.ronald.ink\n  # Proxy connects to your container on port 80 by default.\n  app_port: 3000\n</code></pre><p>For this simple tutorial the only lines you need to touch is probably<br><code>service</code> , <code>image</code>, <code>web</code> and <code>proxy</code> inside your <code>deploy.yml</code>. The name of the service and image can be pretty much anything. Notice, <code>app_port</code> needs to be uncommented. By default it will be commented.</p><p></p><p>Now, make sure Docker is running on your computer. All that's left is to run <code>kamal setup</code> in your terminal from the root directory of your project. </p><h3 id=\"run-it-and-wait-for-everything-to-complete-before-moving-on\">Run it and wait for everything to complete before moving on.</h3><p></p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDAzLCJwdXIiOiJibG9iX2lkIn19--11ebdc9936d343fcd6e5fc6ef9be68534e926b4d/Screenshot-2025-10-29-at-9.31.07---am.png\" alt=\"\" loading=\"lazy\" width=\"1968\" height=\"468\"></figure><p>Now if you followed this tutorial step by step you probably also get this error. I decided to include it because it's not well documented elsewhere and it's somethig nice to learn, catch early and get used to. </p><p>The thing is, Kamal will only push changes that you have committed via git (it doesn't need to have been pushed to a remote repository).</p><p>So go ahead and make a commit, I'll just commit everything:</p><p><code>git add .<br>git commit -m \"Added kamal configs\"</code></p><p>Now go ahead and run <code>kamal setup</code> again.</p><p>As it turns out, we have a different error this time:</p><pre><code>#21 ERROR: failed to calculate checksum of ref ynp0ra4asni8b66bpcy9w7tpp::yy7pjlflbav0282kte32wd0vl: \"/app/.next/standalone\": not found\n------\n &gt; [runner 5/6] COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./:\n------\nDockerfile:54\n--------------------\n  52 |     # Automatically leverage output traces to reduce image size\n  53 |     # https://nextjs.org/docs/advanced-features/output-file-tracing\n  54 | &gt;&gt;&gt; COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./\n  55 |     COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static\n  56 |     \n--------------------\nERROR: failed to build: failed to solve: failed to compute cache key: failed to calculate checksum of ref ynp0ra4asni8b66bpcy9w7tpp::yy7pjlflbav0282kte32wd0vl: \"/app/.next/standalone\": not found\ndocker stderr: Nothing written\n\n</code></pre><p>We need to make a change in NextJS's configuration, <code>next.config.ts</code> to build it as a standalone. Add <code>output: 'standalone'</code>.</p><pre><code class=\"language-Typescript\">import type { NextConfig } from \"next\";\n\nconst nextConfig: NextConfig = {\n  /* config options here */\n  output: 'standalone',\n};\n\nexport default nextConfig;\n</code></pre><p>Now commit those changes</p><p><code>git add .<br>git commit -m \"Added output settings to Next config\"</code></p><p>And once again lets to <code>kamal setup</code>.</p><p>This might take about 2 minutes till you hit one more error:</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDA0LCJwdXIiOiJibG9iX2lkIn19--f1a52de4f163f1a5618270a296e24f257e5f622e/Screenshot-2025-10-29-at-9.47.54---am.png\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"249\"></figure><h3 id=\"failed-to-become-healthy-it-says\">Failed to become healthy it says??</h3><p>So unlike Rails, that has a built in health check route, NextJS is pretty minimal and doesn't have a health routes built in by default.</p><p>Under the hood, Kamal will attempt to request an <code>/up</code> route to check if the site it healthy. If you don't have that in your project, you will come across the health check error, assuming everything else is fine.</p><p>We can override that setting for our purpose by letting it use our root url path of our web application instead.</p><p>Add the <code>healthcheck</code> settings to your <code>deploy.yml</code>.</p><pre><code>#deploy.yml\n\nproxy:\n  ssl: true\n  host: nextkamal.ronald.ink\n  # Proxy connects to your container on port 80 by default.\n  app_port: 3000\n  healthcheck:\n    path: \"/\"\n    interval: 15\n    timeout: 10</code></pre><p>Let's commit those changes and try again.</p><p><code>git add .<br>git commit -m \"Added health check to deploy.yml\"</code></p><p>Now one more time run <code>kamal setup</code>.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDA1LCJwdXIiOiJibG9iX2lkIn19--411a2ed31f48d2633444ea727e3533e97086ed9c/Screenshot-2025-10-29-at-10.03.25---am.png\" alt=\"\" loading=\"lazy\" width=\"1266\" height=\"442\"></figure><p>This time, if everything is as expected, you now have a NextJS app deployed to your VPS! Head over to your domain where you set it up and it should render!</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDA2LCJwdXIiOiJibG9iX2lkIn19--eee7d0525e68dd507fe70bdd543c4825c074b664/Screenshot-2025-10-29-at-10.05.11---am.png\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1163\"></figure><p>The reason for the health check is that Kamal will first check the health of the new container before making it live it ensure your site doesn't go down in case it doesn't deploy as expected.</p><p>Now that you have your VPS instance setup with Kamal, subsequent Kamal deployments can be fired by running <code>kamal deploy</code>. It's that easy! Like having Heroku or Vercel all from your terminal.</p><p>So it might be a touch more involved initially than say deploying via Vercel, but it's on your own infrastructure and open doors to things that's not possible when deploying via \"serverless\" environments, such as storing media assets directly on the server, using SQLite with NextJS, kinda <a href=\"https://x.com/levelsio\">Pieter Levels</a> style but NextJS instead of PHP - more on this in a future tutorial so add your email address and you'll be first to know!</p><div class=\"kg-card kg-signup-card kg-width-full kg-content-wide \" data-lexical-signup-form=\"\" style=\"background-color: #000000; display: none;\">\n            \n            <div class=\"kg-signup-card-content\">\n                \n                <div class=\"kg-signup-card-text \">\n                    <h2 class=\"kg-signup-card-heading\" style=\"color: #FFFFFF;\"><span style=\"white-space: pre-wrap;\">WANT TO LEARN HOW TO MAKE DEPLOYMENTS EASY?</span></h2>\n                    \n                    \n        <form class=\"kg-signup-card-form\" data-members-form=\"signup\">\n            <input data-members-label=\"\" type=\"hidden\" value=\"deploy\">\n            <div class=\"kg-signup-card-fields\">\n                <input class=\"kg-signup-card-input\" id=\"email\" data-members-email=\"\" type=\"email\" required=\"true\" placeholder=\"Your email\">\n                <button class=\"kg-signup-card-button kg-style-accent\" style=\"color: #FFFFFF;\" type=\"submit\">\n                    <span class=\"kg-signup-card-button-default\">NOTIFY ME</span>\n                    <span class=\"kg-signup-card-button-loading\"><svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\" viewBox=\"0 0 24 24\">\n        <g stroke-linecap=\"round\" stroke-width=\"2\" fill=\"currentColor\" stroke=\"none\" stroke-linejoin=\"round\" class=\"nc-icon-wrapper\">\n            <g class=\"nc-loop-dots-4-24-icon-o\">\n                <circle cx=\"4\" cy=\"12\" r=\"3\"></circle>\n                <circle cx=\"12\" cy=\"12\" r=\"3\"></circle>\n                <circle cx=\"20\" cy=\"12\" r=\"3\"></circle>\n            </g>\n            <style data-cap=\"butt\">\n                .nc-loop-dots-4-24-icon-o{--animation-duration:0.8s}\n                .nc-loop-dots-4-24-icon-o *{opacity:.4;transform:scale(.75);animation:nc-loop-dots-4-anim var(--animation-duration) infinite}\n                .nc-loop-dots-4-24-icon-o :nth-child(1){transform-origin:4px 12px;animation-delay:-.3s;animation-delay:calc(var(--animation-duration)/-2.666)}\n                .nc-loop-dots-4-24-icon-o :nth-child(2){transform-origin:12px 12px;animation-delay:-.15s;animation-delay:calc(var(--animation-duration)/-5.333)}\n                .nc-loop-dots-4-24-icon-o :nth-child(3){transform-origin:20px 12px}\n                @keyframes nc-loop-dots-4-anim{0%,100%{opacity:.4;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}\n            </style>\n        </g>\n    </svg></span>\n                </button>\n            </div>\n            <div class=\"kg-signup-card-success\" style=\"color: #FFFFFF;\">\n                Email sent! Check your inbox to complete your signup.\n            </div>\n            <div class=\"kg-signup-card-error\" style=\"color: #FFFFFF;\" data-members-error=\"\"></div>\n        </form>\n        \n                    <p class=\"kg-signup-card-disclaimer\" style=\"color: #FFFFFF;\"><span style=\"white-space: pre-wrap;\">No spam. Unsubscribe anytime.</span></p>\n                </div>\n            </div>\n        </div><p>That being said, I will also show you how to deploy other website stacks with Kamal in the coming weeks such as PHP, Django (Python), NestJS and more! If you have any other suggestions, comment below!</p><aside data-callout=\"blue\">While this guide explains is all that's needed to get up and running, please do some research when it comes to securing your server. 😄</aside>","date_published":"2025-10-29T01:53:10Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/a-morning-that-could-have-been-way-different","url":"https://ronald.langeveld.blog/a-morning-that-could-have-been-way-different","title":"A morning that could have been way different","content_html":"<p>The past week <a href=\"https://jiwonkwak.co\">Jiwon</a> and I spent some time exploring Bangkok and Koh Samui. The weather was perfect and every single day was filled with laughter, joy and a sense of connection. There's much more to share about our adventure, but for now I want to reflect on something that shook the hell out of me.</p><p>Early this morning, I dropped Jiwon off at Bangkok Airport for her flight back to Korea. I headed back to my hotel feeling a mix of emotions - sad that our trip had ended but also excitement knowing that I'll see her again in the coming weeks. I fell asleep.</p><p>A few hours later I woke up to a message from my friend <a href=\"https://x.com/levelsio\">Pieter</a> telling me that a Jeju Air flight from Bangkok to Korea just crashed. For a few seconds my heart stopped beating. That was the airline Jiwon flew on this morning. Panic and Anxiety hit me like a tsunami and I scrambled searching for her flight number etc to confirm what happened</p><p>Fortunately, it wasn't her flight and minutes later she texted me, \"I just landed\". Jiwon is safe. </p><p>It's one thing to know life is unpredictable in theory - it's a whole different level when it hits so close to home.</p><p>Life is fragile - a realisation that's sobering and certainly grounding in every possible way. It's easy to get lost in the noise and busyness of everyday life, but events like this pull you to what really matters - cherishing the time we have and grateful for every moment.</p><aside data-callout=\"red\">To those who were affected by this tragedy, my heart goes out to you and your loved ones. May you find strength and comfort in this difficult time.</aside>","date_published":"2024-12-29T07:50:50Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/from-backing-up-nostalgia-to-the-butterfly-effect","url":"https://ronald.langeveld.blog/from-backing-up-nostalgia-to-the-butterfly-effect","title":"From backing up nostalgia to the butterfly effect.","content_html":"<h2 id=\"it-started-with-an-obsession\">It started with an obsession</h2><p>Unlike many people I know, our family have very little to no official historical records prior the 1900s. </p><p>Example I was always fascinated when I have classmates who went to school with me and they would tell stories like, \"<em>My great, great grandfather came from Maniago, Italy to work at the paper factory in the 1800s. Now uncle own the best pizza restaurant in town and I go to Italy every year for 6 months to spend time with relatives still there and practice speaking Italian</em>\".</p><p>The inner child in me goes, \"That is COOL!!!\" He knows the history and his root - and he even goes to his roots that have stayed in touched for like a century.</p><p>Some my distant relatives have tried to draw a family tree tracing back the initial adventurers who boarded ships to Africa, in the 1600s's &amp; 1700's from modern day UK &amp; The Netherlands, but the accuracy remains questionable.</p><p>I've spent countless days myself, researching whatever I could find myself online, coming across sites like <a href=\"http://www.e-family.co.za/ffy/index.htm\">Fifty First Years</a>, <a href=\"https://www.wikitree.com/\">WikiTree</a> and <a href=\"https://www.myheritage.com/\">MyHeritage</a> where there's enough information to make vague assumptions, but we can't be 100% that it's related to us or just another <em>Langeveld</em>.</p><figure class=\"post-media\"><img src=\"https://offseason.ghost.org/content/images/2023/03/image-5.png\" alt=\"\" loading=\"lazy\" width=\"1600\" height=\"911\"><figcaption>At best I can make an assumption that my ancestors' arrival to SA looked something like this.&nbsp;</figcaption></figure><p>Of course, there's not much I can do about not having the past information in detail, that doesn't involve me making sketchy assumptions or do scammy ancestry DNA tests - but at minimum, I want to preserve the resources and media we actually <strong>do</strong> have at our disposal, to avoid my future kids from yet another missing chapter. </p><p>I have to start somewhere!</p><p>Thankfully we live in a time, where preserving information have become the easiest it's ever been. We no longer need to carry around physical documents, that's bound to get lost or damaged along the way and of course can be accessed from anywhere.</p><h2 id=\"almost-forgotten-tapes\">Almost forgotten tapes</h2><figure class=\"post-media\"><img src=\"https://offseason.ghost.org/content/images/2023/03/image-6.png\" alt=\"\" loading=\"lazy\" width=\"1000\" height=\"1000\"></figure><p>Growing up, my dad always had his Sony Video 8 camcorder around, filming occasions - till about the time where phones started shipping with built in camera's.</p><p>Christmas, beach holidays, <a href=\"https://en.wikipedia.org/wiki/Ratanga_Junction\">Ratanga Junction</a> (the now defunct Cape Town equivalent of Disneyland), birthdays etc we all have it on tape. He would film the holiday and usually a couple of weekends later we'd sit in front of the TV and watch the footage for the first time, as it's being copied over to a VHS tape and chucked into a box, often never to be looked at again for far too long.</p><p>Early 2017, we helped my grandfather move out of his house to move to Jeffrey's Bay in a granny-flat at my Aunt's garden as he no longer wanted to live alone. I came across a VCR (aka VHS Player) in his garage we were clearing and suddenly I thought of that box with home videos, something that hasn't crossed my mind in far too long.</p><blockquote>I haven't watched them in years, does our tapes even work still? Does the VCR even work? I <strong>think</strong> I can digitalise them - we have to!</blockquote><p>Turns out the VCR worked and with the advice of my grandfather (because I'm an analog technology noob) we <a href=\"https://www.youtube.com/watch?v=0egTI__8D5E\">cleaned the heads of the VCR</a> from dust to avoid damaging anything we're about to put into it and there we are, we have a functioning VCR.</p><figure class=\"post-media\"><img src=\"https://offseason.ghost.org/content/images/2023/03/image-4.png\" alt=\"\" loading=\"lazy\" width=\"1000\" height=\"1000\"></figure><p>I ordered one of these RGB to USB capture devices online and it was time to revive those old home videos into <code>h.264</code> video files!</p><p>21 tapes later, totalling about 60 hours of footage that I had to play through, I have them all backed up on my iCloud, Google Drive and on a 64gb flash drive in the fire safe - we're <strong>not</strong> losing this.</p><video src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mzk2LCJwdXIiOiJibG9iX2lkIn19--4f00845f18efa93457da09aab54d2f8855eb4817/golf2.mp4\" controls=\"controls\" poster=\"https://ronald.ink/content/media/2024/11/golf2_thumb.jpg\"></video><p>This exercise ended with great results and of course peace of mind. I can share it with family &amp; friends in different parts of the country and abroad. Convenient!</p><h2 id=\"moving-on-to-imperfect-photos\">Moving on to imperfect photos</h2><p>Like many (I guess), my parents have a cupboard full of photo albums and shoeboxes filled with unorganised photos. </p><p>Unlike digital photos that gets captured on your iPhone or digital camera, with instant meta data, like a timestamp &amp; geo-location, with a physical photo, unless it's really obvious or have a vivid memory of the occasion, you generally have no background about it. But also that's what makes it so interesting. It lets you think about the story behind it with only the photos as your context.</p><p>There's thousands of photos so my brain gives it a shot by mentally trying think of the story behind them:</p><ul><li>dad as a kid,</li><li>a birthday,</li><li>cousin's I guess,</li><li>baby Ronald,</li><li>Ronald first day of school,</li><li>mum as a kid,</li><li>xmas,</li><li>unknowns,</li><li>Tokyo 1980's,</li><li>more birthdays,</li><li>who is this drunk guy?,</li><li>dad at Uni,</li><li>I definitely didn't want to see this photo.</li></ul><p>It's like time travelling through decades, filled with different emotions.</p><p>Over the past year I tried to continue my digitalisation project, by scanning as many photos as possible and store them onto the cloud.</p><p>It's an absolutely mental process that requires the patience of a saint. </p><p>My dad always said \"<strong><em>Ronald was first in line when patience was handed out</em></strong>\" - referring to me teaching my grandfather how to use Limewire and transfer music to the iPod I gave him in the mid 2000s.</p><figure class=\"post-media\"><img src=\"https://offseason.ghost.org/content/images/2023/03/A6C6ED28-C882-423F-BC3F-424E6C166970_1_105_c.jpeg\" alt=\"\" loading=\"lazy\" width=\"1024\" height=\"768\"><figcaption>Found myself into a flow where I scanned in batches at a high resolution and then automatically crops them into individual photos onto iCloud Photos and into a Shared Album.</figcaption></figure><p>Here I am manually taking thousands of photos out of albums one by one and then packing them onto the scanner, scanning them, and then putting them back into the albums. <strong>It's a lot of work indeed.</strong></p><p>And there's still many boxes and albums waiting for me to scan them when I'm visiting again.</p><p>However, just like the videos it took me back to what feels like a different world. It was absolutely worth it.</p><aside data-callout=\"green\">Yes it probably can be outsourced, but I enjoy the DIY vibe around it.</aside><figure class=\"post-media\"><img src=\"https://offseason.ghost.org/content/images/2023/03/Scan1200-23-1.jpeg\" width=\"1428\" height=\"1009\" loading=\"lazy\" alt=\"\"></figure><figure class=\"post-media\"><img src=\"https://offseason.ghost.org/content/images/2023/03/photos-22.jpeg\" width=\"1759\" height=\"1184\" loading=\"lazy\" alt=\"\"><figcaption>Left: me using my feet. Right: My brother and I experiencing snow for the first time, 8 July 1996.</figcaption></figure><figure class=\"post-media\"><img src=\"https://offseason.ghost.org/content/images/2023/03/photos-8.jpeg\" alt=\"\" loading=\"lazy\" width=\"1746\" height=\"1173\"><figcaption>6 year old me quad biking in Jeffrey's Bay.</figcaption></figure><p>There's something pretty special about photos taken with film. We are so used to instantly taking technologically perfect photos with our iPhones and modern digital cameras with auto colour balance, correct exposure, ISO &amp; auto focus - things that was borderline a miracle if you managed to have everything to align when you hit the shutter at the right moment. And then you can only see them after you get them developed, which could be weeks if not months.</p><p>To an extent it's these great imperfections that makes these photos really special and find something unique in every one of them, combined with a memory &amp; a story.</p><h2 id=\"the-true-throwbacks\">The true throwbacks</h2><p>We had a family trip to visit my grandfather in <a href=\"https://goo.gl/maps/XTCzNacBpuQyG84d7\">Jeffrey's Bay</a> for his 90th birthday in April 2019. </p><p>On that trip my aunt managed to borrow a 35mm photo projector from somewhere so we can have a \"slideshow night\" and show my grandfather photos he probably haven't seen in many, many years.</p><p>As boring as it may sound, my grandfather was a Korean War Veteran and a keen photographer at the time, so majority of the photos that we went through, was photos he took over the course of something like 2 years in Korea, Japan, Hong Kong &amp; Singapore.</p><figure class=\"post-media\"><img src=\"https://offseason.ghost.org/content/images/2023/03/IMG_7437-1.jpeg\" width=\"3264\" height=\"2448\" loading=\"lazy\" alt=\"\"></figure><figure class=\"post-media\"><img src=\"https://offseason.ghost.org/content/images/2023/03/IMG_7438.jpeg\" width=\"3264\" height=\"2448\" loading=\"lazy\" alt=\"\"><figcaption>Left: Boeing C-97 cargo plane displaying on a slide, in my aunts living room. Right: Tokyo, Japan ± 1953</figcaption></figure><p>The kind of photos that anybody mildly interested in history &amp; photography will drool over. Wikipedia in a box!</p><figure class=\"post-media\"><img src=\"https://offseason.ghost.org/content/images/2023/03/IMG_7436.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"2667\"><figcaption>35mm slide of Seoul Station, 1953</figcaption></figure><p>At the time, I had no idea these photos even existed. It's the kind of photos I would struggle to find online, so it's really special.</p><p>Digitalising these slides will be my next great project. </p><p>There's hundreds of these slides in a box that needs to be scanned. I suppose first challenge would be acquiring a high resolution 35MM slide scanner because that doesn't seem all too common these days.</p><h2 id=\"but-its-just-photos-yes-absolutely\">But it's just photos? Yes, absolutely.</h2><p>But the power of a single photo, video or slide can transport us back to a different time, revealing stories and experiences that often directly shape our lives. </p><aside data-callout=\"green\">I literally stopped writing here and thought about everything what I just wrote and realised, <b><strong style=\"white-space: pre-wrap;\">HOLY SHIT! </strong></b>It's full circle!</aside><p>ChatGPT came to the rescue, because I asked it to explain what I just had going through my mind, as I was trying explain the point I was trying to make about preserving all the history you have for your offspring, which ended up feeling like an minor epiphany.</p><figure class=\"post-media\"><img src=\"https://offseason.ghost.org/content/images/2023/03/Screenshot-2023-03-18-at-18.06.05.png\" alt=\"\" loading=\"lazy\" width=\"1052\" height=\"610\"><figcaption>yeap</figcaption></figure><p><em>If my grandfather didn't spontaneously decide to volunteer in Korea to join the Airforce in the 1950's I'd probably never have had the opportunity to live there in my early 20's &amp; be a place very close to my heart.<br>If my mom didn't take the chance to apply for a job as a diplomat to be based in Japan before I was born, and got me growing up constantly talking about it, I probably wouldn't have had any interest even going to Easy Asia, <strong>who the hell knows. </strong></em></p><p>These photos and videos sort of puts the puzzle together. Even the oldest of photos has a story that can have a connection to some form of familiarity today. </p><p>Preserve what you have, and pass it down. You will never know what epic correlations can and will be realised down the line, often from a new perspective.</p><h2 id=\"all-backed-up\">All backed up</h2><p>For now, iCloud Photos + shared albums will have to do. I don't think it's perfect, but it's probably the easiest and most reliable way to store thousands of photos and can be accessed again quickly.</p><figure class=\"post-media\"><img src=\"https://offseason.ghost.org/content/images/2023/03/IM_A0198.jpeg\" alt=\"\" loading=\"lazy\" width=\"653\" height=\"436\"><figcaption>Let's end off with a photo of my grandpa making sure he doesn't miss capturing a single moment on his 3 month boat journey from South Korea to South Africa after the war in 1954.</figcaption></figure><aside data-callout=\"violet\">Repost and slightly modified version of a post I posted on the internal company blog a while back.</aside>","date_published":"2024-11-30T03:20:45Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/be-the-beetle","url":"https://ronald.langeveld.blog/be-the-beetle","title":"Be the beetle","content_html":"<p>Today was one of those days where it seemed like the world constantly throws messages at me. I'm a touch emotionally heavy, taking into account I yet again changed location a week ago after ±3 months in Seoul, with a stint in Scotland in between and still settling and getting into my new routine.</p><p>This morning to clear some thoughts I decided grab a coffee and walk through the nearby mall. I switched on <em>Apple Music</em> and left their algorithm do the thinking for me and I'll listen to whatever songs they throw at me. </p><p>Whilst entering a <a href=\"https://en.wikipedia.org/wiki/Harvey_Norman\"><strong><em>Norman Harvey</em></strong></a> store to browse electronics and trying to convince myself not to splash out on anything, <strong><em>DJ Universe ft Apple Music</em></strong> suddenly threw <a href=\"https://www.youtube.com/watch?v=bu3rsha1ZtI\"><strong><em>Born Free By Kid Rock</em></strong></a> at me. First time hearing the song, something 92 million did before me on <a href=\"https://www.youtube.com/watch?v=bu3rsha1ZtI\">YouTub</a>e. <br>Damn did those lyrics hit like a truck. The sense of needing to find my own way while feeling weighed down by life resonated all to0 well.</p><p>Suffice to say I didn't buy anything, but it was my first time seeing a Starlink Kit in real life which was pretty cool!</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mzg5LCJwdXIiOiJibG9iX2lkIn19--8ef83f727ed42a031fa3ffe9b2c3e77d5cc1bb13/539507AB-1F67-4CCC-BF8C-BC37C6C28F14_1_105_c.jpeg\" alt=\"\" loading=\"lazy\" width=\"768\" height=\"1024\"></figure><p>Suddenly I realised, damn if this worked in South Africa, I could probably move to <a href=\"https://www.instagram.com/explore/locations/149866831776838/rusermi-river-lodge/\">Rusermi</a> - a game lodge owned by family friends of ours, in the middle of almost nowhere, where internet access are severely limited. But it's brilliant - wild animals like hyenas come into the lodge at night and lions, leopards, elephants are frequent visitors too.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzkyLCJwdXIiOiJibG9iX2lkIn19--34bf8f858c3631067ec6ceb70f677c6142b18dc1/Rusermi-2008-019.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1500\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzkzLCJwdXIiOiJibG9iX2lkIn19--f2529f8acbbf8a16e4396b4b559ab7f63447e07e/Rusermi-2008-027.jpg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1500\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mzk0LCJwdXIiOiJibG9iX2lkIn19--87c14f02b967e7eed16f5505e3f3d380949c25ed/Rusermi-2008-040.jpg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1500\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mzk1LCJwdXIiOiJibG9iX2lkIn19--f66ec4c57216f8130e191a7c9f59821b003a8c56/Rusermi-2008-041.jpg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1500\"><figcaption>Rusermi, 2008</figcaption></figure><p>Whilst thinking of this nostalgia the universe pulled yet another one on me. As I wandered into a Quicksilver store, surrounded by what appeared seemingly vintage looking, tshirts with the old Quicksilver logo printed on them.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzkwLCJwdXIiOiJibG9iX2lkIn19--65dad354b3a098b3b4db9fafefe50c954584329a/old-quiksilver-advert.jpg\" alt=\"\" loading=\"lazy\" width=\"535\" height=\"357\"><figcaption>Not from the store, but defo this logo. (source)</figcaption></figure><p>As a kid who grew up by the beach with surfing, constantly exposed to brands like Quicksilver, Billabong and Ripcurl, this does trigger a deep form of nostalgia and the fact that <a href=\"https://www.youtube.com/watch?v=T3rXdeOvhNE\"><em>Nickelback's Photograph</em></a> was playing over the speakers of the shop - lump in my throat!!! The nostalgia, the memories and the weight of everything just hit me all at once as I'm standing in a store filled with beach vibes in the middle of Kuala Lumpur.</p><p>Eventually, I pulled myself together, picked up a protein smoothie, headed home and went to chill by the pool for a bit.</p><p>But as if all that wasn't the universe taking the piss out of me, tonight as I got home from dinner, went into the bathroom to wash my hands, I noticed, a little beetle on my shirt - it hitchhiked from who knows where. I gently let it crawl on my hand and stared at it for a while observing its bravery, wondering what metaphor the universe sent me this time.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzkxLCJwdXIiOiJibG9iX2lkIn19--327f86024aa47bba6c594a7a1032975f05397fa9/IMG_0015-1.jpeg\" alt=\"\" loading=\"lazy\" width=\"1933\" height=\"2125\"></figure><p>It's funny. I think lately I've been feeling a bit like that beetle, holding on to life, perhaps feeling out of place at times, trying to find a safe spot to land. It made me think about resilience since, as far as I know, that's part of what beetles symbolise. Maybe that's a sign. Even when things feel like a chaotic mess, there's purpose and strength in just holding on.</p><p>The funny thing <a href=\"https://jiwonkwak.co\" rel=\"noreferrer\">Jiwon</a> and I enjoy listening to <em>The Beetles</em> at times, particularly <a href=\"https://www.youtube.com/watch?v=A_MjCqQoLLA\"><em>Hey Jude</em></a><em> </em>is recurring on our playlist. <br>Between <em>The Beetles</em> and a beetle, I guess there's something really meaningful with the words, \"Take a sad song and make it better\", because that's what resilience really is, isn't it? Take the tough heavy days and turn them into something meaningful, learn from them.</p><p>Just like the beetle - who had no idea his journey clinging on will take him up a 30 storey building, life takes us places we often never imagined - places and situations that can feel isolating and overwhelming. But the beetle held on, resilient as can be, and in the end, I freed him into the garden below. Maybe he found himself safe with friends and family or perhaps he's off on a new adventure, either way, he's not giving up!</p>","date_published":"2024-11-16T13:07:53Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/flights-2024","url":"https://ronald.langeveld.blog/flights-2024","title":"Flights taken since 2024","content_html":"<p>Complete list of all the flights I have taken since 2024</p><p></p><h2 id=\"2024\">2024</h2><ol><li>Durban - Johannesburg</li><li>Johannesburg - Abu Dhabi</li><li>Abu Dhabi - Dublin</li><li>Dublin - Madrid</li><li>Madrid - Palma</li><li>Palm - Madrid</li><li>Madrid - Lisbon</li><li>Lisbon - Amsterdam</li><li>Amsterdam - London (Dublin bound, but diverted to London due to bad weather)</li><li>London - Dublin</li><li>Dublin - Abu Dhabi</li><li>Abu Dhabi - Johannesburg</li><li>Johannesburg - Durban</li><li>Durban - Dubai</li><li>Dubai - Bangkok</li><li>Bangkok - Kuala Lumpur</li><li>Kuala Lumpur - Singapore</li><li>Singapore - Kuala Lumpur</li><li>Kuala Lumpur - Bangkok</li><li>Bangkok - Phuket</li><li>Phuket - Chiang Mai</li><li>Chiang Mai - Bangkok</li><li>Bangkok - Chiang Mai</li><li>Chiang mai - Singapore</li><li>Singapore - Chiang Mai</li><li>Chiang Mai - Seoul</li><li>Seoul - Hong Kong</li><li>Hong Kong - Seoul</li><li>Seoul - Dubai</li><li>Dubai - Glasgow</li><li>Glasgow - Dubai</li><li>Dubai - Seoul</li><li>Seoul - Kuala Lumpur</li><li>Kuala Lumpur - Bangkok</li><li>Bangkok - Koh Samui</li><li>Koh Samui - Bangkok</li></ol><h2 id=\"2025\">2025</h2><ol><li>Bangkok - Seoul</li><li>Seoul - Hong Kong</li><li>Hong Kong - Johannesburg</li><li>Durban - Johannesburg</li><li>Johannesburg - Hong Kong</li><li>Hong Kong - Seoul</li></ol>","date_published":"2024-08-07T02:13:02Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/asia-is-a-great-continent-if-you-shoot-film","url":"https://ronald.langeveld.blog/asia-is-a-great-continent-if-you-shoot-film","title":"Asia is a great continent if you shoot film","content_html":"<p>Currently hanging out in Kuala Lumpur, and just yesterday around 4pm, I dropped off two rolls of C41 Kodak film at this local indie film lab. Cost me 17 MYR per roll—that's about 3 Euros each. Got the scans sent to my inbox by 7pm the same night, and yes, that was a Sunday. I've experienced this level of service consistently in Thailand as well.</p><p>For a bit of perspective, back in January, I handed a roll of Kodak over to a film lab in Amsterdam, shelled out 12 Euros, and ended up waiting a week just to get it back. I even had to shoot them an email to check in because I wasn’t used to such a delay, only to get a rather snippy response back telling me to be patient.</p><p>It's quite fascinating to see the dramatic differences in film processing times around the world. From the swift services I've experienced in Kuala Lumpur and Thailand, which I suspect will be mirrored in places like Japan, Korea, and Singapore, to the more laid-back approach in Europe, screaming \"<em>not a care in the world about fast customer service</em>\"—it's an odd comparison.</p><p>I think it really seems to reflect broader cultural differences in how societies operate.</p>","date_published":"2024-04-22T03:09:47Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/30-years-on-earth-the-waves-ive-ridden","url":"https://ronald.langeveld.blog/30-years-on-earth-the-waves-ive-ridden","title":"30 Years on Earth: The Waves I've Ridden","content_html":"<p>As I hit the big 3-0 in August (yes 8 months ago at time of writing), I paused to reflect on the epic ride so far—a journey with more ups and downs than a 12 foot day at Pipeline. Here’s what catching life’s waves for three decades has taught me:</p><p><strong>1. Resilience is Non-Negotiable:</strong> Life's tossed more wipeouts at me than a rookie on a ten-foot wave. From clown-induced traumas at a circus to brutal schoolyard showdowns and heartbreaks that could rival any soap opera, I've learned resilience is not just about getting back on the board; it's about paddling back out with a smirk, ready to show the next wave who's boss.</p><p><strong>2. Move with the Currents, Not Against It:</strong> I've zigzagged across countries and life paths like a surfer desperate to find surf on windy morning. Adapting to life's winds, from the calm currents to rogue waves, taught me the art of riding with style, even if I'm just trying not to go <em>over the falls</em>.</p><p><strong>3. True to Your Compass:</strong> Staying true to myself has meant navigating through life with my own quirky compass—sometimes it points South West to \"J-bay\" or circles around \"Nothing to be found today, you're lost\" but it always leads me to where I need to be. Authenticity is the secret to catching the best waves and the best vibes.</p><p><strong>4. The Independence Odyssey:</strong> Independence hit me like a cleanup set on a cold winter morning surf. Managing life alone abroad taught me to cook something vaguely edible, understand that laundry doesn't do itself, and that emotional independence is the ultimate power-up in the game of life.</p><p><strong>5. Passion as the North Star:</strong> Whether I'm chasing waves, capturing moments, or coding until my brain fries, my passions are the strengths guiding me through riptides. They’re more than hobbies; they're the secret sauce to finding joy in the chaos.</p><p><strong>6. Embrace the Wipeouts:</strong> I’ve been dragged across life's coral reef more times than I care to admit. But every \"fail\" was just life’s way of saying, “Plot twist!” These detours taught me that sometimes, you gotta fall off the board to learn how to ride a wave properly.</p><p><strong>7. The Complexity of Connections:</strong> Navigating human connections is trickier than a backside 360. From the bullies of my past to heartbreaks that span continents, these interactions have taught me the delicate dance of human emotions—where every misstep is a chance to learn something new.</p><p><strong>8. Define Your Success:</strong> Thirty years in, and I’ve realized success isn't about hitting some societal jackpot. It's about crafting a journey that's as fulfilling as a sunrise surf session with dolphins saying good morning in the lineup. For me, success is measured in moments of joy, bursts of creativity, and the satisfaction of knowing I’ve lived true to myself.</p><p>As I look back on these lessons, I see a mosaic of triumphs, faceplants, and everything in between. They remind me that life, much like the ocean, is a wild ride—vast, unpredictable, and utterly exhilarating. With resilience, adaptability, and a dash of humour, I’m ready to catch whatever waves come next, diving headfirst into the magnificent, unpredictable ocean of life.</p><p>To the next 30+ years!</p>","date_published":"2024-04-04T02:29:31Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/irish-cliffs-and-guinness","url":"https://ronald.langeveld.blog/irish-cliffs-and-guinness","title":"Those Irish cliffs and Guinness","content_html":"<figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzY1LCJwdXIiOiJibG9iX2lkIn19--5746fd08dd494117e585c13954f4fcb5c44367a4/DSCF3887.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzY2LCJwdXIiOiJibG9iX2lkIn19--60418bd801fc01cfdf1b5f438210083c199e45cc/DSCF3890.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzY3LCJwdXIiOiJibG9iX2lkIn19--568c3362e6219545473bd4131e56f5bd9328df23/DSCF3901.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzY4LCJwdXIiOiJibG9iX2lkIn19--872bbc806bf4f61d0f34ee437414ac051a44e26a/DSCF3905.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"><figcaption>Yeap, those are all Guinness kegs.</figcaption></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzY5LCJwdXIiOiJibG9iX2lkIn19--2e23d31e7b11d911be85c0578a0f7162f285d441/DSCF3933.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzcwLCJwdXIiOiJibG9iX2lkIn19--d0436248b3f837173d58fca0fc202de79be4deab/DSCF3955.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzcxLCJwdXIiOiJibG9iX2lkIn19--64e8e305763446802d53ca68978f78cfd8e2e66e/DSCF3956.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzcyLCJwdXIiOiJibG9iX2lkIn19--c6fba52557e4362ce772bffa28f457331e8e3ca5/DSCF3959.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzczLCJwdXIiOiJibG9iX2lkIn19--04afd3406f5123b6b4c67d4c112e7a75ed91053e/DSCF3974.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mzc0LCJwdXIiOiJibG9iX2lkIn19--e72746f7a852a1322e06e0bdfb86d4fd6a1739fe/DSCF4190.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mzc1LCJwdXIiOiJibG9iX2lkIn19--d2609e2ab2fb37b055f3b70cdf8053b31b73d451/DSCF4201.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mzc2LCJwdXIiOiJibG9iX2lkIn19--1d03b1c7052335e0b33106a43ca10cfb5ce2d6fd/DSCF4233.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mzc3LCJwdXIiOiJibG9iX2lkIn19--043567eeac1d3ca62511408cc4499cbc181c2ddd/DSCF4234.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mzc4LCJwdXIiOiJibG9iX2lkIn19--ac0cee00330e49e6e3aca992988bc6d8a8f59622/DSCF4251.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mzc5LCJwdXIiOiJibG9iX2lkIn19--e4a2d994edcba9d8d786c2e5563840e955ce28b8/DSCF4252.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzgwLCJwdXIiOiJibG9iX2lkIn19--bba02d22b75f3b37f6ec543b7fbb1f518db6af27/DSCF4261.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzgxLCJwdXIiOiJibG9iX2lkIn19--e9ad55d572c62e88b392b998150d532f5461d105/DSCF4266.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzgyLCJwdXIiOiJibG9iX2lkIn19--3f56573a33979833ab038c4e5d87893e85119e9d/DSCF4279.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzgzLCJwdXIiOiJibG9iX2lkIn19--6e2c01cf2b31c4fccd358a457da7bcb9fc94af94/DSCF4294.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mzg0LCJwdXIiOiJibG9iX2lkIn19--f2c78d0ce6351feb4f7ad1796f709a370cff719d/DSCF4321.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><aside data-callout=\"green\">Republic of Ireland</aside><aside data-callout=\"blue\">Fujifilm X-E4. Straight out of camera, using Kodak Ultramax 400 and Kodak Tri-X film recipes from <a href=\"https://fujixweekly.com/fujifilm-x-trans-iv-recipes/\">Fuji X Weekly</a></aside>","date_published":"2024-02-06T07:39:15Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/tropical-winter","url":"https://ronald.langeveld.blog/tropical-winter","title":"Tropical Winter","content_html":"<p>One morning about a week ago I noticed an offshore westerly wind when I woke up. And a fairly big swell to go with it. </p><p>It was freezing cold too due to snow falling on nearby mountains the previous night.</p><p>I grabbed my camera and drove down to the beach to look at the waves.</p><p>It was quite a special morning.</p><p>Here's some of the highlights, all JPEG's straight off the camera.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzUyLCJwdXIiOiJibG9iX2lkIn19--8eb34d3a93edd1e9cc1ebea28ee9d549a48de79c/DSCF0896.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"><figcaption>Sunrise</figcaption></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzUzLCJwdXIiOiJibG9iX2lkIn19--ad49b7e7b58b21378a1c28e8a802386d46619482/DSCF0902.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1334\"><figcaption>Sussing the paddle out</figcaption></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzU0LCJwdXIiOiJibG9iX2lkIn19--b8d9b5688b55bc81c70945df2b8ec00d44bb55f9/DSCF0950.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzU1LCJwdXIiOiJibG9iX2lkIn19--f18d79db70151c0ee918cf3e4de5fb3276a9b714/DSCF0971.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"><figcaption>On a peeler</figcaption></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzU2LCJwdXIiOiJibG9iX2lkIn19--9c70877d1c0a4805e18277e0eec9c04ef165697e/DSCF0976.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"><figcaption>Slotted</figcaption></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzU3LCJwdXIiOiJibG9iX2lkIn19--488daa2741ba6c6045aa401525baaf6f94aaac6e/DSCF1006.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"><figcaption>One of the bigger sets, simply too fast!</figcaption></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzU4LCJwdXIiOiJibG9iX2lkIn19--582d54e3ee4870564f8924a38ce3d02b244a6362/DSCF1099.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"><figcaption>Scotty seeking the best angles</figcaption></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzU5LCJwdXIiOiJibG9iX2lkIn19--d0386ee0e035ad062ed8939c14780be72ec13c97/DSCF1227.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzYwLCJwdXIiOiJibG9iX2lkIn19--1902ef6bb90f49453ff6c5c140c38b71fdf1c9ff/DSCF1252.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1334\"><figcaption>The wind blew my hair in front of the lens, but created quite a cool effect</figcaption></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzYxLCJwdXIiOiJibG9iX2lkIn19--856a4071a41dcef277775d06915960228f8e600c/DSCF1331.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"><figcaption>Vibe</figcaption></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzYyLCJwdXIiOiJibG9iX2lkIn19--7a06b87057becedf59f5bd624e98618a5fc13b07/DSCF1370.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1299\"><figcaption>About to get slotted in a nugget</figcaption></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzYzLCJwdXIiOiJibG9iX2lkIn19--b66f14b319981c02067f9d1932f8e60a0d2c27d4/DSCF1337-2.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"><figcaption>Pretty cool composition here I reckon.</figcaption></figure><p>Pretty happy with how some of these photos came out - and perhaps lucky that the lineup was so close to the rocks, which meant I pretty much didn't need a zoom lens.</p><p>Hope for another few mornings like these before winter ends.</p><aside data-callout=\"blue\">Fujifilm XE-4 using <a href=\"https://fujixweekly.com/2020/09/28/fujifilm-x100v-film-simulation-recipe-agfa-vista-100/\" rel=\"noreferrer\">Agfa Vista film recipe from Fuji X Weekly</a>.</aside>","date_published":"2023-07-22T15:13:59Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/surf-contest-day","url":"https://ronald.langeveld.blog/surf-contest-day","title":"Surf Contest Day","content_html":"<p>Went out last weekend to take some photos of the vibe at the beach during a surf contest.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzEyLCJwdXIiOiJibG9iX2lkIn19--af5ec06f2193cd6670481b761053ef1d382611b6/DSCF0160.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzEzLCJwdXIiOiJibG9iX2lkIn19--e6f0b2533af35502d9cc3be66cd01b6ff4ad49fa/DSCF0162.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzE0LCJwdXIiOiJibG9iX2lkIn19--0b5927558b101993b8a8ea2090b04fa1b55a4bbf/DSCF0164.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzE1LCJwdXIiOiJibG9iX2lkIn19--1713c9823d0f1c2ef6cba583b04a3de7ee158ef8/DSCF0181.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzE2LCJwdXIiOiJibG9iX2lkIn19--16f9f5181bc69be51aad684dc9e50617f1d7121d/DSCF0196.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzE3LCJwdXIiOiJibG9iX2lkIn19--b64a38873ae4810c6b68d5761bfe351a371f7a31/DSCF0199.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzE4LCJwdXIiOiJibG9iX2lkIn19--127460edbb77502153c5cd5ac49bcfae717f9822/DSCF0203.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzE5LCJwdXIiOiJibG9iX2lkIn19--347fc8a30b746c9125fd494ec70e4db2c1057216/DSCF0205.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzIwLCJwdXIiOiJibG9iX2lkIn19--447e647166feb42d7b4da986f72d8441a6284939/DSCF0228.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzIxLCJwdXIiOiJibG9iX2lkIn19--b8035b64b650b1a426c6ad7bfdc38fc4b8ce3221/DSCF0236.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzIyLCJwdXIiOiJibG9iX2lkIn19--2c4748b55d9c1588db1f8d6acb5e45c66c7ea01f/DSCF0274.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><aside data-callout=\"blue\">Scottburgh, South Africa</aside><aside data-callout=\"blue\">Fujifilm X-E4 with <a href=\"https://fujixweekly.com/2022/08/04/fujifilm-x-e4-x-trans-iv-film-simulation-recipe-pacific-blues/\" rel=\"noopener\">Pacific Blues film recipe</a>.</aside>","date_published":"2023-06-17T12:33:49Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/abandoned-waterslides","url":"https://ronald.langeveld.blog/abandoned-waterslides","title":"Abandoned Waterslides","content_html":"<p>I went down to the beach yesterday morning to take some photos of the surfers and vibe as there was a <a href=\"https://ronald.ghost.io/surf-contest-day/\">local surf contest</a> running.</p><p>On my way home, I noticed some surf photographers standing on top of the waterslides, locally know as <em><strong>The Supertubes</strong>.<strong> </strong></em>That's when I realised that it's not operating, despite it being a beautiful, warm day on the beach. </p><p>I decided to go see what's happening...</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mjg2LCJwdXIiOiJibG9iX2lkIn19--7fc031e6d4dca18e19a8ec3a3c094f67c1640b96/DSCF0224.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mjg3LCJwdXIiOiJibG9iX2lkIn19--582840550a138fd5867b21f04e126ba2cd785197/DSCF0242.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mjg4LCJwdXIiOiJibG9iX2lkIn19--23ec3ec67845c5c60b8a68982e9be1ae8118bc11/DSCF0243.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mjg5LCJwdXIiOiJibG9iX2lkIn19--f1698b458f535606febc87d8a31af5dabe594e56/DSCF0245.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjkwLCJwdXIiOiJibG9iX2lkIn19--5affa4d0ad81538515faa33a22eb5def548daa07/DSCF0248.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjkxLCJwdXIiOiJibG9iX2lkIn19--7b94f68fbf7d5524889e3aa49780ff3192bedd24/DSCF0249.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjkyLCJwdXIiOiJibG9iX2lkIn19--4ae5dfcedca4a6f43c4ba45770d1eb5f32f2918a/DSCF0252.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjkzLCJwdXIiOiJibG9iX2lkIn19--44ab9835d41bdc6f8104e153e5d0fddfa3a1b6e2/DSCF0254.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mjk0LCJwdXIiOiJibG9iX2lkIn19--769ca539d3614bf2f58baa2e6ab8ff6831395338/DSCF0255.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mjk1LCJwdXIiOiJibG9iX2lkIn19--7db41bb0ff84db84f80e8318515662bb88bd84f1/DSCF0261.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mjk2LCJwdXIiOiJibG9iX2lkIn19--107eaaa2c1e73b69ec10da2747d60728ef90b122/DSCF0264.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mjk3LCJwdXIiOiJibG9iX2lkIn19--4edecae77b05f214fea0def31ad2f8d91a5b7b60/DSCF0265.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mjk4LCJwdXIiOiJibG9iX2lkIn19--06d2f650a854031c535c02e261bdbc7479266673/DSCF0267.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mjk5LCJwdXIiOiJibG9iX2lkIn19--e81b13e5eee6c53c0ae2bcf1608f9ccdc1e81527/DSCF0269.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><aside data-callout=\"grey\">Scottburgh, KwaZulu-Natal, South Africa</aside><aside data-callout=\"amber\">Fujifilm X-E4, with <a href=\"https://fujixweekly.com/2022/08/04/fujifilm-x-e4-x-trans-iv-film-simulation-recipe-pacific-blues/\" rel=\"noopener\">Pacific Blues</a> film recipe</aside>","date_published":"2023-06-11T12:20:00Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/kuala-lumpur-in-black-white","url":"https://ronald.langeveld.blog/kuala-lumpur-in-black-white","title":"Kuala Lumpur in black & white","content_html":"<p>Went out on a Sunday morning with my Fujifilm X-E4 and decided to only shoot JPEG's. I applied one of the stock film simulations, ACROS which is based on Fujifilm's ACROS film, manufactured in the early 2000s. </p><p>This is what came out.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzAxLCJwdXIiOiJibG9iX2lkIn19--fae66f6708141ad97c85ce77f45b93276c095a69/DSCF1981.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzAyLCJwdXIiOiJibG9iX2lkIn19--997ccf4ac24c3d7a6806cfba2b81290e3d34d6e7/DSCF1984.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzAzLCJwdXIiOiJibG9iX2lkIn19--37f266d1499fd4f3b648ec138e3d3f4495eade9f/DSCF1985.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzA0LCJwdXIiOiJibG9iX2lkIn19--60b5c35dcf367d3377faa0570a0813e377341af7/DSCF1986.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzA1LCJwdXIiOiJibG9iX2lkIn19--2e72522458a99364bde257ee3b920609a302492b/DSCF1988.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzA2LCJwdXIiOiJibG9iX2lkIn19--3d84141c98b2cbecb482745641d1778734ab5efe/DSCF1989.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzA3LCJwdXIiOiJibG9iX2lkIn19--2aa444f1391b8b5e4f523c4c3c774e768b381fca/DSCF2004.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzA4LCJwdXIiOiJibG9iX2lkIn19--915151fa466e3592c7c53e31153866ef5c4d4abb/DSCF2007.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzA5LCJwdXIiOiJibG9iX2lkIn19--8e87ed3853e674e2d2393732f77550f84c7a1d2d/DSCF2017.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzEwLCJwdXIiOiJibG9iX2lkIn19--55c59df36d6d6f28c9df9504be4ac2488eed886f/DSCF2030.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure>","date_published":"2023-03-19T14:46:00Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/address-is-approximate","url":"https://ronald.langeveld.blog/address-is-approximate","title":"Address is Approximate","content_html":"<figure class=\"post-media\" data-video=\"vimeo\" data-url=\"https://vimeo.com/32397612/5277d0cb5d\"><iframe allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen=\"allowfullscreen\" loading=\"lazy\" referrerpolicy=\"strict-origin-when-cross-origin\" src=\"https://player.vimeo.com/video/32397612?dnt=1&amp;h=5277d0cb5d\" title=\"Vimeo video\"></iframe></figure><p>I first discovered this video when I was 18 years old, early 2012. I had just gotten my first DSLR, at the time and spent a lot of time on <a href=\"https://vimeo.com\"><em>Vimeo</em></a> for inspiration &amp; to learn about cinematography and photography. </p><p>What was special about Vimeo?</p><p>Vimeo is different to YouTube. Much different. At the time, Vimeo had a completely different vibe to it. It was more focused on high-quality, artistic content rather than viral videos and clickbait. It was a place where filmmakers, photographers, and other creatives could share their work and get constructive feedback from other members of the community.</p><p>One day, while scrolling through my Vimeo feed, I stumbled upon a video called \"Address is Approximate\" by a filmmaker named Tom Jenkins. The thumbnail caught my attention, and I decided to watch it.</p><p>The video is a stop-motion animation that follows a toy car's journey through an office space. But what makes it unique is the way it's shot and edited. The camera moves fluidly and smoothly, mimicking a drone's point of view. The lighting and color grading are exquisite, giving the film a warm and nostalgic feel.</p><p>To this day, it remains one of my favourite videos ever.</p>","date_published":"2023-02-19T01:05:42Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/in-the-land-of-khao-soi","url":"https://ronald.langeveld.blog/in-the-land-of-khao-soi","title":"From the land of Khao Soi","content_html":"<figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjY3LCJwdXIiOiJibG9iX2lkIn19--9c76f4ac598f0bceb623338079b031b9899f0330/_DSF0346.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjY4LCJwdXIiOiJibG9iX2lkIn19--a497661edaeb9cff981722045413a35941952baa/_DSF0440.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjY5LCJwdXIiOiJibG9iX2lkIn19--76d5a8f602f9a25de1a5ca32b8f0b386f2b6adbe/_DSF0489.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjcwLCJwdXIiOiJibG9iX2lkIn19--653bdd3e92596e318a573ec0312f4c24980b21bd/_DSF0503.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjcxLCJwdXIiOiJibG9iX2lkIn19--698b8515d89ae8e7fce4089eb10cf28aa4fe051f/_DSF0537.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjcyLCJwdXIiOiJibG9iX2lkIn19--6cb424f6f946fcb09e2d5dfef5674d312f27ee61/_DSF0559.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjczLCJwdXIiOiJibG9iX2lkIn19--1f8621fc84678b6c150e5f7fd6cef2c0ae28b9ec/DSCF0030.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mjc0LCJwdXIiOiJibG9iX2lkIn19--5e24cf968aecbf6fe0ef432da81fd427876202aa/DSCF0056.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mjc1LCJwdXIiOiJibG9iX2lkIn19--e19e001719b0be0c1ab3a99396a98f62bcd52b63/DSCF0072-1.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mjc2LCJwdXIiOiJibG9iX2lkIn19--03a48a5169518a1063db59af2b7ce37b046a0ac1/DSCF0104.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mjc3LCJwdXIiOiJibG9iX2lkIn19--9de450ce0f4a67b19ac8d35a41ec8ec8a5ef37be/DSCF0119.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mjc4LCJwdXIiOiJibG9iX2lkIn19--abf9e9dd6550a5b131831d0a1c51631be07e76c6/DSCF0142.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"><figcaption>this is not khao soi</figcaption></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mjc5LCJwdXIiOiJibG9iX2lkIn19--390616dcd1682a5db58c56d6bfbd31f23f795511/DSCF0579.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjgwLCJwdXIiOiJibG9iX2lkIn19--586cb1e526696c93ca2222f1b23046fcea9303ba/DSCF0681.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjgxLCJwdXIiOiJibG9iX2lkIn19--c0cb610f556d72e04db452ac81f0dc7e992006c7/DSCF0721.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjgyLCJwdXIiOiJibG9iX2lkIn19--f7fd25e651393a2a50d642df48f16f24850dad66/DSCF0761.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjgzLCJwdXIiOiJibG9iX2lkIn19--0a09567b9ab7b66053b4cff1ce959c57040f07f1/DSCF0797.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Mjg0LCJwdXIiOiJibG9iX2lkIn19--c1e8ecc3ca7b14ed6f92902bc9cf707da24991f0/DSCF0806.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><aside data-callout=\"blue\">Chiang Mai, Thailand</aside><aside data-callout=\"amber\">Fujifilm X-E4</aside>","date_published":"2022-12-27T11:08:00Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/bangkok-cyberpunk","url":"https://ronald.langeveld.blog/bangkok-cyberpunk","title":"Bangkok Cyberpunk","content_html":"<p>Had a quick stop over in Bangkok en-route to Kuala Lumpur late December 2022. Made most of my evening there behind the lens.</p><p>Great city!</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzI0LCJwdXIiOiJibG9iX2lkIn19--6f11a3362fa779876e9d2cadb3a53012587c5f92/DSCF0871.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzI1LCJwdXIiOiJibG9iX2lkIn19--84b9f25414da356c25340b4c08696b5312235302/DSCF0872.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzI2LCJwdXIiOiJibG9iX2lkIn19--4ce7c88084bcd2d49e0e2f20622ef4e8921693ed/DSCF0880.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzI3LCJwdXIiOiJibG9iX2lkIn19--6f12aac1e2b3fcedbe4fa1b47726eb96a5a0b832/DSCF0882.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzI4LCJwdXIiOiJibG9iX2lkIn19--b6ce08a1cbf13493b793252057aacff2c732bd1b/DSCF0883.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzI5LCJwdXIiOiJibG9iX2lkIn19--054077dd4943c65df3c359ab4468d77864756af5/DSCF0884.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzMwLCJwdXIiOiJibG9iX2lkIn19--9c339f7702d8178fce00205a9cafd2a35f418a13/DSCF0903.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzMxLCJwdXIiOiJibG9iX2lkIn19--6cf1557c66908de6b7d83f34c78c65000718a291/DSCF0925-1.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzMyLCJwdXIiOiJibG9iX2lkIn19--26f432f4bedfb08465028d6d085f960c5e198944/DSCF0934.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"3000\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzMzLCJwdXIiOiJibG9iX2lkIn19--e0974b4b4d70056f5bde70e22907bdfa964cf793/DSCF0939-1.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzM0LCJwdXIiOiJibG9iX2lkIn19--14f36622865535ff56705f168838357074e7283d/DSCF0948.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><aside data-callout=\"blue\">Bangkok, Thailand</aside><aside data-callout=\"amber\">Fujifilm X-E4 using <a href=\"https://fujixweekly.com/2020/03/23/my-fujifilm-x-t30-jeff-davenport-night-recipe/\" rel=\"noopener\">Jeff Davenport Night film recipe</a></aside>","date_published":"2022-12-27T09:22:00Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/home-video-nostalgia","url":"https://ronald.langeveld.blog/home-video-nostalgia","title":"Reliving the moment","content_html":"<p>Growing up my dad would always film holidays, Christmas, birthdays and when visiting family and friends on his Sony Video 8 Handycam.</p><p>We'd get back home and then I'd be all excited to have all the footage recorded onto a VHS tape from the camera and watching it for the first time.</p><p>The VHS tape would go into a box with the rest of our home video collection. Every once in a while we'd pull one out and relive that holiday, birthday or whatever funny was captured on video.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjIxLCJwdXIiOiJibG9iX2lkIn19--f7a3bfcc93fd97aa58e0d91f40f5d776194a921e/Screenshot-2022-10-29-at-13.38.04.png\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1495\"><figcaption>Me all hyped for getting Scalextic for Xmas</figcaption></figure><p>A few years ago I spent some time digitalising all our family home videos from VHS as a backup to have footage preserved forever. I have it backed up on multiple hard disks and cloud, so I can access and watch it from anywhere.</p><p>A while back, I stayed over at my cousin's and pulled out a segment from Christmas in 1997 (I was 4 years old) where we were all together opening presents that my uncle, dressed as Santa gave us, and then going to my grandparent's house in Pretoria, playing in the garden.</p><p>It was so funny laughing at ourselves. </p><p>That's when I realised all over again how absolutely valuable that footage is. It's memories of an era. Footage that I'd want to show my future kids and passed down, just like I have footage from my late grandfather that he filmed on his Super8 camera in the 50's, 60's &amp; 70's.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjIyLCJwdXIiOiJibG9iX2lkIn19--d6c6a3cde6856610517042c00c6d8d51249a906d/Screenshot-2022-10-29-at-13.32.49.png\" alt=\"\" loading=\"lazy\" width=\"1688\" height=\"1280\"><figcaption>Frame grab from Super8 footage, 1960s. Grandmother, dad and his sisters</figcaption></figure><p>But thinking about it, it feels like our tradition of taking the video camera along kind of stopped around 2005 - at least that's the the last VHS tape we have, that contains footage of a family friend flying a <a href=\"https://www.instagram.com/p/CDWwf5bnuqD/\">1943 Tiger Moth</a>.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjIzLCJwdXIiOiJibG9iX2lkIn19--5ffcecb90741e9528f0653c1d10429cadb20dc44/Screenshot-2022-09-18-at-10.35.50.png\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1483\"><figcaption>Framegrab, Tiger Moth</figcaption></figure><p>Yet, not too long after, we entered a time where everything turned digital and internet became fast enough to upload and stream video. </p><p>Video consumption is at an all time high. We have iPhones that can shoot video in higher quality than we ever dreamt of in the VHS days. We have enough flash storage and cloud storage not to have to worry about running out of memory.</p><p>We take photos of our food, places we visit, sometimes a selfie or a group photo. But rarely switch the device you always carry with you to video mode to be able to completely capture moment to rewatch in a future time.</p><p>The movements, the sounds, the conversations that you hear in home videos is something that money can't buy, especially watching them a decade or more later. We got older, some people in those videos aren't with us anymore, yet that footage is the closest we'll ever get to be able to reliving the moment.</p><p>When you're with your family and friends again, laughing and having a really feel good moment, flip your iPhone to video mode and capture the moment in it's most natural way. It will be beyond special when you watch it again 10 years from now.</p>","date_published":"2022-10-29T06:51:11Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/sixty40-relaunched","url":"https://ronald.langeveld.blog/sixty40-relaunched","title":"What Sixty40 could be like if it relaunched 20 years later.","content_html":"<p>As a passionate software developer, I often find myself going into a nostalgia trip trying to think what it would be like to rebuild and relaunch <a href=\"https://www.sixty40.co.za\">Sixty40</a> in 2022. <a href=\"https://ronald.ghost.io/sixty40-nostalgia/\">I used to live on Sixty40 and it played a huge role into growing my passion for the sport.</a> After all, it's approaching it's 20th birthday as the domain <em>sixty40.co.za</em> was registered on 16 February 2003, according to <a href=\"https://coza.net.za/cgi-bin/whois.sh?Domain=sixty40&amp;Enter=Enter\">whois</a>. </p><h3 id=\"however-the-internet-is-a-much-different-place-today-than-it-was-in-the-2000s\">However, the internet is a much different place today than it was in the 2000s. </h3><p>We live in a time where photographers almost exclusively share their photos on Instagram, Facebook groups &amp; Reddit is where all Q&amp;A / discussions happen, and if you're a video creator, there's YouTube + Vimeo - and they are all pretty much free thanks to the data they are mining from you.</p><p>When I think about Sixty40 in 2022, my intuition wants to say that there's no way we can get users to move their bodyboarding related discussions and photos away from Facebook / Instagram and start using Sixty40 instead. </p><p>But at the same time, bodyboarding has that low profile, underground, wants to be unique kinda vibe to it, that makes it the perfect candidate to go independant, away from big corporate platforms like Facebook, Instagram, etc, perhaps what made Sixty40 a successful community website for its time.</p><p>Bodyboarding remains niche enough not to go mainstream, but big enough to go it's own direction.</p><h3 id=\"okay-so-were-not-threatened-by-existing-big-tech-lets-go-ahead-and-rebuild\">Okay so we're not threatened by existing big tech, lets go ahead and rebuild.</h3><p>The existing Sixty40 website consists of a few primary features:</p><ul><li>Publications - articles, news, blog posts</li><li>Rider profiles</li><li>Surf spot pages</li><li>Forum</li><li>Photo gallery</li><li>Events</li></ul><p><a href=\"https://www.sixty40.co.za/profile/1/kelly-footit\">Kelly Footit</a> (the founder of Sixty40) spent a lot of time building Sixty40. It's an absolute masterpiece for its time. </p><p>Creating a copy by itself could take many months, in which case it would be silly to recreate everything. Just as it was for Kelly, who built Sixty40 in his freetime while living in the UK, it would be a side hobby project over weekends, with no financial incentive, we should without a doubt be following an ultra minimal approach, to try and get it up and running in the shortest possible time and <a href=\"https://www.youtube.com/watch?v=MZ2GuvUWaP8\">remixing</a> with some of the things that would work better today.</p><p>For the first version of the new Sixty40 I'd prioritise the following in no particular order:</p><h2 id=\"photos\">Photos</h2><p>If there's one thing that captures every wave riders attention more than anything else, it would be photos. </p><p>Surf photography is a huge industry, both for hobbyists and professionals. We all know Instagram managed to capture a huge chunk of that market but it's not focussed. Having your beautiful surf images thrown into the algorithm and hoping surfers will find it amongst the countless adverts, infleuncers, breakfast photos and activists doesn't seem like an optimial environment for surf images. And to top it off, instagram highly compress your photos and quality goes down the drainer. </p><p>Cloud storage like AWS buckets is far cheaper today than it was 15 years ago, which means you can retain image quality without breaking the bank.</p><p>With surf photos you want to keep quality as high as possible and that could very well be a major draw for surf photographers. <a href=\"https://magicseaweed.com/photo/415249/album/a9d5cdced077e918cd3ab840137d4846/\">Magicseaweed have a lot of photo contributors, but it's largely standup focussed</a>, but I feel it's missing certain elements that could link up both photographers and indiviudal riders to make it more collaborative, like \"likes\" and \"comments\" to encourage discussions, etc.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjEyLCJwdXIiOiJibG9iX2lkIn19--d2e4ab42a74399176689791d86bb6b6b844f3565/Screenshot-2022-08-28-at-11.46.32.png\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1095\"><figcaption>Magicseaweed's photo gallery.</figcaption></figure><p>However I think its a breath of fresh air knowing that photographers are willing to share their content outside of just Instagram or Facebook, perhaps they just need the correct environment.</p><h2 id=\"rider-profiles\">Rider profiles</h2><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjEzLCJwdXIiOiJibG9iX2lkIn19--8b3660d4841935dbbc3b221f165e9f54183344f9/Screenshot-2022-08-28-at-10.25.43.png\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1096\"><figcaption>WSL profile page</figcaption></figure><p>I'd definitely take inspiration from the WSL profile page and give every user access to setup and create their own profile pages. I'd keep it clean and simple and perhaps prioritise of the use of photos and mix in some of the trival data points from Sixty40's profile page.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjE0LCJwdXIiOiJibG9iX2lkIn19--8b1f8b307a8d83eb7055c1bd899c66e12648ae45/Screenshot-2022-08-28-at-11.42.23.png\" alt=\"\" loading=\"lazy\" width=\"1340\" height=\"1740\"><figcaption>Sixty40 profile page. Haven't updated this since 2014 as login stopped working.</figcaption></figure><h2 id=\"surf-spot-database\">Surf spot database</h2><p>This one is pretty controversial and would need some solid thinking to pull it off well. Many bodyboarders and surfers alike are very sensitive when it comes to pin pointing surf spots. Sixty40 has it fairly figured out, where nothing is pin pointed to an exact location and goes by name only, but to modernise it for 2022, it would certainly need some adaption - as long as it doesn't become a zombieland filled with spammers like what happened to WannaSurf.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjE1LCJwdXIiOiJibG9iX2lkIn19--45f3ef69cad59c5c57884eaf85b785e8234f4a7e/Screenshot-2022-08-28-at-16.15.34.png\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1090\"><figcaption>WannaSurf is a website that specialises in surf locations, but it looks like a 2004 website that's been abandoned.</figcaption></figure><h2 id=\"publications\">Publications</h2><p>As mentioned in my previous post, the Sixty40 magazines were absolutely lovely to read. If all those magazines's articles could be ripped out and formatted for the web they'd get a lot of traffic and keen readers. </p><p>There's really brilliant writers in the bodyboarding community and it would be awesome to have articles on the website published regularly, covering a wide range of topics and the cool thing is they are written by people you know and respect. Not just any journalist without skin in the game.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjE2LCJwdXIiOiJibG9iX2lkIn19--d030e43dbd44f2be3744fc8b683d743b05aefa94/Screenshot-2022-08-28-at-17.05.49.png\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1429\"><figcaption>Screenshot, article about Hawaii from Sixty40, Issue 01.</figcaption></figure><p>Thankfully there's really good software nowadays that makes collaborating and contributing so much easier. I could be perhaps a bit biased on this, but I'd certainly have the publishing side setup with <a href=\"https://ghost.org\">Ghost</a>, since it's super focussed on publishing, blogging and writing articles. </p><p>It also makes it super easy to get contributors to write articles and then let the editor / admin publish it when ready, which is excellent for having guest writers. This is perfect if we have a member who had an epic trip to the Mentawai's and want to write an article about it, etc.</p><h2 id=\"the-forum\">The Forum</h2><p>The forum was probably the first part of Sixty40 that slowed down. I believe largely due to discussions suddenly shifting to Facebook Groups and perhaps smaller private Whatsapp, Telegram,etc groups. <br>And lets be realistic - most forums kinda died in recent years.</p><p>So this will be quite tricky to make it useful, but my current idea it to have like a Q&amp;A board instead, meant for quick highly focussed questions / discussions, eg \"What's the best tide and wind to surf The Wedge?\". Lately there's quite a lot of apps and websites that follow that model and they tend to be quite active compared to traditional forums. Relatively simple to build and take it from there.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjE3LCJwdXIiOiJibG9iX2lkIn19--783e81648d91ae681b8ea68f8d1f2711ee54c0ac/Screenshot-2022-08-28-at-17.30.58.png\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1028\"><figcaption>Example of a Q&amp;A Board on a Dev site where I'm a member.</figcaption></figure><h2 id=\"you-may-be-asking-now-why-would-you-want-to-revive-sixty40-and-not-just-start-a-new-project\">You may be asking now, why would you want to revive Sixty40 and not just start a new project?</h2><p>I've been thinking about this for quite some time and yes, 2 years ago while I had some free time I was about to rebuild something new, but at the time hesitated as I felt I don't have a big enough of an idea and that it's hard to start a community site out of nothing.</p><p>That hesitation brought me back to Sixty40 itself and answered some of the questions regarding why it would be better to revive Sixty40 as opposed to a new competitor.</p><ol><li>The branding is there. Logo is modern and ahead of its time and the name sticks.</li><li>Sixty40 already have a giant collection of photos, database with thousands of riders - possible the biggest one in the world - and a collection of surfspots. It's super valuable data and assets. It would be silly not make use of it.</li><li>Recognised and respected by many bodyboarders not only in South Africa, but around the world. Large number of superfans, including myself, who'd be willing to contribute.</li></ol><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjE4LCJwdXIiOiJibG9iX2lkIn19--a7c09d8e0aec56a8d69106332e3797ee33503026/Screenshot-2022-08-28-at-19.43.06.png\" alt=\"\" loading=\"lazy\" width=\"692\" height=\"1566\"><figcaption>I once asked in a group if they 'remember' the old Sixty40. Nostalgia for days - and they want it back!</figcaption></figure><p>If there's one big change that I'd make, it would be to drop the <em>.co.za </em>in the domain to something not as region specific, for a bigger audience.</p><p>It'd be cool right?</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjE5LCJwdXIiOiJibG9iX2lkIn19--381972fe7140f783541f1b973d44f0e1e67920ad/Screenshot-2022-08-28-at-21.42.44-1.png\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1295\"><figcaption>Mockup designed on Figma + sample photos grabbed from Sixty40</figcaption></figure>","date_published":"2022-08-29T03:00:36Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/sixty40-nostalgia","url":"https://ronald.langeveld.blog/sixty40-nostalgia","title":"Sixty40 nostalgia","content_html":"<p>I've been bodyboarding since around 2008. It's the sport that drove me through much of my teenage years. I made close friends thanks to it and it introduced me to the idea of exploring, travelling and it drove me to combine the passion and combine it with other passions such as photography, filmmaking and tech.</p><p>As I got into bodyboarding, when I was 13 years old, I was already a keen internet user. I quickly came across across <a href=\"https://www.sixty40.co.za\">Sixty40</a>, a bodyboarding focussed website. It was filled with news articles, rider profiles, list of surfspots, pictures, videos and a healthy, active forum. Sixty40 was a very modern website and extremely well developed for its time. </p><h3 id=\"sixty40-played-a-big-part-of-my-introduction-to-bodyboarding-and-the-years-to-follow\">Sixty40 played a big part of my introduction to bodyboarding and the years to follow.</h3><p>Through the website, I made friends that I'd eventually meet in real life and go surf with, got into surf photography so I can share photos that I took on Sixty40 and whenever I have questions, I'd write on the forum and someone - occassionally pro's - would answer. As a teenager and even today, it's really epic when you get a solid reply from a well respected professional in the industry. It gets you so amped and excited.</p><p>Not too long after, Sixty40 grew big enough that they started publishing hardcopy <a href=\"https://www.sixty40.co.za/magazine\">magazines</a> stocked at some surf shops and that you could order online delivered to your post box. I remember convincing my parents to drive me to a town called Margate every other month (about 100km from home) where there was a surfshop called <strong>Factory7</strong> (which was also the defacto Sixty40 HQ), to go buy the mags and often came out with some locally produced bodyboarding DVD's or some new equipment as well.</p><p>I'd come home with the magazines and read it word by word, from start to finish. Everything was extremely well written, designed beautifully, amazing photos and most importantly, it could get a 15 year old with a Playstation, Gaming PC and the beach within walking distance, to actually switch everything off and read. </p><p>Around 2011, while the magazines was still being released consistently, I suspect due to the sudden rise of Facebook and Instagram, traffic on Sixty40 was slowing down. Images was being posted less frequently and the forum died down. I even started a thread on the forum titled, \"<a href=\"https://www.sixty40.co.za/forum/topic/2711/is-sixty40-dying\">Is Sixty40 dying?</a>\". The post got quite a discussion going, but sadly I think it was largely all talk with with very little action.</p><p>The magazines eventually stopped being released as printed hardcopies and went on to be published online. As I didn't live in SA at that time, it worked out perfectly as I could get the new issues online as soon as they came out. However that too came to a slow down and the last issue was released in December 2015. While it was no final goodbye, we haven't seen a new issue since.</p><p>Going back to the website, we haven't really seen much user activity since 2016 (to be fair, the login stopped working years ago and is still not fixed), makes it impossible for users to do anything. The site is still up and running as I suppose <a href=\"https://www.sixty40.co.za/profile/1/kelly-footit\">Kelly</a> (the founder of Sixty40) keeps paying the server bills. It's awesome for throwback memories and going through old photos, news articles, forum discussions, etc.</p><h3 id=\"it-often-makes-me-wonder-would-it-be-possible-to-relaunch-sixty40-revived-to-the-tune-of-success\">It often makes me wonder, would it be possible to relaunch Sixty40, revived to the tune of success?</h3>","date_published":"2022-08-28T07:34:27Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/i-got-covid","url":"https://ronald.langeveld.blog/i-got-covid","title":"I got covid","content_html":"<p>In May I got covid. </p><p>I managed to avoid it for the greater part of the pandemic. Now I'm a statistic. </p><p>Symptoms was pretty rough to be honest - I expected it to be borderline a cold. It was worse. I was bed bound for about 4 days without any desire to do anything. Fever from time to time, lack of energy and not much of an appetite except, except a weird craving for citrus fruit - like grapefruit. </p><p>Still have a cough and it's been a few weeks already.</p><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg1LCJwdXIiOiJibG9iX2lkIn19--718d61a8520061e09c5baf4b7d9c9a7996c89939/Screenshot-2022-06-16-at-05.45.08.png\" alt=\"\" loading=\"lazy\" width=\"1974\" height=\"406\"></figure>","date_published":"2022-06-16T03:46:48Z","language":"en","authors":[{"name":"Ronald Langeveld"}]},{"id":"https://ronald.langeveld.blog/sailboat","url":"https://ronald.langeveld.blog/sailboat","title":"Sailboat","content_html":"<figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjYyLCJwdXIiOiJibG9iX2lkIn19--48ac5c98091a1f8db3d9656ce81914c368179bdc/IMG_0081.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjYzLCJwdXIiOiJibG9iX2lkIn19--ab7c4d16b9a9ab80592a87aa9d0e9b90de34d59a/IMG_0088.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjY0LCJwdXIiOiJibG9iX2lkIn19--fdb791d244149156b8a8134f4120dd6213859eb6/IMG_0125.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure><figure class=\"post-media\"><img src=\"/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjY1LCJwdXIiOiJibG9iX2lkIn19--4e086b61bb9ddec37194c7f04bd38352ee5ec6c3/IMG_0132.jpeg\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1333\"></figure>","date_published":"2022-05-15T10:29:00Z","language":"en","authors":[{"name":"Ronald Langeveld"}]}]}