はてなキーワード: 初期化とは
StationTVとはpixela謹製のTV番組レコーダーです。普段はなかなかいい奴なのですが、何かの調子に、例えばOSのアップデートやドライバの更新、録画HDDのボリュームラベルの変更などがあると急に不機嫌になります。
ここでは今まで録画した番組が再生できなくなった場合の対策を書こうと思います。
注)
ドライバのアップデート直後や上の操作を間違えたりすると、たまに「今までの録画番組を削除し再初期化しますか? そうしなければ今後、録画機能を使うことができなくなりますがよろしいですか?」というおかしなメッセージが出てくることがあります。その場合、そのメッセージが表示された状態で、すべてのDTVAppディレクトリの名前を変更しましょう。その後、初期化するを選ぶと録画番組ファイルはそのままで、設定だけ初期化されます。ディレクトリ名を戻した後、RecordManageTool.exeを実行すると番組リストが復元されているはずです。
注)
この操作の実行後に、番組リストは復活しているが番組の再生に失敗する、という状態になることがあります。OSのサービスパックやデバイスが原因と言われていて、Windows Vistaのサービスパックを2から1に戻したら上手く再生できるようになったという話もありました。
[C:Program][D:Data]という名前を付けており、OSはC側に、データはD側に入っており、データ領域のD:Dataを新HDDに移動させたい場合。
【α-HDD増設】
α-2/ HDDをデータケーブル・電源ケーブルでマザーボードと繋ぐ。
→ケーブルはマザーボード購入時に付いている。なければ購入。
α-3/ 起動中にBIOS画面を出し、HDDを認識しているかチェック。
α-4/ OSを起動し、[マイコンピュータ]を右クリック→[管理]
で、[コンピュータの管理]画面を出す。 ([スタート]ボタンからも可能)
α-7/ よくわからないが、種類は[プライマリ]でいいようだ。
ドライブレター(CとかDとか)は自動でつけられる。ここでは仮にH:とつけられたとする。
【β-パーティション移動】
β-1/ Partition Wizard Home Edition (freeware)
参考: http://gigazine.net/index.php?/news/comments/20090815_partitionwizard/
β-2/ Partition Wizard起動。
・今取り付けたHDDの領域を[Delete]し、Unallocatedの状態にする。
→α-8でせっかく初期化したのに、とも思うが、それとは別かもしれない。
論理フォーマット(ローレベルフォーマット)とディスクフォーマットは違う・・・筈。
でも、もしかしたら、α4~α8までの作業は必要ないのかもしれない。
・前のHDDのD:Data領域を[コピー]し、今取り付けたHDDにペーストする設定にする。
・左上の[Apply]ボタンで開始。その前に常駐ソフトは終了させたほうがいいらしいが、
消さなくても問題はなかった。
【γ-ドライブレター変更】
γ-1/ 念のため、現状できちんと起動するかチェック。この時点では単に新しいHDDに、旧HDD内のDパーティションを新HDDにコピーしたにすぎず、旧HDDのDパーティションは残っているので、
何の問題もなく起動する筈。 ついでに新HDDにきちんとコピーできたかチェック。
γ-2/ [コンピュータの管理]画面を出し、[ディスクの管理]で、現在旧HDDにある、D:DataのドライブレターをD以外(Iなど)に変更する。
→この時、同時に新HDDのパーティションをDにしたいところだが、残念ながら一度に1つのドライブレターしか変更できない。
γ-3/ 再起動する。この時、旧HDDにexeファイルのあるアプリケーションプログラムは起動しない。
よって、この方法はOSの入っているCドライブには使えないことになる。
→しかし、CD起動などの方法があるのかもしれない。
γ-4/ [コンピュータの管理]画面を出し、[ディスクの管理]で、新HDDにある、H:DataのドライブレターをDに変更する。
γ-5/ 再起動する。D:Data内のexeファイルがきちんと実行されたか、Dドライブにデータを置いていた場合、Cドライブのアプリからきちんと読めたかどうかチェックする。
σ-1/ Partition Wizard起動。旧HDDのかつてDパーティションだった領域は、現在I:Dataとなっている。
σ-2/ Deleteした領域がUnallocatedになっているので、Cパーティションの領域の端を引っ張り拡張、旧HDDいっぱいに拡張する。
σ-3/ Applyを押してパーティション変更を確定。
だったらそれを明らかにすればよい。
自分でなにもかもやるんじゃなくて、第三者の手を借りればよい。
知人友人ではなく、まったくの赤の他人。できれば全国展開しているような規模の大きいところ。
(コンプライアンスの関係でそういうところは縛りが多い)
パソコン関係だけ言ってみると、
パソコンだけ、ネットワークだけ、と五月雨式にやっても意味がない。
弱いところから入り込まれる。一度に一気に全部やるのが鉄則。
ルータは正しく設定すれば外と隔離できる。(原理的に外から入り込めない)
ルータには強固なパスワードかけて他からアクセスできないように。
無線LANなんて危ないものはやめて、すべて有線でつなげ。
パソコンにはバックドアを仕掛けられないように、すべて初期化。できればデータもすべて捨て。
なんで監視カメラを取り除かないの?
以前に発見機は買ったんだけど、ひっかからない。
業者を呼ぶ金の余裕がない。
とっくの昔にさんざんやった。
なんでセキュリティの穴をふさがないの?
対策しても突破してくる。
ネットに繋いだ時点で入ってくる。俺個人を狙って本気で侵入してくるから防げない。
なんで新規契約にして片時も手放さずに持ち歩かないの?
とっくに新規契約はした。
24時間いつでも?そんな金誰が出すの?
糸井。こんな事に使わずに、人助けにでも使えばいいのにな。
金が余ってるんだろう。
なんで新車に乗り換えないの?
その内、乗り換えたい。
住所も知られていて、家の中に監視カメラがつけられているし、
なんで引越しないの?
なんで監視カメラを取り除かないの?
なんで外泊しないの?
なんでセキュリティの穴をふさがないの?
なんでノートPCやネットブックにして片時も手放さずに持ち歩かないの?
携帯電話も全てが盗聴されて筒抜けになっているし、
なんで新規契約にして片時も手放さずに持ち歩かないの?
外に出かければ雇われた業者につけまわされる。
24時間いつでも?そんな金誰が出すの?
車の中にも盗聴器があるだろうし、
なんで新車に乗り換えないの?
はっきり言うとね、迷惑なんですよ。しばらく前からログが元増田のわけわかんない日記でどんどん埋まっていく。
掲示板のアドレスなんて、知らない人には教えようがないし、知っている人は教えようとしていない。
ネットの向こうの誰かに呼びかけるにしても、「ハッキングされたパソコン」で呼びかけたら相手に筒抜けだし、
万が一、誰かが教えてあげてもいいかなと思っても、この執拗な書込み見たら「かかわらないほうがいいかも」と引くよ。
Tomcat上のJRubyから呼んだJavaプログラムから呼び出し元のJRubyの環境(Runtime)を使いたいときにどうすればいいのか?
方法が1つわかったのでメモ。
(追記2:こんなめんどいことしなくてもJRuby.runtimeで取れたみたい)
イメージ的には以下の感じ
↑↓
↑
JRubyは1.4.0、jruby-rack.jarは0.9.7、warblerは1.0.1
まずは必要なクラスをimport
import org.jruby.Ruby; import org.jruby.rack.PoolingRackApplicationFactory; import org.jruby.rack.RackApplication; import org.jruby.rack.RackServletContextListener;
ServletContextをどっかから取ってくる(Listener作ってfieldに埋めるとかして)(追記:$servlet_contextで取れる[JRuby-Rack使うから])
ServletContext context;//=~~~
warblerでwar化するとweb.xmlにRailsServletContextListener(extends RackServletContextListener)が登録される。
そのListener起動時にFactoryがServletContextに登録されるので、それを取得する
PoolingRackApplicationFactory factory = (PoolingRackApplicationFactory)context.getAttribute(RackServletContextListener.FACTORY_KEY);
PoolingRackApplicationFactoryのapplicationPoolを取ってくる
(protected fieldなのでリフレクションを使用)
Field poolField = factory.getClass().getDeclaredField("applicationPool"); poolField.setAccessible(true); Queue<RackApplication> pool = (Queue<RackApplication>)poolField.get(factory);
RackApplication ap = pool.peek(); Ruby ruby = ap.getRuntime();
呼び出しもとのJRuby環境を使ってRubyコードを実行できる
ruby.evalScriptlet("p 'test'");
ほんと、そのへんが、プログラマの領域だと思う。
俺はそうは思わない
コンパイラの賢さを考えると、人間が注力すべきは、プログラム全体のアルゴリズムであって、姑息な最適化じゃない
コンパイラが出力するコードは、人間が書くコードよりも、圧倒的に賢い
まず、基本ブロックの入れ替えが起るような、大域的な最適化は、手じゃ絶対に無理
例えば Lazy Code Motion (PLDI '92) を手でできる人はいないだろうし
partial redundancy elimination が扱っている冗長性を理解している人すら、あまりいないだろう
それに、局所的な最適化でもコンパイラ(を書いた人)のほうが賢い(ハードウェアに詳しい)
ターゲットマシンが x86 で、レジスタを0で初期化するときに、gcc で最適化オプション付けると
xorl %eax, %eax
ってなるけど
subl %eax, %eax
でも
movl $0, %eax
でも無く、xor が一番速い理由を知ってるやつとか、なかなかいないだろう
なんかPerlのblessっぽい。
JavaScriptのnewって本当にいらない子?(http://d.hatena.ne.jp/jdg/20090706/1246840565)
というよりperlのnewっぽい。なぜか。
classでクラスを定義してnewでインスタンスを生成する言語を「一般的オブジェクト指向言語」とすると、
つまり、javascriptでnewを(直接)使わず、class(のようなもの)を作ればperlっぽくなる。
オブジェクトを作る。オブジェクトを作るには3つの動作が必要である。
通常は言語仕様でこれらを行う"new"という命令が用意されている。しかし、必ずしも必要な物ではない。perlでは言語仕様としてはnewが用意されていない。new関数が存在するのはコーディング規約に従っているからに過ぎない。代わりにblessが用意されている。なぜこのようになっているのか。理由はいたって簡単だ。perlのオブジェクトの実態はリファレンスだ。初期化を行うコンストラクタはどの道定義せねばならない。だから必要なのはリファレンスとパッケージを結びつけるおまじないblessだけだ。コンストラクタで好きなリファレンスを用意し、好きなように初期化してblessすればよい。コンストラクタの名前はコーディング規約でnewと決めた。一方javascriptはnewを用意した。{}でオブジェクトは作れるし、どの道コンストラクタは作る必要があるのに。
オブジェクトとクラスを結びつける。しかし、javascriptはクラスを持たないので必要はない。代わりに必要なのは、継承元との結びつき、プロトタイプチェーンの構築だ。
既存のクラスの性質や振る舞いを流用する。default状態を与える。一般的オブジェクト指向言語ではクラス定義時に継承元となるクラスを指定する。javascriptではクラスの代わりにオブジェクトを指定する。
クラスとはオブジェクトの性質・振る舞いの定義だ。しかし、ダック・タイピングではオブジェクトの性質や振る舞いはオブジェクトの持つメンバにより決まるため、そのような環境ではオブジェクトに初期値と継承関係を与えるのが主な仕事となる。
コンストラクタはオブジェクトの初期化を行う。javascriptではクラスがないため継承とコンストラクタによりオブジェクトが初期化される。
var object = function(o) { var F = function() {}; F.prototype = o.prototype; return new F; };JavaScriptのnewって本当にいらない子?(http://d.hatena.ne.jp/jdg/20090706/1246840565)
個人的には
var object = function(o) { var F = function() {}; F.prototype = o; return new F; };
で良いんじゃね?って思う。
更に、コレでは初期化しないから
var object = function(o, n) { var F = function() {}; F.prototype = o; f = new F; if (n) for (var i in n) f[i] = n[i]; return f; };
みたいな。
さらにせっかくだからメソッドにして
var object = function(o, n) { var F = function() {}; F.prototype = o; f = new F; if (not f.inherit) f.inherit = function(n) {object(this, n)}; if (n) for (var i in n) f[i] = n[i]; return f; };
とか。
爆発の基準点はわからないが、男は一度爆発したら初期化されて全部忘れる、女は爆発しても多少圧縮されるだけで初期化されずスタックは積み上がり続ける、といった感じかと。
諸氏は、下記のような事をどうしているのだろうか。
・ただし、時刻の登録にマウスを操作するような煩雑さは、断じて許容できない
・常駐すんなボケ
とりあえず、if文なんて高尚なものを使ったことなかったけど、バッチファイルでやってみた。
@echo off REM 1-31の日付でしか登録できない低能アラーム REM 時刻は必ず入力されるものとみなす REM よって、組み合わせはDAY×MESGのみで考える。 REM 変数の初期化 SET yotei_day = 0 SET yotei_mesg = "" SET /P yotei_time="アラームを表示する時刻 :" SET /P yotei_day="アラームを表示する日付(1-31で指定、省略した場合は今日) :" SET /P yotei_mesg="表示するメッセージ(省略時は、予定チェック) :" REM 条件分岐。バッチのelseはしょぼすぎる。複数条件指定できない?? if "%yotei_day%" == "0" goto :NO_DAY if "%yotei_mesg%" == "" goto :NO_MESG REM 指定したもの -> DAY,MESG echo %yotei_day%日の%yotei_time%に通知します' at %yotei_time% /NEXT:%yotei_day% net send pc_Name "%yotei_mesg%" goto :SLEEP :NO_DAY REM 分岐: + NO_MESG if "%yotei_mesg%" == "" goto :NO_MESG_NO_MESG REM 指定したもの -> MESG echo 次の%yotei_time%'に通知します' at %yotei_time% net send pc_Name "%yotei_mesg%" goto :SLEEP :NO_MESG REM 分岐: + NO_DAY if "%yotei_day%" == "0" goto :NO_DAY_NO_MESG REM 指定したもの -> DAY echo %yotei_day%日の%yotei_time%に通知します' at %yotei_time% /NEXT:%yotei_day% net send pc_Name "予定チェック" goto :SLEEP :NO_DAY_NO_MESG REM 指定したもの -> なし(時刻のみ) echo %yotei_day%日の%yotei_time%に通知します' at %yotei_time% net send pc_Name "予定チェック" goto :SLEEP REM 終了 :SLEEP ping 127.0.0.1 -n 2 > nul:
これに適当な名前をつけて、ランチャのfenrirで起動させる。
キーボードのみの操作で済むので、とても快適ではあるものの、見ての通りnet sendを使うため、
Windows messenger serviceを起動させるという、常駐ソフトの方がマシな本末転倒なウンコーな一品である。
ActiveDirectoryとかグループポリシーでmessenger制限されてたら使えないし。
VBやWSHなら色々できそうだけど、これ以上機能はいらんのよね。いっそ、メッセージはtxtに書き込んで、それを開くだけにするか・・・・。
### しかし「>」を表示させるのに、数値参照文字じゃないとダメとか・・・。
### &#62;を半角にしたら>になりますよっと。。。
手放しづらい事情もあるのは、http://anond.hatelabo.jp/20090514201813で説明されてる通りやね。いくら初期化するといっても、クレカ情報が保存されてる機械を手放すのは抵抗がある。ついでに言えば、60GBモデルは実質再入手不可能なので積極的に手放す理由が見あたらない。
まあ、かといって押し入れに放り込むつもりもないけどね。リビングの液晶テレビにつなぎ直してFolding@home走らせたりDLNAクライアントにしたりと、ゲーム機以外の用途はいくらでもある。ようつべやニコ動見たり、身内とトロステ見たり、HDDにため込んだ映画見たり(320GBに換装済なので)。我が家のHDDレコーダーはDVDにしか対応していないのでBDプレーヤーとしても使えるし。Ubuntu入れてるからそれなりに遊べるし。
国内で普通に手に入る(入った)機種であればどれでも同じである。違いを意識する必要は全く無い。
PS3専用ゲームの殆ど全てが720p(1280x720)、一部が1080p(1920x1080)に対応している現状、ワイドXGA(1280x728)かそれ以上の大きさであれば良い。
しかしこれらはいわゆる「ハイビジョン」「フルハイビジョン」と言われる解像度で、縦横の比率は16:9である(疑っているのならば電卓を叩けば良い)。ところが一般的なワイド型のPC用ディスプレイは縦横比率が16:10なのだ(最近は16:9の物も少数ながら発売されている)。そうなってしまった経緯は各自で調べてもらうとして、16:9の映像を16:10の画面にめいっぱいに出力しようとすると、当然ながら縦が1割ほど引き延ばされたような状態で表示されてしまう。まるで昔の香港アクション映画のように(実際はあまり気になるレベルではないが)。
よって、縦横比率を維持(16:9)したまま画面一杯に引き延ばす機能の有無が重要となる。これを「アスペクト比固定」「アスペクト比維持」などと呼ぶ。これをONの状態で画面を最大限に使用しようとすると、画面の上下5%ずつが真っ黒で何も表示されなくなる。少し勿体ない気がするが、しかしこれが正しい比率での表示なのだから仕方がない。当然だが、そういった比率を無視して縦横を画面めいっぱいまで引き延ばす機能もある。また、アスペクト比どころか、出力される解像度を忠実に表示するモードもある。これは「ドットバイドット」という状態だ。このモードをONにしたワイドUXGAの液晶ディスプレイでDVDを再生すると、その映像の小ささにため息がでるに違いない。小田和正の「言葉にできない」が似合う状態とも言えるだろう。
実際に使用する際は、アスペクト比固定モードを常用するようにしておけば良い。これなら、720pまでにしか対応していないソフトでも縦横比を維持したまま最大限大きく表示出来るし、1080p対応のソフトやBDの場合は実質ドットバイドットと同じ表示になる。
結論から言えば「別途スピーカーを用意すれば問題無く出せる」だ。PS3は映像出力と音声出力の端子を別々に設定できるので、映像はHDMIで、音声はPS用のAVケーブル、といった分け方も可能である。音質に拘らないのであれば、家電量販店で手頃なスピーカーを購入し、ケーブルの赤白プラグをステレオミニプラグに変換するアダプタを間に挟んで繋げば良い。いずれも高い買い物ではない。
俺のディスプレイの場合、HDMI端子で接続すると、その時までの映像出力設定に関係なく「HDMIが検出されました」とディスプレイ側に表示される。そのまま30秒放置すると以前の設定で映像が出力される。もしこれが有効にならないのであれば、ケーブルを繋いだ状態で一度電源をOFFにし、それから電源ボタンを5秒以上押してみると良いかも知れない(出力設定が初期化される)。この辺とか見とけ。
この仕事辞めようと思っている。
学校でC++とかJAVAとかVBとか…色々ごちゃごちゃ習ってたけど、正直現場のノウハウなんぞサパーリな状態だった。
だから、その会社にプログラマが居なかった事は物凄く不幸だった。
WEBシステム開発部門を作るという事で、私を含めプログラム未経験者が二人採用されたんだ。
細かいこと言うと、私と一緒に入社した人は、一応PHPやPerlは組んだことが有るけど、「現場のノウハウを知らない」という点は私と同じだった。
入社してからは、もう全部手探り。
開発環境の整え方なんぞ全然分かってない。
取り敢えずPHPやれ、と言われたから、結構必死で勉強しながらメールフォームとか簡単なコード書いた。
当時は画面が切り替わる度に変数が初期化されたりするのが不思議だった。
一緒に入った同僚は、「Postgre専門だからMySQLはよく分からん」と言う。
仕事の渡され方は大概丸投げ。
その仕様ってのが結構曖昧。何というか、「流れ」だけ説明される。
「管理画面で商品を登録すると、商品一覧に追加されるんだけど、登録する時に一緒にカテゴリを設定できるように…」
「カテゴリは大カテゴリ・中カテゴリ・小カテゴリがあって、管理画面で登録できるように…」
とか、そんな感じ。
こういうのを聞いてプログラミング出来るのが当たり前なんだろうけど、私は凄く苦手だった。
苦手だからってやらない訳にはいかないからやってたけど、難しく考えるからだろう、時間がかかった。
後、基本的に画面イメージがない。
仕事を渡されると、全部任される。
テーブルの設計をしながら仕様を確定していって、画面イメージを作成していく。
最初の内は、正規化すら全然知らなかったからぐだぐだなテーブルばっかり設計して、コードを組む段階になってヒーヒー言ってた。
最初から書き直す事もしばしばだった。
もっと効率良くやりたい、と助言を乞おうにも、先輩なんて居ない。
同僚はその辺の作業進行は上手いものの、開発レベルは私と同じぐらい。コードはスパゲッティ。
友人達もプログラムやってたりするけど、WEBプログラムじゃないから相談しても色々と噛み合わない。
仕方がないから、うまいやり方は無いか、とひたすら暗中模索でやってきた。
で、そんな事を1年程続けた辺りで、長年プログラミングしてきた人と交流する機会が有った。
短い間だったけど、その人が教えてくれた知識でかなりショックを受けた。
開発環境の整え方とか、テストケースとか、フレームワークの事とか、えーと、まぁ、なんて言うか、プログラミングの考え方(みたいなもん)とか。
(ちょっと上手く言えない。現時点でも私は、とてもじゃないが自分の事をプログラマだなんて胸を張って言えない程未熟だと思っているし)
そして、ショックを受けたのは同僚も同じだった。
正直今まで自分がやってきた事の全部をひっくり返された気分だった。
全部が全部無駄だったという訳じゃないが、今まで非効率的で馬鹿で遠回りな事ばかりしていた。
その後はSubversionやTracが導入された。
同時期に私は新しい案件を任された。
その案件の規模は小さめで、私は今まで不安定だった開発スタイルを整えようと、半分賭けでその案件をcakePHPで構築しようと決めた。
無論、全然分からないから参考書とか公開されてるソース見たりとか、ネットの情報とかで勉強しながら、だけど。
symfonyとかZend Frameworkとかでも良かったと思うんだけど、
たまたま先のプログラマの人がcakePHP使ってる、と言ってたから「じゃあそれにするか」とcakePHPを選んだ。
違いも分からんから最初は何でもいいや、と思ったってのも有る。
何度も躓いたり挫折しかけたりしたが、なんとか構築しきった。
つたないものでは有るが使い回しの効くメソッドなりを作れたし、正直凄く嬉しかった。
その頃には、ある程度ではあるがフレームワークでの開発が手に馴染んでいた。
そんでも一人でじめじめコーディングするスタイルは変わらなかったから、コードの中身はお察しくださいなスパゲッティ。
もうこの会社に居続けても意味が無い、と思った。ひとりよがりなコードを量産するだけだ。
だから、「今年いっぱいで会社を辞めようかと思います」と告げた。
それが大体半年前。
今年が終わるまで@2ヶ月ぐらい。
こんな経験年数半端な人材って、需要有るんかなぁ。女だしなぁ…、というかそもそも転職回数が多いのが一番痛い。ブラック企業ひきすぎ。
無知を乗り越えるという性質のやる気はあるから、がらっと業種を変えても良いかもしれない。
というか、ぶっちゃけ残業時間がえらい事になってたから、IT業界はもうしたくないな、と思う一方で、
やっぱりプログラム好きだからプログラマやりたいという思いが有る。
でもプライベートでやりたい事あるから、あんまり仕事で時間を割かれるのも困る。
後、親が元気な内に孝行しときたい。
こないだ、カーチャンのスレ見てたのがかなり効いてる。
「あんた転職するんでしょ? 転職前に休み作ってよ。一緒に旅行行きたいから」とか言ってるし…
「仕事が忙しいから」とか「疲れてるんだから休ませてくれ…」とか言って全然孝行出来なかったから、そろそろ生活における仕事の割合を減らしていきたいところ。
でも、
難しいよなぁ。
転職、どうしたもんだかなぁ。
最近はしなくなったが、私はよく自分の持ち物を捨てる妄想をする。
自分が何らの持ち物を遺さず姿を消すイメージは、立つ鳥後を濁さずという感じで、心が慰められた。
で、列車に乗って知らない町へと出かけ、駅で財布を捨て、日本海側のどっかの海岸からイントゥザブルー。
しばらくのち、自分が行旅死亡人の欄に載る。
家族や友人がそんなもの見てるわけないけどね。
◆
もっとも、大学を卒業した後無職で家賃も滞納気味で奨学金も年金も健康保険もほったらかしの私が、きれいに飛び立つなんてことは端から無理な話だ。こんなのは寝る前の暇つぶしに過ぎない。
だからこそ、徹底的にやろう。理想的に妄想しよう。そうしよう。
まずは本を整理してブックオフに売り払う。
買い取ってくれなかった分は資源ゴミの日に紐で縛って出す。衣服も資源ゴミ。
PCはHDDを初期化して近所のパソコンショップに売ればいいだろう。
家具は、引き取ってもらえそうなものはリサイクル業者に。たぶんこたつテーブルとアルミラック、勉強机やカラーボックス、姿見あたりは売れるだろう。そうでないなら捨てる。
他は粗大ゴミ。
布団一式、カーペット、椅子、プリンタ、自転車、30000番台のPS2(ゲーム屋さんにも見捨てられた!)
電器製品は家電リサイクル法とかでややこしいが、まあ細かいことは捨て置く。トースターに電子レンジ、炊飯器、ガスコンロ、テレビ、掃除機……。
ばしばし捨てる。
モノが減っていく。
この1Kのアパートが、18歳の4月1日に足を踏み入れたときの状態に近づいていく。
いや、あの時は実家から持ち込んだものも少なからずあったから、それ以上だ。
わーいシンプルライフ。シンプルすぎて自殺しか選択肢がないよ!
◆
……とここまでは順調なのだが。
問題が残る。
(1)市の環境局に連絡
(2)粗大ゴミ処理券を購入
(3)指定日に指定の回収場所にゴミを出す
の流れになっている。つまりゴミは収集所まで自力で運ばねばならない。
知人に連絡して「自殺するから手伝って」と頼むのか?
いくらなんでも無茶だろう。
世の中にはこういうデカい物でも引き取りに来てくれる業者がいるのだろうか?
これはいそうだな。探してみるか。でも探し方が分からない。
いっそ個人でアルバイト募集してみるか?
「時給1万円! 冷蔵庫を運ぶだけのお仕事です!」。おいおい。
……とまあ、このへんの解決方法がいつも分からなくて、妄想は中断してしまう。
適切な価格のものを適正な値段で買うのは共感できるが、それ以外の部分で反論する。
ごめんさない無理です、と対応すると、露骨にいやな顔をして帰っていく。ちょっと、ねえ、その顔は何なのさ、と思う。
まず「買わない」という選択は消費者の正当な権利だ。
仕入れ値を調べる増田の誠意ある対応は素晴らしいと思うが、感情に対して感情で返していないか?
そこは割り切る所だ。
以上のように考えてみれば、配送料をタダにしろと要求することに正当な理由はないと思える。べ
同じ物がネットでは配送料タダ、実店舗では有料、というのは、消費者からすれば十分「交渉」してみる余地のある話だ。
ネットは店員が不要だから人件費がかからないから、配送料をタダにできる?
いやいや、少なからずネットだって最初の制作費やら、月々のサーバー代やらなんだかんだコストはかかる。
そもそも「値引き」は買い物の楽しみのひとつだと個人的には考えている。
値引きやオマケがついたらラッキー、くらいで、実店舗だからこそできる買い物の楽しみだ。
価格コムの存在は実店舗には本当に頭の痛い存在なのは、非常によくわかる。
が、価格コムやその他価格比較サイトがなくなるなんてことはまずありえないわけで、
愚痴ったところでどうしようもないし、マナーの悪い客はどうしても存在する。
http://jp.ibtimes.com/article/biznews/080630/21033.html
公取委によると、ヤマダ電機は2005年11月から07年5月の間、自社と子会社8社の店舗の新規・改装オープンに際して納入業者に派遣を強要。派遣従業員の人件費を負担せずに商品陳列や補充、接客などの作業を行わせた。また、パソコンやデジカメの納入業者に対しては、展示処分品の販売に必要な設定の初期化作業などを行わせた。
ヤマダの08年3月期の売上高は1兆7,300億円で、家電量販業界の最大手。公取委は、「ヤマダ電機は当該納入業者と派遣の条件について合意せずに従業員等の派遣を要請している」「納入業者の多くは立場上、要請に応じることを余儀なくされ、ヤマダ電機は、派遣のために通常必要な費用を負担していない」としている。
しかしヤマダ電機の今回の件は、買い物で言えば値引きどころか、
「いつも買ってやってるんだから、これくらいよこせ」と、
平然と万引きをしているのと同様だ。
義憤に駆られるのはわかるが、増田、若いなぁ。
そうです、私がグヌウの信者です。
今日の話題はAutomakeです。
Automakeを使うと、何がうれしいのか。
それは、Makefileを書くのが楽になるからです。
Makefile.amにファイル名を追加するだけでよくなります。
Automakeを使うのに最低限必要なファイルは「configure.ac」と「Makefile.am」の二つだけです。
あとは、「autoreconf -i」とかしておけば、必要なファイルは全て自動で揃いますので心配ありません。
# プログラム名とそのインストール先ディレクトリ(ここではbin)の指定 bin_PROGRAMS = helloworld # プログラムhelloworldを作るのに必要なファイルの指定 helloworld_SOURCES = helloworld.c
# Autoconf初期化([パッケージ名]、 [バージョン]) AC_INIT([hoge], [1]) # Automake初期化([オプション]) # ( foreignオプションをつけると、NEWSとかREADMEとかを作る必要が無くなる ) AM_INIT_AUTOMAKE([foreign]) # 作成するファイル名 # ここでは、Makefile.in から、Makefileを生成することを指定 AC_CONFIG_FILES([Makefile]) # C言語のファイルをサポートするように設定 # (具体的にどんな意味があるのか分かってない(汗) AC_PROG_CC # config.statusや、Makefileを作成する(らしい) AC_OUTPUT()
/* これは単なるサンプルプログラム */ #include <stdio.h> int main() { printf("Hello World!"); }
手順2: autoreconf -iを実行します
手順3: ./configureを実行します
手順4: makeを実行すると、helloworldがコンパイルされます。
ワンポイントメモ: 「ターゲットがありません」系のエラーが出たら、Makefile.amの記述ミスが考えられます。見直しをしてから、./configureからやり直すと、幸せになれるかもしれません。
mutexはmutual executionの略で、書籍とかには「ミューテックス」とはあまり書かない。Wikipedia(ja)くらいである。カタカナで書く場合は「ミューテック」と書くことが多い。口語では「ミューテクス」だろうがなんでもいいが「みゅーてっくつ」とか書かれると大丈夫かなと思う。charをたむけんよろしく「ちゃ〜」と読んでないか心配である。「ちゃ〜配列の終端には「なる」をせっていする」とか書いてくれそうでそれは期待。
そしてPOSIX関数の醍醐味であるpthread_createで引数に値を設定しない、呼び先で参照しない。せっかくのvoid*の使い方を覚える機会を捨てている。コンパイル時のエラーを消すためだけにvoid *でキャストしてないか心配である。
pthread_mutex_tは初期化する時にPTHREAD_MUTEX_INITIALIZERを使うかPTHREAD_RECURSIVE_MUTEX_INITIALIZER_NPを使うかPTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NPを使うかでもいいような気もするが、特に触れていない。pthread_mutex_init()の第2引数でNULLを指定するのもpthread_mutexattr_init()で初期化(デフォルト値)するのも複数環境でまったく挙動の違うアプリが出来上がるのでやめた方が自分の身のためなのだが。
排他がかかっているかどうかのチェックならpthread_mutex_trylock()もあるのだが、特に触れていない。
POSIXにはmutexの他に「読み込み中の読み込み」を許可するpthread_rwlock_tもあるのだが、特に触れていない。
プロセス内の排他であるmutexとプロセス間の排他であるセマフォの区別がついていない。これはすごい。
追記
申し訳ない。そんなに煽るようなつもりはなかった。忘れてくれ。自戒のためにこのエントリは残しておくよ。
amachangには頑張ってpthreadを極めてほしい。