Saturday Post: Steam and Ubuntu MATE!

Hey all,

Busy week, school holidays just started. (yay) I’ve been messing around with Steam a lot lately, bought a couple of games off the Humble Bundle and stuff. I love the idea behind the Humble Bundle, you pay as much as you want for a bundle of games. I bought Cubemen, Cubemen 2, Thomas Was Alone and Bridge Constructor Playground.

Thomas Was Alone is an amazing game! Definitely recommend it, along with the two Cubemen games which are awesome too! Bridge Constructor Playground… Yeah, umm… not so good.

Anyway, I currently run Steam on Linux, the game compatibility is getting better. although a couple of my favourites (like Splinter Cell) have yet to arrive on Linux.

I use Ubuntu for my gaming, which by default uses Unity Desktop Environment. Which is slow, for gaming. After doing some research, I installed Ubuntu Mate, a remix of Ubuntu (Which is now official) using the MATE desktop environment. You can easily install it onto your current Ubuntu (14.04 at time of writing) by typing in the following into a terminal:

sudo apt-add-repository ppa:ubuntu-mate-dev/ppa

sudo apt-add-repository ppa:ubuntu-mate-dev/trusty-mate

sudo apt-get update && sudo apt-get upgrade

sudo apt-get install --no-install-recommends ubuntu-mate-core ubuntu-mate-desktop

After installation has completed log out.

From the Unity log on screen click on the small ‘Ubuntu’ logo to the side of your username. Select the ‘MATE Session’ from the list that appears. Then, log on and enjoy mate! (No bloody pun intended)

Arduino: Cybot

Yet another Arduino post 😛

Recently, I was given masses of Real Robot magazines by a friend. Including a few ‘Cybots’

Real Robots was the name of a fortnightly partworkmagazine by Eaglemoss Publications, established in May, 2001. Developed in partnership with Reading University, it allowed the reader to build a robot, “Cybot”, and later a companion robot, “Tom”. This series, which was released in several countries, is now discontinued. — Wikipedia http://en.wikipedia.org/wiki/Real_Robots

images

It was great for its time but now the technology behind it is, well, old. Very limited.

So I started to give it a better brain, an Arduino Uno. I found a couple good links explaining similar things, and I set to building it.

http://skipdiver.org/index.php/robotics/85-cybot

http://kojacker.net/blog/?page_id=58

Once I finished building it and putting it all together, I realized that I had no way to control it. During testing I had been using the Serial Monitor to communicate with it. But since it’s a robot, It needs to move around, thus I needed a wireless way to communicate with it. If you’ve seen my previous post, I made a simple IR receiver using an Arduino. Why not merge the two?

Thus, the IR controlled Arduino Uno Cybot was born!

Basically, I wired it up like this:

Cybot Pin 1   to   Pin 9     (Right Motor Forward)
Cybot Pin 2   to   Pin 6     (Right Motor Reverse)
Cybot Pin 3   to   Pin 5     (Left Motor Forward)
Cybot Pin 4   to   Pin 3     (Left Motor Reverse)
IR Pin 1         to   Pin 11   (VOUT)
IR Pin 2         to   GND     (GND)
IR Pin 3         to   +5v       (VCC)

Here are the Cybot pins ^

Notice how the pin numbers are labelled backwards? (7 to 1)

And finally, here is the code:

/*
Pins are wired as followed:

Cybot Pin 1   to   Pin 9   (Right Motor Forward)
Cybot Pin 2   to   Pin 6   (Right Motor Reverse)
Cybot Pin 3   to   Pin 5   (Left Motor Forward)
Cybot Pin 4   to   Pin 3   (Left Motor Reverse)
IR Pin 1      to   Pin 11  (VOUT)
IR Pin 2      to   GND     (GND)
IR Pin 3      to   +5v     (VCC)

*/

//Setup IR
#include 
int IRpin = 11;
IRrecv irrecv(IRpin);
decode_results results;

//Setup pins and moto speed
int RmF = 9; //Cybot Pin 1
int RmR = 6; //Cybot Pin 2
int LmF = 5; //Cybot Pin 3
int LmR = 3; //Cybot Pin 4
int motorSpeed = 100; //Speed of motors

