有風聲說司法部會把 Chrome 拆出 Google

看到這則新聞時決定讓子彈飛了一陣子,但好像沒看到什麼新消息:「Feds may target Google’s Chrome browser for breakup」,Hacker News 上也有討論可以翻翻:「Feds may target Google's Chrome browser for breakup (politico.com)」。

GoogleChrome 上面做了不少看起來就很容易觸發反壟斷法的事情 (剛好這幾天又有像是「Google Chrome 在結束清站台資料時 (像是 cookie) 不會清 Google 自家的網站」這樣的事情),會直接先把 Google Chrome 拆出來的消息不算太意外。

不過大家對反壟斷調查更有興趣的應該是 YouTube 會怎麼被處理。網路上經常會看到「如何逃離 Google」之類的文章,Google 很多服務都有其他平台可以提供,或是 open source 軟體可以使用,但每次一講到 YouTube 時大家都很頭痛,都會提到 YouTube 的難以取代性,因為目前其他平台沒有一個是堪用的...

不知道什麼時候會發動調查...

美國汽車的兒童安全座椅法律,影響生育的意願

Hacker News Daily 上看到的,原文標題比較漂亮:「Car Seats as Contraception」,在 Hacker News 上也有討論:「Car seats as contraception (ssrn.com)」,重點是作者之一 (David H. Solomon) 也有跑上去回應。

Abstract 的部份把重點都講出來了,1977 年美國通過汽車的兒童安全座椅法律,但大多數的汽車無法放下第三張座椅,這反而使得生第三胎的成本大幅提高 (需要買空間更大的車),然後另外拉出資料分析因為法律而制止的車禍數量:

Since 1977, U.S. states have passed laws steadily raising the age for which a child must ride in a car safety seat. These laws significantly raise the cost of having a third child, as many regular-sized cars cannot fit three child seats in the back. Using census data and state-year variation in laws, we estimate that when women have two children of ages requiring mandated car seats, they have a lower annual probability of giving birth by 0.73 percentage points. Consistent with a causal channel, this effect is limited to third child births, is concentrated in households with access to a car, and is larger when a male is present (when both front seats are likely to be occupied). We estimate that these laws prevented only 57 car crash fatalities of children nationwide in 2017. Simultaneously, they led to a permanent reduction of approximately 8,000 births in the same year, and 145,000 fewer births since 1980, with 90% of this decline being since 2000.

濃濃的政治不正確感 XD

5 Eyes、9 Eyes 與 14 Eyes

{5,9,14} Eyes 是先前在其他地方看到的詞,後來在「Cutting Google out of your life」這邊在講 Google 的替代方案時又有提到,然後也有解釋:「Global Mass Surveillance - The Fourteen Eyes」。

這邊提到的 Eyes 起因是大多數國家對於監視自己公民都有法律限制,所以藉由與國外的情報單位「合作」,取得對自己國家公民的監視資訊 (即使各國之間有簽訂不監視其他國家公民),而這邊列出的 {5,9,14} Eyes 就是互相有簽訂合作的國家:

The UKUSA Agreement is an agreement between the United Kingdom, United States, Australia, Canada, and New Zealand to cooperatively collect, analyze, and share intelligence. Members of this group, known as the Five Eyes, focus on gathering and analyzing intelligence from different parts of the world. While Five Eyes countries have agreed to not spy on each other as adversaries, leaks by Snowden have revealed that some Five Eyes members monitor each other's citizens and share intelligence to avoid breaking domestic laws that prohibit them from spying on their own citizens. The Five Eyes alliance also cooperates with groups of third-party countries to share intelligence (forming the Nine Eyes and Fourteen Eyes); however, Five Eyes and third-party countries can and do spy on each other.

另外還有「Key Disclosure Law」這段,在講有哪些國家有法律可以強制個人交出金鑰。

回到本來提到的 degoogle 列表,裡面列出了很多替代的服務與軟體,其中服務的部份會列出所在地區是否在 {5,9,14} Eyes 的範圍內,以及發生過的爭議事件。

