My Experience Trying To Trade-In A Device

I normally sell or hand down my old tech to friends and family, but I decided to give one of these tech trade-in companies a whirl. When handing my things down, I ask for little to no money for the device, since I can’t justify high prices to my closest acquaintances. Of course, nothing goes easily, so here is my account of my experiences.

TL;DR Selling to Amazon and Gazelle can lead to a bumpy ride

Amazon.com Trade-In Store

My first attempt was with Amazon. I’ve shopped there for years, I’m a Prime member and a good friend just sold the exact same device and got a pretty good deal.

Amazon’s process is as follows:

  1. Tell them what kind of item you have.
  2. Get an estimate of the value of your goods.
  3. Print out a free shipping label.
  4. Box up your items and ship them out.
  5. PROFIT!

I grabbed my original iPad, packed it my iPad 3 box, put that in another box with packing material and shipped it off. This is cheap shipping, so I waited about a week. Finally, an email showed up. How much money was I going to get? I was estimated ~$220.00. Amazon’s offer: $0.00.

What?! The Trade-In site claimed the device had minor cracks and dents. I fired off an email to Amazon to ask what happened. The device I sent was used, but it was in perfect working condition. Did UPS break it? Did Amazon break it?

The response I received can be summed up as:

  • Sorry for the problems…
  • Our system says the problem is Minor cracks or dents.
  • Here’s a $50 credit for your problems.
  • We’re sending your device back to you.

At this point, I was fuming. I went from a device I could have gotten $200+ dollars for, to a $50 Amazon credit and broken iPad. The device showed up a week later. I cautiously opened the box and to my surprise, the iPad was in the exact same condition I sent it in. I plugged it in, powered it up and had a fully working iPad. The only “problem” with it was a drained battery from being in the mail for 2 weeks. I tested it to make sure there wasn’t a faulty battery, but all of my tests came back that this device was fine.

Hmmm…

Gazelle

Since I again had a fully working device, I decided I’d try Gazelle. I’ve seen the TV ads, I’ve heard the commercials on podcasts, so why not try it out. Couldn’t. Be. Simpler.

Gazelle’s process is as follows:

  1. Enter the devices you want to trade-in.
  2. Get an estimate of your trade-in value.
  3. Wait for a box to show up in the mail.
  4. Send off your device.
  5. PROFIT!

So, I went through the same steps. Pack it up, ship it off and wait. After about a week, I receive my first email, stating they received my package and that they will be checking it soon. The next day, I receive and email that they haven’t received my package yet.

Great! Another issue with this trade-in. An email conversation over the next couple of days assured me that they did have the device and the second email was just a glitch. They were currently overwhelmed, being the week before the iPhone 5 announcement, and that they will process the device soon.

A couple of days later, I get my offer email. Gazelle was originally going to offer me ~$180 for the device. The offer: $40.00. The device does not power on.

Again?! Trying to contain my rage, I email Gazelle and politely ask them to try again. The device has been in the mail and in warehouses for 2+ weeks, so the battery is probably drained. The support person said they would check it again.

Two days later, I get another email from Gazelle. The summary: “You’re right, we’ll send you $180.”

Victory!

The Moral of the Story

I’ve had friends that have had no issues with these services. I’ve heard testimonials from trusted podcasters that this stuff is simple and quick. After over a month of stress, I went from ~$220 in store credit to $230 in cash and in store credit.

Unless the offer is amazing, I’m going back to hand-me-downs. I don’t have time to deal with managing this process.

My Experience Trying To Trade-In A Device

Making an Image-Flip Proxy

There have been many articles about creating a proxy server that flips or distorts images that pass through it. They are hilarious, but they tended to lack in certain details. This article will detail how to set up the OS, proxy and routing, giving you the option to either use it directly as a proxy or gateway server.

This is also very quick and dirty. It is meant to get you started as quickly as possible. This means any longevity or security concerns are ignored. You have been warned.

The original idea came from here.

Setting Up An OS

The proxy is based off of a default install of Debian Lenny from the netinstall iso. It can be found here.

For the OS install, you can accept the defaults for almost every option. There are two cases to watch out for. First, you will be prompted to confirm all of your partitioning options before proceeding. The default option is to cancel. The second case is the additional software options. I unchecked the “Desktop Environment” option, since this is going to be server.

Once the OS is installed, log in as root and run the following commands to prepare our environment:

apt-get install squid3 apache2 imagemagick  
chmod -R 777 /var/www

Configuring the Proxy

Open the /etc/squid3/squid.conf file in your favorite editor. Near the top of the file is a configuration option for http_port. Change it to look like the following:

http_port 3128 transparent

Next, find the line that begins with INSERT YOUR OWN RULE(S), which should be around line number 2138. Below that line, add the following to allow your private network access to your proxy. Make sure to change the it for your network.

acl lan src 192.168.1.0/24  
http_access allow lan

Lastly, go to the bottom of the file and add the following line. This is the magic which will flip the images for you.

redirect_program /usr/local/bin/flip.pl

Save the file and exit your editor.

The Flip Script

Edit the file /usr/local/bin/flip.pl and add the following to it:

#!/usr/bin/perl

$|=1;  
$count = 0;  
$pid = $$;  
while (<>) {  
    chomp $_;  
    if ($_ =~ /(.*)(\.jpg|\.png|\.gif)/i) {  
        $url = $1 . $2;  
        system("/usr/bin/wget", "-q", "-O","/var/www/$pid-$count$2", "$url");  
        system("/usr/bin/mogrify", "-flip","/var/www/$pid-$count$2");  
        system("/bin/chmod", "777", "/var/www/$pid-$count$2");  
        print "http://127.0.0.1/$pid-$count$2\n";  
    } else {  
        print "$_\n";  
    }  
    $count++;  
}

The script is fairly simple. Squid passes URL’s to the script. If the URL ends in image type, it is pulled down to root of our web server. Mogrify then modifies the image in place. Lastly, it tells Squid to pull the image from our webserver instead of the internet. If the URL isn’t an image, we just dump the origin URL back out.

Once the file is in place, make sure to make it executable.

chmod +x /usr/local/bin/flip.pl

You should have enough to test. Restart Squid with the following:

invoke-rc.d squid3 restart

You can now set up any browser to use the server as a proxy on port 3128. If you visit a page you have been to before, make sure you refresh a couple of times. Your browser might have cached the images locally, which means they won’t go through our proxy.

Making A Transparent Gateway

The last part of the process is to make the server a gateway which will transparently redirect web requests through the proxy. Create the file /etc/network/if-up.d/00-firewall and add the following to it:

#!/bin/sh

PATH=/usr/sbin:/sbin:/bin:/usr/bin

#  
# delete all existing rules.  
#  
iptables -F  
iptables -t nat -F  
iptables -t mangle -F  
iptables -X

# Always accept loopback traffic  
iptables -A INPUT -i lo -j ACCEPT

# Allow established connections  
iptables -A INPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT  
iptables -A FORWARD -i eth0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow outgoing connections  
iptables -A FORWARD -i eth0 -o eth0 -j ACCEPT

# Masquerade  
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

echo 1 > /proc/sys/net/ipv4/ip_forward

Now make the the script executable and restart the networking.

chmod +x /etc/network/if-up.d/00-firewall  
invoke-rc.d networking restart

At this point, you should be able to set any computer’s default gateway to the IP address of your server. You don’t need to set a proxy address for your browser. Everything is now routed and all HTTP requests are redirected through the proxy.

Making an Image-Flip Proxy