People should really erase their tablets before selling them (p.s. I have a Kindle Fire now and you don’t so ha-ha)

What a waste of an e-reader.

What a waste of an e-reader.

Note that I actually wrote this thing in late October 2012 and forgot to post it after, you know, getting my ass handed to me by Sandy. I checked my records and it looks like October 22nd was the day I got the Kindle Fire. That means I had a grand total of 7 glorious days to play with it.

I’m perpetually a generation behind. As is my wont, I went ahead and purchased a Kindle Fire the other day, shortly after reading about it’s successor, the new Kindle Fire HD. I have a Nook Color on which I run Cyanogenmod 7 and love it, but I found a good deal on a Kindle Fire listed as “bad battery” on eBay. Well, it turns out the USB port is the problem, not the battery. The USB port must be coming loose from the mainboard because it won’t charge unless it’s held in a certain position. Presumably this is why the seller took it to be a bad battery.

In any case, though I deny all accusations of being a stalker, I do enjoy the sort of voyeurism purchasers of used tablets are given opportunity to enjoy. The previous owner of the last tablet I bought seemed to use the device for nothing other than logging into his profiles at multiple online dating sites. Other than a few shirtless pictures of what I presumed to be him taken in front of a mirror using the built-in camera, there were hardly any multimedia files on the device at all. I checked the man’s email (which he had neglected to log out of) and found that he used it for nothing other than dating sites. He had even received via email nude pictures from a few ladies. He left himself logged into Facebook, too. I had a look at some of his friends’ profiles but got bored quickly. There weren’t any naughty or incriminating pics. Nonetheless, there was enough information available to me so that I could have found out where his house was and gone to kill or burglarize him had I had the mind to.

So it’s a fun thing to do, snooping through the stuff left on pre-owned devices, that is, not killing people. Of course, I always restore to factory settings after getting bored perusing the previous owner’s emails and other personal information and it should go without saying that I’d never actually reveal information that could be used to personally identify the previous owner or take advantage of it, since I’m an ethical sort of person. But I certainly could, if the mood struck me.

It’s both funny and a bit frightening that people don’t take the precaution of removing personal information from devices before selling them or giving them away. Sometimes it’s understandable, such as in the case of tablets with cracked screens. But other times, such as with this Kindle Fire or the shirtless man whose email I was able to read, there’s no explanation other than carelessness. On the other hand, most people, I would hope, even if given the opportunity to log into the previous owner’s online accounts, would take the high road and refrain from doing anything naughty, instead simply chuckling privately at the previous owner’s quirks and vices and then promptly wiping the device.

Pages and pages of novelty apps.

Pages and pages of novelty apps.

When you buy something like a Kindle Fire, you expect there to be some books on it. My generation 3 Kindle keyboard had lots of books on it when I got it, including Fifty Shades of Grey. Incidentally, an e-book reader is the best way to read a book you’re too embarrassed to be seen with. This Kindle Fire is well-used yet there’s not a single book on it. The reason I know it’s well-used is because of all the non-book shit left on it. There’s several hundred megabytes of useless apps on here. There’s a baby adoption app, ice cream shop simulator, daily joke, truth or dare, child lie detector, and something called “Fake iPad” which, when opened, simply throws up an image of an iOS screen to make your tablet look like an iPad. There are pages and pages of apps like this. Almost none of them do anything useful.

Out of the countless apps on the device, there are only a few that I would ever consider choosing to reinstall after I restore this device to factory settings and register it to myself. Pandora radio is one of them. Christmas is coming and I refuse to buy an entire album just to annoy my family with Wham’s “Last Christmas (I Gave You My Heart)”. The previous owner and I differ in our taste in music though. I opened up the Pandora app (which logged me into her account automatically) and the sounds of ‘Lil Wayne immediately spread through the entire apartment because the previous owner had left the volume set to maximum. This, by the way, was my first opportunity to listen to the speakers of the Kindle Fire which, I was pleased to learn, are incredibly loud and clear. I’m not an audiophile by any means and don’t know the first thing about speakers so I’m not speaking from a technical perspective, but from a practical one there’s no question that they’re much better and significantly louder than the speakers in my Velocity Cruz PS47, T301, or Nook Color. Heck, they’re actually a lot louder than the speakers in my Acer laptop, although part of that problem is a less-than-ideal driver implementation in my OS. After being blown away by the volume of the speakers I tapped the back arrow in the Pandora app to see if there were any other stations that the previous owner had created. There were seven or eight others featuring artists I’d never heard of. There was one with a name that I did recognize though and that was the Justin Bieber station.

