RSS

Posts in 2021

  • Add comments to Static blog like Hugo, Jekyll with Isso

    Last Update: in Hugo

    How to add comments in Hugo with Isso commenting server? The setup should work with other static blog system like Jekyll, next.js, Gatsby, Nuxt, Hexo, Slate, Docusaurus, VuePress, Docsify, MkDocs etc. in similar way. Get to know more depth about Isso API and database schema.

    Isso Introduction Isso is a Disqus alternative commenting server for static web sites. It is a lightweight commenting server written in Python and JavaScript. It aims to be a drop-in replacement for Disqus. The benefits of Isso compare to Disqus: …

    Read more

  • Fix Slow Wi-Fi on Mac OS X by Reset Wi-Fi configuration and Advanced Wireless Troubleshooting

    in Mac

    Fix Slow Wi-Fi on Mac OS X by Reset Wi-Fi configuration and Advanced Wireless Troubleshooting. After use Mac OS X for a long time or OS upgrade, the signal indicate the wifi connection is in good state, however the Wifi connection speed became very slow, with speed test result less than 1MB/s in very good router signal coverage.

    Slow Wi-Fi Symptom After use Mac OS X for a long time or OS upgrade, the signal indicate the wifi connection is in good state, however the Wifi connection speed became very slow, with speed test result less than 1MB/s in very good router signal …

    Read more

  • Troubleshooting ProtonVPN Linux cli EnableIPv6LeakProtectionError: Unable to add IPv6 leak protection connection/interface

    in Linux

    protonvpn-cli connect report An unknown error has occured. Please ensure that you have internet connectivity. If the issue persists, please contact support. protonvpn-cli.log show error protonvpn_nm_lib.exceptions.EnableIPv6LeakProtectionError: Unable to add IPv6 leak protection connection/interface protonvpn.log show Error: Failed to add ‘pvpn-ipv6leak-protection’ connection: Insufficient privileges.

    Environment Linux OS: Debian 10 Buster 64 bit (Fresh install with default options). $ uname -a Linux debian10 4.19.0-17-amd64 #1 SMP Debian 4.19.194-3 (2021-07-18) x86_64 GNU/Linux $ protonvpn-cli -v ProtonVPN CLI v3.8.0 (protonvpn-nm-lib v3.3.2; …

    Read more

  • Tips on Hugo SEO

    Last Update: in Hugo

    Tips on Hugo SEO (Search Engine Optimization). Add describe metadata, link build, handle external link, lighthouse SEO checklist etc.

    Hugo is one of the most popular open-source static site generators. With its amazing speed and flexibility, Hugo makes building websites fun again. However the default hugo template does not take too much consideration on SEO. Here are some tips to …

    Read more

  • Custom hugo RSS template

    Last Update: in Hugo

    Custom hugo RSS content. Add lastBuildDate to show the page last modification time. Make a custom description like adding image, use description field instead of summary or content.

    Hugo ships with its own RSS 2.0 template, it generated the RSS feed file as index.xml and embedded into index.html header. e.g. {{ range .AlternativeOutputFormats -}} {{ printf `<link rel="%s" type="%s" href="%s" >` .Rel …

    Read more

  • Hugo troubleshooting: execute of template failed: can't give argument to non-function

    Last Update: in Hugo

    render of “page” failed: execute of template failed: can’t give argument to non-function …

    Symptom After upgrade hugo from 0.62.2 to 0.79.1 and run hugo build got following error: $ HUGO_ENV="production" hugo Start building sites … ERROR 2021/05/05 15:01:35 render of "page" failed: execute of template failed: template: …

    Read more

  • Android OkHttp change User-Agent header

    in Android

    Android OkHttp addHeader(“User-Agent”) does not work troubleshooting.

    Symptom Use OkHttpClient.Builder() to add User-Agent header. val okHttpClient = OkHttpClient.Builder() .addNetworkInterceptor { chain -> val requestBuilder = chain.request().newBuilder() .addHeader("User-Agent", userAgent) With this code, …

    Read more

  • Various ways to load PDF in Android webview

    Last Update: in Android

    Android webview can not load PDF file by default. Luckily, there are various ways to how to load PDF file in Android webview, like use google service, pdf.js etc.

    Android webview can not load PDF file by default. :( Luckily, there are various ways to how to load PDF file in Android webview. Open Intent with startActivity If your requirement does not need use embedded webview to show PDF, you can just use …

    Read more

  • Weird Android junit test failure java.lang.NoClassDefFoundError: android/content/Context

    in Android

    Symptom Have a Android project run junit test fine, suddenly it failed to run unit test with following error: xxxxTest initializationError java.lang.NoClassDefFoundError: android/content/Context at java.lang.Class.getDeclaredMethods0(Native Method) …

    Read more

  • ECDSA signature verify in kotlin and Golang

    Last Update: in Security

    How to verify ECDSA signature generated by kotlin and verify it in Go?

    Introduction Elliptic Curve Digital Signature Algorithm (ECDSA) offers a variant of the Digital Signature Algorithm (DSA) which uses elliptic curve cryptography. ECDSA keys and signatures are shorter than in RSA for the same security level. A 256-bit …

    Read more