Blogs

AJAX #announcement fstdt.com blog

Tad short on time this weekend, also into the middle layer/presentation tier stuff which is boring as sin to talk about. The big thing is the voting mechanism and making it work without all the ugly it has now, making an actual AJAX call out of it. Which is to say, you hit the button and it sends a call back to the server to figure out what to do without involving the rest of the page. The upshot to doing it this way is that I don't need to worry about security holes from four different implementations of the code, down side is I need to make sure the html around the button is consistent or otherwise easily dealt with.

Having most of the basic pages sketched out is a good starting point, I figure I need to get my tools collected and start choking on the 50 bucks a month for a newer version of visual studio. Which I am somewhat hesitant to do, but if I don't there's not a huge point to the re-write.

Anyway, the last post had some people mentioning issues with the mobile site. I can take into account mobile devices in the new layout, but I'd need to know the exact problems and I don't actually have a smart phone. So consider this the mobile complaints department and I should be able to setup the mobile layout to accommodate them all.

Much better #announcement fstdt.com blog

I've been pounding away at formatting and I think I have something reasonable, and something else that might be better if I can get the fine tuning done. As such I have two mock ups for you guys:

The first is very much like what we have now, with a bit nicer styling
image

The second has some re-arranging done in an attempt to waste less vertical screen space per quote
image

I'm still not happy with where I have the Quote ID on this second one one, but both could use some nicer looking filters(long term goal) and would have tags inserted directly under the 'submitted by' portion of the quote. The one thing I want to work on is the fundie index, it's nice but wastes a fair bit of space for such a short line. So I've been looking at replacing the WTF and meh with some other smaller indicators and merging it into the comment count line. Not sure about the results. As always thoughts are welcome.

On a complete side note, if there are any Freddy fans out there looking for a blue ray release, best buy has the full collection at 20 bucks off, down to 30 bucks for seven movies(it doesn't have Freddy vs Jason). Freddy, the discount horror villain. Been enjoying that.

This happens a lot #announcement fstdt.com blog

So, fucked around with the described layout for a fair part of the weekend and discovered something. I hate it. It sounds decent in theory, but it's not half as readable or focused as what we have now.

Brought my wife in to take a look at it and got the 'are you serious' look along with a few thoughts on some alternative layouts. So, wadding that one up and tossing it, planning on something a bit closer to what we have now, just written better.

The layout may look like something out of the early 00s but it works reasonably well. But with the better implementation of a similar layout I have a lot more of it I can futz with to improve the things I know I want to focus on. Which has become next weekend's project.

Layouts, a lot of fiddly details #announcement fstdt.com blog

So, starting is apparently the right word here. I'm driving myself up the wall with the lay out choices, but I have a few solid things together.

First off, that box that cuts off a small portion of every direction of the screen? That's gone.

The header up top with the links to more or less everything, that'll be expanded to include filters and any functionality from the current index that isn't in it now, and be given its own background. Expanding from one side of the screen to another. It'll be a band of functionality and information related to the current page across the top of the page.

That's actually a majority of the layout, but being me I can get caught up in details till the cows come home and complain at me for not picking them up from soccer practice. Which I have done with the quote layout. The way I see it I have these chunks to work with:

Quote Content

Author, Location[link to URL] Posted Date

Comments (Count)

Index + Voting Mechanism

Tags

Submission Details

And that's roughly the order they're in now, but I have two big questions I've been considering. Do I promote Author/location/date line to a header like thing, or keep it after the quote as it is now. Also, where should I present tags. As they sit above they're good for looking at something similar after reading the quote, but they don't serve as possible warning for terrifying content all the way at the end of the quote. There's also the matter of possibly presenting tags as small images, but I think I'm on the outs with that idea after trying to figure out how to present a few of the tag ideas as images.

But, what I do know is that I'll be breaking up with the break line when get the new lay out together. Each 'Content Entry' (Be it quote, comment or search result) will be its own div, maybe even with rounded corners or at least a little gradient separator, and details within that will be given their own panels to make it more readily clear that there are different parts to a single entry while still keeping it all as a single entry.

Anyway, all this said, there's also the matter of keeping my favorite CSS joke I've ever managed, that grey that borders the entire site, its color code is #666. That amuses me far more than it should this many years after first doing it. I'm thinking I may use it as a basis for my color selections, but it does seriously limit the range of colors I have to pick from. So, continuing to muck about with this. May be posting praises of Solomon Kane mid week as he seems to be pretty awesome for a puritan, otherwise I'll be back next weekend.

Quote Comment View #announcement fstdt.com blog

Quote Comments View:

This view will contain the Quote Details of a single specified Quote, a Comment link for that quote and a paged listing of the Comment Details for this quote. Comment Details will include, Comment Text, Comment Author, Comment ID, along with a Reply link for each comment.

Entering a new comment will be done through a separate interface the user is taken to once they click a 'Comment' or 'Reply' link. If you use the Quote comment link you will be presented with a summation of the quote and entry fields for Author and Comment Text, if you are signed in Author will be filled in for you and disabled, if you have entered an Author previously on an unauthenticated session then the previously used Author name will be pre-populated and available for editing.

Once submitted the Comment interface will either close or redirect you to either the last page of comments available for the quote or if you replied to a comment it will take you back to that comment.


Now, with all of this I have to admit one thing. I'm still quite torn on how to submit comments. I know damn well I don't want it to be the part of the page it currently is due to the multi-post problem, but I don't know if I want to do it as an AJAX panel that pops up and submits itself or if I want to take folks to a new page, or just pop a new page that has the comment interface. Right now I'm leaning towards a separate page just because it's easiest to handle, my wife's telling me I should at least have that separate page even if the AJAX bit comes into play later.

I also want to know what you guys think about getting bounced around after submitting a quote. I'm pretty sure our lurker types would want to be taken to the newest quote, but I know some folks reply to something midstream and probably wouldn't want to be taken to the last page. So what I've posted above is intended to attempt to satisfy both groups. If you think your group isn't addressed or think the other groups suck and should be ignored give me some comments on what you think the page should look like.

Next post will be this weekend and another one where I'm looking for serious feedback, I'm going to take a few stabs at mocking up a new layout. How does everyone feel about rounded corners?

Search #announcement fstdt.com blog

Search View:

The re-worked search will include a number of new features on top of what should promise to be a considerably faster searching algorithm. Any new filters are followed with an asterisk

Filters include:
Quote Author
Quote Location
Quote URL*
Quote Content
Quote Year*
Quote Month*
Quote Tag*

Comment Author
Comment Content
Comment Year*
Comment Month*

Any quotes matching all of the entered filters will be displayed as a Quote Details listing. If any comment filters are used then the earliest matching comment will be displayed directly under it's related quote, with a link to a view featuring a listing of all comments matching the search filters which displays the count of matching comments. Each listed comment will include a link to it's location within the Quote Comment Listing.

Yay, something different finally! Sort of, I'm still lifting most of the display from other parts of the site. Let nothing bad be said about code reuse or display templates. That said, I'm debating a few parts of this still, the date filters on comments are a big one. Not sure if I should let them be used without Author or Content specified, but odds are someone could find a use for that anyway. Further, listing more than one matching comment so it's less likely that people have to dig into the Search Comment Listing, it's possible, but I'm torn on where the cut off should be. So for right now I'm putting it at one as that is by far the easiest number to deal with and still keep the comments in the page.

The last outstanding bit of site theory is the Quote Comments pages. I should hit that mid week.

Top Voted View #announcement fstdt.com blog

Top Voted View:

Single page listing of Quote Details ordered by the vote value and limited by the Tag, Year and Month filters. Year and Month filters function off the Quote Date Posted.


Pretty simple here, which is probably why I'm compelled to check on a similar idea brought up in the comments. A view that filters dates not by the Date Posted, but by votes entered within the selected range. What I could do here would be Popular [tag here if there is one] quotes of [specified time range] pages. I'd need to do some building out again in terms of precalculated tables, but honestly I don't think it'd be all that bad to do. I'd just need to include updating the pre-calc table values in the voting updates and it'd be more or less ready to go if I plugged it into the procedures I already have and the interfaces the other pages will need.

But, there's one rather stupid problem with it that I see, if you don't select a date range it'll look exactly like the Top voted page. In fact I'm not particularly sure there'd be a notable difference. I'm going to look at it next time I'm in the system.

Latest Comments #announcement fstdt.com blog

Latest Comment View:

Displays a listing of the Quote Details(again without the Read On Link) which have most recently had new comments made on them as limited by the filters. The Quotes will be ordered by the date of the most recent comment made to them. Further, each quote will have it's most recent Comment displayed beneath the Quote Details along with a link directly to that comment.

Notable that Filters will still work off of the Quote's Date Posted and not the date that the Comment was made for sake of consistency with other Views. Otherwise they work the same as previously mentioned with Tag, Year, Month and page filters. Pages progressing you through the ranks of most recently made comments.


So, one big notable change here that would let our dedicated lurkers keep on top of most recent comments with ease. It's also one of the reasons I'm currently giving MVC the stink eye. Though it should be giving it right back to me as I'm the one trying to shoehorn it into this project. Without the consistent model to display things(since I'm varying the read from here links, or in this case displaying comments as well) I'm looking at custom models for every page eliminating one of the handful of useful aspects of MVC. Pretty much just leaving me with testability(useful but I have like 4 functions on the entire site to test) and the ability for large teams to work in relative harmony, also something that's not a concern for me.

