disfactory

Month: 2021-03

2021-03-02

ael 14:52:33
我大概列了一下明天小聚可以來做的事,不是什麼 checkpoints,還要來清 issue,確認哪些是接下來三個月要做的

About Page New Deisgn
@wutingy @sandrahtlin @szyeefun @cstsai @oriyaroriyar

下一波使用者研究+行銷研究
@jiahe.lin @sandrahtlin @aelcenganda @oriyaroriyar

前端:
大概看過 issues @szyeefun @yukai
@leo424y 要來玩 LINE bot 嗎?

後端:
• 加入經濟部新資料 @swind @cstsai @sandrahtlin
• fix 後台輸出 bug
• 後台權限設計討論 @cph @cstsai
設定 UI 2.0 的 GA 埋點 @aelcenganda
重看 Disfactory 使用者條款(尤其是資料授權的部分) @aelcenganda
@sandrahtlin 不能來不需要有壓力喔,只是跟你說你來可以做什麼
我明天有事要請假,通用的 about page 設計圖明晚點補上,
我再另外找時間跟佳昇對資料整理的部分
我三月打工的班表最近剛出來,明天不幸要去上班所以要向Disfactory請假~ 但設計這邊想提議以下分工,感覺上可以幫助我們更敏捷的前進:

About page 👉 tin
下一波使用者研究 (包括兩個面向:介面UX & 行銷)👉 兩個面向都滿有做的價值,看 Jiahe 對什麼比較有興趣~
經濟部資料 👉 SL (我看我這邊時程再看怎麼抓)

目前是這樣的初步想法~~~
啊,我忘了寫匯入經濟部新資料的部分也會需要改到 UI,所以應該 Tin 也要一起討論。你們可以另外約時間,或是約好某週三。但她現在得先趕 about page ><
我下週較方便,期待參與~
LittleWhiteYA 2021-03-03 16:31:31
我今天會線上參加
我今晚有約,@cstsai 你有相關的需求文件或 issue 嗎,我明天來看
Yeefun Lin 2021-03-03 17:19:41
我有點感冒,今天沒辦法出席

這是上禮拜做的事:
https://github.com/Disfactory/about.disfactory.tw/issues/16
• 自動更新 OG 圖
• 已將長條圖換成使用別的第三方套件,待熱力圖也完成便會更新頁面
這禮拜預計會做:
• 更新圖表
https://github.com/Disfactory/frontend/issues/77
今晚有事,下週開始應該能用遠端機器重回開發行列
@szyeefun 身體保重呀
我上禮拜調整 about page(尚未完成)
大標題改成:我餐桌上的菜,有被工廠加料嗎?
但是圖案與排版還在調,草稿在此:
https://www.figma.com/file/dFuJKpdDcmHNDqdj1011Zo/Disfactory_UI_design_2021?node-id=2018%3A8637
👌 1
ael 15:02:30
@wutingy @szyeefun 我找不到 track 過年 campaign 的 about page 還有新的 about page 的 issue(應該是兩個分開的),幫我一下 ><
我好像沒什麼在用 github 有可能當初太趕就沒有開 issue 了?
@wutingy 你有在 Disfactory 的 GitHub 裡了嗎?沒有的話可以私訊我 email

2021-03-03

deeper 19:34:44
今日小聚紀錄:https://g0v.hackmd.io/@yukaii/Disfactory/%2F3_PIr6noShS9qjAlDOH0hQ
今日小聚連結:https://meet.google.com/mcw-xswz-xod

meet.google.com

Meet

Real-time meetings by Google. Using your browser, share your video, desktop, and presentations with teammates and customers.

deeper 20:30:19
2017年資料 https://github.com/kiang/map.coa.gov.tw
• 134,574 筆
• 有地號,但需要轉經緯度.
• May 5 更正:已經有經緯度 https://github.com/kiang/map.coa.gov.tw/blob/master/filtered/factories.json

kiang/map.coa.gov.tw

@yoyo930021
peii 21:00:40
@peii has joined the channel
peii 21:01:57
嗨大家好
我是佳昇的新同事,我叫沛蓮
接下來也會一起處理違章工廠議題
期待之後的聚會~
@peii 3/20(六) g0v 黑客松在中研院, Disfactory 團隊會幫忙主持,把時間空出來一起來玩吧~下週一報名表單開放
5
IU 21:13:13
https://github.com/newren/git-filter-repo

newren/git-filter-repo

Quickly rewrite git repository history (filter-branch replacement)

2021-03-04

ael 11:32:36
有人決定要在學術場合報告「好玩」這件事對 g0v 參與者參與公共議題的重要性

我在 <https://g0v.hackmd.io/@jothon/g0v-cowork-guideline/https%3A%2F%2Fg0v.hackmd.io%2FtpWNQTFvSOS_ZrSt2MiPWg|“以 g0v 為主題的學術研究”> 加上了我最近投的一個paper,是有關 “fun" 在g0v社群裡面的重要性。在做訪談/參與g0v社群,感覺到底怎麼做比較好玩是一個不可避免的議題,決定針對這個議題寫我的一些感想與發現。paper摘要在<https://hackmd.io/Hq3HTtq9SXGdkaioR3yCSQ|這裡>,我應該會之後開一個共筆,但是如果有人想要跟討論或者給意見,可以跟我聯絡或者直接在摘要下面留言!

ael 18:52:08

我分享 Disfactory 的 7 min talk 被放在第三場,大家對公民科技國際會議有興趣的話也可以聽其他場的豐富內容

Empowering communities using geospatial technology
https://tictec.mysociety.org/showandtells/2021#schedule
👍 1

2021-03-05

ael 13:56:32
@peii 3/20(六) g0v 黑客松在中研院, Disfactory 團隊會幫忙主持,把時間空出來一起來玩吧~下週一報名表單開放

2021-03-08

