Forgot your password?
typodupeerror
The Courts

Journal: Banned! Oh, the humanity! (Robotity?) 1

Journal by firstpostrobot

Too much of a good thing, I guess. On Monday morning, the IP address used by the First Post Robot was banned from Slashdot. I made it easy for them... all the First Post activity came from a single IP address, out of curiosity to see what would happen. Here's what happened (typos and bad grammar/capitalization maintained):

Either your network or ip address has been banned from this site

due to script flooding that originated from your network or ip address -- or this IP might have been used to post comments designed to break web browser rendering. If you feel that this is unwarranted, feel free to include your IP address ([listed here]) in the subject of an email, and we will examine why there is a ban. If you fail to include the IP address (again, in the Subject!), then your message will be deleted and ignored. I mean come on, we're good, we're not psychic.

Since you can't read the FAQ because you're banned, here's the relevant portion:

I recommend reading the "relevant portion"... my robots didn't exactly violate the rules, but it would be hard to say that they didn't deserve it.

I sent a letter to banned@slashdot.org, as suggested. Here it is, for your enjoyment:

Subject: [my IP address]
From: First Post
Date: Mon, December 16, 2002 10:16 am
To: banned@slashdot.org

I am the author of a First Post Robot, and my IP address was just banned from the Slashdot server... rightfully so, I guess. I don't think I was "flooding" the system (in fact, I specifically designed it not to do so), but it would be hard to make a logical argument for un-banning the IP just so that the robot can continue beating out the "human" First Posters (goatse links and all).

I'm assuming that the ban was put in place manually, not automatically, since the code didn't hit Slashdot over and over until the "banned" page was displayed... it then went into a loop trying to log in, because I failed to include a "login failed" check. Sorry about that!

Additional information about the robot's exploits --which you may have already viewed -- is in the journal for Slashdot user "FirstPostRobot". Nobody else in the world has any information about the project besides what's in the Journal, though I will be happy to give you guys the source code on request.

I'll accept my punishment stoically, as the well-deserved consequences of my misbehavior. Please be assured that no other machine in my subnet has been used for this purpose, and that [my IP address] is the *only* IP address that needs to be punished.

Thank you for your time, sorry for the inconvenience, good luck, and God bless.

No word from the Slashdot admins. Meanwhile, I'm stuck with using the Anonymizer to access Slashdot using my real login -- the one with Excellent Karma. Oh, well...

Toys

Journal: The Big FirstPost Weekend! 2

Journal by firstpostrobot

Here's an overview of the FirstPost Big Weekend, December 13-15, 2002, when I let the First Post Robot it run unattended all weekend for the first time.

These successes on Friday don't count as fully automated -- I was still present, but not actively participating. One with a good reply, Two, Three.

After the IP address was locked out Friday afternoon, the automated timer took over. Saturday, under fully robotic control, FirstPost was successful early in the morning. Only two more attempts on Saturday, both successful: this one with info on RoboTroll, and this one.

Four successes in four tries on Sunday show that Higher Powers support the First Post Robot: Uno, Dos (with good replies), Tres, and most bueno of the whole weekend, Quattro, in a big (1000+ comment) discussion. This one generated a long reply chain with some of Slashdot's most illustrious trollers taking part.

For those keeping score at home... that's 10 for 10, all First Post!

We can say it for real now:
All Your First Post Are Belong To Us!

The 2000 Beanies

Journal: Now That Is Strange... 3

Journal by firstpostrobot

Update: the story returned a few minutes later. The links below are now fully operational! Too strange!

Here's something very strange. My robot was about to get First Post on a story about DIRECTV dropping broadband service. Here's the URL: click it if you like:

http://slashdot.org/article.pl?sid=02/12/13/2050257

It doesn't work! It looks like the story was deleted just seconds after it hit the front page. Here it is, in its entirety:

News | Posted by michael on Friday December 13, @04:29PM

from the fatality dept.

Phroggy writes "Effective today (Friday the 13th), DIRECTV Broadband is officially out of business. The company will remain partially operational for the next 60 to 90 days, and we will work to transition our roughly 160,000 customers to another provider. Details are still sketchy. So, anybody gonna be hiring in the Portland area in a couple months?" There's a press release about the shutdown.

The "Reply" link generated an unexpected response -- a listing of recent articles that I've never seen on Slashdot. It looked like a search result listing. In fact, you can see for yourself!

I guess I'd better add that code to check for completely unexpected responses to posting. I'm currently looking for the expected success screen or else declare failure. I'll have to look for an expected failure screen and break if something strange appears.

One caveat: I haven't checked the links. It's possible that they are misleading, or even [shudder] goatse'd! Clicker beware...

Anime

Journal: Should it be open-sourced? 5

Journal by firstpostrobot

I'm facing a difficult choice! Do I release the source for the First Post Robot?

Pros:
* I'll learn what I could do better.
* Others will learn from my efforts and improve their legitimate coding skills.

Cons:
* I'll learn how lame my code is.
* Others will learn from my efforts and improve their illegitimate haXor skillz.

What do you think?

