hiiragi's ブログ

主にコンピュータ関係の備忘録を書いてます

iOS端末のカレンダーとGoogleカレンダーを同期する

手順

⇒ 参考リンクの通り。

特徴

環境

iOS 8.1.2 (iPhone 6)
Windows 8.1
Google Chrome 40.0.2214.111 m

iTunesで「購入した項目」プレイリストを購入日順に並べる方法

手順

  1. ウィンドウ左上のアイコンをクリック
  2. [メニューバーを表示]を選択
  3. メニューの[表示]-[表示オプション...]を選択
  4. [表示する項目]-[Stats]-[購入日]を選択
  5. "表示順序:"の横のコンボボックスから[購入日]を選択
    ※ お好みに合わせて[降順]も選択 (最近購入した曲が上にくる)

環境

コマンドでPCにIPアドレスを割り当てる

:: IPアドレスを割り当てる
netsh interface ip add address "ローカル エリア接続" 192.168.1.1

:: IPアドレスを割り当て解除する
netsh interface ip delete address "ローカル エリア接続" 192.168.1.1

要管理者権限。
Windowsメニューで検索窓にcmdと打ち、
Ctrl+Shift+Enterでコマンドプロンプトを管理者権限で起動すると早い。

割り付けたIPアドレスを確認するには以下のコマンドを打てば良かったと思う。
こちらは管理者権限不要。

netsh interface ip show addresses "ローカル エリア接続" level=normal

バッチファイルで上記コマンドを使いたい場合は一手間必要。
バッチファイルへのショートカットファイルを作成し、プロパティの詳細設定から
管理者権限で実行にチェックを入れておくとダブルクリックで管理者権限で実行できる。

PCにIPアドレス100個近く割り当てる必要があったときに役に立った。

より引数が少ない型へのアップキャスト

次の2つを組み合わせると0引数の型の変数に2引数の関数を代入できたりする

  1. (x:T, y?:T) => T型の変数に(x:T, y:T) => T型の関数を代入できる
  2. (x:T) => T型の変数に(x:T, y?:T) => T型の関数を代入できる

上の1のような代入が必要なケースがあるのかよく分からない

var fn2: (x:number, y:number) => number
fn2 = (x, y) => x * y;  // fn2に入っている関数は2引数

var fn1_: (x:number, y?:number) => number
fn1_ = fn2;

var fn1: (x:number) => number
fn1 = fn1_;

var fn0_: (x?:number) => number
fn0_ = fn1;

var fn0: () => number
fn0 = fn0_;  // fn0の型は0引数の関数だが中身は2引数の関数

console.log(fn0());  // NaN

mcmap 2.4.2eのビルド

Minecraftのワールドをクォータービューな感じで画像にするmcmapを導入したのでメモ。

お品書き

  1. mcmap 2.4.2e のビルド (OS X 10.9.1 Mavericks)
  2. mcmap 2.4.2e のビルド (Cent OS 6.5, x86_64)

1. mcmap 2.4.2e のビルド (OS X 10.9.1 Mavericks)

(1) mcmap2.4.2eのダウンロード

公式サイト
http://wrim.pl/mcmap/

mcmap2.4.2eへの直リンク
http://dl.wrim.pl/mcmap242e

(2) 解凍してmakeしてみる

$ cd ~/Downloads
$ mkdir mcmap2.4.2e
$ cd mcmap2.4.2e
$ unzip ../mcmap2.4.2e.zip
$ cd mcmap-src
$ make

png.hが無いって怒られる。はてなブログだと分からないけど、clangのエラーカラフルだな。

draw_png.cpp:12:10: fatal error: 'png.h' file not found
#include <png.h>
         ^
1 error generated.
make: *** [draw_png.default.o] Error 1

(3) Makefile書き換え

# (3.1) -I/opt/local/includeを追加
# 
CLFAGS=-03 -msse -c -Wall -fomit-frame-pointer -pedantic -DWITHPNG -I/usr/local/include -I/opt/local/include

# (3.2) -L/opt/local/libを追加
# 注意) -Iじゃなくて-L
# 
LDFLAGS=-03 -msse -lz -lpng -fomit-frame-pointer -L/usr/local/lib -L/opt/local/lib

(4) ビルド

$ make

warningがいろいろ出るが、mcmapが生成されたので良し。

2. mcmap 2.4.2e のビルド (Cent OS 6.5, x86_64)

(1) mcmap2.4.2eのダウンロード、解凍

$ cd ~
$ mkdir mcmap
$ cd mcmap
$ wget http://dl.wrim.pl/mcmap242e
$ unzip mcmap242e
$ cd mcmap-src

(2) libpng-devel, zlib-develのインストール

$ sudo yum install libpng-devel.x86_64
$ sudo yum install zlib-devel.x86_64

(3) ビルド

$ make

mcmapが生成された。

余談

はじめ、Makefilex64って名前のターゲットがあったのでmake x64してエラー出て
Makefile書き換えてハマったりしてた。

LDFLAGS64=-03 -msse -lz -lpng -fomit-frame-pointer -L/usr/local/lib -L/usr/lib64
x64: $(OBJECT64)
    # x86_64-w64-mingw32-g++を$(CC)に書き換える
    # $(LDFLAGS)を$(LDFLAGS64)に書き換える
    # -staticを消す
    $(CC) $(OBJECT64) $(LDFLAGS64) -m64 -o $(EXECUTABLE64)
%.64.o: %.cpp
    # x86_64-w64-mingw32-g++を$(CC)に書き換える
    $(CC) $(CFLAGS) -m64 $< -o $@
$ make x64

上の手順でmcmap64が生成される。

Rubyで端末の列数,行数を取得

lsみたいに端末の端で出力する文字列を折り返したかったので、
Rubyで端末の列数,行数を取得するコードを書いた。

https://gist.github.com/s-hiiragi/09499284172ca1fa7f3f

Windows7+Cygwin上のbashで試して、端末の列数,行数を取得できることを確認した。
===
Ruby始めて2日目くらいなのであまりRubyらしくないコードなんじゃないかと思う。

Vimperatorでタイトル & URLをコピーする。

以下を~/_vimperatorrcに記述する。

" ページタイトル & URLをクリップボードにコピー
nnoremap \" :js util.copyToClipboard(buffer.title+String.fromCharCode(10)+buffer.URL);<CR>:echo 'title & urlのコピー完了!'<CR>

快適になった。
一定時間経過後にechoメッセージを隠したいなぁ…