Tin 08:56:02
https://www.figma.com/file/dFuJKpdDcmHNDqdj1011Zo/Disfactory_UI_design_2021?node-id=2018%3A8637
about page design 換成一般版本的配色,再請 @cstsai @oriyaroriyar @sandrahtlin 看看這樣 ok 嗎
超美的~
👍 1 ❤️ 1 🤩 1
Tin 08:58:42
@cstsai 看你合適有空我跟你 sync 一下「經濟部新資料」目前後端整合的情況?
賀 我今天下午晚上時間還算free
那跟你約個 5:30 如何?
可否+1?想了解一下經濟部資料有哪些東西
好~那大家 5:30 可以嗎?還是要晚上?
5:30可以,再晚就沒辦法了
但主要看deeper哈哈哈哈哈,畢竟我們兩個上線也只能聊天
hahahha 對
@cstsai
看來 deeper 不行~我明天傍晚 / 晚上也行,不然就等週三囉
不然就等禮拜三吧?不差這幾天
抱歉!!!!今天下午突然事情多到被鬼抓走嗚嗚 禮拜三討論

2021-03-09

ael 08:46:39
3/20 (六) g0v 黑客松在中研院,開放免費報名囉,通常三天左右會滿。 提醒一下要主持的 @oriyaroriyar @cstsai @yukai 也要報名喔

https://g0v-jothon.kktix.cc/events/g0v-hackath43n

g0v-jothon.kktix.cc

g0v Hackath43n | 台灣零時政府第肆拾參次源力犇騰黑客松

g0v 第肆拾參次大黑客松將在 2021.03.20(六)於中研院資訊所舉辦,歡迎公民、鄉民、憤青等諸眾,帶著熱血來盡一己之力,開源協作參與社會。

只剩下 25 個名額!
哦哦哦這次是 disfactory 主持嗎(期待)
報惹!
1
ael 19:57:21
只剩下 25 個名額!

2021-03-10

ael 11:35:09
@jiahe.lin GA 有遇到什麼困難或看不懂的地方嗎
有。先前已經埋設的「事件」(包括類別和動作)是用 GTM 做的還是直接寫代碼?(看起來應該是後者)有沒有文件可以看一下確認設定的邏輯?我覺得如果大致上沒什麼太大問題的話,現在或許可以直接設定「轉換」(目標)就好。
文件的話要請@aelcenganda協助 ,但我們最近的工作習慣是禮拜三小聚前動作XD jiahe再稍等我們一下
沒關係,我先手動試,有文件可以確認當然最好。
ael 16:30:38
@cstsai @oriyaroriyar 我們今天一起來整理文件
好噢!我在咖啡店趕稿~所以七點半到北辦!
我今天遠端連線喔!
LittleWhiteYA 18:42:59
我今天先跳過~ 最近事情有點多
👌 2
deeper 19:36:49
今日小聚記錄:https://g0v.hackmd.io/@yukaii/Disfactory/%2FLlD7wGqmRZGN-s4ZxzKMPw
連結:https://meet.google.com/mcw-xswz-xod

meet.google.com

Meet

Real-time meetings by Google. Using your browser, share your video, desktop, and presentations with teammates and customers.

SL 19:54:46
我快到了了了了了
IU 19:57:58
這裡

嗨嗨大家~ 時間飛逝,下一次大松在 3/20~ 所以又來詢問 Disfactory 的大家能不能幫忙接這次的主持棒~ (上次 <@UN6KWAE2V> 是不是有說會留時間 :pleading_face:) 主持棒參考:<https://g0v.hackmd.io/@jothon/SyM1cPoBH>

嗨嗨~ 這次松前哈拉其實有開好了~ 在這邊,不好意思主持棒的共筆沒有更新,我已經改成松前哈拉的 hackfoldr 了~~~
https://g0v.hackmd.io/@jothon/B1Mb-PoGu

是第十九次,因為松前哈拉跟大松次數不同,所以不是 43th XD
過往松前哈拉:https://beta.hackfoldr.org/g0v-jothon-community-hangout/
嗨嗨,另外想請 Disfactory 在新手投影片播完後的開場時間,感謝本次大松幫忙的小幫手們!
ronnywang 20:37:45
有需要再重跑最新資料嗎 XD
Tin 21:10:32
我統整我這邊:
about
• 整理圖片
• 整理按鈕
• 整理手機版 banner
• 設計 og image
(週日前完成)
🙌 1
Tin 21:10:38
disfactory
• 改成狀態:未處理、處理中、已斷電、已拆除(四個顏色)
• 狀態 active 設計修改成明顯一點
• 新增欄位:資料來源:經濟部、農委會、本平台
(下週三前完成)
IU 21:11:45
我正在跑 已經跑三天了 XD
主要是這次不過濾都市計劃的

有需要再重跑最新資料嗎 XD

ronnywang 21:12:06
我之前也是跑了兩三天吧,有點忘了跑多久了
ichieh 21:56:10
嗨嗨~ 這次松前哈拉其實有開好了~ 在這邊,不好意思主持棒的共筆沒有更新,我已經改成松前哈拉的 hackfoldr 了~~~
https://g0v.hackmd.io/@jothon/B1Mb-PoGu

是第十九次,因為松前哈拉跟大松次數不同,所以不是 43th XD
過往松前哈拉:https://beta.hackfoldr.org/g0v-jothon-community-hangout/

HackMD

第拾玖次 g0v 揪松團 松前哈拉 - HackMD

# 第拾玖次 g0v 揪松團 松前哈拉 19th Community Hangout *為大松暖身的前夜線上趴!* ![](<https://g0vhackmd.blob.core.windows>

😲 1

2021-03-12

2021-03-14

9k 00:37:55
@two.joker has joined the channel

2021-03-16

2021-03-17

Tin 12:25:54
經濟部資料整合設計我貼在這邊:https://github.com/Disfactory/Disfactory/issues/512

#512 經濟部資料整合、首頁 UI 修整