But, putting the descriptions on hold till the weekend, have important things to attend to the next few days. I'll do a double decker when I get back, Top Listing and Search.

Random Quotes #announcement fstdt.com blog

Random Quotes View:

Consists of a Listing of Quote Details as described previously without the 'Read On From This Point Link'. This listing is ordered randomly from all quotes allowed by the filters.

Filters work almost the same as the default listing, but in this case there are no pages. There is a single page of Quotes pulled at random from all quotes matching the defined filters. If a tag is selected only quotes from that tag will be displayed, for year only quotes from that year, for month only quotes matching both that year and that month. These can all be used in conjunction with each other to make as broad or as limited a random pool as possible.

So, all over everything random pages will be back, all new ability to get random quotes from given years, and with further ability to pick from any of the defined tags which I'll be revisting once I have the basics together. Unless I get creative though I can't support the "Read On From this Point link" on the random page, otherwise it's not exactly random since I'd need to be able to pull the same random page twice. It's possible, but unless demand is there I'm not going for it.

Quote Archive #announcement fstdt.com blog

This is the simple one, the basic Quote Archive page. Not massively different than what we have, but a few added features.

The display will list Quote Details for a defined page length of Quotes available per the filters set ordered by the descending Date Posted.

Quote Details include:
Quote ID
Quote Text
Quote Author
Quote Board
Quote URL
Quote Comments Count
Quote Comments Link
Latest Comment Link
Quote Date Posted
Quote Rating Display
Quote Rating Inputs
Quote Tags Display
Read On From This Point Link

The Filters include:
Tag
Year
Month
Page

As filters are set they refine the set of records displayed to only those that match the given filters. The Tag filter requires that the selected Tag is assigned to the displayed Quotes. The Year and Month filters require the Quote have been posted within the defined range of dates, either within the year selected, or within the month of the Year selected. The Page defines which set of the filtered quotes you are currently viewing.

When used as the main page and given no filters this page will display ALL quotes in descending order based on Date Posted.


Pretty simple stuff, but it does raise one question to me, do I keep the ages old index that sits at FSTDT.com, or do I drop it and have that point directly at the unfiltered quote listing? It should be easy enough to stick login/user management details into the site header and the rest is quite honestly a set of relics from ages ago that I never really thought too hard about keeping. It also has the slight problem of using a number of images I have absolutely no right to, which is one of the reasons I haven't taken the site a tad more commercial. Further, do I drop the Archives listing and just display the number of quotes available under potential filter selections? Tomorrow we get more interesting, Random Quotes.

Back on the horse #announcement fstdt.com blog

Quite a bit cooler these days, getting back on the code horse.

Beating around the code I had sitting about showed me something pretty interesting. I have a choice right now between 5 specialized procedures for different filter selections, or one generalized one that has cut outs for any filters that aren't defined. This is what I was bitching about last time, well, turns out that 3 of the specialized procedures are considerably faster than the general one, but the other two are absolute pigs despite generating the exact same results as the general procedure. The biggest of the pigs being the procedure that would be used when the main page is just opened and given no tags. So, yay tight and shiny code, boo five versions of the same damn thing.