void setup() {
    // Initialize the digital pins as an output
    pinMode(LmF, OUTPUT);
    pinMode(RmF, OUTPUT);
    pinMode(LmR, OUTPUT);
    pinMode(RmR, OUTPUT);
    
    //Start Serial Monitor
    Serial.begin(9600);
    
    // Start the IR receiver
    irrecv.enableIRIn(); 
}
 
void loop() {
  if (irrecv.decode(&results)) 
    {
      switch(results.value) {
        
        case 16718055:
        Serial.println("Forward");
        moveForward();
        break;
       
        case 16716015:
        Serial.println("Left");
        moveLeft();
        break;
        
        case 16726215:
        Serial.println("Stop");
        moveStop();
        break;
        
        case 16734885:
        Serial.println("Right");
        moveRight();
        break;

        case 16730805:
        Serial.println("Reverse");
        moveBack();
        break;
        
        case 4294967295:
        Serial.print("");
        break;
      }
      irrecv.resume();
   }  
}

// Stop
void moveStop(){
//  digitalWrite(LmF, LOW);
//  digitalWrite(RmF, LOW);
//  digitalWrite(LmR, LOW);
//  digitalWrite(RmR, LOW);
  analogWrite(LmR, 0);
  analogWrite(RmR, 0);
  analogWrite(LmF, 0);
  analogWrite(RmF, 0);
}

// Forward
void moveForward(){
//  digitalWrite(LmR, LOW);
//  digitalWrite(RmR, LOW);
//  digitalWrite(LmF, HIGH);
//  digitalWrite(RmF, HIGH);
  analogWrite(LmR, 0);
  analogWrite(RmR, 0);
  analogWrite(LmF, motorSpeed);
  analogWrite(RmF, motorSpeed);
}

// Reverse
void moveBack(){
//  digitalWrite(LmR, HIGH);
//  digitalWrite(RmR, HIGH);
//  digitalWrite(LmF, LOW);
//  digitalWrite(RmF, LOW);
  analogWrite(LmR, motorSpeed);
  analogWrite(RmR, motorSpeed);
  analogWrite(LmF, 0);
  analogWrite(RmF, 0);
}

// Turn Left
void moveLeft(){
//  digitalWrite(LmF, LOW);
//  digitalWrite(RmR, LOW);
//  digitalWrite(RmF, HIGH);
//  digitalWrite(LmR, HIGH);
  analogWrite(LmR, motorSpeed);
  analogWrite(RmR, 0);
  analogWrite(LmF, 0);
  analogWrite(RmF, motorSpeed);
  
}
 
// Turn Right
void moveRight(){
//  digitalWrite(RmF, LOW);
//  digitalWrite(LmR, LOW);
//  digitalWrite(LmF, HIGH);
//  digitalWrite(RmR, HIGH);
  analogWrite(LmR, 0);
  analogWrite(RmR, motorSpeed);
  analogWrite(LmF, motorSpeed);
  analogWrite(RmF, 0);
}

The code uses analogWrite to control the motors, I have left in digitalWrite if you want to use that instead.
Basically, the difference being:
Digital write: Always 255 Speed
Analog Write: 0-255 Variable Speed

Anyway, tell me how it goes 😀 If you need help with anything, just leave a comment below or drop me an email.

Of course, the code is completely adaptable. It can be used to control most robots, as long as you have an Arduino (Uno) and a motor control board.

Conno123009

Arduino: IR Receiver Code

Hey all!

Recenly, I have been playing with Arduino.

http://www.arduino.cc

I made a IR Receiver script which allows you to use any normal remote to control your Arduino. It is designed for the common, cheap Chinese remote that has no model number or anything except for the words: ‘SPECIAL FOR MP3’

😛

Anyway, here it is:

/* 
 Infared Receiver Code for Arduino Uno.
 
 The IR sensor's pins are attached to Arduino as so:
 
 Pin 1 to pin 11
 Pin 2 to GND
 Pin 3 to +5v
 
*/

#include 