當作替代方案在看,至少可以把一些足跡從 Google 抽出來...

加州法院認為 Uber 與 Lyft 的司機是員工

先前在其他地區已經有很多判例了,這次會特別記錄下來是因為加州是 UberLyft 的總部:「Uber and Lyft ordered by California judge to classify drivers as employees」。

裡面有提到了去年九月加州政府通過了法案 (California Assembly Bill 5,簡稱 AB 5),把 ABC Test 放進法律,取代了之前的 Borello test,用來判斷聘顧關係 (是否為員工,或是獨立的合約關係):

Under the ABC test, a worker is considered an employee and not an independent contractor, unless the hiring entity satisfies all three of the following conditions:

  • The worker is free from the control and direction of the hiring entity in connection with the performance of the work, both under the contract for the performance of the work and in fact;
  • The worker performs work that is outside the usual course of the hiring entity’s business; and
  • The worker is customarily engaged in an independently established trade, occupation, or business of the same nature as that involved in the work performed.

現在需要這三點都成立才會認定為獨立的合約聘顧關係,雖然還有上訴的機會,但翻盤的機率應該不高,記得這個法案當初就是針對 Uber 跟 Lyft...

中國開始擋 ESNI 了...

這兩天陸陸續續都有一些新聞出來了,中國已經開始擋 ESNI 了:「China is now blocking all encrypted HTTPS traffic that uses TLS 1.3 and ESNI」。

ESNI (Encrypted SNI) 的重點就是在於把 TLS 裡 ClientHello 的 hostname 部分加密 (通常會需要配合 DNS-over-HTTPS 或是 DNS-over-TLS 的方式取得 key 相關的資料),這個 hostname 的部分是目前 TLS 連線裡少數可以被看到的明文,也因此對於 GFW 過濾資料很有用,而 ESNI 等於是把這個洞補上,這次直接擋掉應該是預料中的事情...

但就算不管中國的部分,ESNI 對於 priavcy 的幫助還是很大,基本上 ISP 只剩下 IP 資訊可以分析,如果是有 CDN 之類的服務在前面擋住的就更看不出來了 (i.e. 許多網站用同一個 IP address)。

EU-US Privacy Shield 被歐盟法院拒絕

在「EU rejects US data sharing agreement over privacy concerns」這邊看到的新聞,引用自「EU rejects US data sharing agreement over privacy concerns」這邊的新聞報導。

歐盟最高法院的新聞稿則是在「The Court of Justice invalidates Decision 2016/1250 on the adequacy of the protection provided by the EU-US Data Protection Shield」這邊可以看到,雖然 EU-US Privacy Shield 被推翻,但本來在 2010 年的框架仍然有效:

However, it considers that Commission Decision 2010/87 on standard contractual clauses for the transfer of personal data to processors established in third countries is valid.

維基百科上的條目寫的比較簡單,主要是協議裡美國的保護機制不到歐盟的標準:

A final CJEU decision was published on 16 July 2020. The EU-US Privacy Shield for data sharing was struck down by the European Court of Justice on the grounds it did not provide adequate protections to EU citizens on government snooping.

記得這個戰了好久,最後在最高法院定案了...

Telegram 開始跟俄羅斯政府合作

雖然路透社的標題寫的像是俄羅斯政府是因為放棄封鎖 Telegram,不過讀一下內文就會發現完全不一樣:「Russia lifts ban on Telegram messaging app after failing to block it」。

報導上看起來是俄羅斯政府說 Telegram 會與政府合作打擊恐怖份子,所以解封 (先不要管「恐怖主義」之類的詞,這常常是打擊異己時用的詞彙):

Some Russian media cast the move as a capitulation, but communications watchdog Roskomnadzor said it had acted because the app’s Russian founder, Pavel Durov, was prepared to cooperate in combating terrorism and extremism on the platform.