The previous owner's Pandora radio stations.

The previous owner’s Pandora radio stations.

It’s not exactly my intention to ridicule (although that is always fun), but I can’t help but find it peculiar that someone would buy a Kindle Fire just to listen to Justin Bieber and play the ice cream shop simulator app. The previous owner was still logged into Amazon.com so I decided to check her recommendations. Interestingly, as far as I could tell she had never purchased physical goods from Amazon. She had purchased dozens and dozens of apps and had lots of recommended apps, but no matter which category of physical goods I clicked on — even music — Amazon reported that they had no recommendations, which is most likely because the previous owner never actually bought anything other than digital goods.

Of course, on the one hand I am very much a believer that every person ought to spend his or her money and time as he or she likes, particularly if it doesn’t harm anybody else. So it’s fine with me if someone wants to buy a Kindle Fire and never read a single book or periodical on it. It just seems to me though that if the chief reason you’re buying the tablet is to kill time with apps and listen to music, then why buy one marketed as an e-reader that lacks access to the ordinary Google Play store and costs $199?

Meh, probably the same reason I need four tablets and an e-ink Kindle.

Extracting Wii save files from a BootMii NAND dump

My water-damaged Wii. Believe it or not, this image has a happy ending.

My water-damaged Wii. Believe it or not, this image has a happy ending.

So other than all my furniture and my apartment itself one of the various items that was destroyed in Hurricane Sandy was my Wii. Replacing the hardware is easy since a Wii is only about 60 to 70 USD these days and will presumably just continue to drop in price since the Wii U came out. The thing that’s impossible to replace is the save data. That’s why I wanted to see if there was some way of recovering my save data and copying it to my replacement Wii.

My Wii console, AV cables, and power brick were destroyed. My controllers and WiiMotes were in a box on a high shelf so they were fine. This includes a Gamecube controller, which I found out was necessary for this process.

My place was not safe to enter for months and still isn’t. That doesn’t mean that I didn’t have a chance to retrieve some stuff though. I took the Wii, placed it in some bubble wrap, and put it in a box that went straight to a storage facility along with everything else that was in the apartment.

It was just about a week ago that I had my first opportunity to see if it had been damaged. I disassembled it to check and found that it was absolutely covered in rust on the inside. I went ahead and tried cleaning it up a bit with cotton swabs and some alcohol and actually succeeded in getting it to boot. Unfortunately, I didn’t have a WiiMote with me at the time so I turned it off. That was the last time it ever boot normally.

Every time I tried to boot it afterwards it would show the green LED, the blue LED on the front panel would flash once, and the fan would spin up, but there would be no audio or video on the TV screen and no WiiMote would sync to it. The TV did detect a signal but the screen would just stay black.

Fortunately, I had Priiloader installed on it. I held the reset and power buttons at the same time to boot to Priiloader. I inserted an SD card prepared with Bootmii and used the option in Priiloader to launch Bootmii as IOS (since I hadn’t been able to install it as boot2 when I first got the Wii). I needed to use the Gamecube controller for this since no WiiMote would sync.

Once in Bootmii I made a NAND backup. It was from this backup that I was able to extract my saves. I used ShowMiiWads to extract the files from the nand.bin. I was then pointed in the right direction by this thread on WiiBrew. In the “title” directory of the extracted NAND dump there’s another directory called “00010000” with a bunch of directories inside containing the saves for each game. I copied all of these directories into a folder called “savegames” on the root of my SD card.