*狀態 UI 修改* • 改成狀態:未處理、處理中、已斷電、已拆除(四個顏色) <https://www.figma.com/proto/dFuJKpdDcmHNDqdj1011Zo/Disfactory_UI_design_2021?node-id=2097%3A17786&amp;scaling=min-zoom|https://www.figma.com/proto/dFuJKpdDcmHNDqdj1011Zo/Disfactory_UI_design_2021?node-id=2097%3A17786&amp;scaling=min-zoom> <https://www.figma.com/proto/dFuJKpdDcmHNDqdj1011Zo/Disfactory_UI_design_2021?node-id=2097%3A11348&amp;scaling=min-zoom|https://www.figma.com/proto/dFuJKpdDcmHNDqdj1011Zo/Disfactory_UI_design_2021?node-id=2097%3A11348&amp;scaling=min-zoom> *經濟部資料整合* <https://www.figma.com/proto/dFuJKpdDcmHNDqdj1011Zo/Disfactory_UI_design_2021?node-id=2097%3A17637&amp;scaling=min-zoom|https://www.figma.com/proto/dFuJKpdDcmHNDqdj1011Zo/Disfactory_UI_design_2021?node-id=2097%3A17637&amp;scaling=min-zoom> 新增欄位:資料來源:`經濟部`、`農委會`、`本平台`

ael 17:39:18
我今天要八點以後才會到,大家不用等我喔
收到!
我今天遠端,已經在記錄上寫了一些東西,可以連線討論(何時比較方便敲我一下)
差不多21:00敲你喔!
好喔
Yeefun Lin 19:15:34
今天有事無法到,about 網站改樣式已經做完頁面了,只剩 OG 圖,預計今天可以完成~
❤️ 4
deeper 19:24:00
今日小聚連結:https://meet.google.com/mcw-xswz-xod
記錄:https://g0v.hackmd.io/@yukaii/Disfactory/%2Frs1eYiOuRPmCir6eKa-Lug

meet.google.com

Meet

Real-time meetings by Google. Using your browser, share your video, desktop, and presentations with teammates and customers.

IU 20:49:32
陳愛台灣鮑鮪鮭魚松葉蟹海膽干貝龍蝦和牛肉美福華君品晶華希爾頓凱薩老爺
就決定這禮拜六是「愛台灣鮑鮪鮭魚松」了
--等等我細看發現這句話好像有那麼一點點母湯--
Yeefun Lin 21:48:20
網頁已經更新:https://about.disfactory.tw/
OG images 也已經更新,不過要讓臉書更新可能還需要一段時間

about.disfactory.tw

農地違章工廠回報|地球公民基金會

你的回報是行動的開始,有大宗回報,政府才有動起來的壓力

👍 2
ael 21:57:20
黑客松簡報:
1. 成果介紹
2. 徵人:對農地上的人行銷,以及其他專長
3. 支線任務大家可以解:LINE bot、衛星雲圖比對、餐桌上的違章工廠,歡迎來提案

2021-03-19

ael 15:03:58
老實說,我很想問大家對這件事是怎麼看的?

https://m.facebook.com/groups/f2e.tw/permalink/3720955087941829/

Facebook Groups

Front-End Developers Taiwan : **【軟體志工招募】均一教育平台 **#軟體志工計畫**

**【軟體志工招募】均一教育平台 **#軟體志工計畫** **  你渴望貢獻開源專案、渴望利用程式碼為台灣創造影響力嗎?歡迎申請全台最大的免費線上學習平台的 NPO 軟體志工計畫~ <https://junyiacademy.pse.is/3d994f>   ▌**背景說明 **...

會來社群的人跟不來的人感受差距很大
這篇文太像是以找工作的方式來找人
自然會激起大家對此的反感
而且那個社團找工作的機率、
你的意思是不太接觸過開源社群的人就不會覺得被冒犯嗎?
應該是反過來 接觸過開源社群的人不太反感
沒接觸過的人會被觸動心理開關更反感
可是我看下面留言也是說為什麼不是開 tickets 讓大家一起做
我看身邊的朋友 只要是資訊社群圈的都是支持
只要不是 都是反對當廉價勞工
我覺得牽扯到認同感的問題
能把大家集合起來 本身就是一種認同感的感覺
能夠讓大家更願意一起來做這件事
但是如果把門檻弄得像工作一樣 就會讓人覺得我為什麼要做第二份沒有錢的工作
我比較認同的 就是沒錢的這種事情
就是要有共同的目標跟願景才有辦法持續下去
我覺得跟社團的調性也有關啦
我看他發了這麼多篇 只有這個社團反彈這麼大 XD
其實我覺得下面的 comment 有不少是開源社群的人回的呀 @@

一般開源專案在求協作者的時候,比較不會做這種「希望每週至少參與工作六小時、持續參與半年」這種要求呢。
不過我想大家都有自己找協作者的方式~
我定義的開源社群圈 可能跟你的不一樣 XD
我說的比較偏 COSCUP 這邊的人

不過他們也算開源社群的人啦 你沒錯
其實發到很多技術社團都會被鞭吧,就看他要不要試著轉發更多地方體驗 XD
可能我看到發到其他社團的 根本沒人要理他吧 =_=
John Huang 2021-03-20 01:21:41
我原本還滿有興趣,可以點進去看到要面試就跳出了
可能以為在找實習生吧,社群不玩這套的,但也其實,真的熟悉社群文化的不多,就祝福他們找得到誤闖森林的小白兔 XD
我們沒注意到要兩年以上前端開發經驗誒
這樣要怎麽找實習生?
不是找實習生,是想要找即戰力
👀 1
ael 17:40:57
@cstsai 我今天晚上有時間可以幫忙看一下提案簡報,如果你需要的話

2021-03-20

