Can Wikipedia Solve the Vandalism Problem?

Update: Hi Wikipedians. This post was cited as a reason for an “indefinite block” and now has taken top spot on my blog for most read page. In the few hours it was up, I’ve had over 100 hits from Wikipedia alone.

Update 2: Hi Tosh Fans. If you’re here to help fix the Daniel Tosh page, this post is for you.

Today, I engaged in one of my favorite leisure activites: wikipedia vandalism.

Wikipedia has a fairly strict policy against vandals – you get banned by account name first, then by hostname, then my IP. The obvious thing to do, since most of the wikipedia people have no idea how the world wide waste works, is to simply keep registering accounts. Combined with Gmail’s M4 support (try adding +1 to the end of your mail address, as in josh.knarr+1@gmail.com) and it defeats all the automatic multiple registration protections. This works well for awhile if you enjoy vandalizing casual, back woods articles but it’s important to make changes stick, especially when going for the holy trolling grail of getting on the wikipedia-on-DVD. HOW CAN WE USE THE POWER OF THE ANDROID FOR EVIL?

Well, the obvious thing to do is to grab a proxy list and get into an edit war. People who take wikipedia seriously as an authoratative source tend to avoid 3 revert violations. All you need to do is get them into a situation where they would be the third revert and they tend to just leave it go. Remember, each time you revert an article from a new IP, it’s a fresh revert count. Each time they revert the article from their account, it’s a strike against them. They could ask for mediation, but pop culture articles and the like tend to simply be let go. The problem is that most proxy lists which would enable three anonymous edits and thus brick out a “real” identity are banned since wikipedia has those lists too. Wikipedia doesn’t care about if they actually work, they just scape the lists every so often and ban the entries wholecloth. We need some other way of getting new IPs without having 100 cable modems at our disposal. Enter the skyhook. It’s a google service, the rest of you can use Wigle but it’s the same thing. If you’re using skyhook on the droid it’s as simple as hitting the checkbox and it’ll use skyhook data to connect to wifi. Wigle gives you a more manual process but it shows you the same thing.

Pop open that browser, hit the link at the bottom for “full site” and revert away!

Things get slightly stickier when you’re going for semi-protected articles. Recently I tried to vandalize Daniel Tosh. I’m not sure why he’s semi protected but whatever. Here’s where patience counts. Make a legit account, make a few helpful edits, and then forget about it for a month. Do this about five times from your skyhooked or Wigle’d device and forget about them for a month. You’ll end up autoconfirmed when you come back. Pick a page and vandalize the life out of it. Your changes will be rolled back, but get into an edit war with a user. Eventually your user will be banned. From different IPs be sure you keep up editing it, but from the same IPs be sure to appeal your block. Remember, it’s Wikipedia and common opinion always wins, even if it’s wrong. If enough people say something, substantiated or not, it becomes the truth. In Staegenthaller’s case there, the valdalism was widely regarded as truthy, and cited in the news, which made it citeable in Wikipedia, and thus the truth is made by popular opinion.

The truth is out there.

Rooting the TMobile Vibrant (Samsung Galaxy S), and Complaints About the MyTouch

Some back story: My old phone was a Windows Mobile 4 device I upgraded to 5 with a pirated ROM. Nothing pisses me off more than a company (TMobile) saying they have to sell you a new phone when the original manufacturer (HTC) says the phone will work with Windows Mobile 5. Of course, it’s not about that. HTC makes the phone, and the carrier gets to load the OS, so simply because something can actually work doesn’t mean it will be pushed out by the carrier. In the Android’s case, they can and do push out updates to the OS on the phone if the manufacturer wants to certify it but they preserve the carriers restrictions. The model is fundamentally different in the fact that the carrier no longer does anything with the OS. Anyway, long story short the keyboard was shot and required heavy mashing to type, the stylus was long since gone and the screen had visible wear marks when turned off. The USB on the bottom was broken, and the phone required a daily reboot. The OS was crap to start with and even the stock ROM I flashed it with (plain vanilla WM5) was starting to do weird stuff and run slowly. The SD card port didn’t work reliably. The earpiece part of the handset died, and I fixed it by taking the phone apart and reseating all the hardware, then my kid bit the earpiece and killed that so everyone was on speakerphone. The final straw was it wouldn’t load my contacts or camera phone pics. Go on vacation, get a new phone!

