Wednesday, February 13, 2008

Taking software quality back one bug at a time

I decided to compare and contrast the html text encoding done by google, blogger and craigslist.

The results were as follows from best to worst
google
fairly large gap
blogger
EXTREMELY large gap
craigslist

Google had few errors and translated my text verbatim as well as adding html in a user useful way.

Blogger wasn't too bad.
I was pissed off it choped off the title of this post.
i.e.
"Taking software quality back one bug at a t"
It was supposed to be
"Taking software quality back one bug at a time"
Yes, that's right. I used this blog entry itself to test Bloggers html text encoding.
Also, it chooses to translate text into HTML in an erratic way. If there is space between < and the HTML tag name then it is not translated. If there is space between < and the HTML tag then it is translated into HTML. Seemed like an odd criteria for me.

Blogger also gave me odd warnings.
ERROR

Your HTML cannot be accepted: Tag is not allowed:


then made me click

| box | Stop showing title or body HTML errors for this post
then went through.


It knew how to handle a < by itself (properly handled). In their defence, most bloggers are in fact HTML literate and want to write html for their blog. The same thing can not be said about users of craigslist. For places I wanted users to see HTML I had to have a space between < and the html tag name that followed.

In comparison the people at craigslist looked like retarded 6 year olds taking stupid pills. I mean were the people over there the offspring of a Bavarian whore so full of STD's that her children were destined for mental weakness. Ya. I guess so.
The gist of it is craigslist doesn't even try to encode text into html. A simple HtmlEncode(String) or Server.HTMLEncode(sValue) would have spared them my wrath. But no so they get the full assault.

The following email is a bug report I sent to the fine C-developers over at craigslist. Their automated response follows. When further responses come I will post.


This email was sent to:
press@craigslist.org, abuse@craigslist.org
It details the MANY MANY problems in the way craiglist handles user entered text.


bcc:
subject
Bug found in your software. You might want to fix it.

body:
Dear asshole fucks who built or maintain craigslist. I hope your first term at University is going well. Because jesus fuck there is so many bugs on this site that you must be having fun banging first term University bitches because you sure as fuck arn't spending any time working on this site.

Don't call me an expert or anything ( ya I got a degree in computer science ) but when I build a piece of software I actually use it to see if it works. Like I said I know you are busy geting sucky sucky from asian girl experimenting with her newfound freedom from her family in University. She's drunk for the first time and she's actually willing to bang a first year bitch like you. Don't worry a few years into school they will teach you courses on software design. Like the ever allusive testing idea that you should actually run the program to see if it works. P.S. Lei Cheng is a fucking whore.

So hey, I 'll help you out so you can spend more time with clingy asian girl. Just an older developer giving a youngin a tip or two.


You can not assume the users of craigslist will understand the process of writing text, submitting through a form, having that text transformed into an SQL command, placed in a relational database, then having that entry tranlated back into text and then transformed into HTML code to be displayed on a browser. Hey, you can't even expect me to understand the HTML language. But hey, being all new to this stuff I bet your knowledge of HTML will help you score another time with that whore asian girl. Is she really worth the effort. She's just annoying now. All you wana do is play video games and have her cook for you. Is that worth her being all bitchy? You know your walking from her soon, just pull the triger.

So when a guy uses a character like < don't expect him to realize he's now writing HTML code.

ATTEMPT

Posting Title:
bigjohn1349 gmail com Figure out the meaning of this post $10

Posting Description:
<
Comensation
$10


RESULT
bigjohn1349 gmail com Figure out the meaning of this post $10
Reply to: job-573565367@craigslist.org
Date: 2008-02-14, 1:00AM EST






* Location: Toronto
* Compensation: $10
* Principals only. Recruiters, please don't contact this job poster.
* Please, no phone calls about this job!
* Please do not contact job poster about other services, products or commercial interests.


PostingID: 573565367


WHY IS IT A BUG
Why is thins output wrong. Hmmm. Wait where is
ARTIFACT
http://toronto.craigslist.ca/tor/tfr/573565367.html

