<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Twit Cleaner &#187; Administration</title>
	<atom:link href="http://thetwitcleaner.com/blog/category/admin/feed" rel="self" type="application/rss+xml" />
	<link>http://thetwitcleaner.com/blog</link>
	<description>Clean the garbage from your Tweetstream!</description>
	<lastBuildDate>Tue, 01 May 2012 10:39:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>I&#8217;ve Been Paddling Furiously, Like A Duck</title>
		<link>http://thetwitcleaner.com/blog/ive-been-paddling-furiously-like-a-duck</link>
		<comments>http://thetwitcleaner.com/blog/ive-been-paddling-furiously-like-a-duck#comments</comments>
		<pubDate>Tue, 07 Dec 2010 10:55:49 +0000</pubDate>
		<dc:creator>Si</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Improvements]]></category>

		<guid isPermaLink="false">http://thetwitcleaner.com/blog/?p=230</guid>
		<description><![CDATA[It&#8217;s been a heck of a long time since there&#8217;s been much external perception of progress around here. Today, that all changes. Well, almost. See, when I first started Twit Cleaner, I wanted to get something useful out there as soon as possible. A Minimum Viable Product, it&#8217;s called. That worked well enough, but when [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a heck of a long time since there&#8217;s been much external perception of progress around here.</p>
<p>Today, that all changes. Well, almost.</p>
<p>See, when I first started Twit Cleaner, I wanted to get something useful out there as soon as possible. A <a href="http://en.wikipedia.org/wiki/Minimum_viable_product" target="_blank">Minimum Viable Product</a>, it&#8217;s called. That worked well enough, but when I started looking at moving to a <a href="http://thetwitcleaner.com/blog/no-more-mass-unfollowing" target="_blank">one-click-one-unfollow model</a>, I realised that the current infrastructure &#8211; the way I&#8217;d designed things &#8211; simply wasn&#8217;t going to work. It was possible to do new things, but it would have been horrible, painful &amp; slow.</p>
<p>I made some (with hindsight, of course) silly technical choices, &amp; they came back to bite me on the ass.</p>
<p>So, for the past 7 months I&#8217;ve been going through redesigning the entire of Twit Cleaner, more or less from the ground up. The first of that giant chunk of work rolled out yesterday. Believe it or not, but the previous version had almost everything just shoved into a giant directory tree*. So yes, that&#8217;s a folder with many, many million files in it. It worked ok for the one task it was designed for, but it seriously hampered the ease &amp; speed with which I could develop any neat new tools. There were a bunch of other bad technical decisions, but that was the key one.</p>
<p>Now, everything is in a big shiny database. Which has its own issues, of course (everything does) but I&#8217;ll iron those out over the next couple of days. Once that&#8217;s over, &amp; the database is fully loaded up (it&#8217;s happening as we speak, and looks like it might take a few days to complete so expect the site to be a little shaky until that&#8217;s finished, please be patient), it will smooth the way to quickly &amp; easily roll out a bunch of new tools to help you manage &amp; explore your Twitter life. Oh yes, I have many, many great ideas I&#8217;ve been working on.</p>
<p>On the outside, things may have been serene, unbroken, just meandering along like a duck floating on a pond.. but underneath I&#8217;ve been, just like a duck, paddling furiously seven days a week all hours of the day &amp; night to get things working just the way they should be &#8211; and to get you guys the help you deserve.</p>
<p>Unfortunately, like a duck, there&#8217;s not much to look at just yet. Oh, except reports will be much, much faster.<br/><br/></p>
<p style="padding-left: 30px;font-size:10px;">*If you&#8217;re really curious, the very first version of Twit Cleaner used to run on my desktop machine at home in Melbourne, then copy things furiously back &amp; forth to the web server, which at that time was in London. Now THAT was nutty.</p>
]]></content:encoded>
			<wfw:commentRss>http://thetwitcleaner.com/blog/ive-been-paddling-furiously-like-a-duck/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Mass Unfollowing Stopped</title>
		<link>http://thetwitcleaner.com/blog/mass-unfollowing-stopped</link>
		<comments>http://thetwitcleaner.com/blog/mass-unfollowing-stopped#comments</comments>
		<pubDate>Thu, 20 May 2010 06:28:04 +0000</pubDate>
		<dc:creator>Si</dc:creator>
				<category><![CDATA[Administration]]></category>

		<guid isPermaLink="false">http://thetwitcleaner.com/blog/?p=223</guid>
		<description><![CDATA[As discussed earlier, we have now stopped all forms of automated unfollowing, as per Twitter&#8217;s request. We&#8217;re currently working on a streamlined manual version (which will allow you to unfollow a single account at a time). This is our number 1 priority. We&#8217;ll be in touch very soon.]]></description>
			<content:encoded><![CDATA[<p>As <a href="http://thetwitcleaner.com/blog/no-more-mass-unfollowing">discussed earlier</a>, we have now stopped all forms of automated unfollowing, as per Twitter&#8217;s request.</p>
<p>We&#8217;re currently working on a streamlined manual version (which will allow you to unfollow a single account at a time). This is our number 1 priority. We&#8217;ll be in touch very soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://thetwitcleaner.com/blog/mass-unfollowing-stopped/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>No More Mass Unfollowing</title>
		<link>http://thetwitcleaner.com/blog/no-more-mass-unfollowing</link>
		<comments>http://thetwitcleaner.com/blog/no-more-mass-unfollowing#comments</comments>
		<pubDate>Sat, 15 May 2010 23:26:53 +0000</pubDate>
		<dc:creator>Si</dc:creator>
				<category><![CDATA[Administration]]></category>

		<guid isPermaLink="false">http://thetwitcleaner.com/blog/?p=203</guid>
		<description><![CDATA[We have been asked by Twitter to stop mass unfollowing. So, of course, we will. The official cut off date is May 21st, but we will be stopping over the next couple of days (ie, well before cut off). Our intent has always been to do the right thing by Twitter &#38; we will continue [...]]]></description>
			<content:encoded><![CDATA[<p>We have been asked by Twitter to stop mass unfollowing. So, of course, we will.</p>
<p>The official cut off date is May 21st, but we will be stopping over the next couple of days (ie, well before cut off). Our intent has always been to do the right thing by Twitter &amp; we will continue to operate within their guidelines to the extent of our ability.</p>
<p>We will attempt to complete all existing unfollowing obligations before that date, although those accounts wanting 50k+ unfollowed we may just have to do as many as we can. Obviously we need to stay on the right side of Twitter, or risk having our API access removed altogether.</p>
<p>After that, we will still offer reports, &amp; you&#8217;ll still be able to unfollow dodgy accounts &#8211; just one at a time. We&#8217;ve had extensive discussions with Twitter &amp; they have told us that unfollowing one at a time <strong>is</strong> ok with them.</p>
<p>At this point I can&#8217;t say how much of an overlap there will be between old style (mass) &amp; new style (one at a time) reports, so we may shift into a read only period for a while (reports but no unfollowing).</p>
<p>The key point right now is this: <strong>If you want to get a mass clean of your account done, I suggest doing it very soon, as we will be stopping this any day now.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://thetwitcleaner.com/blog/no-more-mass-unfollowing/feed</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Slowing down to the speed of Twitter</title>
		<link>http://thetwitcleaner.com/blog/slowing-down-to-the-speed-of-twitter</link>
		<comments>http://thetwitcleaner.com/blog/slowing-down-to-the-speed-of-twitter#comments</comments>
		<pubDate>Tue, 09 Feb 2010 23:48:56 +0000</pubDate>
		<dc:creator>Si</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Improvements]]></category>

		<guid isPermaLink="false">http://thetwitcleaner.com/blog/?p=142</guid>
		<description><![CDATA[I&#8217;ve been keeping an eye on current best practices on Twitter (of course), &#38; it appears Twitter is cracking down on bulk unfollow. This was an informative article, &#38; an eye opening tweet. Specifically, they want to avoid churning &#8211; that is, following a ton of people, then unfollowing those that don&#8217;t follow back, repeat [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been keeping an eye on current best practices on Twitter (of course), &amp; it appears Twitter is cracking down on bulk unfollow. This was <a href="http://www.socialoomphblog.com/bulk-unfollow/">an informative article</a>, &amp; an <a href="http://twitter.com/karma_news/status/7802155055">eye opening tweet</a>.</p>
<p>Specifically, they want to avoid churning &#8211; that is, following a ton of people, then unfollowing those that don&#8217;t follow back, repeat ad nauseum. I suspect part of their motivation is to limit spammy behaviour, &amp; part is that it&#8217;s a massive drain on their servers (getting hit with thousands of API requests in a short period of time).</p>
<p>I realise that with The Twit Cleaner, we skirting a fine line. However, my priority is to keep your accounts safe, operate within the guidelines of Twitter, while improving the quality of experience for everyone.</p>
<p>In short: I want to improve the Twitter experience as much as I possibly can &#8211; but without pissing Twitter off (or causing them any hassle) in the process. I&#8217;ve been very careful to try &amp; ensure that the service is the least possible use to those I&#8217;m trying to rid Twitter of &#8211; those engaging in churn or other spammy practices. Ie, there&#8217;s a lot of things I could have put in, but I deliberately haven&#8217;t because of any possibility of abuse.</p>
<p>Of course if Twitter says jump, the only appropriate response is &#8220;how high&#8221;, but I believe we&#8217;re safe because:</p>
<ol>
<li>You only ever have the option to unfollow people that are bad Twitter citizens in the first place &#8211; typically a very small percentage of anyone&#8217;s account</li>
<li>We do the unfollowing very, very slowly (only one every few seconds) to limit drain on Twitter&#8217;s servers</li>
<li>We never unfollow more than a small percent of your account per day, no matter how many you request.</li>
</ol>
<p>To this end, I have slowed the unfollow down even further than before. It will now not unfollow more than <span style="text-decoration: line-through;">20% 10%</span> 5% (or 500, whichever is smaller) of your friend count per day, as well as spacing each unfollow out much, much more slowly.</p>
<p>Ergo, if you want to use The Twit Cleaner to empty your account, you&#8217;re better off going somewhere else (it&#8217;s not something I&#8217;d recommend anyway). If you want to use it to trim out spammers &amp; time wasters of course, we&#8217;re the guys for you.</p>
<p>It&#8217;ll still happen, just very, VERY slowly. Don&#8217;t hold your breath :)</p>
]]></content:encoded>
			<wfw:commentRss>http://thetwitcleaner.com/blog/slowing-down-to-the-speed-of-twitter/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Simplifying Pricing</title>
		<link>http://thetwitcleaner.com/blog/simplifying-pricing</link>
		<comments>http://thetwitcleaner.com/blog/simplifying-pricing#comments</comments>
		<pubDate>Sun, 29 Nov 2009 23:54:46 +0000</pubDate>
		<dc:creator>Si</dc:creator>
				<category><![CDATA[Administration]]></category>

		<guid isPermaLink="false">http://thetwitcleaner.com/blog/?p=97</guid>
		<description><![CDATA[I&#8217;ve always been a huge fan of Apple products. Why? Because of their simplicity. It takes a lot of work to get something that clean yet still intuitive. I&#8217;ve always believed that the reason we have computers is to make things simpler for us. We shouldn&#8217;t be burning our own cycles if we can get [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve always been a huge fan of Apple products. Why? Because of their simplicity.</p>
<p>It takes a <strong>lot</strong> of work to get something that clean yet still intuitive.</p>
<p>I&#8217;ve always believed that the reason we have computers is to make things simpler for us. We shouldn&#8217;t be burning our own cycles if we can get the machine to do it for us.</p>
<p>Now, I&#8217;m the first to admit that The Twit Cleaner is nowhere near that level of elegance yet, but it&#8217;s an iterative process, &amp; a high goal. I&#8217;ll keep pushing towards that.</p>
<p>In the meantime, I&#8217;ve simplified the pricing.</p>
<p>Now, things are like this: All reports are free, as always. If you follow fewer than 2000 people, we&#8217;ll auto-unfollow whoever you want for free. If you follow more than 2000 people, it&#8217;s five bucks.</p>
<p>Yep, Five US Dollars ($5) to clean your list.</p>
<p>It&#8217;s hard to get cleaner &amp; simpler than that.</p>
<p>[<strong>Edit</strong>: Ok, that pricing has been in place for a week or so, &amp; some interesting things have happened. For example, I had two users in the space of half an hour, each with 60k+ lists. Given that creating a report for a list of that size involves downloading many gigabytes of data &amp; 6-12 hours of processing, I started to think "Is it really worth doing all that work, for five measly bucks?" This is even more the case when not everybody that requests a report pays, of course.</p>
<p>Even a list that is 20,000 people basically takes ten times as long as a 2,000 list - due to getting the lists from Twitter, downloading the data, &amp; running the analysis. There are no real economies of scale.</p>
<p>So, I've adjusted the pricing (again). I still like the $5 mark, &amp; for most people, that'll still be it. For the whales though? Above 25k users is $10, &amp; above 50k is $20. It's still not a hell of a lot, but I feel it's a better reflection of the costs &amp; effort involved.</p>
<p>We'll see how long this pricing sticks for. Everything is a work in progress, &amp; over time I'm sure things will settle down.]</p>
]]></content:encoded>
			<wfw:commentRss>http://thetwitcleaner.com/blog/simplifying-pricing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The hack, the cleanup</title>
		<link>http://thetwitcleaner.com/blog/the-hack-the-cleanup</link>
		<comments>http://thetwitcleaner.com/blog/the-hack-the-cleanup#comments</comments>
		<pubDate>Thu, 12 Nov 2009 10:35:32 +0000</pubDate>
		<dc:creator>Si</dc:creator>
				<category><![CDATA[Administration]]></category>

		<guid isPermaLink="false">http://comicbookguy/blog/?p=71</guid>
		<description><![CDATA[So, this site was hacked. What happened Previously, you could enter the url for anyone else&#8217;s report, &#038; see it. These URLs weren&#8217;t public anywhere, &#038; the backend was deliberately setup so you couldn&#8217;t just scan a directory &#038; find them. I was aware of this, but figured the chance of randomly guessing another user&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>So, this site was hacked.</p>
<p><strong>What happened</strong><br />
Previously, you could enter the url for anyone else&#8217;s report, &#038; see it. These URLs weren&#8217;t public anywhere, &#038; the backend was deliberately setup so you couldn&#8217;t just scan a directory &#038; find them. I was aware of this, but figured the chance of randomly guessing another user&#8217;s name was low enough that it didn&#8217;t require immediate fixing. I was wrong.</p>
<p>What the hacker did was search for anyone who publicly mentioned The Twit Cleaner. That then gave him (because yes, I know exactly who did it) their usernames, &#038; he could then see their report.</p>
<p>So, once he was viewing their report, he entered a rude message into the &#8220;Tweet my followers&#8221; box, &#038; hit send.</p>
<p>That was the extent of it. Not very clever, mostly just annoying. At no point did he have access to any of our databases, your OAuth info, or any level of control over your account.</p>
<p>This affected around 1.6% of our customers, &#038; the entire thing was over in 18 minutes (before I could figure out what was going on &#038; shut down the right bits). I started by going to Twitter &#038; killing our OAuth access, since I figured that was the most dangerous possibility &#8211; turned out it was much more trivial than that.</p>
<hr />
<strong>What damage was done</strong><br />
The worst affected were two close friends of the attacker (you know who you are). They got some very offensive messages posted on their accounts. Everyone else had a fairly innocuous message sent linking to another website (an innocent third party).</p>
<hr />
<strong>Why was this even possible</strong><br />
Ironically, the day the attack happened it was on my schedule to shut down that loophole altogether. Instead I spent a week cleaning up. There were two things I was going to do. One was to remove the option to manually enter a message on the report (because who wants to do that anyway?), two was to put security back in so you could only access your own reports.</p>
<p>Yep, that&#8217;s right, put the security <strong>back</strong> in. I&#8217;d had security in there a couple of weeks earlier addressing this very issue. However, in the first 6 hours it was in place, it managed to piss off 44 people, so I ripped it out again. I figured it was more important that people be able to easily see their reports, rather than just annoy people like crazy. I needed to think of a better way to implement the security, so I put it on the back burner while I worked on other things.</p>
<p>Obviously I made the wrong call.</p>
<hr />
<strong>What&#8217;s been done to stop this kind of thing happening again?</strong><br />
First, if you revoke access to The Twit Cleaner, you won&#8217;t be able to see your report. Yep, that&#8217;s kind of a pain for you &#8211; but it means that we know exactly who is looking at any given report. It means we can ensure that people only look at their own report. It also means that if any older accounts (eg, ones that used The Twit Cleaner ages back, but have revoked access) get their accounts hacked, they won&#8217;t have access to the system at all. You&#8217;d be amazed how many Twitter accounts are no longer active &#038; thus easy targets for hackers. A LOT.</p>
<p>Second. We store information locally tracking that you are who you say you are. Just something to make it harder for people to try and get around the system, &#038; no, nothing personal or incriminating, just a marker.</p>
<p>Third. You must be signed into the specific user of the report you want to look at.</p>
<p>Fourth. Without cookies &#038; javascript you won&#8217;t be able to access the system at all.</p>
<hr />
<strong>Finally</strong><br />
The trick with all these kinds of things is to make it so it&#8217;s not a massive pain in the ass to use.</p>
<p>I think I&#8217;ve achieved that. A common issue is that Twitter (or part of it) goes down, or is inaccessible. As much as possible, I&#8217;ve made it so you&#8217;ll still be able to securely see your report (or request one).</p>
<p>I&#8217;ve also tried to make as much of it invisible to you as possible. There&#8217;s a lot happening automatically in the background. If you clear cookies, or move to a new browser, you will need to re-authenticate with Twitter, but I&#8217;ve made this much simpler &#038; cleaner than before. A new window pops up, you can watch it do its thing, then it goes away again. In most cases, you&#8217;ll click two buttons &#038; be done. Very simple.</p>
<p>If (when?) Twitter dies, you&#8217;ll get a little message so you can just hit the button &#038; try again.</p>
<p>Obviously this happening at all is. Ahh. Hmm. Significantly sub-optimal. I was hoping for a little more time before I needed to get super hardcore about security. Security is a multi-layered, complex thing. Big chunks had already been taken care of, but obviously not enough.</p>
<p>As I stated at the time, I&#8217;m extremely sorry to everyone that was hit by this hacker. All affected paying customers had their money refunded.</p>
<p>I also apologise for the time we&#8217;ve been offline &#8211; both to existing users wanting to see their reports, &#038; new potential users.</p>
]]></content:encoded>
			<wfw:commentRss>http://thetwitcleaner.com/blog/the-hack-the-cleanup/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcome to the new site!</title>
		<link>http://thetwitcleaner.com/blog/welcome</link>
		<comments>http://thetwitcleaner.com/blog/welcome#comments</comments>
		<pubDate>Wed, 04 Nov 2009 02:22:23 +0000</pubDate>
		<dc:creator>Si</dc:creator>
				<category><![CDATA[Administration]]></category>

		<guid isPermaLink="false">http://comicbookguy/blog/?p=1</guid>
		<description><![CDATA[Just a brief hello. I&#8217;ve inserted a blog section, so as things upgrade &#038; improve I can provide a little more more information than 140 characters allows &#8211; as much as I love Twitter. It&#8217;s also a move to allow better feedback for &#038; integration with you guys. The comment system is run by Disqus, [...]]]></description>
			<content:encoded><![CDATA[<p>Just a brief hello.</p>
<p>I&#8217;ve inserted a blog section, so as things upgrade &#038; improve I can provide a little more more information than 140 characters allows &#8211; as much as I love Twitter.</p>
<p>It&#8217;s also a move to allow better feedback for &#038; integration with you guys.</p>
<p>The comment system is run by Disqus, who are basically the best &#038; largest comment system out there. You sign up with them once, register a picture etc, &#038; can then comment without needing a sign-in on thousands of blogs across the web. A bit different if you&#8217;ve never seen it before, but thoroughly awesome.</p>
<p>I&#8217;ve also upgraded the hell out of the communication with Twitter. Twitter can be pretty unreliable, so I&#8217;ve done all I can to mitigate that &#8211; and make it a lot more visually obvious what&#8217;s going on.</p>
<p>Oh, and once you&#8217;ve requested a report, you can come back here any time &#038; it&#8217;ll be accessible from the front page. It&#8217;ll tell you who you&#8217;re signed in as (if you have multiple accounts), &#038; there is a direct link both to your report, or if you&#8217;d like to rerun the report, one click &#038; it&#8217;ll be done.</p>
<p>Anyway, have a play. I look forward to getting your feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://thetwitcleaner.com/blog/welcome/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