I replaced it with a MyTouch 3G Slide. There’s a few problems with this. One, the phone is weirdly bulky. It feels like a last-gen device. Like my old phone. But two is the keyboard has a weirdly beveled keypad. The result is there’s a lot of space between each key, so it’s tough to type on unless you hit the key dead on. I found myself wishing for my old keyboard. I also found myself using the on screen keyboard or dictation mode a lot more. Since TMobile gives you a two week handshake to figure out if you want the phone or not, I quickly started using my wifes phone (Samsung Galaxy S) and realized not only is it faster, not only is the ROM more stock, but the on screen keyboard was big enough for my fingers. To add insult to injury, the 3G Touch isn’t a stock Android ROM. It’s got a custom lock screen, custom phone screen, custom keyboard, and you can’t do things like live backgrounds or change the font. The address book is a disaster also. It appears more organized at first until you realize that it’s hiding contacts automatically. The MyTouch also has almost zero application support since the hardware doesn’t look like anything else on the android phone market. That last one is really the killer, everyone has cool stuff out for the Samsung SGS-XXX line of phones, but the unique blend of hardware and ROM put the 3G Touch Myslide in left field far enough it’s got terrible support. I strongly advise against buying a 3G Touch. Concerned about the flash? Don’t be – the Samsung’s camera has a night mode which combined with anti-shake being enabled takes perfectly good photos.

The first question anyone asks is “Why root a phone?”

Two reasons: Get rid of the Cats Fucking movie (AVATAR) and generally clean up the phone – diary, fastwriter, gogo in flight interweb, telenav (why you would put a pay-to-play GPS app on a google phone is beyond me), etc – and secondly to also re-enable tethering. T-Mobile has those wifi cards that put your laptop on a 3G network, but Android has native tethering they saw fit to remove. What is tethering? It makes your phone into a wifi router things can connect to, and the gateway is whatever cellular data mode is available. T-Mobile obviously doesn’t want to give the unlimited data plan people (myself) this feature out of box so we’ll add yet another service to the plan. Generally crap like that pisses me off. If you check in the market, there’s tethering apps, but they work in ad-hoc mode and they run in userspace. The userspace is setup to be fully preemptable by the foreground application, so your background app (which needs to provide not only TCP support but also caching since the speed is so damned slow) is going to not work well, at all. The tethering is a default in the stock android ROM so re-enabling it doesn’t hurt the phone at all. It was designed to do that.

The first thing anyone is going to try to do is remove icons from the desktop by using longclick and drag it to the trashcan. This doesn’t work for the pre-installed stuff. The AVATAR icon is particularly annoying since, if you’re like me, the first thing you did was dump the movie to your home computer and format the card for a free 2GB extra storage for videos and pictures. If you’re a Linux box, you can mount both the 16GB internal drive and the 2GB SD card at once, windows users will have to play with “debugging over USB” to see both of these. (Don’t ask me how, I use Linux). The AVATAR icon will persist even with AVATAR not there, so now you’ve got that stupid blue cat on your desktop and it does nothing. There’s nothing to click on in manage applications under settings so you can’t get rid of the broken icon. WHAT NOW?

An important note: Any discussion about rooting the phone further in this post applies to the Samsung Vibrant (Samsung Galaxy S). You can hunt around the links for your particular phone if you’re interested in doing this but don’t put Vibrant stuff on your particular phone unless it’s a vibrant. Theres pre-compiled binaries here and they may or may not work on your phone. Do your homework, you’ve been warned. These links are good for Android 2.1.

The first link is pretty easy to follow. Download the zip, name the zip with the special name, reboot while holding down the “system factory reset” (which is really just pressing ESC or backspace at the GRUB screen for you linux people), and apply the update. These are all zip files, so you can open them and ensure there’s nothing you don’t want in there. In the case of the SGH-959 rootkit, it’s three precompiled binaries and precious little else. After applying this it does take a while to unpack it, so don’t flip out when it spends a good minute on the “S” screen. Remember, everything is JIT on this phone. The first time you run it, it takes forever. When you update the system, not only is it precompiled binaries and JIT code, but you can’t get to the system until it lays it out. Resist the urge to pull the battery. Also once Android 2.2 gets pushed out, this won’t work. I would defer that update until you get another rootkit. I have an RFC out to google and the development community asking if these are statically linked or not. If they’re statically linked, they will survive the Android 2.2 update. If they’re not, expect to have these quietly uninstalled or simply not work.