(See ASSHOLE. When you find a bug you include the input, output, why output was incorrect and if possible any other artifacts might help you fix the bug i.e. A FUCKING VEERBATUM COPY OF THE OUTPUT FOR YOU TO REVIEW YOUSELF. I titled these things ATTEMPT, RESULT, WHY IS IT A BUG, ARTIFACT incase you got lost and didn't know what I was listing). You probably did get lost with the title ATTEMPT when you expected "input" to be the title.


ATTEMPT

Posting Title:
bigjohn1349 gmail com Figure out the meaning of this post $10

Posting Description:
< a href="http://bigjohn1349.blogspot.com/" >perfect website
Comensation
$10


RESULTbigjohn1349 gmail com Figure out the meaning of this post $10
Reply to: job-573573449@craigslist.org
Date: 2008-02-14, 1:14AM EST


perfect website !!!!!(this is a link to my blog)!!!!!

* Location: Toronto
* Compensation: $10
* Principals only. Recruiters, please don't contact this job poster.
* Please, no phone calls about this job!
* Please do not contact job poster about other services, products or commercial interests.


PostingID: 573573449

See where I added !!!!!
This was so you understood (this is a link to my blog) was not in the actual test result. It was describing something in the test result. Hope that didn't confuse you.

RESULT WHY IS IT A BUG
I should see < a href="http://bigjohn1349.blogspot.com/">before and after perfect website


Oh and by the way the "PostingID: 573573449". Hey. Thanks. Because I really want to know unique key with this record. You know I'm such a normal forms admirer. Hey most users are at this level of appreciation and hey me knowing 573573449 is so useful for me. Because...oh wait I can do nothing with 573573449. Oh wait If I'm particularly eager I can "http://toronto.craigslist.ca" + "/tor" + "/tfr" + 573573449 ".html". Oh me as a common user will figure that out. But hey you did assume that I would know that I WAS WRITING FUCKING HTML CODE INSTEAD OF PLAIN TEXT. Ya most users are at that level. Oh wait, maybe you assumed no user could commonly use those crazy HTML special characters. No one will type a message like
Title: Hey a neat math problem I found
Posting: if 100 <> 0 over what sets for x and y is (x,y): finite, countable, uncountable.
OH FUCKING WAIT PEOPLE ARE GOING TO BE WRITING HTML CHARACTERS ALL THE TIME.

But hey, I'm sure this won't cause any major user errors will it?


ATTEMPT
Posting Title:
bigjohn1349 gmail com Figure out the meaning of this post $10
Posting Description:
Opening text.
So if x < y then will
...
I suspect all text in arrows is invisible
Yes I agree x y < for all
..



Opening text.
So if x < y then will
...
I suspect all text in arrows is invisible
Yes I agree x y < for all
..
RESULT

bigjohn1349 gmail com Figure out the meaning of this post $10
Reply to: job-573583880@craigslist.org
Date: 2008-02-14, 1:33AM EST


Opening text.
So if x < y then will
...
I suspect all text in arrows is invisible
Yes I agree x y < for all
..




* Location: Toronto
* Compensation: $10
* Principals only. Recruiters, please don't contact this job poster.
* Please, no phone calls about this job!
* Please do not contact job poster about other services, products or commercial interests.


PostingID: 573583880

WHY IS IT A BUG
Actually, it is not. Didn't break you yet.


ARTIFACT

http://toronto.craigslist.ca/tor/tfr/573583880.html

ATTEMPT

Posting Title:
bigjohn1349 gmail com Figure out the meaning of this post $10
Posting Description:
< a href="I suspect everything here is invisible">perfect site

RESULT
bigjohn1349 gmail com Figure out the meaning of this post $10 (Toronto)
Reply to: your anonymous craigslist address will appear here
Date: 2008-02-14, 1:40AM EST


perfect site

* Location: Toronto
* Compensation: $10
* Principals only. Recruiters, please don't contact this job poster.
* Please, no phone calls about this job!
* Please do not contact job poster about other services, products or commercial interests.

WHY IS IT A BUG
What happened to "I suspect everything here is invisible". Oh no.
ARTIFACT
http://toronto.craigslist.ca/tor/tfr/573587981.html

Oh, by the way. Why did my result have no
"PostingID: 573587981"
Oh. I got the output BEFORE I entered those letter verification entries. I guess it had not been entered into the database yet. How smart of you guys, not creating a database entry on a post that might not be created. Because the user could be a bot and those bots can't enter letters. Your so clever. OH WAIT ASSHOLE WHY DIDN'T YOU INCLUDE THOSE STUPID VERIFICATION LETTER ON THE PAGE I WROTE THE POST. You would have saved me a few clicks. Hey don't worry. I know you are find of a moron but some of those fourth year courses you'll take later on will be pretty easy. Such as Interface Design courses.
CS 349 LAB,LEC 0.50 Course ID: 011727
User Interfaces
Ya, guys like me don't bother taking those easy courses.
I was busy with
CS 446 DIS,LAB,LEC,TUT 0.50 Course ID: 004414
Software Design and Architectures
http://ece.uwaterloo.ca/~ece452/
But even though my interface design will be APIs other developers will be calling I've still got enough human common sense to save the user a click or two when possible.

ATTEMPT

Posting Title:
bigjohn1349 gmail com Figure out the meaning of this post $10 id 996
Posting Description:
< a href=" bigjohn1349 gmail com want money email me ">Perfect site

RESULT
bigjohn1349 gmail com Figure out the meaning of this post $10 id 996
Reply to: job-573595366@craigslist.org
Date: 2008-02-14, 1:56AM EST


Perfect site

* Location: Toronto
* Compensation: $10
* Principals only. Recruiters, please don't contact this job poster.
* Please, no phone calls about this job!
* Please do not contact job poster about other services, products or commercial interests.

WHY IS IT A BUG

Well. No one is going to know to email bigjohn1349@gmail. com
Oh but wait. Since the users are literate with HTML they will click
View
Page Source

Or just Ctrl-U
And I can see
< a href=" bigjohn1349 gmail com want money email me " rel="nofollow">Perfect site
Yes, because users routinely view the source code of their site.



ARTIFACT
http://toronto.craigslist.ca/tor/tfr/573595366.html

ATTEMPT
Posting Title:
bigjohn1349 gmail com Figure out the meaning of this post $10
Posting Description:
Hello there. This is the actual html code that you wanted to write. Put it up on your site:

< a href="http://bigjohn1349.blogspot.com/">Perfect site


RESULT
bigjohn1349 gmail com Figure out the meaning of this post $10
Reply to: job-573606535@craigslist.org
Date: 2008-02-14, 2:21AM EST


Hello there. This is the actual html code that you wanted to write. Put it up on your site:

Perfect site



* Location: Toronto
* Compensation: $10
* Principals only. Recruiters, please don't contact this job poster.
* Please, no phone calls about this job!
* Please do not contact job poster about other services, products or commercial interests.


PostingID: 573606535

WHY IT IS A BUG
So in this case our user is in fact literate with HTML. He has written some HTML to his friend. He wants to help him with his site. So he wrote some HTML and wants his friend to read the html code and use it on his site. But wait he doesn't get:
< a href="http://bigjohn1349.blogspot.com/">Perfect site
he just gets:
Perfect site
Oh, well since both people are clearly computer literate he can just look at the posting source code and read:


____________________
I chose not to try to get this displaying as text in blogspot




bigjohn1349 gmail com Figure out the meaning of this post $10









Avoid scams and fraud by dealing locally! Beware any deal involving Western Union, Moneygram, wire transfer, cashier check, money order, shipping, escrow, or any promise of transaction protection/certification/guarantee. More info


bigjohn1349 gmail com Figure out the meaning of this post $10




Reply to: job-573606535@craigslist.org

Date: 2008-02-14, 2:21AM EST





Hello there. This is the actual html code that you wanted to write. Put it up on your site:




< a href="http://bigjohn1349.blogspot.com/" rel="nofollow">Perfect site











  • Location: Toronto
  • Compensation: $10
  • Principals only. Recruiters, please don't contact this job poster.
  • Please, no phone calls about this job!
  • Please do not contact job poster about other services, products or commercial interests.




PostingID: 573606535





Would you like to:













Copyright © 2008 craigslist, inc. terms of use privacy policy feedback forum











Oh what the hell is this garbeled fuck. How oh how am I going to find my piece of source code in this. Oh there it is:
< br />
< br />
< a href="http://bigjohn1349.blogspot.com/" rel="nofollow">Perfect site
< br />
< br />
Actually, modifications have been made to the original code still. So ya, I guess I can't really post my cute HTML code for others to use on their websites. The rejection is a bitch eh? Just like bitch asian girl must have felt like when her ass was rejected on your birthday. Hey sorry bitch. You gotta go. But ya, happy birthday. Go have a breakdown now.



So asshole. Because you are obviously retarded could you use a HtmlEncode(String) to get posts displaying correctly.


http://msdn2.microsoft.com/en-us/library/system.web.httpserverutility.htmlencode.aspx

Or maybe Server.HTMLEncode(sValue)?

http://www.aspnut.com/reference/encoding.asp#htmldecode




It is just a simple addition to your code but it will make things look so much more professional. But hey, who would have been smart enough to include that when building the system. Oh, don't worry. After you graduate you'll be smart like me and things like that will be easier for you.





I get so angry when I see poorly written software. But tonight I thought I would do something about it. Yes, that's right. I'm taking back quality software one bug at a time.

Oh, by the way. I wrote this email in vi. That way I know none of the special characters got screwed up in writing.

I also love how easy you make it to find an email on your page for me to send bugs to. And ya, I know your still not in first year. Your glowing bio
http://www.craigslist.org/about/jim.buckmaster.html
really portrays you as not a fucking moron. OH WAIT!


PPS I'm willing to be the smart people at google will have the proper text interpretation and you'll be able to read this text as I intended it to be read. I guess that's why you couldn't get a job with them. Oh, but I'm also submitting this email through your online contact us forum:
http://sfbay.craigslist.org/cgi-bin/emailForm.cgi


Oh wait since you implemented it there's no way you'll read it correctly though there. I sure hope blogspot will display all the text correctly when I enter this email in my blog.

PPS I love the way when I'm in tv/film/video/radio jobs
http://toronto.craigslist.org/tor/tfr/
and I wana post I gotta click
post
I will abide by these guidelines
tv/film/video/radio jobs
city of toronto
and then actually write my post.
Holy fuck. You wouldn't assume I wanted to post in area I'm currently viewing. Nah. Hey asshole more extra clicks and I gotta find the god damn area I was in again. I'M HIGH! IT'S HARD TO FIND IT AGAIN!



Their reply:

Thanks for using craigslist!

Sorry for the automated reply, but we don't have much choice, due to the
volume of inquiries. Answer to many questions can be found in the FAQ below,
and we'll do our best to get back to you quickly if your issue is not
addressed in the FAQ or Terms of Use.

ABUSE, HARASSMENT ISSUES (unwanted phone calls, personal info posted)
Please re-send your inquiry to "abuse@craigslist.org".

QUESTIONS ABOUT PAID POSTS (jobs, NYC brokered housing)
Please re-send your inquiry to "jobs@craigslist.org".

*************************************************************************

1) Why was my post removed?
2) Why can't I login, and why have I never received a password?
3) I have an account -- how do I reset my password?
4) How do I edit or delete my post?
5) Why do I get an error message when I use the "reply-to" links in ads?
6) How do I add a picture to a new post, or to an existing post?
7) Why am I getting an error message in my browser when I add images?
8) Why am I not seeing the changes that I made to my post?
9) How much does it cost to post an ad?
10) Why am I getting a duplicate posting error when I submit a post?
11) Why am I not seeing my post on the site?
12) Can I send an anonymous reply to people that have responded to my post?

