Pages

Thursday, October 14, 2010

WiiMote Velocity and Position

The Wiimote provides acceleration data on 3 axis (x,y,z). The acceleration data provided from the Python Cwiid module is an integer and not a direct m/s2 or g value. I have looked a little bit online, but have not utilized a conversion factor yet, so this program just displays the output without any units.

Data is gathered about every hundredth of a second and averaged across 3 points. So the plot resolution is about 0.03 seconds. Velocity is calculated using simple numerical integration:
      vi = vi-1 + ai(ti - ti-1)

    (where a is acceleration, v is velocity, t is time, i is the current data point, i-1 is the previous data point)

To improve the accuracy of the velocity integration, the program ignores changes in acceleration below a specified threshhold. So if acceleration changes less than "x", the velocity equals the previous data points velocity.

Position is calculated similar to velocity. It is the integration of velocity.
      pi = pi-1 + vi(ti - ti-1)

    (where p is position, v is velocity, t is time, i is the current data point, i-1 is the previous data point)

To test the data analysis I came up with a simple experiment. The Wiimote starts out at rest on my desk. I then proceed to lift it up about 2 feet and then bring it back down to the desk, and again let it sit at rest. I tried not to rotate the Wiimote or alter the x or y positions. Here are the results:
Notice that the position does not get back to 0 even though I set the Wiimote back on my desk. This has to do with the summation of errors from integration. You can also see that even though the Wiimote is at rest at the end, the position is moving up slightly. This is due to a velocity slightly over 0. The acceleration data is good but the position and velocity data are not good enough for a real experiment, but can provide a ballpark answer. Searching online about this topic, someone mentioned that the Wii designers added the sensor bar to account for this inaccuracy.


DOCUMENTATION - IR Sensor Position

The Wiimote also has an infrared (IR) camera and the Wii sensor bar is actually just 2 infrared LEDs. Using the Python Cwiid library, you can get the IR (infrared sensor) data from the sensor bar or another IR device (like a IR LED). This provides a better measurement of position. The Wiimote provides position and intensity values for up to 4 IR sources and the Cwiid Python module can provide this data for us also.

For this experiment I did not actually have a Wii Sensorbar, so I just used a IR LED that I purchased at RadioShack. It is a high intensity IR LED with a forward current of 100 mA and a forward voltage of 1.2V. Hooking it up to a 5 volt source, I used a 47 ohm resistor in series.

Velocity is calculated using numerical differentiation:
      yi+1 - yi
      ------------
      ti+1 - ti


Acceleration is calculated as the second derivative of position with numerical methods:
      yi+2 - 2yi+1 + yi
      -----------------------------
      (ti+2 - ti+1)(ti+1 - ti)

The following plot shows the raw output of the y position of the IR LED and also the calculated velocity and acceleration using differentiation.

Thursday, September 30, 2010

Installation VS2003 on Window7

First your system require FontPageServer 2002 read this article for help your

After your machine ready to install

มาเริ่มกันเลยครับ

สำหรับรายการนี้ผมจะลงแค่ VS2003 นะครับไม่ได้ลง MSDN ด้วย แบบว่าขี้เกียจ

  1. หลังจากที่ใส่แผ่นเข้าไปแล้วให้ คลิกขวา ที่ autorun ครับ
  2. เลือก Run as administrator
  3. จากนั้นจะเช็ค system requirement ว่าครบไหม และหลังจากที่ครบแล้ว
  4. คลิกที่ Visual studio 2008 เลยนะครับ (ตรงนี้ลืมเก็บภาพมาให้ดู)
  5. เลือก I agree พร้อมกับใส่ product key กับ user แล้วคลิก continue
  6. ก็จะไปหน้าถัดไป เพื่อเช็คว่า disk พอกับการ install หรือไม่

  7. จากนั้นก็เลือก Install Now! เลยครับ

  8. รอ ครับ รอ รอเป็นนักโบราณคดี
  9. แล้วก็รอ ต่อไป ผ่านไปแล้ว 10 นาที
  10. มาแล้ว และมันก็บอกให้ใส่แผ่านที่สองเข้าไป

  11. พร้อมใส่แผ่นที่สองเลยครับ เสร็จแล้วก็คลิก OK และรอ หว่าง install

  12. และแล้วก็เสร็จซะที

