<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5523738791535424354</id><updated>2024-09-19T15:03:33.101-04:00</updated><category term="think"/><category term="tech"/><title type='text'>Welcome to Alan Lupsha&#39;s (un)generic blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>101</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-4529369162273047891</id><published>2011-12-27T16:44:00.002-05:00</published><updated>2011-12-27T16:44:59.204-05:00</updated><title type='text'>getNowAsTimestampString</title><content type='html'>public String getNowAsTimestampString() {&lt;br /&gt;
        Calendar nowCalendar = Calendar.getInstance();&lt;br /&gt;
        java.util.Date myDate = nowCalendar.getTime(); // ex: Thu Aug 09 13:20:36 EDT 2007&lt;br /&gt;
        SimpleDateFormat sdf = new SimpleDateFormat(&quot;yyyy.MM.dd_HH.mm.ss&quot;);&lt;br /&gt;
        return sdf.format(myDate);&lt;br /&gt;
    }</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/4529369162273047891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2011/12/getnowastimestampstring.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/4529369162273047891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/4529369162273047891'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2011/12/getnowastimestampstring.html' title='getNowAsTimestampString'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-8354652993336550732</id><published>2011-12-26T20:59:00.000-05:00</published><updated>2011-12-26T20:59:46.384-05:00</updated><title type='text'>Setting up a gateway - fresh OpenSUSE set up</title><content type='html'>ping google.com&lt;br /&gt;
connect: Network is unreachable&lt;br /&gt;
&lt;br /&gt;
Grrr...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cat /etc/resolv.conf&lt;br /&gt;
echo &quot;alias net-pf-10 off&quot; &gt;&gt; /etc/modprobe.conf&lt;br /&gt;
echo &quot;alias ipv6 off&quot; &gt;&gt; /etc/modprobe.conf&lt;br /&gt;
ip route show all&lt;br /&gt;
route add default gw &lt;your router IP address&gt;&lt;br /&gt;
ip route show all&lt;br /&gt;
ping google.com&lt;br /&gt;
&lt;br /&gt;
Fixed!</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/8354652993336550732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2011/12/setting-up-gateway-fresh-opensuse-set.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/8354652993336550732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/8354652993336550732'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2011/12/setting-up-gateway-fresh-opensuse-set.html' title='Setting up a gateway - fresh OpenSUSE set up'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-3028328930056052811</id><published>2011-12-19T14:10:00.000-05:00</published><updated>2011-12-19T14:10:11.339-05:00</updated><title type='text'>How to back up web accessible files using wget, and to remove files older than 30 days</title><content type='html'>1. Script to back up files over wget:&lt;br /&gt;
&lt;br /&gt;
&lt;pre  style=&quot;font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH69nczE7nr00O1mOuKHME9MSDl99G9oRurE3yjzTvN3edf3DrqUZ-hZl5N2UOXgBB7FbalKqfwxm5p_W31wx2Q9VPtuMADU3b8IW5WjbfXt7hxZq9LlHZe870fYsWrWE_gErBoSbvBP-K/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;&quot;&gt;&lt;code style=&quot;color:#000000;word-wrap:normal;&quot;&gt;
#!/bin/bash
#
# This script grabs all the my-server.alanlupsha.com/logs/ files and
# backs them up on the local server in /home/
#
# @author Alan Lupsha 12/19/2011
#

# keep track of the start time
STARTTIME=&quot;Started backup at: `date`&quot;


#########################################################################
# You should change these entries
#
# make sure to create the directory first
# ex: &quot;mkdir /home/lupsha/backups&quot;
BACKUPDIR=/home/lupsha/backups

# save text to a temporary file
EMAILFILE=/tmp/email.txt

# update this
EMAILADDRESS=my-email-address@my-domain.com
#########################################################################

# clean up email file
rm &quot;$EMAILFILE&quot;

# save file in this directory
cd &quot;$BACKUPDIR&quot;

LOC=&quot;`pwd`&quot;
if [ &quot;$LOC&quot; != &quot;$BACKUPDIR&quot; ]; then
echo &quot;ERROR, I should be in $BACKUPDIR, but I&#39;m not! Exiting...&quot;;
exit 1
fi

# download files
wget -e robots=off --recursive --no-directories \
--no-host-directories --level=1 --no-clobber \
http://my-server.alanlupsha.com/logs/


# save timestamp
echo &quot;$STARTTIME&quot; &amp;gt;&amp;gt; $EMAILFILE
echo &quot;\r\n&quot; &amp;gt;&amp;gt; $EMAILFILE
echo &quot;Ending pass logs backup at `date`&quot; &amp;gt;&amp;gt; $EMAILFILE

# send an email with the result
cat $EMAILFILE | mail -s &quot;Ran pass logs backup&quot; $EMAILADDRESS
&lt;/code&gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
2. Save the script and run it from a cron job, only week days, at 7:30 AM&lt;br /&gt;
&lt;br /&gt;
&lt;pre  style=&quot;font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH69nczE7nr00O1mOuKHME9MSDl99G9oRurE3yjzTvN3edf3DrqUZ-hZl5N2UOXgBB7FbalKqfwxm5p_W31wx2Q9VPtuMADU3b8IW5WjbfXt7hxZq9LlHZe870fYsWrWE_gErBoSbvBP-K/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;&quot;&gt;&lt;code style=&quot;color:#000000;word-wrap:normal;&quot;&gt;
sudo crontab -e

