2020年9月9日 星期三

一個小故事讓我們明白資金流通的意義

“又是炎熱小鎮慵懶的一天。太陽高掛,街道無人,每個人都債台高築,靠信用度日。這時,從外地來了一位有錢的旅客,他進了一家旅館,拿出一張1000 元鈔票放在櫃檯,說想先看看房間,挑一間合適的過夜,就在此人上樓的時候----


店主抓了這張1000 元鈔,跑到隔壁屠戶那裡支付了他欠的肉錢。

屠夫有了1000 元,橫過馬路付清了豬農的豬本錢。

豬農拿了1000 元,出去付了他欠的飼料款。

那個賣飼料的老兄,拿到1000 元趕忙去付清他召妓的錢1000 元,

這名妓女衝到旅館付了她所欠的房錢。

旅館店主忙把這1000 元放到櫃檯上,以免旅客下樓時起疑。此時那人正下樓來,拿起1000 元,聲稱沒一間滿意的,他把錢收進口袋,走了……


這一天,沒有人生產了什麼東西,也沒有人得到什麼東西,可全鎮的債務都清了,大家很開心。


  看清楚了吧,故事中沒有這1000 元的流通,每個人都債台高築,有了這1000 元的流通,每個人都不欠錢了,也就是說,實際效果是每個人都賺了1000 元,還清了債務。

  

  故事有趣逗人,可這道理是非常深刻的。它說出了財富的來源---- 資金流通。

  

  那有人問了, 1000 元只不過是在每人各自手中拿著跑了一圈會到原地,又沒有產生任何實質的物質財富,比如大米、鋼鐵,煤炭…… ,怎麼就產生了財富,全是虛的嘛。可是事情就這麼神奇。

  

實際上來旅館住宿的那個旅客,他帶的那1000 元就是財富來源的本金,這1000 元是有勞動價值的,他的辛苦勞動賺來的錢。也就是說我們社會中的每個人的勞動付出,勞動價值,體現在社會上就是金錢。


錢幣就是勞動價值的符號。


  當這1000 元在每個人手中流動時,實質上是勞動的價值在流動,是有實實在在的東西在裡邊的,這當然就會產生財富的。只不過是流通的太快了,叫人不可思議啦。


如果流通慢點,就是這樣的情景:店主借了1000 元,多開一段時間旅館錢就賺出來;屠夫多殺兩頭豬;豬農多樣一段時間豬;賣飼料的多做點飼料;妓女…… . 。這就也都賺錢了,債務也都能還清。只是資金流通的慢了,財富增長的慢了。


  如果不流通,店主不動那1000元,每個人還都是債台高築。對每個人來說也就是沒創造出財富來。


也 可以舉一個現實生活中的例子:比如我是一個電廠工人,一個月拿到了2000 元工資,這就是我一個月的勞動價值。我買了農民的米麵、蔬菜;農民買了種子、化肥;化肥廠買了鋼材原料用於建廠,生產;鋼鐵廠買了煤炭煉鋼;煤炭生產要用 到電力,形成一個循環圈。 (當然社會上經濟生產的循環是輻射開的,非常龐大的系統,這裡只是做一個單一的鏈條循環圈說說)。假如一個月時間一個循環下來創造財富2 萬元,那要是半個月資金循環一次呢,那一個月就有4 萬元的財富,一周循環一次呢,一個月就有8 萬元的財富。可見同樣一個月的時間,資金流通快了創造的財富就大得多了。


明白了 財富來自於資金流通! !

2018年12月25日 星期二

Backup .gitignore with path

find . -name .gitignore -exec cp --parents {} ../backup/ \;

2018年2月9日 星期五

Chrome Browser White Screen 白屏問題

昨天差點昏倒, 因為Chrome Browser一開啟後居然一片白畫面. 雖然還有IE可以用, 但就是習慣Chrome了啊, 然後開始Google別人如何解決, 不過看起來不少人遇到相同的問題, 但都沒什麼解決方法. 什麼掃毒啦, 重新安裝Chrome啦, 砍掉Default啦....對我都沒用, 又不想重新安裝系統.

