Tips

Cafe World Cheat #2

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.

Be the first to comment - What do you think?

Posted by James    Date: Sunday, January 17, 2010

Categories: Tips, Web

Tags:

Cafe World Cheat

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.

Be the first to comment - What do you think?

Posted by James    Date: Friday, January 15, 2010

Categories: Tips

Tags:

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.

Be the first to comment - What do you think?

Posted by James    Date: Thursday, January 14, 2010

Categories: Programming, Tips

Tags: , ,

HDTV using MPlayer

In my desktop computer, I’ve got an nvidia GeForce 6150 PCI-E video card. It has a built-in mpeg2 decoding helper in it. Using Linux, this is called XvMC, or Xvideo Motion Compensation. I finally got it partially usable.

I’m currently watching the news on WJBF, the only channel I get b/c I haven’t fully setup my antenna. Using xvmc is fairly simple:

mplayer -vc ffmpegmc12 -vo xvmc -framedrop dvb://WJBF-DT

I add -framedrop to keep the video and audio sync’ed.  Mplayer will rant about waiting for retrace. Using OpenGL is actually better, for me at least.

mplayer -vo gl2 -framedrop dvb://WJBF-DT

It dropped 14 frames at the beginning, but hasn’t dropped another in 10 minutes. XvMC would have crapped out by now. A/V sync is still perfect. I’ve even got it full screen and it’s resizing from 1280×720 (720 HD resolution) to 1440×900.

Be the first to comment - What do you think?

Posted by James    Date: Wednesday, January 13, 2010

Categories: Linux, Tips

Tags: , ,

X11 Forwarding

A few days, I moved my desktop computer out into the living room. The computer has a tuner card that can receive digital broadcasts. I don’t own a TV, so this is the closest I’ve got to one. I still have to set up lircd before I can use a remote, but I wanted something a bit easier

Today, I discovered a new trick … SSH X11 Forwarding. Now, I can play video on my desktop right from my netbook. It’s wonderful and very simple!

In the following instructions, the “A” refers to the computer playing the video and “B” refers to any other computer.

  1. Make sure “X11Forwarding Yes” is in your sshd_config file on computer A. Restart sshd if you had to uncomment/add it.
  2. On B, run `ssh -XC A`
  3. In the ssh session, type `DISPLAY=:0.0`.
  4. Now run mplayer or any other video player in the  ssh session and it will play on computer A.

If you want  to have a program run on computer A and use the screen on computer B, the process is very similar:

  1. Make sure “X11Forwarding Yes” is in your sshd_config file on computer A. Restart sshd if you had to uncomment/add it.
  2. On B, run `xhost A`
  3. On B, run `ssh -XC A`
  4. Now run mplayer or any other video player in the  ssh session and it will play on computer A.

Step 2 authorizes use of the current display by computer A and only needs to be run once. Also, note that the display variable doesn’t need to be set when using B’s screen.

Mplayer works wonderfully when playing on my desktop, plus I control it via the ssh session. It has tons of keyboard shortcuts. The ones I use the most are space for pause and the arrow keys for skipping around.

Be the first to comment - What do you think?

Posted by James    Date: Monday, January 11, 2010

Categories: Linux, Networks, Tips

Tags: , ,

PVR Update

In anticipation of TV shows coming back on, I’ve been tweaking my PVR scripts. These record shows from the digital airwaves right onto my computer. I’ve separated the script into two parts: recording and encoding. Each is a simple one line shell script that can be called easily from the command line or from a cron. The record.sh script is:

/usr/bin/mencoder dvb://$1 -ovc copy -oac copy -o "$2.mpeg" -endpos $3

All this does is copy the video and audio streams directly to the disk. The three parameters are  the station name, as stated in ~/.mplayer/channels.conf, the filename and the end position. This end position can be the number or seconds to record, or a time format of hh:mm:ss. This makes recording fairly simple within the cron.

The encode.sh script contains:

/usr/bin/mencoder -vf scale=640:-2 -ovc xvid -xvidencopts bitrate=1700:threads=2 \
 -oac copy "$1" -o "$1.avi"