มาลองเป็นนักโบราณคดีดูฮ่า ๆ ๆ



Install FrontPage Server Extensions on Window 7

Introduction

As most people that have installed IIS 7.0 on Windows Vista and Windows Server© 2008 have realized, there are no options to install the FrontPage Server Extensions, leaving only two ways to edit your Web site if it is hosted on a Windows Vista or Windows Server 2008 computer:

  • Edit the Web site locally by using the file system.
  • Use FTP to upload your files to a remote Windows Vista or Windows Server 2008 computer.

Microsoft realizes that the FrontPage Server Extensions are essential to many Web hosting companies and developers, and has worked with Ready-to-Run Software to release a version of the FrontPage 2002 Server Extensions (FPSE 2002) for Windows Vista and Windows Server 2008. This version of FPSE 2002 is available for x86 (32-bit) and x64 (64-bit) Windows Vista and Windows Server 2008 as a separate download for IIS 7.0, and you can download this version by clicking the following URL:

In This Walkthrough

Notes:

  • The FrontPage 2002 Server Extensions (FPSE 2002) are not supported for IIS 7.5 on Windows 7 or Windows Server 2008 R2. If you attempt to install FPSE 2002 on Windows 7 or Windows Server 2008 R2, you should receive several installation errors, following which the server extensions will fail to work.
  • This release of the FrontPage 2002 Server Extensions (FPSE 2002) is supported Ready-to-Run Software. More information about Ready-to-Run Software is available at the following URL:
  • This version of FPSE 2002 introduces no new functionality; it is essentially the same version of FPSE 2002 that was created for Windows Server 2003, but it has been updated to work on Windows Vista or Windows Server 2008. By way of additional explanation, FPSE 2002 is part of the Office XP system of products. The Office XP system, including FPSE 2002, left mainstream support on July 11th, 2006, according to the Office lifecycle policy. Because Microsoft's support policy is to remove software from the Download Center that is no longer supported, FPSE 2002 was removed from the Microsoft Download Center at that time as a separate product. FPSE 2002 continues to be available and supported on Windows Server 2003 through the Add Windows Components section of the Add/Remove Programs control panel.

FPSE Prerequisites

Supported Platforms

This version of the FrontPage Server Extensions is only supported on the following platforms:

  • Windows Server 2008:
    • All SKUs
  • Windows Vista:
    • Business
    • Enterprise
    • Ultimate
    • Home Premium

Note: FPSE 2002 is not supported for IIS 7.5 on Windows 7 or Windows Server 2008 R2

Required Role Services and Features

The following role services and features are required to install the FrontPage 2002 Server Extensions (FPSE 2002) on Windows Vista or Windows Server 2008. If they are not already installed on your computer when you install FPSE 2002, they will be installed for you automatically. If you do not want these role services and features installed on your computer, you cannot install FPSE 2002.

  • Web Server (IIS) Role Services:
    • Web Server
      • Common HTTP Features
        • Static Content
        • Default Document
        • Directory Browsing (See note 1)
        • HTTP Errors (See note 1)
      • Application Development
        • ISAPI Extensions
        • ISAPI Filters
      • Health and Diagnostics
        • HTTP Logging (See note 1)
        • Request Monitor (See note 1)
      • Security
        • Windows Authentication or Basic Authentication (See note 2)
        • Request Filtering
      • Performance
        • Static Content Compression (See note 1)
    • Management Tools
      • IIS Management Console (See note 1)
      • IIS 6 Management Compatibility
        • IIS 6 Metabase Compatibility
  • Features:
    • Windows Process Activation Service
      • Process Model