What that means is I have the backest of ends together in formalized procedures, now I need to start working on taking what I've generated at the database and actually working with the objects/pages that will make use of this data. Which comes at a good time, I have a significant project at work which may be better served working off a more modern architecture and I think I have the kinks out of making FSTDT MVC. So I'm going to use what I'm working on now as a test project and I have heavy incentive to get serious work done on it in the next few weeks before work's project proposal makes it's way out of management limbo.

While I'm poking at all of this I want to go back and review exactly what the site is going to be doing different in a more organized manner, so for some part of next week I'll be posting "View X" definitions, what they're supposed to do, what's different than right now and if anyone wants to toss in a request there's still time.

Though I may be reworking some things as the indexes on the comments table are more than twice as large as the table itself. Or I'll just go with the hosts that are generous with storage space.

Atheir than thou #announcement fstdt.com blog

Alright, so it's entirely too hot in my sweatbox apartment to deal with coding. But it's the perfect time to park my ass in front of my Air Conditioner and do some reading. For a while now I've been doing some rounds reading various atheist view points and philosophy, I've found I like Sagan and find Harris mildly infuriating. But I've blown through most of the high profile stuff and wonder if you guys have any suggestions on good atheist reading. The only big book I know of that I haven't read is the God Delusion, and that's mostly because I swear my wife bought a copy and I can't find it. Is it worth re buying to read it? Any suggestions for other reading?

I definitely suggest "The Demon-Haunted World: Science as a Candle in the Dark" by Carl Sagan to anyone interested in such reading. It hits most of the high points without being a prick or back peddling.

Be a bit #announcement fstdt.com blog

Going to be rather quiet for a bit as the work I have to do is largely grunt work on things I've already mentioned. Might do some bitching about things that annoy me or sing the praises of D&D's 5th edition to fill space, but site wise not a lot for a while. Beyond just having grunt work to do, I also have a major project at work that uses a lot of the same technology, so I'm more focused on what gets me paid than what makes managing this place easier. However, knowing what the hell I'm doing ought to make sure what comes out of the site re-working is considerably better than it otherwise would have been.

Community Expectations #announcement fstdt.com blog

I've been watching some internet stupidity again and it reminds me I wanted to use this place as a bit of a reminder that I do try to hold the locals to some kind of standard.

I don't have a lot of rules. Two really. Don't spam the comments, don't harass those who are quoted. That's not terribly difficult in my estimation, even if it may be somewhat difficult not to charge off and bitch at Ray Comfort or someone from time to time. Lately I've watched the kind of crap that unsourced accusations can generate and it's kept me more diligent than usual in checking quote sources. If someone really said something that dumb, terrifying or amusing we can take some time to point and laugh here, but I ask that is where we leave it when dealing with individuals. We've had some problems with that in the past, and I still work to deal with a few of those problems on a regular basis.

Now, actual activism where people do real work to change the things that lead to the comments we get here, that's a different bird. I would be happy to help advertise or coordinate such things with whatever bit of focus I may have here. That's a legitimate goal with productive means. If you're into that let me know and I'll do what I can to help.

As for my progress on the site, going better than I expected. Writing up the analysis of the indexes gave me a few useful ideas for how to handle the quotes and filters, as it sits we're looking at something about three times faster than the current site for quote access and I should be able to allow for the filters to be used on the specialized pages. Meaning you could pull the fundie top 100 of 2014 if you wanted, or the top 100 of everything regardless of tags all time. Ought to be nice.

Filters and Archive Binge Enabling #announcement fstdt.com blog

My focus the last few weeks has been cleaning up exactly how the quotes will be handled in the archives and how to best relay that information to the user. Typically my work is designed for people who I don't have the slightest clue what they'll want day to day, but here it's a tad different. Far as I see it we have three user groups, those who are just keeping up with quotes, those in wholesale archive binges working through the archives and those that use the specialized pages to check quotes at more or less random. Which leaves me with very different requirements than the free form style I'm used to.

What I'm thinking is rather simple, a filter set with three selections Tag, Year and Month. Technically Year and month would function as a single selection, defining months like the current archive structure does to limit server overhead. However, knowing the current filter selections would make it very simple for me to allow for jumping from one month to the next while making it perfectly clear what has been done. I've already discussed the tag selection, but if you only wanted to see one particular variety of quote as defined by the tags you could select it along with the month and year and cruise right along.

My other options for the filter selections are either far more complicated or less user friendly. I will be looking into multiple tag selection in terms of performance(I have something that works in theory, practice is a different beast) in the future. The less friendly part would be allowing for user defined date ranges, if for some reason you had a desire to select random days, weeks, months or hours out of the archives of FSTDT, I could totally make that happen. But I wouldn't be able to do any of the nicer "Here's your next set of archives" functionality as the selections allowed would be arbitrary. Call me on it if you think I'm wrong.

But, all said, when you first reach a page from the site index it will have no date selected, so it will show a page with the most recent records for the given tags(or no tags at all) and the dates will only be assigned on the second page you navigate to. So, no more blank of the month. I just need to figure out how to keep from repeating quotes on the second page during the month cross over.

So I'm rather happy with that and will be pounding on the functionality this weekend. But I've had one other thought, would people be interested in a "You where here" link that takes them back to the same place they were viewing in the archives, setting either something at the account level that lets you jump back to place, or generate a copyable link to do the same?

Comments! #announcement fstdt.com blog

Alright, looking at comment restructuring, bbcodes, ancient comment cleaning and new commenting interface/features this week.

In terms of data structure, I'm not changing a whole lot beyond what I discussed with indexes. I'm setting up a defined row number that will tell me which page the comments belong on regardless of page length, which I eventually make a user setting.

BBCodes, those things that let you muck about with the text, the current implementation is actually the only thing I kept from the original FSTDT code I was handed. It has a few... issues. So I've tracked down a configurable BBCode implementation that I can setup as needed. Which should let me keep all the current codes without any issue. I'll also be putting up an actual listing of how it works on the new site so people can have a real clue what's going on. With some luck it'll even let us link to anchors in URL brackets, but I haven't tested that yet.

