undefined ใน console ของ browser มาได้อย่างไร

เพื่อตอบคำถามว่า undefined
เมื่อสั่ง console.log(5); นั้น มาได้อย่างไร

undefined console in google chrome
undefined console in google chrome

http://www.thaiall.com/java/js01.htm

ก็คงต้องชวนอ่านเรื่อง และดูจากตัวอย่าง ต่อไปนี้

มีหลายวิธี
ในการเขียนโค้ด (code) และประมวลผล (run) การทำงานของโค้ดด้วยภาษา javascript อาทิ เขียนโค้ดแล้วบันทึกในแฟ้ม x.htm แล้วประมวลผลใน browser หรือ เขียนบน เว็บไซต์ที่บริการแบบ online หรือ เขียนโค้ดแล้วใช้ node.js เป็นตัวแปล (interpreter) หรือ เขียนใน console บน browser ซึ่งการเขียน code พื้นฐานและทดสอบใน console บน browser นั้น ถือว่าเป็นวิธีการที่ง่ายที่สุด เสมือนเขียน javascript บน IDE (Integrated Development Environment)

การเขียนใน console บน browser
หากเลือกใช้ chrome browser ก็เข้าสู่ console ด้วยการกด F12 หรือ Ctrl-Shift-I หรือเลือก Developer Tools จาก Menu bar จะพบหน้าต่างที่มีบริการหลายอย่าง อาทิ การเป็น inspector เพื่อดู sources, elements หรือดูค่าที่ปรากฎใน console หรือ รับคำสั่งประมวลผลใน console ซึ่งหน้าต่าง console มักรองรับการสั่งงานด้วยคำสั่ง console.log(…); เพื่อติดตามตรวจสอบ ตัวแปรที่ต้องการติดตาม เนื่องจากเว็บเพจมี javascript ในการประมวลผล หากต้องการทราบว่าข้อมูล ณ ตำแหน่งใด มีค่าใดแล้ว การใช้ console.log(…) จะเหมาะสมอย่างยิ่ง เพราะผลของคำสั่งนี้จะไม่แสดงผลใน webpage แต่จะแสดงผลใน console window ทำให้ทราบข้อมูลที่ต้องการ

ในกรณีรับคำสั่งประมวลผลใน console
หากส่งค่าให้คำนวณ เช่น 1 + 2 + 3 ก็จะ return 6 มาตามปกติ
แต่ถ้าใช้คำสั่ง console.log(1 + 2 + 3); มักพบคำว่า undefined ปรากฎขึ้นมาอีก 1 บรรทัดเสมอ เนื่องจาก console window มีหน้าที่หลัก เป็นพื้นที่ในการรองรับการประมวลผล และ return value
หากพิมพ์คำสั่งใด ก็ต้องมีการ return value เสมอ หากไม่ return value ก็จะทำการ return undefined ต่อท้ายทุกครั้ง และคำสั่ง console.log(..); ไม่มีการ return ค่าโดยตรง แต่เป็นการส่งค่ามาแสดงผลใน console window โดยตรง ซึ่งไม่ใช่การ return value

ตัวอย่างการทำงานใน console window กับการ return ค่า
ตามภาพการใช้คำสั่ง พบว่า ตัวอย่างที่ 1, 2 และ 6 จะ return ค่าให้ console ได้ปกติ ตัวอย่างที่น่าสนใจ คือ คำสั่งที่ 8 แม้จะพิมพ์เพียง ; คือ เสมือนไม่สั่งอะไรเลย ใน console window ก็ยังแสดงคำว่า undefined เพราะไม่มีการคืนค่าใด ตัวอย่างที่ 2 เป็นการประกาศ และกำหนดค่า จะมีการคืนค่าออกมา จึงแสดงเลข 5 เป็นผลลัพธ์ แต่ ตัวอย่างที่ 3 เป็นการประกาศค่า ที่ไม่คืนค่าหลังประกาศ เนื่องจากใช้ var จึงแสดง undefined ตัวอย่างที่ 4 และ 5 แม้ใช้ console.log() แต่การพิมพ์คำสั่งนี้โดยตรงใน console จะไม่คืนค่าให้ console window แต่แสดงผลทันที หากใช้คำสั่งนี้ใน javascript ก็จะส่งค่าให้กับ console window เพื่อแสดงผลได้ปกติ ซึ่งเป็นคนละสถานการณ์ ตัวอย่างที่ 6 สามารถรับคำสั่งได้หลายคำสั่ง แล้วทำทีละคำสั่ง แต่คำสั่งสุดท้ายต้องเป็นการคืนค่าโดยตรง จะสลับให้ console.log() อยู่บรรทัดสุดท้าย ก็จะพบคำว่า undefined เช่นเดิม

