パスワードを忘れた? アカウント作成

tuneoさんのトモダチの日記みんなの日記も見てね。 スラドのRSSを取り込んでみよう。

13414217 journal
日記

tuneoの日記: SkylakeなXeonにご用心

日記 by tuneo

C62xチップセット統合NICはリンク速度が1Gbps未満のネットワークはお呼びじゃないらしい。

13413191 journal
日記

tuneoの日記: ついに俺も林檎に膝を屈する日が来てしまったか 2

日記 by tuneo

会社で支給されたスマホがあいほーん7で何気にストレスがたまる。俺はあぽー教徒じゃないからHuaweiのMate 10かSamsungのGALAXY S8がいいって言ったのにぃ。

こちとら初代GALAXY Tab 7.0の時分からずーっとAndroidで通してきた(その前はWindows Mobileだったけどw)ので、何かにつけてちょいちょい引っ掛かる。というか、ロックの解除にホームボタンを押しても時々反応がクッソ悪いのは何なんだ。

スマホは支給だけど壊したら修理は自腹、アクセサリ類も自腹とのことなので、泣く泣くヨドバシで保護フィルムとケースとLightningケーブルを購入。店員さんを30分近く引っ張り回してしまった。

そんなことで散財している一方、半年前に画面を割ったHuawei P9は放置状態なのが泣ける。

13410584 journal
日記

tuneoの日記: 力仕事があるのは承知で入ったとは言え 3

日記 by tuneo

物事には限度というモノがある。

一応はコンピュータエンジニアなんだからコンピュータエンジニアらしいことをさせてくれというか、修理だの新規セットアップだのの機械が作業場に並んでるのに、大型案件の設置作業でコンピュータをラックに積むだけのためにエンジニアが全員出撃して1日潰すとか馬鹿なの死ぬの?って話。

しかも、そういう状況なのに「来年のシステム更新の際にわが社が新システムを受注できるように、常駐で運用支援をするから♥」などと抜かして俺を自宅から3時間以上もかかる現場まで週1回で通わせるとか、呆れて言葉も出ない。

どうやら売り手市場らしい現況、わが社に凄い人材が来るなんてことはまずないのだ。「コンピュータ業界で仕事する気はあるけど経験とかスキルは未知数」な、馬力のある若い人を獲って「エンジニアでなくてもできる」仕事にうまく使いつつ彼らを育てていくべきではないのか。

もっとも、俺が来てからしばらくの間バイトの学生がいたんだけど、彼を力仕事以外は使いもせずにほったらかしていた(手持無沙汰のあまり毎日スマホでゲームしてたぞ可哀想に)せいで、上司には発言権がナッシング、という事情もあるんだけどな。

……高望みのし過ぎ→人来ない→テンパってなんだか突拍子もない新人を獲ろうとしている経営陣に対して堪ったうっぷんを晴らしてみた。

13404650 journal
日記

tuneoの日記: 久しぶりに起動してみたPrecision M6300はやはりごろ寝PCに好適

日記 by tuneo

今使ってるNEC VersaProは何かというと本体側面にアレコレ挿させるので、横向きに寝転がったまま使うにはいささか不便。

そこへ行くとM6300は光学ドライブとメモリカードスロットとExpressCardスロット、それにUSBポートしかないのですっきりしている(USBポートは本体背面にも4ポートあるので側面が使えなくてもあまり困らない)これでメモリが8GB積めてCPU性能が良ければ、NECになんぞ転ばなかったのにな。惜しい。

13404647 journal
日記

tuneoの日記: 算数力を高める:3つかけるとnになる自然数の組を求める 4

日記 by tuneo

任意の自然数nに対して、a * b * c = nを満足する自然数の組a, b, cを求める。例えばn = 8なら1, 2, 4とか2, 2, 2とか1, 1, 8とか(もっとあるけど)、n = 27なら3, 3, 3とか9, 1, 3とか1, 1, 27とかそんな具合。回転とか対称とかは考慮しないので、条件に該当する組み合わせは全部列挙できないといかん。

頭のクッソ悪いPythonコードは以下の通り。

for a in range(1, n + 1):
    for b in range(1, n + 1):
        for c in range(1, n + 1):
            if a * b * c == n:
                print("%d, %d, %d" % (a, b, c))

実際にはn = 256程度までを想定しており、総当たりで考えたとしても1677万通りもやればいいわけだ。さいきんのこうそくなぷろせっさをもってすれば何ほどのこともあるまいし、どうしても早くしたいなら問題を分割してマルチプロセスで高速化すればいいのだ!(←死ぬほど間違ったアプローチ)。……という冗談はさておき、高速化の種はいくつか思い付く。

  1. ループを1~nまでのすべての自然数で総当たりにする必要はない(多くてもnのすべての約数について考えれば足りる)。
  2. 内側のループは回数が減らせる。b <= n / a, c <= n / a / bは明らか。

というところで高速化してみればいいのかな。あいにく今日は自宅でパソコン2台使って実験をやるから忙しいのだ。ゲームとかもしなきゃいけないし(台無し)

というわけでメモ。

