Month: March 2012

MySQL: Import large file using SOURCE command

Posted by – March 26, 2012

在 MySQL 匯入 sql 資料大都時候都是用 phpMyAdmin 這個軟體來代勞,不過有時候碰到非常巨大的 sql 檔案,動輒數百 MB,甚至更大時就超過了 phpMyAdmin 處理能力。

這時候比較方便的做法是用命令列來匯入,指令是 SOURCE

mysql> use exampledb;
Database changed

mysql> source C:\data.sql;

等待 MySQL 執行完畢就完工了,無痛匯入巨量的 sql 資料。

Disable Mac OS X mouse acceleration via the command line

Posted by – March 22, 2012

2011 年夏購入了一台 Apple Macbook Pro,從此踏入 MacOS X 的世界,當初購入的目的是想學 Ruby, RoR 和 Object-C,不過工作上幾乎還是用 Windows 7。我覺得我跟 Mac 一直沒有很熟。換了工作後發現新同事們使用 Mac 做網站開發的比例非常高,老闆也不介意我帶自己的 Mac 上班,所以就開始逼著自己長時間用 Mac 來熟悉它。

MacOS X 預設是有滑鼠加速的,這點我很不習慣,滑鼠加速會讓滑鼠在長距離移動時,游標移動的速度以等比的方式增加。個人覺得這是一種介面上的不一致,總讓我摸不透滑鼠要移多快才能到預期的點。下圖左是關閉滑鼠加速度,不管使用者的手移動多快,滑鼠游標的加速度都不會改變,所以游標的速度跟手移動的速度一致。下圖右是開啟滑鼠加速 3.6 倍,使用者的手移動越快,游標會有額外的加速度,這種不一致的速度讓我老是找不到飛到螢幕外的游標。

 

 

 

 

 

 

 

經過一番 Google 後發現可以用指令的方式關閉滑鼠加速。加 terminal 輸入以下指令:

defaults write .GlobalPreferences com.apple.mouse.scaling -1

修改完畢後重新開機,滑鼠游標就不會再輕功似亂飄了。

PHP: Constrains a value to not exceed a maximum and minimum value

Posted by – March 19, 2012

幾年前在寫 Processing (P55) 的時候,有個方便的 function 叫 constrain。用法是

constrain(value, min, max)

例如

float mx = constrain(mouseX, 30, 70);

當 mouseX 大於 70 時就回傳 70,小於 30 時就回傳 30,將值限制在 30 ~ 70 這個區間。因為 Processing 大都是拿來寫互動、視覺方面的程式,所以用到此功能的頻率頗高。後來轉換跑道寫其他語言時,發現好像都沒有這個方便的函式。
最近又有 constrain 的需求,想起幾年前見過有人用 min, max 來代替,寫法如下。

<?php
function constrain($value, $min, $max){
    return max( min( $value, $max), $min);
}

echo constrain(29.3, 30, 60);
?>

Windows7 開機自動 PPPoE 撥接連線

Posted by – March 18, 2012

從 Windows XP 到 Windows 7,中間隔了這麼多年,Win7 反而少了方便設定 PPPoE 自動連線的設定,微軟的開發理念有時候真的蠻難理解的。這幾天因為重灌家裡的電腦,所以又遇到這個問題。這次 Google 搜到一篇舊文,發現這個設定方便蠻好用的,而且一試就成功,所以做個筆記先。

首先建立好 ADSL 或光世代的 PPPoE 連線後,在設定裡關掉提示畫面,讓撥接的動作在背景完成就好。

請記得剛剛設定的連線名稱。接著進入 RegEdit .... 如果您不曉得什麼是 RegEdit,那請找別的方法吧,您可能不適合這種修改方式

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
新增字串,名稱自取,內容輸入 C:\Windows\System32\rasphone.exe -d "你的連線名稱(不是撥接帳號)",像我的網路連線是叫 Seednet 12M VDSL,就是輸入 C:\Windows\System32\rasphone.exe -d "Seednet 50M VDSL"
以後開機就會自動撥接囉!