Once copied, I added “00010000” to the beginning of the name of each folder that I copied to the “savegames” folder. Then I moved the files inside the “data” and “content” folders into their respective parent directories.

For example: SDroot://savegames/00010000534e5445/

Inside the “00010000534e5445” folder are the actual save files such as “save.dat” and “banner.bin”. I’m not sure if the “title.tmd” files from the “content” folders are necessary, but I put them in there anyway. This whole process of dragging and dropping was a bit of a pain in the neck because I had saves for something like 30 different games.

I then used Save Game Manager GX from this link on the Wii to install the save files from the SD card to the Wii. It took many attempts because I kept having to try different versions of the program since I kept getting one error or another. This is the one that worked for me. Of course, you do have to already have a save game on the Wii for each save you want to restore. So I just started up each game and made a save before trying to restore my saves from the old Wii.

Ultimately I was able to restore somewhere in the area of 200 gameplay hours worth of save data to my replacement Wii from the old one. It did take me a few hours of research and trial and error to figure out how to accomplish this, but I think it was worth it, especially considering that there’s nothing much to do around here while I wait for the co-op board to get off their asses and hire someone to do repair work. They won’t let us hire our own people. Pfttt…

For the record, I think the problem with the water-damaged Wii is that, though the motherboard itself is fine, either the Bluetooth module, the WiFi module, or both were damaged by the water. The DVD drive may also be bad. I read that a Wii will boot properly without a DVD drive, but it will refuse to boot if either the Bluetooth or WiFi module is damaged or missing. This means the system could actually be fixed if I replaced those two boards but I don’t think it’s worth it now that I have a replacement Wii and my save games so I’ll probably just see if I can sell it on eBay. The reason Priiloader worked, I suppose, is that it must load before the Wii checks to see if the BT or WiFi modules are damaged.

Stupid USPS keeps wasting my time

Normally I’m the first person to defend the USPS. I’ve generally had good experiences with them. I’ve only had a few packages permanently lost in my entire life. This time, however, I must complain.

When I send and receive parcels I nearly always use delivery confirmation. The way this works is that the carrier scans the package using a handheld scanner when it’s delivered. This way the seller can confirm that the item arrived at the destination. This is useful in situations where the buyer claims the item was never received and asks for a refund or a re-shipment. With DC you can just point to the confirmation of delivery on the USPS website and the would-be scam artist gets shut up.

Signature confirmation is like a much more extreme version of delivery confirmation for more paranoid sellers. It’s more or less the same as what happens with any UPS delivery. The carrier must give the parcel to a human being at the address and get the signature of the human being. If there’s no human being to accept and sign for the package, it doesn’t get delivered. With DC it’s possible that someone other than the intended recipient will steal the package (eg. it’s left by the mailbox and the neighbor steals it before the addressee arrives home). Signature confirmation is a pain in the neck if you’re the recipient for obvious reasons: you must physically be at the address and answer the doorbell when the mail carrier arrives. When you’re like me and your mail carrier arrives anywhere between 1:30 pm and 5:30 pm depending on the day of the week, it’s a terrible inconvenience to wait around all day.

Registered mail is about equally inconvenient as non-registered signature confirmation parcels if you’re the recipient. It’s better for the seller though because supposedly registered mail is handled in a more secure manner than non-registered mail while in transit. I don’t know the details, but registered mail automatically requires a signature so for the recipient it’s more or less the same hassle as non-registered mail with signature confirmation, regardless of class.

Anyway, I always try to use only ordinary delivery confirmation. Regardless of whether we’re talking about media mail, parcel post, first-class mail or priority mail, I always try for just delivery confirmation when ordering packages. Ordinarily my mail carrier just leaves the DC parcels outside the mail box and I pick them up when I get home. The last three parcels I’ve ordered with DC, however, have all gone straight to the post office and I’ve had to go pick them up. I find that very annoying. DC is DC. There’s no requirement, as far as I know, for a human being to physically accept the parcel if it’s just got DC. That’s the point of the handheld scanner, if I’m not mistaken. That’s also why signature confirmation (which ensures a human being accepts the parcel) is more expensive. If DC required a human being to accept the package, there wouldn’t be much use for signature confirmation since it wouldn’t add any protection that DC didn’t already provide other than the name of the specific human being who accepted the package.

