Saturday, October 18, 2014

Roku channel is stuck, cannot remove

Have you found yourself in a predicament, where you have a channel on your roku device with no possible way visible to remove it? Well read on, I had this same problem and found a way to remove the channel.

Back in the day we installed the "my video buzz" ( myvideobuzz ) channel/application on our Roku device. During a year or two of having that channel on our box, Roku was going through some turbulence with youtube and at the time did not have the youtube channel on the Roku. Apparently the myvideobuzz channel was streaming youtube content as a private channel, we found it's recommendation online somewhere. Roku eventually shut them down, claiming violation of some terms of use. Now that roku officially has youtube on the Roku 2, that wasn't a big deal for us.

We were cleaning out our channels on the roku, and noticed that when we hit the asterisk key (*) on our roku remote for the my video buzz channel, there was no "remove channel" option to be found. Apparently when roku removed/shut down the channel, our roku box disconnected that app from the roku mothership, removing our ability to remove the channel directly from the roku. Ahhhhh, how can I get rid of this channel?

I will tell you how I removed this channel. Here is a quick overview of the steps, with a detailed explanation below.

Summary:
  1. activate development mode on your roku
  2. go to development panel on your roku from your computers web browser
  3. login to developer panel
  4. delete the custom application that is there

Detailed explanation:

  1. Activate the Roku Development Mode on your roku. When you activate it, you will see a username and a password, remember the username and password for the next steps. To activate development mode, you will need to enter in a special remote sequence; this reminded me of the good old days on the nintendo entering cheat codes. At any rate, the key sequence that worked for me was: Home 3x, Up 2x, Right, Left, Right, Left, Right. After choosing to install, your roku will restart. After it restarts go to the next step.
  2. In your web browser from your computer, go to your Roku box IP address in your address bar. You can find your roku's ip address by going into the Settings menu on the roku then the about sub menu. There you will see a line that says IP address. Type that in your browser ( example, mine is http://192.168.0.7 in my browser, yours will be different ).
  3. Type in your username and password setup from the first step. The username looks to be standard, it set mine as "rokudev"
  4. You now see a screen for installing applications that you would build as a developer, don't worry though if you have no intention of uploading your own custom built app. You should focus on the area where it shows a long line of goobly glop and an option to delete. Although I never installed a custom application, there was one there waiting to be deleted; this must be the "my video buzz" app. So I clicked delete and crossed my fingers, gave it a few seconds and then checked my Roku. HAHA the my video buzz app is gone from my roku, SUCCESS!

Disclaimer: Although this worked for me, it may not work for you. In my experience the Roku can be a little finicky, so the problem you are having may not be the same as mine. Don't get me wrong, I love my Roku, it's a great inexpensive device for streaming on my tv. Heck, I even use the roku over the included "smart" features of my tv, because the roku interface and responsiveness is just plain better than my smart tv interface feel.

Sunday, March 2, 2014

Simple construction workbench stool

I needed an easy to build stool to give my feet a rest while standing at my workbench. I wanted it to be simple and quick to build, while just using scrap wood from around my garage.

Low and behold, my simple and easy to build workbench stool. See instructions below the photos.


I put together this stool from scrap laying around my garage. I had some 3x3 stock laying around from a previous project that I used for the legs and cross support. I had a left over board about 6" or 8" wide.

The only tools and hardware you absolutely need:
  1. drill with appropriate bit to make pilot holes for your screws
  2. saw ( I used a circular saw, however a table saw would give you more accur
  3. 10 screws ( unless you want to do some more fancy joinery work )
  4. tape measure
  5. sand paper ( a sanding block will also make your life easier )
To make my stool be a little more finished I also used a countersink bit and a handheld router with a round over bit ( to round the top edges of the stool ).

I determined the height of the legs by measuring from the floor to just under my rear end, which would give me a sitting position high enough to still work at the workbench. I settled on 29 inches for the legs, cut your legs to length, then clamp your legs into a 2x2 bundle and gang sand to make them all the same length.

I cut the board for the seat just wider than my hips, no measurement needed just put the board behind you and place a thumb just a little wider than your hips. Mark with a pencil and cut the board to length, clean up any rough edges by sanding.

Place the seat on the workbench perpendicular to the first leg, aligning your first leg in the corner. Pre-drill your hole, then use the countersink bit ( if you have one ) to prep for the screw. Screw the leg loosely to the seat ( we will tighten everything up later ). Continue rotating the seat and attaching the legs.

Stand the stool seat down on the workbench. Measure the distance between the legs on the side of the stool. Cut two pieces of 3x3 to length of the gap between the legs. Use these pieces to keep the legs square. Attach the pieces between the legs on either side toward the bottom of the stool, pre-drilling and using screws to attach ( one from each side ). If you wish you could also use dowels and wood glue, or some other suitable joinery.

Now measure between the two legs along the back of the stool and cut another piece of 3x3 to that length. This will keep the side legs square. Attach similar to the other 2 supporting pieces. I attached mine slightly below the other 2 supports, just my preference. I put this piece at a height that felt good to rest my feet on while sitting on the stool.

Now tighten the top screws in the seat, clean up and do any sanding/finish work you'd like.

My stool happens to fit just underneath the workbench when not in use ( as I recessed the shelf under my workbench ). I chose not to put a second length of supporting bar on the stool so that it reduced the chance of stubbing my toe when I store the stool under the workbench.

Here are a couple more pics, showing the bottom of the seat and the stool tucked nicely underneath the workbench.

Wednesday, December 12, 2012

PHP configuration files by environment

Ever want to define a configuration file for your code that is different on each of your servers automatically?

At bare minimum you may want to create a configuration file for your local development environment and your live server.

If you aren't using a framework like symfony or codeigniter and you'd like an easy way to make your configurations solid, then here is the trick for you.

It all comes down to defining a custom variable in the php ini file on your local environment. Simply open up your php.ini file, toss in the below code in there just below the [PHP] tag

server_environment = "local"

Then it's up to your programming to read this variable to decide what configuration to include. I use a general file named conf.php that gets included in my base controller class.

conf.php defines some pretty standard things like database connection strings, a site notification email address, and sometimes path information.

define('COOKIE_SALT','81234SupPotato99!!');


$server_environment = get_cfg_var('server_environment');
if ( $server_environment && file_exists(dirname(__FILE__). '/conf.'. $server_environment .'.php') ) {
include dirname(__FILE__). '/conf.'. $server_environment .'.php';
} else {
define('BASE_WEB', '/');
define('NOTIFY_EMAIL','email@email.com');

$db_config = array(
'username' => 'codebase',
'password' => 'zigzag',
'database' => 'codebase',
'host' => 'localhost',
'debug' => false,
);
}


Then you can create a file in the same folder as your conf.php file, name it conf.local.php and then you can define separate configuration parameters in there:


define('BASE_WEB', '/development/website/');
define('NOTIFY_EMAIL','email@anotheremail.com');

$db_config = array(
'username' => 'codebase',
'password' => '',
'database' => 'codebase',
'host' => 'localhost',
'debug' => true,
);

It's as easy as that, now you have a configuration file that will automatically be included for your local development environment with different parameters from your production configuration file.

If you need global configuration that applies to both your production and local environments, then just put the configuration parameters outside of your conditional statement in conf.php ( just like the cookie salt ).