LisbethW1130 11:22:12
@uuuyyttu has left the channel
caleb 11:46:45
@caleb has joined the channel
caleb 11:48:36
Hi! I joined at the g0v hackathon. I'm a software engineer, specialization in web development, particularly frontend. I'm really impressed with the project so far! I can't wait to help 🙂 my website is calebjay.com if you want to know more about my skillset or whatever
4
Carmen 11:57:13
@carmenkuo0628 has joined the channel
Oriyar 13:00:35
關於主持的部分,@yukai @cstsai 和大家活得還好嗎~ 我應該兩點半前可以到,(剛剛也稍微看過短講和發表的提案),如果要我接手主持ok噢 ~ 但如果你們得心應手我就幫忙遞🎤~
bdon 14:18:11
把向量地圖標示放大一點~ https://github.com/Disfactory/frontend/pull/87
Screen Shot 2021-03-20 at 2.16.37 PM.png
👍 1
Guo-Jim 14:31:53
@guo-jim has joined the channel
py52080 15:33:35
@py52080 has joined the channel
Guo-Jim 16:53:48
@guo-jim has left the channel
deeper 17:09:27
我晚點17:30得先離開大松會場 要趕去聽演講~
ael 17:09:52
@cstsai 超級無敵感謝你😍
deeper 17:32:30
謝什麼XD @yukai @aaronverywin 今天才是讓人耳目一新
可惜 yukai 沒喝酒?
…怕
5
ael 23:29:30
噢,今天也很感謝 @py52080 幫忙寫下了之前回鄉回報時使用上遇到的困難!
1

2021-03-21

2021-03-22

2021-03-24

ael 10:43:55
@cstsai 超級無敵感謝你😍
嚇我一跳 我以為是我沒回到訊息 原來是slack的bug
這個是上週六黑客松結束後發的 QQ
Oriyar 12:20:11
跟大家分享兩篇文章~來自一個我很喜歡的媒體眼底城事,他們最近的主題是平台都市主義,寫了兩篇關於民眾 x 數位平台 x 公共議題的介紹,一篇是講disfactory的簡介和開發過程(全民糾察隊),一篇是講美國匹茲堡的社區公民科學

今晚要小聚噢,我已經在台北,實在冷爆惹.....

眼底城事

全民糾察隊:開放協作平台舉報農地違章工廠 | 眼底城事

文:吳柏澍;圖:地球公民基金會 平台都市主義,探討數位資訊科技,如何改變了我們的都市生活?我們注意到,關鍵在於 […]

眼底城事

社區公民科學:用開放數位平台的技術與公民合作解決都市環境問題 | 眼底城事

圖、文:許晏嘉;編輯:punkelephant 不管在影視作品裡或真實世界,環境污染的問題的揭發,常常是已東窗 […]

有個部分細節寫錯了,可以幫忙通知作者改正嗎?

「G0V零時政府是一個公民科技的專案社群,是一群有公民意識的技術人與有公共政策背景的倡議者組成的社群。G0V社群每2個月會舉辦一次黑客松聚會,稱之為「大松」,或者是揪松團(JoinHackthon)」

揪松團(Jothon)是舉辦大松的小組,並不是稱呼大松為揪松團
可以直接跟我說改成哪樣的內容比較好嗎?或是刪掉最後這句「或者是揪松團(JoinHackthon)」
G0V社群🀄️的揪松團每2個月會舉辦一次黑客松聚會,稱之為「大松」
g0v 社群其中的一個工作小組「揪松團」 每兩個月會舉辦一次黑客松聚會,也稱為「大松」
不知道加上工作小組會不會對陌生社群的人比較好閱讀,但我覺得小班的寫法也很清楚!
已修正!
👍 3 3 🥶 1 ❤️ 1
Tin 17:04:16
(我今天有事請假!)
Aaron 18:48:00
我今天也不行XD
caleb 19:02:05
I'll be a few minutes late
@caleb it is on the 9th floor behind the glass door
Take your time. It is a casual meetup
I'm heading there now
Oh this is near a really cool co-working space
deeper 19:15:01
桃園又拆了一家!
Image from iOS
👍 5 3 ⚙️ 3
ael 19:18:06
@caleb it is on the 9th floor behind the glass door
LittleWhiteYA 19:27:42
今天先線上參與~ 要一邊弄公司ㄉ東西
deeper 19:39:28
今日小聚連結:https://meet.google.com/mcw-xswz-xod
紀錄:https://g0v.hackmd.io/@yukaii/Disfactory/%2FvO0bizwqT2i4fp3bGXu_HA

meet.google.com

Meet

Real-time meetings by Google. Using your browser, share your video, desktop, and presentations with teammates and customers.

Yeefun Lin 2021-03-24 19:58:18
連結是不是貼錯了
yukai 20:26:07
@caleb

https://stackoverflow.com/questions/55718470/ui-is-getting-blocked-when-zooming-in-out-with-markers-in-openlayers-integration

Stack Overflow

UI is getting blocked when zooming in/out with markers in openlayers integration

I have integrated openlayers in my angularJs/Typescript project with bing map to develop ms dynamics crm client-side application. I am using this application as offline-html in field service mobile...

Yeefun Lin 20:57:25
@aelcenganda
不知道是不是這個
https://github.com/Disfactory/Disfactory/issues/480

#480 後台輸出數量

*Is your feature request related to a problem? Please describe.* dashboard和未來任何系統統計數字輸出需求, 讓使用者知道自己再怎麼樣的脈絡下檢舉, 讓非使用者知道系統收了多少資料。 *Describe the solution you'd like* *原始數據* 要有 _總數量_、_分縣市_、_分鄉鎮市_ ☐ 疑似違章工廠數量(factory) ☐ 總案件量(factory中起碼有一張image的數量) ☐ 使用者新增的數量(source=U) ☐ 政府盤查的數量(source=G) ☐ 回報人次(reportrecord的數量) ☐ 處理進度(第二到第七個display status的數量) ☐ 已檢舉 ☐ 陳述意見期 ☐ 已排程稽查 ☐ 已勒令停工 ☐ 已發函斷電 ☐ 已拆除 *可計算出* 1. 回報後已檢舉比例 2. 疑似違章工廠中已有照片之比例 3. 檢舉後已拆除比例 4. 其他跟設計師繼續討論 *Additional context* 整合 <https://github.com/Disfactory/Disfactory/issues/464|#464> <https://github.com/Disfactory/Disfactory/issues/463|#463>

Yeefun Lin 20:59:26
https://github.com/Disfactory/Disfactory/pull/491

#491 修改 /api/factories 的回傳格式,一次回傳 factories, documents 與 report_records 減少前端需要的 query 次數

