วิธี enable Handoff และ Instant Hotspot ใน Macbook Air 2011

สืบเนื่องจากงานเปิดตัว OS X Yosemite ของ Apple ที่ผ่านมา ได้มีการเปิดตัว feature ใหม่คือ Continuity ซึ่งทำให้สามารถทำงานข้ามอุปกรณ์ของ apple ได้อย่างลื่นไหล อีกทั้งยังสามารถรับโทรศัพท์ได้จาก Mac อีกด้วย !

โดย feature นี้จะใช้ได้กับ Mac ที่มี Bluetooth 4 และ Bluetooth LE เท่านั้น ซึ่งผมดีใจมาก เพราะ Macbook Air ปี 2011 ที่ผมมีอยู่นั้นเป็นรุ่นเก่าที่สุดที่มี Bluetooth 4, LE พอดี เย้ !

แต่หลังจากการ upgrade จริงๆ พบว่า Macbook Air 2011 ไม่สามารถใช้งาน Handoff และ Instant Hotspot ได้ตามอย่างที่โฆษณา

handoff-1 handoff-2

ผมจึงไปค้นหาข้อมูลจากอากู๋เกิ้ล จนได้วิธี enable handoff มาตามกระทู้นี้

ซึ่งวิธีการทำนั้นคนที่ไม่แข็งแรงภาษาอังกฤษหรือคนที่ไม่ชำนาญ command line อาจกระอักเอาได้

ผมจึงอู้งานและใช้เวลาระหว่างอู้มาเขียน script เล็กๆ ไว้ เผื่อจะเป็นประโยชน์กับใครหลายๆ คนที่ใช้ Macbook Air ปี 2011 ครับ

การใช้งานให้ download HandoffEnabler มาแตกไฟล์แล้วรัน

โดยมันจะขึ้นมาถาม password ให้ใส่ไปครับ หากใครยังไม่ได้ตั้ง password ไว้ให้ไปตั้งก่อน

โดยเมื่อรันแล้วเครื่องจะถูก reboot โดยอัตโนมัติ เมื่อ reboot เสร็จแล้วให้รันใหม่อีกครั้ง เครื่องจะ reboot อีกที (สรุปต้องรันสองรอบ reboot สองรอบ)

จากนั้นให้เปิด Handoff แล้ว signout iCloud ทั้งบน Mac, iPhone, iPad ทุกเครื่อง reboot ทุกเครื่อง 1 ครั้ง และ signin ใหม่ทุกเครื่อง เป็นอันเสร็จพิธี

เมื่อทดสอบจนมั่นใจแล้วว่าใช้งานได้ปกติ ก็สามารถลบไฟล์ .kext บนหน้าจอ (ที่มี icon เป็นรูปเลโก้) ทิ้งได้เลยครับ

ปล. แน่นอนว่า script นี้ opensource ตามไปดูได้ที่ gist ครับ

Note 1

หากรัน script ผมแล้ว ยังไม่สามารถใช้งานได้, เครื่องเกิดอาการแปลกๆ หรือต้องการ uninstall ออก สามารถ download HandoffEnabler-undo ไปแตกไฟล์แล้วรันได้ครับ ทุกอย่างจะกลับมาเหมือนเดิมทุกประการ

Note 2

สำหรับวิธีการตั้ง password สามารถทำได้ดังนี้ครับ (ผม copy มาจาก entry เก่าใน blog)

เปิด /Applications/System Preferences.app เข้าไปที่ Users & Groups กด Change Password

Screen-Shot-2555-10-13-at-3.07.11-AM1

จากนั้นเราจะตั้ง Password ใหม่โดยช่อง Old Password ให้ปล่อยว่างไว้ครับ จากนั้นกด Change Password

Screen-Shot-2555-10-13-at-3.09.40-AM

รีวิว bittorrent sync

Bittorrent Sync คือโปรแกรมสำหรับแชร์ไฟล์ข้ามเครื่องแบบ dropbox ด้วย protocol p2p แบบ bittorrent (ข่าวใน blognone)

ซึ่งในขณะนี้ได้เปิดรับสมัคร Pre-Alpha tester อยู่ โดยตัวผมเองเนี่ยสมัครไปตั้งแต่วันแรกที่ข่าวออก และเพิ่งได้รับ link download โปรแกรมเมื่อไม่กี่วันมานี้

พอดีวันนี้ค่อนข้างเบื่อๆ อยากหาอะไรทำเลยจับมารีวิวแบบสั้นๆ โดย goal ของผมคือ dropbox replacement แบบไม่จำกัดพื้นที่โดยใช้ server ของตัวเอง

เนื่องจากตัว bittorrent sync เองเนี่ย ไม่ได้เก็บข้อมูลอยู่บน server เครื่องไหนเลย (เหมือนโหลดบิท) ไม่เหมือนกับ dropbox ที่เก็บข้อมูลอยู่บน server ของ dropbox เอง

