Note: The Tip Server is no longer served from Scot's Mac. In February of 2003, Scot emailed me (Chris Simmons) looking for a good home for the tips server. Naturally I agreed to find a solution for it, and arranged hosting through our already established webhost Complexero. They have done a wonderful job of providing webhosting for not just The BeOSJournal, but other BeOS related sites too, at no expense. I can't say enough good things about Mike. He is great. ;)
I only hope that I can carry on with the Tip server in as good a fashion as Scot has already done. Thanks Scot for that opportunity to provide such a valuable resource to the entire BeOS Community.. ;)
-Chris Simmons,
Avid BeOS User.
Note: The Tip Server is no longer served from a BeOS machine. In September 2001, just after Be was purchased by Palm, I retired my BeOS partitions to make way for Linux and Win2K partitions (I still keep one BeOS partition around for posterity, and in case I need a whiff of that clean BeOS air). The TrackerBase database that served BeTips was converted to a MySQL/PHP system running on Mandrake 8.
In February 2002 I decided that Mac OS X has all the Unix I could ever want, and retired the Linux box. This site is now hosted on OS X / Apache / MySQL. The Mac is also my main desktop workstation, serves as our home Samba server, and crunches static HTML files www.kissthisguy.com. Despite its many wonderful qualities, BeOS was just not stable enough as a server, and I had to constantly monitor it for uptime. Both the Linux machine and this Mac give me near-100% uptime.
I've also built a publishing back-end for the site which is personed by volunteer editors, so the site should get more frequent updates.
The original description of the TrackerBase system is below for posterity. It's still possible to serve web sites out of the BFS database, but feasible? That all depends on how much traffic you're getting. At around 5,000 hits/day, this server generally didn't have uptimes much longer than five days at a stretch. I had hoped BONE would fix everything, but alas, it never quite got there.
It's a sad day for me, but I had to be realistic, and I hope this site continues to serve the BeOS community well, regardless of the OS it's running on.
-- Scot Hacker
BeOS features a unique, high-performance file system that also happens to function as a database. Any filetype can have an associated array of customizable "attributes," of any size or type. Once attributes have been associated with a given filetype, they can be displayed, organized, sorted, and queried directly in the Tracker (the BeOS file manager).
I've created a filetype called "TrackerBase" (MIME type: text/x-trackerbase) with associated attributes representing tip name, category, contributor, URL, e-mail address, AdKey, etc. I can now organize the collection of tips directly in the Tracker, without having to purchase, install, or configure a third-party commercial or freeware database.

Click to enlarge
To turn TrackerBase files into web pages, I've used two systems. Until April 1999, I didn't have a full-time Internet connection, so I wrote a bash shell script to query the collection of TrackerBase files, hoover out their attributes, and concatenate those variables with static chunks of HTML. The resulting HTML docs were then uploaded to my ISP's web server and served like a normal site. That system (which I call TrackerBase I) is downloadable here, and includes a bash scripting tutorial and several sample TrackerBase projects, in case you want to set up a similar system.
Now that I have a nailed-down Internet connection, I've re-written the system (TrackerBase II) to generate most of the site's pages on the fly. The menu and index pages are generated statically with a separate perl script, but all of the actual tip pages are generated in real time.
If you'd like to study or hack the actual script that drives this site, it is now included in the TrackerBase distribution.
Considering the amount of work being done, the script is pretty fast -- six attributes are extracted, the script is run, all parsing occurs, and an HTML file is generated ... all in about a quarter of a second. Still, that's not fast enough to hold up under very heavy loads, where a professional database solution would be more appropriate. After some real-world stress testing, I'll know exactly how robust the system is under load. On the other hand, the system is incredibly easy to work with -- very visual and very flexible. It can also be adapted to work with your collection of BeOS people files, e-mail messages, bookmarks, or any other attributed filetype. Consider creating a script that will create an instant HTML Rolodex out of your People files, which you can then access while on the road, from any operating system.
About BeOS Web Servers
Because the BeOS is pervasively multithreaded, 100% SMP-aware, and speaks TCP/IP natively, the platform potentially makes for an excellent web server. Note, however, that Be's focus is currently on media content production and consumption, and the BeOS is not currently as well optimized as a server platform as are Linux or FreeBSD. Nevertheless, I've dished up well over 30,000 pages per day from BeOS without the system even blinking (a different site -- this site isn't that popular!), so if your site gets moderate levels of traffic, you'll be fine. We can probably expect further networking optimizations from Be in the future.
There are a number of excellent web server solutions for BeOS. This site runs on Joe Kloss' Robin Hood because it's free, open source, very fast, and supports lots of add-on goodies. However, several aspects of this site would have been easier to build with the excellent diner from Stegemann & Stegemann, which is the only BeOS web server to support BeOS-specific functions like attributes and queries natively -- if you're new to this kind of stuff but still need advanced functionality and ease of development, you should definitely check out diner. BeOS ships with a simple web server called PoorMan, although future versions of BeOS are scheduled to ship with RobinHood rather than PoorMan. Hard-cores and migrating Linux users will be happy to know that Apache is in the process of being ported to the BeOS, and is being folded into the official source tree. The only reason I run RH rather than Apache right now is that RH is so fast and I just don't have a need for more speed than it gives me. Robin Hood is also a piece of cake to set up.
This site is currently being hosted from my main work machine (named "pearl"): a dual PII 450, 256MB. setiathome is running at all times. If the site seems temporarily slow, I'm probably busy crunching audio, rendering video, or playing 10 MP3s at once :). If I need to boot into Windows or Linux for a while, I just boot up my laptop, which is also configured with Robin Hood and perl, and restart its network services (one click!) to operate on this machine's IP address. You'll never know whether you're reading this from my desktop or laptop machine.
Return to the BeOS Tip Server