# run script every week day at 7:30AM
30 07 * * 1-5 /home/lupsha/backup-logs-script.sh
&lt;/code&gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
3. On the server where the files are stored, remove the files that are older than 30 days:&lt;br /&gt;
&lt;br /&gt;
&lt;pre  style=&quot;font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH69nczE7nr00O1mOuKHME9MSDl99G9oRurE3yjzTvN3edf3DrqUZ-hZl5N2UOXgBB7FbalKqfwxm5p_W31wx2Q9VPtuMADU3b8IW5WjbfXt7hxZq9LlHZe870fYsWrWE_gErBoSbvBP-K/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;&quot;&gt;&lt;code style=&quot;color:#000000;word-wrap:normal;&quot;&gt;
cd /var/www/html/myfiles
find . -type f -mtime +30 -exec rm -- {} \;
&lt;/code&gt;
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/3028328930056052811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2011/12/how-to-back-up-web-accessible-files.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/3028328930056052811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/3028328930056052811'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2011/12/how-to-back-up-web-accessible-files.html' title='How to back up web accessible files using wget, and to remove files older than 30 days'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-6251884528041809812</id><published>2011-12-03T23:35:00.001-05:00</published><updated>2011-12-03T23:35:12.217-05:00</updated><title type='text'>How to convert video to a lossless format using ffmpeg!</title><content type='html'>How to convert a .3gp video to .flv:&lt;br /&gt;
ffmpeg -i a.3gp -ar 22050 -ab 32k -f flv a.flv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How to convert to almost lossless format:&lt;br /&gt;
ffmpeg -i a.3gp -an -f yuv4mpegpipe b.avi&lt;br /&gt;
&lt;br /&gt;
(Careful, an 11MB 3gp file becomes a 1.6GB avi file!)</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/6251884528041809812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2011/12/how-to-convert-video-to-lossless-format.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/6251884528041809812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/6251884528041809812'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2011/12/how-to-convert-video-to-lossless-format.html' title='How to convert video to a lossless format using ffmpeg!'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-6781270117368533255</id><published>2011-11-30T00:38:00.000-05:00</published><updated>2011-11-30T00:38:26.607-05:00</updated><title type='text'>Renaming directories and files</title><content type='html'>Supposed you have the following directory structure:&lt;br /&gt;
&lt;br /&gt;
/home/user/files/A/&lt;br /&gt;
/home/user/files/A/1/&lt;br /&gt;
/home/user/files/A/2/&lt;br /&gt;
/home/user/files/A/3/&lt;br /&gt;
/home/user/files/B/&lt;br /&gt;
/home/user/files/B/37/&lt;br /&gt;
/home/user/files/B/38/&lt;br /&gt;
/home/user/files/B/39/&lt;br /&gt;
&lt;br /&gt;
and you wish to concatenate the subdirectories to the parent directories (ex: &quot;A - 1&quot;, &quot;A - 2&quot;, &quot;B - 38&quot;), to result in the following structure:&lt;br /&gt;
&lt;br /&gt;
/home/user/files/A - 1/&lt;br /&gt;
/home/user/files/A - 2/&lt;br /&gt;
/home/user/files/A - 3/&lt;br /&gt;
/home/user/files/B - 37/&lt;br /&gt;
/home/user/files/B - 38/&lt;br /&gt;
/home/user/files/B - 39/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First,&lt;br /&gt;
cd /home/user/files&lt;br /&gt;
&lt;br /&gt;
Next, allow spaces in file names:&lt;br /&gt;
IFS=$(echo -en &quot;\n\b&quot;)&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
for dir in `ls`; do cd &quot;$dir&quot;; for files in `ls`; do mv &quot;$files&quot; &quot;$dir - $files&quot;; mv &quot;$dir - $files&quot; .. ; done; cd .. ; echo &quot;rm -Rf $dir&quot; &gt;&gt; /tmp/cleanup.sh ; done&lt;br /&gt;
&lt;br /&gt;
Take a look at the generated cleanup file: &lt;br /&gt;
cat /tmp/cleanup.sh &lt;br /&gt;
&lt;br /&gt;
If it looks ok, make it executable: &lt;br /&gt;
chmod u+x /tmp/cleanup.sh &lt;br /&gt;
&lt;br /&gt;
and execute it: &lt;br /&gt;
/tmp/cleanup.sh</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/6781270117368533255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2011/11/renaming-directories-and-files.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/6781270117368533255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/6781270117368533255'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2011/11/renaming-directories-and-files.html' title='Renaming directories and files'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-6189375697590689660</id><published>2011-06-18T14:19:00.000-04:00</published><updated>2011-06-18T14:19:31.891-04:00</updated><title type='text'>How to convert .m2ts videos to .avi, using a script</title><content type='html'>The problem:&lt;br /&gt;
I have a bunch of vacation videos located in: /mnt/drive2/vacation_videos/ , but they are all .m2ts format, and I want them to be in .avi format&lt;br /&gt;
&lt;br /&gt;
The solution:&lt;br /&gt;
- Create a generic script &quot;convert.sh&quot; which converts a .m2ts file to .avi&lt;br /&gt;
- Create a script &quot;vacationVideos.sh&quot; with all the custom vacation videos, and call the convert.sh script &lt;br /&gt;
- Run this as a background process, which allows you to log out of the session without interrupting the process. i.e. &quot;nohup shellscriptname &amp;&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Generic conversion script. Save as: nano /usr/sbin/convert.sh&lt;br /&gt;
&lt;hr&gt;&lt;pre name=&quot;code&quot; class=&quot;java&quot;&gt;#!/bin/bash
# AlanLupsha: this script converts .m2ts files to .avi files
# If you do not have mencoder, run sudo apt-get install mencoder
if [ -z $1 ] ; then
        echo &quot;syntax: convert.sh file.m2ts&quot;
        RETURNCODE=1
        exit $RETURNCODE
fi
mencoder &quot;$1&quot; -ofps 23.976 -ovc lavc -oac copy -o  &quot;$1.avi&quot;
&lt;/pre&gt;&lt;hr&gt;2. custom script with the names of all my vacation videos. Save as: nano ~/vacationVideos.sh&lt;br /&gt;
&lt;hr&gt;&lt;pre name=&quot;code&quot; class=&quot;java&quot;&gt;#!/bin/bash
# This &quot;vacationVideos.sh&quot; script copies my vacation videos into a
# temporary directory and then invokes the convert.sh
# script which converts .m2ts format to the .avi format

MAINPATH=/mnt/drive2/vacation_videos/
TMP=/dev/shm
cd &quot;$TMP&quot;

FILE=&quot;2011.grandparents.m2ts&quot;
cp &quot;$MAINPATH/$FILE&quot; &quot;$TMP&quot;
# convert the file from .m2ts to .avi (takes a long time)
convert.sh &quot;$FILE&quot;
# copy the converted .avi file back to the drive
mv &quot;$TMP/$FILE.avi&quot; &quot;$MAINPATH&quot;
# remove the temporary copy of the .m2ts file
rm &quot;$TMP/$FILE&quot;


FILE=&quot;2010.SouthFlorida.m2ts&quot;
cp &quot;$MAINPATH/$FILE&quot; &quot;$TMP&quot;
# convert the file from .m2ts to .avi (takes a long time)
convert.sh &quot;$FILE&quot;
# copy the converted .avi file back to the drive
mv &quot;$TMP/$FILE.avi&quot; &quot;$MAINPATH&quot;
# remove the temporary copy of the .m2ts file
rm &quot;$TMP/$FILE&quot;


FILE=&quot;2006.DriveAcrossTheUSA.m2ts&quot;
cp &quot;$MAINPATH/$FILE&quot; &quot;$TMP&quot;
# convert the file from .m2ts to .avi (takes a long time)
convert.sh &quot;$FILE&quot;
# copy the converted .avi file back to the drive
mv &quot;$TMP/$FILE.avi&quot; &quot;$MAINPATH&quot;
# remove the temporary copy of the .m2ts file
rm &quot;$TMP/$FILE&quot;

echo &quot;Done converting!&quot;
&lt;/pre&gt;&lt;hr&gt;3. How to run:&lt;br /&gt;
&lt;hr&gt;&lt;pre name=&quot;code&quot; class=&quot;java&quot;&gt;ssh myname@linuxserver
nohup ~/vacationVideos.sh &amp;
&lt;/pre&gt;&lt;br /&gt;
To see the progress:&lt;br /&gt;
tail -f nohup.out&lt;br /&gt;
&lt;br /&gt;
To see the process:&lt;br /&gt;
ps aux | grep mencoder&lt;br /&gt;
&lt;br /&gt;
To kill the process:&lt;br /&gt;
killall mencoder&lt;br /&gt;
&lt;br /&gt;
Enjoy.</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/6189375697590689660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2011/06/how-to-convert-m2ts-videos-to-avi-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/6189375697590689660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/6189375697590689660'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2011/06/how-to-convert-m2ts-videos-to-avi-using.html' title='How to convert .m2ts videos to .avi, using a script'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-1349776863189420597</id><published>2011-06-09T18:09:00.001-04:00</published><updated>2011-06-09T18:09:37.374-04:00</updated><title type='text'>How to set up Subversion in Ubuntu</title><content type='html'>sudo adduser subversion&lt;br /&gt;
&lt;br /&gt;
sudo mkdir /home/svn&lt;br /&gt;
sudo svnadmin create /home/svn/dev&lt;br /&gt;
&lt;br /&gt;
# change ownership&lt;br /&gt;
sudo chown -R subversion:www-data /home/svn/dev&lt;br /&gt;
&lt;br /&gt;
# make the dir group write-able&lt;br /&gt;
chmod -R g+w /home/svn/dev/&lt;br /&gt;
&lt;br /&gt;
# add yourself to the www-data group&lt;br /&gt;
sudo usermod  -a -G www-data alan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install apache2&lt;br /&gt;
sudo apt-get install libapache2-svn&lt;br /&gt;
&lt;br /&gt;
sudo nano /etc/apache2/mods-available/dav_svn.conf&lt;br /&gt;
&lt;br /&gt;
add at the end:&lt;br /&gt;
&lt;br /&gt;
  &lt;Location /&gt;&lt;br /&gt;
     DAV svn&lt;br /&gt;
     SVNParentPath /home/svn&lt;br /&gt;
     SVNListParentPath On&lt;br /&gt;
     AuthType Basic&lt;br /&gt;
     AuthName &quot;Subversion Repository&quot;&lt;br /&gt;
     # AuthUserFile /etc/subversion/passwd&lt;br /&gt;
     &lt;LimitExcept GET PROPFIND OPTIONS REPORT&gt;&lt;br /&gt;
        Require valid-user&lt;br /&gt;
     &lt;/LimitExcept&gt;&lt;br /&gt;
  &lt;/Location&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save.&lt;br /&gt;
