タグ

ブックマーク / satoru-takeuchi.hatenablog.com (18)

  • プログラミングを始めたころとは考え方が全然変わっていることに気づいてびっくりした話 - 覚書

    家にパソコンがはじめて来てから30年くらい、プログラミングを始めてから20年以上が経ちました。その間、IT技術に対する愛は変わらずに、ずっと走り続けてきました。では当時の自分と今の自分で何が違うのだろうと考えてみたところ、めちゃくちゃ変わっていたのでびっくりました。記事では何がどう変わったのか、それを見てなにを思ったかなどを書きます。 昔は次のようなこだわりがありました。 大きなものは一つの仕事をする単純で小さなツールを組み合わせて作るべし ソフトウェアは可能な限り設定可能になっていてほしいし、それを自分の好みになるまでカリカリチューニングしたい 可能な限りすべてキーボードだけで操作できるようになっていてほしい いわゆるUNIX哲学をはじめとして、いろんなやWebサイトなどに強い影響を受けていることがよくわかります。 ところが今は次のように全然違うことを考えています。 トラブルハマった

    プログラミングを始めたころとは考え方が全然変わっていることに気づいてびっくりした話 - 覚書
  • 誤りを認める練習 - 覚書

    明らかに誤ったことをしたのにそれを認められずに醜態をさらしている、場合によっては傷口を広げて自分を窮地に追い込んでいる人を大量に見てきた結果、「こうはなりたくないな」と思う気持ちがずっとありました。にもかかわらず、数年前に見事に過ちを認められずに、謝罪できずに無様な姿をさらしたことがありました。公の場でやったことではないし、もしかすると謝罪されるべきだった相手は気にしていなかったかもしれませんが、自分から見れば間違いなく無様でした。 こういうことがあって以来、誤りを認める練習をするようになりました。練習といっても、壁に向かって謝罪し続けるというような話ではなく、自分の言ったこと、書いたことが間違っていたとわかったら、何もしなくてもその場はやりすごせそうな小さなことでも即座に「これは誤っていた」と表明するということをやっています。小さな誤りを認められなければ、大きな過ちを犯したときにも認めら

    誤りを認める練習 - 覚書
  • 低レイヤ技術を間接的に仕事で生かしてきた経験の共有。元Linuxカーネル開発技術者の場合 - 覚書

    はじめに ITの世界で「低レイヤ技術」と呼ばれるものがあります。明確に定義されているわけではありませんが、アプリケーションのような直接エンドユーザに触れる部分ではなく、しかもなるべく生のコンピュータに近い部分、たとえばOSカーネルやコンパイラ、CPUを開発する技術などがあります。これらの技術に明るい人はそうそういないのですが、「やってみたい」という根強い人気があります。 学生のかたでもセキュリティキャンプなどで実際にある程度身につけてしまうような人もいます。そしてますますこの手の技術趣味としてのめり込んでいって楽しくなる…というところまではいいのですが、「ではこの技術を会得した先に何があるのか」と不安になる人も多いようです。とくに学生さんの場合は「低レイヤ技術を使って今後なんらかの仕事をして生きていけるのか?」といったことが気になるようです。今日もそのような話を少し耳にしたので、自分の経

    低レイヤ技術を間接的に仕事で生かしてきた経験の共有。元Linuxカーネル開発技術者の場合 - 覚書
  • ソフトウェア開発者のわたしが好きなコンピュータ以外の本 - 覚書

    2023/8/13 18:20 タイトル変更。「ソフトウェア開発者が好きなコンピュータ以外の」→「ソフトウェア開発者のわたしが好きなコンピュータ以外の2023/8/15 16;20 「敗者のゲーム」から「星を継ぐもの」までを追加 私はソフトウェア開発者です。このブログなり別の場所なりでコンピュータについての参考書を何度なく紹介してみました。記事はそれとはちょっと違って、私がこれまで出会ってきて感銘を受けたコンピュータに関係ないたちを紹介します。紹介順とお気に入り度は連動していません。思いついた順番に書いただけです。 ルワンダ中央銀行総裁日記 銀行家である筆者がルワンダという国の中央銀行総裁を務めていた時期のことについて述べたです。事あるごとに色々なところで紹介される有名ななので、名前は聞いたことがあるとか読んだことがあるとかいう人は多いかと思います。書の凄いところは2つあ

    ソフトウェア開発者のわたしが好きなコンピュータ以外の本 - 覚書
  • 一部訳した本の宣伝: 「入門モダンLinux」 - 覚書

    4/6 更新。Amazon上の煽り文を最新化&公式サイトから目次を転載 一部だけ翻訳にかかわった「入門モダンLinux」というが4月7日に出るので宣伝を兼ねた紹介をします。 原著は「Learning Modern Linux」です。 書のタイトルを目にしてまず思うのは「モダンLinuxとはいったいなんぞや」でしょう。これについてはamazonにも載っている煽り文をご覧ください。 Linuxはサーバ、組み込み機器、スーパーコンピュータなどにおいて存在感を示してきました。近年では、オンプレミスのシステムだけではなく、クラウドサービスでも広く使われています。書は、前半でLinuxを使いこなす上で必要な基知識を、後半で最新情報をまとめています。Linuxの知識を体系的に整理したい、最新動向が知りたい、運用を改善したい、効率的に開発を行いたい、といった要望をかなえる内容となっています。時代の

    一部訳した本の宣伝: 「入門モダンLinux」 - 覚書
  • 「[試して理解]Linuxのしくみ ~実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】」が発売されます - 覚書

    拙著、「[試して理解]Linuxのしくみ ~実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】」が10/17日に発売されることになりました。記事はその宣伝のためのブログエントリです。 [試して理解]Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】 作者:武内 覚技術評論社Amazon まずは書がどのようなものかについて説明し、その後に、すでに第一版を読まれている方向けに第一版と書の差分について説明します。 どんななのか 筆者は過去にLinuxカーネル開発をしていたのですが、そのころから次のような思いをずっと持っていました。 OS、とくにOSカーネルについての広く浅い知識はOSカーネル開発者だけではなく多くの技術者にとって役立つはず 当時OSカーネルについての知識を得ようとすると、OSを作ったりサポートしたりする人用の難しくて分

  • kindleの本が全部消えた話(2) 弁護士に依頼して裁判するのは辛そう編 - 覚書

    2022/5/27編集 - 後述のアカウント統合後にamazon.comのアカウント削除によってkindleが全部消えるのは仕様である旨、追記 2022/6/1 変更 - 「サポートの指示によってamazon.comのアカウントを消した」のではなく「使用していないamazon.comのアカウントを閉鎖してもいいのか」という趣旨の質問を私がしたのに対して「そうですね」と回答されたということがわかったので、訂正。 変更前の記述には取り消し線を引いて、編集後の記述は強調表示しました。 NOTE: 上記変更点にもあるように、「サポートの指示によってamazon.comのアカウントを消した」という私の認識は誤っていたことがわかりました。これについてはamazon.co.jpのかたがたにメールで謝罪いたしました。 以下記事の続きです。 satoru-takeuchi.hatenablog.com 問

    kindleの本が全部消えた話(2) 弁護士に依頼して裁判するのは辛そう編 - 覚書
  • kindleの本が全部消えた話 - 覚書

    2022/5/27 変更 - 後述のアカウント統合後にamazon.comのアカウント削除によってkindleが全部消えるのは仕様である旨、追記 2022/6/1 変更 - 「サポートの指示によってamazon.comのアカウントを消した」のではなく、「使用していないamazon.comのアカウントを閉鎖してもいいのか」という趣旨の質問を私がしたのに対して「そうですね」と回答されたということがわかったので、訂正。 編集前の記述には取り消し線を引いて、編集後の記述は強調表示しました。 NOTE: 上記変更点にもあるように、「サポートの指示によってamazon.comのアカウントを消した」という私の認識は誤っていたことがわかりました。これについてはamazon.co.jpのかたがたにメールで謝罪いたしました。 ここに書いたことは2022年4月21日現在の話です。 サマリ kindleが全

    kindleの本が全部消えた話 - 覚書
  • 大学でもっとまじめに学んでおくべきだった - 覚書

    大学ではB4の一年間、人によってはさらにMとかDとかで研究をします。そこで学べることについて、および、それを学ばなかったがために私が苦労したことを書きます。ここでは大学に行く人を主な読者層にしていますが、そうでなくても就職した後に後述の問題に遭遇することでは同じです。 わたしは高校時代は「プログラミング一で生きていく」という決意をしていました。そこで近くの大学に情報工学科という学科があったので、そこを受験しましたが見事落選、第二希望だった別の学科に受かりました。このあとわたしの大学生活のポリシーは「可能な限り楽をして大学を出る、その間にプログラミングについての知識を独学する」でした。B4およびMでの研究においてもそのポリシーを愚直に守り通し、手抜きに手抜きを重ねてギリギリで卒業、修了しました。不良学生というやつです。最終的にはプログラミングやその他低レイヤといわれる領域の知識は平均的なC

    大学でもっとまじめに学んでおくべきだった - 覚書
  • 企業にとってのプログラミング言語の位置づけ - 覚書

    プログラミング言語の良し悪しについては昔から活発に議論されてきました。このような議論の中で企業がどのようなプログラミング言語を採用するかについて釈然としない思いをしたかたも多々いらっしゃるかと思います。典型的には「なぜ自分の会社では俺の好きな言語を採用しないのか」です。この「なぜ」の一部に回答する、かつ、そこに共感しないまでも理解してもらうのが記事の目的です。 この手の会話は炎上しがちであり、かつ、私はそのようなことはしたくないので個々の言語の名前は挙げません。そのためやや抽象的な表現が多くなりがちですがご容赦ください。また、筆者はここで書く価値観が絶対というつもりはなく、読者のみなさま個人のプロジェクトは自分の欲望の赴くままに好きなものを使えばいいと思っています。 企業は継続的にプログラムの開発やメンテナンスをする必要があります。これを念頭に置くと、使いこなせる人が多い言語であれば複数

    企業にとってのプログラミング言語の位置づけ - 覚書
  • 年とってくると注意してくれる人がいなくなる - 覚書

    あらゆる組織の若手は最初は先輩社員の指導を受けて育っていきます。ところが年を経るにつれて注意されなくなってきます。わたしも社会人になってから今まで、注意される回数がどんどん減っていきました。もちろん私が成長して注意すべき点が減ってきたというのもありますが、それだけでは説明がつきません。あとから振り返ってみると「これは相当まずいことをしたな、昔なら相当叱られてただろうな」ということが多々あります。では自分の成長以外にどういう要素があるかというと、それなりに大きなウェイトを占めるのが加齢だと思っています。 「技術の前には年齢は関係ない!」という話もあり、実際それはそうだと私も思いますが、年長者は敬うべきという文化がずっと続いてきた日で実際に年長者に正面からボロカスに注意する人というのはなかなかいません。それに加えて「この年になるまで変わらなかったんだからもう注意しても無駄だろう」「年ってき

    年とってくると注意してくれる人がいなくなる - 覚書
  • 仕事としてOSS開発者をやってきた話 - 覚書

    はじめに わたしは今も昔も仕事としてOSS開発者をしていて、twitterなどでそれなりに名前が知られていることもあって、昔から「どうすればそういうこと(業務としてOSS開発)ができるのか」「どういうキャリアを歩んできたのか」「Linuxカーネル開発者になるにはどうすればいいのか」ということをよく聞かれてきました。当時わたしが置かれた環境と現在の環境では違いがありすぎるので公開に積極的にはなれなかったのですが、一つの過去事例として何らかの意味はあるかもと思って公開することにしました。 書き方が難しかったのですが、うまくまとまらなかったので、自分が書くのが楽な日記みたいになりました。 きっかけ 2000年初頭に学部4年のころにLinuxを触りはじめてから「UNIXとかLinuxってすげえ」「こんなものが無償で使えるのか」「これらのソースコードが全部見られるのか」と感動して、「自分も成果物を公

    仕事としてOSS開発者をやってきた話 - 覚書
  • 重要そうだけど興味のないことを頑張っても大していいことなかった話 - 覚書

    時間は有限です。その合間を縫ってひねり出した可処分時間は貴重です。こういう時間は自分が楽しいと思えることにとことんつぎ込めばいいと今では思っているのですが、そうではなかった時の失敗談を紹介します。読者のみなさまの中で、好きなこと、やらなきゃいけないことしかできないという私のようなタイプの人には刺さるかもしれないです。 10年近く前の、まだわたしが若手というカテゴリに入っていたとき、当時ずっと生業にしていたLinuxカーネル以外にも、将来のために何かもう一つ引き出しの数を広げておかないといけないと思っていたことがありました。そういうときに飛びつきがちなのは流行りものです。当時のわたしにはそれがARMサーバでした。当時は何やらやらないと取り残されるのではという空気が身辺にありましたし、カーネル屋さんなのでハードウェアに近いところの知識はあればあるだけ損ではないという思いもありました。 ところが

    重要そうだけど興味のないことを頑張っても大していいことなかった話 - 覚書
  • Linuxカーネルで学ぶC言語のマクロ - 覚書

    はじめに 記事は電子書籍版もあります。 linuxカーネルはC言語のマクロを駆使して書かれています。それらのうち、凝ったマクロになじみの無い人には初見では意図がわからない&わかってみれば面白いであろうものをいくつか紹介いたします。対象読者は、C言語のユーザだけれども、マクロは定数定義くらいにしか使わないというライトなマクロユーザです。 マクロを使用する場所に依存するエラーを防ぐ 次のマクロは、二つの引き数の値を置換するだけの単純なものです。 #define swap(a, b) \ do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0) 注目すべきはマクロの定義全体を囲んでいるdo { ... } while (0)という表記です。初見の人には何のことかわからないと思います。考えられる最も単純な定義から遡って、なぜこ

    Linuxカーネルで学ぶC言語のマクロ - 覚書
  • 「経験の浅いソフトウェア開発者が気になっていること」という募集への反応のまとめ - 覚書

    数日前にブログや記事、書籍執筆ネタ集めのためにこういうtweetをしました。 [ゆるぽ] 経験の浅いソフトウェア開発者が気になっていること、とくにすでにそれなりのキャリアを積んだ人に聞きたいこと もっというと別に(ソフトウェア技術者としての)私個人について聞きたいことでもいいです— sat🧊 (@satoru_takeuchi) 2020年2月28日 その結果、返信および引用RTで数十個のネタが寄せられたので、まとめてみました。その場で回答したものについては回答一緒に書いています。それに加えて、私がわからないと言ったことについて別のかたから回答をしていただいたものについても書きました。さらに、既に経験豊富なかたがたから「経験の浅いソフトウェア開発者が気になっていそうなこと」や「知っておいてほしいこと」のようなネタもいただいたので、こちらもまとめました。 文面は基的には改変せずにそのまま

    「経験の浅いソフトウェア開発者が気になっていること」という募集への反応のまとめ - 覚書
  • プログラミングでつまづいてきたこと - 覚書

    プログラミング初心者に対してどういう情報が役立つのかをぼんやり考えていると、そこそこコードを書けるベテランが、いつ、どういうことにつまづいてきたのかを書くとけっこう有益なのではないかと思ったので書きました。これを読むと直接プログラミング能力が上がるわけではないですが、「ああ、こういうところでつまづいてもいっぱしのプログラマになれている人もいるのだな」と思ってもらうのが目的です。成功談よりも失敗談のほうが役立つとよく言われますが、それと少し似ているのかもしれません。 全段落で「いっぱしのプログラマ」とか言った手前、自分のことを書いておきます。18歳ごろから20年くらい前からプログラミングをしていて、主に有名どころのOSSに向けてコードを書いてきました。昔はLinuxカーネルを10年少々やっていて、ここ最近はCephオーケストレータであるRookの開発とかをしています。プログラマとしてはスーパ

    プログラミングでつまづいてきたこと - 覚書
  • emacsからvimへ移行することにした - 覚書

    テキストエディタを20年近く使ってきたemacsからvimに移行することにしました。移行しようと思った理由はいろいろあるのですが、「なんとなく」というのが一番近い気がします。あえて細かいところを挙げると次の通り。 vim流行ってるらしいので触ってみたくなった 普段使う道具を別のものにして脳に刺激を与えてみたくなった emacsには山ほどパッケージがあるのは知ってるが、大して使っていない。色々を読んで試してみたけれども、しっくりくるものはあまりなくて結局標準機能ばかり使っている。実際、ここ数年.emacsはほとんど変化していない 昔は「emacsはエディタではない、環境なのだ。すべてがemacsで完結するのがいいのだ」と思ってたけど、最近はもっとシンプルなものでもいいかも、と考えかたが変わってきた 上記のうち「それvimにしても問題は解決しないよ」という話もあるかもしれませんが、まあ、最初

    emacsからvimへ移行することにした - 覚書
  • 「OSSライセンスの教科書」を読んだ - 覚書

    タイトル通りオープンソースソフトウェア(Open Source Software, OSS)のライセンスについて扱ったです。難解なことを筆者の経験を踏まえて平易に解説してくれているので、この手のことを知りたいと相談された場合は「これを読んでみてください」と勧められるでした。 OSSのライセンスについての知識は近年のソフトウェア開発者には避けては通れません。しかしこれを十分に理解している開発者は多くはありませんし、(とくに「コードだけ書いていたい」というタイプの人には)それほど興味をひく題材ではないというのが実情ではないでしょうか。この状況をなんとかしようと長年OSSに関わってこられた筆者が一石を投じたのが書です(多分)。筆者が技術者の目線だけ解説するだけではなく、弁護士のかたの監修を受けることによって法律家の目線からも解説しているという点で書は貴重です。私はこのようなを少なくとも

    「OSSライセンスの教科書」を読んだ - 覚書
  • 1