Anyway, it’s just annoying that the USPS would suddenly start requiring a human to accept parcels at the exact time that my apartment was destroyed. It’s enough of a pain in the neck having to travel to the remnants of what was once your home to pick up the mail without also having to travel to the post office, wait in line, and show an I.D. every time a piece of mail with delivery confirmation is sent to you. I’m starting to wonder if maybe the USPS started blacklisting addresses of destroyed homes.

In defense of USPS, I do understand how some people might see this as a an upgrade to the DC service, since requiring the addressee to travel to the post office and show identification makes it much more likely that the intended recipient gets the package, rather than some neighbor or even somebody else (such as a family member) who lives at the same address. Of course, it doesn’t stop an impostor from picking the package up using a fake or stolen I.D. card, but it’s still much more secure than leaving the package at the mailbox.

I don’t see it as an upgrade though. That’s because I’m not ordering any sensitive materials. If I were, I’d use registered mail with signature confirmation or maybe FedEx.

Anyway, hopefully this is just bad luck I’ve had on my last three parcels and not an indication of an actual change to the way delivery confirmation works.

I rooted my Velocity Micro Cruz PS47 tablet

I rooted it!

I bought this tablet on a whim in “as-is” condition from the store of my all-time favourite ebay seller in the world since I’d had good experiences fixing broken items I’ve bought from the company in the past. I bought my laptop “as-is” from this particular company for some astonishingly low price when all that was needed was to replace the cable connecting the LCD to the motherboard. The screen itself was fine. I’ve got e-readers, game consoles, and other items from the two ebay shops this company runs that sell only “as-is” and broken items. All of them have ultimately turned out to be fixable for significantly less than the price of equivalent merchandise that’s not sold “as-is”. It’s a great little secret that I’m hesitant to even mention because now the two people who read this blog will become new competition in the auctions.

In any case, I’ve never owned an Android device before so I thought a $10 tablet was a good place to start. I thought a cheap tablet would be good for a noob like me. Boy howdy, was I sure wrong about that. The tablet was fine when I got it. It was missing the volume keys but that’s not really a problem because you can adjust the volume via the menus using the touch screen. It has a reset hole like old Macintosh computers for when it crashes. You can use a straightened paperclip to press it.

The documentation/support for the tablet is actually decent. The ADB drivers on the Velocity Cruz website actually work. The instructions, however, are incomplete. Although the correct hardware ID is listed in the driver inf file, nowhere does it mention that you must create the file C:\Users\yourname\.android\adb_usb.ini. Note that there’s a period before the name of the directory.

The correct vendor ID for the PS47 is 0x2396. You can verify this by going to Device Manager and clicking on Details and then choosing “Hardware Ids” from the drop-down menu:

If you haven’t yet installed the drivers, look for a device called rk2918sdk, right-click it and choose “update drivers”. Choose “Browse my computer for driver software”-> “Let me pick from a list of device drivers on my computer” -> remove the checkmark from “Show compatible hardware” -> click “Have disk” -> “Browse” and choose the “android_winusb.inf” downloaded from the Velocity Cruz website. Install it anyway if Windows warns you it’s not signed.

Nooo!

Anyway, once I figured out how to get ADB working I saw by running cat /proc/mounts that the /system partition is cramfs, which is not writable. That was why SuperOneClick and all those other “one-click” solutions failed. “Great”, thought I, “I’ve got a useless tablet now. It’s no use at all if you cannot write to /system”. But that’s not true, I’ve since realised. That was why even though I could get an ADB shell as root (as I’ve read is the case with most rk2918 tablets) the command “mount -o remount,rw -t cramfs /dev/block/mtdblock4 /system” still kept giving the error “read-only filesystem”.