calculator on google
calculator on google

ความแตกต่างของ id และ class

CSS : Cascading Style Sheets กลายเป็นข้อควรรู้ที่จำเป็นสำหรับนักพัฒนาเว็บไซต์อย่างหลีกเลี่ยงไม่ได้
CSS : Cascading Style Sheets กลายเป็นข้อควรรู้ที่จำเป็นสำหรับนักพัฒนาเว็บไซต์อย่างหลีกเลี่ยงไม่ได้

วันนี้ 11 มิ.ย.59 ว่าจะจัดการเรื่อง float:left ใน web2 ให้เรียบร้อย แต่มาใช้เวลากับการนั่งทดสอบ Developer tools ของ chrome นานไปหน่อย ติดใจเลย
ทำให้ได้เรียนรู้ว่า chrome ช่วยให้การปรับแต่งเว็บไซต์ง่ายกว่าใช้ editor ธรรมดาอย่าง editplus มาก
http://www.thaiall.com/web2

เรื่อง CSS : Cascading Style Sheets กลายเป็นข้อควรรู้ที่จำเป็นสำหรับนักพัฒนาเว็บไซต์อย่างหลีกเลี่ยงไม่ได้ ปัจจุบัน CSS มีถึงรุ่น 3 แล้ว ในการใช้งานจริงมักสร้าง CSS แบบ External style sheet เพราะแฟ้มอื่นเรียกใช้ได้ ส่วน Internal style sheet ก็จะเรียกใช้ได้เฉพาะในแฟ้มนั้น ส่วน Inline style ก็จะพิมพ์คำว่า style ต่อท้าย tag นั้นไปเลย ซึ่งตัวแปรหลัก 2 แบบที่กำหนดเองใน CSS มี 2 แบบคือ id กับ class

การกำหนด และการเรียกใช้ต่างกันไป
ถ้าเป็น id จะขึ้นต้นด้วย # แต่เป็น class จะขึ้นต้นด้วย . ถ้าเรียกใช้ id จะใช้ properties name ว่า id ส่วนเรียกใช้ class จะใช้ properties name ว่า class

สิ่งที่แตกต่างกัน คือ id จะเรียกใช้ครั้งเดียว แต่ class เรียกใช้ได้หลายครั้ง ถ้าวางแผนอย่างใจเย็นก็จะใช้ประโยชน์จาก css ได้อย่างเต็มที่ มีตัวอย่างที่ css_sample.htm หากจะทดสอบการปรับแต่ง css ทำได้ที่ w3schools.com

 

<html><head><style type=”text/css”>
#header {background:yellow;font-size:20px;}
.title-text {color:red;}
p.big { font-size:40px; }
span.small { font-size:10px; }
table, th, td { border: 1px solid black; }
.burin1 {color:red;border: 2px}
.burin2 {font-size:20px;float:left;}
.burin3 {color:blue;font-size:30px;float:left;}
</style><body id=”header” class=”title-text”>
<span style=”color:green;”>hello</span><p class=”big”>my</p>
<span class=”small”>friend</span><span class=”small”>is tom.</span>
<table class=”burin1″><tr><td>one</td></tr></table>
<table class=”burin2″><tr><td>two</td></tr></table>
<table class=”burin3″><tr><td>three</td></tr></table>
http://www.w3schools.com/css/css_table.asp
</body></html>

เมื่อสปาร์ตั้นมา ไออีก็ไป (itinlife492)