Now that you’ve got it, click on the superuser ninja and set it to always prompt you for superuser. Remember, while it seems like you’re adding functionality, this comes at the cost of security. You must protect root access from applications. If it seems like the app shouldn’t be asking for it, you don’t let the app run as superuser.

Now that you’ve got a rooted phone, you want a snapshot. Hop into the Market (if you don’t have a market icon, you’re using the phone before it’s fully unpacked), and look for ROM MANAGER by ClockworkMod. Install it. There’s a free version and a paid version. The paid version is fully insane and lets you run pretty much any Android build on your particular device. However, I just installed the free one because I’m just looking to make an image which has my goodies. The first backup will fail, don’t panic, just select “reboot phone” with the volume controls and hit power to reboot. Scroll down to “Manage and Restore backups” and select the one that failed, delete it. Notice on the first line that “Current Recovery” and “Last Recovery” should say ClockworkMod 2.5.0.4. Tell it “Backup Current ROM”. Give it a name like “Stock Rooted”. The phone will reboot and mess around for about 15 minutes. Now you’ve got a stock, rooted image you can restore to when/if Android 2.2 trashes your phone or you uninstall too much crap.

Now you want the wireless tether. Download the ZIP and put it on the root of your phones storage (the 16GB one, not the 2GB one). Hop back into ROM Recovery (clockwork) and click “reboot into recovery”. You’ll see the GRUB screen fly by and you’ll end up in the “menu + log” screen in clockwork. Note that they make flashing here a PITA so you don’t accidentally flash your phone by butt-dialing. Use volume up and down to select “install ZIP from SD card” (this is misleading because it’s the phones internal SD, nonremovable). Click POWER. Click CHOOSE ZIP. Select the ZIP. You’ll get to a screen that says something like “Do you want to do this” with about 20 NO options and one YES. Select YES. It’ll chug a bit and return you to the menu. The bottom of the screen should have the log text indicating a success. Menu out to the main screen and choose “reboot phone”. Again, wait 10 minutes while the phone gets raped by dickwolves or whatever it’s doing and it’ll come up. Don’t pull the battery. Under Settings, Wireless, you now have Mobile AP which lets your phone act as a router. Things will connect to it as a wireless AP, and they get routed to the web over 3G. This is a proper AP, it’s not ad-hoc, which means you can actually secure it. Ad hoc means you’re providing wireless services to anyone in wifi range.

Now you can delete the old backup and make a new one, or not.

To clean out the crap we’re going to install Titanium Backup. It will download and ask for root rights. You want to let it apply them and choose “remember”, the program will not function with it. The very first thing you do is click Problems? and choose “Yes, Do It”. This puts busybox on your host, which is like a lightweight LSB system. The busybox that seems to come with a lot of the rootkits is POSIX busybox, not GNU busybox. If this means nothing to you, you probably don’t need a rooted phone. If you know your tar options, this will vex you endlessly until you get the Titanium Backup busybox. Just trust me, you want it. Now click BACKUP/RESTORE on the top middle button, and tada, all the apps. Scroll down to AVATAR (for instance), click on it, choose UN-INSTALL. Do not uninstall any input or google utilities, your phone will not work and it will barf errors. In case this happens, jump back into clockwork and restore the backup. You have now gotten the AVATAR icon off your desktop. However, applications and application data are two different things. If you hop into settings, applications, manage applications, you’ll see something like com.android.movie.avatar. It won’t have a pretty icon or a nice name, so it’ll be obvious. Click on it and uninstall it from here too.

