Private messages #announcement blog

I've been letting my modly minions handle approving quotes and moderating comments for the past few days because I've been spending the couple of hours I can allot to FSTDT-time a day working on a change to FSTDT that you can finally actually see and use: a private-messaging system! This whole idea developed out of the need for a convenient way for my modly minions and I to keep in touch, but I figured why not let everybody use it?

Right now it uses a separate SQLite database to store messages, partially to ease the burden on the database server if I use the SQLite database when the PM system goes live, but mostly to simplify testing and a massive performance increase. The finished product will obviously still use the user-accounts table in the main database, but if everything works out, I will keep the SQLite database for messages, because SQLite is extremely fast, can be made secure with a little work, and this is exactly the sort of 'light database' SQLite was intended to handle.

[aside]Edit: Asked permission from the host, was told no even though there is nothing in their terms of service that could interpreted or construed to the effect that using SQLite or something similar was not allowed. Figured this host was more expensive than average because it had better than average service and was liberal in what they let you do with your share of resources on their servers so long as it was legal and within reason. But nah they're just overpriced and evidently have two terms of service: one they let people see, and a 'secret' one whose terms you apparently have to figure out by breaking them and getting your account suspended. Complaining to them ain't worth my time, because if they gave a shit their service wouldn't be shit in the first place. I'm half-tempted to scrap the current PM data code and set it up so it uses a .NET DataTable whose DataSource is a flat XML file. Would use substantially more server resources than SQLite.

And that's all I have to say about that aside from the fact that we will be not be renewing our hosting account here. We will instead be moving FSTDT to a relatively high-end Linux/BSD dedicated server plan elsewhere that lets you roll your own shit, and I will set the server up to run FSTDT with nginx + Mono / ASP.NET core + PostgreSQL like I wanted to begin with. I am much more familiar, experienced, and competent with *nix servers, especially when it comes to web servers and databases. We may even make the move a little before this account expires so it coincides with the Shavy-era FSTDT rewrite. (Amusingly, every admin of the site thus far has rewritten its code to suit them.)[/aside]