************************************************************

1) Why was my post removed?

Here are some possible explanations for why posts are removed:

* posting too frequently
* large number of ads
* posting in multiple craigslist sites or categories
* post placed in the wrong craigslist city or category
* commercial content in non-commercial category
* post contains link/URL to commercial service, web site, or auction
* title contains ALL CAPS and/or unnecessary symbols

For additional help, visit craigslist's flag help discussion forum:

http://forums.craigslist.org/?forumID=3

(Be sure to review the guidelines in the right panel of that forum.)

************************************************************

2) Why can't I login, and why have I never received a password?

You may not actually have an account, they're not required to place an ad. If
you did not sign up for an account and set up a password, it's likely that you
don't have an account.

For more information about user accounts, go to this page:

http://www.craigslist.org/about/help/user_accounts

*************************************************************

3) I have an account -- how do I reset my password?

You can reset your password from this page:

https://accounts.craigslist.org/login/rstpwd

If you have trouble using the password reset link, it may be an issue with your
web browser -- try clearing the cache, clearing cookies, clearing history, etc.
Also, we've received some reports that the problem may be related to older web
browsers. If possible, see if you can use a different browser or a different
computer.

*************************************************************

4) How do I edit or delete my post?

You can edit or delete your post with the same link that you originally
used to publish it. If you don't have that link, you can request a new one
from this page:

