はてなキーワード: posixとは
初心者がプログラミングを身に着けるのに、LinuxとCLIは必須とか言い出すのが意味不明。
しかもUbuntuのインストールとかじゃなくWSL2入れて覚えろとか、駆け出しの開発者にそんな難しいことできるわけねーだろっていう。
そりゃ「Web系の」プログラミングだったら、そこら辺のノウハウが必要なのはそうだろう。
でもプログラミングはWeb系だけじゃないし、Web系がほとんどなわけでもないからな!
組み込みやモバイルだったらLinuxをCLIで触る機会なんてまず皆無なので、最初から学ぶのは時間の無駄だし、もっと優先して覚えるべきことはいくらでもある。
それこそWeb系だろうなんだろうが、プログラマなら機械語やラインエディタくらい覚えろ当然だろ?ってレベルで意味のない勉強だったりするわけで。
こういうこと書くと
とか言い出すバカがいるんだが、POSIX原理主義のほうが世界が狭いことにいい加減気づけっての。
過去に遡れば、薄っぺらい機械でしかなかったPCにすら日本語処理で大きく劣っていたくせに「UNIXは美しい」とかほざくアホがいた頃から、何も変わってないのな。
しかも今でこそ猫も杓子もLinux推しなのに、Linuxが出た頃は「ワナビーのクソガキが使うおもちゃ」として嘲笑しつつ*BSDが最高とか言ってたのは誰だったっけ?
差別主義者どもが恥を知れ。
楽しいことを考えるのが好きだ。
特に自分自身は優れた人間ではない。何らかを生産する能力がなければ行動力もない。
しかしながら自分自身が考えた世界を妄想するのが非常に好きなのだ。
如何にして従業員が快適に労働しつつ会社を維持するための収益を挙げるか?を考えている。
他の企業相手に商売するBtoBを検討したが、話題性一発で勝負できる可能性のある一般消費者を相手にするBtoCでやってみよう。
もちろん今から起業するのであればITの分野で、BtoCということであるならば想定できるのはコミュニケーション、まぁつまりSNSだ。
ただ単純にSNSで勝負しようたって既存のTwitterやFacebookに勝てるはずもないので話題性が必要。
ここで疑問が湧く。なぜ発言を投稿するタイムラインをメインへ据えたSNSにしなきゃならないのかと。
タイムラインによるコミュニケーションはオマケでも良いのでは?と。
いわゆるSNSの利点と言えば常時接続性にあるというのは多くの人が理解しているはずだから、常時接続性の悪いサービスとくっつけてしまうのはどうだろうか?
人々の話題を得つつ、まだまだ新しさを感じ、接続性の悪いサービスと言えばなにか?
そうだコレしかないだろう「VR型コミュニケーションサービス」だ。
VRChatへ代表されるように既存のVR型コミュニケーションサービスはどうしてもVRゴーグルなどを装着していないとコミュニケーションが取れないという問題があった。
皆さんが「それならもうVRじゃなくてもいいんじゃないか?」と感じるのはもっともだが、ゆったり腰をすえてコミュニケーションを取る時はVRワールドへインして、外出時などはTwitterのようなタイムラインでコミュニケーションを取り続けられるのは魅力的だと思わないか?
なんならVRゴーグルなしでもVRアバターを操作できるようにしたって良い。それはもう既にMMOやFPSで実現できているのだから技術的な問題はない。
欲を言えばVRゴーグルも専用機でなく、Google Cardboardのような形式が望ましいな。参加の敷居を著しく下げるだろう。
ARとVRの利点を融合し、スマホカメラから手指の動きを認識させVRアバターの手指腕の動作と連動させよう。VRコントローラも悪くはないが。
どうだ?自宅ではスマホを使ってVRワールドへインして、外出先ではVR仲間とタイムライン上でコミュニケーションを取る。
オープンソースで公開し、個々のサーバがまるでMinecraftのように自由なVRワールドを公開できつつ、サーバ同士がネットワークで相互接続し、法令に違反しない範囲で自治権を与えられるようにしよう。
これならばリアルの仲間内でVRワールド上でコミュニケーション取れるじゃないか。同じ趣味の者たちが集まるテーマを持ったサーバも公開できるぞ。
もうここまで来たらSNSの仕様は以前話題となったMastodonが採用するActivityPubプロトコルへ準拠し、メディアの配送形式をP2PであるWebTorrentにしようじゃないか。
個人がサーバを公開する際に問題になるのは借り受けたサーバの従量課金転送量なのだから、画像や動画はP2Pで配送してしまおう。
需要があるだろうしタイムラインのほかチャットも用意してしまおう。こちらも分散型のMatrixプロトコルへ準拠だ。
開発の中心たる我が社は特権としてマーケットサービスを運営できるようにしたら、ある程度のマネタイズも可能になるのではないだろうか?
クリエイターが3DCGモデルを公開したり、タイムライン上で使えるカスタム絵文字やスタンプ(ステッカー)を有償公開できるマーケットだ。
それと並行してVRワールド上で音楽ライブなどを開催できる環境をパッケージとして法人や団体へ売り込もう。BtoB需要もこれで確保できる。チケットはマーケットから購入する。
もしもVRワールドとしてSAOのようなMMOを公開できるとするならば、更に面白くなるんじゃないか?
分散型コミュニケーションVRシステムがゲームプラットフォームにまでなる。しかもそれはスマホで参加可能というものだ。
こんなものを立ち上げられれば、会社には面白い人材が集まるだろう。
だからこそそういう会社ではMicrosoftやApple、Googleへ強く依存しないことが求められる。
しかしITの巨人たちを脊髄反射でEvilと決めつけるのは良くない。彼らは重要なビジネスパートナーで居て貰いたいからだ。
少なくともスマホOSは2大巨頭であるiOSとAndroidOSなわけだし、GPUの多くはWindowsに最適化され、Apple Silicon化するMacは次世代に大きな影響を残すかも知れない。
重要なのは会社内部の業務環境へどのくらい自由度があるのか?という点だろう。
しかし自由度が高すぎると管理が煩雑になりセキュアな社内システムが構築しにくいという表裏一体の問題があるのも事実だ。
ならば経営者として示さなければならない社内で用いる基礎システムはPOSIXだろう。
しかしPOSIXが示されたとしてもバックオフィスの人員はまだ困るかも知れない。つまりどのようなオフィススイートが標準なのか?だ。
この点、Microsoft Officeは申し訳ないが却下で、OpenDocumentFormatも検討に入れたが、よりアクセシビリティを考えた結果Google G Suiteをオフィススイートのフロントエンドとして選択することにした。
これならばChrome Webブラウザ(またはChromium Webブラウザ)でアクセス可能なのでWindowsやMacはもとよりLinuxでも利用できる。
G Suiteを選択したことによってバックオフィス人員すべてへChrome Bookを配布することまで検討できる。
無論、アカウント管理もG Suiteで行えるし、YubiKeyなどで2段階認証も可能だろう。
・・・ふぅ
みたいなことを考えると凄く楽しいよね。
製品を選ぶことすら面倒。それどころか「無難さも性能の一部だろ」くらいに思っている。保守的な傾向があり女性率が高い。
macOSユーザーによる「iPhone使っているならMac使えば?」という言葉が大変ウザいと考えていて「ハードの縛りキツイし、もう少しコスパが良くなれば検討する」という評価。
AppleによるIntel Mac移行期にマーケティングへ失敗しクリエイター需要がWindowsへ移ってしまったため、クリエイターがこの組み合わせであることも多い。
Androidはクリエイティブなアプリケーションのライナップが少なく性能も微妙なのでiOS/iPadOSを使わざる得ないという事情もある。
情報技術者が使っている場合「WSL2便利すぎワロタw」と喜んでいる。
コスパ重視で多少の使いにくさも我慢できるという人の組み合わせ。
クリエイティブ用途はあまり考えておらず、価格対性能のコスパを重視する傾向にある。
Windows x iOS/iPadOSの場合と同様に何も考えずこの組み合わせになっている年配がかなり多いが、IT技術者やゲーマーなどが採用することの多い組み合わせでもある。
Googleが大好きで何故かmacOS x iOS/iPadOSなAppleユーザーを敵視していることもある。
好きな言葉は「最強」。
Appleの囲い込みによる製品連携シナジーの恩恵を最大限に得ている。
MacやiPhone/iPadどころかAirPodsやApple Watch、HomePod、Apple TVも持っている。
「意識高い系」と言われるのが大嫌いで、大抵の場合は「ユーザービリティを考えたら〜」と反論するものの、そのユーザービリティは自分個人のみを指すことが多い。
情報技術者の場合「安定したPOSIX互換機」という評価をしていて「iOS/iPadOS Appsが開発が完結できてプロプライエタリなソフトが充実するならLinuxでも良い。あとサウンド周りな」と思ってる。
クリエイターがこの組み合わせの場合は絵描きであることが多く、3DCGやDTMの場合はIntel Macへの移行に遅れてしまった人が大半。
自分の価値観にこだわりがあり、Androidが好きというよりも制限の多いiOS/iPadOSが嫌いと言った方が実態に近い。iTunesも嫌い。
「データのやり取りはクラウドを経由するし意外とそこまで問題ないよ」が口癖。
Apple製品が好きだがGoogle製品も好き。何ならAmazon製品も好き。
正攻法では使いにくすぎるこの組み合わせにこだわるユーザーはmacOS x Androidよりも物凄く変わっている。
iOS/iPadOSの脱獄は当たり前、ていうかそうしないとLinuxではまともにiOS/iPadOSが使えない。
彼らの存在によってiOS/iPadOSの脆弱性は明るみになりAppleの新製品情報も内部コードから発見してしまう。
完全にギーク。不具合は自分でなんとかするDIY精神にあふれる組み合わせ。
他所の良いものは悪びれもなくパクり、他所より良いものを開発したらドヤる。
何か言われても「ランレベルを1にして〜」とか「sudo pacman -Sy archlinux-keyring」とかおおよそのユーザーには理解できない呪言を吐く。
おおよそのユーザーはそもそもそういうのが面倒なわけだが、そういう細かい心理は気にしない。
MicrosoftやAppleをイジり倒すのも趣味にしており、彼らの口から一般人に知られていない面白い過去のエピソードが飛び出すことが結構ある。
裏を返せば「お前ら何で他のOSがそんな詳しいんだwMicrosoftやApple好きすぎるだろwww」ということなのだが、それは公然の秘密である。
Chromebookは安く買えるLinux向けハードウェアだと思ってる。
My Y2020 Bug | Tom Wyant [blogs.perl.org]
http://blogs.perl.org/users/tom_wyant/2020/01/my-y2020-bug.html
以下のコードを実行すると、1970-01-01が欲しい所に、2070-01-01が返ってくるという問題。
#!/usr/bin/perl use 5.028; use warnings; use POSIX qw(strftime); use Time::Local; my $t = timegm(0, 0, 0, 1, 0, 70); say strftime("%Y-%m-%d %H:%M:%S", gmtime($t));
2070-01-01 00:00:00
https://metacpan.org/pod/Time::Local#Year-Value-Interpretation
Years in the range 0..99 are interpreted as shorthand for years in the rolling "current century," defined as 50 years on either side of the current year.
(snip)
Whenever possible, use an absolute four digit year instead.
Time::Localの仕様として、年数に2桁の値を与えた場合、19xx年と20xx年、現在の時間から近い年を取るらしい。
ほーん
狭義のUNIXとは、AT&T ベル研が開発したOSとその直系の派生システム。オリジナルのものから Sys III、SYS Vと発展し、現在はSCOがそのソースコードを握っている。
ActivityPubは非中央集権型の分散SNSのオープン標準である。Pump.ioのActivityPump プロトコルをベースに設計されている。 クライアント/サーバAPIを通してコンテンツの「作成」「更新」「削除」を行い、連携するサーバに API を通して通知およびコンテンツを届ける。
ふむふむ
マイナンバーを国際標準規格であるDecentralized IDs(DIDs)へ移行を推進し秘密鍵によって保護された新マイナンバーおよび新マイナンバーカードを発行します
ほー
HTTPS over DNSは、HTTPSプロトコルを介してリモートドメインネームシステムの解決を実行するためのプロトコルです。
これは投票できる人居ないだろうなぁ
何言ってんのかわかんねぇんだもんw
今日、牛丼を食べながらふと気がついたのですが、もしかして我々の業界は異常なのではないでしょうか?
サービス名、技術名はスキあらば3文字って感じだし (AWS, EC2, EKS, GCP, GAE, GKE k8s, C2C, CPU, GPU, SPU...)
会社名もソフトウェア名も連想できるってものじゃないし (PostgreSQL, MySQL, Redis, etcd, Consul, HashiCorp, Vagrant, GitHub, CircleCI, FreeBSD, CentOS, Ubuntu, Linux, Couchbase, Hive, Hadoop, Vagrant...)
みんな普通にPOSIX互換なコマンドをペシペシしているし (cd, cp, mv, pwd, mkdir, ls, vi を更に謎の数文字のオプションも含めて覚えているわけで)
それも特に覚えようとして覚えてきたわけでもないじゃないですか。
気がついたら覚えているわけで、手に身についているわけで。まるでポケモン151匹を勝手に覚えてしまったあの頃と同じようなノリで謎の英単語や謎の羅列を身に着けてしまっている訳ですよ。
何ら疑問に感じてなかったんだけど、普通に好きじゃないとできないよね。
で、思ったんだけど、インターネット小話で聞く「全然興味はないけどSEになっちゃいました」みたいな人ってガチで苦痛なんじゃないだろうか…
(未だにそんな人を見たことが無いから都市伝説だと信じてるけど)
別に周りにそんな人が居るわけじゃないけど、新卒が入社してくる季節ってことでふと気になりました。
おしまい。
POSIXなUNIX/Linux系OSではvi(もしくはVim)がテキストエディタとしてプリインストールされていることが多く、理系だとたいてい一度は触ったことがあるので慣れ親しんでいる
画像が表示できない古典的なWebブラウザ(テキストブラウザ)のw3mやLynxなどでも採用されているのでインターネット老人会の人たちも慣れ親しんでいる
BPNFはそれぞれBack・Preview・Next・Forwardの頭文字
こちらもPOSIXなUNIX/Linux系OSでよく使われるテキストエディタのEmacsのカーソル移動(正確にはCtrlキーと組み合わせる)
デスクトップはWindows自作PCで最新の高性能CPUとGPU、大容量高速なストレージとワークメモリを搭載。WSLのUbuntuによってPOSIX環境を構築。
デスクトップの周辺機器は英語配列ゲーミング系、もしくは静電容量方式の英語配列キーボード。好みによってはトラックボール、作業用にゲーミング左手キーボード、フットスイッチ。ディスプレイは4Kで複数枚。音声の入出力はオーディオインターフェイス経由。
ラップトップはMac。使用するアプリは可能な限りクロスプラットフォームとして提供されているものを使用。処理性能の低さはeGPUで補完。
テキストエディタはVim、WebブラウザはChrome、オフィススイートはGoogle Documents、チャットはSlackとDiscord。
ルータは高速なゲーミング系、もしくはGoogle Wi-Fiをメッシュ運用、YAMAHAも良いけど手軽さには敵わない。
スマートフォンはiPhone Xを裸運用。動画撮影時にZHIYUNのジンバルを使用。気分で超広角やNDフィルタ系のスマホレンズを使う。
タブレットはiPad Pro、Smart Keyboard装備、手書き系はApple Pencil。
スマートデバイスの周辺機器はAnker。オーディオ関連はAirPodsかBeats。
iTunesはゴミ。そのためAndroidを頻繁に検討してしまう。ただやっぱりAndroidはイヤ。
スマートウォッチは他に選択肢が無くてApple Watch。PebbleがFitbitに買収され絶望している。
電子決済は交通系かApplePay、ApplePayの中身はiD。
電子書籍はAmazon Kindle、音楽はSpotifyとApple Music、動画はYoutubeとNetflix、通販はAmazon、食材はネットスーパー、服はZOZOTOWNおまかせ定期便。
SNSはTwitter、ログイン頻度が非常に落ちてるがFacebook、次の楽園としてMastodonに注目。視覚デザインアイディアのプールとしてPinterestは優秀。
ブログは静的サイトジェネレータを使って構築。プラットフォームはGithub PagesやAWS。WordPressは古い。
VLOGを嗜み、普段使いの動画カメラはiPhone XやGoPro、SONY RX100。本気を出すときデジイチとZHIYUNのジンバルを持ち出す。
空撮ドローンはDJIの中型ドローンかRyzeTech Tello。
スマートスピーカーはGoogle HomeとGoogle Home Mini、HomePodは現状で選択肢に入らずHomePod買うならGoogle HomeMaxを買う。
Amazon Echo派も居る。Amazon Echo Spotを実家に置こうか検討してる。
ホームIoTとして連携しやすいのでテレビはSONYの4Kテレビ、電灯はPhilips Hue、赤外線制御はNature Remo。掃除機はDysonやiRobot Roomba、マキタのコードレスクリーナー。
調理関係は電子調理で電子レンジオーブントースターやホットクック、ヌードルメーカー、Vitamixなどで省力時短調理をする。食器洗いは食洗機。
洗濯は洗濯からの乾燥コースで基本畳まない。シャツのアイロンがけはアイロンいら〜ずとハンドスチーマー。
Raspberry PiでホームIoTサーバを構築し、既製品では提供されていないサービスを自作しIFTTTやSlackとも連携、リモートコントロール。ChatBotもついでにラズパイで。OSはUbuntu Server。
TVでの動画視聴はAppleTVかChromecastやテレビ内蔵AndroidTV。Amazon FireTV派も居る。これまでのメディア資産はDLNA経由で視聴。
ゲームハードはSIE PlayStation4とNintendo Switch。XBox系はWindowsでプレイしたら良いと思ってる。
スタンドアローンVRゴーグルのOculus GOで動画見たりVRChatもする。
棚はディアウォールやラブリコでDIY。一家に一台マキタのバッテリー式インパクトレンチ。
文房具はツバメノートに本革カバーか高橋手帳に本革カバー、ボールペンにJETSTREAM PRIMEかサラサグランド、万年筆はコクーンやバランスやサファリ、ハサミはフィットカットカーブツイッギー。
バッグやバックパックはカメラ向け、ブランドはPeekDesignやSUPER CONSUMER。
軽い運動にはロードバイクを使用し、そんなにガチガチなカスタムはしない。車は所有していないかスポーティなデザインのものかハイブリッド。
----------
追記(2018/07/04/13:14)
クリエイティブ関係でフォトレタッチは安定のPhotoshopでOSS派の人はGIMP、動画編集はAdobe PremiereでDavinci Resolveが伸びてきている。DTMはGarageBandで、当然DTM趣味の人は本格的なLogicやCubaseを使ってる。
絵描きが周囲に1人しか居ないので聞いてきた。参考にならないかも知れないが「Photoshop、Illustrator、Clip Studio Paintがメイン。最近Paintstorm Studioが面白い」と言ってる。
----------
ネットの情報と某大手IT企業勤めの俺の周囲の様子から平均としてまとめてみた。
思い出しながら書いたのでアッチコッチにジャンルが飛んで申し訳ない。
現在では事実上、結果だけを見るのであればWindowsやMac、UNIX、Linuxなどで実現可能な課題は変わらない。
ただ、商業的に一定の予算を持って開発されたプロプライエタリなアプリケーションソフトウェアの中には、その実現可能な課題までの手順を省力化できるものが多い。
システムは実装の違いがあれどPOSIXを基準に実装され(サブシステムとしてPOSIX基準を実装している場合もある)、操作性はCommonUserAccessを参考として実装されていることが大半でOSが違ってもほぼ迷わず操作することが可能だ。
これまで、こう言った話題の類似したものに「iPhoneを求める子供へAndroid端末を買い与えるのは虐待か?」などがある。
今回の話題の発端となったエントリでは娘さんはCLIP STUDIO PAINTを求めるまで、Linuxディストリビューションの1つであるUbuntuをある程度は使えていた様子が見て取れる。
更にUbuntuではファイルのドラッグ&ドロップによる移動操作などが当然可能であるが、娘さんはCLIの基礎的な操作まで行えるようになっており、PCスキルは同年代の子供よりも「できるほう」のようだ。
学校教育ではWindowsに触れていたようだが、Linuxの特性上デスクトップ環境を変更することによって見た目や操作性を著しく変化させることが可能で、娘さんからすると「パソコンによって見た目や操作性に多少の違いはあるもの」という認識だったようで、WindowsとLinuxのOSプラットフォームとしての違いをそこまで気にしていなかったようだ。
娘さんは今回の件でWindowsとLinuxの違いを認識していくようになるであろうが、この違いを経験することがプラスになるのかマイナスになるのかは、まだまだ稀少な事例過ぎて判別が難しいように思われる。
ただ、少なくともWindowsとLinuxの違いに良くも悪くもストレスは感じるのではないかと推測できる。
例を挙げれば、よく言われるようにLinuxにはPhotoshopやIllustratorは提供されておらず、ゲームの選択肢も少ない。逆にGIMPなどX Window Systemを前提に実装されているGIMPなどのアプリケーションはLinuxの方が軽く、パッケージ管理システムによるアプリケーション管理の容易さなどがある。
ちなみに父親はWindowsは高価なので誕生日プレゼントとしてならばWindowsを買える(おそらくCLIP STUDIO PAINTも同時購入)という道を示していた。
カトラークラスのエンジニアが数十人、数十年かけて磨き上げた Linux カーネルにかなうわけねーだろ。
もはやFreeBSDは人手不足で、Meltdown, Spectre にも満足に対応できない有様。
カーネルがごちゃごちゃしてたのは v3 初期までで、その後、徹底的な抽象化・#ifdefによる機能の分離化、CPU依存の排除をしたおかげで、configでオプションを最小化したら恐ろしいまでに小さいサイズのカーネルになる上に、オレオレCPUへの移植もそれほど大変でなくなった。LLVMのSSAなどの技術をBPFが取り込んだおかげで、カーネル内のモニタリングも perf関係からの置き換えの目処がたったら、そのあたりの余計なコードも削ぎ落とせる夢がある。
おかげでconfigオプションが数千にもなってしまったが、ディストリビューションも多様化してくれたお陰で、自分の用途に合わせたカーネルの選択に困ることもあまりない。WindowsやMacでも Linux システムコールラッパがほぼ完全に動くようになり、「Write Once, Run Anywhere」をVMを介さないで実現する POSIX以来の夢がいま正に実現しようとしている。
まず思いついたのが「コマンド名がvimだったらVim、viだったらvi」だったけど、
「alias vim=vi、あるいはalias vi=vimされていたら分からないのでは?」
と気付いたので駄目。
次に思いついたのが「色ついてたらVim。ついてなければvi」だけど、
「一々色付きそうなファイル開いて確認してたら瞬時とは言えないのでは?」
と気付いたのでこれも駄目。
その後に思いついたのが「ggで一番上の行飛べたらVim、飛べなかったらvi」しかしこれも、
「exrcでggに1Gをmapしてたら分からないのでは?」、
「viが改造されててggで飛べたりしたら分からないのでは?catにPOSIXに無いオプションがあるように、viにPOSIXに無いキーバインドが追加されててもおかしくないのでは?」、
と思ったのでこれまた駄目。
うーん……。