ผมจึงต้องทำการเอา sync client ไปติดตั้งไว้บน server เพื่อที่จะได้ตัว server หลักในการเก็บข้อมูล (เหมือนเอาโคโล seed ไว้ตลอดเวลานั่นแหละ)

จากนั้นจึงทำการติดตั้ง sync client ที่เครื่องของผมเอง เพื่อทำการ sync files ระหว่างกัน เป็นอันจบ

การติดตั้งขอไม่อธิบายเพราะง่ายมาก และ link download ผมขอไม่แจกเพราะเขาห้าม ดังนั้นเหลืออย่างเดียวคือมาดูหน้าตากันเลยดีกว่า

ฝั่ง server สามารถ manage ผ่าน web ได้ โดยแต่ละเครื่องและ folder จะถูกแบ่งจากกันด้วย secret key (คือต้อง set key ตรงกันถึง sync กันได้)

Screen Shot 2556-04-16 at 2.05.38 AM

หน้าตาฝั่ง client (บน osx)

Screen Shot 2556-04-16 at 1.54.33 AM

Screen Shot 2556-04-16 at 2.09.46 AM

สรุปโดยรวมแล้วทำออกมาได้สมบูรณ์เลยทีเดียว (นี่ขนาด Pre-Alpha นะ) และ sync files ได้เร็วมาก คงได้รับอานิสงส์จาก p2p พอสมควร

ขอให้ product ออกมาแล้วให้ใช้ฟรี หรือขายราคาถูกๆ หน่อยเถอะ สาธุ ~ =/|=

รีวิว Maidreamin ดินแดนแห่งความฝัน

วันนี้ได้มีโอกาสไปคุยงานกับลูกค้าที่เกตเวย์เอกมัย
พร้อมกับนัดทีม programmer ของเราไปประชุมงานและพักผ่อนกัน
เนื่องจากเราต้องการที่นั่งเพื่อใช้คุยกันเองและคุยกับลูกค้า
เราจึงต้องร้านที่บรรยากาศสบายๆ และมีปลั๊กไฟให้ใช้ถ้าเป็นไปได้
ดังนั้นทางเลือกเดียวของเราจึงไปตกอยู่ที่ร้าน Maidreamin
ซึ่งเป็นเมดคาเฟ่บรรยากาศสบ๊ายสบายอย่างไม่มีเหตุผล… ห๊ะ !?

ขอบอกตามตรงครับว่า ที่ว่าคุยงานน่ะมันเป็นแค่ข้ออ้างครับ จริงๆ แล้วผมและทีมงานทั้งหมดอยากไปลองเป็นนายท่านในเมดคาเฟ่ดูบ้างต่างหากล่ะ 5555

ดังนั้นหลังจากนัดพบกันที่เกต์เวย์เอกมัยแล้วเราก็รีบเดินตรงดิ่งเข้าไปในร้าน Maidreamin ทันที

292745_113096315518509_821676892_n

ร้าน Maidreamin เป็นเมดคาเฟ่ (Maid Cafe) แห่งแรกที่มาเปิดสาขาในประเทศไทย โดยมีสาขาที่ญี่ปุ่นเป็นจำนวนมาก (มีที่ USA ด้วยนะ) ซึ่งเขาเคลมว่าเป็นเมดคาเฟ่อันดับหนึ่งของที่ญี่ปุ่นเลยทีเดียวล่ะ !!

เมื่อเข้ามาในบริเวณร้านก็จะมีเมดสาวน่ารักคอยต้อนรับและเชิญ (ต้อน) เข้าสู่ร้าน พวกผมจึงจัดแจงเดินเข้าไปและหาที่นั่งอย่างรวดเร็ว (ก็คนมันเขิลอะ)

จากนั้นจะมีเมดน้อยน่ารักเข้ามาต้อนรับพร้อมกับจุดเทียน โดยบอกว่าหากเทียนถูกจุดแล้วเราจะกลายเป็นนายท่านทันที !! จากนั้นคุณเมดเมดก็จะมาร่ายมนต์พร้อมกับให้เราช่วยกันนับถอยหลัง ก่อนจะเป่า (จุด) เทียน (ที่มีอันเดียวใช้กันทุกโต๊ะ 555) เพื่อให้เราเดินทางเข้าไปอยู่ในโลกแห่งความฝัน แล้วจึงเริ่มอธิบายกฎ ข้อห้ามและเมนูอาหาร

โดยกฎจะมีคร่าวๆ ดังนี้

  1. ห้ามถ่ายภาพภายในร้าน แต่ถ่ายภาพอาหารได้ (ถ้าอยากถ่ายภาพกับเมด จะมีบริการเชะกิโดยสอบถามจากเมดได้เลยครับ)
  2. ห้ามกระทำการใดๆ รบกวนคนอื่น
  3. ห้ามสัมผัสตัวเมด
  4. ห้ามให้ของขวัญเมดเป็นการส่วนตัว
  5. ห้ามถามข้อมูลส่วนตัวเมด
  6. ห้ามชักชวนเมดไปทำงานหรือกิจกรรมอื่น
  7. รับบัตรเครดิตเมื่อยอดเกิน  1,000 บาทขึ้นไป

