UnoTelly Channels

Access US Only Online Content With UnoTelly!

If you live in the US, it is pretty easy to “cut the cord” and be able to access all the content you would ever want online with services like Netflix, Hulu, and directly from content provider’s websites/apps. But as a Canadian, it is pretty hard to cut the cord because a lot of the content that is available on cable and satellite TV is not available online in Canada due to licensing deals. There are many services that aim to get around the IP blocking like VPNs and proxies. I have tried many of these services with very unreliable success. VPNs and proxies add a lot of latency and slow down the connection considerably, most of them also have data limits.

Recently I found a service called UnoDNS by UnoTelly that sets out to fix the problems these other services cause. UnoDNS uses proprietary Direct Connection™ technology to ensure that the connection is not slowed down. With UnoDNS you connect directly to the content provider’s content without going through a “middle man”. This also means your internet traffic is not susceptible to man-in-the-middle attacks. Setup of UnoDNS is very easy. All you do is change the DNS server on your router and all of the devices in your home will have access to over 30 channels. And, if you already pay for a non US Netflix account, you can access US Netflix content without additional fees from Netflix.

Give UnoDNS a try! http://www.unotelly.com/portal/aff.php?aff=15267

Use Proxmox VE To Turn Your Old Computer Into A Virtual Machine Server

If you are a computer geek like me, chances are you have a few computers lying around just collecting dust. Why not put them to good use and create a virtual machine server out of them?

You could install Ubuntu or CentOS, setup VirtualBox and configure some virtual machines and waste time configuring scripts; or you could install Proxmox VE, setup some virtual machines and be done with it. Proxmox VE is an open-source, Linux based, virtualization platform. It is free to use and very simple to install. Just download the Proxmox VE ISO, burn it to a disk, and run the setup on your machine. Installation only takes about 3-5 minutes and it is very easy to add virtual machines and appliances. Just login to the web interface from any computer on the network and upload an operating system image to the Proxmox VE system. They also make it easy to install an appliance from one of their virtual appliance templates.

Another thing that is really great about Proxmox VE is clustering. Thats right… clustering. With Proxmox VE you can setup multiple servers on the network and put them in a cluster to provide centralized web management for all the servers. With clustering, you can also move virtual machine instances from one server to another to another to another and so on to get the optimal configuration and the most performance out of your hardware.

Oh, and BTW, you can also schedule backups of your virtual machines.

Internet Status Indicator – Arduino Project

In this project, I made a device that shows internet status using LEDs. I used red and blue LEDs because it went well with my overall design, but you may use any colours you like. Keep in mind that different LEDs have different forward voltage and current and may require different resistors. To calculate the resistance needed, check out http://www.hebeiltd.com.cn/?p=zz.led.resistor.calculator.

This device works by the arduino sending a ping command to a program called GoBetwino every 90 seconds. GoBetwino then pings the specified server and returns either a 0 or -1 to the arduino. 0 meaning the server was pinged succesfully and -1 meaning it failed. The arduino will then turn on the right colour of LEDs indicating the status of the internet. I have also programmed the arduino to send an email command to GoBetwino if the internet has been out longer than 1 minute. I have wired all of this into my custom computer case that I made from two Ikea picture frames.

Here is a schematic for this project using multiple LEDs:

Here is a simpler schematic using only 2 LEDs:

Here is the arduino sketch:

// This script is to be used in conjuction with GoBetwino to check
// if the internet is working on the machine the arduino is attached
// to. Get GoBetweeno at http://mikmo.dk/gobetwino.html
// Variables:
const int ledRed =  6;  // pin for Red LED
const int ledBlue =  10;  // pin for Blue LED
const char PingCMD[] = "PING";  // command configured in gobetwino for pinging
const char EmailCMD[] = "EMAIL";  // command configured in gobetwino for emailing
const int DefaultPingInterval = 90000; // how often should the ping command be excecuted
const int netOutTime = 60000;  // minimum internet outage time for email to be sent
const char emailAddy[] = "example@example.com";  // the email address to send emails to
// Nothing below this line should be changed unless you know what
// you are doing.
int incomingByte = 0; // for incoming byte from serial
int FirstLoop = 1;  // for indicating first loop
int waitingforSerial = 0;  // for indicating if script is waiting for response from serial
int PingInterval = 0;  // for storing ping interval
int LastWasBlue = 1;  // for determining if last color was blue
unsigned long currentTime = 0;  // for storing current time
unsigned long timerStart = 0;  //  for storing the time at which the timer started
void setup() {
  Serial.begin(9600);  // begin serial at 9600 baud
  pinMode(ledRed, OUTPUT);  // set ledRed pin as output
  pinMode(ledBlue, OUTPUT);  // set ledBlue pin as output
}
void loop(){
  currentTime = millis();  // set current time to millis
  unsigned long timePassed = currentTime - timerStart;  // get time difference between currentTime and timerStart
  if (FirstLoop == 1)  // if script is on first loop
  {
      digitalWrite(ledRed, HIGH);  // turn red led on
      digitalWrite(ledBlue, LOW);  // turn blue led off
      FirstLoop = 0;  // set FirstLoop to 0
      PingInterval = DefaultPingInterval;  // set ping interval to default
  }
  else
  {
    if (waitingforSerial == 0)  // if waitingforSerial is 0
    {
      delay(PingInterval);  // delay script by PingInterval
      Serial.print("#S|");  // send ping command to serial
      Serial.print(PingCMD);  // "    "     "     "    "
      Serial.println("|[]#");  //"    "     "     "    "
      waitingforSerial = 1;  // set waitingforSerial to 1
    }
    else
    {
      if (Serial.available() > 0)
      {
        delay(100);
        incomingByte = Serial.read();  // read the incoming byte
        if (incomingByte == 48)  // if server was pingable
        {
          if (timePassed >= netOutTime)  // if timePassed is greater than or equal to wait time
          {
            if (LastWasBlue == 0)  // if last color was not blue
            {
              Serial.print("#S|");  // send email command over serial
              Serial.print(EmailCMD);  //"    "     "      "     "
              Serial.print("|[]#");  //"    "     "      "     "
            }
          }
          digitalWrite(ledBlue, HIGH);  // turn blue led on
          digitalWrite(ledRed, LOW);  // turn red led off
          PingInterval = DefaultPingInterval;  // reset PingInterval to default value
          LastWasBlue = 1;  // set LastWasBlue to 1
          waitingforSerial = 0;  // set waitingforSerial to 0
          timerStart = 0;  // reset timerStart
        }
        if (incomingByte == 49)  // if server was not pingable
        {
          digitalWrite(ledRed, HIGH);  // turn red led on
          digitalWrite(ledBlue, LOW);  // turn blue led off
          PingInterval = 5000;  // lower ping interval to 5s
          waitingforSerial = 0;  // set waitingforSerial to 0
          if (timerStart == 0)  // if timer has not already started
          {
            timerStart = millis();  // set timerStart to current time
          }
          LastWasBlue = 0;  // set LastWasBlue to 0
        }
      }
    }
  }
}

Files:
sketch_jun28a.pde (3.77 kb)
Schematic_bb.svg (416.32 kb)
Schematic_schem.svg (94.70 kb)
Schematic-Simple_bb.svg (253.87 kb)
Schematic-Simple_schem.svg (65.96 kb)

7a38ddd2-b80b-4ce5-b40c-b7de6bd45825-orig[1]

DIY Computer Case using Ikea Ribba Picture Frames

Last weekend, I made a trip to Edmonton to go shopping at Ikea. While I was there, I picked up a couple of picture frames from their Ribba line to make a computer case that I can show off on my wall.

As soon as I got home, I started working on this project. I started by taking the frames apart. I then mounted the motherboard and hard drive to the thick, cardboard backing. After that, I put some blue LEDs in to give a cool glowing effect. But since the motherboard was too thick to mount in just one picture frame, I joined two frames together using a couple of hinges. I think the final product turned out great! Here are some pics:

      

Idea courtesy Hak5


Hak5 – Building a photo frame computer case, your iPhone jailbroken picks, Multi-monitor PC setups…