Notes on computer programming, server administration, using databases and ideas completely unrelated to Automation.

Archive for the ‘Programming Solutions’ Category

Launched Free Online Google Keyword URL Ranking/Position Report Software

Sunday, March 27th, 2011

A free online Google keyword and URL ranking or position report software was launched today, at http://www.mikeskramstad.com/reports/free-online-google-keyword-ranking-software.php. It is based on Google’s JSON/Atom Custom Search API, not on screen scraping which would violate Google’s Terms of Service (TOS). The keyword ranking software generates a report for one website’s domain name and it is limited to 512 bytes worth of keyword phrases and 10 to 20 keyword phrases, depending on the length of the phrases. The time to generate a report is about 45 seconds, and the report can be downloaded in CSV format and optionally emailed to you or someone else.

Since it is freely available to the public, it is limited to 100 searches per day per Google’s TOS. I could have written the software to use screen scraping to by-pass this limit, however, I did not want to risk having the software blocked by Google.

Google keyword ranking report software

Google keyword ranking report software

As seen in the image above, the user interface is very simple. You enter your keywords in a comma-separated list, which you can keep in a saved Notepad file and copy and paste the keywords into the keywords field whenever you want a report. It will save you a lot of time and effort. No need to manually do the searches and read through all of the results to find your website. Below is a sample report.

Rankings Report for www.mikeskramstad.com

# POSITION KEYWORDS URL
0 9 software developer los angeles http://www.mikeskramstad.com/
1 3 software developer san francisco http://www.mikeskramstad.com/
2 5 computer programmer los angeles http://www.mikeskramstad.com/profile.php

Download report file results-03-28-11-0503AM.csv

How to Copy Rip Encrypted DvD Movies Remove CSS & Convert to AVI DIVx

Saturday, February 5th, 2011

Most movie DVDs are encrypted. Therefore, you need more than just a DVD copier program. On Windows systems I use software called DVFfab 8 (www.dvdfab.com) to copy or rip CSS (”Content Scramble System”) encrypted movies and videos to the hard drive.  You’ll need at least 8gb of hard disc space.  You can download DVFfab 8 here.

Rip DvD using DVDfab8 software program from www.dvdfab.com.

Rip DvD using DVDfab8 software program from www.dvdfab.com.

It isn’t free but it let me use it for a few days before requiring a code key to work. I ran it inside a VMware virtual machine running Windows Ultimate 7 on a system running Linux Ubuntu Lucid 10.04.   Is there Linux software to “descramble CSS “enhanced”  DVDs? The man page for the program vobcopy (runs on Linux) states,
‘CSS  is  sold  by  the DVD industry as a “copy protection”, though it’s more of a “view protection” as it makes DVDs unviewable with unlicensed players.  Some people have hacked CSS decryption routines, and one of those  is
available  as  a  libdvdread counterpart.’ On Linux I use vobcopy and libdvdread. The library libdvdcss must also be installed. I downloaded it from http://archive.debian-maintainers.org/unofficial/packages/libdvdcss/current_i386/. The Debian package version 1.2 libdvdcss2 may be  installed using the Package Installer.

install-libdvdcss2

Once you have the DVD movie ripped to your hard drive, if you are using Windows, you may use Flask MPEG to convert it to the AVI Divx format, which is much smaller than the vob files on the original DVD. You can download Flask MPEG here.

Download Flask MPEG for Windows systems.

Download Flask MPEG for Windows systems.

Before running Flask MPEG you must install the Divx video and MP3 sound drivers. Download the Divx driver here. You can control the size of the final file by setting the frame rate, resolution, and sound quality.

Should you want to convert DVD vob files to AVI Divx on Linux you may use various programs, however, I stick to using ffmpeg when I can.  According to ffmpeg’s documentation, “You can transcode decrypted VOBs:

ffmpeg -i snatch_1.vob -f avi -vcodec mpeg4 -b 800k -g 300 -bf 2 -acodec libmp3lame -ab 128k snatch.avi.”

If you are using Ubuntu like me then you can install ffmpeg by typing “sudo apt-get install ffmpeg” in the terminal.

Enjoy your movies!

Dealing with Online Consumer Complaints

Tuesday, September 8th, 2009

Several years I was tasked with making bad publicity disappear from search engines, or push down defamatory remarks to the second or third page. There were negative, slanderous, even libelous comments attacking the reputation of the parent company of the company I was working for, and they wanted them removed from search engines. My initial efforts were successful in all major search engines after a month went by, except for Google. Cleaning critical complaints or remarks intended for character defamation from Google required extra effort and was successful two to four weeks later. This work had the added benefit in protecting the company’s brand from future complaint postings online. (more…)

Thrift Installation Instructions

Friday, September 4th, 2009

Required packages for the Ubuntu systems:

GNU build tools: autoconf 2.59+ (2.60+ recommended), automake 1.9+, libtool 1.5.24+
boost 1.34.0+
g++ 3.3.5+
pkgconfig (Use MacPorts for Mac OS X)
lex and yacc (developed primarily with flex and bison)

apt-get install build-essential automake libtool flex bison libboost* ruby-dev
apt-get install pkg-config byacc
apt-get install libstdc++6
apt-get install byacc yacc
apt-get install libboost-thread1.34.1
apt-get install libgcc1_4.2.3-2ubuntu7_i386
apt-get install libevent-dev_1.3e-1_i386.deb
apt-get install libevent1_1.3e-1_i386

Using Google’s Ajax Search API with PHP and Perl

Thursday, September 3rd, 2009

Since I feel more proficient in Perl then other languages, I began writing a script in Perl to automatically run searches on Google’s web database.  See http://code.google.com/apis/ajaxsearch/. However, I quickly discovered that the required modules didn’t work.  The Perl v5.8.8 x86_64-linux-gnu-thread-multi version of the program would not run on my apache 2.2.8 web server on Ubuntu  8.04 Hardy Heron. The level of dependencies required by the Google search.pm module was too deep to be solved by using the lib statement and placing a few modules under the root of the web server. Other JSON modules on CPAN were useless because they had the same depencies. Although I could have eventually fixed the module issue on my local box, I wouldn’t be able to do it to the rented shared hosting server where mikeskramstad.com resides. Below are the Perl code snippets and the error they produced. (more…)



R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone 101clean - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - R. Ryan Avery Stone - Law Office of Marcus Gomez | Marcus Gomez Attorney | Marcus Gomez Attorney | Attorney Marcus Gomez | Marcus Gomez Attorney | Marcus Gomez Attorney | Marcus Gomez Attorney | Marcus Gomez Attorney | Marcus Gomez Attorney | Marcus Gomez Attorney | Marcus Gomez Attorney | Marcus Gomez Attorney | Marcus Gomez Attorney | Marcus Gomez Attorney | Marcus Gomez Attorney | Marcus Gomez Attorney | Marcus Gomez Law Offices | Marcus Gomez Law Offices | Marcus Gomez Law Offices | Marcus Gomez Law Offices | Marcus Gomez Law Offices | Marcus Gomez Law Offices | Marcus Gomez Law Offices | Law Office Marcus Gomez | Law Office Marcus Gomez | Law Office Marcus Gomez | Law Office Marcus Gomez | Law Office Marcus Gomez |