Tuesday, January 17, 2006

Vieta's Formula

Vieta's Formula for Pi
We continue the discussion on approximating Pi by calculating the areas of a circle using inscribed and circumscribed regular polygons. We illustrate Vieta's formula, developed in 1593, the oldest exact result derived for Pi.
The Formula
Vieta's formula expresses as an infinite product of nested square roots.
Here is the implementation:public class Vieta {
public static double rhs(int n) {
double result = 0;
double rhs_1 = 0;
double rhs_2 = 0;
for (int i = 1; i <= n; ++i) {
if (i == 1) {
result = Math.sqrt(0.5 + 0.5 * Math.sqrt(0.5));
rhs_1 = result;
rhs_2 = result;
} else if (i == 2) {
result = rhs_1 * Math.sqrt(0.5 + 0.5 * rhs_1);
rhs_1 = result;
} else {
result = rhs_1 * Math.sqrt(0.5 + 0.5 * rhs_1 / rhs_2);
rhs_2 = rhs_1;
rhs_1 = result;
}
}
return result;
}
}
I also wrote a Applet for calculating PI.
http://www.myjavaserver.com/~torotime/vieta_formula.html
However,once I finished this applet, I have a new ideal that I can write it in javascript for more portable result...
applet sight~~~


Saturday, January 07, 2006

WakeOnLan for Java

import java.io.*;
import java.net.*;

public class WakeOnLan {

public static final int PORT = 9;

public static void main(String[] args) {

if (args.length != 2) {
System.out.println("Usage: java WakeOnLan ");
System.out.println("Example: java WakeOnLan 192.168.0.255 00:0D:61:08:22:4A");
System.out.println("Example: java WakeOnLan 192.168.0.255 00-0D-61-08-22-4A");
System.exit(1);
}

String ipStr = args[0];
String macStr = args[1];

try {
byte[] macBytes = getMacBytes(macStr);
byte[] bytes = new byte[6 + 16 * macBytes.length];
for (int i = 0; i < 6; i++) {
bytes[i] = (byte) 0xff;
}
for (int i = 6; i < bytes.length; i += macBytes.length) {
System.arraycopy(macBytes, 0, bytes, i, macBytes.length);
}

InetAddress address = InetAddress.getByName(ipStr);
DatagramPacket packet = new DatagramPacket(bytes, bytes.length, address, PORT);
DatagramSocket socket = new DatagramSocket();
socket.send(packet);
socket.close();

System.out.println("Wake-on-LAN packet sent.");
}
catch (Exception e) {
System.out.println("Failed to send Wake-on-LAN packet: + e");
System.exit(1);
}

}

private static byte[] getMacBytes(String macStr) throws IllegalArgumentException {
byte[] bytes = new byte[6];
String[] hex = macStr.split("(\\:|\\-)");
if (hex.length != 6) {
throw new IllegalArgumentException("Invalid MAC address.");
}
try {
for (int i = 0; i < 6; i++) {
bytes[i] = (byte) Integer.parseInt(hex[i], 16);
}
}
catch (NumberFormatException e) {
throw new IllegalArgumentException("Invalid hex digit in MAC address.");
}
return bytes;
}


}

Tuesday, December 27, 2005

Google Visit

This site can check the geographic location for ur visters

www.gvisit.com

Fill in ur site address

and copy the Script to ur site, e.g.



then u can trackback from the site given from Google. e.g.
http://www.gvisit.com/map.php?sid=aafff6d5240646d304ee6a4bfd9b2d3f

Done !!!

Friday, November 25, 2005

Java Regualr Expression for Alphabet only String

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
   public static void main(String[] args) {
      //[a-zA-Z] means from a to z or A to Z, * means many of none of them
      Pattern p = Pattern.compile("[a-zA-Z]*");
      Matcher m = p.matcher("aadddaaiiiii");
      boolean b = m.matches();
      System.out.println(b);
   }
}

Thursday, November 03, 2005

Javascripts

To add a print button to the HTML just adding the following link to ur page....

print this review

To add a link that return the user to the previous page ...

return Page

Tuesday, November 01, 2005

HKID Formula (HKID Number Check Digit) 香港身份證號碼計算

Click here for the English Version of HKID Formula 



香港身份證號碼有二個英文字母,一個六位數和一個加上括號的檢驗位。

你可用以下方法計算身份證號碼以確定身份證號碼的真確性。
請把身份證號上的英文字母用數字代表,如
空格=36 A = 10 B = 11 C = 12 D = 13 E = 14 F = 15
G = 16 H = 17 I = 18 J = 19 K = 20 L = 21
M = 22 N = 23 O = 24 P = 25 Q = 26 R = 27
S = 28 T = 29 U = 30 V = 31 W = 32 X = 33
Y = 34 Z = 35

方法:
1) 計算比重積和:

    A)如果為單字母開頭,如:E364912(5):
        E364912(5) = (空格)E364912(5)
        36 x 9 + 第一位x8 + 第二位x7 + 第三位x6 + 第四位x5 + 第五位x4 + 第六位x3 + 第七位x2 = 總和

    B)如果為雙字母開頭,如:AB987654(3):
       第一位x9 + 第二位x8 + 第三位x7 + 第四位x6 + 第五位x5 + 第六位x4 + 第七位x3 +第八位x2= 總和

    C)總和除以 11 得到餘數

