2014年10月23日木曜日

Homebrew でインストールした MySQL で /tmp/mysql.sock が開けなかった時の対応


バージョン確認
  
$ sw_vers -productName
Mac OS X

$ sw_vers -productVersion 
10.10

$ mysql --version
mysql  Ver 14.14 Distrib 5.6.21, for osx10.10 (x86_64) using  EditLine wrapper

$ brew -v
Homebrew 0.9.5

バージョン確認してみるが失敗 '/tmp/mysql.sock'が無い
  
$ /usr/local/Cellar/mysql/5.6.21/bin/mysql -version
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

起動失敗。Service is disabled

$ mysql.server start
Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/hogehoge.local.pid).

エラー確認
  
$ tail -n 10  /usr/local/var/mysql/hogehoge.local.err
tail: /usr/local/var/mysql/hogehoge.local.err: Permission denied

パーミッション確認
  
$ ls /usr/local/var/mysql
-rw-r-----+  1 _mysql      wheel    597055 10 23 13:05 hogehoge.local.err
-rw-r--r--+  1 user_name   wheel      4772  4 12  2012 my.cnf
drwx------+ 74 user_name   wheel      2516  4 12  2012 mysql

パーミッション変更
ファイルオーナーがuser_nameなので、_mysqlに変更
  
$ sudo chown -R _mysql /usr/local/var/mysql
$ sudo chmod -R o+rwx /usr/local/var/mysql

再度、起動。成功。
  
$ mysql.server start

ソケットファイル存在確認
  
$ ls -al /tmp/mysql.sock
srwxrwxrwx  1 _mysql  wheel  0 10 23 13:09 /tmp/mysql.sock

2014年10月8日水曜日

Apple Wireless Keyboard に、お茶をこぼしたときの話

Apple Wireless Keyboard に、お茶をこぼしたときの話

やっちまった

お茶の入ったコップを、キーボード上で勢い良く移動。
お茶が波打って、キーボードに少しかかる。
急いで拭き取る。
しばらくして、問題発覚。
キーボードビュアーを表示して、詳細を確認する。

症状


b -> ⌘ + b
[ -> ⌘ + [
Left ⌘ -> ⌘ + b
Right ⌘ -> ⌘ + [
0 -> 0-
- -> 0-

bのキーを押すと、⌘ + bと解釈されている。
⌘のキーを押すと、⌘ + bと解釈されている。

保存のショートカット⌘ + sを押そうとすると、
⌘のキーを押した時点で、⌘ + bと解釈さる。

0のキーを押すと、0と-(ハイフン)が入力される
-(ハイフン)のキーを押すと、0と-(ハイフン)が入力される

一般的な対応をしてみる

1. 再起動 効果無し
2. pramリセット 効果無し


調査

システム環境設定 の キーボード の 修飾キーの設定で、
Commandキー(⌘)をoffにすると
b -> b
[ -> [
となる

システム環境設定 の キーボード の 修飾キーの設定で、
CommandキーにCaps Lockキーを割り当てると、Caps Lockキーとして動く。
b -> b
[ -> [
Left ⌘ -> ⌘
Right ⌘ -> ⌘
となる

CommandキーとCaps Lockキーをスワップすると、
リマップしたCommandキーは意図通りに動く。
リマップしたCaps Lockキーと、b 、[ で、問題が発生。
b -> Shift + b
[ -> Shift + [
Left Cpas Lock -> Shift + b
Right Cpas Lock -> Shift + [

どうやら、キーボードレイアウトデータがおかしいらしい。


解決


システム環境設定 の キーボード の 入力ソース から U.S.追加 U.S.に切り替え
U.S. で、症状が出ないことを確認
ことえりを削除、後、ことえりを追加
ことえり で、症状が出ないことを確認

2014年7月12日土曜日

Ruby で Terminal の文字を1秒ごとに flush して、 count down する


Rubyでカウントダウン。
ターミナルの文字を1秒毎にフラッシュする。
RubyでTerminalの文字を1秒ごとにflushして、count down する

ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-darwin13.1.0]


#!/usr/bin/env ruby
# -*- encoding: utf-8 -*-

#
def move_left
  print "\e[1D"
end

#
def del_char
  print "\e[1D"
  print " "
end

#
def del_line(n)
  #print "\e[1D"
  n.times do |x|
      del_char
      move_left
  end
end

#
def count_down(num)
  num.times do |x|
    print num - x
    sleep(1)
    n = num.to_s.length
    del_line(n)
  end
end

if __FILE__ == $0
  
  num = 15
  count_down(num)
  print "\a"
end

__END__

=begin
\e[1A <- up
\e[1B <- down
\e[1C <- right
\e[1D <- left
\a    <- beep
=end

Rubyで Stringで指定された名前の、instanceをdynamicに生成する

#文字列を指定して、動的にインスタンスを生成できるか?
#指定したStringで、instanceをdynamicに生成する
#インスタンス変数を動的に作成する

ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-darwin13.1.0]


#!/usr/bin/env ruby
# -*- encoding: utf-8 -*-

class Cat
    def initialize(name)
        @name = name
    end
    attr_accessor :name
    #attr_reader :name
    def say
        puts "hello i'm #{@name}."
    end
end

if __FILE__ == $0

  class_name = "Cat"
  name_of_cat = "chibi"
  res = eval "@#{name_of_cat} = #{class_name}.new('#{name_of_cat}')"
  p res
  @chibi.say

  puts "----"
  puts
  
  cat_name_list =["tama", "mike", "kuro"]
  cat_name_list.each do | cat_name|
    eval "@#{cat_name} = #{class_name}.new('#{cat_name}')"
  end
  
  cat_name_list.each do | cat_name |
    eval "@#{cat_name}.say"
  end
  
  
end

__END__

2014年7月11日金曜日

Mac の Terminal から、file を、GUI アプリで open する。


Mac の Terminal から、file を、GUI アプリで open する。

テキストファイルをコマンドラインから開く
open -a TextEdit sample.text
open -a CotEditor sample.text
open -a /Applications/TextWrangler.app sample.text

画像ファイルをコマンドラインから開く
open -a /Applications/Preview.app ~/Pictures/sample.jpg

動画ファイルをコマンドラインから開く
open -a /Applications/MPlayerX.app ~/Movies/sample.mp4

フォルダをファインダーで開く
open 'file://localhost/Volumes/Macintosh HD/Applications/'

URLを既定のブラウザで開く
open http://www.apple.com/