pretty code

2019年9月26日 星期四

繁體中文書在 Kindle 無法選擇內建繁體中文字型問題

昨天轉某本書進 Kindle Paperwhite 3 觀看時,發現無法選擇繁體中文字型,只能選擇英文字型。印象中這已經是第二本書會有這個現象,還是來研究一下。

看了一下 content.opf 大概知道問題是出在哪裡,原因是有兩個 "dc:language" 欄位,我想 kindlegen 在 parsing 時,找到第一個 language 就不會再找下去,故會以前面的為主。

解決的方式也很簡單,拿掉英文的即可。

错误(prcgen):E24010:无法解析目录中的超链接

错误(prcgen):E24010:无法解析目录中的超链接(一个可能的原因是此链接指向带“样式显示:无 (style display:none)”的标签)。

這個錯誤是由於 toc.xhtml 裡面目錄指向的連結頁面,其 CSS 顯示有 "display: none;" 這個描述,將其拿掉即可。

2019年9月25日 星期三

Get Node.js return value in Windows Batch

You can call process.exit(xxx).

Then "xxx" will present in %ERRORLEVEL% variable.
________________

If you prefer to use Python, you can call exit("xxxx").

騎腳踏車上班記錄

新烏路自行車道入口到秀朗橋引道 - 22 分。
秀朗橋引道到慈濟醫院左方租借站 - 11 分。

如果以環快的距離來看約 6 公里﹝自行車道應該會更多﹞,一路逆風,真是累呀。

此提案是由劉哲彰議員在新北市議會第2屆第2次定期會的第3審查會所提出,案號為 25 。

http://bms.ntp.gov.tw/NewTCAV/BillQuery/BillQuery_Form_Context.aspx?BillNO=9473


2020/06/09 更新

有一種東西叫 App,我居然自己算,哈,老人一個。

2019年9月21日 星期六

mooInk Pro 入手感想

終於在昨天拿到 mooInk Pro,一開始還被黑貓進度查詢誤導,幸好東西已經送到家裡,而不是躺在營業所。

跟在試用時的感覺一樣,就是質感真棒。磨砂設計也不容易沾上指紋!

下載了幾本書試閱,感覺翻頁速度還可以,實際使用碼表測試,翻頁速度約為 1.4 ~ 1.5 秒間。 

放了 10 幾個 PDF 檔案,中文書的表現都還不錯,英文書的要看原始留白狀況,有些書確實會有字過小的問題。

《打火哥的30堂烈焰求生課》

《C11 Spec》

手寫功能很像拿鉛筆在筆記本上寫,個人是覺得比 Nova Pro 好寫,手寫感確實加了很多分。手寫顯示的確會有延遲感,但不管它照寫,字還是有正常出來。


最後試著把 Amazon.com 的英文書放入觀看,顯示效果就不好,個人是覺得 calibre 的問題,畢竟 aw3 是 Amazon 自有格式。另外也試著從 google 買了一本書,這本格式看起來就比較正常,也能使用目錄跳轉。

Kindle Paperwhite3 and Readmoo mooInk Pro

底下是一些 EPUB 格式觀看的效果,大推 Manning 這家書商的書,共有 PDF、EPUB、MOBI 格式可供下載,如果只是買紙本書,某些書還可以上網註冊下載電子檔,只可惜他們家的書我想買的都買了。
《Go in Action》- Manning Book Store

深入淺出 Rust》- Amazon.cn - Converted by Epubor

《x86汇编语言:从实模式到保护模式》- Amazon.cn - Converted by Epubor

《x86汇编语言:从实模式到保护模式》- Amazon.cn - Converted by Calibre

簡單總結一下

優點

1. 質感很棒。
2. 10 吋螢幕。
3. 手寫感很棒。
4. 橫轉直功能強大。

缺點或可以改進的部分

