對西洋棋選手 Hans Niemann 的調查

前幾天在「用情趣用品在西洋棋比賽裡面傳遞摩斯電碼作弊」這篇裡面有提到目前對 Hans Niemann 的調查都還在進行,現在 Chess.com 先丟出調查報告了:「Hans Niemann Report」,另外 Hacker News 上也有討論:「The Full Chess Cheating Report of Hans Neiman (chess.com)」。

PDF 的 summary 開頭就提到分析了線上的對奕記錄作弊的比率比起 Hans Niemann 所承認的高很多:

We present evidence in this report that Hans likely cheated online much more than his public statements suggest. However, while Hans has had a record-setting and remarkable rise in rating and strength, in our view there is a lack of concrete statistical evidence that he cheated in his game with Magnus or in any other over-the-board (“OTB”)—i.e., in-person—games. We are presenting our findings here and will cooperate with FIDE on any further investigation.

除了棋局上的記錄,在後面「How Cheat Detection Works」這個章節也提到了很多額外的 event log,像是視窗切換之類的資訊。

然後 Chess.com 也宣佈撤回賽事邀請,並且停權:

We uninvited Hans from our upcoming major online event and revoked his access to our site based on our experience with him in the past, growing suspicions among top players and our team about his rapid rise of play, the strange circumstances and explanations of his win over Magnus, as well as Magnus’ unprecedented withdrawal. In order to have more time to investigate the OTB situation and our own internal concerns, we uninvited Hans from our event and prevented his access to Chess.com. We are open to continuing a dialogue with Hans to discuss his status on Chess.com.



標題資訊量有點大... 先講一下最近西洋棋界的新聞,九月的時候 Magnus Carlsen 指控 Hans Niemann 作弊,這件事情到目前還沒有完全落幕,可以翻維基百科的條目看看目前的進展:「Carlsen–Niemann controversy」。

而「ButtFish – Transmit Morse Code of chess moves to your butt (github.com/ronsijm)」這篇,則是示範怎麼用肛塞 (我這邊就拿 PChome 24h 的搜尋頁,有「興趣」的可以自己翻),加上很多情趣用品是可以透過 API 操作的 (作者提到了 Buttplug 這個專案),於是就造就了這個新的專案:「ButtFish」,專案名稱看起來是「引用」自西洋棋領域裡很有名的 Stockfish 引擎。

另外這張 Three circles model 圖也很好笑:



在圖片裡面放入圖片本身的 MD5 值

Hacker News Daily 上看到「The image in this post displays its own MD5 hash (retr0.id)」這篇,作者想要產生一張 PNG 圖,這張圖的 MD5 值就在圖片上呈現。然後作者本人有出現在 Hacker News 討論串上面,提到流量撐不住,所以丟到 Twitter 上面 (而很幸運的,Twitter 沒有壓這張圖,是保留原圖,所以可以驗證 MD5):

另外一個有趣的主題是同時撞出一樣的 MD5 與 CRC32 的方式,其中 CRC32 的部份還可以直接指定值,在「MD5 Collision with CRC32 Preimage (gist.github.com)」這邊。

算是很趣味的玩法啦,畢竟 MD5 已經被大家知道是個 broken cryptographic hash function...

這兩個禮拜爆紅的 Stable Diffusion

Stable DiffusionStability AI 訓練出來的 model,跟之前提到的 DALL-E 最大的差異就是產生出的圖的限制少很多:

Unlike competing models like DALL-E, Stable Diffusion is open source and does not artificially limit the images it produces, though the license prohibits certain harmful use cases.

這也造就了這兩個禮拜整個 Stable Diffusion 的各種應用急速成長。

Simon Willison 的「Stable Diffusion is a really big deal」這篇來當作總覽還不錯。

除了授權使用上的限制以外,在技術上的限制也比較少 (有很大一部分會歸功於社群的各種 porting),包括了:

除了先前大家已經熟悉的 txt2img 功能以外,Stable Diffusion 另外提供了 img2img 的能力,也就是先給一張圖,然後再給對應的句子要求 Stable Diffusion 去改這張圖,所以就會有像是把這張圖:

加上「A distant futuristic city full of tall buildings inside a huge transparent glass dome, In the middle of a barren desert full of large dunes, Sun rays, Artstation, Dark sky full of stars with a shiny sun, Massive scale, Fog, Highly detailed, Cinematic, Colorful」的句子後,提供了這張圖:



ESPN 播報 Excel 比賽

這是兩個禮拜前看到的東西,ESPN 轉播 Financial Modeling World Cup (FMWC),一個比 Microsoft Excel 的競賽:「The World Excel Championship is being broadcast on ESPN and it's absolutely wild」。

看 wiki 的資料,FMWC 是從 2020 年開始辦的比賽,然後沒什麼意外的 Microsoft 是贊助商...