Notes:

  1. These role services are required to install the FrontPage Server Extensions, but they are optional once installation has completed. After installation is complete, you can use Server Manager to remove one or more of the optional role services if you do not require the functionality that they provide. However, most of these optional role services are useful for configuring and monitoring your Web server.
  2. The following authentication method is required by the FrontPage Server Extensions depending on your version of Windows:
    • Windows Authentication is required for all versions of Windows Server 2008 and all versions of Windows Vista except Windows Vista Home Premium.
    • Basic Authentication is required for Windows Vista Home Premium.

FPSE Installation on Windows Vista or Windows Server 2008

Downloading FPSE

To install the FrontPage 2002 Server Extensions (FPSE 2002) on Windows Vista or Windows Server 2008, begin by downloading the installation package from the following URL:

After you have downloaded the FPSE 2002 installation package, you need to make sure that you install the FrontPage Server Extensions using full administrative permissions. This is best accomplished using one of two methods:

  • Log in to your computer using the local "administrator" account, then double-click the installation package to being the installation process.
  • If you are logged in using an account with administrative permissions that is not the local "administrator" account, open a command prompt using the "Run as Administrator" option, then use the following command to start the installation process:

    msiexec /i \.msi

Note: The above steps are required because the User Account Control (UAC) security component in the Windows Vista and Windows Server 2008 operating systems will prevent the FPSE 2002 installation package from installing correctly. For more information about UAC, please see the following documentation:

Installing FPSE

The installation process will first present you with an End-User License Agreement, which you may choose to accept or cancel, but acceptance is required to continue installation. If you accept the terms of the license agreement and click Next, if any of the prerequisites are not installed then the installation package will present you with a list of the role services and features that are required to install FPSE 2002. If you do not want these role services and features installed on your computer, click Cancel to cancel the installation. If you click Next, the installation package will present you with a list of optional role services that are used by some additional FrontPage features. These role services are not required by FPSE 2002, and their descriptions will list which FrontPage features use each role service. After choosing any additional role services, you can click Next and then Install to being the actual installation process.

Note: Unlike previous versions of the FrontPage Server Extensions, the installation process will only create the "MSSharePointAppPool" application pool and the FrontPage Server Administration Web site (also called the Microsoft SharePoint Administration Web site). Therefore no Web sites will have the FrontPage Server Extensions installed after you have completed the installation process.

Extending Web Sites with FPSE

After you set up FrontPage 2002 Server Extensions (FPSE 2002) on your server, you must extend a Web site or virtual server with FPSE 2002 before you can open the Web site using an authoring tool.

You can extend the server one of two ways:

  • By using HTML Administration pages.
  • By using the install operation with the command-line tools.

Note: Extending a Web site does not configure any authentication methods. After installing FPSE 2002 on a Web site, you will need to configure an authentication method, such as Windows or Basic Authentication, before your users will be able to open or publish to the Web site.

Using HTML Administration Pages to Extend a Web Site

To extend a Web site using HTML Administration pages on Windows, use the following steps:

  1. Click Start, point to Programs, point to Administrative Tools, and then click Microsoft SharePoint Administrator to open the Server Administration page.
  2. In the list of virtual servers, click Extend next to the virtual server you want to extend.
  3. In the Administrator box, type the user name for the administrator of the virtual server.
  4. Click Submit.

Note: Using the HTML Administration pages gives you the most flexibility in choosing which options you want enabled after you extend your server.

Using the Command Line to Extend a Web Site

You can extend a Web site by using the command-line tools, owsadm or owsrmadm. These tools are located in the "%ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\50\bin" folder. To extend a Web site, use the install operation, which takes the following parameters.

Parameter Short Form Description

Port

-p

The port number. If missing, this parameter defaults to port 80. This value can be a site instance number, such as LM/W3SVC/1. To determine the site instance number to use, see the note below.

Username

-u

If your server is part of a domain, the domain name and your user name. For example, MyDomain\MyUserName.

Note: To determine which site instance number to use, open the IIS manager and select the "Sites" node in the tree. The ID column in the site list contains the unique identifier for each site, which you would use in the site instance number. For example, if a site has an ID of 3, the site instance number would be LM/W3SVC/3.

The following example shows the syntax for the install operation on Windows:

owsadm.exe –o install –p  -u 