This, slightly more complex use of mencoder, will scale the video to 640 wide, the height calculated to keep the aspect ratio. The video is encoded into xvid at 1700kbps using 2 threads. To speed up the encoding process, the audio is not re-encoded, but copied as is.

You will need to play with the number of xvid threads to find the best fps. I have a dual-core and it encodes the fastest with 2 threads. It does need to be an integer, and most dual-cores will work best at 2.

Then, two lines are required in the cron to record and encode the program:

59 19 * * 1 /dvr/record.sh WAGTNBC /dvr/shows/heroes 01:03:00
05 20 * * 1 /dvr/encode.sh /dvr/shows/heroes.mpeg

Be the first to comment - What do you think?

Posted by James    Date: Monday, January 4, 2010

Categories: Linux, Tips

Tags: , ,

ffmpeg Cheat Sheet

ffmpeg is a video encoder for linux. This tool is very versatile and can do pretty much any kind of video processing all from the console.

As with any linux tool, there a tons of bells and whistles. This makes the learning curve kind of steep, but with a bit of determination anyone can make sense of it. Without further ado, here’s the cheat sheet:

ffmpeg -i clip1.avi -i clip2.avi -vcodec copy -acodec copy new-clip.avi Copies clip1 and clip2 into new-clip.avi
ffmpeg -i clip.avi -vcodec libxvid -b 800000  -acodec libmp3lame -ab 128 new-clip.avi Encodes a clip with the xvid codec at 800Kbps and mp3 audio at 128Kbps.
ffmpeg -i clip.avi -t 00:05:00 -vcodec copy -acodec copy new-clip.avi Copies the first 5 minutes from clip.avi into new-clip.avi
ffmpeg -i clip.avi -t 00:05:00 -ss 60 -vcodec copy -acodec copy new-clip.avi Copies 5 minutes from clip.avi into new-clip.avi, skipping the first minute.
ffmpeg -i clip.avi -s 640:576 -vcodec libxvid -b 1200000 -acodec copy -o new-clip.avi Resizes the video to 640×576, then encoding video using xvid at 1200Kbps and copying the audio directly
ffmpeg -i clip.avi -target ntsc-dvd -b 5000000 dvd-clip.mpeg Encodes clip.avi into a dvd-compatible mpeg at 5000Kbps

Be the first to comment - What do you think?

Posted by James    Date: Wednesday, December 23, 2009

Categories: Tips

Tags:

Mencoder Cheat Sheet

Mencoder is a video encoder for linux. It is part of the mplayer package which also includes a video player. This tool is quite versatile and can do pretty much any kind of video processing all from the console.

As with any linux tool, there a tons of bells and whistles. This makes the learning curve kind of steep, but with a bit of determination anyone can make sense of it. Without further ado, here’s the cheat sheet:

mencoder clip1.avi clip2.avi -ovc copy -oac copy -o new-clip.avi Copies clip1 and clip2 into new-clip.avi
mencoder clip.avi -ovc xvid -xvidencopts bitrate=800  -oac lamemp3 -lameopts cb:br=128 -o new-clip.avi Encodes a clip with the xvid codec at 800Kbps and mp3 audio at 128Kbps.
mencoder clip.avi -ovc xvid -xvidencopts bitrate=800:threads=2  -oac lamemp3 -lameopts cbr:br=128 -o new-clip.avi Same as above, but uses 2 threads for the xvid encoding.
mencoder clip.avi -endpos 00:05:00 -ovc copy -oac copy -o new-clip.avi Copies the first 5 minutes from clip.avi into new-clip.avi
mencoder clip.avi -endpos 00:05:00 -ss 00:01:00 -ovc copy -oac copy -o new-clip.avi Copies 5 minutes from clip.avi into new-clip.avi, skipping the first minute.
mencoder dvb://WJBF-DT -endpos 01:0000 -ovc copy -oac copy -o ugly.betty.mpeg Tunes to WJBF-DT, records 1 hour of that station to ugly.betty.mpeg
mencoder clip.avi -vf scale=640:-2 -ovc xvid -xvidencopts bitrate=1200:threads=2 -oac copy -o new-clip.avi Resizes the video to 640 wide, keeping the aspect ration, then encoding video using xvid at 1200Kbps and copying the audio directly
mencoder tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -ovc lavc -o >(tee webcam-`date +%Y-%m-%d-%H.%M.%S`.avi | mplayer -cache 128) Records the webcam to “webcam-yyyy-dd-mm-hh.mm.ss.avi”, where that is the date, and display it to the screen while recording.
mencoder -idx clip.avi -ovc copy -oac copy new-clip.avi Fixes the AVI index of clip.avi, the output being new-clip.avi
mencoder clip.avi -vf cropdetect -o /dev/null Detects what cropping is needed
mencoder clip.avi -of mpeg -mpegopts format=dvd -lavcopts vcodec=mpeg2video:vbitrate=5000:acodec=ac3 -o dvd-clip.mpeg Encodes clip.avi into a dvd-compatible mpeg at 5000Kbps
mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4 -oac copy -o dvd.avi Rips a DVD to dvd.avi