1. 四邊薄,背面中間突起設計,個人覺得不太好拿,Note Lite 設計比較好拿。
2. 手寫感雖然很好,但機構設計導致螢幕稍凸出,不易將字寫漂亮。
3. 內建瀏覽器不好用。
4. PDF 只能滑動翻頁。
5. PDF 增加裁邊功能。
6. EPUB 檔案開啟很慢﹝1.1.9 有變好,但是超過 10MB 還是慢﹞。
7. 保護套黏上就很難取下,不建議使用。

目前已知 Bug﹝1.1.5﹞

1. 刷新螢幕設定與對比度設定,偶爾會回復預設值。


目前已知 Bug﹝1.2.0﹞

打開書櫃中已下載的書,常常會卡在載入中畫面,只要在螢幕上滑一下或是按下功能鍵即可。另外,如果有打開網路,似乎就不會有問題?

目前已知 Bug﹝1.3.2﹞

重置系統在登入狀態下不能用,需在個人帳戶中按下退出,該頁面下方的重置才能使用。


2019/09/21 更新

HappyZ 的 tool,無法連線到 device,使用 DPA 軟體也看不到 device,我猜這個方法應該不適用,需要再做研究,但使用特定 port 連接 HTTPS 是可以通的。

坦白說即使可順利連線,EMMC 的 partition 也不知道是不是與 CP1 一致,雖然我覺得以 Readmoo 的規模來看,應該是沒有資源來處理 BSP 這塊?要有能力處理 Bootloader 和 Linux 底層,我認為團隊應該也要有 2 ~ 3 人,這還不包括硬體人員,故我認為沿用 CP1 的機會是比較高的,除非 Sony 有幫他們作調整。

2019/09/22 更新

先使用 https://github.com/janten/dpt-rp1-py  工具 register,HappyZ 工具就可以正常連接,現在就只剩要不要衝的問題﹝據我以身試毒的結果,讀墨有做檔案檢查,可以透過工具上傳,但並未真的更新﹞


2019/09/23 更新

好久沒有在午休時間看書了,mooInk Pro 讓我重享讀書的樂趣,只可惜我還是不想把我的 PW3 和 mooInk Pro 帶出門,通勤太累了。

2019/09/24 更新

昨天晚上回家拿下保護套時,因為黏膠很黏,需要用較大的力氣才能分離,一時未注意到手指位置,導致螢幕右上角有一個凹陷的小指印,不得不說 Sony 的這個設計很爛,以 mooInk Pro 的輕薄設計,為了取下機器,感覺機器都快被凹彎了。

順便更新系統到 1.1.9 版,最明顯的差異就是 EPUB 書籍開啟速度變快,原本 1.1.5 大概超過 5MB 的書就會很慢,這版好一點,大概可以到 10MB,另外,有開啟過的似乎會比較快?

1.1.9 版有提供原始碼下載,看了一下,只是 Linux 部份,還看不出 kernel 版本,故用處不大。

2019/11/07 更新

前幾天釋出了 1.4.1 版,增加了休眠圖片的支援。

不知不覺也擁有機器一個月了,240 克的重量拿在手上真的是無負擔,最適合我這種家裡沒書桌的人使用。昨天還買了一本《臺北城中故事》,配合大螢幕看起來爽度滿分,感覺自己都變成歷史學家了XD

2019/12/23 更新

上個星期五買了《七龍珠超》漫畫 8 本,但觀看時下半段會被截斷,因為此問題跟個人書櫃的漫畫一樣,之前也有聽過讀者反映,故我認為應該要從 App 端改進才對。

後來讀墨團隊在更新版本 1.6.2 後,此問題便順利解決,個人書櫃漫畫的問題也一併解決了。除此之外,此版本還開放了原本藍牙連線的功能,目前可以用的有文石的翻頁器以及鍵盤,藍牙耳機雖然也可以連線,但目前還不支援有聲書。

2020/03/16 更新

擁有 4 台電子書閱讀器的我,目前最常使用的是 Kindle Paperwhite 3 和 mooInk Pro,使用時間約為 6:4。