Note: For a complete list of the parameters required for the install operation and their descriptions, see Command-line Operations.

Removing FPSE from Web Sites

You can temporarily or permanently remove FrontPage 2002 Server Extensions on a particular server. To temporarily remove the extensions so you can clean or restore your site, use the Uninstall command. In this mode, much of the data about your site is preserved, so you can extend the virtual server again and return to your original configuration.

To permanently remove FrontPage 2002 Server Extensions, use the Full Uninstall option. Doing so also removes any other files and folders that FrontPage 2002 Server Extensions installed. All of the data about your site (excluding actual site content) is deleted when you perform a full uninstall, so be sure that is what you want before you use the Full Uninstall option.

Using HTML Administration Pages to Remove

You can use HTML Administration pages to uninstall FrontPage 2002 Server Extensions. To remove FrontPage 2002 Server Extensions from a web site:

  1. Open the Server Administration page.
  2. In the list of virtual servers, next to the virtual server you want to uninstall, click Administration.
  3. Under Administration, click Uninstall FrontPage 2002 Server Extensions.
  4. If you want to uninstall FrontPage 2002 Server Extensions completely, including the metadata about your Web site, next to Full Uninstall, click Yes.
  5. Click Uninstall.

Using the Command Line to Remove

You can remove the FrontPage 2002 Server Extensions from a Web site using the command-line tools, owsadm or owsrmadm. These tools are located in the "%CommonProgramFiles%\Microsoft Shared\Web Server Extensions\50\bin" folder. To remove FPSE 2002 from a Web site, you use the uninstall or fulluninstall operations. The uninstall operation removes FrontPage 2002 Server Extensions from your server. The full uninstall operation also removes the data about your site (excluding actual site content) from your virtual server.

The uninstall and fulluninstall operations take the port parameter. The following example shows the syntax for removing FPSE from a web site:

owsadm.exe –o uninstall –p 



Source : http://learn.iis.net/page.aspx/134/installing-the-frontpage-server-extensions-on-iis-70/

Wireless Gyro

Kalman filter

Monday, September 27, 2010

Use Thread update Text of TextBox

วันนี้ทดลองเขียนโปรแกรมเล่น ๆ ดูเกี่ยวกับ Threading ของ C# เพราะว่าจำเป็นต้องนำ thread ไปใช้งาน
เพื่อให้มันทำงานเป็น backgroupd ของ program เพื่อใช้ในการตรวจสอบว่าจำนวนที่เราเคยโหลดมาไว้ กับจำนวนที่เกิดขึ้นใหม่ เท่ากันหรือไม่ ซื้อทั้งสองจำนวนนี้อยู่คนละ DB กัน

มาเริ่มกันเลย ^^


