Playing Video Files on Your TV with minidlna

Playing Video Files on Your TV with minidlna

One of my presents from Christmas a few years back was a Sony smart blu-ray player. It was marketed as something that easily streams files from your computer. That is absolutely true for anyone that runs Windows, just point and click. With Ubuntu, it’s a bit more complicated. Enter minidlna.


First thing, install minidlna. Open a terminal (Ctrl-Alt-t) and type this in:

sudo apt-get install minidlna

If you’d rather use the package manager, just search for minidlna.


The configuration file is editable by running this in the terminal:

sudo gedit /etc/minidlna.conf

There are 2 settings to note: media_dir and friendly_name. The names used are pretty explanatory. Here’s an example of what to update:

# Path to the directory you want scanned for media files.

# Name that the DLNA server presents to clients.

Save and close the file. On the terminal run this to refresh minidlna:

sudo service minidlna restart

That’s it! minidlna is all setup to server the files and folders in your media_dir.

ssh: Remember each host’s settings

ssh: Remember each host’s settings

When you start using ssh to connect to other linux-based computers, you’re probably only going to a handful of machines. Easy enough to remember the username and hostname, but this won’t do when you’re working on 5 or more servers, especially if some offer ssh on a non-default port.


In this file, you can set all the options for each host, including the username, host or ip, port, even which key to use. Here’s an example:

#Contents of $HOME/.ssh/config
Host dev
User dev-deploy
Port 2222
IdentityFile ~/.ssh/id_rsa.deploy.key

Host prod
User prod555deploy
Port 5899

User admin123
Port 5899

It’s that easy! To use this config information, simply ssh:

ssh prod

Happy Computing!

Facebook Cover Photos

Personalizing your Facebook Cover Photo is easy, once you know how to search for one. Here’s a quick guide to help you find exactly what you want:

  1. Go to Google Image Search
  2. Search for something, for instance: Fringe
  3. On the left, click ‘Exactly…’ under Any Size
  4. Enter a width of 851
  5. Enter a height of 316
  6. Now all the images in your results are the perfect size for your Facebook Cover.
  7. Keep on searching to find something uniquely you!

Now, if there’s a watermark/logo, you can remove it in Gimp or Photoshop. Or you can just pick an image without a mark in it.

Happy Facebook-Stalking! j/k lol

What you should know about memory leaks

Have you ever noticed that your browser slows down after running for a while? Heck, most times the whole computer slows down after running for a while. This is primarily because a program requested a chunk of memory and not releasing that chunk when said program is done. This is called a memory leak.

When I speak of memory, I’m speaking of RAM, not the hard drive. RAM forgets everything when the computer turns off. The hard drive stores the programs, music, e-mails, etc. while the computer is off. At least until the hard drive fails, and it will one day. Reason #1 to Make Backups!

Every program uses RAM. It’s impossible to run a program without copying it to RAM first. On top of that, when a program needs more RAM, it requests it from the operating system. Once the program exits, the OS should release that RAM so another program can use it. Sadly, this is not always the case.

Checking for Leaks

It’s quite easy to check for memory leaks for a specific program. If you’re running Windows:

  1. Right click on the task bar and select task manager
  2. Click on the Processes tab
  3. Select Options -> Select Columns…
  4. Check the VM Size and Mem Usage
  5. Click OK
  6. Run the program, if its not already running
  7. Keep a watch on it’s statistics
  8. If the VM Size and/or Mem Usage keeps going up and not going down, that program has a memory leak!

Note: Once you do steps 3-5, you won’t have to do them again on that computer.

Using Linux or MacOS:

  1. Open a command prompt
  2. Run: top
  3. The columns to watch at Virt(ual Memory) and  Res(idual Memory)
  4. Run the program, if its not already running
  5. Keep a watch on it’s statistics
  6. If Virt and/or Res keeps going up and not going down, that program has a memory leak!

Note: Press h for help while running top.

Most Leaks Occur in the Browser

Sadly, tons websites have memory leaks. To check for this:

  1. Do steps 1-5 above or run top
  2. Load up your browser
  3. Go directly to Leaks There!)
  4. Check the VM Size and Mem Usage
  5. Go to a site that regularly slows your browser down
  6. Check the numbers, they should have gone up
  7. Go back to
  8. Check the numbers again

If they don’t go down at all, you can almost guarantee that that website has at least one memory leak. I’ve noticed this is especially true for Cafe World and Frontierville on Facebook, but almost all flash-based game will have memory leaks because flash has memory leaks. That is why the newer versions of Firefox runs flash as a separate program.

Luckily, all you have to do is restart your browser and those numbers will be reset. Setting your homepage to something simple that doesn’t leak, about:blank is good, can help too.

Memory Leaks Are NOT Dangerous

These leaks are not dangerous, just frustrating and annoying. Restarting the program or computer will speed things back up. That’s not a permanent solution, but it is usually the easiest fix.

Another option is to call tech support, but most of the time they can’t do anything for you except forward your complaint to the proper department and tell you to restart your computer or the program. If you choose this option, make sure to have all your number written down before you even call.