Ancient comments, one of ye old issues. Well before I even came to this site a number of comments were ported either from static files or a completely different database structure. They use HTML Markup and otherwise ineffective encoding standards that I need to get cleaned up. Well, I have a test database I can fuck up at will right now so I'm taking a few shots at cleaning them. If anyone is interested in helping a few examples of things that annoy you should let me make sure I put something comprehensive together. If I screw up it's just two hours of downloading the comments again rather than screams and damnation as I cause comments to implode.

Lastly, and the part people are likely to actually care about, the new commenting features I want some feedback on what people would want. The absolute basic right now is changing out the comment creation procedure so that the panel used is created on command and does not cause a page submit(thus causing comment duplication when someone refreshes the page).

Since everything is being built from scratch I can add in some of the features that have been discussed in the past. Either adding in Quote tags with the BBCode setup, or giving the @CommentNumber notation actual link functionality. Quote tags are pretty standard on forums, but they don't have that traditional feeling @CommentNumber has picked up over the years. So, toss a vote in the comments for

or @CommentNumber and I'll see which I should focus on getting implemented.

Balls balls balls #announcement fstdt.com blog

And damnit, got to remember the joys of SQL Server versions. Started poking at full text indexes, what should be the solution to the issues with search taking ages, only to get the reminder from the system that the version I have for testing doesn't support them. Which also means I have to make sure the new host I'm looking at does support them.

So suck is abundant today. Poking at the core Tag based archive queries instead, but while I do that have some references on just what full text indexing can do.

My favorite part:
Comparing LIKE to Full-Text Search

In contrast to full-text search, the LIKE Transact-SQL predicate works on character patterns only. Also, you cannot use the LIKE predicate to query formatted binary data. Furthermore, a LIKE query against a large amount of unstructured text data is much slower than an equivalent full-text query against the same data. A LIKE query against millions of rows of text data can take minutes to return; whereas a full-text query can take only seconds or less against the same data, depending on the number of rows that are returned.

As you might guess I'm using LIKE now, and it's entirely why things take so long to search. But it's also the way to do text matches that's always available and doesn't take up any space. With me not even having enough space on this server to do regular maintenance without SQL acrobatics being involved.

Anyway, working on Tagging instead. Going with the simple 'One Tag Archive' approach instead of something I can fuck with for months. Once I'm done with that it'll be time to start working on some of the outward facing pages, so we'll see how that goes and revisit full text indexing later.

Indexes #announcement fstdt.com blog

Covered most of what I was doing last time, and 100% of the vote wanted to know more so here goes:

SQL Indexes, they're specifically ordered subsets of the data otherwise contained within the tables. You have a Numeric ID on a table 1-100, you most likely have an index that has nothing but that ID in it to reference that ID as fast as possible. In fact most IDs will have something like that because it makes the random crap developers need to do pretty quick, along with any simple functionality. These indexed columns are the columns your index runs on, when you're looking to make a decision based on certain fields having them indexed means you consult the index and check it in a pre-determined manner rather than checking every piece of data to see if it fits the criteria. The index does a fair bit of the work for you that way, it tells you which record you're looking for as fast as possible if setup correctly.

But that's not all you can do with them, like the old library catalogs you may be too young to remember, there can also be other information stored as an index entry. Summary, publisher, and a whole bunch of other information would be available when you found the index card in the catalog. SQL Indexes can do the same thing. See, in all but the most basic queries just finding the item you're looking for isn't enough, you also need to find information related to that item. Which means you can include columns which are not themselves indexed, but are immediately available from the index when an item is located.

That is what explains the difference in both sizes and effectiveness of the two indexes I was bandying about last post. The small index only contains the columns which are indexed, once the record is found the database engine then has to go consult the table and pull the remaining details. The large index contains ALL of the relevant columns, which happens to be all of the large columns in the comments table, and returns them immediately. As mentioned before, the immediate trade offs are size of the index and speed at which the intended query runs. The large index doubles the size of the table as it contains all the same information, but it runs twice as fast as the smaller index that is a very small fraction of the table size.

However there is one other concern that'll crop up real quick, maintaining the index on a live server. Like a library catalog, when entries are added or modified the index needs to be updated within the space allowed or you need to rebuild everything, including all columns stored within the index if they're part of the specifically indexed columns or not. Using the large index as an example this would mean that every time a comment is added space for the comment, author and various IDs would have to be allocated, plus any time a comment is modified an existing entry would have to be modified, possibly forcing it out of the current order and causing extra over head in pulling the index together. At that point you could rebuild or reorganize the index to effectiveness by rebuilding the index, but the data would be either unavailable or available at a severely reduced rate for the duration.

As it sits, I'm going with the smaller index because it'll hold together for far longer and can be rebuilt in seconds rather than around five minutes and it's still considerably faster than the existing query. Providing a consistent speed is often as important as anything else with databases, and it would do far better in that regard.

In theory I have time to poke at some of the other core code for the site this weekend, we'll see how that works out. If it works out I may be digging up a temp domain to try out a new host and beat the new code around before all that much longer.

The joy of RowNumber #announcement fstdt.com blog

Poking at the database and having a bit of fun if I'm honest. Over the years I've refined the paging code pretty well, but it still involved more work than it absolutely needed too. To make a page it had to go in, figure out how many Comments there were, what order they belonged in, which page of them we wanted and then pull the data out for the page. Still, plenty fast enough and anything more in depth would require a considerable bit of house cleaning to keep it up, because I'd have to make a note of which page the quote belonged on and keep that notation updated or we'd wind up with odd numbers of comments on pages and bad quote counts.

I figured I'd test and make sure it's worth doing, turns out having the page numbers pre-generated is about five times faster. Even when I'm actually saying I want Quote X's Comments 1-20 rather than specifying a page. So by taking the time to rebuild the site so that it generates and updates these numbers not only should it run faster, I should be able to let people select how many comments they pull per page with relatively little system impact. Within reason.

Now I just need to decide if it's worth blowing an extra half a gig of space to have the absurdly fast index on the table that contains all the relevant data for quote comment pages, or if I do the one that is just really fast and is about 3 megs. But the little one would stand up to user comment modifications better and the index generates in about 5 seconds rather than the two minutes it takes to generate the larger one. Either way, they're both faster and easier to understand than what's running now. They just take more work ahead of time.

