2021/07/18

把餅做大,聚眾共好

在現代社會,有越來越多事情是無法一個人獨力完成,需要團隊合作與各方參與才有辦法成事。例如說想要開發新產品,技術的需求是跑不掉的,這裡又包含了軟體與硬體等方面的技術,除此之外,一定會有資金面的需求,也需要管理者來掌控工作的進展,還要有行銷與銷售方面的能量才能把新產品推出去,進而開始營利。

由於需要各方面的人才,因此「把餅做大,聚眾共好」就是領導者很重要的工作。

把餅做大,不能想著獨善其身或是自己獨吃,而是要思考一個系統、流程、商業模式,可以容納更多的人進來,雨露均霑,讓計畫中的工作有更多人支持,大家齊力往好的方向推進。當然要記得一句名言:樹大必有枯枝、人多必有白癡,因此在聚眾時,就一定要慎選,找對的人進來,找可以同心合作的人進來,大家都能在計畫上有正面的貢獻,達到共好。

也因此領導者必須人脈夠,才有辦法母體中找出對的人;如果自身朋友不多,能有的選擇就少,就不容易找到對的人。因此在平時就需要廣結善緣,能發掘每個人的長處(每個人都有缺點,找別人的缺點不是能力,能找到每個人的優點才是真能力),不斷充實自己的口袋名單,這是領導者平日很需要做的事。

此外,人多意見也就會多,領導者就必須要有協調的能力,彙整所有人的意見想法,在不同意見中綜理出最大公約數,讓大家仍能齊心向前,並掌控局勢,讓事情往你想要發展的方向走,這部分的能力就需要時日下的修練才能精進。

把餅做大,聚眾共好!

把餅做大,聚眾共好!

把餅做大,聚眾共好!

2019/10/26

How many documents should we have?

Documents are of little importance, but documenting is essential.

Documents are valuable but costly. How many documents should we have? "Less is more". How less is enough?

You will need more documents until you can synchronize your team.

So, how many is enough?
It depends on the culture, quality, workflow of your team, and mutual understanding between members. The less stable your team, the more documents you need.

2019/04/24

2019白沙屯媽進香後記

跟白沙媽進香最大的副作用
不是曬傷脫皮
不是筋骨痠痛起水泡
不是指甲掀開脫落
而是哭點變得超低
看到神轎很超脫自己想法時想哭
看到香丁腳們彼此扶持時想哭
看到沿途鄉親堅持把各種資源塞進你手中時想哭

我以為只我有這副作用

午休跟其他香丁腳聊起,發現很多人都是這樣
也因為這副作用
大家雖然走到很想#@$*&%!#
可是隔年大家都失憶
乖乖又自動報到了

唉…沒藥醫

2019/04/23

獨角獸與承諾思維

從未來地圖一書中得到的概念

獨角獸

  • 讓人思考未來會怎樣
  • 使人自然改變自己
  • 創造社會價值


承諾思維 (Thinking in Promises):以終為始來思考如何做事

2019/01/16

以Python程式產生InfluxDB資料

我們接下來將寫個Python程式,來模擬溫度sensor產生資料並寫入InfluxDB中。然後利用這些資料,在Chronograf中設定dashboard的樣式。

要讓Python連上InfluxDB,我們需要Python-InfluxDB connection。我們可以使用pip來安裝這個connection元件:"pip install influxdb"。詳細指令介紹可參考這一頁。(此範例使用的是Python 3.x)

接下來的程式是模擬廚房、臥室、客廳三個溫度感應器,每秒鐘會回報溫度到InfluxDB。程式一開始,會先建立與InfluxDB server的連結,並建立一個 "sample"的database。我們準備了一個obj的json物件樣板。大家可以把measurement想像成表格(table)名稱。這裡有兩個columns,一個是location用來存放感應器位置,另一個是value來存放溫度。前面有提過,tag是indexed column,field是non-indexed column。由於InfluxDB是時間序列資料庫,因此每筆資料都隱含了一個time的column。

開始執行此Python程式後,就可以看到InfluxDB視窗一直有log message在跑,如果沒有error message,就表示此python程式正在餵資料到InfluxDB。




from influxdb import InfluxDBClient
import random
import time

host = "localhost" #influxdb IP
port = 8086 #influxdb port
username = "root" #influxdb username
password = "root" #influxdb password
dbname = "sample" #database name

# json object template
obj = {'measurement':'temperature', 'tags':{'location':''}, 'fields':{'value':0}}

# arrays for location names and temperatures
locations = ['kitchen', 'bedroom', 'living room']
t = [20] * len(locations)

client = InfluxDBClient(host, port, username, password) # connect influxdb
client.create_database(dbname) # create database

while True:
 for i in range(0,len(locations)):
  t[i] = round(t[i] + random.uniform(-0.5, 0.5), 2) # generate temperature

  # prepare data object
  obj['tags']['location'] = locations[i]
  obj['fields']['value'] = t[i]
  print(obj)

  # write data to influxdb
  client.write_points([obj], 'ms', dbname)

 time.sleep(1)


Python-InfluxDB connection元件的相關資料,可參考這頁的說明。

我們可以把InfluxDB client開啟,打入下列指令,來看最近三秒寫入InfluxDB的資料,確認資料確實有寫入。從這裡我們也可看到,除了location與value這兩個我們設定的欄位外,還有一個time欄位。

接著我們再用瀏覽器進入Chronograf網頁介面。(http://localhost:8888)
我們到Dashboard這頁,可以看到下面的畫面。

點選line,然後add data,接下來都可以用點選的方式來產生dashboard圖樣。我們先產生一個彙總的圖表。點選sample,再點選temperature,把三個地點都勾起來,並點選group by location,然後再把value勾起來。這個操作過程會自動幫我們產生InfluxQL。完成後點選右上角的綠色勾即可儲存。

回到Dashboard頁面,可以設定此圖表之位置與大小,並可在右上角設定更新速度與資料顯示長度。

正上方有Add a Cell to Dashboard藍色按鈕,可以加入更多圖表。大家可以去玩玩各種圖表,了解Chronograf。Chronograf的使用說明可以參考官網的文件