2018年9月7日 星期五

GIT TIP

Q: Git push branch from one remote to another
 A: git push /:refs/heads/
     ex:  git push origin iisi/master:refs/heads/master

 REFS: https://stackoverflow.com/questions/7818927/git-push-branch-from-one-remote-to-another


Q: 使用git clean清除未加入版控的資料

A:  git clean -xdf


How can I see what branch another branch was forked from?

Q: How can I see what branch another branch was forked from?

A: https://stackoverflow.com/questions/4803492/how-can-i-see-what-branch-another-branch-was-forked-from

2015年3月16日 星期一

Gentoo btrfs

zfsonlinux 已經快一年沒有更新了,經過這幾個月的使用後,發覺其有幾個問題:

  1. 檔案的讀寫速度不夠快
  2. 記憶體的使用太驚人了,但是卻沒有相對應的性能輸出,常常在使用一段時間後就會吃掉大量的記憶體,讓在已經擁有16G記憶體的電腦仍常發生需要swap的問題
  3. 對於超長路徑的支援有些問題,這使得某些程式在安裝時,會停在configure對長路徑的檢查的階段,有時重開機會通過,有時不會
  4. zfsonlinux更新周期太長了,可能大部份的動能都移到btrfs那邊去了,以致於kernel更新了,但是zfs仍不支援的情況
後來到了linux kernel 3.13版,發生btrfs似乎已經有相當的穩定度了,基於冒險犯難的精神,於是就毅然決然的把檔案系統從zfs轉換至btrfs,步驟如下:

  • 備份資料
# cd /
# rsync -av --delete --exclude=var/log --exclude=usr/portage/distfiles bin boot etc lib32 lib64 opt root sbin usr var root@192.168.10.18:/mnt/backup .

  • 使用開機 
使用sys-boot/unetbootin把gentoo的開機光碟裝到USB 上,再來就把系統砍掉重練使用USB 開機

  • 重建分割區
使用gdisk進行分割區重建
 #gdisk

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            8191   3.0 MiB     EF02  BIOS boot partition
   2            8192          212991   100.0 MiB   8300  Linux filesystem
   3          212992         8601599   4.0 GiB     8200  Linux swap
   4         8601600       625142414   294.0 GiB   8300  Linux filesystem


  • 格式化分割區
# mkswap /dev/sda3
# mkfs.ext3 -L BOOT /dev/sda2
# mkfs.btrfs -L GENTOO /dev/sda4

  • 建立 btrfs subvolumne
# mkdir /mnt/root
# mount -t btrfs -o defaults,noatime,compress=lzo,autodefrag  /dev/sda4 /mnt/root

# btrfs subvol create /mnt/root/root
# btrfs subvol create /mnt/root/portage
# btrfs subvol create /mnt/root/home
# btrfs subvol create /mnt/root/varlog
# btrfs subvol create /mnt/root/vartmp
# btrfs subvol create /mnt/root/tmp

# mount -t btrfs -o defaults,noatime,compress=lzo,autodefrag,subvol=root /dev/sda4 /mnt/gentoo

  • 掛載分割區
# mkdir -p /mnt/gentoo/usr/portage
# mkdir -p /mnt/gentoo/usr/portage/distfiles
# mkdir -p /mnt/gentoo/boot
# mkdir -p /mnt/gentoo/home
# mkdir -p /mnt/gentoo/var/log
# mkdir -p /mnt/gentoo/var/log/apache2
# mkdir -p /mnt/gentoo/tmp
# mkdir -p /tmp /mnt/gentoo/var/tmp

# mount -t ext3  /dev/sda2 /mnt/gentoo/boot
# mount -t btrfs -o defaults,noatime,compress=lzo,autodefrag,subvol=home /dev/sda4 /mnt/gentoo/home
# mount -t btrfs -o defaults,noatime,compress=lzo,autodefrag,subvol=portage /dev/sda4 /mnt/gentoo/usr/portage
# mount -t btrfs -o defaults,noatime,compress=lzo,autodefrag,subvol=varlog /dev/sda4 /mnt/gentoo/var/log
# mount -t btrfs -o defaults,noatime,compress=lzo,autodefrag,subvol=vartmp /dev/sda4 /mnt/gentoo/var/tmp
# mount -t btrfs -o defaults,noatime,compress=lzo,autodefrag,subvol=tmp /dev/sda4 /mnt/gentoo/tmp

  • 重建資料
