Hatena::ブログ(Diary)

×××Diary このページをアンテナに追加 RSSフィード

2012-01-31

ClosedSocialBookmark

f:id:maeyan:20120131224459j:image

設計界隈の会社にいるわけなんだけど、

こんな話をちらほら耳にする。


・目的のファイルがすぐに見つからない

 ⇒徹底した階層管理がされていない

情報が個人持ちになっている

 ⇒情報共有不足


上記の事象から下記問題へと発展する

・目的のファイルに辿り着けず思い込みで設計を行う

・探すための無駄時間が発生する

・最新情報が判断できない

・室内の知識の偏りが生まれる

・新規の社員に対し、設計情報の共有がしにくい


上記の問題の解決策として、お気に入りのSocial化でタグ管理を行えば

てっとり早く最新情報を用意に共有することが可能となると思われる。


ただ、プログラムに疎いこともあって、環境を用意するとか

めんどくさそうなことには一切手をつけないという傾向があるので

デフォルトPCコピーしたら使える程度のお手軽さがないと

嫌われる節があるようだ。


というわけで、HTAの登場ですよ。

従来サーバーよりの処理をvbscriptにお任せしてファイル周辺の操作をさせる。

それ意外は、javascriptで処理しとけば、ファイルサーバー上にファイル

おいたら即使うことができるというわけですよ。むずかしい設定とか一切なし。


とういことで、デフォルトPCコピペしたらすぐにつかえるような

簡単なそーしゃるぶっくまーく的なもんでも作ってみた。

http://www.maeyan.com/hta/ClosedSocialBookmark.zip


一般的には、IDごとにお気に入り情報が管理され共有されるのとは違い、共同で一つのお気に入りを使う風になっています。


個人的には、家のPCファイル管理がなってないんで、

何でもかんでもこれに放り込んで探してたりしてますが…。

2011-12-04

腕時計買ったよ。

2年ぶりだよ。

はい。

今までの復習から。


1.9時23分。

f:id:maeyan:20090323235845j:image

文字盤がありません。

まずは、一呼吸してから竜頭がどちらにあるか確認しましょう。

次に、時計の内側面が12角形だということから頂点の数を数えましょう。

画面上を0番目とすると4番目(20分)と5番目(25分)の頂点の間にありますもん。

(20 + 25) / 2 = 22.5分。

だいたい23分です。






2.9時23分。

f:id:maeyan:20090323235846j:image

文字盤なんてありません。

長針なんてありません。

短針なんてありません。

あるいみエコです。

(いや違いますね)

こんなことでも慌てずじっくり目を凝らしてください。

ほら、丸いとこに玉が完全に重なれば00分。

次の点線の切れ目(1つ目)なら15分。

次の点線の切れ目(2つ目)なら30分。

次の点線の切れ目(3つ目)なら45分。

今回は、1個目と2個目の切れ目の間にあるんで

(15 + 30) / 2 = 22.5分。

だいたい23分です。




3.9時23分。

f:id:maeyan:20090323235847j:image

文字盤も、長針も短針もありますね。

もはや、説明する必要がありませんね。

9時23分です。


ちなみに、この時計の短針の動きはこんな感じ。

15秒後

仕様としては、57分から00分の間にジャンプするそうです 笑



はい。復習はここまで。

ついてこれますね。

どこにでもある腕時計ですよ。

次は新しいのですよ。



4.9時23分。

f:id:maeyan:20111204200243j:image

説明が難しいですね…

でも言われたら、9時23分って納得ですよね。

え?

どこをどう見ればいいのかわからないですと??

一応説明すると内側にあるくねっとしたやつのさきっぽが時を指し

外側のくねっとしたとこのさきっぽが分を指しているのです。

単純ですね。

2011-12-03

