วันเสาร์ที่ ๒๒ ธันวาคม พ.ศ. ๒๕๕๐

10 อย่าง ที่ไมโครซอฟท์จะทำในปี 2551 (Microsoft Predictions for 2008)

ช่วงนี้ใกล้ปีใหม่เข้าไปทุกทีแล้วนะครับ เลยแปลบทความสิ่งที่คาดว่าไมโครซอฟท์จะทำในปี 2008 มาเป็นของขวัญให้ผู้อ่านบล็อกแล้วกันนะครับ

1. Windows Media Center รุ่นใหม่ ซึ่งมี code name ว่า Fiji คาดว่าจะออกตัวเต็มมาราวๆ ไตรมาสที่ 2 ซึ่งคาดว่าจะมาพร้อมกับ Windows Vista (service pack 1) สิ่งที่ได้ปรับปรุงเพิ่มขึ้น เช่น
  • UI หรือหน้าตาโปรแกรมให้เข้ากับ Vista
  • ใช้ .NET Framework 3.5
  • ใช้ WinFX แทน NTFS โดยตรง (ประมาณ Virtual Folder)
  • HD-DVD playback build-in ซึ่งไม่ต้องลง decoder อื่น
  • integrate กับ Windows Live
  • เพิ่มความปลอดภัยด้วยการ implement NGSCB ลงไป
  • เพิ่มประสิทธิภาพ HDTV
2. ไมโครซอฟท์จะสามารถตกลงเรื่อง license กับ Apple ในการใช้โปรโตคอล Active Sync ได้ ไม่เกินปี 2008 นี้ ข้อตกลงนี้จะทำให้ iPhone สามารถ sync ข้อมูลต่างๆ เช่น email, calendar, contact list จาก Microsoft Exchange Server ได้
3. ไมโครซอฟท์อาจจะได้ตัว Don Mattrick ผู้บริหารฝ่ายพัฒนาเกมส์ของ Electronic Arts (EA) มาร่วมงานในส่วนธุรกิจบันเทิง (Interactive Entertainment Business) ซึ่งจะทำให้ Shane Kim รองประธาน ฝ่าย Games Studio โดนย้ายไปทำงานส่วนอื่น และจะเป็นจุดเริ่มของการเปลี่ยนแปลงครั้งใหญ่ในธุรกิจเกมส์ของไมโครซอฟต์

4. ไมโครซอฟท์จะพัฒนาเครื่องมือสำหรับ Facebook ออกมามากมาย เพื่อออกมาชนกับ Google (ซึ่งหนึ่งในนั้นคงจะมีเหมือน OpenSocial เช่น Microsoft Windows Live Contacts API ที่ไมโครซอฟท์กำลังพัฒนาอยู่)

5. Windows Mobile Phone จะนำความแปลกใหม่และความสามารถจาก Zune มารวมไว้ (เช่น การเคลื่อนนิ้วมือเพื่อเลือกหรือเปลี่ยนอะไรบางอย่างในหน้าจอ) และจะกลายมาเป็น Microsoft ZunePhone ใน ปี 2009 แต่ปี 2008 อาจจะออก Windows Mobile Music Feature (คล้าย concept nokia ไหม) มาก่อน

6. Microsoft Office เวอร์ชั่น 14 จะมี beta มาให้ลองในปี 2008 ซึ่งตัวเต็มจะกำหนดออกในปี 2009 (ไม่มี Office เวอร์ชั่น 13 นะครับ ส่วน MS Office 2007 คือ Office เวอร์ชั่น 12)
7. หลังจากที่ไมโครซอฟท์ได้ออกผลิตภัณฑ์ในกลุ่ม Enterprise Server มาในปี 2007 เช่น Microsoft Office Communications Server, SharePoint และ Exchange Server ซึ่งในปี 2008 นี้ ไมโครซอฟท์ก็จะออกมาเพิ่มอีก นั้นคือ Microsoft ForeFront สำหรับการเพิ่มความปลอดภัยและเพิ่มความสะดวกในการจัดการความปลอดภัย (Security) และผลิตภัณฑ์ประเภท Business-Intelligence (BI)