# cd /mnt/gentoo
# wget ftp://gentoo.cs.nctu.edu.tw/gentoo/gentoo-distfiles/releases/amd64/autobuilds/20140410/stage3-amd64-20140410.tar.bz2
# tar -vpxf  /stage3-amd64-20140403.tar.bz2
# rsync -av --delete --exclude=var/log --exclude=usr/portage/distfiles root@192.168.10.18:/{bin,boot,etc,lib32,lib64,opt,root,sbin,usr,var} .

  • 設定開機程式

# mount -t proc none /mnt/gentoo/proc
# mount --rbind /dev /mnt/gentoo/dev
# mount --rbind /sys /mnt/gentoo/sys
# chroot /mnt/gentoo /bin/bash
# env-update; source /etc/profile; export PS1="(chroot) $PS1"; cd

# vi /etc/fstab
/dev/sda2  /boot           ext3    noauto,noatime  1 2
/dev/sda3  none            swap    sw              0 0     
/dev/sda4  /               btrfs   defaults,noatime,compress=lzo,autodefrag,subvol=root    0 0
/dev/sda4  /tmp            btrfs   defaults,noatime,compress=lzo,autodefrag,subvol=tmp     0 0    
/dev/sda4  /var/tmp        btrfs   defaults,noatime,compress=lzo,autodefrag,subvol=vartmp  0 0
/dev/sda4  /var/log        btrfs   defaults,noatime,compress=lzo,autodefrag,subvol=varlog  0 0
/dev/sda4  /usr/portage btrfs   defaults,noatime,compress=lzo,autodefrag,subvol=portage 0 0
/dev/sda4 /home           btrfs   defaults,noatime,compress=lzo,autodefrag,subvol=home    0 0
# touch /etc/mtab
# grub2-install /dev/sda
# grub2-mkconfig -o /boot/grub/grub.cfg
  • 重開機後,大功告成

重開機進入系統後,第一個感覺就是系統明顯變快了,這一點非常出乎我意料之外,相較之前使用xfs及zfs,感覺系統順很多,這一切的努力是值得的,雖然沒有花多少時間 XD,我認為對一些使用者的好處是:


  1. 不需要多個分割區,所有的volumne共用相同的空間可避免浪費空間,而各volumne仍能依使用的差異使用不同的掛載參數。
  2. 透明壓縮除了可節省硬碟空間的使用外,還能因減少硬碟的實際存取資料量而加快資料的讀取速度 ,真是一兼二顧。
  3. 使用cow的技術可避免異外系統中斷時資料的完整性。
  4. 支援快速資料複製,你能想像在同volumne拷貝一個4G的檔案不需要一秒的時間還不多佔空間嗎?

Focus 四輪定位

我很不喜歡定位,因為每次定位都會讓車子的感覺不一樣
而這陣子因輪胎與底盤的問題在幾個月內做了三次的定位有感而發
上一次在A廠商定位方向盤有正,方向盤雖然會因為路面拉來拉去但是我可以接受
後來在A廠商換輪胎(仍為595RS)送定位(Hunter 3D)
定位完試車就直接發現方向盤左拉的情況很嚴重
所以要直線行駛就要用力讓方向盤往右推才行
只要放開方向盤就好像是食神歸位一樣的拉回去,大概會拉個10度左右
再上定位機看角度-沒問題,翻胎後仍然得到一樣的情況,廠商表示要解決該問題可考慮找信任的店家改可調式魚眼來調前輪的外煩角可改善問題
我因覺得原來並沒有這樣的問題表示考慮一下,於事我找B廠商定位看是否能解決問題
B廠商(百世霸非3D)看到我的輪胎直接就先說單導向輪胎本就容易有偏向的問題,定完位不一定能解決問題我也接受
一上定位機師傅就說:「怎麼會定成這個樣子,車子是呈11點鐘的姿態前進的」
定完後偏向的拉力幾乎減輕了一半就這樣用了一陣子
後來因更換三角架送了一個只壓偏滑版的爛前輪定位,因方向盤不正又偏拉又讓我邁向尋求定位之路
因B廠商太遠了,所以找了C廠商(百世霸非3D),其一樣在開頭就挑明的說單導向胎的問題,我也接受
一上定位機師傅就是說:「怎麼定位成這樣子」
定完後試車,一樣又拉了,後來過程中其整整幫我把四個輪胎前後調、翻胎都試過了情況並沒有改善
我接受了,領車離開,在路上因覺得方向盤不正再請C廠商幫我微調
來來回回機次微調完方向盤較正了,但是神奇的是方向盤的偏拉也減輕了,情況剩大概剩1/5吧

