{
  "site": {
    "title": "Michał Sobczak",
    "description": "Architecture | IT infrastructure | DevOps | Security | AI/ML",
    "url": "https://michalasobczak.pl",
    "author": "Michał Sobczak",
    "license": {
      "name": "CC BY-NC-ND 4.0",
      "url": "https://creativecommons.org/licenses/by-nc-nd/4.0/",
      "text": "All the content on this website is licensed under Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)."
    }
  },
  "generated": "2026-10-21T18:55:11.140Z",
  "posts": [
    {
      "title": "Rondo with Context Driven Development: building software with AI as a team",
      "url": "https://michalasobczak.pl/posts/rondo-with-context-driven-development-building-software-with-ai-as-a-team.html",
      "markdown": "https://michalasobczak.pl/posts/rondo-with-context-driven-development-building-software-with-ai-as-a-team.md",
      "published": "2026-10-20T13:02:27.000Z",
      "updated": "2026-10-20T13:02:27.000Z",
      "language": "en",
      "categories": [
        "Technology",
        "AI/ML"
      ],
      "tags": [
        "AI",
        "CDD",
        "Context-Driven-Development",
        "Rondo"
      ],
      "summary": "AI assistants now write a large share of the code in many teams. Yet delivery often doesn’t get faster. In Google’s DORA 2024 research, as AI adoption grew, individual productivity went up, while software delivery stability fell by an estimated 7.2% and throughput by 1.5%.",
      "reading_minutes": 3,
      "words": 590,
      "code_languages": []
    },
    {
      "title": "Frigate on ROCm in LXC container",
      "url": "https://michalasobczak.pl/posts/frigate-on-rocm-in-lxc-container.html",
      "markdown": "https://michalasobczak.pl/posts/frigate-on-rocm-in-lxc-container.md",
      "published": "2026-01-19T10:03:46.000Z",
      "updated": "2026-01-19T10:04:34.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "AI/ML",
        "Frigate"
      ],
      "summary": "I thought that the best option to run Frigate is to run bare metal and skip virtualization and system containers. However now situation changed a little bit as I was able to fire up Frigate on LXC container on Proxmox with little help of AMD ROCm hardware assisted video decryption.",
      "reading_minutes": 1,
      "words": 410,
      "code_languages": [
        "bash",
        "yaml"
      ]
    },
    {
      "title": "PV production metering using Huawei API integrated with Fibaro HC3 as QuickApp",
      "url": "https://michalasobczak.pl/posts/pv-production-metering-using-huawei-api-integrated-with-fibaro-hc3-as-quickapp.html",
      "markdown": "https://michalasobczak.pl/posts/pv-production-metering-using-huawei-api-integrated-with-fibaro-hc3-as-quickapp.md",
      "published": "2026-01-16T11:38:39.000Z",
      "updated": "2026-01-16T11:39:06.000Z",
      "language": "en",
      "categories": [
        "Technology",
        "Hobby"
      ],
      "tags": [
        "Fibaro",
        "Huawei",
        "Lua",
        "PV"
      ],
      "summary": "We are using Huawei PV installation on top of our house roof. It has web panel and application available to preview every detail about its settings and working conditions. However I would like to integrate PV power production into my Fibaro HC3.",
      "reading_minutes": 1,
      "words": 421,
      "code_languages": [
        "bash",
        "lua"
      ]
    },
    {
      "title": "LLM training parameters explanation",
      "url": "https://michalasobczak.pl/posts/llm-training-parameters-explanation.html",
      "markdown": "https://michalasobczak.pl/posts/llm-training-parameters-explanation.md",
      "published": "2025-10-25T13:07:52.000Z",
      "updated": "2025-10-25T13:10:54.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI/ML",
        "LLM",
        "ML",
        "MLX"
      ],
      "summary": "Quick overview of LLM MLX LORA training parameters. weight_decay A regularization technique that adds a small penalty to the weights during training to prevent them from growing too large, helping to reduce overfitting.",
      "reading_minutes": 1,
      "words": 165,
      "code_languages": []
    },
    {
      "title": "Full LLM fine-tuning using transformers, torch and accelerate with HF and GGUF",
      "url": "https://michalasobczak.pl/posts/full-llm-fine-tuning-using-transformers-torch-and-accelerate-with-hf-and-gguf.html",
      "markdown": "https://michalasobczak.pl/posts/full-llm-fine-tuning-using-transformers-torch-and-accelerate-with-hf-and-gguf.md",
      "published": "2025-10-24T16:50:38.000Z",
      "updated": "2025-10-24T16:50:38.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "GGUF",
        "HF",
        "LLM"
      ],
      "summary": "Full fine-tuning of mlx-community/Qwen2.5-3B-Instruct-bf16 Recently I posted article on how to train LORA MLX LLM here. Then I asked myself how can I export or convert such MLX model into HF or GGUF format.",
      "reading_minutes": 2,
      "words": 1471,
      "code_languages": [
        "json",
        "python",
        "bash",
        "yaml"
      ]
    },
    {
      "title": "Train LLM on Mac Studio using MLX framework",
      "url": "https://michalasobczak.pl/posts/train-llm-on-mac-studio-using-mlx-framework.html",
      "markdown": "https://michalasobczak.pl/posts/train-llm-on-mac-studio-using-mlx-framework.md",
      "published": "2025-10-08T08:09:02.000Z",
      "updated": "2025-10-08T08:12:52.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI/ML",
        "LLM",
        "LMStudio",
        "LORA",
        "MacStudio",
        "MLX",
        "Qwen"
      ],
      "summary": "I have done over 500 training sessions using Qwen2.5, Qwen3, Gemma and plenty other LLM publicly available to inject domain specific knowledge into the model’s low rank adapters (LORA). However, instead of giving you tons of unimportant facts I will just stick to the most important things.",
      "reading_minutes": 4,
      "words": 1223,
      "code_languages": [
        "yaml",
        "bash",
        "json"
      ]
    },
    {
      "title": "PBS: decryption failed or bad record mac",
      "url": "https://michalasobczak.pl/posts/pbs-decryption-failed-or-bad-record-mac.html",
      "markdown": "https://michalasobczak.pl/posts/pbs-decryption-failed-or-bad-record-mac.md",
      "published": "2025-09-27T07:23:57.000Z",
      "updated": "2025-09-27T07:23:57.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Proxmox",
        "Proxmox Backup Server"
      ],
      "summary": "During sync between two Proxmox Backup Server instances I got “decryption failed or bad record mac” error message. So I decided to go for upgrading source PBS to match its version with target PBS. PBS upgrade To upgrade PBS: Get rid of bookworm sources.",
      "reading_minutes": 1,
      "words": 160,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "interface name exceeds max length of 15",
      "url": "https://michalasobczak.pl/posts/interface-name-exceeds-max-length-of-15.html",
      "markdown": "https://michalasobczak.pl/posts/interface-name-exceeds-max-length-of-15.md",
      "published": "2025-09-15T09:16:15.000Z",
      "updated": "2025-09-15T09:16:15.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Debian"
      ],
      "summary": "Add “alias” to /etc/network/interfaces: And restart network interfaces.",
      "reading_minutes": 1,
      "words": 39,
      "code_languages": []
    },
    {
      "title": "YOLOx ONNX models use in Frigate",
      "url": "https://michalasobczak.pl/posts/yolox-onnx-models-use-in-frigate.html",
      "markdown": "https://michalasobczak.pl/posts/yolox-onnx-models-use-in-frigate.md",
      "published": "2025-09-04T05:59:53.000Z",
      "updated": "2025-09-04T06:50:59.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "Frigate",
        "ML",
        "ONNX",
        "YOLOx"
      ],
      "summary": "YOLOX is an anchor-free version of YOLO, with a simpler design but better performance! It aims to bridge the gap between research and industrial communities. For more details, please refer to our report on Arxiv. https://yolox.readthedocs.io/en/latest/demo/onnx_readme.html https://github.com/Megvii-BaseDetection/YOLOX/tree/main/demo/ONNXRuntime To configure this in Frigate:",
      "reading_minutes": 1,
      "words": 88,
      "code_languages": [
        "yaml"
      ]
    },
    {
      "title": "NVIDIA H264/H265 decoder/encoder monitoring",
      "url": "https://michalasobczak.pl/posts/nvidia-h264-h265-decoder-encoder-monitoring.html",
      "markdown": "https://michalasobczak.pl/posts/nvidia-h264-h265-decoder-encoder-monitoring.md",
      "published": "2025-08-13T07:00:30.000Z",
      "updated": "2025-08-13T07:00:30.000Z",
      "language": "en",
      "categories": [
        "Other"
      ],
      "tags": [],
      "summary": "You can use either –query-gpu option: Example output: Or dmon: Example output: With little explanation:",
      "reading_minutes": 1,
      "words": 67,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Resize TrueNAS drives",
      "url": "https://michalasobczak.pl/posts/resize-truenas-drives.html",
      "markdown": "https://michalasobczak.pl/posts/resize-truenas-drives.md",
      "published": "2025-08-10T17:51:45.000Z",
      "updated": "2025-08-10T17:51:45.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Debian",
        "Proxmox",
        "TrueNAS"
      ],
      "summary": "Imaging you are running TrueNAS virtualized and would like to resize drive increasing its capacity. Then reboot and new size should be visible in ZFS pool. It has ability to auto expand by default.",
      "reading_minutes": 1,
      "words": 41,
      "code_languages": []
    },
    {
      "title": "Generating AI video with FramePack",
      "url": "https://michalasobczak.pl/posts/generating-ai-video-with-framepack.html",
      "markdown": "https://michalasobczak.pl/posts/generating-ai-video-with-framepack.md",
      "published": "2025-04-30T10:59:14.000Z",
      "updated": "2025-04-30T11:00:01.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI"
      ],
      "summary": "Upload image, enter text prompt and press Start Generation. It is as easy as it looks like. So we take some pre-trained models, feed it with some text prompt and starting image and things happen on GPU side to generate frame by frame and merge it into motion picture.",
      "reading_minutes": 2,
      "words": 484,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "GPU pass-thru in Proxmox 7 and Ubuntu 20, follow-up",
      "url": "https://michalasobczak.pl/posts/gpu-pass-thru-in-proxmox-7-and-ubuntu-20-follow-up.html",
      "markdown": "https://michalasobczak.pl/posts/gpu-pass-thru-in-proxmox-7-and-ubuntu-20-follow-up.md",
      "published": "2025-04-25T07:23:41.000Z",
      "updated": "2025-04-25T07:23:41.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "GPU",
        "NVIDIA",
        "Proxmox",
        "Ubuntu"
      ],
      "summary": "In previous article about GPU pass-thru which can found here, I described how to setup things mostly from Proxmox perspective. However from VM perspective I would like to make a little follow-up, just to make things clear about it.",
      "reading_minutes": 1,
      "words": 121,
      "code_languages": []
    },
    {
      "title": "GitLab service desk with iRedMail: details",
      "url": "https://michalasobczak.pl/posts/gitlab-service-desk-with-iredmail-details.html",
      "markdown": "https://michalasobczak.pl/posts/gitlab-service-desk-with-iredmail-details.md",
      "published": "2025-04-23T08:38:01.000Z",
      "updated": "2025-04-23T08:38:01.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "iRedMail",
        "TLS"
      ],
      "summary": "In addition to my previous article about GitLab service desk feature with iRedMail I would like to enhance it a little bit my fixing some missing parts. Starting with connecting to PostgreSQL vmail database: Verifying mail server connectivity and TLS issues. GitLab (and iRedMail also) does not allow expired certificates.",
      "reading_minutes": 1,
      "words": 135,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Proxmox 7 pmxcfs failed: recovery without reboot",
      "url": "https://michalasobczak.pl/posts/proxmox-7-pmxcfs-failed-recovery-without-reboot.html",
      "markdown": "https://michalasobczak.pl/posts/proxmox-7-pmxcfs-failed-recovery-without-reboot.md",
      "published": "2025-04-15T15:09:36.000Z",
      "updated": "2025-04-15T15:09:36.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [],
      "summary": "Failing Proxmox node and unable to access /etc/pve means that you have broken pmxcf.",
      "reading_minutes": 1,
      "words": 85,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "pfSense 2.7.2 with Realtek 2.5GbE ethernet driver",
      "url": "https://michalasobczak.pl/posts/pfsense-2-7-2-with-realtek-2-5gbe-ethernet-driver.html",
      "markdown": "https://michalasobczak.pl/posts/pfsense-2-7-2-with-realtek-2-5gbe-ethernet-driver.md",
      "published": "2025-04-04T17:27:27.000Z",
      "updated": "2025-04-04T17:27:27.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "pfSense"
      ],
      "summary": "I got 2.5GbE PCI-e card, but no drivers present in pfSense installation. To list devices: There is this Realtek network card: But there is no driver enabled: I installed realtek-re-kmod-198.00_3 package.",
      "reading_minutes": 1,
      "words": 128,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Mattermost AI chatbot with image generation support from Automatic1111",
      "url": "https://michalasobczak.pl/posts/matermost-ai-chatbot-with-image-generation-support-from-automatic1111.html",
      "markdown": "https://michalasobczak.pl/posts/matermost-ai-chatbot-with-image-generation-support-from-automatic1111.md",
      "published": "2025-04-03T15:18:49.000Z",
      "updated": "2025-04-03T15:34:17.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI",
        "Mattermost",
        "Ollama",
        "WebUI"
      ],
      "summary": "How about AI chatbot integraton in you Mattermost server? With possiblity to generate images using StableDiffusion… So, here is my Indatify’s Mattermost server which I have been playing around for last few nights.",
      "reading_minutes": 1,
      "words": 283,
      "code_languages": []
    },
    {
      "title": "Configuring NVIDIA RTX A6000 ADA in Ubuntu 22",
      "url": "https://michalasobczak.pl/posts/configuring-nvidia-rtx-a6000-ada-in-ubuntu-22.html",
      "markdown": "https://michalasobczak.pl/posts/configuring-nvidia-rtx-a6000-ada-in-ubuntu-22.md",
      "published": "2025-03-25T09:41:22.000Z",
      "updated": "2025-03-25T09:41:22.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "A6000",
        "ADA",
        "NVIDIA",
        "Ubuntu"
      ],
      "summary": "I thought that installing NVIDIA RTX A6000 ADA in default Ubuntu 22 server installation would be an easy one. However, installing drivers from the repository made no good. I verified if secure boot is enable and no it was disabled.",
      "reading_minutes": 1,
      "words": 162,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "“You’re trying to frame the request as a documentary photograph”",
      "url": "https://michalasobczak.pl/posts/youre-trying-to-frame-the-request-as-a-documentary-photograph.html",
      "markdown": "https://michalasobczak.pl/posts/youre-trying-to-frame-the-request-as-a-documentary-photograph.md",
      "published": "2025-03-22T13:05:40.000Z",
      "updated": "2025-03-23T10:46:18.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI",
        "Automatic1111",
        "Gemma",
        "Ollama",
        "Stable Diffusion"
      ],
      "summary": "LLMs contain built-in policies for protecting minors, animals etc. Monkey eating sausage should be against policy. But it can be fooled and finally model stops complaining and describe what we want to. Tried: to generate funny/controversial pictures.",
      "reading_minutes": 3,
      "words": 620,
      "code_languages": []
    },
    {
      "title": "Code generation and artifacts preview with WebUI and codegemma:7b",
      "url": "https://michalasobczak.pl/posts/code-generation-and-artifacts-preview-with-webui-and-codegemma7b.html",
      "markdown": "https://michalasobczak.pl/posts/code-generation-and-artifacts-preview-with-webui-and-codegemma7b.md",
      "published": "2025-03-18T13:55:52.000Z",
      "updated": "2025-03-23T10:46:52.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI",
        "CodeGen",
        "Ollama",
        "Qwen",
        "WebUI"
      ],
      "summary": "Generate WebGL, Three.JS, HTML, CSS, JavaScript, no Python code, single page with rotating cube, ambient lighting. Load libraries from CDN. Let ambient lighting be as such cube edges are visible. add directional lighting also pointing at the cube. Scene needs to be navigable using arrow keys. Ensure browser compability.",
      "reading_minutes": 1,
      "words": 375,
      "code_languages": [
        "javascript"
      ]
    },
    {
      "title": "Ollama, WebUI, Automatic1111 – your own, personal, local AI from scratch",
      "url": "https://michalasobczak.pl/posts/ollama-webui-automatic1111-from-scratch.html",
      "markdown": "https://michalasobczak.pl/posts/ollama-webui-automatic1111-from-scratch.md",
      "published": "2025-03-18T11:15:30.000Z",
      "updated": "2025-03-23T10:47:04.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "Automatic1111",
        "Ollama",
        "WebUI"
      ],
      "summary": "My local toolbox was empty, now it’s full. Lately I have been writing about Ollama, WebUI and StableDiffusion on top of Automatic1111. I found myself struggling a little bit to keep up with all those information about how to run it in specific environments.",
      "reading_minutes": 1,
      "words": 469,
      "code_languages": [
        "bash",
        "ini"
      ]
    },
    {
      "title": "Custom Gemma AI system prompt to create own chatbot experience",
      "url": "https://michalasobczak.pl/posts/custom-gemma-ai-system-prompt-to-create-own-chatbot-experience.html",
      "markdown": "https://michalasobczak.pl/posts/custom-gemma-ai-system-prompt-to-create-own-chatbot-experience.md",
      "published": "2025-03-16T20:29:09.000Z",
      "updated": "2025-03-23T10:47:38.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI",
        "Gemma",
        "WebUI"
      ],
      "summary": "I want to create custom chatbot experience. I want to be based on Google’s Gemma AI Large Language Models. I find Gemma3, especially 27b version very capable while problem solving. It has been trained on such data that I find it interesting.",
      "reading_minutes": 2,
      "words": 347,
      "code_languages": []
    },
    {
      "title": "Single vs multiple GPU power load",
      "url": "https://michalasobczak.pl/posts/single-vs-multiple-gpu-power-load.html",
      "markdown": "https://michalasobczak.pl/posts/single-vs-multiple-gpu-power-load.md",
      "published": "2025-03-16T20:28:44.000Z",
      "updated": "2025-03-23T10:48:04.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "Gemma",
        "NVIDIA",
        "Ollama"
      ],
      "summary": "slight utlization drop when dealing with multi GPU setup TLDR Power usage and GPU utilization varies between single GPU models and multi GPU models. Deal with it.",
      "reading_minutes": 1,
      "words": 163,
      "code_languages": []
    },
    {
      "title": "Generate images with Stable Diffusion, Gemma and WebUI on NVIDIA GPUs",
      "url": "https://michalasobczak.pl/posts/generate-images-with-stable-diffusion-gemma-and-webui-on-nvidia-gpus.html",
      "markdown": "https://michalasobczak.pl/posts/generate-images-with-stable-diffusion-gemma-and-webui-on-nvidia-gpus.md",
      "published": "2025-03-15T15:23:57.000Z",
      "updated": "2025-03-23T10:48:27.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI",
        "CUDA",
        "Gemma",
        "NVIDIA",
        "Ollama",
        "Stable Diffusion",
        "WebUI"
      ],
      "summary": "With Ollama paired with Gemma3 model, Open WebUI with RAG and search capabilities and finally Automatic1111 running Stable Diffusion you can have quite complete set of AI features at home in a price of 2 consumer grade GPUs and some home electricity.",
      "reading_minutes": 2,
      "words": 522,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Run DeepSeek-R1:70b on CPU and RAM",
      "url": "https://michalasobczak.pl/posts/run-deepseek-r170b-on-cpu-and-ram.html",
      "markdown": "https://michalasobczak.pl/posts/run-deepseek-r170b-on-cpu-and-ram.md",
      "published": "2025-03-14T07:58:06.000Z",
      "updated": "2025-03-14T07:58:06.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI",
        "DeepSeek",
        "NVIDIA",
        "Ollama"
      ],
      "summary": "Utilize both CPU, RAM and GPU computational resources With Ollama you can use not only GPU but also CPU with regular RAM go run LLM models, like DeepSeek-R1:70b. Of course you need to have fast both CPU and RAM and have plenty of it.",
      "reading_minutes": 1,
      "words": 207,
      "code_languages": []
    },
    {
      "title": "Ollama with Open WebUI on 2 x RTX 3060 12 GB",
      "url": "https://michalasobczak.pl/posts/ollama-with-open-webui-on-2-x-rtx-3060-12-gb.html",
      "markdown": "https://michalasobczak.pl/posts/ollama-with-open-webui-on-2-x-rtx-3060-12-gb.md",
      "published": "2025-03-13T21:29:07.000Z",
      "updated": "2025-03-13T21:29:07.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI",
        "Exo",
        "NVIDIA",
        "Ollama"
      ],
      "summary": "Ollama with WebUI on 2 “powerful” GPUs feels like commercial GPTs online I thought that Exo would do the job and utilize both of my Lab servers. Unfortunately, it does not work on Linux/NVIDIA with my setup and following official documentation.",
      "reading_minutes": 2,
      "words": 529,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Exo: the GPU cluster (tinygrad | MLX)",
      "url": "https://michalasobczak.pl/posts/exo-the-gpu-cluster-tinygrad-mlx.html",
      "markdown": "https://michalasobczak.pl/posts/exo-the-gpu-cluster-tinygrad-mlx.md",
      "published": "2025-03-13T08:31:50.000Z",
      "updated": "2025-03-13T08:32:38.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI/ML",
        "Exo",
        "GPU",
        "Linux",
        "NVIDIA"
      ],
      "summary": "Theory: running AI workload spreaded across various devices using pipeline parallel inference In theory Exo provides a way to run memory heavy AI/LLM models workload onto many different devices spreading memory and computations across.",
      "reading_minutes": 5,
      "words": 1172,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Object detection and scene description: various libraries/frameworks tested lately",
      "url": "https://michalasobczak.pl/posts/object-detection-and-scene-description-various-libraries-frameworks-tested-lately.html",
      "markdown": "https://michalasobczak.pl/posts/object-detection-and-scene-description-various-libraries-frameworks-tested-lately.md",
      "published": "2025-03-13T08:26:00.000Z",
      "updated": "2025-03-16T07:03:04.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI",
        "Coral",
        "Frigate",
        "TensorRT"
      ],
      "summary": "No, cant use Tesla K20xm with 6GB VRAM for modern computation as it has Compute Capability parameter lower than required 7.0. Here you have table of my findings about libraries/frameworks, required hardware and its purpose.",
      "reading_minutes": 2,
      "words": 372,
      "code_languages": []
    },
    {
      "title": "Qwen LLM",
      "url": "https://michalasobczak.pl/posts/qwen-llm.html",
      "markdown": "https://michalasobczak.pl/posts/qwen-llm.md",
      "published": "2025-03-10T06:27:19.000Z",
      "updated": "2025-03-10T06:30:57.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI/ML",
        "Alibaba",
        "Qwen"
      ],
      "summary": "What is Qwen? This is the organization of Qwen, which refers to the large language model family built by Alibaba Cloud. In this organization, we continuously release large language models (LLM), large multimodal models (LMM), and other AGI-related projects. Check them out and enjoy! What models do they provide?",
      "reading_minutes": 2,
      "words": 508,
      "code_languages": [
        "python",
        "bash"
      ]
    },
    {
      "title": "Install Proxmox on Scaleway using Dell’s iDRAC",
      "url": "https://michalasobczak.pl/posts/install-proxmox-on-scaleway-using-dells-idrac.html",
      "markdown": "https://michalasobczak.pl/posts/install-proxmox-on-scaleway-using-dells-idrac.md",
      "published": "2025-03-10T06:24:37.000Z",
      "updated": "2025-03-10T06:24:37.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Dell",
        "iDRAC",
        "Proxmox",
        "Scaleway"
      ],
      "summary": "Last time (somewhere around 2023) there was an option on Scaleway to install Proxmox 7 directly from appliance. There was also possiblity to use Debian 11 and install Proxmox atop of it.",
      "reading_minutes": 1,
      "words": 76,
      "code_languages": []
    },
    {
      "title": "NVIDIA CC 7.0+: how to run Ollama/moondream:1.8b",
      "url": "https://michalasobczak.pl/posts/nvidia-cc-7-0-how-to-run-ollama-moondream1-8b.html",
      "markdown": "https://michalasobczak.pl/posts/nvidia-cc-7-0-how-to-run-ollama-moondream1-8b.md",
      "published": "2025-03-09T10:47:21.000Z",
      "updated": "2025-03-09T10:47:21.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI/ML",
        "GPU",
        "moondream",
        "Ollama"
      ],
      "summary": "Well, in one of the previous articles I described how to invoke Ollama/moondream:1.8b using cURL, however I forgot to tell how to even run it in Docker container. So here you go: You can specify to run particular model in background (-d) or in foreground (without parameter -d).",
      "reading_minutes": 1,
      "words": 239,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "OpenVINO in AI computer vision object detection (Frigate + OpenVINO)",
      "url": "https://michalasobczak.pl/posts/openvino-in-ai-computer-vision-object-detection-frigate-openvino.html",
      "markdown": "https://michalasobczak.pl/posts/openvino-in-ai-computer-vision-object-detection-frigate-openvino.md",
      "published": "2025-03-09T10:17:23.000Z",
      "updated": "2025-03-09T13:01:07.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI/ML",
        "Frigate",
        "OpenVINO"
      ],
      "summary": "What is OpenVINO? “Open-source software toolkit for optimizing and deploying deep learning models.” It is developed by Intel since 2018. It supports LLM, computer vision and generative AI. It runs on Windows, Linux and MacOS. As for Ubuntu, it is recommended to run on 22.04 LTS and higher.",
      "reading_minutes": 3,
      "words": 1025,
      "code_languages": [
        "bash",
        "yaml"
      ]
    },
    {
      "title": "Invoke ollama/moondream:1.8b using cURL",
      "url": "https://michalasobczak.pl/posts/invoke-ollama-moondream1-8b-using-curl.html",
      "markdown": "https://michalasobczak.pl/posts/invoke-ollama-moondream1-8b-using-curl.md",
      "published": "2025-03-07T12:21:33.000Z",
      "updated": "2025-03-09T10:20:33.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI/ML",
        "moondream",
        "Ollama"
      ],
      "summary": "Given this image: You would like to describe it using Ollama and moondream:1.8b model you can try cURL. First encode image in base64: Then prepare request: And finally invoke cURL pointing at your Ollama server running: In response you could get somehing like this:",
      "reading_minutes": 1,
      "words": 1474,
      "code_languages": [
        "bash",
        "json"
      ]
    },
    {
      "title": "Google Coral TPU and TensorRT (Frigate + NVIDIA GPU/TensorRT)",
      "url": "https://michalasobczak.pl/posts/google-coral-tpu-and-tensorrt.html",
      "markdown": "https://michalasobczak.pl/posts/google-coral-tpu-and-tensorrt.md",
      "published": "2025-02-26T08:49:01.000Z",
      "updated": "2025-03-09T10:18:13.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI/ML",
        "Coral",
        "Docker",
        "Frigate",
        "GPU",
        "ML",
        "TensorRT"
      ],
      "summary": "These are two majors which allow to run object detection models. Google Coral TPU is a physical module which can be in a form of USB stick. TensorRT is a feature of GPU runtime. Both allows to run detection models on them.",
      "reading_minutes": 3,
      "words": 769,
      "code_languages": [
        "yaml",
        "bash"
      ]
    },
    {
      "title": "AI video surveillance with DeepStack, Python and ZoneMinder",
      "url": "https://michalasobczak.pl/posts/ai-video-surveillance-with-deepstack-python-and-zoneminder.html",
      "markdown": "https://michalasobczak.pl/posts/ai-video-surveillance-with-deepstack-python-and-zoneminder.md",
      "published": "2025-02-16T10:56:18.000Z",
      "updated": "2025-02-16T10:56:18.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI",
        "DeepStack",
        "Python",
        "ZoneMinder"
      ],
      "summary": "For those using ZoneMinder and trying to figure out how to detect objects, there is deepquestai/deepstack AI model and builtin HTTP server. You can grab video frames by using ZoneMinder API or UI API: You need to specify address, monitor ID, user, password.",
      "reading_minutes": 2,
      "words": 893,
      "code_languages": [
        "bash",
        "python"
      ]
    },
    {
      "title": "Hetzner Cloud with pfSense gateway",
      "url": "https://michalasobczak.pl/posts/hetzner-cloud-with-pfsense-gateway.html",
      "markdown": "https://michalasobczak.pl/posts/hetzner-cloud-with-pfsense-gateway.md",
      "published": "2025-02-12T09:08:47.000Z",
      "updated": "2025-02-12T09:16:29.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Cloud",
        "Hetzner",
        "pfSense"
      ],
      "summary": "Instead of using dedicated Hetzner servers you can use their cloud solutions for less demanding use case scenarios. The idea is to have one server for pfSense and the other one for regular private use, hidden behind gateway.",
      "reading_minutes": 3,
      "words": 722,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Design and 3D-print wall switch in OpenSCAD",
      "url": "https://michalasobczak.pl/posts/design-and-print-wall-switch-in-openscad.html",
      "markdown": "https://michalasobczak.pl/posts/design-and-print-wall-switch-in-openscad.md",
      "published": "2025-02-06T12:07:27.000Z",
      "updated": "2025-02-06T12:11:48.000Z",
      "language": "en",
      "categories": [
        "Technology",
        "Hobby"
      ],
      "tags": [
        "3D",
        "OpenSCAD"
      ],
      "summary": "So we decided to try Zigbee wall switches and many of available brands work with Fibaro. But not all of them and not in all configurations. Even if some switch or module works it may only work with Tuya gateway and application and not with Fibaro gateway.",
      "reading_minutes": 1,
      "words": 176,
      "code_languages": []
    },
    {
      "title": "NextCloud 26 update failed",
      "url": "https://michalasobczak.pl/posts/nextcloud-update-failed.html",
      "markdown": "https://michalasobczak.pl/posts/nextcloud-update-failed.md",
      "published": "2025-02-06T07:49:11.000Z",
      "updated": "2025-02-06T07:50:04.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [],
      "summary": "I use NextCloud as alternative to Google Photos. My smartphone sends pictures over OpenVPN to my NextCloud instance. However for over a year Android application has been showing notification that server version is outdated, and from time to time automatic upload do not work.",
      "reading_minutes": 1,
      "words": 225,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Elasticsearch & Kibana: version 8.x installation",
      "url": "https://michalasobczak.pl/posts/elasticsearch-kibana-version-8-x-installation.html",
      "markdown": "https://michalasobczak.pl/posts/elasticsearch-kibana-version-8-x-installation.md",
      "published": "2025-02-04T14:43:04.000Z",
      "updated": "2025-02-04T14:43:04.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [],
      "summary": "At Indatify we use PostgreSQL for most of the time when dealing with data. We tried to use Cassandra, but for now it is too much of a constraint in such dynamic data environment. We put it on shelf.",
      "reading_minutes": 1,
      "words": 293,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Maxed-out HP z800 RAM: 384 GB of DDR3",
      "url": "https://michalasobczak.pl/posts/maxed-out-hp-z800-ram-384-gb-of-ddr3.html",
      "markdown": "https://michalasobczak.pl/posts/maxed-out-hp-z800-ram-384-gb-of-ddr3.md",
      "published": "2025-01-31T10:51:53.000Z",
      "updated": "2025-01-31T11:05:16.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Hardware",
        "Proxmox"
      ],
      "summary": "In our lab we have 2 x HP z800 workstations. It is somehow ridiculous piece of hardware in terms of today standards. It’s got over 1 kW power supply, dual CPU motherboard and 12 memory slots.",
      "reading_minutes": 2,
      "words": 530,
      "code_languages": []
    },
    {
      "title": "PostgreSQL streaming replication with physical replication slot",
      "url": "https://michalasobczak.pl/posts/postgresql-streaming-replication-with-physical-replication-slot.html",
      "markdown": "https://michalasobczak.pl/posts/postgresql-streaming-replication-with-physical-replication-slot.md",
      "published": "2025-01-24T11:52:44.000Z",
      "updated": "2025-01-24T11:52:57.000Z",
      "language": "en",
      "categories": [
        "Other"
      ],
      "tags": [],
      "summary": "Create dedicated replication user: Then add physical replication slot, in order to stay in sync with WAL.",
      "reading_minutes": 1,
      "words": 123,
      "code_languages": [
        "sql"
      ]
    },
    {
      "title": "Sentry: broken transactions section",
      "url": "https://michalasobczak.pl/posts/sentry-broken-transactions-section.html",
      "markdown": "https://michalasobczak.pl/posts/sentry-broken-transactions-section.md",
      "published": "2025-01-23T09:50:04.000Z",
      "updated": "2025-01-23T09:50:04.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Kafka",
        "Sentry"
      ],
      "summary": "Managing self-hosted Sentry is pretty straightforward. However due to high number of containers which Sentry is comprised of, there is high chance that we can encounter some kind of issues due to obvious nature of software development products which consists by definition some flaws.",
      "reading_minutes": 1,
      "words": 184,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "CentOS 7.9.2009 repository configuration",
      "url": "https://michalasobczak.pl/posts/centos-7-9-2009-repository-configuration.html",
      "markdown": "https://michalasobczak.pl/posts/centos-7-9-2009-repository-configuration.md",
      "published": "2025-01-21T11:15:29.000Z",
      "updated": "2025-01-21T11:15:29.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "CentOS"
      ],
      "summary": "As for year 2025 there is no more updates for CentOS 7.9.2009. Moreover you need to adjust repository file as network locations changed a little bit. So edit /etc/yum.repos.d/CentOS-Base.repo as follows: Then recreate yum cache: And if necessary: Now you are good to go with packages installation.",
      "reading_minutes": 1,
      "words": 198,
      "code_languages": [
        "ini",
        "bash"
      ]
    },
    {
      "title": "RPCEnvironment init request failed",
      "url": "https://michalasobczak.pl/posts/rpcenvironment-init-request-failed.html",
      "markdown": "https://michalasobczak.pl/posts/rpcenvironment-init-request-failed.md",
      "published": "2024-11-13T13:29:42.000Z",
      "updated": "2024-11-13T13:29:42.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Proxmox"
      ],
      "summary": "I thought of adding another Proxmox node to the cluster. Instead of having PBS on separate physical box I wanted to have it virtualized, same as on any other environment I setup. So I installed fresh copy of the same Proxmox VE version and tried to join the cluster.",
      "reading_minutes": 1,
      "words": 298,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Selective routing thru multiple pfSense and OpenVPN",
      "url": "https://michalasobczak.pl/posts/selective-routing-thru-multiple-pfsense-and-openvpn.html",
      "markdown": "https://michalasobczak.pl/posts/selective-routing-thru-multiple-pfsense-and-openvpn.md",
      "published": "2024-11-13T09:32:05.000Z",
      "updated": "2024-11-13T09:32:05.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "OpenVPN",
        "pfSense"
      ],
      "summary": "Lets say you want to pass traffic from your local container/VM via some external pfSense box. This way there is no need to setup VPN on each container you want to include in the setup.",
      "reading_minutes": 1,
      "words": 294,
      "code_languages": []
    },
    {
      "title": "OpenHAB failing to grab RTSP snapshots",
      "url": "https://michalasobczak.pl/posts/openhab-failing-to-grab-rtsp-snapshots.html",
      "markdown": "https://michalasobczak.pl/posts/openhab-failing-to-grab-rtsp-snapshots.md",
      "published": "2024-11-12T20:35:29.000Z",
      "updated": "2024-11-12T20:35:29.000Z",
      "language": "en",
      "categories": [
        "Hobby"
      ],
      "tags": [
        "OpenHAB",
        "Proxmox"
      ],
      "summary": "If you have OpenHAB on Proxmox or any other virtualization and it sometimes fails to grab RTSP stream and create snapshots, then there is high chance that everything is fine with the camera and network and the problem is within your server hardware.",
      "reading_minutes": 1,
      "words": 242,
      "code_languages": []
    },
    {
      "title": "IP2Location – complete IPv4 ranges ingestion",
      "url": "https://michalasobczak.pl/posts/ip2location-complete-ipv4-ranges-ingestion.html",
      "markdown": "https://michalasobczak.pl/posts/ip2location-complete-ipv4-ranges-ingestion.md",
      "published": "2024-11-05T09:26:10.000Z",
      "updated": "2024-11-05T09:35:03.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Cassandra",
        "Data Mining",
        "indatify",
        "PostgreSQL"
      ],
      "summary": "IP2Location is a IP address databases where you can find the latest IP to location associations. The complete IPv4 range is 4 294 967 296 addresses which is 32 bit. IP2Location contains 4 291 944 710 addresses which is a little less.",
      "reading_minutes": 1,
      "words": 324,
      "code_languages": []
    },
    {
      "title": "Cassandra performance tuning",
      "url": "https://michalasobczak.pl/posts/cassandra-performance-tuning.html",
      "markdown": "https://michalasobczak.pl/posts/cassandra-performance-tuning.md",
      "published": "2024-10-31T09:35:42.000Z",
      "updated": "2024-10-31T09:35:42.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Cassandra",
        "Docker",
        "Docker Swarm",
        "indatify",
        "Proxmox"
      ],
      "summary": "From 8k to 29k writes per second We took IP2Location version DB11 database. It holds few millions of IPv4 ranges which should unwrap onto over 2 billion addresses. Such number of entries is actually not a big deal for PostgreSQL RDBMS or Apache Cassandra distributed databases system.",
      "reading_minutes": 4,
      "words": 1121,
      "code_languages": [
        "sql",
        "python"
      ]
    },
    {
      "title": "Run Bielik LLM from SpeakLeash using LM Studio on your local machine",
      "url": "https://michalasobczak.pl/posts/run-bielik-llm-from-speakleash-using-lm-studio-on-your-local-machine.html",
      "markdown": "https://michalasobczak.pl/posts/run-bielik-llm-from-speakleash-using-lm-studio-on-your-local-machine.md",
      "published": "2024-10-21T11:12:49.000Z",
      "updated": "2024-10-21T11:14:22.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI",
        "LLM"
      ],
      "summary": "Did you know that you can use the Polish LLM Bielik from SpeakLeash locally, on your private computer? The easiest way to do this is LM Studio (from lmstudio.ai). Why use a model locally? Just for fun. Where we don’t have internet.",
      "reading_minutes": 1,
      "words": 172,
      "code_languages": []
    },
    {
      "title": "Recover pfSense 2.6 from kernal panic at ZFS freeing free segment",
      "url": "https://michalasobczak.pl/posts/recover-pfsense-2-6-from-kernal-panic-at-zfs-freeing-free-segment.html",
      "markdown": "https://michalasobczak.pl/posts/recover-pfsense-2-6-from-kernal-panic-at-zfs-freeing-free-segment.md",
      "published": "2024-10-21T09:40:07.000Z",
      "updated": "2024-10-21T09:40:07.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "pfSense"
      ],
      "summary": "Recently my pfSense running on the same hardware for almost 3 years, died. I tried rebooting it and removing RAM, cards etc, with no luck. So decided to bring it back from configuration backup onto new drive.",
      "reading_minutes": 1,
      "words": 154,
      "code_languages": []
    },
    {
      "title": "Casssandra: the introduction",
      "url": "https://michalasobczak.pl/posts/casssandra-the-introduction.html",
      "markdown": "https://michalasobczak.pl/posts/casssandra-the-introduction.md",
      "published": "2024-09-23T12:31:14.000Z",
      "updated": "2024-09-23T14:11:42.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Cassandra"
      ],
      "summary": "Distributed, partitioned, multi-master, increment horizontal scale-out NoSQL data manegement system for global mission-critical use cases handling petabyte sized datasets Dynamo, Amazon, Facebook, Apache… “Reliability at massive scale is one of the biggest challenges we face at Amazon“ source: “Dynamo: amazon’s highly available key-value store” In 2004 there have been…",
      "reading_minutes": 8,
      "words": 2030,
      "code_languages": [
        "bash",
        "sql",
        "python"
      ]
    },
    {
      "title": "PostgreSQL manual partitioning",
      "url": "https://michalasobczak.pl/posts/postgresql-manual-partitioning.html",
      "markdown": "https://michalasobczak.pl/posts/postgresql-manual-partitioning.md",
      "published": "2024-09-21T16:57:28.000Z",
      "updated": "2024-09-21T16:57:28.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "PostgreSQL"
      ],
      "summary": "Have you ever wondered how many tables can we create and use in PostgreSQL database server? Shall we call them partitions or shards? Why not to use built-in “automatic” partitioning? Partitions or shards? Lets first define the difference between partitions and shards.",
      "reading_minutes": 3,
      "words": 672,
      "code_languages": [
        "sql"
      ]
    },
    {
      "title": "About me",
      "url": "https://michalasobczak.pl/posts/about-me.html",
      "markdown": "https://michalasobczak.pl/posts/about-me.md",
      "published": "2024-09-15T21:18:10.000Z",
      "updated": "2024-11-12T20:35:55.000Z",
      "language": "en",
      "categories": [
        "Other"
      ],
      "tags": [],
      "summary": "Hello. I’m Michael, I’m IT professional and enthusiast. I graduated computer programming as well as economics at Szkoła Główna Handlowa in Warsaw. I’m author of 5 books concerning software design, development, quality assurance and performance.",
      "reading_minutes": 1,
      "words": 89,
      "code_languages": []
    },
    {
      "title": "Block AI web-scrapers from stealing your website content",
      "url": "https://michalasobczak.pl/posts/block-ai-web-scrapers-from-stealing-your-website-content.html",
      "markdown": "https://michalasobczak.pl/posts/block-ai-web-scrapers-from-stealing-your-website-content.md",
      "published": "2024-09-15T20:38:33.000Z",
      "updated": "2024-09-15T20:38:33.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI",
        "LLM",
        "NGINX"
      ],
      "summary": "Did you know that you may block AI-related web-scrapers from downloading your whole websites and actually stealing your content. This way LLM models will need to have different data source for learning process! Why you may ask?",
      "reading_minutes": 1,
      "words": 325,
      "code_languages": [
        "nginx"
      ]
    },
    {
      "title": "How to build computer inside computer?",
      "url": "https://michalasobczak.pl/posts/how-to-build-computer-inside-computer.html",
      "markdown": "https://michalasobczak.pl/posts/how-to-build-computer-inside-computer.md",
      "published": "2024-09-13T19:52:00.000Z",
      "updated": "2024-09-13T19:52:20.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "electricity",
        "HPC",
        "TINA"
      ],
      "summary": "Even wondered how computer is built? And no, I’m not talking about unscrewing your laptop… but exactly how the things happen inside the CPU. If so, then check out TINA from Texas Instruments and open my custom-made all-in-one computer. I spend few weeks preparing this schematic.",
      "reading_minutes": 1,
      "words": 169,
      "code_languages": []
    },
    {
      "title": "BLOOM LLM: how to use?",
      "url": "https://michalasobczak.pl/posts/bloom-llm-how-to-use.html",
      "markdown": "https://michalasobczak.pl/posts/bloom-llm-how-to-use.md",
      "published": "2024-09-12T20:07:15.000Z",
      "updated": "2024-09-12T20:07:15.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI",
        "BLOOM",
        "CUDA",
        "Generative",
        "GPU",
        "LLM",
        "Microsoft Azure",
        "OpenCL",
        "Python",
        "Transformers",
        "vLLM"
      ],
      "summary": "Asking BLOOM-560M “what is love?” it replies with “The woman who had my first kiss in my life had no idea that I was a man”. wtf?! Intro I’ve been into parallel computing since 2021, playing with OpenCL (you can read about it here), looking for maximizing devices capabilities.",
      "reading_minutes": 4,
      "words": 1275,
      "code_languages": [
        "bash",
        "python"
      ]
    },
    {
      "title": "Big-tech cloud vs competitors: price-wise",
      "url": "https://michalasobczak.pl/posts/big-tech-cloud-vs-competitors-price-wise.html",
      "markdown": "https://michalasobczak.pl/posts/big-tech-cloud-vs-competitors-price-wise.md",
      "published": "2024-09-11T20:04:18.000Z",
      "updated": "2024-09-11T20:04:18.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "AWS",
        "Azure",
        "DigitalOcean",
        "Hetzner",
        "Scaleway"
      ],
      "summary": "Imagine you would like run 2 x vCPU and 4 GB RAM virtual machine. Which service provider do you choose? Azure, AWS or Hetzner? With AWS you pay 65 USD (c5.large instance… and by the way why this is called large at all?).",
      "reading_minutes": 2,
      "words": 332,
      "code_languages": []
    },
    {
      "title": "Who’s got the biggest load average?",
      "url": "https://michalasobczak.pl/posts/whos-got-the-biggest-load-average.html",
      "markdown": "https://michalasobczak.pl/posts/whos-got-the-biggest-load-average.md",
      "published": "2024-09-11T19:51:41.000Z",
      "updated": "2024-09-11T20:03:34.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Debian",
        "Proxmox"
      ],
      "summary": "Ever wondered what can be the highest load average on the unix-like system? Do we even know what this parameter tells about? It shows the average number of either actively running or waiting processes.",
      "reading_minutes": 1,
      "words": 265,
      "code_languages": []
    },
    {
      "title": "Make Opera browser great again!",
      "url": "https://michalasobczak.pl/posts/make-opera-browser-great-again.html",
      "markdown": "https://michalasobczak.pl/posts/make-opera-browser-great-again.md",
      "published": "2024-09-09T20:04:10.000Z",
      "updated": "2024-09-09T20:04:10.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "Opera"
      ],
      "summary": "Get rid of ads and stop sending your data for free to Opera Little history My favourite browser was Opera for so many years. Between 2000 and 2005 it was adware showing, well… ads. In 2005 ads have been remove as the financing came from Google, Opera’s default search engine.",
      "reading_minutes": 5,
      "words": 1146,
      "code_languages": []
    },
    {
      "title": "Microsoft Azure AI Services: computer vision",
      "url": "https://michalasobczak.pl/posts/microsoft-azure-ai-services-computer-vision.html",
      "markdown": "https://michalasobczak.pl/posts/microsoft-azure-ai-services-computer-vision.md",
      "published": "2024-09-08T06:37:14.000Z",
      "updated": "2024-09-08T07:07:30.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI",
        "AI/ML",
        "Microsoft Azure"
      ],
      "summary": "Use Microsoft Azure AI Services to analyze images, voice, documents. No AI/ML or coding skills required. Responsible AI applies by EU AI act. Formerly Cognitive Services. Course of Action What is Microsoft Azure?",
      "reading_minutes": 3,
      "words": 825,
      "code_languages": [
        "bash",
        "javascript"
      ]
    },
    {
      "title": "1000 Docker containers in Swarm mode",
      "url": "https://michalasobczak.pl/posts/1000-docker-containers-in-swarm-mode.html",
      "markdown": "https://michalasobczak.pl/posts/1000-docker-containers-in-swarm-mode.md",
      "published": "2024-09-07T17:31:05.000Z",
      "updated": "2024-09-07T17:31:05.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Docker",
        "Docker Swarm"
      ],
      "summary": "I defined Docker Swarm cluster with 20 nodes and created service using Nginx HTTP server Docker image. I scaled it to 1000 container instances, which took a while on my demo hardware.",
      "reading_minutes": 1,
      "words": 160,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Deploy 20 x Docker Swarm nodes using Terraform and Ansible",
      "url": "https://michalasobczak.pl/posts/deploy-20-x-docker-swarm-nodes-using-terraform-and-ansible.html",
      "markdown": "https://michalasobczak.pl/posts/deploy-20-x-docker-swarm-nodes-using-terraform-and-ansible.md",
      "published": "2024-09-07T15:17:21.000Z",
      "updated": "2024-09-07T16:05:20.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Ansible",
        "Docker",
        "Docker Swarm",
        "Terraform",
        "Ubuntu"
      ],
      "summary": "If you wonder how to automatically deploy 20 nodes of Docker Swarm and run 100 Docker containers in it, then continue reading. I will show how to achieve this by using Terraform, Ansible and Portainer.",
      "reading_minutes": 6,
      "words": 1699,
      "code_languages": [
        "hcl",
        "bash",
        "ini",
        "yaml"
      ]
    },
    {
      "title": "Use Packer & Terraform to generate Ubuntu 22.04-4 server image and deploy it automatically to Proxmox",
      "url": "https://michalasobczak.pl/posts/use-packer-terraform-to-generate-ubuntu-22-04-4-server-image-and-deploy-it-automatically-to-proxmox.html",
      "markdown": "https://michalasobczak.pl/posts/use-packer-terraform-to-generate-ubuntu-22-04-4-server-image-and-deploy-it-automatically-to-proxmox.md",
      "published": "2024-09-06T12:12:26.000Z",
      "updated": "2024-09-06T20:09:30.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Packer",
        "Proxmox",
        "Terraform",
        "Ubuntu"
      ],
      "summary": "If you wonder how to automate Ubuntu virtual machine creation and then deploy it to Proxmox in multple copies, then you are looking for Packer and Terraform. Side note: going for virtual machines in Proxmox is the proper way.",
      "reading_minutes": 5,
      "words": 1833,
      "code_languages": [
        "bash",
        "yaml",
        "ini",
        "hcl"
      ]
    },
    {
      "title": "Video playback not working on LinkedIn in Opera on Ubuntu 22",
      "url": "https://michalasobczak.pl/posts/video-playback-not-working-on-linkedin-in-opera-on-ubuntu-22.html",
      "markdown": "https://michalasobczak.pl/posts/video-playback-not-working-on-linkedin-in-opera-on-ubuntu-22.md",
      "published": "2024-09-04T19:59:17.000Z",
      "updated": "2024-09-04T19:59:17.000Z",
      "language": "en",
      "categories": [
        "Hobby"
      ],
      "tags": [
        "Opera",
        "Ubuntu"
      ],
      "summary": "On fresh installation of Ubuntu 22, using Opera for video playback can be an issue. So even after installing all things that you may think it could help – it does not work. The solution is to install chromium-ffmpeg and copy its libffmpeg.so library into Opera installation folder.",
      "reading_minutes": 1,
      "words": 100,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "NIS 2: anti-rootkit & anti-virus installation and scanning with Ansible",
      "url": "https://michalasobczak.pl/posts/nis-2-anti-rootkit-anti-virus-installation-and-scanning-with-ansible.html",
      "markdown": "https://michalasobczak.pl/posts/nis-2-anti-rootkit-anti-virus-installation-and-scanning-with-ansible.md",
      "published": "2024-09-02T15:22:29.000Z",
      "updated": "2024-09-02T15:30:55.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "Ansible",
        "ClamAV",
        "Ethical Hacking",
        "NIS2",
        "Proxmox",
        "rkhunter"
      ],
      "summary": "If you run digital services platform or critical infrastructure then most probably you are covered by NIS 2 and its requirements including those concerning information security.",
      "reading_minutes": 9,
      "words": 2644,
      "code_languages": [
        "bash",
        "ini",
        "yaml"
      ]
    },
    {
      "title": "Enterprise Architecture: modelling ArchiMate with Archi",
      "url": "https://michalasobczak.pl/posts/enterprise-architecture-modelling-archimate-with-archi.html",
      "markdown": "https://michalasobczak.pl/posts/enterprise-architecture-modelling-archimate-with-archi.md",
      "published": "2024-08-28T10:20:58.000Z",
      "updated": "2024-09-15T20:50:11.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Archi",
        "ArchiMate",
        "Architecture",
        "NIS2"
      ],
      "summary": "The article explores the use of ArchiMate, a modeling language, for enterprise architecture, focusing on its application through the Archi tool. ArchiMate offers a structured approach to modeling complex IT systems by providing various layers such as motivation, strategy, business, and technology.",
      "reading_minutes": 6,
      "words": 1338,
      "code_languages": []
    },
    {
      "title": "Private cloud for 50€ (Hetzner, Proxmox, pfSense, HAProxy, Docker Swarm, Portainer, Suricata, PBS)",
      "url": "https://michalasobczak.pl/posts/private-cloud.html",
      "markdown": "https://michalasobczak.pl/posts/private-cloud.md",
      "published": "2024-08-12T07:50:03.000Z",
      "updated": "2024-09-15T20:50:24.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "HAProxy",
        "Hetzner",
        "pfSense",
        "Proxmox",
        "Proxmox Backup Server",
        "Suricata",
        "Ubuntu"
      ],
      "summary": "Create secure, high-performance, affordable environment for your container applications using Hetzner dedicated servers.For around 50€ per month. This setup can also be done using different server providers, both dedicated and shared, even on public cloud. This tutorial has not been sponsored by Hetzner or any other software vendors.",
      "reading_minutes": 19,
      "words": 4181,
      "code_languages": []
    },
    {
      "title": "Making Satel Opal Plus motion sensor wireless with Fibaro Smart Implant",
      "url": "https://michalasobczak.pl/posts/making-satel-opal-plus-motion-sensor-wireless-with-fibaro-smart-implant.html",
      "markdown": "https://michalasobczak.pl/posts/making-satel-opal-plus-motion-sensor-wireless-with-fibaro-smart-implant.md",
      "published": "2024-06-29T20:23:28.000Z",
      "updated": "2025-02-27T19:45:22.000Z",
      "language": "en",
      "categories": [
        "Hobby",
        "Security"
      ],
      "tags": [
        "Fibaro",
        "HC3",
        "IoT"
      ],
      "summary": "It is possible to make wire based motion sensor from Satel, wireles using Zwave network. Satel Opal, Opal Plus and Opal Pro have similar case which can hold additional module of Fibaro Smart Implant.",
      "reading_minutes": 2,
      "words": 396,
      "code_languages": [
        "lua"
      ]
    },
    {
      "title": "Fibaro Home Center 3 vs OpenHAB",
      "url": "https://michalasobczak.pl/posts/fibaro-home-center-3-vs-openhab.html",
      "markdown": "https://michalasobczak.pl/posts/fibaro-home-center-3-vs-openhab.md",
      "published": "2024-06-29T19:47:27.000Z",
      "updated": "2024-08-29T08:16:37.000Z",
      "language": "en",
      "categories": [
        "Hobby"
      ],
      "tags": [
        "Fibaro",
        "HC3",
        "IoT",
        "OpenHAB"
      ],
      "summary": "Recently we’ve ordered Fibaro’s HC3 as a replacement for OpenHAB. First because it has integration with Satel alarm system and second that it has native Zigbee support next to default Zwave. OpenHAB also has support for Satel and by using external adapter you can connect Zigbee devices too.",
      "reading_minutes": 2,
      "words": 404,
      "code_languages": []
    },
    {
      "title": "Fixing Ubuntu 22 camera recording",
      "url": "https://michalasobczak.pl/posts/fixing-ubuntu-22-camera-recording.html",
      "markdown": "https://michalasobczak.pl/posts/fixing-ubuntu-22-camera-recording.md",
      "published": "2024-06-29T12:04:18.000Z",
      "updated": "2024-08-29T08:20:28.000Z",
      "language": "en",
      "categories": [
        "Hobby"
      ],
      "tags": [
        "Ubuntu"
      ],
      "summary": "I tried to record video on my Dell G15 laptop using built-in camera. Unfortunately, by default it does not work. I tried Cheese and Webcamoid using several different settings. Cheese did not work with both built-in and external camera. Webcamoid worked with external camera only.",
      "reading_minutes": 1,
      "words": 115,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Turn on/off Samsung SmartThings A/C from Fibaro HC3",
      "url": "https://michalasobczak.pl/posts/turn-on-off-samsung-smartthings-a-c-from-fibaro-hc3.html",
      "markdown": "https://michalasobczak.pl/posts/turn-on-off-samsung-smartthings-a-c-from-fibaro-hc3.md",
      "published": "2024-06-27T16:49:01.000Z",
      "updated": "2024-08-29T08:16:50.000Z",
      "language": "en",
      "categories": [
        "Hobby"
      ],
      "tags": [
        "Fibaro",
        "IoT"
      ],
      "summary": "In order to integrate your SmartThings devices into Fibaro HC3 you need to create access token and review API documention which can be found here: https://developer.smartthings.com/docs/api/public#tag/Devices/operation/getDevices Then, to send on or off command to your device, grab its UUID, create QuickApp with the following code:",
      "reading_minutes": 1,
      "words": 120,
      "code_languages": [
        "lua"
      ]
    },
    {
      "title": "Recovering Sentry from disk full state",
      "url": "https://michalasobczak.pl/posts/recovering-sentry-from-disk-full-state.html",
      "markdown": "https://michalasobczak.pl/posts/recovering-sentry-from-disk-full-state.md",
      "published": "2024-06-27T10:42:57.000Z",
      "updated": "2024-06-27T10:42:57.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Docker",
        "Redis",
        "Sentry"
      ],
      "summary": "If you have Sentry on-premise installed and run out of space, then bringing it back can be a little bit tricky. Especially if you have tons of projects configured with loads of data coming into it.",
      "reading_minutes": 1,
      "words": 111,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Connecting WiZ LED lights to Fibaro HC3",
      "url": "https://michalasobczak.pl/posts/connecting-wiz-led-lights-to-fibaro-hc3.html",
      "markdown": "https://michalasobczak.pl/posts/connecting-wiz-led-lights-to-fibaro-hc3.md",
      "published": "2024-06-27T10:38:24.000Z",
      "updated": "2024-08-29T08:16:59.000Z",
      "language": "en",
      "categories": [
        "Hobby"
      ],
      "tags": [
        "Fibaro",
        "IoT",
        "WiZ"
      ],
      "summary": "In popular DIY markets you can buy Philips WiZ LED light bulbs. They are affordable choice over Hue lights. WiZ lights operate thru WiFi connection and can be integrated easily within OpenHAB system as a wizlighting binding coming from marketplace.",
      "reading_minutes": 1,
      "words": 259,
      "code_languages": [
        "bash",
        "json",
        "lua"
      ]
    },
    {
      "title": "E-mail Service Desk with self-hosted GitLab EE and iRedMail",
      "url": "https://michalasobczak.pl/posts/e-mail-service-desk-with-self-hosted-gitlab-ee-and-iredmail.html",
      "markdown": "https://michalasobczak.pl/posts/e-mail-service-desk-with-self-hosted-gitlab-ee-and-iredmail.md",
      "published": "2024-05-21T12:42:41.000Z",
      "updated": "2024-05-21T12:43:14.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "GitLab",
        "iRedMail"
      ],
      "summary": "In order to process incoming e-mail messages as issues registered in GitLab you need to have catch-all mailbox and GitLab configured to handle it. However, there are few quirks you need to know when setting it up. Assuming you have GitLab installed as well as iRedMail.",
      "reading_minutes": 2,
      "words": 419,
      "code_languages": [
        "sql",
        "bash"
      ]
    },
    {
      "title": "Encrypt with LUKS an unencrypted LVM Ubuntu 22 Server without system reinstallation",
      "url": "https://michalasobczak.pl/posts/encrypt-with-luks-an-unencrypted-lvm-ubuntu-22-server-without-system-reinstallation.html",
      "markdown": "https://michalasobczak.pl/posts/encrypt-with-luks-an-unencrypted-lvm-ubuntu-22-server-without-system-reinstallation.md",
      "published": "2024-05-14T20:49:41.000Z",
      "updated": "2024-08-29T08:21:39.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "LUKS",
        "LVM",
        "Proxmox",
        "Security",
        "Ubuntu"
      ],
      "summary": "Keep your data safe. Device loss or unauthorized access can be mitigated by encrypting drive in your server and workstation. So you may have a Ubuntu Linux installation on your bare metal or virtual machine. Does it have an encrypted drive?",
      "reading_minutes": 3,
      "words": 960,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "External and redundand Azure VM backups with Veeam to remote site",
      "url": "https://michalasobczak.pl/posts/external-and-redundand-azure-vm-backups-with-veeam-to-remote-site.html",
      "markdown": "https://michalasobczak.pl/posts/external-and-redundand-azure-vm-backups-with-veeam-to-remote-site.md",
      "published": "2024-05-10T08:08:05.000Z",
      "updated": "2024-08-29T08:21:46.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "Backup",
        "Microsoft Azure",
        "Proxmox",
        "Veeam"
      ],
      "summary": "Backup is a must. Primary hardware fails. Local backups can also fail or can be inaccessible.",
      "reading_minutes": 4,
      "words": 847,
      "code_languages": []
    },
    {
      "title": "BPMN process modeling with Bonita Studio",
      "url": "https://michalasobczak.pl/posts/bpmn-process-modeling-with-bonita-studio.html",
      "markdown": "https://michalasobczak.pl/posts/bpmn-process-modeling-with-bonita-studio.md",
      "published": "2024-04-11T07:41:47.000Z",
      "updated": "2024-04-11T07:41:47.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Bonita",
        "ITIL",
        "Process Management"
      ],
      "summary": "Building applications to do things better leads to operational excellence. And using digital tools and applications across the enterprise to do business differently – to enable innovation and creativity – leads to strategic advantage.",
      "reading_minutes": 4,
      "words": 944,
      "code_languages": []
    },
    {
      "title": "Recovering Proxmox VM from failed HDD",
      "url": "https://michalasobczak.pl/posts/recovering-proxmox-vm-from-failed-hdd.html",
      "markdown": "https://michalasobczak.pl/posts/recovering-proxmox-vm-from-failed-hdd.md",
      "published": "2024-02-23T08:29:47.000Z",
      "updated": "2024-08-29T08:22:12.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "Debian",
        "Linux",
        "Proxmox"
      ],
      "summary": "Due to previous failure of SSD drive from Goodram I was forced to use brand new 1TB HDD from Toshiba. It was not a problem because the system running on it mainly have been using writes with not too much reads.",
      "reading_minutes": 2,
      "words": 390,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Create own shorcut icon in Ubuntu 22 panel",
      "url": "https://michalasobczak.pl/posts/create-own-shorcut-icon-in-ubuntu-22-panel.html",
      "markdown": "https://michalasobczak.pl/posts/create-own-shorcut-icon-in-ubuntu-22-panel.md",
      "published": "2024-02-11T11:43:12.000Z",
      "updated": "2024-08-29T08:20:43.000Z",
      "language": "en",
      "categories": [
        "Hobby"
      ],
      "tags": [
        "Ubuntu"
      ],
      "summary": "If you want to run some curl on icon click from Ubuntu 22 panel, then you need to create file in ~/.local/share/applications: Then after few seconds, press special key (aka Windows key) and type your “application” name.",
      "reading_minutes": 1,
      "words": 78,
      "code_languages": [
        "ini"
      ]
    },
    {
      "title": "chromium downloader for MacOS 10.8.5",
      "url": "https://michalasobczak.pl/posts/chromium-downloader-for-macos-10-8-5.html",
      "markdown": "https://michalasobczak.pl/posts/chromium-downloader-for-macos-10-8-5.md",
      "published": "2024-02-11T10:28:51.000Z",
      "updated": "2024-08-29T08:17:12.000Z",
      "language": "en",
      "categories": [
        "Hobby"
      ],
      "tags": [
        "Apple",
        "Vintage Computing"
      ],
      "summary": "If you happen to have MacBookPro3,1 with Intel Core 2 Duo 2.2Hz DDR2 SDRAM with MacOS 10.8.5 on board then you probably wonder if there is a chance to access internet with modern browser. Yes, now you can with chromium downloader for chromium-legacy.",
      "reading_minutes": 1,
      "words": 154,
      "code_languages": []
    },
    {
      "title": "Seperate Proxmox node from cluster",
      "url": "https://michalasobczak.pl/posts/seperate-proxmox-node-from-cluster.html",
      "markdown": "https://michalasobczak.pl/posts/seperate-proxmox-node-from-cluster.md",
      "published": "2024-01-14T15:19:17.000Z",
      "updated": "2024-01-14T15:19:17.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Proxmox"
      ],
      "summary": "In order to separate Proxmox node from cluster:",
      "reading_minutes": 1,
      "words": 37,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Nested virtualization on Proxmox 7.4",
      "url": "https://michalasobczak.pl/posts/nested-virtualization-on-proxmox-7-4.html",
      "markdown": "https://michalasobczak.pl/posts/nested-virtualization-on-proxmox-7-4.md",
      "published": "2024-01-12T11:54:49.000Z",
      "updated": "2024-01-14T15:19:05.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Proxmox"
      ],
      "summary": "If you would like to run virtual machine inside another virtual machine, then you need to have CPU with nested virtualization feature and this feature needs to be enabled.",
      "reading_minutes": 1,
      "words": 157,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Bash controlled Raspberry Pi 3B relay hat",
      "url": "https://michalasobczak.pl/posts/bash-controlled-raspberry-pi-3b-relay-hat.html",
      "markdown": "https://michalasobczak.pl/posts/bash-controlled-raspberry-pi-3b-relay-hat.md",
      "published": "2023-12-13T08:12:32.000Z",
      "updated": "2024-08-29T08:17:19.000Z",
      "language": "en",
      "categories": [
        "Hobby"
      ],
      "tags": [
        "Automation",
        "Raspberry Pi",
        "Ruby"
      ],
      "summary": "If you would like to control some electrical devices by switching them on and off then one possiblity is to use Rasberry Pi relay hat. It is from Waveshare/Botland and it fits on top of your Raspberry Pi. It contains 3 relays controllers with screw connectors.",
      "reading_minutes": 1,
      "words": 293,
      "code_languages": [
        "bash",
        "ruby"
      ]
    },
    {
      "title": "Configure outgoing mail on Redash",
      "url": "https://michalasobczak.pl/posts/configure-outgoing-mail-on-redash.html",
      "markdown": "https://michalasobczak.pl/posts/configure-outgoing-mail-on-redash.md",
      "published": "2023-10-21T12:00:46.000Z",
      "updated": "2023-10-21T12:00:46.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Redash"
      ],
      "summary": "Installing Redash is straightforward if you use https://github.com/getredash/setup repository. Just run setup script to download, install and configure all required packages. But there is one thing missing from the default. It is mail configuration.",
      "reading_minutes": 1,
      "words": 115,
      "code_languages": []
    },
    {
      "title": "Private Docker Registry with pfSense-offloaded TLS connections",
      "url": "https://michalasobczak.pl/posts/private-docker-registry-with-pfsense-offloaded-tls-connections.html",
      "markdown": "https://michalasobczak.pl/posts/private-docker-registry-with-pfsense-offloaded-tls-connections.md",
      "published": "2023-10-19T09:28:49.000Z",
      "updated": "2023-10-19T09:28:49.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Docker",
        "pfSense"
      ],
      "summary": "Benefit from running your own docker registry is cost and privacy. But in order to use it in various places you need to secure its connection with SSL/TLS certificates.",
      "reading_minutes": 1,
      "words": 200,
      "code_languages": [
        "nginx"
      ]
    },
    {
      "title": "Proxmox LXC backup with exit code 11",
      "url": "https://michalasobczak.pl/posts/proxmox-lxc-backup-with-exit-code-11.html",
      "markdown": "https://michalasobczak.pl/posts/proxmox-lxc-backup-with-exit-code-11.md",
      "published": "2023-10-17T11:06:33.000Z",
      "updated": "2023-10-17T11:06:33.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Backup",
        "Proxmox"
      ],
      "summary": "In case you have some LXC containers on your Proxmox server, then there is high chance that you will get some errors during backup them up. Some container templates may not support snapshot or suspend modes. Instead you should you use stop mode.",
      "reading_minutes": 1,
      "words": 75,
      "code_languages": []
    },
    {
      "title": "Germany BSI abuse message prevention",
      "url": "https://michalasobczak.pl/posts/germany-bsi-abuse-message-prevention.html",
      "markdown": "https://michalasobczak.pl/posts/germany-bsi-abuse-message-prevention.md",
      "published": "2023-10-08T10:05:44.000Z",
      "updated": "2024-08-29T08:21:03.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "Debian",
        "Hetzner",
        "Proxmox"
      ],
      "summary": "In case of an Abuse message from BSI (in Germany), the following services must be enabled and disabled: Verify in 2 ways: Cutting with DROP traffic by Suricata IPS is not sufficient, because not all possible traffic signatures on port 111 are used and in most cases this port…",
      "reading_minutes": 1,
      "words": 90,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Dual WAN with failover in pfSense",
      "url": "https://michalasobczak.pl/posts/dual-wan-with-failover-in-pfsense.html",
      "markdown": "https://michalasobczak.pl/posts/dual-wan-with-failover-in-pfsense.md",
      "published": "2023-08-10T20:17:07.000Z",
      "updated": "2024-08-29T08:22:46.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "pfSense"
      ],
      "summary": "Once in a while there is outage in my main internet connection. In order to keep everything up and running (fortunately) we can setup secondary WAN over LTE connection. Start with connecting your device (e.g. LTE router) over ethernet cable to pfSense box.",
      "reading_minutes": 1,
      "words": 129,
      "code_languages": []
    },
    {
      "title": "Proxmox 8 on Scaleway",
      "url": "https://michalasobczak.pl/posts/proxmox-8-on-scaleway.html",
      "markdown": "https://michalasobczak.pl/posts/proxmox-8-on-scaleway.md",
      "published": "2023-08-01T10:27:51.000Z",
      "updated": "2023-08-01T10:27:51.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Debian",
        "Proxmox",
        "Scaleway"
      ],
      "summary": "Bare metal servers offered at Scaleway are at reasonable prices, which can be compared to those on Hetzner. You even get Proxmox installation by default contrary to Hetzner were you need to install Debian first.",
      "reading_minutes": 1,
      "words": 280,
      "code_languages": []
    },
    {
      "title": "Almost private-only Proxmox cluster",
      "url": "https://michalasobczak.pl/posts/almost-private-only-proxmox-cluster.html",
      "markdown": "https://michalasobczak.pl/posts/almost-private-only-proxmox-cluster.md",
      "published": "2023-05-08T10:06:15.000Z",
      "updated": "2023-05-08T10:13:14.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Hetzner",
        "Proxmox"
      ],
      "summary": "If you wonder if it is possible to have private-only Proxmox cluster in Hetnzer, then the answer is yes, almost. Of couse you can order dedicated hardware to hide your boxes from public eyes, but if you are not going that way, then you can try other way.",
      "reading_minutes": 1,
      "words": 269,
      "code_languages": []
    },
    {
      "title": "oc rsync takes down OKD master processes",
      "url": "https://michalasobczak.pl/posts/oc-rsync-takes-down-okd-master-processes.html",
      "markdown": "https://michalasobczak.pl/posts/oc-rsync-takes-down-okd-master-processes.md",
      "published": "2023-05-06T07:44:52.000Z",
      "updated": "2023-05-06T07:44:52.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Docker",
        "Microsoft Azure",
        "OKD",
        "Python"
      ],
      "summary": "It might sound a little weird, but that’s the case. I was trying to setup NFS mount in OKD docker registry (from this tutorial). During oc rsync from inside docker-registry container I found that OKD master processes are down because of heath check thinking that there is some connectivity problem.",
      "reading_minutes": 1,
      "words": 313,
      "code_languages": []
    },
    {
      "title": "Conditional Nginx logging",
      "url": "https://michalasobczak.pl/posts/conditional-nginx-logging.html",
      "markdown": "https://michalasobczak.pl/posts/conditional-nginx-logging.md",
      "published": "2023-04-28T07:08:29.000Z",
      "updated": "2023-04-28T07:09:34.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "NGINX"
      ],
      "summary": "Logging all HTTP traffic is often unnecessary. It especially applies to website which include not only text content but also all kind of additional components, like JavaScripts, stylesheets, images, fonts etc.",
      "reading_minutes": 1,
      "words": 155,
      "code_languages": [
        "nginx"
      ]
    },
    {
      "title": "Compatibility of Suricata IPS on Proxmox",
      "url": "https://michalasobczak.pl/posts/compatibility-of-suricata-ips-on-proxmox.html",
      "markdown": "https://michalasobczak.pl/posts/compatibility-of-suricata-ips-on-proxmox.md",
      "published": "2023-04-26T20:19:20.000Z",
      "updated": "2024-08-29T08:22:57.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "IDS",
        "Proxmox",
        "Security",
        "Suricata"
      ],
      "summary": "For non-users of either Proxmox or Suricata: the first one is virtualization appliance which helps firing up virtual machines as well as LXC containers and the latter is network traffic security system which is able to identify (IDS mode) or even block malicious traffic (IPS mode).",
      "reading_minutes": 2,
      "words": 469,
      "code_languages": []
    },
    {
      "title": "Demaskowanie “możliwości” ChatGPT",
      "url": "https://michalasobczak.pl/posts/demaskowanie-mozliwosci-chatgpt.html",
      "markdown": "https://michalasobczak.pl/posts/demaskowanie-mozliwosci-chatgpt.md",
      "published": "2023-02-06T09:56:02.000Z",
      "updated": "2024-08-29T08:23:03.000Z",
      "language": "pl",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI",
        "ChatGPT",
        "ML"
      ],
      "summary": "Wstęp Dzisiaj wyjątkowo będzie po polsku na temat ChatGPT. Zadałem sobie nieco trudu i wypróbowałem jego “możliwości” z zakresu programowania jako, że zasłyszałem o takiej opcji. Moim ulubionym w ostatnim czasie tematem jest OpenCL, zatem…. JA: to napisz mi kernel OpenCL który służy do sortowanie liczb zmiennoprzecinkowych Dostałem sortowanie bąbelkowe….",
      "reading_minutes": 3,
      "words": 684,
      "code_languages": [
        "cpp"
      ]
    },
    {
      "title": "Mounting SSD drive as swap in VM",
      "url": "https://michalasobczak.pl/posts/mounting-ssd-drive-as-swap-in-vm.html",
      "markdown": "https://michalasobczak.pl/posts/mounting-ssd-drive-as-swap-in-vm.md",
      "published": "2023-02-06T07:43:06.000Z",
      "updated": "2023-02-06T07:43:06.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Proxmox",
        "Ubuntu"
      ],
      "summary": "First of all this SSD drive which I use is somehow faulty. It is a Goodram SSDPR-CX400-01T-G2 drive of 1TB. It have been working fine for few weeks until some construction worker made a electric short causing some abnormal frequences in wires resulting a faulty drives and memory sticks.",
      "reading_minutes": 1,
      "words": 221,
      "code_languages": []
    },
    {
      "title": "iRedMail mail server with SPF and DKIM",
      "url": "https://michalasobczak.pl/posts/iredmail-mail-server-with-spf-and-dkim.html",
      "markdown": "https://michalasobczak.pl/posts/iredmail-mail-server-with-spf-and-dkim.md",
      "published": "2023-02-02T08:17:38.000Z",
      "updated": "2023-02-02T08:17:38.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Mail"
      ],
      "summary": "Having your own mail server could be useful but also sometimes dangereous. I am happy to see appliance such as iRedMail which cover variaty of topics regarding a somehow complete solution. I pick Ubuntu 22 on Hetzner.",
      "reading_minutes": 2,
      "words": 357,
      "code_languages": []
    },
    {
      "title": "DNS privacy issues",
      "url": "https://michalasobczak.pl/posts/dns-privacy-issues.html",
      "markdown": "https://michalasobczak.pl/posts/dns-privacy-issues.md",
      "published": "2023-01-20T21:02:47.000Z",
      "updated": "2024-08-29T08:23:11.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "DNS",
        "Ethical Hacking"
      ],
      "summary": "Until recently I though that having DNS subdomain entries provides enough obscurity thus should it be secure. If your DNS server does not offer transfering domain to another place then any subdomains should be hidden from public sight.",
      "reading_minutes": 2,
      "words": 418,
      "code_languages": []
    },
    {
      "title": "Thoughts on GPU thermal issues",
      "url": "https://michalasobczak.pl/posts/thoughts-on-gpu-thermal-issues.html",
      "markdown": "https://michalasobczak.pl/posts/thoughts-on-gpu-thermal-issues.md",
      "published": "2023-01-19T11:07:43.000Z",
      "updated": "2024-08-29T08:18:47.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "GPU",
        "Hardware",
        "OpenCL"
      ],
      "summary": "I’ve been playing around with several devices in a context of running OpenCL code on them. They have one common thing which is excessive heat coming out of GPU and heatsink being unable to dissipate it. I start with MacBookPro3,1. It has NVIDIA 8600M GT, which is known to fail.",
      "reading_minutes": 1,
      "words": 308,
      "code_languages": []
    },
    {
      "title": "Device performance in OpenCL DES",
      "url": "https://michalasobczak.pl/posts/device-performance-in-opencl-des.html",
      "markdown": "https://michalasobczak.pl/posts/device-performance-in-opencl-des.md",
      "published": "2023-01-17T12:14:15.000Z",
      "updated": "2024-08-29T08:23:17.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "C99",
        "GPU",
        "HPC",
        "Java",
        "OpenCL"
      ],
      "summary": "Among various computing devices I have there is one that stands out it is NVIDIA Quadro NVS 140M because it supports only FP32 (float) operations, but not FP64 (double). It is generally too old. In OpenCL we have both pow function which takes double and float parameters.",
      "reading_minutes": 1,
      "words": 311,
      "code_languages": []
    },
    {
      "title": "GPU passthru in Proxmox for OpenCL, ufff",
      "url": "https://michalasobczak.pl/posts/gpu-passthru-in-proxmox-for-opencl-ufff.html",
      "markdown": "https://michalasobczak.pl/posts/gpu-passthru-in-proxmox-for-opencl-ufff.md",
      "published": "2023-01-13T14:10:35.000Z",
      "updated": "2024-09-13T05:08:42.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI/ML",
        "HPC",
        "OpenCL",
        "Proxmox"
      ],
      "summary": "You can put your #GPU in #Proxmox server box and pass thru computational power to virtual machines… just in case you would like to run your AI/ML things alongside your virtualized NAS 😀 Finally I got it working. I think so.",
      "reading_minutes": 6,
      "words": 1451,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Load OSM map files into PostgreSQL",
      "url": "https://michalasobczak.pl/posts/load-osm-map-files-into-postgresql.html",
      "markdown": "https://michalasobczak.pl/posts/load-osm-map-files-into-postgresql.md",
      "published": "2023-01-05T15:34:55.000Z",
      "updated": "2023-01-05T15:34:55.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "OpenStreetMaps",
        "PostgreSQL"
      ],
      "summary": "You can use OpenStreetMaps on your own hardware. You need to grab map files first, which can be found at https://download.geofabrik.de.",
      "reading_minutes": 1,
      "words": 215,
      "code_languages": [
        "sql",
        "bash"
      ]
    },
    {
      "title": "Install Redash",
      "url": "https://michalasobczak.pl/posts/install-redash.html",
      "markdown": "https://michalasobczak.pl/posts/install-redash.md",
      "published": "2023-01-03T20:46:34.000Z",
      "updated": "2023-01-03T20:46:34.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Redash"
      ],
      "summary": "Data is valuable if consumed or at least identified. For private and corporate usages I suggest installing Redash as it gives options for saving queries, exporting data, creating visualizations and dashboards and also setting up alerts.",
      "reading_minutes": 1,
      "words": 142,
      "code_languages": []
    },
    {
      "title": "WebGL performance",
      "url": "https://michalasobczak.pl/posts/webgl-performance.html",
      "markdown": "https://michalasobczak.pl/posts/webgl-performance.md",
      "published": "2023-01-03T08:48:44.000Z",
      "updated": "2023-01-03T08:48:44.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "WebGL"
      ],
      "summary": "As already stated in my year 2023 plans, there will be some time for graphics programming. Back in the days I was exploring OpenGL but that was way long ago. Nowadays I think to try something much simpler and accessible like for instance WebGL.",
      "reading_minutes": 1,
      "words": 324,
      "code_languages": []
    },
    {
      "title": "Plans for 2023",
      "url": "https://michalasobczak.pl/posts/plans-for-2023.html",
      "markdown": "https://michalasobczak.pl/posts/plans-for-2023.md",
      "published": "2023-01-02T10:27:50.000Z",
      "updated": "2023-01-02T10:27:50.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [],
      "summary": "I’m looking forward for new year’s technology opportunities. I have few ongoing projects which I would like to finish by the end of this year.",
      "reading_minutes": 1,
      "words": 84,
      "code_languages": []
    },
    {
      "title": "Text processing in OpenCL",
      "url": "https://michalasobczak.pl/posts/text-processing-in-opencl.html",
      "markdown": "https://michalasobczak.pl/posts/text-processing-in-opencl.md",
      "published": "2022-12-30T11:06:57.000Z",
      "updated": "2024-08-29T08:23:36.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "AI/ML",
        "HPC",
        "Java",
        "OpenCL"
      ],
      "summary": "OpenCL is excellent in the field of numbers, but not that much into text processing. It lacks even basic functions available in regular C99. So the question is if it is worth trying to process some text in it.",
      "reading_minutes": 3,
      "words": 1229,
      "code_languages": [
        "java",
        "cpp"
      ]
    },
    {
      "title": "DES cipher is 40 times faster in OpenCL",
      "url": "https://michalasobczak.pl/posts/des-cipher-is-40-times-faster-in-opencl.html",
      "markdown": "https://michalasobczak.pl/posts/des-cipher-is-40-times-faster-in-opencl.md",
      "published": "2022-12-25T16:43:59.000Z",
      "updated": "2024-08-29T08:23:41.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "C99",
        "GPU",
        "HPC",
        "Java",
        "OpenCL"
      ],
      "summary": "OpenCL implementation od DES cipher is way faster than regular single-threaded C program. 1 mln encryptions take less than a second on RTX 3050 Ti, but also as much as almost 40 seconds on Intel i5-10200h single-thread application.",
      "reading_minutes": 5,
      "words": 1250,
      "code_languages": [
        "cpp",
        "bash",
        "java"
      ]
    },
    {
      "title": "Failed to load library libOpenCL.so.1",
      "url": "https://michalasobczak.pl/posts/failed-to-load-library-libopencl-so-1-although-it-exists.html",
      "markdown": "https://michalasobczak.pl/posts/failed-to-load-library-libopencl-so-1-although-it-exists.md",
      "published": "2022-12-10T07:52:48.000Z",
      "updated": "2024-08-29T08:23:44.000Z",
      "language": "en",
      "categories": [
        "AI/ML"
      ],
      "tags": [
        "HPC",
        "OpenCL",
        "Ubuntu"
      ],
      "summary": "Today I came back to my OpenCL project (can be found here). I have had not tried it on my fresh Ubuntu 22 installation on my Dell g15 with RTX 3050 Ti. Altough I’ve got NVIDIA driver metapackage installed my program reported that there is some problem with shared library:",
      "reading_minutes": 1,
      "words": 264,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "pg gem on Ubuntu 22",
      "url": "https://michalasobczak.pl/posts/pg-gem-on-ubuntu-22.html",
      "markdown": "https://michalasobczak.pl/posts/pg-gem-on-ubuntu-22.md",
      "published": "2022-12-02T09:02:20.000Z",
      "updated": "2022-12-02T09:02:20.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Ruby",
        "Ubuntu"
      ],
      "summary": "I thought that installing pg gem on my clean Ubuntu 22 will be easy, but no. I got some weird message: So I tried to force installation: After this: On this Ubuntu 22 release installing Ruby interpreter from packages you got 3.0.2p107.",
      "reading_minutes": 1,
      "words": 110,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "c++11 on MacOS 10.8.5 or even 10.4.11",
      "url": "https://michalasobczak.pl/posts/c11-on-macos-10-8.html",
      "markdown": "https://michalasobczak.pl/posts/c11-on-macos-10-8.md",
      "published": "2022-11-26T16:45:28.000Z",
      "updated": "2024-08-29T08:23:50.000Z",
      "language": "en",
      "categories": [
        "Hobby"
      ],
      "tags": [
        "c++",
        "MacOSX",
        "Vintage Computing"
      ],
      "summary": "I tried to compile my c++ code with c++11 features on GCC 4.2.1 which is default on my MacBookPro3,1 with MacOS 10.8.5. I used random library, so I needed newer version of GCC, 4.7 at least to be more precise.",
      "reading_minutes": 1,
      "words": 284,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "SMB shares on Ubuntu 22 server",
      "url": "https://michalasobczak.pl/posts/smb-shares-on-ubuntu-22-server.html",
      "markdown": "https://michalasobczak.pl/posts/smb-shares-on-ubuntu-22-server.md",
      "published": "2022-11-23T10:43:14.000Z",
      "updated": "2022-11-23T10:43:14.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "SBM",
        "Ubuntu"
      ],
      "summary": "SMB shares can be created either with UI on a desktop version or command line on a server installation. You can use this shares both on Linux stations and Windows boxes as well. We are going to create editors group and add current user to this group.",
      "reading_minutes": 1,
      "words": 160,
      "code_languages": [
        "bash",
        "ini"
      ]
    },
    {
      "title": "simpleproxy",
      "url": "https://michalasobczak.pl/posts/simpleproxy.html",
      "markdown": "https://michalasobczak.pl/posts/simpleproxy.md",
      "published": "2022-11-15T15:29:31.000Z",
      "updated": "2022-11-15T15:29:51.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Linux",
        "Networking"
      ],
      "summary": "In case you use ever changing outbound public IP connection like in Microsoft Azure, then you can try create machine with public IP and passing your local traffic to remote site via simplaproxy. L switch is for local and R is for remote.",
      "reading_minutes": 1,
      "words": 72,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "MikroTik basic reconfiguration",
      "url": "https://michalasobczak.pl/posts/mikrotik-basic-reconfiguration.html",
      "markdown": "https://michalasobczak.pl/posts/mikrotik-basic-reconfiguration.md",
      "published": "2022-11-14T12:37:22.000Z",
      "updated": "2024-08-29T08:24:00.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "Ethical Hacking",
        "MikroTik"
      ],
      "summary": "In case you have access to MikroTik device without UI available, only CLI then you possibly would like to know how to do some basic reconfiguration to gain access to admin panel listening on local network. So… to change user password: To see all the configuration: To create PPTP VPN:",
      "reading_minutes": 1,
      "words": 213,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "OpenShift 4.11 TLS handshake timeout on oc login",
      "url": "https://michalasobczak.pl/posts/openshift-4-11-tls-handshake-timeout-on-oc-login.html",
      "markdown": "https://michalasobczak.pl/posts/openshift-4-11-tls-handshake-timeout-on-oc-login.md",
      "published": "2022-11-10T14:53:25.000Z",
      "updated": "2022-11-10T14:53:25.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Hetzner",
        "OKD",
        "OpenShift"
      ],
      "summary": "Finally after OKD 3.11 support has ended I’ve decided to try 4.x releases. I found that there is quite nice installation assistant available on console.redhat.com (Red Hat Hybrid Cloud Console). So I tried it and installed new cluster on my dedicated hardware.",
      "reading_minutes": 1,
      "words": 182,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Proxmox Backup Server timeout on disk initialization",
      "url": "https://michalasobczak.pl/posts/proxmox-backup-server-timeout-on-disk-initialization.html",
      "markdown": "https://michalasobczak.pl/posts/proxmox-backup-server-timeout-on-disk-initialization.md",
      "published": "2022-11-08T16:34:20.000Z",
      "updated": "2022-11-08T16:34:33.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Proxmox",
        "Proxmox Backup Server"
      ],
      "summary": "I installed Proxmox Backup Server several times, both on bare metal and virtualized inside Proxmox VE. This time I did it in PVE as virtual machine and encountered an issue while initializing disk with GPT, creating directory, LVM or ZFS.",
      "reading_minutes": 1,
      "words": 98,
      "code_languages": []
    },
    {
      "title": "Proxmox VE & pfSense on Hetzner dedicated servers",
      "url": "https://michalasobczak.pl/posts/proxmox-ve-on-hetzner-dedicated-servers.html",
      "markdown": "https://michalasobczak.pl/posts/proxmox-ve-on-hetzner-dedicated-servers.md",
      "published": "2022-11-08T13:50:28.000Z",
      "updated": "2022-11-08T13:57:10.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Debian",
        "Hetzner",
        "Proxmox"
      ],
      "summary": "There is not too much a precise documentation from Hetzner available if you want to know what exactly you should do to run dedicated servers with primary and secondary public IP, virtual machines and vSwitch. There are some articles but they are written in non-informative way.",
      "reading_minutes": 5,
      "words": 1241,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "OKD Docker private Registry on NFS mount",
      "url": "https://michalasobczak.pl/posts/okd-docker-private-registry-on-nfs-mount.html",
      "markdown": "https://michalasobczak.pl/posts/okd-docker-private-registry-on-nfs-mount.md",
      "published": "2022-11-06T09:25:35.000Z",
      "updated": "2022-11-06T09:26:46.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "NFS",
        "OKD",
        "OpenShift"
      ],
      "summary": "If you use OKD/OpenShift then most probably you also run internal and private Docker registry for your builds. Cluster uses this to lookup for containers images for further deployment. For basic, default installation your Docker Registry is located in a project called default.",
      "reading_minutes": 1,
      "words": 384,
      "code_languages": [
        "bash",
        "yaml"
      ]
    },
    {
      "title": "Redeploying OKD 3.11 certificates",
      "url": "https://michalasobczak.pl/posts/redeploying-okd-3-11-certificates.html",
      "markdown": "https://michalasobczak.pl/posts/redeploying-okd-3-11-certificates.md",
      "published": "2022-11-04T14:27:20.000Z",
      "updated": "2022-11-04T14:29:31.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "OKD",
        "OpenShift"
      ],
      "summary": "Since the beginning of 3.x line of OpenShift/OKD releases there are various issues with internal certificates. TLS communication inside the cluster is used in several places like router, registry, compute nodes, master nodes, etcd and so on.",
      "reading_minutes": 2,
      "words": 490,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Elasticsearch fix read only index",
      "url": "https://michalasobczak.pl/posts/elasticsearch-fix-read-only-index.html",
      "markdown": "https://michalasobczak.pl/posts/elasticsearch-fix-read-only-index.md",
      "published": "2022-11-02T13:39:14.000Z",
      "updated": "2022-11-02T13:39:14.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "ElasticSearch"
      ],
      "summary": "In case you have been low on disk space on your Elasticsearch instance, there is high probability that your indices are marked read only now. In order to fix this one, first either delete/archive indices or increase your disk space.",
      "reading_minutes": 1,
      "words": 76,
      "code_languages": []
    },
    {
      "title": "Reinstalling GRUB",
      "url": "https://michalasobczak.pl/posts/reinstalling-grub.html",
      "markdown": "https://michalasobczak.pl/posts/reinstalling-grub.md",
      "published": "2022-11-02T10:32:09.000Z",
      "updated": "2022-11-02T10:32:09.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Linux",
        "Ubuntu"
      ],
      "summary": "In one of my previous posts I mentioned some troubles regarding reinstalling Ubuntu 22, loosing ability to select OS and to boot at all actually. I found that Ubuntu 20 recognizes properly my fresh Windows installation but Ubuntu 22 does not.",
      "reading_minutes": 1,
      "words": 251,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Expand CentOS LVM disk and filesystem",
      "url": "https://michalasobczak.pl/posts/expand-centos-lvm-disk-and-filesystem.html",
      "markdown": "https://michalasobczak.pl/posts/expand-centos-lvm-disk-and-filesystem.md",
      "published": "2022-11-02T10:21:29.000Z",
      "updated": "2022-11-02T10:22:17.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "CentOS"
      ],
      "summary": "There are two ways of expanding your root filesystem space. It’s either by adding additional volumes or by resizing PV. Let’s try the latter. We have CentOS 7 wth XFS running on Proxmox. First expand drive size with admin UI.",
      "reading_minutes": 1,
      "words": 134,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Windows/Ubuntu dual boot issues",
      "url": "https://michalasobczak.pl/posts/windows-ubuntu-dual-boot-issues.html",
      "markdown": "https://michalasobczak.pl/posts/windows-ubuntu-dual-boot-issues.md",
      "published": "2022-11-01T20:23:33.000Z",
      "updated": "2022-11-01T20:35:03.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Ubuntu",
        "Windows"
      ],
      "summary": "I have dual boot on my Lenovo Thinkpad T420s, Windows 10 and Ubuntu 22. Actually I had, because I tried to reinstall Ubuntu 22 and I’ve lost my dual boot and ability to boot at all.",
      "reading_minutes": 1,
      "words": 201,
      "code_languages": []
    },
    {
      "title": "KeeneticOS basic reconfiguration",
      "url": "https://michalasobczak.pl/posts/keeneticos-basic-reconfiguration.html",
      "markdown": "https://michalasobczak.pl/posts/keeneticos-basic-reconfiguration.md",
      "published": "2022-10-31T20:32:02.000Z",
      "updated": "2024-08-29T08:24:22.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "Ethical Hacking",
        "KeeneticOS",
        "Routers"
      ],
      "summary": "In case you would like to have PPTP VPN server but no such is installed. But first things first. For such an obsolete hardware and software keep in mind that accessing it requires passing old host key algorithms and cipers.",
      "reading_minutes": 1,
      "words": 153,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Cowrie Honeypot",
      "url": "https://michalasobczak.pl/posts/cowrie-honeypot.html",
      "markdown": "https://michalasobczak.pl/posts/cowrie-honeypot.md",
      "published": "2022-10-27T06:02:56.000Z",
      "updated": "2024-08-29T08:24:26.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "Ethical Hacking",
        "Honeypot"
      ],
      "summary": "Until recently I did not know that honeypots I encounter are based on Cowrie. But it does not change much to be honest. I already seen almost 100 of these while randomly exploring things on the internet. It was first thought that they are honeypots, by pure intuition.",
      "reading_minutes": 1,
      "words": 256,
      "code_languages": []
    },
    {
      "title": "SSH access using Ruby to outdated servers",
      "url": "https://michalasobczak.pl/posts/ssh-access-using-ruby-to-outdated-servers.html",
      "markdown": "https://michalasobczak.pl/posts/ssh-access-using-ruby-to-outdated-servers.md",
      "published": "2022-10-24T13:14:07.000Z",
      "updated": "2024-08-29T08:24:46.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "Ethical Hacking",
        "Ruby"
      ],
      "summary": "If for some unknown reasons you need to connect thru SSH to some outdated server using Ruby code, then you are in the right place. But first a little piece of theory behind it. There are 4 configurable things in OpenSSH concerning security configuration: KexAlgorithms: per-connection keys (key exchange) HostkeyAlgorithms:",
      "reading_minutes": 1,
      "words": 219,
      "code_languages": [
        "ruby"
      ]
    },
    {
      "title": "Proxmox node out of cluster",
      "url": "https://michalasobczak.pl/posts/proxmox-node-out-of-cluster.html",
      "markdown": "https://michalasobczak.pl/posts/proxmox-node-out-of-cluster.md",
      "published": "2022-10-13T13:50:03.000Z",
      "updated": "2022-10-13T13:50:03.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Proxmox"
      ],
      "summary": "I was replacing drives and memory in one of servers and out of a sudden node was unable to start. When finally it booted it was gone out of cluster. Weird. This node has been installed on SSD drive which had 2 years or constant runtime.",
      "reading_minutes": 1,
      "words": 220,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "KeeneticOS PPTP VPN server",
      "url": "https://michalasobczak.pl/posts/keeneticos-pptp-vpn-server.html",
      "markdown": "https://michalasobczak.pl/posts/keeneticos-pptp-vpn-server.md",
      "published": "2022-10-11T19:12:15.000Z",
      "updated": "2024-08-29T08:24:53.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "Ethical Hacking",
        "KeeneticOS",
        "Routers"
      ],
      "summary": "If you own this router then you might be interested how to setup VPN Server. I am personally interested in a way of how to do this using CLI only. It looks easy however there is one odd settings you should be aware of.",
      "reading_minutes": 1,
      "words": 260,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "PPTP VPN on Wive-NG router",
      "url": "https://michalasobczak.pl/posts/pptp-vpn-on-wive-ng-router.html",
      "markdown": "https://michalasobczak.pl/posts/pptp-vpn-on-wive-ng-router.md",
      "published": "2022-10-11T07:28:44.000Z",
      "updated": "2024-08-29T08:24:56.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "Ethical Hacking",
        "Routers",
        "Wive-NG"
      ],
      "summary": "On Wive-NG router when talking about VPN you have either PPP or WireGuard. As PPP is first listed so I tried it before trying WireGuard. Here are my thoughts. Configuration is pretty simple. In the router menu, go to Services – VPN Server. Then select PPTP protocol.",
      "reading_minutes": 1,
      "words": 192,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Ubuntu resize LVM",
      "url": "https://michalasobczak.pl/posts/ubuntu-resize-lvm.html",
      "markdown": "https://michalasobczak.pl/posts/ubuntu-resize-lvm.md",
      "published": "2022-10-06T14:02:19.000Z",
      "updated": "2022-10-06T14:02:19.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Ubuntu"
      ],
      "summary": "During installation Ubuntu will create LVM with half of the space available. In order to expand it to whole space available you need to extend logical volume and expand file system as…",
      "reading_minutes": 1,
      "words": 45,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "EcoRouter 2008 change user password",
      "url": "https://michalasobczak.pl/posts/ecorouter-2008-change-user-password.html",
      "markdown": "https://michalasobczak.pl/posts/ecorouter-2008-change-user-password.md",
      "published": "2022-10-04T11:46:17.000Z",
      "updated": "2024-08-29T08:25:00.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "Ethical Hacking",
        "Routers"
      ],
      "summary": "Possibility that you own or operate EcoRouter 2008 with EcoBNGOS are very low. However just in case you will have to work with this one it will be useful to know at least some basic commands.",
      "reading_minutes": 1,
      "words": 105,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "MikroTik RouterOS 7.5 change default DNS",
      "url": "https://michalasobczak.pl/posts/mikrotik-routeros-7-5-change-default-dns.html",
      "markdown": "https://michalasobczak.pl/posts/mikrotik-routeros-7-5-change-default-dns.md",
      "published": "2022-10-03T19:41:12.000Z",
      "updated": "2024-08-29T08:25:09.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "Ethical Hacking",
        "MikroTik",
        "RouterOS",
        "Routers"
      ],
      "summary": "Want to change default DNS for the network in MikroTik’s RouterOS CLI? You can use web UI but it could have some issues preventing from configuration save, so it is nice to know how to use it via CLI.",
      "reading_minutes": 1,
      "words": 114,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "airodump-ng and aireplay-ng to deauthenticate  clients from access point",
      "url": "https://michalasobczak.pl/posts/airodump-ng-and-aireplay-ng-to-deauthenticate-wireless-clients-from-access-point.html",
      "markdown": "https://michalasobczak.pl/posts/airodump-ng-and-aireplay-ng-to-deauthenticate-wireless-clients-from-access-point.md",
      "published": "2022-09-29T17:15:27.000Z",
      "updated": "2024-08-29T08:25:12.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "Ethical Hacking"
      ],
      "summary": "Disconnecting wireless clients from access points The problem The nature of wireless networking is quite problematic because transmission goes over air and can be intercepted by anyone. Of course there is data packet stream encryption. But deauthentication frames are not encrypted and can be forged.",
      "reading_minutes": 2,
      "words": 421,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Suricata IDS/IPS on pfSense",
      "url": "https://michalasobczak.pl/posts/suricata-ids-and-ips-on-pfsense.html",
      "markdown": "https://michalasobczak.pl/posts/suricata-ids-and-ips-on-pfsense.md",
      "published": "2022-09-25T09:34:54.000Z",
      "updated": "2024-08-29T08:25:15.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "pfSense",
        "Suricata"
      ],
      "summary": "Detecting and preventing threats Introduction To provide security in a network you can deploy IDS or IPS systems. The difference is on the second letter, D stands for detection and P for prevention.",
      "reading_minutes": 5,
      "words": 1136,
      "code_languages": []
    },
    {
      "title": "Geo location with Filebeat on Elasticsearch 7, HAProxy and NGINX",
      "url": "https://michalasobczak.pl/posts/geo-location-with-filebeat-on-elasticsearch-7-haproxy-and-nginx.html",
      "markdown": "https://michalasobczak.pl/posts/geo-location-with-filebeat-on-elasticsearch-7-haproxy-and-nginx.md",
      "published": "2022-09-23T08:56:27.000Z",
      "updated": "2022-09-23T15:10:10.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "ElasticSearch",
        "HAProxy",
        "Kibana",
        "NGINX",
        "pfSense"
      ],
      "summary": "Display geo location map for NGINX traffic logs in Kibana Summary There are 3 things to remember and configure in order to have geo location map working: Use “forwardfor” option on pfSense HAProxy TLS frontend Enable filebeat NGINX module and point particular log files Define custom NGINX log format…",
      "reading_minutes": 3,
      "words": 853,
      "code_languages": [
        "bash",
        "yaml",
        "nginx"
      ]
    },
    {
      "title": "Data Mining & Exploration",
      "url": "https://michalasobczak.pl/posts/data-mining-exploration.html",
      "markdown": "https://michalasobczak.pl/posts/data-mining-exploration.md",
      "published": "2022-09-18T12:10:51.000Z",
      "updated": "2023-01-03T20:49:33.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Data Mining",
        "HPC"
      ],
      "summary": "Among 3 million public IP address ranges for the whole world, 68k belongs to the Russian Federation. This translates into 45 million addresses. Scanning the HTTP port on this population took 20 hours. I obtained 630k IP addresses with listening on port 80.",
      "reading_minutes": 20,
      "words": 5549,
      "code_languages": [
        "python",
        "ruby"
      ]
    },
    {
      "title": "Semiconductors",
      "url": "https://michalasobczak.pl/posts/semiconductors.html",
      "markdown": "https://michalasobczak.pl/posts/semiconductors.md",
      "published": "2022-09-14T09:04:31.000Z",
      "updated": "2023-01-03T20:49:38.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "electricity"
      ],
      "summary": "The basis for the construction of diodes and transistors A semiconductor is a material whose electrical conductivity is between the conductors and insulators. Their resistance and conductivity depends on temperature and admixtures. [W] The most commercially used semiconductors are those based on silicon, and in the past also on germanium.",
      "reading_minutes": 4,
      "words": 849,
      "code_languages": []
    },
    {
      "title": "Coil",
      "url": "https://michalasobczak.pl/posts/coil.html",
      "markdown": "https://michalasobczak.pl/posts/coil.md",
      "published": "2022-09-14T08:08:01.000Z",
      "updated": "2023-01-03T20:49:42.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "electricity"
      ],
      "summary": "Energy in a magnetic field [209] Just as a capacitor works by storing energy as an electric field, an inductor stores energy as a magnetic field. The energy stored in the coil is calculated in terms of current.",
      "reading_minutes": 1,
      "words": 318,
      "code_languages": []
    },
    {
      "title": "WordPress quirks and features",
      "url": "https://michalasobczak.pl/posts/wordpress-quirks-and-features.html",
      "markdown": "https://michalasobczak.pl/posts/wordpress-quirks-and-features.md",
      "published": "2022-09-14T08:00:52.000Z",
      "updated": "2022-09-14T08:00:52.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "NGINX",
        "WordPress"
      ],
      "summary": "I will start with the werid experience with one of WP themes – Polite and Polite Grid. I was wondering why my website make double requests on every page. One for the document and other for content. This was annoying as I was unable to measure traffic properly.",
      "reading_minutes": 1,
      "words": 157,
      "code_languages": [
        "nginx"
      ]
    },
    {
      "title": "Voltage divider",
      "url": "https://michalasobczak.pl/posts/voltage-divider.html",
      "markdown": "https://michalasobczak.pl/posts/voltage-divider.md",
      "published": "2022-09-13T14:20:08.000Z",
      "updated": "2023-01-03T20:49:48.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "electricity"
      ],
      "summary": "Lowering the voltage value [202] The next example I want to present in practice is a popular voltage divider. It allows the output voltage to be reduced to the desired value due to the properties described a little earlier.",
      "reading_minutes": 1,
      "words": 98,
      "code_languages": []
    },
    {
      "title": "Kirchhoff’s law",
      "url": "https://michalasobczak.pl/posts/kirchhoffs-law.html",
      "markdown": "https://michalasobczak.pl/posts/kirchhoffs-law.md",
      "published": "2022-09-13T12:40:33.000Z",
      "updated": "2023-01-03T20:49:52.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "electricity"
      ],
      "summary": "Theory and practice [W] One of the basic principles of current flow is the first law of Kirchhoff, which says that for the electric circuit node, the algebraic sum of flow rates is zero.",
      "reading_minutes": 1,
      "words": 272,
      "code_languages": []
    },
    {
      "title": "Capacitor",
      "url": "https://michalasobczak.pl/posts/capacitor.html",
      "markdown": "https://michalasobczak.pl/posts/capacitor.md",
      "published": "2022-09-12T19:22:39.000Z",
      "updated": "2023-01-03T20:49:57.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "electricity"
      ],
      "summary": "Signal filtering [202] Capacitors are divided into polarized and non-polarized depending on whether the direction of their inclusion in the circuit is important. Generally speaking, capacitors filter the waveform of the power source.",
      "reading_minutes": 2,
      "words": 360,
      "code_languages": []
    },
    {
      "title": "growfs fsck required (pfSense)",
      "url": "https://michalasobczak.pl/posts/growfs-fsck-required-pfsense.html",
      "markdown": "https://michalasobczak.pl/posts/growfs-fsck-required-pfsense.md",
      "published": "2022-09-12T17:47:02.000Z",
      "updated": "2022-09-12T17:47:02.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "FreeBSD",
        "pfSense"
      ],
      "summary": "In case you’ve managed to overcome other issues with system unable to boot, disk size not updated then there might be still one problem left. Sometimes resizing with gpart works fine but file system resize does not.",
      "reading_minutes": 1,
      "words": 166,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Azure FreeBSD (pfSense) not able to pick boot partition after disk resize",
      "url": "https://michalasobczak.pl/posts/freebsd-not-able-to-pick-boot-partition.html",
      "markdown": "https://michalasobczak.pl/posts/freebsd-not-able-to-pick-boot-partition.md",
      "published": "2022-09-12T10:41:20.000Z",
      "updated": "2022-09-12T10:41:40.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "FreeBSD",
        "pfSense"
      ],
      "summary": "Following previous struggles on pfSense FreeBSD on Azure. After resizing disk Microsoft starts at some point adding an another drive which is temporary one. I do not need this by any means.",
      "reading_minutes": 1,
      "words": 176,
      "code_languages": []
    },
    {
      "title": "Resize drive and partition on FreeBSD 12 (pfSense)",
      "url": "https://michalasobczak.pl/posts/resize-drive-and-partition-on-freebsd-12-pfsense.html",
      "markdown": "https://michalasobczak.pl/posts/resize-drive-and-partition-on-freebsd-12-pfsense.md",
      "published": "2022-09-12T09:04:15.000Z",
      "updated": "2022-09-12T10:35:23.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "FreeBSD",
        "pfSense"
      ],
      "summary": "Recently I described how to increase drive, partition and filesystem on FreeBSD in Azure virtual machine. It turned out that this scenario was little bit different from a virtual machine running on top of VMware.",
      "reading_minutes": 1,
      "words": 170,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "WordPress migration",
      "url": "https://michalasobczak.pl/posts/wordpress-migration.html",
      "markdown": "https://michalasobczak.pl/posts/wordpress-migration.md",
      "published": "2022-09-11T19:25:17.000Z",
      "updated": "2022-09-11T19:25:17.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "WordPress"
      ],
      "summary": "After 2 years on DigitalOcean I’ve decided to move out. Not because it’s bad or expensive, but because I need one more feature which is IDS/IPS. By default WordPress installation on DO contains fail2ban, which is fine, but I find Suricata way more powerful.",
      "reading_minutes": 1,
      "words": 295,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "MacPorts installation on 10.8.5",
      "url": "https://michalasobczak.pl/posts/macports-installation-on-10-8-5.html",
      "markdown": "https://michalasobczak.pl/posts/macports-installation-on-10-8-5.md",
      "published": "2022-09-11T13:21:37.000Z",
      "updated": "2024-08-29T08:25:47.000Z",
      "language": "en",
      "categories": [
        "Hobby"
      ],
      "tags": [
        "MacOSX",
        "Vintage Computing"
      ],
      "summary": "To bring and old MacBookPro up to date you can use MacPorts. First you should download and install MacPorts package from macports.org. There is a pkg file to use specifically for Mountain Lion. That’s the easy one. A little harder would be to grab working XCode with command line tools.",
      "reading_minutes": 1,
      "words": 212,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Proxmox setting locale failed",
      "url": "https://michalasobczak.pl/posts/proxmox-setting-locale-failed.html",
      "markdown": "https://michalasobczak.pl/posts/proxmox-setting-locale-failed.md",
      "published": "2022-09-09T12:00:24.000Z",
      "updated": "2022-09-09T12:01:45.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Proxmox"
      ],
      "summary": "If you log in to Proxmox’s shell and see error stating that “setting locale failed“, then execute the following command to get rid of that message: Not quite sure why it happens, but I see it almost all the time.",
      "reading_minutes": 1,
      "words": 42,
      "code_languages": []
    },
    {
      "title": "Recover pfSense from out of disk space and config.xml corruption",
      "url": "https://michalasobczak.pl/posts/recover-pfsense-from-out-of-disk-space-and-config-xml-corruption.html",
      "markdown": "https://michalasobczak.pl/posts/recover-pfsense-from-out-of-disk-space-and-config-xml-corruption.md",
      "published": "2022-09-08T13:11:04.000Z",
      "updated": "2022-09-08T13:11:05.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "FreeBSD",
        "pfSense"
      ],
      "summary": "I use NetGate pfSense+ version 22 based on FreeBSD 21. I encountered a problem of running out of disk space because of packet logging enable in Suricata. Out of a sudden there was high traffic and therefore high logs production. Disk space utilization was over 100%.",
      "reading_minutes": 1,
      "words": 204,
      "code_languages": []
    },
    {
      "title": "Ruby on Rails vs PostgreSQL 14 partitioning primary keys",
      "url": "https://michalasobczak.pl/posts/ruby-on-rails-vs-postgresql-14-partitioning-primary-keys.html",
      "markdown": "https://michalasobczak.pl/posts/ruby-on-rails-vs-postgresql-14-partitioning-primary-keys.md",
      "published": "2022-09-08T11:49:21.000Z",
      "updated": "2022-09-08T11:49:23.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "PostgreSQL",
        "Ruby on Rails"
      ],
      "summary": "Starting from PostgreSQL 10 we have available new type of paritioning, which is declarative one. Before we had inheritance which is also good but has some limitations. Now, with declarative partitioning user need not to specify partition name while inserting data.",
      "reading_minutes": 1,
      "words": 321,
      "code_languages": [
        "sql"
      ]
    },
    {
      "title": "Allow .local domain suffix to be resolved",
      "url": "https://michalasobczak.pl/posts/allow-local-domain-suffix-to-be-resolved.html",
      "markdown": "https://michalasobczak.pl/posts/allow-local-domain-suffix-to-be-resolved.md",
      "published": "2022-09-06T10:30:55.000Z",
      "updated": "2022-09-06T10:41:47.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "DNS",
        "Ubuntu"
      ],
      "summary": "On many chances you may need to configure some domains using .local suffix. Unfortunately this is covered by RFC 6762 (multicast DNS).",
      "reading_minutes": 1,
      "words": 386,
      "code_languages": [
        "yaml",
        "bash"
      ]
    },
    {
      "title": "Disabling uncategorized internal Suricata rules in pfSense",
      "url": "https://michalasobczak.pl/posts/disabling-uncategorized-internal-suricata-rules-in-pfsense.html",
      "markdown": "https://michalasobczak.pl/posts/disabling-uncategorized-internal-suricata-rules-in-pfsense.md",
      "published": "2022-09-04T12:08:26.000Z",
      "updated": "2024-08-29T08:26:15.000Z",
      "language": "en",
      "categories": [
        "Security"
      ],
      "tags": [
        "pfSense",
        "Suricata"
      ],
      "summary": "I want to enable only particular rules categories. Do not want to have all these internal Suricate rules as they cover too broad variaty of cases including loads of false-positive.",
      "reading_minutes": 1,
      "words": 161,
      "code_languages": []
    },
    {
      "title": "Multiple ZFS pools on single drive",
      "url": "https://michalasobczak.pl/posts/multiple-zfs-pools-on-single-drive.html",
      "markdown": "https://michalasobczak.pl/posts/multiple-zfs-pools-on-single-drive.md",
      "published": "2022-09-03T16:25:44.000Z",
      "updated": "2022-09-06T10:42:12.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Proxmox",
        "ZFS"
      ],
      "summary": "Image a hypothetical scenario having two 512 GB drives and want to use a Proxmox ZFS VM replication onto a second server with one 1 TB drive. Solution is quite simple.",
      "reading_minutes": 1,
      "words": 88,
      "code_languages": []
    },
    {
      "title": "disk/partition ‘/dev/sdX’ has a holder (500)",
      "url": "https://michalasobczak.pl/posts/disk-partition-dev-sdx-has-a-holder-500.html",
      "markdown": "https://michalasobczak.pl/posts/disk-partition-dev-sdx-has-a-holder-500.md",
      "published": "2022-09-03T14:00:24.000Z",
      "updated": "2022-09-06T10:42:18.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Proxmox"
      ],
      "summary": "Having LVM on the disk causes system to automatically active such volumes. I installed used drive with Ubuntu on it to my Proxmox server. Using Proxmox’s UI you will not be able to wipe this drive, because volume group has been already auto-activated.",
      "reading_minutes": 1,
      "words": 78,
      "code_languages": []
    },
    {
      "title": "Package is in a very bad inconsistent state",
      "url": "https://michalasobczak.pl/posts/package-is-in-a-very-bad-inconsistent-state.html",
      "markdown": "https://michalasobczak.pl/posts/package-is-in-a-very-bad-inconsistent-state.md",
      "published": "2022-09-02T10:17:57.000Z",
      "updated": "2022-09-06T10:42:36.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Ubuntu"
      ],
      "summary": "Aborting Ubuntu packages update via Ansible gave me some weird state of libatk-wrapper-java-jni package. My playbook installs default-jre and it was painfully slow so I thought that there is some lockup, but there was not.",
      "reading_minutes": 1,
      "words": 120,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "UnsupportedClassVersionError",
      "url": "https://michalasobczak.pl/posts/unsupportedclassversionerror.html",
      "markdown": "https://michalasobczak.pl/posts/unsupportedclassversionerror.md",
      "published": "2022-09-02T07:53:05.000Z",
      "updated": "2022-09-06T10:42:41.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Java"
      ],
      "summary": "Changing Java language level to run compiled code on older runtimes I’m working on some Java project. I use IntelliJ IDEA and deciced to go with Oracle’s OpenJDK-18. But… this runtime is available by default only during compilation in the IDE. In the system I have OpenJDK-11.",
      "reading_minutes": 1,
      "words": 153,
      "code_languages": []
    },
    {
      "title": "min.io server behind NGINX reverse-proxy",
      "url": "https://michalasobczak.pl/posts/min-io-server-behind-nginx-reverse-proxy.html",
      "markdown": "https://michalasobczak.pl/posts/min-io-server-behind-nginx-reverse-proxy.md",
      "published": "2022-08-31T13:10:28.000Z",
      "updated": "2022-09-06T10:42:48.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "min.io",
        "NGINX"
      ],
      "summary": "The most recent min.io server release requires one additional thing in the configuration comparing to versions in the past years. Having min.io on one box and NGINX on another one requires setting up a reverse proxy, which is straightforward operation.",
      "reading_minutes": 1,
      "words": 208,
      "code_languages": []
    },
    {
      "title": "PostgreSQL 14, btree_gin no such file",
      "url": "https://michalasobczak.pl/posts/postgresql-14-btree_gin-no-such-file.html",
      "markdown": "https://michalasobczak.pl/posts/postgresql-14-btree_gin-no-such-file.md",
      "published": "2022-08-30T09:07:28.000Z",
      "updated": "2022-09-06T10:42:56.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "PostgreSQL"
      ],
      "summary": "In case you would like to enable some PostgreSQL extensions there is basically one thing you should do which is install postgresql14-contrib package and then fire CREATE EXTENSION from PostgreSQL itself.",
      "reading_minutes": 1,
      "words": 31,
      "code_languages": []
    },
    {
      "title": "DEGRADED ZFS pool, hard disk failure",
      "url": "https://michalasobczak.pl/posts/degraded-zfs-pool-hard-disk-failure.html",
      "markdown": "https://michalasobczak.pl/posts/degraded-zfs-pool-hard-disk-failure.md",
      "published": "2022-08-26T19:26:08.000Z",
      "updated": "2022-09-06T10:43:02.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Proxmox",
        "ZFS"
      ],
      "summary": "I own a preowned HP z800 workstation. As purchased it contained HDD inside – Western Digital WD5000AAKX-75U6AA0, SATA III, 500GB, 7200 RPM, 16MB of cache. Unfortunately it passes SMART and do not show wearout metric.",
      "reading_minutes": 1,
      "words": 301,
      "code_languages": []
    },
    {
      "title": "Docker Registry on Ubuntu 20.04",
      "url": "https://michalasobczak.pl/posts/docker-registry-on-ubuntu-20-04.html",
      "markdown": "https://michalasobczak.pl/posts/docker-registry-on-ubuntu-20-04.md",
      "published": "2022-08-26T07:07:23.000Z",
      "updated": "2022-09-06T10:43:10.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Docker",
        "Ubuntu"
      ],
      "summary": "Docker Registry could be useful in various scenarios, but the most common would be containers orchestration software such as Kubernetes, OpenShift/OKD or Nomad.",
      "reading_minutes": 1,
      "words": 253,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Ubuntu 21 (impish) updates unavailable",
      "url": "https://michalasobczak.pl/posts/ubuntu-21-impish-updates-unavailable.html",
      "markdown": "https://michalasobczak.pl/posts/ubuntu-21-impish-updates-unavailable.md",
      "published": "2022-08-21T09:16:06.000Z",
      "updated": "2022-09-13T22:03:23.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Ubuntu"
      ],
      "summary": "I was trying to add some new packages and figured it out that my Ubuntu 21 is out of date. Unfortunately some time ago I unchecked all repositories in Software & Updates so my /etc/apt/sources.list was empty.",
      "reading_minutes": 1,
      "words": 96,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "pg_stat_statements must be loaded via shared_preload_libraries",
      "url": "https://michalasobczak.pl/posts/pg_stat_statements-must-be-loaded-via-shared_preload_libraries.html",
      "markdown": "https://michalasobczak.pl/posts/pg_stat_statements-must-be-loaded-via-shared_preload_libraries.md",
      "published": "2022-08-20T13:18:23.000Z",
      "updated": "2022-09-06T10:43:27.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "PostgreSQL"
      ],
      "summary": "Latest Clustercontrol – version 1.9.4 – installation somehow requires pg_stat_statements to be activated in PostgreSQL 14. I have never noticed it before, both on 9.6, 12 and 14. This is simple fix.",
      "reading_minutes": 1,
      "words": 75,
      "code_languages": [
        "sql"
      ]
    },
    {
      "title": "Mirror Git repository",
      "url": "https://michalasobczak.pl/posts/mirror-git-repository.html",
      "markdown": "https://michalasobczak.pl/posts/mirror-git-repository.md",
      "published": "2022-08-19T11:04:15.000Z",
      "updated": "2022-09-06T10:43:33.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Git"
      ],
      "summary": "If you need to mirror remote repository and push it to another remote repo, then there is one thing you should do to be able to export all remote branches and not only the master.",
      "reading_minutes": 1,
      "words": 73,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Extending CentOS7 partition on Azure",
      "url": "https://michalasobczak.pl/posts/extending-centos7-partition-on-azure.html",
      "markdown": "https://michalasobczak.pl/posts/extending-centos7-partition-on-azure.md",
      "published": "2022-08-19T08:44:08.000Z",
      "updated": "2022-09-06T10:43:40.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Azure",
        "CentOS"
      ],
      "summary": "Using CentOS7 templates on Azure could result in lack of LVM, swap and non auto-extendable partitions. Some other templates have such feature, but not all of them. In case you assigned bigger disk in Azure portal you need still to do few things.",
      "reading_minutes": 1,
      "words": 70,
      "code_languages": []
    },
    {
      "title": "Zabbix Proxy 4.2 installation years later",
      "url": "https://michalasobczak.pl/posts/zabbix-proxy-4-2-installation-years-later.html",
      "markdown": "https://michalasobczak.pl/posts/zabbix-proxy-4-2-installation-years-later.md",
      "published": "2022-08-19T07:42:25.000Z",
      "updated": "2022-09-06T10:43:45.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Zabbix"
      ],
      "summary": "Old Zabbix Proxy 4.2 installation could be quite confusing as you cannot grab the latest one to work with old Zabbix server. Fortunately there is archive packages repository at repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix/. You need to keep track which operating systemu should be used.",
      "reading_minutes": 1,
      "words": 228,
      "code_languages": [
        "bash",
        "sql"
      ]
    },
    {
      "title": "Proxmox’s nesting setting with WordPress container",
      "url": "https://michalasobczak.pl/posts/proxmoxs-nesting-setting-with-wordpress-container.html",
      "markdown": "https://michalasobczak.pl/posts/proxmoxs-nesting-setting-with-wordpress-container.md",
      "published": "2022-08-16T16:32:32.000Z",
      "updated": "2022-09-06T10:44:45.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "LXC",
        "Proxmox",
        "WordPress"
      ],
      "summary": "If you happen to use Proxmox’s LXC which stands for Linux Containers, then you might be interested in this one. Proxmox has this turnkey containers available to download from its UI. Among them there is WordPress.",
      "reading_minutes": 1,
      "words": 76,
      "code_languages": []
    },
    {
      "title": "Installing PostgreSQL 14 on CentOS 7",
      "url": "https://michalasobczak.pl/posts/installing-postgresql-14-on-centos-7.html",
      "markdown": "https://michalasobczak.pl/posts/installing-postgresql-14-on-centos-7.md",
      "published": "2022-08-16T14:17:39.000Z",
      "updated": "2022-09-06T10:44:53.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "CentOS",
        "PostgreSQL"
      ],
      "summary": "PostgreSQL 14 has few improvements over previous versions, especially older ones, like 9.6. This includes automatic data direction using partitioning. So, let’s install it on CentOS 7. Then you should login to the database and set password: Basic configuration includes firewall setup (if it’s active), access control and performance settings:",
      "reading_minutes": 1,
      "words": 145,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Ohm’s law",
      "url": "https://michalasobczak.pl/posts/ohms-law.html",
      "markdown": "https://michalasobczak.pl/posts/ohms-law.md",
      "published": "2022-08-15T07:58:53.000Z",
      "updated": "2023-01-03T20:50:01.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "electricity"
      ],
      "summary": "Theory and practice [204] This is the SI unit of resistance. 1 ohm is the electrical resistance between two points on a conductor when a constant potential difference of one volt between the two points causes a current of one ampere in the conductor.",
      "reading_minutes": 2,
      "words": 447,
      "code_languages": []
    },
    {
      "title": "Circuit simulation",
      "url": "https://michalasobczak.pl/posts/circuit-simulation.html",
      "markdown": "https://michalasobczak.pl/posts/circuit-simulation.md",
      "published": "2022-08-15T06:32:53.000Z",
      "updated": "2023-01-03T20:50:07.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "electricity"
      ],
      "summary": "Construction and testing of circuits in the TINA TI program To translate theory into practice, we can use the TINA package from DesignSoft for Texas Instruments. It is a tool for building virtual analog and digital circuits.",
      "reading_minutes": 1,
      "words": 235,
      "code_languages": []
    },
    {
      "title": "Electric voltage",
      "url": "https://michalasobczak.pl/posts/electric-voltage.html",
      "markdown": "https://michalasobczak.pl/posts/electric-voltage.md",
      "published": "2022-08-14T19:27:06.000Z",
      "updated": "2023-01-03T20:50:12.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "electricity"
      ],
      "summary": "Measure of the strength of electric charges. Electrostatic potential difference. Electronics is based on physics. The basic concepts here are voltage, current and resistance. We should start with that. The voltage is therefore a measure of the strength of electric charges.",
      "reading_minutes": 3,
      "words": 578,
      "code_languages": []
    },
    {
      "title": "Recovering Elasticsearch 7 after power outage",
      "url": "https://michalasobczak.pl/posts/recovering-elasticsearch-7-after-power-outage.html",
      "markdown": "https://michalasobczak.pl/posts/recovering-elasticsearch-7-after-power-outage.md",
      "published": "2022-08-14T12:21:01.000Z",
      "updated": "2022-09-06T10:45:01.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "ElasticSearch"
      ],
      "summary": "In case you encounted power outage or just blindly pressed restart button on your machine, there is high chance you will have some issues with your cluster. Mine has only one node, so there is no redundancy. If I lose indices then data is gone.",
      "reading_minutes": 1,
      "words": 184,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Install qemu-guest-agent with Ansible on Proxmox 7.2",
      "url": "https://michalasobczak.pl/posts/install-qemu-guest-agent-with-ansible-on-proxmox-7-2.html",
      "markdown": "https://michalasobczak.pl/posts/install-qemu-guest-agent-with-ansible-on-proxmox-7-2.md",
      "published": "2022-08-14T11:53:39.000Z",
      "updated": "2022-09-06T10:45:09.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Ansible",
        "Proxmox"
      ],
      "summary": "I already have over 10 virtual machines in my home virtual environment. It is the number I find enough to start using some automation tools like Ansible. Installing Ansible on Ubuntu or CentOS systems is straightforward, just use regular apt or yum commands.",
      "reading_minutes": 1,
      "words": 211,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Trapping ctrl+c in Bash scripts",
      "url": "https://michalasobczak.pl/posts/trapping-ctrlc-in-bash-scripts.html",
      "markdown": "https://michalasobczak.pl/posts/trapping-ctrlc-in-bash-scripts.md",
      "published": "2022-08-13T07:22:29.000Z",
      "updated": "2022-09-06T10:45:14.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "Bash"
      ],
      "summary": "If you happen to have some Bash scripts and would like to abort it in clean way there is way to do it. You need to trap ctrl+c command. In case you have some while loop in your scripts, without it, pressing any abort commands is only half way effective.",
      "reading_minutes": 1,
      "words": 84,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Installing Metricbeat 7.17 agent on Ubuntu",
      "url": "https://michalasobczak.pl/posts/installing-metricbeat-7-17-agent-on-ubuntu.html",
      "markdown": "https://michalasobczak.pl/posts/installing-metricbeat-7-17-agent-on-ubuntu.md",
      "published": "2022-08-07T09:27:18.000Z",
      "updated": "2022-09-06T10:45:28.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "ElasticSearch",
        "Ubuntu"
      ],
      "summary": "Once you have installed Elasticsearch and Kibana servers you need to grab some data. First choice could be beats modules, either Metricbeat or Packetbeat. There is also Filebeat.",
      "reading_minutes": 1,
      "words": 164,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "Apple MacBook Pro 15 inch (2007)",
      "url": "https://michalasobczak.pl/posts/apple-macbook-pro-15-inch-2007.html",
      "markdown": "https://michalasobczak.pl/posts/apple-macbook-pro-15-inch-2007.md",
      "published": "2022-07-21T13:59:29.000Z",
      "updated": "2024-08-29T08:27:09.000Z",
      "language": "en",
      "categories": [
        "Hobby"
      ],
      "tags": [
        "Vintage Computing"
      ],
      "summary": "I have this nice MacBook Pro (3,1) from 2007. It has Intel’s Core 2 Duo running 2.2 GHz. Unfortunately the battery is dead or electronics reponsible for charging it. It arrived fully charged and was working for like 2 hours or so.",
      "reading_minutes": 1,
      "words": 140,
      "code_languages": []
    },
    {
      "title": "Elasticsearch 7: Could not locate that index-pattern",
      "url": "https://michalasobczak.pl/posts/elasticsearch-7-could-not-locate-that-index-pattern.html",
      "markdown": "https://michalasobczak.pl/posts/elasticsearch-7-could-not-locate-that-index-pattern.md",
      "published": "2022-07-21T13:37:52.000Z",
      "updated": "2022-09-06T10:45:49.000Z",
      "language": "en",
      "categories": [
        "Technology"
      ],
      "tags": [
        "ElasticSearch"
      ],
      "summary": "Recently I’ve been tryout Elasticsearch 7 with Kibana and Metricbeat as well as Filebeat. I encountered some issues with indices so I dropped dashboards and visualizations and tried to load them again. I also cleared indices and patterns thru index management page.",
      "reading_minutes": 1,
      "words": 269,
      "code_languages": [
        "bash"
      ]
    },
    {
      "title": "(X)Ubuntu on ThinkPad T61",
      "url": "https://michalasobczak.pl/posts/xubuntu-on-thinkpad-t61.html",
      "markdown": "https://michalasobczak.pl/posts/xubuntu-on-thinkpad-t61.md",
      "published": "2022-07-14T06:53:41.000Z",
      "updated": "2024-08-29T08:27:15.000Z",
      "language": "en",
      "categories": [
        "Hobby"
      ],
      "tags": [
        "Vintage Computing"
      ],
      "summary": "Recently I got Lenovo ThinkPad T61 in working conditions. It has Intel Core 2 Duo T7100 @1.8 GHz, 4 GB of DDR2.",
      "reading_minutes": 1,
      "words": 284,
      "code_languages": []
    },
    {
      "title": "OpenCL",
      "url": "https://michalasobczak.pl/posts/opencl.html",
      "markdown": "https://michalasobczak.pl/posts/opencl.md",
      "published": "2022-05-03T11:42:21.000Z",
      "updated": "2022-09-13T22:00:06.000Z",
      "language": "pl",
      "categories": [
        "Publications"
      ],
      "tags": [
        "HPC",
        "OpenCL"
      ],
      "summary": "Programowanie CPU i GPU “Mamy rok 2022. Minęła ponad dekada od pojawienia się OpenCL. Omówię standard, przykładowy sprzęt, a także zaprezentuję rzeczywiste przykłady, które można wykorzystywać obecnie zarówno na historycznym jak i najnowszym sprzęcie, co ma pokazać swego rodzaju uniwersalność tego rozwiązania. Przy okazji zobaczymy jak ewoluowała technologia na przestrzeni ostatnich lat i czy teoria odpowiada praktyce.",
      "reading_minutes": 1,
      "words": 93,
      "code_languages": []
    },
    {
      "title": "Simple High Performance Computing",
      "url": "https://michalasobczak.pl/posts/simple-high-performance-computing.html",
      "markdown": "https://michalasobczak.pl/posts/simple-high-performance-computing.md",
      "published": "2021-10-22T18:47:17.000Z",
      "updated": "2022-09-13T21:59:51.000Z",
      "language": "pl",
      "categories": [
        "Publications"
      ],
      "tags": [
        "electricity",
        "HPC"
      ],
      "summary": "Podstawy elektroniki i budowa komputera w symulatorze “Jest to pierwsza część serii Simple High Performance Computing o tytule Podstawy elektroniki i budowa komputera w symulatorze. Swoim zakresem obejmuje zagadnienia związane z elektroniką, a konkretnie jej podstawami, począwszy od pierwotnych zasad fizyki przekładających się na komponenty elektroniczne, z których można budować złożone układy, a finalnie najprostszą obliczeniową maszynę cyfrową.",
      "reading_minutes": 1,
      "words": 72,
      "code_languages": []
    },
    {
      "title": "How to import files into darktable",
      "url": "https://michalasobczak.pl/posts/how-to-import-files-into-darktable.html",
      "markdown": "https://michalasobczak.pl/posts/how-to-import-files-into-darktable.md",
      "published": "2021-07-23T20:48:44.000Z",
      "updated": "2021-09-17T21:23:28.000Z",
      "language": "en",
      "categories": [
        "Photography"
      ],
      "tags": [],
      "summary": "If you try using darktable 3.6 and previously been using older versions then you may be confused. In lighttable, import pane there are two buttons instead of one. Below you can find a little explanation. 1.",
      "reading_minutes": 1,
      "words": 251,
      "code_languages": []
    },
    {
      "title": "RAW processing with darktable 3.6",
      "url": "https://michalasobczak.pl/posts/raw-processing-with-darktable-3-6.html",
      "markdown": "https://michalasobczak.pl/posts/raw-processing-with-darktable-3-6.md",
      "published": "2021-07-22T21:29:16.000Z",
      "updated": "2021-09-17T21:23:33.000Z",
      "language": "en",
      "categories": [
        "Photography"
      ],
      "tags": [],
      "summary": "If you shoot RAW then most probably you need to have dedicated software for processing such files. I use darktable, however it is worth to mention that Windows Explorer and built-in image viewer can display RAW image. Just in case there is no other software available at the moment.",
      "reading_minutes": 1,
      "words": 294,
      "code_languages": []
    },
    {
      "title": "YN50/1.8 vs Nikkor 35-70 3.3/4.5 – sharpness comparison",
      "url": "https://michalasobczak.pl/posts/yn50-1-8-vs-nikkor-35-70-3-3-4-5-sharpness-comparison.html",
      "markdown": "https://michalasobczak.pl/posts/yn50-1-8-vs-nikkor-35-70-3-3-4-5-sharpness-comparison.md",
      "published": "2021-07-21T17:03:39.000Z",
      "updated": "2021-09-17T21:23:38.000Z",
      "language": "en",
      "categories": [
        "Photography"
      ],
      "tags": [],
      "summary": "I started wondering if cheap YN lens can be compared with with some cheap Nikkor lens. Yes it can. I shoot same lens cap with Nikon D200 with these two lenses with are Yongnuo 50mm/f1.8 and Nikkor 35 – 70mm f3.3/4.5.",
      "reading_minutes": 1,
      "words": 220,
      "code_languages": []
    },
    {
      "title": "Nikon D7100 vs D200",
      "url": "https://michalasobczak.pl/posts/nikon-d7100-vs-d200.html",
      "markdown": "https://michalasobczak.pl/posts/nikon-d7100-vs-d200.md",
      "published": "2021-07-20T20:03:11.000Z",
      "updated": "2021-09-17T21:23:41.000Z",
      "language": "en",
      "categories": [
        "Photography"
      ],
      "tags": [],
      "summary": "Some time ago I got rid of my D200. But now I have another one in excellent shape. In the past I upgrade from it to D7100 which is better in terms of resolution, sharpness and features.",
      "reading_minutes": 1,
      "words": 99,
      "code_languages": []
    },
    {
      "title": "Poradnik dla miłośników roślin – to nie jest takie trudne",
      "url": "https://michalasobczak.pl/posts/poradnik-dla-milosnikow-roslin-to-nie-jest-takie-trudne.html",
      "markdown": "https://michalasobczak.pl/posts/poradnik-dla-milosnikow-roslin-to-nie-jest-takie-trudne.md",
      "published": "2020-11-03T08:58:38.000Z",
      "updated": "2022-09-13T21:59:39.000Z",
      "language": "pl",
      "categories": [
        "Publications"
      ],
      "tags": [],
      "summary": "“Był początek lat dziewięćdziesiątych, kiedy przed moim mężem pojawiła się szansa otrzymania działki pracowniczej. Co prawda na razie było to wysypisko śmieci na obrzeżach istniejącego kilkanaście lat Ogrodu. Czekała nas przeogromna praca. Nasze dzieci mówiły na ten kawałek ziemi „Kambodża”. Musieliśmy wywieźć sterty śmieci, złomu i szkła…” – Ridero. 2019 (ISBN 9788381893862).",
      "reading_minutes": 1,
      "words": 53,
      "code_languages": []
    },
    {
      "title": "Ruby on Rails – ćwiczenia",
      "url": "https://michalasobczak.pl/posts/ruby-on-rails-cwiczenia.html",
      "markdown": "https://michalasobczak.pl/posts/ruby-on-rails-cwiczenia.md",
      "published": "2020-11-03T08:54:49.000Z",
      "updated": "2022-09-13T12:44:15.000Z",
      "language": "pl",
      "categories": [
        "Publications"
      ],
      "tags": [
        "Rails",
        "Ruby"
      ],
      "summary": "“Dzięki książce “Ruby on Rails. Ćwiczenia” opanujesz podstawy tworzenia aplikacji internetowych za pomocą tej technologii. Nauczysz się programować w języku Ruby: poznasz jego elementy i zasady projektowania obiektowego, metody przetwarzania danych tekstowych, pracy z plikami i katalogami oraz obsługi błędów i wyjątków.",
      "reading_minutes": 1,
      "words": 70,
      "code_languages": []
    },
    {
      "title": "NIKON D7100, Yongnuo 50/1.8",
      "url": "https://michalasobczak.pl/posts/nikon-d7100-yongnuo-50-1-8.html",
      "markdown": "https://michalasobczak.pl/posts/nikon-d7100-yongnuo-50-1-8.md",
      "published": "2020-11-01T21:01:47.000Z",
      "updated": "2021-09-17T21:23:54.000Z",
      "language": "en",
      "categories": [
        "Photography"
      ],
      "tags": [],
      "summary": "It is a 24 megapixels digital SR camera. Sadly to say that I do not use this maximum resolution, because files are just too big. I even skipped using NEF raw files they are just enourmously huge for me. You can choose between 6 MP, 16MP and 24MP.",
      "reading_minutes": 2,
      "words": 526,
      "code_languages": []
    },
    {
      "title": "Adapting SMENA 8M lens to NIKON F",
      "url": "https://michalasobczak.pl/posts/adapting-smena-8m-lens-to-nikon-f.html",
      "markdown": "https://michalasobczak.pl/posts/adapting-smena-8m-lens-to-nikon-f.md",
      "published": "2020-09-30T19:23:18.000Z",
      "updated": "2021-09-17T21:23:58.000Z",
      "language": "en",
      "categories": [
        "Photography"
      ],
      "tags": [],
      "summary": "As previously stated, I tried to adapt SMENA 8M 40mm, f/4.0 lens to some DSLR. After week with no camera at all today I got my almost brand new NIKON D70s with only 1k pictures taken.",
      "reading_minutes": 1,
      "words": 114,
      "code_languages": []
    },
    {
      "title": "SMENA 8M 40mm, f/4.0 lens",
      "url": "https://michalasobczak.pl/posts/smena-8m-40mm-f-4-0-lens.html",
      "markdown": "https://michalasobczak.pl/posts/smena-8m-40mm-f-4-0-lens.md",
      "published": "2020-09-27T19:34:41.000Z",
      "updated": "2021-09-17T21:24:02.000Z",
      "language": "en",
      "categories": [
        "Photography"
      ],
      "tags": [],
      "summary": "Continuing with USSR made SMENA 8M. I decided to take apart lens unit. It consist of upper cover with levers and lower unit with shutter blades, shutter spring-based mechanism and optics. There are three blades. They are mounted on pins located on the rotating plate.",
      "reading_minutes": 1,
      "words": 305,
      "code_languages": []
    },
    {
      "title": "SMENA 8M, 35mm camera",
      "url": "https://michalasobczak.pl/posts/smena-8m-35mm-ussr-compact-camera.html",
      "markdown": "https://michalasobczak.pl/posts/smena-8m-35mm-ussr-compact-camera.md",
      "published": "2020-09-27T12:47:51.000Z",
      "updated": "2021-09-17T21:24:05.000Z",
      "language": "en",
      "categories": [
        "Photography"
      ],
      "tags": [],
      "summary": "I got this one as an exchange item for some old LCD TV. It is 35mm film compact camera made in USSR. Having quite a big monopoly on the eastern market, Soviet Russia manufacturer brought over 30 million of these to the markets. SMENA 8M is a very lightweight camera.",
      "reading_minutes": 3,
      "words": 575,
      "code_languages": []
    },
    {
      "title": "KIMUNOR 300mm f/5.6",
      "url": "https://michalasobczak.pl/posts/kimunor-300mm-f-5-6.html",
      "markdown": "https://michalasobczak.pl/posts/kimunor-300mm-f-5-6.md",
      "published": "2020-09-18T19:22:06.000Z",
      "updated": "2021-09-17T21:24:09.000Z",
      "language": "en",
      "categories": [
        "Photography"
      ],
      "tags": [],
      "summary": "It seems to be very decent lens. Especially speaking of build quality which is glass and metal with very little rubber and plastic. It is prime lens at 300mm with constant f/5.6. It is quite light. Has 3 rings. First to adjust focus. Second to adjust aperture.",
      "reading_minutes": 1,
      "words": 269,
      "code_languages": []
    },
    {
      "title": "COSMOS AUTO TELEPLUS 2x",
      "url": "https://michalasobczak.pl/posts/cosmos-auto-teleplus-2x-with-nikon-and-vivitar-lenses.html",
      "markdown": "https://michalasobczak.pl/posts/cosmos-auto-teleplus-2x-with-nikon-and-vivitar-lenses.md",
      "published": "2020-09-17T21:11:00.000Z",
      "updated": "2020-11-01T09:14:36.000Z",
      "language": "en",
      "categories": [
        "Photography"
      ],
      "tags": [],
      "summary": "Made in Japan. This teleconverter fits on NIKON F cameras. It is a MF thing, however it has automatic aperture control as stated in its name “AUTO”. It increases focal length by the factor of 2. It came with a very elegant zipping pocket.",
      "reading_minutes": 1,
      "words": 313,
      "code_languages": []
    },
    {
      "title": "NIKON D200",
      "url": "https://michalasobczak.pl/posts/nikon-d200.html",
      "markdown": "https://michalasobczak.pl/posts/nikon-d200.md",
      "published": "2020-09-04T20:25:49.000Z",
      "updated": "2021-09-17T21:24:16.000Z",
      "language": "en",
      "categories": [
        "Photography"
      ],
      "tags": [],
      "summary": "I was looking for NIKON camera that will allow me to use manual focus lenses with proper light metering. I found that D200 would suite this need. It a 10 megapixels camera with SONY ICX-483-AQA sensor. It seems that is the only camera using this one.",
      "reading_minutes": 2,
      "words": 487,
      "code_languages": []
    },
    {
      "title": "NIKON D70S",
      "url": "https://michalasobczak.pl/posts/nikon-d70s.html",
      "markdown": "https://michalasobczak.pl/posts/nikon-d70s.md",
      "published": "2020-08-13T20:31:56.000Z",
      "updated": "2020-11-01T09:16:33.000Z",
      "language": "en",
      "categories": [
        "Photography"
      ],
      "tags": [],
      "summary": "This would be my favorite and the only one digital camera, except one thing. It does not meter light on AI lenses, unfortunately. My copy already shot almost 50 000 pictures. It shows no wear at all, including battery.",
      "reading_minutes": 5,
      "words": 1014,
      "code_languages": []
    },
    {
      "title": "NIKKOR 50 f/2",
      "url": "https://michalasobczak.pl/posts/nikkor-50-f-2.html",
      "markdown": "https://michalasobczak.pl/posts/nikkor-50-f-2.md",
      "published": "2020-08-13T16:14:41.000Z",
      "updated": "2020-11-01T09:16:49.000Z",
      "language": "en",
      "categories": [
        "Photography"
      ],
      "tags": [],
      "summary": "This is one of my favorites. It is a NIKON F mount, AI lens with constant speed at f/2. It is a regular/normal lens. It has no AF, only MF. This copy come from between 1977 and 1979. It is clean inside. Focus and aperture ring operate very well.",
      "reading_minutes": 1,
      "words": 274,
      "code_languages": []
    },
    {
      "title": "SOLIGOR 70-150 F/3.5 MC",
      "url": "https://michalasobczak.pl/posts/soligor-70-150-f-3-5-mc.html",
      "markdown": "https://michalasobczak.pl/posts/soligor-70-150-f-3-5-mc.md",
      "published": "2020-08-13T15:12:37.000Z",
      "updated": "2020-11-01T09:17:07.000Z",
      "language": "en",
      "categories": [
        "Photography"
      ],
      "tags": [],
      "summary": "As always I bought it for next to nothing. It is NIKON F mount lens. To be more precise it it a AI lens. No AI-S features. This review will be a little shorter than usually, because the lens is crippled by malfunctioning aperture blades.",
      "reading_minutes": 2,
      "words": 432,
      "code_languages": []
    },
    {
      "title": "VIVITAR 70-210 F/4.5 MC",
      "url": "https://michalasobczak.pl/posts/vivitar-70-210-f-4-5-mc.html",
      "markdown": "https://michalasobczak.pl/posts/vivitar-70-210-f-4-5-mc.md",
      "published": "2020-08-13T10:14:21.000Z",
      "updated": "2020-11-01T09:17:03.000Z",
      "language": "en",
      "categories": [
        "Photography"
      ],
      "tags": [],
      "summary": "Together with NIKON 75-150 f/3.5 and SOLIGOR 70-150 f/3.5 I recently purchased this one, which is NIKON F mount VIVITAR 70-210 telephoto lens with constant f/4.5. My main criteria did not change, so it should be reasonably priced and built. I thought that this would be a good one.",
      "reading_minutes": 3,
      "words": 648,
      "code_languages": []
    },
    {
      "title": "NIKON 35mm film MF/AF – camera/lens compatibility",
      "url": "https://michalasobczak.pl/posts/nikon-35mm-film-mf-af-camera-lens-compatibility.html",
      "markdown": "https://michalasobczak.pl/posts/nikon-35mm-film-mf-af-camera-lens-compatibility.md",
      "published": "2020-08-13T06:40:56.000Z",
      "updated": "2020-11-01T09:17:19.000Z",
      "language": "en",
      "categories": [
        "Photography"
      ],
      "tags": [],
      "summary": "As many know, NIKON cameras and lenses have been heavily used by pros in the 1970-1980. They invest a lot in their gear. That is why the compatibility is important. You do not choose only a camera or lens, you choose complete system.",
      "reading_minutes": 2,
      "words": 470,
      "code_languages": []
    },
    {
      "title": "Jakość oprogramowania. Podręcznik dla profesjonalistów",
      "url": "https://michalasobczak.pl/posts/jakosc-oprogramowania-podrecznik-dla-profesjonalistow.html",
      "markdown": "https://michalasobczak.pl/posts/jakosc-oprogramowania-podrecznik-dla-profesjonalistow.md",
      "published": "2020-08-12T21:10:38.000Z",
      "updated": "2022-09-13T12:44:25.000Z",
      "language": "pl",
      "categories": [
        "Publications"
      ],
      "tags": [
        "Quality"
      ],
      "summary": "“Czym jest jakość oprogramowania? Czy to wyłącznie miara technicznej doskonałości kodu? A może jakość to coś znacznie więcej? Czy niezawodne działanie i brak błędów świadczą o wysokiej jakości programu? Co charakteryzuje kod, który można uznać za dobry? Jak mierzy się jakość w projektach informatycznych?",
      "reading_minutes": 1,
      "words": 129,
      "code_languages": []
    },
    {
      "title": "Programowanie w języku Ruby. Mikrousługi i konteneryzacja",
      "url": "https://michalasobczak.pl/posts/programowanie-w-jezyku-ruby-mikrouslugi-i-konteneryzacja.html",
      "markdown": "https://michalasobczak.pl/posts/programowanie-w-jezyku-ruby-mikrouslugi-i-konteneryzacja.md",
      "published": "2020-08-12T21:07:13.000Z",
      "updated": "2022-09-13T12:44:36.000Z",
      "language": "pl",
      "categories": [
        "Publications"
      ],
      "tags": [
        "Rails",
        "Ruby"
      ],
      "summary": "“Ruby to nowoczesny, wieloparadygmatowy, interpretowany język programowania. Wraz z platformą Rails stanowi jedno z najpopularniejszych rozwiązań służących do szybkiego tworzenia aplikacji sieciowych; wspiera wiele znanych serwisów dostępnych w internecie.",
      "reading_minutes": 1,
      "words": 148,
      "code_languages": []
    },
    {
      "title": "NIKON 75-150 f/3.5, SERIES E",
      "url": "https://michalasobczak.pl/posts/nikon-75-150-f-3-5-series-e.html",
      "markdown": "https://michalasobczak.pl/posts/nikon-75-150-f-3-5-series-e.md",
      "published": "2020-08-12T20:42:27.000Z",
      "updated": "2021-09-17T21:24:41.000Z",
      "language": "en",
      "categories": [
        "Photography"
      ],
      "tags": [],
      "summary": "Recently I have been looking for some old style NIKON F AI MF lenses across the internet. I got this one. It is a discount, costs next to nothing. Of course it’s not only about the money, but about the performance you can get from it.",
      "reading_minutes": 3,
      "words": 699,
      "code_languages": []
    }
  ]
}