spartan 300
spartan 300

โปรแกรมประเภทบราวเซอร์ของบริษัทไมโครซอฟท์ชื่ออินเทอร์เน็ตเอกซ์พลอเรอร์ (Internet Explorer) มีชื่อย่อว่าไออี (IE) โดยเปิดตัวปี 2538 ถูกใช้มานานกว่า 20 ปี ซึ่งรุ่นแรกใช้กับระบบปฏิบัติการวินโดวส์ 95 จนถึง IE11 ในวินโดวส์ 8.1 แล้วปี 2558 ก็มีข่าวว่าวินโดวส์ 10 จะใช้โปรแกรมสปาร์ตั้น (Spartan) แทนไออี และไออีก็จะหายไปในที่สุด จากผลการทดสอบในภาพรวมจากหลายแหล่ง พบว่า สปาร์ตั้นทำงานได้มีประสิทธิภาพกว่าไออีเดิมอย่างเห็นได้ชัด เมื่อเทียบกับ Chrome,  Firefox, Opera หรือ Safari ก็ยังมีบางด้านที่คู่แข่งทำงานได้ดีกว่า

browser ranking http://www.w3schools.com/browsers/browsers_stats.asp
browser ranking http://www.w3schools.com/browsers/browsers_stats.asp

ชื่อโปรแกรมสปาร์ตั้น ไปคล้ายกับชื่อเผ่านักรบโบราณในกรีซ ที่เราเห็นความกล้าหาญในภาพยนตร์เรื่อง 300 ที่ถูกยกย่องว่ามีการฝึกฝนอย่างหนัก มีความกล้าหาญ อดทน ระเบียบวินัย และเก่งกล้าในการรบ การเปลี่ยนไปใช้ชื่อบราวเซอร์ว่าสปาร์ตั้นแทนไออีของบริษัทไมโครซอฟท์ก็คาดว่าจะหวังผลทางการตลาด ที่เคยใช้ชื่อเดิมมากกว่า 20 ปี แต่ถูกชิงบัลลังก์ความเป็นเบอร์หนึ่งไป หากจะชิงบัลลังก์คืนมาก็ต้องมีกลยุทธ์ใหม่อีกหลายอย่าง ซึ่งกลยุทธ์หนึ่งคือการเปลี่ยนชื่อ (Rebranding) สิ่งที่เปลี่ยนชัดเจนคือการใช้ Engine ใหม่ชื่อ EdgeHTML สำหรับเว็บไซต์รุ่นใหม่ แต่ถ้าเป็นเว็บไซต์เก่าก็จะใช้ MSHTML ที่เคยใช้ใน IE11

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

ranking http://internet-browser-review.toptenreviews.com/
ranking http://internet-browser-review.toptenreviews.com/

http://hitech.sanook.com/1393789/

http://www.manager.co.th/Cyberbiz/ViewNews.aspx?NewsID=9570000149862

http://pantip.com/topic/30810184

เรื่องดีดี แสดงไม่ดีกับ firefox กับ chrome

header & footer in xhtml
header & footer in xhtml

บ่นตามปาะสาคนที่เด็ก ๆ เรียกว่า “ลุง”
ผมเป็นพวกมีอดีต เห็นเรื่องดีดีทีไร .. แล้วอดกลุ่มใจไม่ได้
เพราะเตรียมสอนจาวาแก่นักศึกษา แล้วพบ tag <DD>
ที่เคยใช้สิบกว่าปีก่อนแล้ว ในเว็บเพจต่าง ๆ ที่ต้องจัดย่อหน้า
พบว่า browser : firefox กับ chrome
แสดงผลผิดเพี้ยนไป แต่ ie ก็ยัง ok
จะให้ดีก็ต้องตามแก้ ตามเวอร์ชัน ตามตามกันไป .. จนหมดแรง

มี HTML Tag จำนวนไม่น้อยที่หายไปกับกาลเวลา
ที่มาตรฐานใหม่ไม่รองรับ เช่น <DD>
ในภาษา PHP ก็เช่นฟังก์ชัน split ซึ่งการเลิกบริการอาจมีหลายคำ
เช่น DEPRECATED หรือ Not available