Progress on the new PM system
+ Database schema
+ Module (static class or struct in C# speak) for database access that handles all SQL queries and abstracts working with a database away from the main code, but I'll likely be making small changes to the queries that return lists of messages to retrieve one 'page' at a time (one page = 25 messages) so I can paginate message lists.
+ Abstract base classes (MessageList, PagedDataNavigator, Message, and Message's child classes MessageWrite and MessageRead) — for non-programmers this more or less means I did a skeleton or 'outline' to put most of the code and now have to 'fill in the blanks' with that code.
+ Most of the code generating the HTML table for message lists, probably one of if not the hardest part because I decided to write it by hand.

As you can see, I'm about one-quarter to one-third of the way finished. Much of the code is pretty generic, and a lot of it can be reused in other parts of the FSTDT rewrite: PagedDataNavigator was already written for it, and the Message, MessageWrite, MessageRead will likely form the foundation of similar code for quotes and comments.

One more thing: Pepe's probably pretty salty right now. Hasn't been able to get a message through in five days and counting, but I'm not calling 'victory' until it's been a week. Even then, something of his will probably manage to slip through every now and then, but at nothing near the old pace of his textual diarrhea. Hopefully it require enough work to get rid of him for good.

>_< #announcement blog

...aack, I'm busy with beginning-of-semester stuff! Yell at me in this thread for stuff I get behind on. I'll have the final round of the 2016 FSTDT Awards voting ready by the end of today though, and I'm extending voting until the end of the month. But if there's other stuff that I need yelling at for, put it here plz.

How Not to Read Code #announcement blog

As most everyone knows, the site has a lot of bugs. 99% of which are caused by my own poor planning, and tendency to hack together modifications to the site with code that "looks like it works". – Yahweh, October 2007

That's how I'm feeling right now, but I'm getting more competent with each mistake I make and realize, each modification I hack together and have to fix, each time I do something that "looks like it works" but doesn't and I have to figure out why.

Seems I take a more optimistic attitude to it, though. I suppose it's partially because I'm an incorrigible optimist, partially because I have experience with .NET from working with the code of Windows Forms applications, and partially because I also already have a lot of Web development experience under my belt.

But I firmly come from the other side of the tracks when it comes to that; my experience prior to FSTDT has been mostly LAMP (Linux, Apache, PHP, MySQL*), the exception to the LAMP acronym being that one of the projects I worked on professionally mercifully chose PostgreSQL. So far as Apache goes, I've never had to do much work configuring it aside from mod_rewrite.

*I hate MySQL with a passion for so many reasons that are beyond this post, and now that I no longer have to deal with it to get paid, I refuse to work with it.

In other news, voting is now open to anonymous and unregistered users! And that's actually because I programmed, compiled, and 'plugged in' a couple of classes that automatically check for suspicious voting behavior and emails my FSTDT admin account an alert if it catches anything, so I don't have to manually keep an eye on it myself. It intercepts parts of the QuoteComments.aspx codebehind if the current quote is either of the voting pages or the nomination page. It also the first and only Visual Basic code in the current FSTDT codebase, though it's only going to be there temporarily.

Now to the main topic of this post: I was wrong about something I said earlier in the Site / Off-Topic discussion thread, namely that the BBCode processor is an ancient external library. In actuality, it appears to be custom-programmed, or if not, I still have the full source code all the same. The reason for my error is a combination of several coincidences (a couple almost freakishly so) and some stupid assumptions on my part. I feel like a complete fool. But I'll tell you a (not so) little story about what happened:

First, the external coincidences: There is another BBCode processor written in the stone age that has the exact same name as the class files of Distind's. Both of these store their settings and tags in a database, something I find a little unusual for a BBCode processor. Both are also written for the .NET platform, though I can't tell you whether the other BBCode processor was written in C#, VB.NET, or something else entirely. Either way, it almost certainly had to have been one of those two but that's beside the point.

Second, the internal coincidences: A few days after receiving the FSTDT source code, my walking through it led me to the BBCode class files. I skimmed over them (more on the reason for my skimming in just a bit), and a number of identifiers (variable and method/function names) stuck out to me and gave me the impression that these classes were some sort of wrapper* to the "real" external BBCode processor: frequent use of words like get, send, use, precompiled, translate, ConvertArguments, etc. all strike me as "wrapper-like" language. Wrappers are a pretty banal thing so I lost interest pretty quickly and skimmed over that code even less than the the other code in that directory — most experienced programmers have seen a wrapper class or library at some point or another, and some have written them (me being on that list from back when I was a programmer-for-hire).

*So this makes a little more sense, a wrapper is a class or other structured code that acts a mediator between a program's code and an outside library, i.e. all data transfer and other interaction between the program and external library are done through the wrapper class. There several reasons to use a wrapper, but going into that is too far astray from the current topic. Even a nonprogrammer could probably think of a few useful purposes for something like that.

I also noticed a surprising lack of words used in identifiers that I'd expect to see in a BBCode processor: lexer, tokenize, parse, expression, state, seek — basically I was expecting it to work a lot like a compiler that takes programmer-readable source code and compiles (translates) it into computer-readable binaries. I guess I had that assumption because that would be the approach I'd take to programming a BBCode processor — and is the one I'm taking for the one I am making now — since processing / converting data and compiling code are tasks suited to the same basic kinds of algorithms.

Upon arriving at this "realization" about the BBCode processor, I set off to find the "real" BBCode processor. I couldn't find any trace of it in the compiled binary or library folders. I thought that was a little odd (when in actuality it should have been a giant red flag I was not on the right trail — my blond comes from a bottle, but perhaps the chemicals from the dye have been somehow seeping through my scalp and skull and into my brain...) So I decided to go searching the 'net for it, and lo and behold, I find an external .NET BBCode library assembly whose name is identical to the BBCode class name. This must be it!!

...except it wasn't.

This first started to dawn on me when I could not find the DLL to the damned library anywhere, not even the GAC. I even checked for it on the server. Nothing. Hmm... maybe the BBCode classes in the FSTDT source code were borrowed from the source of this. Wait... there is no source code to it available. And no documentation to it. This thing must be shitty. But wait... the FSTDT BBCode classes are also kind of shitty about some things! And both access the BBCodes from a table in the database! Eventually I got the (legitimately) bright idea to just freaking read and comb through the FSTDT BBCodes classes with the same thoroughness I gave the main code — what I should have freaking done in the first place. Lo and behold, it was the real BBCode processor code all along! It's also really, really, really bad in comparison to the code for the rest of the site, which is programmed competently enough. Its primary issue is a lack of polish.

Now for the reason why I didn't do go through the BBCode files with the same attention I gave the others. "I thought it was a wrapper" is only part of the reason — why didn't I read through it and see that it wasn't? The short answer is that, as I started earlier, I was skimming (to be generous), not reading. And the reason for that is that the BBCode class was part of a sub-project whose contents were almost entirely unimplemented, not-quite-complete code* that existed as a sort of island, having no kind of entrance point except for instantiating User and BBCode objects from their respective classes within the sub-project. I was not aware of the latter being referenced at that time, so I just skimmed through it like I did the other unreferenced code, and I arrived at the stupid-ass conclusion I did. And I stuck with that conclusion even after I realized it was referenced.

*I'll talk more about what that code was intended to be for in a later post. It's pretty interesting, and I intend on starting to incorporate some of its ideas into the FSTDT rewrite as soon as its stable and at functional parity with the current version of FSTDT.

I mentioned earlier that the BBCode processor is lik really, exceptionally, extravagantly awful. But if the sloppiness of this thing's code is that bad, then no better are my stupid-ass assumptions, stupid-ass self, and stupid-ass failure to actually seriously read the damn code properly to start with, instead of only doing it after I had was at a complete loss as to what was going on.

Now let's look at some of the code of this, err, masterpiece.

This is just stupid on so many levels, like borderline CodeSOD stupid (sorry, Bossman):
private static Regex UrlRegex = new Regex("\\b([\\d\\w\\.\\/\\+\\-\\?\\:]*) ((ht|f)tp(s|)\\:\\/\\/|[\\d\\d\\d|\\d\\d]\\.[\\d\\d\\d| \\d\\d]\\.|www\\.|\\.tv|\\.ac|\\.com|\\.edu|\\.gov|\\.int| \\.mil|\\.net|\\.org|\\.biz|\\.info|\\.name|\\.pro| \\.museum|\\.co)([\\d\\w\\.\\/\\%\\+\\-\\=\\&amp;\\?\\: \\\\\\&quot;\\'\\,\\|\\~\\;]*)\\b", RegexOptions.Compiled);
Programmers in the audience: What is wrong with the above code when it interacts with the following code?
{ input = HttpContext.Current.Server.HtmlDecode(input); if (Uri.IsWellFormedUriString(input, UriKind.RelativeOrAbsolute) && YCode.UrlRegex.IsMatch(input)) return input; return "#"; };
Can you identify what bug this causes? If you can get it right and explain why, I'll put your name and achievement in an award at the top of this post.

2016 FSTDT Awards

Quotes of the Year & Remaining Categories

Quote & Misc Awards #announcement blog

1/2/2017: Voting time for round one is up. The second and final round will be up and ready for voting later today or tomorrow!

This is the page to cast your votes in round one of the 2016 FSTDT Awards for Quotes of the Year and the other awards up for grabs. If you want to cast votes for the 2016 FSTDT Awards for Fundie of the Year or the other categories, you can do that here.

[aside]Minor update (27 Dec): I manually counted quotes for round one of the [abbr=Fundie of the Year]FOTY[/abbr] categories and the first week of the [abbr=Quote of the Year (and other miscellaneous categories)]QOTY[/abbr] round one, but I won't be doing that from here on out. I did the manual counting to make sure the code I hacked together to tally votes works and ignores most "false positive" votes (i.e. mentioning another quote in the commentary for a different vote) but doesn't ignore "false negatives" (i.e. legitimate votes that look like false positives to a computer blindly following instructions). It's not perfect, but it does a good enough job that all I have to do afterwards is skim over the quotes manually and fix a mistake here and there. Good enough for me.[/aside]

We made a really big oversight when we didn't nominate Omniology to be a Board of the Year candidate, so I've decided to break protocol and add it after somebody voted for it. Since I did this, you may change your vote for Board of the Year to Omniology if you want. If you want to change it, post a new comment saying so; don't change your vote by editing your current comment, because I'll be very likely to overlook the change. –shy

The Rules — read them!

This is round one of voting and will last from December 18 until December 31. In this round, we will be narrowing the number of quotes and other nominees for each category down to three. You get one vote to cast on a quote or other nominee in each category. A list of exactly what's up for vote this round is given below.

Since I'm the host and moderator of the awards, I'm abstaining from voting. But I did a sample ballot below in the comments for demonstration purposes. (It does, for the record, show how'd I vote if I weren't abstaining.) Pay close attention to my ballot and how the votes are listed and formatted. Try to do your own ballots as much like mine as you can. This will greatly speed up the process of tallying votes and make things much easier for me.

Now for the actual voting!

Using the list of nominations here, cast your vote for the following categories (more quotes up for vote but fewer categories compared to FOTY):

• Funniest Quote of the Year
• Nightmare Fuel Quote of the Year
• One-liner of the Year
• WTF?! quote of the year
• Incel Quote of the Year

• Board of the Year
• Commenter of the Year
• Troll of the Year
• Conspiracy Theory of the Year

Happy voting!

2016 FSTDT Awards

Fundies of the Year

Fundies of the Year #announcement blog

Day after Christmas Update: Voting for round one has closed. Round two will be set up and ready for voting soon.

Christmas Eve Update: This Christmas has been alooot busier than I expected, so you guys are gonna get a couple extra days to vote. I'll check the tally script against my own tallies and set up the next round the day after Christmas. Hope you guys have a merry one!

This is the page to cast your votes in round one of the 2016 FSTDT Awards for Fundies of the Year. If you want to cast votes for the 2016 FSTDT Awards Quotes of the Year or the other categories, you can do that here.

Now open to unregistered and anonymous users!

The Rules — read them before voting

A lot of people seem to be confused about how voting is working this time, so I decided to rewrite the rules to be a bit clearer and their purpose more transparent. I've deleted the improperly casted votes to give the voters an opportunity to try again now that I've (hopefully) made things clearer.

When we did nominations, I divided quotes into two broad categories: Fundies and Everything Else. This was because the fundie nominations were going to be handled differently. When we nominated fundies for the different award categories this time, we also nominated some of their quotes to go with them. The idea here is to determine the Fundie of the Year using three rounds of elimination based on the quotes we collected.

In the first round of elimination (the current round), voting is done to narrow the number of quotes for each fundie down to three. Fundies that already have three or fewer quotes are greyed out on the nominations list for now because they're not up for vote, since they don't need narrowing down to three.

In the second round of elimination (the next round), we repeat the same process with the remaining three quotes that each nominee has. This time the goal is to narrow the number of quotes down to one per each fundie in each award category.

Then in the third round of elimination, we finally pit the fundies against each other. The winning fundie in each award category is decided by voting on which one has the best winning quote from the previous process of elimination.

This process may seem needlessly complicated (and I realize that now), but it is not without a purpose. In previous years, the FSTDT awards were very predictable to me, and there wasn't very many voting opportunities to influence the outcome. Victors frequently won in landslides and curbstomped their competition. That's not very fun. You'll hopefully see that this time around the quotes chosen for the final fundie-against-fundie vote will be more competitive, and the final round of voting will be much closer, more unpredictable, and actually at least a little entertaining to follow and keep track of.

Now for the actual voting!

On the list of nominations here, find the corresponding section to each bullet on the ballot below, and use that list to cast your vote for each bullet. Follow the example I set forth in my ballot below (I'm actually abstaining from voting since I'm hosting and moderating the awards, but those are the picks I would've made if I were actually participating).

The Ballot

• Religious Fundie Quote, kingjameswriter1965
• Religious Fundie Quote, Catholic Nationalist
• Right-wing Fundie Quote, Jim
• Right-wing Fundie Quote, Students Against a Democratic Society
• Left-wing Fundie Quote, Nicolas Maduro
• Left-wing Fundie Quote, Antisemitic British Moonbats
• Conspiracy Theorist Quote, Nicolas Maduro
• Sexist Quote, Matt Forney
• Sexist Quote, SaintElliot
• Sexist Quote, David J Stewart
• Sexist Quote, Vox Day
• Racist Quote, James Laffrey
• Racist Quote, Wotans Krieger
• Single-Issue Wonk Quote, David J Stewart
• Single-Issue Wonk Quote, Mack Major
• Single-Issue Wonk Quote, Navaros
• Single-Issue Wonk Quote, WorldGoneCrazy
• Single-Issue Wonk Quote, Vox Day
• Batshit-Insane Person Quote, usachinanukewar
• Batshit-Insane Person Quote, Vox Day
• Batshit-Insane Person Quote, Joe Eigo
• Batshit-Insane Person Quote, SaintElliot

Happy voting!

2016 FSTDT Awards

Nominees and Candidates

The Nominations #announcement blog

Here are the candidates and nominaitons for the 2016 FSTDT Awards!

Thanks to everyone who made nominations! Also special thanks to Pharaoh Bastethotep and everyone else for their help doing tl;dr snippets of the quotes

When casting your votes on quotes — for either a Fundie of the Year candidate or for a Quote of the Year nomination — remember that the snippets provided here are intended to be a convenience giving you a general gist of what the quotes are about. If you decide to vote for a particular quote, then you should first click its quote-number link and read the original quote in its entirety to make sure you don't have any second thoughts. It is also a wise idea to consider your second pick as well and read its full quote too before casting your final vote: if you change your mind after voting, your vote will not get to change with it. All votes are final with the exception of typos or similar errors. If you find yourself equally torn between two or more candidates, then you should definitely always read their full quotes before deciding!

You don't have to cast a vote on everything up for vote. You may abstain from as many or as few things as you like, but remember that you lose your abstained vote; you cannot use it as an "extra" vote somewhere else.


[font=sans-serif]Religious fundie of the year[/font]

• David J Stewart – #122928: Leviticus selectivity, shellfish ok, gehs bad
• Sassy – #122088: "I flew in a plane what is different between that space and the space higher up? Where did Jesus go to when he was seen ascending into heaven? If Space is above the clouds where is heaven? You see there is a difference between Man and God the heavens above and heaven"
• cmdrjones – #121628: "Atheists have constitutional rights by being citizens, but by denying the existence of a creator no one with two brain cells to run together would trust that they would respect anyone else's rights. So, they simply should never be afforded political power... What with their miserable track record and so on. "
• kingjameswriter1965 – #122435: "Now they claim they can use this hadron collider to bring forth the Devil and all his fallen ones."
• Mack Major – #118255: "People who come from a voodoo or an old southern hoodoo background know about spirit husbands. These are actual spirit entities that become attached to a woman through ungodly sexual and spiritual activity."
• Catholic Nationalist – #117704: "Catholicism is objectively the coolest religion. So cool in fact that the word cool is not nearly sufficient. What other religion allows you to literally eat God every day?"

[font=sans-serif]Right-wing fundie of the year[/font]

• Abolish Abortion Florida – #121877: "The political committee Abolish Abortion Florida (AAFL) has launched a ballot initiative to amend the state's constitution to punish abortion as capital murder."
• Donald Trump – #122148: [Donald's twitter tirades are, mercifully, already auto-summarized by Twitter's 144-character limit, but they are too numerous to list; we'll do a short vote on picking one if he wins. –shy]
• Jim (Jim's Blog) – #120562: "We should protect our gays from Muslims and kill them ourselves."
• Roosh Valizadeh – #120431: "Punish Trump haters with your cock: Besides the punitive element of withholding your cock from a Trump hater, we can also look at it from a time-saving perspective. If you are masculine, you simply won’t connect naturally with a feminist who hates Trump."
• Students Against a Democratic Society – #116770: "We’ve done slavery (Issue 3), we’ve done lynching (Issue 11) – well, we haven’t done them, but you know what I mean."
• The Last Trump – #118465: "[Appeals Court Rules in Favor of Virginia Transboy Who Sued School District to Use Men’s Restroom] THIS, is one of the biggest issues of our time!? Sort of reminds you of Nero fiddling while Rome burned doesn't it?"
• Vox Day – #121392: "TL;DR: The Alt Right is a Western ideology that believes in science, history, reality, and the right of a genetic nation to exist and govern itself in its own interests."

[font=sans-serif]Left-wing fundie of the year[/font]

• nikkipotnik420 – #120947: "You defend trans 'women' because its just another way for men to force women to coddle males and put them before our own needs and its transparant as fuck."
• Mark Carey, et al. – #117469: "Feminist glaciology is rooted in, and combines, both feminist science studies and postcolonial science studies to meaningfully shift present-day glacier and ice sciences."
• Johan Nygren – #118613: "Diagnoses are the contemporary equivalent of racial biology. [...] It’s ADHD and bipolarity and schizophrenia and autism was used to legitimize wage slavery"
• University of Capetown Students – #122204: "They believe that [...] you are able to send lightning to strike someone. So, can you explain that scientifically" [Response: "It's not true."] "What you're trying to do is collapse the space and make it antagonizing, which we will not allow. This is a progressive space for people to say their opinions."
• National Union of Students – #118198: "The National Union of Students’ LGBT Campaign has passed a motion calling for the abolition of representatives for gay men – because they 'don’t face oppression' in the LGBT community."
• Aysegul Gurbuz (Labour Party Moonbat) – #118102: "If it wasn't for my man Hitler these Jews would've wiped Palestine years ago. Sorry but it's a fact. [...] Not hating on Jews btw"
• Bailey – #117389: "It’s not irresponsible behavior to not tell someone you have hiv [...] It’s not irresponsible to have sex with somebody without telling them."

[font=sans-serif]Conspiracy theorist of the year[/font]

• GLP Anonymous Cowards – #122457: "DO NOT GIVE IN AND MASTURBATE BEFORE THE ELECTION. It will lower your core energy to the lower chakra levels where that the demonic scum need the population to reside in for their ritual magick to be effective."
• Nicolas Maduro – #123066: "He added that the situation is an attack by Colombian criminal groups and Venezuela's MUD opposition coalition "combined with international mafias via an NGO hired by the US Treasury." [...]The NGOs, according to the official, hire criminal organizations to move 100-bolivar bills, the largest bill in circulation now, to Colombia and from there to other countries, such as Switzerland, Poland, Ukraine, Spain, Germany and the Czech Republic, where the money is stored in large warehouses."
• Alex Jones – #118606: "I’m pro-human so I say, black people, especially, stop killing your kids and get them in church, whatever, take them away from Beyoncé, who wants to eat their brain with the CIA, literally."

[font=sans-serif]Sexist of the year[/font]

• nikkipotnik420 – #120947: "You defend trans 'women' because its just another way for men to force women to coddle males and put them before our own needs and its transparant as fuck."
• sexselector – #101724: "Pain should never be considered a part of life. Being in pain is not a good evolutionary strategy. [...] Men’s choices in the patriarchy *created* women’s pain."
• Matt Forney – #117165: "It’s time to stop beating around the bush: feminists want to be raped."
• Saint Elliot – #122565: "The pussy of females can be used even 2 days after their death. Their sexual resources get wasted with the current system and people often die because there aren't enough organ donors."
• David J Stewart – #120671: "If your husband wants his cereal in a certain bowl or wants you to wear a certain dress in public... JUST DO IT! If your husband wants you to rinse his glass for 15 seconds or asks you to roll his socks into a ball... JUST DO IT! If your husband wants more grain in his meals... JUST DO IT! If your husband doesn't like the smell of certain foods when you cook them... then DON'T DO IT! If your husband wants you to put the twist back onto the loaf of bread... then JUST DO IT! If your husband wants the toilet seat up at all times... then JUST DO IT! It may not seem fair to you but it is YOUR JOB ladies to HELP your husband."
• Vox Day – #117889: "If the definition of rape is stretched so far to include women who have not given consent, then I am absolutely a serial rapist. So, too, is every man I know."
• Navigator – #123052: "Rape should be legal. It is this simple. A woman is a sexual object."

[font=sans-serif]Racist of the year[/font]

• James Laffrey – #116723: "The jews say Adolf Hitler ordered a 'Final Solution' of extermination of the jews. But Hitler, a humanitarian, a vegetarian, an artist, did no such thing — although, again, he should have."
• Wotans Krieger – #117230: "In the Reich that is to come these bastardised noble familes will have no place of honour for they are enfeebled distortions of the once racially pure Germanic aristocracy. Thus we must begin again the restoration of the caste system. Building on the vision of the Rigsthula I propose that these reconstituted castes [...] The Rigsthula makes it clear that this caste was an alien one. The very presence of the Thrall in our lands represents a very real threat to our biological survival as a racial community. Some of these Thralls may outwardly appear to be people of our own blood but the obese, the sexual degenerate, the drug addict, the alcoholic and the career criminal should be regarded as part of this slave under class and the necessary corrective measures undertaken. They are the Untermenschen much prized by the liberal elite."
• Janet Bloomfield – #117222: "Don't ban [the burka]. Use it to pick the next one to deport. #MakeAmericaGreatAgain #WhyWomenShouldNotVote"
• Vox Day – #121315: "As it happens, the ruination of the United States is the result of the 'contributions' of two groups of immigrants, Irish and Jewish."

[font=sans-serif]Single-issue wonk of the year[/font]

David J Stewart: Creepy-ass Taylor Swift fixation
• #123073: "This perverted screenshot of Miss Swift to the right only appears in this 3:54 minute video for ONE SECOND TOTAL!!!"

Mack Major: Witchcraft and the Occult
• #122812: "The biblical word for medicine in the New Testament is pharmakeia: and it means SORCERY. In other words witchcraft, occult power, black magic and potions. Why would Jesus Christ expect His followers to rely on the power of witchcraft or black magic to save them???"

Navaros: God's Holy Righteous Penis

Ann Barnhardt: Made-up fundie disease "Diabolical Narcissism"
• #122361: "Diabolical Narcissism is of the most severe variety, what we refer to as “psychopathy”, and thus she [Hillary Clinton] is an Alpha Narcissist, very much desirous of personal power, all the way up to the national and even global level."

WorldGoneCrazy - Anti-abortion crusader
• #120192: "All I know is that if fetuses could defend themselves with a gun, there would be no abortions."

Vox Day - Evolution denialism
• #120508: [Eric Hovind is refuted by a sixth grader] "t is a form of intellectual combat where the goal is to discredit the interlocutor. [...] Frankly, I'd be surprised and a little disappointed if I didn't have the kid in tears and questioning his faith in science within minutes after asking such a pair of stupid questions [...] Destroy the interlocutor."

[font=sans-serif]Vulture of the year[/font]

• #122859: Mack Major – "Someone may ask 'Why are you using this tragedy to promote your ebook?' The simple answer is because it saves lives! Hate to say I told you so, but had those who were partying read my ebook, they most likely would not have been there in the first place [at the Oakland warehouse fire]"
• #119803: crunchymama – "My heart is heavy over every aspect of this. that some of those killed were believers[...] that everyone involved turn to Jesus, that our 2nd Amendment rights aren't taken away"

[font=sans-serif]Batshit-insane person of the year[/font]

• usachinanukewar, #117354: "This divine pneumonia time bomb in my lungs implanted by Jesus years ago is the best ever gift I’ve received from Jesus."
• ComeOnPeople, #122200: "I know longer believe what the government told me about the world. To me they have taken the biblical account and turned it upside down. Making everything revolve around the sun, which is contrary to what the bible says and what scientists and historical artifacts claimed up until nasa."
• Vox Day, #119003: "War destroyed the body, but it did not destroy the spirit and the soul in the way peace and prosperity have."
• Saint Elliot, #123058: "Heck, I even considered having sex with a dog cadaver that died outside my window but sadly the janitor threw it away before I could go out and get it at night."

[font=sans-serif]Funniest quote of the year[/font]

• #106783: "We will use your leaning tower of pizza to throw off homosexual"
• #120864: "Of course, [FSTDT commenters] are all socks of Valri, so the logistics are not too difficult. :-)"

[font=sans-serif]Nightmare fuel quote of the year[/font]

• #119250 (Ryon Travis sov-cit house of horrors)
• #120032: "Recent discourse on child pornography falsely portrays it, like child sex in general, as a disaster for the child. [...] Yet there are many children seen in child pornography whose words, facial expressions, body language, and orgasms show that they thoroughly enjoy the sexual activity, sometimes enjoying it immensely."

[font=sans-serif]One-liner of the year[/font]

• #122830: "You don't know how much you should fear Jesus"
• #119953: "If I could be in the bedroom of every pro-choicer's when they have sex just to talk to them, I would. I could make them see how beautiful life actually is."
• #121425: "Beware the beast Hildabeast Clinton and her Vagenda of Manocide"

[font=sans-serif]WTF?! quote of the year[/font]

• #122633: "[STEM] Syllabi promote the positivist view of knowledge by suggesting that there are correct conclusions that can be drawn with the right tools [...] the syllabi reinforce the larger male dominant view of knowledge as one that students acquire and use to make correct decisions."
• #123064: "[Beezow Doo-Doo Zopittybop-Bop-Bop] explained that his first name represents 'the explosion of awareness of the interconnectedness of the infinite love in the universe.' Doo-doo 'is the struggle of our daily lives with that awareness, that with love comes chaos,' and Zopittybop-bop-bop 'is the outcome of that struggle, which is often ironic, especially because all life ends in death.'"
• #120864: "Of course, [FSTDT commenters] are all socks of Valri, so the logistics are not too difficult. :-)"

[font=sans-serif]Incel quote of the year[/font]

• #122565: "The pussy of females can be used even 2 days after their death. Their sexual resources get wasted with the current system and people often die because there aren't enough organ donors."
• #121548 "Modern Western women hate respect. They hate consent. They love bloody beatings. They love death. [...] You are the ones who don't see what's wrong."
• #123058: "Heck, I even considered having sex with a dog cadaver that died outside my window but sadly the janitor threw it away before I could go out and get it at night."

[font=sans-serif]Board of the year[/font]

• /r/IncelHeaven
• Return of Kings

[font=sans-serif]Commenter of the year (winner!)[/font]

• Hasan Prishtina

[font=sans-serif]Troll of the year[/font]

• TimeToTurn
• Anonymous "enlightened seer" (see here for where the madness begins — one can only hope it's a Poe)

[font=sans-serif]Conspiracy theory of the year[/font]

• PizzaGate
• The Mandela Effect

That login issue #announcement blog

There's an issue where users won't stay logged in more than 24 hours. I'm not sure what is causing it, and I may have to get Distind to come back and fix it, because the source code of the latest version of the site is disassembled (the original was lost), and the disassembled version is nigh unreadable in places, especially the code involving user accounts. If worst comes to worst, I'll rewrite the entire session / login code myself. It might take a week or two to fix this issue. I'm really sorry it's taking so long to work out this annoying little bug.

In other news, I'm gonna throw up a post for nominations for Fundie of the Year awards either later today or tomorrow.

Postponing Fundie of the Year nominations until after this bug is fixed.

Where the balls have I been? #announcement blog

Remember that whole attempting to hand off the site thing I did a few months back before I started getting too busy to handle it myself anymore. The busy part of it happened.

Once I have a bit more free time I'll be talking to some of the volunteers and see what I can do to set things up, but given the state of the site itself someone would need to be technically competent to actually take it over without driving themselves insane trying to use the existing tools to handle the random shit I have to deal with on a regular basis.

As it stands I generally have enough time to get quotes out still and half the reason I'm still here is that I refuse to let the shitposter win so I'll always make time for that.

Depending on how my checking in goes we'll see how the future goes, and even in the absolute worst case I know three or four people have expressed interest in preserving the database even if they don't quite know what they will use it for. Which I'd be fine with supplying them once I'd stripped out user identifying data should I ditch.

Don't know exactly what I'm up to now for the future, I can't promise consistent quotes these days given my schedule but I should be able to manage something for the near future.

FSTDT Wants You! #announcement blog

Hey folks,

I'm looking for folks who would like to join public admin.

Public admin is how quotes get approved, corrected, and otherwise make it to the main page. I approve items out of the queue on a daily basis and it's been a while since we had enough people to actually approve a quote without my intervention, I'd like to fix that.

If you're interested, comment here with your account and I'll do a review and let folks know if they're in or not. I will most likely handle this on weekends, so it may take me a bit to respond, but I will.

If you want to discuss, hit me over on the subreddit as I check that more.

And a few notes for those who are accepted:

Using Public Admin

Once you've been added to public admin log in to your FSTDT account and go to the home page. On the home page in the right hand column you see a link half way down the column "Admin" with a smartass line of text under it. Click that and you will be brought to the public admin page.

You will be presented with one quote at a time, each quote has three options for you to select, Approve, Delete or Abstain. If you feel it should go onto the mainpage, approve, if you feel it shouldn't Delete, if you don't have much feeling either way abstain. I should note, these are votes to a community total and do not immediately determine the fate of a quote, express your opinion on the quotes freely.

In addition, if you notice an issue with a quote you can make note of it in the 'Issues' field which is below the approval buttons, making the note of it here allows me to fix it before it hits the mainpage. You will also see any notes made by other members of public admin.

Under the quote there are a selection of recent quotes from similar sources to check for duplicated submissions, along with links to a full search of those fields if you have a strong feeling you've seen it but it does not appear on the list.

As a final note, every time you access to the public admin page it will progress to a new quote, I suggest not check the page too often as it will march you past a fair number of quotes if you do.

Fundie Quote of the Year 2016 #announcement blog

Voting is open, let me explain how to ensure your vote counts this year.

Each nominee has a number associated with it in one of the categories below. To vote for that nominee enter it's number into the comment section for that category. I'll be counting the first number I find in the comment and I'll be making sure votes come from unique commenters so please no funny business. Vote in as many or few categories as you like so long as it's only once in each.

Easier than most years since I have all this space to play with. Any questions, comments or general ranting can be addressed here on the subreddit where I'm more likely to look on a regular basis.

To see all of the categories and nothing else click 'Fundies 2016 Voting' below.

As of now I intend to let voting run through the end of the month. With results announced in the following week. Look forward to seeing the results folks.

Nominations Review #announcement blog

Nominations are up for review in the subreddit!

This isn't voting yet, this is me taking a pass through and seeing if I have a decent enough set of nominations for voting. I'm a bit behind so I'm only going to leave them open to review this week.

I've also got to figure out how I want to handle voting, I've done custom text parsing in the past, but I also didn't have this many items to vote on then. May do something a tad strange unless I find a good poll site. Anyway, take a look at the nominations, yell out any good ones that haven't made it under the categories, and hope to see you guys over there.

Hosts #announcement blog

Been actively poking around and found a great reason to push through the test site's cancellation, my current host has a plan that's half the price of what I'm paying with twice the SQL space that I've been carefully managing to not exceed for the last few years. That's a thing. That's a hell of a thing. I'll be chasing after that and will try and warn folks if it looks like there may be a rough transition. Chance for an outage, and another one while I'm fucking around with the configuration to play with whatever new toys I wind up with. But hot damn if I can keep this level of service and just get more space I'd probably not care about paying less, just really don't want to get shafted service wise after the repeated fuck ups with the test site host.

Had to start some time. #announcement blog

Moving along, I have the first stages of the fundies together and... well, it'll mostly be quote of the year as the remaining categories are frankly predictable. If you have new category ideas let's hear them. But there are some nice quotes and I have a slightly different idea than usual I'll roll out and we can see how that goes.

Working with the preview site host, got my money back and will be closing that account before much longer. Sorry to cut it off, but next version will be elsewhere, with a few updates when I get the time.

If you have any nominations, throw them in the comments.

Now I'm off to make dinner, hope everyone had a great new year #announcement blog

Happy new year folks, quick run down time:

Been sick as a dog the last week
Got promoted the week before that because my boss was leaving
Busy is an understatement when I've been able to do anything
Yes we will be doing fundie of the year, I'll be working on that this weekend and setting up categories hit me with suggestions in the comments below.

My host for the preview site has had a few billing irregularities this last week, so that will be coming down by the end of the month. Anyone who knows good .net hosts let me know, I may well be having a conversation with my current one to see if I can't get my plan tweaked a bit to fit the site better.

That whole someone taking over the site thing didn't pan out, no one with the time and the money popped up. In the end I can't quite bring myself to say do or die and off the site, but I will say if there is someone interested I'd love the help. And I got plenty of offers to help in other ways which I'll be working out once I actually have some time again. It bugs me that I don't have the time to free up some time, but it goes that way at some points so hold on for the ride.

What's that mean? Well, I have a crap load of people who want in to public admin and a few folks who have volunteered to do quote corrections or even full administration. So with some luck that means less waiting on me to get quotes out soon as I get folks setup. Also, I've secured a new community location and I've been pounding out some rough guidelines. Going to finish those and make sure the volunteers are fully on board with them before it launches. May prioritize that for fundie of the year discussion, scream if that interests you.

After all that #announcement blog

Rolling along with some parallel projects at work. I have the basics of the current iteration of .NET Identity working, and frankly don't need half the additional features at work, so I'm going to use that knowledge to build out the fuller version for the site including registration, password recovery and basic user functionality as I have time. Which should let me give people public admin access to see what I have, and then blow time on some admin interfaces before coming back around to do the interface cleaning. Depending on what time I have when I'll be in and out with updates.

That said, I have something resembling a personal life which is making this rather difficult to focus on so I'm glad I'm down to more bite sized chunks.

Back to work #announcement blog

Right, said I was going to post one of these each day. Well, I'm moving on to the vote counting part of the system which has some interesting bits, and aiming to get the user admin stuff done by the end of the day. I hope folks check out the preview build of the site that's out live, but right now let's talk about the vote system and old abuses.

If you look at the archives 2008 looks like a banner year, right? Maybe? Not exactly. The software that was in use at that point was kinda ass and someone more or less hijacked the public admin voting and the top 100 voting to organize the site as they wished by exploiting a few loopholes. I hacked closed the loopholes, booted the responsible party and recalculated the top 100. It was a pain in the ass and rather embarrassing that I only caught on when the top 100 had the top 5 items separated by single digit votes.

That's not going to happen again. The new voting systems are designed to ensure that it is not possible to vote more than once, like literally I cannot record more than one vote from a given IP on an account. But how does that stop them from running up the value and not being recorded? Simple, I'm not incrementing on vote, I'm counting up all the stored votes and re generating the score when a new vote is added. I've finished the public admin voting system yesterday and pretty much need user admin working before I can open it up publicly, and there's a thing with login not triggering or redirecting properly that I need to sort out before it's usable. But, what's important here is the design works and I'm already largely done with the ass end of the public rating voting, it's a matter of getting the front and middle parts working and hopefully deployed sometime this weekend for you all to abuse.

On a note, anyone have opinions on changing the Vote tags from "WTF!" and "meh"? I still like them a bit, but simple up and down or + and - seem more intuitive. Or does the content of the site lend itself to those reactions?

Anyway, assuming I get user admin done today I'm going to say it was good 30 hours of work on the site this week and screw off tomorrow, maybe doing a bit more this weekend, but I have some things going on. That said, I do have another week of vacation and no significant plans. Sure as hell won't be spending another full week on the site, but I should have plenty of time to get things handled, particularly with the help volunteers who have stepped up to take over the place.

Free Samples! #announcement blog

Sample Site is out!

Only took me three days longer than I hoped, and I just dicked around another half hour tuning the Latest Comments a bit, but here it is:

Test Site Ahoy!

Note the data is over a year old, and any submissions to it will be tossed with the test data. But if you want to see what I'm planning for an interface, or just want to select random fundie quotes from every month of may the site has had, it can do that. Click around a bit and yell at me if you break something, I've left the error messages full, so just give me the whole text in a comment here.

Humpday #announcement blog

Alright, today's goals are reasonably simple, get Public admin working, then look at quote rating voting. I think what I'm going to do is get a basic mechanic working now, and pile on ajax versions later. If I have spare time today I'm going to work on User Management and do some cleaning on the existing code. Assuming I finish this today the rest is improvements and admin functionality. Which is the easy shit since it all ties back into display mechanics I already have and 90% of the work is SQL that I can rattle off quickly.

That said, it does look like I'll have some work to do after the week is said and done. But this stuff looks manageable in shorter periods of time rather than being the kind of things I actually need a day for.

Monday, and I'm awake at five am, why? #announcement blog

Today I plan on working on:

Comment Driven quote listings
- Latest comment and any similar listings

Finishing user authentication by hooking into the database
- Cleaning up user DB while I'm at it
- Figuring how to migrate folks to a better password encryption

Quote and Comment Admin Edit pages

Review go to latest comment functionality

Review needs for Quote and Comment submissions
- Largely the edit pages, only with less security and more anti-spam and hand holding.
- Get, Redirect, Profit

Review needs for Comment Administration pages
- A generic listing mechanism would probably be useful here

Coding is coming #announcement blog

Evening folks, thought I should announce I'm going to be a bit more active next week as I've taken next week off to work on the site. My intention right now is to make a post in the morning with my todo list for the day and mark things off as I complete them. So, after getting off my ass and delivering the wife to work I'll make a post and get on my merry-ish way getting the site upgrades done. That said, I've been doing some work this week already to give myself some basis to star with and assuming I don't end my day in a complete shit place I'll be updating with any changes I make. Right now I have a list of core features which I'll detail as I'm working on them. Once I have those done, I'm taking a slacker day, I took a week's vacation for fuck's sake. Assuming I have some time left after that I'll be back with some of the more requested options I've had on the backburner, or get requested here.

I will note, I'm still watching the volunteers email and had someone volunteer this morning. I'm debating cutting it off, but I honestly don't see the point. If you want to help, hit that email.

Organization #announcement blog

Organizing! I'm working on it now, I've sent out emails to those who have them on their accounts here and none of them looked particularly disposable, but, if you don't have access to the email you registered with or just generally don't even have an account email me at

Let me know who you are and I'll fire off the community details I'm getting together.

What the balls is this about? Well check out this post for more. If anyone else is interested in volunteering I'll happily add you to the list.

Public Annoucement #announcement blog

(Edit: New Post on Volunteering read if you want in)

Alright folks, I'm looking for people to replace me and make sure the site keeps going now since I'm not hanging around for too much longer. Frankly there's a lot to do and I've neglected a fair bit of it for the sake of personal life and it hasn't done the site any good.

I figure a team of people would do a better job and make one person leaving a little less traumatic. If you want to help but aren't sure how, here's the kind of people involved in keeping the site:

* Who's paying the domain name and hosting charges. Hosting runs about ten bucks a month, registering the .com domain name is 10.29 a year and .net is 12.08 a year.
* I'll help you out with domain registration and have a few recommendations for hosting(including NOT arvixe)
* As a note, the site has never turned a profit and donations don't often make a dent in hosting costs, be prepared to pay the lot of that.

* This is what scares most people, working with the code and doing work to improve the site's speed and functionality.
* We've got a volunteer for this already, but if you're interested offer up, more eyes is better.

Quote Admin
* Take the time to curate quotes, this means you approve them, make corrections and generally keep up the quality of what's sent to the main page

Quote Volunteer
* Vote on which quotes will make it to the main page and help catalog things that need to be corrected.

Community Manager
* Spam hunting mostly, you skim comments for spam and excessive trolling
* Read and respond to Admin email, let developer or quote admin know about issues outside your scope.

Odds are you could take a few of these, but doing all of it is pretty pain in the ass.

I'm not going to ask too much from those who pick up the site after me, all I'm going to ask is whoever winds up with the rights to the domain name itself makes sure it moves on to someone else when they move on from the place.

What else I will do is work on finishing up the code for the new revision of the site(soon as I get the host for it straightened out). Either by myself or in concert with any new volunteers. I'll follow up with what needs to be done if folks are interested.

Calling all admins #announcement blog

Lots of ways to say it, lots of things I could rant on about, but long story short I think I'm about done with my tenure as admin of FSTDT. I don't have the time or interest to keep up with administration and development without taking time from my personal life, which has been my priority these last few years.

But, sky isn't falling, I'll keep the place propped up for a while yet and see if anyone is interested in taking over. I did it five, six, actually I'm not sure how many years ago now, so I'd like to find someone new to take things over before I have a day where giving the site the boot becomes particularly appealing. Don't know much about coding, websites or all those scary things? Not as big of a problem as you'd think, the site itself is pretty simple and if you show interest sooner than later I'd be willing to walk you through the redux code and either finish it or teach you how to.

I knew about half of what I needed to when I picked this place up, a few months I wound up re-writing the site in a day and a half in on my own. The site still largely works off that code. I wanted to make sure the community stuck around and had the time to spare to make sure it happened, that's all you need as I am willing to help you through the technical aspect. At least at the time being, give me a few more months and I may not have that left in me.

Anyway, if folks show interest I'll toss up some communication lines and we can chat. If there are a number of people we can work that out, it may actually work out better with a larger crew running the place, smaller upsets when one leaves. If you're interested in making sure FSTDT continues, drop a comment below.

Search Lives #announcement blog

It lives!

It's a tad ugly but I have a standard solution to that I'll be bringing over when I get onto more of the panels.

Use guide, enter your text plain and it searches for all of the given words in all given fields. If you want to search a specific phrase put quotes around it "like this". If you want to do some wild card searching put * at the end of the word or phrase and it should work. Anything more complex won't work, but it is entirely possible I could do more additions later.

Now, what's left to do for quote search is actually rather complicated. To search the comments and display matched comments along with their quotes I need to search a second table for matches and correctly display at least one of those matching comments along with the related quote. if I hard coded the search it'd be rather easy, only as I've mentioned before I can't hard code the method I'm using. So instead I'm working out something I've been idling on at work for a while now, searching multiple tables and handling the output gracefully. I'm pretty sure I have the search part down, and the display may be a rather simple matter if I don't over complicate it with functionality, but once I have something working I'll go more into specifics on what I can and can't do easily.

Also, if you're regularly annoyed with the current search and want me to update the data on the test site kvetch in the comments and I'll dedicate some time but I should mention it's a couple hour process which is why I don't do it regularly. The glory of cheap webhosting.

Oh, and this version is a little old since I have it torn apart on my dev machine, if you put in a double quote without a match it will error. Should be fixed next update.

Quick search update #announcement blog

What I could do and what I've done are a tad different. I have a bit more testing to do before I release it but I have a quote search together than handles words, phrases and postfix wildcards. Should be able to put it out this weekend and I'll rattle off what else there is to do in a longer post this weekend, though I will say comment search is coming, I just intend to do it well rather than quickly.

Searching Again #announcement blog

So I have a much more solid idea of what needs to be done for the search since I've been actively playing with the mechanics involved. I've found something suprising, it actually works better than I expected.

Say I search for David J. Stewart. The new functionality I'm using would find that term, or David J Stewart or David Jay Stewart. The new search functionality i'm looking at has some built in thesaurus comparisons it will make, while it won't automatically look for everything starting with a J, it will look for anything that actually sounds like J. And this is all accomplished using one of the simpler syntax possiblities.

Which brings me into the next part, the differences between what I can do and what I probably should. This is the definitions for the term I'm using, you may note it's a tad complicated and well it gets a whole lot worse with more search terms. If I took the time and had the knowledge I could setup all kinds of potentially useful syntax to the search page. Except I'm a lazy git despite having changed the name of this little bloggy bit.

What I'm most likely going to do is setup the search interface so that the given search parameters are handled appropriately based on the type. Which is harder said than done. For instance that David J. Stewart example above has some problems depending on the syntax used, if I search for all three parts of that separately by sending in '"David" AND "J" AND "Stewart"' into the contains function, so it will try to find each word in the author field, it returns nothing. Still figuring out why, but if I just search david and stewart it returns everything, this was a few hours of my week. But oddly enough, if I send in '"David J Stewart"' I get the results I mentioned above, where it checks thesauruses and is generally really bloody useful.

But there's still a catch there, all that nice functionality, yeah it involves very carefully deciding how something is searched. When I send it all in wrapped in "" it's looked for as phrase, fine for authors or sources, maybe even URLs, but completely useless for searching the content of quotes. Wait, it gets even better, this search relies on full word matches unless explicitly told what it is receiving is a prefix, and then requires that it MUST be a prefix or nothing will be found. Send in Test* and you get back Testing but not Test. Which has all been fun to play with, but frustrating to figure out how to really implement.

What I could do right now is just always assume people are searching for phrases, but I know that's not true. I do keyword searches regularly and I know a few others did back when search worked reliably. What I need to do is figure out how I'm going to parse what is received in a quote or comment search and best instruct the search engine to handle it. I doubt people want to have to figure out this syntax for themselves, so I'm going to do what I can to simplify it a bit and take care of assumptions. This is my project for the next few days, and I'll poke my head back up when I have something to mention.

Quick #announcement blog

Ok, been busier than I guessed so my search details are sitting here in a jumbled notepad file. But I do have something to say.

FSTDT is not a news aggregator. It does not need full news articles submitted to it. In fact posting these articles is a remarkably bad idea as there is legal precedent(set against FreeRepublic of all places) saying doing so is grounds for various types of infringement. It's one thing to quote people who have posted something, or even parts of an article that are specifically quotable, but the entire thing is just not what should be submitted. We link to the whole thing so people can read it while we give them the mind bending parts.

I may look at setting up a place where people could share related links without submitting quotes, but at the moment this isn't that place and I don't have one to recommend off hand.

Moving Merch #announcement blog

Hey folks, largely finished with that moving business finally. AC is wonderful, now I just need to figure out what to do with a dozen empty totes and I've got some shit to sell.

While I was moving a few ideas were floated for new Archive Icons and I want folks opinions. I've never really come up with anything better than Shotgun Jesus, but I have someone who is interested in doing a redraw of it at some point, which got us to talking about the others. CSTDT, I think we have a good one, an alien, wearing a tinfoil hat, while hosting a radio show. I think this is gold, better than what we have gold, and the artist is interested as well. RSTDT I have something to float but it's an old in joke and I'm still trying to make it work, a neo-Nazi singing I feel pretty. I'd need an iconic image from the musical to pull it off, but it's my favorite idea so far.

Anyone have opinions or thoughts? Assuming I get this done it would make fundie merch possible.

The search for code #announcement blog

Search is progressing, the query powering the new search page is remarkably fast, I now know we have over 11,000 comments using the word 'Moron' and I can return the lot in under a second. Except the syntax involved doesn't let me do one of my standard shortcuts to use fewer lines of SQL to do more work. I need to invest some time in ensuring I can dynamically create the query without leaving it open to security holes, which I plan to do over the course of this week.

For those who didn't notice in the comments of the last post I have the sample site up. Check it out, give me some thoughts, once I have search working as intended I'll be moving on to getting archive selections working somehow, which will be interesting.

In utterly unrelated news, the new Mad Max movie is a good movie. People calling it feminist are making a bit of a leap as it's not exactly new territory, but people jump the gun on this kind of thing all the time. It is however an excellent follow up to the road warrior and does a few things that actually make the third movie suck less. Max is Max, cars are cool, explosions are awesome, world is fucked.

It's another #announcement blog

If it isn't one thing...

Ok, so I've cleared up the paging issue and have a viable sample to post and show off the fact you can page through over 1500 pages of FSTDT content without any trouble. So I want to FTP it up to the new host... it doesn't fucking work.

I'm hitting them with a support ticket and see how it goes.

That all said, I managed to get it working by effectively pre-populating any possible combination of filters rather than ignoring turned off filters. I thought this would be a huge amount of data, and for this place it is. But it's size totals out to all of 8 megs of a table including an index that restates the content of the table in the order I want it to... so yeah, that's a wonderful damn thing right there. Almost no size for a damn nice improvement in speed. For reference the similar index on the current site is around 250 megs, but it has to include a great deal more data to offer anywhere near the same amount of speed.

Next stop after cursing support out is playing with the search functionality, even if I'm not going to renew with these guys at the end of the month I can get some testing done.

If it's not a cracked engine block I'm good, I think #announcement blog

This is not my week.

Car may be on its final bork so I may be blowing significant amounts of time looking for a new car, preferably something I actually fit into the passenger side of. Time may be limited for a bit, I'll know Wednesday.

In the mean time I'm mucking about with what looks like a solution to the paging issue I had. It's called actually doing the optimization. Found a better set of tools than I had to figure a few things, went from a ten minute and stop it query to under a second WITH full diagnostics running. So. Those things are looking up, hopefully I can get this working like this for a test site this week.

It's no longer Monday #announcement blog

Alright, sorry about the delay on the quotes had a real Monday. This last one was impressive so I figure it's a good place to hold till tomorrow morning.

Dev work has moved right along, I have a few finer points to decide to run with or scrap before launching anything but both quote and comment pages work. Which is a good place to start when the site consists of only those things.

What I need to do other than the fine points, get hosting setup, get the database setup, get the data transfer to the database and make sure nothing explodes when I try to combine everything on the server. Odds are this is going to lag a bit beyond this weekend, as unless the paging on tags issue clears up I have some shit to deal with before I want to launch it as I don't want to annoy my host within the first day with a few dozen hung page requests.

Now if only the neighbor's dog would shutup #announcement blog

Right, this is a thing, sorry it's been a really nice day and I've been enjoying the hell out of it.

Did a good bit of work yesterday, fixed one of the issues I'd been having and should be able to get to work on the comments page next time I have time free. After that I'm going to get the base of the search page together, if you've been following I mentioned I wasn't able to test the improved search functionality because of my local SQL server version, well, once I have it to a testable point I'm going to be setting up a FSTDT test site where people can take a look at what I'm doing while I actually test the improved search on a system that can do it.

If nothing goes wrong I want to have that up by the end of the month, it'll just be display and it won't be the live data, but it's better than the nothing I have out there now.

Next page