cofacts

Month: 2019-01

2019-01-02

mrorz 20:12:47
最近在重構 cofacts 的網站 rumors-site
會把目前的 `App.js` 裡面處理 redux 的部分拆掉,用現成的 next-redux-wrapper 或 next-connect-redux 處理
- next-redux-wrapper : https://github.com/zeit/next.js/blob/canary/examples/with-redux-wrapper/README.md
- next-connect-redux : https://github.com/huzidaha/next-connect-redux/blob/master/README.md

然後我升級 next 7 之後遇到 FOUC 問題 ( branch: https://github.com/cofacts/rumors-site/tree/refactor ),但之後再說 QQ

GitHub

zeit/next.js

The React Framework. Contribute to zeit/next.js development by creating an account on GitHub.

GitHub

huzidaha/next-connect-redux

Connect Next.js to Redux. Contribute to huzidaha/next-connect-redux development by creating an account on GitHub.

GitHub

cofacts/rumors-site

Rumors list / creation UI, with server-side rendering - cofacts/rumors-site

mrorz 22:10:17
choose https://github.com/kirill-konshin/next-redux-wrapper over the other because it’s still maintained
ggm 20:58:44
月月好可愛噢

2019-01-03

2019-01-04

2019-01-06

lilin 20:04:34
@lilin has joined the channel

2019-01-07

shangkuanlc 09:36:09
真的假的社群有關於「假消息/假新聞怎麼出現的」相關的討論或連結嗎?

我最近這幾天在想如果有人想透過演講或分享會的形式推廣,跟一般大眾分享如何破除假消息,也許這類深度的新聞報導或學術分析會是蠻好用的談資。
shangkuanlc 09:39:54
這份紐約時報2018年11月出品的紀錄片《Operation InfeKtion》(暫譯:傳染行動),以蘇聯情報局如何在50年前開始製造假新聞的諜戰歷史,分析假新聞的源流與特徵: https://youtu.be/tR_6dibpDfo
shangkuanlc 09:42:06
報導者在2018年9月出的三篇系列報導,則說明了台灣目前網路輿論的製造業生態: https://www.twreporter.org/topics/disinformation-manufacturing-consent
mrorz 16:08:10
沒有討論,但很久以前 CNN 有這個專題

https://money.cnn.com/interactive/media/the-macedonia-story/
mrorz 16:08:25
基本上就是點閱率賺錢囉
shangkuanlc 09:39:54
這份紐約時報2018年11月出品的紀錄片《Operation InfeKtion》(暫譯:傳染行動),以蘇聯情報局如何在50年前開始製造假新聞的諜戰歷史,分析假新聞的源流與特徵: https://youtu.be/tR_6dibpDfo

YouTube

Operation InfeKtion: How Russia Perfected the Art of War | NYT Opinion

2019-01-09

2019-01-11

mrorz 13:26:56
@ggm 禮拜三的時候討論到資料庫膨脹的問題,大多都是 `urls` 這個 index 造成。
美玉姨傳進來的 URL 我們爬完之後,會把爬蟲爬到的完整資料存進 `urls` 。這導致現在資料庫每個禮拜會成長 8GB。

但這些 `urls` 可能後來根本沒有 `articles` 或 `replies` 用到,它就變成一個一直膨脹的 cache,永遠沒有清掉的機會。
https://g0v.hackmd.io/s/B1X3aNfzE#%E8%B3%87%E6%96%99%E5%BA%AB%E8%86%A8%E8%84%B9%E5%95%8F%E9%A1%8C

開會時討論到 reference counting + cron job 的作法
@ggm 認為應該要在建立 article / reply 的時候就去 `urls` index 標記「這個 url 有用到」,然後在 cronjob 裡清掉沒用掉的那些 url。
我覺得標記這件事情應該在 cronjob 裡完成,因為這樣就不用碰到程式邏輯,只要在 cron job 檢查一次所有沒掃過的 urls 就可以。而且,如果蓋 article/reply 時就要去記,我們還是要搞一個 one-time marker 把現有的 urls 都跑過一次。

HackMD

20190109 會議記錄 - HackMD

20190109 會議記錄 ==== 文武/ggm/bil/orz/ci/Lucien &gt; 前次會議記錄:<https://g0v.hackmd.io/s/SyN-sb8b4> &gt; ## 新功能

mrorz 13:27:14
請問 @ggm 為什麼會覺得應該在 article/reply 建立的時候就去標記呢?
ggm 13:33:16
因為我覺得 article/reply 建立的時候就知曉他們之間的關係了,就順勢把連結建起來這樣
ggm 13:38:22
我的考量是之後如果有更多的事件(?),都可以在這個時機下做,因為他獲得的資訊應該是比較多的。但其實即使有更多事件,好像也是可以放在 cron-job 上面做
mrorz 13:39:17
我覺得這也要看這個關係除了做掃除之外是不是還會被其他程式邏輯用到呢
ggm 13:39:35
是說 url 在被產生的時候,知道自己被 ref 到嗎
mrorz 13:39:43
目前 article.hyperlinks / reply.hyperlinks 等於是把 foreign key 放在 articles
mrorz 13:39:54
現在的邏輯其實是
mrorz 13:39:58
url 會先被蓋出來
mrorz 13:40:08
然後之後才會被寫進 articles.hyperlinks 唷
mrorz 13:40:18
因為整個邏輯是這樣的:
mrorz 13:40:40
1. 使用者傳一個含有 URL 的訊息進來問 `ListArticles` API
mrorz 13:41:51
2. 如果訊息裡有 URL,他會叫 crawler 去爬,然後把結果加入搜尋的 string 裡(這樣才能達到 URL不同內容相同也能查到的效果)
此時會順便把結果網 urls 裡存
mrorz 13:42:17
3. 如果這是新訊息,使用者也選擇把它送進資料庫
ggm 13:42:38
這樣看起來 crawler 的邏輯好像是比較獨立運作的?
mrorz 13:42:47
那麼 create article 的時候其實還是會去爬
只是每次在爬之前我都會先查 urls
mrorz 13:43:03
在這個時候,通常因為之前在查的時候 urls 就爬過了
mrorz 13:43:11
所以 create articles 的時候就不會再爬
mrorz 13:43:18
而是直接用 urls 裡存的那一份
ggm 13:43:37
恩恩
mrorz 13:43:53
具體來說,
程式的實作是這樣:https://github.com/cofacts/rumors-api/blob/master/src/util/scrapUrls.js

GitHub

cofacts/rumors-api

GraphQL API server for clients like rumors-site and rumors-line-bot - cofacts/rumors-api

mrorz 13:44:03
在 API server 裡面要做 url --> 拿結果
ggm 13:44:04
我覺得他好像比較獨立 所以好像用 cron jon 做好像比較好
mrorz 13:51:56
好唷感謝感謝
那我把討論結果記起來
mrorz 13:44:07
都是透過這支 API
mrorz 13:44:24
這隻 API 會偷存 `urls` cache、偷查 cache
mrorz 13:45:22
但呼叫 `scrapUrls` 的人不一定要管這個 url 結果是從 cache 來的還是真的爬來的
mrorz 13:46:56
(雖然呼叫 `scrapUrls` 的人可以透過 `fromUrlsCache` 這個 bool 得知剛才是否有查到 cache)
mrorz 13:51:56
好唷感謝感謝
那我把討論結果記起來

2019-01-14

mrorz 15:18:18
`urls` index cleanup 寫完囉請 review
https://github.com/cofacts/rumors-api/pull/120
Lulu Keng 17:05:27
哈囉~~ 各位好,我是在這邊潛水一段時間,來自OCF的Lulu,我這邊有兩件是想跟大家說:
Lulu Keng 17:09:10
1) 從去年開始,OCF有跟富邦文教基金會合作,希望把網路公民意識帶進校園 (基金會長期做老師、學生的公民素質培養活動,團隊也是一直參與公民運動),今年我們再碰面討論,覺得不實訊息真是更加嚴重,因此想要在學生營隊當中,跟大家介紹cofacts闢謠平台怎麼使用,希望讓關心議題的大學生能貢獻成為闢謠編輯。目前有一場1/22下午的課程,我是想說或許我就以自身使用闢謠後台的經驗,向核心的學生志工介紹怎麼使用,因為你們網站上其實也已經有非常詳細的介紹。
Lulu Keng 17:10:48
當然,如果 cofacts 團隊有興趣親自跟學生交流介紹怎麼使用編輯平台,那就更棒了,1/22 也可以安排你們直接說明。
mrorz 18:24:59
好的感謝告知,已經詢問團隊成員囉!
bil 12:49:12
1/22還有NCC的會議喔,不過下午我應該沒有空呢
mrorz 22:16:58
@lulu523 @ggm 可能可以去唷,
想知道地點
ggm 22:18:06
@lulu523 可以敲我
Lulu Keng 17:12:54
2) 我有個以前做社會運動的好友,在Line Today團隊好一陣子,她很希望能在現有可做的之下,提供真的假的更多協助,她目前想到的是可以直接免費提升 @cofacts 帳號的等級 (因為好像超過某個人數要收費?),如果有興趣我可以再進一步協助處理。
mrorz 18:24:37
其實我們一直都是用免費版的呢 XD
Lulu Keng 10:59:01
good!! 那就有什麼進一步需要再來問囉
bil 12:48:33
其實會想了解有沒有辦法提升成付費版的等級,也不用長期,只有一個月可以使用也沒有關係。
Lulu Keng 17:32:12
我上次聽來是,她可以把你們帳號升級成付費版等級,但不收錢
Lulu Keng 17:34:02
但因為我還不是很清楚 line 帳號等級,所以也只能先轉達,如果是的確付費版帳號等級更好,那我就先以這項去問她
Lulu Keng 17:13:29
第二項有的話,就是我個人志工協助,跟OCF就沒關係了
bess 23:48:10
想問這邊有需要一批山豬嗎 XD
https://g0v-tw.slack.com/archives/C02G2SXKX/p1547480623256800