Specific details for this, on the current site I'm using RowNumber to generate the row numbers that are used to create pages now. What I intened on doing instead is actually tracking the row number as part of the comment, and for history's sake I'll be using RowNumber(Partion By QuoteID OrderBy ID) which generates exactly what I need, a number of 1-total comment count on a per quote basis and storing those details while all new ones would be generated along with the comment after release. Then when it comes to actually pulling the page all I need to do is say which Quote and what range of Row Numbers I want for a page, which with the right index means it works fast as hell. If anyone's interested I'll go into more detail on the indexes later.

Inaugural thing of unknown time periods #announcement fstdt.com blog

And the first "Comment of the Ambiguous Time Period".

Dionysus has been having some fun with one of today's quotes from Today Christian here:
http://fstdt.net/QuoteComment.aspx?QID=102144&Page=1#1687158

I've been snickering at his first answer for a while now. Good read for anyone who needs a laugh out of this place. Plenty of other good ones in there too, but nothing else has stuck with me quite so long.

Looking at Old Archives and Issues #announcement fstdt.com blog

For those that don't know, the earlier revisions of FSTDT had a few issues. Not little ones either, effectively one person had gone through and set everything to do with quote approvals and the top 100 and it wasn't the Administrator or the Programmer of the time. This is why public admin is as locked down as it is now, and why it will accuse folks of cheating from time to time, it's also why we have such massive quote archives back in 2008. I've been able to re-work the ranking system and undo the attempts at manipulation of the top 100, but going over just shy of 10,000 quotes to see what does and doesn't suck(and really the rest of the archives) is a rather daunting task.

So I've been working on a solution, one that could more or less integrate into public admin and let us police the quality of quotes actively from this point forward. Simply put, it would be a 'Flag this quote for review' system. I'd take volunteers and set them up with the ability to set quotes up for review and create Issues to detail just what is wrong with the quote. If it would need whole scale deletion or some corrections. Once marked it would enter a separate public admin queue where all flagged quotes are brought to the attention of the volunteers for voting and commentary. Since they would all have noted problems I'd handle final changes myself.

But that's not the part that I've been kicking around lately, right now I'm thinking of changing out the Issues we have(a text box entry that's displayed in public admin) and replacing it with a more detailed change recommendation/tracking system in which the person entering the Issue would be able to make specific alterations to parts of the quotes, and those alterations would be what people vote and comment on rather than the general idea the quote would be reviewed. If someone finds a bad URL, or a wrong attribution, they submit a corrected version for people to review along with any comments. As it cycles through public admin people select which changes they approve of and the approval vote counts as an endorsement of the changes. Which would save me the work of parsing through hundreds if not thousands of comments over time to identify the needed changes. It'd also be more complicated than anything else I'm working on at the moment, but staring at those archive numbers I think it'd be worth it.

As a note on system development, actually being familiar with databases... LINQ isn't worth the ones and zeros it's printed on for DB access. Be nice to leverage that knowledge against in memory objects, but for all the resume polish in the world it's not worth dealing with on the back end of this place. I'm going to be bringing down a local copy of the site to let me re-engineer the database for the new version and will probably make a number of random comments that make little sense to those not familiar. If anyone is interested I can detail a bit of what I'm doing, some is damn useful if you're catapulted into taking care of a database.

Spam! #announcement youtube.com blog

Oi hoy,

Working my way through more quotes now and I've nailed the blatant spam. That said we get a shitload of comments a day, if you guys catch something report it here for me. Odds are I'll be cleaning it up regularly for a bit until the spammer realizes I'm back. I'll include old spam in this too, can't hurt to clean up the site a bit, just give me a day or two to deal with it.

And a did you know, only 28.58% of the use of the word penis since June first has been contained within spam, when we have a penis enlargement pill spammer. Just saying guys.

Edgar Allan #announcement fstdt.com blog

Think I have a fair grasp on my audience now, I'll keep the tech heavy bits out unless they're particularly interesting from here on out. But right now I have a bit of a time and at least one thought worth discussing.

Poe as a tag. Up to this point I'd only spelled out what I'll call the core tags, the ones that are required for a quote to be approved, but I want to expand them so that they indicate content to some extent, but a Poe tag is a tad different. There are a fair number of quotes that get approved which people either refuse to believe are real or wind up being able to prove really where faked, but typically they're pretty damn funny to get approved anyway.

So, adding it as a tag rather than removing the quote. It would let us indicate that "Yeah, it's probably fake" without completely losing the amusement of what was said. Of course, there's also the problem of keeping people from labeling every quote a Poe, what with the law and all. But that's a problem for something I'll detail later.

Actual Developments #announcement fstdt.com blog

Alright, I've largely settled into the backend needs and high level design for most of the site so it's time to do a check on another suggestion. Making the site open source, I'm not opposed to this, but as with the community articles I would want at least some commitment before I post the code somewhere. Heartbleed and other recent issues should highlight some of the issues with open source, but frankly there's about three places that need security on the site and I'd take all the help I can get with anti-spam and other measures. So, if I get some hands up from people who are already familiar with the tech I'll do the extra setup involved, otherwise I'll get cracking in about two weeks.

Backend Tech I'm talking about, C#, MSSQL, most likely featuring entity framework, MVC and Linq. Honestly the last three are resume padding and not that difficult to get your mind around, so the using C# for web development and MSSQL would be helpful backend. Frontend is most likely going to be jQuery with some more recent CSS and HTML. Very much open to UI design suggestions even if you don't know your ass from your elbow in terms of website design, but I have a core of ideas to work.

The other big decision I'll need to make prior to putting the new site anywhere live is the host. I have a contender but I'm still wide open to suggestion. I'd need .Net hosting for asp.net 4.5 and MVC, a few gigs of available database space and a significant amount of bandwidth. Let me know if anyone has good or bad experiences with a given host.

As a note, I'm going to be a tad busy the next two weeks so I likely won't have time to do another post till after the 4th. But when I do it'll involve something to do with actual development of the site.

Little things #announcement fstdt.com blog

Been rather busy, but have two thoughts to bounce off folks.