我遇到的狀況如下圖, 除了右上角的3個按鈕以外, 其它的都是白的.
後來發現一件事, 其實Chrome是好的, 它的所有功能都是正常的, 唯一的問題是畫出來的結果"白色". 你可以試試在原本的輸入網址的地方打字看看, 或是原本的X按鈕下方, 試著點看看Setting按鈕.
(Chrome Browser白屏的狀況)
(在網址列還可以打字)

如果你是跟我相同的情況, 目前我有一個解決方案, 如下圖所示.
就是在啟動chrome時, 多加一個參數, 把使用GPU的功能關閉. 如此一來一切就正常了.
目前我的情況看起來是, Chrome Browser跟我的Ultra Station USB棒子搶GPU資源, Chrome Browser搶輸了, 所以畫不出來, 我只要拔掉Ultra Station USB棒子, Chrome就正常了, 要2個同時運作, 只能先把Chrome的GPU繪圖加速關閉了.


2017年12月14日 星期四

tensorflow build_pip_package error

在build_pip_package時遇到問題:

bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
四 12月 14 18:11:04 CST 2017 : === Using tmpdir: /tmp/tmp.cyP6dwC7mh
~/tensorflow/bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles ~/tensorflow
~/tensorflow
/tmp/tmp.cyP6dwC7mh ~/tensorflow
四 12月 14 18:11:06 CST 2017 : === Building wheel
error in tensorflow setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers

Solution:
sudo pip install -U setuptools

2017年11月2日 星期四

pthread operation not permitted error

出現這種錯誤, 看起來是因為Ubuntu基於安全性的考量, 在使用ptrace時有所限制.
而限制的設定檔在/etc/sysctl.d/10-ptrace.conf
預設內容為: kernel.yama.ptrace_scope = 1

A PTRACE scope of "0" is the more permissive mode.
A scope of "1" limits # PTRACE only to direct child processes.

只要把kernel.yama.ptrace_scope 改為0, 然後重新開機即可.

PS:如果你的帳號可以sudo的話, 那也可以用sudo 或root去執行你的程式, 這種情況下是不會被限制的.

2017年9月25日 星期一

GCC編譯錯誤: relocation truncated to fit: R_X86_64_32S against symbol `xxxxx` defined in `.bss' section in xxxxx



在GCC的編譯參數加入"-mcmodel=xxxx", 即可解決這個編譯錯誤的問題

-mcmodel=tiny
Generate code for the tiny code model. The program and its statically defined symbols must be within 1GB of each other. Pointers are 64 bits. Programs can be statically or dynamically linked. This model is not fully implemented and mostly treated as ‘small’.
-mcmodel=small
Generate code for the small code model. The program and its statically defined symbols must be within 4GB of each other. Pointers are 64 bits. Programs can be statically or dynamically linked. This is the default code model.
-mcmodel=large
Generate code for the large code model. This makes no assumptions about addresses and sizes of sections. Pointers are 64 bits. Programs can be statically linked only.

2017年3月15日 星期三

Beej's Guide to Network Programming

發現一本寫的還不錯的Linux socket 網路程式設計書, 對初學者而言是一份很好的開始

Beej's Guide to Network Programming
譯者:Aaron Liao(廖明沂),May, 2014

GitBook:Beej's Guide to Network Programming GitBook

繁體中文網頁版: http://beej-zhtw.netdpi.net/
英文官網: http://beej.us/guide/bgnet/

2016年12月6日 星期二

2016年10月18日 星期二

兩堆狗屎的經濟學

兩堆狗屎的經濟學

兩個聰明的經濟學天才青年,經常為一些高深的經濟學理論爭論不休。

一天飯復一起去散步    正在難分高下的時候

為了某個數學驗證的證明

  兩位傑出突然發現前面的草地上有一堆狗屎

又爭執了起來

甲就對乙說:「如果你能把它吃下去,我願意出五丰萬。」

千萬的誘惑可真不小,吃還是不吃呢?

乙拿 出紙筆,進行了精確的數學計算,很快得出了經濟學上的最佳報酬率

解:  吃!於是甲損失了五千萬!

當然,乙的這頓加餐吃的也並不輕鬆。

兩個人繼續散步,突然又發現另一堆狗屎,

這時候乙開始劇烈的反胃,而甲也有點心疼剛才花掉的五千萬了。

於是乙對甲說:「你把它吃下去,我也給你五丰萬 · 」

於是,不同的計算方法,相同的計算結果一 『 吃! 』

甲滿意足的收回了五千萬,

而乙似乎也找到了一點心理平衡。

可是突然問,天才們同時嚎啕大又:鬧了半天我們什麼也沒有得到,卻白白的吃了兩堆狗屎!

他們怎麼也想不通,只好去請教他們的教授,一位著名的經濟學泰斗給池們解釋原因。

教授聽了兩位高足的故事,沒想到泰斗也嚎啕大又起來。

好不容易等情緒穩定了一點,只見經濟學泰斗顫巍巍的舉起一根手指頭,無比激動地說:「一億啊!一億啊!一我親愛 的同學,我代表國家感謝你們,你們僅僅吃了兩堆狗屎,就為國家的GDP國內生產毛頜)貢獻了一億的產值!」

2016年10月14日 星期五

2016年3月29日 星期二

SystemC stack_protect assertion!

virtual void sc_core::sc_cor_qt::stack_protect(bool): Assertion `ret == 0' failed.