2020/05/28 更新

無聊錄了一些短片,實測各種速度,僅供參考。

2020/06/24 更新

越來越少用這台機器了,畢竟當初購買用途是為了看 PDF 和英文 EPUB,這 2 項需求在這台機器都無法滿足我的使用情境,現在也只能拿來看固定版面 EPUB 檔了。

台灣廠商短期內看來也不會出電子紙手機,我覺得最有希望的是凌網,就看他們是否有勇氣突破困境,不然只會永遠在讀墨之後。當然也有可能他們營收是超越讀墨的,只是因為我是讀墨派的故我不知道?

不管答案是哪個,這都不是使用者需要關心的,我只要有一台好的機器就滿足了。

與其等待台灣廠商出電子紙手機,我還是上京東購買海信 A5 比較快,無奈。

2020/06/30 更新

海信 A5 手機已到貨,目前看來能解決我上網查資料之痛點,只差資安問題不能當手機使用?

2020/09/04 更新

目前最新版本 2.1.2,似乎從此版本開始,點選 PDF 目錄可跳頁?EPUB 開啟速度稍微變快,另外,之前 mooInk Pro 傳檔 App 認不到裝置的問題,在這版本也可以正常抓到裝置,不需要如網友說的重置系統,看來是我想的 bug 沒錯,故更新版本後也一併解決了此問題。

2020/11/21 更新

在上一次更新時,個人文件裡的 PDF 檔案就可以使用翻頁器翻頁,版本為 2.2.6。

今日開機同步時,又有新的版本可以更新,我猜有一陣子了吧?這次版本最主要的新增有兩個,一個是流式 EPUB 書籍可以雙頁閱讀,另一個則是可以新增資料夾來管理個人文件,算是有符合一些人的需求,此次版本為 2.3.4。

2021/03/15 更新

前一陣子在讀墨買了鬼滅全套給老婆看,發現每次載入漫畫時都要等待許久,依我之前閱讀個人 EPUB 檔案的經驗,應該是軟體的 Bug 居多,開書後過幾秒直接點選翻頁即可,不要被載入中騙了。

2021/05/28 更新

最近它連自家的固定版面書籍開啟都很慢,我的儲存空間至少都還有 16G(共 25 G 可用) 以上,再加上使用藍牙翻頁器後,如果忘了關機(已開啟藍牙休眠),不知道在哪個條件下會造成休眠有問題而導致耗電劇增?故我已經沒使用這台機器了。

真是糟蹋了 Sony 的這台好機器,這證明了即使硬體很好,沒有好的軟體配合,也沒辦法發揮它全部的效果。

也不能說讀墨的軟體不好,但他們是強在工程師有模組化以及一致的設計邏輯,再加上使用 Javascript 為開發語言,故讀墨的強是強在他們的模組可以大部份的在 Windows、Web 以及 Android 上共用,當然,這只是我的小小感覺。

2019年9月20日 星期五

勒索病毒

勒索病毒是近幾年來興起的一種病毒,發作時會將電腦某些檔案加密,其特徵是原本檔名後會加上類似 ID、email 和自創的副檔名,該病毒程式便可以知道那些是加密過的檔案避免再 2 次加密,在 C 槽和 D 槽或是被加密的資料夾中,會留下一個文字檔,提醒中了勒索軟體,裡面並指定要用比特弊交易,甚至是教導如何購買比特幣XD

根據本人猜測,病毒程式應該是在發作時,先將本機電腦相關資訊送回伺服器產生 ID,並取回非對稱加密演算法的公鑰,之後便利用這把 Key 開始工作。

根據觀察某中毒電腦,病毒應該是同時開啟幾個 thread 對不同槽加密,故我在 C 槽和 D 槽看到不同的檔案卻有著同樣的最後修改時間。

底下是某中毒電腦 D 槽被加密的檔案個數及加密花費時間資訊

