Commit b5bad5f1 authored by Deimos's avatar Deimos

Initial public release

Title: Announcing Tildes - a non-profit community site driven by its users' interests
Date: May 2, 2018
Slug: announcing-tildes
Summary: Online communities are in a precarious and unhealthy state right now. We can do better.
Online communities are in a precarious and unhealthy state right now.
Major internet platforms are exhibiting a wide range of issues: they collect our personal data and fail to protect it; amplify outrage and encourage mob harassment; spread false information and radicalize viewpoints; and allow racism and hate speech to propagate. These are all incredibly serious issues, yet they're still only a small sample of the problems that are becoming apparent.
The companies behind the platforms *know* their products cause these negative effects, but they've decided to treat them as acceptable costs instead of taking decisive action to address the issues. Only legal or public pressure seem to produce meaningful responses.
## Why is this happening?
I believe that almost all issues with internet platforms trace back to two root causes:
* Dependence on venture capital and the expectation of massive returns for their investors
* Business models based around selling user attention and data to advertisers
These factors force companies to obsess over growth—there's no concept of having "enough" users or revenue. As the profitability noose tightens, any original principles are abandoned in favor of growth and revenue, which are goals important to *owners*, not users.
## We can do better
It doesn't need to be this way. We should have places online where we can have meaningful interactions without worrying about our privacy and relationships being exploited for others' financial gain. Places that respect us and the communities we build, and help make them *better* instead of just trying to make them bigger.
Over the last year, I've studied what people want from online communities and what we need to change to make it possible. Combined with my own experiences, everything I've learned affects how I've been building Tildes, a new link-aggregator-style community site that's starting its invite-only alpha today.
### Non-profit, no investors
**The organization behind Tildes is a not-for-profit corporation with no investors**, which ensures that there's no looming requirement to chase profit or constant growth. The aim is simply to make the site sustainable while focusing exclusively on what's important to its users. Growth will be the organic result of building a site that people *want* to use, not a goal in and of itself.
### No advertising, user-supported
**Tildes has no advertising, and is [supported by donations](**. Almost all sites generate their revenue through advertising, which motivates them to maximize metrics like page views, time on site, and "engagement". Common techniques to increase these metrics degrade the user experience for the benefit of advertisers; the only way to ensure that users are truly the priority is to make them the source of funding.
### Open, honest, and open-source
**Tildes will be transparent** with records and financials for the non-profit itself, open-source as much code as possible, track issues and plans publicly, accept code contributions, and provide a fully-capable API for outside developers to utilize.
The site's code will be made public soon (and please let me know if you have strong opinions about licensing it as AGPLv3, but first read [the reasoning why I'm leaning towards it](
### Minimal user-tracking, better privacy
**Tildes collects as little user data as possible and no data will be voluntarily shared with third parties**. User data will be [treated as a dangerous byproduct](, not an asset.
Facebook's pervasive tracking has come under particular scrutiny recently, but the reality is that they are only one of thousands of companies performing heavy surveillance on their users. The reason for this aggressive data-collection is almost always the same: [because it has value to advertisers]( Since Tildes has no advertising, there's no compelling reason for tracking anything more than the minimum needed for functionality.
### High-quality content and discussions
**Tildes prioritizes quality content and discussion** through its mechanics, design, and organization. Fixation on growth and related metrics results in a bias towards high-appeal, low-depth content like funny images, gifs, and memes. Tildes will still allow that kind of content, but its priority is to cultivate high-quality communities, which are far easier to build when they don't have to fight an uphill battle against the platform itself.
### Limited tolerance, especially for assholes
**Tildes will not be a victim of [the paradox of tolerance](**; my philosophy is closer to "[if your website's full of assholes, it's your fault](".
This is a difficult topic, so I want to try to be clear about where on the spectrum Tildes is trying to land. I'm never going to refer to the site as a "safe space" or ban anyone just for occasionally acting like a jerk in an argument—I'd probably have to ban myself fairly quickly. However, it will also never be described as anything like "an absolute free speech site".
There's a reasonable middle ground between those extremes—I believe that it's possible to support the ability to freely discuss important and controversial topics without also being obligated to allow threats, harassment, and hate speech.
## How can I get involved?
The initial alpha test group will be small and by invitation only. I hope to start expanding pretty quickly before long, including giving users their own invites to send out. Send me an email at []( if you're interested in being included in one of the early groups.
Since I'm avoiding investors and similar funding options, the most beneficial way to contribute would be to **[please donate to the non-profit](** (any amount is appreciated). I want Tildes to exist, so I'm going to keep working on it regardless, but I won't be able to continue focusing on it exclusively without donations.
To be notified of future posts and updates, please [subscribe to this blog's feed]( or [follow the Twitter account]( If you're interested in reading more about Tildes, there are also some pages available on [the docs site]( that expand on the topics in this post and cover other aspects of the site.
## Who's working on Tildes and how can I contact you?
I'm Chad Birch, and on the internet I generally go by "Deimos" or "Deimorz". I've been participating in and helping build online communities for over 25 years, starting from pretty much the most minimal one possible—a small-town, one-phone-line [BBS]( where only a single user could be "on line" at a time.
Since then, I've experienced how communities have evolved from BBSes to new incarnations on Usenet, IRC, and multiple generations of web forums and platforms. Most recently, I [worked as a developer at reddit]( for almost 4 years as it grew into one of the largest sites in the world. [I left in late 2016]( and wasn't sure what I wanted to do next, but a few months later I started thinking deeply about how online communities had gone wrong and what we could do to fix them. Tildes is the result.
If you'd like to contact me directly for any purpose *except* requesting an invite, please email []( I'd love to hear from anyone: people interested in the site, journalists, researchers, or anyone that wants to offer help.
## It's up to us
I want to end by linking to one of my favorite recent articles about technology: "[No one's coming. It's up to us.](" The overall message is that **we can't just expect new tech to automatically improve the world**. If we want a better future, we need to make conscious decisions about what kind of world we want, and contribute to work that moves us in that direction.
That's what I'm trying to do with Tildes—I truly believe that online communities can be much better, but we need to abandon some common but false assumptions about what's necessary to fund them. It won't be an easy or quick process, and no doubt we'll make some mistakes along the way; but we'll learn from them, and I hope that some of you will [join me](
Title: Tildes Code of Conduct
Slug: code-of-conduct
Modified: April 29, 2018
**Don't act like an asshole and routinely make other people's experiences—or lives—worse**. Almost all of the restrictions on how you can use Tildes are just more-explicit versions of this basic guideline. In general, as long as you treat others with basic civility and try to contribute in good faith, you will be welcome on Tildes.
Do not maliciously impersonate someone else's identity (real world or online)
Do not maliciously attempt to counteract other users' attempts to delete or edit their content, such as by deliberately re-posting content they want to be deleted.
Do not incite or encourage harm against people, including by posting hate speech or threats.
Do not post anyone's sensitive personal information (related to either their real world or online identity) with malicious intent.
## Multiple accounts
You may register and use multiple Tildes accounts, but do not:
* Use additional accounts for the purpose of deceiving others, such as by replying to your own posts from different accounts to create the illusion of support.
* Use additional accounts to manipulate site mechanics beyond what you could do with a single account. For example, do not vote multiple times on the same post, or vote on your own posts.
Title: Contact
Slug: contact
Summary: List of contact information for Tildes
**To request an invite to the Tildes alpha, email [](** Do not email any other addresses to ask for an invite.
If you've discovered a security issue on Tildes, please disclose it responsibly by emailing []( Tildes does not offer a bug bounty.
For questions related to donations, email [](
If you're a journalist, blogger, etc. looking for information about Tildes, email [](
To report copyright infringement or other abuse on Tildes, email []( Please see [the "Copyright infringement claims" section of the Terms of Use]( for details about the required form of the notice and actions expected from Tildes in response.
For all other purposes, please email [](
Tildes has an official Twitter account at [@TildesNet]( It will generally only tweet blog posts and site updates.
Title: Donate to Tildes
Slug: donate
Summary: Information about donating to Tildes and links to various options for donating
Thanks for donating to Tildes! If you have any questions, please contact [](
## Why should I donate to Tildes?
Tildes has no investors, no advertising, and does not sell anything (including its users' data). Donations are its only income. By donating, you're supporting a site that's chosen to avoid those other sources of revenue in order to gain the freedom to focus exclusively on acting in its users' interests.
## Who am I donating to?
Tildes is operated by Spectria, a Canadian not-for-profit corporation (corporation number 1034108-8).
## Important information for donating
* Tildes uses third-party payment processors and does not handle or have access to any of your sensitive financial information.
* The corporation that operates Tildes is named "Spectria"—depending on the donation method you use, you may see this name on the transaction.
* Spectria is a not-for-profit corporation, but [it is *not* a charity](, so donations are not tax-deductible.
## Donation options
### Credit card (via Stripe)
You can donate directly using a credit card through Stripe. Note that the Stripe donation page will load third-party assets from Stripe and communicate with Stripe servers to process the transaction.
[Donate with Stripe](
### Patreon
You can set up a recurring monthly donation to Tildes on Patreon. There are no "patron rewards" for using Patreon.
[Go to the Patreon page for Tildes](
### Cryptocurrency (via Coinbase)
You can donate Bitcoin (BTC), Bitcoin Cash (BCH), Ethereum (ETH), or Litecoin (LTC) to Tildes via Coinbase.
[Go to the Coinbase donation page for Tildes](
### Interac e-Transfer
Canadians can donate to Tildes using Interac e-Transfer. Send an e-Transfer to and it will be auto-accepted (no security question necessary). Note that the recipient will be shown as "SPECTRIA".
Title: Frequently Asked Questions
Slug: faq
Modified: April 26, 2018
Summary: Information about random aspects of the site
## Why is the site named "Tildes"?
tl;dr: On Tildes, the tilde symbol (`~`) is used to mark sections of the site: ~music, ~games, ~tv, and so on.
The path that led to "Tildes" was a bit strange. Originally, I wanted to have a name related to the word "spectrum". I think that's a great term for describing an online community platform—a wide range of variance inside a whole. That's why the non-profit behind the site is named "Spectria".
As part of thinking about other topics related to a spectrum, I ended up on waves and waveforms, which led to realizing that the tilde symbol (~) looks like a tiny wave. For multiple reasons, I started really liking the idea of using a tilde as the "marker" for a community on the site (for example, the music community would be "~music").
First, tilde is one of the only "unreserved" characters that can be used in web addresses (URIs). From [the RFC related to URIs](
> Characters that are allowed in a URI but do not have a reserved purpose are called unreserved. These include uppercase and lowercase letters, decimal digits, hyphen, period, underscore, and tilde.
That means that a tilde can always be used in a web address without needing to be escaped. This isn't true for many other symbols—for example, some sites try to put an `@` character in their addresses (usually related to usernames), but since that's not an unreserved character, it will often get converted to `%40`, which looks much uglier. A tilde should always be kept as a tilde.
In addition, the `~` symbol also has an association of "home" to many technical people. If you're using [the Bash shell](\(Unix_shell\)) (or various others), a tilde can often be used to refer to the user's home location. For example, the command `cd ~` changes directory to your home dir. A command like `cd ~deimos` will go to the home dir of the user `deimos`, and so on. I like the idea of each community being thought of as "the home for <topic>".
It's also a bit of a throwback to common addresses on the early web, where users would host their website on a shared system under their username. For example, when I was in university, the address of my website hosted on the Computer Science department's server was something like [Paul Ford caused a fun resurgence of this a few years ago when he started Tilde.Club](
So in the end, a bunch of technical, historical, and associational reasons convinced me that I definitely wanted to use the tilde symbol. From there, it didn't take much until the symbol of the site turned into the actual name.
## Why isn't Spectria a charity?
Canada only grants charity status to [organizations with certain purposes]( Generally, the organization has to be devoted to relieving poverty, advancing religion or education, or the benefit of the (local, real-life) community. These are quite restricted definitions—note that [Wikimedia Canada]( (the Canadian branch of the organization behind Wikipedia) is also a non-profit and not a charity. If even building Wikipedia doesn't seem to qualify as "advancing education", I don't think there's any chance that Tildes will.
## Why isn't Tildes decentralized/distributed/federated?
Decentralized communities are interesting and have a lot of potential, but that model also introduces its own problems and difficulties. Tildes is already attempting to do quite a few things differently to improve the quality of online communities, and I'm more interested in focusing on those goals without introducing the additional complexity of decentralization.
However, since Tildes will be open-source, someone else could certainly use it as a base for their own decentralized version.
## Does Tildes allow non-English communities?
Not for now. Multiple of the site's goals will be difficult or impossible to work towards without being able to understand what's going on in a community, so for now they need to be primarily in English. This may change someday in the future, and if it does, the [hierarchical groups]( could work very well for giving other languages their own set of groups.
## What's the color scheme used on Tildes?
Tildes uses [the Solarized color scheme by Ethan Schoonover]( It's always been one of my personal favorite schemes, and it has some interesting aspects such as flipping very easily between dark and light modes.
## What if you don't get enough donations to run the site full-time?
One of the best parts about avoiding venture capital and other forms of investment is that there's no pressure. Tildes doesn't have to reach certain thresholds of traffic or revenue to prevent shutting down. The worst case is just that I end up running Tildes as a side project, and hope that it eventually grows to a point where it's sustainable to work on full-time.
Title: Mechanics (Future)
Slug: mechanics-future
Modified: May 11, 2018
Summary: Information about some future mechanics not present in the alpha
*This page describes general plans for future mechanics, which are not yet present in the alpha version of Tildes. The details of how they work will most likely evolve significantly as they are implemented and experimented with.*
*For information about current mechanics, see [the Mechanics page](*
## Trust/reputation system for moderation
One of the few constants of online communities throughout their whole existence has been that they tend to start out good, but have trouble maintaining their culture as they grow, their quality dives rapidly, and they die. It's been happening from the very beginning with examples like [CommuniTree (one of the first BBSes)](, [Usenet with the well-known "Eternal September"](, and it's continuing to happen today.
One of the most common ways that communities defend themselves is by appointing moderators—people entrusted with defining and enforcing the norms of behavior for the community. This is an effective system, but has its own weaknesses, including difficult decisions about which users should be made (and allowed to remain) moderators.
In my experience, it's always been the best approach to select new moderators from the people known as active, high-quality members of the community. My goal with the trust system on Tildes is to turn this process of discovering the best members and granting them more influence into a natural, automatic one.
It's worth noting that the process does not need to be *entirely* automatic. The trust system won't necessarily be a complete replacement for manually promoting users, and a combination of both systems may end up working best.
### Trust based on consistency and accountability
Trusting someone is a gradual process that comes from seeing how they behave over time. This can be reflected in the site's mechanics—for example, if a user consistently reports posts correctly for breaking the rules, eventually it should be safe to just trust that user's reports without preemptive review. Other users that aren't as consistent can be given less weight—perhaps it takes three reports from lower-trust users to trigger an action, but only one report from a very high-trust user.
This approach can be applied to other, individual mechanics as well. For example, a user could gain (or lose) access to particular abilities depending on whether they use them responsibly. If done carefully, this could even apply to voting—just as you'd value the recommendation of a trusted friend more than one from a random stranger, we should be able to give more weight to the votes of users that consistently vote for high-quality posts.
### Restricted by group, with decay
Trust should be largely *group-specific*. That is, users should need to actively participate in a particular community to build up trust in it. Because [Tildes will have a hierarchy of groups](, there are some possibilities with having trust work inside the "branches"—for example, a user that's highly trusted in one music-related group could be given some inherent trust in *other* music-related ones, but not necessarily anything in groups related to, say, TV shows.
Another important factor will be having trust decay if the user stops participating in a community for a long period of time. Communities are always evolving, and if a user has been absent for months or years, it's very likely that they no longer have a solid understanding of the community's current norms. Perhaps users that previously had a high level of trust should be able to build it back up more quickly, but they shouldn't indefinitely retain it when they stop being involved.
Between these two factors, we should be able to ensure that communities end up being managed by members that actively contribute to them, not just people that want to be a moderator for its own sake.
### Increased punishment effectiveness
One of the core reasons that platforms have so many issues with abuse is that their punishments have little impact. Banned users are often able to immediately create a new account that has identical capabilities to their previous one. Trying to remove persistent malicious users can be an endless game of whack-a-mole where it requires more effort to punish abusers than it does for them to circumvent it.
By having users gradually build up trust in individual communities, "established" accounts can be far more capable than brand new ones, which adds some actual weight to punishments. If implemented well, this should cause little inconvenience for regular users, but make it far, far more difficult for malicious users to cause trouble.
### Concerns
To be clear, I recognize that this is a dangerous type of system to implement, with the distinct risk of creating "power users" that have far too much influence. However, all systems have similar risks—even if all users are equal, people can form groups or abuse multiple accounts to increase their influence. These types of issues are social and can only be solved with oversight, accountability, and a willingness to punish people that abuse the system, not technology alone.
Many aspects of this system will need careful observation and tweaking to ensure it works as desired. We don't want to end up incentivizing the wrong types of behavior by creating systems that, for example, give more influence to the *most popular* users instead of the *highest quality* ones. It won't be a simple process, but I believe a system like this will be able to make a huge difference in maintaining the quality of a community as it grows.
Title: Mechanics
Slug: mechanics
Modified: May 4, 2018
Summary: Description of the basic mechanics on Tildes, and some reasoning behind them
This page is an (incomplete) description of the mechanics on Tildes. None of these mechanics are particularly original—Tildes is intended to be a refinement of community sites, not an entirely new type.
## Groups
The different subject-oriented sections on Tildes are called "groups". They have a tilde symbol in front of their name—for example, the group related to music is "~music".
It's not being used yet in the alpha, but groups will eventually be organized *hierarchically*. That is, groups can have sub-groups, and be organized into a "tree". In the future, the ~music group could have sub-groups such as ~music.metal, and it could have its own sub-groups like ~music.metal.instrumental. This concept should be recognizable to anyone familiar with [Usenet](
Groups are not "owned" by users, and (at least for now) can not be created by users. This may change in the future, but the lack of user-created groups initially will make it simpler to keep the hierarchy organized, as well as concentrate activity in fewer groups while the site is still small.
A small set of active groups is far better than a large set of inactive ones, and the hierarchy will allow different subjects to easily split into more-specific groups as activity increases.
## Topics
The posts made to groups are called "topics". There are two types of topics: link topics, which point to a specific url; and text topics, where the text is posted on Tildes itself by the author.
Users can vote on other users' topics, but there is only a positive vote, not a negative one ([see below for more about this](#lack-of-downvoting)).
### Topic tags
Topics can be tagged in order to categorize them. Currently, tagging can only be done by the same user that posted the topic, but other users will eventually be able to add/edit/remove tags as well.
A topic can have any number of tags, and the valid characters in a tag are letters, numbers, and spaces.
It will most likely not be used very frequently, but tags also support a hierarchy. For example, a topic tagged `nsfw.gore` is using the hierarchy for a "sub-tag" of the `nsfw` tag. This has some interesting possibilities—someone filtering out all `nsfw` posts would also not see anything tagged `nsfw.gore`, but someone else could choose to filter *only* `nsfw.gore` and still see posts with other tags like `nsfw.nudity` or plain `nsfw`.
It's worth mentioning that the hierarchy and naming restrictions of topic tags match up exactly with how groups work. This is deliberate—there's a lot of potential here with the parallels between sub-groups and tags.
## Comments
Tildes has nested comments, which form a tree structure. Similar to topics, other users' comments can be voted on, and there is no downvote ([see below for more about this](#lack-of-downvoting)).
### Comment tags
Comments can also be tagged, which is separate from voting (you can vote on a comment, or tag it, or do both). Tags help to categorize comments and can have other effects. Currently, there are 5 options for tagging comments:
* Joke - comments posted for humor purposes (actual jokes, puns, references, etc.)
* Noise - comments that don't add anything to the discussion ("lol", "I agree", responses to the headline like "finally!", etc.)
* Offtopic - comments talking about something unrelated to the actual topic
* Troll - comments posted for the purpose of getting a reaction
* Flame - comments attacking another user
Comment tags serve multiple purposes. Tildes has no downvoting, but some tags can effectively act as "downvote with a reason". Tags will also make it possible to support various methods of filtering comment threads, such as both "show this thread without jokes" and "show *only* jokes from this thread".
This concept is probably familiar to anyone who's used Slashdot. Those people have probably also noticed that the positive options from Slashdot are missing, specifically "interesting" and "insightful". In my opinion, tags like that don't add anything meaningful—I'd never open a comment thread and think, "I'd like to read the interesting comments, but not the insightful ones."
Overall, voting on a comment should mean something like "this is a good comment and I think other people should read it", while tagging a comment adds more information. With the combination of both, you can express things like "this is a good comment, even though it's off-topic", and "this is a joke, but it's a good one".
## Lack of downvoting
As mentioned above, Tildes does not have negative votes for either topics or comments. The reason for this is that I believe we can implement different mechanics that replace the "proper" use of downvotes without also enabling all the misuses of them.
The ideal usage of a downvote is a generic way to express "this doesn't contribute", but in practice they tend to be used more as "I disagree" or "I don't like this". High-quality posts will often get downvoted because other users disagree with the opinion, and in taste-based communities (such as ones related to music), entire categories of valid posts might be unviable because they'll just be downvoted by users with different taste.
On Tildes, I want to find ways to accomplish those valuable uses through other mechanics. For example, the [comment tags](#comment-tags) described above can be used to communicate *why* you don't think a comment contributes. [Topic tags](#topic-tags) will allow users to simply filter out certain types of posts that they're not interested in, instead of downvoting them and hurting them for other users that *do* want to see them.
Title: Overall Goals
Slug: overall-goals
Modified: May 11, 2018
Summary: Some of the overall goals of Tildes
If you haven't already, please read [the "Announcing Tildes" blog post]( first. It goes over many of the major goals of the site, and this page mostly covers other aspects that aren't included in that post.
## The Golden Rule
There are many variants of the ["golden rule"](, but the base idea is that you should act towards others as you'd like them to act towards you. That philosophy applies to various aspects of how I'm approaching building Tildes—in the end, I'm trying to build the community site that I wish existed, one that treats its users the way they want to be treated.
For example, [having low tolerance for people that consistently make others' experience worse]( Nobody (except trolls) hopes to get abuse in response to their posts, so there's no reason to allow that kind of behavior. If people treat each other in good faith and [apply charitable interpretations](, everyone's experience improves.
This sort of approach can also apply to decisions related to site mechanics and features. For example, when a feature has a privacy implication, we should consider how we would want our own data to be treated. If the idea of another site collecting similar data would make us nervous, we should try to figure out a way to adjust the feature to reduce or remove that anxiety.
## Communicate openly and honestly
Running a community or platform that people enjoy being a part of is largely about trust. Without trust, every action or change is viewed with suspicion, as people try to figure out "the real reason" that it's being done.
Trust is often lost due to a lack of communication, or a history (or perception) of being deceptive. It's not especially difficult to prevent this from happening, but it requires a willingness to communicate regularly, explain the true reasons behind what's being done, and solicit (and actually be willing to listen to) feedback.
Part of this is avoiding "PR-speak", where companies utilize deliberately abstruse terminology as a mechanism for disseminating information to segments of their stakeholders. I'll always try to communicate in plain language—if I need to shut something down I'll tell you it's being shut down, not ["sunset"]( The [Privacy Policy]( and [Terms of Service]( for Tildes were written in this way as well, with as little legalese as possible.
## Trust people, but punish abusers
The large majority of users on a site generally behave in good faith, and are only interested in legitimately participating and contributing. However, there is always a group of users actively trying to undermine others, and even though they are usually a tiny minority, sites often have to build in such a way to prevent these bad-faith users from being able to do much damage.
This tends to mean that many potentially powerful tools cannot be added to the site, since malicious use of them would be too dangerous. Instead of restricting capabilities by needing to design around the worst way any tool could be used, Tildes will default to trusting users to behave in good faith, and punish people that take advantage of that trust. Punishments may involve losing access to certain tools or capabilities, or being banned from communities or the site as a whole.
## Recognize that users are people, not just metrics
In his talk, ["Is Anything Worth Maximizing?"](, Joe Edelman discusses the difference between making decisions based on metrics compared to basing them on the users' reasons for visiting the site. Too often, sites focus on increasing their raw numbers (pageviews, time on site, etc.) instead of thinking about *why* the users are there and trying to improve that experience. This is generally because the site's own goals don't align with the users'—for example, relying on advertising for revenue means that the site wants to show users as many ads as possible, while users would prefer to see none at all.
Because Tildes has been organized specifically to cater to its users' interests, this type of conflict isn't present, and we can focus solely on improving the user experience instead of obsessing over metrics that don't necessarily reflect how well the site serves its users.
As a specific example, many sites are constantly performing thousands of experiments ("A/B tests") on random sets of users to see how changes to the interface or behavior might affect their metrics. This can be a frustrating experience as a user, since elements move around, behave differently, or even disappear entirely from one day to the next. This is exactly what I want to avoid—regularly annoying users and degrading their experience solely because of an obsession with metrics.
## Let users make their own decisions about what they want to see
Another recent trend has to been to rely heavily on machine-learning and "personalization algorithms" to determine what you see when you visit a site. These can work well, but they also often jump to wildly wrong conclusions. To quote [one of my favorite tweets on the topic](
These algorithms have largely replaced predictable and chronological feeds, instead [trying to addict users by turning the experience into a slot machine]( where we're never sure if we're "done" or what content we're going to be given.
On Tildes, I want to stick to predictable ways to view content, along with using additional information (such as metadata and [tags]( to give users flexible methods of deciding for themselves what they want to see (and not see). Once again, since Tildes doesn't need to prioritize growth or showing ads, it can stay away from manipulative mechanics and focus on just helping users find what they want as easily as possible.
## In-depth content (primarily text-based) is the most important
This includes linking to articles on other sites, posting text topics on Tildes itself, and the comment discussions. In general, any changes to the site that will cause "shallower" content to gain an advantage should be considered very carefully.
Title: Tildes Privacy Policy
Slug: privacy-policy
Modified: April 29, 2018
## Scope
Tildes ("the site") is operated by Spectria ("we", "us"), a Canadian not-for-profit corporation. Legal issues will be governed by the laws of Canada and the province of Alberta.
By using Tildes, you accept and agree to the terms of this policy.
## Security
Tildes runs on dedicated servers located in Canada and rented exclusively to Spectria.
Except when making a donation, third-party assets or scripts are never included on Tildes. Outside of those specific donation pages, using the site involves communicating exclusively with our servers.
All communications with Tildes are encrypted via the HTTPS protocol.
## What information we collect
### Functionality-related
Tildes collects information that you submit as part of using the site, in order to provide the relevant functionality. This information is generally stored indefinitely, and includes:
* If you register an account, your username and a hashed representation of your password, as well as (if applicable) information about which user invited you.
* Which groups you subscribe to.
* The contents of any topics or comments ("posts") that you submit.
* If you edit a post, the previous content is replaced and not retained.
* If you delete a post, it is marked for deletion and hidden from the site, but the contents are not deleted immediately. The content of deleted posts is removed from our databases 30 days after deletion.
* Your votes and/or tags on posts.
* The contents of messages that you send to other users; and for any message conversations you are a part of, an indicator of whether you have viewed the conversation after the most recent message was sent.
When we store data for functionality-related reasons, we generally also store the date and time that the action took place.
### Logging
We automatically log all requests and the associated information (your IP address, user-agent, etc.) that your browser or device sends while using the site. This information may be associated with your user account, if you are logged in at the time.
All personal information logged this way is deleted in 30 days unless:
* We are required to retain it for longer due to a legal obligation such as in response to a valid copyright claim (as required by Canada's *Copyright Act* § 41.26(1)(b)).
* We believe it is necessary to prevent sophisticated or egregious violations of our Terms of Service, Privacy Policy, or the law.
Aggregated, non-identifiable information and statistics derived from logs may be retained indefinitely.
### Other
If you communicate with us through email, we collect your email address and the contents of the messages.
If you make a donation, we do not handle or have access to any of your sensitive financial information (such as credit card info), but do collect any transaction information sent to us by the relevant payment processor. Please check the privacy policy of the payment processor for details.
## How we use and share your information
Your information is used exclusively to operate Tildes. This includes providing the functionality of the site, analyzing usage, troubleshooting site issues, and investigating abuse.
We never sell your information and Tildes does not have advertising.
Your information is not willingly shared with third parties, but we may disclose your information if we believe it is necessary to comply with a valid legal process or to prevent imminent harm (such as suicide).
## Cookies
Cookies are small data files stored on your device and sent along with your requests while using the site.
Tildes uses cookies to support users being logged into their accounts, and we may also store user preferences in them (such as which display theme you are using), whether you are logged in or not.
You may configure your browser or device to reject cookies from Tildes, but by doing so you will be unable to log into an account, and some other site functionality may not function properly.
## Do Not Track signal
Tildes does not alter its behavior based on whether your browser sends a Do Not Track (`DNT`) header or not.
## Children
Tildes is not intended for use by children under 13 years of age, and we do not knowingly collect personal information from anyone below that age. We will delete any collected information if we discover that it was provided to us by a child under age 13 without parental consent.
## Your choices
*To protect your privacy and the privacy of others, we may need to verify your identity or ownership of an account before we can give you access to, or change, information about you.*
You may request any of:
* correction or deletion of any of your personal information
* a full export of your personal information
* deletion of your Tildes account (and all associated personal information)
by emailing []( If we satisfy a deletion request, the information will be immediately marked for deletion (which removes its visibility from the site), and fully removed from the databases in 30 days.
Any requests will be responded to within 30 days.
## Data breach notification
If a data breach that includes personal data is discovered, it will be disclosed to the affected users through private messages if feasible. If notifying individuals is not feasible, the breach will be disclosed publicly on [the Tildes blog]( and/or in an official announcement location on the site.
This disclosure will happen as soon after discovery as we believe it is safe to do so (for example, after fixing the vulnerability that made it possible).
## Backups
Tildes maintains backups of its data for up to 30 days. Therefore, any deleted or edited data may persist in its previous form inside backup archives during that period.
## Changes to this policy
The date that this policy was last updated is visible at the top of this page, and you can view the entire change history by following the "view history" link.
We will make reasonable efforts to inform you if material changes are made to this policy (such as announcing the changes on [the Tildes blog]( and/or in an official announcement location on the site).
## How to contact us
For questions about this privacy policy or other privacy-related concerns, please email [](
This diff is collapsed.
Title: Tildes Terms of Use
Slug: terms-of-use
Modified: April 29, 2018
## Scope
Tildes ("the site") is operated by Spectria ("we", "us"), a Canadian not-for-profit corporation. Legal issues will be governed by the laws of Canada and the province of Alberta.
By using Tildes, you accept and agree to follow these terms. Please also see [our privacy policy]( for details of how we collect and use your information, and [our code of conduct]( for more general standards of behavior.
## General
Your use of Tildes is at your sole risk. The site is provided on an "as is" and "as available" basis without any express or implied warranty or condition.
{: .conspicuous }
At any time, with no notice and for any reason, we may block your access to Tildes, terminate your account, or remove any of the content you have posted to the site. This is far more likely to happen if you violate these terms or the [code of conduct](
At any time, with no notice, we may modify the site's functionality, or disable the site entirely.
Content posted on Tildes by users is not endorsed by us or verified in any way. Material that you find on the site may be inaccurate, misleading, or outright false. You should not make important decisions (medical, financial, etc.) based on information or advice you find on Tildes, and we are not liable if you choose to do so.
Tildes is not intended to facilitate purchases, trades, or any other transactions of goods or services. Any arrangements you make through the site are at your own risk.
You must be at least 13 years old to use Tildes.
## Restrictions on use
Do not attempt to damage the operation of the site. If you discover a bug, security issue, or privacy leak, please disclose it responsibly by emailing []( or report it through appropriate methods on the site itself.
Do not use Tildes to break the law, including violating intellectual property rights. See the ["Copyright infringement claims" section](#copyright-infringement-claims) for more details.
## Your Tildes account
If you register an account on Tildes, do not share your account with others; or sell, give away, or otherwise transfer access to your account.
You are responsible for keeping track of your login information and keeping your password secure. If you do not configure account recovery settings (or configure them improperly) and lose access to your account, we may be unable to restore it for you.
You are responsible for content posted from your account.
Do not attempt to gain access to accounts that do not belong to you.
You may register and use multiple Tildes accounts, but [see the code of conduct]( for restrictions.
## Content you post to Tildes
*Please think carefully about what you post to Tildes. You should recognize that by submitting anything to the site, it may be archived, copied, or otherwise duplicated by any other user or automatic system that is able to access it. If you later choose to edit or delete this content, we will remove it from Tildes itself, but we will be unable to affect any external copies.*
You retain copyright and ownership of any of your own content that you submit to Tildes. However, you grant us a non-exclusive license to store, display and distribute that content in the context of operating the site, subject to our Privacy Policy.
## Content restrictions
Do not post content that breaks the law.
Do not post spam, or send spam as unsolicited messages.
Do not post links to viruses, malware, or other content that may damage the devices of people that follow the link.
Do not post content that violates [the code of conduct](
## Copyright infringement claims
We will act on legitimate copyright claims as described in Canada's *Copyright Act*. To report copyright infringement on Tildes, send a notice of claimed infringement to []( with the information required by the *Copyright Act* § 41.25(2).
As required by the *Copyright Act*, properly-formed notices will be forwarded to the relevant user (if possible), and the claimant will be informed whether it was forwarded or why doing so was not possible. In addition, the relevant records for the user will be retained as required.
Tildes may choose to remove the infringing content in response to a valid claim, but we are not required to do so.
## Changes to the terms
The date that the terms were last updated is visible at the top of this page, and you can view the entire change history by following the "view history" link.
We will make reasonable efforts to inform you if material changes are made to the terms (such as announcing the changes on [the Tildes blog]( and/or in official announcement locations on the site).
## Entire Agreement
The Terms of Use and our Privacy Policy are the only operable agreements between Tildes and Tildes users. You may not assign any rights under this agreement. All prior communications or agreements are superseded by the Terms of Service and Privacy Policy.
AUTHOR = 'Chad Birch (Deimos)'
SITENAME = 'Tildes'
THEME = 'theme'
TIMEZONE = 'America/Edmonton'
# "articles" are blog posts
ARTICLE_SAVE_AS = 'blog/{slug}.html'
ARTICLE_URL = '{slug}'
# "pages" are docs pages
PAGE_SAVE_AS = 'docs/{slug}.html'
PAGE_URL = '{slug}'
# generate an atom feed for the blog posts
FEED_ALL_ATOM = 'blog/all.atom.xml'
# specific template pages (not generated from markdown)
'index.html': 'blog/index.html',
'page_index.html': 'docs/index.html',
'donate-stripe.html': 'docs/donate-stripe.html',
# always delete the output and generate from scratch
# default extension config + enable Table of Contents extension
'extension_configs': {
'markdown.extensions.codehilite': {'css_class': 'highlight'},
'markdown.extensions.extra': {},
'markdown.extensions.meta': {},
'markdown.extensions.toc': {'title': 'Contents'},
'output_format': 'html5',
# sort the docs list by title
PAGE_ORDER_BY = 'title'
# urls for linking to page history
GITLAB_HISTORY_BASE_URL = GITLAB_REPO_URL + '/commits/master/content/'
# "summary" field is treated as markdown by default, disable that
# don't autogenerate summary if one isn't specified
# no index page for now
# don't save any of the "special" archive/etc. pages at all
TAG_URL = ''
# disable extra feeds
* {
box-sizing: border-box;
html {
font-family: Georgia, "DejaVu Serif", serif;
font-size: 20px;
background-color: #eee8d5;
color: #586e75;
body {
font-size: 0.8rem;
line-height: 1.4rem;
margin: 0;
min-height: 100vh;
@supports (display: grid) {
body {
display: grid;
grid-template-rows: auto 1fr auto;
grid-template-columns: 1fr minmax(min-content, 40rem) auto 1fr;
". header header ."
". main list ."
". footer footer .";
grid-gap: 0.4rem;
header {
grid-area: header;
padding: 0.4rem;
padding-bottom: 0;
max-width: 41rem;
header a {
display: inline-block;
background-image: url(/theme/images/favicon-32x32.png);
background-repeat: no-repeat;
padding-left: 40px;
line-height: 32px;
font-size: 1.2rem;
font-family: sans-serif;
font-weight: bold;
color: #586e75;
header a:visited {
color: #586e75;
header a:hover {
text-decoration: none;
main {
grid-area: main;
margin: auto;
padding: 1rem;
height: 100%;
width: 100%;