後來我思考應該是調整後toe-in的值變小(往toe-out)了的關係吧,解決了我一直以來的疑惑:為什麼本來不會這樣偏拉,而定完位後就偏拉了

再來我有一個疑惑是為什麼A廠商定位完,B廠商讀出來會差這麼多
我看定位機的sensor都只偵測四個輸輪的相對位置
這樣的話定位機似乎也無法定位出

1. 車身與輪胎的相對位置(車子螃蟹走)
2. 輪距的差異(同時改後輪仰角跟束角就會有問題)
3. 輪子的前後差異(有下過前輪的副車架就會有這個問題-與後傾角有關?)

當有這些問題時車子的操控情況跟感覺就會受到影響吧
只是不懂定位的廠商怎麼解決這些問題,還是並沒有解決?

有人可以釋疑嗎?

2014年5月20日 星期二

zfs on gentoo

去年花了點時間將我手上的gentoo server的partition轉成ZFS,當時會這樣做的原因是我手上的gentoo server因為不正常斷電而造成xfs及reiserfs的partition資料毀損,雖然用fsck搶救,但仍有部份資料無法找回,於是開始找有沒有更好的撰擇,後來發現了zfs,仔細研究了一下發現對我的優點還真是不少:
1. zfs支援copy on write(cow)可避免斷電時資料毀損的問題
2. 靈活的控間運用,所有的partition共用空間,不需要先指定空間給partition
3. 支援檔案壓縮,可減少使用空間
4. 支援Deduplication,可減少空間的使用
5. 支援snapshot,可進行時光回溯

當然zfs還有很多raid管理上的優點及nfs及samba的直接支援,只是我沒有用到就沒再去測試了,有興趣的人可以上網google一下

我主要是跟著下面網址的步驟去做的,gentoo應該是最容易實現zfs的套件了吧

http://forum.ubuntu.org.cn/viewtopic.php?f=105&t=386252

使用後的感想是共用空間的管理方式對我真的太方便了,cow也避免斷電的資料毀損問題,當時開了dedup的功能會吃掉太多的ram,後來還是將之關掉了,整個來看資料的存取感覺有變慢一點,但是一般用的時候差異不大,小檔案的讀取還是比xfs快,整體來說我覺得很ok,在btrfs還沒有ready之前,我覺得zfs是一個不錯的選擇。

但要把zfs用到production的環境上的話要好好的考慮一下,畢竟在linux上他不像其它的filesystem那麼的千錘百鍊,在測試的強度上及使用的經驗上(問題解決的SOP)都還不足,但是我相信應該是時間的問題而已

su:scsi_acer ~ # df
檔案系統                容量  已用  可用 已用% 掛載點
rootfs                  558G  8.1G  550G    2% /
udev                     10M  4.0K   10M    1% /dev
sda1pl/GENTOO/root      558G  8.1G  550G    2% /
tmpfs                   7.8G  716K  7.8G    1% /run
shm                     7.8G     0  7.8G    0% /dev/shm
cgroup_root              10M     0   10M    0% /sys/fs/cgroup
tmpfs                   8.0G  105M  7.9G    2% /tmp
sda1pl/HOME             662G  113G  550G   17% /home
sda1pl/PORTAGE/portage  552G  2.2G  550G    1% /usr/portage
sda1pl/GENTOO/var       553G  3.1G  550G    1% /var
su:scsi_acer ~ # zfs list
NAME                     USED  AVAIL  REFER  MOUNTPOINT
sda1pl                   136G   549G   136K  none
sda1pl/GENTOO           11.1G   549G   136K  none
sda1pl/GENTOO/root      8.09G   549G  8.09G  /
sda1pl/GENTOO/var       3.03G   549G  3.03G  /var
sda1pl/HOME              112G   549G   112G  /home
sda1pl/PORTAGE          2.12G   549G   136K  none
sda1pl/PORTAGE/portage  2.12G   549G  2.12G  /usr/portage
sda1pl/swap             10.6G   549G  10.3G  -
su:scsi_acer ~ #

