Projects
These projects are ongoing; some are still being developed, while some are basically complete and are only needing maintenance.
Write On!
This is a website that I started a while ago for discussing writing. It is as discussion oriented as a website can get, and kind of looks like a magazine. Articles are written by anybody who wants to try his hand at it. The discussion topics can be anything related to writing at all - read a few articles to see what I mean.
Write On! is based on the scoop program, which handles everything on the site except the original writing. I've had a few compliments about it; unfortunately one of the most common ones is "it has a lot of potential" followed by the speaker leaving. Kind of frustrating. The majority of articles are still written by me at this point. It's a tough balance to walk: do I keep the quality of articles high at the expense of a slow-moving front page, or do I submit any old garbage just to keep the front page moving? If the front page moves fast, stories may not get as many comments or people may not read them as they're farther down the page. If the front page moves slow, people may think the site has been abandoned and not come back at all, much less comment. It's the dilemma of a fledgling discussion site; they work because of the people, but how do you get the people there to begin with?
I've also recently added a new section to the site, only available through Write On's OpenNIC address (see below for more about OpenNIC). It's located at ideas.write-on.indy, and what it is is a service for writers to help them organise their story background information. The key thing about it is that it's extraordinarily easy to cross-reference information, even information that you haven't written out yet. If the cross-reference destination doesn't exist, the link looks different and provides a one-click way of creating the new page - at the same time, reminding you that you still need to write it. The program that runs it is TWiki, one of many different wiki programs. Wikis in general require a webserver to run them, and can be a bit tricky to install, so I thought I'd let people use mine. This particular wiki program has basic access controls, so you can keep your stuff private.
OpenNIC Search engine
The OpenNIC is a democratically operated alternative DNS root system. For those not familiar enough with computerese, it means that if you use OpenNIC, you can get a selection of alternative domains in addition to the "normal" .com, .net, .org, etc. The TLDs (Top Level Domains) operated by OpenNIC are strictly chartered, so you are not allowed to run a website on an OpenNIC TLD if it does not follow the charter. That said, the charters are fairly loose; .null, for example, is for personal websites only. (This site is also available at www.paradox.null.) So a .null website could not be operated as a company, though a specific exception was made for a personal page that also sells a few items "out of the owner's garage."
Right. Anyhow, I started a search engine that crawls all of the OpenNIC domains and allows you to search them. Kind of like google, but not as big or as powerful. You can use the search engine if you're not an OpenNIC member, but you won't be able to follow any of the links. If you're interested in becoming a member, there is joining information and setup instructions to be able to get to OpenNIC domains. Don't worry, they don't require you to install any programs, only to tell your computer that it should talk to OpenNIC first when looking for a domain name.
HTML Tutorial
This is a tutorial that started its life as a "quick & dirty", then based on the responses I got I decided to expand it significantly. Most of the original tutorial can now be found in the beginners section, and some of it in the intermediate section. There is also an advanced section, partially completed. All three sections together will (once the advanced section is complete) cover all parts of the HTML 4.01 specification - and all pages are compliant.
The tutorial is organised such that you can do the beginners section only, and you will be able to make simple web sites. It isn't fancy, but it'll do. If you want to get fancier, you can move on the the intermediate section, and make fancier, nicer looking websites. The advanced section is for fancy features of HTML that not that many people really need.
One of the principles behind the tutorial is that you will never see anything you don't recognise in the code behind the pages, once you've completed that section. The other is that the beginners pages are an example of the type of site you can make with only the tools found in that section of the tutorial.
TeX/LaTeX Tutorial
This is a planned tutorial, covering the TeX typesetting system, including the LaTeX extensions. It will follow one of the two principles of the HTML tutorial above: the beginners section will allow you to make complete, if uncomplicated, TeX documents; the intermediate will teach you how to make more complex ones, and so on. The other principle is rather difficult to follow, given that the tutorial is displayed using HTML and not TeX ;-)
TeX is a "WYGIWYM" system (what you get is what you meant), as opposed to the "WYSIWYG" (what you see is what you get) that you're probably used to. The problem with WYSIWYG is that when you are editing a document, you have to deal with layout issues at the same time. For a complex document, this can get extremely annoying. For example, a table or graph on a page with text must be placed by hand; if the text above it changes in length, the table can be pushed off the end of the page or pulled onto the previous page, requiring you to readjust its position. With WYGIWYM, on the other hand, you don't deal with layout issues at all. You tell TeX the structure of the document (paragraphs, sections, etc) and let it deal with the layout. To use the example of a table or graph on the page with some text: with TeX, you say what point in the text the table is associated with, then tell it to place it there. If it won't fit, it'll try fitting it on the next page, and flowing the text appropriately. You can specify your priorities for its location in any combination or order of: there if it can, at the top or bottom of the page, on the top of the next page, or on a separate page if it must. It will flow the text in the best way possible - and it is a very intelligent program, the results are almost always excellent - and place the table appropriately.
TeX is a bit harder to use for short, simple documents than most word processors, and really isn't at all suitable for things like posters where the visual design is all-important and must be absolutely controlled. For long, complex documents, however, it simply can't be beat, especially if there are any equations. TeX was written because Mr. Knuth couldn't find a typesetting program that would do an adequate job on his equations and algorithms for his very large "The Art of Computer Programming" series. I started using it for technical reports a few years ago, and now I won't touch a word processor if I can help it.
Shared library
This is a web-based program that will allow you and your friends to list what books (or CDs, DVDs, tapes, or anything really) you have. When your friend borrows one of your books, you tell the website who has it. The point of this is so that if you and your friends borrow each others books a lot, you can always tell who has what. This would also work well for a company - employees could borrow a book from a co-worker rather than asking the company to buy another copy because they didn't know about the one they already had. No link because it's not useable yet, I just started on it recently.
I had the idea because some friends were talking about sort of pooling our textbooks, so younger people in the group could borrow textbooks and not have to shell out $100-150 if they didn't have to. They were going to do it mostly by hand, which would be a royal pain. When I described it to my boyfriend, he commented that his company could use that kind of a program, because all of the developers have fairly well-stocked bookshelves, and books are borrowed and lost track of all the time.
I'm working on the login system, since every other function will make sure you're logged in before allowing you to do anything. I've never actually worked with the baking end of cookies before, so it's kind of interesting. Once I get that done, I'll start on the basic functions; namely, adding people and books to the database, and reading them back out. Then, allow people to mark books as borrowed or returned, and search for them. Finally, add some administration stuff and release it.
