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'
    gcc/config/i386/i386.c

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.

Be the first to comment - What do you think?

Posted by James    Date: Thursday, June 3, 2010

Categories: Linux

Tags:

Cool Drag & Drops

If you´ve been working with computers for a bit, you know that you can drag and drop files from folder to folder. What you may now know is that there are plenty more uses for drag and drop. Here´s a 3 very useful drag and drops:

  1. Drag a program from the start menu to the desktop.
    This is great if you use something all the time, but the program did not install a desktop icon. Note: Putting freecell on your desktop may be hazardous to your productivity.
  2. Drag a folder/file/program to the start menu.
    You can´t just drop it anywhere on the start menu, as parts of it were written in stone.
  3. Drag a tab in Firefox to the Bookmark menu.
    This makes bookmarks super easy. You can even drag the tab to the bookmark toolbar.

Pointer Clues

When you drag and drop, your mouse pointer will change. If you are not allowed to drop something somewhere, you will have a no sign (like no smoking). If you are allowed to drop something there, you will have a normal pointer with a dashed box. Usually, a black line will show where the item will drop.

Right-Click Drag and Drop

If you use the right mouse button instead of the left, when you drop the item you will see a little menu. This will ask if you want to copy, move, create a shortcut, or cancel. Most of the time, Windows will move the item. Sometimes a copy is made. If you right-drag it, you can decide.

Middle-Click

Sadly, the scroll wheel, sometimes called the middle button, does not drag and drop. It does have some pretty cool uses though, including opening a link in a new tab.

One Final Clickity Note

Always use the left mouse button, unless told specifically to use another button.

Be the first to comment - What do you think?

Posted by admin    Date: Tuesday, March 30, 2010

Categories: Tips, Windows

Tags: , , ,

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?

Be the first to comment - What do you think?

Posted by James    Date: Tuesday, January 26, 2010

Categories: Web

Tags: ,

Cafe World Cheat #2

UPDATE 3/18/2010: I have created some tools to help at http://www.cafeworldhelper.com. 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.

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 3/18/2010: I have created some tools to help at http://www.cafeworldhelper.com. 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.

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:

Next Page »

This website uses a Hackadelic PlugIn, Hackadelic Sliding Notes 1.6.3+.