178,787 個檔案,花費 6 個小時又 43 分。


不靠病毒軟體監控辦法﹝很容易被反制,但聊剩於無﹞

在各磁碟機根目錄放置一個不會被修改的假檔案,並在某磁碟機一個很深層的資料夾中放置一個程式去監控假檔案的最後修改時間,可以使用 polling 或是各作業系統的 event 通知機制來監控,只要發現異常就馬上執行關機動作,之後再用 Linux 開機碟開機來救援未被加密的檔案。

此原理是利用作業系統的檔案 API 機制,不管我們是使用什麼程式語言,當我們寫程式在 parsing 某資料夾檔案時,底層一定是呼叫到 OS API,理論上吐回來的 handle 應該都是照英文字母排序,故可以達到提早發現的效果。

底下為使用 Go 寫的 sample code

package main

import (
    "fmt"
    "os"
    "os/exec"
    "time"
)

func SomethingWrong() bool {
    var t int64 = 1568963531

    files := []string{
        "C:\\0\\000000.txt",
        "D:\\0\\000000.txt",
        "E:\\0\\000000.txt",
    }

    for _, name := range files {
        fileinfo, err := os.Stat(name)
        if err != nil {
            fmt.Printf("File (%s) is gone. \r\n", name)
            return true
        }

        atime := fileinfo.ModTime()
        //fmt.Println(name, atime, atime.Unix())

        if atime.Unix() > t {
            fmt.Printf("Error : %v (%v) \r\n", name, atime)
            return true
        }
    }

    return false
}

func notifyMessage() {
    cmd := exec.Command("notepad", "電腦中毒了")
    cmd.Run()
}

func main() {
    ticker := time.NewTicker(time.Second * 2)
    defer ticker.Stop()

    isStop := false

    for {
        select {
        case _ = <-ticker.C:
            if SomethingWrong() {
                // do something
                notifyMessage()
                isStop = true
            }
        }

        if isStop {
            break
        }
    }
}

2019年9月18日 星期三

HTML Web Storage

Web Storage 是 HTML5 的一個功能,比 cookie 好用,Web Application 可以透過瀏覽器儲存資料在 Local 端。

Web Storage 可分為 2 種:

windows.localStorage - 不會過期的資料。
windows.sessionStorage - 當瀏覽器分頁關閉時就會消失。

Windows 會將其儲存在 C:\Users\XXX\AppData\Local\,其實也就是 %LOCALAPPDATA% 這個變數的內容。

2019年9月16日 星期一

列出 Linux 某目錄下所有檔案與目錄名稱

太久沒用,花了 10 幾分鐘才搞定,記錄一下。

#include <stdio.h>
#include <dirent.h>
#include <string.h>

void parseDir(char *dirPath) {
    struct dirent *de;
    DIR *dr = opendir(dirPath);

    if (dr == NULL) {
        printf("Can't open folder %s \n", dirPath);
        return;
    }

    while ((de = readdir(dr)) != NULL) {
        if (strcmp(de->d_name, ".") == 0 ||
            strcmp(de->d_name, "..") == 0) {
            // do nothing
        } else if (de->d_type == DT_DIR) {
            char path[256];
            sprintf(path, "%s/%s", dirPath, de->d_name);
            printf("folder - %s \n", path);

            parseDir(path);
        } else {
            printf("file - %s/%s \n", dirPath, de->d_name);
        }
    }

    closedir(dr);
    return;
}

int main(void)
{
    parseDir("/data/imagenet/raw_data/train");
    return 0;
}

Boox Nova Pro 電力記錄

結論

純待機一天掉 4% 電。
上 ptt 半小時掉 4% 電。
上 FB 或瀏覽網頁半小時掉 10% 電。


非專業測試

原本電量 94%,上 ptt 半小時,電力剩 90%。


2019/09/18 更新

經過兩天待機,一天約掉 4% 電。 如果是上 FB 加瀏覽網頁,半小時掉 10%。