ผมจึงสรุปไปเองอย่างรวดเร็วว่ากฎหลักๆ ก็คือห้ามจีบเมดนั่นแหละ 555
จากนั้นคุณเมดจะเริ่มแนะนำเมนูและบริการต่างๆ ซึ่งคุณเมดที่มาบริการโต๊ะผมคือ คุณเมดเนี๊ยว เนี๊ยว ~ ครับ
แค่นั้นไม่พอ ยังบอกว่าถ้าจะรับอะไรเพิ่มให้เรียกคุณเมดว่า เนี๊ยว เนี๊ยว ~ พร้อมกับทำท่า เพื่อเรียกคุณเมดมารับ order ครับ

ด้วยความที่ผมกลัวจะถ่ายทอดความโมเอะไม่ได้ตามที่คุณเมดอธิบาย เลยถ่ายภาพมาให้อ่านกันเองครับ (รีบถ่ายไปหน่อยเลยไม่ค่อยชัดนะครับ)

IMG_0508 IMG_0509 IMG_0510 IMG_0511

หลักจากตัดสินใจกันอย่างหนักหน่วง… ไม่ใช่เรื่องจะกินอะไรดีนะครับ แต่เป็นเรื่องเตรียมใจทำท่าเหมียวๆ กันทั้งโต๊ะเพื่อเรียกคุณเมดมารับ order ต่างหากครับ
เมื่อเตรียมใจกันพร้อมแล้ว เอ้า 1… 2… 3… น.. เนี๊ยววววว.. ~!
/me ทำท่าแมวเหมียวอย่างพร้อมเพรี….. เพื่อนแม่งปล่อยให้ผมทำอยู่คนเดียวครับ -*-

และแน่นอนว่าเมนูที่ชายฉกรรจ์สี่คนอย่างผมจะเลือกสั่งมาทานก็คือ….

ไข่เจียวโมเอะขนาดจัมโบ้นั่นเอง (แน่นอนว่าเมนูมันไม่ได้ชื่อนี้หรอก แต่ผมจำชื่อไม่ได้แล้ว)

IMG_0515

เมื่อสั่งอาหารเรียบร้อยแล้ว คุณเมดเมี๊ยวๆ ก็ประกาศทั่วร้านถึงการ order ของโต๊ะผม พร้อมกับให้พวกผมทำท่าตาม !?
ทุกคนในร้านหันพรึ่บ ! จ้องมองมาที่โต๊ะพวกผม… ชิบหายละ แค่ทำก็อายแล้ว นี่เล่นมองกันทั้งร้าน ตายดีกว่า

หลังจากที่พวกผมทำใจและยอมทำตามโดยดี ก็คุยงานกันต่อ ซักพักนึงคุณเมดก็ประกาศออก mic ว่า

“นายท่านโต๊ะไหนน๊า ที่สั่งเมนูนี้~ เอ๊ ~ โต๊ะไหนน๊าาาาา”

ผมจึงยกมือขึ้นเพื่อบอกให้คุณเมดรู้ว่าโต๊ะผมสั่งเองคร๊าบบบบ แต่คุณเมดก็ยังถามต่อไป… ในวินาทีนั้นเอง ผมก็รู้สึกได้ทันทีว่า ผมต้องทำไอท่าเมื่อกี้นี้ เพื่อบอกว่าโต๊ะผมสั่ง ก็เลยมองหน้าเพื่อน ก่อนจะพร้อมใจกัน…. “เนี๊ยววววว ~” จากนั้นคุณเมดก็มาเสริฟพร้อมกับใช้ซอสวาดรูปลงบนไข่และให้คุณเมดแทบทั้งร้านมาร่ายมนต์เพิ่มความอร่อย !? กับโต๊ะพวกผมโต๊ะเดียว !!?

โมเอะ โมเอะ บีมมมมมมมม ~!

บอกตรงๆ ว่าพวกผมตกใจและเขิลมาก คือเห็นโต๊ะอื่นสั่งกินกันก็มีคุณเมดแค่คนเดียวมาร่ายมนต์ แต่ทำไมผมสั่งแล้วร่ายกันทั้งร้านเลยฟระ แถมชวนลูกค้าคนอื่นมาช่วยกันร่ายอีก

จึงคิดไปเองว่าหากสั่งจัมโบ้จะได้รับการร่ายมนต์เพิ่มความอร่อยจากคุณเมดและสายตาจ้องมองจากลูกค้าทั้งร้าน (จริงๆ ผมจำ event อย่างละเอียดไม่ค่อยได้ เนื่องจากคุยงานกันอยู่)