I'd mentioned a header with access to the existing pages and few other bits of functionality. Well, the one big bit in my mind would be keeping current archive prominent on all pages, as well as allowing people to change archive at any given time and remain on the same page. All seems reasonably useful. Well, the recent fix to the Random page brought up at least one point where people like to see quotes mixed together, so I'm very seriously considering an 'all archives' selection. Perhaps even making it the default instead of fundies. Thoughts on what the default should be?

Public admin and the handling of new quotes has been another issue that's come up and it occurred to me there's a pretty simple answer I could build into the new system since it allows for voting on 100% of quotes. As soon as any quote hits the approval threshold it's shunted into one of two categories, either approved or final admin. Final admin only applying to records which have noted issues on them and everything else appears on the main page immediately after the last vote to approve. With enough people in the admin queue it'd drastically reduce wait times and the work I have to do to keep the site running. If anyone sees a hole in it let me know before I get my hopes up. Only big difference I can think of is that quotes would appear throughout the day rather than a whole bunch once a day.

Lastly, I've seen some off hand complaints about the submission page, but nothing specific. It's my next thing to poke at design wise, so I'd love to have some detailed feed back on what people do or don't like about the current submission system.

Submission Details #announcement fstdt.com blog

Submissions for Community Articles is now open. To submit an article please do the following.

Send the following to Submit@fstdt.net
* A short intro about yourself and why you are part of the community.
* If you have any links that you want included please make note of them, I have little issue with cross posted material.
* If you wish to have the article linked to your account be sure to note that, I can get that setup.
* If you wish to remain anonymous as of the publishing note that and I will withhold all details, but I'm not doing completely anon submission. I want at least a name(real or used on the site) so I can have a private record.
* If you want editorial review indicate such and I'll see what I can do.
* Then the article as text within the email. I'm not doing attachments, it's all becoming HTML anyway.

Currently I have zero limits on topics, but do ask it be some how related to the site, it's topics or be particularly interesting.

I'll reply with any editorializing I would do on an article in my return message confirming the submission will be published and will wait on approval of my own comments before publishing.

Currently I'm the one and only person involved in reviewing articles, I will check with the author before sending the article to anyone else for review. Should an article be rejected the reasons will be noted in the response. If there is a significant number of submissions I'll make a note of it in the community channel and it may wind up in a holding pattern for a while.

Once an article is approved for publishing and I've confirmed the authors approval of my own comments I'll feed the article into a queue. Depending on how many submissions I get will influence how often it's posted, but right now my goal is one per week, most likely on Monday or Friday.

This post will be modified to be up to date with any changes in policy or requirements and can always be found as the first post in the community channel.

Blatant Shilling #announcement fstdt.com blog

Greetings commie mutant traitors!

Or at least I'm reasonably sure we've been called all of those at one point or another. There's a charity bundle going for the RPG Paranoia which is about as close as you can come to actually living in CSTDT.

You live in alpha complex where friend computer has selected you and a number of others to be granted red security clearance to help root out the mutant commie traitors. Friend computer does not tolerate failure in it's directives, nor does it tolerate the presence of subversives. Which is a slight problem as each one of you happens to fit every last one of those categories, will be given orders that are above your security clearance to read, but will result in your death if you fail them. Lie, cheat, back stab and straight up murder your way to being the lone survivor to ensure the correct story gets told in scenarios of equally absurd premise and difficulty.

Having read through the main book of a friends some time ago I'll be getting this. Any system that has rules that get you shot for mentioning the rules is perfect to me. Even better, 10% goes to a good cause(beyond getting yourself cheap RPG books). Half goes to Electronic Frontier Foundation and half goes to Human Rights Watch. If this doesn't strike your fancy you might want to keep up with Bundle of Holding anyway, they've had a lot of great packages in the past that at the very least make for very interesting reading material, and 10% of all sales go to charities selected by the publishers.

Modernizing #announcement fstdt.com blog

The major aspect lacking from the last Development post was the complete lack of interface styling, and I want to make sure my opinions aren't off base.

I'm not particularly fond of some modern interface design, I think the strengths of what the site has lie largely in the simplicity of the layout and the fact it'll use the majority of the screen space it's allotted. After buzzing over a fair number of interfaces I'm seeing a lot of overly complicated designs that result in significant waste of screen space once you're past the menu and/or ads. Another bit I don't see the point in is the endless scroll interfaces, I get that people don't always want to click pages, but we have some massive archives and I'd much rather keep my place in them as I read through. So unless someone tells me otherwise I'm going to say the general layout is more or less acceptable and what the site needs is a general application of style and perhaps some tie-in functionality.

That tie-in functionality is where I'm most interested in looking right now. Things like a proper Archive and User header added to the site, along with a nicer styling of the existing menu. Still up top, out of the way, and not wasting massive amounts of screen space, but actually telling people what part of the site they're on and who they're logged in as. Another rather common bit of functionality I've seen and debated is the "repost this elsewhere" link set many blog/quote sites have, hit a button and repost/link to the material on any of a number of services. If people think they'd find it useful it's something I'd work in.

But, I do have one massive exception to my 'same layout' theory. Making comments, some way or another I will be finding a way to disassociate this completely from the page refresh. Right now I'm thinking a nice little pop up panel from a reply option that's processed asynchronously. What's that mean in normal people speak? You can hit refresh without double posting. One of my key goals, and frankly not that hard so long as I don't use any of what currently exists.

What would people like to see added to the site in such a capacity? Am I wrong on hating endless scroll? Let me know what you think. Also, yes I am skipping out on writing up submission guide lines, I'll do that this weekend.

The Fluffy Post #announcement fstdt.com blog

I have a bit of a different post today. One of the things I've wanted to try and do is to give at least some kind of voice to the community beyond snarky comments. I know there's a great deal of experience out there on this site and I'd like at least some of it to actually get heard. As such I'm proposing a Community channel within this blog. Community members could submit articles and so long as it passes basic scrutiny I'd post one or so a week. Opinion pieces, stories, letter to the editor kind of things or anything that contributes to the FSTDT community. I know there's interesting discussions on here and some epic take downs hidden in the comments, we had one just the other day over here where a commenter by the name of Jaye does a point by point take down of one of the odder recent submissions. What I'm offering is the chance to do so in it's own main page spotlight, and not necessarily in response to quotes.