´3ω3`.。oO○ZZZ

※完全なるネタエントリーですよ…


今まで何度か部署を異動してみたものの必ずといっていいほど

一人は仕事中安定してうつらうつらする人がいる・・・。


起こすと若い人だと、「ね、寝てないよ!」といいはり

ある程度、歳とった人だと「いやー○○で睡眠とれなくってさー」

と、堂々と言い訳をしてくる。

で、本人も自覚しているため、

「気づいたら申し訳ないけど起こしてくれない?」とまで言う。


さて、お題を出されたのでコードを書くことにするか。

え?

まぁ、起こせっていうんだから仕方ないよねっ。



今回のお題は、離れた席の人いかにして起こすか?

ということ。

で、縛りは、

・notスピーカーなので音がならないこと。

デフォルトWindows PCなんでそれで使える言語

ネットは外にでれないので何もダウンロードはできない。

ってあたりかな。


結論

音がならないから音をたてることにした。


1.Sleepingな人のPCで、VBScriptを実行。

 2秒間隔でループ実行 & ファイルサーバー上のファイル監視

2.熟睡してるのを見かけたらファイルサーバー上のファイルに特定の文字列を記載。

3.VBScript側で特定の文字列感知→CD_Driveを開け閉めする♪

認識する文字列

[CD_DRIVE]…Open or Close

[QUIT]…終了

数字[s]…上記命令の間隔を指定

たとえば下記のようにかけば、Open→Close→Open→Closeを2秒間隔で実行します。

[CD_DRIVE]
2
[CD_DRIVE]
2
[CD_DRIVE]
2
[CD_DRIVE]

ポイント

物理的に音を立てるため、CD_Driveのイジェクト部分に鈴等の音がなるものをつけるとなお良い。

・熟睡している人はたぶんこの程度じゃ起きないと思われるので、周りの人が

 音に反応してより広範囲の人たちに寝てるのがばれる。


まとめ。

 つーか。寝るなよ。


Option Explicit

'CD_Driveを開け閉めするには同一のオブジェクトである必要がある
Dim objWMP, colCDROM
Dim FileDateLastModified

'実行
Call Main()

'--------------------------------------
Sub Main
    Call Init 'オブジェクト生成
    
    'ループでファイル監視
    Do
        Call Check
        WScript.Sleep 2 * 1000
    Loop
End Sub


Sub Init
    Set objWMP   = CreateObject("WMPlayer.OCX.7")
    Set colCDROM = objWMP.cdromCollection
End Sub

Sub Check
    Dim FSO
    Set FSO = CreateObject("Scripting.FileSystemObject")
    
    'ファイルパス
    Dim FilePath
    FilePath = "\\ファイルサーバー上に放置したファイルパスを指定"
    
    'ファイルが無ければ何もせず終了
    If Not FSO.FileExists(FilePath) Then
        Set FSO = Nothing
        Exit Sub
    End If

    '最終更新日を取得
    Dim TempDateLastModified
    TempDateLastModified = FSO.GetFile(FilePath).DateLastModified
    
    '現在のファイルの更新日時とコマンド実行時の時間を比較して変化なければ何もしない
    If TempDateLastModified = FileDateLastModified Then
        Set FSO = Nothing
        Exit Sub
    End If
    
    Dim OneLine
    With FSO.OpenTextFIle(FilePath)
        While Not .AtEndOfStream
            OneLine = .ReadLine
            
            If OneLine = "[CD_DRIVE]" Then
                Call OpenCloseCdDrive
            ElseIf OneLine = "[QUIT]" Then
                Call ProgramQuit
            Else
                If IsNumeric(OneLine) Then
                    WScript.Sleep OneLine * 1000
                End If
            End If
        Wend
        .Close
    End With
    
    '時間を更新する
    FileDateLastModified = TempDateLastModified

    Set FSO = Nothing
End Sub


Sub OpenCloseCdDrive
    Dim i
    For i = 0 to colCDROM.Count - 1
        colCDROM.Item(i).Eject 'CD_Drive Open/Close
    Next
End Sub

Sub ProgramQuit
    Set objWMP   = Nothing
    Set colCDROM = Nothing
    WScript.QUIT
End Sub

2011-11-26

mac port

treeコマンドが使いたいなぁーと思ったものの

そんなコマンドはねぇ!

と、叱られたので調べてみたらmac portで簡単に入れれるよ!

参考⇒ tree コマンドが便利

ってことだったので、久々にmac portを使ってみた。

$ sudo port install tree

すると、

mac portがそんな気分じゃないなぁー

と、仕事放棄してきたので調べてみた。


Error: /opt/local/bin/port: Failed to initialize MacPorts, 

こんな記事が見つかった。

いろいろ調べたところ10.6用のMacPortsを入れたらなおった。

参考⇒mac OS X 10.6 snow leopard にアップデートしたらmac ports が動かなくなった

そういえば、ライオンさんになってから初めて使うか。

ということで、記事内で紹介されてるリンク先からライオンさんのMacPortを入れてみた。

http://distfiles.macports.org/MacPorts/


もう一回入れてみる。

$ sudo port install tree
--->  Fetching archive for tree
--->  Attempting to fetch tree-1.6.0_0.darwin_11.x86_64.tbz2 from http://packages.macports.org/tree
--->  Fetching tree
--->  Attempting to fetch tree-1.6.0.tgz from http://jog.id.distfiles.macports.org/macports/mpdistfiles/tree
--->  Attempting to fetch tree-1.6.0.tgz from http://distfiles.macports.org/tree
--->  Verifying checksum(s) for tree
--->  Extracting tree
--->  Applying patches to tree
--->  Configuring tree
--->  Building tree
--->  Staging tree into destroot
--->  Installing tree @1.6.0_0
--->  Activating tree @1.6.0_0
--->  Cleaning tree

はいったよー。

$ tree
.
└── hello
    └── tree

2 directories, 0 files

あれ?

今は、Mac PortなんかよりHomeBrewの方がなうなやんぐにばかうけなのか