訪客留言簿

星期日, 1月 29, 2012

[筆記] 行事曆管理程式

前言

因為我不會寫程式,所以我把靈感寫在這。(圖片稍後畫完會再上傳)

介面說明

操作介面分成以下三個部分。

  1. 最上方的年份及狀態說明欄:會顯示目前所在欄位的年份、當月的一些統計,並提醒你,程式正在執行什麼動作,請不要打斷它。

  2. 直行並列的月份欄:最上層的月份小欄是固定住的,而裡面的筆記小欄是可以各行分開捲動的,所以若筆記項目一多,在游標指到的月份欄,右上角及右下角,都會顯示向上及向下的箭頭。

  3. 直向排列的筆記欄:就是筆記欄而已。各筆記欄的左上角,會有一個小小的數字,標示這是該月的第幾筆資料。不過因為會自動排序整理,所以並不是固定的。

主要功能

  1. 只用鍵盤即可操作,不需要滑鼠。
  2. 可以依特定格式,將純文字轉成超連結。
  3. 背景作業時,會照筆記的頭文字,自動排序整理。

操作方式

  1. 安裝後即會自動在背景作業。

  2. 按 F9 鍵,可以切換前景及背景作業。預設是全螢幕顯示。(若有其它程式也是在全螢幕下執行的話,本程式就不會有任何反應。)

  3. 第一次執行的話,游標會先停在系統現在所在的月份那欄,並建立一個空白筆記欄。只要在空白筆記欄中,輸入任何字,再按 Enter 鍵,就會在下方,新建一個空白筆記欄。如果你按住 Alt 加方向鍵左右,讓游標移到其它月份欄時,按下 Enter,原本沒有筆記事項的月份,也會出現一個空白筆記欄。

  4. 原則上,以下操作,是不會讓游標跑出現在編輯中的筆記欄的:四方向鍵、Home / End / Ctrl-Home / Ctrl-End、Shift 加四方向鍵。

  5. Alt 加四方向鍵,會讓游標在不同月份欄及筆記欄間移動。而 Ctrl 加四方向鍵,則是讓游標固定在現在的位置,只讓整份行事曆移動而已。(要怎麼在切換不同月份時,不讓游標跑掉是件麻煩事,可能到時只能依照編號來跳了。)

  6. 只要在筆記欄中,照著「連結 (文字)」這種格式輸入資料,就會自動建立超連結文字。當你把游標移到超連結文字內,按下 Enter 鍵時,就會展開原先的文字格式。展開原先格式的情況下,只要游標不離開小括號裡,就不會跳回超連結文字的形式。當然你也可以在展開的情況下,把任一邊的小括號拿掉,重新編輯連結。(就跟 plurk 一樣)

  7. 按 Tab 鍵,可以切換不同的顯示介面。預設還提供了「以月曆形式來顯示當月筆記數」的模式。

  8. 按 Alt 加空白鍵,就可以叫出改變視窗大小等的選單。(即圖形化系統內建的操作選單)

  9. 按 Ctrl 加 F 鍵,可以向前向後搜尋文字及連結。

筆記檔案的樣貌

筆記檔案,會存在你的家目錄底下,一個叫作 A_A 的資料夾內。(目前計畫是第一次執行程式時,會先問你要存放在哪。)

打開來,會先看到以西元年為名的不同資料夾。

再打開各年份的資料夾,裡面會有以 2012-01 這種年加月份的格式,來命名的「純文字檔案」。

打開純文字檔案,裡面只有一行行緊鄰著的純文字,並不會有任何標記語言。

所以你應該可以想像,為什麼一按 Enter,就會建立新的筆記欄了。

著作權聲明

我不會限制你,但也不希望你限制人。如果你的確是因為這篇文章,而寫出一個這種程式來的話,你可以宣告你的權利,但請不要用這份權利作惡。

星期五, 1月 27, 2012

[筆記] 理想的免空

前言

純筆記。

最近因為違法下載問題,讓很多免空被迫關門或設限,也妨礙到其他不是上下傳違法檔案的人,所以我想提出一些方案。

型態一:連坐懲處

全員註冊制。你上傳的檔案,可以分給指定的人,指定的人可以再分給他指定的人,但只要分出去的,有任何一個人被檢舉違法,由那個人到你這最根源的人為止,所有在同一條線上的,都得受處罰。(如:全員終生停用帳號且禁止再註冊)

型態二:評價篩選制度

與其讓少數版權持有人的帳號,或是站方來決定檔案是否該刪除,不如交由大眾來決定吧!

