Category: 自由開源
-
Stacksort – 基於 stackoverflow 的排序法
總之這個排序法很簡單,給定一個含有字串或是數字的陣列,或是 json 格式也行。這個排序法就會透過 stackoverflow 的網站,搜尋被 tag 為 “javascript” 以及 “sort” 的問題。接著再透過爬蟲一個一個題目翻過去,接著在答案堆裏面尋找正確的答案。 什麼,你說答案錯了? 沒關係,請點擊 Try the next answer,繼續尋找正確的答案吧。 什麼,你說找了五分鐘還找不到答案? 沒關係,hacker news 下面已經有人找到解決方式了: The key last step is to have it automatically post questions to StackOverflow to fill in the last code snippets it can’t complete. 下一步就是幫你把無法解決的問題貼到 stackoverflow 上,這樣問題就會被解決了!
-
全面竄改 git commit 歷史記錄
最近遇到一個問題:「GitHub 上的 commit 記錄可以證明一定是某人 commit 的嗎?」。 這個問題的答案是:「NO」。 git commit 不似區塊鏈有能力做出無法偽造的記錄,透過不同的方式,我們可以全面的竄改 git commit 的歷史記錄,不論是作者、上傳者或是時間都有辦法可以修改,以下將一一介紹如何操作。 0. 前置作業 首先先在本機建立一個空的 git repo,接著隨意寫入空的檔案: $ mkdir git-test $ cd git-test $ git init $ touch README.md $ git add README.md 1. 基本 Git 設定 – 設定識別資料 根據 git 官方的資料,第一次使用 Git 必須要設定識別資料,而且識別資料會影響到提交的結果:「每次Git提交會使用這些資訊,而且提交後不能再被修改」 $ git config –global user.name “John Doe” $ git config…
-
ArchLinux 上更新 BladeRF x40 的 firmware 以及 fpga image
在 ArchLinux 上運行 BladeRF x40 還滿簡單的。bladerf 在 Arch 的 community 庫中,包含了 driver, userspace, fpga & firmware 等東西 yaourt -S bladerf 接著使用 bladerf command line tool 打開畫面 $ sudo bladeRF-cli -i bladeRF> version bladeRF-cli version: 1.4.0-git-096984a4 libbladeRF version: 1.7.1-git Firmware version: 1.8.0 FPGA version: Unknown (FPGA not loaded) 接著要下載 firmware 以及 fpga image: $ wget…
-
在 ArchLinux 上安裝 Lavarel 5
有幾個步驟一定要記得:1. 到 /etc/php/php.ini 把相關的 extension 打開。2. 建立 ~/.composer/vendor/bin/ 資料夾。3. 安裝相關的 php 套件。 1. 安裝相關套件 yaourt -S php composer php-mcrypt 2. 在 /etc/php/php.ini 打開 php extension 找到以下幾個 extension, 將前面的 ; 給去除 extension=mcrypt.so extension=pdo_mysql.so extension=mysqli.so extension=xmlrpc.so extension=zip.so 注意,你不需要把 openssl.so 給打開,在 php7 已經內建。打開的話會觸發錯誤: PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php/modules/openssl.so’ – /usr/lib/php/modules/openssl.so: cannot open shared object file: No such…
-
pylivecap – 擷取 YouTube 直播影片 frame 並且存成圖片
pylivecap 是一個用來擷取直播中影片的 frame,並且存成圖片的 Python package。解決目前沒有「只擷取直播目前畫面」程式的狀況。 目前的作法是透過 streamlink 獲得畫面,傳到 ffmpeg 解出一個 frame 來,透過 Python 整理成單一的 API 來使用。主要架構非常簡單,就是下面這樣: def capture(url, output, quality=VideoQuality.BEST): livestream = [ ‘streamlink’, ‘-O’, url, quality.value ] ffmpeg = [ ‘ffmpeg’, ‘-y’, # Force overwrite ‘-i’, ‘-‘, ‘-f’, ‘image2’, ‘-vframes’, ‘1’, output ] p1 = subprocess.Popen(livestream, stderr=subprocess.DEVNULL, stdout=subprocess.PIPE) p2 = subprocess.Popen(ffmpeg, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, stdin=p1.stdout) p1.stdout.close() p2.communicate() 這邊很可恥的用了…
-
Google Cloud Vision API 與 tesseract-ocr 做中文文字辨識比較
目前 Google Cloud Vision API 的報價如下,相對於一年前開放的時候價格有下降 40 %,一年前的報價可以參考:gslin – Google Cloud Vision API 開放讓大眾使用。 拿 Google Cloud Vision API 與 tesseract-ocr 相對比,Vision API 明顯大勝。 比較基準: tesseract 3.04.01, github 之官方 chi_tra traineddata Google Cloud Vision API – 2017/02/16 OCR 比較圖 1 – 強悍!中華備戰經典賽 澳洲移訓”火力猛” tesseract: 強悍! 中華傭戰鰹興賽˙澳洲′移訓”火丙弩孟” Vision api: 強悍!中華備戰經翼賽 漢洲移訓”火ガ罡 OCR 比較圖 2 – 機捷試乘 機捷開放民眾試乘 預辦登機同步試辦…
-
監控川普推特轉錢的 trump2cash
在看股票自動交易 bot 的時候發現這個:trump2cash。 顧名思義,其演算法核心就是盯著川普的推特言論,用 google cloud NL API 來分析公司,再透過 tradeking API 下單。太狂啦。 The code is written in Python and is meant to run on a Google Compute Engine instance. It uses the Twitter Streaming APIs to get notified whenever Trump tweets. The entity detection and sentiment analysis is done using Google’s Cloud Natural Language API and…
-
FOSDEM 2017 歐洲研討會微觀查 (四) 持續且針對單一議題運行的 devroom
FOSDEOM 2017 的議題規模來到總共 46 軌、總議程數 645 個,分別有 40 個 devroom,6 個 main track 在運行,分列如下: Main Track Track Saturday Sunday Architectures H.2215 (Ferrer) K.1.105 (La Fontaine) Building K.1.105 (La Fontaine) – Cloud Janson – Documentation – K.1.105 (La Fontaine) Miscellaneous K.1.105 (La Fontaine), Janson K.1.105 (La Fontaine) Security and Encryption – Janson Developer rooms BSD Backup…
-
FOSDEM 2017 歐洲研討會微觀查 (三) 主廳的聽障友善座位
第一天到 FOSDEM 現場準備參加開幕式,從 Janson 底下的入口進入,準備往上爬的時候,在第一排的座位上看到了這樣的標示: 不確定開場的時候有沒有人坐在保留座上面,但是是我第一次在研討會看到有座位是保留給聽力受損的使用。不過這個標示只有在主廳的 Janson,其餘的 devroom 並沒有看到這樣的標示。