&lt;br /&gt;
sudo /etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Add your users in subversion, create their accounts:&lt;br /&gt;
sudo nano /home/svn/dev/conf/passwd&lt;br /&gt;
&lt;br /&gt;
alan=123456&lt;br /&gt;
mary=654321&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# For subversion over http, also add the same users to the &lt;br /&gt;
# subversion passwd file, first time use -c to &quot;create&quot; it.&lt;br /&gt;
sudo htpasswd -c /etc/subversion/passwd alan&lt;br /&gt;
sudo htpasswd    /etc/subversion/passwd mary&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Empty out config file&lt;br /&gt;
sudo su -&lt;br /&gt;
echo &quot;&quot; &gt; /home/svn/dev/conf/svnserve.conf&lt;br /&gt;
&lt;br /&gt;
# Edit file and add next entries:&lt;br /&gt;
sudo -u subversion nano /home/svn/dev/conf/svnserve.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[general]&lt;br /&gt;
anon-access = none&lt;br /&gt;
auth-access = write&lt;br /&gt;
password-db = passwd&lt;br /&gt;
realm = digitalagora&lt;br /&gt;
[sasl]&lt;br /&gt;
&lt;br /&gt;
# Save, exit.&lt;br /&gt;
&lt;br /&gt;
# Install xinetd, and let it take care of running the subversion server&lt;br /&gt;
sudo apt-get install xinetd&lt;br /&gt;
&lt;br /&gt;
# edit a new svn file&lt;br /&gt;
sudo nano /etc/xinetd.d/svn&lt;br /&gt;
&lt;br /&gt;
# Paste these contents:&lt;br /&gt;
&lt;br /&gt;
service svn&lt;br /&gt;
{&lt;br /&gt;
        port            = 3690&lt;br /&gt;
        protocol        = tcp&lt;br /&gt;
        socket_type     = stream&lt;br /&gt;
        wait            = no&lt;br /&gt;
        disable         = no&lt;br /&gt;
        user            = subversion&lt;br /&gt;
        server          = /usr/bin/svnserve&lt;br /&gt;
        server_args     = -i -r /home/svn/dev&lt;br /&gt;
&lt;br /&gt;
        #ALAN - increase incoming connections per second&lt;br /&gt;
        # X connections per second, 1 sec to reset after overload&lt;br /&gt;
        cps = 3000 1&lt;br /&gt;
&lt;br /&gt;
        # if in /var/log/messages you see: FAIL: svn per_source_limit from=IP...&lt;br /&gt;
        per_source = UNLIMITED&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Save the file, exit.&lt;br /&gt;
&lt;br /&gt;
# start the xinetd service&lt;br /&gt;
sudo service xinetd restart&lt;br /&gt;
&lt;br /&gt;
# check that subversion is running, you should not get an error from this command (use your &lt;br /&gt;
&lt;br /&gt;
username/pass)&lt;br /&gt;
svn --non-interactive --username alan --password abc12345 list svn://localhost/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ===================================================&lt;br /&gt;
# ALTERNATIVELY, IF YOU DO NOT WANT TO USE XINETD:&lt;br /&gt;
# Start the server manually...&lt;br /&gt;
svnserve -d -r /home/svn/&lt;br /&gt;
#&lt;br /&gt;
# Check that it&#39;s running&lt;br /&gt;
ps aux | grep svn&lt;br /&gt;
#&lt;br /&gt;
You should see something like:  svnserve -d -r /home/svn/&lt;br /&gt;
# to stop svnserve, run&lt;br /&gt;
ps aux | grep svn&lt;br /&gt;
killall svnserve&lt;br /&gt;
ps aux | grep svn&lt;br /&gt;
# ===================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test the installation&lt;br /&gt;
&lt;br /&gt;
# create project&lt;br /&gt;
svn --non-interactive --username alan --password abc12345 -m &quot;new&quot; mkdir &lt;br /&gt;
&lt;br /&gt;
svn://localhost/dev/testproject&lt;br /&gt;
&lt;br /&gt;
# check out project&lt;br /&gt;
cd ~&lt;br /&gt;
svn --non-interactive --username alan --password myPassw0rd checkout &lt;br /&gt;
&lt;br /&gt;
svn://localhost/dev/testproject&lt;br /&gt;
&lt;br /&gt;
# create new files in checked out project&lt;br /&gt;
touch ~/testproject/newfile1.txt&lt;br /&gt;
touch ~/testproject/newfile2.txt&lt;br /&gt;
touch ~/testproject/newfile3.txt&lt;br /&gt;
&lt;br /&gt;
# go into project&lt;br /&gt;
cd ~/testproject&lt;br /&gt;
svn add *&lt;br /&gt;
&lt;br /&gt;
# commit the files&lt;br /&gt;
svn commit -m &quot;new&quot; *&lt;br /&gt;
&lt;br /&gt;
 Adding         newfile1.txt&lt;br /&gt;
 Adding         newfile2.txt&lt;br /&gt;
 Adding         newfile3.txt&lt;br /&gt;
 Transmitting file data ...&lt;br /&gt;
 Committed revision 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=================================&lt;br /&gt;