8. การต่อสู่ของมาตรฐาน format ของ document ยังมีต่อ เพราะเดือนกุมภาพันธ์ ปี 2008 นี้ ไมโครซอฟท์จะส่ง OOXML เข้าสู่การพิจารณาของคณะกรรมการมาตรฐาน ISO อีกครั้ง หลังจากปรับปรุงแก้ไขหลายๆ ส่วนมาแล้ว ซึ่งมีความเชื่อว่า OOXML จะได้รับการตอบรับจากคณะกรรมการ แม้จะมีการคัดค้านอย่างหนักก็ตาม และสงครามยกถัดไปจะขึ้นอยู่กับตัวแทนแต่ละประเทศ ว่าจะกำหนดเงื่อนไขที่จะยอมรับอย่างไร
9. Windows 7 จะออกในปี 2008 ค่อนข้างแน่นอน

10. Bruce Chizen, CEO ของ Adobe ที่จะหมดสัญญาการทำงานกับ Adobe เมื่อสิ้นปี 2007 อาจจะได้ร่วมงานกับไมโครซอฟท์ ในส่วนผลิตภัณฑ์ตระกูล Expression ซึ่งขณะนี้ Microsoft กับ Adobe ถือเป็นคู่แข่งด้าน design tool กัน

แหล่งข้อมูล :
What’s on Microsoft’s agenda for 2008?
Microsoft in 2008: 10 Predictions
Looking at Fiji and Vienna
Microsoft ForeFront

วันพฤหัสบดีที่ ๒๐ ธันวาคม พ.ศ. ๒๕๕๐

คนที่ค้นหาเกี่ยวกับ VB ส่วนใหญ่ใช้ keyword อะไรกัน? (What popular VB keywords in Google)