This is a good place to take a final look at the MyTouch (slide and not slide) from TMobile. The phone sucks. The ROM is terrible. When you get it, the phone reboots endlessly applying updates so you can… use the update manager to update it. However it doesn’t tell you this is what it’s doing. It just reboots. Over and over and over again until there’s a popup saying “Oh, there’s an update to droid, would you like to waste a half hour downloading it and another 15 minutes applying it?” Now do that twice, since it comes with Android 2.0. Also lose all your settings because it’s a fresh reload. Oh, and expect to have to update all the apps too since you click on something and it’s 10 versions behind the market. There’s nothing redeeming about the stock phone. If you go into the applications menu to manage applications, not only does it not present you with all the preinstalled crap, not only can you not turn on the live wallpapers, tether or fix the address book but the applications don’t have pretty names. They’re all listed as com.android.google.maps and similar. It makes actually managing the device a real PITA. The fault lays entirely with T-Mobile.

At this point you should understand how rooting your phone works, and how to remove the crap. Enjoy your rooted device.

Herding Groundhogs

Why no updates? The woodstove project is on hold until the storm passes. I don’t want to have the wall on jacks with a water load on the roof. Also with the transition from Linux to Windows there’s really nothing interesting on the technical side aside of throwing money at problems to try to make a difference. I am entertaining positions for Linux sysadmin work if anyone is offering. In the mean time…

Groundhog #7 died yesterday. He wasn’t the luckiest groundhog but he was a fat, fat freaking groundhog. He was also smart. Two of the holes he dug were just beyond the fence where I couldn’t legally keep a trap line. He had four vias under the fence. Since I didn’t want to blow $60 on traps, I had considered putting out the snare. That didn’t work so well and this guy was very good at going “that doesn’t look right” and picking a new via under the fence. He had also figured out my wifes garden plots and would move along under my porch, digging all along the way.

The conibears were good at what they did, which was to catch only things which they were supposed to catch (groundhogs). It’s a fantastic design and by that I mean the simplest design is the best design and it relies wholly on the side of the trap to exclude animals. There’s been a few times I’ve found it snapped and found some fur, but it’s pretty obvious that the trap was being tripped by something else. The mystery was always “what”? Finally one day I realized the stupid neighbors cat was hunting the groundhogs too. She would sniff around the dig under the fence, then the might piss all over it, then she found the trap and touched it with her paw. The trap would either get knocked over and go off or it went off and gave her a snap, which is where the fur was from, but never enough to cause any injury. Since she seemed to know that the trap killed groundhogs, but she wanted to kill the groundhogs, this pissed me off to no end. (And yes I realize my readership is going to go “Why not just shoot the cat?” I’m trying to get along with my neighbors this week). Anyway, point being the cat may have a hunting accident much later, because now my trap reeked of cat piss.

I went out to my porch and saw the groundhog by the gate to the park. He’s gladly chomping down on my archery target. I could see this being an illustration in a children’s book. “What animals can you name which can eat equal parts styrofoam and hay?” Another one of my wifes space-flowers was down. The crepe myrtle was chewed on. The apricot tree was once again missing foliage. The groundhog knew something was up and I automatically froze. About five minutes passed and he went back to business so I slowly sank down behind the taller bushes and crawled back into my house. I grabbed my bow and knowing it wasn’t sighted in (f’ing cheap ass plastic mount – why does no-one make decent sights for lefties?) I grabbed a few field tips. Frankly with all the destruction they cause I don’t really care that the field tips make them bleed out longer. I glanced out the kitchen window and saw he was still happily munching down plastic.

I mounted an arrow.

I slowly opened the mud room door.

I slowly opened the storm door.

I slowly drew back the bow.

I put the bead on the top of the groundhog knowing the arrows tend to fly low at this range.

One of my cats bolted between my legs because I failed to close the mudroom door. She got out onto the deck, jumped in the railing, then hissed at the groundhog. He said screw this, jumped back himself, and took off on a run down the fence. The cat didn’t give chase. Just long enough for me to move my sight pin to my cat I hear SNAP. SCUFFLE SCUFFLE SCUFFLE. I let the draw down on the bow and look over to the brush pile and see there’s little feet scurrying in the air, gradually slowing down… and stopping. Sure enough, I got really lucky and he got really unlucky and chose the dig that I set the trap over. (Why he didn’t go under the gate, I’m not sure – animals tend to be creatures of habit).

Of course, being scared by the cat, yet another animal pisses all over my trap.