int IRpin = 11;
IRrecv irrecv(IRpin);
decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() 
{
  if (irrecv.decode(&results)) 
    {
      switch(results.value) {

        case 16753245:
        Serial.println("POWER");
        break;
        
        case 16736925:
        Serial.println("MODE");
        break;
        
        case 16769565:
        Serial.println("MUTE");
        break;
        
        case 16720605:
        Serial.println(">||");
        break;
        
        case 16712445:
        Serial.println("|<<");         
        break;

        case 16761405:
        Serial.println(">>|");
        break;
        
        case 16769055:
        Serial.println("EQ");
        break;
        
        case 16754775:
        Serial.println("-");
        break;
        
        case 16748655:
        Serial.println("+");
        break;
        
        case 16738455:
        Serial.println("0");
        break;
        
        case 16750695:
        Serial.println("LOOP");
        break;
        
        case 16756815:
        Serial.println("U/SD");
        break;
        
        case 16724175:
        Serial.println("1");
        break;
        
        case 16718055:
        Serial.println("2");
        break;
        
        case 16743045:
        Serial.println("3");
        break;
        
        case 16716015:
        Serial.println("4");
        break;
        
        case 16726215:
        Serial.println("5");
        break;
        
        case 16734885:
        Serial.println("6");
        break;
        
        case 16728765:
        Serial.println("7");
        break;
        
        case 16730805:
        Serial.println("8");
        break;
        
        case 16732845:
        Serial.println("9");
        break;
        
        case 4294967295:
        Serial.print("");
        break;
        
        default:
        Serial.println(results.value);
        break;
      }
      irrecv.resume();
   }  
}

Saturday Post: New Site Design

Hey all,
As you may have notice, I have changed the way the site looks 😉
It is a bit simplier, I quite like it actually!

If anyone has any suggestions for site changes, suggestions for posts, etc then I would love to hear them! Just drop me an email at conno123009@programmer.net

The weeks been quite busy, school assignments and stuff. Maths test seem to be getting easier… Probably a good thing. Other than that, lifes going alright.

Thanks for reading!


Conno123009

Simple Raspberry Pi Terminal WiFi Setup Script

Hey everyone!

It’s been AGES since my last post 😦 I’ve been really busy with school and side-projects.

Anyway, I quickly made a basic Raspberry Pi WiFi setup script which you can run from terminal.

It was designed for PiPLAY, but will work on any Linux based distro.

Without further ado, here it is:

#!/bin/sh
INTERFACES="/etc/network/interfaces"
WPA="/etc/wpa_supplicant/wpa_supplicant.conf"
echo "Please enter your WiFi SSID: "
read ssid
echo "Please enter your password:"
read psk
echo "Please enter your encryption protocol - TKIP or CCMP:"
echo "Generally CCMP is WPA2 and TKIP is WPA1. If in doubt, try TKIP first."
read encryption
echo "Please enter the protocol - RSN or WPA:"
echo "Could be either RSN (WPA2) or WPA (WPA1)"
read proto
/bin/cat <$INTERFACES
auto wlan0
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
EOM
/bin/cat <$WPA
# /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="$ssid"
psk="$psk"
proto=$proto
key_mgmt=WPA-PSK
pairwise=$encryption
auth_alg=OPEN
}
EOM
export WIFINAME=$ssid
echo "WiFi Successfully Setup! Reboot to test changes."

Enjoy!

Tutorial: How to use Dogecoin and Make Money!

Hey everyone,

I’ve recently been messing with Dogecoin which is an open source cryptocurrency, like Bitcoin. This post is an attempt to make a tutorial on how to use Dogecoin, which is a fork of the Litecoin project, itself a fork of the bitcoin project.