using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Threading;  namespace WindowsFormsApplication1 {     public partial class Form1 : Form     {         Thread tWatchTime;         // delegate is used to communicate with UI Thread from a non-UI thread         public delegate void UpdateTextCallback(string message);         public Form1()         {             InitializeComponent();         }          private void Form1_Load(object sender, EventArgs e)         {                     }          private void timer1_Tick(object sender, EventArgs e)         {             textBox2.Text = DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + ":"                 + DateTime.Now.Second.ToString();         }          private void button1_Click(object sender, EventArgs e)         {             try             {                 if (button1.Text == "Start")                 {                     tWatchTime = new Thread(WatchTime);                     tWatchTime.IsBackground = true;                     tWatchTime.Start();                      button1.Text = "Stop";                 }                 else                 {                     tWatchTime.Abort();                     button1.Text = "Start";                 }             }             catch (Exception ex)             {                 MessageBox.Show(ex.Message);             }         }          public void WatchTime()         {             while (tWatchTime.IsAlive)             {                 Thread.Sleep(5000);                 textBox1.BeginInvoke(new UpdateTextCallback(UpdateText), new object[] { DateTime.Now.Second.ToString() });             }         }          public void UpdateText(string msg)         {             textBox1.Text = msg;         }          //textBox1.BeginInvoke(new UpdateTextCallback(UpdateText), new object[] { i.ToString() });         //    }         //}           //private void UpdateText(string message)         //{         //    textBox1.Text = message;         //}     } }

แต่ในตัวอย่างนี้ผมใช้ Thread ไป set time ทุก ๆ 5 วินาที ก็เลยต้องสั่งให้มัน sleep(5000)

หลังจากผ่านไป 5 วิทนาที ก็ set Textbox1.text ให้โดยดึงเอา second มาแสดง (แต่ในภาพอาจจะไม่ตรงเพราะจะมีเวลาหน่วงในการ save picture)



เคล็ดลับ(ทำยังไง)ปลูกมะพร้าวน้ำหอมให้ลูกดก

เคล็ดลับนี้ได้จากพระที่วัดพุทธโสธรฯในรัฐนิวเม็กซิโก
ท่านบอกว่าให้ใส่เกลือที่ช่อบนยอดของต้นมะพร้าวใส่เยอะ ๆ เป็นกิโล ๆ(๕-๑๐ kilo)เลยครับ โยมหลาย ๆ ท่านที่ลองทำดูแล้วก็ได้ผลดีมาก

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

เทคนิคคัดเลือกพันธุ์ มะพร้าวน้ำหอม

มะพร้าวน้ำหอม1)เทคนิคการคัดเลือกลูกที่จะนำไปเพาะแล้วโตดีและให้ผลดก
มะพร้าวน้ำหอม2)สังเกตที่ลูกมะพร้าวจะต้องมีตูดแหลม ลูกเล็ก หัวหนีบกัน

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


++ วิธีการสังเกตุลูกมะพร้าวน้ำหอมที่มีลักษณะโตดี ให้ลูกดก ++

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

ภูมิปัญญาจาก : นายสมาน ยะธาตุ บ้านเลขที่ 61 หมู่ 2 ตำบลห้วยแห้ง อำเภอแก่งคอย จังหวัดสระบุรี
ที่มา : ศูนย์ทางด่วนข้อมูลการเกษตร *1677 จ.สระบุรี



++ วิธีการคัดเลือกพันธุ์มะพร้าวน้ำหอมพันธุ์แท้ ++

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

++ ลักษณะมะพร้าวน้ำหอมที่ดี ++

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

การปลูกมะพร้าว




การปลูกมะพร้าวที่ถูกต้อง ต้องหันต้นให้เองไปทางทิศตะวันออก

สูบน้ำด้วยพลังงานแสงอาทิตย์



วันหนึ่งสูบได้ประมาณ 2000 ลิตร

โรคมะนาว

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

2. โรคราดำ ลักษณะอาการ ใบ กิ่งก้าน และผลจะมีราสีดำ สกปรกกระด้างทำให้ผลมะนาวไม่สวย ต้นมะนาวจะแคระแกร็น การป้องกันและกำจัดโรคราดำ เกษตรกรควรทำลายส่วนที่เป็นโรคโดยการเผาไฟหรือใช้สารเคมีกำจัดแมลงฉีดพ่นเพื่อกำจัดแมลงประเภทปากดูดชึ่งเป็นสาเหตุ ทำให้เกิดโรคราดำ

3. โรคกรีนนิ่ง (ใบแก้ว) ลักษณะอาการ ใบมะนาวจะด่างเป็นสีเหลืองหรือขาวใสระหว่างเส้นใบ ใบของมะนาวจะมีขนาดเล็กลง จากนั้นใบและยอดจะแห้งตาย ผลของมะนาวจะมีขนาดเล็ก น้ำหนักน้อย ต้นจะโทรม การป้องกันและกำจัดโรคกรีนนิ่ง เกษตรกรควรทำลายส่วนที่เป็นโรคโดยการเผาไฟ ใส่ปุ๋ยที่มี ธาตุสังกะสีและ แมกนีเชียม ปรับสภาพความเป็นกรดและด่างของดินใหัอยู่ระหว่าง 6.0-6.5

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