自動砍檔規則:

  1. 閱覽人數達一定數
  2. 註冊使用者給的正負評價總和達一定數
  3. 註冊使用者給的負評達一定比率

這樣子不但可以交由大家決定盜版是否該存在,還能把爛檔埋進黑暗裡,一舉兩得!

[linux] 利用文字終端機整理圖片 (1)

前言

純文字命令列好方便的呀!

本次目標

  1. 將檔名符合的圖片抓到單一資料夾內
  2. 大量轉換圖片格式並指定新檔名
  3. 快速打包複數資料夾成不同壓縮檔

基本觀念

  1. linux 的終端機是以 bash 這支程式為主,所以你要用的 shell 語言就叫 bash shell。(大概)

  2. bash 吃不到的東西就沒法交給指定程式處理。比如說 bash 預設是不會去抓「現在目錄中的隱藏檔」的,所以你用 ls 指令是列不出隱藏目錄的或檔案的,用 cp 指令也一樣複製不了那些東西。

  3. 你可以寫 shell script 檔案(副檔名為 sh 的純文字檔),來執行比較需要繁複判斷和使用者輸入資料的工作,但 shell script 裡的指令,跟你平時輸入到純文字終端機裡的是一樣的東西,只是有變數需要引用時,寫 shell script 檔案比較輕鬆。

將檔名符合的圖片抓到單一資料夾內

假設今天,我們用 Firefox,裝了 ScrapBook 跟 AutoSave,想要抓無名相簿的圖片的話,就會在我們的 ScrapBook 的 data 資料夾下,開出很多的資料夾來。不過要一個個打開來找想要的圖複製到別處,不是很麻煩嗎?

所以為了快速複製圖片,我們就必須先瞭解 bash 的萬用字元有哪些,還有我們要找的圖的共通特點有什麼。

假設我們要抓的圖片,都是數字 1 開頭,然後總共有 10 位數,格式是 JPEG 的話,就可以用「1?????????.jpg」來代表這些圖片。(可以先用 ls 指令測試)

在此假設你現在所在的目錄 /tmp,底下有一個 Firefox 的使用者設定檔資料夾名為 User,以及一個你想拿來放整理好的圖片的資料夾 GRAPH。這時,先把你的終端機,切換到 /tmp 底下,再輸入以下指令即可。(請不要連 /tmp$ 也輸入了)