<https://user-images.githubusercontent.com/126123/106724389-22588280-6643-11eb-8067-11d53535f842.png|image> `/api/statistics/factories` 參數有 • townname • source • display_status • level 前三個是之前就有的就不多解釋,最主要就是多了一個 level level 可以接受的值是 `city` 與 `town` e.g. `/api/statistics/factories` 回傳全台灣的資料,但是不會有縣市與鄉鎮市區的資料 ``` { "factories": 53914, "documents": 200, "report_records": 0 } ``` `/api/statistics/factories?level=city` 回傳全台灣與縣市資料 ``` { "factories": 53914, "documents": 200, "report_records": 0, "cities": { "基隆市": { "factories": 0, "documents": 0, "report_records": 0 }, "臺北市": { "factories": 0, "documents": 0, "report_records": 0 }, ... } ``` `/api/statistics/factories?level=town` 回傳全台灣, 縣市與鄉鎮市區的資料 ``` { "factories": 53914, "documents": 200, "report_records": 0, "cities": { "基隆市": { "factories": 0, "documents": 0, "report_records": 0, "towns": { "仁愛區": { "factories": 0, "documents": 0, "report_records": 0 }, .... } ``` 如果跟 townname 結合的話 `/api/statistics/factories?townname=臺南市&amp;level=town` ``` { "factories": 53914, "documents": 200, "report_records": 0, "cities": { "臺南市": { "factories": 5732, "documents": 100, "report_records": 0, "towns": { "中西區": { "factories": 0, "documents": 0, "report_records": 0 }, .... ``` `/api/statistics/factories?townname=臺南市善化區` ``` { "factories": 53914, "documents": 200, "report_records": 0, "cities": { "臺南市": { "factories": 5732, "documents": 100, "report_records": 0, "towns": { "善化區": { "factories": 238, "documents": 0, "report_records": 0 } } } } } ``` `/api/statistics/factories?townname=臺南市` ``` { "factories": 53914, "documents": 200, "report_records": 0, "cities": { "臺南市": { "factories": 5732, "documents": 100, "report_records": 0 } } } ```

Yeefun Lin 20:59:53
https://github.com/Disfactory/Disfactory/pull/488

#488 增加統計資料的 API #480

針對 <https://github.com/Disfactory/Disfactory/issues/480|#480> 的需求增加了 `/api/statistics/factories` `/api/statistics/images` `/api/statistics/report_records` 每個 API 都有三個可以使用的 query 參數 towname, source 與 display_status <https://user-images.githubusercontent.com/126123/105994497-a7431980-60e2-11eb-83be-8211659cc12b.png|image> 其中 *townname* 可以只輸入縣市名稱,例如 (臺南市) 或者更詳細一點,例如 (臺南市善化區),不輸入的話會回傳全台灣的統計 *source* 可以輸入 "U" 或者 "G" U 代表使用者舉報的,G 代表從政府那邊取得的資料 *display_status* 除了 document 預設的 display_status 之外,還有一個 "處理中" 的選項可以用,這個代表 "已排程稽查", "陳述意見期", "已勒令停工" 這三種 display_status Available values : 已檢舉, 已排程稽查, 陳述意見期, 已勒令停工, 已發函斷電, 已排程拆除, 已拆除, 不再追蹤, 處理中 *Response* ``` { "count": 100 } ```

ael 21:02:55
@szyeefun
1. 經濟部資料匯入會需要顯示新欄位和工廠狀態改變 https://github.com/Disfactory/frontend/issues/90
2. 幫我寫一下 about page 的 dashboard 確切的數字算法和 API
3. https://github.com/Disfactory/about.disfactory.tw/issues/33

#33 Dashboard on Landing Page

yukai 21:03:49
https://github.com/openlayers/openlayers/blob/v6.5.0/src/ol/source/Cluster.js

src/ol/source/Cluster.js