Terminology

  • Bitcoin – The “original” crypto currency. Uses SHA256 algorithm. Hard to mine unless using specialized hardware
  • Litecoin – A new crypto currency that uses the scrypt algorithm. Able to mine using cpus and videocards.
  • Dogecoin – Such coin! Much wow! An alt coin that is a fork of litecoin and based on the shibu inu doge meme. A fun crypto currency, easy to mine and learn with.
  • SHA256 – The algorithm used by bitcoin. CPUs and GPU based hashing have been replaced by specialized hardware dedicated to this algorithm.
  • scrypt – the algorithm used by altcoins (litecoin, dogecoin). Scrypt is designed to be mined only with cpus and gpus. Dedicated hardware is said to be “impossible” due to the way it’s designed.
  • wallet – a program or website that has unique address and is connected to the blockchain.
  • minerd – a program used to cpu mine.
  • cgminer – a program used to gpu mine with ATI cards (previous versions only) or dedicated hardware (for bitcoin).
  • cudaminer – A program to gpu mine with nVidia cards.
  • pool – a group of individuals all mining together to pool together resources and share in the mined coins.
  • block chain – a list of all transactions. every wallet syncs up to each other and keeps a log of all transactions. when you send coins to an address, every wallet syncs up, and the wallet with the correct address receives the coins. depending on the coin, it could take minutes to days to sync up 100%.
  • workers – a name associated with your account that you use to mine with. You make a worker for each computer you will be mining with. for example, my username is Conno123009. I have 3 workers, one for each computer. worker one is named red, worker two is named green and worker three is named hamster.

Getting Started

You will want to download the dogecoin wallet software at dogecoin.com. Unzip the file and then run dogecoin-qt. You will see this window when it loads:

Screen Shot 2013-12-19 at 10.28.09 PM

You will have zero dogecoins when you start. And you will not by synced to the blockchain. It will probably take a few hours before the checkmark on the right hand side appears. You can hover over it to see how much syncing you have left.

You don’t need to be synced to mine though or to generate addresses to send and receive coins from.

Click on Much Receive to find your current wallet address.

Screen Shot 2013-12-19 at 10.28.24 PM

Click on New Address, and give it a label.

Screen Shot 2013-12-19 at 10.28.59 PM

You will then get a newly generated address to receive coins with.

Screen Shot 2013-12-19 at 10.29.21 PM

Joining a Pool

You are going to want to join a pool. You will be pooling your resources with a group of others to share the difficulty in mining, and you will receive an amount of coins proportionate to the mining power you put in. Most pool websites look the same, since the run the same open source software. Find one you like with a fast server and a quick loading website. It may take you two or three tries before you find a good pool.

Screen Shot 2013-12-19 at 10.30.54 PM

Look for the Signup link on the left, and then fill out the form.

Screen Shot 2013-12-19 at 10.31.24 PM

When you finish registering and then login, you will see a dashboard like below. Your hashrate should be at 0, because you haven’t started mining yet. Click on the My Workers link.

Screen Shot 2013-12-19 at 10.32.40 PM

This is where you will add workers. You generally want one worker per machine or program that is mining. Once you fill out the form with a worker name and worker password, it should appear on the page.

Screen Shot 2013-12-19 at 10.33.32 PM

Now click on the Getting Started link to get the mining address for your pool.

Screen Shot 2013-12-19 at 10.33.46 PM

Mining

I’m only going to be going over CPU mining, because I don’t have a powerful video card, but the process is the same.

I will be using minerd, a part of pooler’s mining suite. You can download it at the links in the Getting Started section of the pool website.

Once you have downloaded the file, extract it to a directory on your computer. You will want to open a terminal window or a command prompt (if using Windows). Change into the directory will you extracted the mining software, and then enter in the following command:

Screen Shot 2013-12-19 at 10.35.57 PM

 

./minerd –url stratum+tcp://pool.chunky.ms:3333 –userpass username.worker:workerpass

changing the stratum+tcp address to be the one offered by your pool, and your username and worker name+password.

If everything goes according to plan, you should now be mining and contributing to your pool. You will see output like this if it is working:

Screen Shot 2013-12-19 at 10.36.25 PM

Cashing out to your wallet

After a while, you should see dogecoins in your pool account. You will want to cash those out and send them to your wallet. Go back to the pool website, click on My Account, and you will want to put in your wallet address (you may want to make a new address for each pool) into the form.

Screen Shot 2013-12-19 at 10.35.14 PM

When you are ready, click on the Cash Out button. You should receive your coins in a few minutes.

Links

Getting Free Dogecoins!

One of the best places to get free dogecoins is:

Some other great ones include:

Donations

If you would like to donate any coins, my address is:

  • Dogecoin: DHo72jboeqCYVZtxybfqKSWNUz3qYjZVQe