แล้วก็ต้องไล่ตามมาตรฐานกันเรื่อยไป
1.  HTML 3
2. HTML 4.01
3. XHTML
4. HTML 5

ที่หนักสุด คือ HTML 5 ที่บอกว่ามาแล้ว (นานแล้วด้วย)
แต่ยังไม่เป็นที่สิ้นสุด ไม่เป็นมาตรฐานเดียว กำลังพัฒนาอยู่
เห็นเขาเรียกว่า ยืดหยุ่น (Flexible)
เพียงแต่ code เก่า ๆ ของผมไม่ยืดตาม ก็เลยเห็นปัญหาเป็นประจำ

บางเหตุผลที่ทำให้ chrome เป็นเบอร์ 1

chrome is number one
chrome is number one

16 พ.ค.55 ในระบบรายงานสถิติของ truehits.net แสดงให้เห็นว่ามีผู้ใช้ chrome จำนวนมาก จากสถิติการเข้าเว็บไซต์ของ thaiall.com เมื่อพฤษภาคม 2555 พบว่ามีผู้ใช้ chrome มากเป็นอันดับ 1 ราว 46% สลับกับ IE ซึ่งใกล้เคียงกัน 45% แต่อันดับสามคือ firefox 10% .. ซึ่งผมใช้ความรู้สึกในฐานะของสาวก firefox ตัวข้อสงสัยว่าจริงหรือ .. แต่แล้วก็พบเหตุที่ทำให้เป็นเช่นนั้น
1) เมื่อเข้าใช้บริการ google doc แล้วพบข้อความว่า browser ที่คุณใช้อยู่ไม่สนับสนุนการใช้ google doc ถ้าให้ดีควร ใช้ chrome .. เพราะขณะนี้ใช้ firefox อยู่
2) ใน imobile หรือ samsung galaxy ที่ใช้ android ต่างก็ใช้ chrome เป็น default browser แม้มีหลายค่ายให้เลือก แต่คำว่า default browser นี่ชนะมานักต่อนักแล้ว

dropdown list ที่ส่งผลต่อ dropdown list ชุดใหม่

browser incompatible
browser incompatible

12มี.ค.54 มีเพื่อนพัฒนาโปรแกรมเลือกข้อมูลผ่านเว็บเพจที่สามารถเลือกรายการข้อมูลที่เชื่อมกับระบบฐานข้อมูล ทำให้การเลือกครั้งแรกผ่าน dropdown list ส่งต่อกระบวนการไปแสดงรายการข้อมูลชุดใหม่ แล้วให้เลือกผ่าน dropdown list ชุดใหม่ ที่สัมพันธ์กับการเลือกครั้งแรก โปรแกรมนี้ทำงานได้มาโดยตลอด แล้วอยู่ ๆ ก็ใช้ไม่ได้ .. เป็นคำบอกเล่าของน้องนุช (จำได้ว่าเคยรับแจ้งไม่เป็นทางการมาก่อนหน้านี้ .. คราวนี้เจอตัวเป็น ๆ)
เมื่อผมตรวจสอบในรายละเอียดก็พบว่า Scriptไม่มีปัญหา เมื่อทำงานกับ IE6 แต่มีปัญหาเมื่อทำงานบน Firefox แสดงว่า Script ที่ใช้อยู่ไม่ compatible กับ browser รุ่นใหม่ ก็ต้องปรับ Script ให้ผู้ใช้สามารถใช้งานได้ เพราะทีมงานด้านซอฟท์แวร์จะลงโปรแกรมใหม่ให้กับผู้ใช้เสมอ หรือ Upgrade Web Browser เป็นรุ่นใหม่ ซึ่งเป็นเทคนิคการใช้คือ Ajax ทำงานร่วมกับ PHP .. ผมก็ใช้เวลาหาข้อมูลระยะหนึ่ง จำได้ Script สำหรับทำให้ Ajax ทำงานกับ Textbox ได้ แต่การจะทำงานกับ Dropdown list ต้องเปลี่ยน code ในส่วนที่สัมพันธ์กับ div ก็ใช้เวลากว่าจะเห็นความเหมือนที่แตกต่างของ Textbox กับ Div

