Skip to content
This repository was archived by the owner on Jun 24, 2024. It is now read-only.

User guide

Mike Danko edited this page Apr 5, 2011 · 8 revisions

User Guide

While Badhoc was thrown together to sort of mirror functions on more popular imageboards, there are some differences in operation that are enough to warrant a mention.

The Basic Idea...

There are categories of discussion topics. These discussion topics are called boards. A board is a collection of posts, which are text comments and pictures. Posts always require a picture to be attached. People can comment on the posts that are posted, optionally with pictures. People can also reply to other comments within the a post.

There is a limit to the number of posts that can be made to a board, this is set by the administrator of the site. When the number of posts exceeds this limit, the posts age off and are no longer accessible.

When a post is made, it is put at the top of the list for that board. When someone makes a comment on a post, the post is also moved to the top of the list. There is a limit to the number of comments on a post. When this limit is reached, the post is locked for new comments and will eventually age off.

How Badhoc is Different

I was just scratching an itch when I started the project. I noticed that sites like 4chan had the content moving so quickly it was difficult to keep up. I noticed sites like Megachan moved very slowly and checking it all the time was fruitless.

So Badhoc sort of fills some gaps in-between. It reverses the concept of noko mode, where a person is returned to the post they just made and makes it the default -- entering noko in the name field of a badhoc posts takes you back to the posts index.

The actual post is in the reverse order of most other boards. Through the magic of javascript, the new comments to your post will roll in and be appended to the top of this list. No need to refresh. Actually, hitting refresh would be pointless if you look at the code. You will also receive an HTML5 Browser Notification when someone comments on a post that you may have open in another browser tab or window.

Sometimes you just want to look at the pictures and not really be part of the conversation. For that, Badhoc has the Picwall. The main Picwall page has all posts regardless of board in a convienent picture-only format. Chosing one of the columns will bring you to a thumbnail page with lightboxes that work with your mousewheel.

For sites that are more slow-moving, there's a per-board and per-post Atom feeds. I have gone through some pains to make sure these are relavent and don't clog your feed reader.

Lastly, there are some server side tricks, mostly a lot of caching to make it appear sufficiently fast while still supporting the technologies that make Badhoc dynamic for its users. There's also an optional branch of Badhoc you can install that supports asynchronous operation. This basically means the things that take a lot of time get forked out into the background so they don't drag down the application, and it really lets you scale it to many many many users.

General Use

Special Posts

There are two kinds of posts that are different than others. These are flagged by the administrator of the site as either locked or sticky.

A locked post will be indicated with a little lock icon. When a post is locked, it means that no additional comments can be made on the post.

A sticky post will always appear at the top of the list of posts for a board. It will never age off so long as it is still set to be sticky.

A post can be locked, sticky, or both locked and sticky.

Bans

When Badhoc is running in production mode, by default it will use two systems to prevent abuse and spam. They are both IP based.

The first is the project honeypot block list. If your IP is on the block list, you won't even be able to access the site.

The second is the in-application ban system. If for any reason, the admin of the site has deemed your presence is not welcome, you can be banned from contributing, but not consuming content on Badhoc. Bans can be for a set limit of time or permanent. Bans with a time limit will automatically expire when their time is up and the user can go back to their business.

When an admin sets a ban they also have the option of nullifying or completely removing said content. A nullified post or comment will just have its content removed, a deleted post or comment will be completely removed from the system as well as all of its children (replies, etc).

Tripcodes

If you so desire, you can checkout the code for generating tripcodes at the github repo, but it suffices to say that badhoc generates them differently than other sites.

For the uninitiated, a tripcode is just a way of leaving a trace of your identity on the site when you make a post. Badhoc supports two kinds of tripcodes.

Non-Secure Tripcodes

A non-secure tripcode can be used and reused on any site that supports badhoc's tripcode method. So if you are skord!1xf3124123 on your own badhoc installation, you are also skord!1xf3124123 on every other installation of badhoc on the planet. This can be pretty darn convienent, but someone can also crack it given some time and not a lot of energy.

To use a non-secure tripcode when posting or commenting, type:

username#passphrase in the name field. After submitting, it will appear as:

username!gibberish where the gibberish is a weak crypto key based on the passphrase.

Secure Tripcodes

A secure tripcode uses a cryptographic key on the server running badhoc in conjunction with your passphrase to generate a tripcode that is much harder to break. The downside is that your tripcode is no longer portable, it only works at the site you used it on.

In the future badhoc may support a way of making these portable, but it suffices to say that it probably won't happen in the near term.

Using a secure tripcode is much like using a non-secure tripcode, but use two #'s:

username##passphrase in the name field. After submitting, it will appear as:

username!!gibberish where the gibberish is a stronger crypto key based on the server salt and the passphrase.

Clone this wiki locally