5. โรครากเน่าและโคนเน่า ลักษณะอาการ รากฝอยและรากแขนงจะเน่ามีสีน้ำตาลหรือดำ ลักษณะเหนียว ไม่ยุ่ย เปลือกของลำต้นจะปริแตกออก โดยเฉพาะโคนต้น และมียางไหลบริเวณขอบแผล เมื่อรากและต้นถูกทำลายมากๆ จะทำให้ใบเหลืองและร่วงหล่น การป้องกันและกำจัดโรครากเน่าและโคนเน่า เกษตรกรควรอย่าให้มีน้ำขัง บริเวณโคนต้น และไม่ควรใส่ปุ๋ยหมักหรือ ปุ๋ยคอกมากเกินในช่วงฤดูฝน

Thursday, September 16, 2010

mojoPortal Installation

mojoPortal is the content management system write in asp.net it more ability with database such as mssql , mysql, sqlitdb and more...

i'm work on
- window7
- SQL Servier 2008
- IIS7

In this guide have 2 sections

First Create database in sql server
Second install mojoportal

Let start it

1. create mojo database
2. download mojoportal deployment from http://mojoportal.codeplex.com/releases/view/50435
3. extract .zip file and rename user.conf.sample to user.conf and edit connection string
4. In iis add virtual directory to wwwroot
5 Browse http://localhost/[mojo]
6 your got error display on web browser
7. right click on virtual directory and select convert to application
8. Browse again
9. Welcome to mojo setup

Monday, August 30, 2010

Connection pool SQL Server

ทดลองเขียนโปรแกรม connection database โดยใช้ table adapter ดูแล้วง่ายมาก ๆ เลยครับ
ก็แค่ add data set เข้าไปแล้วก็สร้าง connection แล้ว add table , table adapter เข้าไปใน data set
แต่ทำไปทำมาเจอปัญหา เพราะว่า table adapter ของผมมันเยอะ ถึงขั้น ร้อยสองร้อยเลย ทำให้ visual studio 2008 ทำงานค่อยข้างช้าหลังจากที่ create table adapter แล้วต้องรอสักประมาณ 30 วินาทีถึงจะสามารถเขียนโปรแกรมต่อได้ เหอะๆ

จริงมันก็มีวิธีอีกอย่าง ในเมื่อ table adapter มันเยอะ ทำไมเราไม่แบ่งย่อย ๆ ออกไปโดยเพิ่ม data set เข้าไปหละ คำตอบนี้ค่อนข้างได้ผลทีเดียวครับ ผมลองแบ่งย่อยทำหลาย ๆ dataset ดู เจ้า vs 2008 มันก็ทำงานได้เร็วจึ้นกว่าเดิมเยอะเลย จากทีเคยรอ ก็ไม่ต้องรออีก แต่คำถามที่ตามมาคือ เมื่อสร้าง dataset หลาย ๆ ตัวแล้ว connection pool หละ มันจะเพิ่มขึ้นด้วยตามหรือเปล่าว จึงลองหาข้อมูลดู

ดู ๆ แล้วมันไม่น่าจะสร้าง connection เพิ่มนะ จาก link

Sunday, August 29, 2010

Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561

Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed


เจอ error แบบนี้แล้วงงเลยครับ ทำให้ผมเสียเวลาไปตั้งเกือบชั่วโมง สามาเหตุไม่ใช่เพราะอะไรหรอกครับ
ผมไปเลบไฟล์ app.minifast ที่อยู่ใน Properities ออกแล้วผมก็เอา code ไปเขียนที่เครื่องอื่นก็เลยเจอ Error แบบนี้เลย ทดลองดูตั้งนานกว่าจะได้ สุดท้ายไปค้นถึงขยะ เอาไฟล์กลับคืนมา ฮ่า.....

Friday, August 20, 2010

Database Table Partitioning