แล้ววันนี้ก็เคลียร์ Script ชุดนี้ได้ เพราะมีแผนจะนำไปใช้ในอีกระบบหนึ่ง ซึ่งผู้ใหญ่ร้องขอมาว่าอยากให้เรียกข้อมูลจากฐานข้อมูลที่เป็นข้อมูลสถิติของแต่ละคน และข้อมูลนี้ไม่จำเป็นต้องกรอกใหม่ก็จะดึงมาเป็น Dropdown List ให้เลือก เพราะถ้าปล่อยให้กรอกเองก็จะคลาดเคลื่อน แต่ปัญหานี้ใช้ Dropdown List ที่ทำงานร่วมกับ Text Box มีรายละเอียดเพิ่มเติมที่ http://www.thaiall.com/ajax

ตรวจ cache ของ browser ทั้งห้า

browser

31 ก.ค.53 ทดสอบ browser ทั้งหมด 5 โปรแกรม คือ safari, firefox, chrome, opera และ ie พบว่าหลังติดตั้ง ie8 ต้อง restart แต่กับ 4 ตัวก่อนหน้านี้ ติดตั้งแล้วใช้งานได้ทันที ทำให้ผมไม่ทดสอบ ie8 เพราะเครื่องนี้ติดตั้ง deepfreeze และคาดว่าผลน่าจะเหมือนกับ ie6  ส่วนเรื่องการจัดการ cache ซึ่งเก็บแฟ้มที่ได้จากการ download webpage พบว่าทดสอบ download clip จาก youtube.com จะมีเพียง safari ที่ไม่เก็บ clip จากการ download ในห้อง Application Data แต่เห็นร่องรอยการ download ในห้อง Temp เหมือนกันโปรแกรมอื่น .. อาจสรุปเบื้องต้นได้ว่านอกจาก safari แล้ว browser ตัวอื่นทิ้งแฟ้ม clip ให้ผมคัดลอกออกมาจาก cache และเติมสกุล .flv ก็จะนำไปใช้ได้

ติดตั้ง safari browser สำเร็จ

safari browser

28 มิ.ย.53 ติดตั้ง flash player 10.1 ให้กับ safari browser ของ apple.com ที่คุณธรณินทร์  สุรินทร์ปันยศ เคยใช้นำเสนอในการอบรมประกันคุณภาพระดับบุคคล ผมชอบตอนนำเสนอแบบจอภาพยนต์ (Show Top Sites) จึงทดสอบติดตั้ง ใช้งานและกำหนด Show Top Sites ของตนเอง เหตุยุ่งยากที่เกิดก็เพราะเครื่องติดตั้ง deepfreeze ทำให้ต้องปิดเปิดระบบแช่แข็ง สำหรับการติดตั้งโปรแกรมนี้ และทดสอบจนมั่นใจว่าไม่มีปัญหา แต่ตัวหลักของผมก็ยังใช้ ie6 เพราะมีแผนติดตั้ง chrome กับ firefox เพิ่มเติม .. เพื่อให้ผลลัพธ์เว็บเพจตรวจสอบ PR ตามแนวการพัฒนาเว็บไซต์ให้เข้ากับ SEO ได้

ชัยโย เว็บมหาวิทยาลัยหลุด malware ใน google.com