I'd have relatively few requirements on submissions, but I would hold final approval. Given I'm willing to post something by His4Life with relatively few reservations it'd take a fair bit to get rejected out right. However, what I don't want to do is start one, get all of one post and then have it peter out. So I want to know just who if anyone would be interested and if enough people are I'll setup the base rules and a submission process. So make some noise in the comments here if you're interested writing. WTF! the quote if you think you'd be interested in reading.

Mock Up 1 #announcement fstdt.com blog

Alright, have the basic mockup together. Now that I have it I'm not entirely sure why I thought I needed pictures, anyway here goes.

When you enter public admin you would be presented with a listing of quotes as shown below:
image
For every quote currently displayed within your public admin filters you'll have one of those.

Mostly what is shown on any given quote page today in a slightly crapper format, excepting the currently suggested tags and the Admin Panel. Well, the format will definitely be better when I spend more than 20 seconds on it, but the black boxes should give any aspiring designers an idea of my general div layout. More partitions can be added as needed, but that's my basics. The suggested tags do a quick show of any tags that have already been selected for the quote and when complete the admin panel will have one of those nice "I'm expandable push me" arrows in it's left corner.

When you push said not-yet-existent arrow the panel for the current quote will expand and display the following:
image
Giving all the current Admin details for the quote and supplying a method to enter any of information you need to enter.

Issues cover any general observations of a quote, be it corrections that need to be made, or reactions to the quote to explain your vote. In this case we have one person having had a slight overload and noted such. Any text entered into the issue will be saved when the admin changes are submitted, and will be displayed to anyone who examines the quote after that.

Our new big feature, Tags are the next major section. All tags are followed by their current vote count, any tag with a vote count of 1 or higher is selected automatically. If you wish to add a new tag all you need to do is select it, as I have with 'Scary' in honor of the guy in the comments of this quote who seems to think it involves a dead waitress, when the admin changes are submitted it will increase the tag's count from 0 to 1. The remaining tags would increment from 1 to 2. If you disagree with an existing tag, unselecting it will cause you to vote against that tag being included. If a tag is at 0 already, leaving it unchecked won't push it down any farther.

The last section is the quote approval selections, with effectively the same three options we have now along with tracking on how many time each has been given thus far. Approve, Reject(I like it more than Delete) and Abstain. Hitting the Submit Admin Changes button will pass this selection and any other admin panel data to the system through an asynchronous call. What this means is you get a little spinning wheel only on the one quote and can still play with the rest of the quotes you have displayed on the page and the quote will be completely removed from your public admin access. Once the call completes you will receive a notice that your changes have been submitted, and there shouldn't be any conflicts if multiple submissions are made in a short time frame.


What this gives us is the ability to look at all the quotes available, let people ignore certain quotes and continue out of order, not cause anyone to miss quotes if they check into public admin regularly and in the case of duplicates select the best one rather than the first one.

The potential problems would be voting 'irregularities' which I have a real simple plan to get around. Rather than incrementing the vote when a public admin vote is pressed, the entire vote will be recalculated using the most negative vote on record for all voters. Even if someone breaks the system their vote will still only count once.

The undecided mostly consist of the 'Public Admin Filters' I hinted at up above. Right now my plans for those would be having a day by day selection for public admin quotes. You pick a day and you have all of the quotes submitted that day are presented to you. But I'm open to more ideas on that, particularly any that would be useful for identifying duplicated quotes.

New Month, New blog #announcement fstdt.com blog

It's June 1st and the blog's getting a bit of a make over.

It is now publicly accessible, has it's own image and has a new name, Distind Says the Darndest Things. The image is a laughing Father Jack that happened to strike my fancy. If you're reading this and don't know who that is, find a way to watch the linked show. We'll see how the blog being public goes, but so long as the signal to noise ratio stays reasonable it'll stay that way.

If you've been following along already you'll know I owe everyone a mock up of a new public admin interface, but right now I owe myself some freaking sleep that illness has ensured I didn't get. There's an outline together but a visual representation will be better for showing the points I want feedback on.

Mucking about with Tags #announcement fstdt.com blog

I've been kicking around a public admin design I'm going to post at least one mock up of this weekend, and in doing so I think I have a good start. I also realized I have a few core tags I know I want to have.

Funny, Stupid and Scary.

These three tags could go a long way in picking out quotes you'd rather see at the moment and if a quote is submitted and doesn't hit one of these three we know off the bat to dismiss it.

Beyond that I've been going back and forth with the idea of making the archives themselves tag based. Having Fundie, Conspiracy and Racist tags and rather than doing some separate archive plus tag setup, the site would be able to generate an archive for any given tag. Perhaps even combinations of them(this'd be more of a pain in the ass). On the upside this would allow for multi-category posts to be tagged as such clearly, on the down side it would mean they'd show up multiple archives and I'm not sure how well having the same quote in multiple places would go over.

Things to ponder while I try and figure out how I got a cold in May.

Cone of Shame #announcement fstdt.com blog

Having done my serious review of the code, I'm going to bump the full reworking of the site up rather than trying to get a handful more features added into what already exists. The code works, but that's about the extent of it, aside from search which I've completely re-written and some of the core quote retrieval code there's little to salvage in what I have.

But, the bits of good news:
*User accounts won't be removed, I have control over the data and can port accounts to whatever I need to.
*I'm going to do some improvements to general lay out, but I will keep the relatively simple layout because it works on damn near anything. Just some rounding or nicer menus. Maybe even a "Change your archive" selection that's actually visible.
*Friendlier URLS will be a thing, and I'll do my damnedest to continue to support core existing URLs. I don't see any reason I can't keep them as of now.
*The crux of my implementation is going to be tags, particularly in seeing if I can get them to work along with some of the key technology improvements I've been eyeing.

There are a few other smaller bits that I'm looking at working in based on people's suggestions, and I intend to have at least a high level specification for what I'll be producing for public consumption and critique before I start getting into the heavy lifting. But the core of this is, unless it's a bug fix it'll come along with the new version. I'll take reports of bugs and deal with them as they come up, but I've been fighting the urge to make myself a cone of shame as I looked over what I'm working with after four years of professional development, so it's not getting any more work done for it.

Public Admin #announcement fstdt.com blog

[Admin Note 6/1/2014: Public Admin requests are currently closed, will be opened in a new post later.]

Public Admin for those not aware is the process used to approve quotes for the main page.

