Tuesday, February 28, 2012

No Minecraft account, no shirt, but I still get service

Update: As of today's update to Minecraft 1.2, our proxy doesn't seem to work any longer... Meh.

To be honest, we've wasted quite a bit of hour valuable time at school playing Minecraft. Of course, we did... not play during the lesson!

Unfortunately most of my friends don't feel comfortable paying 20 € / $ for Minecraft. To be honest, that's really a lot of money. However, I did buy the full version of Minecraft back when buying beta games was considered cool and shared that account with all my friends so they could enjoy singleplayer mode too. But being a lonely guy in a world full of zombies, creepers, spiders (!) and other ugly looking creatures didn't make us happy any longer. So we decided to move to a new, better world. Sure, those ugly looking creatures still tried to kill us at night, but at least we were able to support each other and dry each other's eyes after a kamikaze attack of a crazy creeper, right? Unfortunately not quite, because multiplayer is meant for owners of the full version only. Lots of lonely, frightening nights searching the web for a solution passed, until we came up with an idea: a Minecraft proxy, which I call "McProxy" (there's a high chance you get fat if you consume a lot of Minecraft / McDonald's). I'm not going into much detail about what it exactly does, but simply put it is a translator between the official Minecraft server and the official Minecraft client, so none of them knows they're talking to someone who didn't buy the full version.


99% of the code come from Andreas Stefl, also known as andiwand, which also came up with this idea. I've onky contributed the possibility of static name mapping and am now trying to make this proxy public and accessible for everyone out there.



Before I'm going into detail about where to get it and how to set it up, there's one thing you should know: Minecraft is an awesome game, which cost Markus Persson, notch, and his colleagues from Mojang about three years of development. So I strongly suggest you to consider purchasing the full version of this game, or, at least some merchandise.