Deduplication feature requires up to 5 GB RAM per Terrabyte Storage Space, so if you cannot afford this amount of exclusive RAM disable dedup by entering
zfs set dedup=off storage

Set zfs_arc_min and zfs_arc_max memory limit
Create a file in /etc/modprobe.d/zfs.conf and add and adjust the zfs_arc_min and zfs_arc_max mem parameters:

# Min 2048MB / Max 4096 MB Limit
options zfs zfs_arc_min=2147483648
options zfs zfs_arc_max=4294967296

2009年1月10日 星期六

視網膜效應

請問底下的影片中,穿白色衣服的那一組一共傳球幾次?



詳情請看

2009年1月8日 星期四

幾種漂移方法

幾種漂移方法
網路上看到的,放在這裡做個保留 ;)

一. Inertia-Drift
鬆油門並利用慣性使車尾甩出的過彎方式(適用于FR車種,適用於 120 度以上的大彎角)。
操作程式如下:
1.入彎前加速,入彎時松油門並同時猛切方向盤。
2.車子開始滑行後,降檔並加油門,讓車輛 1 邊打滑 1 邊出彎。
3.若只想小甩 1 下,可以不降檔。


二.Braking-Drift
踩刹車並利用車身重心轉移,使車尾甩出的過彎方式(適用于 FR 車種,適用於 90 度以上的彎角)。
操作程式如下:
1.入彎時重踩刹車並降檔,讓車重心前移。
2.猛切方向盤使車尾甩出。
3.反打方向盤修正進彎角度。
4.保持車速以滑行到可出彎的角度。
5.配合方向盤,暫態重踩油門出彎。


三.Sidebreak-Drift
拉手刹車使車尾甩出的過彎方式(適用于 FF 車種)
操作程式如下:
1.尚未到 1 般的入彎點處,提早切方向盤,然後拉手刹車使車輛側滑。
2.滑行時立即降檔,並保持滑行狀態到過彎頂點。
3.到達彎頂點時,幾即大腳油門出彎。


四.Straight-Drift
入彎前的直線處,就開始甩尾的過彎方式(適用于 FR 車種,適用於狹窄之 90 度彎)。
操作程式如下:
1.入彎前的直線上就開始切方向盤。
2.車子開始滑行時,同時降檔並保持油門深度。
3.滑行入彎點後,方向盤同時反向修正。
4.車頭以朝向出彎口的姿勢進入彎道。
5.車頭對到出彎口時,即大腳油門直進出彎。


五.Power-Drift  
利用改裝後驅車的大馬力,大扭力,使車尾甩出的過彎方式(適用於 FR,RR 車種)。
操作程式如下:
1.進彎前減速並降檔,放油門並小切方向盤。
2.進彎後大腳油門,驅動輪會應馬力擡大而抓不住地面,而讓車尾甩出。
3.此時用油門控制轉向程度,油門愈重,轉向角度愈多,車頭對到出彎點後,再順順地出彎。


六.Shift-Drift  
利用降檔使車身重心轉移,並讓車尾甩出的過窪方式。
操作程式如下:
1.進彎前略微提升車速,進彎時切方向盤,然後踩刹車並同時降檔。
2.此時車輛重心前移,車尾會突然向外甩出。
3.鬆開刹車並大腳油門出彎。


七.Feint Motion
利用左右重心移動使車尾甩出的過彎方式,也就是 1 般俗稱的慣性滑移(假右甩真左甩,適用於 FR,RR 車種)。
操作程式如下:
1.進彎前不切到外側,反而保持在中線附近。
2.方向盤在 1 瞬間往彎外方向切,暫態刹車使車身重心往前移。
3.此時方向盤往前進方向用力猛切,車子會以 Breaking-Drift 的原理甩出。
4.滑行時退檔放刹車,再大腳油門出彎。


