ときどきの雑記帖 RE* (新南口)
2021年の勤務は1/4からなんだが
どうなるんですかね(ちなみにリモートワークのリの字もない)。
とほほのHaskell入門
このページ、2020年末にできたらしい
2020年12月27日(日)
ES2020の新機能 を追加しました。
Haskell入門 を追加しました。
再+入門すっかなあ…>Haskell
一年一言語
達人プログラマー 第2版
Haskell に再+入門するかどうかはさておき、 昨年第2版の邦訳がでた 達人プログラマー(第2版): 熟達に向けたあなたの旅 | Thomas, David, Hunt, Andrew, 雅章, 村上 |本 | 通販 | Amazon これにもこういうくだりがありますですね。
Goals
Now that you have some guidelines on what and when to add to your knowledge
portfolio, what’s the best way to go about acquiring intellectual capital
with which to fund your portfolio? Here are a few suggestions:Learn at least one new language every year
Different languages solve the same problems in different ways. By learning several different approaches, you can help broaden your thinking and avoid getting stuck in a rut. Additionally, learning many languages is easy thanks to the wealth of freely available software.Read a technical book each month
(略)Read nontechnical books, too
(略)Take classes
(略)Experiment with different environments
(略)Stay current
なぜ英語なのかって? それは原著はベータの時に買ったけど (まだ)日本語版は買ってないからですよ 😄
ところでAmazonにある書評は興味深いすね。
時代が1版においついた(追い越した) → 2版が時代においついた
で、どれを
余裕があれば Mathematica (「プログラミング言語」というくくりからはちょっと外れるけど) に手を出したいところではあるのだけどそれは(悲しいことに)無理なので、 hello, world程度に手を出したものも含めてぱっと思いつくのは Go、Rust、C++(17とか20とか)、Julia、J……といくつかあるけどどうしましょうかねえ (あまりモチベーションがない)。
他には、達人プログラマーの前述の部分のあとで挙げられている
Challenges
Start learning a new language this week. Always programmed in the same old language? Try Clojure, Elixir, Elm, F#, Go, Haskell, Python, R, ReasonML, Ruby, Rust, Scala, Swift, TypeScript, or anything else that appeals and/or looks as if you might like it.Start reading a new book (but finish this one first!). If you are doing very detailed implementation and coding, read a book on design and architecture. If you are doing high-level design, read a book on coding techniques. Get out and talk technology with people who aren’t involved in your current project, or who don’t work for the same company. Network in your company cafeteria, or maybe seek out fellow enthusiasts at a local meetup.
ここに出てきた Elixir に言語そのものではなく、関連するところでちょっと興味がある
今週(日曜始まり基準)一杯くらい考えるか。
gcc
gcc のasm文は使い方をきちんと覚えていられないくらいの頻度でしか使っていないのだけど、 とある用事でasm文の書式を調べる必要があってマニュアルを読んでいたら Extended Asm (Using the GNU Compiler Collection (GCC)) に
6.47.2 Extended Asm - Assembler Instructions with C Expression Operands
With extended asm you can read and write C variables from assembler and perform jumps from assembler code to C labels. Extended asm syntax uses colons (‘:’) to delimit the operand parameters after the assembler template:
asm asm-qualifiers ( AssemblerTemplate
: OutputOperands
[ : InputOperands
[ : Clobbers ] ])asm asm-qualifiers ( AssemblerTemplate
: OutputOperands
: InputOperands
: Clobbers
: GotoLabels)where in the last form, asm-qualifiers contains goto (and in the first form, not).
後者の記述があるのに気がついた(初めからあったっけこれ)。
使い方は 6.47.2.7 Goto Labels の例を見れば一目瞭然。なるほどこれが必要になることもあるか。
int foo(int count)
{
asm goto ("dec %0; jb %l[stop]"
: "+r" (count)
:
:
: stop);
return count;
stop:
return 0;
}
int foo(int inp)
{
int factor = 0;
asm goto ("cmp %1, 10; jb %l[lab]; mov 2, %0"
: "+r" (factor)
: "r" (inp)
:
: lab);
lab:
return inp * factor; /* return 2 * inp or 0 if inp < 10 */
}
とりあえず Index of /gnu/gcc にある 1.42と2.95のtar玉中のドキュメントを見た限りでは (まだ)GotoLabelsは入っていないっぽい。
GCC online documentation - GNU Project - Free Software Foundation (FSF) にあるマニュアルで探してみたところ Using the GNU Compiler Collection (GCC): Extended Asm にはあって、 Extended Asm - Using the GNU Compiler Collection (GCC) にはないようなので、Ver.5 系列で入ったんだろうか。
5.1.0 の info で発見。
6.43.2 Extended Asm - Assembler Instructions with C Expression Operands
-----------------------------------------------------------------------
With extended 'asm' you can read and write C variables from assembler
and perform jumps from assembler code to C labels. Extended 'asm'
syntax uses colons (':') to delimit the operand parameters after the
assembler template:
asm [volatile] ( ASSEMBLERTEMPLATE
: OUTPUTOPERANDS
[ : INPUTOPERANDS
[ : CLOBBERS ] ])
asm [volatile] goto ( ASSEMBLERTEMPLATE
:
: INPUTOPERANDS
: CLOBBERS
: GOTOLABELS)
The 'asm' keyword is a GNU extension. When writing code that can be
compiled with '-ansi' and the various '-std' options, use '__asm__'
instead of 'asm' (*note Alternate Keywords::).
Qualifiers
..........
'volatile'
The typical use of extended 'asm' statements is to manipulate input
values to produce output values. However, your 'asm' statements
may also produce side effects. If so, you may need to use the
'volatile' qualifier to disable certain optimizations. *Note
Volatile::.
'goto'
This qualifier informs the compiler that the 'asm' statement may
perform a jump to one of the labels listed in the GOTOLABELS.
*Note GotoLabels::.
rev
日経Linuxの某連載で、
ある行の内容を逆(末尾にあるキャラクターを先頭に、先頭にあるキャラクタを末尾に)にするのに
rev
なるツールを使っていたのだけど、tac
でできたなかったっけ、それ。
と思い調べてみたところ tac
ではできなかった
(tac invocation (GNU Coreutils))。
オプション指定でできたような覚えがあったんだけどなあ。
まあそれはさておき。この rev はGNU の coreutils (List of GNU Core Utilities commands - Wikipedia) にもなくて(POSIXにもない)、 どこから来たものかと調べたら util-linux というものがあって、そこにあるものらしい
rev.c « text-utils - util-linux/util-linux.git - The util-linux code repository.
レゴ(の特許)
レゴの特許がすでに切れて互換品が合法となっているのは周知の事実ですが、イベントでご一緒することがある互換品メーカーのキアックさんが、日本の新幹線シリーズを出していてサンプルを送ってくださいました。互換品への感想は人それぞれですが、レゴが取り扱わないジャンルが出るのは面白いところ。 pic.twitter.com/bevfjABBtl
— ぺたぞう (@pettanesa) December 23, 2020
最近(数ヶ月単位)、レゴの特許切れ云々というのを割と見かける気がするので そんな最近切れたものなのかと疑問に思ったのだけど
1980年代後半に各国でレゴの基本特許が切れたため、値段の安い類似のブロックを製造するメーカーが次々と出てきた。 またテレビゲームの登場により、レゴで遊ぶ平均年齢が下がっていった。このような環境変化に対応することができず、 1990年代後半からレゴの売り上げとシェアは落ちていった[7][8]。
レゴの特許が切れた1988年以来、Tyco、メガブロック(日本ではバンダイから発売)、COKOなど多くの会社がレゴブロックに 似た結合ブロックを販売している。これら他社製品の多くはレゴブロックと互換性があり、 レゴセットより価格が安く設定されており、本物のレゴ製品と混同する可能性がありレゴ社の悩みの種となっている。
ですよねー。 まあ一口に「特許」と言っても色々あるし、「知的財産の保護」は 特許に限った話ではないんだけども、なぜに最近よく見かけるのか(気のせい?)
よつばと!
新年あけましておめでとうございます。
— よつばとツイッター (@428and_tweet) December 31, 2020
今年もよろしくお願いします。
そしてお待たせいたしました。
コミックス最新15巻は2月発売に決定しました。https://t.co/5XcA4MDarv
お楽しみに! pic.twitter.com/GRaTiJ50NP
一時期は複数の漫画雑誌を読めるサブスクリプションで電撃大王の連載も 追いかけていたのだけど(そのサブスクリプションは値上げの上に「使い勝手」が悪くなったので解約してしまった)、 ここしばらくぜんぜん追いかけていなかった。
そこへ新刊が2月に出ると聞いたので Amazon のページ よつばと!(15) (電撃コミックス) | あずま きよひこ |本 | 通販 | Amazon (アフィリエイトつき) をみたら紹介文にびっくり
変わる時代。変わらない毎日。
深く、静かに、そして広く、長く読み継がれて18周年――。
夏から始まったよつばたちの世界にも、いつしか冬が訪れる。
そして、ある出来事をきっかけに小岩井家の日常が、優しく滲む。
14巻に渡る穏やかな波のうねりが、光のように砕け散る15巻!
全256ページの増ボリュームで、約3年ぶりの新刊をお楽しみください。
どういう話になってるの今?
NHK
NHKスペシャル | 中国文明の謎第2集 漢字誕生 王朝交代の秘密
年末に掃除をしながらこの番組を見ていて後で調べようと思っていたキーワードがいくつかあったのだけど しっかり忘れたorz
殷の東にあった勢力がどうとか、牧野の戦いは東のその勢力に注力したところに周(とその他いくつかの勢力)が 西から仕掛けたとか。
調べてみたらNHKオンデマンドで番組は見られるようだけど、ううむ。
NHK(の歴史特番)といえば 空から読み解く! 新説・関ヶ原 決戦!関ヶ原 〜空からスクープ 幻の巨大山城〜 |NHK_PR|NHKオンライン もなかなか面白かった。 「関ヶ原の城」と聞いて「どうせ松尾山城だろ? 別に新説でもなんでもないじゃん」 と思ったのだけど、番組を観たらそれだけではなかった。 まあ頭から丸ごと信じるのは危険だけど(Nスペでもよくあるしね)、 説を補強できる本やらあるか(余裕があれば)探してみようかという気にはなった。
歴史群像で取り上げてくれると面白いんだけど (歴史群像では創刊号から何回か関ヶ原の戦いを特集していて 「定説」の変わり具合が読んでいて楽しい)。