2019年9月13日 星期五

我的大叔 - 金錢篇

平常不會特別想去韓國,故對匯率沒有甚麼概念,趁著看第 2 遍的機會,了解一下劇中提到的金錢數字換算成台幣是怎樣!

2019/09/13 台灣銀行牌告匯率本行賣出為 0.02843

item
NT
五千萬商品券賄賂
1,421,500
一億三千萬房子
3,695,900
一萬五千元超市購物
426
四百八十萬安養費欠款
136,464
六百萬部長月薪
170,580
一百一十萬約聘月薪
31,273
二千萬欠債
568,600
五億創業費用(至少8位員工)
14,215,000

2019年9月12日 星期四

慘不忍睹的 MLPerf 試用

MLPerf 是幾家大公司為了讓機器學習可以有個共同的比較標準,所釋放出來的 open source 專案。

試用了幾個 item,根本不是一般電腦可以跑的。

推薦系統需要 400 G 的記憶體,GG。

image classification 跑起來則是一堆問題,文件寫的不清不楚,docker container 的跑法一直搞不定,只好直接用本機 CPU 版本試跑,雖然最後可以成功跑起來,但一開始訓練的正確率只有 0,不知道能不能順利的跑完?

根據個人不負責任猜測,應該可以順利跑完,感覺是每跑完一項﹝100 step﹞就會釋放記憶體,除非有 memory leak,不然跑個幾個月應該可以達到它要求的 0.749 accuracy 吧!

https://www.mlperf.org/

2019/09/13 更新

後來想了一下,應該是 Dockfile 撰寫有問題,裡面指定的某些軟體版本不對,待驗證﹝參考 2019/09/16更新﹞。


上圖是 MLPerf 某個 issue 圖片,看的出來 100 個 step 要跑約 20 秒,跑到 2,008,925 才有 0.78 的正確率,換算下來:

2,008,925 / 100 x 21 / 60 / 60 / 24 = 48.63 天

如果是我的電腦,100 個 step 要跑約 30 分鐘:

2,008,925 / 100 x 30 / 60 / 24 = 418.53 天


2019/09/16 更新

如果是使用 MLPerfV0.5,記得修改 image_classification/tensorflow/Dockerfile,tf-nightly-gpu -> tensorflow-gpu==1.12.0,docker 才可以順利運行,不過由於我的 GPU Card 只有 2G 記憶體,最後還是不能執行,會出現 OOM Error﹝out of memory﹞。


2019/09/17 更新

覺得 MLPerf 還不夠友善,也許因為 contributor 都是大廠大牛,有問題都能自行解決,故沒考慮到一般人,可能要等到 1.0 後再來試用比較好。剛才在 github 順便回答了 2 個問題,希望可以幫助到跟我有一樣困擾的人。

我的大叔

以前就知道 IU 這位歌手,不過並未看過圖片,這次跟著老婆看《德魯納酒店》,總算知道本人長怎麼樣。既然看過本人,乾脆也來聽聽她唱過的歌曲,在 YouTube 搜尋了一下,挑了幾首歌來聽,其中我最喜歡的就是 BBIBBI 這首歌,尤其是她戴著黃色帽子配合酷酷表情在跳 Yellow Card 那段,感覺特別有喜感,於是接連看了好幾天,覺得這首歌很適合寫程式聽,雖然我也不知道她在唱什麼?

不得不說,萬能的 Google 總是帶給人神奇的推薦,終於在上個星期日跳出《我的大叔》大人這首插曲,聽著這感人的歌聲和 MV,我都快哭了,於是便開始我的大叔之旅。

故事是敘述兩個孤獨的人,在經歷了一連串事件後,相知相惜的故事。雖然覺得兩個人很悲慘,但看了又覺得很療癒,覺得彼此都不是孤獨的,那種有人了解的感覺真的很棒。結局雖然不算挺好,但也還可以接受。我想我跟三兄弟的老么一樣,不能拍電影,因為我們都不喜歡悲傷的劇情。

