/images/avatar.webp

สร้างฐานข้อมูลเวกเตอร์ (Vector Database) ด้วย Milvus สำหรับข้อมูลร้านอาหาร - บทที่ 1

บทความนี้เป็นแนวทางสำหรับทดลองใช้งาน Milvus1 ซึ่งเป็นระบบ Vector Database แบบ Open Source (Apache License 2.0)2 ในบริบทของการแนะนำและค้นหาร้านอาหาร โดยใช้เทคนิคอย่างเช่น dense vector จาก Sentence Transformer

Using Ansible to Reset MikroTik and Apply Custom Bootstrap Script

🎯 Objective

This blog post shows you how to use Ansible to reset a MikroTik router to its factory settings and automatically apply a custom bootstrap configuration.

You’ll learn how to automate the process using Ansible and a .rsc script file for configuration, allowing you to easily customize and extend your MikroTik setup.

📝 Introduction

When working on a new MikroTik project, it’s often helpful to start from a clean configuration. Rather than manually resetting and reconfiguring the device, this guide walks you through an automated Ansible playbook that:

แปลงข้อมูล OpenStreetMap เป็น GeoJSON พร้อมเลือกเฉพาะพื้นที่ที่ต้องการ

บทความนี้จะสอนวิธีแปลงไฟล์ข้อมูลจาก OpenStreetMap (OSM) ให้อยู่ในรูปแบบ GeoJSON พร้อมทั้งเลือกเฉพาะบริเวณที่สนใจ เช่น จังหวัด หรือพื้นที่เฉพาะ ด้วยเครื่องมือ ogr2ogr 1 จาก GDAL 2

Enabling MikroTik REST API Over SSL Using Ansible

In this guide, we’ll show you how to enable the MikroTik REST API over SSL using Ansible 1. Starting from RouterOS v7.9, MikroTik officially supports SSL for the REST API 2.

We’ll break down the process into six simple steps:

  1. Set up a Python environment and install Ansible
  2. Test Ansible connectivity to the MikroTik router
  3. Generate a self-signed SSL certificate
  4. Enable the REST API with SSL
  5. Test the REST API with curl
  6. Automate SSL certificate renewal with a script

1. Set Up Python Environment and Install Ansible

Ansible is written in Python, so we’ll begin by creating an isolated Python virtual environment. This keeps dependencies contained and avoids conflicts with system-wide Python packages.

แสดงเส้นทางบนแผนที่ด้วย Open Source Routing Machine (OSRM)

บทความนี้แสดงวิธีติดตั้งและใช้งาน Open Source Routing Machine (OSRM) 1 ระบบโอเพ่นซอร์สสำหรับค้นหาเส้นทางบนแผนที่ โดยใช้ข้อมูลจาก OpenStreetMap (OSM) 2

เนื้อหาเน้นไปที่การตั้งค่า ระบบ OSRM ฝั่งเซิร์ฟเวอร์ (Backend) เพื่อให้สามารถคำนวณระยะทาง เวลาเดินทาง หรือเส้นทางที่เหมาะสมระหว่างพิกัดต่างๆ ได้ผ่าน REST API

Resolving Boto3 Checksum Issue with S3-Compatible Services

When using the Boto3 library with S3-compatible services e.g. Blackblaze B2, you might encounter the error: Unsupported header 'x-amz-checksum-mode' received for this API call

This happens because Boto3, by default, enables checksum validation specifically for Amazon S3. However, third-party providers like Backblaze B2 may not support certain checksum headers.

Backblaze B2’s documentation 1 lists unsupported checksum features, such as:

  • x-amz-checksum-crc32
  • x-amz-checksum-crc32c
  • x-amz-checksum-crc64nvme
  • x-amz-checksum-sha1
  • x-amz-checksum-sha256
  • x-amz-checksum-algorithm
  • x-amz-checksum-mode

To disable checksum validation in Boto3, you need to adjust the client configuration. The boto3 client can be constructed with the following settings: