<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Linux on akky@サイボウズラボ・ブログ</title>
		<link>https://labs.cybozu.co.jp/blog/akky/tags/linux/</link>
		<description>Recent content in Linux on akky@サイボウズラボ・ブログ</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Mon, 17 May 2021 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://labs.cybozu.co.jp/blog/akky/tags/linux/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>オープンソースプロジェクト内のTODO個数調査</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2021/05/count-todos-in-oss-repositories/</link>
				<pubDate>Mon, 17 May 2021 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2021/05/count-todos-in-oss-repositories/</guid>
				<description>&lt;p&gt;マーティン・シュライスさん(Martin Schleiss)がブログで公開したのが、Linux をはじめとする巨大オープンソースプロジェクトのソースコードにおける「やらないといけない」あるいは「後で考える」マークである&lt;a href=&#34;https://schleiss.io/plotting-source-code-todos-for-open-source-projects&#34;&gt;&amp;ldquo;TODO&amp;quot;の個数の移り変わりをグラフ化したもの&lt;/a&gt;です。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2021/05/count-todos-in-oss-repositories/todos-chart-php.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/05/count-todos-in-oss-repositories/todos-chart-php_hu_42d471dbed994217.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/05/count-todos-in-oss-repositories/todos-chart-php_hu_d84bf66808deea28.webp 724w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/05/count-todos-in-oss-repositories/todos-chart-php.png&#34; width=&#34;724&#34; height=&#34;413&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;基本的には、プロジェクトの年月が重なるほど、コードに書かれた TODO の個数は増えていくようです。上の PHP のグラフでは、メジャーリリースや通常リリースの時期の少し前に TODO が増えているようにも見えます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2021/05/count-todos-in-oss-repositories/todos-chart-rust.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/05/count-todos-in-oss-repositories/todos-chart-rust_hu_e9989cc2ecec201c.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/05/count-todos-in-oss-repositories/todos-chart-rust_hu_f765e8e3ecc8e856.webp 720w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/05/count-todos-in-oss-repositories/todos-chart-rust.png&#34; width=&#34;720&#34; height=&#34;409&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;プロジェクトによっては単調増加ではないものも。Rust は TODO の個数自体が少ないように見えるし、途中で数個まで減っている時期もあるので、意識的に TODO の解消を目指したりしていたのかもしれません。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2021/05/count-todos-in-oss-repositories/todos-chart-nextjs.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/05/count-todos-in-oss-repositories/todos-chart-nextjs_hu_341bde9c23ce6f9f.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/05/count-todos-in-oss-repositories/todos-chart-nextjs_hu_e416def6916be00e.webp 718w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/05/count-todos-in-oss-repositories/todos-chart-nextjs.png&#34; width=&#34;718&#34; height=&#34;422&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Next.js 、version 10 と 10.1 のどちらのリリース時期でもなく、突然増えています。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://schleiss.io/plotting-source-code-todos-for-open-source-projects&#34;&gt;ブログ記事&lt;/a&gt;では言語処理系やライブラリなど、有名なもの20個弱についてグラフ化されています。&lt;/p&gt;&#xA;&lt;p&gt;プロジェクトの規模、歴史の長さによってもTODO の個数は変わりますが、規模や歴史と無関係に多い少ないもあったりもします。シュライスさんはTODO が有ることはどのオープンソースプロジェクトにおいても貢献をする余地があるということだ、と言っています。あなたが良く使っているツール/ライブラリのTODO は増えているでしょうか?&lt;/p&gt;</description>
			</item>
			<item>
				<title>DOS Subsystem for Linux - MS-DOSの上でLinuxコマンドを動かす</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2020/09/dos-subsystem-for-linux/</link>
				<pubDate>Fri, 25 Sep 2020 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2020/09/dos-subsystem-for-linux/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://github.com/charliesome/doslinux&#34;&gt;DOS Subsystem for Linux&lt;/a&gt; は、「MS-DOS環境を好む人のためのWSLの代替」で、Linux 環境をMS-DOS 上に構築したものです。&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Windows Subsystem for Linux&amp;rdquo;(WSL)においては、Windows 上でLinuxのアプリケーションをそのまま実行できるようになりましたが、それと似たようなことを MS-DOS の上で動かす、というもののよう。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2020/09/dos-subsystem-for-linux/dos-subsystem-for-linux.gif&#34;&gt;&lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2020/09/dos-subsystem-for-linux/dos-subsystem-for-linux.gif&#34; width=&#34;734&#34; height=&#34;419&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;MS-DOS の起動画面から、dsl コマンドを叩いて、MS-DOS 側のファイルシステムをマウントし、viエディタで編集していますね。DOS をメインに使っていて Linux アプリケーションも使いたいという人にとってはありがたい仕組みです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://news.ycombinator.com/item?id=24555689&#34;&gt;Hacker Newsのスレッド&lt;/a&gt;では当初、「MS-DOS を Linux 上で動かすもの」と誤解されたようですが、逆方向になります。&lt;/p&gt;&#xA;&lt;p&gt;誤解が生まれた訳は、&amp;ldquo;Windows Subsystem for Linux&amp;quot;というマイクロソフト公式の名づけ方法にありそう。&amp;ldquo;Windows Subsystem for Linux&amp;rdquo; という字面を見ると、海外ユーザーでもやはり直観的には「Linux のために動く Windows」という印象を受けてしまうようです。しかし、「Windows は複数のサブシステムを持っていて、その一つとして Linux を動かす」と解釈すれば、WSL のことだと言えなくもありません。&lt;/p&gt;&#xA;&lt;p&gt;Linux側には「サブシステム」という概念がないため、Linux ユーザー側から見ると混乱が起こるのであろう、ということ。&amp;ldquo;Windows Services for Unix&amp;quot;についても同様で、Unix で Windows を動かすのではなく、Windows のサービスとしてLinux コマンドを使えるという意味になる、と。&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;DOS Subsystem for Linux&amp;rdquo; は、そんなマイクロソフトの WSL のネーミングに従った名前と言えます。&lt;/p&gt;&#xA;&lt;p&gt;作者の解説によると、MS-DOS 上で最初に dsl コマンドが呼ばれた際、Linux カーネルが立ちあげられ、MS-DOS からPCのコントロールを奪います。&lt;/p&gt;&#xA;&lt;p&gt;Linuxコマンドの終了時、カーネルは仮想86モードで元のDOSに制御を移し、DOSは仮想モード内で動いているとは意識せずに次に DSL コマンドが呼ばれるまで DOS として動き続ける、と。&lt;/p&gt;&#xA;&lt;p&gt;仕組みとしては問題ありそうだが、驚くほどうまく動作している、ということだそうです。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Linuxのソースコードコメントからf*ckを消してhugにしようと提案するパッチが議論を巻き起こす</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2018/12/linux-patch-suggests-to-replace-f-cks-with-hugs/</link>
				<pubDate>Thu, 06 Dec 2018 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2018/12/linux-patch-suggests-to-replace-f-cks-with-hugs/</guid>
				<description>&lt;p&gt;ヤルコ・サッキネンさん(Jarkko Sakkinen)が&lt;a href=&#34;https://lists.freedesktop.org/archives/dri-devel/2018-November/198581.html&#34;&gt;リナックスDRM開発者メーリングリストに提案した33行のパッチ&lt;/a&gt;は、コメント中の&amp;quot;fuck&amp;quot;を&amp;quot;hug&amp;quot;に置き換えるというだけのもの。提案の変更箇所は以下となり、変更内容はたとえば&lt;a href=&#34;http://lkml.iu.edu/hypermail/linux/kernel/1811.3/07110.html&#34;&gt;こんな感じ&lt;/a&gt;です。&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;code&gt;In order to comply with the CoC, replace **** with a hug.  Jarkko Sakkinen (15): MIPS: replace **** with a hug Documentation: replace **** with a hug drm/nouveau: replace **** with a hug m68k: replace **** with a hug parisc: replace **** with a hug cpufreq: replace **** with a hug ide: replace **** with a hug media: replace **** with a hug mtd: replace **** with a hug net/sunhme: replace **** with a hug scsi: replace **** with a hug inotify: replace **** with a hug irq: replace **** with a hug lib: replace **** with a hug net: replace **** with a hug  Documentation/kernel-hacking/locking.rst | 2 +- arch/m68k/include/asm/sun3ints.h | 2 +- arch/mips/pci/ops-bridge.c | 24 +++++++++---------- arch/mips/sgi-ip22/ip22-setup.c | 2 +- arch/parisc/kernel/sys_parisc.c | 2 +- drivers/cpufreq/powernow-k7.c | 2 +- .../gpu/drm/nouveau/nvkm/subdev/bios/init.c | 2 +- .../nouveau/nvkm/subdev/pmu/fuc/macros.fuc | 2 +- drivers/ide/cmd640.c | 2 +- drivers/media/i2c/bt819.c | 8 ++++--- drivers/mtd/mtd_blkdevs.c | 2 +- drivers/net/ethernet/sun/sunhme.c | 4 ++-- drivers/scsi/qlogicpti.h | 2 +- fs/notify/inotify/inotify_user.c | 2 +- kernel/irq/timings.c | 2 +- lib/vsprintf.c | 2 +- net/core/skbuff.c | 2 +- 17 files changed, 33 insertions(+), 31 deletions(-)  -- 2.19.1&lt;/code&gt;&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