You can get the latest version of McProxy as of today here. Download it and do the following:
  1. Edit your server.properties
    1. Set "online-mode=false"
    2. and "server-port=12345"
  2. (Optional: create a static-players.properties in the directory you're executing McProxy from)
  3. Start your Minecraft server as usual
    1. More information available here
  4. Start McProxy
  5. java -jar proxy.jar 127.0.0.1:12345 # assuming your Minecraft server is running on the same computer as McProxy and listening at port 12345

That's it. Friends should be able to connect to your server even if they don't own a premium account. If your friends get an error like "couldn't download packages", "didn't download packages" or similar, log  in using your premium account on their computer so they can download all necessary updates and log out again afterwards. Otherwise, I think there are places in the world wide web offering all necessary files...

We would love to hear from you if you're using McProxy! Also, feedback and suggestions for new features are welcome. :)

PS: If you don't know Minecraft (what the fuck?) I suggest you to watch the following video and get your pickaxe ready. It's worth a watch even if you do know Minecraft, though.

Free US-VPN!!123.

...Sounds like spam, but it isn't. ;) If you want a VPN endpoint deployed in the USA at no cost you should give Onavo Extend a try. The app is meant to reduce your overall data usage by compressing all data you're downloading. Therefore, they are basically able to look at everything you're browsing. Theoretically. Theoretically, your carrier (T-Mobile, Orange, whatever) could do the same too. And lots of other companies too... It's a matter of trust. Do you trust a little startup or not? Decide yourself. I for myself, do trust them in order to test their app (looks good so far, by the way) for a few days or weeks.
Talking about the catchy title of this post, the technology used by Onavo is VPN, which you should remember from previous posts. In contrast to the post mentioning HideMyAss, Onavo offers its VPN more or less for free. They don't advertise it as "Look, people! We have free US VPNs for you", but in the background they're using a US VPN in order to accomplish their goals (read, data compression).

So, if you are planning to use US-only services (like Google Voice), install Onavo's app, set it up and you're good to go. However, according to this page, they're planning to make this a paid service in the future. So hurry up!

Monday, February 27, 2012

Google Music on Ubuntu: "Login failed. Could not identify your computer"

Update: Easier fix incoming! Download MusicAlpha for Google Chrome and upload all the music, even on crippled systems like Chrome OS! :D

After installing Ubuntu on my Chromebook, I'm now finally able to upload purchased music to Google Music so I can listen to my music on my PlayStation 3. Oh, wait. "Login failed. Could not identify your computer"? The linked support page is a bad joke: "If you're receiving a 'Login failed. Could not identify your computer.' error, we couldn’t identify your machine." Oh really? Now everything makes sense... It goes on with actually helpful information: "Please note that at this time, virtual machines aren't supported by Music Beta." Unfortunately I'm not running Google Music within a virtual machine. Damn, maybe I should have.

Anyway, after looking around for actual solutions, I found out that Google Music is using my MAC address in order to identify my computer. Although I obviously had a MAC address configured, Google Music only accepts them coming from interfaces named eth* (read, eth0, eth1, ...) but all I have is a WLAN interface named "wlan0".

So, in order to rename the interface, do the following:
  1. Make a backup first: sudo cp /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.old
  2. Edit the file: /etc/udev/rules.d/70-persistent-net.rules
    1. If there's another interface called "eth0", put a # in front of it
    2. Search for the interface with the name "wlan0" and replace "wlan0" with "eth0"
    3. Save the file
  3. Restart your machine: sudo reboot
  4. Upload all the music!

Thursday, February 16, 2012

Installing the Google Plugin for Eclipse on Ubuntu 11.10

Unfortunately, the version of Eclipse included in the official Ubuntu repositories is a very crippled version. For example, it doesn't include the recently introduced plugin marketplace (which makes installing third-party plugins a lot easier, by the way). Moreover, it ships with some essential plugins missing. If you attempt to install the Google Plugin for Eclipse, it's going to complain about lacking requirements... In order to fix it, you have to do two things:
  1. Enable the official plugin repository in Eclipse, by clicking "Help" -> "Install New Software..." -> "Available Software Sites" and enabling the entry whose location is "http://download.eclipse.org/releases/helios"
  2. Return back to "Help" -> "Install New Software...", search for "xml" and install "Eclipse XML Editors and Tools". Of course, don't forget to restart Eclipse afterwards.
  3. Go on and install Google Plugin for Eclipse as described over here.

Fixed.

Monday, February 13, 2012

Developing on a Chromebook - Part 4: Back to the past

Ok, it seems like I'm still forced to go back to old clunky tools like Eclipse, because I'm still a Javaianer. For Java, there's still no perfect cloud solution available. Cloud9IDE hast syntax highlighting, but it's definitely missing instant compilation and execution of my code.

So, because the previously mentioned methods to use Eclipse on your Chromebook don't work that great I've decided to somehow boot Ubuntu from my Chromebook. At first I've stumbled upon articles telling describing how to install Ubuntu on a USB stick. That's actually pretty cool, but the idea of relying on a little stick I have to keep with me all the time turned me off. Another possibility is setting up dual boot: re-partitioning your Chromebook and installing Ubuntu next to Chrome OS. This method fits my needs, because I don't have to rely on another device, and I don't need that much free space for local user data on my Chromebook. There are several articles out there describing this process step by step. I've used this one, since it seems to be the root of all of them. There's just one little, very important thing it's missing: after rooting your Chromebook, you have to do this:

  • Press CTRL+ALT+=> (=> is the forward arrow where the F2 key used to be)
  • Login as user chronos, no password is needed
  • Type "chromeos-firmwareupdate --mode=todev"
  • Wait for it to reboot...
If you don't complete these steps, the whole thing is going to fail.

It's possible to install operating systems other than Ubuntu too, like Gentoo and Debian. Watch chromebook-linux.com for more to come soon...?

After following the steps provided by the article, I recommend you to do this. It helps you switching between Chrome OS and Ubuntu (if you want these tips to work using ctrl+alt+t too, please star this issue).

Now google (or bing, yahoo!, blekko, or duckduckgo) for good Ubuntu forums and wikis if you don't know how to install eclipse yourself. (tip: sudo apt-get install eclipse)

Want to read more about this topic? Check out the other posts of this series:
Part 1: Chromebook
Part 2: Cloud
Part 3: X-Forwarding

Expanding your Android phone's battery life

Something most new smartphone owners notice is that their phone's battery doesn't last as long as a feature phone's (a.k.a. Nokia) battery. Everything longer than a day is good in my opinion, although you can get up to three days depending on your needs (smartphone or phone?).

Let's start with some less dangerous things to try...
  1. Disable automatic brightness and turn down brightness as much as it fits your eyes
  2. Disable (some?) window animations
  3. Disable auto-rotating screen
  4. Shorten time until your phone goes into sleep mode
  5. Turn on flight mode as possible
    • Tip: Use an app for that. For example, I'm using an app called Smart Phone which automatically changes various settings depending on conditions like location and time.
  6. Disable unnecessary wireless services like Bluetooth if you don't need them
  7. Remove widgets and don't use live wallpapers
    • Some widgets are drinking your battery juice like water...
  8. Look out for applications running constantly in the background and uninstall them
    • There is a list of programs currently running available in the settings. Take a look at this list in different situations and note which apps are running all the time. However, please keep in mind that some applications don't work properly without constant background operations (for example Announcify ;)). Try to find a balance between less apps and functionality.

The following isn't dangerous at all, but could temporarily break some of the "smarts" of your smartphone, like instant mail- / facebook- / whatever-notifications:
  • JuiceDefender. Set it to disable Wifi, and if you don't need instant mail notifications tell it to disable mobile data too.

Now let's get dangerous...
  1. If you don't have the pure Google Experience (Nexus * phones) you're very likely to have crapware installed, draining your battery even faster. Most of them are useless anyway, so let's remove them:
    1. If you are running Ice Cream Sandwich, skip to step 4.
    2. Root your phone. If you don't know how to do that, google it.
    3. Download Titanium Backup
    4. Remove, "freeze", or disable (wording depends on the app / version you're using) crapware draining your battery... I can't tell you which one to remove, but using the method described above ("Look out for applications running constantly in the background") you could identify them.
  2. If none of the above didn't work install another ROM, like Cyanogenmod