Hi 大家,這裡有一批山豬~~~ 揪松團請 <@U02L27CGL> 畫了農曆新年賀卡,正在想說要印幾張,有人也想要拿去送人的嗎,正面圖案是 `烤山豬` ,背面就是 `空白明信片` 這樣~ `請在這裡跟我說你想要 +1 或更多,一位目前預設至多 5 張,要麻煩到 OCF 自取` <https://drive.google.com/file/d/1thnf2c6eZgd710mBzC2DsIbtgk2EhgZq/view?usp=sharing>

2019-01-15

peggylo 10:28:00
@peggylo has joined the channel
peggylo 10:37:07
hihi all, 想問大家,食藥署(FDA)最近想改善他們的闢謠專區資料品質(以前沒有謠言內容的欄位,所以大家應該很難用),想問真的假的是否願意給他們一些建議~~~

我是有建議他們去下一次2/16小聚,但尷尬的是我自己那時不在台北XD

想問:
1. 下次大松真的假的會出現嗎~~會的話我就找FDA同事去大松
2. 如果約不到,想問 @mrorz 接受FDA找時間去拜訪你嗎~~

(我會請他們先把想交流的是列好~~~)
mrorz 10:38:33
1. 會吧,但要大松時間確定?
2. 可以禮拜三晚上 9:30 後嗎 XD
peggylo 10:41:16
1. 剛發現下一次大松是3/9 XD
2. 好喔我問一下~~我很ok怕同事有小孩要顧(帶著小孩可以ㄇQQ)
peggylo 10:50:32
剛跟同事討論了一下,這時間對他們來說需要調整作息XD 我先請他們把想討論的事情想好列下來再丟FB社團啦~~~先線上比較快~~
peggylo 10:50:43
謝囉 @mrorz
mrorz 11:10:33
好的感謝感謝
mrorz 13:20:29
btw Cofacts 社團也是公開的,鼓勵到社團發問~~