In theory the system can be self sustaining, members vote their way through the quotes in queue, 15 up votes and it goes live, 5 down and it's dropped from the queue. Right now I have just under 10 active members in public admin and I'm following the queue at about a week delay to allow members time to vote on quotes and note any issues they find to do final approvals since there aren't enough to get an approval through on just member votes.

Which brings me to two points,

Leaving them up for a week ensures that the members get a chance to see them, but leaves topical quotes seven days removed from being news. I'm considering shortening that, but I know we don't get a whole lot of votes on a few days of the week, so the most I might narrow it down to would be two days.

I'm looking for more members interested in joining public admin. Right now if you can see this post you're signed up with an account, if you express interest in the comments I'll do some checking up on your site activity and most likely bump you up to public admin status. I'm not going to demand quotas, but a few minutes a day can go a long way in streamlining the process, particularly if you pick up on issues for me to correct before the quote goes live.

Tags #announcement fstdt.com blog

Number one request right now is tags, which has been for quite some time. Which has the slight problem of directly conflicting with how the archive displays work right now. All of the displays on the site take advantage of ASP.NET databinding, which most simply translates as one row of data is one row on the display. When a page of the archive is called up the site goes and gets a set of quotes as rows in a table, each row is one displayed quote consisting of a number of set fields that always exist.

With tags I don't have a set number of fields. I have however many tags as I need to apply to the quote. Which is rather simple to track in the database, but the current display mechanism simply doesn't support it. There are a number of methods I could use to attempt and integrate into the existing display mechanism but it would violate the only worthwhile principle built into the code to do so and create more problems in doing any further modifications later.

That said, in the last four years I've dealt with this kind of problem a number of times elsewhere and have some reasonably solid solutions that could function, if I completely re-write the core mechanisms of the site. At which point I may as well overhaul the entire thing, keeping the handful of things that really do work well and drag the site into some semblance of modern interface design while I'm at it.

Which is pretty much what I plan to do as I snag a few more books on subjects I'm less familiar with than core applications development. Over the next few weeks I'm going to start working out exactly what I can implement in a reasonable time frame and what I can't and lob out questions on just what people are interested in seeing but for today I'm going to start with the details of what people want to see from tags.

Should tags be relatively simple, relating to any aspect of a quote, or should we have sets of tags relevant to who's being quoted and what the quote is about? Beyond that, just what set of tags would be sufficient to cover the quotes as we have them? I've watched what happens with open tag creation, and the merging and hacking of tags that goes on, so I'd much rather have a defined set of them to select from. But too large a set and they're difficult to use, too small a set and they don't cover much.

What are people's opinions on tag handling? What tags would you want to see?

Wildcards and Equals Signs #announcement fstdt.com blog

Search has been overhauled, and it may or may not be noticeable.

The two big notable changes.
First, search no longer assumes the page will persist on the initial search, which means the page doesn't load the results, it kicks you to a new page that does, and if you back up to that page it will always have the first page of results available. Thanks to Goomy pls for pointing out the issue.
Second, you can now filter by archive if you wish.

The backend has been completely replaced, actually split into two pieces so that the majority of cases can run a simpler request which should run faster than the old system. Bit of an adventure getting everything to work, but everything you enter will go in to further refine your search. That said, adding to this would be dead simple compared to the old setup, if anyone has requests they'd like to see for search let me know.

Getting myself a new desk and playing carpenter today, but I will get some details on tags up by mid week. Specifically why they're a pain in the ass, and where I could use community help.

Oldies #announcement fstdt.com blog

I have a few features I said were coming ages ago which I want to see if anyone still cares about. If you have any particular interest in the following vote the post up and if it's a single item on the list mention it in the comments:

* Quote Submission Tracking
** See what your Quote status is
** Possibly get notifications through email of approval
* Submitted quote management
** Manage submitter display
** Claim quote submitted under your email
* Marking Favorites
** Creating your own personal archive

None of these would tie up Tag implementation any longer than it's already going to be. Which I'll start running through the details of next week once I finish off the reworking of the search function this weekend.

Intro #announcement fstdt.com blog

Welcome observant members and URL hackers, Distind here. This is the FSTDT dev blog entitled Distind is a Lazy Bastard.

I've been tooling around the site's code again and finally implemented a few of the things the site's needed for the last four years. We now have an Account Recovery system linked off the login page and if there aren't any quotes for the archive you're viewing the page will actually tell you that. (Edit: I found the damn edit bug! delayed release a day but I fixed the stinking thing) Also did some tidying around the archive mechanics while I was setting up DIALB. I have a few more items on my to do list before particularly long and I actually have time to get them done.

That brings me to the reason for this bloggy thingy. I'm a lazy bastard. It's right in the name. If left to my own devices I wind up doing work that doesn't even merit a note on the update page, I want to stop doing that. I want to know what people would want to see out of FSTDT. So from time to time I'm going to post thoughts, updates or what have you in here and see reactions. Further, if anyone has something they damn well want to see, say something. Pretty much anything short of more Archives is fair game, including major reworks of the FSTDT interface.

I may bring up a few other uses for DIALB should I get a particularly amusing legal threat, or find any interesting and unloved quotes in the archives, but right now it's all about making the site better.

For now this bloggy bit will act like any other archive, so if you want to head back to the other quotes hit the main page and select your archive, but any feed back is better than the odd legal threat I get over the admin mail now.

2008 fundies #fundie #announcement fstdt.com blog

The 2008 Fundies voting

1) Fundie of the Year for 2008
A) David J. Stewart
B) ><>Karatemum<><
C) Garvan Ellison
D) HeartBrokenBrad
E) Raani Starnes
F) Jayden's Mommy

2) Life Time Achivement award for 2008, Fundie followed by achivement title
A) Troy "Ultimate(over 9000) Spam Troll"
B) SuperSport "Excellence in pursuit of ignorance"
C) BigChrisFilm "I Ain't Breaking No Rules"

3) Fundiest Board for 2008
A) Rapture Ready
B) Gaia Online

Voting's all over folks, but I'll open up the comments

Distind

And the results are in!
Fundie of the Year for 2008: David J Stewart
Life Time Achivement award for 2008: SuperSport "Excellence in pursuit of ignorance"
Fundiest Board for 2008: RaptureReady

Next page