GoogleDriveの容量がいっぱいになってしまったでござる・・・!

オンラインストレージは数あれど、
ふつうに4GBほどする動画を作った場合、
データの持ち運びに使える手段は限られてくる。

Dropboxは2GB、
firestrageは250MB(総容量は無制限、と書いてあるが1ファイルあたりは少ない)
などなど・・・

ちなみに無料がデフォの貧乏性です。
そこで登場するのが我らがGoogle先生のストレージ「GoogleDrive」。


1ファイルあたりの制限はなく、

無料で5GBものオンラインストレージが使用できる。

そう、GoogleDriveならね。



ということでさっそく映画祭へ出す動画を4GBほどのQuickTimeムービーファイルにして、
共有しました。

ちょっと不具合があり、zip圧縮して共有し直すことにしました。

元のファイルを削除し、新しいファイルをアップロード・・・




できねーーーーー Σ(゚Д゚)ガーン





元のファイルを削除し、確かにファイルはないはずなのに容量が4GBから減っていない。
これはなんぞやということで調べたら、ありました。ブログが。

http://gakira.hatenablog.com/entry/20120521


なるほど。
ファイルを削除しただけでは容量は回復せず、
GoogleDriveの「展開」メニューを文字通り展開して「ゴミ箱」を開く。
ゴミ箱のなかに移動されたファイルを「完全に削除」すると、
容量が回復する、と。


確かにその操作を行い、容量は回復しました。
いま新しいファイルをアップロードできています。


Macのゴミ箱も同じで、いったんゴミ箱に移動したファイルを
「ゴミ箱を空にする」しないと容量が回復しませんね。

そう言われりゃそうですが、
オンラインストレージでその仕様って、どうなんだろう?

良し悪しはわかりませんが、
それ以上に、

わかんない人、絶対多いだろ!!!
困るわ!!!

ここを見て、上記の解決をする人が少しでもいれば幸いです。

lsコマンドのソース

ふとCVSをうちのMacに入れてやろうと思い、
ふとターミナルでパタパタコマンド打っていて、
ふと「lsコマンドってなんだ?(今更)」と思ったのでググった。

http://www.freebsd.org/cgi/cvsweb.cgi/src/bin/ls/ls.c?rev=1.85.6.1;content-type=text%2Fplain

キック・シェル

javaのプログラムからシェルを起動する、ということをやっていた。
ただ、「シェル?なにそれおいしいの」状態だったのでシェルの勉強から。

mvしたりrmしたりln -s張ったり、viで編集したりしてるうちに若干楽しくな
った。

目的のシェルはすんなり作れたので、javaを組もう、できた、流そう、
という段でちょっと詰まっていた。

シェル単体(コマンドで直接)では動くし、javaからlsなどの単純なコマンドも
起動できる。
でも引数与えたりパスを指定したりするとうまくいかない。

毎回「IOException No such File or Directory」とかのたまう。
そこで以下のブログのように、「配列でコマンドを指定」したら上手くいった

http://javatec.blog105.fc2.com/blog-entry-80.html

androidカメラアプリ

Manifestに以下の行を追加

<uses-permission android:name="android.permission.CAMERA"/>

ここはほぼ初期状態。

public class camera extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new CameraView(this));
    }
}

カメラプレビューを記述

public class CameraView extends SurfaceView implements SurfaceHolder.Callback{
	private SurfaceHolder holder;
	private Camera camera;
	public CameraView(Context context) {
		super(context);
		holder = getHolder();
		holder.addCallback(this);
		holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
	}
	
	public void surfaceCreated(SurfaceHolder holder){
		camera = Camera.open();
		try{
			camera.setPreviewDisplay(holder);
		}catch(IOException e){
			e.printStackTrace();
		}
	}
	
	public void surfaceDestroyed(SurfaceHolder holder){
		camera.stopPreview();
		camera = null;
	}

	@Override
	public void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {
		Camera.Parameters parameters = camera.getParameters();
		parameters.setPreviewSize(width, height);
		camera.setParameters(parameters);
		camera.startPreview();
		
	}
}

実行すると↓