``` /** * @module ol/source/Cluster */ import EventType from '../events/EventType.js'; import Feature from '../Feature.js'; import GeometryType from '../geom/GeometryType.js'; import Point from '../geom/Point.js'; import VectorSource from './Vector.js'; import {add as addCoordinate, scale as scaleCoordinate} from '../coordinate.js'; import {assert} from '../asserts.js'; import {buffer, createEmpty, createOrUpdateFromCoordinate} from '../extent.js'; import {getUid} from '../util.js'; /** * @typedef {Object} Options * @property {import("./Source.js").AttributionLike} [attributions] Attributions. * @property {number} [distance=20] Minimum distance in pixels between clusters. * @property {function(Feature):Point} [geometryFunction] * Function that takes an {@link module:ol/Feature} as argument and returns an * {@link module:ol/geom/Point} as cluster calculation point for the feature. When a * feature should not be considered for clustering, the function should return * `null`. The default, which works when the underyling source contains point * features only, is * ```js * function(feature) { * return feature.getGeometry(); * } * ``` * See {@link module:ol/geom/Polygon~Polygon#getInteriorPoint} for a way to get a cluster * calculation point for polygons. * @property {VectorSource} [source] Source. * @property {boolean} [wrapX=true] Whether to wrap the world horizontally. */ /** * @classdesc * Layer source to cluster vector data. Works out of the box with point * geometries. For other geometry types, or if not all geometries should be * considered for clustering, a custom `geometryFunction` can be defined. * * If the instance is disposed without also disposing the underlying * source `setSource(null)` has to be called to remove the listener reference * from the wrapped source. * @api */ class Cluster extends VectorSource { /** * @param {Options} options Cluster options. */ constructor(options) { super({ attributions: options.attributions, wrapX: options.wrapX, }); /** * @type {number|undefined} * @protected */ this.resolution = undefined; /** * @type {number} * @protected */ this.distance = options.distance !== undefined ? options.distance : 20; /** * @type {Array&lt;Feature&gt;} * @protected */ this.features = []; /** * @param {Feature} feature Feature. * @return {Point} Cluster calculation point. * @protected */ this.geometryFunction = options.geometryFunction || function (feature) { const geometry = feature.getGeometry(); assert(geometry.getType() == GeometryType.POINT, 10); // The default `geometryFunction` can only handle `Point` geometries return geometry; }; this.boundRefresh_ = this.refresh.bind(this); this.setSource(options.source || null); } /** * Remove all features from the source. * @param {boolean=} opt_fast Skip dispatching of {@link module:ol/source/Vector.VectorSourceEvent#removefeature} events. * @api */ clear(opt_fast) { this.features.length = 0; super.clear(opt_fast); } /** * Get the distance in pixels between clusters. * @return {number} Distance. * @api */ getDistance() { return this.distance; } /** * Get a reference to the wrapped source. * @return {VectorSource} Source. * @api */ getSource() { return this.source; } /** * @param {import("../extent.js").Extent} extent Extent. * @param {number} resolution Resolution. * @param {import("../proj/Projection.js").default} projection Projection. */ loadFeatures(extent, resolution, projection) { this.source.loadFeatures(extent, resolution, projection); if (resolution !== this.resolution) { this.clear(); this.resolution = resolution; this.cluster(); this.addFeatures(this.features); } } /** * Set the distance in pixels between clusters. * @param {number} distance The distance in pixels. * @api */ setDistance(distance) { this.distance = distance; this.refresh(); } /** * Replace the wrapped source. * @param {VectorSource} source The new source for this instance. * @api */ setSource(source) { if (this.source) { this.source.removeEventListener(EventType.CHANGE, this.boundRefresh_); } this.source = source; if (source) { source.addEventListener(EventType.CHANGE, this.boundRefresh_); } this.refresh(); } /** * Handle the source changing. */ refresh() { this.clear(); this.cluster(); this.addFeatures(this.features); } /** * @protected */ cluster() { if (this.resolution === undefined || !this.source) { return; } const extent = createEmpty(); const mapDistance = this.distance * this.resolution; const features = this.source.getFeatures(); /** * @type {!Object&lt;string, boolean&gt;} */ const clustered = {}; for (let i = 0, ii = features.length; i &lt; ii; i++) { const feature = features[i]; if (!(getUid(feature) in clustered)) { const geometry = this.geometryFunction(feature); if (geometry) { const coordinates = geometry.getCoordinates(); createOrUpdateFromCoordinate(coordinates, extent); buffer(extent, mapDistance, extent); let neighbors = this.source.getFeaturesInExtent(extent); neighbors = neighbors.filter(function (neighbor) { const uid = getUid(neighbor); if (!(uid in clustered)) { clustered[uid] = true; return true; } else { return false; } }); this.features.push(this.createCluster(neighbors)); } } } } /** * @param {Array&lt;Feature&gt;} features Features * @return {Feature} The cluster feature. * @protected */ createCluster(features) { const centroid = [0, 0]; for (let i = features.length - 1; i &gt;= 0; --i) { const geometry = this.geometryFunction(features[i]); if (geometry) { addCoordinate(centroid, geometry.getCoordinates()); } else { features.splice(i, 1); } } scaleCoordinate(centroid, 1 / features.length); const cluster = new Feature(new Point(centroid)); cluster.set('features', features); return cluster; } } export default Cluster; ```

deeper 21:22:53
> {‘Id’: 0.0, ‘towncode’: ‘O01’, ‘sectno’: ‘0131’, ‘sectName’: ‘隆恩段’, ‘office’: ‘OA’, ‘landno’: ‘1213’, ‘mergeSameDoorCount’: 0, ‘nsort’: 0.0, ‘townname’: ‘’}
> 這邊遇到的問題是說 O01 這個 towncode 是沒有存在 https://github.com/Disfactory/Disfactory/tree/master/backend/towninfo 裡面任何的檔案
@pm5 ~~~ 我們的後端工程師遇到問題求救
@cstsai if you see this ^^^^
@f46284628
ael 21:23:38
@wutingy @sandrahtlin
上次黑客松有人幫忙寫了使用上遇到的問題,有空可以看一下有沒有想到怎麼改善比較好
https://github.com/Disfactory/Disfactory/issues/518

#518 網頁存取定位的自由設定

*Describe the bug* 過年時候回彰化阿公家,先分享了彰化二林的違章工廠數量到FB,一查發現「天啊有夠多!那要趁這兩天順便來檢舉一波!」。但因最一開始進入網站時,下意識地拒絕網站存取我的定位,所以無法使用自動定位功能找到現在所在地,馬上就卡關了!當下覺得去“設定”調整權限很麻煩(會找不到路徑),但仍不放棄決定手動拉地圖找,不過可能阿公家網路不好,每移動一下地圖都要loading好久,覺得很灰心。終於找到阿公家大概的區位後,又發現因為沒有那麼熟這邊的路,一旦少了定位的點點標記自己的位置,居然就無法判斷方位,所以雖然看得到附近有疑似工廠,但看著點位還是找不到方向,連幫忙補充照片都做不到。 *Expected behavior* 再點一次定位icon,就會自動再問我一次同不同意存取我的定位!(os:好啦~我現在想同意了啦) <https://user-images.githubusercontent.com/81005037/111861243-b8dccb00-8987-11eb-98a2-be7ee0f0f6aa.PNG|IMG_1524> 其他迂迴地解法:跳到設定頁面讓我快速同意存取定位 or 點擊疑似工廠可以點地址或經緯度幫我開啟google map(我可以一樣不同意存取定位,但依然知道方位) *Smartphone (please complete the following information):* • Device: iPhone6s • OS: iOS 14.4.1 • Browser: safari *Additional context* 使用者背景:過年回阿公家想順手檢舉的優良公民,再給一次機會嘛,讓我同意網站存取我的定位吧

我覺得可以直接照他建議的耶:再點一次定位icon時,就會自動再問一次同不同意存取定位
對啊 如果可以的話,就再問一次,不知道技術上會不會不行?
@yoyo930021
不行 只要被拒絕過 就不能再詢問了
如果可以的話 你應該會看到每個網站都狂問到你同意為止