I was on the verge of despair until I found this excellent website which explains how to dump your stock ROM, convert it to ext3, and then reflash it to your rk2918 device.

I wanted very much to try the guide but I couldn’t figure out how to get the PS47 into flash mode. The website is correct that you must hold the volume – (minus) button while plugging in the USB cable with the device powered off. I was just not persistent enough at first. Perhaps it’s because the only way I could hold the volume minus button was by using a paperclip, since the buttons themselves are missing on this unit. It ended up taking me about 20 attempts but eventually I got it into flash mode. The thing about flash mode though that’s confusing to a noob like me is that the screen doesn’t turn on on the PS47 when it’s in flash mode. It looks like it’s still turned off. So the only way to know if you’ve succeeded in getting into flash mode or not is to do what the website says and check the results of lsusb (or if you’re using Windows, something like USBDeview). I succeeded eventually though at getting into flash mode and went ahead and flashed the new ext3 image but I couldn’t get the tablet to boot afterwards. The tablet would just hang at the boot logo where it displays “Cruz”. I tried the whole guide again from the beginning but still no luck getting it to boot. I must have missed some additional file that needs to be edited, maybe in the boot.img. Luckily I was able to simply reflash my backup boot.img and system.img to get back to where I started.

Then I had the bright idea of doing everything the guide says except, instead of trying to make an ext3 system.img I would unpack the stock cramfs system.img, chmod 6755 on /system/bin/su, repack it as cramfs, and flash it to my device. This basically worked. I rebooted after flashing the new image, opened the terminal emulator app that I had installed earlier to confirm I wasn’t able to su, tried “su”ing and sure enough, it worked. I then ran “busybox whoami” and it told me what I wanted to hear: I was rooted. Superuser.apk works, too. So does ROM manager. Unfortunately, this hasn’t allowed me to use Google Play, as I had hoped. But that doesn’t really matter, I suppose.

So here’s the basic process I followed. Most of it is exactly the same as the guide posted on the rk2918 tools website minus the ext3 bit. There’s no need to modify the boot.img at all for what I did. I don’t know if it was actually necessary or not, but I did the whole thing as root on a computer running Ubuntu.

cd ~/rk2918tools
./dump_imgs.py stock_imgs
cp -a stock_imgs new_imgs
cd new_imgs
sudo cramfsck -x system system.img
#Add the su binary from http://androidsu.com/superuser/
wget http://downloads.androidsu.com/superuser/su-bin-3.0.3.2-efghi-signed.zip
sudo unzip su-bin-3.0.3.2-efghi-signed.zip system/bin/su
sudo chmod 6755 system/bin/su
sudo chmod 777 system
sudo chown root:root system
mkcramfs system system_new.img
cd ../
./img-manager.py write system system_new.img
#wait to see the message "Image written successfully"
./rkflashtool b

Update: I discovered that Google Market works if you put vending.apk in /system/app before building the system.img and follow this guide. However, even after doing so I still couldn’t install Chaos Rings. It tells me my device isn’t compatible, though it does occur to me that it might actually not be related to hardware but instead simply because Square Enix can see I’m trying to install it from the United States, not Japan.

Trinkets, odds and ends. That sort of thing.

Lisbet is my most beloved Ukrainian cannibal of all time, standing heads and shoulders above her compatriots.

It’s fun seeing what else the people who buy my items on eBay are purchasing. As I’ve admitted before, I really enjoy watching the TV show Hoarders because mocking these people who are tens of thousands of dollars in debt from compulsive shopping who live in filth and have to shit in buckets behind their homes because a plumber cannot physically fit into the bathroom to get the sink, shower, and toilet working again makes me feel better about my own minor foibles.

Of course, the one question that’s always on my mind as I laugh at these basketcases is where they get all this stuff. I always wonder if the people buying the old books I occasionally sell are like the people on that show. Sometimes I find evidence that they are.

I’m not proud of the fact that I sometimes look at the purchase history of my buyers, but I’m sure others do the same. People know that others can view their feedback profiles and they also must know that each feedback entry, save for private listings, has a link to the item for which the feedback is for. That’s why I never buy stuff that could later come back to haunt me on eBay. That’s what proxy services are for.