IU 在《德魯納酒店》共換了 N 套衣服和髮型,其中雖然也有幾個造型我很喜歡,但我最喜歡的還是她在《我的大叔》中綁馬尾穿著深色大衣,裹著她瘦小身軀的造型,尤其是當她怯怯的問大叔:可以抱他一下嗎的樣子,看了就讓人心疼。

可惜的是這兩部戲劇我覺得最好聽的歌都不是 IU 唱的,不然我應該會更喜歡她才對。新垣結衣暫時還是在我的心中排第一位XD

以前高中時都是看港劇,大一點則是看日劇,沒想到這幾年看的不是韓劇就是大陸劇,想想韓國現在的實力,不禁的為我們國家擔心,還是衷心的希望國家能夠越來越好,雖然似乎不太可能就是了...

2019年9月10日 星期二

Lua 使用小技巧

變數 Scope

變數前面加上 local 保留字,便是區域變數。


變數型别

number, boolean, nil, table, function, string,最後 2 種為 thread and userdata。

table, function 傳值時,傳的是參考。

local a, b = 1, 2 可以賦值給多個變數,不足的預設是 nil。


邏輯判斷

if flag == true then
    print('true')
else
    print('false')
end


迴圈

for i = 1, 100, 1 do
    -- do something.
end

上面表示 i 從 1 開始,做到 100,間隔 1。

for key, value in pairs(t) do
    print(key, value)
end

印出 table 變數 t 的 key and value

Table 使用

t = {}
t['name'] = John
t['age'] = 18
t[0] = 1
t[1] = 1

上面宣告了一個 table 變數 t,如果要當純陣列用,索引最好從 1 開始,因為長度從 1 開始計算,並且只算純數字索引的元素,不過使用 for 迴圈,則會全部都 iterate 一遍。

可以使用 t[1] = nil 來去除元素。
#t 可以得到陣列長度


函數宣告

function test(a, b)
    -- do something.
    return xxx
end

函數回傳值也可以有多個。


註解

'- -' 為單行註解


字串串接

local s = 'Hello' .. ' World'

字串可以使用單引號或雙引號。

2019年9月9日 星期一

UEFI application - Lua 試用

Lua 是一個輕巧的 script language,可以輕易的與 C 或其他語言結合。

UDK base 中已經含有 porting 好的 Lua project,其版本為 5.2.3

不像 Python,Lua 在 UDK 編譯中完全沒有問題。

使用 Lua,其檔案需為 ASCII 編碼。

目前實測僅有一個地方覺得怪怪的,那就是 os.execute( ) 這個函數,感覺每次都會再帶一個新的 UEFI Shell 起來,如果記憶體回收沒做好,也許會有問題?

2019/09/09 更新
寫了一個簡單的 script 來測試 memory 使用情形,看得出來執行後,可用記憶體減少了約 1MB,好像也還好?


print('start')

os.execute('memmap > before.txt');

for a = 1, 100, 1 do
    print(a)
    os.execute('Counter.efi')
    os.execute('stall 300000')
end

os.execute('memmap > after.txt');

print('end')

2019年9月6日 星期五

數位電子顯微鏡心得

前幾篇文章提到為了檢查 Note Lite 掛點的問題以及避免眼睛瞎掉,我終於在這禮拜入手了  AD106S,要價 NT $3,980。

這台的鏡頭可以拉到 10.5 cm 高,如果再加上 5 倍數位變焦功能,勉勉強強也夠用,不過如果真的要動到熱風槍等工具,就有待實測才能知道可用性。

早上閒逛了一下,發現有另一個型號 ADSM302,台灣要賣到 NT $11,800,但在美國亞馬遜只要 US $218,換算下來也有 NT $2,000 以上的價差。

另外這台 ADSM302 鏡頭可以拉到 22 cm 高,螢幕也多一吋,理論上應該會更好用。