I think that should do for now, enjoy!

I would like to thank Shea Silverman for the original article: http://blog.sheasilverman.com/2013/12/friday-post-bitcoin-litecoin-dogecoin-oh-my-a-tutorial-on-how-to-use-dogecoin/

 

Conno123009

Tutorial: Unlimited Coins in Almost Any Android Game!

Hey everyone,
This is my first post in a long time, I’ve been away for a bit.
I’ve also been playing with various Android hacking apps and stumbled across memory editors. A memory editor allows you to edit what an app or game stores on your devices RAM. For example, most games store your current score and coins in memory. This means we can edit that value and give ourselves virtually infinite!

Disclaimer: This guide is for educational purposes only. I also don’t own Game Killer or Subway Surfers. Subway Surfers graphics, etc are property of Kiloo and Sybo

Requirements:

  • An Android device
  • Root (If you’re not rooted, it won’t work. No exception. Rooting is easy and generally safe (unlike jailbreak), despite what everyone says.)
  • You’re favorite game. Most games work, but i’ll use Subway Surfers and an example.
  • Game Killer app. Can be downloaded from here

Here’s how to do it:

1. Download and install Game Killer from here

2. Run the app, you should see a screen like this:

2014-06-02 07.43.21

Press the button in the top right corner to minimize it. After it has been minimized, it should look something like this, with the Game Killer icon in the top left:

2014-06-02 07.43.32-1

 

3. Now open you’re favorite game, for example, I chose Subway Surfers.

2014-06-02 07.44.20

4. Start running, etc and collect some coins. Any amount will do as long as you can remember it.

2014-06-02 07.51.19

5. Once you have collected the coins, press the Game Killer icon. Make sure you remember exactly how many coins you got. In this example, I got six.

2014-06-02 07.51.37

6. You will be back at the Game Killer screen. Using the numeric keypad at the bottom of the screen, type the amount of coins you have and press the search button in the top right. A popup box will appear, make sure you press ‘Auto Identitfy’. There will appear to be no change yet.

 

7. Press the minimize button and keep running. Collect more coins, it doesn’t matter how many. In this example, I have twenty coins.

2014-06-02 07.51.52

8. Now open Game Killer again. Repeat the process and type your number of coins into the keypad, press the search button. This time there won’t be a popup box. Hopefully this time, you’ll get a long list of numbers.

2014-06-02 07.52.01

9. Minimize and keep running, earn some more coins. In this example, I now have 32.

2014-06-02 07.52.15

 

10.  Open Game Killer again and type in your number of coins. For me, it’s 32. Press the search button and hopefully there will be just one result. If there is more than one repeat the process a couple more times until there is just the one.

2014-06-02 07.52.27

 

11. Click on the one remaining item which should say your current coin count and popup box shall appear. Change the value (eg. 32) to what ever you want it to be (eg. 32000).

2014-06-02 07.52.42

12. Then press OK and close Game Killer. You probably won’t see a change yet because it hasn’t refreshed. Simply collect another coin to make it refresh.

2014-06-02 07.53.13

13. As you can see, I now have 32,016 coins. Yay! And thats how you get a bloody awful lot of coins.

Have fun being a cheater 😉 You can do this for most games, it also works for scores/gems/keys and smurfberries!

 

Good luck!

Conno123009

https://conno123009.wordpress.com

 

Saturday Post: Ultimate Hackers Toolkit

screenshot
Here is a snapshot of a little project me and a friend are working on. Its a system recovery/hacking toolkit. The whole thing is roughly 3.5g and fits on a USB. Once booted of the USB, you get hundreds of numerous tools. It contains many programs from Hiren’s Boot CD such as MiniXP and the DOS programs. I’ve added the following:

  • Ubuntu 14.04 Live CD
  • An awesome UI
  • Mini Windows 7
  • Damn Small Linux
  • OphCrack Password Cracker
  • I made it work on a USB
  • and some more stuff that I forgot.

I’ll keep you posted on the progress!

Conno123009

Windows: Still a Long Way Behind…

Apple's iOS

Apple’s iOS

Google's Android

Google’s Android

Microsoft's Windows...

Microsoft’s Windows…

Need I say more?