【プログラミング】生産力を増大する方法
このコミットが含まれているのは:
コミット
47f829bb10
201
gemini/blog.atom
201
gemini/blog.atom
|
@ -3,13 +3,91 @@
|
|||
<id>gemini://technicalsuwako.moe</id>
|
||||
<title>テクニカル諏訪子</title>
|
||||
|
||||
<updated>2023-12-25T00:00:00Z</updated>
|
||||
<updated>2024-01-04T00:00:00Z</updated>
|
||||
|
||||
<author><name>テクニカル諏訪子</name></author>
|
||||
<link href="gemini://technicalsuwako.moe" rel="alternate"></link>
|
||||
|
||||
|
||||
|
||||
<entry>
|
||||
<id>blog/rice-productive.gmi</id>
|
||||
<author><name>凛</name></author>
|
||||
<title type="html">【プログラミング】生産力を増大する方法</title>
|
||||
<published>2024-01-04T00:00:00Z</published>
|
||||
|
||||
<category term="jp"></category>
|
||||
|
||||
<category term="blog"></category>
|
||||
|
||||
<category term="linux"></category>
|
||||
|
||||
<category term="bsd"></category>
|
||||
|
||||
<category term="セキュリティー"></category>
|
||||
|
||||
<category term="デジタル自主"></category>
|
||||
|
||||
<category term="ソフトウェア"></category>
|
||||
|
||||
<category term="メール"></category>
|
||||
|
||||
<category term="プライバシー"></category>
|
||||
|
||||
<link href="gemini://technicalsuwako.moe/blog/rice-productive.gmi" rel="alternate"></link>
|
||||
<content type="html">
|
||||
|
||||
|
||||
|
||||
<p>かつて、ハッカー達は非常に生産的でした。<br />
|
||||
<a href="http://w.sneed4fmhevap3ci4xhf4wgkf72lwk275lcgomnfgwniwmqvaxyluuid.onion/wiki/Unix%E3%81%AE%E6%AD%B4%E5%8F%B2?lang=ja">例えば、ケン・トンプソンさん、デニス・リッチーさん、とブライアン・カーニハンさんは2年でUNIXを作りました。</a><br />
|
||||
<a href="https://gitlab.freedesktop.org/wayland/wayland">しかし、現在では29人の人々が15年間Waylandを作っていますが、まだ本番環境には適していません。</a><br />
|
||||
何故でしょうか。</p>
|
||||
<p>今日のハッカーはもはや生産的ではありません。<br />
|
||||
あたしは16年間ハッカーであり、その理由を説明します。</p>
|
||||
<h2 id="1-">1. プログラミングはもはや楽しくない</h2>
|
||||
<p>あたしがプログラミングを始めた時、空のテキストエディタを開き、自分の好きな様にコードを書き、コンパイルし、それが商業的に出荷可能な製品でした。<br />
|
||||
今日でもそれは可能ですが、2014年以降に始めたすべてのコーダーは、端末で「Hello World」を表示するだけの為に60の依存関係と300の異なるクラスを入り、複雑すぎるフレームワークを使います。<br />
|
||||
貴方がそれを使わないと、貴方を素人だと思うでしょう。<br />
|
||||
あたしは、そう思う人が素人だと思います。<br />
|
||||
自身のソースコードを開くたびに、それをより良くする事にワクワクします。<br />
|
||||
SucklessやOpenBSDチームによって作られたソースコードを開くたびに、編集する事にワクワクします。<br />
|
||||
しかし、ほとんどの現代の開発者によって作られたソースコードを開くたびに、悲しく、怒り、そして惨めになります。</p>
|
||||
<p>今日のコードはあちこちに散らばっています。<br />
|
||||
今日のコードはもはや価値ある製品を作る事ではなく、永遠に同じコードベースに閉じ込められ、自殺したくなる様にする事です。</p>
|
||||
<h2 id="2-">2. 技術は間違った方向に進んでいる</h2>
|
||||
<p>多くの人々は技術が前進していると主張していますが、その「前進」の方向が何であるかは誰も知りません。<br />
|
||||
あたし達は50年前よりも優れたハードウェアを持っていますが、今日のソフトウェアはどんどん遅くなっています。<br />
|
||||
我々は、卒業直後の若いコーダーを引き付ける為に人気のプログラムに複雑さを加えすぎており、彼らは大学でVisual Studio Code、React、Laravelのような不必要に複雑なプログラムの使用を学び、CI、Scrum、Agile、パッケージマネージャ、フレームワーク、Electron、Microsoft Office、IntelliJ、VS Code等の生産性を阻害する不要な事を気にする本物のプログラマーについて教えられています。<br />
|
||||
あたしは高校中退ですが、Neovim、Git、そしてCやGoのような本物のプログラミング言語を使用しています。<br />
|
||||
それ以外は何も使いません!<br />
|
||||
<a href="/portfolio.xhtml">そして、まだ完成していないプログラムを除いて、たった1年で11のプログラムを作りました。</a><br />
|
||||
これらのプログラムの殆どは1日未満で作成されました。<br />
|
||||
いくつかはPHPから書き直され、他は時間をかけて徐々に更新され、続ける理由が見つからなかった数個は諦めました。<br />
|
||||
現在、C、SDL、OpenGL、OpenALで3Dゲームを作成しており、2日後には機能的なプロトタイプが出来ました。</p>
|
||||
<p>商業ゲーム開発で逆の事が起こっているのは、この業界だけです。<br />
|
||||
<a href="https://zenn.dev/daichi_gamedev/articles/unity-licence-fee">Unityとの論争の後、より多くのゲーム開発者が独自のゲームエンジンを書き始め、カスタムエンジンで同じくらい、またはそれ以上に生産的になり、カスタムエンジンははるかに軽量なので、より高品質なゲームを作る事が出来る事に気づきました。</a></p>
|
||||
<h2 id="3-">3. プログラミングにおける政治性</h2>
|
||||
<p>幸いな事に、日本では殆どのハッカーが政治から自由ですが、海外では「CODE_OF_CONDUCT.md」を持たないプロジェクトを見つけるのが非常に難しくなっています。<br />
|
||||
これは、良いコードを殆ど貢献しない精神的に問題のある人々を快適にする為に、才能を追い出す様に設計されています。<br />
|
||||
しかし、殆どのオープンソースプロジェクトは海外の物であり、政治に重点を置き過ぎている為、言ってはいけない言葉が多く、世界の50億人のうち2人を不快にする可能性がある事を事前に知っておかなければならず、特定の代名詞を使用する様に強制されますが、これはソフトウェア開発には属していません。<br />
|
||||
日本のソフトウェア開発者は政治を気にしないにも関わらず、国内のハッカー文化には残念ながらこの影響が及んでおり、より国際化した日本の「現代的」な開発者が海外の「現代的」な開発者の影響を受けています。</p>
|
||||
<h2 id="4-">4. 先輩が後輩に間違った方法を教える</h2>
|
||||
<p>あたしが以前言った様に、シンプルなテキストエディタ、バージョンコントロールと、コンパイラだけが良いソフトウェアを作る為に必要です。<br />
|
||||
しかし、若い開発者には必要のない様々なツールの使用が教えられています。<br />
|
||||
これはストレスを増やし、非生産的になるだけです。<br />
|
||||
<a href="https://brik.co.jp/tips/1125">BRIKの「フロントエンドエンジニアになるためのロードマップ」がその一例です。</a><br />
|
||||
あたしは「インターネットの基本を習得」、「HTML/CSS/JavaScriptの習得」、「バージョンコントロールの習得」と、「Webセキュリティ知識の習得」が必要だとは思いますが、それ以降は全く不要で、5番から19番を無視すれば、ずっと優れた生産性の高いフロントエンド開発者になれます。<br />
|
||||
それら全てを学ばなければならないなら、良いソフトウェアを作る事には関心がなく、短期的な利益のみを目的とする悪い会社で働いているという事です。</p>
|
||||
<p>古いUNIXコミュニティでは、削除出来る機能を常に探していましたが、現代の開発者は追加出来る機能を常に探しています。<br />
|
||||
誰が最も生産的で、長期的に最もお金を稼いでおり、製品が最も安定しているかを見れば、UNIXの古参者達が正しい事は明らかです。</p>
|
||||
<p>あたしは現代の産業を憎んでこの記事を書いたのではなく、常に一部である事を愛してきた産業の状態について心配しているからです。</p>
|
||||
<p>以上</p>
|
||||
|
||||
|
||||
</content>
|
||||
</entry>
|
||||
|
||||
<entry>
|
||||
<id>blog/anti-virus-dangerous.gmi</id>
|
||||
<author><name>凛</name></author>
|
||||
|
@ -493,126 +571,5 @@ zroot/usr/src 29G 96K 29G 0% /usr/src
|
|||
</content>
|
||||
</entry>
|
||||
|
||||
<entry>
|
||||
<id>blog/programming-pyramid-of-doom.gmi</id>
|
||||
<author><name>凛</name></author>
|
||||
<title type="html">【プログラミング】アドバイス1:運命のピラミッドを回避</title>
|
||||
<published>2023-12-05T00:00:00Z</published>
|
||||
|
||||
<category term="jp"></category>
|
||||
|
||||
<category term="blog"></category>
|
||||
|
||||
<category term="システム開発"></category>
|
||||
|
||||
<category term="php"></category>
|
||||
|
||||
<category term="c言語"></category>
|
||||
|
||||
<category term="プログラミング"></category>
|
||||
|
||||
<category term="ウエブ開発"></category>
|
||||
|
||||
<link href="gemini://technicalsuwako.moe/blog/programming-pyramid-of-doom.gmi" rel="alternate"></link>
|
||||
<content type="html">
|
||||
|
||||
|
||||
|
||||
<p>プログラミングしたら、気づかずに運命のピラミッドを作る可能性が非常に高いです。<br />
|
||||
これを回避した方が良いと思います。</p>
|
||||
<h2 id="heading">運命のピラミッドとは?</h2>
|
||||
<p>ブログラミングで、運命のピラミッドとは、ネストされたインデントの多くのレベルを使用し、コードが読みにくくなる事です。<br />
|
||||
例えば、下記のC言語のコードは運命のピラミッドの問題は発生します。</p>
|
||||
<pre><code lang=""><span style="color:#0b0;font-weight:bold">int</span> <span style="color:#00a000">main</span>(<span style="color:#0b0;font-weight:bold">int</span> argc, <span style="color:#0b0;font-weight:bold">char</span> <span style="color:#666">**</span>argv) {
|
||||
<span style="color:#a2f;font-weight:bold">if</span> (argc <span style="color:#666">&gt;=</span> <span style="color:#666">2</span>) {
|
||||
Display <span style="color:#666">*</span>d <span style="color:#666">=</span> XOpenDisplay(<span style="color:#a2f">NULL</span>);
|
||||
<span style="color:#a2f;font-weight:bold">if</span> (d <span style="color:#666">!=</span> <span style="color:#a2f">NULL</span>) {
|
||||
<span style="color:#0b0;font-weight:bold">int</span> src <span style="color:#666">=</span> DefaultScreen(d);
|
||||
Window w <span style="color:#666">=</span> XCreateSimpleWindow(d, RootWindow(d, scr), <span style="color:#666">0</span>, <span style="color:#666">0</span>, <span style="color:#666">500</span>, <span style="color:#666">500</span>, <span style="color:#666">1</span>, BlackPixel(d, scr), WhitePixel(d, scr));
|
||||
XSelectInput(d, w, ExposureMask <span style="color:#666">|</span> KeyPressMask);
|
||||
XMapWindow(d, w);
|
||||
XFlush(d);
|
||||
|
||||
GC gc <span style="color:#666">=</span> XCreateGC(d, w, <span style="color:#666">0</span>, <span style="color:#a2f">NULL</span>);
|
||||
<span style="color:#a2f;font-weight:bold">if</span> (gc <span style="color:#666">!=</span> <span style="color:#a2f">NULL</span>) {
|
||||
XImage <span style="color:#666">*</span>ximg <span style="color:#666">=</span> openimg(d, argv[<span style="color:#666">1</span>])<span style="color:#666">:</span>
|
||||
<span style="color:#a2f;font-weight:bold">if</span> (ximg <span style="color:#666">!=</span> <span style="color:#a2f">NULL</span>) {
|
||||
<span style="color:#080;font-style:italic">// などなど
|
||||
</span><span style="color:#080;font-style:italic"></span> }
|
||||
} <span style="color:#a2f;font-weight:bold">else</span> {
|
||||
fprintf(stderr, <span style="color:#b44">&#34;グラフィックス内容を創作に失敗しました。</span><span style="color:#b62;font-weight:bold">\n</span><span style="color:#b44">&#34;</span>);
|
||||
}
|
||||
} <span style="color:#a2f;font-weight:bold">else</span> {
|
||||
fprintf(stderr, <span style="color:#b44">&#34;画像を開けられません。</span><span style="color:#b62;font-weight:bold">\n</span><span style="color:#b44">&#34;</span>);
|
||||
}
|
||||
} <span style="color:#a2f;font-weight:bold">else</span> {
|
||||
printf(<span style="color:#b44">&#34;使用方法: %s &lt;画像ファイル&gt;</span><span style="color:#b62;font-weight:bold">\n</span><span style="color:#b44">&#34;</span>, argv[<span style="color:#666">0</span>]);
|
||||
}
|
||||
|
||||
<span style="color:#a2f;font-weight:bold">return</span> <span style="color:#666">0</span>;
|
||||
}
|
||||
</code></pre><p>変わりに、下記のコードを書いた方が良いです。</p>
|
||||
<pre><code lang=""><span style="color:#0b0;font-weight:bold">int</span> <span style="color:#00a000">main</span>(<span style="color:#0b0;font-weight:bold">int</span> argc, <span style="color:#0b0;font-weight:bold">char</span> <span style="color:#666">**</span>argv) {
|
||||
<span style="color:#a2f;font-weight:bold">if</span> (argc <span style="color:#666">&lt;</span> <span style="color:#666">2</span>) { <span style="color:#080;font-style:italic">// argcは2つ以下の場合、続行する意味はありません。
|
||||
</span><span style="color:#080;font-style:italic"></span> printf(<span style="color:#b44">&#34;使用方法: %s &lt;画像ファイル&gt;</span><span style="color:#b62;font-weight:bold">\n</span><span style="color:#b44">&#34;</span>, argv[<span style="color:#666">0</span>]);
|
||||
<span style="color:#a2f;font-weight:bold">return</span> <span style="color:#666">1</span>;
|
||||
}
|
||||
|
||||
Display <span style="color:#666">*</span>d <span style="color:#666">=</span> XOpenDisplay(<span style="color:#a2f">NULL</span>);
|
||||
<span style="color:#a2f;font-weight:bold">if</span> (d <span style="color:#666">==</span> <span style="color:#a2f">NULL</span>) { <span style="color:#080;font-style:italic">// 同様に、DisplayがNULLの場合、続行する意味はありません。
|
||||
</span><span style="color:#080;font-style:italic"></span> fprintf(stderr, <span style="color:#b44">&#34;画像を開けられません。</span><span style="color:#b62;font-weight:bold">\n</span><span style="color:#b44">&#34;</span>);
|
||||
<span style="color:#a2f;font-weight:bold">return</span> <span style="color:#666">-</span><span style="color:#666">1</span>;
|
||||
}
|
||||
|
||||
<span style="color:#0b0;font-weight:bold">int</span> src <span style="color:#666">=</span> DefaultScreen(d);
|
||||
Window w <span style="color:#666">=</span> XCreateSimpleWindow(d, RootWindow(d, scr), <span style="color:#666">0</span>, <span style="color:#666">0</span>, <span style="color:#666">500</span>, <span style="color:#666">500</span>, <span style="color:#666">1</span>, BlackPixel(d, scr), WhitePixel(d, scr));
|
||||
XSelectInput(d, w, ExposureMask <span style="color:#666">|</span> KeyPressMask);
|
||||
XMapWindow(d, w);
|
||||
XFlush(d);
|
||||
|
||||
GC gc <span style="color:#666">=</span> XCreateGC(d, w, <span style="color:#666">0</span>, <span style="color:#a2f">NULL</span>);
|
||||
<span style="color:#a2f;font-weight:bold">if</span> (gc <span style="color:#666">==</span> <span style="color:#a2f">NULL</span>) { <span style="color:#080;font-style:italic">// 同じパターン
|
||||
</span><span style="color:#080;font-style:italic"></span> fprintf(stderr, <span style="color:#b44">&#34;グラフィックス内容を創作に失敗しました。</span><span style="color:#b62;font-weight:bold">\n</span><span style="color:#b44">&#34;</span>);
|
||||
<span style="color:#a2f;font-weight:bold">return</span> <span style="color:#666">-</span><span style="color:#666">1</span>;
|
||||
}
|
||||
|
||||
XImage <span style="color:#666">*</span>ximg <span style="color:#666">=</span> openimg(d, argv[<span style="color:#666">1</span>])<span style="color:#666">:</span>
|
||||
<span style="color:#a2f;font-weight:bold">if</span> (ximg <span style="color:#666">==</span> <span style="color:#a2f">NULL</span>) { <span style="color:#080;font-style:italic">// また、同じパターン
|
||||
</span><span style="color:#080;font-style:italic"></span> fprintf(stderr, <span style="color:#b44">&#34;画像を開けられません: %s</span><span style="color:#b62;font-weight:bold">\n</span><span style="color:#b44">&#34;</span>, argv[<span style="color:#666">1</span>]);
|
||||
XFreeGC(d, gc);
|
||||
XCloseDisplay(d);
|
||||
<span style="color:#a2f;font-weight:bold">return</span> <span style="color:#666">-</span><span style="color:#666">1</span>;
|
||||
}
|
||||
|
||||
<span style="color:#080;font-style:italic">// などなど
|
||||
</span><span style="color:#080;font-style:italic"></span>
|
||||
<span style="color:#a2f;font-weight:bold">return</span> <span style="color:#666">0</span>;
|
||||
}
|
||||
</code></pre><p><a href="https://gitler.moe/suwako/mivfx/src/branch/master/main.c">実際、C言語の開発者は運命のピラミッドを作る事は珍しいです。</a><br />
|
||||
この問題は主にWeb開発で多く起こります。<br />
|
||||
<a href="https://gitler.moe/tak4/bibis/src/branch/master/data-post.php">ですから、PHPの例えはご覧下さい。</a></p>
|
||||
<pre><code lang=""> <span style="color:#b8860b">$thread_title</span> <span style="color:#666">=</span> <span style="color:#b44">&#39;&#39;</span>;
|
||||
<span style="color:#a2f;font-weight:bold">if</span> (<span style="color:#b8860b">$thread_id</span> <span style="color:#666">&gt;</span> <span style="color:#b44">&#39;&#39;</span>) {
|
||||
<span style="color:#b8860b">$thread_title</span> <span style="color:#666">=</span> load_post_title_by_id(<span style="color:#b8860b">$thread_id</span>);
|
||||
<span style="color:#a2f;font-weight:bold">if</span> (<span style="color:#666">!</span><span style="color:#b8860b">$thread_title</span> <span style="color:#666">&gt;</span> <span style="color:#b44">&#39;&#39;</span>) {
|
||||
<span style="color:#b8860b">$thread_title</span> <span style="color:#666">=</span> <span style="color:#b44">&#39;無題#&#39;</span> <span style="color:#666">.</span> mb_substr(<span style="color:#b8860b">$thread_id</span>, <span style="color:#666">0</span>, <span style="color:#666">7</span>);
|
||||
}
|
||||
}
|
||||
</code></pre><p>少しだけ変わります。</p>
|
||||
<pre><code lang=""> <span style="color:#b8860b">$thread_title</span> <span style="color:#666">=</span> <span style="color:#b44">&#39;&#39;</span>;
|
||||
|
||||
<span style="color:#a2f;font-weight:bold">if</span> (<span style="color:#b8860b">$threadid</span> <span style="color:#666">!=</span> <span style="color:#b44">&#39;&#39;</span>) { <span style="color:#080;font-style:italic">// 文字列で「&gt;」を使用すると、バグが発生する可能性があります。
|
||||
</span><span style="color:#080;font-style:italic"></span> <span style="color:#b8860b">$thread_title</span> <span style="color:#666">=</span> load_post_title_by_id(<span style="color:#b8860b">$threadid</span>);
|
||||
}
|
||||
|
||||
<span style="color:#a2f;font-weight:bold">if</span> (<span style="color:#b8860b">$thread_title</span> <span style="color:#666">!=</span> <span style="color:#b44">&#39;&#39;</span>) { <span style="color:#080;font-style:italic">// !$thread_title &gt; &#39;&#39; はかなりおかしいので、これも修正しました。
|
||||
</span><span style="color:#080;font-style:italic"></span> <span style="color:#b8860b">$thread_title</span> <span style="color:#666">=</span> <span style="color:#b44">&#39;無題#&#39;</span> <span style="color:#666">.</span> mb_substr(<span style="color:#b8860b">$threadid</span>, <span style="color:#666">0</span>, <span style="color:#666">7</span>);
|
||||
}
|
||||
</code></pre><p>以上</p>
|
||||
|
||||
|
||||
</content>
|
||||
</entry>
|
||||
|
||||
|
||||
</feed>
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
# 記事一覧
|
||||
|
||||
=> /blog/rice-productive.gmi 2024年01月04日 【プログラミング】生産力を増大する方法
|
||||
=> /blog/anti-virus-dangerous.gmi 2023年12月25日 【セキュリティ】ウィルス対策ソフトは危険
|
||||
=> /blog/programming-early-return.gmi 2023年12月21日 【プログラミング】アドバイス2:早期リターン
|
||||
=> /blog/byobu-52.gmi 2023年12月12日 【076】byobu 5.2登場
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
=> /blog.gmi ブログ一覧へ
|
||||
|
||||
# 【プログラミング】生産力を増大する方法
|
||||
投稿日:2024-01-04
|
||||
|
||||
かつて、ハッカー達は非常に生産的でした。
|
||||
=> http://w.sneed4fmhevap3ci4xhf4wgkf72lwk275lcgomnfgwniwmqvaxyluuid.onion/wiki/Unix%E3%81%AE%E6%AD%B4%E5%8F%B2?lang=ja 例えば、ケン・トンプソンさん、デニス・リッチーさん、とブライアン・カーニハンさんは2年でUNIXを作りました。
|
||||
=> https://gitlab.freedesktop.org/wayland/wayland しかし、現在では29人の人々が15年間Waylandを作っていますが、まだ本番環境には適していません。
|
||||
何故でしょうか。
|
||||
|
||||
今日のハッカーはもはや生産的ではありません。
|
||||
あたしは16年間ハッカーであり、その理由を説明します。
|
||||
|
||||
## 1. プログラミングはもはや楽しくない
|
||||
あたしがプログラミングを始めた時、空のテキストエディタを開き、自分の好きな様にコードを書き、コンパイルし、それが商業的に出荷可能な製品でした。
|
||||
今日でもそれは可能ですが、2014年以降に始めたすべてのコーダーは、端末で「Hello World」を表示するだけの為に60の依存関係と300の異なるクラスを入り、複雑すぎるフレームワークを使います。
|
||||
貴方がそれを使わないと、貴方を素人だと思うでしょう。
|
||||
あたしは、そう思う人が素人だと思います。
|
||||
自身のソースコードを開くたびに、それをより良くする事にワクワクします。
|
||||
SucklessやOpenBSDチームによって作られたソースコードを開くたびに、編集する事にワクワクします。
|
||||
しかし、ほとんどの現代の開発者によって作られたソースコードを開くたびに、悲しく、怒り、そして惨めになります。
|
||||
|
||||
今日のコードはあちこちに散らばっています。
|
||||
今日のコードはもはや価値ある製品を作る事ではなく、永遠に同じコードベースに閉じ込められ、自殺したくなる様にする事です。
|
||||
|
||||
## 2. 技術は間違った方向に進んでいる
|
||||
多くの人々は技術が前進していると主張していますが、その「前進」の方向が何であるかは誰も知りません。
|
||||
あたし達は50年前よりも優れたハードウェアを持っていますが、今日のソフトウェアはどんどん遅くなっています。
|
||||
我々は、卒業直後の若いコーダーを引き付ける為に人気のプログラムに複雑さを加えすぎており、彼らは大学でVisual Studio Code、React、Laravelのような不必要に複雑なプログラムの使用を学び、CI、Scrum、Agile、パッケージマネージャ、フレームワーク、Electron、Microsoft Office、IntelliJ、VS Code等の生産性を阻害する不要な事を気にする本物のプログラマーについて教えられています。
|
||||
あたしは高校中退ですが、Neovim、Git、そしてCやGoのような本物のプログラミング言語を使用しています。
|
||||
それ以外は何も使いません!
|
||||
=> /portfolio.gmi そして、まだ完成していないプログラムを除いて、たった1年で11のプログラムを作りました。
|
||||
これらのプログラムの殆どは1日未満で作成されました。
|
||||
いくつかはPHPから書き直され、他は時間をかけて徐々に更新され、続ける理由が見つからなかった数個は諦めました。
|
||||
現在、C、SDL、OpenGL、OpenALで3Dゲームを作成しており、2日後には機能的なプロトタイプが出来ました。
|
||||
|
||||
商業ゲーム開発で逆の事が起こっているのは、この業界だけです。
|
||||
=> https://zenn.dev/daichi_gamedev/articles/unity-licence-fee Unityとの論争の後、より多くのゲーム開発者が独自のゲームエンジンを書き始め、カスタムエンジンで同じくらい、またはそれ以上に生産的になり、カスタムエンジンははるかに軽量なので、より高品質なゲームを作る事が出来る事に気づきました。
|
||||
|
||||
## 3. プログラミングにおける政治性
|
||||
幸いな事に、日本では殆どのハッカーが政治から自由ですが、海外では「CODE_OF_CONDUCT.md」を持たないプロジェクトを見つけるのが非常に難しくなっています。
|
||||
これは、良いコードを殆ど貢献しない精神的に問題のある人々を快適にする為に、才能を追い出す様に設計されています。
|
||||
しかし、殆どのオープンソースプロジェクトは海外の物であり、政治に重点を置き過ぎている為、言ってはいけない言葉が多く、世界の50億人のうち2人を不快にする可能性がある事を事前に知っておかなければならず、特定の代名詞を使用する様に強制されますが、これはソフトウェア開発には属していません。
|
||||
日本のソフトウェア開発者は政治を気にしないにも関わらず、国内のハッカー文化には残念ながらこの影響が及んでおり、より国際化した日本の「現代的」な開発者が海外の「現代的」な開発者の影響を受けています。
|
||||
|
||||
## 4. 先輩が後輩に間違った方法を教える
|
||||
あたしが以前言った様に、シンプルなテキストエディタ、バージョンコントロールと、コンパイラだけが良いソフトウェアを作る為に必要です。
|
||||
しかし、若い開発者には必要のない様々なツールの使用が教えられています。
|
||||
これはストレスを増やし、非生産的になるだけです。
|
||||
=> https://brik.co.jp/tips/1125 BRIKの「フロントエンドエンジニアになるためのロードマップ」がその一例です。
|
||||
あたしは「インターネットの基本を習得」、「HTML/CSS/JavaScriptの習得」、「バージョンコントロールの習得」と、「Webセキュリティ知識の習得」が必要だとは思いますが、それ以降は全く不要で、5番から19番を無視すれば、ずっと優れた生産性の高いフロントエンド開発者になれます。
|
||||
それら全てを学ばなければならないなら、良いソフトウェアを作る事には関心がなく、短期的な利益のみを目的とする悪い会社で働いているという事です。
|
||||
|
||||
古いUNIXコミュニティでは、削除出来る機能を常に探していましたが、現代の開発者は追加出来る機能を常に探しています。
|
||||
誰が最も生産的で、長期的に最もお金を稼いでおり、製品が最も安定しているかを見れば、UNIXの古参者達が正しい事は明らかです。
|
||||
|
||||
あたしは現代の産業を憎んでこの記事を書いたのではなく、常に一部である事を愛してきた産業の状態について心配しているからです。
|
||||
|
||||
以上
|
233
gemini/twtxt.txt
233
gemini/twtxt.txt
|
@ -3,119 +3,120 @@
|
|||
# avatar = gemini://076.moe/static/suwako.jpg
|
||||
# description = テクニカル諏訪子様のtwtxtフィード
|
||||
# link = ホームページ gemini://technicalsuwako.moe
|
||||
2023-12-25T00:00:00Z09:00 【セキュリティ】ウィルス対策ソフトは危険 - gemini://technicalsuwako.moe/blog/blog/anti-virus-dangerous.xhtml.gmi
|
||||
2023-12-21T00:00:00Z09:00 【プログラミング】アドバイス2:早期リターン - gemini://technicalsuwako.moe/blog/blog/programming-early-return.xhtml.gmi
|
||||
2023-12-12T00:00:00Z09:00 【076】byobu 5.2登場 - gemini://technicalsuwako.moe/blog/blog/byobu-52.xhtml.gmi
|
||||
2023-12-11T00:00:00Z09:00 【デジタル自主】076動画ホスティングの解決策 - gemini://technicalsuwako.moe/blog/blog/digital-autonomy-076video-hosting.xhtml.gmi
|
||||
2023-12-05T00:00:00Z09:00 【プログラミング】アドバイス1:運命のピラミッドを回避 - gemini://technicalsuwako.moe/blog/blog/programming-pyramid-of-doom.xhtml.gmi
|
||||
2023-12-01T13:30:00Z09:00 【076】sp 1.1.2登場 - gemini://technicalsuwako.moe/blog/blog/sp-112.xhtml.gmi
|
||||
2023-12-01T13:00:00Z09:00 【076】sp 1.1.1登場 - gemini://technicalsuwako.moe/blog/blog/sp-111.xhtml.gmi
|
||||
2023-12-01T00:00:00Z09:00 【076】sp 1.1.0登場 - gemini://technicalsuwako.moe/blog/blog/sp-110.xhtml.gmi
|
||||
2023-11-30T00:00:00Z09:00 【076】sp 1.0.0登場 - gemini://technicalsuwako.moe/blog/blog/sp-100.xhtml.gmi
|
||||
2023-11-15T00:00:00Z09:00 【076】spliti 2.1.0登場 - gemini://technicalsuwako.moe/blog/blog/spliti-210.xhtml.gmi
|
||||
2023-11-09T00:00:00Z09:00 【076】imgproxy 1.1.0登場 - gemini://technicalsuwako.moe/blog/blog/imgproxy-110.xhtml.gmi
|
||||
2023-11-06T00:00:00Z09:00 【076】spliti 2.0.1登場 - gemini://technicalsuwako.moe/blog/blog/spliti-201.xhtml.gmi
|
||||
2023-11-05T00:00:00Z09:00 【076】spliti 2.0.0登場 - gemini://technicalsuwako.moe/blog/blog/spliti-200.xhtml.gmi
|
||||
2023-10-23T16:00:00Z09:00 【076】乗換 1.0.2登場 - gemini://technicalsuwako.moe/blog/blog/norikae-102.xhtml.gmi
|
||||
2023-10-23T00:00:00Z09:00 【オワコンテック】spliti 1.1.2登場 - gemini://technicalsuwako.moe/blog/blog/spliti-112.xhtml.gmi
|
||||
2023-10-15T00:00:00Z09:00 【PostmarketOS】自分のレポジトリを作り方 - gemini://technicalsuwako.moe/blog/blog/postmarketos-make-repository.xhtml.gmi
|
||||
2023-09-09T00:00:00Z09:00 【オワコンテック】spliti 1.1.1登場 - gemini://technicalsuwako.moe/blog/blog/spliti-111.xhtml.gmi
|
||||
2023-08-04T00:00:00Z09:00 【PHP】正しい連絡フォームの作り方(クライアント側をぜったいに信用するな!!) - gemini://technicalsuwako.moe/blog/blog/fix-broken-contact-form.xhtml.gmi
|
||||
2023-08-01T00:00:00Z09:00 【Zig言語】第1部~基本的な紹介・セットアップ・「こんにちは、世界」 - gemini://technicalsuwako.moe/blog/blog/zig-gengo-1.xhtml.gmi
|
||||
2023-07-17T02:40:00Z09:00 【076】URLロリ 2.2.0登場 - gemini://technicalsuwako.moe/blog/blog/urloli-220.xhtml.gmi
|
||||
2023-07-17T02:30:00Z09:00 【076】保存サイト 1.1.0登場 - gemini://technicalsuwako.moe/blog/blog/hozonsite-110.xhtml.gmi
|
||||
2023-07-04T00:00:00Z09:00 【076】URLロリ 2.1.1登場 - gemini://technicalsuwako.moe/blog/blog/urloli-211.xhtml.gmi
|
||||
2023-07-03T00:00:00Z09:00 【デジタル自主】自宅サーバーからWireGuardを使ったホスティング方法 - gemini://technicalsuwako.moe/blog/blog/digital-autonomy-with-wireguard-home-host.xhtml.gmi
|
||||
2023-06-23T19:20:00Z09:00 【076】保存サイト 1.0.0登場 - gemini://technicalsuwako.moe/blog/blog/hozonsite-100.xhtml.gmi
|
||||
2023-06-23T08:15:00Z09:00 【076】乗換 1.0.1登場 - gemini://technicalsuwako.moe/blog/blog/norikae-101.xhtml.gmi
|
||||
2023-06-23T08:00:00Z09:00 【076】rofi-youtube 1.0.1登場 - gemini://technicalsuwako.moe/blog/blog/rofi-youtube-101.xhtml.gmi
|
||||
2023-06-22T00:00:00Z09:00 【076】乗換 1.0.0登場 - gemini://technicalsuwako.moe/blog/blog/norikae-100.xhtml.gmi
|
||||
2023-06-18T00:00:00Z09:00 【ペット】猫との散歩をトレーニング方法 - gemini://technicalsuwako.moe/blog/blog/neko-sampo.xhtml.gmi
|
||||
2023-06-10T00:00:00Z09:00 【076】rofi-youtube 1.0.0登場 - gemini://technicalsuwako.moe/blog/blog/rofi-youtube-100.xhtml.gmi
|
||||
2023-06-06T00:00:00Z09:00 【デジタル自主】OpenBSDでGeminiサーバーを設置方法 - gemini://technicalsuwako.moe/blog/blog/openbsd-gemini-server.xhtml.gmi
|
||||
2023-05-30T00:00:00Z09:00 【076】Libre Redirect 2.6.2登場 - gemini://technicalsuwako.moe/blog/blog/libreredirect-262.xhtml.gmi
|
||||
2023-05-24T21:00:00Z09:00 【プログラミング】RustとZigの違い - gemini://technicalsuwako.moe/blog/blog/diff-zig-rust.xhtml.gmi
|
||||
2023-05-24T00:00:00Z09:00 【オワコンテック】spliti 1.1.0登場 - gemini://technicalsuwako.moe/blog/blog/spliti-110.xhtml.gmi
|
||||
2023-05-18T00:00:00Z09:00 【プログラミング】Zig言語を使ってC向けのライブラリを利用する方法 - gemini://technicalsuwako.moe/blog/blog/c-lib-in-zig-use.xhtml.gmi
|
||||
2023-05-13T00:00:00Z09:00 【076】URLロリ 2.1.0登場 - gemini://technicalsuwako.moe/blog/blog/urloli-210.xhtml.gmi
|
||||
2023-05-12T00:00:00Z09:00 【076】URLロリ 2.0.2登場 - gemini://technicalsuwako.moe/blog/blog/urloli-202.xhtml.gmi
|
||||
2023-05-10T17:45:00Z09:00 【076】URLロリ 2.0.1登場 - gemini://technicalsuwako.moe/blog/blog/urloli-201.xhtml.gmi
|
||||
2023-05-10T00:00:00Z09:00 【076】URLロリ 2.0.0登場 - gemini://technicalsuwako.moe/blog/blog/urloli-200.xhtml.gmi
|
||||
2023-05-07T00:00:00Z09:00 【オワコンテック】vixip 1.0.0登場 - gemini://technicalsuwako.moe/blog/blog/vixip-release.xhtml.gmi
|
||||
2023-04-19T00:00:00Z09:00 【OpenBSD】更新後「zsh: undefined symbol '_udivdi3'」というエラーの修正する方法 - gemini://technicalsuwako.moe/blog/blog/openbsd-zsh-udivdi3-syusei.xhtml.gmi
|
||||
2023-04-18T00:00:00Z09:00 【Crux】自分のポートとレポジトリを作り方 - gemini://technicalsuwako.moe/blog/blog/crux-make-port-repository.xhtml.gmi
|
||||
2023-04-01T00:00:00Z09:00 【OpenBSD】xmodmapを使って英数(Caps Lock)キーをスーパーキーに変更する方法 - gemini://technicalsuwako.moe/blog/blog/openbsd-change-eisu-super.xhtml.gmi
|
||||
2023-03-27T00:00:00Z09:00 【デジタル奴隷制度】低水準言語書ける方が消えたら、テクニカルな世界がおしまい - gemini://technicalsuwako.moe/blog/blog/digital-dorei-dont-die-low-lever-programing.xhtml.gmi
|
||||
2023-03-08T00:00:00Z09:00 【デジタル監視】プライバシーに一番の脅威は監視カメラ、二番はスマホ - gemini://technicalsuwako.moe/blog/blog/digital-kansi-most-danger-cctv.xhtml.gmi
|
||||
2023-02-08T00:00:00Z09:00 【HTML】静的サイトジェネレーター利用せず簡単に静的サイト編集する方法 - gemini://technicalsuwako.moe/blog/blog/no-generator-easy-maintain.xhtml.gmi
|
||||
2023-02-07T00:00:00Z09:00 【HTML】静的サイトジェネレーター利用せず簡単に静的サイト管理する方法 - gemini://technicalsuwako.moe/blog/blog/no-generator-easy-html.xhtml.gmi
|
||||
2023-02-03T00:00:00Z09:00 【ハード】IBM ThinkPad T43にSSDを入る方法 - gemini://technicalsuwako.moe/blog/blog/thinkpad-t43-ssd-install-way.xhtml.gmi
|
||||
2023-01-17T00:00:00Z09:00 【セキュリティ】Wireguardを使って安全に自宅のネットワークをアクセスする方法 - gemini://technicalsuwako.moe/blog/blog/access-network-wireguard.xhtml.gmi
|
||||
2022-12-12T00:00:00Z09:00 【I2P】ドメインを作成方法 - gemini://technicalsuwako.moe/blog/blog/i2p-domain-make.xhtml.gmi
|
||||
2022-12-06T00:00:00Z09:00 【詐欺デミック】マスクをやめる時間だ!!(24時間後の状況) - gemini://technicalsuwako.moe/blog/blog/mask-stop-time-2.xhtml.gmi
|
||||
2022-12-05T00:00:00Z09:00 【詐欺デミック】マスクをやめる時間だ!! - gemini://technicalsuwako.moe/blog/blog/mask-stop-time.xhtml.gmi
|
||||
2022-11-17T00:00:00Z09:00 【OpenBSD】systemdユーザー向けrc.d使い方 - gemini://technicalsuwako.moe/blog/blog/rcd-for-systemd-user.xhtml.gmi
|
||||
2022-11-15T00:00:00Z09:00 【Linux】systemdユーザー向けSysV使い方 - gemini://technicalsuwako.moe/blog/blog/sysv-for-systemd-user.xhtml.gmi
|
||||
2022-11-13T00:00:00Z09:00 【nginx】Torユーザーは自動で.onionリンクに移転方法 - gemini://technicalsuwako.moe/blog/blog/automatic-nginx-tor-redirect.xhtml.gmi
|
||||
2022-11-12T00:00:00Z09:00 【Linux】systemdユーザー向けOpenRC使い方 - gemini://technicalsuwako.moe/blog/blog/openrc-for-systemd-user.xhtml.gmi
|
||||
2022-11-11T00:00:00Z09:00 【Linux】Debian 11からDevuan 4に交換方法 - gemini://technicalsuwako.moe/blog/blog/debian-to-devuan-koukan.xhtml.gmi
|
||||
2022-11-10T00:00:00Z09:00 【Tor】出口ノードの設置方法 - gemini://technicalsuwako.moe/blog/blog/set-up-tor-exit-node.xhtml.gmi
|
||||
2022-09-22T00:00:00Z09:00 【デジタル自主】「なぜ匿名化はそんなに必要ですか?」 - gemini://technicalsuwako.moe/blog/blog/reason-for-anonymous.xhtml.gmi
|
||||
2022-09-18T00:00:00Z09:00 【デジタル自主】匿名者に必須なブラウザ拡張機能 - gemini://technicalsuwako.moe/blog/blog/privacy-browser-extension.xhtml.gmi
|
||||
2022-09-08T00:00:00Z09:00 【Linux】systemdユーザー向けrunit使い方 - gemini://technicalsuwako.moe/blog/blog/runit-for-systemd-user.xhtml.gmi
|
||||
2022-09-06T00:00:00Z09:00 【Chromium】偽カメラ配信の作成方法 - gemini://technicalsuwako.moe/blog/blog/chromium-false-camera-stream-way.xhtml.gmi
|
||||
2022-08-20T00:00:00Z09:00 【詐欺師注意】chankan - gemini://technicalsuwako.moe/blog/blog/chankan-is-scammer.xhtml.gmi
|
||||
2022-08-03T00:00:00Z09:00 【Tor】すべてのソフトウェアをいつでもTorを通じて使用する方法 - gemini://technicalsuwako.moe/blog/blog/all-softwear-in-tor.xhtml.gmi
|
||||
2022-07-21T00:00:00Z09:00 【デジタル自主】ダークネットの解説 第4部:I2Pでウエブページをホスティングする方法 - gemini://technicalsuwako.moe/blog/blog/darknet-4-i2p-hosting-way.xhtml.gmi
|
||||
2022-07-20T00:00:00Z09:00 【デジタル自主】ダークネットの解説 第3部:Torでウエブページをホスティングする方法 - gemini://technicalsuwako.moe/blog/blog/darknet-3-tor-hosting-way.xhtml.gmi
|
||||
2022-07-19T00:00:00Z09:00 【デジタル監視】SDGsの危険性の紹介 - gemini://technicalsuwako.moe/blog/blog/sdgs-kiken.xhtml.gmi
|
||||
2022-07-10T00:00:00Z09:00 【デジタル自主】ダークネットの解説 第2部:I2Pにアクセスする方法 - gemini://technicalsuwako.moe/blog/blog/darknet-2-i2p-access-way.xhtml.gmi
|
||||
2022-07-09T00:00:00Z09:00 【デジタル自主】ダークネットの解説 第1部:Torにアクセスする方法 - gemini://technicalsuwako.moe/blog/blog/darknet-1-tor-access-way.xhtml.gmi
|
||||
2022-06-24T00:00:00Z09:00 【デジタル自主】NeovimとGiteaでメモの書き方 - gemini://technicalsuwako.moe/blog/blog/write-memo-with-neovim-git.xhtml.gmi
|
||||
2022-06-22T00:00:00Z09:00 【SSH】バックスペース、矢印等の変な表示の修正方法 - gemini://technicalsuwako.moe/blog/blog/fix-ssh-backspace-output.xhtml.gmi
|
||||
2022-06-21T00:00:00Z09:00 【Linux】2FAより安全?GNU PASSとPWGEN! - gemini://technicalsuwako.moe/blog/blog/more-safe-than-2fa-is-pass-pwgen.xhtml.gmi
|
||||
2022-05-31T00:00:00Z09:00 【Pleroma】ホームタイムラインで500エラーの修正方法 - gemini://technicalsuwako.moe/blog/blog/pleroma-home-timelain-500-error-fix.xhtml.gmi
|
||||
2022-04-06T00:00:00Z09:00 【Tox】サーバーの無いチャットソフトの紹介 - gemini://technicalsuwako.moe/blog/blog/tox-p2p-chat-syokai.xhtml.gmi
|
||||
2022-04-05T00:00:00Z09:00 【デジタル自主】GnuPGでメールを暗号化する方法 - gemini://technicalsuwako.moe/blog/blog/digital-autonomy-send-encryption-mail.xhtml.gmi
|
||||
2022-03-31T00:00:00Z09:00 【デジタル奴隷制度】米ブラックロックCEOはウクライナの茶番の実目的を確認しました - gemini://technicalsuwako.moe/blog/blog/digital-dorei-blackcock-ceo-ukraina-hoax-real-agenda.xhtml.gmi
|
||||
2022-03-28T00:00:00Z09:00 【ウエブ開発】ウエブ開発者様へ、JavaScriptは不要 - gemini://technicalsuwako.moe/blog/blog/webdev-javascript-ha-fuyou.xhtml.gmi
|
||||
2022-03-25T00:00:00Z09:00 【Lynx】TorとUTF-8で使い方 - gemini://technicalsuwako.moe/blog/blog/lynx-tor-and-utf8-use-way.xhtml.gmi
|
||||
2022-03-18T00:00:00Z09:00 【仮想通貨】cointopで確認する方法 - gemini://technicalsuwako.moe/blog/blog/cryptocurrency-kakunin-with-cointop.xhtml.gmi
|
||||
2022-03-12T00:00:00Z09:00 【Mobian】MyMoneroウォレットのインストール方法 - gemini://technicalsuwako.moe/blog/blog/mobian-mymonero-wallet-use-way.xhtml.gmi
|
||||
2022-03-09T00:00:00Z09:00 【キャンセルカルチャー】全宇宙の会社はロシアに対して差別しているみたい… - gemini://technicalsuwako.moe/blog/blog/cancel-culture-076-will-not-ban-russia.xhtml.gmi
|
||||
2022-03-02T00:00:00Z09:00 【デジタル奴隷制度】ウクライナ”侵略”の実目的 - gemini://technicalsuwako.moe/blog/blog/digital-dorei-ukraina-russia-real-goal.xhtml.gmi
|
||||
2022-02-25T00:00:00Z09:00 【デジタル自主】Web1、Web2、Web3、Web0の違いは? - gemini://technicalsuwako.moe/blog/blog/digital-autonomy-web-1-2-3-4-tigai.xhtml.gmi
|
||||
2022-02-16T00:00:00Z09:00 【デジタル自主】キャッシュレス社会の危険性 - gemini://technicalsuwako.moe/blog/blog/digital-autonomy-cashless-problem.xhtml.gmi
|
||||
2022-02-15T00:00:00Z09:00 【デジタル自主】Web3.0(NFT、Qortal、メタバース等)は詐欺 - gemini://technicalsuwako.moe/blog/blog/digital-autonomy-web3-is-scam.xhtml.gmi
|
||||
2022-01-28T00:00:00Z09:00 【デジタル監視】ワクチンパスポートの実目的 - gemini://technicalsuwako.moe/blog/blog/digital-jisyu-own-or-permit.xhtml.gmi
|
||||
2022-01-27T00:00:00Z09:00 ホームページのリニュアル - gemini://technicalsuwako.moe/blog/blog/webpage-renewal.xhtml.gmi
|
||||
2022-01-15T00:00:00Z09:00 【意見】chromiumの独占化=悪 - gemini://technicalsuwako.moe/blog/blog/iken-chromium-no-dokusenka-wa-aku.xhtml.gmi
|
||||
2021-12-27T00:00:00Z09:00 【デジタル自主】検閲法律=違法 - gemini://technicalsuwako.moe/blog/blog/dejital-jisyu-censorship-law-is-illegal.xhtml.gmi
|
||||
2021-12-26T00:00:00Z09:00 【サービスの変更】076.ne.jp、076.moe、076.wtf - gemini://technicalsuwako.moe/blog/blog/sarvice-kosin-076nejp-076moe.xhtml.gmi
|
||||
2021-12-19T00:00:00Z09:00 【デジタル自主】ビッグテック、アルトデック、フェディバース、どっちは勧める? - gemini://technicalsuwako.moe/blog/blog/dejital-jisyu-bigtech-alttech-fedibars-which-recommend.xhtml.gmi
|
||||
2021-12-05T00:00:00Z09:00 【仮想通貨】プライバシー通貨一覧 - gemini://technicalsuwako.moe/blog/blog/recommend-privasi-crypto.xhtml.gmi
|
||||
2021-12-03T00:00:00Z09:00 【PHP】gnupgの許可なし - gemini://technicalsuwako.moe/blog/blog/php-gnupg-no-permission.xhtml.gmi
|
||||
2021-11-20T00:00:00Z09:00 【デジタル監視】コロナのタイムライン - gemini://technicalsuwako.moe/blog/blog/digital-kansi-corona-taimrain.xhtml.gmi
|
||||
2021-11-12T00:00:00Z09:00 【デジタル自主】コミケットはオワコン。同人誌を楽しむのはオニオンケット - gemini://technicalsuwako.moe/blog/blog/digital-jisyu-komiket-is-owakon-dojinsi-enjoy-onionket.xhtml.gmi
|
||||
2021-10-17T00:00:00Z09:00 【Prosody】mod_http_upload(XEP-0363)を有効にする方法 - gemini://technicalsuwako.moe/blog/blog/prosody-modhttpupload-xep363-active-way.xhtml.gmi
|
||||
2021-10-02T00:00:00Z09:00 【XMPP】アカウントを作成方法 - gemini://technicalsuwako.moe/blog/blog/xmpp-account-create-way.xhtml.gmi
|
||||
2021-08-18T00:00:00Z09:00 【デジタル自主】076は手伝い予定!! - gemini://technicalsuwako.moe/blog/blog/digital-autonomy-076-can-help.xhtml.gmi
|
||||
2021-07-23T00:00:00Z09:00 【海賊版ソフト】存在している理由は? - gemini://technicalsuwako.moe/blog/blog/kaizoku-soft-sonzai-riyuu.xhtml.gmi
|
||||
2021-05-29T00:00:00Z09:00 【Plasma Mobile】日本語キーボードを有効にする方法 - gemini://technicalsuwako.moe/blog/blog/plasma-mobile-japanese-keybod-active.xhtml.gmi
|
||||
2021-05-28T00:00:00Z09:00 【PeerTube】ストレージフォルダを変更方法 - gemini://technicalsuwako.moe/blog/blog/peertube-change-storeg-forder.xhtml.gmi
|
||||
2021-05-08T00:00:00Z09:00 【意見】近代のウェブ開発:「インストール方法はもう簡単になった」 - gemini://technicalsuwako.moe/blog/blog/kindai-web-dev-install-muzukasi.xhtml.gmi
|
||||
2021-04-28T00:00:00Z09:00 【オディシー】Odysee日本語訳は間もなく来る - gemini://technicalsuwako.moe/blog/blog/odysee-japanese-transrate-soon.xhtml.gmi
|
||||
2021-02-23T00:00:00Z09:00 LBRYと紹介します!検閲できないのブロックチェーンやP2P型動画ソフト(第1部) - gemini://technicalsuwako.moe/blog/blog/lbry-introduce-no-censorship-blockchain-p2p-video-soft.xhtml.gmi
|
||||
2021-02-19T00:00:00Z09:00 【Mobian】Chromiumブラウザを使える方 - gemini://technicalsuwako.moe/blog/blog/mobian-chromium-browser-can-use-method.xhtml.gmi
|
||||
2020-12-19T00:00:00Z09:00 【Mobian】テーマの変更、日本語(今は仮名だけ)を入力、スクショを取り方 - gemini://technicalsuwako.moe/blog/blog/mobian-change-theme-kana-insert-sukusyo-takeway.xhtml.gmi
|
||||
2020-12-19T00:00:00Z09:00 Linuxスマホのメリット&デメリット - gemini://technicalsuwako.moe/blog/blog/linux-smaho-merit-demerit.xhtml.gmi
|
||||
2020-12-18T00:00:00Z09:00 【Pinephone】fcitx5+mozcで日本語入力方法(漢字も!!) - gemini://technicalsuwako.moe/blog/blog/pinephone-fcitx5-mozc-japanese-with-kanji.xhtml.gmi
|
||||
2020-12-06T00:00:00Z09:00 【Pinephone】4G、通話等の設定方法 - gemini://technicalsuwako.moe/blog/blog/pinephone-4g-telephone-setting-way.xhtml.gmi
|
||||
2020-11-29T00:00:00Z09:00 【Mobian】アップデート問題の修正方法 - gemini://technicalsuwako.moe/blog/blog/mobian-fix-apdate-probrem.xhtml.gmi
|
||||
2020-10-21T00:00:00Z09:00 Adobeは高すぎぃ!!オープンソースで動画編集しよう!! - gemini://technicalsuwako.moe/blog/blog/open-source-douga-hensyu.xhtml.gmi
|
||||
2020-05-10T00:00:00Z09:00 【YouTube】UltimatePismanのお知らせ - gemini://technicalsuwako.moe/blog/blog/20200510-youtsube-jotai.xhtml.gmi
|
||||
2020-02-10T00:00:00Z09:00 【日本API・PHP】簡単に都道府県名等の取り出し方 - gemini://technicalsuwako.moe/blog/blog/tadashi-wai-no-api-de-todofuken-joho-toridasu.xhtml.gmi
|
||||
2020-01-24T00:00:00Z09:00 【Postfix】スパム踏み台になった場合、mailq削除方法です - gemini://technicalsuwako.moe/blog/blog/postfix-spam-fumidai-keshitewa-ii-ne.xhtml.gmi
|
||||
2019-12-05T00:00:00Z09:00 日本APIを開発中!部分公開開始!! - gemini://technicalsuwako.moe/blog/blog/nihon-api-wa-chotto-dake-kokaichu.xhtml.gmi
|
||||
2019-07-19T00:00:00Z09:00 Debian 9(stretch)→10(buster)バージョンアップする方法 - gemini://technicalsuwako.moe/blog/blog/debian-stretch-buster-upgrade.xhtml.gmi
|
||||
2018-12-14T00:00:00Z09:00 はじめまして - gemini://technicalsuwako.moe/blog/blog/hajimemashite.xhtml.gmi
|
||||
2024-01-04T00:00:00Z09:00 【プログラミング】生産力を増大する方法 - gemini://technicalsuwako.moe/blog/rice-productive.gmi
|
||||
2023-12-25T00:00:00Z09:00 【セキュリティ】ウィルス対策ソフトは危険 - gemini://technicalsuwako.moe/blog/anti-virus-dangerous.gmi
|
||||
2023-12-21T00:00:00Z09:00 【プログラミング】アドバイス2:早期リターン - gemini://technicalsuwako.moe/blog/programming-early-return.gmi
|
||||
2023-12-12T00:00:00Z09:00 【076】byobu 5.2登場 - gemini://technicalsuwako.moe/blog/byobu-52.gmi
|
||||
2023-12-11T00:00:00Z09:00 【デジタル自主】076動画ホスティングの解決策 - gemini://technicalsuwako.moe/blog/digital-autonomy-076video-hosting.gmi
|
||||
2023-12-05T00:00:00Z09:00 【プログラミング】アドバイス1:運命のピラミッドを回避 - gemini://technicalsuwako.moe/blog/programming-pyramid-of-doom.gmi
|
||||
2023-12-01T13:30:00Z09:00 【076】sp 1.1.2登場 - gemini://technicalsuwako.moe/blog/sp-112.gmi
|
||||
2023-12-01T13:00:00Z09:00 【076】sp 1.1.1登場 - gemini://technicalsuwako.moe/blog/sp-111.gmi
|
||||
2023-12-01T00:00:00Z09:00 【076】sp 1.1.0登場 - gemini://technicalsuwako.moe/blog/sp-110.gmi
|
||||
2023-11-30T00:00:00Z09:00 【076】sp 1.0.0登場 - gemini://technicalsuwako.moe/blog/sp-100.gmi
|
||||
2023-11-15T00:00:00Z09:00 【076】spliti 2.1.0登場 - gemini://technicalsuwako.moe/blog/spliti-210.gmi
|
||||
2023-11-09T00:00:00Z09:00 【076】imgproxy 1.1.0登場 - gemini://technicalsuwako.moe/blog/imgproxy-110.gmi
|
||||
2023-11-06T00:00:00Z09:00 【076】spliti 2.0.1登場 - gemini://technicalsuwako.moe/blog/spliti-201.gmi
|
||||
2023-11-05T00:00:00Z09:00 【076】spliti 2.0.0登場 - gemini://technicalsuwako.moe/blog/spliti-200.gmi
|
||||
2023-10-23T16:00:00Z09:00 【076】乗換 1.0.2登場 - gemini://technicalsuwako.moe/blog/norikae-102.gmi
|
||||
2023-10-23T00:00:00Z09:00 【オワコンテック】spliti 1.1.2登場 - gemini://technicalsuwako.moe/blog/spliti-112.gmi
|
||||
2023-10-15T00:00:00Z09:00 【PostmarketOS】自分のレポジトリを作り方 - gemini://technicalsuwako.moe/blog/postmarketos-make-repository.gmi
|
||||
2023-09-09T00:00:00Z09:00 【オワコンテック】spliti 1.1.1登場 - gemini://technicalsuwako.moe/blog/spliti-111.gmi
|
||||
2023-08-04T00:00:00Z09:00 【PHP】正しい連絡フォームの作り方(クライアント側をぜったいに信用するな!!) - gemini://technicalsuwako.moe/blog/fix-broken-contact-form.gmi
|
||||
2023-08-01T00:00:00Z09:00 【Zig言語】第1部~基本的な紹介・セットアップ・「こんにちは、世界」 - gemini://technicalsuwako.moe/blog/zig-gengo-1.gmi
|
||||
2023-07-17T02:40:00Z09:00 【076】URLロリ 2.2.0登場 - gemini://technicalsuwako.moe/blog/urloli-220.gmi
|
||||
2023-07-17T02:30:00Z09:00 【076】保存サイト 1.1.0登場 - gemini://technicalsuwako.moe/blog/hozonsite-110.gmi
|
||||
2023-07-04T00:00:00Z09:00 【076】URLロリ 2.1.1登場 - gemini://technicalsuwako.moe/blog/urloli-211.gmi
|
||||
2023-07-03T00:00:00Z09:00 【デジタル自主】自宅サーバーからWireGuardを使ったホスティング方法 - gemini://technicalsuwako.moe/blog/digital-autonomy-with-wireguard-home-host.gmi
|
||||
2023-06-23T19:20:00Z09:00 【076】保存サイト 1.0.0登場 - gemini://technicalsuwako.moe/blog/hozonsite-100.gmi
|
||||
2023-06-23T08:15:00Z09:00 【076】乗換 1.0.1登場 - gemini://technicalsuwako.moe/blog/norikae-101.gmi
|
||||
2023-06-23T08:00:00Z09:00 【076】rofi-youtube 1.0.1登場 - gemini://technicalsuwako.moe/blog/rofi-youtube-101.gmi
|
||||
2023-06-22T00:00:00Z09:00 【076】乗換 1.0.0登場 - gemini://technicalsuwako.moe/blog/norikae-100.gmi
|
||||
2023-06-18T00:00:00Z09:00 【ペット】猫との散歩をトレーニング方法 - gemini://technicalsuwako.moe/blog/neko-sampo.gmi
|
||||
2023-06-10T00:00:00Z09:00 【076】rofi-youtube 1.0.0登場 - gemini://technicalsuwako.moe/blog/rofi-youtube-100.gmi
|
||||
2023-06-06T00:00:00Z09:00 【デジタル自主】OpenBSDでGeminiサーバーを設置方法 - gemini://technicalsuwako.moe/blog/openbsd-gemini-server.gmi
|
||||
2023-05-30T00:00:00Z09:00 【076】Libre Redirect 2.6.2登場 - gemini://technicalsuwako.moe/blog/libreredirect-262.gmi
|
||||
2023-05-24T21:00:00Z09:00 【プログラミング】RustとZigの違い - gemini://technicalsuwako.moe/blog/diff-zig-rust.gmi
|
||||
2023-05-24T00:00:00Z09:00 【オワコンテック】spliti 1.1.0登場 - gemini://technicalsuwako.moe/blog/spliti-110.gmi
|
||||
2023-05-18T00:00:00Z09:00 【プログラミング】Zig言語を使ってC向けのライブラリを利用する方法 - gemini://technicalsuwako.moe/blog/c-lib-in-zig-use.gmi
|
||||
2023-05-13T00:00:00Z09:00 【076】URLロリ 2.1.0登場 - gemini://technicalsuwako.moe/blog/urloli-210.gmi
|
||||
2023-05-12T00:00:00Z09:00 【076】URLロリ 2.0.2登場 - gemini://technicalsuwako.moe/blog/urloli-202.gmi
|
||||
2023-05-10T17:45:00Z09:00 【076】URLロリ 2.0.1登場 - gemini://technicalsuwako.moe/blog/urloli-201.gmi
|
||||
2023-05-10T00:00:00Z09:00 【076】URLロリ 2.0.0登場 - gemini://technicalsuwako.moe/blog/urloli-200.gmi
|
||||
2023-05-07T00:00:00Z09:00 【オワコンテック】vixip 1.0.0登場 - gemini://technicalsuwako.moe/blog/vixip-release.gmi
|
||||
2023-04-19T00:00:00Z09:00 【OpenBSD】更新後「zsh: undefined symbol '_udivdi3'」というエラーの修正する方法 - gemini://technicalsuwako.moe/blog/openbsd-zsh-udivdi3-syusei.gmi
|
||||
2023-04-18T00:00:00Z09:00 【Crux】自分のポートとレポジトリを作り方 - gemini://technicalsuwako.moe/blog/crux-make-port-repository.gmi
|
||||
2023-04-01T00:00:00Z09:00 【OpenBSD】xmodmapを使って英数(Caps Lock)キーをスーパーキーに変更する方法 - gemini://technicalsuwako.moe/blog/openbsd-change-eisu-super.gmi
|
||||
2023-03-27T00:00:00Z09:00 【デジタル奴隷制度】低水準言語書ける方が消えたら、テクニカルな世界がおしまい - gemini://technicalsuwako.moe/blog/digital-dorei-dont-die-low-lever-programing.gmi
|
||||
2023-03-08T00:00:00Z09:00 【デジタル監視】プライバシーに一番の脅威は監視カメラ、二番はスマホ - gemini://technicalsuwako.moe/blog/digital-kansi-most-danger-cctv.gmi
|
||||
2023-02-08T00:00:00Z09:00 【HTML】静的サイトジェネレーター利用せず簡単に静的サイト編集する方法 - gemini://technicalsuwako.moe/blog/no-generator-easy-maintain.gmi
|
||||
2023-02-07T00:00:00Z09:00 【HTML】静的サイトジェネレーター利用せず簡単に静的サイト管理する方法 - gemini://technicalsuwako.moe/blog/no-generator-easy-html.gmi
|
||||
2023-02-03T00:00:00Z09:00 【ハード】IBM ThinkPad T43にSSDを入る方法 - gemini://technicalsuwako.moe/blog/thinkpad-t43-ssd-install-way.gmi
|
||||
2023-01-17T00:00:00Z09:00 【セキュリティ】Wireguardを使って安全に自宅のネットワークをアクセスする方法 - gemini://technicalsuwako.moe/blog/access-network-wireguard.gmi
|
||||
2022-12-12T00:00:00Z09:00 【I2P】ドメインを作成方法 - gemini://technicalsuwako.moe/blog/i2p-domain-make.gmi
|
||||
2022-12-06T00:00:00Z09:00 【詐欺デミック】マスクをやめる時間だ!!(24時間後の状況) - gemini://technicalsuwako.moe/blog/mask-stop-time-2.gmi
|
||||
2022-12-05T00:00:00Z09:00 【詐欺デミック】マスクをやめる時間だ!! - gemini://technicalsuwako.moe/blog/mask-stop-time.gmi
|
||||
2022-11-17T00:00:00Z09:00 【OpenBSD】systemdユーザー向けrc.d使い方 - gemini://technicalsuwako.moe/blog/rcd-for-systemd-user.gmi
|
||||
2022-11-15T00:00:00Z09:00 【Linux】systemdユーザー向けSysV使い方 - gemini://technicalsuwako.moe/blog/sysv-for-systemd-user.gmi
|
||||
2022-11-13T00:00:00Z09:00 【nginx】Torユーザーは自動で.onionリンクに移転方法 - gemini://technicalsuwako.moe/blog/automatic-nginx-tor-redirect.gmi
|
||||
2022-11-12T00:00:00Z09:00 【Linux】systemdユーザー向けOpenRC使い方 - gemini://technicalsuwako.moe/blog/openrc-for-systemd-user.gmi
|
||||
2022-11-11T00:00:00Z09:00 【Linux】Debian 11からDevuan 4に交換方法 - gemini://technicalsuwako.moe/blog/debian-to-devuan-koukan.gmi
|
||||
2022-11-10T00:00:00Z09:00 【Tor】出口ノードの設置方法 - gemini://technicalsuwako.moe/blog/set-up-tor-exit-node.gmi
|
||||
2022-09-22T00:00:00Z09:00 【デジタル自主】「なぜ匿名化はそんなに必要ですか?」 - gemini://technicalsuwako.moe/blog/reason-for-anonymous.gmi
|
||||
2022-09-18T00:00:00Z09:00 【デジタル自主】匿名者に必須なブラウザ拡張機能 - gemini://technicalsuwako.moe/blog/privacy-browser-extension.gmi
|
||||
2022-09-08T00:00:00Z09:00 【Linux】systemdユーザー向けrunit使い方 - gemini://technicalsuwako.moe/blog/runit-for-systemd-user.gmi
|
||||
2022-09-06T00:00:00Z09:00 【Chromium】偽カメラ配信の作成方法 - gemini://technicalsuwako.moe/blog/chromium-false-camera-stream-way.gmi
|
||||
2022-08-20T00:00:00Z09:00 【詐欺師注意】chankan - gemini://technicalsuwako.moe/blog/chankan-is-scammer.gmi
|
||||
2022-08-03T00:00:00Z09:00 【Tor】すべてのソフトウェアをいつでもTorを通じて使用する方法 - gemini://technicalsuwako.moe/blog/all-softwear-in-tor.gmi
|
||||
2022-07-21T00:00:00Z09:00 【デジタル自主】ダークネットの解説 第4部:I2Pでウエブページをホスティングする方法 - gemini://technicalsuwako.moe/blog/darknet-4-i2p-hosting-way.gmi
|
||||
2022-07-20T00:00:00Z09:00 【デジタル自主】ダークネットの解説 第3部:Torでウエブページをホスティングする方法 - gemini://technicalsuwako.moe/blog/darknet-3-tor-hosting-way.gmi
|
||||
2022-07-19T00:00:00Z09:00 【デジタル監視】SDGsの危険性の紹介 - gemini://technicalsuwako.moe/blog/sdgs-kiken.gmi
|
||||
2022-07-10T00:00:00Z09:00 【デジタル自主】ダークネットの解説 第2部:I2Pにアクセスする方法 - gemini://technicalsuwako.moe/blog/darknet-2-i2p-access-way.gmi
|
||||
2022-07-09T00:00:00Z09:00 【デジタル自主】ダークネットの解説 第1部:Torにアクセスする方法 - gemini://technicalsuwako.moe/blog/darknet-1-tor-access-way.gmi
|
||||
2022-06-24T00:00:00Z09:00 【デジタル自主】NeovimとGiteaでメモの書き方 - gemini://technicalsuwako.moe/blog/write-memo-with-neovim-git.gmi
|
||||
2022-06-22T00:00:00Z09:00 【SSH】バックスペース、矢印等の変な表示の修正方法 - gemini://technicalsuwako.moe/blog/fix-ssh-backspace-output.gmi
|
||||
2022-06-21T00:00:00Z09:00 【Linux】2FAより安全?GNU PASSとPWGEN! - gemini://technicalsuwako.moe/blog/more-safe-than-2fa-is-pass-pwgen.gmi
|
||||
2022-05-31T00:00:00Z09:00 【Pleroma】ホームタイムラインで500エラーの修正方法 - gemini://technicalsuwako.moe/blog/pleroma-home-timelain-500-error-fix.gmi
|
||||
2022-04-06T00:00:00Z09:00 【Tox】サーバーの無いチャットソフトの紹介 - gemini://technicalsuwako.moe/blog/tox-p2p-chat-syokai.gmi
|
||||
2022-04-05T00:00:00Z09:00 【デジタル自主】GnuPGでメールを暗号化する方法 - gemini://technicalsuwako.moe/blog/digital-autonomy-send-encryption-mail.gmi
|
||||
2022-03-31T00:00:00Z09:00 【デジタル奴隷制度】米ブラックロックCEOはウクライナの茶番の実目的を確認しました - gemini://technicalsuwako.moe/blog/digital-dorei-blackcock-ceo-ukraina-hoax-real-agenda.gmi
|
||||
2022-03-28T00:00:00Z09:00 【ウエブ開発】ウエブ開発者様へ、JavaScriptは不要 - gemini://technicalsuwako.moe/blog/webdev-javascript-ha-fuyou.gmi
|
||||
2022-03-25T00:00:00Z09:00 【Lynx】TorとUTF-8で使い方 - gemini://technicalsuwako.moe/blog/lynx-tor-and-utf8-use-way.gmi
|
||||
2022-03-18T00:00:00Z09:00 【仮想通貨】cointopで確認する方法 - gemini://technicalsuwako.moe/blog/cryptocurrency-kakunin-with-cointop.gmi
|
||||
2022-03-12T00:00:00Z09:00 【Mobian】MyMoneroウォレットのインストール方法 - gemini://technicalsuwako.moe/blog/mobian-mymonero-wallet-use-way.gmi
|
||||
2022-03-09T00:00:00Z09:00 【キャンセルカルチャー】全宇宙の会社はロシアに対して差別しているみたい… - gemini://technicalsuwako.moe/blog/cancel-culture-076-will-not-ban-russia.gmi
|
||||
2022-03-02T00:00:00Z09:00 【デジタル奴隷制度】ウクライナ”侵略”の実目的 - gemini://technicalsuwako.moe/blog/digital-dorei-ukraina-russia-real-goal.gmi
|
||||
2022-02-25T00:00:00Z09:00 【デジタル自主】Web1、Web2、Web3、Web0の違いは? - gemini://technicalsuwako.moe/blog/digital-autonomy-web-1-2-3-4-tigai.gmi
|
||||
2022-02-16T00:00:00Z09:00 【デジタル自主】キャッシュレス社会の危険性 - gemini://technicalsuwako.moe/blog/digital-autonomy-cashless-problem.gmi
|
||||
2022-02-15T00:00:00Z09:00 【デジタル自主】Web3.0(NFT、Qortal、メタバース等)は詐欺 - gemini://technicalsuwako.moe/blog/digital-autonomy-web3-is-scam.gmi
|
||||
2022-01-28T00:00:00Z09:00 【デジタル監視】ワクチンパスポートの実目的 - gemini://technicalsuwako.moe/blog/digital-jisyu-own-or-permit.gmi
|
||||
2022-01-27T00:00:00Z09:00 ホームページのリニュアル - gemini://technicalsuwako.moe/blog/webpage-renewal.gmi
|
||||
2022-01-15T00:00:00Z09:00 【意見】chromiumの独占化=悪 - gemini://technicalsuwako.moe/blog/iken-chromium-no-dokusenka-wa-aku.gmi
|
||||
2021-12-27T00:00:00Z09:00 【デジタル自主】検閲法律=違法 - gemini://technicalsuwako.moe/blog/dejital-jisyu-censorship-law-is-illegal.gmi
|
||||
2021-12-26T00:00:00Z09:00 【サービスの変更】076.ne.jp、076.moe、076.wtf - gemini://technicalsuwako.moe/blog/sarvice-kosin-076nejp-076moe.gmi
|
||||
2021-12-19T00:00:00Z09:00 【デジタル自主】ビッグテック、アルトデック、フェディバース、どっちは勧める? - gemini://technicalsuwako.moe/blog/dejital-jisyu-bigtech-alttech-fedibars-which-recommend.gmi
|
||||
2021-12-05T00:00:00Z09:00 【仮想通貨】プライバシー通貨一覧 - gemini://technicalsuwako.moe/blog/recommend-privasi-crypto.gmi
|
||||
2021-12-03T00:00:00Z09:00 【PHP】gnupgの許可なし - gemini://technicalsuwako.moe/blog/php-gnupg-no-permission.gmi
|
||||
2021-11-20T00:00:00Z09:00 【デジタル監視】コロナのタイムライン - gemini://technicalsuwako.moe/blog/digital-kansi-corona-taimrain.gmi
|
||||
2021-11-12T00:00:00Z09:00 【デジタル自主】コミケットはオワコン。同人誌を楽しむのはオニオンケット - gemini://technicalsuwako.moe/blog/digital-jisyu-komiket-is-owakon-dojinsi-enjoy-onionket.gmi
|
||||
2021-10-17T00:00:00Z09:00 【Prosody】mod_http_upload(XEP-0363)を有効にする方法 - gemini://technicalsuwako.moe/blog/prosody-modhttpupload-xep363-active-way.gmi
|
||||
2021-10-02T00:00:00Z09:00 【XMPP】アカウントを作成方法 - gemini://technicalsuwako.moe/blog/xmpp-account-create-way.gmi
|
||||
2021-08-18T00:00:00Z09:00 【デジタル自主】076は手伝い予定!! - gemini://technicalsuwako.moe/blog/digital-autonomy-076-can-help.gmi
|
||||
2021-07-23T00:00:00Z09:00 【海賊版ソフト】存在している理由は? - gemini://technicalsuwako.moe/blog/kaizoku-soft-sonzai-riyuu.gmi
|
||||
2021-05-29T00:00:00Z09:00 【Plasma Mobile】日本語キーボードを有効にする方法 - gemini://technicalsuwako.moe/blog/plasma-mobile-japanese-keybod-active.gmi
|
||||
2021-05-28T00:00:00Z09:00 【PeerTube】ストレージフォルダを変更方法 - gemini://technicalsuwako.moe/blog/peertube-change-storeg-forder.gmi
|
||||
2021-05-08T00:00:00Z09:00 【意見】近代のウェブ開発:「インストール方法はもう簡単になった」 - gemini://technicalsuwako.moe/blog/kindai-web-dev-install-muzukasi.gmi
|
||||
2021-04-28T00:00:00Z09:00 【オディシー】Odysee日本語訳は間もなく来る - gemini://technicalsuwako.moe/blog/odysee-japanese-transrate-soon.gmi
|
||||
2021-02-23T00:00:00Z09:00 LBRYと紹介します!検閲できないのブロックチェーンやP2P型動画ソフト(第1部) - gemini://technicalsuwako.moe/blog/lbry-introduce-no-censorship-blockchain-p2p-video-soft.gmi
|
||||
2021-02-19T00:00:00Z09:00 【Mobian】Chromiumブラウザを使える方 - gemini://technicalsuwako.moe/blog/mobian-chromium-browser-can-use-method.gmi
|
||||
2020-12-19T00:00:00Z09:00 【Mobian】テーマの変更、日本語(今は仮名だけ)を入力、スクショを取り方 - gemini://technicalsuwako.moe/blog/mobian-change-theme-kana-insert-sukusyo-takeway.gmi
|
||||
2020-12-19T00:00:00Z09:00 Linuxスマホのメリット&デメリット - gemini://technicalsuwako.moe/blog/linux-smaho-merit-demerit.gmi
|
||||
2020-12-18T00:00:00Z09:00 【Pinephone】fcitx5+mozcで日本語入力方法(漢字も!!) - gemini://technicalsuwako.moe/blog/pinephone-fcitx5-mozc-japanese-with-kanji.gmi
|
||||
2020-12-06T00:00:00Z09:00 【Pinephone】4G、通話等の設定方法 - gemini://technicalsuwako.moe/blog/pinephone-4g-telephone-setting-way.gmi
|
||||
2020-11-29T00:00:00Z09:00 【Mobian】アップデート問題の修正方法 - gemini://technicalsuwako.moe/blog/mobian-fix-apdate-probrem.gmi
|
||||
2020-10-21T00:00:00Z09:00 Adobeは高すぎぃ!!オープンソースで動画編集しよう!! - gemini://technicalsuwako.moe/blog/open-source-douga-hensyu.gmi
|
||||
2020-05-10T00:00:00Z09:00 【YouTube】UltimatePismanのお知らせ - gemini://technicalsuwako.moe/blog/20200510-youtsube-jotai.gmi
|
||||
2020-02-10T00:00:00Z09:00 【日本API・PHP】簡単に都道府県名等の取り出し方 - gemini://technicalsuwako.moe/blog/tadashi-wai-no-api-de-todofuken-joho-toridasu.gmi
|
||||
2020-01-24T00:00:00Z09:00 【Postfix】スパム踏み台になった場合、mailq削除方法です - gemini://technicalsuwako.moe/blog/postfix-spam-fumidai-keshitewa-ii-ne.gmi
|
||||
2019-12-05T00:00:00Z09:00 日本APIを開発中!部分公開開始!! - gemini://technicalsuwako.moe/blog/nihon-api-wa-chotto-dake-kokaichu.gmi
|
||||
2019-07-19T00:00:00Z09:00 Debian 9(stretch)→10(buster)バージョンアップする方法 - gemini://technicalsuwako.moe/blog/debian-stretch-buster-upgrade.gmi
|
||||
2018-12-14T00:00:00Z09:00 はじめまして - gemini://technicalsuwako.moe/blog/hajimemashite.gmi
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
title: 【プログラミング】生産力を増大する方法
|
||||
author: 凛
|
||||
date: 2024-01-04
|
||||
tags: jp,blog,linux,bsd,セキュリティー,デジタル自主,ソフトウェア,メール,プライバシー
|
||||
----
|
||||
かつて、ハッカー達は非常に生産的でした。\
|
||||
[例えば、ケン・トンプソンさん、デニス・リッチーさん、とブライアン・カーニハンさんは2年でUNIXを作りました。](http://w.sneed4fmhevap3ci4xhf4wgkf72lwk275lcgomnfgwniwmqvaxyluuid.onion/wiki/Unix%E3%81%AE%E6%AD%B4%E5%8F%B2?lang=ja)\
|
||||
[しかし、現在では29人の人々が15年間Waylandを作っていますが、まだ本番環境には適していません。](https://gitlab.freedesktop.org/wayland/wayland)\
|
||||
何故でしょうか。
|
||||
|
||||
今日のハッカーはもはや生産的ではありません。\
|
||||
あたしは16年間ハッカーであり、その理由を説明します。
|
||||
|
||||
## 1. プログラミングはもはや楽しくない
|
||||
あたしがプログラミングを始めた時、空のテキストエディタを開き、自分の好きな様にコードを書き、コンパイルし、それが商業的に出荷可能な製品でした。\
|
||||
今日でもそれは可能ですが、2014年以降に始めたすべてのコーダーは、端末で「Hello World」を表示するだけの為に60の依存関係と300の異なるクラスを入り、複雑すぎるフレームワークを使います。\
|
||||
貴方がそれを使わないと、貴方を素人だと思うでしょう。\
|
||||
あたしは、そう思う人が素人だと思います。\
|
||||
自身のソースコードを開くたびに、それをより良くする事にワクワクします。\
|
||||
SucklessやOpenBSDチームによって作られたソースコードを開くたびに、編集する事にワクワクします。\
|
||||
しかし、ほとんどの現代の開発者によって作られたソースコードを開くたびに、悲しく、怒り、そして惨めになります。
|
||||
|
||||
今日のコードはあちこちに散らばっています。\
|
||||
今日のコードはもはや価値ある製品を作る事ではなく、永遠に同じコードベースに閉じ込められ、自殺したくなる様にする事です。
|
||||
|
||||
## 2. 技術は間違った方向に進んでいる
|
||||
多くの人々は技術が前進していると主張していますが、その「前進」の方向が何であるかは誰も知りません。\
|
||||
あたし達は50年前よりも優れたハードウェアを持っていますが、今日のソフトウェアはどんどん遅くなっています。\
|
||||
我々は、卒業直後の若いコーダーを引き付ける為に人気のプログラムに複雑さを加えすぎており、彼らは大学でVisual Studio Code、React、Laravelのような不必要に複雑なプログラムの使用を学び、CI、Scrum、Agile、パッケージマネージャ、フレームワーク、Electron、Microsoft Office、IntelliJ、VS Code等の生産性を阻害する不要な事を気にする本物のプログラマーについて教えられています。\
|
||||
あたしは高校中退ですが、Neovim、Git、そしてCやGoのような本物のプログラミング言語を使用しています。\
|
||||
それ以外は何も使いません!\
|
||||
[そして、まだ完成していないプログラムを除いて、たった1年で11のプログラムを作りました。](/portfolio.xhtml)\
|
||||
これらのプログラムの殆どは1日未満で作成されました。\
|
||||
いくつかはPHPから書き直され、他は時間をかけて徐々に更新され、続ける理由が見つからなかった数個は諦めました。\
|
||||
現在、C、SDL、OpenGL、OpenALで3Dゲームを作成しており、2日後には機能的なプロトタイプが出来ました。
|
||||
|
||||
商業ゲーム開発で逆の事が起こっているのは、この業界だけです。\
|
||||
[Unityとの論争の後、より多くのゲーム開発者が独自のゲームエンジンを書き始め、カスタムエンジンで同じくらい、またはそれ以上に生産的になり、カスタムエンジンははるかに軽量なので、より高品質なゲームを作る事が出来る事に気づきました。](https://zenn.dev/daichi_gamedev/articles/unity-licence-fee)
|
||||
|
||||
## 3. プログラミングにおける政治性
|
||||
幸いな事に、日本では殆どのハッカーが政治から自由ですが、海外では「CODE_OF_CONDUCT.md」を持たないプロジェクトを見つけるのが非常に難しくなっています。\
|
||||
これは、良いコードを殆ど貢献しない精神的に問題のある人々を快適にする為に、才能を追い出す様に設計されています。\
|
||||
しかし、殆どのオープンソースプロジェクトは海外の物であり、政治に重点を置き過ぎている為、言ってはいけない言葉が多く、世界の50億人のうち2人を不快にする可能性がある事を事前に知っておかなければならず、特定の代名詞を使用する様に強制されますが、これはソフトウェア開発には属していません。\
|
||||
日本のソフトウェア開発者は政治を気にしないにも関わらず、国内のハッカー文化には残念ながらこの影響が及んでおり、より国際化した日本の「現代的」な開発者が海外の「現代的」な開発者の影響を受けています。
|
||||
|
||||
## 4. 先輩が後輩に間違った方法を教える
|
||||
あたしが以前言った様に、シンプルなテキストエディタ、バージョンコントロールと、コンパイラだけが良いソフトウェアを作る為に必要です。\
|
||||
しかし、若い開発者には必要のない様々なツールの使用が教えられています。\
|
||||
これはストレスを増やし、非生産的になるだけです。\
|
||||
[BRIKの「フロントエンドエンジニアになるためのロードマップ」がその一例です。](https://brik.co.jp/tips/1125)\
|
||||
あたしは「インターネットの基本を習得」、「HTML/CSS/JavaScriptの習得」、「バージョンコントロールの習得」と、「Webセキュリティ知識の習得」が必要だとは思いますが、それ以降は全く不要で、5番から19番を無視すれば、ずっと優れた生産性の高いフロントエンド開発者になれます。\
|
||||
それら全てを学ばなければならないなら、良いソフトウェアを作る事には関心がなく、短期的な利益のみを目的とする悪い会社で働いているという事です。
|
||||
|
||||
古いUNIXコミュニティでは、削除出来る機能を常に探していましたが、現代の開発者は追加出来る機能を常に探しています。\
|
||||
誰が最も生産的で、長期的に最もお金を稼いでおり、製品が最も安定しているかを見れば、UNIXの古参者達が正しい事は明らかです。
|
||||
|
||||
あたしは現代の産業を憎んでこの記事を書いたのではなく、常に一部である事を愛してきた産業の状態について心配しているからです。
|
||||
|
||||
以上
|
2
sync.sh
2
sync.sh
|
@ -28,7 +28,7 @@ find . -type f -name "blog.atom" -exec sed -i 's/https:\/\/technicalsuwako\.moe/
|
|||
find . -type f -name "blog.atom" -exec sed -i 's/\.xhtml<\/id>/\.gmi<\/id>/g' {} +
|
||||
find . -type f -name "blog.atom" -exec sed -i 's/\.xhtml" rel="alt/\.gmi" rel="alt/g' {} +
|
||||
find . -type f -name "twtxt.txt" -exec sed -i 's/\/*$//' {} +
|
||||
find . -type f -name "twtxt.txt" -exec sed -i 's/blog\/.*/blog\/\0\.gmi/g' {} +
|
||||
find . -type f -name "twtxt.txt" -exec sed -i 's/\.xhtml/\.gmi/g' {} +
|
||||
find . -type f -name "twtxt.txt" -exec sed -i 's/https:\/\/technicalsuwako\.moe/gemini:\/\/technicalsuwako\.moe/g' {} +
|
||||
find . -type f -name "twtxt.txt" -exec sed -i 's/https:\/\/076\.moe/gemini:\/\/076\.moe/g' {} +
|
||||
cd ..
|
||||
|
|
読み込み中…
新しいイシューから参照