不過如果想要私下溝通的話也可以寄信到 <mailto:cofacts@googlegroups.com|cofacts@googlegroups.com>
bil 14:50:23
嗨如果他們願意2/16來小聚的話會比較理想喔,有空也有空間好好跟同事說說,也歡迎帶小孩來:)鄰鄰阿姨會陪玩
peggylo 22:31:33
恩恩挖災,我也希望盡量是在社群上直接談比較好 ~~~ 我也很想推坑小聚,但同事們沒參加過松很緊張捏QQ
peggylo 22:32:21
ps. 我有先說g0v有很會照顧小孩的姊姊XDDDDDDD
bil 21:48:42
小松是每週三XD小聚的話都是很普通的人,時間也比較短喔
pofeng 16:21:03
@rockhung99 FYI, 看一下上面 @lulu523 的提案
rockhung 06:45:19
哪一個,1. LULU 有和我說過。
pofeng 20:09:38
good, 我有點囉嗦了
pofeng 20:09:41
"1) 從去年開始,OCF有跟富邦文教基金會合作,希望把網路公民意識帶進校園 (基金會長期做老師、學生的公民素質培養活動,團隊也是一直參與公民運動),今年我們再碰面討論,覺得不實訊息真是更加嚴重,因此想要在學生營隊當中,跟大家介紹cofacts闢謠平台怎麼使用,希望讓關心議題的大學生能貢獻成為闢謠編輯。目前有一場1/22下午的課程,我是想說或許我就以自身使用闢謠後台的經驗,向核心的學生志工介紹怎麼使用,因為你們網站上其實也已經有非常詳細的介紹。 "
rockhung 16:21:07
@rockhung99 has joined the channel
Zoe 19:51:31
@zoechen0718 has joined the channel