http://www.craigslist.org/cgi-bin/resend

If you posted the ad from a craigslist account, log in to your account and
go to your account home page. Look for the post you want to edit or delete,
click on the post title, and hit the "edit" or "delete" button.)

*************************************************************

5) Why do I get an error message when I use the "reply-to" links in ads?

It's likely that your browser (Firefox, Internet Explorer, Netscape, etc)
is not set up to handle these links properly. Here's a workaround:

* copy the craiglist email address (i.e., job-123456789@craigslist.org)
* open the program that you use to send email, start a new email message
* enter the craigslist email address into the "To" line of your new message
* complete your email and send it

If an ad expires or is otherwise removed from the listings, the anonymous
email address will no longer function.

*************************************************************

6) How do I add a picture to a new post, or to an existing post?

When you create a new ad, look for the "add/edit images" button in the main
posting form. This same button is available in the screen that comes up
when you edit an existing post, in case you want to add or change images
after the ad has been published.

Additional instructions are available here:

http://www.craigslist.org/about/help/pic

*************************************************************

7) Why am I getting an error message in my browser when I add images?

Your images may be too large -- this often happens with newer digital
cameras. Try reducing the file size of each picture so that the dimensions
are under 300 pixels per side.

For tips on how to reduce the size of photos, check these resources:

http://www.google.com/search?hl=en&q=reduce+size+digital+photos&btnG=Search

*************************************************************

8) Why am I not seeing the changes that I made to my post?

You may need to refresh/reload your browser, using the refresh/reload icon
at the top of your browser, usually next to the left and right arrows.

Also, try viewing the ad with a different browser (we recommend Firefox),
or from a different computer, to see if the changes are displayed.

*************************************************************

9) How much does it cost to post an ad?

All posts are free, except for:

* job ads on the BOS, LAX, NYC, SEA, SDO, SFO, WDC sites
* brokered rental housing ads on the NYC site

See this page for fees relating to these categories:

http://www.craigslist.org/about/help/post-fees.html

****************************************************************

10) Why am I getting a duplicate posting error when I submit a post?

You must wait 48 hours before re-posting an ad, even if the original post
has already been removed. This can be frustrating, but it helps keep spam
and duplicate posts to a minimum.

*************************************************************

11) Why am I not seeing my post on the site?

Your ad should be visible within 15 minutes of submission - make sure you
are viewing the correct city, category, and date range, and reload the
page using the reload/refresh button at the top of your browser.

If you are still having trouble, please review this help page:

http://www.craigslist.org/about/help/how_to_find_your_post_in_the_listings

*************************************************************

12) Can I send an anonymous reply to people that have responded to my post?

When you reply to people who have responded to your ad, your email address
will be visible to them. We provide anonymity only when you post your ad,
so that your actual email address will not be visible to the public.

***************************************************************

More help can be found here: http://www.craigslist.org/about/help/

Or, check the help desk forum: http://forums.craigslist.org/?forumID=9

And thanks again for using craigslist!













No comments: