Web Developers - Happy Hearts And HDTV! - Lockergnome
Lockergnome
list_admin at lockergnome.com
Wed Feb 11 20:15:19 PST 2004
[1]Lockergnome Web Developers [2]Go to Lockergnome
February 11, 2004 - Happy Hearts And HDTV!
INSIDE THIS ISSUE
CLICKS
- [3]GnomeREPORT: Happy Hearts And HDTV!
- [4]PROJECT: Data Dumping
- [5]FEATURE: Develop Rock-Solid Code In PHP: Part One
- [6]WARE: Shopping Squirrels
- [7]FAVORITE: GuruNet
- [8]TALK: More MYSQL Managers
- [9]Read this issue online
- [10]Get the RSS feed for this channel [11]Syndicate this Channel
[12]FeedDemon [13]PentaSuite
[14]GuruNet
[15][thawte_small.gif]
Get Thawte's New Step-by-Step SSL Guide for MSIIS - In this guide, you
will find out how to test, purchase, install and use a Thawte Digital
Certificate on your MSIIS Web server. Throughout, best practices for
set-up are highlighted to help you ensure efficient ongoing management
of your encryption keys and digital certificates. [16]Get your copy of
this new guide now.
GnomeREPORT: Happy Hearts And HDTV!
Hey, all! Don't forget this Saturday is Valentine's Day. Be sure to
grab your sweetie something nice and, if you can, stay away from the
computer! If you're like me, that is probably one of the best presents
you can give!
My grandmother is coming to visit the family for these two weeks. Her
birthday is on Valentine's Day, and with mine the following week, I'm
sure we'll be busy little bees. So if you have content you've been
holding back now would be a supreme time to [17]send them to me or the
LG staff.
In preparation for my birthday, my wife was kind enough to take me to
Best Buy and let me run wild through the aisle and make purchases we
could probably live without. So we ended up with a new desk (much
smaller one than my previous one), a new TV (I LOVE HDTV!), a new VCR
to go with the new TV, and a nice small 15" LCD Monitor for her
computer (ViewSonic VA520-2). So needless to say I'm in electronic
heaven. It's amazing what a new TV will do for your perspective on
things! I find myself watching shows I'd never watch but the colors
are so intense and amazing I just get lost in the signal.
I haven't hooked up my PS2 to it yet but I'm sure I'll be just as
blown away as I was with my DVDs. I heard somewhere I can get
component video cables for my PS2 - I'll have to look into that one.
Digitally Yours,
Eric Jones
[18][Back to Top]
PROJECT: Data Dumping
Okay, [19]last week we talked about functions that would pull our data
out of our database and display it for everyone to gawk at. As we all
know, getting data from a database is only half the problem. The other
part comes from putting data into the database, thereby creating a
circular effect of data in and data out.
First let us create our functions. To keep things short I'm only going
to highlight a function for adding an article and let you figure out
how to create one for adding authors to our system.
First, the complete code without any comments. Then I'll break it down
below.
<?
function insert_article( $author_id, $title, $synopsis, $body){
$sql = "insert into articles (author_id, title, synopsis, body)
VALUES ('$author_id', '$title', '$synopsis', '$body')" ;
$result = dbQuery( $sql);
if( $result){
return "OK";
}else{
return "FAIL";
}
}
?>
Now for a little talking from yours, truly.
This first line should look familiar by now, with the only difference
being the number of variables which this function takes. As you can
see from below, we take in 4 variables so we must remember that
whenever we invoke this function that it takes 4 variables.
function insert_article($author_id, $title, $synopsis, $body){
This is our SQL query. Here we use an insert statement to tell MySQL
we want to insert the following values into their respective columns.
The format here is pretty simple to understand. In the first
parentheses we have the column names which are exactly like the column
names in our articles table. Next you see the word VALUES in all caps
and a bunch of PHP variables in another set of parentheses. These are
the values which are going to be passed from our page (which is
created yet) to the function to the SQL and into the database.
$sql = "insert into articles (author_id, title, synopsis, body) VALUES
('$author_id', '$title', '$synopsis', '$body')";
Here is a trusty result variable which is passing the $sql data to the
dbQuery function for execution. If all goes okay, then we should get a
true returned.
$result = dbQuery($sql);
Here we check to ensure that $result is true. If it is, then we tell
our function to return the text okay, if it's false then the function
will return FAIL. I prefer to use OK and FAIL versus TRUE / FALSE or 1
/ 0 because it shows I'm passing a string, and not a Boolean. Now you
could just do a return $result and then check the true / false on your
calling page. It's all a matter of preference.
if($result){
return "OK";
}else{
return "FAIL";
}
So there you have it. We've got a function which will take data and
put it into a database. Now let's work on the form. Since we all know
HTML here I'm just going to show you my form and put comments in for
my logic, etc.
Grab the HTML file here and the functions file here.
Well that's it for this week. Go forth and expand on it. Next week we
will play more with outputting the data into HTML for viewing, etc.
[20]Let me know if you have questions.
[21][Back to Top]
FEATURE: Develop Rock-Solid Code In PHP: Part One
Zend recently started a series about building rock solid code in PHP.
Below is the first part. I recommend you read it all, but if you want
to jump to my favorite part, then [22]go here and read about rock
solid functions.
Intended audience
This is the first in a series of articles intended for developers who
are interested in building medium-to-large PHP based Web applications.
The Develop Rock-Solid Code In PHP series is about solving practical,
real-life problems. In this series you'll learn how to rise above
making quick-and-messy solutions, and to develop code that you can
reuse later in other applications.
This first article will give you a higher level perspective - a
bird's-eye view on what factors make good a Web application.
Introduction
If you are developing Web Applications and need speed, functionality,
and platform-independence, PHP is a natural choice. Moreover it's
free, and easy to learn and deploy. These are the strengths that make
PHP so popular. But these same strengths can turn into weaknesses if
you're not careful.
Because of PHP's ease-of-use, developers often get tempted to hammer
code straight into their editors when they should really begin with
planning and design. Also, there is always more than one way of
solving problems in PHP. Having more than one way to do things is
good, but it increases the risk of making mistakes that will be
difficult to fix later.
In this series of articles you'll learn how to avoid these mistakes.
If you follow through religiously, don't be surprised to find yourself
writing bug-free code at the first or the second go. I'll also point
out new features available in PHP 4 that make life easier. Most of the
examples that we will cover as we move along deal with practical
real-life problems like script configuration and setup, file-handling,
using databases and caching elegantly.
Even if you are new to all this, you should get along well. For now, I
will assume only that you know elementary PHP.
Build a rock-solid foundation
Coding in PHP is very much like coding in a language like C; their
syntax is similar. This means that it's easy to get yourself into
maintaining your own mess just like in C. When large scale
applications have to be coded, you have huge amounts of code to pay
attention to. Needless to say, this makes code hard to manage and bugs
tend to creep in. Well actually this is part of the truth, the bigger
truth is that if you are maintaining your code too often, your
application was probably not designed right in the first place.
The choices that you make initially affect your degrees of freedom
when you code later. This makes proper design an important
prerequisite. Design is sometimes seen as an unwanted extra ceremony
when you are solving a trivial problem, you must at least acknowledge
that this is the case. Many people think of design and planning as
extra overhead. But starting with a bad design - or no design at all -
always results in slip-shod code.
No amount of clever coding can compensate for bad design. Although how
to design is very application specific and is beyond the scope of this
series of articles. However I will suggest some pointers that you can
use when designing Web applications.
Divide and conquer
How do you eat an elephant? The thought sounds gruesome, but the
answer pertains to almost all programming problems. It is always
preferable to design and code a big application in smaller, loosely
coupled parts. That way, each part stays maintainable. For example, a
Content Management System (CMS) may be distributed over many smaller
modules like user authentication, presentation, content parsing, and
viewing statistics. You should aim for making these modules generic
enough that you can reuse your code in other applications that you
develop.
Well, programmers often do this and still complain. Let's go along
with the elephant analogy. If the elephant's mouth sends bananas down
the windpipe into the lungs instead of the stomach via the food-pipe,
the animal will obviously get sick and throw-up.
The trick is to let each module have the functionality it absolutely
needs and stop there. Do nothing more and nothing less. Adding
functionality that's not needed results in data traveling in pipes
that run awry. You know the rest.
Never think in pages
If you took interest in PHP just to make your HTML pages more dynamic,
this bit is for you. This habit generally starts when you want the
date and time displayed on every page to make it look fresh. Every
HTML page turns into a small PHP script with a skimpy line with the
date function tucked-in somewhere. If this is what you want, I must
agree that this is the simplest way of getting the job done. But just
imagine what you will have to do to change the format of the date that
appears on the page. You will have to change the code in every page!
There are obviously better ways to do this. My favorite is to use a
configuration file and define a constant in it that holds the format
string for the date() function. You can then use the date() function
wherever you need it. Every page will still end in a script, but you
will have drastically minimized places where you must make a change to
a single line of code. I agree that this example sounds a bit too
trivial, but remember the saying "Take care of the pennies and the
pounds will take care of themselves."
Reduce client-side requirements
The types of Web pages and applications have grown in many directions.
First it was image and image-maps, then Java applets and client-side
scripts that did cool animations. Today it is Flash. It is good to
have impact, but one must remember the whole idea behind the Web is to
make information accessible to anyone who wants it at any time. By
employing technology that not all browsers and platforms support, you
deny information to people. Remember that the primary purpose of any
Web application is to deliver information and remain available at all
times. You never know; the person who couldn't access your application
may have been your next customer!
Your application design should minimize network traffic as much as
possible. It is common to see sites that go over-the-top and give
browsers an assortment of cookies just to work. Juggling a lot of
cookies not only consumes bandwidth, but also makes things difficult
to manage. As a rule of thumb, if your application sends more than 40
KB of data or if your page requires more than 5 seconds to load, it is
time to take the application back to the drawing board. Small tweaks
here and there do not last for long. If you look around, the most
popular and the most visited sites are very simple.
You should also take into account the next wave of mobile devices and
the connection they will use to access your application. As a best
practice, your application should tailor content to the client that
requests it.
Separate code, content and presentation
HTML is a markup language to present content; PHP is an HTML-embedded
scripting language. This does make simple tasks easy, as demonstrated
in the date example above. However, when you have complex requirements
to implement, embedding PHP in HTML takes away simplicity from the
code. Simplicity should be the first flag you'll need to capture if
you are making a large application. Separating code, content, and
presentation may sound laborious, but it brings simplicity back into
the code.
Just as encapsulating core functionality in modules and avoiding code
duplication is important, using a single source for content and
presenting the content the way it is wanted on demand is also
important. Your flexibility to tailor pages according to the client
and connection speeds is increased. Another spin-off is that
programmers, designers, and writers work independently of each other,
which is a good thing if you are handling a large project.
Don't be afraid to scrap designs
No matter what anyone tells you, application design is best learned by
practice. If you are just getting started, you may make many mistakes
- that's how you learn. Bad designs deserve to be scrapped. That is
why you must keep code, content, and presentation loosely coupled:
scrapping bad application architectures and designs becomes less
painful. You can keep the content and the presentation while losing
your older code to something better.
[23]See the rest of the articles here.
[24][Back to Top]
WARE: Shopping Squirrels
As I mentioned in the past, I'm working on a Web site for my
[25]mother-in-law. She wants to sell her Peanut Patties, Pecan Praline
Patties, and BBQ Walnuts online. Having sampled the candies, I of
course jumped at the request to build the site for her.
Well while planning the site I knew we need to get real-time shipping
quotes so she would know how much to charge for shipping to various US
locations. So I fiddled around with creating my own scripts to do this
and just found it to be too much on my limited time budget. So I set
out to find a nice shopping cart program which would do it for me,
among other things.
Well while surfing one of those Web sites with all the scripts on them
I came across [26]Squirrelcart. Upon first look I was super impressed
because it did both UPS and US Postal rates! This is perfect for her,
since she lives in a small town with limited options for shipping.
Besides being well equipped in the shipping category, it has a
multitude of support for various merchant accounts, including
[27]PayPal and [28]2Checkout. Both of these systems are very low cost
to get into and help you to establish a merchant type account quickly
and easily. Of course if you are doing a steady volume of sales you'll
need to get a real account to get the best savings, but I digress.
The cart itself was very easy to install and even easier to get things
set up. The administrator interface is awesome and very clean, kind of
a Windows XP / Mac feel to it. Also the documentation and support
systems they have in place are stellar as well. I had a few questions
about the Paypal IPN service (which isn't in place 100% yet) and
posted my support ticket with their system. 18 hours later I had a
response and suggestion for following the issue! They also have a
great community forum for those who require a wider range of replies.
So if you have a PHP / MySQL server and are in need of a great
shopping cart, I have to recommend [29]Squirrelcart. With a price tag
of only $109, it's an easy pick for most budgets. If you need more
data before you make the purchase plunge, then [30]jump over here to
see the current feature list.
[31][Back to Top]
FAVORITE: GuruNet
By [32]Matt Hartley
[33]http://www.gurunet.com/
I find that within any given day I do a great deal of my work on the
Web. Tracking down the latest technology related events, seeing what
is happening in the news and even scouring around on Google trying to
locate the latest hardware drivers for my clients.
Using Google for these tasks has been the "standard" for some time
now. The only problem is that it can be a real pain to scour through a
ton of "stuff" when you already know what it is you are looking for.
The folks at GuruNet have a very useful and viable solution for those
of us that need to "get a question answered" or do some research on a
specific subject. Actually it is a lot like having your own little
expert on everything right there in your system tray.
So what the GuruNet software do for you?
* Alt-Click on any word/phrase - GuruNet provides "instant answers"
to just about anything you ask it. In an e-mail, Web page, or a
document you might find a word that is completely foreign to you.
So you do an Alt-Click with your mouse and BAM you have the
definition of that word right at your fingertips.
* Contextual recognition - GuruNet uses surrounding words to help it
find the information that you need when making a query. Spell
checking is handled automatically while quickly offering you
alternatives in the "did you mean?" tab provided in the program.
* Authoritative data sources - GuruNet provides all content "garbage
free" so that you can get your work done without the distractions
of irrelevant sites that might draw attention elsewhere.
This is all great and everything, but is this software right for me?
Fair enough. This software is perfect if you are:
* A Teacher
* A Student
* A Professional
* A Newspaper reporter
* Doing research for a law firm
* Anyone needing the ability to find information that they can offer
to clients/readers/co-workers as FACT
Searches that GuruNet excels in include:
* Nutritional values
* History
* Important events
* Laws (Specific court cases, specific laws, etc.)
* Sports history/trivia (settle bets without starting a bar brawl,
prove that you are the master of sports trivia)
* Medical reference (Diseases, medications, treatments, etc.)
GuruNet is not by any means here to replace your favorite search
engine. Rather, it is designed to help focus your search to only the
most relevant information that has been PROVEN to meet the needs of
your query. Google is an awesome search engine, but when you need to
scour encyclopedias, dictionaries, and other content providers proven
to be accurate with no "maybe it's correct" information... GuruNet is
the logical choice.
So whether you have kids in school or you simply want to have access
to accurate, up-to-date information that you can offer as concrete
FACT without those "I hope this Web site's information is correct"
jitters, GuruNet is truly a must have product. I am quite impressed
and look forward to seeing what advancements they offer as this
software continues to mature and grow.
[34][Back to Top]
TALK: More MYSQL Managers
Gnomie Kevin had this to say about a great free MySQL Manager:
I'm really enjoying the project - keep up the great work!
I just read the latest issue and your feature about MySQL Manager.
The company I work for recently started using MySQL for our
clients' databases and I was put in charge of finding a good, low
cost (read "free") management tool. I, of course, turned to
WebAttack and found MySQL-Front listed, but they said that the
developer had stopped updating. Undaunted, I checked out the Web
site of the developer ([35]http://www.mysqlfront.de) and found that
the project is very much alive. I downloaded version 2.5 for work
as it is the latest "stable" version and I love it. I have since
downloaded version 3 for personal use and I have to say that I
can't recommend it highly enough.
The interface is intuitive -- especially if you're used to using
MS-SQL Enterprise Manager - and full-featured. Being used to
Enterprise Manager, the one thing that I have had the most trouble
getting used to is the fact that data imports are accomplished via
SQL statements, although I must say that now that I have gotten
used to this I do like it and find myself having trouble going back
to Enterprise Manager at times.
Just thought I'd let you know about this great cheap tool (It's
only $25 in case you didn't know about it already).
Again, keep up the great work on the newsletter, and thank you.
And those of you who are working on projects which are paid or billed
by the hour, Gnomie Rick suggests you check out [36]The Project Timer.
From their Web site: Project Timer Pro has been designed especially
for time tracking, so you simply start a 'Timer' when you start work
and stop the 'Timer' when you finish. If you need to take a break and
leave the computer, Project Timer Pro automatically knows and can
pause the 'Timer' with a variety of options. On the Mac OS Project
Timer Pro can even tell if your computer has been asleep, for example
if you are working on a train and reach your stop, you just send the
computer to sleep and, when it awakes, Project Timer Pro allows you to
enter the time the computer was asleep as a Pause.
And finally Gnomie Pat (aka Vinyl-junkie) had these recommendations
for database conversion tools.
Vinyl-junkie here from the Lockergnome forums. If you'll recall, in
a recent newsletter you mentioned a post of mine to the Webmasters
forum, where I was looking for some pointers on converting an MS
Access database to MySQL and converting the accompanying code to
PHP. I thought you might be interested to know that I'm well on my
way to doing just that. (You were right about recommending Kevin
Yank's book, too; it's been a great resource in that effort). I
also wanted to share with you a couple of terrific database
conversion tools I found. Perhaps you'd like to include this in a
future newsletter:
Access-to-MySQL, by Intelligent Converters - 2000/XP/NT4 $39.85
[37]http://www.convert-in.com/acc2sql.htm
[Convert MS Access databases to MySQL] Access-to-MySQL is one of
the easiest tools you'll find for converting your Microsoft Access
databases to MySQL. It comes in several packages, like the Standard
Edition, which converts a single database and the Professional
Edition, which provides bulk database conversion. There is also a
choice of bundles that provide, for example, conversion between
Access and MySQL and back, plus similar tools for conversion
between Excel and MySQL. Check their Web site for more details.
The user interface is simple and straightforward, providing
capability of logging onto the MySQL server remotely to upload your
converted database directly to the server. If your Web host doesn't
allow remote server logon, or you'd just like more control over the
conversion process, select the option which creates a dump file.
That file contains all the SQL insert statements necessary to
populate your MySQL database. Then you simply logon to the MySQL
server and, using a tool like PHPMyAdmin, select your dump file for
processing. In a matter of minutes, you will have created your
MySQL database.
The only limitation I've found - and this is not directly related
to the use of Access-to-MySQL - is that if your MS Access tables
contain more than about 6,000 records, you'll have to split your
dump file into smaller chunks for processing. Otherwise, the MySQL
server will choke. That's a limitation I can live with though,
considering how easy this software is to use.
CSV-Importer - Free
[38]http://codewalkers.com/seecode/175.html
[Convert a CSV (comma separated values) file to MySQL] The other
conversion tool that I found which seems to work pretty well is CSV
Importer. As you know, MS Access has a built-in tool that will
export all your tables to CSV files. Beyond that, all you need to
do is unzip this file, upload the appropriate files to the Web
server and follow the on-screen instructions. Note that your
database and required tables must already exist on the server in
order for this software to work.
This software is just as easy to use as Access-to-MySQL, but
suffers the same limitation - that of restricting the conversion to
no more than about 6,000 records at a time. It also has a small bug
whereby timestamp fields are not properly converted. You can easily
get around this problem though by executing a SQL command on the
server with the following format:
ALTER TABLE 'table-name' CHANGE 'field-name' 'field-name' DATETIME;
For example, I have a timestamp field called LastUpdateByUser in a
table called tblTracks, so my command would look like:
ALTER TABLE `tblTracks` CHANGE `LastUpdateByUser`
`LastUpdateByUser` DATETIME;
No matter which database conversion tool you use though, you'll
find that it's not as difficult to do as you might think.
Thanks, Guys!
[39][Back to Top]
[40]http://channels.lockergnome.com/web/backissues/20040211.phtml
Your subscribed e-mail address is questions at freebsd.org - To
unsubscribe or change your delivery address, please visit the
[41]subscription management page.
© 1996-2004, Lockergnome LLC. ISSN: 1095-3965. All Rights Reserved.
Please read our [42]Privacy Policy and [43]Terms of Service. Web site
hosted by [44]Webair. Email newsletters powered by [45]WhatCounts.
Domain registered at [46]GnomeDOMAINS. The more we disagree, the more
chance there is that at least one of us is correct.
OUR CHANNELS:
[47]Windows Fanatics
[48]IT Professionals
[49]Web Developers
[50]Tech News Watch
See our [51]Channels Overview for more information and RSS feeds.
[sidebar-hr.gif]
OUR NETWORK:
[52]Lockergnome
[53]RSS Resource
[54]GnomeDomains
[55]GnomePortable
[56]GnomeSavings
[57]GnomePersonals
[58]GnomeJobs
[59]File of the Day
[60]Gnomedex
OUR COMMUNITY:
[61]Join the Forums
[62]Chat with Gnomies
[63]Watch the Webcams
[64]Recommend Us
OUR FORUMS:
[65]Digicam Help
[66]Apple Help
[67]Gaming Help
[68]Networking Help
[69]Mobile Help
[70]Programming Help
[71]RSS Help
[72]Windows Help
[73]Linux Help
[74]Internet Help
[75]Hardware Help
CONTACT US:
[76]General Feedback
[77]Contact Staff
[78]Submit Your Link
[79]Sponsorships
[80]Ask a Question
[81]The Editor's Blog
[sidebar-hr.gif]
LATEST TECH NEWS:
[82]Unreal Tournament 2004 demo released
[83]Microsoft Adds Juice to Removal Tool
[84]Palm Powered PDA a Day
[85]Video Game Mamas
[86]Spike Lee's "Secret Agent Man"
[87]Angry with RIAA tactics, programmer creates mask for file-sharers
[88]What world-famous command did the first IBM PC manual omit?
[89]Windows XP may take upward of three minutes to complete a wireless
network connection
[90]Stop error message on a blue screen when you transfer data to a
USB device in Windows XP
[91]Surfin' Safari
[sidebar-hr.gif]
LATEST RSS NEWS:
[92]RSSgenr8
[93]Pluck
[94]Windows XP Expert Zone Community Website
[95]CompleteRSS
[96]PV Comics
[97]RSS = Rudely Syndicated Spam
[98]RSSTop55
[99]What is RSS?
[100]How to Create RSS
[101]Barenaked Feeds
[sidebar-hr.gif]
FEATURED DOWNLOADS:
[102]Image Converter Plus
[103]Aaron's WebVacuum v2.3
[104]Auto FTP Manager
[105]Transparent Screen Lock for Win2K/NT/XP
[106]Library of the Ages v1.0
[107]Belltech Greeting Cards Designer v1.1
[108]AbroSoft FantaMorph
[109]Winter Wonderlands
[110]DownShift
[111]FolderMatch
[sidebar-hr.gif]
[t?c=65641&r=16&l=4828&t=10&s=35342912]
References
1. http://channels.lockergnome.com/web/
2. http://www.lockergnome.com/
3. file://localhost/tmp/tmppFSX-6.html#1
4. file://localhost/tmp/tmppFSX-6.html#2
5. file://localhost/tmp/tmppFSX-6.html#3
6. file://localhost/tmp/tmppFSX-6.html#4
7. file://localhost/tmp/tmppFSX-6.html#5
8. file://localhost/tmp/tmppFSX-6.html#6
9. http://channels.lockergnome.com/web/backissues/20040211.phtml
10. http://lockergnome.com/rss/web.php
11. http://lockergnome.com/rss/web.php
12. http://go.lockergnome.com/220
13. http://www.pentazip.com/
14. http://www.gurunet.com/?afid=6206
15. http://go.lockergnome.com/257
16. http://go.lockergnome.com/257
17. http://lockergnome.com/contact/staff.phtml?r=8&s=[WDV]
18. file://localhost/tmp/tmppFSX-6.html#top
19. http://channels.lockergnome.com/web/backissues/20040204.phtml
20. http://lockergnome.com/contact/staff.phtml?r=8&s=[WDV]
21. file://localhost/tmp/tmppFSX-6.html#top
22. http://www.zend.com/zend/tut/tut-hatwar3.php
23. http://www.zend.com/zend/tut/tut-hatwar.php
24. file://localhost/tmp/tmppFSX-6.html#top
25. http://www.sweetsfromthesouth.com/
26. http://www.squirrelcart.com/
27. http://www.paypal.com/
28. http://www.2checkout.com/
29. http://www.squirrelcart.com/
30. http://www.squirrelcart.com/features.php
31. file://localhost/tmp/tmppFSX-6.html#top
32. http://ctsdownloads.com/
33. http://www.gurunet.com/?afid=6205
34. file://localhost/tmp/tmppFSX-6.html#top
35. http://www.mysqlfront.de/
36. http://www.scriptsoftware.com/projecttimer/
37. http://www.convert-in.com/acc2sql.htm
38. http://codewalkers.com/seecode/175.html
39. file://localhost/tmp/tmppFSX-6.html#top
40. http://channels.lockergnome.com/web/backissues/20040211.phtml
41. http://sub.lockergnome.com/
42. http://lockergnome.com/about/privacy-policy.phtml
43. http://lockergnome.com/about/terms-of-service.phtml
44. http://www.webair.com/cgi-bin/in?51
45. http://www.whatcounts.com/
46. https://www.gnomedomains.com/
47. http://channels.lockergnome.com/windows/
48. http://channels.lockergnome.com/it/
49. http://channels.lockergnome.com/web/
50. http://channels.lockergnome.com/news/
51. http://lockergnome.com/channels/
52. http://lockergnome.com/
53. http://rss.lockergnome.com/
54. https://gnomedomains.securenow.com/
55. http://www.handango.com/brainstore/home.jsp?siteId=813
56. http://lockergnome.pricegrabber.com/
57. http://personals.lockergnome.com/
58. http://seeker.dice.com/seeker.epl?rel_code=14
59. http://windows.fileoftheday.com/
60. http://www.gnomedex.com/
61. http://help.lockergnome.com/
62. http://lockergnome.com/community/chat.phtml
63. http://www.lockergnome.com/community/cams.phtml
64. http://lockergnome.com/contact/recommend.phtml
65. http://help.lockergnome.com/index.php?s=&act=SF&f=16
66. http://help.lockergnome.com/index.php?s=&act=SF&f=12
67. http://help.lockergnome.com/index.php?s=&act=SF&f=19
68. http://help.lockergnome.com/index.php?s=&act=SF&f=9
69. http://help.lockergnome.com/index.php?s=&act=SF&f=14
70. http://help.lockergnome.com/index.php?s=&act=SF&f=31
71. http://help.lockergnome.com/index.php?s=&act=SF&f=33
72. http://help.lockergnome.com/index.php?s=&act=SF&f=4
73. http://help.lockergnome.com/index.php?s=&act=SF&f=8
74. http://help.lockergnome.com/index.php?s=&act=SF&f=6
75. http://help.lockergnome.com/index.php?s=&act=SF&f=5
76. http://lockergnome.com/contact/
77. http://lockergnome.com/contact/staff.phtml
78. http://lockergnome.com/contact/submissions.phtml
79. http://lockergnome.com/advertise/
80. http://ask.pirillo.com/
81. http://chris.pirillo.com/
82. http://channels.lockergnome.com/news/archives/008931.phtml
83. http://channels.lockergnome.com/news/archives/008929.phtml
84. http://channels.lockergnome.com/news/archives/008927.phtml
85. http://channels.lockergnome.com/news/archives/008925.phtml
86. http://channels.lockergnome.com/news/archives/008924.phtml
87. http://channels.lockergnome.com/news/archives/008921.phtml
88. http://channels.lockergnome.com/news/archives/008920.phtml
89. http://channels.lockergnome.com/news/archives/008919.phtml
90. http://channels.lockergnome.com/news/archives/008918.phtml
91. http://channels.lockergnome.com/news/archives/008912.phtml
92. http://rss.lockergnome.com/archives/software/008932.phtml
93. http://rss.lockergnome.com/archives/software/008930.phtml
94. http://rss.lockergnome.com/archives/feeds/008928.phtml
95. http://rss.lockergnome.com/archives/services/008926.phtml
96. http://rss.lockergnome.com/archives/feeds/008923.phtml
97. http://rss.lockergnome.com/archives/news/008916.phtml
98. http://rss.lockergnome.com/archives/help/008915.phtml
99. http://rss.lockergnome.com/archives/help/008913.phtml
100. http://rss.lockergnome.com/archives/software/008903.phtml
101. http://rss.lockergnome.com/archives/feeds/008902.phtml
102. http://windows.fileoftheday.com/archives/008914.html
103. http://windows.fileoftheday.com/archives/008896.html
104. http://windows.fileoftheday.com/archives/008875.html
105. http://windows.fileoftheday.com/archives/008852.html
106. http://windows.fileoftheday.com/archives/008830.html
107. http://windows.fileoftheday.com/archives/008819.html
108. http://windows.fileoftheday.com/archives/008779.html
109. http://windows.fileoftheday.com/archives/008766.html
110. http://windows.fileoftheday.com/archives/008759.html
111. http://windows.fileoftheday.com/archives/008688.html
More information about the freebsd-questions
mailing list