這裡只有兩種可能解法
1. 打開網頁時 用自己的對話框取代實際問權限的對話框 變成同意要按兩次這樣 第一次的對話框可以說明理由
2. 當偵測到被拒絕時 顯示說明引導使用者去設定打開
@yoyo930021 實際問權限那個會先跳出來,有可能讓它晚一點再跳出來嗎?例如同意加入回報後才跳出。我印象中有些新聞網站索取地理位置的時間點比較慢,但也有可能是網頁 load 太慢了
什麼時候問是可以改的
就像是前面提到在做一個對話框的意思一樣
👍 1
ael 21:36:31
@cstsai
I just opened a HackMD for the English article
https://g0v.hackmd.io/quqiOa5LSu-amjxav_EP8Q?both

g0v.hackmd.io

Disfactory English article on Common Health Magazine - HackMD

@liu.brandon we are writing an article for CommonWealth Megazine Online introducing Disfactory project. It is still a draft mainly with outlines right now. Feel free to add anything or any questions you think English readers would be interested in. It is a business magazine. Their readers probably are foreigners in Taiwan without prior knowledge of open source and civic tech
I am personally taking this as a chance to co-write an English intro for Disfactory lol
ok! i’ll take a look
👌 1
deeper 22:14:04
International day
Image from iOS

2021-03-25

denkenie 10:06:29
@denkenie has joined the channel
swind 12:09:37
接下來的 30min api.disfactory.tw 可能會不太穩定,如果有問題或者缺資料的話再跟我說
swind 12:19:23
更新比想像順利,已經換好了,如果有問題的話再跟我說
4 🎉 3 1
caleb 21:38:39
https://discord.gg/cKGPZMwB

Discord

Join the Taiwan Burners Discord Server!

Check out the Taiwan Burners community on Discord - hang out with 145 other members and enjoy free voice and text chat.

caleb 21:38:50
If you want to try to buy a turtle burn ticket this is where
1 🙌 1
caleb 21:39:09
They're being resold here
caleb 21:39:43
Turtle burn is august 2 to 5
caleb 21:40:31
Ticket transfers end 3/28 so you'll need to get one from someone else before then
caleb 21:40:38
Unfortunately there were only 150 tickets x.x
caleb 21:40:53
@aelcenganda ok that's all the info hahah. Sorry I didn't get it to you sooner

2021-03-26

Guo-Jim 08:35:12
@guo-jim has joined the channel
caleb 17:23:44
I forgot to say! We're generating a 7/11 snack tier list! At my rooftop today starting at 630. It's kinda like a party. If you're interested @ me. It's in Xinyi.
1
caleb 17:24:26
Sorry for short notice. Anyway you're all invited lol. If you're looking for something to do
ael 17:34:42
Just a reminder for everyone here. This is a public channel with a slack bot that archives all messages to a public website https://g0v-slack-archive.g0v.ronny.tw/

Please consider your privacy before sharing any personal information here.
👍 1
caleb 23:52:01
I dare criminals to come here I will tickle them

2021-03-28

pm5 18:24:57
我剛才才發現 matterbridge 也可以接 microsoft teams, 所以如果突發奇想想要把 g0v slack 的這個頻道同步到 teams 裡面也是可以的 (只是說說)
3
Oriyar 18:44:44
我今天和匹茲堡煙囪王通電話,原本想請益數位工具與社區培力及環境倡議的事,不知不覺聊到衛星地圖自動偵測標出工廠,他給了我一盞明燈,想當然爾我是看不懂的,所以拿出來給大家看看惹。
https://www.theatlantic.com/technology/archive/2016/05/the-promise-of-terrapattern-the-visual-search-engine-for-satellite-imagery/484610/

https://github.com/CreativeInquiry/terrapattern

眼底城事

社區公民科學:用開放數位平台的技術與公民合作解決都市環境問題 | 眼底城事

圖、文:許晏嘉;編輯:punkelephant 不管在影視作品裡或真實世界,環境污染的問題的揭發,常常是已東窗 […]

The Atlantic

The Coolest New Way to Use Satellite Imagery

Sometimes, a new tool comes into the world that is so expansively, obviously useful that you can’t do anything but sit back and think: Wow.

我... 看惹?
但你沒有來小聚,所以不知道花黑噴,快這週三來玩一下。
黑噴 什麼意思?
花黑噴 = what happened XD
Is it slang?
It's a translation of the phrase in a funny way. The two sayings sound alike.
@caleb wanna propose a “Taiwanese mandarin urban dictionary” in next g0v Hackathon?
我們已經需要做 Deep learning 了嗎? XD
Hahah maybe an urban dictionary is a good idea
👍 2 ❤️ 2

2021-03-29

2021-03-30

Oriyar 16:44:44
*明天小聚搭大眾交通工具來嘿*

因為我跟deeper打賭輸惹,所以現場會供應啤酒。上週小聚討論出和使用者接觸的問卷,我就跟他賭轉換率,然後我整個超輸(中文沒有這種用法,但總之就是輸到脫褲)( @sandrahtlin 本來想找你一起下注的,135封信有多少人會填寫問卷、多少人願意受訪),還好我忘了揪你,不然現場是供應調酒了。