/tmp$ cp User/ScrapBook/data/*/1?????????.jpg -f GRAPH/

大量轉換圖片格式並指定新檔名

假設你有一堆 BMP 圖,覺得太佔空間,想轉成 PNG 或 JPEG 圖,但直接用 convert 沒辦法保留原先的檔名時,就可以利用變數來讓程式自動填上正確檔名。

for f in *.bmp; do convert $f $f.png; done && rename 's/.bmp.png/.png/' *.png

上面這一行,其實是兩道指令。第一個是 convert 轉檔程式,第二個是 rename 重新命名。

然後這裡有利用「迴圈判斷式」中的 for...do...done 來處理不同檔名的檔案。f 是我給這 for 迴圈命名的變數名稱(可隨意改成其他英數字),$f 則是代表我要引用這變數。

迴圈裡面有個 in 是在指定迴圈的執行範圍,這裡是指定跑完全部的 bmp 就結束迴圈,也就是說,當有 01.bmp 和 02.bmp 兩個檔案時,第一次 bash 抓到 01.bmp,開始跑(do)一次轉檔,結束後(done)會再去跑 02.bmp,然後 bash 抓不到別的 bmp 時,就會結束這個迴圈。

(※用數學來說,就是函數 f(x)=a+1 時,假設 a 為 1-10 共十個數字,那就是計算十次;若假設 a 為 1 2 3 的話,就是計算三次。)

然後迴圈之中的工作,一定要記得在適當的地方加上分號「;」來斷開,才能再下達其他動作。比如說你可能會想 do 了 convert,就直接 do rename,這兩個 do 的動作,一定要用分號「;」隔開。(分號「;」要緊鄰前面的字,後面也要記得空一格,有時怎樣都跑不成功,就是因為多一格少一格的關係。)

而雙 and 符號「&&」,則是代表做完前一個指令,再接著做下一個指令。以這邊來說,用「&&」的話,就可以繼承前面的迴圈變數,繼續工作。跟寫在迴圈中不一樣的地方,只差在會跑一次迴圈就馬上做,或是迴圈全做完,才來做而已。

如果做完後,想順便清掉 bmp 圖,可以在上面的指令,加寫「&& rm *.bmp」,記得「&&」前要空一格。(如果寫進迴圈裡的話,一張張轉檔改名的同時,就會清掉,而不是全做完才清。)

rename 的用法改天有機會再談。這邊的 rename,主要是因為引用 f 變數,會讓檔名多出 .bmp,所以才要再修改一次的。

快速打包複數資料夾成不同壓縮檔

最後這節沒啥好說的。如果你有裝 7z 這程式的話,可以用下面的迴圈,幫你把不同名稱的資料夾,打包成不同名稱的壓縮檔。(7z 可以換成其他你喜歡的壓縮程式,壓縮格式和壓縮級別、是否加密也可以自己調整。)

for f in *; do 7z a "$f.7z" -mx=0 "$f"; done

這邊要記得用雙引號「"」包住檔名(即 $f.7z$f),不然檔名有空格時,程式會出錯。

希望 7z 加密的話,請加入「-p -mhe=on」這兩個功能,就會向你問密碼,然後加密檔名,讓人看不見壓縮檔裡面有啥了。

星期三, 1月 25, 2012

抓 Amazon 大圖(各瀏覽器皆可)

前言

我實在想不出來到底是誰找出一開始的公式的,不過這邊的公式是我縮簡過的。

各瀏覽器通用的方法

打開你的 Firefox / IE / Chrome / Opera / Safari / w3m 等等的,輸入下面這種公式的網址,就可以把最原始的圖片抓出來,而不必把降過品質的分割圖合併。(Amazon 上的各種縮圖基本上是拿原始圖去即時算出來的)

ec[a].images-amazon.com/images/P/[A].[b]._SCRMZZZZZZ_.jpg

  • [a] = 1-7 任一數字或 x
  • [b] = 00-99 任一數字(必須為兩位數)
  • [A] = ASIN 或 ISBN-10(十位數的數字或英數混合的商品編號)

上面要注意的一點就是,「SCRMZZZZZZ」這其實是一個命令程式做事的指令,所以以後改版可能會再變成別的字。(大概)

然後最前頭寫 ec1 跟 z-ecx 或 z1-ec2 其實都是一樣的圖,只是伺服器不同而已,我的建議是盡量挑選不一樣的數字,才能達到分散流量的目的。

Firefox 專用的方法

Firefox 有個「PictureFox - ImageFlow for Amazon」的擴充套件,裝上去,以後點擊商品頁面那個縮圖左上角的字(目前是寫「HD」)時,就會自動開出一個畫面讓人瀏覽大圖。

如果只想要點一下就直接下載大圖的話(類似 Ank Pixiv Tool 的下載及命名檔案概念),可能要再請人寫一下。(可以的話,弄個 Pixiv + TINAMI + Nico 靜画 + Amazon 大圖的下載器最方便。)

星期三, 1月 18, 2012

簡談 SOPA - Stop Online Piracy Act

前言

最近 SOPA 正夯!(可不是肥皂喔!)

簡易新聞:

SOPA 對我們的影響

假設你的家,就是一個網站(假設為 YourBlogHome.com 這名稱),而你家裡面有很多有的沒的東西,這是一些你認識或不認識的人帶進來的,連你也搞不懂到底有啥。

今天,有人報案說你家藏了個偷來的東西,所以根據 SOPA 這法條,執法單位可以直接過去把你家完全封鎖。

你不准出門,別人不准進門,不可以對外聯繫,外面也無法看見你、聽見你。你必須跟唯一能溝通的執法單位,說明「你真的不知道是誰帶這東西進來的,而且你也沒有同意過別人能帶這種東西進來」才能重要回你的自由,不然你就得一直與世隔絕,而且你手上的現金跟銀行存款,還得拿去賠償受害者。(即使你根本沒做什麼事)

然後,如果你真的查不出是誰把偷來的東西放你這的話,就算是告密者自己放了再去告密,你也沒任何辦法對抗。

(註:以上可能有部分誇大,但如果你什麼都不知道,對著作權法的認識也無法更新到最新版本,那毫無預防措施下,可能就得單方面挨罰。)

SOPA 可以管什麼

以一般人來說,比較可能會被 SOPA 管到的,就是違法上傳或散布數位版權檔案。

不過其實 SOPA 也能管「假藥」「盜版名牌商品」「軍用物資」等等的東東。

針對含有可能違法內容的網站,可以進行的管制行為,除了關站(美國境內),還能要求所有的搜尋引擎不准列出該網站的搜尋結果(對國外),以及不准任何資金(廣告或 PayPal)流向該站。

SOPA 通過後的立即影響

很幸運的是,SOPA 等法案,都是大海遙遠彼端的事,不會馬上影響到我們,除非我們的政府向外人低頭認輸。

不過對我們常用的網路服務,影響卻是立即的。(以下是個人隨意舉的例,沒有特別查證,可能與實際情況有出入。)

  1. 架美國的圖片交流站全關(4chan / komica / 2cat)盜版、盜貼圖片
  2. 架美國的文字討論板全關(2ch)貼盜版連結
  3. 架美國的社群交流站全關(Twitter / Plurk / Facebook)頭像有盜版圖、貼盜版連結
  4. 架美國的網路購物站全關(Amazon / eBay)使用的商品圖片有未授權的
  5. 架美國的影音分享站全關(YouTube)盜貼影片
  6. 架美國的繪師交流站全關(deviantART)有使用到版權虛擬人物的圖片
  7. 架美國的個人網誌站全關(Blogger / WordPress)盜版
  8. 架美國的圖片分享站全關(ImgUR / Flickr / Picasa / TwitPic)盜版、盜貼圖片
  9. 架美國的線上直播站全關(Justin.tv)未授權影片
  10. 架美國的搜尋引擎站全關(Google / Yahoo! / Bing)未授權的頁面備份行為
  11. 架美國的檔案分享站全關(MegaUpload(1), (2), (3), (4), (5), (6) / FileSonic((1)) / Dropbox / MediaFire / FileServe((1)) / SendSpace / 2shared)盜版
  12. 其他任何可以為人惡用的

支持 SOPA 的公司

請見英文維基百科的整理名單。(「Removed supporting organizations」這名單代表曾在上面卻退出的、「Opposing organizations」則是反對 SOPA 的公司或組織)

Supporting organizations | List of organizations with official stances on the Stop Online Piracy Act - Wikipedia, the free encyclopedia

個人見解

誠然,我們無法支持世界上所有的正版著作權所有人(不一定是作者),不過還是能支持那麼一點點點點點點的創作人的。但打擊盜版的方式太過激進的話,到頭來就會抹殺掉絕大多數小眾創作人的出頭機會,而讓手中握有大量版權的大公司佔據我們的眼球。(請注意我不是在推廣盜版)

我們能主動選擇更多更好的支持方式,而非坐等大海彼端,欲犧牲公眾利益的著作權法壯大。

延伸議題

  • 為何自由的維基百科要反對 SOPA?
  • 為何反對者名單中有 Obama 團隊?
  • 為何 Nintendo 跟 Sony Computer Entertainment 會退出支持陣營?
  • 到底誰能從 SOPA/PIPA 中得利?

參考資料

相關新聞

向政府表達你的想法

備註資料

  1. MEGAUPLOAD網站被美國司法部勒令關閉原因之簡介 - portland的創作 - 巴哈姆特 ( http://home.gamer.com.tw/creationDetail.php?sn=1512848 ) ※註:有些瀏覽器的擴充套件會導致開巴哈小屋時強制關閉瀏覽器,請先確定你沒這個問題再開本連結。(返回原先段落)
  2. 根據 The Verge 的報導,美國司法部主要是用以下理由關閉 MU 的,不過我要再看看才知道大概是在寫什麼。(返回原先段落)
    • engaging in a racketeering conspiracy
    • conspiring to commit copyright infringement
    • conspiring to commit money laundering
    • two substantive counts of criminal copyright infringement
  3. FileSonic 於 1/22 起也改成不讓人分享上傳檔案了,也就是說你只能下載自己上傳的東西,要讓別人下載,就要讓人登入你的帳號。(FileSonic: All sharing functionality on FileSonic is now disabled. Our service can only be used to upload and retrieve files that you have uploaded personally.(返回原先段落)
  4. 承上,FileServe 也接在 FileSonic 後,於 1/23 起改成不讓人分享上傳檔案了,也就是說你只能下載自己上傳的東西,要讓別人下載,就要讓人登入你的帳號。(FileServe: FileServe can only be used to download and retrieve files that you have uploaded personally. If this file belongs to you, please login to download it directly from your file manager.(返回原先段落)

 

本站著作(不包含圖片、影音以及回應留言)係採用 Creative Commons 姓名標示-非商業性-相同方式分享 2.5 台灣 (中華民國) 授權條款授權