a2ensite default-ssl&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
sudo /etc/init.d/apache2 restart&lt;br /&gt;
sudo make-ssl-cert generate-default-snakeoil --force-overwrite&lt;br /&gt;
=================================&lt;br /&gt;
&lt;br /&gt;
Check that it&#39;s working:&lt;br /&gt;
http://localhost/</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/1349776863189420597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2011/06/how-to-set-up-subversion-in-ubuntu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/1349776863189420597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/1349776863189420597'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2011/06/how-to-set-up-subversion-in-ubuntu.html' title='How to set up Subversion in Ubuntu'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-1704960128956684475</id><published>2011-04-26T00:03:00.003-04:00</published><updated>2011-04-26T01:33:04.850-04:00</updated><title type='text'>Ubuntu - simple setup after install</title><content type='html'>0. change root password&lt;br /&gt;
su -&lt;br /&gt;
passwd root&lt;br /&gt;
&lt;br /&gt;
1. static network&lt;br /&gt;
Check the network interface:&lt;br /&gt;
ifconfig&lt;br /&gt;
&lt;br /&gt;
Change to static network:&lt;br /&gt;
&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
address 10.1.10.99&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
network 10.1.10.0&lt;br /&gt;
broadcast 10.1.10.255&lt;br /&gt;
gateway 10.1.10.1&lt;br /&gt;
&lt;br /&gt;
sudo /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Install SSH server:&lt;br /&gt;
sudo apt-get install openssh-server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Disable root logins:&lt;br /&gt;
nano /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
Change to say &quot;no&quot;:&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
Save file, exit.&lt;br /&gt;
Start up ssh:&lt;br /&gt;
/etc/init.d/ssh restart&lt;br /&gt;
&lt;br /&gt;
4. test by logging in from another server:&lt;br /&gt;
ssh user@newserver&lt;br /&gt;
&lt;br /&gt;
5. Set up secondary drives using UUID:&lt;br /&gt;
&lt;br /&gt;
sudo mkdir /mnt/d1&lt;br /&gt;
sudo mkdir /mnt/d2&lt;br /&gt;
sudo mkdir /mnt/d3&lt;br /&gt;
sudo mkdir /mnt/d4&lt;br /&gt;
&lt;br /&gt;
Next, we need to list all the drives and mark down the UUID of each drive, and make sure you know which drive is sda1, sdb1, sdc1, and so on. &lt;br /&gt;
&lt;br /&gt;
# list all drives&lt;br /&gt;
sudo fdisk -l&lt;br /&gt;
&lt;br /&gt;
# next, list them by uuid&lt;br /&gt;
ls -l /dev/disk/by-uuid/&lt;br /&gt;
&lt;br /&gt;
Edit fstab and start adding entries. For each drive, copy and paste its UUID and associate it with a mount point, ex: /mnt/d1, etc.&lt;br /&gt;
&lt;br /&gt;
sudo nano /etc/fstab&lt;br /&gt;
&lt;br /&gt;
# sda1&lt;br /&gt;
UUID=ba20caf8-6ef0-42e7-9e45-4187bfa8e543 /mnt/d1 auto defaults 0 2&lt;br /&gt;
# sdb1&lt;br /&gt;
UUID=315310c3-b3f2-4092-a7fa-eb944084e335 /mnt/d2 auto defaults 0 2&lt;br /&gt;
# sdc1&lt;br /&gt;
UUID=e041f16e-a009-4390-97f9-2daf29c0c505 /mnt/d3 auto defaults 0 2&lt;br /&gt;
# sdd1&lt;br /&gt;
UUID=2a236394-5010-4742-9ef8-1a5b2d1b74fa /mnt/d4 auto defaults 0 2&lt;br /&gt;
&lt;br /&gt;
Save fstab file, close it.&lt;br /&gt;
&lt;br /&gt;
Mount all file systems in /etc/fstab, run: &lt;br /&gt;
sudo mount -a&lt;br /&gt;
(fix any errors, try again, until it works)&lt;br /&gt;
&lt;br /&gt;
List all drive contents, &lt;br /&gt;
ls /mnt/d1&lt;br /&gt;
ls /mnt/d2&lt;br /&gt;
ls /mnt/d3&lt;br /&gt;
ls /mnt/d4&lt;br /&gt;
&lt;br /&gt;
I personally create directories on each drive so that I can identify the drives later. For example, on the root of each drive, I create a directory such as: &quot;this_is_drive_1&quot;&lt;br /&gt;
&lt;br /&gt;
6. set up Samba&lt;br /&gt;
&lt;br /&gt;
#Install samba - for network file sharing&lt;br /&gt;
sudo apt-get install samba&lt;br /&gt;
&lt;br /&gt;
#create group&lt;br /&gt;
sudo groupadd samba&lt;br /&gt;
&lt;br /&gt;
#create a system user who should have samba access&lt;br /&gt;
sudo adduser sambauser&lt;br /&gt;
&lt;br /&gt;
#add this user to the samba group&lt;br /&gt;
sudo usermod -a -G samba sambauser&lt;br /&gt;
&lt;br /&gt;
# add the user who can access samba shares&lt;br /&gt;
sudo smbpasswd -a sambauser&lt;br /&gt;
(enter their password)&lt;br /&gt;
&lt;br /&gt;
#edit conf file&lt;br /&gt;
sudo nano /etc/samba/smb.conf&lt;br /&gt;
&lt;br /&gt;
# my drives&lt;br /&gt;
[d1]&lt;br /&gt;
comment = This is the /d1 shared drive&lt;br /&gt;
path = /mnt/d1&lt;br /&gt;
browseable = yes&lt;br /&gt;
read only = no&lt;br /&gt;
guest ok = no&lt;br /&gt;
writable = yes&lt;br /&gt;
admin users = sambauser&lt;br /&gt;
write list = sambauser&lt;br /&gt;
create mask = 0775&lt;br /&gt;
directory mask = 0775&lt;br /&gt;
public = yes&lt;br /&gt;
&lt;br /&gt;
[d3]&lt;br /&gt;
comment = This is the /d3 shared drive&lt;br /&gt;
path = /mnt/d3&lt;br /&gt;
browseable = yes&lt;br /&gt;
read only = no&lt;br /&gt;
guest ok = no&lt;br /&gt;
writable = yes&lt;br /&gt;
admin users = sambauser&lt;br /&gt;
write list = sambauser&lt;br /&gt;
create mask = 0775&lt;br /&gt;
directory mask = 0775&lt;br /&gt;
public = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save the file.&lt;br /&gt;
&lt;br /&gt;
#restart samba&lt;br /&gt;
sudo service smbd restart&lt;br /&gt;
&lt;br /&gt;
# list the shares from another PC (from Windows, start, run \\IP_of_server)&lt;br /&gt;
smbclient --username=sambauser -L 10.1.10.99&lt;br /&gt;
(you should see the drives being listed)</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/1704960128956684475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2011/04/ubuntu-simple-setup-after-install.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/1704960128956684475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/1704960128956684475'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2011/04/ubuntu-simple-setup-after-install.html' title='Ubuntu - simple setup after install'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-2457593026430169868</id><published>2011-01-07T01:04:00.003-05:00</published><updated>2011-08-22T19:34:52.682-04:00</updated><title type='text'>You just bought a new 1 Terrabyte drive for your Ubuntu server. Now what?</title><content type='html'>After installing the RAID card for the SATA drive, and after seeing the drive at boot-up time, you&#39;re ready to partition the drive, format it, and mount it by id, and then use it.&lt;br /&gt;
&lt;br /&gt;
1. List drives:&lt;br /&gt;
sudo fdisk -l&lt;br /&gt;
&lt;br /&gt;
2. If drive is not formatted but it is listed, format it (ex: drive is /dev/sdb):&lt;br /&gt;
sudo fdisk /dev/sdb&lt;br /&gt;
p  (print partition information)&lt;br /&gt;
n  (create new partition)&lt;br /&gt;
p  (primary partition)&lt;br /&gt;
1  (partition #1)&lt;br /&gt;
[enter]  (accept first cylinder default, which is 1)&lt;br /&gt;
[enter]  (accept last cylinder default, whatever that is)&lt;br /&gt;
w  (write partition information, and then the program will exit)&lt;br /&gt;
&lt;br /&gt;
Verify that a partition has been created (it&#39;s not yet formatted), do a list:&lt;br /&gt;
sudo fdisk -l&lt;br /&gt;
&lt;br /&gt;
You should see the new partition listed, and a number added to the device name. For example, the drive is /dev/sdb and the partition became /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
3. Format the partition (Be very careful that it&#39;s the correct partition, in this example /dev/sdb1):&lt;br /&gt;
&lt;br /&gt;
mkfs.ext3 /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Wait for the formatting to be over.&lt;br /&gt;
&lt;br /&gt;
4. List drives by UUID:&lt;br /&gt;
ls -l /dev/disk/by-uuid/&lt;br /&gt;
Note down the UUID of the disk that you&#39;ve just formatted, for example sdb1.&lt;br /&gt;
The UUID is a long sequence of alphanumeric characters.&lt;br /&gt;
&lt;br /&gt;
5. Create directory where to mount drive (disk 1 = /mnt/d1)&lt;br /&gt;
sudo mkdir /mnt/d1&lt;br /&gt;
&lt;br /&gt;
6. Copy UUID of drive in fstab so that it gets mounted every time the server is booted:&lt;br /&gt;
sudo nano /etc/fstab&lt;br /&gt;
&lt;br /&gt;
# My 1TB drive on /dev/sdb1&lt;br /&gt;
UUID=91f86f8a-4b59-4b67-b62b-0f2a3c2b235c /mnt/d1 auto defaults 0 2&lt;br /&gt;
&lt;br /&gt;
6b. Optionally, if you just want to mount the drive now without adding it to the automatic mounting in the /etc/fstab file, then you can mount it manually, also by UUID:&lt;br /&gt;
sudo mount -U 91f86f8a-4b59-4b67-b62b-0f2a3c2b235c&lt;br /&gt;
or&lt;br /&gt;
sudo mount /dev/sdb1 /mnt/d1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7. Restart server, if you have to. (you shouldn&#39;t have to)&lt;br /&gt;
sudo shutdown -r now&lt;br /&gt;
&lt;br /&gt;
Now the drive is available in /mnt/d1. Check the space: df -h /mnt/d1&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/2457593026430169868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2011/01/you-just-bought-new-1-terrabyte-drive.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/2457593026430169868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/2457593026430169868'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2011/01/you-just-bought-new-1-terrabyte-drive.html' title='You just bought a new 1 Terrabyte drive for your Ubuntu server. Now what?'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-5501551941383013231</id><published>2011-01-02T18:02:00.000-05:00</published><updated>2011-01-02T18:02:21.134-05:00</updated><title type='text'>How to fix annoying Ubuntu Nautilus errors such as... &quot;Nautilus cannot handle burn locations&quot;</title><content type='html'>&quot;Nautilus cannot handle burn locations&quot;&lt;br /&gt;
&quot;Nautilus cannot handle COMPUTER actions... and such...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo apt-get remove gvfs&lt;br /&gt;
sudo apt-get install gvfs&lt;br /&gt;
&lt;br /&gt;
Restart the system.&lt;br /&gt;
The whole Nautilus look and feel is different, and everything starts working, even samba shares: smb://me:passwd@192.168.0.1/myshare, etc...&lt;br /&gt;
&lt;br /&gt;
Done.</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/5501551941383013231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2011/01/how-to-fix-annoying-ubuntu-nautilus.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/5501551941383013231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/5501551941383013231'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2011/01/how-to-fix-annoying-ubuntu-nautilus.html' title='How to fix annoying Ubuntu Nautilus errors such as... &quot;Nautilus cannot handle burn locations&quot;'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-6713998919201232997</id><published>2010-12-14T10:53:00.000-05:00</published><updated>2010-12-14T10:53:42.879-05:00</updated><title type='text'>How to convert an m2ts video to an avi</title><content type='html'>1. install missing libraries:&lt;br /&gt;
sudo apt-get install libavcodec-unstripped-51&lt;br /&gt;
&lt;br /&gt;
2. convert:&lt;br /&gt;
ffmpeg -i vacation.m2ts -vcodec libxvid -b 11182k -acodec libmp3lame -ac 2 -ab 640k -deinterlace -s 1440x1080 vacation.avi&lt;br /&gt;
&lt;br /&gt;
3. example:&lt;br /&gt;
&lt;br /&gt;
$ nohup ffmpeg -i vacation.m2ts -vcodec libxvid -b 11182k -acodec libmp3lame -ac 2 -ab 640k -deinterlace -s 1440x1080  vacation.avi &gt;&gt; processing.txt &amp;&lt;br /&gt;
&lt;br /&gt;
$ tail -f processing.txt</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/6713998919201232997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2010/12/how-to-convert-m2ts-video-to-avi.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/6713998919201232997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/6713998919201232997'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2010/12/how-to-convert-m2ts-video-to-avi.html' title='How to convert an m2ts video to an avi'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-1771600292869346529</id><published>2010-10-07T14:40:00.000-04:00</published><updated>2010-10-07T14:40:30.704-04:00</updated><title type='text'>How to list all the jar contents in one line and redirect the output to a text file for easy searching</title><content type='html'>1. place all the jar files in a directory on a linux server&lt;br /&gt;
&lt;br /&gt;
2. &lt;br /&gt;
$ cd jardirectory&lt;br /&gt;
&lt;br /&gt;
3. list the files&lt;br /&gt;
$ for file in `ls | grep &quot;.jar&quot;`; do `unzip -l $file &gt;&gt; jarcontents.txt` ; done&lt;br /&gt;
&lt;br /&gt;
4. use vi and search for entries&lt;br /&gt;
vi jarcontents.txt&lt;br /&gt;
In vi, type forward slash, and your search string.</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/1771600292869346529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2010/10/how-to-list-all-jar-contents-in-one.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/1771600292869346529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/1771600292869346529'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2010/10/how-to-list-all-jar-contents-in-one.html' title='How to list all the jar contents in one line and redirect the output to a text file for easy searching'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-6518912302528470080</id><published>2010-10-04T23:55:00.000-04:00</published><updated>2010-10-04T23:55:19.358-04:00</updated><title type='text'>On the Android phone: how to disable the annoying Verizon VCAST messages that autoplay when you plug your phone into the USB connector</title><content type='html'>dial ##7764726&lt;br /&gt;
Hit Call (you will not hear a ring tone)&lt;br /&gt;
Type Password 000000 (that&#39;s 6 zeros)&lt;br /&gt;
Hit Feature Settings&lt;br /&gt;
Choose CD ROM&lt;br /&gt;
Click Disable&lt;br /&gt;
Hit menu, commit modifications (it will say &quot;No item changed&quot;)&lt;br /&gt;
Done.&lt;br /&gt;
----------------------------&lt;br /&gt;
&lt;br /&gt;
Credits: http://community.vzw.com/t5/DROID-Incredible-by-HTC/Disable-V-CAST-Media-Manager-Web-Pop-Up/m-p/275464</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/6518912302528470080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2010/10/on-android-phone-how-to-disable.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/6518912302528470080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/6518912302528470080'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2010/10/on-android-phone-how-to-disable.html' title='On the Android phone: how to disable the annoying Verizon VCAST messages that autoplay when you plug your phone into the USB connector'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-6867832295148974213</id><published>2010-10-01T11:54:00.000-04:00</published><updated>2010-10-01T11:54:04.103-04:00</updated><title type='text'>How to delete a fail2ban IP from the iptables chain of rules</title><content type='html'>################################################&lt;br /&gt;
root@myserver:~# nano /usr/local/sbin/deleteipfromfail2ban.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
IP=$1&lt;br /&gt;
&lt;br /&gt;
if [ &quot;$IP&quot; = &quot;&quot; ] ; then&lt;br /&gt;
  echo &quot;Syntax: deleteipfromfail2ban.sh &lt;IP address&gt;&quot;&lt;br /&gt;
  RETURNSTATUS=1&lt;br /&gt;
  exit $RETURNSTATUS&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
iptables -D fail2ban-ssh -s $IP -j DROP&lt;br /&gt;
&lt;br /&gt;
################################################&lt;br /&gt;
&lt;br /&gt;
Example of usage:&lt;br /&gt;
deleteipfromfail2ban.sh 10.1.1.25</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/6867832295148974213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2010/10/how-to-delete-fail2ban-ip-from-iptables.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/6867832295148974213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/6867832295148974213'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2010/10/how-to-delete-fail2ban-ip-from-iptables.html' title='How to delete a fail2ban IP from the iptables chain of rules'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-2571496089661338764</id><published>2010-09-30T17:41:00.002-04:00</published><updated>2010-09-30T17:41:36.766-04:00</updated><title type='text'>How to change the Ubuntu message of the day (MOTD)</title><content type='html'>Source:&lt;br /&gt;
http://www.newbtopro.com/guide/change_message_day_ubuntudebian&lt;br /&gt;
&lt;br /&gt;
Basically, you remove the symbolic link /etc/motd and re-link to a static file:&lt;br /&gt;
&lt;br /&gt;
sudo touch /etc/motd.static&lt;br /&gt;
sudo cat /etc/motd.tail &gt; /etc/motd.static&lt;br /&gt;
sudo rm /etc/motd&lt;br /&gt;
sudo ln -s /etc/motd.static /etc/motd&lt;br /&gt;
sudo vi /etc/motd.static&lt;br /&gt;
Edit the file to your liking! Done.</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/2571496089661338764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2010/09/how-to-change-ubuntu-message-of-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/2571496089661338764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/2571496089661338764'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2010/09/how-to-change-ubuntu-message-of-day.html' title='How to change the Ubuntu message of the day (MOTD)'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-3647181017784063911</id><published>2010-09-22T13:35:00.000-04:00</published><updated>2010-09-22T13:35:05.874-04:00</updated><title type='text'>Nu ratati o vacanta de vis la:</title><content type='html'>&lt;a href=&quot;http://www.digitalagora.com/fun/cucuruzzu.jpg&quot;&gt; Nu ratati o vacanta de vis la: ... :) &lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/3647181017784063911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2010/09/nu-ratati-o-vacanta-de-vis-la.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/3647181017784063911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/3647181017784063911'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2010/09/nu-ratati-o-vacanta-de-vis-la.html' title='Nu ratati o vacanta de vis la:'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-6782292311089681127</id><published>2010-09-22T09:47:00.002-04:00</published><updated>2010-12-29T22:55:12.276-05:00</updated><title type='text'>Getting banned from Facebook by Eric Hancock</title><content type='html'>Thank you, Facebook, for being unjust.&lt;br /&gt;
&lt;br /&gt;
My &quot;friend&quot; Eric Hancock emailed Facebook and lied to them, saying that I&#39;m abusive. Facebook simply closed my account and deleted everything I had, 4 years worth of pictures and contacts.&lt;br /&gt;
&lt;br /&gt;
Thank you, Eric, thank you Facebook.&lt;br /&gt;
&lt;br /&gt;
------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
from The Facebook Team info+rxnvms@support.facebook.com&lt;br /&gt;
reply-to The Facebook Team info+rxnvms@support.facebook.com&lt;br /&gt;
to facebook@alanlupsha.com&lt;br /&gt;
date Wed, Sep 22, 2010 at 1:43 AM&lt;br /&gt;
subject Re: My Personal Profile was Disabled&lt;br /&gt;
mailed-by bounce.secureserver.net&lt;br /&gt;
signed-by support.facebook.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
Your account was disabled because your behavior on the site was identified as harassing or threatening to other people on Facebook. Prohibited behavior includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
• Sending friend requests to people you don&#39;t know&lt;br /&gt;
• Regularly contacting strangers through unsolicited Inbox messages&lt;br /&gt;
• Soliciting others for dating or business purposes&lt;br /&gt;
&lt;br /&gt;
After reviewing your situation, we have determined that your behavior violated Facebook&#39;s Statement of Rights and Responsibilities. You will no longer be able to use Facebook. This decision is final and cannot be appealed.&lt;br /&gt;
&lt;br /&gt;
Please note that for technical and security reasons, we will not provide you with any further details about this decision.&lt;br /&gt;
&lt;br /&gt;
Thanks,&lt;br /&gt;
The Facebook Team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---------------</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/6782292311089681127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2010/09/getting-banned-from-facebook-by-typing.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/6782292311089681127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/6782292311089681127'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2010/09/getting-banned-from-facebook-by-typing.html' title='Getting banned from Facebook by Eric Hancock'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-2579316559935040820</id><published>2010-08-23T11:10:00.001-04:00</published><updated>2010-08-23T11:10:00.578-04:00</updated><title type='text'>TECHNOLOGY ENTREPRENEURSHIP AND COMMERCIALIZATION  - FALL SEMESTER 2010</title><content type='html'>Grading:&lt;br /&gt;
• Final Commercialization Plan Report (Team): 35%&lt;br /&gt;
• Final Commercialization Plan Presentation (Indiv): 35%&lt;br /&gt;
• Class participation (Indiv): 10%&lt;br /&gt;
• Team evaluation of your contribution (Indiv): 20%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Final Report and Presentation: A Product Commercialization Plan&lt;br /&gt;
Assume you are making a pitch for a $150k state technology commercialization grant&lt;br /&gt;
&lt;br /&gt;
Content Outline&lt;br /&gt;
&lt;br /&gt;
1. What’s Your Idea &amp; Technology Overview&lt;br /&gt;
&lt;br /&gt;
2. What Problem is it Solving &amp; How Big is the Problem? &lt;br /&gt;
3. What is the market for your idea?  How would you categorize competing technologies in the market?  And, where does your idea fit?&lt;br /&gt;
4. Who are your target customers? (i.e. target market)  How will you get your product to them?&lt;br /&gt;
&lt;br /&gt;
5. Who are your competitors in this category?  What are their strengths &amp; weaknesses?&lt;br /&gt;
&lt;br /&gt;
6. What are your competitive advantages?  Why should you be selected instead of the competition?&lt;br /&gt;
&lt;br /&gt;
7. What is your product development plan?  From concept, to prototype, to market?  What are the steps &amp; what is the time frame? How will you protect your invention &amp; when will you initiate the protection in your product plan?&lt;br /&gt;
&lt;br /&gt;
8. What are your commercialization alternatives?  Licensing to a company in this category?  Starting a company?  Risks vs. Rewards.&lt;br /&gt;
&lt;br /&gt;
9. Conclusion.</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/2579316559935040820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2010/08/technology-entrepreneurship-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/2579316559935040820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/2579316559935040820'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2010/08/technology-entrepreneurship-and.html' title='TECHNOLOGY ENTREPRENEURSHIP AND COMMERCIALIZATION  - FALL SEMESTER 2010'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-4633876062684701203</id><published>2010-07-29T16:09:00.000-04:00</published><updated>2010-07-29T16:09:14.664-04:00</updated><title type='text'>Startup scripts</title><content type='html'>Sample startup file, place in /etc/init.d:&lt;br /&gt;
&lt;br /&gt;
cat /etc/init.d/archiva&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
# chkconfig: 345 90 10&lt;br /&gt;
# description: Archiva server&lt;br /&gt;
&lt;br /&gt;
# uncoment to set JAVA_HOME as the value present when Continuum installed&lt;br /&gt;
export JAVA_HOME=/opt/SDK/jdk&lt;br /&gt;
export ARCHIVA=/opt/archiva/current/bin/archiva&lt;br /&gt;
&lt;br /&gt;
case &quot;$1&quot; in&lt;br /&gt;
&lt;br /&gt;
    &#39;start&#39;)&lt;br /&gt;
        su - archiva -c &quot;$ARCHIVA start&quot;&lt;br /&gt;
&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    &#39;stop&#39;)&lt;br /&gt;
        su - archiva -c &quot;$ARCHIVA stop&quot;&lt;br /&gt;
&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    &#39;restart&#39;)&lt;br /&gt;
        su - archiva -c &quot;$ARCHIVA stop&quot;&lt;br /&gt;
        sleep 20&lt;br /&gt;
        su - archiva -c &quot;$ARCHIVA start&quot;&lt;br /&gt;
&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
        echo &quot;Usage: $0 { start | stop | restart }&quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
        ;;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add it to startup, execute as root: &lt;br /&gt;
chkconfig --add archiva&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Done.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another example, using Geronimo:&lt;br /&gt;
&lt;br /&gt;
[geronimo@mypc bin]$ ./geronimo.sh --help&lt;br /&gt;
Using GERONIMO_HOME:   /home/geronimo/geronimo-tomcat6-javaee5-2.1.6&lt;br /&gt;
Using GERONIMO_TMPDIR: var/temp&lt;br /&gt;
Using JRE_HOME:        /opt/SDK/jdk/jre&lt;br /&gt;
Usage: geronimo.sh command [geronimo_args]&lt;br /&gt;
commands:&lt;br /&gt;
  debug             Debug Geronimo in jdb debugger&lt;br /&gt;
  jpda run          Start Geronimo in foreground under JPDA debugger&lt;br /&gt;
  jpda start        Start Geronimo in background under JPDA debugger&lt;br /&gt;
  run               Start Geronimo in the foreground&lt;br /&gt;
  start             Start Geronimo in the background&lt;br /&gt;
  stop              Stop Geronimo&lt;br /&gt;
  stop --force      Stop Geronimo (followed by kill -KILL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create /etc/init.d/geronimo as follows:&lt;br /&gt;
&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
# chkconfig: 345 90 10&lt;br /&gt;
# description: geronimo server&lt;br /&gt;
&lt;br /&gt;
# uncoment to set JAVA_HOME as the value present when Continuum installed&lt;br /&gt;
export JAVA_HOME=/opt/SDK/jdk&lt;br /&gt;
export GERONIMO=/opt/geronimo/current/bin/geronimo.sh&lt;br /&gt;
&lt;br /&gt;
case &quot;$1&quot; in&lt;br /&gt;
&lt;br /&gt;
    &#39;start&#39;)&lt;br /&gt;
        su - geronimo -c &quot;$GERONIMO start&quot;&lt;br /&gt;
&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    &#39;stop&#39;)&lt;br /&gt;
        su - geronimo -c &quot;$GERONIMO stop&quot;&lt;br /&gt;
&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    &#39;restart&#39;)&lt;br /&gt;
        su - geronimo -c &quot;$GERONIMO stop&quot;&lt;br /&gt;
        sleep 20&lt;br /&gt;
        su - geronimo -c &quot;$GERONIMO start&quot;&lt;br /&gt;
&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    &#39;debug&#39;)&lt;br /&gt;
        su - geronimo -c &quot;$GERONIMO debug&quot;&lt;br /&gt;
&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    &#39;jpdarun&#39;)&lt;br /&gt;
        su - geronimo -c &quot;$GERONIMO jpda run&quot;&lt;br /&gt;
&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    &#39;jpdastart&#39;)&lt;br /&gt;
        su - geronimo -c &quot;$GERONIMO jpda start&quot;&lt;br /&gt;
&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    &#39;jpdastop&#39;)&lt;br /&gt;
        su - geronimo -c &quot;$GERONIMO stop&quot;&lt;br /&gt;
&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
        echo &quot;Usage: $0 { start | stop | restart | debug | jpdarun | jpdastart | jpdastop }&quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test each entry:&lt;br /&gt;
&lt;br /&gt;
/etc/init.d/geronimo&lt;br /&gt;
Usage: /etc/init.d/geronimo { start | stop | restart | debug | jpdarun | jpdastart | jpdastop }&lt;br /&gt;
&lt;br /&gt;
/etc/init.d/geronimo start&lt;br /&gt;
&lt;br /&gt;
/etc/init.d/geronimo stop&lt;br /&gt;
(login/pass = system / manager)&lt;br /&gt;
&lt;br /&gt;
/etc/init.d/geronimo debug&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# add to startup&lt;br /&gt;
chkconfig --add geronimo&lt;br /&gt;
&lt;br /&gt;
# check that the file exists in the startup location, ex: &lt;br /&gt;
ls -la /etc/rc.d/init.d/geronimo</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/4633876062684701203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2010/07/startup-scripts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/4633876062684701203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/4633876062684701203'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2010/07/startup-scripts.html' title='Startup scripts'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-440575543417201009</id><published>2010-07-16T16:11:00.005-04:00</published><updated>2010-07-16T16:13:45.351-04:00</updated><title type='text'>How to load properties files in Oracle&#39;s Weblogic 11G</title><content type='html'>PropertiesLoader propertiesLoader = new PropertiesLoader(propertiesFileName);&lt;br /&gt;
if (propertiesLoader.thePropertiesFileExists()) {&lt;br /&gt;
System.out.println(&quot;Properties file exists: &quot; + propertiesFileName);&lt;br /&gt;
} else { ... }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
String serverName = propertiesLoader.getProperty(&quot;serverName&quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And the properties loader class:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;

package alan.lupsha.properties;

import org.apache.log4j.Logger;
import java.util.Properties;
import java.io.InputStream;

public class PropertiesLoader {
    private static final Logger logger = Logger.getLogger(PropertiesLoader.class);

    private Properties props = null;
    private String propertiesFileName = null;
    private boolean propertiesFileExists = false;

    public PropertiesLoader(String propertiesFileName) {
        this.propertiesFileName = propertiesFileName;
        try {
            props = new Properties();
            ClassLoader cl = this.getClass().getClassLoader();
            // does not work in 11G: java.net.URL url = cl.getResource(propertiesFileName);

            InputStream in = cl.getResourceAsStream( propertiesFileName );
            if( in != null )
            {
                props.load(in);
                setPropertiesFileExists(true);
            }
            else
            {
                logger.warn(&quot;InputStream is null while trying to load properties file: &quot; + propertiesFileName );
            }
        } catch (Exception e) {
            logger.error(&quot;Error while loading properties from file &quot;
                    + propertiesFileName + &quot;. Error is: &quot; + e.toString());
            System.out.println(&quot;Error while loading properties from file &quot;
                    + propertiesFileName + &quot;. Error is: &quot; + e.toString());
        }
    }

    public String getProperty(String propertyName) {
        String returnStr = &quot;&quot;;
        if (props == null) {
            logger.error(&quot;Sorry, your props file couldn&#39;t be loaded: &quot; + propertiesFileName);
        } else {
            returnStr = props.getProperty(propertyName);
            if (returnStr == null) {
                returnStr = &quot;&quot;;
            }
        }
        return returnStr;
    }

    public void setPropertiesFileExists(boolean propertiesFileExists) {
        this.propertiesFileExists = propertiesFileExists;
    }

    public boolean thePropertiesFileExists() {
        return propertiesFileExists;
    }
}


&lt;/code&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/440575543417201009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2010/07/how-to-load-properties-files-in-oracles.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/440575543417201009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/440575543417201009'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2010/07/how-to-load-properties-files-in-oracles.html' title='How to load properties files in Oracle&#39;s Weblogic 11G'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-7333442409183283583</id><published>2010-05-04T23:36:00.002-04:00</published><updated>2010-05-04T23:36:59.300-04:00</updated><title type='text'>How to set up ProxyPass and ProxyPassReverse in Apache</title><content type='html'>How to set up ProxyPass and ProxyPassReverse in Apache to allow access to Continuum (which runs on port 8080) and to Archiva (which runs on port 8082):&lt;br /&gt;
&lt;br /&gt;
As root, edit: /etc/httpd/conf/httpd.conf&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
LoadModule proxy_module modules/mod_proxy.so&lt;br /&gt;
LoadModule proxy_http_module modules/mod_proxy_http.so&lt;br /&gt;
LoadModule proxy_connect_module modules/mod_proxy_connect.so&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the bottom of the config file, add:&lt;br /&gt;
&lt;br /&gt;
# ***********************************************************&lt;br /&gt;
ProxyRequests On&lt;br /&gt;
ProxyPreserveHost On&lt;br /&gt;
ProxyVia full&lt;br /&gt;
&lt;br /&gt;
&lt;Proxy *&gt;&lt;br /&gt;
  Order deny,allow&lt;br /&gt;
  Allow from all&lt;br /&gt;
&lt;/Proxy&gt;&lt;br /&gt;
&lt;br /&gt;
ProxyPass /archiva http://myserver.my.domain.com:8082/archiva&lt;br /&gt;
ProxyPassReverse /archiva http://myserver.my.domain.com:8082/archiva&lt;br /&gt;
&lt;br /&gt;
ProxyPass /continuum http://myserver.my.domain.com:8080/continuum&lt;br /&gt;
ProxyPassReverse /continuum http://myserver.my.domain.com:8080/continuum&lt;br /&gt;
# ***********************************************************&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart Apache: /etc/init.d/httpd restart</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/7333442409183283583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2010/05/how-to-set-up-proxypass-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/7333442409183283583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/7333442409183283583'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2010/05/how-to-set-up-proxypass-and.html' title='How to set up ProxyPass and ProxyPassReverse in Apache'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-8319757617412766079</id><published>2010-03-26T00:52:00.000-04:00</published><updated>2010-03-26T00:52:32.057-04:00</updated><title type='text'>How to scan using the Epson Perfection 3490 Photo scanner</title><content type='html'>Source: https://bugs.launchpad.net/ubuntu/+source/sane-backends/+bug/311191&lt;br /&gt;
&lt;br /&gt;
Binary package hint: libsane&lt;br /&gt;
&lt;br /&gt;
Epson 3490 wont run without the following modification&lt;br /&gt;
The following steps did it for me (running 8.04 Hardy, 8.10, 9.04):-&lt;br /&gt;
&lt;br /&gt;
1) sudo apt-get install sane-utils&lt;br /&gt;
&lt;br /&gt;
2) Go to the Users and Groups screen and add yourself (and other&lt;br /&gt;
scanner users) to the &quot;scanner&quot; group.&lt;br /&gt;
&lt;br /&gt;
3) Log off and on (or reboot) to make 2) effective.&lt;br /&gt;
&lt;br /&gt;
4) sudo mkdir /usr/share/sane/snapscan&lt;br /&gt;
&lt;br /&gt;
5) sudo cp Esfw52.bin /usr/share/sane/snapscan&lt;br /&gt;
&lt;br /&gt;
6) sudo chmod 644 /usr/share/sane/snapscan/Esfw52.bin&lt;br /&gt;
&lt;br /&gt;
7) sudo gedit /etc/sane.d/snapscan.conf&lt;br /&gt;
&lt;br /&gt;
Change firmware entry to say:-&lt;br /&gt;
firmware /usr/share/sane/snapscan/Esfw52.bin&lt;br /&gt;
&lt;br /&gt;
Please note point 6 as the file was initially created with insufficient access.&lt;br /&gt;
&lt;br /&gt;
Firmware .bin is attacted&lt;br /&gt;
&lt;br /&gt;
http://ubuntuforums.org/showthread.php?t=108256&amp;page=6 - is the scanner being discussed&lt;br /&gt;
&lt;br /&gt;
=================&lt;br /&gt;
# How to scan from the shell:&lt;br /&gt;
&lt;br /&gt;
scanimage --device-name snapscan:libusb:002:006 --resolution 200 --high-quality=no --mode Color --format=pnm &gt; lastscan.pnm&lt;br /&gt;
&lt;br /&gt;
# Convert the file to jpg:&lt;br /&gt;
convert lastscan.pnm 01.jpg&lt;br /&gt;
&lt;br /&gt;
# To convert all the pnm files to jpg files, type this command on one line:&lt;br /&gt;
for i in `ls *.pnm`; do convert $i $i.jpg; done&lt;br /&gt;
&lt;br /&gt;
=================</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/8319757617412766079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2010/03/how-to-scan-using-epson-perfection-3490.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/8319757617412766079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/8319757617412766079'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2010/03/how-to-scan-using-epson-perfection-3490.html' title='How to scan using the Epson Perfection 3490 Photo scanner'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-2771195638015951972</id><published>2010-03-03T19:57:00.001-05:00</published><updated>2010-03-23T10:30:19.696-04:00</updated><title type='text'>Ubuntu - how to fix the annoying error &quot;resolvconf: Error: /etc/resolv.conf must be a symlink&quot;</title><content type='html'>How to fix the error: &quot;resolvconf: Error: /etc/resolv.conf must be a symlink&quot;&lt;br /&gt;
&lt;br /&gt;
1. Kill the NetworkManager process:&lt;br /&gt;
&lt;br /&gt;
sudo kill -9 `ps aux | grep sbin/NetworkManager | grep -v grep | awk &#39;{print $2}&#39;`&lt;br /&gt;
&lt;br /&gt;
2. Run the resolvconf reconfiguration tool:&lt;br /&gt;
&lt;br /&gt;
sudo dpkg-reconfigure resolvconf&lt;br /&gt;
&lt;br /&gt;
(select YES, OK )&lt;br /&gt;
&lt;br /&gt;
3. Verify that the resolv.conf file is ok:&lt;br /&gt;
&lt;br /&gt;
ls -la /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
It should look very close to this:&lt;br /&gt;
&lt;br /&gt;
lrwxrwxrwx 1 root root 31 2010-03-03 19:53 /etc/resolv.conf -&amp;gt; /etc/resolvconf/run/resolv.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Check the contents, it should have your name server(s) listed. The following shows an example using Comcast nameservers, and includes a router with address 192.168.0.1:&lt;br /&gt;
&lt;br /&gt;
cat /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)&lt;br /&gt;
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN&lt;br /&gt;
nameserver 68.87.74.162&lt;br /&gt;
nameserver 68.87.68.162&lt;br /&gt;
nameserver 192.168.0.1&lt;br /&gt;
search wp.comcast.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Verify that it all works, try a restart of your system, and start with:&lt;br /&gt;
ping google.com&lt;br /&gt;
If you get a reply, your network works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.facebook.com/sharer.php&quot; name=&quot;fb_share&quot; type=&quot;button_count&quot;&gt;Share&lt;/a&gt;&lt;script src=&quot;http://static.ak.fbcdn.net/connect.php/js/FB.Share&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/2771195638015951972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2010/03/ubuntu-how-to-fix-annoying-error.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/2771195638015951972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/2771195638015951972'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2010/03/ubuntu-how-to-fix-annoying-error.html' title='Ubuntu - how to fix the annoying error &quot;resolvconf: Error: /etc/resolv.conf must be a symlink&quot;'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-2946947910711940168</id><published>2010-02-08T10:15:00.001-05:00</published><updated>2010-03-23T10:34:14.814-04:00</updated><title type='text'>How to install the command line transmissioncli bittorrent client in Ubuntu</title><content type='html'>mkdir ~/downloads&lt;br /&gt;
cd ~/downloads&lt;br /&gt;
&lt;br /&gt;
# get the latest stable version from http://www.transmissionbt.com/download.php&lt;br /&gt;
wget http://mirrors.m0k.org/transmission/files/transmission-1.83.tar.bz2&lt;br /&gt;
&lt;br /&gt;
bunzip2 transmission-1.83.tar.bz2&lt;br /&gt;
tar -xvf transmission-1.83.tar&lt;br /&gt;
cd transmission-1.83/&lt;br /&gt;
cat README | more&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install intltool&lt;br /&gt;
sudo apt-get install libcurl4-openssl-dev &lt;br /&gt;
sudo apt-get install openssl&lt;br /&gt;
&lt;br /&gt;
./configure&lt;br /&gt;
make&lt;br /&gt;
sudo make install&lt;br /&gt;
&lt;br /&gt;
# verify that the install worked&lt;br /&gt;
ls -la /usr/local/bin/transmissioncli&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&quot;fb_share&quot; type=&quot;button_count&quot; href=&quot;http://www.facebook.com/sharer.php&quot;&gt;Share&lt;/a&gt;&lt;script src=&quot;http://static.ak.fbcdn.net/connect.php/js/FB.Share&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/2946947910711940168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2010/02/how-to-install-command-line.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/2946947910711940168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/2946947910711940168'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2010/02/how-to-install-command-line.html' title='How to install the command line transmissioncli bittorrent client in Ubuntu'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5523738791535424354.post-7075077706600130413</id><published>2010-02-06T14:33:00.001-05:00</published><updated>2010-03-23T10:34:00.848-04:00</updated><title type='text'>How to set up Apache with groups of users and basic HTTP authentication</title><content type='html'>1. Do this as user root:&lt;br /&gt;
&lt;br /&gt;
sudo su -&lt;br /&gt;
&lt;br /&gt;
and find the path to the config files for Apache, ex:   ls -la /etc/apache2/&lt;br /&gt;
&lt;br /&gt;
2. create users, and use the htpasswd tool to encrypt their passwords&lt;br /&gt;
and store them in the password file:&lt;br /&gt;
&lt;br /&gt;
htpasswd /etc/apache2/passwords  john&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
htpasswd /etc/apache2/passwords  mary&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. add your users to a groups file&lt;br /&gt;
&lt;br /&gt;
nano /etc/apache2/groups&lt;br /&gt;
&lt;br /&gt;
Create a group called &quot;trusted&quot; followed by &quot;:&quot; followed by&lt;br /&gt;
the user names who are in that group, space delimited:&lt;br /&gt;
&lt;br /&gt;
trusted:john mary&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and set permissions so that user apache (who is in group &quot;www-data&quot;)&lt;br /&gt;
can actually see the &quot;passwords&quot; and &quot;groups&quot; files.&lt;br /&gt;
&lt;br /&gt;
chown root:www-data /etc/apache2/groups&lt;br /&gt;
chown root:www-data /etc/apache2/passwords&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. edit the apache config file to set up the directory which you are serving&lt;br /&gt;
&lt;br /&gt;
nano /etc/apache2/apache2.conf&lt;br /&gt;
&lt;br /&gt;
At the end of the Apache config file, add the following alias,&lt;br /&gt;
assuming that you keep all your files in /home/john/coolfiles/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
alias /john &quot;/home/john/coolfiles&quot;&lt;br /&gt;
&lt;directory coolfiles=&quot;&quot; home=&quot;&quot; john=&quot;&quot;&gt;&lt;br /&gt;
Options Indexes +MultiViews&lt;br /&gt;
AllowOverride None&lt;br /&gt;
Order allow,deny&lt;br /&gt;
Allow from all&lt;br /&gt;
&lt;br /&gt;
AuthType Basic&lt;br /&gt;
AuthName &quot;Password Required&quot;&lt;br /&gt;
AuthUserFile /etc/apache2/passwords&lt;br /&gt;
AuthGroupFile /etc/apache2/groups&lt;br /&gt;
Require Group trusted&lt;br /&gt;
&lt;/directory&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. restart apache, as user root&lt;br /&gt;
&lt;br /&gt;
sudo /etc/init.d/apache2 stop&lt;br /&gt;
sudo /etc/init.d/apache2 start&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. test with a browser&lt;br /&gt;
&lt;br /&gt;
http://localhost/john/&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
http://yourdomain.com/john/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&quot;fb_share&quot; type=&quot;button_count&quot; href=&quot;http://www.facebook.com/sharer.php&quot;&gt;Share&lt;/a&gt;&lt;script src=&quot;http://static.ak.fbcdn.net/connect.php/js/FB.Share&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlupsha.blogspot.com/feeds/7075077706600130413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alanlupsha.blogspot.com/2010/02/how-to-set-up-apache-with-groups-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/7075077706600130413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5523738791535424354/posts/default/7075077706600130413'/><link rel='alternate' type='text/html' href='http://alanlupsha.blogspot.com/2010/02/how-to-set-up-apache-with-groups-of.html' title='How to set up Apache with groups of users and basic HTTP authentication'/><author><name>Alan</name><uri>http://www.blogger.com/profile/04661881652565121167</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_3MYzBwFWO9M/ShauVUbB09I/AAAAAAAAAk4/HYsViesUR_Y/S220/alanlupsha.png'/></author><thr:total>0</thr:total></entry></feed>