{
    "version": "https://jsonfeed.org/version/1",
    "title": "@แนท",
    "home_page_url": "https://www.llun.me",
    "feed_url": "https://www.llun.me/feeds/feed.json",
    "description": "Life, Ride and Code",
    "icon": "https://www.llun.me/img/apple-touch-icon.png",
    "author": {
        "name": "Maythee Anegboonlap",
        "url": "https://www.llun.me"
    },
    "items": [
        {
            "id": "https://www.llun.me/posts/2025-12-16-2025",
            "content_html": "<p>End of 2025, and as usual, year-end review. However, this year it’s also my end-of-decade review for me.</p>\n<p>2025 is a very tiring year. It’s a lot of changes, both in my work and my personal life, and not really in a great way. It’s a lot of navigating the whole year, full of AI. In my work, most of the colleagues that I worked with have moved out, and people that I used to work with — I think more than half of them — are gone. Although, the team that I joined in the beginning, most of the people are still here.</p>\n<p>It’s not really a reorganization (or maybe it is?), but it’s not really a public one like at the end of last year that my company announced quite publicly. A few new people joined, but the atmosphere is not really the same since the end of last year.</p>\n<p>AI stuff has become more and more integrated into the work. I think this part I kind of enjoyed, at least in the beginning of the year. I feel it’s like a new shiny toy that I hadn’t seen before. It’s a long time that I feel excited like the first iPhone, but after mid-year, it becomes dull and the excitement is gone. I still use it from time to time, especially when writing some bash scripts for small tasks, but big-task-wise, I still prefer to have control over iterating with prompts to all the LLM services.</p>\n<p>Personal-life-wise, this year has a lot of changes! I have a boyfriend, live together for some time now, and we travel quite a lot to Slovenia (his home country). A few dramas along the way, and a few weeks ago, we came for the funeral (and more drama with a car accident recently). It’s a very rough year, and I hope all this rough thing ends in this year.</p>\n<p>Next, I’m going to join the 40 club. In the 30s, I start with some excitement. I got a new job with <a href=\"http://viki.com/\" target=\"_blank\" rel=\"noopener\">Rakuten Viki</a>. The company is a similar size to the company I’m working at now (and also a similar feeling in the company, in the Asian way). Then, I joined <a href=\"https://www.referralcandy.com/\" target=\"_blank\" rel=\"noopener\">ReferralCandy</a>, which I still think is the best place and company I joined, a lot of things that I learned and fun to build (until I got bored 😬), and ended with Credit Suisse Singapore (which is now gone and becomes UBS?) before coming to the Netherlands. The first year in the Netherlands was fun and exciting; even the winter didn’t hit me much. The last two years, though, it really hit me hard and still feels rough this winter. I’m also more than halfway for PR/citizenship, which might be a time to think and work for it, and I hope in the 40s, it still has some excitement like I was in the 30s.</p>\n<p>And that’s all for this year and this decade, and I’m looking forward to the next year (and next decade).</p>\n",
            "url": "https://www.llun.me/posts/2025-12-16-2025",
            "title": "2025, Joining 40 Club",
            "summary": "End of year 2025 and a past decade review",
            "date_modified": "2025-12-16T19:03:12.000Z"
        },
        {
            "id": "https://www.llun.me/posts/2025-03-02-llm",
            "content_html": "<p>ประมาณปลายปีที่แล้วช่วงที่ไป Slovenia อีกรอบได้ลอง ChatGPT ครั้งแรก (ช้ากว่าชาวบ้านเยอะมาก) สิ่งที่ทำให้รู้สึกว้าวตอนเล่นคือ สามารถใช้เสียงคุยกับ ChatGPT ได้ แล้วมันตอบได้ราบรื่นมาเหมือนคุยกับคน แทบจะไม่รู้สึกเหมือนกับที่คุยกับ Google Assistant หรือ Siri เลย หลังจากนั้นมาก็ Subscribe plus plan + เล่นอย่างอื่นตามมาเยอะมาก</p>\n<p>หลังจากกลับมาจาก Slovenia ก็ขุดเพิ่มอีกพอสมควร เริ่มจาก Speech Recognition ที่ ChatGPT ใช้แล้วไปเจอ <a href=\"https://github.com/openai/whisper\" target=\"_blank\" rel=\"noopener\">Whisper</a> ที่แปลงเสียงเป็น Text ด้วยความสามารถทั้งหมดของ ChatGPT รู้สึกว่า Speech Recognition นี่แหละที่ทำให้ Subscribe แล้วก็สงสัยว่า Google/Apple/Amazon ทำอะไรอยู่ แต่เรื่องคำถามและคำตอบที่แต่ละ Agent ตอบมาส่วนตัวรู้สึกว่ามันพอๆ กัน Google อาจจะ powerful กว่าส่วนที่ integrate กับ Google services ต่างๆ แต่ ChatGPT ส่วนค้นหาก็เรียกว่าไม่แย่เลย</p>\n<p>หลังจากนั้นพอ Deepseek ออกก็ได้ลองเล่น LocalLLM ต่างๆ ทำให้รู้ว่าสิ่งที่จำเป็นสำหรับ LLM มาเล่นในเครื่องคือ VRAM (กับ GPU แต่ GPU ใน laptop ที่ใช้อยู่เล่น Deepseek ไม่แย่เท่าไหร่ หรือ M1 หลาย model ก็ตอบได้ไม่ช้ามาก) แต่จะหา GPU ที่มี VRAM มาใช้กับ model ใหญ่ๆ นี่แพงมาก (+ ค่าไฟที่ต้องจ่ายอีก) สุดท้ายดูคุ้มสุดกลายเป็น Mac Mini/Macbook Pro ที่เอา system memory มา shared กับ GPU ได้เยอะ อัพเกรด Macbook รอบต่อไปก็คงได้อัด Memory เต็มอีกรอบหลังจากรอบนี้คิดว่าไม่ค่อยได้ใช้ Memory เท่าไหร่ (ตอนนี้ไม่พอเล่น 70b model)</p>\n<p>สิ่งที่ทำให้ว้าวล่าสุดกับ LLM คงเป็น <a href=\"cursor.com\" target=\"_blank\" rel=\"noopener\">Cursor editor</a> ส่วนตัวบริษัทจ่าย Github Copilot ให้ทุกคนใช้อยู่แล้ว เลยได้อานิสงส์มาใช้ส่วนตัวด้วย ก็ได้ลองเล่น model ต่างๆ กับ VSCode ที่บริษัทเปิดให้ (ล่าสุดก็เปิด Copilot review ให้ด้วยแต่ต้องรอ waitlist) ก็รู้สึกว่า editor มาฉลาดขึ้นให้แก้ code ในไฟล์ได้ แต่ถ้าให้แก้ข้ามไฟล์แบบต้องรู้ context ของทั้ง project รู้สึกว่า VSCode มันยังไม่ช่วยเท่าไหร่ แม้มี Agent mode ตาม Cursor แล้วก็ตาม</p>\n<p>สิ่งที่ทำให้ยอมจ่าย Cursor เลยคือ tab กับ generate code หรือ refactor ที่ Cursor context ดูฉลาดกว่า VSCode มาก (เปรียบเทียบกับ model เดียวกัน Sonnet 3.7) ก็หวังว่า VSCode จะไล่ตามมาเรื่อยๆ จนไม่ต้องจ่ายให้ Cursor (ค่าสมาชิกรายปีแพงกว่า Jetbrain อีก!)</p>\n<p>จากตรงนี้ก็สงสัยว่าแล้วอนาคตจะเหลืองานอะไรให้ทำบ้างถ้า AI มันฉลาดจนทำงานแทนได้ แม้ตอนนี้ที่ใช้อยู่รู้แหละว่ามันยังแทน Developer ไม่ได้แต่ถ้าถาม หลายอย่างต้องรู้ context อยู่ + ยังต้องคอยยืนยันว่าสิ่งที่ Generate ออกมาไม่มั่ว แต่ถ้าต่อไปพวกนี้มันแม่นแล้ว ก็สงสัยว่าจะได้นอนอยู่เฉยๆ อยู่บ้านหรือป่าว</p>\n",
            "url": "https://www.llun.me/posts/2025-03-02-llm",
            "title": "LLM",
            "summary": "Thought about LLM and my current workflow and how does it help making my life easier",
            "date_modified": "2025-03-02T20:03:41.000Z"
        },
        {
            "id": "https://www.llun.me/posts/2024-12-17-2024",
            "content_html": "<p>ปีที่แล้วบอกว่าปีนี้ขอให้ชิวกว่าปีที่แล้ว แต่ทุกอย่างตรงข้ามและรู้สึกเป็นปีที่โหดไม่ใช่น้อย เป็นปีที่ทำอะไรหลายอย่างมากกว่าที่คิดมาก ทั้งเรื่องงานและส่วนตัว จบปีแล้วรู้สึกเหนื่อยกว่าเดิม อย่างนึงที่เขียนไว้ปีที่แล้วและทำได้จริงคือเที่ยวน้อยลง ปีนี้แทบไม่ได้เที่ยวเลยนอกจากพาที่บ้านมาที่นี่ (ซึ่งก็มาเจออากาศที่เลวร้ายช่วงเดือนเมษายนอีก) ส่วนครึ่งหลังของปีก็แทบจะยุ่งอยู่กับการซื้อบ้าน</p>\n<h2 id=\"%E0%B8%87%E0%B8%B2%E0%B8%99\" tabindex=\"-1\">งาน <a class=\"header-anchor\" href=\"#%E0%B8%87%E0%B8%B2%E0%B8%99\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p>งานปีนี้เป็นอะไรที่เหนื่อยมาก เห็นข่าว Layoff ทั้งปี ส่วนงานตัวเองก็เปลี่ยนทีมสองสามรอบ หลังจากเมษายนก็เริ่มเห็นเพื่อนร่วมงานหายไปสอง-สามคน จนสองสามเดือนที่แล้วมีประกาศ Layoff แล้วเพื่อนที่อยู่ในทีมทำงานด้วยกันมาตั้งแต่ต้นหาย ก็รู้สึกเคว้งๆ แล้วก็มีจัดทีมใหม่อีก ทีมที่ทำอยู่ตั้งแต่ต้นปีถูกจับรวมกับอีกทีม สุดท้ายก็คนประมาณเท่าเดิม แต่ตอนนี้ต้องดูแลเยอะขึ้น คิดอยู่ว่าอยากเปลี่ยนงานตลอดหลังกลางปีนี้ หลังจากเรื่องบ้านเสร็จ แต่ก็ไม่คิดว่าจะได้บ้านเร็วขนาดนี้ กลายเป็นว่าปลายปีวุ่นสองอย่าง เลยเลิกคิดจะหางานใหม่ ปีหน้าค่อยคิดอีกทีหละ</p>\n<h2 id=\"%E0%B8%9A%E0%B9%89%E0%B8%B2%E0%B8%99\" tabindex=\"-1\">บ้าน <a class=\"header-anchor\" href=\"#%E0%B8%9A%E0%B9%89%E0%B8%B2%E0%B8%99\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p>เป็นเรื่องที่ใหญ่สุดของปีนี้แล้ว คิดว่าจะเลิกเช่าบ้านเพราะค่าเช่าเพิ่มขึ้นทุกปี ปีละ 5% จากปีแรกที่มาอยู่จ่ายเดือนละ €1600 แต่เพิ่มมาสองปี ปีนี้จ่ายเดือนละ €1800 ลองเทียบกับ Mortgage ที่ต้องจ่ายแล้วเรียกว่าเกินครึ่ง ตอนแรกคิดว่าจะค่อยหาช้าๆ แต่ปีนี้ไม่ได้อยู่คนเดียวแล้ว 😬 เลยโดนเร่งให้รีบหาจนสุดท้ายได้บ้านแถว <a href=\"https://maps.app.goo.gl/7ox7PvCVJ9bCLd4T7\" target=\"_blank\" rel=\"noopener\">Bennekom</a></p>\n<p>ทำไมเลือก Bennekom</p>\n<ul>\n<li>มีรถไฟ Intercity ที่สามารถเข้า Amsterdam ได้ใน 1 ชั่วโมง (Door to door ตอนนี้ 1 ชั่วโมงครึ่ง) ข้อนี้สำคัญเพราะต้องเข้า office ที่ Amsterdam อาทิตย์ละ 2 วัน</li>\n<li>ใกล้ป่า เนื่องจากตอนนี้มีหมาสองตัว (German sheperd) แล้วการพาหมาออกมาเดินใน Amsterdam น่าปวดหัวมากโดยเฉพาะเวลาขึ้นลง lift หาบ้านใหม่เลยมี requirement นี้เพิ่มขึ้นมา</li>\n<li>มีสวนหลังบ้าน อย่างน้อยล้างจักรยานหรือถ้าขี้เกียจพาหมาออกไปเดินก็มีที่เล็กๆ ให้วิ่งได้ง่ายๆ</li>\n<li>ราคาพอไหว! อันนี้สำคัญสุด <a href=\"https://www.funda.nl/zoeken/kaart/koop?selected_area=%5B%22nl%22%5D&amp;zoom=10&amp;centerLat=52.5047&amp;centerLng=4.8555&amp;object_type=%5B%22house%22%5D&amp;availability=%5B%22available%22%5D&amp;construction_period=%5B%22from_2011_to_2020%22%5D&amp;floor_area=%22100-%22\" target=\"_blank\" rel=\"noopener\">ราคาบ้านใน Randstad ขึ้นไปเยอะมาก 100sqm ใน Randstad แบบมีสวน ใกล้สถานีรถไฟ (ปั่นจักรยานไม่เกิน 10 นาที)</a> บางที่ขึ้นไปเป็น €1,000,000 ถึงจะกู้ได้ก็ผ่อนเยอะกว่าค่าเช่า ขนาด Bennekom หลังที่ซื้อก็เรียกว่าเกิน budget ไปพอสมควร</li>\n</ul>\n<p>หลังอื่นก่อนที่จะได้ที่ Bennekom ก็ไปดูแถว Ede แต่สุดท้ายก็มาจบที่นี่เพราะรอบบ้านดูสงบกว่าที่อื่น (ก็สงบกว่าจริง ยกเว้นดอกไม้ไฟที่เล่นกันบ้าคลั่งมากประเทศนี้) หลังจากได้บ้านก็ต้องย้ายของและยกเลิกสัญญาเช่าอีก กว่าจะทำเรื่องจบก็ต้นเดือนธันวาคม รวมระยะเวลาเริ่มหาบ้านตั้งแต่ประมาณปลายกรกฏาคม จนได้กุญแจประมาณต้นเดือนพฤศจิกายน ก็ประมาณ 3 เดือนครึ่ง + ย้ายของ + ยกเลิกบ้านเช่าอีกประมาณ 1 เดือน รวมแล้วก็ประมาณ 4 เดือนกว่าจะเริ่มนิ่ง</p>\n<p>ย้ายมาบ้านใหม่เสร็จก็มีของที่ต้องซื้อ + เปลี่ยนพอสมควร อย่างแรกที่ต้องซื้อก็เครื่องซักผ้า เครื่องอบผ้า ตามด้วยเครื่องล้างจานที่ของที่มากับบ้านล้างไม่สะอาด + microwave เพราะเตาอบที่บ้านไม่มี microwave เป็นแค่ oven อย่างเดียว! ตอนนี้ยังเหลือหลอดไฟในบ้านที่เป็นแบบห้อยลงจากเพดานแขวน ส่วนตัวไม่ค่อยชอบเพราะหัวชนไปหลายรอบมาก แต่ยังไม่มีเวลา + แรงจะเปลี่ยน เรียกว่ากว่าจะเรียบร้อยคงอีกซักพัก</p>\n<p>อย่างนึงที่ดีสำหรับบ้านหลังนี้คือ บ้านสร้างประมาณปี 2018 หลายอย่างยังใหม่อยู่เลยไม่ต้อง renovate อะไรเหมือนบ้านคนอื่น คิดว่าถ้าต้อง renovate กว่าจะเรียบร้อยก็คงยาวถึงสิ้นปีหน้า</p>\n<h2 id=\"%E0%B8%AD%E0%B8%B7%E0%B9%88%E0%B8%99%E0%B9%86\" tabindex=\"-1\">อื่นๆ <a class=\"header-anchor\" href=\"#%E0%B8%AD%E0%B8%B7%E0%B9%88%E0%B8%99%E0%B9%86\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p>อย่างนึงที่ปีนี้ทำสำเร็จคือพาที่บ้านมา Netherlands เสียอย่างเดียวสภาพอากาศที่นี่ช่วงสงกรานต์แย่มาก ลมแรง ฝนตก พาไปเที่ยว Keukenhof แล้วไม่สนุก คิดไว้ว่าจะพามาอีกแต่เป็นช่วงหน้าร้อนแทนช่วงฤดูใบไม้ผลิที่อากาศไม่เลวร้ายมาก แต่ไว้ผ่านปีใหม่กลับไทยแล้วเดี๋ยวค่อยวางแผนอีกที</p>\n<h2 id=\"2025\" tabindex=\"-1\">2025 <a class=\"header-anchor\" href=\"#2025\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p>ปีนี้เขียนเร็วกว่าปีก่อนเพราะอาทิตย์นี้จะหายตัวยาวไป Slovenia 🇸🇮 อีกเช่นเคย คิดว่าคงจะเป็น yearly trip ไปอีกหลายปี</p>\n<p>ปีหน้าก็คงอยากเหมือนปีที่แล้วคือขอให้เป็นปีที่นิ่งและได้พักบ้าน ปีนี้เหนื่อยแล้ว ทั้งเรื่องงานและส่วนตัว แก่จะเข้าเลข 4 เป็น ปีสุดท้ายของช่วงอายุเลข 3 แล้วก็หวังว่าชีวิตจะนิ่งและน่าเบื่อบ้างหละ</p>\n",
            "url": "https://www.llun.me/posts/2024-12-17-2024",
            "title": "2024",
            "summary": "2024 year in review, messy year, busy work, buying house.",
            "date_modified": "2024-12-17T08:21:21.000Z"
        },
        {
            "id": "https://www.llun.me/posts/dev/2024-07-13-opentelemetry-google-cloud-trace-nextjs",
            "content_html": "<p>NextJS has OpenTelemetry embedded in the framework however, to use it has a few more steps to configure. For Google Cloud Trace, that step including updating <code>next.config.json</code> to exclude library that suppose to run in the server side.</p>\n<p>The official guide from <a href=\"https://nextjs.org/docs/app/building-your-application/optimizing/open-telemetry\" target=\"_blank\" rel=\"noopener\">Vercel is here</a> which using OLTP to export the data. However, Google has their own package for exporting trace data <code>@google-cloud/opentelemetry-cloud-trace-exporter</code></p>\n<p><a href=\"https://cloud.google.com/trace/docs/setup/nodejs-ot\" target=\"_blank\" rel=\"noopener\">Document in Google</a> shows how to configure the OpenTelemetry which can be use with Vercel document and add to <code>instrumentation.node.ts</code> file. After follow the google document, add <code>google-proto-files</code> into the <code>serverComponentsExternalPackages</code> in <code>next.config.js</code> file and the trace data should appear in the cloud trace dashboard.</p>\n",
            "url": "https://www.llun.me/posts/dev/2024-07-13-opentelemetry-google-cloud-trace-nextjs",
            "title": "OpenTelemetry for NextJS and Google Cloud Trace",
            "summary": "Configure opentelemetry in Next.JS project and making it export trace data to Google Cloud Trace",
            "date_modified": "2024-07-13T10:27:41.000Z"
        },
        {
            "id": "https://www.llun.me/posts/dev/2024-03-08-nextjs-dynamic-import-and-500-error",
            "content_html": "<p>Another problem come by, we have a mysterious 500 error showing after we deploy a new page that move to Next.JS. The page works fine and returns however, when users go to the next page, it shows 500 error. Open that page directly doesn’t make it returns 500</p>\n<p>Looking into the logs, it’s showing like this</p>\n<pre><code> ⨯ Error: Cannot find module 'test'\n    at /path/to/project/.next/server/pages/[[...page]].js:1:182 {\n  code: 'MODULE_NOT_FOUND'\n</code></pre>\n<p>Which point to the dynamic loading that is using in the first page and it’s not supposed to affect the other page. The problem here is the path that import is not exists and normally this would get catch in the build time but this is not happened because this part of the code is using variable to point to the module name.</p>\n<p>Changing the file name to <code>page.js</code> fix the problem, however, this makes the page not catching all the requests. Another way is fixing the variable value and making sure the import path must exists but both of these doesn’t answer why does the error from first page showing in the subsequent page when click on the link.</p>\n<p>Looking into Next.JS server code, when the page is render, it’s try to load all the dynamic imports here <a href=\"https://github.com/vercel/next.js/blob/v14.1.3/packages/next/src/server/render.tsx#L630\" target=\"_blank\" rel=\"noopener\">https://github.com/vercel/next.js/blob/v14.1.3/packages/next/src/server/render.tsx#L630</a> which will call through <code>ALL_INITIALIZERS</code> here <a href=\"https://github.com/vercel/next.js/blob/v14.1.3/packages/next/src/shared/lib/loadable.shared-runtime.tsx#L275-L279\" target=\"_blank\" rel=\"noopener\">https://github.com/vercel/next.js/blob/v14.1.3/packages/next/src/shared/lib/loadable.shared-runtime.tsx#L275-L279</a>. This was shared between catch all page and the page that more specific.</p>\n<p>Here is a sample project testing this issue <a href=\"https://github.com/llun/nextjs-catchall-dynamic-import-500\" target=\"_blank\" rel=\"noopener\">https://github.com/llun/nextjs-catchall-dynamic-import-500</a></p>\n<p>The solution for this is, making sure that the dynamic imports are exists or don’t use catch all like this. It can make the NextJS returns 500 error to a random requests.</p>\n",
            "url": "https://www.llun.me/posts/dev/2024-03-08-nextjs-dynamic-import-and-500-error",
            "title": "Next.JS dynamic import and 500 error",
            "summary": "Catch all path in Next.JS with dynamic imports can cause 500 errors in different page, here is the detail why",
            "date_modified": "2024-03-08T18:09:28.000Z"
        },
        {
            "id": "https://www.llun.me/posts/dev/2024-03-03-memoize-and-memory-leak",
            "content_html": "<p>Last month I got one of interesting problem, the NextJS service has a memory leak. Profiling it suggests that i18next translation that creates by <code>cloneInstance</code> doesn’t get remove when the request is done and turn out it’s because the <code>memoize</code> function that we use to store the response of one API causing this</p>\n<pre><code class=\"language-js\">const apiResponse = memoize((apiParam: number) =&gt; {\n  const data = await fetch(api, { body: JSON.stringify({ apiParam }) })\n\treturn `${t('key')}-${data.value}`\n})\n</code></pre>\n<p>The function looks simple and the memoize was making sense to me in the beginning however, because the <code>apiParams</code> can be anything, and the <code>t</code> function which store all the translations is inside this causing it to never release and get collect by garbage collector.</p>\n<p>This was working when we use it in the browser before because the lifetime of the code is short lived compared to the server side that we use in Next.JS. In the end, we remove the memoize part and making sure this in the practice that when we use memoize, making sure that parameter of the function has a limit boundary and this solve the problem.</p>\n",
            "url": "https://www.llun.me/posts/dev/2024-03-03-memoize-and-memory-leak",
            "title": "Memoize and memory leak",
            "summary": "Memory leak issue in Next.js when using it with unbound parameters and t function.",
            "date_modified": "2024-03-03T10:25:33.000Z"
        },
        {
            "id": "https://www.llun.me/posts/ride/2024-02-04-heated-gloves",
            "content_html": "<p>หลังลองถุงมือสารพัดแบบที่ไม่ใช่ Heated gloves ไปปีที่แล้วพบว่าแทบไม่มีถุงมือไหนที่ใช้ปั่นจักรยานที่นี่ได้เลย แม้จะเป็น Goretex หรือ Primaloft แต่ปั่นจักรยานแบบทางไกล ยังไงก็เอาไม่อยู่โดยเฉพาะถ้าเจอฝนด้วยแล้ว เรียกว่าแทบไร้ประโยชน์ ปีที่แล้วมี<a href=\"https://www.bever.nl/p/extremities-furnace-pro-handschoen-GPBAD70033.html\" target=\"_blank\" rel=\"noopener\">ถุงมืออันเดียว</a> ที่สามารถทนใช้ได้มาจนถึงปัจจุบัน แต่ถ้าอุณหภูมิลงไปต่ำกว่า 5℃ หรือฝนตกหนัก ก็ไม่ค่อยรอดเหมือนกันถ้ามีลมแรง ปีนี้เลยหาถุงมือใหม่แต่เอาแบบที่เป็น Heated มีแบตเตอรี่แบบที่เพิ่มความร้อนอุ่นมือได้ ลองมาสามยี่ห้อ และเจอที่ถูกใจคิดว่าใช้ปั่นจักรยานแบบหนาว ลมแรง ฝนตกได้หละ</p>\n<h2 id=\"eko%C3%AF-heat-concept-bike\" tabindex=\"-1\">Ekoï heat concept bike <a class=\"header-anchor\" href=\"#eko%C3%AF-heat-concept-bike\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p><a href=\"https://www.ekoi.com/nl/winterhandschoenen/13453-winter-warmte-handschoenen-ekoi-warmte-concept-5-licht.html\" target=\"_blank\" rel=\"noopener\">ยี่ห้อแรกที่ลองเป็น Heated gloves สำหรับปั่นจักรยาน</a> ที่บางเฉียบแต่บังคับจักรยานไม่ต่างจากถุงมือทั่วไปเท่าไหร่ ถ้าอากาศไม่หนาวมาก ไม่ต่ำกว่า 5℃ เป็นถุงมือที่ใส่แล้วปั่นจักรยานดีมาก แต่ถ้าอุณหภูมิต่ำกว่า 5℃ หรือลมแรง หรือฝนตกเมื่อไหร่ แทบจะไร้ประโยชน์ทันที ถึงจะปรับให้อุ่นมือที่ระดับ max ก็ไม่ช่วยอะไร\nปัญหาอีกอย่างของถุงมือนี้คือ Battery ใช้ได้ไม่ค่อยนาน เพราะพอปรับให้อุ่นมือแบบ max แล้วมันอุ่นกว่าถุงมือเจ้าอื่น ใช้ไฟเยอะกว่าเจ้าอื่นลองเอาไปปั่นทางไกลดู 100km ต้องเปลี่ยน Battery ประมาณทุกชั่วโมง</p>\n<figure><img src=\"https://www.llun.me/posts/ride/2024-02-04-heated-gloves/ekoi.png\" alt=\"\"><figcaption>Ekoï version แบบบางเฉียบ ใช้ได้ถึงประมาณพฤศจิกายน หลังจากนั้นหนาวเกินหละ</figcaption></figure>\n<h2 id=\"30seven-heated-gloves-for-cycling\" tabindex=\"-1\">30Seven Heated gloves for cycling <a class=\"header-anchor\" href=\"#30seven-heated-gloves-for-cycling\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p><a href=\"https://www.30seven.com/collections/gloves/products/heated-gloves-grip-waterproof\" target=\"_blank\" rel=\"noopener\">ยี่ห้อที่สองเป็น Heated gloves สำหรับปั่นจักรยานเหมือนกัน</a> แต่หนากว่ายี่ห้อแรก แบบแรก (ยี่ห้อแรกมีแบบหนาเหมือนกัน แต่ไม่ได้ลอง) เป็นยี่ห้อที่เพื่อนแนะนำมา Battery compatible กับยี่ห้อแรก เป็นถุงมือที่อุ่นกว่านี่ห้อแรกแม้ไม่เปิดให้อุ่น Battery อยู่ได้พอๆ กับยี่ห้อแรก ปรับ Max แล้วอยู่ได้ประมาณชั่วโมงกว่า เป็นถุงมือที่ฝนตก ลมแรงแล้วเอาอยู่\nข้อเสียของ 30Seven คือ material ที่ใช้ในถุงมือมันกันทุกอย่างดีมาก พอมืออุ่นแล้วเหงื่อออกถุงมือไม่ดึงเอาเหงื่อออกไปด้วย ใช้ไปซักพักแล้วมือเปียกเพราะเหงื่อต้องดึงมืออกมาพัก แล้วเวลาอากาศหนาว ดึงมือออกมาเจออากาศเย็นมันไม่ค่อยอยากดึงเท่าไหร่ แต่ถ้าปั่นไม่ไกล แล้วไม่ได้ปั่นหนักมาก ก็เป็นถุงมือที่คิดว่าดีใช้ได้</p>\n<figure><img src=\"https://www.llun.me/posts/ride/2024-02-04-heated-gloves/30seven.png\" alt=\"\"><figcaption>30Seven นี่หนากว่า Ekoï Bettery แบบเดียวกันสลับใช้กันได้ อุ่นกว่า Ekoï ที่ซื้อมา</figcaption></figure>\n<h2 id=\"outdoor-research-prevail-heated-gore-tex-gloves\" tabindex=\"-1\">Outdoor research Prevail Heated GORE-TEX gloves <a class=\"header-anchor\" href=\"#outdoor-research-prevail-heated-gore-tex-gloves\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p><a href=\"https://www.outdoorresearch.com/collections/gloves/products/prevail-heated-gore-tex-gloves-322224\" target=\"_blank\" rel=\"noopener\">ยี่ห้อสุดท้ายเป็น Heated gloves ที่ไม่ได้ออกแบบมาสำหรับปั่นจักรยาน</a> เป็นถุงมือที่หนามาก และอุ่นแต่ไม่อุ่นเท่า 30Seven สามารถกันน้ำ กันลมได้ดีพอๆ กับ 30Seven ถ้าลมแรงจะรู้สึกว่าปลายนิ้วจะเย็นนิดๆ แต่ถ้าเปิดให้อุ่นแบบ max แล้วก็รู้สึกว่าอุ่นถึงร้อนพอสมควร ข้อดีคือเป็นถุงมือที่ทำให้มือแห้งตลอด แม้เหงื่อออกก็ไม่รู้สึกว่ามือเปียกเลย สามารถใส่ได้ยาวจนจบ Trip ปั่นจักรยานแบบทางไกล​ (4 ชั่วโมง+) ข้อดีอีกอย่างที่รู้สึกว่าดีกว่า 30Seven/Ekoï คือ Battery อยู่ได้นานมาก ถ้าเปิดแบบ max คืออยู่ได้ 2 ชั่วโมงครึ่งพก Battery สำรองไปแค่ชุดเดียวเอาอยู่ (Ekoï กับ 30Seven นี่พกไป 3-4 ชุด) ข้อเสียคือ Battery ชาร์จนานมาก เรียกว่าชุดนึงชาร์จทีคืนนึง แต่ถ้ามีสำรองก็ไม่แย่เท่าไหร่ สลับใช้เอาได้ แต่ข้อเสียอีกอย่างคือ Battery ไม่ compatible กับ Heated gloves ยี่ห้ออื่น เพราะขั้วต่อเล็กกว่า Battery ของยี่ห้ออื่นเลยไร้ประโยชน์หมดตอนนี้</p>\n<h2 id=\"%E0%B8%97%E0%B8%B2%E0%B8%87%E0%B9%80%E0%B8%A5%E0%B8%B7%E0%B8%AD%E0%B8%81%E0%B8%AD%E0%B8%B7%E0%B9%88%E0%B8%99\" tabindex=\"-1\">ทางเลือกอื่น <a class=\"header-anchor\" href=\"#%E0%B8%97%E0%B8%B2%E0%B8%87%E0%B9%80%E0%B8%A5%E0%B8%B7%E0%B8%AD%E0%B8%81%E0%B8%AD%E0%B8%B7%E0%B9%88%E0%B8%99\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p>จริงๆ มีอีกทางเลือกที่เพื่อนใช้อยู่คือใช้ <a href=\"https://radpowerbikes.eu/products/handlebar-mitts\" target=\"_blank\" rel=\"noopener\">Handlebar mitts</a> ที่เป็นถุงครอบกันลมอีกชั้น ก็คิดว่าน่าจะเอาอยู่เหมือนกัน แต่ส่วนตัวไม่ค่อยชอบความเทอะทะมันเท่าไหร่ อีกอย่าง นอกจากจะใช้ถุงมือพวกนี้ตอนปั่นจักรยานแล้ว ปกติใช้ตอนไม่ปั่นจักรยานด้วยตอนที่ ลมแรง ฝนตก หนาวมากๆ เพราะ Heated gloves นี่อุ่นกว่าถุงมือแบบไม่ heated แน่นอน</p>\n<p>ตอนนี้ก็ประมาณครึ่งทางของฤดูหนาวแล้ว อากาศที่ Netherlands ก็ไม่ค่อยจะหนาวมากแล้ว ส่วนใหญ่จะลมแรง และฝนตกมากกว่า เลยเริ่มกลับมาใส่แบบไม่ต้องใส่ถ่านแล้ว คงได้ใช้ถุงมือพวกนี้อีกทีก็หน้าหนาวหน้า</p>\n",
            "url": "https://www.llun.me/posts/ride/2024-02-04-heated-gloves",
            "title": "Heated gloves",
            "summary": "Heated gloves comparison between Ekoï, 30Seven and Outdoor research for cyling in the Netherlands",
            "date_modified": "2024-02-04T09:58:42.000Z"
        },
        {
            "id": "https://www.llun.me/posts/2024-01-07-campervan-slovenia",
            "content_html": "<p>ช่วงปลายปีวางแผนว่าจะหนีออกจาก Amsterdam/Netherlands เพราะว่าที่นี่เล่นพลุกันโหดมากและมีที่พักที่ Slovenia เลยได้เช่า Camper van กับเพื่อนหนีเที่ยวช่วงปีใหม่ แผนแรกคือกะขับแค่สองวัน เพื่อนบอกว่าบางคนแค่วันเดียวก็ถึง สุดท้ายจบที่ 3 วันต่อขาไม่งั้นเหนื่อยเกิน ระยะทางระหว่าง Amsterdam (Netherlands) - Litija (Slovenia) ประมาณ 1,200 กิโลเมตร ถ้าให้เทียบกับไทยก็ประมาณ กรุงเทพฯ - ยะลา (น่าจะเลยไปอีกถึงมาเลเซีย)</p>\n<iframe width='100%' height='600px' src=\"https://api.mapbox.com/styles/v1/llun/clr28o0h701b401pj612xbol0.html?title=false&access_token=pk.eyJ1IjoibGx1biIsImEiOiJjbWxzYmJxOGgwNDYyM2RzYmpzajJ0cG8yIn0.uylz6el9LxWirkubJMjKRw&zoomwheel=false#5.08/48.33/9.15\" title=\"New year 2024 trip\" style=\"border:none;\"></iframe>\n<h2 id=\"%E0%B8%A3%E0%B8%96%E0%B9%80%E0%B8%8A%E0%B9%88%E0%B8%B2\" tabindex=\"-1\">รถเช่า <a class=\"header-anchor\" href=\"#%E0%B8%A3%E0%B8%96%E0%B9%80%E0%B8%8A%E0%B9%88%E0%B8%B2\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p>รถที่เช่ารอบนี้เป็น <a href=\"https://roadsurfer.com/camper-van-rental/vw-california-ocean/\" target=\"_blank\" rel=\"noopener\">Volkswagen California T6.1</a> เช่าจาก <a href=\"https://roadsurfer.com\" target=\"_blank\" rel=\"noopener\">Roadsurfer</a> มีครัวและตู้เย็นพร้อม สามารถเปิดหลังคาขึ้นไปนอนได้ ทั้งคันนอนได้ประมาณ 4 คนแบบเบียดๆ หน่อย หน้าหนาวเวลานอนด้านบน ต้องเตรียมผ้าห่มอย่างหนาไปด้วย เพราะ Auxiliary heater มีแค่ในรถไม่มีต่อไปบนหลังคา (ส่วนหน้าร้อนนี่นึกไม่ออกเหมือนกันว่าจะเที่ยวยังไง เพราะรถตอนจอดไม่ติดเครื่องไม่มี AC)</p>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/volkswagen-california-t61.png\" alt=\"\"><figcaption>Volkswagen California T6.1 ที่เช่ารอบนี้</figcaption></figure>\n<p>ครัวเป็นเตาแก๊สมีสองเตาให้ใช้ ถ้าเที่ยวสองคนเรียกว่าเหลือเฟือ แถมบริษัทให้อุปกรณ์ครัวมาพร้อม มีหม้อ มีกระทะให้ ไม่ต้องเตรียมไปเอง ตู้เย็นที่มีก็เย็นพอสมควรแต่ใช้แบตเตอรี่จากในรถอยู่ได้ประมาณ 48 ชั่วโมง++ เปิดทั้งวันช่วงนี้ยังไงแบตเตอรี่ก็เหลือ</p>\n<p>นอกจากตู้เย็น กับเตาก็มีอ่างล้างจานที่รถมีถังเก็บน้ำสะอาดใส่ได้ประมาณ 30 ลิตร ถ้ากินเยอะ ล้างจานเยอะก็ต้องเติมน้ำบ่อยหน่อย ปั๊มน้ำแรงพอสำหรับล้างจาน แต่ถ้าจะใช้อาบน้ำ อาจจะไม่พอ shower นอกจากรถน้ำอ่อนมาก</p>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/volkswagen-kitchen.png\" alt=\"\"><figcaption>ครัวพร้อมตู้เย็นและที่เก็บของ</figcaption></figure>\n<h2 id=\"amsterdam-%E2%9E%A1%EF%B8%8F-litija\" tabindex=\"-1\">Amsterdam ➡️ Litija <a class=\"header-anchor\" href=\"#amsterdam-%E2%9E%A1%EF%B8%8F-litija\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p>ขาไปจาก Amsterdam นี่มือใหม่ขนของไปกับรถเยอะมาก พร้อมเช่าถังไว้เข้าห้องน้ำข้างทางได้ด้วย อาหารแห้งที่เตรียมไปคือบะหมี่กึ่งสำเร็จรูปเป็นสิบห่อกับน้ำ (มี Nespresso ที่ใช้มือปั๊ม!) และก็ของใช้ส่วนตัวอีกพอสมควร เรียกว่าส่วนใหญ่ไม่ได้ใช้ แต่เพราะเดินทางช่วงหยุดยาวเทศกาลปีใหม่ เลยเผื่อว่าร้านอาหารตามทางปิด แต่ส่วนใหญ่ก็ไม่ปิดกันโดยเฉพาะ ปั๊มน้ำมันข้างทางตาม highway หลักๆ</p>\n<h3 id=\"campervan-%E0%B8%A7%E0%B8%B1%E0%B8%99%E0%B9%81%E0%B8%A3%E0%B8%81\" tabindex=\"-1\">Campervan วันแรก <a class=\"header-anchor\" href=\"#campervan-%E0%B8%A7%E0%B8%B1%E0%B8%99%E0%B9%81%E0%B8%A3%E0%B8%81\" target=\"_blank\" rel=\"noopener\">#</a></h3>\n<p>วันแรกหลังจากขับมาประมาณ 500 กิโลเมตรก็จอดนอนแถว <a href=\"https://maps.app.goo.gl/TFNUiXhRjMrhk1he7\" target=\"_blank\" rel=\"noopener\">Dettelbach</a> เป็นจุดจอดรถสำหรับ Camper van ติดอยู่ริมน้ำ แต่วันที่ไปน้ำท่วมอยู่ ที่จอดส่วนใหญ่เลยปิด ไม่มีไฟให้ charge กับน้ำให้เติม แต่ถ้าไม่ต้องใช้ก็จอดพักได้ ใกล้ๆ มีปั๊มน้ำมันและ Lidl สามารถเดินไปซื้อของ เติมเสบียงและเข้าห้องน้ำได้</p>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/dettelbach.png\" alt=\"\"><figcaption>แม่น้ำช่วง Dettelbach ที่เอ่อล้นมา</figcaption></figure>\n<p>หลังจากจอดลองคืนแรกที่ Dettelbach สิ่งแรกที่รู้ว่าไม่พร้อมคือผ้าห่ม เพราะนอนบนหลังคาหนาวมากและผ้าห่มที่เตรียมมาเป็นแบบหนาหนึ่งผืน กับบางสำหรับหน้าร้อนหนึ่งผืน heater ด้านล่างไม่อุ่นห้องใต้หลังคาด้านบนหลับได้ไม่สนิท ส่วนเครื่องครัว ทำกับข้าวในรถไม่เป็นปัญหาเท่าไหร่ ในรถมีโต๊ะที่กางออกมาได้ และเก้าอี้ด้านหน้าสามารถหมุนหันมาที่โต๊ะได้ ทำกับข้าวกับกินข้าวง่ายกว่าที่คิด</p>\n<p>วันที่สองหลังจากออกจาก Dettelbach ถนนสาย A3 ระหว่าง Würzburg กับ Nuremberg มีทำถนนตลอดทาง ก็รู้หละว่าวันนี้คงไปไม่ถึง Ljubljana แน่ๆ เลยหาที่พักวันที่สองระหว่างในรถ เป้าหมายคือจุดพักระหว่าง Salzburg กับ Villach สุดท้ายได้จุดพักแถว Flachau</p>\n<h3 id=\"campervan-%E0%B8%A7%E0%B8%B1%E0%B8%99%E0%B8%97%E0%B8%B5%E0%B9%88%E0%B8%AA%E0%B8%AD%E0%B8%87\" tabindex=\"-1\">Campervan วันที่สอง <a class=\"header-anchor\" href=\"#campervan-%E0%B8%A7%E0%B8%B1%E0%B8%99%E0%B8%97%E0%B8%B5%E0%B9%88%E0%B8%AA%E0%B8%AD%E0%B8%87\" target=\"_blank\" rel=\"noopener\">#</a></h3>\n<p>Flachau, Austria เป็นจุดพักที่ไม่อยู่ในแผนแต่แรก และไม่มีข้อมูลว่าเป็นเมืองยังไง แต่ระหว่างหาจุดพักในรถและโทรหาที่พักแถวนั้น ทุกที่บอกเต็มหมด ยกเว้น Stellplatz ข้างร้านอาหารที่โทรมาแล้ว บอกว่ามาได้ แต่พอขับมาถึงที่จอดก็เกือบเต็มแล้ว</p>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/flachau-stellplatz.png\" alt=\"\"><figcaption>ที่จอดรถที่ Flachau วิวอลังการมาก ร้านอาหารที่จอดรถมีห้องน้ำให้ใช้</figcaption></figure>\n<p>สิ่งแรกที่ไม่ได้อยู่ในแผนคือหิมะ! Flachau เป็นเหมือนเมืองเล่น ski อากาศหนาวกว่าที่คิด (Jacket ที่ใส่อยู่ส่วนใหญ่จะเป็นแบบกันน้ำ กันหนาว สำหรับอากาศแบบ Amsterdam ที่ไม่หนาวมาก แต่กันฝนด้วย) แต่เนื่องจากไม่มีลมแรงเหมือน Amsterdam Jacket ที่เตรียมมาเลยเอาอยู่ แต่สิ่งที่ไม่อยู่ในแผนคือที่จอดรถตรง Camper van ส่วนใหญ่เป็นน้ำแข็งที่เดินไม่ได้ และไม่ได้เตรียท Ice cleats ที่ไว้ใส่รอบรองเท้ามา สุดท้ายไปหาซื้อค้อนในร้าน Penny store แถวนั้นมาทุบน้ำแข็งรอบๆ ทางขึ้นลงรถ ปีหน้าถ้ามาแบบนี้อีกคงเอา Ice cleats ติดรถไว้เผื่อมาจอดอะไรแบบนี้ (ร้านแถวนั้นไม่มีขาย Ice cleats)</p>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/flachau-ice-around-car.png\" alt=\"\"><figcaption>น้ำแข็งรอบรถ ถ้าลงไม่ดีนี่คือลื่นไปอยู่กับพื้น</figcaption></figure>\n<p>ส่วนตัวค่อนข้างชอบ Flachau เป็นเมืองเล็กๆ ที่สวยดีมีทางให้เดินแยกกับถนนหลัก และทางจักรยานให้ปั่นจักรยานเที่ยวรอบๆ ได้ (และแน่นอน ไม่ได้เตรียมจักรยานมารอบนี้) ถ้าปลายปีวางแผนมาอีก ก็อาจจะแวะที่นี่อีก</p>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/flachau-morning.png\" alt=\"\"><figcaption>ตื่นเช้าเดินไปในเมือง วิวนี้แทบอยากอยู่ต่อ</figcaption></figure>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/flachau-morning2.png\" alt=\"\"><figcaption>หิมะที่เห็นนี่แข็งหมดแล้ว แต่มันไม่ใช่น้ำแข็งแห้งเดินได้</figcaption></figure>\n<h2 id=\"ljubljana\" tabindex=\"-1\">Ljubljana <a class=\"header-anchor\" href=\"#ljubljana\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p>หลังจากออกจาก Flachau ไม่นาน ถนนช่วง Austria/Slovenia ดีกว่าช่วง Germany มาก รถไม่ขับกันโหดเท่า และรถไม่เยอะ ก็มาถึง Ljubljana เมืองหลวง Slovenia วันที่มาถึงมีงาน Concert กลางเมืองจัดงานปีใหม่พอดี คนแน่นมาก แต่โชคดีที่มาถึงก่อนที่คนจะเข้ากันมาเยอะ ที่จอดรถเลยว่างพอสมควร และจอดได้ไม่ยากเท่าไหร่</p>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/ljubljana-castle.png\" alt=\"\"><figcaption>Ljubljana castle กลางเมือง มาช่วงที่กำลังมีงาน Concert พอดี</figcaption></figure>\n<p>สัญลักษณ์ประจำเมือง Ljubljana เป็นปราสาทมีมังกรอยู่บนยอดเท่มาก และทุกอย่างในเมืองก็มีสัญลักษณ์มังกรเต็มไปหมด และมีสะพานมังกรที่ทุกคนต้องมาถ่ายรูป ในเมืองมีจักรยานของเมืองให้เช่า อาทิตย์ละ €1 เป็นจักรยานธรรมดาไว้ปั่นในเมือง แต่ถ้าอยากขึ้นเขาก็มีจักรยานไฟฟ้าให้เช่า ถ้าจะปั่นขึ้นปราสาทที่เป็นสัญลักษณ์ของเมือง แนะนำให้เช่าจักรยานไฟฟ้า เพราะทางขึ้นชันพอสมควร</p>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/ljubljana-alpes.png\" alt=\"\"><figcaption>วิวเมือง Ljubljana ที่ด้านหลังเป็นเทือกเข้า Julian Alpe</figcaption></figure>\n<h2 id=\"maribor\" tabindex=\"-1\">Maribor <a class=\"header-anchor\" href=\"#maribor\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p>เมืองใหญ่อันดับสองของ Slovenia ระหว่างทางมีผ่านหมู่บ้านที่ <a href=\"https://en.wikipedia.org/wiki/Primo%C5%BE_Rogli%C4%8D\" target=\"_blank\" rel=\"noopener\">Roglič</a> อยู่ด้วยมีป้ายขึ้น พร้อม stand ให้ถ่ายรูปเหมือนป้ายท่องเที่ยวในไทย ได้แวะลงไปถ่ายนิดนึง ถนนระหว่าง Litija กับ Maribor เป็นถนนเรียบแม่น้ำ Sava เส้นเล็กๆ แล้วขึ้นไป Highway</p>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/rolic-post.png\" alt=\"\"><figcaption>ป้ายให้ถ่ายรูปแถวหมู่บ้าน Roglič</figcaption></figure>\n<p>ใน Maribor มีจักรยานให้เช่าเหมือน Ljubljana เป็นระบบคล้ายกันที่ €1 ต่ออาทิตย์ เมือง Maribor ค่อนข้างเรียบไม่ต้องใช้จักรยานไฟฟ้าเท่าไหร่ แต่มาทางไปเนินเขาใกล้ๆที่เดินขึ้นไปชันพอสมควรแม้มีบันได</p>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/maribor-bridge.png\" alt=\"\"><figcaption>สะพานให้คนเดินข้ามใน Maribor</figcaption></figure>\n<p>ลงไปทางใต้ Maribor มี Ski resort กับ Mountain bike track แต่ไม่ได้เล่นไปถึงก็เย็นแล้วและช่วงนี้มืดเร็ว (4 โมงเย็นก็มืดแล้ว) เลยได้แค่กิน Pizza อยู่ด้านล่าง อีกอย่างอุณหภูมิไม่หนาวหิมะ ก็ตกไม่เยอลานสกีเลยมีหิมะเท่าไหร่</p>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/maribor-hill.png\" alt=\"\"><figcaption>เนินเข้าใกล้ๆ เมืองที่เดินขึ้นไปแล้วชมวิวเมืองทั้งหมดได้</figcaption></figure>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/maribor.png\" alt=\"\"><figcaption>Maribor centrum</figcaption></figure>\n<h2 id=\"litija-%E2%9E%A1%EF%B8%8F-amsterdam\" tabindex=\"-1\">Litija ➡️ Amsterdam <a class=\"header-anchor\" href=\"#litija-%E2%9E%A1%EF%B8%8F-amsterdam\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p>หลังจากพักอยู่ Slovenia มาอาทิตย์ก็ถึงเวลากลับ 🥲 รอบนี้รู้แล้วว่าขับสองวันไม่รอดแน่ๆ เลยหาจุดพักไว้มากกว่าเดิม แต่ขากลับมีแวะจุดท่องเที่ยวที่ทุกคนต้องมาที่ Slovenia ด้วย วันแรกเลยวางแผนว่าจะพักแถว Chiemsee</p>\n<h3 id=\"lake-bled\" tabindex=\"-1\">Lake Bled <a class=\"header-anchor\" href=\"#lake-bled\" target=\"_blank\" rel=\"noopener\">#</a></h3>\n<p>มา Slovenia แล้วไม่แวะทะเลสาบนี้เหมือนไม่ได้มา <a href=\"https://en.wikipedia.org/wiki/Lake_Bled\" target=\"_blank\" rel=\"noopener\">Bled</a> เป็นทะเลสาบที่อยู่ใกล้กับภูเขาที่เป็นสัญลักษณ์ในธงของ Slovenia, <a href=\"https://en.wikipedia.org/wiki/Triglav\" target=\"_blank\" rel=\"noopener\">Triglav</a> แต่วันที่ไปเมฆค่อนข้างเยอะเลยไม่ได้เห็นเทือกเขาหลังทะเลสาบเท่าไหร่ แต่โชคดีมากที่ฝนไม่ตก กลางทะเลสาบมีโบสถ์ที่สามารถนั่งเรือเข้าไปดูได้ เป็นโบสถ์อยู่บนเกาะเล็กๆ กลางทะเลสาบ แต่รอบนี้ไม่ได้นั่งเรือไปกลางทะเลสาบแค่เดินรอบๆ เท่านั้น</p>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/lake-bled-church.png\" alt=\"\"><figcaption>โบสถ์บนเกาะกลางน้ำ ในทะเลสาบ Bled</figcaption></figure>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/lake-bled-alpes.png\" alt=\"\"><figcaption>เทือกเขา Alpes หลังทะเลสาบ Bled</figcaption></figure>\n<h3 id=\"camper-van-%E0%B8%A7%E0%B8%B1%E0%B8%99%E0%B8%97%E0%B8%B5%E0%B9%88-3-%2B-%E0%B9%82%E0%B8%A3%E0%B8%87%E0%B9%81%E0%B8%A3%E0%B8%A1!\" tabindex=\"-1\">Camper van วันที่ 3 + โรงแรม! <a class=\"header-anchor\" href=\"#camper-van-%E0%B8%A7%E0%B8%B1%E0%B8%99%E0%B8%97%E0%B8%B5%E0%B9%88-3-%2B-%E0%B9%82%E0%B8%A3%E0%B8%87%E0%B9%81%E0%B8%A3%E0%B8%A1!\" target=\"_blank\" rel=\"noopener\">#</a></h3>\n<p>หลังจากออกจากทะเลสาบ Bled ก็ขับต่อมาที่ Stellplatz แรกในเยอรมณีแถว Chiemsee เป็นที่จอดรถ Camper Van ที่อยู่ในลาน Tennis มี facility ให้พร้อมทั้งห้องน้ำ, ห้องอาบน้ำ, น้ำดื่มและไฟฟ้าให้ charge camper van หลังจากจอดเสร็จก็ทำกับข้าวเปิดหลังคาเตรียมนอน แต่ลมพัดหลังคาแรงมาก หลังจากที่ดูพยากรณ์อากาศแล้วเพื่อนไม่มั่นใจว่าหลังคาจะเอาอยู่เลยหาโรงแรมอยู่แทน ถ้าลมวันนั้นไม่แรงคิดว่าคงได้อยู่ที่จอดรถตรงนั้นเพราะ facility ดีมาก รอบหน้าถ้ามาคงเช็คพยากรณ์อากาศก่อน ว่าลมในเมืองที่พักแรงขนาดไหน เพราะถ้าแรงมาก คงต้องไปเช่าโรงแรมพักอยู่ดี</p>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/austria-alpes.png\" alt=\"\"><figcaption>ขับข้าม Austria แล้วเทือกเขานี้อยู่ต่อหน้านี่อยากกลับมาอีก</figcaption></figure>\n<p>ออกจาก Chiemsee มาหาโรงแรมที่อยู่ใกล้ๆ ประมาณ 20 นาทีที่เมือง Rosenheim เป็นโรงแรมกลางเมืองที่มีที่จอดรอบๆ เยอะมากแต่ส่วนใหญ่ ความสูงจะประมาณ 1.9 เมตร ไม่พอสำหรับ Volkswagen California ที่สูงประมาณ 2 เมตร แต่ที่จอดรถที่สูงประมาณ 2.1 เมตรก็อยู่ไม่ไกล สุดท้ายได้พักที่โรงแรม Tryp กลางเมือง</p>\n<h3 id=\"camper-van-%E0%B8%A7%E0%B8%B1%E0%B8%99%E0%B8%97%E0%B8%B5%E0%B9%88-4%2C-nidderau\" tabindex=\"-1\">Camper van วันที่ 4, Nidderau <a class=\"header-anchor\" href=\"#camper-van-%E0%B8%A7%E0%B8%B1%E0%B8%99%E0%B8%97%E0%B8%B5%E0%B9%88-4%2C-nidderau\" target=\"_blank\" rel=\"noopener\">#</a></h3>\n<p>Stellplatz ที่ Nidderau นี่อยู่ห่างจาก Frankfurt มาหน่อย เป็นที่จอดรถที่อยู่กลางทุ่งนาแต่เดินไปในเมืองได้ประมาณ 20 นาที สองข้างทางมีโรงฝึกขี่ม้า กับเนินเขาให้ดูวิวเมือง ข้อเสียของที่จอดนี้มีอย่างเดียว ไม่มีห้องน้ำให้เข้า! ไม่เหมือน Stellplatz อื่นใน Trip นี้ที่ถ้าอยู่ไม่ไกลจากปั๊มน้ำมัน ก็มีห้องน้ำให้เข้า (Fluchau มีในร้านอาหาร, Chiemsee มีในยิม)</p>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/nidderau-centrum.png\" alt=\"\"><figcaption>กลางเมือง Niderau เงียบมาก แต่ทุกอย่างเปิดอย่างสว่าง</figcaption></figure>\n<p>แต่ถ้าไม่ต้องเข้าห้องน้ำ หรือทนได้เดินไปในเมืองก็มีร้านอาหารกับ super market ให้เข้าหรือไม่ก็ต้องมาหน้าร้อนหลังจากเดือนเมษายนที่ร้านอาหารที่อยู่ติดกับ Stellplatz จะเปิด</p>\n<figure><img src=\"https://www.llun.me/posts/2024-01-07-campervan-slovenia/stellplatz-farm.png\" alt=\"\"><figcaption>ตื่นเช้ามาอยู่กลางทุ่ง</figcaption></figure>\n<h2 id=\"%E0%B8%A3%E0%B8%AD%E0%B8%9A%E0%B8%AB%E0%B8%99%E0%B9%89%E0%B8%B2\" tabindex=\"-1\">รอบหน้า <a class=\"header-anchor\" href=\"#%E0%B8%A3%E0%B8%AD%E0%B8%9A%E0%B8%AB%E0%B8%99%E0%B9%89%E0%B8%B2\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p>หลังจาก Van trip รอบนี้คิดว่าปีหน้าถ้ามาแบบนี้อีกคงเที่ยวสนุกกว่านี้หละ มี list ที่คิดว่าจะเปลี่ยนจากรอบนี้คือ</p>\n<ul>\n<li>ห้องน้ำแบบพกพาไม่ต้องเช่า แวะเอาสะดวกกว่า ไม่ต้องทำความสะอาดด้วย Highway มีที่ให้จอดเยอะมาก</li>\n<li>เตรียม Crampons ไว้สำหรับเดินบนน้ำแข็งไว้ด้วย ถ้ามาหน้าหนาวหรือแวะพัก Stellplatz ในเมืองสำหรับเล่น Ski</li>\n<li>วางแผน Stellplatz ไว้เยอะๆ เลือกที่มีห้องน้ำใกล้ๆ เข้าไว้จะได้ไม่ลำบากเวลาฉุกเฉิน</li>\n<li>ทิ้ง Greywater,Blackwater ก่อนเข้ามาใน Netherlands เพราะ Netherlands มีที่ทิ้งน้ำเสียน้อยกว่ามาก</li>\n<li>อย่าเติมน้ำมันบน Highway แพง! (แต่น้ำมันใน Netherlands ถูกกว่าใน Germany)</li>\n<li>ดูพยากรณ์อากาศแถว Stellplatz ก่อนขับไปถึง ถ้าลมแรงหาโรงแรมแทน (ลมที่นี่อาจแรงถึง 80kph)</li>\n</ul>\n<p>เพื่อนบอกรอบหน้าลองไปหน้าร้อนดู แต่รถที่ให้เช่าส่วนใหญ่ไม่มี Auxiliary AC ก็ไม่รู้จะแย่แค่ไหน เพราะตอนนอนไม่มีแอร์หน้าร้อนแบบมี Heat wave นี่น่าจะลำบาก หรือไม่ก็ต้องเช่าโรงแรมเอา แต่ถ้าไปก็คงดูใกล้ๆ อีกที</p>\n",
            "url": "https://www.llun.me/posts/2024-01-07-campervan-slovenia",
            "title": "Campervan to Slovenia 2024 🇳🇱🇩🇪🇦🇹🇸🇮",
            "summary": "Campervan trip to slovenia during a new year, with stop at Dettelbach, Flachau, Ljubljana, Maribor, Bernau am Chiemsee, Rosenheim and Nidderau",
            "image": "https://www.llun.me/posts/2024-01-07-campervan-slovenia/lake-bled.png",
            "date_modified": "2024-01-07T15:39:47.000Z"
        },
        {
            "id": "https://www.llun.me/posts/2023-12-31-2023",
            "content_html": "<p>หลังจากปีที่แล้วย้ายประเทศจากสิงคโปร์ มาอยู่ Netherlands ปีนี้กะว่าจะไม่เปลี่ยนอะไรเยอะแบบนั้นแล้ว และจะเริ่มทำตัวชิว แต่หลายอย่างก็ไม่ชิวอย่างที่คิด กลายเป็นปีที่รู้สึกเหนื่อยกว่าที่คิดโดยเฉพาะเรื่องงาน เป็นปีที่เที่ยวเยอะมากไปมาหลายเมืองแต่รู้สึกจะจังหวะดีเจอช่วงที่ร้อนทุกรอบที่ไปเที่ยว ทั้ง Innsbruck, Paris, Berlin หรือ Slovenia ที่ร้อนกว่าปกติ ตั้งใจว่าจะพักแต่สุดท้ายก็ไม่ได้พักอย่างที่คิด แต่ก็ได้ลองอะไรหลายอย่างที่คิดว่าคงจะทำต่อปีหน้า</p>\n<h2 id=\"%E0%B8%88%E0%B8%B1%E0%B8%81%E0%B8%A3%E0%B8%A2%E0%B8%B2%E0%B8%99\" tabindex=\"-1\">จักรยาน <a class=\"header-anchor\" href=\"#%E0%B8%88%E0%B8%B1%E0%B8%81%E0%B8%A3%E0%B8%A2%E0%B8%B2%E0%B8%99\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p>ปีนี้ปั่นพอๆ กับที่ที่แล้ว ได้ปั่น<a href=\"https://www.strava.com/activities/9374299393\" target=\"_blank\" rel=\"noopener\">เส้นที่อยากปั่น</a>และไม่คิดว่าจะเปิด กับปั่นไปทิศตรงข้ามกับปีที่แล้ว ทั้ง Groningen และ Middelburg และได้ลองปั่นเส้นที่อยู่ในป่าช่วงปลายปีที่ไม่คิดว่าจะน่าปั่นกว่าที่คิด (แต่ช่วงหน้าหนาวนี่ปั่นยากหน่อยเพราะฝนตกบ่อย) หน้าร้อนปีหน้าคงไปเก็บเส้นพวกนั้นแทนเส้นปั่นหลัก</p>\n<h2 id=\"activity-pub-server\" tabindex=\"-1\">Activity Pub server <a class=\"header-anchor\" href=\"#activity-pub-server\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p>ยังทำอยู่อย่างช้าๆ เพราะปีนี้โดนหลายอย่างดึงความสนใจไปเยอะ ทั้งเรื่องงาน และเที่ยว ตอนแรกคิดว่าจะทำให้ support oauth ปีนี้เพราะจะได้ทำ API ให้ใช้กับ client mastodon ได้แต่ก็ไม่ได้ทำจนถึงปลายปี ไปทำให้ upload assets เข้า Object storage แทนก่อน เพราะ Apple เริ่ม block ไม่ให้ assets โหลดผ่าน CDN ได้แล้ว + feature เล็กๆ น้อยๆ ให้ตัวเองใช้เองสะดวกขึ้น และย้ายจาก NextJS Pages router ไป App Router ด้วย ปีหน้าก็หวังว่าจะมีเวลามาทำมากกว่าเดิมและ support Mastodon client เสียที</p>\n<h2 id=\"2024\" tabindex=\"-1\">2024 <a class=\"header-anchor\" href=\"#2024\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p>ปีหน้าหวังว่าจะชิวกว่าเดิม หลังๆรู้สึกว่าตัวเองเหนื่อยตลอดเวลา อาจจะเที่ยวน้อยลง แล้วก็หวังว่าจะป่วยน้อยกว่าปีนี้ ส่วนงานก็หวังว่าจะชิวกว่าเดิม แต่ก็ไม่ค่อยสนุกกับทีมที่อยู่เท่าไหร่เทียบกับปีที่แล้ว หวังแค่ว่าปีนี้ทีมจะดีขึ้น และเหนื่อยน้อยลง</p>\n",
            "url": "https://www.llun.me/posts/2023-12-31-2023",
            "title": "2023",
            "summary": "2023 year in review",
            "date_modified": "2023-12-31T16:46:06.000Z"
        },
        {
            "id": "https://www.llun.me/posts/dev/2023-10-27-cloud-services-in-2023",
            "content_html": "<p>Cloud services I use for my projects are getting more in number recently with distributed tracing and Redis that just added to my list. I start to forget what are the services I am using now.</p>\n<p>Most of the services I use are mostly Serverless, basically no fixed cost monthly and only pay for what you use e.g. by storage size, compute time or bandwidth. Only exception is Vercel which at some point I probably need to pay for team plan but at that point I might move out from Vercel too because it's quite steep jump from 0 to $20 a month. If it's $5 I probably pay it right now but still, there are so many options for function as a service too with less limitations compared to Vercel too.</p>\n<h2 id=\"services\" tabindex=\"-1\">Services <a class=\"header-anchor\" href=\"#services\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<ul>\n<li><strong>Function as a service, <a href=\"https://vercel.com/\" target=\"_blank\" rel=\"noopener\">Vercel</a></strong>, I don't use any container right now because of the fixed cost, cheapest from AWS Fargate spot prices is ~$3 per month, or other services will probably around $2.5 per month. With FAAS is usually lower than that depending on how many requests come to the service. With Vercel hobby plan, currently it's $0 per month.</li>\n<li><strong>Redis, <a href=\"https://upstash.com/\" target=\"_blank\" rel=\"noopener\">Upstash</a></strong>, This is for server requests cache at the moment that <a href=\"https://github.com/sindresorhus/got/blob/main/documentation/cache.md\" target=\"_blank\" rel=\"noopener\">Got</a> allow to use. It's quite useful for ActivityPub network that help reduce number of requests to the server which many times is unreliable. Upstash also have a queue service that can request to api, which I want to try too.</li>\n<li><strong>Grafana, <a href=\"https://grafana.com/\" target=\"_blank\" rel=\"noopener\">Grafana Cloud</a></strong>, They have the most generous cloud services for Logs and Distributed tracing collector. Dashboard is a bit hard to use and the location of the services are always in US (except you upgrade to Pro.) Currently I use it for trace with OpenTelemetry but other services also quite good except it's not integrated with Vercel yet.\n<br>\n<br>\nOther similar services I explored are, \\\n<ul>\n<li><a href=\"http://logz.io\" target=\"_blank\" rel=\"noopener\">logz.io</a>, the price is similar but for tracing it needs collector\\</li>\n<li><a href=\"http://baselime.io\" target=\"_blank\" rel=\"noopener\">baselime.io</a>, the calculation is different they use events/month compared to size of data like in Grafana, so it's more expensive but dashboard is better than Grafana and it doesn't need collector for tracing\\</li>\n<li><a href=\"http://axiom.co\" target=\"_blank\" rel=\"noopener\">axiom.co</a>, they have integration with Vercel and I used it for sometime. Logs exploring and dashboard is quite useful and they have tracing recently. Might revisit again.\\</li>\n<li><a href=\"https://cloud.google.com/trace\" target=\"_blank\" rel=\"noopener\">GCP Cloud Trace</a>, this is probably major cloud service that I looked at because I use Firebase as database and price is pay as you use.</li>\n</ul>\n</li>\n<li><strong>Email, <a href=\"https://resend.com/\" target=\"_blank\" rel=\"noopener\">Resend</a></strong>, I was plan to use AWS SES before. It's the cheapest option for email service except it needs to get approved by AWS too and making sure that email that send out is not going to get mark as spam (for email reputation.) Which for small, personal project. It's too much, so I ended up with resend which underneath is also SES service (They also have backup with other email senders.)</li>\n<li><strong>Database, <a href=\"https://firebase.google.com/\" target=\"_blank\" rel=\"noopener\">Firebase</a></strong>, Good and cheap database for a moment. Latency is not great, but it 's probably because the function is running outside GCP.</li>\n<li><strong>CDN, <a href=\"https://aws.amazon.com/cloudfront/\" target=\"_blank\" rel=\"noopener\">Cloudfront</a></strong>, This is probably not a cheapest option but because it shares with my blog and I already have cloud formation to automate it, so it will be as it is for now. Also with current traffic, the cost is not so bad too.</li>\n</ul>\n<h2 id=\"total-costs\" tabindex=\"-1\">Total costs <a class=\"header-anchor\" href=\"#total-costs\" target=\"_blank\" rel=\"noopener\">#</a></h2>\n<p>Total cost per month for ActivityPub service I run is below $1 currently, because most of the services are free (except the Cloudfront which is shared. So I don't use add that cost for now but it's also quite low and some optimisation that cut the traffic out of Vercel) and I still happy with it. For hobby project, using pay as you use is always cheaper but with more traffic this might not be the case and need a different calculation. Hopefully, it still in manageable level later.</p>\n",
            "url": "https://www.llun.me/posts/dev/2023-10-27-cloud-services-in-2023",
            "title": "Cloud services for my personal projects in 2023",
            "summary": "Cloud services I use for my projects are getting more in number recently with distributed tracing and Redis that just added to my list. I start to forget what are the services I am using now.",
            "date_modified": "2023-10-27T14:28:38.000Z"
        }
    ]
}