Be the first to comment - What do you think?

Posted by James    Date: Monday, December 21, 2009

Categories: Linux, Tips

Tags: , ,

Using Subversion for Server Backups

Last month, I lost the template for Barry Bakes. I was ultimately to blame for it for 2 reasons:

  1. I had altered the default template without copying everything to a new folder.
  2. I had no server backups running.

After a few iterations, I came up with an ingenious way to use subversion and rsync to handle my backups and not waste megabytes every day from duplication. Also, this method doesn’t leave you with a folder full of backup folders. There are 2 folders, the svn repository and the rsync folder.

To do this, you must generate dsa  or rsa keys for passwordless logins.

To set it up svn, you must do the following:

svn create /path/to/svn/repository
rsync -azvv --progress server:/path/ /local/path/
cd /parent/of/local/path/
svn import folder file:///path/to/svn/repository -m 'Initial Import'
rm folder -rf
svn co file:///path/to/svn/repository

Note that everything in bold must be replaced with your specific values. Once that is done, run this shell script once a day to commit changes to subversion:

#/bin/sh

/usr/bin/rsync -azvv --delete --progress server:/path/ /local/path/
cd /parent/of/local/path/
/usr/bin/svn status |
	/bin/grep '^?' |
	/bin/sed 's/^?       /svn add "/g' |
	/bin/sed 's/$/"/g' |
	/bin/bash
/usr/bin/svn status |
	/bin/grep '^!' |
	/bin/sed 's/^?       /svn delete "/g' |
	/bin/sed 's/$/"/g' |
	/bin/bash
/usr/bin/svn commit -m '`date +%Y-%m-%d`'
/usr/bin/svn update

That will update and commit the changes to subversion. It comments the date in yyyy-mm-dd format for each commit. Plus, now you can checkout any date (revision) you want!

Happy Backups!

Be the first to comment - What do you think?

Posted by James    Date: Friday, December 18, 2009

Categories: Tips

Tags:

SSH Without a Password

You can ssh from one box to another without typing in your password. This is done using a key pair. One key sits on the computer A, the other on computer B. Starting logged into computer A, here’s how you do it:

ssh-keygen -t dsa
ssh B mkdir ~/.ssh/
cat .ssh/id_dsa.pub | ssh B 'cat >> .ssh/authorized_keys'

When you run ssh-keygen, do not use a passphrase, just press enter. Also, change the bold B to the name or IP of computer B. If you were successful, you should be able to `ssh B` without a password.

To repeat for another computer, do not repeat ssh-keygen, just repeat line 2 & 3. If you run ssh-keygen again, your key will be overwritten and you’ll need to copy it again via line 3.

Using keys is an excellent security measure. You can even setup sshd to only allow keyed logins. No passwords allowed. If you do set this up, make sure you have physical access or a rescue/remote console or you’ll be locked out if you lose your key.

Be the first to comment - What do you think?

Posted by James    Date: Thursday, December 17, 2009

Categories: Linux, Tips

Tags: , ,

Next Page »