12 พ.ค.53 วันนี้ขณะร่วมประชุมวิพากษ์ระบบฐานข้อมูล 15 ระบบ และระบบข้อมูลส่วนบุคคลอีก 1 ระบบ ใจคอผมไม่สู้ดีนัก เพราะกังวลว่าเว็บมหาวิทยาลัยที่ติด black list เป็น malware ใน google.com ตั้งแต่วันอาทิตย์จะหลุดหรือไม่ เพราะวันจันทร์ และวันอังคารมี 2 อาการได้แก่ ผลสืบค้นใน google.com บอกว่าเป็นเว็บอันตราย เมื่อเปิดด้วย firefox ก็ติด block ซึ่ง google.com แนะนำว่า พิมพ์ url ไปเลยถ้าคิดว่าปลอดภัย หรือแก้ security preference ของ firefox
     การแก้ไขเริ่มตั้งแต่เช้าวันจันทร์ด้วยการลบ malware ออกจาก server ตัวหนึ่ง ซึ่งติดเฉพาะ root directory และพบว่า server อีกตัวหนึ่ง หมดอายุต้องปลดประจำการอย่างไม่มีทางเลือก หลังจากแก้ไขจนมั่นใจว่าเครื่อง server ที่ติด malware สะอาดแล้วเข้า webmasters tools ของ google.com เพื่อส่ง request ให้ทาง google.com ตรวจสอบอีกครั้ง เช้าวันอังคารไม่พบว่ามีการเปลี่ยนแปลงผลการสืบค้นยังพบปัญหาเหมือนเดิม และพบว่า firefox ได้ block เว็บเราทุกเครื่อง จึงตรวจเครื่องทุกตัวและไม่พบปัญหาใดเลย จึงตัดสินใจขอ request เครื่องบริการหลักเพิ่มอีก 1 ตัว เพราะการส่ง request จำเป็นต้อง verify กับเครื่องบริการ เพื่อแสดงตนเป็นเจ้าของ ในเช้าวันพุธก็ยังพบปัญหาคิดว่าจะส่ง request จากเครื่องบริการเพิ่มอีก 2 ตัว แต่ติดประชุม หลังประชุม จึงทำการ verify เครื่องบริการเพิ่ม 2 ตัว แล้วส่ง request รวมเป็นการส่ง request จากเครื่องบริการทั้งหมด 4 ตัว ให้ทาง google.com ได้ตรวจสอบ .. แต่ส่งประมาณ 10 ครั้งเพราะไม่มี message ค้างไว้ว่าส่งแล้วกี่ครั้ง
     เว็บไซต์และเครื่องบริการเว็บทุกตัวกลับมาเป็นปกติในคืนวันพุธ อาจเป็นได้ 2 กรณี คือ 1) google.com เปลี่ยนนโยบายการตรวจสอบเราจึงเข้าคิวนานกว่าเดิม และผลการส่ง request ตั้งแต่วันจันทร์เช้ามีผลแล้ว แต่เรากังวัลจึงดำเนินการอย่างต่อเนื่องกับทุกเครื่อง และการแก้ไขไม่ได้แก้ครั้งเดียวเปลี่ยนทั้งระบบ เพราะเช้าวันพุธพบว่าปัญหาใน firefox หายไป 2) การส่ง request ในหลายเครื่องบริการอาจไปปลดล๊อกปัญหาที่ซ่อนบ่มแล้ว  google.com ก็เข้ามาดำเนินการภายใน 8 ชั่วโมง เพราะเครื่องบริการ 2 ตัวหลักมีตัวหนึ่งเคยรั่ว แม้ไม่พบรอยรั่วเดิม แต่แฟ้มที่เป็นแหล่ง verify กับ google.com ถูกลบไป
     มีเว็บไซต์ที่พบปัญหาลักษณะเทียบเคียงได้กับของมหาวิทยาลัยให้ได้ติดตามคือ yuparaj.ac.th rajapark.ac.th qc.ac.th pccl.ac.th crc.ac.th cpru.ac.th bodin2.ac.th tepleela.ac.th (JS/Pegel.79003) หลังจากเราหลุดจาก malware จึงส่งข้อความแจ้งให้เพื่อนใน facebook ได้ทราบ ประกอบด้วย
http://www.facebook.com/profile.php?id=100000116337120
http://www.facebook.com/profile.php?id=100000116786880
http://www.facebook.com/profile.php?id=100000136205941
http://www.facebook.com/profile.php?id=100000171866090
http://www.facebook.com/profile.php?id=100000371778383
http://www.facebook.com/profile.php?id=100000390372326
http://www.facebook.com/profile.php?id=100000651045886
http://www.facebook.com/profile.php?id=100000865597335
http://www.stopbadware.org/home/reportsearch