I wouldn’t be so interested in looking at purchase histories if it weren’t for the fact that the books I’m selling are such garbage. There are kid’s books, very old textbooks that are surely outdated and nearly useless (eg. a book on Photoshop from 2000), school books, detective novels, movie scripts, and occasionally some old game-related books.

As it turns out, at least some of the people buying my items buy other garbage as well. Here’s a case history of my most recent customer, who bought a kid’s book from me:

  • a vintage hobo-shaped pin complete with bindle
  • an army strongbox for storing documents
  • a toy treasure chest for storing cash
  • a custom made motorcycle tag
  • several motorcycle-shaped pins
  • several motorcycle themed stickers and other ornaments
  • a snowflake-shaped cookie cutter
  • egg-shaped novelty salt and pepper shaker set
  • a pumpkin-shaped pie mould
  • an apple-shaped pie mould
  • 2 moon-shaped pins
  • 3 candles shaped like little girls
  • a pendant souvenir from the book/movie Eragon
  • numerous vintage postcards
  • another novelty cookie cutter set
  • a cookie recipe
  • a green, plastic, St. Patrick’s Day themed wreath
  • a pig figurine
  • various china dresses like China-san’s from Spirit of Wonder
  • motorcycle themed temporary tattoos
  • a novelty drinking glass with dancers painted on it

This is all from February. In all fairness, it is a leap year, but even so, that’s far more rubbish than I would purchase in any given month. Not that I’m complaining, since, without this sort of person, I wouldn’t be selling my books filled with scribbles and underlining and, of course, a person with my profligate spending tendencies is really in no position to preach. Nonetheless, I genuinely find it entertaining seeing what interesting folks like this customer are buying.

Argh! Fucking eBay glitch fucked me over again

I never would have considered myself a “sniper” prior to a few weeks ago. Now, I’m no Lee Harvey Oswald, but I’m now forced to acknowledge that I am, indeed, a “sniper” since I heard the word used some weeks ago to contrast Yahoo! Auctions and eBay. I never knew there was a term for the practice of waiting until the last few seconds to make a bid on an auction. I always figured it was just common sense to wait until as close as possible to the last second to place a bid. At least that’s how I’ve always done it. Apparently this isn’t how it’s done on Yahoo! Auctions though. I, of course, not being a user of Yahoo! Auctions, don’t know for certain if that’s true since, even if more sellers did ship internationally, I don’t have a Japanese credit card and most sellers don’t accept PayPal. I suppose if an eBay auction ended in the middle of the night or during a time when I’m without Internet access I would bid whenever I could, but usually I’m able to bid when there are only a few seconds left.

That’s why it so frustrating when eBay kicks you off because of this glitch I’ve noticed. Granted, it’s possible it’s something to do with my browser settings about cookies, but I prefer to think that it’s eBay’s fault and I’m blameless because I prefer deluding myself to acknowledging my shortcomings. There were about ten seconds left in an auction for a 160GB laptop hard drive and the price was only USD 16. I had finally tasted success and had zombied together some parts I’d had lying about for months into a functional PS3 so I needed a hard drive for it. The nice part was that, rather than requiring a costly power supply replacement as I had initially supposed (~ USD 30), the system just needed a power switch replacement (the thing to which you connect the AC adapter which cost me only USD 1). This was perfect. The glitch, however, occurs when you open an auction page after your login has partially expired. That is, your username still appears at the top of the page and, if the item is in your watchlist, it will still appear in blue, but it’s been long enough since you logged in that, when you try to place a bid, eBay will ask you to enter your password. At least, this is how it’s supposed to work. However, if, while you have the auction page open, you open another browser tab and visit a different page within eBay and do something that requires you to enter your password in the new tab (such as visit “My eBay”) then, when you go back to the first tab to bid, instead of letting the bid go through or prompting you for your password, you get logged out of eBay immediately, without explanation.

This is what the expression “kick in the teeth” was invented for.