當你遇到這個錯誤時, 代表可能是你的vm.max_map_count太小了.
在systemc裏的這個QuickThread裏面會用到mprotect, 主要功能是切換stack的保護開關, 但這個保護在每個process有數量上的限制. Linux Ubuntu裏的預設值/proc/sys/vm/max_map_count為66530
你可以下這個命令試看看: sudo sysctl -w vm.max_map_count=131060

vm.max_map_count在Understand Linux Kernel一書中解釋為
The map_count field of the memory descriptor contains the number of regions owned by the process.
By default, a process may own up to 65536 different memory regions; however, the system administrator may change this limit by writing in the /proc/sys/vm/max_map_count file.

2016年3月19日 星期六

Jserv AMaCC

記錄一下Jserv和學生陳建霖、梁穎睿合作開發的small C Compiler.

* 可輸出 ARM 架構的 ELF 執行檔
* 可編譯自己並輸出合法的執行檔 (self-compilation)
* 支援 C89 經典語法
* 支援動態連結函式庫,可很容易使用作業系統提供的服務
* 提供 JIT 編譯器支援,對於想理解 ARM 架構和虛擬機器設計者,不失是個參考
程式碼發布於 GitHub: https://github.com/jserv/amacc

Linux Performance Observability Tools

Linux Performance Observability Tools 這個表畫的真的讚! 來源: Linux Performance

2016年3月12日 星期六

2016年1月30日 星期六

siege - HTTP regression testing and benchmarking utility

突然發現一個工具 siege, 它可以用來模擬送大量的要求(request)到網頁伺服器上.

比如底下的範例:
siege -d10 -c10 -t1m http://192.168.0.1/test.html

-d 10 表示每個要求之間的最大延遲為10秒
-c 10 代表同時有10個使用者
-t1m 表示全部測試時間為1分鐘

另外看到一個不錯的想法, 可以用樹莓派來建構實驗用網路架構
raspberry-pi-dramble-lemp-redis-architecture.png

參考資料:
Raspberry Pi Server Cluster Tests
geerlingguy/raspberry-pi-dramble

一個小故事讓我們明白資金流通的意義

“又是炎熱小鎮慵懶的一天。太陽高掛,街道無人,每個人都債台高築,靠信用度日。這時,從外地來了一位有錢的旅客,他進了一家旅館,拿出一張1000 元鈔票放在櫃檯,說想先看看房間,挑一間合適的過夜,就在此人上樓的時候---- 店主抓了這張1000 元鈔,跑到隔壁屠戶那裡支付了他欠的肉錢...