ปกติเวลาผมอยากจะค้นหาข้อมูลเกี่ยวกับ Visual Basic ผมมักจะใช้ keyword คำว่า VB.NET นำหน้าเสมอ (หลายทีก็ใช้ C# นำ) แต่พอผมลองใช้ Google Trends ในการเปรียบเทียบ keywords ต่างๆ ที่เกี่ยวกับ visual basic พบว่า VB.NET ที่ผมใช้บ่อยๆ กลับมีคนใช้กันน้อยที่สุด แต่ก็มียอดคงที่ๆ สุด คือ กราฟแทบจะขนานกับแกน x เลย

หลังจาก Microsoft ออก VB.NET มา นักพัฒนาก็เลยมีปัญหาการใช้ keywords ใน search engine มากขึ้น เพราะมีตัว keyword เพิ่มขึ้น บางทีก็ใช้ vb, vb.net, visual basic ถ้าเปรียบเทียบกับ java ก็ใช้ keyword java อย่างเดียวมาตลอด (แต่ไม่ทราบว่าทุกคนคิดเหมือนผมรึเปล่านะครับ ที่เวลา search ถ้าใช้ VB หรือ Visual Basic มันจะได้ผลลัพธ์ที่มี VB6 หรือก่อนหน้ามาด้วย ดังนั้นผมจึงคิดว่าใช้ VB.NET หรือ Visual Basic.NET หมายถึงเอาผลลัพธ์เฉพาะ VB บน .NET Framework)

วิเคราะห์จากสถิติ
สถิติบอกว่าคนใช้คำว่า VB และ Visual Basic ในการค้นหาน้อยลงเรื่อยๆ แต่ keyword อื่นไม่เพิ่มขึ้น แสดงให้เห็นถึงว่า คนใช้ VB น้อยลงเรื่อยๆ ซึ่งเราจะเห็นได้ว่าเป็นจริง เพราะเนื่องมาจากฐานคนใช้ VB6 ลดลงนั้นเอง ไอ้ที่ลดลงก็ไม่ใช่ว่าหันไปใช้ VB.NET นะ เพราะสถิติการใช้งานไม่เพิ่มขึ้น เลยสงสัยว่าคนคงหันไปใช้ C# แน่เลย ก็ลองใช้ Google Trends ในการเปรียบเทียบกับ C# อีก พบว่า C# ก็ไม่ได้เพิ่มขึ้น งั้นเอา Java มาเทียบดูอีก (เพราะคาดว่าคนอาจจะหนีไปเล่น Java เลย) แต่ผลกลับเป็นว่าแนวโน้วภาษาหลักๆ ส่วนใหญ่มีการใช้งานที่ลดลงหรือไม่ก็คงที่

นั่งงงซักพัก เลยลองหันมาดูสถานการณ์รอบตัว เพื่อมาเปรียบเทียบกับสถิติ แล้วพยายามสรุปตามกระบวนทรรศของผมเอง โดยผมได้ทำการเชื่อมโยงกับภาคการศึกษาไว้ด้วย ดังนี้ "แนวโน้มการศึกษาและใช้งานภาษา programming ลดลงโดยรวมทั้งโลก รวมทั้งประเทศไทย แม้ว่าความนิยมในสายงาน computer จะเพิ่มขึ้นอย่างมาก แต่ความนิยมเรียนในสาขา computer science ก็ไม่ได้เพิ่มขึ้น กลับนิยมเรียนสาขา IT ที่มีการเรียนหรือใช้งานด้าน programming น้อย แสดงให้เห็นกลายๆ ว่า คนชอบ programming น้อยลง ทั้งเด็กนักศึกษาและคนทำงาน เห็นได้จากการเบนไปทำอย่างอื่นมากขึ้น เช่น Tester, SA, DBA, Data Warehouse (ยังพบว่าตำแหน่งที่ว่ามา มีเด็กจบใหม่ทำงานมากขึ้น แทนที่จะมีประสบการณ์ programming มาบ้าง) ดังนั้น การที่ Google Trends บอกว่า VB หรือ Visual Basic ลดลง โดย keyword อื่นไม่ได้เพิ่มขึ้นนั้น จึงน่าจะมาจากเหตุข้างต้นนี้" (ผมเปรียบเทียบเฉพาะกับภาษาหลักๆ ที่ได้รับความนิยมนะครับ)

ส่วนในประเทศที่ใช้งาน Visual Basic อันดับต้นๆ นั้น 8 ใน 10 เป็นแถบเอเชีย (รวม Australia ด้วย)
ประเทศอินเดียจะใช้ Visual Basic มากที่สุดในโลก อันนี้ผมไม่ทราบที่มาเหมือนกันครับว่า วัฒนธรรมเค้าเป็นอย่างไร

สิ่งที่น่าสังเกต คือ
  1. News reference volume หมายถึง keywaords นี้ ปรากฎอยู่ในข่าวของ Google (Google News stories) มากน้อยเพียงใด ก็พบว่ามีข่าวเกี่ยวกับ VB เพิ่มขึ้นอย่างมากตั้งแต่ 2006 ที่ผ่านมา
  2. เมื่อเราใช้ Google Trends มาเปรียบเทียบภาษา Visual Basic กับภาษาอื่นๆ ยังไงก็แพ้กันเยอะ เพราะ keywords ของ Visual Basic เองมีหลายตัว ซึ่งถ้าเลือกไปเปรียบเทียบเพียงตัวเดียว เส้นกราฟ Visual Basic ที่ได้จะต่ำมาก ผมไม่รู้ว่ามันสามารถรวมกลุ่มของ keywords ได้ไหมนะครับ ท่านใดชำนาญช่วยค้นหาให้ที บางทีข้อมูลที่ได้อาจจะตรงกับความเป็นจริงมากขึ้นอีก
  3. ถ้าเปรียบเทียบ ASP กับ ASP.NET ก็พบว่ามีลักษณะเหมือนกันกับ VB จึงยืนยันได้ว่า เทคโนโลยีเก่าของ Microsoft มีการใช้งานน้อยลง โดยผู้ใช้เทคโนโลยีใหม่ (.NET) ไม่ได้เพิ่มขึ้น
แหล่งข้อมูล :
Google Trends
Google Trends - vb, vb.net, visual basic, C#

วันพุธที่ ๑๙ ธันวาคม พ.ศ. ๒๕๕๐

มาดูเครื่องมือสำหรับสร้างเกมส์ 3D ที่ทำด้วย .NET และ XNA กัน (First shader-based 3D engine & design tool built on .NET and XNA)

หลังจากที่เครียดๆ กันมาซักพัก เรามาบันเทิงกับเทคโนโลยีเครื่องมือผลิตเกมส์บ้างนะครับ

เครื่องมือตัวนี้มีชื่อว่า Visual3D.NET เป็นทั้ง engine และ tool สำหรับทำเกมส์บน PC และ Xbox 360โดยเฉพาะ คิดว่าน่าจะเป็น tool ตัวแรกๆ เลยมั่ง ที่ใช้ .NET Framework และ XNA Framework ในการพัฒนาเครื่องมือนี้ รองรับหลายภาษา ทั้ง C#, VB.NET, C++, JavaScript, IronPython ฯลฯ และ Integrate กับ Visual Studio 2005 และ CAD ได้ด้วย

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

Virtual World Creation with Visual3D.NET



แหล่งข้อมูล
:
visual3d.net
Microsoft XNA (Wikipedia)
ThaiXNA

วันจันทร์ที่ ๑๗ ธันวาคม พ.ศ. ๒๕๕๐

ปัญหาจากการ Attach ไฟล์ใน SQL Server เมื่อมีการเคลื่อนย้ายไฟล์ (Attach files problem in SQL Server 2005)

SQL Server นั้น สามารถเคลื่อนย้ายฐานข้อมูลได้หลายวิธี ซึ่งหนึ่งในนั้น คือ การใช้ขบวนการ attach/detach จากไฟล์ .mdf และ .ldf ที่นิยมกันมาก เพราะง่ายและสะดวก (แต่จะไม่สะดวกถ้าฐานข้อมูลมีข้อมูลจำนวนมาก เพราะทำให้ไฟล์มีขนาดใหญ่) แต่ปัญหาที่พบกันมากคือ เมื่อนำไฟล์ฐานข้อมูลไป attach ไว้อีกเครื่อง diagrams จะไม่สามารถใช้ได้ โดยจะมีคำเตือนขึ้นว่า "Database diagram support objects cannot be installed because this database does not have a valid owner. To continue, first use the File page of the Database Properties dialog box or the ALTER AUTHORIZATION statement to set database owner to a valid login, then add the database diagram support objects." อีกปัญหาคือย้าย path ของไฟล์ฐานข้อมูล (โดย copy หรือ cut ก็ตาม) ก็จะพบปัญหาการ login ไม่สำเร็จอีกเช่นกัน

ปัญหานี้สามารถแก้ไขได้โดยการสร้างสิทธิ์ให้ user ที่ต้องการ ให้สามารถเข้าถึงฐานข้อมูลนั้นได้ โดยใช้คำสั่ง

ALTER AUTHORIZATION ON DATABASE::database_name TO valid_login

database_name หมายถึง ฐานข้อมูลที่มีปัญหา ส่วน valid_login หมายถึง user ที่ต้องการกำหนดสิทธิ์

ถ้ายังไม่มี user สำหรับการเข้าถึงฐานข้อมูลนั้น ให้สร้าง user ในโฟลเดอร์ Security (ไม่ใช่ Security ในฐานข้อมูลนั้นนะครับ) คลิ๊กขวาที่โฟลเดอร์ Logins เพื่อเลือก New Login แล้วค่อยใช้คำสั่งด้านบนให้สิทธิ์แก่ user ใหม่ที่สร้างขึ้น

และสุดท้าย อย่าลืม stop services ก่อน เคลื่อนย้ายหรือก็อปปี้นะครับ ไม่งั้นจะโดนเตือนแบบนี้ครับ


แหล่งข้อมูล :
Understanding Database Diagram Ownership