13402803 journal
日記

tuneoの日記: シェル力を高める:シェルスクリプト内部で環境変更 13

日記 by tuneo

スクリプトの中で環境切り替えツールを呼び出して環境変数を変更してるんだけど、その「環境変数を変更」が/etc/profile.d/hogehoge.shの書き換えで実現されている(というか、hogehoge.shは/other/dirに置いてあるスクリプトA.sh, B.sh...などへのシンボリックリンクなので、それを張り替えてる)場合、スクリプト内に変更を反映する処理をきれいにできないものかなーと。

#!/bin/bash
#このへんは旧環境(hogehoge.sh→/other/dir/A.sh)で実行
chgenv --set B # ここでシンボリックリンクが張りなおされる
#これ以降は新環境(hogehoge.sh→/other/dir/B.sh)で実行
source /etc/profile.d/hogehoge.sh
なんちゃらなんちゃら

chgenvを解析した結果、上述のような挙動であることが分かったので、とりあえずはsource hogehoge.shして一応期待通りの動作にはなっているんだけど、もっとこう、あたかも「一度ログアウトして再度ログインしたかのように環境変更を反映させたい」という場合はどうすれば綺麗に書けるだろうか?

bash --login~とか書くと新しいプロセスになっちゃうしなー。……スクリプトの内部でexec bash --loginしたらどうなるんだっけ?

13398655 journal
日記

tuneoの日記: カラス除け製造機 4

日記 by tuneo

職場で支給されているLenovo Thinkpadは光学ドライブがないので時々難儀をしているので、私物のASUSのクソ安いUSB DVDライターを持って行って使っていたんだが……立て続けに4枚とか焼きそこなってカラス除けを量産してしまった。

さて、壊れているなら当然処分しなければならないんだけど、いったいどうやって動作確認したものか。

13397599 journal
日記

tuneoの日記: シェル力を高める:無限ループでストレステスト 3

日記 by tuneo

ひゃっはー!GPUに焼き入れてやったぜぇええええ!

GPUをごりごり計算に使うプログラムで週末ストレステストを実施中なんだけど……シェル力(ぢから)がたりないせいで今一つ納得のいかない結果に終わった。

そのプログラム(仮にprogという名前にしよう)には、計算に使うGPUを指定するオプション-gpuがあって、そこにGPUのIDを指定する。GPUは複数ある(面倒なことにIDは0と2で連続していない。IDが1のGPUは映ればオッケーのしょっぱいやつなので除外)ので、それぞれに並列で負荷を与えてやりたい。そして、プログラムが終わったらすかさず再実行して間断なく負荷をかけ続けたい。

そんで考えたのがwhile trueで「forを使って並列にn台分のprogを起動して終了まで待つ」を無限ループさせる、という方法だったんだけど、シェル力が足りずうまくいかんかった。いっそのことPythonで……などと思ったのだが、巷にはシェルの構文を覚えてforだのwhileだの書かずとも無限ループを回せる方法はいくらでもあるのだ。創意工夫あるべし。

というわけで、とりあえずはこんなんぶち込んでおいた。ぶっちゃけ、xargsでパラメータ置換(-i)を使う必要はないんだけど、気にしたら負け。

$ yes 0 | xargs -n 1 -P 1 -i ./prog -gpu {} &
$ yes 2 | xargs -n 1 -P 1 -i ./prog -gpu {} &

……動くことは動くんだが、似たようなコマンドラインを何度も書くというのは非常にいただけない。ちょっとなんとかならんものかな。というわけで試してみたのがこれ。

$ yes 0 2 | xargs -n 1 -P 2 -i ./prog -gpu {} &

これはうまくいかない。{}が"0 2"に置換されるからだ。もっとうまい手はないものか。

……もっとも、今回はGPU0と2は同じモデルだしかけてる負荷も同じだから、progの実行時間は大体同じとみなしてあんまり問題ないけど、実行時間が各々違う場合を考えると面倒だなぁ。そう考えるとyes 0~とyes 2~をぶち込んだ最初のアプローチもあながち間違っちゃいないのか。

13396427 journal
日記

tuneoの日記: それが通るなら当然

日記 by tuneo

「原発事故で死んだ人は一人もいない」なんて主張を称賛する人がJアラートだ北のミサイルだ!と浮かれていたら、当然俺は「北朝鮮のミサイルで死んだ人は一人もいないのだからJアラートとかミサイル脳の戯言っすわwww」と冷や水をぶっかけるサイドに回ろうと思った次第。

13390964 journal
日記

tuneoの日記: くびがいたい 2

日記 by tuneo

出張だなんだで忙しかった一週間がやっと終わった。

で、とりあえず寝て起きたんだが……首が痛い。寝る前も肩凝ってるなとは思っていたんだけど起きたら前日の比ではない。寝違えたか?

とはいえ、今日も外出する用事があるので一日寝ているわけにもいかず経皮鎮痛消炎剤を使用したのだが……なんだかてきめんに吸収されたらしく、塗ったところが熱い!痛い!!

typodupeerror

アレゲは一日にしてならず -- アレゲ見習い

読み込み中...