“Roskomnadzor is dropping its demands to restrict access to Telegram messenger in agreement with Russia’s general prosecutor’s office,” it said in a statement.

現在的重點會在於 Telegram 會不會解釋,以及解釋的內容 (目前是還沒有):

There was no immediate reaction from Telegram or Durov.

因為劇本有可能是 1) Telegram 根本沒跟俄羅斯政府接觸,純粹是俄羅斯政府想搞 Telegram,或是 2) 有接觸,但談的跟報導的差很多,或是 3) 就是 Telegram 放棄掙扎了。

後續的 Telegram 回應會是重點,另外 end-to-end encryption (E2E Encryption) 的承諾會有什麼樣的變化也會是重點。

我猜測比較可能的應該是有合作,但控制權在 Telegram 手上,並不是直接讓俄羅斯政府碰 Telegram 的內部系統,不過一切都還得等後續的消息才能確認...

用事實查核中心的 RSS feed 加上 IFTTT 自動通知到 Line/Telegram/... 內

事實查核中心的澄清內容其實很有趣,可以看到有哪些假消息在流傳,所以想找找看有沒有比較簡單的方法可以設通知...

事實查核中心的官網用的是 netiCRM 這個平台 (看起來底層是 Drupal),而在 HTML 頁面的開頭可以看到 RSS 1.0 的 xmlns 宣告:

  xmlns:content="http://purl.org/rss/1.0/modules/content/"

本來想說直接用 feed 接到 IFTTT 就好了,不過 HTML 頁面上沒有放 feed entry 讓閱讀器可以直接找到 feed 本身,也就是像這樣的標籤資訊:

<link rel="alternate" type="application/rss+xml" title="Gea-Suan Lin&#039;s BLOG &raquo; Feed" href="https://blog.gslin.org/feed/" />
<link rel="alternate" type="application/rss+xml" title="Gea-Suan Lin&#039;s BLOG &raquo; Comments Feed" href="https://blog.gslin.org/comments/feed/" />

找了一下 Drupal 的設定慣例,發現 feed 可能會放在 /rss.xml 這個位置,測了一下發現順利在 https://tfc-taiwan.org.tw/rss.xml 這邊看到 feed,接下來就可以加進 IFTTT 了:

給有興趣想要用 feed 做些事情的人參考看看,像是加到 Line 或是 Telegram 的群組裡面,或是放到 Slack channel 裡面 (Slack 裡應該可以直接在某個 channel 裡用 /feed add https://tfc-taiwan.org.tw/rss.xml 把這個 feed 加進去)。

勸人從 Linux 跳到 FreeBSD 的戰文...

前幾天在 Facebook 上看到正妹朋友的貼文,然後在 Hacker News Daily 上也看到了:「Technical reasons to choose FreeBSD over GNU/Linux」。

標準的戰文 XDDD

在這篇講的是 FreeBSD 在技術上的優勢 (雖然我覺得很多不是優勢...),作者在一月的時候有另外兩篇在講 BSD (不只是 FreeBSD) 與 Linux,主題偏政治面 (包括了社群的運作方式) 與 license 之類的問題,也是戰文:「Why you should migrate everything from Linux to BSD」與「Why you should migrate everything from Linux to BSD - part 2」。

不過畢竟就是戰文,拿爆米花來吃就好,還是用的順手比較重要。當初 FreeBSD 的 issue tracking system 換掉以後,覺得太卡就抽手了,不然還蠻愛 Ports 的架構的...

Scrum 的適合場景:「外包團隊」

在「工程師幹話」的『老闆想要成長 — 我們就讓老闆「看見」成長』這篇裡面提到了 Scrum

台灣最接近 Scrum 的組織是國軍。一個 Scrum team 不應該太大,所以一個班只有九個人,然後有一個直接的 PO,叫做班長;每天工作之前都有的 standup meeting 呢,叫做早點名;至於固定時間都有的 retrospective 會議呢,叫做榮團會。所以,如果我們真心相信有個 Scrum 外型的組織就可以提昇效率的話,就等於,我們居然會願意相信:中華民國國軍是個高效率的組織。

這篇文章花了半個小時才看完,真是有夠長的... 裡面描述了很多事情,與一些時間線對一下,大概知道哪個段落在講什麼事情。

之前跟其他朋友聊到 Scrum 的時候我都有先說我的結論,就是我覺得 Scrum 只適合用在「外包團隊」與「業主」之間的互動,目前看到的其他情境都不合理。

利用 Scrum 的架構,可以改善傳統的外包情境:

  • 通常業主給不出完整的 spec,於是外包團隊無法估算成本,所以外包團隊利用 Scrum 機制,每個 sprint 可以要求業主每次提供一點 spec,然後依照這些 spec 估時 (點數) 並且計費 (換算成 manhour,然後得出人力成本與利潤)。
  • 如果業主一開始就可以給出完整的 spec 也沒關係,spec 先切出第一個 sprint,在每個 sprint 結束後,跟業主確認下一輪的內容。

Scrum 在外包團隊可以掌握的範圍,大幅改善了傳統外包簽約的困難。

對於業主不知道要做什麼的,可以降低業主一開始就需要提供很多資料 (spec) 的門檻。

而對於業主已經知道要做什麼的,可以提供修改的時間點。這對於超長期的合作時特別有用,像是軍事外包案常常一個外包就是五年或是更長,sprint 的機制讓業主可以在中間很自然的修改規格,而不是加簽附約的方式修改 spec。

另外,在簽署 Agile Manifesto 的 17 人名單也可以看出來,裡面專搞 Scrum 的差不多都是在外包或是在當顧問,那麼,推出一個「學派」再告訴客戶這樣做會更好,是個自然不過的事情了。

而從 Scrum 裡面的其他細節也可以看出來他們怎麼把外包團隊想要避開的問題「包裝」起來賣給客戶:

  • 透過大幅縮短 milestone 的設計「sprint」,可以依照每個 sprint 收款,也因為通常 sprint 的單位長度比 milestone 的時間短很多,外包團隊的現金流的品質會比以前好。
  • 在 daily standup meeting 可以取得目前專案的進度,一方面可以在內部追蹤,避免有項目出事,另外一方面可以向業主回報,讓業主有安全感。
  • 再來是 Scrum 要求每個 sprint 的內容不可以被變更的問題,這點則是避免了客戶端的手伸進來,而改變了成本結構導致虧本。但也提供客戶修改的空間:允許下個 sprint 修改,重點在於該收的錢有收到。

而以上的這些東西放到公司內就會變得很奇怪:

  • 外包公司不在意手上做的產品是不是合理,只在意工時 (人力成本) 合不合理。而公司內的團隊合理性的才會下去執行,甚至有可能做到一半才發現不合理而需要全面中斷 (因為 startup 常常在做一些以前的人沒做過的事情)。
  • 在外包公司裡,PO 無法伸手進 sprint 修改既定事項,要硬改就是得照合約先把這個 sprint 的錢付掉,所以這情不太會發生。而在公司內 PO 常常是老闆或是大主管,伸手進來改不會有什麼賠償成本,Scrum 的這條規定在公司裡面就是沒有罰則的法律。
  • 公司成員遇到問題卡住 (不知道怎麼解、自己不會解、需要別人一起幫忙解) 或是進度會跟不上的情況應該是發現時馬上通知,而不是擺爛等到隔天的 standup meeting 才提出來。於是你會發現找不到 daily standup meeting 的目的。

另外一個問題是:

  • 營運端的成本造成估時不準確。像是上線後,系統的 downtime、bugfix 而使得原來團隊成員需要支援的情況,導致一個人的輸出不可能有 40 hours/week。

這點也是在外包公司不會遇到,而公司內不可避免會遇到的情況。

差不多把該講的都列出來了,這是我覺得外包時用 Scrum 適合的原因。