Google Groups Killfile 2.0

September 27th, 2006

Okay, so it’s finally here with a lot (if not all) of the kinks worked out of it. It will now correctly block ignored users from the group index view when viewing titles only or titles with message text. It will also now correctly block the ignored user from the thread view (both from the thread index and the thread itself). To see who is on your ignore list click the Killfile menu option added to the Google Groups Navbar.

If you already have Firefox and GreaseMonkey click here for the new script

Otherwise click here for full install instructions

HACKED!

September 27th, 2006

Y’know you turn your back for a second and the pesky hackers come knocking on your door. Not keeping upto date with the latest WordPress goings on I was unaware that 2.0.2 had a HUGE security hole in it. Anyway I try to login yesterday and my entire site has been blown away and some git has linked some spam site from here. Luckily the great guys at Kattare were able to restore the database but quite a shock. Upgraded to 2.0.4 so hopefully I won’t see a repeat performance, that’ll teach me to run an app written in php….

Google Killfile

August 28th, 2006

Quick update and a recap.
Right now the script works pretty well for the two ways of viewing the posts to a group i.e with/without text. Where the script is screwing up seems to be in the thread detail view. I should have a little time coming up to devote to this so I’ll try and put out a new release in the next week or so. I’ll be going back over the kind comments/suggestions people have left and will try to address everyones concerns.

Getting Substruct to use the PayPal API

July 5th, 2006

So I’ve been trying to get Substruct to use PayPal Pro instead of Authorize.net as the payment gateway. There are a couple of options out there to do this namely

vPayPal which I didn’t have any luck with and

elTechs PayPal plugin which is the option I finally got working

The problems I had were all due to bugs in soap4r 1.5.5, the so called stable release.

So here is how you tweak soap4r to make it work… (If you want to be lazy download my patched copy)

  1. Skip 1.5.5 and grab the code that is sitting on the trunk and make these next two updates
  2. Apply patch 1629 to complexContent.rb that lives in lib/wsdl/xmlSchema/complexContent.rb
  3. Change wsdl/soap/classDefCreator.rb as follows
    Comment out the type = nil line and uncomment the type = create_class_name line)

    if element.type == XSD::AnyTypeName
    type = nil
    elsif klass = element_basetype(element)
    type = klass.name
    elsif element.type
    type = create_class_name(element.type)
    else
    # type = nil
    # do we define a class for local complexType from it's name?
    type = create_class_name(element.name)
    end
  4. You can now go ahead and run install.rb to install the package.
  5. Follow the rest of the instructions from the PayPal plugin
  6. Success!

Big thanks to Brenden Wilson as without his post I never would have gotten this running (being a complete RubyNoobie)

The next step is getting all of this working from within Substruct.

Change the finish_order method in store_controller.rb to

def finish_order
@title = "Thanks for your order!"
@order = find_order
# If there's no order redirect to index
if @order == nil
redirect_to_index and return
end

@transaction_details = {
:firstName => @order.billing_address.first_name,
:lastName => @order.billing_address.last_name,
:ip => "127.0.0.1",
:amount => @order.total.to_s,
:itemName => @order.order_number,
:addressName => "Billing",
:street1 => @order.billing_address.address,
:street2 => "",
:cityName => @order.billing_address.city,
:postalCode =>  @order.billing_address.zip,
:stateOrProvince => @order.billing_address.state,
:country => "US",
:creditCardType => get_credit_card_type(@order.account.cc_number),
:creditCardNumber => @order.account.cc_number,
:cVV2 => @order.account.credit_ccv,
:expMonth => @order.account.expiration_month,
:expYear => @order.account.expiration_year
}

result = Paypal.directauth(@transaction_details)

if(result.ack == "Success")
@payment_message = "Card processed successfully: #{result.transactionID}"
# Save transaction id for later
@order.auth_transaction_id = result.transactionID
logger.info("nnORDER TRANSACTION ID - #{result.transactionID}nn")
# Set completed
@order.cleanup_successful
# Send success message
@order.deliver_receipt
clear_cart_and_order(false)
else
# Order failed - store transaction id
# @order.auth_transaction_id = result.transactionID
@order.cleanup_failed(result.ack)
# Send failed message
@order.deliver_failed
# Log errors
logger.error("nn[ERROR] FAILED ORDER n")
logger.error(result)
logger.error("nn")
# Redirect to checkout and allow them to enter info again.
error_message = "#{result.errors.longMessage}"
error_message << "Try again or contact us for further assistance."
redirect_to_checkout(error_message)
end
end

Google Groups Killfile Bugs

May 19th, 2006

Just a quick update, right now there are a few bugs in the script that I’m working on resolving. Crazy busy in my day job this week and next but will have some time after that to really sort things out. So bear with me folks :)

Ruby (Briefly) Derailed

April 28th, 2006

Just tried to get up and running with Ruby on Rails as it looks very slick. Anyway first problem I had was apparently a common one but with various solutions. The error was

error Before updating scaffolding from new DB schema, try creating a table for your model (Product)

Anyway, the solution was to gem install mysql (choosing the latest) and then copying libmySQL.dll to windows/system32

So now I’m back on track :)

Google Groups KillFile Update

April 25th, 2006

Just a very small change to the script that also includes foreign Google Groups domains. It should also be noted that the script currently only works when you are in the ‘View Titles Only’ mode, I’ll add a fix for that shortly.

Google Groups KillFile 1.4.1

Google Groups KillFile 1.4 Released

April 24th, 2006

Flushed out the script a little so that there is now an extra menu item ‘Kill File’ added to the Google Groups(G2) nav. When you click it you will see a list of everyone currently in your killfile. To remove someone from the list just click on the X next to their name.

The next piece of the puzzle is to allow adding regexps to the killfile, and then being able to apply the rules to both author and subject. Anything else you can think of just let me know via a comment. Enjoy.

Google Groups KillFile 1.4

Google Groups KillFile Released

April 24th, 2006

The Google Groups KillFile is a very simple, but useful script for those folk that use Google Groups to access Usenet. In normal client side newsreaders there is the concept of a killfile that allows you to filter out posts based on subject or author which allows you to cut through some of the noise. Unfortunately if you have to use a web based client, namely Google Groups this feature is sadly missing which is where the Google Groups KillFile GreaseMonkey script fits in. Once you install the script it will add a small X next to each authors name. If you click the X then you will no longer see any posts by that user.You will need the following..

If you are in the titles only view you will see an X next to the user’s name, clicking this places the author in the killfile. If you are in the other view with Message Text view you will see a link that says Ignore User, again clicking this places the user in the killfile.

At the top right there is a new menu option Kill File, that when clicked displays the current killfile where you can remove people you have previously placed on the list.

You should realise that if someone replies to the troll the message will no longer be blocked as the authors name will change. So as always don’t feed the trolls :)

Hope this proves useful; the usual it’s not my fault if it breaks disclaimer applies.

– Damian