ส่วนเรื่องเครื่องดื่ม จริงๆ แล้วผมไม่อยากกินน้ำเปล่าเลยนะ แต่พอเค้าเขียนชื่อเมนูว่า “โมเอะ วอเตอร์ (Moe Water)” เท่านั้นแหละ สั่งแบบไม่คิดเลย

ภาพ Moe Water (ผมเก็บ Moe Bottle กลับบ้านมาด้วยล่ะ 555)

IMG_0512 IMG_0513

เมื่อกินอาหารกันอิ่มก็เริ่มหาของหวานกินกัน ซึ่งผมไปบรรจบกับ Love Reamin Float (ชื่อนี้มั้ง ?) ซึ่งเป็น random drink ก็คือจะไม่รู้ว่าจะได้เครื่องดื่มอะไร หรือ ice-cream รสอะไร

IMG_0518

แน่นอนว่าคุณเมดเขาก็มาร่ายมนต์อีกตามเคย แต่รอบนี้เป็นคุณเมดอีกคน
“โมเอะ โมเอะ kyunnnnn~” (จนไอติมละลายอะ)

โดยผมได้เป็นน้ำองุ่น (มั้ง ?) และ ice-cream strawberry ซึ่งเริ่มละลายจนผมดูไม่ค่อยออกว่ามันเป็นตัวอะไร น่าจะเป็นกระต่าย ?

และระหว่างที่ผมและผองเพื่อนกำลังกินของหวานกันอยู่นั้น ก็มีคุณเมดคนนึงเดินไปปิดประตูร้าน !!?

ก่อนที่ผมจะเริ่มงงไปมากกว่านี้ Koko-san เมดสาวสุดน่ารักที่ถูก import มาจากเมืองนอก (ซึ่งน่ารักมว๊ากกกกกกกกก ถึงจะพูดไทยไม่ค่อยชัดแต่โมเอะเวอร์) ก็เริ่มเปิดการแสดง live show ของเหล่าเมดในร้าน ซึ่งก็ไม่รู้ว่าเป็นโชคดีของผมอันใด ที่ทำให้ Koko-san มาเต้นหน้าโต๊ะผมพอดิบพอดี !!  แถมเต้นเก่งเวอร์ !!(Koko-san บันซายยยยยยยย)

เมื่อการแสดงจบ พวกผมจึงขอถ่ายรูป (เชะกิ) กับคุณเมด ซึ่งคุณเมดทุกคนก็ใจดี มายืนให้ผมถ่ายทั้งร้านเลย (ผลจากสั่งอาหารจานจัมโบ้อีกแล้วครับท่าน 555)

เข้าใจว่าถ้าสั่งอาหารจานปกติ จะถ่ายรูปคู่กับเมดได้คนเดียวรึเปล่า ? (อันนี้ผมเดาเอาเองนะครับ)

IMG_0521

ขอเซนเซอร์หน้าตัวเองและพรรคพวกไว้หน่อยเนอะ

IMG_0520 IMG_0523

ซ้าย: บัตร passport เข้าดินแดนแห่งความฝัน
ขวา: Moe water แต่ละขวดจะถูกเขียนใหม่โดยคุณเมดทุกขวด

ผมเพิ่งรู้สึกตัวว่ามีบัตรของผมใบเดียวที่เขียนว่า sama ส่วนของเพื่อนผมถูกเขียนว่า san หมด อันนี้ไม่รู้คุณเมดเค้าเขียนผิดหรือจงใจ ?

โดยรวมแล้วรสชาติอาหารใช้ได้ เครื่องดื่มและ ice-cream อร่อยดี ที่นั่งสบายแถมมีปลั๊กไฟให้ใช้งานแยกแต่ละโต๊ะเลย ถูกใจมากๆ

ความโมเอะและบริการเกินร้อยจนเขิลม้วนไปหลายตลบ โดยเฉพาะ Koko-san เขาเต้นพริ้วมากๆ เต็ม 10 ให้ 1000 คะแนนเลย

หลังจากพวกผมใช้เวลาอยู่ในดินแดนแห่งความฝันจนเพลินก็ครบกำหนดเวลา คือจริงๆ ผมสามารถนั่งอยู่ในร้านได้ถึง 19:40 ตามกำหนดเวลาของทางร้าน แต่พวกผมอยากอยู่คุยงานต่อจนร้านปิด (สองทุ่ม) จึงขอต่อเวลา โดยทางร้านก็ใจดีลดราคาค่าต่อเวลาให้เหลือ 100 บาทเนื่องจากร้านใกล้ปิดแล้ว

เมื่อพวกผมออกจากดินแดนแห่งความฝันมาสู่โลกแห่งความจริง ก็มาพบกับความจริงอันน่าตกใจจากการเดินทางเข้าไปในดินแดนแห่งความฝันครับ 555

IMG_0525

ขอสรุปว่า

  • อาหารและเครื่องดื่ม 8/10
  • บรรยากาศ 10/10
  • ปลั๊กไฟ 10/10
  • ความโมเอะ 10/10
  • Koko-san 1000000000000/10 บันซายยยยยยยยย
  • ความคุ้มค่า -> Koko-san คนเดียวก็คุ้มแล้วครับ 5555

ผมเลยตั้งใจไว้แล้วว่าจะใช้เป็นที่ Meeting คุยงานในทีมผมเป็นประจำเนื่องจากมีปลั๊กไฟให้ใช้ (จะอัพเกรดจนได้บัตร VIP ให้ได้คอยดู)

สุดท้ายนี้ อยากให้ได้ไปลอง Maidreamin กันครับ ของเขาแหล่มจริงๆ = =b

533363_160028904158583_1831570482_n

ปล. Koko-san บันซายยยยยยย ><b
ปล. 2 บางอย่างผมไม่ได้เขียนไว้ เพราะไม่อยากสปอยมากครับ

 

ชี้แจงเรื่อง Giantic Omelette Rice หรือข้าวไข่เจียวโมเอะจัมโบ้ 699 บาท

ไข่เจียวโมเอะจัมโบ้ 699 เนี่ยเป็นข้าวผัดซอส ห่อไข่ omelette
ไม่ใช่ข้าวสวยธรรมดาโปะไข่เจียวนะครับ เดี๋ยวจะเข้าใจผิดกัน อีกทั้งเมนูนี้ยังรวม
+ เป็นจานใหญ่ระดับ 3 คนทาน
+ ถ่ายรูปกับเมดทั้งร้าน 1 รูป (ชิเกะ)
+ ได้เวลานั่งเพิ่ม 30 นาที
+ maid service ที่เยอะกว่าจานปกติมากกกกกก

ไม่ได้เป็นค่าอาหารอย่างเดียวครับ ถ้าไปแล้วหารกันผมคิดว่าก็โอเคอยู่ครับ

ค่าบริการเวลาเข้าไปจะมีค่านั่งชั่วโมงละ 50/คน (star seat ชั้นสอง 100/คน)
และต้องสั่งคนละ 1 order ครับ ซึ่งผมถามคุณเมดแล้วได้คำตอบว่า
เครื่องดื่มอะไรก็ตามที่ไม่ใช่ moe water นับเป็น 1 order หมด
และบังเอิญว่าตอนผมไปมีโปรโมชั่น ฟรี 1 ชั่วโมงแรก (ไม่รู้ตอนนี้ยังจะฟรีอยู่มั้ย)

ดังนั้นเข้าไปสั่ง 699 1 จาน และเครื่องดื่ม 69 คนละแก้ว
สมมติว่าไปกัน 4 คนจะได้ราคา 699 + 69 + 69 + 69 + 69 = 975 บาท
+ service charge 10% = 1072.5 บาท
+ vat 7% = 1148 บาท
ตกคนละ 287 บาท

ราคาพอๆ กับไปกินร้านอื่นๆ ที่อิ่มพุงมากกว่า
ดังนั้นอยากอิ่มกายหรืออิ่มใจก็ต้องเลือกแล้วล่ะครับงานนี้ 555

Autopy installation on osx

คำเตือน : เนื่องจากผมได้ลงทุกอย่างไว้หมดแล้ว ดังนั้นภาพอาจที่เห็นไม่ตรงกับเครื่องของท่านนะครับ

ขั้นแรก ให้เปิด App Store ขึ้นมา จากนั้นจัดการลง Xcode ซะ

Screen-Shot-2555-10-13-at-2.55.59-AM

จากนั้นเปิด Xcode ขึ้นมาแล้วกด Preference

ไปที่ Tab Downloads -> Components แล้ว Click Install ตรง Command line tools (ในภาพของผมจะเป็น Update) แล้วรอจนเสร็จ

Screen-Shot-2555-10-13-at-3.02.14-AM

เมื่อเสร็จแล้วให้ปิด Xcode ไปได้ มันหมดหน้าที่ละ

จากนี้เราจะทำการตั้ง Password ให้ Account ของเครื่องเรากัน (หากใครมี Password อยู่แล้วให้ข้ามไปได้เลยครับ)

เปิด /Applications/System Preferences.app
เข้าไปที่ Users & Groups กด Change Password

Screen-Shot-2555-10-13-at-3.07.11-AM1

เราจะตั้ง Password ใหม่โดยช่อง Old Password ให้ปล่อยว่างไว้ครับ จากนั้นกด Change Password

Screen-Shot-2555-10-13-at-3.09.40-AM

Download libjpeg-libpng (universal).dmg มาลงครับ

จากนั้นเข้าไปที่ /Applications/Utilities เปิด Terminal.app ขึ้นมา

Screen-Shot-2555-10-13-at-3.12.23-AM

พิมพ์คำสั่งตามนี้ ถ้ามันถามหา Password ก็ใส่ไปครับ (หรือก๊อปคำสั่งไปวางก็ได้ แต่ต้องมั่นใจว่าก๊อปถูก ไม่ขาดไม่เกินนะ)

