This document was last modified April 2, 2008.
NOTE: Development on this client has discontinued (though the download is still available).
Please check out my new client at E2 Explorer.
E2 Link and Logger Client
Current Version: 0.9.9.61 beta
Download Location: http://www.pitt.edu/~rttaylor
Note to users: I welcome any feedback regarding this client (good or bad).
--== features, requirements, FAQ, user comments, and changelog below ==--
Announcements!
New Patch! (posted May 2, 2003)
If you were/are experiencing problems with the Node Tracker, please download the newest version which contains a patch that solves the problem.
Fixed! (see above) Temporary Problems! (posted May 1, 2003)
There is currently a problem with the client parsing the User Search XML Ticker. Since it is not parsing the ticker correctly, it is reporting that all your writeups are gone. Don't fret! I'm working on a patch which should be available soon.
In the good news department, I'm working on a completely redesigned client which I am writing from the ground up. It will not suffer from problems such as the one above. ;-)
What's New in Version 0.9.9.x? (posted April 6, 2003)
- Log Viewer Nodelet
- New Toolbar buttons
- Bugfixes for Catbox, softlinker
- New Database format and access
- Minor updates to Homenode List Generator, Nodegel Visualizer, Catbox, Offline Scratchpad
- (More details in the "Features" and "Changlog" sections below)
What is it?
The E2 Link and Logger Client is an all-in-one, multi-threaded, multi-user, GUI, E2 Client that performs many of the same features as several other E2 utilities currently available to noders. What makes the E2 Link and Logger Client different is that unlike the other utilities that only perform a single function or are only available for command line use, this one combines nearly all of the features of many different clients into one GUI application.
This client implements most of the features* of all the applications below (and in some cases, more). They are all excellent programs, and if you do not meet the minimum requirements for the E2 Link and Logger Client, I suggest you check them out:
You may also wish to check out the soft links under "Small helpful scripts for noders", "e2client", and "Integrated Noding Environment" for additional E2 utilities.
* Full list of features below
What's with the name?
"E2 Link and Logger Client". Cheesy? Maybe, but it describes what the client does. The E2 part is obvious, but here's the rest:
Requirements
To use this client you will need the following:
- Windows 98/NT/2000/Me/XP - Other operating systems may be supported in the future (see Technical Information below; Win98 users should view Known Issues below)
- Microsoft .NET Framework - You can download this for free from http://msdn.microsoft.com/netframework/downloads/ or from http://windowsupdate.microsoft.com. Many newer computers, people who regularly visit Windows Update, or people who receive automatic updates from Microsoft may already have this installed. While it is a large download, it is very likely that you will need it in the future, as many new .NET applications will be created, and all new Microsoft products will be written using .NET. Mono may be supported in the future (see Technical Information below)
- Microsoft Data Access Components (MDAC) 2.6 or higher - You can download this for free from http://www.microsoft.com/data/download.htm. Many applications use MDAC, so it is likely that it is already installed on your computer.
Features
General Features / Interface
- Easy to use Graphical User Interface
- Supports multiple users/usernames
- Supports multiple E2 Servers (login to whatever server you prefer)
- Multi-threaded
- user customize numerous features for the Chatterbox Client, Node Tracker, and Soft Linker
- automatically checks for updated versions
- comes with a Windows HTML Help file
Chatterbox Client
- auto-refreshes Chatterbox content
- auto-refreshes Private Messages (option to show or hide archived messages)
- auto-refreshes Other Users
- all non-cloaked users are displayed in Other Users (not just those in the room you are in)
- Other Users are sortable by username, XP, gods (@), Content Editors ($), edevites (%), borged users (B), or room
- easy room selection from a drop down box (all rooms are listed, not just outside, Political Asylum, and Noders Nursery)
- easy click interface to private /msg any of the Other Users, or move to a room someone else is in
- large multi-line talk box
- link to Message Inbox
- link to ascorbic's E2 Chatterbox Archive
- displays new messages and previously displayed messages in different colors so you can follow the conversation easier
- all hard links and pipe links have tooltips
Node Tracker
- tracks Everything User Search information including reputation, upvotes, downvotes, and C!s
- tracks number of writeups, XP, and karma (golden trinkets)
- calculates merit, devotion, node-fu, WNF, mean, median, mode, total rep, cools percentage, and writeup type percentages (all calculations are based on current statistics, so will be more accurate than the values calcuated only once per day the E2 web site)
- can view your changes over any saved time period
- creates homenode lists: general user statistics, writeups with the highest/lowest reps, cooled writeups with the highests/lowest reps, writeups with the highest upvote/downvote ratio, writeups with the most/least votes, writeups with the most upvotes/downvotes, writeups with the most cools (for sample output, see here)
- creates nodegel visualizer graph as reputation vs time (for sample output, see here)
Writeup Editor/Offline Scratch Pad
Soft Linker
- auto-creation of soft links by writeup or by node
- select any of your own nodes, or enter additional titles to softlink
- choose the number of "clicks" for each link
Nodelets
Where to get it
You can download the install file from http://www.pitt.edu/~rttaylor
The download consists of a single self-extracting executable (created with ZipCentral) which is only about 100-200 KB (give or take depending on the current version). By running this file, you will decompress/install a few files to a single folder (no registry entries, and no changes to your system folders):
- E2LinkAndLogger.exe - the main executable file
- E2LinkAndLogger.mdb - a database for storing information used by the application (this will be swappable in future releases to allow noders to use any DBMS they prefer. MS Access files just happen to be easy to distribute.)
NOTE: You do not need Microsoft Office or Microsoft Access installed for this application to work.
- AxInterop.SHDocVw.dll - a library file that allows the application to utilize web browser like functions
- Interop.SHDocVw.dll - another library file for web browser features
- E2LinkAndLoggerClientHelp.chm - a windows HTML help file
- README.txt - not all releases will contain a README file; you should always refer to this writeup for the most up to date information
After installing, simply run the E2LinkAndLogger.exe file to start the client.
Technical Information
The entire application was coded in Visual C#, and requires the Microsoft .NET Framework to run. Database connectivity is achieved with OLEDB. Though I used the other applications listed above for ideas and comparisons, I did not use anyone else's algorithms or code (it probably would have taken me longer if I had tried - I'm horrible at reading other people's code), so any problems are my own. Most of the features requiring information directly from Everything2 are implemented through the use of E2's XML tickers. I chose to use this language and platform for two main reasons:
- I needed to learn .NET for my job, and needed a project to play with.
- Regardless of the anti-Microsoft hype, they still have the most used operating system, and I wanted the client to be available to the most number of users.
That being said, do I have plans to port this to other platforms or languages? It's very likely that I will try and port it to Linux once Mono is complete and stable. However, there is one obstacle preventing this. The interface I use for the catbox client uses an ActiveX browser, which as it turns out is a scaled down version of Internet Explorer. I searched high and low for a component that could take HTML text and tags as input and display the parsed output properly and support JavaScript, but this was all I could find. If anyone knows of a library that can do this, or knows of a Mozilla library for Mono, please let me know. I'm itching to get Internet Explorer specific code out of my application, so that I can allow the user to choose their own browser.
It is not open source at this time, however, I am willing to answer questions, share ideas, and help other clientdev (or potential clientdev) members with problems they may be having with other clients, or who are just wondering how this works.
...suggestions, bugs, corrections, requests, RFEs, praise, beer, and anything else go to me. Feedback (especially constructive criticism) is highly appreciated. If it is short, feel free to /msg me. Anything long should be emailed to "bestsellers AT consultant DOT com". If you are interested in helping with the documentation or in creating toolbar icons, please contact me as well - I will give you full credit in the application and this writeup.
Frequently Asked Questions
Below are some of the most frequently asked questions and their answers. Please note that most of the questions I receive are answered in this writeup or in the Help File, so please consult both of them first. To ask a question of your own, see the heading above for contact information.
This is, by far, the most commonly asked question:
Q. Why am I getting the error, "The dynamic link library mscoree.dll could not be found in the specified path..."?
A. You will receive this error if you have not installed the Microsoft .NET Framework. Please read the Requirements section above for information on how to install the framework.
Q. Can I view the source code?
A. As of now - no. I am extremely unhappy as to how the application parses the XML tickers, and do not want to share the code until I fix this. (I was a complete newbie to XML when I started this.) I do not have any sort of time table as to when this might be. However, I am more than happy to answer any questions about the basic algorithms I used to make the app work.
Q. How can I disable Feature X in your client?
A. First, the Help file (Help->Contents) will answer most of these questions. You can turn on and off almost any feature in the Preferences window (Edit->Preferences). To turn off the Nodegel Visualizer, set the height and width settings to "1".
Q. Will you add/change/improve Feature X?
A. Possibly. Maybe. I have a lot of plans for this application - it's far from complete. I do take suggestions and feature requests, but I do all of this in my free time, so don't expect an immediate turn-around. I will most likely place a higher priority on the most common RFEs, so please provide feedback!
Q. Will you notify me when you release a new version or a patch?
A. The short answer: Yes. However, unless we are working closely together on a specific problem, I probably will not notify you directly. The application automatically checks for updates every time you log in with a connection to the Internet. In other words, I will notify you through the application itself. You are also free to visit this writeup at any time to see the current version and changelog.
Q. Why does the chatterbox client open Internet Explorer instead of my default browser when I click any of the links?
A. This is not a bug with the client itself. It is a .NET bug that has been confirmed by Microsoft (see Microsoft Knowledge Base Article #327135), and should be fixed with the next Service Pack for the .NET framework. It relates to the BeforeNavigate2 event not being fired. This behavior only affects the catbox and private messages areas - all other links in the application should open in your default browser.
Q. Why does your client sometimes work very fast, and sometimes very slow?
A. Whenever the E2 web site is experiencing a lag, the client will experience the same lag. You are free to log into a different E2 server (if you happen to know of the others) to try and alleviate the problem.
See Known Issues below for additional information
Who uses the E2 Link and Logger Client?
The following people have contacted me to let me know that they use my client, and/or have some of its output displayed on their homenodes (/msg me to get your name added).
As of the last time I looked, these users have output generated by the E2LnL client on their homenodes.
Angry Safer, arieh, Bacon the Rambler, BlueDragon, booyaa, BrianShader, briglass, CapnTrippy, CloudStrife, Damodred, Davidian, DogDaze, DroppedD, dTaylorSingletary, DWarrior, Footprints, glindsey, golFUR, GoodKingNerdnor, haggai, in10se, illsorted, isogolem, JeffMagnus, Jembeth, joes3029, Just_Tom, Lennon, machfive, MALTP (sort of), mauler, McCart42, Mikebert, morven, npecom, NickABusey, No Springs, novasoy, O Boy, pao, Randofu, Redalien, RoyHoo33, RPGeek, RubenAzarja, sekicho, sideways, Sontra, spiregrain, TanisNikana, Tato, TenMinJoe, The Big See, The Lush, thisfred, trembling, ttflyer, weasello, Wntrmute, WolfDaddy, wordnerd, zoinksbear
As of the last time I looked, these users do not have output generated by the E2LnL client on their homenodes, but have reported that they use it for other purposes.
=nerochiaro=, 1010011010, 10998521, 2s, 54b, 69lovesongs, Achromatic, adamk, Ahab, Albert Herring, althorrat, amnesiac, Anml4ixoye, anodyne, apelet, artifex, atesh, baffo, balseraph, bane221, bishopred1, Bitriot, BlakJak, blondino, bol, Brontosaurus, BrooksMarlin, bruenet, BurlyBob,