0%

Introduction

A CAPTCHA (/kæp.tʃə/, an acronym for “completely automated public Turing test to tell computers and humans apart”) is a type of challenge–response test used in computing to determine whether or not the user is human.

The term was coined in 2003 by Luis von Ahn, Manuel Blum, Nicholas J. Hopper, and John Langford. The most common type of CAPTCHA (displayed as Version 1.0) was first invented in 1997 by two groups working in parallel. This form of CAPTCHA requires that the user type the letters of a distorted image, sometimes with the addition of an obscured sequence of letters or digits that appears on the screen. Because the test is administered by a computer, in contrast to the standard Turing test that is administered by a human, a CAPTCHA is sometimes described as a reverse Turing test.

Wikipedia ── CAPTCHA

驗證碼的主要目的在於辨別人類與電腦,目前主流為圖形文字認證,也就是顯示一張背景干擾、文字扭曲的英數圖片,要求使用者填入圖片中的文字,並在比對確認無誤後才可進行接下來的操作(如留言、交易等)。在過往,由於影像的破損,使電腦因為無法從背景的雜訊中讀出這些字母而難以辨識,但受惠於硬體效能的提升與深度學習的崛起,使電腦得以透過機器學習來辨識驗證碼影像並帶有高準確率。目前主流的機器學習庫包含 PyTorch、Tensorflow(with Keras)等,在本文中,我們選擇 PyTorch 作為使用的機器學習庫,並以此建立一神經網路對台灣高鐵網站上的驗證碼進行訓練與辨識。

在開始前,我們先分別以字元與影響兩個方向對高鐵驗證碼進行觀察與分析:

Captcha example

Read more »

Introduction

在 HTML 的 anchor 中,我們可以在 href 屬性中加入 mailto 讓使用者點擊連結時自動開啟 Mail Agent(例如 Outlook),但對於不常使用的人來說,這常常使得使用者誤觸而相當惱人。因此在本篇文章中,我們將實作一個 Chrome 擴充元件,令使用者點擊到 mailto 連結時,改為複製電子郵件位置而不打開 Mail Agent。

Implementation

在實作前,我們先定義擴充元件的功能與流程:

Read more »

Introduction

在美國時間四月二號,Visual Studio 2019 發布了正式版本。而如同先前的預覽版,Visual Studio 2019 除了在一些方面上改進了 2017 的功能外,亦新增了一些功能。

本文將會介紹一些較為常用或特別的功能,若要取得完整的功能摘要可以檢閱官方文件 Visual Studio Release Note,或從官方部落格獲得詳細的發行訊息:

Summary

Read more »

Introduction

在本篇文章中,將會:

  • 安裝 CentOS 7 並建立基本環境
  • 安裝 Nginx 並將 ASP.NET Core 包成服務自動啟動
  • 安裝 Certbot 並申請 SSL 憑證使連線允許安全的 HTTPS
  • 透過 Certbot 與 Crontab 使 SSL 證書可以自動更新

Steps

Environment

Read more »

example-qrcode-image

Introduction

最近在翻閱 ZXing 文件時,意外發現行動裝置可以掃描透過 QR Code 來加入 Wi-Fi。因此本篇就利用這個概念,透過 .NET Core 來實作一個可以以命令列產生 Wi-Fi Network Config QR Code 的 Console Application。

註:此方法目前僅適用於 Android, iOS 11+。

WiFiQRCode

Read more »

Introduction

通常程式預設起始位置為視窗正中間,但有時因為手殘動到導致視窗歪了、不在正中間了,身為強迫症患者就會越看越賭爛。因此本篇將記錄一下,利用 C# 來控制 Windows 中其他應用程式的視窗大小與位置。

Supports

Windows 7sp1/8/8.1/10 with .NET Framework 4.6.1 (or higher)

Code

Read more »

目前此問題已於 0.6.1-2ubuntu0.3 版本中修復,詳見 xRDP Changelog

2019-01-22 20:06:16 UTC
Version: 0.6.1-2ubuntu0.3
xrdp (0.6.1-2ubuntu0.3) xenial-security; urgency=medium

  • SECURITY REGRESSION: Fix conection problem (LP: #1811122).

– Paulo Flabiano Smorigo <email address hidden> Wed, 16 Jan 2019 22:26:35 -0200

Introduction

After upgrading xrdp from 0.6.1-2 to 0.6.1-2ubuntu0.1, xrdp would fail when logging into sesman-Xvnc.

Log:

1
2
3
4
5
6
7
8
9
10
connecting to sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login info to session manager, please wait...
xrdp_mm_process_login_response: login successful for display
started connecting
connecting to 127.0.0.1 5910
tcp connected
security level is 2 (1 = none, 2 = standard)
password failed
error - problem connecting
Read more »

GitHub announces unlimited private repos

在 2018 年 01 月 07 日,GitHub 宣布兩項主要更新,讓開發人員更容易訪問 GitHub:

  1. GitHub Free 現在包含無限的私有儲存庫(Private Repositories),每個私人儲存庫最多可免費有三個協同開發者。
  2. GitHub Enterprise 是由 Enterprise Cloud(舊名 GitHub Business Cloud)和 Enterprise Server(舊名 GitHub Enterprise)所統一的新產品,透過 GitHub Connect 可以更安全的連接,此外提供的混和選項讓開發者可以在跨兩種環境無縫工作。

References

Read more »

修改 Terminal,將完整路徑改為當前目錄

1
2
sed -i 's/\\w/\\W/g' ~/.bashrc
source ~/.bashrc

開啟 Minimise On Click

1
gsettings set org.compiz.unityshell:/org/compiz/profiles/unity/plugins/unityshell/ launcher-minimize-window true

設定關閉螢幕之閒置時間

Read more »

Install EDA Tools in CentOS 7

關於安裝完畢後設定使用者環境變數,可參考 CentOS 7 Environment Setup #EDA-Tools-Environment 進行設定。

Cadence

在安裝 Candence 軟體前,建議先安裝以下 Packages:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# libmng.so.1
$ yum install -y libmng.x86_64

# libpng12.so.0
$ yum install -y libpng12.x86_64

# libtiff.so.3
$ yum install -y compat-libtiff3.x86_64

# libXp.so.6
$ yum install -y libXp.x86_64

# libXss.so.1
$ yum install -y libXScrnSaver.x86_64

# ksh
$ yum install -y ksh
Read more »