sudo easy_install PIL
sudo easy_install http://balll.me/wp-content/uploads/2013/04/autopy-osx.zip

เมื่อลงเสร็จแล้วให้ลองทดสอบโดยเปิด Terminal ขึ้นมา แล้วพิมพ์ python เพื่อเข้าใช้ python จากนั้นให้ลอง

import Image
import autopy

จะต้องไม่ขึ้น error อะไรตามภาพ เป็นอันเสร็จสมบูรณ์

Screen-Shot-2555-10-13-at-3.23.08-AM

Windows Loader on KVM Guest

สืบเนื่องจากมีลูกค้าดันอยากได้ Windows VPS ไอ่เราก็โอเค server ตูมี KVM เฟร้ย
เลยจัดการสร้าง VM แล้วลง OS ตามปกติ พอลงเสร็จก็ update และ windows loader ตามสูตร
จากนั้น reboot ทีนึงหวังว่าจะส่งมอบให้ลูกค้าได้ละแต่ทว่า…

ชิบหาย boot ไม่ขึ้น
เราก็นึกในใจตายห่าละเป็นไรวะ นั่งงมอากู๋อยู่ตั้งนานได้ความมาว่า
ไอ่ KVM เนี่ย มันใช้ seabios ซึ่งไม่สนับสนุน Windows Loader ที่ crack ผ่่านการหลอก SLIC
ทำให้ Windows Activate เป็น OEM ได้ เพราะ seabios มันไม่ support… เออ ง่ายเนอะ

ทีนี้จะทำยังไงดีล่ะ ค้นอากู๋ต่อไปก็ไปเจอกับ hacker ผู้น่ารักบอกว่า
ให้ dump SLIC จากบอร์ดของเครื่องที่มี license oem มา
แล้วเอาไป patch ใส่ seabios compile ใหม่… แล้วตูจะไปเอา SLIC มาจากไหน(ฟระ)

แท่นแท๊นนนน จากนี่ไง

static char SLIC[] = {
0x53, 0x4c, 0x49, 0x43, 0x76, 0x01, 0x00, 0x00, 0x01, 0x2f, 0x47, 0x42,
0x54, 0x20, 0x20, 0x20, 0x47, 0x42, 0x54, 0x55, 0x41, 0x43, 0x50, 0x49,
0x01, 0x00, 0x00, 0x00, 0x4d, 0x53, 0x46, 0x54, 0x40, 0x42, 0x0f, 0x00,
0x00, 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, 0x06, 0x02, 0x00, 0x00,
0x00, 0x24, 0x00, 0x00, 0x52, 0x53, 0x41, 0x31, 0x00, 0x04, 0x00, 0x00,
0x01, 0x00, 0x01, 0x00, 0xbf, 0x89, 0x52, 0xfd, 0x37, 0x4b, 0xc9, 0x81,
0x97, 0xa1, 0xc3, 0xb7, 0x35, 0xb5, 0xe2, 0x55, 0x96, 0xf6, 0x8c, 0xef,
0x6f, 0xe8, 0xb0, 0xf8, 0x15, 0x7b, 0x8d, 0xa0, 0x65, 0xc4, 0x61, 0xb3,
0x18, 0x39, 0x32, 0xb9, 0x9c, 0x74, 0xe3, 0xc5, 0xe1, 0x4f, 0xcc, 0xd6,
0x1e, 0x67, 0x21, 0x36, 0x95, 0x27, 0xb6, 0x6a, 0x3b, 0x9e, 0x78, 0x08,
0x64, 0xa3, 0x26, 0x81, 0x91, 0x49, 0x64, 0x9b, 0x1c, 0xec, 0xd0, 0x29,
0x8c, 0x68, 0xa9, 0x2e, 0x29, 0xe8, 0x7f, 0xbd, 0xff, 0xe1, 0x22, 0xd3,
0x73, 0x8e, 0x21, 0x2b, 0xe1, 0x16, 0xe8, 0x19, 0x1f, 0x18, 0xa3, 0xb4,
0x6f, 0x66, 0x0e, 0x78, 0xf1, 0xe3, 0x1f, 0x73, 0x90, 0xaf, 0xa8, 0xb7,
0xc3, 0x57, 0x5a, 0x34, 0x2e, 0xf9, 0x66, 0x1e, 0x3c, 0xbf, 0x10, 0x63,
0x57, 0x50, 0x88, 0x6b, 0xc9, 0xf6, 0xac, 0x21, 0xbe, 0x8d, 0x97, 0xc2,
0x01, 0x00, 0x00, 0x00, 0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
0x47, 0x42, 0x54, 0x20, 0x20, 0x20, 0x47, 0x42, 0x54, 0x55, 0x41, 0x43,
0x50, 0x49, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x53, 0x20, 0x01, 0x00,
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x17, 0xc8, 0xe2, 0x08, 0x86,
0xa2, 0x97, 0xa0, 0x7b, 0x2f, 0xf2, 0x27, 0x46, 0xfe, 0x8e, 0x59, 0x3f,
0x83, 0xdb, 0x87, 0x79, 0x3a, 0x39, 0xc9, 0x2c, 0x9a, 0x40, 0xb0, 0xce,
0xa8, 0xdb, 0xfe, 0xcf, 0xe7, 0x03, 0x3c, 0xe0, 0x0e, 0x6d, 0x7d, 0x0b,
0x25, 0x74, 0x0f, 0xe1, 0x1e, 0x7c, 0x45, 0x47, 0x33, 0xd7, 0xab, 0x28,
0x9f, 0x05, 0x40, 0x31, 0x2d, 0x71, 0x30, 0x19, 0xac, 0x7a, 0x10, 0xaf,
0xb8, 0xa9, 0x3a, 0x05, 0x49, 0xbe, 0x73, 0x03, 0x48, 0xf0, 0x0a, 0xd1,
0x21, 0x02, 0xb8, 0x05, 0x83, 0x4e, 0xbb, 0x58, 0xfa, 0xc9, 0xa3, 0x82,
0xb5, 0xe0, 0x2a, 0x77, 0x8e, 0x10, 0x04, 0x02, 0x4b, 0x73, 0xf5, 0x11,
0xc7, 0xbb, 0xc5, 0x34, 0x9b, 0xe0, 0xc0, 0xc2, 0xbe, 0x0f, 0xbf, 0x23,
0x40, 0x53, 0x20, 0x85, 0x42, 0x41, 0xcc, 0x8c, 0x2a, 0xef, 0xda, 0x58,
0x5c, 0xdb
};

