チップスター図鑑 冬コミ(C95)で頒布(カップスター本と共に)
チップスターをコレクションした本を、作りました。(冬コミで頒布)
公式ページには数種類しか載っていないものの、よーく探すと……あるわあるわ。季節限定、コンビニ限定、地域限定、そしてさらには新幹線限定なんてものまで。この一年、集めに集めて33種類発見しました。
内容についてもう少し詳しく
もともとは、2016年8月をもってヤマザキナビスコがナビスコブランドを返上しなければならないことがきっかけでした。「あぁ、もうナビスコチップスターが買えなくなるのか……」と。名残惜しさのあまり、その時お店に並んでいたものを買い揃えようとしたのが間違いだった。(笑)
探し始めると、あるわあるわ。「え、そんなもの。あれ?こんなものまで!」と、そしてヤマザキナビスコからYBC(ヤマザキビスケットカンパニー)に改名してからも、続々と登場するのです。「あ、このコンビニにしか売ってないやつがあるじゃん」とか果ては東海道新幹線に乗っている時に車内販売に見慣れないチップスターがあって度肝を抜かれました。
公式ページにのってる商品紹介とは何なんだ。
と言いたくなるほどです。
そして、図鑑を作成
パッケージの絵柄もさることながら、原材料欄や注意書きを見ていても面白いのです。例えば、「〇〇味」を作るには想像もつかない原料が入っていたり、同じ商品がマイナーチェンジすると原材料が微妙に変わったり……。などなどのことから、各商品について次のような項目を設けて紹介しました。
- パッケージ写真
- 中身の写真(食べ物こそ主役!パッケージなど額縁でしかない)
- 原材料欄
- 栄養成分表示
- 注意書き
- 入手困難度などの主観的評価
- コメント
- などなど……
まさに図鑑ですね。
巻末にはなぞの写真集
そして、オマケとして巻末にチップスターのミニ写真集を掲載。あ、メインのページも写真を載せていますが、それらとは趣が違います。
チップスターは食品で、食べられたら消え、用済みの箱は捨てられる運命にあります。そんな儚いチップスターの刹那の美しさを写真に収めたかったのです。フラワーアレンジメントにしてみたり、バラ園ロケしてみたり……。とにかくご鑑賞あれ。
冬コミ(C95)3日目、P30abでお待ちしてます。"ab"ということで合体サークルです。しかも、隣はなんと「カップスター」の本!(東相模原研)。チップスターとカップスターの夢のコラボが実現します。こんな感じ(↓)。カップスターのあのギザギザが再現されているんですって。電子書籍では味わえない楽しさ!
【告知】#C95 新刊「#実食カップスター」執筆当時で購入可能なカップスターをレビューしました。現在はなくなってしまった表面の凸凹とした手触りを表紙で表現しています。12/31(3日目)東P30b「東相模原研」です。合体サークルで、お隣はチップスターの本です。あわせてどうぞ #評論情報系同人誌告知 pic.twitter.com/B52FFhOtqJ
— みっぱら@東相模原研▶️8/18(日)コミティア149東6ホール・さ12a (@higashisagamiha) 2018年12月21日
値引きをプログラミングする(売り方も作品の一部だ)
「POSIX原理主義者割引き」はじめました
書籍「すべてのUNIXで20年動くプログラムはどう書くべきか」を著者の通販サイト(ココのサイト)で購入されるお客様に、ささやかながら値引きを致します。
とはいっても商業本を値引きすることはできない決まりなので、元になった同人誌をセットで購入される方に、その同人誌の方を400円値引きします。
他の書店には絶対マネできないこの企画。是非下のボタンを2つともポチしてください。(Safariの方は本店でポチ!)
商業版カゴ入れボタン | 同人版カゴ入れボタン |
---|---|
「分割金利手数料はすべて負担」はジャパネットたかたの『作品』
以前、あのジャパネットの高田社長が「ショッピングはエンターテインメントです」と言っていた。「分割金利手数料は店が負担」の第一人者だし、ハプニング覚悟で生放送を止めないし、高田社長は経営を引退しても未だに出演は続けている。
それらはまさに、エンターテインメントだという前提があるからであって、ジャパネットたかたはメーカーが作った作品(=製品)を売りながら、自分達が考案したショウ(=実演)や値引き(=分割金利手数料負担然り)という作品を売っているのだ。
つまり「値引き」とは店の作品の一つである。作品であるということは、値引きの仕方にもオリジナリティーがなくてはならない。客はオリジナリティーを感じるから、例え値引き額がさほどでなくても、その店を選ぶ。(実際、ジャパネットの価格も価格.comで見つかる最安店には敵わないことが多い。それでも売れる)
ネットショップ店主が独自の値引き企画を創設するのは難しいという現実
そうすると「なるほど、独自の値引き制度を考案するのも一つの手なのか!よし、やろう」と思う。ところが、多くのネットショップ店主にとってはそれが難しい。なぜなら、ネットショップ上で値引きを実施したければ、ショッピングカートプログラムにやらせなければならない。でも店主は基本的にプログラマーではないので、ショッピングカートで値引き販売をしたければ既製のものから選ぶしかない。結局それは店独自の「作品」ではない。
WordPressといったCMSなど、ページデザイン(店の内装)の制作にはある程度店独自にオリジナリティーを表現させるプログラムはあるのに、なぜ値引き制度という分野ではオリジナリティーを表現させるプログラムがないのか!
値引きルールをプログラミングで表現する
このような問題点に気付いたので私は自前のショッピングカートプログラムに値引き機能を実装してみた。もちろん、既製の値引き機能を作るのが目的ではない。導入する店主が独自の値引き企画を導入できる仕組みだ。
細かい話はヌキにして、どうやったかだけを記そうと思う。ちなみに、うちの自作ショッピングカートはシェルスクリプトで書かれている。
1) 買い物明細生成プログラム本体にフックを置く
値引き機能を入れ込む対象となるのは、買い物明細を生成するプログラムである。しかし、これを下手いじるとシステムそのものが復旧不可能なほどに壊れてしまうという問題がある。
そこで、開発者と店主がいじるべき領域の違いを明確化すべく、店主がいじるべきプログラムファイルは外出しし("$Homedir/CONFIG"というディレクトリーの中に"DISCOUNT_RULES.SHLIB"という名前で置くこととし)、存在すればインクルード(".":sourceコマンド)するようにした。→冒頭部分
上記のコードの後半部分は、明細テキストデータを生成している箇所だ。joinやawkをパイプで繋ぐといういかにもシェルスクリプトらしいコードである。
このコードの中盤に"DISCOUNT_BEFORE_CALCULATING_TAX"という謎のコマンドが出てくる。これが(消費税計算前に)値引きを行うためのプログラム(後述)なのだが、じつは外部コマンドではなくてシェル関数である。typeコマンドによってその存在を確かめてから、存在すれば実行し(パイプで通し)、存在しなければcatコマンドで到来データをそのまま通過させるというロジックだ。
if文ごとパイプに通せるのがいかにもシェルスクリプトでしょ?
2) 店主がいじる値引き実行用のシェル関数
明細生成プログラム本体はフックを入れただけなので、値引きを実行するプログラム本体は別にある。店主は、独自に考案した値引き企画を、この部分でシェルスクリプトという表現手段を用いて表現する。
店主は、値引きを企画したいのであれば $Homedir/CONFIG/DISCOUNT_RULES.SHLIB という名のファイルを用意し、DISCOUNT_BEFORE_CALCULATING_TAXというシェル関数を書く。
今回は、商業本(商品ID=pfb)と同人本(商品ID=ssr2)を同時購入した筋金入りのPOSIX原理主義者に向けた割り引きだが、それをプログラミングしたものが次のシェルスクリプトだ。
実体はAWKのコードである。それがシェル関数でラッピングされているに過ぎない。
標準入力から、冒頭のコメントにある通りの仕様でカゴに入っている商品明細データが渡ってくるのでそれを標準出力へと素通りさせつつ、そのうしろに今回の値引きルールに基づく値引き項目を追加して標準出力へ送るのである。出力時のデータフォーマットも、冒頭に記されたコメントに従う。
値引きのためのプログラミング学習も、デザインのためのHTML学習と同程度にしたい
上記の解説はプログラミングに慣れた人にとってはさほど難しい話ではない。では、そうではない純粋な商売人にはどうだろうか?
確かに上記のようにして値引き実施コードを本体から切り離したものの、きちんと書かなければ本体も動かなくなるわけで完全に安全になったとは到底言えない。
しかし、ネットショップの内装(デザイン)を弄るためにHTMLやCMSを覚えことのがある程度受け入れられているのだから、その程度にまで敷居を下げさえすればよいと思うし、またできるはずだ。
それができなければ、個人のネットショップなど大手に潰されてしまう。
とある日本の自動車メーカーの社用車がベンツだった件と、シェルスクリプトの実用性を謳う本の通販サイトがPHPだった件の関係性
日本の自動車メーカーの社用車がベンツ?
「総務部総務課山口六平太」というマンガ知ってますか? 自動車会社に勤めるサラリーマンが主人公の話ですけど、日本の自動車メーカーなのに社用車がベンツというのがネタだったのです。
「車売ってる会社なのに、社長はベンツに乗ってんのかよ!」って、誰しもツッコミたくなりますよね。まぁ、あれは大日自動車株式会社という架空の会社ですけど、じゃあ実在の日本の自動車会社はどうかというと、あれ?いすゞ!。……まぁ、今や乗用車は作っていないですからね。(そもそも情報古いですし)
メーカー | 氏名 | 社長車 | 私用車 |
---|---|---|---|
トヨタ | 張 富士夫 | センチュリー、クラウン | プログレ、コロナ |
ホンダ | 吉野 浩行 | レジェンド | ラグレイト |
日産 | カルロス・ゴーン | プレジデント | セドリック、エルグランド |
マツダ | マーク・フィールズ | センティア | RX-7 |
三菱 | 園部 考 | ディグニィディ | ギャランVR-4 |
ダイハツ | 山田 隆哉 | アルティス | アルティス |
スバル | 竹中 恭二 | レガシィB4 | レガシィB4 |
スズキ | 戸田 昌男 | カルタスセダン | なし |
いすゞ | 井田 義則 | キャデラックコンコース | ビックホーン、アスカ |
自動車会社にとって社長の車といったら社の象徴なので、それが他社製だったら身も蓋もない話ですよね。
コンピューター言語の実用性を謳う本の販売サイトが他言語製
ところが、コンピューター言語においては、そんな身も蓋もない話が、誰にもツッコミを受けることなく行われてきました。シェルスクリプトのアプリ開発言語としての実用性を謳う本の通販サイトがPHPとか……、そりゃないでしょ。
いゃベンツだってPHPだっていい車や言語ですし、それに別に売るなってわけじゃないですよ。でも著者が、他言語で作られた販売サイトを宣伝する(しかできない)って何のジョークだ!と思うのです。
山口六平太の会社の社用車も自社製になった
でも、彼の会社の社用車がベンツだったのは初期の話。念願かなって今ではサザンという自社製のセダンになっています。
一方シェルスクリプト本は……?
つい昨日、念願かなって、シェルスクリプト製になりました。いや、今までも既に販売サイト自体はあったんですけど、今回めでたく商業本を私(著者)手作りのシェルスクリプト製販売サイトで取り扱えることになりました。C&R研究所さん、ありがとう!こういう柔軟さは大手には簡単には真似できませんね。
というわけでカゴ入れボタンを貼っておきますね。
すべてのUNIXで20年動くプログラムはどう書くべきか
~デプロイ・保守に苦しむエンジニア達へ送るシェルスクリプトレシピ集~
リアル リッチ・ミカン[著]、USP研究所[監]、C&R研究所[発行]
2015年7月24日 発売
本体2,500+税200円
A5版 2色刷 0x100頁
(Safariをお使いの方はコチラ)このサイト(はてなブログ)自体は、まず間違いなくシェルスクリプト製ではないでしょうけど、ショッピングカートのパーツ(カゴ入れ&レジボタン)はシェルスクリプト製ですからね。このショッピングカートプログラムの特長は、例え他言語CMSで作られたページでもショッピングサイトと化すことができるという点なのです。
だから、人気の出たブログ上でブログ主が商売も始めたいと思ってもわざわざ引っ越す必要がなくなるのです。便利でしょ?
ちなみに、本家の商品ページは現在、ウザい宣伝欄がくっついています(笑)。これもこのショッピングカートプログラムが本質的にCMSを選ばないから簡単にできる技。
Shell Script ライトクックブック2014 第二版
昨年末の冬コミで発行したShell Scriptライトクックブック2014、第二版をコミケットスペシャルで発売します。
Shell Scriptライトクックブック 2014 第二版
2015年3月28日 発行(コミケットSP6 1日目)
頒布価格:1200円
ページが増えて154Pに
(Safariをお使いの方はコチラで注文)
第二版の変更点
詳細は目次をご覧ください。と済ませるのもあんまりなので、ポイントを記します。
計10個のレシピが、追加 or 修正
シェルスクリプトを書いていると次から次へとレシピが増えますが、今回も少し増えました。例えば、Base64のエンコードとデコードです。Linux等ではBase64のコーデックたるbase64コマンドが始めから入っていて不要なレシピかもしれませんが、POSIXの範囲で実装した話を紹介しています。これによって、他の環境でも安心してBase64が扱えます。
Base64との相互変換を実現するは、バイナリーコードを扱える必要があります。ところが、AWKの変数(GNU版除く)やシェル変数(zsh除く)ではそれができません。では一体どうやってシェルスクリプトでバイナリーコードを扱うのか、という話もレシピとして追加しました。
その他、どの環境でも使えるシェルスクリプトを書くためのレシピを多数追加加筆しました。
より強化したPOSIX原理主義
ところで、なぜBase64を扱うレシピを追加したのか。それは、メール送信のレシピからnkfコマンドを葬り去るためです。
これまでは、UTF-8文字をSMTPサーバーが許容する7ビット文字セットであるJISコードに変換するためにnkfを利用していました。しかし、Base64エンコードをして英数字だけにしてしまえばUTF-8のまま送ることが可能になるというわけです。また、Subject:などに置く日本語文字列をBエンコード(ISO-2022-JPとBase64エンコード)するためにもnkfコマンドを利用していましたが、これもUTF-8のままBase64変換すればよいわけで、base64コマンドという車輪の再発明によってこちらからも排除することに成功しました。
さようならnkf……、他にもmktempやwhichをPOSIXの範囲で実装することに成功したため、それらに頼っていたレシピもよりPOSIX原理主義に忠実なものになりました。
コミケットスペシャル6で初売り
完成した第二版は、3/28(土)から開催されるコミケットスペシャル6で頒布します。スペース番号は、1日目 K-58bです。
通販もやってます
通常のコミケではないし……、遠いし……、行けないよ。という方もご安心を。通販やってます。この通販のためのプログラムは、本書で紹介したレシピをふんだんに活用し、シェルスクリプトで作られたものです。本書レシピの実力の程を確認するためにも、このサイトの通販を是非ご利用ください。(Safari等、このサイトのカゴ入れボタンがうまく機能しない方はコチラへ)
コミケ4日目は、はてブで本を買おう
どうもこんにちは。毎度の季節でございました。夏コミで薄い本を頒布しました。 スペースは、8/17(日) 3日目 西き36b「松浦リッチ研究所」でした。……と、「検討!目論見委員会Z」さんのブログと同じことを書いてますが。(過去形で)
コミケ4日目は、『恐怖の』ショッピングカートが暗躍する日!
Webサービス屋がよってたかって作る技術マガジン
ななかInside PRESS vol.5
2014年8月17日 発行(コミケ86 3日目)
頒布価格:1200円
←表紙
コールドフォイル印刷で女神さまがキラキラ輝く特別仕様
コミケ会場で「明日になるとはてブで買えるんですか!? じゃあ明日買います」とおっしゃっていたお客様、お待たせしましたー。手前に設置したカゴに入れるボタンで注文数を決めていただき、ブラウザー底部の「レジへ進む」ボタンをおしてください。
というわけで、この雑誌で特集した記事の一つにある恐怖のショッピングカート「シェルショッカー1号男」がアップを始めました。何が「恐怖」かと言えば、他人のWebページをショッピングサイトに改造し、侵略するからです。このページがそうであるように。
マジメな開発動機
名前に負けずちゃんと秘密結社らしい仕事してるわけですが、いちおうマジメな開発動機があります。それは、
- ブログしか持たないサークルが気軽に通販を始められたらいいな
- サークルのお友達が自分のブログで、商品を品評しながら販売手伝ってあげられたらいいな
- 開発者が用意したテンプレだけで商品紹介が済むお店なんて、流行るワケがない
- 商品の購買意欲はショッピングサイトで起きてるんじゃない、現場で起きてるんだ!
といった理由です。既に流行っているブログがあったら、そこに買い物カゴがあれば理想じゃないですか。購買意欲が冷めないうちに……。ショッピングサイトというのはもともと購買意欲がある人が訪れる場所であり、そこで買いたい衝動が生まれるわけではありません。そういうのに向いているのはブログでしょう。しかも商品を推している友達のブログにそのボタンあったら尚効果的。
そう考えると、ショッピングカート開発者自らが商品紹介テンプレとプログラムを実装するなんてとてもバカバカしく思えたわけです。だいたい、開発だってめんどくさいし。
じゃあ、「カゴに入れる」などのパーツのみを提供して貼ってもらえるようにすりゃいーじゃんというのがこのショッピングカートのコンセプト。で、それを悪用(笑)すると、世界中のWebサイトを自分のショッピングサイトと化して世界征服できちゃうわけです。
おのれぇSafariめぇ~
ただ、既知の問題としてSafariだとうまくいきません(自分のWebサイトを改造するのは大丈夫)。これはサードパーティーCookieという技術を使っているからなのですが、Safariはガードが固く、突破できません。(突破できる人、やり方ぷりーず)
そもそもなぜこうしてサードパーティーCookieはガードされてるかというと、下図のような洗脳工作が横行しているからなのです。
ショッピングサイトで商品を物色すると、その後で全く関係ないニュースサイト等に移動しても、広告欄にさっき物色した商品が表示される、という……。こういうことするからショッピングサイト嫌いなんだってば!しかも、購入済の商品まで広告で出てくるし、消耗品ならいざしらず、同じ物2個も欲しいわけないだろっ!!
なので、自前のショッピングサイト開設が手軽になって、そういうショッピングサイトが壊滅すりゃいいなと思ってます。(シェルショッカーの首領が)
ところで、はてブって……
規約上、商売してもいいんだろうか???
さすがに自社サイトをショッピングカートに改造されることを想定した条文はなさそうだ。
まぁ、怒られたら素直にやめるということで、許可を求めるな謝罪せよの精神で頑張ります。
「今どきのWeb技術トレンド、多数知れる同人雑誌」出します
どうもこんにちは。毎度の季節でございます。夏コミで薄い本を頒布します。 スペースは、8/17(日) 3日目 西き36b「松浦リッチ研究所」です。……と、「検討!目論見委員会Z」さんのブログと同じことを書いてますが。
→コミケ4日目の記事もどーぞ。
女神さまといっしょに、Immutable Infrastructureのおべんきょうしたい
この本、第7開発セクションというサークルさんが発行しているのです。が、無理矢理「コラボ」ということにさせてもらって、46ページほど当研究所の記事をねじ込ませていただきました。そのうえ「ウチで売らせろー!」と、まるで当研究所の発行物であるかのような取り扱い(ヒドイ)。でも、それには1つワケがあってですね……
『侵略型』ショッピングカートでこの商品を取り扱いたくて
本誌には特集が2つあり、その片方は「(少なくとも)2クセくらいあるショッピングカートを作ったぞ」という記事です。その2クセとは、
- LL系言語(Perl, PHP, Ruby, Python, …)もJavaも、DB(MySQL, PostgreSQL, SQLite, …)も一切使わず、シェルスクリプトだけで作られている
- ブログページなどをショッピングサイトに改造し、よそのサイトを侵略していく
というものです。ホラ、ここってはてなブログのはずなのに「カゴに入れる」ボタンとか「レジへ進む」ボタンとか付いてるでしょ(8/18まで使えませんけど)。そのヒミツを語っているのです。しかも、このプログラムを開発したのはシェルショッカーという悪の秘密結社で、彼らが改造と侵略行為を繰り広げるというサイドストーリー付だったりします。
しかし、いくら恐怖のショッピングカートがあるとはいえ、そこに商品がなければ本当に動くことを示すことができません。そしてデモするなら、やっぱり魅力的な商品を置かない手はありません。そこで目を付けたのが「ななかInside PRESS」なのでした。
中身も表紙も、目を付けた甲斐があるというもの
バックナンバー(これとかこれ参照)で「Coreutils大全」という連載記事をやったりと、個人的に注目してました。そして読んでみると、耳にするけど良く知らない「気になる技術トレンド」が結構語られている雑誌なのです。ザッと読めば大まかに、じっくり読めばより深く、そのトレンドを知ることできてイイな、と。
さらにイイのは表紙のクォリティーですよ。こういっちゃ何ですが、中身が良くてもイラストやデザインのレベルが低いとガッカリしません? いや中身が良いほど残念でなりません。その点でこの本は満足してます。電車の中でも、職場でも安心して読めますね。しかも、vol.5は特殊な印刷によりキラキラしているらしいです(こんな感じ?)。女神さまカワイイです。
今どきのWeb系技術ノウハウも仕入れておく
もう一つの特集記事のテーマImmutable Infrastructureも興味あります。仮想マシンが普及したのをいいことに、マシンを使い捨てるというわけですか。いゃぁ時代を感じます。バージョンアップを繰り返して得体の知れない環境になって苦しむより、クリーンインストール状態の環境にヒョイヒョイ乗り換えていけるのが一つの利点だといいます。確かにウチにはmake worldしてOSのバージョンを上げてから日本語manが一部文字化けするようになってしまったFreeBSDマシンがあって悩んでたりします。そんな人こそImmutable Infrastructure、というわけですね。自力で調べてやろうとすると挫折しそうですけど、掻い摘んだ手順が書いてあるので挑戦してみようかな。
他にも、気になる記事がちらほら。本誌のキーワードを並べてみると、こんな感じです。
Immutable Infrastructure、Serverspec、Ansible、Vagrant、Docker、Cobbler、Serf、シェルスクリプトアプリ開発、サードパーティーCookie、PayPal API、FDM式3Dプリンタ、バランスWiiボード、OpenSound Controlプロトコル、AWS、Route 53、roadworker、マニ車、Socket.IO、WebSocket、Engine.IO、HTTP/2クライアント・サーバー(nghttp2、Apache Traffic Server、Google Chrome Canary、Firefox Nightly Build、h2load)、SPDY
個人的には、WebSocketとかHTTP/2とか気になるなぁと。このあたりの話はもうちょっと詳しく知っておきたいです。
というわけで、今度の週末(8/17日曜)のコミケで扱いますので、その日はき-36bへぜひお越しください。ちなみに、同じ島の変態論文(き-16b)も気になっていたり……。
追伸
第7開発セクションのみなさま、お付き合いさせていただいてありがとうございます。あと、いろいろすみません。コミケでは頑張って頒布させていただきます。m(_ _;)m