Thursday, May 31, 2007

Impeach Gonzales - part 2 - the crimes

While part 1 was all about the lies Gonzales has told, part 2 is all about the crimes.

When Robert Greenwald of Brave New Films posted the first video on YouTube a couple of weeks ago, and publicised the online petition to impeach Gonzales, he thought he might get around 10,000 signatures. Instead, almost 60,000 people have signed the petition so far, and over 200,000 have watched the first video, which went to #1 on YouTube. Here's part 2:

Bush won't fire Attorney General Alberto Gonzales... but YOU can! Go sign the petition. I think once you've watched the videos you might feel inpired to.

Robert says:

Now we're going for 100,000 signers, so our friends at Democracy for America will have a nice round, BIG number to take with them when their grassroots leaders present the petitions in the home districts of every member of Congress.

Useful links:

Democracy for America newspaper ad.
Technorati tags: , , , , , , , , , , , , , , , , .

Read the full post

I missed my (blog's) birthday!

I was going to do a rant about "Bishop" Brian and his ridiculous and racist demands that NZ declare itself a "Christian nation" but I simply can't be arsed. He's such an idiot I really can't be bothered wasting my time on writing about him.

But HEY! I just realised I MISSED MY BLOG'S FIRST BIRTHDAY! It was on Sunday when I was busily meta-blogging screeds and screeds on how to restyle widgets.

Happy Birthday to you,
Happy Birthday to you,
Happy Birthday dear blo-og,
Happy Birthday to you!!!!

We should have a cake or something! I'll go find a pic off the internets... hang on...

OK got one! That's better...

So... a year of blogging eh?

Here's some stats for ya:

  • Number of blog posts: 177

  • Number of comments: 360

  • Current Technorati Ranking: 90,756 (78 links from 53 blogs)

  • Highest Technorati Ranking: somewhere in the 50,000s a few months ago (that must have been before everyone and their dog got themselves a blog... at least I started before the dogs got in on the act!)

  • Total visits: 47,839

  • Total page views: 63,636

  • Current average number of visits per day: 99 (has been higher!)

  • Current average number of visits per day: 134 (has been higher!)

  • Current average visit length: 1 minute 58 seconds

  • Percentage of new visitors: 79.46%

  • Search engine referrals: 63.18%

  • Other site referrals: 26.50%

  • Direct (that's people who know my URL!): 10.27%

  • Biggest month: November 2006 (29 posts)

  • Laziest months: August and October 2006 (7 posts apiece)

  • Most used tag/label in my label cloud: My life (67 blog posts)

  • Least used tag/label in my label cloud: Gardening (4 blog posts)

  • Most popular blogging subject (in terms of numbers of visits and amount of feedback I get): Clay Aiken, without a doubt - followed by the slow burner that is web geekery, and in particular, Blogger hackery

  • Least popular blogging subject (because I write a lot about it and it almost always gets universally ignored): American politics

  • Most visited page of all time: First Wii Fatality - watching our video go viral (15,000 visitors in 48 hours thanks to a one-word link from The Inquirer - and I'm still getting referrals even now!)

  • Most comments of all time: 26 comments on Is Clay gay or straight? It's none of your business!

  • Current most popular post (and has been for some time): Roger Waters - Dark Side of the Moon Live - Auckland 2007

  • Most underrated blog post (IMO): The death of habeas corpus - and the best way to boil a frog

...and my favourite stat of all: number of countries my visitors come from (since I got Google Analytics a couple of months ago): 110

- and here's the list, in order of popularity:

United States, New Zealand, United Kingdom, Canada, Hungary, Australia, Chile, Argentina, Brazil, Germany, India, Netherlands, South Korea, Belgium, Sweden, Mexico, Spain, Peru, Philippines, Czech Republic, Italy, France, Ireland, Malaysia, Singapore, Norway, Switzerland, Romania, Colombia, Denmark, Indonesia, Portugal, Poland, Austria, Turkey, South Africa, Finland, Israel, Hong Kong, China, Slovenia, Japan, Greece, Thailand, Uruguay, Ukraine, Taiwan, United Arab Emirates, Slovakia, Sri Lanka, Egypt, Brunei, Latvia, Estonia, Iran, Croatia, Russia, Venezuela, Bulgaria, Ecuador, Vietnam, Lithuania, Barbados, Liechtenstein, Trinidad and Tobago, Saudi Arabia, Kuwait, Bangladesh, Serbia And Montenegro, Macedonia, Bolivia, Malta, Cayman Islands, Gibraltar, Luxembourg, Puerto Rico, Vanuatu, Pakistan, Costa Rica, Tanzania, Jordan, Nepal, Kenya, Nicaragua, Congo (Kinshasa), Georgia, Panama, Cyprus, Botswana, Antigua and Barbuda, Moldova, Nigeria, Maldives, Grenada, Guam, Algeria, Guatemala, Tunisia, Ivory Coast, Bosnia and Herzegovina, Morocco, Lebanon, Bhutan, Iceland, Jamaica, Mauritius, New Caledonia, Cuba, Dominican Republic.


I love my blog.

Happy birthday, blog! May we share many more!

Technorati tags: , , , , , , , , , , , , , .

Read the full post

Tuesday, May 29, 2007

No honour for Andrew Card

Wow - this is an amazing show of solidarity from the graduating students at the University of Massachusetts, Amherst.

From the video clip's YouTube page:

On May 25, 2007 Andrew Card faced hundreds of boos and catcalls as he was given an honorary degree during the graduate school commencement at the University of Massachusetts, Amherst.

Before the commencement, about 200 protesters staged a rally and press conference outside the Mullins Center on the UMass campus. Hundreds more students and faculty who opposed the honorary degree would later protest inside the hall.

Card, former Bush Administration Chief of Staff and chief salesman for the invasion of Iraq as head of the White House Iraq Group, faced signs calling him a war criminal. People are now calling on UMass to rescind the honorary degree.

The protests followed weeks of growing opposition. 400 protested on May 15 (see the rally and march on YouTube at TraprockPeaceTV) and on May 22 protesters marched from the campus to the Amherst common.

After the commencement, activists gathered at the Jones Library for a celebration and speakout. Video of both the pre-commencement rally and post-commencement speakout are coming to TraprockPeaceTV.

Video recorded and edited by Charles Jenks; © 2007 Traprock Peace Center. Websites may embed the video for non-profit use, with attribution. Please let us know if you use the video; email

The protest was organized by a large coalition of campus and community organizations, too numerous to list. Traprock was one of many community groups that supported the tremendous efforts by the UMass community of students, faculty and staff, and UMass organizations.

Technorati tags: , , , , , , , , , , , , , , , , , , , .

Read the full post

Monday, May 28, 2007

How to restyle your Most Popular Posts widget - Part 3 - the code

UPDATE 23/02/08: I've decided to remove the Most Popular Posts from my blog for the moment - due to the ridiculous amount of time my pages were taking to load. If AffiliateBrand gets their overloaded server issues sorted out, I'll be happy to put it back up - it was a cool widget - but not when you have to wait 5 minutes to view the page...

This is part 3 of a 3-part series on how to restyle your Most Popular Posts widget. You'll need to follow the instructions in Part 1 and Part 2 before you do this bit.

CODE UPDATED 01 JULY 2007 due to changes in the AffiliateBrand coding

At this point you should have your AffiliateBrand widget up and running on your blog, and you will have created your own stylesheet with which to style the inner part of the widget, where your list of most popular posts is displayed. You will also have designed a new look for your widget that matches your blog, and you will have cut up and saved the graphics for this.

Now we'll do the coding.

Step 1 - Take a copy of the HTML for my restyled widget.
Here's the HTML in its simplest form for a single box:

<div class="widget-wrapper-top"></div>
<div class="widget-wrapper-mid">Everything goes inside this div</div>
<div class="widget-wrapper-bottom"></div>

And here's the HTML for my complete restyled widget:

<div id="widget-wrapper-top" style="width: 218px; height:7px; background: url( no-repeat 0 0;"></div>
<!-- end widget-wrapper-top -->
<div id="widget-wrapper-mid" style="width: 200px; background: url( repeat-y 0 0; padding: 7px 9px 2px 9px; font-family: 'Trebuchet MS'; font-size: 1.0em; font-weight: bold; color: #446666; line-height: 13px; text-align: center;"><p style="padding: 0 15px; margin: 0;">Most popular pages on my blog over the last 7 days</p>
<div style="width: 200px; height:7px; background: url( no-repeat 0 0; margin: 9px 0 0 0;" class="widget-top"></div>
<!-- end widget-top -->
<div style="width: 182px; background: url( repeat-y 0 0; padding: 9px;" class="widget-mid">
<iframe scrolling="auto" width="182px" frameborder="0" src="" marginheight="0" height="420px" marginwidth="0"></iframe>
<div style="clear: both; height: 1px; font-size: 0.1px; border: none; margin: -1px 0 0 0; padding: 0; background: transparent;" class="clear"></div>
<!-- end widget-mid -->
<div style="width: 200px; height:7px; background: url( no-repeat 0 0;" class="widget-bottom"></div>
<!-- end widget-bottom -->
<div style="width: 200px; height:7px; background: url( no-repeat 0 0; margin: 9px 0 0 0;" class="widget-top"></div>
<!-- end widget-top -->
<div style="width: 200px; background: url( repeat-y 0 0; padding: 0;" class="widget-mid">
<iframe scrolling="no" width="178" frameborder="0" style="margin-top:5px" src="" height="40"></iframe>
<div style="clear: both; height: 1px; font-size: 0.1px; border: none; margin: -1px 0 0 0; padding: 0; background: transparent;" class="clear"></div>
<!-- end widget-mid -->
<div style="width: 200px; height:7px; background: url( no-repeat 0 0;" class="widget-bottom"></div>
<!-- end widget-bottom -->
<div style="clear: both; height: 1px; font-size: 0.1px; border: none; margin: -1px 0 0 0; padding: 0; background: transparent;" class="clear"></div>
<!-- end widget-wrapper-mid -->
<div id="widget-wrapper-bottom" style="width: 218px; height:7px; background: url( no-repeat 0 0;"></div>
<!-- end widget-wrapper-bottom -->

Copy this code and save it somewhere. A Notepad file will do, or Word, or TextEdit if you're on a Mac. Better still would be to save it in a web editing tool such as Dreamweaver, but this isn't essential.

Step 2 - View your piece of AffiliateBrand JavaScript in a browser and replace my iFrame code with your own
The piece of JavaScript you got from AfilliateBrand contains a URL. Mine is Open up this URL in your browser, and copy the code that appears in your browser window.

Save it in another Notepad, Word, TextEdit or Dreamweaver file.

In amongst all the code you have just saved you will find two iFrame tags. Each looks something like this:

<iframe src="" height="40" width="178" scrolling="no" frameborder="0" style="margin-top:5px" ></iframe>

Copy the first iFrame tag from your JavaScript file and paste it into my HTML, replacing my iFrame tag. Make sure you copy the whole thing, from the opening <iframe to the closing </iframe> - don't miss anything out or include anything extra! Do the same for the second iFrame tag from your code.

iFrames are like mini web pages that can be displayed inside other web pages. The first iFrame tag will display your Most Popular Posts stats from AffiliateBrand inside your newly-styled widget. The second one contains the link back to AffiliateBrand from your widget.

You can close the file that contains your JavaScript from AffiliateBrand now. You won't need it again. Save my HTML (containing your newly replaced iFrame tags).

Step 3 - Replace the links to my graphics in my HTML with links to your graphics
Look through my HTML and find all the links to images. There are 9 altogether. Each looks something like this:

For each of these graphics, you need to replace the full URL that links to my graphic, with the full URL to your equivalent graphic. If you've used Blogger to host your graphics, look in the code for each of the images you put into the draft page in step 4 of Part 2. There are two URLs for each Blogger image. The one you want is the one with /s1600-h/ in the URL, not the one with /s400/.

Once you have replaced all 9 of my images with your own, save the HTML file again. This is your widget.

Step 4 - Replace the JavaScript in your Page Element with the new HTML
Click the Template tag on your dashboard and select Page Elements. Click the Edit link for your Most Popular Posts page element.

A popup window will open, containing the original JavaScript from AfilliateBrand which you created in step 2. Copy this JavaScript and save it somewhere in case it all goes pear-shaped and you want to go back to the original styling!

Copy all of my HTML which you have just modified in steps 1-3, and paste it into the popup window, REPLACING the JavaScript which you have just copied and saved somewhere else.

Step 5 - Save and view your restyled widget on your blog!
Click Save Changes - the popup window will close once they have been saved.

Preview (or, if you're feeling brave, View) your blog.

If you've followed all the steps exactly, you should now be looking at your newly-styled widget, sitting where your original one was.

And if you get stuck, or something hasn't worked as expected, ask me for help by posting a comment. I'm always happy to help!

Note for JavaScript gurus:
I'm most definitely not a JavaScript guru myself, and maybe that's why my first attempt at doing this didn't work. Instead of putting all the HTML into the Page Element, I put it into a JavaScript file, saved it on my website and then linked to it in exactly the same way as the original JavaScript file was linked. And nothing happened. You can see it on my website if you'd care to take a look and tell me where I went wrong. Thanks!

Technorati tags: , , , , , , , , , , , , , , , , .

Read the full post

How to restyle your Most Popular Posts widget - Part 2 - the graphics

UPDATE 23/02/08: I've decided to remove the Most Popular Posts from my blog for the moment - due to the ridiculous amount of time my pages were taking to load. If AffiliateBrand gets their overloaded server issues sorted out, I'll be happy to put it back up - it was a cool widget - but not when you have to wait 5 minutes to view the page...

This is part 2 of a 3-part series on how to restyle your Most Popular Posts widget. You'll need to follow the instructions in Part 1 before you do this bit.

At this point you should have your AffiliateBrand widget up and running on your blog, and you will have created your own stylesheet with which to style the inner part of the widget, where your list of most popular posts is displayed.

Now we'll make new graphics to match your blog:

Step 1 - Take a screenshot of the widget in your blog and open it up in Photoshop
On a PC, press the PrtScn (print screen) key on your Windows keyboard. Open up Photoshop and paste the screenshot into a new document. Hold the Alt key down while pressing PrtScn to capture only the active window. On a Mac, use the Grab tool which comes with OSX. Click on Capture/Window to capture only the active window. Save the screenshot and open it up in Photoshop.

Step 2 - Create a new design for your widget
I'll show you step-by-step how I did it:

Photoshop steps 2a to 2e.
Click on the image to see a larger version.

Step 2a - the original AffiliateBrand widget.

Step 2b - the new widget wrapper. I decided that the curved corners should match the dimensions of the existing curved corners in my blog. I measured these, and found they had a radius of 7px. Using the Rounded Rectangle Tool with corners set at 7px, I drew a new shape on a new layer over the top of the old one, with exactly the same dimensions as the original.

The colour I chose is a lighter variation of the pale green in my blog - #ECF4E9 - and is the same shade as I had used in my original restyled widget. I added a 1px wide stroke inside this shape, using the same colour as the borders of the right-hand column - #AABBAA. It's important to put the stroke on the inside so that you don't increase the overall dimensions of this wrapper.

Step 2c - the new box for the widget itself. This is another 7px rounded corner box, in a new layer, exactly the same dimensions as the original, only this time it's white - #FFFFFF - not green. It has the same 1px inside stroke on it as the widget wrapper. Turn off your widget wrapper layer so you can see the original widget underneath - it makes it easy to get the measurements right.

Step 2d - the new box for the AfilliateBrand links. Made in exactly the same way as the new widget box in step 2c, again in a new layer.

Step 2e - your new widget header text. You'll have chosen this text during the registration process, but you might want to change the colour and the font to match your blog. Using the type tool I recreated this text, so I could see how it looked. The font is Trebuchet MS, which is what the rest of my blog is written in, and the colour is #446666 - the same dark green as the main part of my blog. 12pt bold looked best. Later on we'll be styling this in the HTML, so this is just so I can get a idea of the colour and size I want.

Step 2f - putting the contents of the widget in place. I copied the inner part of the widget from the original screenshot, and pasted it into a new layer, on top of all my other layers, in exactly the same position as it was originally. Then I moved it down a few pixels, so it was more evenly positioned. This enabled me to see how the finished widget would look, once it's all coded and styled.

Screenshot of finished design and Photoshop layers.  A screenshot of my Photoshop file showing the completed design and the different Photoshop layers. Click on the image to see a larger version.

The AffiliateBrand widget is built using a series of nested tables, with various cut-up parts of the graphic set inside the table cells. I'm not a fan of using tables for layout, having switched to CSS a couple of years ago, so I decided to rebuild the widget using HTML and CSS.

It's a pretty simple layout. There's an outer box (which I've called the widget wrapper - it's the pale green one in my design). Inside this box are two other boxes, both white, one of which holds the widget itelf, and the other holds the Affiliate Brand links.

Boxes translate to divs in CSS, and if these were square-cornered boxes, the CSS would be extremely simple - one pale green div with darker green borders for the widget wrapper, inside which would be two white divs with darker green borders. You wouldn't even need graphics, you'd style the background colours and the borders in the CSS.

Screenshot of the three divs that make up a curved-corner box. With curved corners, the CSS is a little more complicated. Each box is essentially made up of three divs - one containing the top of the box, one for the mid section of the box, and the third containing the bottom of the box. You can see the way a graphic is cut up to make the three divs in this example screenshot.

Step 3 - Cut up your graphics using my new graphics as a template

Here are my finished graphics:

Graphic for the top of the widget wrapper box.
bg-widget-wrapper-top.gif - the top of the widget wrapper box

Graphic for the mid-section of the widget wrapper box.
bg-widget-wrapper-mid.gif - the mid-section of the widget wrapper box

Graphic for the bottom of the widget wrapper box.
bg-widget-wrapper-bottom.gif - the bottom of the widget wrapper box

Graphic for the top of the widget box.
bg-widget-top.gif - the top of the widget box

Graphic for the mid-section of the widget box.
bg-widget-mid.gif - the mid-section of the widget box

Graphic for the bottom of the widget box.
bg-widget-bottom.gif - the bottom of the widget box

You can download and save these grapics and use them as templates, to show you how to crop your own graphics.

You'll notice that the top two graphics (bg-widget-wrapper-top.gif and bg-widget-top.gif) are quite a bit deeper than the 7px height we've used for the bottom graphics. This is because IE6 sometimes makes the top div deeper than it should. The deeper graphic ensures that the entire div is filled with the graphic background, rather than there being an ugly gap between the top and mid sections. At some point I'll figure out why this happens and fix it, but in the meantime, just make your top graphics deeper.

You might like to use the same filenames as I've used, then it will be easy to swap out mine for yours in the code later.

Step 4 - Put your new graphics online somewhere
Once you've cut up and saved your own graphics, you'll need to find somewhere to host them. I use the graphics folder of my own website. Alternatively, if you want to host them on Blogger, create a new post and place each of your images into it. We'll be referring to this later, so save it as a draft. You won't be actually putting it live, all you want is the Blogger URL where each image is stored. Make sure you select the "large" option for each image, so it appears as actual size.

You're now ready to move on to Part 3 - the code.

Technorati tags: , , , , , , , , , , , , , , .

Read the full post

Sunday, May 27, 2007

How to restyle your Most Popular Posts widget - Part 1 - setting up your widget

UPDATE 23/02/08: I've decided to remove the Most Popular Posts from my blog for the moment - due to the ridiculous amount of time my pages were taking to load. If AffiliateBrand gets their overloaded server issues sorted out, I'll be happy to put it back up - it was a cool widget - but not when you have to wait 5 minutes to view the page...

This post ended up so long that I've broken it down into three separate parts - Part 1 - setting up your widget, Part 2 - the graphics and Part 3 - the code. This is Part 1.

Most Popular Posts widget - original on left, restyled version on right. I've had AffiliateBrand's Most Popular Posts widget on my blog for a while now, and I really like it. I have to confess, though, that I've never particularly liked the styling of it. Originally it was built as a whole bunch of nested tables, which I was able to restyle to a certain extent using my own stylesheet (in this image the original is on the left, my restyled version is on the right).

You can find out more about using your own stylesheet in my original post Blogger beta - Most Popular Posts widget. Although the first part of that post is no longer entirely relevant, the bit about making and using your own stylesheet is. You'll be following those instructions in step 3 below.

Screenshot of 2.0 widget in my blog. A couple of weeks ago the crew at AffiliateBrand decided to update the "look" of the widget, giving it graphical curved corners and stuff. It didn't match my blog at all so I didn't switch over. Yesterday they switched me over anyway (as they have now done with everyone) and suddenly my purple and blue widget looked very out of place in my green blog...

Being a bit of a perfectionist about the look of my blog, I decided to see if I could do anything about restyling it, so that it matched everything else.

Screenshot of restyled 2.0 widget in my blog. I've figured out a solution, as you can see, so I thought I'd share it with you. If you're using the same Blogger template as I am (Rounders 4), you'll be able to use my code and images exactly as I've created them. If you're using a different template, you'll need to have some Photoshop (or other graphics program) skillz in order to make your images, but you can still use my code, and you'll be able to use my images as "templates" from which to make your own.

Follow me below the fold to see how it's done...

The steps are as follows:

In part 1 you will set up the widget:

  1. Register with AffiliateBrand and get your personalised piece of JavaScript from them.
  2. Place this in your blog within a Page Element in your Template.
  3. Style the inner part of the widget (the list of your most popular posts) by creating your own stylesheet and modifying it.

In part 2 you will do the graphics:
  1. Once your widget's in place and working, take a screenshot of your page and open it up in Photoshop (or another graphics program).
  2. Create a new design for your widget so that it's exactly how you want it.
  3. Cut up your graphics using my new graphics as a template.
  4. Put your new graphics online somewhere (I've put mine in the graphics file of my own website, but you could use Blogger).

In part 3 you will reconfigure the code:
  1. Take a copy of my HTML.
  2. View your piece of AffiliateBrand JavaScript in a browser and replace my iFrame code with your own.
  3. Replace the links to my graphics in my HTML with links to your graphics.
  4. Replace the JavaScript in your Page Element with the new HTML.
  5. Save and view your restyled widget on your blog!

Step 1 - Register with AffiliateBrand and get your JavaScript
Go to Enhance Your Blog With AffiliateBrand Blog Window Widget and follow the instructions. They're pretty self-explanatory. One thing to note: they mention in their instructions adding two pieces of JavaScript, but I think that's out of date - there's only one piece now. You'll see that when you follow the process through.

Step 2 - Add the JavaScript to your blog within a Page Element in your Template
There's more info on how to do this in my original post on the subject - Blogger beta - Most Popular Posts widget - you can ignore instructions 1-5 (they're no longer necessary) and start at step 6.

Step 3 - Style the inner part of the widget (the list of your most popular posts) by creating your own stylesheet and modifying it
There are details on how to do this in my original post - Blogger beta - Most Popular Posts widget. Scroll down to the second image on the page where it says "Let's assume everything went as planned and your widget is in place and starting to populate itself. What else can you do to it?" and start from there... Follow the instructions and when you're done, it's time to move on to Part 2 - the graphics.

Technorati tags: , , , , , , , , , , , , .

Read the full post

Friday, May 25, 2007

Unsubscribe from the DCCC!

I received this email from the DCCC today:

Breaking News: Because of your help, the House just passed legislation that will go to the White House that includes critical issues Democrats have been fighting for including: canceling the President's blank check in Iraq, raising the minimum wage, and increased funding for military health care and veterans' benefits, and help for victims of Hurricane Katrina.

Dear webweaver,

Two weeks ago, President Bush vetoed our legislation to demand accountability in Iraq and declared he would only sign a bill without any accountability for his management of the war.

Now, the President has agreed to accountability and reporting provisions. That means for the first time we can force the President to be held accountable for his endless war in Iraq. We canceled the President's blank check in Iraq.

Why the sudden change? It's because of you that we have taken this first important step. You stood with us here at the Democratic Congressional Campaign Committee (DCCC) every step of the way. You signed petitions against the President's failed policies, spoke out on the need to change course in Iraq, and wrote letters-to-the-editors in support of the issues Americans care about.

As the President's resistance shows, there is no quick and easy way to end this war.

As Speaker Pelosi said today about the vote, "This debate will go on." Democrats believe ending this war is a step-by-step process and today marks a significant step in this direction.

I will need your help again to take the next step in our fight to end this war. Tomorrow, Democrats in the House will announce a new plan to bring legislation forward that includes timetables.

They will need your help to make this a reality. Together, we have come this far and I know together we can do even more. It will take both sides working together to truly bring this war to a successful and responsible end. That's why I need you to do even more to speak out and voice your support. You can do so at our DCCC Iraq Resource Center.

Today marks a new beginning for America. We took a step forward together as a nation - away from the failures of the President's policies and toward a more hopeful time. Democrats are committed to redeploying our troops and ending the war in Iraq once and for all. Our commitment will never change and our dedication will never stop.

I hope I can count on your continued support.


Brian Wolff
Executive Director

P.S. – The fight to end the war in Iraq is far from over. With your continued help, we will keep up the pressure on the President to listen to the advice of his commanders and the will of the American people. But we will only succeed if we move forward together. Please visit the DCCC's Iraq Resource Center and get involved in the fight today.

Here is my reply, which I sent to

Re: Breaking News

Dear Brian Wolff,

Today you sent me an email entitled "Breaking News". You said you hoped you would continue to have my support. You do not. I'm writing to tell you why I am unsubscribing to your emails.

The Dems' votes for capitulation on Iraq Funding today disgusted me. Today you voted to enable Bush's war to continue AND got yourselves labelled as spineless cowards by the MSM, and by the 70% of Americans who want this bloody war stopped. What a complete fuck-up!

How dare you try to spin this betrayal as anything else other than giving Bush everything he wanted - and more.

Do not send me any more emails. I will not be reading them.


Then I clicked on the "unsubscribe" link at the bottom of the email and unsubscribed from the DCCC's email list. You might like to do the same, if you received this email and, like me, are dismayed (that's a bit of an understatement!) by the caving in of the Democratic Party today. Not to mention their pathetic attempt to spin it as a victory!

I think it might be good for the DCCC to receive thousands of "unsubscribe" requests over the weekend.

And if you'd like some inspiration for what to write in your email to the DCCC, check out The Insulting Email of the Day at Daily Kos. There are MANY ideas over there!

Technorati tags: , , , , , , , , , , , , , , , .

Read the full post

Thursday, May 24, 2007

Olbermann on betrayal by... well, just about everyone, really

I realised a long time ago that "the left" in America was far from "the left" I knew back in Britain and Europe. Far to the right, that is.

In comparison with "Old Europe", America has two right-wing parties - The Democratic (right-wing) Party and the Republican (extreme right-wing) Party. America has no left-wing parties. Unless you count poor old Ralph Nader and the Greens, that is. But the Liberals and Progressives hate Ralph almost as much as they hate Bush, so there you go. Right and Righter.

Over the last six years, though, my attitude to the Democrats has softened (basically because I loathe Bush, and they're his only opposition!), and I've supported them (from afar), rooted for them, stayed up late to watch them win, spent an inordinate amount of time reading about them on Daily Kos and generally felt a considerable amount of empathy with them.

Really, I shouldn't have bothered. How silly of me to think that the Democratic Party might actually grow a spine, let alone a pair of balls! How silly of me to hope that a party I can plainly see is far, far to the right of anything I'd ever vote for, would actually have the courage to Do The Right Thing for a change!

Despite the fact that 70% of Americans (and about 110% of the rest of the world) want the War On Iraq to end tomorrow (if not sooner), and that the Dems were voted their majorities in the House and Senate for the express purpose of getting the bums out and stopping the war, they still can't do it. They're still so terrified of being branded as "against the troops" or "soft on terror" that they've folded, caved in, and are about to hand Bush all his demands on a plate. Until the mythical month of September rolls around, of course! Then they'll get him! Yeah right.

How completely pathetic, and how entirely predictable. How can they not see that it doesn't matter that you don't have the votes to override a veto right now - you just keep on sending the original Bill back to him again, and again, and again - all the time pushing the point that it's Bush and the Republicans that are refusing to fund the troops, and that it's Bush and the Republicans who are refusing to listen to the voice of the American people (and the rest of the world) and stop this bloody war.

The progressives in America are mad as hell about this complete capitulation by the Dems - and you'd better believe they won't forgive in a hurry. Not this time. Right now the only two Democratic candidates they're willing to support are Senator Dodd and Senator Edwards (and Russ Feingold of course - wish he was standing!) - because they're the only ones who've spoken out against this new Iraq Funding Bill. Antiwar Groups Press Democrats to Vote Against Iraq Bill.

America, you are so screwed. Better get on the streets and start raising hell, because if you don't - well - IMO you're going to lose the few freedoms you have left. And this phony war is going to continue until at least 2008 - if not beyond.

In today's Special Comment, Keith spoke about betrayal. Betrayal of the American people and the troops by Bush AND by the Democratic Party. Here he is:


I know, I know, my man Keith often makes me go "wow" (and other things, besides!) but once again he's completely outdone himself.

Some choice quotes from the transcript - available in it entirety at The entire government has failed us on Iraq:

Few men or women elected in our history - whether executive or legislative, state or national - have been sent into office with a mandate more obvious, nor instructions more clear:

Get us out of Iraq.


You, the men and women elected with the simplest of directions - Stop The War - have traded your strength, your bargaining position, and the uniform support of those who elected you... for a handful of magic beans.


How shameful it would be to watch an adult... hold his breath, and threaten to continue to do so, until he turned blue.

But how horrifying it is… to watch a President hold his breath and threaten to continue to do so, until innocent and patriotic Americans in harm’s way, are bled white.

You lead this country, sir?

You claim to defend it?

And yet when faced with the prospect of someone calling you on your stubbornness - your stubbornness which has cost 3,431 Americans their lives and thousands more their limbs - you, Mr. Bush, imply that if the Democrats don’t give you the money and give it to you entirely on your terms, the troops in Iraq will be stranded, or forced to serve longer, or have to throw bullets at the enemy with their bare hands.

How transcendentally, how historically, pathetic.

A while ago Keith was asked whether or not he thought his opinion was partisan, and biased against the Republicans. "No," he said [I'm paraphrasing here folks] "I see myself as an American first and foremost, and if the Dems screw up, I'll be at the front of the line, giving them an equally hard time."

Which I guess is what we saw tonight. Good on you, Keith.

And here's Jon Stewart's Daily Show take on it. I particularly like:
When the disembodied voice on C-Span calls you pussies, you're probably pussies...

Technorati tags: , , , , , , , , , , , , , , , , , , , , , , .

Read the full post

Wednesday, May 23, 2007

Farewell to FreeHand?

Design in FreeHand by Wow Web Designs. Awww maaaannnnnnn!

Remember when Adobe merged with Macromedia? We took a look at the new website the day it was announced, and were dismayed to see just how much Adobe branding there was - and how little of the Macromedia branding was left. We worried then that Adobe would slowly kill off the best of Macromedia's software - leaving the field free for all of the competing Adobe software to take precedence.

Seems like it's happening - with Adobe's announcement that they're going to abandon FreeHand and push Illustrator instead. Bloody hell!

I don't want to learn another piece of software, thanks! I'm perfectly happy with FreeHand! It does what I want it to do - I mostly use it for putting together website schematics to show clients - and I don't need anything else. And who has the time to learn new software when deadlines are looming?

Listen Adobe, I love Photoshop - it's definitely my graphics software of choice - I like it far more than Fireworks. But when it comes to illustration tools, FreeHand's all I need. Plus I don't think you have any illustration software that can do multiple pages, do you? Or at least, not one that does all the other things I need it to do!

Seems to me that the reason for this decision (like so many others) comes down to the almighty dollar. Adobe can't be bothered to continue to develop FreeHand, even though it's a great piece of software, because they'd rather spend more money on their own stuff (even though they supposedly merged with Macromedia). It pisses me off! It's not broken - why are you throwing it away? Why are you throwing away all that developmental work, all those person-hours that must have gone into creating Freehand? What a waste.

Well, I'm not switching. I'm sticking with FreeHand for as long as I can. I'm not spending my hard-earned $$ on another piece of software just because you say so! And Adobe - you'd better not think of messing with Dreamweaver! Just. Don't.

Technorati tags: , , , , , , , , , , , .

Read the full post

Tuesday, May 22, 2007

Impeach Gonzales

Bush won't fire Attorney General Alberto Gonzales... but YOU can!

Robert Greenwald and the Brave New Films team bring you...

You can sign the petition at Impeach Gonzales, you can read an op-ed piece in the New York Times - He's Impeachable, You Know, and if you want to know more about just why Gonzales needs to go, you can read a whole bunch of articles at the Washington Post - U.S. Attorney Firings Investigation.

Technorati tags: , , , , , , , .

Read the full post

Friday, May 18, 2007

Harry Potter and the Deathly Hallows - the last sentence

Continuing with the Harry Potter theme... let's see how the last sentence (or two or three) might pan out... :)

We know the last word of Harry Potter and the Deathly Hallows is "scar" (probably!) so how about:

"Hurry up Harry, finish your toast or you'll be late for your first day as Minister for Magic," scolded Ginny playfully, as she kissed him lovingly on the top of his forehead, brushing her lips across his scar."

"Harry!!!" screamed Luna, "Quick! Over here before Voldemort comes back! I can see a way out!" Harry grabbed his wand and raced across the cave towards her, but he was only halfway across the stone-covered floor when he felt a sharp pain sear through his brain. The last thing Harry ever saw was an intense flash of green light, and the last thing he ever felt was blazing green fire pulsing across his scar.

"Oh crikey Hermione! Don't die now! We've just beaten Voldemort in the final apocalyptic battle - and I love you!!" cried Ron. But it was to no avail. Hermione, mortally wounded, expired in his arms. "Bummer!" thought Harry, "at least the worst I have to show for my battles with Voldemort is this stupid scar."

As Voldemort kicked aside the pile of ashes that was all that remained of Harry Potter, he felt a strange prickling sensation on his forehead. He reached up with a clawlike hand and felt something that he'd never felt before - the raised edges of a lightning-shaped scar.

"Come here Potter!" hissed Snape venomously. "You're mine now - and this time you won't get away. I have your wand, and all your silly little friends are dead. They can't help you now!" And with evil in his eye, Snape aimed his wand directly at the centre of Harry's scar.

"Blimey, Neville," said Harry. "I can't believe it! Not only did you kill Voldemort and 113 Death Eaters single-handed - and brought Sirius back to life - but you also scored the wonderous Ginny in the process! I thought I was supposed to do all that!" "Oh Harry you idiot" sighed Neville. "Don't you understand we had to convince everyone that you were The One, leaving the way clear for me to fulfil the prophesy? That's why we marked you as a baby with that totally fake scar!"

Heh. Go on - you do one!

Technorati tags: , , , , , , , , , , , , , , , , , .

Read the full post

Thursday, May 17, 2007

Making plans for Harry

Harry Potter and the Deathly Hallows - front cover. No - I'm not talking about Harry Wales (that's 3rd in line to the British throne to you!) - although I note with interest that he's not going to Iraq after all. What a surprise! Ah well, guess Cornet Wales will have to sit on his arse at home while his men go off and do their thing instead. Wonder how they feel about that?

But anyway, I digress. I'm talking of course about making plans for Harry Potter - or more specifically, the release of Book 7 - Harry Potter and the Deathly Hallows. We all need a plan for momentous occasions such as this :)

I was at Dymocks the other day, ordering 2 Harry Potters - one for me, one for Alice (hey Alice! What's up with the NOT blogging, dude?) - and I was thinking, as you do, about getting the book in my hot little hands and settling down to read it.

I plan to read it in as short a time as possible (the first time!), so I get to the end without knowing in advance what happens. I neeeed to read it without knowing!

This involves some pretty tricky planning:

  1. Get to Dymocks in plenty of time on Saturday 21 July (books go on sale at 11.01am NZ time).

  2. Get in queue with hundreds of other kids (!).

  3. Plug into iPod, select Punk and New Wave playlist and turn it up really loud.

  4. Don't look at anyone or anything. Keep eyes firmly focused on the ground at all times.

  5. Get my hands on the books as fast as possible and high-tail it out of the shop.

  6. Do not switch on the car radio.

  7. Look at nothing but the road on the way home.

  8. Drop Alice off at her place (allow her to get her hands on her copy of the book only as I'm driving away at high speed - just in case)

  9. Lock myself in the house.

  10. Open the book and start to read.

  11. Do not watch TV.

  12. Do not listen to the radio.


  14. Do not read the paper.

  15. Do not answer the phone.

  16. Do not answer the door.

  17. Do not allow flatmates into house until I've finished.

I'm serious! (well ok, maybe I'm exaggerating just a little) - but really - can't you picture it? The ending'll be on the 6 o'clock news! It'll be across the front page of all the papers! If I'm not careful - if I don't turn my iPod up really loud - some 8-year old in Dymocks will yell "Mummy!!! Harry DIES at the end!" or "Mummy!!!!! Snape's a Death DEATH EATER!!!" and I'll hear them - and it will be all over.

Because I really, really don't want to know the ending before I get there...

Maybe I should take the day off on the Monday, just in case I haven't finished it by the end of the weekend...

So tell me - when you get hold of your copy of Harry Potter and the Deathly Hallows - are you going to turn to the last page and find out what happens?

Technorati tags: , , , , , , , , , , , , , , , , , , , .

Read the full post

Smack no more!

Child protesting against smacking. Hooray! The Crimes (Substituted Section 59) Amendment Bill was tonight given its third reading and was passed by Parliament by a vote of 113 to seven. Fantastic! I'm very, VERY happy about that - and so pleased that MPs on all sides decided to be grownups about the whole thing, and found a way to compromise, and were able to come to an agreement on the issue.

Here's Sue Bradford's speech that she gave in Parliament tonight, in support of the bill. It's so good I think it deserves quoting in its entirety. Thanks to the Green Party for making it available. And thanks SO much to Sue and all the Greens for having the balls to make this legislation happen. I'm so proud of you all. And I'm a little bit prouder of New Zealand tonight than I was a few weeks ago.

Sue Bradford MP, Green Party Children's Issues Spokesperson
Third Reading, Parliament, 16th May 2007

Madam Speaker,

I move that the Crimes (Substituted Section 59) Amendment Bill be now read a third time.

Nearly two years ago my private member's Bill to repeal s59 of the Crimes Act was drawn from the parliamentary ballot. While I was certainly well aware of the controversial nature of this issue after facing hostile audiences on various election platforms around the country, little did I realise back then the full extent of the difficulties that were yet to come.

I came to Parliament after many years of working for the rights of unemployed people and beneficiaries and was very used to our groups and ourselves being seen as outcasts, korotake, blamed and despised. I was used to being physically assaulted on street protests and often enough arrested as well.

However, none of that quite prepared me for the level of vitriol and the ugly lies and threats cast at myself and others simply for standing up for the right of our babies and children to live free from violence.

I thought in a country that prides itself on being a great place to bring up kids and where people from all parts of society talk constantly of their love for children that it would be like motherhood and apple pie to work for a law change that benefits children.

Instead, the debate over whether or not to get rid of the defence of reasonable force for the purpose of correction has shown quite starkly that some people believe the right of parents to legally beat their children is so important that some of them have stooped to threats of violence and other abhorrent tactics.

However, it has, in the end, been a wonderful thing that despite the ugliness of some aspects of the public discourse, so many members of Parliament from almost every party have chosen to support my Bill in its amended form.

I acknowledge and thank all involved from all sides of the house for your support within this outbreak of consensus politics, and I regret on behalf of Peter Dunne and Judy Turner that this Bill has seen their party break apart because someone is so dedicated to fighting for the right to beat children that they've abandoned their allegiance.

The Bill in front of us tonight fulfils my original goal of removing the reasonable force defence while at the same time dealing with some of the fears expressed at different times by both the Labour and National caucuses and by some members of the public.

The Labour-led amendment which came out of our select committee consideration of the Bill is aimed at reassuring parents that they won't be prosecuted if they use reasonable force to do things like putting a child in a room for time out, forcibly removing a child from danger, or restraining a child from causing damage to people or property.

I am aware that some lawyers believe that this new clause may be misused as a legal defence for having hit a child as part of control and because of this I believe that its use as a defence in future must be monitored to ensure that it is not used this way in practice.

The second significant amendment to the Bill has been the one put forward just two weeks ago by Peter Dunne and agreed to by both Labour and National through John Key's leadership, encapsulating within the Bill the long-established police discretion regarding the action they take when deciding whether or not to prosecute in very minor cases where there is no public interest in proceeding.

This new clause simply affirms in law what is standard police practice under their prosecution guidelines but I think it is useful in helping to calm some of the unnecessary fears driven up by the Bill's opponents.

Neither the Select Committee, myself or anyone else supporting the Bill has ever intended that all parents who ever lightly or occasionally hit their child should be subject automatically to investigation and prosecution.

What we have been simply seeking to do is to remove a defence which has allowed some parents to get away with quite badly beating their children, and most significantly, has stopped police taking action in many situations of violence against children.

Some of the most powerful submissions during the Select Committee process came from paediatricians who talked about the injuries they see constantly, and of how most of them are inflicted in the name of child discipline.

Only last week we were made all too aware of the case of the three year old Otara boy who was killed as a result of beatings inflicted in the name of toilet training. The police officer who led the investigation, Detective Senior Sergeant Richard Middleton said, among other things, "What I will say is keep your hands off your kids. Don't hit them. It's not on. There's no need for it."

I think it's a red letter day when a senior police officer feels able to make such an unequivocal statement in the national media. Police, like paediatricians, see the daily consequences of what happens when people assault their kids just to teach them a lesson.

Some people say that smacking or spanking isn't violence. I say to them - what else is it? If a burly gang member much larger than you smacked you in the pub tonight, what would you call that?

Some people say that the deaths of children like James Whakaruru or the Otara boy have nothing to do with this Bill - well I say they have everything to do with it.

There is a spectrum of violence used against our babies and children and one person's light occasional tap is another person's beating or shaking to death, all in the name of so-called correction.

I've been much criticised by the Bill's opponents for my unwillingness to support the earlier amendment put up by National MP Chester Borrows, which attempted to define the nature and level of force that parents could legitimately use on their kids.

I will simply reiterate once again that to support any such definition would make things even worse for kids by having the state define acceptable violence, and by entrenching the legal and social concept that it's OK to beat children but not OK to beat adults.

It is important that as we finally vote this Bill into law we also look forward to what else needs doing. Law change alone is not enough.

To be really effective, the Bill we are passing tonight needs to be accompanied by a well planned public information campaign telling people the intentions and implications of the law in a way that doesn't make people feel frightened or guilty.

The Government also needs to make a commitment to maintain and extend the SKIP programme so that strong, clear messages about alternatives to physical discipline are available to all parents around the country.

Funding for community groups that support children, parents and families needs to be increased.

We need research and monitoring of the attitudinal change that I feel sure will result from this new law, as it has already during the two years of the public debate.

The interpretations of the new law and its implementation by courts, police and CYFS all need to be monitored as well, and I welcome the two year review instigated by the Minister.

I also strongly recommend that the Government work closely with the relevant NGOs following the Bill's passage on an action plan to ensure that the best possible outcomes are achieved for children and families.

In conclusion, I would like to take just a moment to thank some of those who have played such a critical role in championing and supporting this Bill to the stage we're at tonight.

There are an enormous number of organisations who have worked tirelessly for reform over the last two years including Plunket, Barnardos, Unicef, Save the Children, the Families Commission, the Office of the Children’s Commissioner, EPOCH, Every Child Counts, the Body Shop, Child Poverty Action Group, Parents Centres and many others. I am sorry I can't name you all.

There are also many individuals who have played a key role - people like Beth Wood, Mike Coleman, Deborah Morris-Travers, Megan Payne, Ian Hassall, Cindy Kiro, Jane and James Ritchie, Kaye Crowther, Robert Ludbrook, Sonya Hogan, Rhonda Pritchard and David Kenkel - and again I apologise for only being able to mention so few of you.

I'd also like to say a special thanks to the Reverends Anthony Dancer and Margaret Mayman and all the other clergy involved in hosting the moving ecumenical service two weeks ago, and in mobilising Christian support for the Bill.

I would like to acknowledge the huge amount of work done by the MPs and officials involved in the very long Select Committee process, including the sterling efforts of our PCO counsel, Elizabeth Grant.

And finally I'd like to say a huge thanks to all the MPs who stood firm in support of this Bill during some fairly dark days, including Helen Clark and the Labour caucus, the Maori Party caucus, all my own Green Party colleagues, Peter Dunne, Brian Donnelly, Doug Woolerton and Katherine Rich - you are all heroes in your commitment to a vision of a country where children will finally receive the same legal protection as adults.

And I also acknowledge the lead John Key took in working to find a way through a seeming impasse so that his party too can lend its full weight to the mana of this Bill.

But in the end this Bill isn't about us here in Parliament or indeed about adults at all.

It is about our children and what I believe is their God-given right to grow up secure in the love of their family, valued as equal citizens to the rest of us and without the constant threat of legalised violence being used against them.

Technorati tags: , , , , , , , , , , , , , , , , , , , .

Read the full post

Wednesday, May 16, 2007

David Bain - free at last

David Bain. I always felt uneasy about the David Bain conviction. Something didn't feel right about it, somehow. I'm happy that the Privy Council have found that he was the victim of a "substantial miscarriage of justice".

It was lovely seeing David's smiling face with its ear-to-ear grin on the front page of the paper today. It made me smile, too. How must it feel to suddenly be out in the world again, after 13 years inside? And the media scrum? What a crazy amount of media/public interest! I bet he's completely taken aback by absolutely everything...

I suppose the thing that's surprised me most about the latest events in David's life has been the response of yer average Kiwi. I didn't realise just what a high proportion of people think that he at least deserves a second hearing - with some calling for his immediate release and an official pardon. Or at least, that's been the verdict on the New Zealand Herald's Your Views pages this week.

Just to recap... there were nine key factors which, when taken together, influenced the Privy Council's decision that Bain's convictions should be quashed:

  1. Robin Bain's mental state
    The jury did not know that Robin, a school principal, was "seriously disturbed" or that children at his school were writing sadistic stories, including one about the serial murder of family members.

  2. Motive
    The jury did not know that Robin was facing claims of incest from his 18-year-old daughter, Laniet - a possible motive for murder.

  3. Bloodstained socks
    David's feet were about 20cm too big to match bloodstained sockprints found all over the house but the prints were the right size for Robin.

  4. When computer was switched on
    The prosecution claimed the computer was switched on at exactly 6.44am - just after David returned from his paper round - but it might have been turned on earlier by Robin.

  5. When David returned home
    A witness identified David returning home at 6.45am, possibly too late to have murdered his father.

  6. The glasses
    David said he was wearing his mother's glasses but the jury was wrongly told they were his own - an error which may have reduced his credibility in their eyes.

  7. The misplaced lens
    The jury was told the left-hand lens from the glasses was found on the floor on Stephen's bedroom near his body - in fact it was lying under a skate boot and a jacket.

  8. The bloody fingerprints
    David's fingerprints on the rifle may have been bloody from shooting rabbits or possums months earlier.

  9. Laniet's gurgling
    The Privy Council said the Court of Appeal was wrong to dismiss defence claims that Laniet could have already been dead when David heard gurgling noises coming from her body.

That's a lot of evidence the original jury never got to hear...

I guess I'm happy with the fact that, after all these years, David has another chance to clear his name - and, if the police decide to have a retrial, they have another chance to convict him - with all the evidence out in the open this time.

Because in the end, I think what matters is the question of "reasonable doubt". With all that additional evidence, don't you think at least one person on the original jury might have believed that the prosecution's case was not proven beyond a reasonable doubt? I do.

Technorati tags: , , , , , , , , , , , , , , , , .

Read the full post

Sunday, May 13, 2007

What would Google say - about global warming?

Found this at frogblog - I think it's pretty cool.

What do you get if you:

  1. Do a Google image search on "global warming"

  2. Grab the first 200 images that come up

  3. Upload all the images into Adobe Premier

  4. Set them to a funky soundtrack (in this case it's Rob Dougan's "Clubbed to Death" from the Matrix soundtrack)

  5. Put it on YouTube and write a blog about it

You get this:

Pretty cool! (or warm...)

The author of this video (and blog) is planning to do a whole series on WWGS - the next one's on the search term "Darfur", and they're inviting people to make their own videos too. Check it out!

Technorati tags: , , , , , , , , , , , , , , .

Read the full post

Friday, May 11, 2007

New Google UI sightings

It's late, and I'm tired, so I'm just going to shamelessly borrow all of Ross's words of wisdom about the new Google UI that he came across the other day (hope you didn't copyright your email, Ross - and thanks for letting me blog about it!). Here's the UI:

Experimental Google UI.
[click the image to get a full-size view of it]

And here's what Ross had to say:

I was using some random machine last night, and luck of the draw got me a variance of the standard google UI that is probably being floated randomly for testing...

The left nav is actually quite interesting... the person whose computer I was using said "oh wow, you can use google to search for images too!".... interesting that google consider their top tabs to maybe be not that obvious and are testing this side nav approach... also, as the options grow, this would allow for a much more efficient long list than the horizontal tabs... "books" and "video" appear to be the new additions... maybe they want users to notice these options, specifically the new ones ;)

They've also cleaned up the results header... no longer a blue bar with the word 'Web' on the left, and the results all the way on the right.... just remove the web word, and bring the results number into a higher visibility space..

There's also some inconsistency with the "more results" text.. in the second instance it is surrounded by square brackets...not sure why... coz it's a wiki?

Sadly, as soon as I clicked images or did another search, it jumped back to the old interface... so no more playing beyond this screenshot...

the truth is out there....

Technorati tags: , , , , , , , , , , , , , , , , , , .

Read the full post