แล้วก็ seabios patch

diff –git a/src/acpi.c b/src/acpi.c
index 6428d9c..10ce5e8 100644
— a/src/acpi.c
+++ b/src/acpi.c
@@ -198,6 +198,11 @@ struct srat_memory_affinity
#include “acpi-dsdt.hex”
+#define CONFIG_OEM_SLIC
+#ifdef CONFIG_OEM_SLIC
+#include “acpi-slic.hex”
+#endif
+
static void
build_header(struct acpi_table_header *h, u32 sig, int len, u8 rev)
{
@@ -210,6 +215,10 @@ build_header(struct acpi_table_header *h, u32 sig, int len, u8 rev)
memcpy(h->oem_table_id + 4, (void*)&sig, 4);
h->oem_revision = cpu_to_le32(1);
h->asl_compiler_revision = cpu_to_le32(1);
+#ifdef CONFIG_OEM_SLIC
+ if (sig == RSDT_SIGNATURE) // only RSDT is checked by win7 & vista
+ memcpy(h->oem_id, ((struct acpi_table_header*)SLIC)->oem_id, 14);
+#endif
h->checksum -= checksum(h, len);
}
@@ -626,6 +635,17 @@ acpi_bios_init(void)
ACPI_INIT_TABLE(build_hpet());
ACPI_INIT_TABLE(build_srat());
+#ifdef CONFIG_OEM_SLIC
+ { void *buf = malloc_high(sizeof(SLIC));
+ if (!buf)
+ warn_noalloc();
+ else {
+ memcpy(buf, SLIC, sizeof(SLIC));
+ ACPI_INIT_TABLE(buf);
+ }
+ }
+#endif
+
u16 i, external_tables = qemu_cfg_acpi_additional_tables();
for(i = 0; i < external_tables; i++) {
diff –git a/src/ahci.c b/src/ahci.c
index b820e28..9c4315f 100644
— a/src/ahci.c
+++ b/src/ahci.c
@@ -408,7 +408,6 @@ static void
ahci_detect(void *data)
{
struct ahci_ctrl_s *ctrl = data;
– struct ahci_port_s *port;
u32 pnr, max;
int rc;
@@ -422,7 +421,7 @@ ahci_detect(void *data)
dprintf(1, “AHCI/%d: link %sn”, pnr, rc == 0 ? “up” : “down”);
if (rc != 0)
continue;
– port = ahci_port_init(ctrl, pnr);
+ ahci_port_init(ctrl, pnr);
}
}
diff –git a/src/bregs.h b/src/bregs.h
index 9a381d0..f026fa8 100644
— a/src/bregs.h
+++ b/src/bregs.h
@@ -37,9 +37,9 @@
struct bregs {
u16 ds;
u16 es;
– UREG(edi, di, di_hi, di_lo);
– UREG(esi, si, si_hi, si_lo);
– UREG(ebp, bp, bp_hi, bp_lo);
+ UREG(edi, di, di8u, di8l);
+ UREG(esi, si, si8u, si8l);
+ UREG(ebp, bp, bp8u, bp8l);
UREG(ebx, bx, bh, bl);
UREG(edx, dx, dh, dl);
UREG(ecx, cx, ch, cl);

จากนั้น make ตามปกติก็จะได้ bios.bin อันใหม่มา เอาไปไว้ใน /usr/share/kvm
แล้วก็กดโลด รอบนี้ activate ได้แถมไม่ต้อง reboot อีกตะหาก เยี่ยม = =b

wget on Mac OSX Mountain Lion

wget http://ftp.gnu.org/gnu/wget/wget-1.14.tar.gz
tar -xf wget-1.14.tar.gz
cd wget-1.14
./configure –with-ssl=openssl
make
sudo make install

สำคัญที่ –with-ssl=openssl เพราะ default ssl ของ wget เป็น GNUTLS แต่ OSX ไม่มี GNUTLS ติดมาให้จึงใช้ openssl แทนครับ

ปล. ต้องลง XCode และ Command line tools ก่อนนะครับ

Installing MySQL-python with MAMP

จดไว้กันลืมครับ Install MySQL-python ใน OSX โดยใช้ MySQL ที่มากับ MAMP 2.1.2

ขั้นแรกลง cmake ก่อน เพื่อ compile mysql library

brew install cmake

โหลด mysql src ที่ MAMP ใช้มาแล้ว cmake มันซะ

cmake . -DMYSQL_UNIX_ADDR=/Applications/MAMP/tmp/mysql/mysql.sock -DCMAKE_INSTALL_PREFIX=/Applications/MAMP/Library
make -j 3

copy library ที่ได้ไปใส่ MAMP

install_name_tool -change /Users/Balll/Desktop/MAMP_components_2.1.2/mysql-5.5.29/libmysql/libmysqlclient.18.dylib /Applications/MAMP/Library/lib/libmysqlclient.18.dylib `pwd`/libmysql/libmysqlclient.18.dylib
cp libmysql/*.dylib /Applications/MAMP/Library/lib/
mkdir -p /Applications/MAMP/Library/include/mysql
cp -Rf include/* /Applications/MAMP/Library/include/mysql

โหลด source MySQL-python มาแล้วแก้ site.cfg uncomment และแก้บรรทัด mysql_config เป็น

mysql_config = /Applications/MAMP/Library/bin/mysql_config

แล้วเพิ่มบรรทัดนี้ไว้ใน ~/.bash_profile

export DYLD_LIBRARY_PATH=/Applications/MAMP/Library/include/mysql

จากนั้นสั่ง

python setup.py build
install_name_tool -change /Users/Balll/Desktop/MAMP_components_2.1.2/mysql-5.5.29/libmysql/libmysqlclient.18.dylib /Applications/MAMP/Library/lib/libmysqlclient.18.dylib `pwd`/build/lib.macosx-10.8-intel-2.7/_mysql.so
sudo python setup.py install

ทดสอบ

python
import MySQLdb
ถ้าไม่มี error = done

ปล. อย่าลืมเปลี่ยน path ตามเครื่องตัวเองนะครับ พวก /Users/Balll/*

 

โกงเงิน Airport Scanner บน iPhone โดยไม่ต้อง Jailbreak

วิธีการง่ายๆ ไม่กี่ขั้นตอนครับ ไม่ต้อง Jailbreak ด้วย

ใช้ iExplorer หรือโปรแกรมคล้ายๆ กันดึงไฟล์ Game.sav ออกมาจาก folder Document ของเกมส์
จากนั้นใช้โปรแกรมประเภท HexEditor (ผมใช้ HexFriend) เปิดไฟล์ที่ดึงออกมา
หา 42554B53 00000004 จากนั้นนับไปอีก 4 bytes แล้วเพ่งไว้ดีๆ
แก้เลข 4 bytes นั้นเป็นจำนวนเงินที่ต้องการ (ตามภาพ ผมแก้เป็น 00FFFFFF)

Screen-Shot-2555-09-29-at-7.35.58-AM

save แล้ว upload คืนที่เดิม
เสร็จแล้วครับ : )

IMG_06601

Setup roundcube webmail with kerio mail server

roundcube เป็น webmail ที่มีความสวยงามมากตัวหนึ่ง และด้วยความที่มันเป็น webmail ที่ลงง่ายมาก (โดยเฉพาะเครื่องที่มี DirectAdmin) จึงอยากลองนำไปใช้แทน kerio webmail ที่หน้าตาไม่ค่อยดีดูบ้าง

เนื่องจาก kerio connect มันอยู่คนละเครื่องกับเครื่อง DA ที่ลง roundcube ไว้ จึงต้องแก้ไขบรรทัดพวกนี้ใน config/main.inc.php

$rcmail_config[‘default_host’] = ‘ssl://mail.%s’;
$rcmail_config[‘imap_auth_type’] = ‘PLAIN’;
$rcmail_config[‘smtp_server’] = ‘%h’;
$rcmail_config[‘smtp_auth_type’] = ‘PLAIN’;

เป็นอันเสร็จพิธี

หมายเหตุ – imap และ smtp server จะต้องอยู่ที่ mail.domain.tld เสมอ