I'll let y'all in one one deep secret: the First Post Robot is a Visual Basic application. And I'm not even using the wininet.dll low-level calls: I'm using the drop-in Microsoft Internet Control. Is this lame so far, or what?

Update (12/11/02)
In the comments, MinnKotaMarine asked if it's an actual VB app, or a VBS script. I can't reply to the post (due to bad posting from this IP, wonder who did that?), so here's some info.

It's an actual VB application, mostly because that's what I'm most familiar with. Although reading the VBS scripts of virii like the LoveLetter worm has been very interesting! (Our office got so many copies that we were shut down, and I had nothing better to do than reverse-engineer the cause of our troubles.)

I started out using the MSHTML HTMLDocument object without a WebBrowser control, building on an HTML Parser example I found on the 'net. This worked fine, except that it looked like the only way I could submit a POST (as opposed to a simple GET) was with some C-style API calls that would be difficult to make from Visual Basic.

So I dropped in the WebBrowser control, and somewhat by accident (since I never installed the help files), discovered that I could simply click the button!

If elemChild.getAttribute("type") = "submit" Then
      ' We only want the "Reply" option
      If LCase$(elemChild.getAttribute("value")) = "reply" Then
            ' Push the reply button!
            SetStatus "Pusing the Reply button!", False 'not summary

            elemChild.Click

This may have been possible with the HTMLDocument object as well, but by this point I had discovered that having a WebBrowser control on my form made it a lot easier to figure out what was going on with Slashdot's responses. I finally threw out the HTMLDocument object entirely, though I still use the MSHTML.HTMLBaseElement class to traverse the links and forms collections of the WebBrowser.

It's funny.  Laugh.

Journal: First Post Success Log 9

Journal by firstpostrobot

This journal entry will be used to record successes (and perhaps, notable failures) of the First Post Robot. I can't promise to keep it up to date, of course.

And if you're thinking, "Why is this luser trashing up Slashdot", please refer to Slashdot's thoughts on the subject.

This post was the very first First Post. It was done manually, with robotic assist to alert the author of the First Post opportunity.

This second post got a couple of comments... one said that a robot could never efficiently first post. True... but this post was second among *five* first post attempts. Not bad for a robot!

Finally, a complete success: The first fully-robotic First Post! Lots of comments.

It wasn't long before the robot required a second ID... here's the first successful first post from FirstPostRobot0.

Robot0 didn't get First Post in this discussion, but the flames are cheery and warm.

Another new robot (FirstPostRobot1) hit pay dirt on the first try, and even drew an inquiry: "Where can I download FirstPost?"

The robot must be improving, as the new Robot2 scored on its first try, too (but lost to a good Soviet Russia riff on the next shot).

The robot has now been modified (as of ver 1.1.1) with success/failure detection and an automatic login selector. This system has already scored its first success! This login had different Homepage settings than the rest, and scored on a YRO story that wasn't even on most folks' front page. All robots have now been adjusted for max stories on homepage.

An embarassment: a bug in the code caused the robot to double post -- getting First and Second post in a little-viewed discussion. This led to some tweaking -- I now check the comment count in the "Threshold" box before (and after) posting.

Good open source troll reply to this second post!

Here's another winner. The disadvantage of posting to subcategories is that the posts don't get as many flames. I may change the robot logins to focus on the hottest stories only... no sense wasting my 2-posts-a-day on First Posts that nobody will see!

The big test, though, came on the first fully-automated First Post Weekend. How did it do? Read All About It!

User Journal

Journal: I'm sure it's been done before! 17

Journal by firstpostrobot

I'm sure someone has created a First Post Robot before. But this is my attempt at the fine art of hacking Slashdot. Obviously, I have created a special account just for this purpose, and will gleefully watch its Karma drop to the floor, then dig a hole and burrow even further.

But I will make one promise: I will NEVER post a misleading goatse link. "Troll Tuesday" at Subway? Give me a fsking break! (Note: link contains misleading goatse links, beware!)

Update (11/26/02): The First Post Robot is successful! Sort of. This post was indeed a First Post, but it was entered manually after the Robot alerted its author of the condition. That led to further code and a fully operational robot. Its first attempt to post generated the following message:

Due to excessive bad posting from this IP or Subnet, comment posting has temporarily been disabled. If it's you, consider this a chance to sit in the timeout corner. If it's someone else, this is a chance to hunt them down. If you think this is unfair, please email us...

Obviously, it is me, and it is fair. I will happily sit in the corner. The only frustration is that I can't reply to the excellent replies to this journal entry.

For the curious: my Karma is officially Bad. It will only get worse...

Update (12/04/02): A First Post success log is now in place. Check it out. Note that there are now several FirstPostRobot Slashdot logins, since users with "Terrible" Karma can only post twice a day.

Meanwhile, I've already received a request for "where to download FirstPost"... should I make it available, make it open-source, or keep it to myself so that the skr1pt k1ddi3s don't get hold of it? (Or should that read, "so that the other skr1pt k1ddi3s don't get hold of it"?)

Update (12/10/02): Since the comment period is only two weeks, please continue the discussion of whether to Open-Source FirstPost in this new Journal Entry.

The number of computer scientists in a room is inversely proportional to the number of bugs in their code.

Working...