八.4WD-Drift  
4 驅車過彎時稍微滑行甩尾的過彎方式。
操作程式如下:
1.入彎前加速,入彎時對準彎頂點,用力切方向盤並刹車降檔。
2.車子略呈 Straight-Drift 的方式滑行進彎。
3.過彎頂點時,大腳油門直線出彎。

2008年11月7日 星期五

前二十二大謊言

前二十二大謊言

網站:我們是免費的。

電信:我們是虧損的。

警察:我們是為人民服務的。

上市公司:我們不做假報表的。

老闆:我不會忘記你的貢獻。

公司職員:明天我就不幹了。

客車司機:準時出發。

商人:大虧本、大出血、大拍賣。

影視明星:我們只是朋友關係。

政客:我一分錢都沒收。

高官致詞:下面,我簡單地講兩句。

女孩:這是我的第一次。

男孩:乖,不會痛的。

女生:我真的知道路怎麼走...(騎車或開車時)

父母:我幫你把紅包存起來了

女人:(出門前化妝時) 馬上就好!馬上就好!

老師:再給我兩分鐘,我講完就下課.....

銷售員:這件衣服真的很適合你!!

老闆:我這件是最後一件!

考高分的同學:我沒看,都是用猜的


候選人:我發誓我絕對沒有說謊!!!若我說謊...全家死光??

2008年11月6日 星期四

進公司前後

進入公司前

老闆:萬分歡迎,沒有你我們的公司肯定大不一樣!

職員:如果工作太累,搞不好我會辭職的

老闆:放心,我不會讓這樣的事情發生的!

職員:我週休二日可以休息嗎?

老闆:當然了!這是底線!

職員:平時會天天加班到淩晨嗎?

老闆:不可能,誰告訴你的?

職員:有餐費補貼嗎?

老闆:還用說嗎,絕對比同行都高!

職員:有沒有工作猝死的風險?

老闆:不會!你怎麼會有這種念頭?

職員:公司會定期組織旅遊嗎?

老闆:這是我們的明文規定!

職員:那我需要準時上班嗎?

老闆:不,看情況吧

職員:工資呢?會準時發嗎?

老闆:一向如此!

職員:事情全是新員工做嗎?

老闆:怎麼可能,你上頭還有很多資深同事!

職員:如果管理職位有空缺,我可以參與競爭嗎?

老闆:毫無疑問,這是我們公司賴以生存的機制!

職員:你不會是在騙我吧?






進入公司後,由後往前讀

2008年8月10日 星期日

懸吊

Focus 2 前懸吊


Focus 2 後懸吊
獨立式SLA Control Blade後懸吊系統

改良式雙A臂結構,搭配刀刃式拖曳臂(Control Blade)與強壓鑄造的高韌性鋼材,能保持輪胎與地面最大接觸面積,賦予流暢犀利的操控表現與乘坐舒適。





Teana後懸吊



Lancia Lybra 的後輪獨立懸吊


BMW的懸吊結構


RS Mondeo
此的底盤設計採用德國「Nurburing Pack」懸吊組件


2008年6月24日 星期二

XFS vs ReiserFS 3

XFS
create 10000 files: 33.499s (CPU 1.120s)
create 10000 dirs: 30.681s (CPU 1.030s)
open 10000 files: 0.104s (CPU 0.060s)
open 10000 dirs: 0.105s (CPU 0.060s)
open dir with 20000 files: 0.008s (CPU 0.010s)
remove 10000 files: 30.746s (CPU 0.990s)
remove 10000 dirs: 31.983s (CPU 0.920s)
write 6 Gbytes: 72.532s (CPU 14.740s)
read 6 Gbytes: 2.356s (CPU 2.130s)
remove 6 Gbytes file: 0.163s (CPU 0.070s)

ReiserFS 3
create 10000 files: 0.495s (CPU 0.420s)
create 10000 dirs: 0.615s (CPU 0.530s)
open 10000 files: 0.096s (CPU 0.050s)
open 10000 dirs: 0.095s (CPU 0.060s)
open dir with 20000 files: 0.011s (CPU 0.000s)
remove 10000 files: 0.589s (CPU 0.500s)
remove 10000 dirs: 0.670s (CPU 0.590s)
write 6 Gbytes: 51.618s (CPU 18.930s)
read 6 Gbytes: 2.398s (CPU 2.180s)
remove 6 Gbytes file: 0.534s (CPU 0.450s)