要注意 Excel Esports 這隻英國戰隊跟 Microsoft Excel 就沒有關係了,只是名稱剛好有 Excel 這個詞;Excel Esports 戰隊主打的是 LoLFortniteVALORANT 這幾個比較廣為人知的電子競技項目。

目前看起來 FMWC Open 2022 會在今年 Q4 辦,到時候應該會再冒出一些新聞...

用 DALL·E 2 的圖當作網誌文章的圖片

Hacker News 上看到「I replaced all our blog thumbnails using DALL·E 2 (deephaven.io)」這個點子,原文在「I replaced all our blog thumbnails using DALL·E 2 for $45: here’s what I learned」這邊。

網誌文章如果包含好的圖片時,曝光度與互動都會比較多。所以作者就想到用 OpenAIDALL·E 2 來搞事了:給個描述,請 DALL·E 2 生成圖片。

文章裡面有很多產生出來的圖都蠻有趣的,像是「a cute blue colored gopher with blue fur programming on multiple monitors displaying many spreadsheets, digital art」這個描述生出來的圖:

不過不算便宜,他花了 US$45 生成大約一百篇文章的圖:

I spent the weekend and $45 in OpenAi credits generating new thumbnails that better represent the content of all 100+ posts from our blog.

如果用先前「玩玩文字轉圖片的 min(DALL·E)」這邊提到的方法自己搞不知道可不可行?

玩玩文字轉圖片的 min(DALL·E)

幾個禮拜前看到「Show HN: I stripped DALL·E Mini to its bare essentials and converted it to Torch (github.com/kuprel)」這個東西,有訓練好的 model 可以直接玩文字轉圖片,GitHub 專案在「min(DALL·E) is a fast, minimal port of DALL·E Mini to PyTorch」這邊可以取得。

因為這是包裝過的版本,裝起來 & 跑起來都很簡單,但沒想到桌機的 1080 Ti 還是跑不動,只能用 CPU 硬扛了,速度上當然是比官網上面列出來用 GPU 的那些慢很多,但至少能跑起來玩看看。

首先是拿官方的句子來玩看看,第一次跑會需要下載 model (會放到我們指定的 pretrained 目錄下):

#!/usr/bin/env python3

from min_dalle import MinDalle
import torch

model = MinDalle(

images = model.generate_image(
    text='Nuclear explosion broccoli',

images = images.save('test.png')

我自己在下載過後,跑每個生成大概都需要十分鐘左右 (參數就像上面列的,CPU 是 AMD 的 5800X,定頻跑在 4.5GHz),出來的結果是這樣:

接著是一些比較普通的描述,這是 sleeping fat cats

然後來測試看看一些比較偏門的詞,像是 Lolicon,這個就差蠻多了:

但感覺有蠻多應用可以掛上去,這樣有點想買張 3090 了...


Hacker News 上看到「What’s the best lossless image format? Comparing PNG, WebP, AVIF, and JPEG XL」這篇,在講圖片的無損壓縮演算法。在 Hacker News 上的討論也可以看看:「What’s the best lossless image format? (siipo.la)」。

文章有點舊 (2021 年七月),但應該還行... 另外作者看起來是以 service bandwidth 考量為主,在這種情境下,自然圖片一般都會以非無損的方式提供 (像是 JPEG),而人造圖片則是以無損的方式提供 (像是 PNG),所以在這邊討論無損的時候會以人造圖片的 dataset 來挑選,於是作者是跑去 Dribbble 上翻圖片當 dataset:

What I ended up with was downloading a set of images from Dribbble, a portfolio site for designers.


考慮到目前各家瀏覽器的支援性,可以看到 Lossless WebP 其實是個很好的選擇,檔案算蠻小的,而且 Apple ecosystem 的支援性也已經出來了:

如果不用考慮到瀏覽器的話,JPEG XL 也可以考慮,不過本來宣稱 royalty-free 的部份蒙上了陰影:「Alarm raised after Microsoft wins data-encoding patent」,用的人反而要注意到 patent 問題...

用 Poetry 的相依性演算法解數獨 (Sudoku)

Daily Lobsters 上看到「Solving Sudoku with Poetry's dependency resolver」這篇完全是惡搞 PythonPoetry 套件 XDDD

作者搞出來的方法是這樣,指定 81 個版號來表示題目,然後跑 Poetry 找可以的版本組合:

python = "^3.6"
sudoku-cell11 = "*"
sudoku-cell12 = "2.0.0"
sudoku-cell13 = "*"
sudoku-cell14 = "8.0.0"
sudoku-cell15 = "*"
sudoku-cell16 = "9.0.0"
sudoku-cell17 = "*"
sudoku-cell18 = "*"
sudoku-cell19 = "*"
sudoku-cell21 = "3.0.0"
sudoku-cell22 = "7.0.0"
sudoku-cell23 = "*"
sudoku-cell24 = "6.0.0"

另外作者有提到,本來是打算用 Yarn 來解,但看起來各種嘗試都會搞爆 Yarn,才換到 Python 上面玩 XD