講到這個,網路上也有販售 NT $1,000 以內的頭戴式放大鏡,我的心得是這些東西都不好用,就不要浪費錢了,這種便宜的工具或是其他手持式放大鏡,其對焦距離都過小,故鏡片或鏡頭都必須很靠近實物,就拿最簡單的使用三用電表來量測電壓的使用情境來說,根本幫不上什麼忙。

我想除非是購買外科醫生用的那種精密放大眼鏡,才能空出雙手來操作工具吧。

購書停滯期

沒想到購買繁體中文書跟去天瓏買書一樣,已經開始遇到停滯期。

以天瓏資訊書來說,有興趣的、想看的、也許有用的,老早就買了,不論是紙本或電子書。

現在偶爾經過天瓏,隨意瀏覽一下,都不覺得有什麼新書可買。

原本以為繁體中文書不會這樣,但最近上去讀墨逛逛,感覺也是了無新意。即使現在較少購買的樂天以及 Google 圖書,大概也是那幾本書佔據版面。

就算認真的點進頁面,還是找不到半本有興趣的書。

現在可能只剩中亞資訊書比較能打動我的心吧。

Onyx Boox Note Lite - 敗家深淵

為了搞懂這台爛機器這麼掛的,陸續買了 2 台三用電表、極細探針、放大鏡 N 款,最近眼睛實在是快瞎了,所以我連顯微鏡都買了。

再這樣下去,我可能會連恆溫熱風槍加焊槍,還有直流電源供應器都買了吧,算算又要噴個 1 萬多塊XD


2019/09/09 更新

這一櫃子幾乎都是為了檢測買的工具。



2019年9月2日 星期一

9 月份購買的第一本書

正當大家想要趁著 Kobo 這幾天 58 折好好的衝一波時!我仍然一如往常的在讀墨隨意瀏覽。

挑選了一本《謊言 韓國世越號沉船事件潛水員的告白》,正想趁著中午好好的享受,沒想到這本書看起來有點沉重,讓我不禁懷疑這是亞洲民族共通的劣根性嗎?

還是繼續看《深入浅出SSD:固态存储核心技术、原理与实战》好了,最起碼心情不會那麼的難受。

跨境電商開立雲端發票

前幾天收到 Amazon.com 寄來的通知,告知自 2020 年 1 月 1 日起會開立雲端發票,並提醒消費者﹝公司行號身份﹞需於 2019 年 10 月 1 日 前提供統一編號。

據該郵件提到,自 2017 年 5 月 1 日起,跨境電商均需繳納台灣增值稅﹝中華民國營業稅﹞,也就是說消費者已經被多收了 5 % 的營業稅,但 Amazon.com 卻到 2020 年 1 月 1 日才會開立雲端發票。印象中 Google 今年似乎從 3 月起就已經開立發票了。

衝著這一點,之後付費的雲端硬碟我就會選擇 Google,即使 Amazon 比較便宜。

那為什麼 Amazon.com 自 2020 年 1 月 1 日起才開立雲端發票?原本應該是自 2019 年 1 月 1 日起就應該要開立雲端發票!

查了一下,原來是根據 107 年 7 月 16 日台財稅字第 10704607091 號令

加值型及非加值型營業稅法第 6 條第 4 款所定營業人於 108 年 12 月 31 日前未依規定開立雲端發票得免處行為罰

加值型及非加值型營業稅法第 6 條第 4 款所定營業人自 108 年 1 月 1 日起,應依統一發票使用辦法開立雲端發票,其於 108 年 12 月 31 日前未依規定辦理者,主管稽徵機關應積極輔導,免依加值型及非加值型營業稅法第 48 條、第 52 條及稅捐稽徵法第 44 條規定處罰。

至於樂天理論上應該也要開立統一發票才對,如果只是靠打折就想吸引我買單,這招對我是沒用的,我最討厭不守法的廠商了!