2)計算檢驗位:
   A)如果餘數為0,檢驗位=0

   B)如果餘數為1,檢驗位=A

   C)如果餘數為2至10 [2—10]:
      檢驗位 = 11-餘數

例子:
身份證號碼:E364912(5)
(註:E 是第一位把它換成 14)

324 + 14x8 + 3x7 + 6x6 + 4x5 + 9x4 + 1x3 + 2x2 = 556

556 / 11 得餘數 6

11 - 6 = 5

所以這身份證號碼正確。

Tuesday, October 18, 2005

Top 10 Programmers Excuses

Source: http://www.cenriqueortiz.com/weblog/General/?permalink=Developers-Top-10-replies-when-code-doesnt-work.html

have fun !!!
Top 10 replies by developers when their programs don't work:
10. 'That's weird...'
9. 'It's never done that before.'
8. 'It worked yesterday.'
7. 'You must have the wrong version.'
6. 'It works, but it hasn't been tested.'
5. 'Somebody must have changed my code.'
4. 'Did you check for a virus?'
3. 'Where were you when the program blew up?'
2. 'Why do you want to do it that way?'

and finally ...

1. 'I thought I fixed that.'

Saturday, September 10, 2005

Remove your site from Search EngineS

Remove your entire website
If you wish to exclude your entire website from Google's index, you can place a file at the root of your server called robots.txt. This is the standard protocol that most web crawlers observe for excluding a web server or directory from an index. More information on robots.txt is available here: http://www.robotstxt.org/wc/norobots.html. Please note that Googlebot does not interpret a 401/403 response ("Unauthorized"/"Forbidden") to a robots.txt fetch as a request not to crawl any pages on the site.
To remove your site from search engines and prevent all robots from crawling it in the future, place the following robots.txt file in your server root:
User-agent: *
Disallow: /
To remove your site from Google only and prevent just Googlebot from crawling your site in the future, place the following robots.txt file in your server root:
User-agent: Googlebot
Disallow: /
Each port must have its own robots.txt file. In particular, if you serve content via both http and https, you'll need a separate robots.txt file for each of these protocols. For example, to allow Googlebot to index all http pages but no https pages, you'd use the robots.txt files below.
For your http protocol (http://yourserver.com/robots.txt):
User-agent: *
Allow: /
For the https protocol (https://yourserver.com/robots.txt): User-agent: *
Disallow: /


Note: If you believe your request is urgent and cannot wait until the next time Google crawls your site, use our automatic URL removal system. In order for this automated process to work, the webmaster must first create and place a robots.txt file on the site in question.
Google will continue to exclude your site or directories from successive crawls if the robots.txt file exists in the web server root. If you do not have access to the root level of your server, you may place a robots.txt file at the same level as the files you want to remove. Doing this and submitting via the automatic URL removal system will cause a temporary, 180 day removal of your site from the Google index, regardless of whether you remove the robots.txt file after processing your request. (Keeping the robots.txt file at the same level would require you to return to the URL removal system every 180 days to reissue the removal.)

Sunday, September 04, 2005

Flash Version of Google

Macromedia employee created a Flash version of Google Maps to demonstrate how much better it would be in Flash.

Not a bad idea.

Thursday, August 18, 2005

L&F library - L2FProd

Selecting fonts and directories
Editing properties
Building task oriented applications
Build the nextgen e-mail client
活用JAVA的L&F把畫面變美了,也更好運用了....
當然前提您要會使用它的API囉...
一定要看它的DEMO啊!!
>>Link:http://common.l2fprod.com/

Wednesday, August 17, 2005

Java : 剪貼簿


jeffwang711 wrote:
請問一下
java中有沒有方法
可以將剪貼簿的內容清除掉
痲煩解答
謝謝


所謂清除掉是指讓剪貼簿沒有內容可供貼上?
不 考慮 JNI 的話你可以把廢料放上剪貼簿,因為剪貼簿有獨佔性,而廢料指沒有人知道怎麼使用之,這樣一來任何程式都不知道怎麼處理剪貼簿裡的資料(實際也是真的沒有資 料可言),"貼上"的菜單or 工具鈕, hotkey 雖是 valid 但執行後不會貼上資料(MS Excel 的話則是連 Paste 菜單都變成 disabled,理論上一個應用程式若不懂如何處理 clipboard 裡的 data 都應該 disable 掉 "Paste" 選項)。

若你只是不想讓其他程式取得你的程式最後放到 clipboard 的數據,其實你的程式離開前放空字串(或其他無關緊要的數據)進 clipboard 就可以了。

package com.jsptw.j2se;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.IOException;
public class None implements Transferable {
public DataFlavor[] getTransferDataFlavors()
{
return new DataFlavor[0];
}
public boolean isDataFlavorSupported(DataFlavor flavor)
{
return false;
}
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException
{
throw new UnsupportedFlavorException(flavor);
}
}


java.awt.Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new com.jsptw.j2se.None(), null);

Sunday, July 24, 2005

Matissee the GUI Builder that i never saw before

Matissee is a GUI builder in Ntebean that can assist the GUI building process

Demo Here

Just d/l the lastest version of Netbean 4.2 development build and add the add -J-Dnetbeans.form.new_layout=true to the netbeans_default_options property

Done !!!