之前在 使用 PhotoScapeX 快速接合兩張圖 這篇文章裡,

有網友留言說有軟體可以做到自動抓取捲動視窗的截圖,

不過因為我是用 Mac,因此網友推薦的 PicPic (Windows) 我不能用,

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

最近真的是用 iPhone 上的 Workflow app 用上癮了 :P

剛用它 自動將選取的文字加到 Wunderlist 中

以及 用 Workflow app 做出常用剪貼簿文字清單

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

最近看到 Mac 推出夜間模式 Night Shift,根據時區自動調整螢幕亮度

立刻來試試看效果吧~

 

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

從今年的 3/15 開始,Dropbox 原本的公開資料夾就失效了

放在裡面的檔案的公開連結也都不再能用。

但像我有在圖書館多重帳戶登入這個 app 裡面,去讀取 Dropbox 的一個公開檔案,

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

最近將 iPhone 上的簡訊刪除之後,

才突然發現有個優惠的活動,必須要將簡訊給店員看,才能使用... =_=

真是尷尬,趕緊去找找看簡訊復原的方法~

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

最近很紅的新聞就是 Apple Pay 已經可以在台灣使用了,

再加上義美這幾天會有用 Apply Pay 付款的優惠,立刻將信用卡加入看看~

 

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

之前在 Dropbox 裡放了一個擋廣告的 JavaScript 檔,方便在部落格的文章裡使用,

不料最近 Dropbox 修改了 Public 目錄的分享方式,

導致得重新取得分享連結,而新的連結和舊的連結不一樣,

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

我在圖書館多重帳戶登入這個 Chrome 擴充功能裡面,會去讀取 Dropbox 的一個檔案,

不過最近因為 Dropbox 將 Public 目錄設成非公開分享,

因此重新去取得了新的分享連結,再讓擴充功能去讀取,

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

iPhone 上的 Workflow app 確實是個好東西,

昨天剛用它自動將選取的文字加到 Wunderlist 中

今天又發現了另一個用途:製作常用的剪貼簿句子列表~

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

在 CentOS 7 上一直是使用它內建的 vino-server 來做 VNC server 使用,

不過常常遇到一個奇怪的問題:用 Mac 可以連上 VNC server,

也可以看到 CentOS 的畫面,可是常常無法操作,滑鼠鍵盤都沒有反應...

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

之前剛從 Android 換到 iPhone 時,就有在找自動化的 app,

那時有看到 Workflow 這個 app,只是要付費才能使用,所以就沒有碰過...

最近看到 Apple 買下 iPhone 上做自動化的 Workflow app,而且還變成免費使用, 

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

今天在更新 Homebrew 時突然出現一個從沒看過的錯誤,

說 could not read Username for https://github.com:

testuser@localhost ~ $ brew update

fatal: could not read Username for 'https://github.com': terminal prompts disabled
Error: Fetching /usr/local/Homebrew/Library/Taps/koekeishiya/homebrew-kwm failed!
文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

在寫網誌時常常會需要抓一些螢幕上操作的圖,

但有時候視窗的內容無法在一頁之內全部顯示,得捲動視窗才行,

但又想要可以抓一張圖將完整的視窗顯示出來...

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(1) 人氣()

今天用 C++ 呼叫 openssl 來計算一個檔案的 SHA1 值,

簡單用這篇記錄一下寫完的函式吧:

#include <openssl/sha.h>

std::string CalcFileSHA1(const char* pFilePath)
{
    std::string sResult = "";

    if (pFilePath != NULL && *pFilePath != '\0')
    {
        FILE* pf = fopen(pFilePath, "rb");
        if (pf)
        {
            // Initialize sha1 context
            SHA_CTX ctx = {};
            int nRet = SHA1_Init(&ctx);
            if (nRet == SHA_FUNC_RET_SUCCESS)
            {
                char buffer[2048] = {};
                size_t nBytesRead = 0;
                while (!feof(pf))
                {
                    // Read some bytes
                    nBytesRead = fread(buffer, 1, sizeof(buffer), pf);
                    if (nBytesRead == 0)
                    {
                        break;
                    }

                    // Update bytes into sha1 context
                    if ((nRet = SHA1_Update(&ctx, buffer, nBytesRead)) != SHA_FUNC_RET_SUCCESS)
                    {
                        printf("Failed to update sha1 context while calculating sha1 of [%s]: nRet=%d\n", pFilePath, nRet);
                        break;
                    }
                }

                if (nRet == SHA_FUNC_RET_SUCCESS)
                {
                    // Finalize sha1 calculation
                    if ((nRet = SHA1_Final(reinterpret_cast<unsigned char*>(buffer), &ctx)) == SHA_FUNC_RET_SUCCESS)
                    {
                        snprintf(buffer+SHA_DIGEST_LENGTH, sizeof(buffer)-SHA_DIGEST_LENGTH, "%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
                                static_cast<unsigned char>(buffer[0]),
                                static_cast<unsigned char>(buffer[1]),
                                static_cast<unsigned char>(buffer[2]),
                                static_cast<unsigned char>(buffer[3]),
                                static_cast<unsigned char>(buffer[4]),
                                static_cast<unsigned char>(buffer[5]),
                                static_cast<unsigned char>(buffer[6]),
                                static_cast<unsigned char>(buffer[7]),
                                static_cast<unsigned char>(buffer[8]),
                                static_cast<unsigned char>(buffer[9]),
                                static_cast<unsigned char>(buffer[10]),
                                static_cast<unsigned char>(buffer[11]),
                                static_cast<unsigned char>(buffer[12]),
                                static_cast<unsigned char>(buffer[13]),
                                static_cast<unsigned char>(buffer[14]),
                                static_cast<unsigned char>(buffer[15]),
                                static_cast<unsigned char>(buffer[16]),
                                static_cast<unsigned char>(buffer[17]),
                                static_cast<unsigned char>(buffer[18]),
                                static_cast<unsigned char>(buffer[19]));
                        sResult = buffer+SHA_DIGEST_LENGTH;
                    }
                    else
                    {
                        printf("Failed to finalize sha1 context while calculating sha1 of [%s]: nRet=%d\n", pFilePath, nRet);
                    }
                }
            }
            else
            {
                printf("Failed to init sha1 context while calculating sha1 of [%s]: nRet=%d\n", pFilePath, nRet);
            }

            // Close file handle
            fclose(pf);
        }
        else
        {
            printf("Failed to open [%s] to calculate sha1!\n", pFilePath);
        }
    }
    else
    {
        printf("Invalid parameter for CalcFileSHA1: file path cannot be empty!\n");
    }

    return sResult;
}
文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

最近在嘗試將文章匯入到 Blogger,不過一直有些問題,

所以又得將 Blogger 裡的文章全部刪除...

原本想說用設定 > 其他 > 刪除網誌,

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

找更多相關文章與討論