<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gea-Suan Lin&#039;s BLOG</title>
	<atom:link href="https://blog.gslin.org/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.gslin.org</link>
	<description>幹壞事是進步最大的原動力</description>
	<lastBuildDate>Sat, 23 May 2026 03:56:42 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/>
<atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>
<atom:link rel="hub" href="https://websubhub.com/hub"/>
<atom:link rel="self" href="https://blog.gslin.org/feed/"/>
<site xmlns="com-wordpress:feed-additions:1">21326247</site>	<item>
		<title>InnoDB 的 REPEATABLE READ 與 next-key lock 的關係</title>
		<link>https://blog.gslin.org/archives/2026/05/23/13044/innodb-%e7%9a%84-repeatable-read-%e8%88%87-next-key-lock-%e7%9a%84%e9%97%9c%e4%bf%82/</link>
					<comments>https://blog.gslin.org/archives/2026/05/23/13044/innodb-%e7%9a%84-repeatable-read-%e8%88%87-next-key-lock-%e7%9a%84%e9%97%9c%e4%bf%82/#respond</comments>
		
		<dc:creator><![CDATA[Gea-Suan Lin]]></dc:creator>
		<pubDate>Sat, 23 May 2026 03:56:42 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[MariaDB]]></category>
		<category><![CDATA[Murmuring]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[db]]></category>
		<category><![CDATA[innodb]]></category>
		<category><![CDATA[key]]></category>
		<category><![CDATA[lock]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[next]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[phantom]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[range]]></category>
		<category><![CDATA[rdbms]]></category>
		<category><![CDATA[read]]></category>
		<category><![CDATA[repeatable]]></category>
		<category><![CDATA[row]]></category>
		<category><![CDATA[speed]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[transaction]]></category>
		<guid isPermaLink="false">https://blog.gslin.org/?p=13044</guid>

					<description><![CDATA[最近遇到 InnoDB 效能的問題發現的，記錄起來。 在 SQL-92 裡面直接有提到 REPEATABLE-READ 允許 phantom read，也就是 search condition 不保證會會傳回一樣的 row(s)：(在文件上可以查到 REPEATABLE READ 對 P3 是 Possible) 3) P3 ("Phantom"): SQL-transaction T1 reads the set of rows N that satisfy some &#60;search condition&#62;. SQL-transaction T2 then executes SQL-statements that generate one or more rows that satisfy the &#60;search condition&#62; used by SQL-transaction &#8230; <a href="https://blog.gslin.org/archives/2026/05/23/13044/innodb-%e7%9a%84-repeatable-read-%e8%88%87-next-key-lock-%e7%9a%84%e9%97%9c%e4%bf%82/" class="more-link">Continue reading<span class="screen-reader-text"> "InnoDB 的 REPEATABLE READ 與 next-key lock 的關係"</span></a>]]></description>
										<content:encoded><![CDATA[<p>最近遇到 <a href="https://en.wikipedia.org/wiki/InnoDB">InnoDB</a> 效能的問題發現的，記錄起來。</p>
<p>在 <a href="https://en.wikipedia.org/wiki/SQL-92">SQL-92</a> 裡面直接有提到 <code>REPEATABLE-READ</code> 允許 phantom read，也就是 search condition 不保證會會傳回一樣的 row(s)：(在文件上可以查到 REPEATABLE READ 對 P3 是 Possible)</p>
<blockquote><p>3) P3 ("Phantom"): SQL-transaction T1 reads the set of rows N that satisfy some &lt;search condition&gt;. SQL-transaction T2 then executes SQL-statements that generate one or more rows that satisfy the &lt;search condition&gt; used by SQL-transaction T1. If SQL-transaction T1 then repeats the initial read with the same &lt;search condition&gt;, it obtains a different collection of rows.</p></blockquote>
<p>不過 <a href="https://en.wikipedia.org/wiki/MySQL">MySQL</a> 在 InnoDB 的文件「<a href="https://dev.mysql.com/doc/refman/8.4/en/innodb-locking.html">InnoDB Locking</a>」裡面提到了利用 next-key lock 避免 phantom read：</p>
<blockquote><p>By default, InnoDB operates in REPEATABLE READ transaction isolation level. In this case, InnoDB uses next-key locks for searches and index scans, which prevents phantom rows (see Section 17.7.4, “Phantom Rows”).</p></blockquote>
<p>回頭找 MySQL 5.5 年代的文件「<a href="https://web.archive.org/web/20160519005923/https://dev.mysql.com/doc/refman/5.5/en/innodb-locking.html">InnoDB Locking</a>」，句子不太一樣，但也是有提到：</p>
<blockquote><p>By default, InnoDB operates in REPEATABLE READ transaction isolation level and with the innodb_locks_unsafe_for_binlog system variable disabled. In this case, InnoDB uses next-key locks for searches and index scans, which prevents phantom rows (see Section 14.6.4, “Phantom Rows”).</p></blockquote>
<p>太久沒回來研究 MySQL 的效能，都忘記 MySQL 的 REPEATABLE READ 多做了哪些東西...</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gslin.org/archives/2026/05/23/13044/innodb-%e7%9a%84-repeatable-read-%e8%88%87-next-key-lock-%e7%9a%84%e9%97%9c%e4%bf%82/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13044</post-id>	</item>
		<item>
		<title>加州在推動保存遊戲的法案</title>
		<link>https://blog.gslin.org/archives/2026/05/19/13043/%e5%8a%a0%e5%b7%9e%e5%9c%a8%e6%8e%a8%e5%8b%95%e4%bf%9d%e5%ad%98%e9%81%8a%e6%88%b2%e7%9a%84%e6%b3%95%e6%a1%88/</link>
					<comments>https://blog.gslin.org/archives/2026/05/19/13043/%e5%8a%a0%e5%b7%9e%e5%9c%a8%e6%8e%a8%e5%8b%95%e4%bf%9d%e5%ad%98%e9%81%8a%e6%88%b2%e7%9a%84%e6%b3%95%e6%a1%88/#respond</comments>
		
		<dc:creator><![CDATA[Gea-Suan Lin]]></dc:creator>
		<pubDate>Tue, 19 May 2026 01:19:06 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[Murmuring]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Political]]></category>
		<category><![CDATA[Recreation]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[act]]></category>
		<category><![CDATA[bill]]></category>
		<category><![CDATA[california]]></category>
		<category><![CDATA[digital]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[killing]]></category>
		<category><![CDATA[law]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[our]]></category>
		<category><![CDATA[protect]]></category>
		<category><![CDATA[stop]]></category>
		<guid isPermaLink="false">https://blog.gslin.org/?p=13043</guid>

					<description><![CDATA[Stop Killing Games 在加州在推動保存遊戲的法案 Protect Our Games Act 看起來有重大進展，這個法案避免遊戲在終止營運後就不能玩的情況：「Bill to block publishers from killing online games advances in California (via)」，法案在「Bill Text - AB-1921 Digital games: ordinary use.」這邊，可以看到是補充 Business and Professions Code (BPC)： An act to add Chapter 6.8 (commencing with Section 20660) to Division 8 of the Business and Professions Code, relating to business. 法案要求遊戲終止營運時需要發佈 &#8230; <a href="https://blog.gslin.org/archives/2026/05/19/13043/%e5%8a%a0%e5%b7%9e%e5%9c%a8%e6%8e%a8%e5%8b%95%e4%bf%9d%e5%ad%98%e9%81%8a%e6%88%b2%e7%9a%84%e6%b3%95%e6%a1%88/" class="more-link">Continue reading<span class="screen-reader-text"> "加州在推動保存遊戲的法案"</span></a>]]></description>
										<content:encoded><![CDATA[<p><a href="https://en.wikipedia.org/wiki/Stop_Killing_Games">Stop Killing Games</a> 在加州在推動保存遊戲的法案 Protect Our Games Act 看起來有重大進展，這個法案避免遊戲在終止營運後就不能玩的情況：「<a href="https://arstechnica.com/gaming/2026/05/bill-to-keep-online-games-playable-clears-key-hurdle-in-california/">Bill to block publishers from killing online games advances in California</a> (<a href="https://news.ycombinator.com/item?id=48152994">via</a>)」，法案在「<a href="https://leginfo.legislature.ca.gov/faces/billTextClient.xhtml?bill_id=202520260AB1921">Bill Text  - AB-1921 Digital games: ordinary use.</a>」這邊，可以看到是補充 <a href="https://leginfo.legislature.ca.gov/faces/codesTOCSelected.xhtml?tocCode=BPC&amp;tocTitle=+Business+and+Professions+Code+-+BPC">Business and Professions Code</a> (BPC)：</p>
<blockquote><p>An act to add Chapter 6.8 (commencing with Section 20660) to Division 8 of the Business and Professions Code, relating to business.</p></blockquote>
<p>法案要求遊戲終止營運時需要發佈 patch 讓使用者可以繼續在本機玩，或是完整退費：</p>
<blockquote><p>California’s Protect Our Games Act, as currently written, would require digital game publishers who cut off support for an online game to either provide a full refund to players or offer an updated version of the game “that enables its continued use independent of services controlled by the operator.”</p></blockquote>
<p>這個法案主要是想要讓遊戲可以繼續玩，不過看起來也試著擋住那些透過虛擬寶物賺的盆滿缽滿後，過沒幾年就關掉的公司，可以預期後面的兩關應該還會有不少遊說：</p>
<blockquote><p>But the bill still faces significant hurdles in getting majority passage in the full California Assembly and the California Senate before being sent to California Governor Gavin Newsom for signature.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gslin.org/archives/2026/05/19/13043/%e5%8a%a0%e5%b7%9e%e5%9c%a8%e6%8e%a8%e5%8b%95%e4%bf%9d%e5%ad%98%e9%81%8a%e6%88%b2%e7%9a%84%e6%b3%95%e6%a1%88/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13043</post-id>	</item>
		<item>
		<title>拔掉 Toyota 2024 RAV4 Hybrid 車上的連網能力 (以及 GPS)</title>
		<link>https://blog.gslin.org/archives/2026/05/18/13040/%e6%8b%94%e6%8e%89-toyota-2024-rav4-hybrid-%e8%bb%8a%e4%b8%8a%e7%9a%84%e9%80%a3%e7%b6%b2%e8%83%bd%e5%8a%9b-%e4%bb%a5%e5%8f%8a-gps/</link>
					<comments>https://blog.gslin.org/archives/2026/05/18/13040/%e6%8b%94%e6%8e%89-toyota-2024-rav4-hybrid-%e8%bb%8a%e4%b8%8a%e7%9a%84%e9%80%a3%e7%b6%b2%e8%83%bd%e5%8a%9b-%e4%bb%a5%e5%8f%8a-gps/#respond</comments>
		
		<dc:creator><![CDATA[Gea-Suan Lin]]></dc:creator>
		<pubDate>Mon, 18 May 2026 00:12:52 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Murmuring]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[car]]></category>
		<category><![CDATA[carplay]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[concern]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[dcm]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[modem]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[toyota]]></category>
		<guid isPermaLink="false">https://blog.gslin.org/?p=13040</guid>

					<description><![CDATA[上個禮拜看到很歡樂的文章，作者把他 2024 RAV4 Hybrid 車上的 modem 與 GPS 接收天線都拔掉了：「Removing the Modem and GPS from my 2024 RAV4 Hybrid (via)」。 主要是現在的車子會收太多數據資料傳回去了，作者有列出很多之前上過新聞的 privacy &#38; security 事件，所以就把 modem 拔掉了： In this blog post, rather than relying on companies’ promises or meaningless opt-outs, we’re going to stop the data at the source by physically removing the modem (the DCM, &#8230; <a href="https://blog.gslin.org/archives/2026/05/18/13040/%e6%8b%94%e6%8e%89-toyota-2024-rav4-hybrid-%e8%bb%8a%e4%b8%8a%e7%9a%84%e9%80%a3%e7%b6%b2%e8%83%bd%e5%8a%9b-%e4%bb%a5%e5%8f%8a-gps/" class="more-link">Continue reading<span class="screen-reader-text"> "拔掉 Toyota 2024 RAV4 Hybrid 車上的連網能力 (以及 GPS)"</span></a>]]></description>
										<content:encoded><![CDATA[<p>上個禮拜看到很歡樂的文章，作者把他 2024 RAV4 Hybrid 車上的 modem 與 <a href="https://en.wikipedia.org/wiki/Global_Positioning_System">GPS</a> 接收天線都拔掉了：「<a href="https://arkadiyt.com/2026/05/13/removing-the-modem-and-gps-from-my-rav4/">Removing the Modem and GPS from my 2024 RAV4 Hybrid</a> (<a href="https://news.ycombinator.com/item?id=48138136">via</a>)」。</p>
<p>主要是現在的車子會收太多數據資料傳回去了，作者有列出很多之前上過新聞的 privacy &amp; security 事件，所以就把 modem 拔掉了：</p>
<blockquote><p>In this blog post, rather than relying on companies’ promises or meaningless opt-outs, we’re going to stop the data at the source by physically removing the modem (the DCM, or Data Communication Module) as well as the built-in GPS on my 2024 RAV4 Hybrid, so the car will no longer have the capability to send any telemetry data back home.</p></blockquote>
<p>另外這邊有提到拔掉 GPS 的原因是因為汽車在拔掉 modem 後會傳錯誤的 GPS 資訊給 <a href="https://en.wikipedia.org/wiki/CarPlay">CarPlay</a>，所以一氣之下 (?) 就把 GPS 天獻給拔了：</p>
<blockquote><p>CarPlay has a quirk: the phone uses its own GPS but also accepts a location signal from the car’s GPS unit. After removing the DCM, the car would get confused about its location and sometimes jump my position to the middle of Nevada (I live in San Francisco), making navigation annoying. To work around this we’ll fully disconnect the car’s GPS, so it can’t send a bad location to the phone[.]</p></blockquote>
<p>然後保固的部分，因為美國有 <a href="https://en.wikipedia.org/wiki/Magnuson%E2%80%93Moss_Warranty_Act">Magnuson–Moss Warranty</a> 法案：</p>
<blockquote><p>Removing the DCM and GPS may void parts of your warranty - just something to be aware of. Thanks to the Magnuson–Moss Warranty Act, it cannot void the whole car warranty.</p></blockquote>
<p>這個法案限制了廠商用 disclaimer 條款拒絕保固的範圍，所以不會因為拔掉後就完全喪失保固：</p>
<blockquote><p>The law was created to fix problems as a result of manufacturers using disclaimers on warranties in an unfair or misleading manner.</p></blockquote>
<p>文章後面就真的教你怎麼一步一步拆 XDDD</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gslin.org/archives/2026/05/18/13040/%e6%8b%94%e6%8e%89-toyota-2024-rav4-hybrid-%e8%bb%8a%e4%b8%8a%e7%9a%84%e9%80%a3%e7%b6%b2%e8%83%bd%e5%8a%9b-%e4%bb%a5%e5%8f%8a-gps/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13040</post-id>	</item>
		<item>
		<title>示波器接 UPS 的 AC 輸出</title>
		<link>https://blog.gslin.org/archives/2026/05/14/13039/%e7%a4%ba%e6%b3%a2%e5%99%a8%e6%8e%a5-ups-%e7%9a%84-ac-%e8%bc%b8%e5%87%ba/</link>
					<comments>https://blog.gslin.org/archives/2026/05/14/13039/%e7%a4%ba%e6%b3%a2%e5%99%a8%e6%8e%a5-ups-%e7%9a%84-ac-%e8%bc%b8%e5%87%ba/#respond</comments>
		
		<dc:creator><![CDATA[Gea-Suan Lin]]></dc:creator>
		<pubDate>Wed, 13 May 2026 19:44:34 +0000</pubDate>
				<category><![CDATA[Murmuring]]></category>
		<category><![CDATA[ac]]></category>
		<category><![CDATA[current]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[oscilloscope]]></category>
		<category><![CDATA[sinewave]]></category>
		<category><![CDATA[ups]]></category>
		<category><![CDATA[wave]]></category>
		<guid isPermaLink="false">https://blog.gslin.org/?p=13039</guid>

					<description><![CDATA[昨天看到「What's up with UPSs? (via)」這個有趣的測試，拿示波器接三組不同 UPS 的 AC 輸出，觀察不同的情境。 Eaton SMART1500PSRTNC 這顆是掛 line-interactive，有宣稱可以產生正弦波： 1500VA 1050W 120V Line-Interactive Pure Sine Wave Cloud-Connected UPS with Remote Monitoring - 10 NEMA 5-15R Outlets (Surge and Battery Backup), LCD, 5-15P Plug, Tower 這顆掛 Tripp Lite，可能是之前 Tripp Lite 的產品線，後來被 Eaton 收購。 從市電跳 UPS 電池供電可以看到有些 delay，然後產生的正弦波在跨過 0V 的時候有些「結節」，在跳回來的時候則是表現的還不錯： Note that the &#8230; <a href="https://blog.gslin.org/archives/2026/05/14/13039/%e7%a4%ba%e6%b3%a2%e5%99%a8%e6%8e%a5-ups-%e7%9a%84-ac-%e8%bc%b8%e5%87%ba/" class="more-link">Continue reading<span class="screen-reader-text"> "示波器接 UPS 的 AC 輸出"</span></a>]]></description>
										<content:encoded><![CDATA[<p>昨天看到「<a href="https://www.lttlabs.com/articles/2026/05/12/ups-exploration">What's up with UPSs?</a> (<a href="https://news.ycombinator.com/item?id=48110858">via</a>)」這個有趣的測試，拿示波器接三組不同 <a href="https://en.wikipedia.org/wiki/Uninterruptible_power_supply">UPS</a> 的 <a href="https://en.wikipedia.org/wiki/Alternating_current">AC</a> 輸出，觀察不同的情境。</p>
<p><a href="https://www.eaton.com/us/en-us/skuPage.SMART1500PSRTNC.html">Eaton SMART1500PSRTNC</a> 這顆是掛 line-interactive，有宣稱可以產生正弦波：</p>
<blockquote><p>1500VA 1050W 120V Line-Interactive Pure Sine Wave Cloud-Connected UPS with Remote Monitoring - 10 NEMA 5-15R Outlets (Surge and Battery Backup), LCD, 5-15P Plug, Tower</p></blockquote>
<p>這顆掛 <a href="https://en.wikipedia.org/wiki/Tripp_Lite">Tripp Lite</a>，可能是之前 Tripp Lite 的產品線，後來被 <a href="https://en.wikipedia.org/wiki/Eaton_Corporation">Eaton</a> 收購。</p>
<p>從市電跳 UPS 電池供電可以看到有些 delay，然後產生的正弦波在跨過 0V 的時候有些「結節」，在跳回來的時候則是表現的還不錯：</p>
<picture><source type="image/webp" srcset="https://i.gslin.com/s/1778700027-60d31b5f.webp" /><img decoding="async" src="https://i.gslin.com/s/1778700027-60d31b5f.png" alt="" /></picture>
<picture><source type="image/webp" srcset="https://i.gslin.com/s/1778700113-16bf6648.webp" /><img decoding="async" src="https://i.gslin.com/s/1778700113-16bf6648.png" alt="" /></picture>
<blockquote><p>Note that the UPS generated sinusoid signal has a transient/'hitch' each time it crosses 0 V. This is something we also observe when testing the APC units.  This prevents it from being a perfect imitation of a sine wave, but it likely won’t have a large effect on connected equipment.</p></blockquote>
<p>再來是 <a href="https://www.se.com/ca/en/product/BE750G-CN/apc-powersaving-backups-es-750va-120v-10-outlets/">APC BE750G</a>，這個是 offline 的，而且波的部分是模擬正弦波，可以看到用三個電壓模擬：</p>
<blockquote><p>UPS type	Standby<br />
Wave type	Stepped approximation to a sinewave</p></blockquote>
<picture><source type="image/webp" srcset="https://i.gslin.com/s/1778700562-9ea6ea04.webp" /><img decoding="async" src="https://i.gslin.com/s/1778700562-9ea6ea04.png" alt="" /></picture>
<picture><source type="image/webp" srcset="https://i.gslin.com/s/1778700588-306d1a2a.webp" /><img decoding="async" src="https://i.gslin.com/s/1778700588-306d1a2a.png" alt="" /></picture>
<p>最後一台是 <a href="https://www.se.com/ca/en/product/BN1500M2-CA/apc-backups-pro-1500va-120v-avr-lcd-2-usb-charging-ports-10-nema-outlets-4-surge/">APC BN1500M2-CA</a>，可以看到也是模擬正弦波：</p>
<blockquote><p>UPS type	Line interactive<br />
Wave type	Stepped approximation to a sinewave</p></blockquote>
<p>不過作者發現空載的時候就不太妙，接了一個 60W 的 USB 充電器當作負載後好一點，但還是類似的情況：</p>
<picture><source type="image/webp" srcset="https://i.gslin.com/s/1778700717-320d2fc4.webp" /><img decoding="async" src="https://i.gslin.com/s/1778700717-320d2fc4.png" alt="" /></picture>
<picture><source type="image/webp" srcset="https://i.gslin.com/s/1778700860-1ec10ece.webp" /><img decoding="async" src="https://i.gslin.com/s/1778700860-1ec10ece.png" alt="" /></picture>
<p>換了一台後正常了，但我不太懂「Stepped approximation to a sinewave」的機種怎麼會冒出正弦波：</p>
<picture><source type="image/webp" srcset="https://i.gslin.com/s/1778700916-c1c297bc.webp" /><img decoding="async" src="https://i.gslin.com/s/1778700916-c1c297bc.png" alt="" /></picture>
<picture><source type="image/webp" srcset="https://i.gslin.com/s/1778700993-f196604f.webp" /><img decoding="async" src="https://i.gslin.com/s/1778700993-f196604f.png" alt="" /></picture>
<p>我當初也有拿 <a href="https://www.enerpad.com/products/c9d793b6-a5ae-4a22-ae32-f2c74c41fcb6">enerpad AC160K</a> 測試，可以看到也是 stepped 的輸出：</p>
<p><a href="https://www.flickr.com/photos/gslin/51976033629/"><img decoding="async" src="https://live.staticflickr.com/65535/51976033629_f589500754_o.jpg" alt="" /></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gslin.org/archives/2026/05/14/13039/%e7%a4%ba%e6%b3%a2%e5%99%a8%e6%8e%a5-ups-%e7%9a%84-ac-%e8%bc%b8%e5%87%ba/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13039</post-id>	</item>
		<item>
		<title>Forgejo 在 2024 年的授權更換 (MIT 轉 GPLv3+)</title>
		<link>https://blog.gslin.org/archives/2026/05/14/13038/forgejo-%e5%9c%a8-2024-%e5%b9%b4%e7%9a%84%e6%8e%88%e6%ac%8a%e6%9b%b4%e6%8f%9b-mit-%e8%bd%89-gplv3/</link>
					<comments>https://blog.gslin.org/archives/2026/05/14/13038/forgejo-%e5%9c%a8-2024-%e5%b9%b4%e7%9a%84%e6%8e%88%e6%ac%8a%e6%9b%b4%e6%8f%9b-mit-%e8%bd%89-gplv3/#respond</comments>
		
		<dc:creator><![CDATA[Gea-Suan Lin]]></dc:creator>
		<pubDate>Wed, 13 May 2026 17:26:23 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Murmuring]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[agpl]]></category>
		<category><![CDATA[forgejo]]></category>
		<category><![CDATA[gitea]]></category>
		<category><![CDATA[gpl]]></category>
		<category><![CDATA[license]]></category>
		<category><![CDATA[mit]]></category>
		<guid isPermaLink="false">https://blog.gslin.org/?p=13038</guid>

					<description><![CDATA[最近蠻多人在討論要離開 US-based 的服務，所以蠻多類似的文章冒出來，像是這篇在講 GitHub 改成自己架設 Forgejo 的原因：「Why I'm leaving GitHub for Forgejo (via)」。 其中在講為什麼不選擇 GitLab 而是選擇 Forgejo 這段提到 2024 年 Forgejo 換授權的事情： As of v9.0 in August 2024 the project relicensed from MIT to GPLv3+, with the explicit goal of staying copyleft and resisting future commercial capture of the codebase. The fork from Gitea in &#8230; <a href="https://blog.gslin.org/archives/2026/05/14/13038/forgejo-%e5%9c%a8-2024-%e5%b9%b4%e7%9a%84%e6%8e%88%e6%ac%8a%e6%9b%b4%e6%8f%9b-mit-%e8%bd%89-gplv3/" class="more-link">Continue reading<span class="screen-reader-text"> "Forgejo 在 2024 年的授權更換 (MIT 轉 GPLv3+)"</span></a>]]></description>
										<content:encoded><![CDATA[<p>最近蠻多人在討論要離開 US-based 的服務，所以蠻多類似的文章冒出來，像是這篇在講 <a href="https://en.wikipedia.org/wiki/GitHub">GitHub</a> 改成自己架設 <a href="https://en.wikipedia.org/wiki/Forgejo">Forgejo</a> 的原因：「<a href="https://jorijn.com/en/blog/leaving-github-for-forgejo/">Why I'm leaving GitHub for Forgejo</a> (<a href="https://news.ycombinator.com/item?id=48121266">via</a>)」。</p>
<p>其中在講為什麼不選擇 <a href="https://en.wikipedia.org/wiki/GitLab">GitLab</a> 而是選擇 Forgejo 這段提到 2024 年 Forgejo 換授權的事情：</p>
<blockquote><p>As of v9.0 in August 2024 the project relicensed from MIT to GPLv3+, with the explicit goal of staying copyleft and resisting future commercial capture of the codebase. The fork from Gitea in December 2022 happened precisely because Gitea Ltd took control of the trademarks and domains in a way the community had not consented to. The lesson learned shows up in the license.</p></blockquote>
<p>在沒有 <a href="https://en.wikipedia.org/wiki/Contributor_license_agreement">CLA</a> 的情況下，要從 <a href="https://en.wikipedia.org/wiki/MIT_License">MIT</a> 換成 <a href="https://en.wikipedia.org/wiki/GPLv3">GPLv3+</a> 會需要幾乎所有 contributor 的同意，然後還要把不同意的人的 code 拿掉改寫，我很好奇以 Forgejo 跟 <a href="https://en.wikipedia.org/wiki/Gitea">Gitea</a> 的關係，是怎麼取得 relicense 同意的，所以找了一下當初的文章，看起來裡面沒寫到 relicense 的過程：「<a href="https://forgejo.org/2024-08-gpl/">Forgejo is now copyleft, just like Git</a>」。</p>
<p>在「<a href="https://codeberg.org/forgejo/meta/issues/86">[Discussion] Relicensing Forgejo as copyleft #86</a>」這邊看起來比較清楚，本來 Gitea 的檔案還是 MIT 授權，並沒有取得 Gitea 這邊的 relicense 同意：</p>
<blockquote><p>Files which originate from Gitea remain MIT-licensed, so bug fixes and Gitea-only features can be contributed back.</p></blockquote>
<p>另外就是明明看到 <a href="https://en.wikipedia.org/wiki/GNU_Affero_General_Public_License">AGPLv3+</a>，但最後是 GPLv3+ 的問題了，看起來在 <a href="https://codeberg.org/forgejo/meta/issues/183#issuecomment-843515">https://codeberg.org/forgejo/meta/issues/183#issuecomment-843515</a> 這邊的意見被同意：</p>
<blockquote><p>I should have written:</p>
<blockquote><p>A Forgejo decision cannot be made by Forgejo community members who are not impacted by the decision: a licensing decision must be made with an explicit consensus among the Forgejo community members who are also copyright holders.</p></blockquote>
<p>Otherwise the Forgejo community could end up making decisions that go against the majority of the members impacted by it (the copyright holders in this instance). Which would not make much common sense, even though it would be legally allowed.</p></blockquote>
<p>relicense 的決策應該由持有版權的人決定，而不是讓沒有版權的社群投票決定。另外提到當初在 2023 年的 <a href="https://codeberg.org/forgejo/governance/commit/bcbf058d0988023c9455e4c5e4c8f509a1a9a76d">https://codeberg.org/forgejo/governance/commit/bcbf058d0988023c9455e4c5e4c8f509a1a9a76d</a> 裡面提到的是 GPLv3+：</p>
<blockquote><p>Forgejo accepts contributions compatible with the [GPLv3-or-later](https://spdx.org/licenses/GPL-3.0-or-later.html) license. The license under which Forgejo is distributed will be changed upon the acceptance of such contributions. See the [LICENSE file](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE) for the current license.</p></blockquote>
<p>加上其他後續的討論，社群共識最後收斂到 GPLv3+。</p>
<p>所以整理下來，看起來不是整包 relicense，而是把 default license 切過去的感覺。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gslin.org/archives/2026/05/14/13038/forgejo-%e5%9c%a8-2024-%e5%b9%b4%e7%9a%84%e6%8e%88%e6%ac%8a%e6%9b%b4%e6%8f%9b-mit-%e8%bd%89-gplv3/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13038</post-id>	</item>
		<item>
		<title>LLM 年代 (Vibe Coding 年代) 後程式語言的選擇問題</title>
		<link>https://blog.gslin.org/archives/2026/05/13/13037/llm-%e5%b9%b4%e4%bb%a3-vibe-coding-%e5%b9%b4%e4%bb%a3-%e5%be%8c%e7%a8%8b%e5%bc%8f%e8%aa%9e%e8%a8%80%e7%9a%84%e9%81%b8%e6%93%87%e5%95%8f%e9%a1%8c/</link>
					<comments>https://blog.gslin.org/archives/2026/05/13/13037/llm-%e5%b9%b4%e4%bb%a3-vibe-coding-%e5%b9%b4%e4%bb%a3-%e5%be%8c%e7%a8%8b%e5%bc%8f%e8%aa%9e%e8%a8%80%e7%9a%84%e9%81%b8%e6%93%87%e5%95%8f%e9%a1%8c/#comments</comments>
		
		<dc:creator><![CDATA[Gea-Suan Lin]]></dc:creator>
		<pubDate>Tue, 12 May 2026 22:50:46 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Murmuring]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[large]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[vibe]]></category>
		<guid isPermaLink="false">https://blog.gslin.org/?p=13037</guid>

					<description><![CDATA[標題的問題算是 vibe coding 盛行後三不五時就會在專案啟動時思考的問題，如果 code 都是讓 LLM 寫了，有一定還要使用 Python 嗎：「If AI Writes Your Code, Why Use Python? (via)」。 Python ecosystem 的好處是 (1) 好寫，(2) ecosystem 也很大，(3) 所以找問題也快。但這三點在 LLM 前面被清除的差不多了，可以透過 WebSearch 與 WebFetch，再加上其他 MCP 串起來直接讓 LLM 跑 reasoning 打通 (像是 Opus 4.7 的 max effort)，以往要花很多力氣的事情變成花很多 token 就可以解。 所以用 Python 唯一的「優點」可能就是讓人 review 比較方便？但這件事情看起來也是快被替代的感覺了... Hacker News 上的 comment 看到了一個有趣的點子，在 &#8230; <a href="https://blog.gslin.org/archives/2026/05/13/13037/llm-%e5%b9%b4%e4%bb%a3-vibe-coding-%e5%b9%b4%e4%bb%a3-%e5%be%8c%e7%a8%8b%e5%bc%8f%e8%aa%9e%e8%a8%80%e7%9a%84%e9%81%b8%e6%93%87%e5%95%8f%e9%a1%8c/" class="more-link">Continue reading<span class="screen-reader-text"> "LLM 年代 (Vibe Coding 年代) 後程式語言的選擇問題"</span></a>]]></description>
										<content:encoded><![CDATA[<p>標題的問題算是 <a href="https://en.wikipedia.org/wiki/Vibe_coding">vibe coding</a> 盛行後三不五時就會在專案啟動時思考的問題，如果 code 都是讓 <a href="https://en.wikipedia.org/wiki/Large_language_model">LLM</a> 寫了，有一定還要使用 <a href="https://en.wikipedia.org/wiki/Python_(programming_language)">Python</a> 嗎：「<a href="https://medium.com/@NMitchem/if-ai-writes-your-code-why-use-python-bf8c4ba1a055">If AI Writes Your Code, Why Use Python?</a> (<a href="https://news.ycombinator.com/item?id=48100433">via</a>)」。</p>
<p>Python ecosystem 的好處是 (1) 好寫，(2) ecosystem 也很大，(3) 所以找問題也快。但這三點在 LLM 前面被清除的差不多了，可以透過 <code>WebSearch</code> 與 <code>WebFetch</code>，再加上其他 <a href="https://en.wikipedia.org/wiki/Model_Context_Protocol">MCP</a> 串起來直接讓 LLM 跑 reasoning 打通 (像是 Opus 4.7 的 max effort)，以往要花很多力氣的事情變成花很多 token 就可以解。</p>
<p>所以用 Python 唯一的「優點」可能就是讓人 review 比較方便？但這件事情看起來也是快被替代的感覺了...</p>
<p><a href="https://en.wikipedia.org/wiki/Hacker_News">Hacker News</a> 上的 comment 看到了一個有趣的點子，在 <a href="https://news.ycombinator.com/item?id=48103303">id=48103303</a> 這邊提到：</p>
<blockquote><p>Surprisingly, LLMs are actually much worse at reasoning in Python than other common programming languages for agentic coding tasks.</p>
<p>Data here: https://gertlabs.com/rankings?mode=agentic_coding</p></blockquote>
<p>連結裡面的東西我覺得很怪就不提了，但指出來「LLM 不一定會對主流語言處理的比較好」這件事情倒是蠻有趣的，雖然現在各家的旗艦模型應該都超過合格線蠻多的。</p>
<p>這樣是不是可以考慮全 assembly 開發拼速度...？(啥)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gslin.org/archives/2026/05/13/13037/llm-%e5%b9%b4%e4%bb%a3-vibe-coding-%e5%b9%b4%e4%bb%a3-%e5%be%8c%e7%a8%8b%e5%bc%8f%e8%aa%9e%e8%a8%80%e7%9a%84%e9%81%b8%e6%93%87%e5%95%8f%e9%a1%8c/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13037</post-id>	</item>
		<item>
		<title>Claude Platform on AWS</title>
		<link>https://blog.gslin.org/archives/2026/05/12/13036/claude-platform-on-aws/</link>
					<comments>https://blog.gslin.org/archives/2026/05/12/13036/claude-platform-on-aws/#respond</comments>
		
		<dc:creator><![CDATA[Gea-Suan Lin]]></dc:creator>
		<pubDate>Mon, 11 May 2026 20:20:36 +0000</pubDate>
				<category><![CDATA[API]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Murmuring]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[anthropic]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[billing]]></category>
		<category><![CDATA[ccu]]></category>
		<category><![CDATA[claude]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[iam]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[large]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[pricing]]></category>
		<category><![CDATA[service]]></category>
		<guid isPermaLink="false">https://blog.gslin.org/?p=13036</guid>

					<description><![CDATA[看到「Claude Platform on AWS is now generally available」這篇，看起來主要是把權限與帳的部分整合進 AWS： Developers and organizations now have the choice to access Anthropic's native Claude Platform experience, including APIs, console, and early-access beta features, directly through their existing AWS account, without managing separate accounts, billing, or tracking. 有直接說明資料的部分不是由 AWS 管的： Claude Platform on AWS is operated by Anthropic, and &#8230; <a href="https://blog.gslin.org/archives/2026/05/12/13036/claude-platform-on-aws/" class="more-link">Continue reading<span class="screen-reader-text"> "Claude Platform on AWS"</span></a>]]></description>
										<content:encoded><![CDATA[<p>看到「<a href="https://aws.amazon.com/about-aws/whats-new/2026/05/claude-platform-aws/">Claude Platform on AWS is now generally available</a>」這篇，看起來主要是把權限與帳的部分整合進 <a href="https://en.wikipedia.org/wiki/Amazon_Web_Services">AWS</a>：</p>
<blockquote><p>Developers and organizations now have the choice to access Anthropic's native Claude Platform experience, including APIs, console, and early-access beta features, directly through their existing AWS account, without managing separate accounts, billing, or tracking.</p></blockquote>
<p>有直接說明資料的部分不是由 AWS 管的：</p>
<blockquote><p>Claude Platform on AWS is operated by Anthropic, and customer data is processed outside the AWS security boundary.</p></blockquote>
<p>第一波就開了不少區，不過有東京但沒有新加坡：</p>
<blockquote><p>Claude Platform on AWS is available in US East (N. Virginia), US East (Ohio), US West (Oregon), Canada (Central), South America (São Paulo), Europe (Dublin), Europe (London), Europe (Frankfurt), Europe (Milan), Europe (Zurich), Europe (Paris), Europe (Stockholm), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Parcific (Melborune), Asia, Pacific (Jakarta), Asia Pacific (Sydney), and Asia Pacific (Melbourne).</p></blockquote>
<p>計價方式看起來是透過 Marketplace 收費，而且只有 API-based 的，官方是放在「<a href="https://platform.claude.com/docs/en/about-claude/pricing">Pricing</a>」這邊「Claude Platform on AWS pricing」這段的說明。</p>
<p>不過有點微妙，不是直接列出 pricing，而是透過 CCU 計算，每個 CCU 是 US$0.01：</p>
<blockquote><p>Claude Platform on AWS bills through AWS Marketplace using Claude Consumption Units (CCUs). Anthropic rates your token usage in USD at standard per-model, per-feature rates, applies any negotiated discount, converts the result to CCUs at $0.01 per CCU, and reports the CCU quantity to AWS Marketplace hourly. Your AWS bill shows a single CCU line item.</p></blockquote>
<p>另外如果指定要在美國內 inference 的話，Opus 4.6 (以及之後的版本) 與 Sonnet 4.6 (以及之後的版本) 都要加收 10% 的費用；另外 fast mode 則是本來六倍的費用。</p>
<p>如果是 developer 用的情況，本家的 subscription-based 方案補貼還是不少，這邊 API-based 用途看起來有點微妙... 加上我記得 <a href="https://aws.amazon.com/bedrock/">Bedrock</a> 一直都有跟上啊？像是「<a href="https://aws.amazon.com/blogs/aws/introducing-anthropics-claude-opus-4-7-model-in-amazon-bedrock/">Introducing Anthropic’s Claude Opus 4.7 model in Amazon Bedrock</a>」這篇。</p>
<p>大概要看的是這邊 CCU 是不是有比較便宜，可能要再看看後續其他人的測試了？</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gslin.org/archives/2026/05/12/13036/claude-platform-on-aws/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13036</post-id>	</item>
		<item>
		<title>Debian 下一版 (forky) 將會強制要求 reproducible packaging</title>
		<link>https://blog.gslin.org/archives/2026/05/11/13035/debian-%e4%b8%8b%e4%b8%80%e7%89%88-forky-%e5%b0%87%e6%9c%83%e5%bc%b7%e5%88%b6%e8%a6%81%e6%b1%82-reproducible-packaging/</link>
					<comments>https://blog.gslin.org/archives/2026/05/11/13035/debian-%e4%b8%8b%e4%b8%80%e7%89%88-forky-%e5%b0%87%e6%9c%83%e5%bc%b7%e5%88%b6%e8%a6%81%e6%b1%82-reproducible-packaging/#respond</comments>
		
		<dc:creator><![CDATA[Gea-Suan Lin]]></dc:creator>
		<pubDate>Sun, 10 May 2026 18:51:34 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Murmuring]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[chain]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[integrity]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[package]]></category>
		<category><![CDATA[packaging]]></category>
		<category><![CDATA[reproducible]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[trust]]></category>
		<guid isPermaLink="false">https://blog.gslin.org/?p=13035</guid>

					<description><![CDATA[Reproducible builds 是確保 open source 的軟體 (或是 source available 的軟體) 在同樣的環境下都可以產出相同的 binary，屬於 Chain of trust 的一環。 Debian 宣佈下一版要強制 reproducible packaging 了：「bits from the release team (via)」，看起來先在 testing 上開始了： Aided by the efforts of the Reproducible Builds project [1], we've decided it's time to say that Debian must ship reproducible packages. Since yesterday, we have enabled &#8230; <a href="https://blog.gslin.org/archives/2026/05/11/13035/debian-%e4%b8%8b%e4%b8%80%e7%89%88-forky-%e5%b0%87%e6%9c%83%e5%bc%b7%e5%88%b6%e8%a6%81%e6%b1%82-reproducible-packaging/" class="more-link">Continue reading<span class="screen-reader-text"> "Debian 下一版 (forky) 將會強制要求 reproducible packaging"</span></a>]]></description>
										<content:encoded><![CDATA[<p><a href="https://en.wikipedia.org/wiki/Reproducible_builds">Reproducible builds</a> 是確保 open source 的軟體 (或是 source available 的軟體) 在同樣的環境下都可以產出相同的 binary，屬於 <a href="https://en.wikipedia.org/wiki/Chain_of_trust">Chain of trust</a> 的一環。</p>
<p><a href="https://en.wikipedia.org/wiki/Debian">Debian</a> 宣佈下一版要強制 reproducible packaging 了：「<a href="https://lists.debian.org/debian-devel-announce/2026/05/msg00001.html">bits from the release team</a> (<a href="https://news.ycombinator.com/item?id=48081245">via</a>)」，看起來先在 <code>testing</code> 上開始了：</p>
<blockquote><p>Aided by the efforts of the Reproducible Builds project [1], we've decided it's time to say that Debian must ship reproducible packages. Since yesterday, we have enabled our migration software to block migration of new packages that can't be reproduced [2] or existing packages (in testing) that regress in reproducibility.</p></blockquote>
<p>查了一下，Debian 很久以前就已經試著讓 package system 是 reproducible，但這次是變成強制要求，得把之前編不出來的想法辦解決掉。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gslin.org/archives/2026/05/11/13035/debian-%e4%b8%8b%e4%b8%80%e7%89%88-forky-%e5%b0%87%e6%9c%83%e5%bc%b7%e5%88%b6%e8%a6%81%e6%b1%82-reproducible-packaging/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13035</post-id>	</item>
		<item>
		<title>FreeBSD 這次的 execve() 的問題...</title>
		<link>https://blog.gslin.org/archives/2026/05/11/13034/freebsd-%e9%80%99%e6%ac%a1%e7%9a%84-execve-%e7%9a%84%e5%95%8f%e9%a1%8c/</link>
					<comments>https://blog.gslin.org/archives/2026/05/11/13034/freebsd-%e9%80%99%e6%ac%a1%e7%9a%84-execve-%e7%9a%84%e5%95%8f%e9%a1%8c/#respond</comments>
		
		<dc:creator><![CDATA[Gea-Suan Lin]]></dc:creator>
		<pubDate>Sun, 10 May 2026 17:31:53 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Murmuring]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[advisory]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[escalation]]></category>
		<category><![CDATA[execve]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[local]]></category>
		<category><![CDATA[lpe]]></category>
		<category><![CDATA[privilege]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">https://blog.gslin.org/?p=13034</guid>

					<description><![CDATA[在「Local privilege escalation via execve() (via)」這邊看到 FreeBSD 的 LPE，編號 CVE-2026-7270，修正的內容也很簡單，參考「execve: Fix an operator precedence bug - src - FreeBSD source tree」這邊： - args-&#62;endp - args-&#62;begin_argv + consume); + args-&#62;endp - (args-&#62;begin_argv + consume)); 嗯... 從 security advisory 裡面可以看到回報者是「Ryan Austin of Calif.io」，而看 calif.io 的官網是有提到 AI 類的 startup： Pushing the frontier of vulnerability research with AI. 不過在 &#8230; <a href="https://blog.gslin.org/archives/2026/05/11/13034/freebsd-%e9%80%99%e6%ac%a1%e7%9a%84-execve-%e7%9a%84%e5%95%8f%e9%a1%8c/" class="more-link">Continue reading<span class="screen-reader-text"> "FreeBSD 這次的 execve() 的問題..."</span></a>]]></description>
										<content:encoded><![CDATA[<p>在「<a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-26:13.exec.asc">Local privilege escalation via execve()</a> (<a href="https://news.ycombinator.com/item?id=48077971">via</a>)」這邊看到 <a href="https://en.wikipedia.org/wiki/FreeBSD">FreeBSD</a> 的 LPE，編號 <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-7270">CVE-2026-7270</a>，修正的內容也很簡單，參考「<a href="https://cgit.freebsd.org/src/commit/?id=c3e943e78e06">execve: Fix an operator precedence bug - src - FreeBSD source tree</a>」這邊：</p>
<pre>-	    args-&gt;endp - args-&gt;begin_argv + consume);
+	    args-&gt;endp - (args-&gt;begin_argv + consume));</pre>
<p>嗯...</p>
<p>從 security advisory 裡面可以看到回報者是「Ryan Austin of Calif.io」，而看 <a href="https://calif.io/">calif.io</a> 的官網是有提到 AI 類的 startup：</p>
<blockquote><p>Pushing the frontier of vulnerability research with AI.</p></blockquote>
<p>不過在 calif.io 官方的 blog 上有文章提到這次的 CVE-2026-7270，看起來沒有作者署名資訊，裡面看起來比較像是傳統人力看到找出來的：「<a href="https://blog.calif.io/p/cve-2026-7270-how-i-get-root-on-freebsd">CVE-2026-7270: How I Get Root on FreeBSD with a Shell Script</a>」。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gslin.org/archives/2026/05/11/13034/freebsd-%e9%80%99%e6%ac%a1%e7%9a%84-execve-%e7%9a%84%e5%95%8f%e9%a1%8c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13034</post-id>	</item>
		<item>
		<title>OpenRouter 對 GPT-5.5 漲價的分析</title>
		<link>https://blog.gslin.org/archives/2026/05/08/13032/openrouter-%e5%b0%8d-gpt-5-5-%e6%bc%b2%e5%83%b9%e7%9a%84%e5%88%86%e6%9e%90/</link>
					<comments>https://blog.gslin.org/archives/2026/05/08/13032/openrouter-%e5%b0%8d-gpt-5-5-%e6%bc%b2%e5%83%b9%e7%9a%84%e5%88%86%e6%9e%90/#respond</comments>
		
		<dc:creator><![CDATA[Gea-Suan Lin]]></dc:creator>
		<pubDate>Fri, 08 May 2026 11:55:26 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Murmuring]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[gpt]]></category>
		<category><![CDATA[gpt-5.4]]></category>
		<category><![CDATA[gpt-5.5]]></category>
		<category><![CDATA[increase]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[large]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[openai]]></category>
		<category><![CDATA[openrouter]]></category>
		<category><![CDATA[pricing]]></category>
		<category><![CDATA[prompt]]></category>
		<category><![CDATA[token]]></category>
		<guid isPermaLink="false">https://blog.gslin.org/?p=13032</guid>

					<description><![CDATA[OpenRouter 對 GPT-5.5 漲價的分析：「GPT-5.5 Price Increase: What It Actually Costs (via)」。 其實就是老問題，如果 model 比較有效率，減少了 token 的消耗量，哪麼不能單看 token 的價錢。而 OpenRouter 剛好手上有資料 (而且是真實資料) 可以分析... 先從規格上看，input 與 output 都漲了一倍 (原來的兩倍)： We replicated the cost analysis we did on Opus on the new GPT-5.5 model. GPT-5.5 launched with a 2x price increase over GPT-5.4: input tokens increased from $2.50/M &#8230; <a href="https://blog.gslin.org/archives/2026/05/08/13032/openrouter-%e5%b0%8d-gpt-5-5-%e6%bc%b2%e5%83%b9%e7%9a%84%e5%88%86%e6%9e%90/" class="more-link">Continue reading<span class="screen-reader-text"> "OpenRouter 對 GPT-5.5 漲價的分析"</span></a>]]></description>
										<content:encoded><![CDATA[<p><a href="https://openrouter.ai/">OpenRouter</a> 對 GPT-5.5 漲價的分析：「<a href="https://openrouter.ai/announcements/gpt55-cost-analysis">GPT-5.5 Price Increase: What It Actually Costs</a> (<a href="https://news.ycombinator.com/item?id=48057209">via</a>)」。</p>
<p>其實就是老問題，如果 model 比較有效率，減少了 token 的消耗量，哪麼不能單看 token 的價錢。而 OpenRouter 剛好手上有資料 (而且是真實資料) 可以分析...</p>
<p>先從規格上看，input 與 output 都漲了一倍 (原來的兩倍)：</p>
<blockquote><p>We replicated the cost analysis we did on Opus on the new GPT-5.5 model. GPT-5.5 launched with a 2x price increase over GPT-5.4: input tokens increased from $2.50/M to $5.00/M and output tokens from $15/M to $30/M.</p></blockquote>
<p>首先是發現只有比較長的 prompt 才會讓輸出變簡潔：</p>
<picture><source type="image/webp" srcset="https://i.gslin.com/s/1778241134-a0b9ff07.webp" /><img decoding="async" src="https://i.gslin.com/s/1778241134-a0b9ff07.png" alt="" /></picture>
<p>用成本看的話，可以看到沒有到漲一倍，但也還是不少：</p>
<picture><source type="image/webp" srcset="https://i.gslin.com/s/1778241171-b42cb01e.webp" /><img decoding="async" src="https://i.gslin.com/s/1778241171-b42cb01e.png" alt="" /></picture>
<p>算是個參考，如果 GPT-5.4 夠用的情況下未必要升級上去...</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gslin.org/archives/2026/05/08/13032/openrouter-%e5%b0%8d-gpt-5-5-%e6%bc%b2%e5%83%b9%e7%9a%84%e5%88%86%e6%9e%90/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13032</post-id>	</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Object Caching 38/49 objects using APC
Page Caching using APC (Page is feed) 
Minified using APC
Database Caching using APC

Served from: blog.gslin.org @ 2026-05-23 13:10:47 by W3 Total Cache
-->