Step 1 : Create New Test Database with two different filegroups
I have written tutorial using my C: Drive, however to take advantage of partition it is recommended that different file groups are created on separate hard disk to get maximum performance advantage of partitioning. Before running following script, make sure C: drive contains two folders – Primary and Secondary as following example has used those two folder to store different filegroups.
USE Master;
GO
--- Step 1 : Create New Test Database with two different filegroups.
IF EXISTS (
SELECT name
FROM sys.databases
WHERE name = N'TestDB')
DROP DATABASE TestDB;
GO
CREATE DATABASE TestDB
ON PRIMARY
(NAME='TestDB_Part1',
FILENAME=
'C:\Data\Primary\TestDB_Part1.mdf',
SIZE=2,
MAXSIZE=100,
FILEGROWTH=1 ),
FILEGROUP TestDB_Part2
(NAME = 'TestDB_Part2',
FILENAME =
'C:\Data\Secondary\TestDB_Part2.ndf',
SIZE = 2,
MAXSIZE=100,
FILEGROWTH=1 );
GO


Step 2 : Create Partition Range Function
Partition Function defines the range of values to be stored on different partition. For our example let us assume that first 10 records are stored in one filegroup and rest are stored in different filegroup. Following function will create partition function with range specified.
USE TestDB;
GO
--- Step 2 : Create Partition Range Function
CREATE PARTITION FUNCTION TestDB_PartitionRange (INT)
AS RANGE LEFT FOR
VALUES
(10);
GO

Click on image to see larger image
Step 3 : Attach Partition Scheme to FileGroups
Partition function has to be attached with filegroups to be used in table partitioning. In following example partition is created on primary and secondary filegroup.
USE TestDB;
GO
--- Step 3 : Attach Partition Scheme to FileGroups
CREATE PARTITION SCHEME TestDB_PartitionScheme
AS PARTITION TestDB_PartitionRange
TO ([PRIMARY], TestDB_Part2);
GO

Step 4 : Create Table with Partition Key and Partition Scheme
The table which is to be partitioned has to be created specifying column name to be used with partition scheme to partition tables in different filegroups. Following example demonstrates ID column as the Partition Key.
USE TestDB;
GO
--- Step 4 : Create Table with Partition Key and Partition Scheme
CREATE TABLE TestTable
(ID INT NOT NULL,
Date DATETIME)
ON TestDB_PartitionScheme (ID);
GO

Step 5 : (Optional/Recommended) Create Index on Partitioned Table
This step is optional but highly recommended. Following example demonstrates the creation of table aligned index. Here index is created using same Partition Scheme and Partition Key as Partitioned Table.
USE TestDB;
GO
--- Step 5 : (Optional/Recommended) Create Index on Partitioned Table
CREATE UNIQUE CLUSTERED INDEX IX_TestTable
ON TestTable(ID)
ON TestDB_PartitionScheme (ID);
GO

Step 6 : Insert Data in Partitioned Table
Insert data in the partition table. Here we are inserting total of 3 records. We have decided that in table partition 1 Partition Key ID will contain records from 1 to 10 and partition 2 will contain reset of the records. In following example record with ID equals to 1 will be inserted in partition 1 and rest will be inserted in partition 2.
USE TestDB;
GO
--- Step 6 : Insert Data in Partitioned Table
INSERT INTO TestTable (ID, Date) -- Inserted in Partition 1
VALUES (1,GETDATE());
INSERT INTO TestTable (ID, Date) -- Inserted in Partition 2
VALUES (11,GETDATE());
INSERT INTO TestTable (ID, Date) -- Inserted in Partition 2
VALUES (12,GETDATE());
GO

Step 7 : Test Data from TestTable
Query TestTable and see the values inserted in TestTable.
USE TestDB;
GO
--- Step 7 : Test Data from TestTable
SELECT *
FROM TestTable;
GO

Step 8 : Verify
Rows Inserted in Partitions

We can query sys.partitions view and verify that TestTable contains two partitions and as per Step 6 one record is inserted in partition 1 and two records are inserted in partition 2.
USE TestDB;
GO
--- Step 8 : Verify Rows Inserted in Partitions
SELECT *
FROM sys.partitions
WHERE OBJECT_NAME(OBJECT_ID)='TestTable';
GO


Partitioning table is very simple and very efficient when used with different filegroups in different tables. I will write very soon more articles about Table Partitioning. If you need any help in table partitioning or have any doubt, please contact me and I will do my best to help you.