以上,要喝的不要騎車來噢(嘿就是在說你 @yukai
所以是多少人填回饋啊?😂
但明天有事情,要PASS一次😭😭😭😭😭
我要現場給大家猜,然後誤差值正負10以上的罰十杯!
那我猜,填問卷45,願意受訪39
噢噢明天還有一個玩具,就是我集資的太空香水到台灣了!(謎之音:女人錢真好騙),總之明天會帶去小聚~

https://www.kickstarter.com/projects/eaudespace/what-does-outer-space-smell-like-nasa-designed-fragrance/description
🤣 4 🍻 1 🍺 1 🍴 1
ael 17:44:17
【南庄桐花松報名開始囉】`名額超有限`
3/20 大松時,揪松團提到的 *5/1(六) 南庄桐花松*已經開放報名囉!歡迎農業科技有興趣,或是想一起去苗栗邊賞花邊開幹的朋友,趕快報名參加 💻

報名頁面:https://g0v-jothon.kktix.cc/events/tungflowerthon2021
共筆:https://g0v.hackmd.io/@jothon/tungflowerthon2021

g0v-jothon.kktix.cc

g0v 南庄桐花松 2021

g0v 南庄桐花松 2021,農業、賞花、Hacking!

HackMD

2021 南庄桐花松 - HackMD

# 2021 南庄桐花松 ![](<https://s3-ap-northeast-1.amazonaws.com/g0v-hackmd-images/uploads/upload_309aaaef>

@cstsai @oriyaroriyar 看你們有沒有想到可以推薦誰去
這個宣傳圖也太厲害
太酷了⋯⋯
👍 2

2021-03-31

jiahe 17:25:42
抱歉,今晚又不能到,但有些問題想跟 @cstsai 同步一下:

這次預定要討論的「寄問卷」和「列訪綱」分別是寄哪一份問卷?(另一份電子問卷?紙本問卷?還是?)列「電訪」或是「面訪」的訪綱?

我的理解是接下來我們電訪和面訪應該都想做,對吧?那原先已經有電話的,以及在電子問卷中留下郵箱的,是否需要先過濾重複,整理出一份接觸名單?

大家覺得應該先全部先做一次電訪,表達明確意願的人再進一步約田野面訪嗎?(我自己覺得順序上似乎這樣比較好)

電訪的部分,我下週開始就可以多放一些時間開始打,看要怎麼安排,我先把時間空下來。
只要確定電訪、面訪的關係和執行順序,我這週內可以(各)擬一份訪綱出來。
> 這次預定要討論的「寄問卷」和「列訪綱」分別是寄哪一份問卷?(另一份電子問卷?紙本問卷?還是?)列「電訪」或是「面訪」的訪綱?
目前寄了電子問卷給有留下email的人,一共是137份有效電子郵件位址,有44人回覆,23人願意接受電訪。
名單篩除我今天來做(有留下電話是35,最多就是35+23)
> 應該先全部先做一次電訪,表達明確意願的人再進一步約田野面訪嗎?
同意這個順序!
目前電訪的訪綱長這樣
我們預計明天再寄一封電子郵件跟他們要聯絡方式和聯絡時間
下週有確定的名單和可電訪時間,再找 @jiahe.lin 你討論~
好喔,那我先看訪綱。辛苦了!
caleb 18:43:48
Hey all, I can't come tonight because I need to prepare for Turtle Burn. Have fun though!
🐢 2
Yeefun Lin 19:11:00
我今天有事,無法參加會議
👌 1
deeper 19:42:16
今日小聚連結:https://meet.google.com/mcw-xswz-xod
今日小聚紀錄:https://g0v.hackmd.io/@yukaii/Disfactory/%2Fjm9i1MUTSauR70fwqGHDQw

meet.google.com

Meet

Real-time meetings by Google. Using your browser, share your video, desktop, and presentations with teammates and customers.

請假 加班 😭
辛苦惹!
拍拍,你可以看小聚紀錄,問卷回填還蠻有趣的!
然後我們剛剛一起聞了國際太空站的味道,不太好聞,所以其實你沒有錯過什麼(除了啤酒...)
deeper 21:14:10
學長所在的實驗室:https://teamcore.seas.harvard.edu/gsg

teamcore.seas.harvard.edu

Green Security Games: A Game Theory Framework to Combat Crimes Against the Environment

Green Security Game refers to the general framework to model the repeated and strategic interaction in green security domains such as wildlife protection and fishery protection. In Green Security Game framework, the problem in these domains is cast as a repeated game.

建議的技術關鍵字:computer vision, segmentation labeling
bdon 21:20:09
https://tasks.hotosm.org

Tasking Manager

HOT Tasking Manager

Collaborative mapping for humanitarian action.

4
ael 23:16:11
@cph @jsaon92 我今天跟小海和 deeper 聊到的想法,@liu.brandon 上面貼的連結則是 crowdsourcing mapping 的示範。想問你們的意見

想問這邊有沒有擅長處理衛星照片影像辨識、computer vision 的朋友? <#CNA60GZJM|disfactory> 農地違章工廠回報系統專案,正在討論有沒有可能讓五萬筆疑似違章工廠資料由群眾外包從衛星圖人工判讀是否為 2016 年後新增建,以及有沒有可能在人工標注完五萬多筆資料後,有機會用演算法從衛星空照圖標出疑似新增建物的點位。需要技術支援討論 XD 歡迎加入 <#CNA60GZJM|disfactory> channel

比對「新增建」好像困難蠻多的,我聽過辨識成果比較好的多是單次衛星影像裡辨識出災區、道路、高壓電塔這些物件。前後不同時間的衛星影像的話,會造成影像內容變動的因素會蠻多的,像是天氣(顏色會變)、雲層遮蔽、角度(陰影方向會變)這些,感覺有點難。但我不是衛星圖專家 😅
poga 23:35:12
@poga has joined the channel
chewei 23:37:48
究心科技曾開發 FS2 Clicker,摘自介紹文章:大家透過手機上的 APP, 就可以根據任務與介紹來協助標記這些小塊的圖示. 例如「尋找森林開墾蹤跡」這樣的任務, 就是希望能夠標示出有被開墾的山林地. 不管是合法開墾, 非法開墾, 土石流或坍方造成森林被砍伐. 而這個 FS2 Clicker 就是讓大家可以在手機上, 透過回答簡單的問題就能參與這個群眾協作 (Crowdsourcing) 的專案了!
https://geothings.tw/2014/11/04/%E8%87%AA%E5%B7%B1%E7%9A%84%E5%AE%B6%E5%9C%92%E8%87%AA%E5%B7%B1%E6%95%91-%E8%AB%87%E8%A1%9B%E6%98%9F%E7%A9%BA%E7%85%A7%E5%9C%96%E7%9A%84%E5%8F%A6%E4%B8%80%E5%80%8B%E6%87%89%E7%94%A8/

GeoThings Inc.

自己的家園自己救 – 談衛星空照圖的另一個應用

談到衛星空照圖, 可能大家最常接觸到的會是衛星雲圖 (一般來說會是紅外線+可見光的拍攝組合). 而究心團隊透過與國家太空中心的合作, 應用福衛二號衛星的空照圖來提供大家另一種應用的可能.…

1 👍 1