Sometimes, the best solution is to just stop using that program or website. Find an alternative that doesn’t have memory leaks. You might even find a gem in the rough.

GCC 4.5

Over the last week, I’ve been updating my eeePC’s Gentoo linux to run GCC 4.5 and recompiling every package. The main reason is that now almost all my software is fully optimized for the Intel Atom processor. With only 1 relatively small hack, the rebuild went fairly smooth and my CFLAGS now contain “-march=atom -mtune=atom” !

The one small hack was placing a sed command inside the gcc 4.5 ebuild. It will build the first time without the command, but all subsequent builds will fail with an error that stage 2 and stage 3 are different. Here’s the line added to the src_unpack part of the ebuild: (Note: wrapping added)

[[ ${CFLAGS} == *-march=atom* ]] && sed -i 
    -e 's/(INSN_P/(NONDEBUG_INSN_P/g' 
    -e 's/!INSN_P/!NONDEBUG_INSN_P/g' 

To keep it safe, the line check if you $CFLAGS has -march=atom in it. If so, then it runs the following sed command. Originally issued as a patch for gcc for all of us running an Atom processor(s), I swapped it around to a sed command, as a few forum posts pointed out.

Beyond making the ‘overlay ebuild’, there was only 1 other snag, and that was binutils. Using the new gcc, binutils just wouldn’t compile. The error was about the movbe instruction. Upgrading from 2.18 to 2.19 using the old gcc compiler did the trick. After that it was just a matter of waiting for all the packages to recompile.

If anyone is thinking about upgrading to gcc 4.5 on gentoo, it’s not all that bad. Make sure to read the Gentoo GCC Upgrading Guide before you do anything. Also, run a “cat /proc/cpuinfo” to get the model of atom processor and make sure your CFLAGS are set properly.

Are Games Moving to Legal Torrents?

Thursday, 1/21/2010, someone uploaded Mass Effects 2 to a torrent site. Between then and today, it has bounded to the top of The Pirate Bay’s PC Games category and #4 in the overall top 100. Today, the official game release date, the 14.35GB download has 1,877 seeders and 28,448 leechers according to TPB.

The retail version of this game comes with access to downloadable content. While this additional content can be purchased for $15 if the game comes second hand, that doesn’t help those that download the game illegally. The retail PC version can be found for at little as $43.

My theory is simple: This game was leaked by BioWare. They want to see how many people buy the game vs how many download it, when buying the game comes with extra content. The leak is just like an old school demo; the ones where you got the whole game, but just one level.

The business model makes perfect sense. The more people that download via BitTorrent, the more money saved from manufacturing. On top of that, removing retailers from the financial pyramid makes products cheaper for the consumer and more revenue directly to the producer.

Could we be returning to these earlier days? Could this be the future? Game makers releasing a low content version via BitTorrent and charging for additional content?

Cafe World Cheat #2

UPDATE 3/18/2010: I have created some tools to help at Included are a cooking suggestion tool, more cheats and tricks, a forum, even a spice tool.

I’ve got another cheat for all you cafe world fans.

If you turn your stove toward a wall or table or another stove, you will not have to walk to the stove. Ever. In fact, the only place your character will walk to is a serving table.

Bonus Tip

Max your buzz rating to 105.0 by making sure no customer leaves without food. Following my original Cafe World post, will almost ensure this.

Once your employees are boxed in, if anyone leaves without food, (re)move the table/chair where that person was sitting.

Cafe World Cheat

UPDATE 3/18/2010: I have created some tools to help at Included are a cooking suggestion tool, more cheats and tricks, a forum, even a spice tool.

UPDATE 2/6/2010: Cafe World upgraded their game this past week. Instead of a plant, you must use a chair or  table now to block your employees.

Recently, I’ve been playing Cafe World on Facebook. It’s one of those games that you play in spurts, cooking food. It’s quite addicting, and leveling goes fairly quick. I’ve figured out an easy cheat that anyone can do.

You can block your employees behind serving counters and they don’t have to walk to the tables. They pick up the food and it magically appears on the table. Also, the employee will “clean” the counter directly in front of them, leaving all servings there and a plate in the dining room disappears.

There is a trick to doing this. You have to block them in with a small object. I use a plant:

Employees trapped between 2 walls, a wall of counters, and a plant.

The plant was even a gift from a neighbor. This is super simple and can help raise your buzz rating.

MySQL Timezone

I have been using a to do list web application for the past couple of years. It’s not perfect, but it gets the job done. Well, from time to time, I stay up past midnight and am still working on my to do list. When that happens, I have to manually set the completed date, but not anymore.

I changed the timezone for the mysql session of the web app. It’s quite simple. The app uses good programming practices, so there’s only 1 place that I had to modify: immediately after the database connect & select db. These two lines now run as well:

mysql_query( 'SET time_zone = \'-8:00\'' );
date_default_timezone_set( 'America/Los_Angeles' );

My timezone is -5:00 (EST), so I set the timezone to -8:00 (PST). That gives me until 3AM local time to complete the tasks. If only there was a way to set the timezone of a particular database or user.