2019-01-16

mrorz 02:30:16
本日(無誤)會議記錄:https://g0v.hackmd.io/eRVchyULSY2BBP1LxV_DAg

g0v.hackmd.io

20190116 會議記錄 - HackMD

jc 14:48:46
finally found a chance to work on setting up a local version of cofacts! I’ve cloned the repos and made a copy of docker-compose.yml from the sample. But when I run ‘docker-compose logs -f’ in the other terminal, I get “Couldn’t connect to Docker daemon - you might need to run `docker-machine start default`' but `docker-machine start default` gets me an exit status 126. Any thoughts? :sweat_smile:
mrorz 15:54:14
Are you using mac?

docker-machine is not recommended for mac users now. docker-for-mac is more friendly
https://docs.docker.com/docker-for-mac/
perfect, thank you! Things seem to be working out pretty well now :smile:
kiko555 17:01:50
@kiko555 has joined the channel
jc 17:25:59
Is anyone going to Cofacts from the vTaiwan meeting?
mrorz 17:47:44
Welcome! but we havent heard anyone coming yet
Got it! I’m going to try to come to Cofacts from vTaiwan first so wanted to see if there is anyone I could travel with :smile:
mrorz 17:52:11
Our meeting routing will end at around 9:00~9:30, chatting or hacking afterwards
mrorz 17:52:30
but before 9pm it will be intense discussion sessions, we have a lot to cover today
mrorz 22:16:58
@lulu523 @ggm 可能可以去唷,
想知道地點

2019-01-17

Uva Vaca 07:16:58
Hello, happy new year !!
you remind me ?? :slightly_smiling_face: We did fact check in presidential elections of Colombia and Brazil using whatsapp. I am currently part of Meedan a technology company, and we are working with whathapp bussines api and Check (our open source platform :slightly_smiling_face: ) to be able to make automatic messages for the Indian elections. And I went back to you and your amazing work, we would like to know how your platform works in terms of automation, we are curious to learn how you deal with the input messages. Our development team also has some more specific questions.

:slightly_smiling_face:
mrorz 14:06:02
Hi Uva, so glad to see you in Meedan now!

Cofacts do automation at message collection side and respond side.

Our LINE bot allows users to both:
1. receive responses automatically, when there is a response already attached to the message the user asks for, and
2. submit a new message to the database.

Here is the LINE bot user manual, translated into English: https://beta.hackfoldr.org/cofacts/https%253A%252F%252Fhackmd.io%252Fc%252FSklM4dV9m%252F
mrorz 14:12:55
The manual part is fact-checking work, which happens on the website : https://cofacts.g0v.tw/articles?before=&amp;after=&amp;filter=all&amp;replyRequestCount=1

This is where the editors can choose what message to respond and actually write the response.
mrorz 14:14:45
I think `Check` works like the Cofacts website, it’s a place where editors can browse and collaborate to produce fact-check reports.

Integrating WhatsApp API to send new messages to Check, and automatically distribute the fact-check report from Check to WhatsApp when user asks for the message, would be the area of improvement.
Uva Vaca 21:54:45
Thank you very much for your prompt response and so complete !! I'll copy this to my team :slightly_smiling_face:
mrorz 14:09:59
You can also refer to https://bit.ly/cofacts-quickstart
mrorz 14:12:18
Cofacts infrastructure. In Check’s case, Check is both the “website” and the “database”.

Users can both gets fact-check reports from &amp; push new messages to Check via a chatbot (I think there is no such integration now, but it should work I guess).

2019-01-18

2019-01-19

CK 16:50:41
@cklppt has joined the channel

2019-01-20

2019-01-21

2019-01-22

mrorz 12:08:30
Hi 這裡想請教 elasticsearch remote backup / recovery 的東西

目前我做 backup 的機制是:

1. 在 production server 上建立 filesystem snapshot
2. 手動打包 snapshot 的 filesystem directory 然後 scp 到本機
3. 在自己電腦上 elasticsearch 做 restore,然後進行後續處理(例如說製作 opendata 等等)
mrorz 12:09:01
不過目前資料庫已經成長到 5GB 左右(因為爬蟲 cache `urls` index 真的很大囧 )
mrorz 12:11:01
所以我在想說,如果用 Google Cloud Storage Repository Plugin 做 snapshot repository,production 機器的 elasticsearch 與 local elasticsearch 都接到同一個 GCS 上的 bucket,這樣應該不錯

之後我要拿 production snapshot 就直接從 GCS repository restore 就好
mrorz 12:11:18
想請問兩個 elasticsearch server 連接同一個 GCS bucket 作為 snapshot repository 這樣會有什麼隱憂嗎
@ggm @darkbtf @sayuan

2019-01-23

2019-01-25

Tina 16:13:37
@thsieh has joined the channel

2019-01-26

kevin 15:49:05
@ychiaoli18 has joined the channel

2019-01-28

Tina 19:13:30
Hello 大家好,不好意思打擾了。
我是Tina,來自 Mozilla Taipei 的 UX designer,目前正負責一協助台灣長輩正確使用網路訊息的專案。我們從2018年六月至今已與三十多位長輩進行使用者研究,並發現最近台灣熱議的網路假消息正是長輩們天天都在面對的難題。很感謝Cofacts真的假的 與 美玉姨 的誕生,讓驗證假消息變得更容易上手,因此我們希望能夠邀請目前正在使用 Cofacts真的假的 或 美玉姨的使用者進行訪談,以進一步獲得更多未來開發產品的 insight。
mrorz 01:15:56
我們可以把這份問卷放在 Cofacts 的 LINE 主頁,這樣 Cofacts 的使用者都有機會看到 :smile:

如果願意的話,也麻煩 @thsieh 提供一下寫在 LINE 主頁的文案~~
Tina 10:33:23
謝謝Johnson!放在LINE主頁這個方法好像很不錯!不過因為昨天有在Mozilla Taiwan的LINE@裡宣傳過問卷,目前後台看已經回收六七十份了,估計應該蠻有機會找到合適的受訪者,我先電訪確認過,有需要再找你們幫忙好嗎?
mrorz 11:07:57
好唷感謝感謝
Tina 19:14:14
訪談招募問卷如右:point_right: https://www.surveycake.com/s/yovZ9

問卷共13題,僅需五分鐘且非常容易填答,是否可以請各位協助將問卷發給你身邊有在使用Cofacts真的假的/美玉姨的朋友,我們將邀請六位符合條件的受訪者進行訪談,並提供車馬費2000元與Mozilla精美小禮物:)謝謝大家!:pray::heart:

SurveyCake

Cofacts真的假的/美玉姨使用者訪談招募 » SurveyCake

新年快樂!我們是設計Firefox瀏覽器的Mozilla美商謀智台灣分公司,致力於網路安全、隱私及確保網際網路為任何人皆能使用的開放公共資源。我們非常在乎使用者在瀏覽網路過程中的體驗,因此想透過此份問卷來進一步研究現今網路假消息氾濫的問題,您驗證網路消息的習慣與方法將是幫助我們優化產品的機會與動力。我們十分在乎您的隱私,您填答的資料僅供公司內部研究使用。感謝您協助填寫問卷,此份問卷共13題,作答時間約為5分鐘,如果您的填答結果符合我們的需求,將會進一步邀請您訪談,並提供訪談禮金及精美禮物。

2019-01-30

2019-01-31