<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-24258486</id><updated>2008-04-10T13:49:21.202-07:00</updated><title type='text'>Linux Notes</title><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default?start-index=26&amp;max-results=25'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml'/><author><name>Thomas</name></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-24258486.post-8242835583158323941</id><published>2008-04-10T06:41:00.001-07:00</published><updated>2008-04-10T06:45:43.221-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='random bins'/><title type='text'>units</title><content type='html'>&lt;a href="http://www.gnu.org/software/units/"&gt;GNU Units&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;With this program you enter in the units that you have and the units that you want to convert to, and the program tells you what to multiply by or divide by to get there.&lt;br /&gt;&lt;br /&gt;You have: furlongs per fortnight&lt;br /&gt;You want: mph&lt;br /&gt;        * 0.00037202455&lt;br /&gt;        / 2687.9946&lt;br /&gt;&lt;br /&gt;You have: kilowatt hours&lt;br /&gt;You want: calories&lt;br /&gt;        * 859845.23&lt;br /&gt;        / 1.163e-06</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2008/04/units.html' title='units'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=8242835583158323941' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/8242835583158323941'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/8242835583158323941'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-4807117359477287659</id><published>2008-04-09T07:14:00.000-07:00</published><updated>2008-04-09T07:17:26.117-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gutsy'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Gutsy and 100% CPU usage...  udevd going nuts.</title><content type='html'>This article seems to have the fix: &lt;br /&gt;&lt;a href="http://codepoets.co.uk/upgrade-ubuntu-gutsy-emvs-and-udevd-100-cpu-usage-aka-udevd-going-nuts"&gt;Upgrade to Ubuntu Gutsy - emvs and udevd 100% cpu usage - aka udevd going nuts&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;One typo I noticed:  He refers to /etc/init.d/udevd instead of /etc/init.d/udev.&lt;br /&gt;&lt;br /&gt;The corrected steps:&lt;br /&gt;# apt-get remove evms&lt;br /&gt;# /etc/init.d/udev stop&lt;br /&gt;# /etc/init.d/udev start&lt;br /&gt;&lt;br /&gt;&lt;a href="http://librenix.com/?inode=2407"&gt;Full set of articles on evms&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2008/04/gutsy-and-100-cpu-usage-udevd-going.html' title='Gutsy and 100% CPU usage...  udevd going nuts.'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=4807117359477287659' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/4807117359477287659'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/4807117359477287659'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-5911445179994544817</id><published>2008-01-10T12:43:00.000-08:00</published><updated>2008-01-10T12:45:35.897-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wiki'/><category scheme='http://www.blogger.com/atom/ns#' term='source'/><title type='text'>DidiWiki 0.5 source code</title><content type='html'>DidiWiki is a very simple wiki written in C.  I've been able to compile it for Cygwin and under Ubuntu.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://linux-notes.thomaspowell.com/didiwiki-0.5.tar.gz"&gt;didiwiki-0.5.tar.gz&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2008/01/didiwiki-05-source-code.html' title='DidiWiki 0.5 source code'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=5911445179994544817' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/5911445179994544817'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/5911445179994544817'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-2109625078529875629</id><published>2007-02-09T13:15:00.000-08:00</published><updated>2007-02-09T13:14:27.838-08:00</updated><title type='text'>Using Native Data Structures in JNI</title><content type='html'>&lt;a href="http://www.devx.com/Java/Article/21841#codeitemarea"&gt;Write Efficient Java Apps Using Native Data Structures with JNI&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2007/02/using-native-data-structures-in-jni.html' title='Using Native Data Structures in JNI'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=2109625078529875629' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/2109625078529875629'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/2109625078529875629'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-8093077262421415671</id><published>2007-02-09T13:06:00.001-08:00</published><updated>2007-02-09T13:10:52.869-08:00</updated><title type='text'>Linking a static library to Java using JNI</title><content type='html'>&lt;a href="http://cnd.netbeans.org/docs/jni/beginning-jni-linux.html"&gt;Beginning JNI Linux tutorial for Netbeans&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once I had accomplished the above with complete success, I extended the experiment by linking my static library (.a) to the dynamic library, and calling the static library  function from the dynamic library function.&lt;br /&gt;&lt;br /&gt;My HelloWorldNative.h:&lt;br /&gt;/* DO NOT EDIT THIS FILE - it is machine generated */&lt;br /&gt;#include &amp;lt;jni.h&amp;gt;&lt;br /&gt;/* Header for class helloworld_Main */&lt;br /&gt;&lt;br /&gt;#ifndef _Included_helloworld_Main&lt;br /&gt;#define _Included_helloworld_Main&lt;br /&gt;#ifdef __cplusplus&lt;br /&gt;extern "C" {&lt;br /&gt;#endif&lt;br /&gt;/*&lt;br /&gt;* Class:     helloworld_Main&lt;br /&gt;* Method:    nativePrint&lt;br /&gt;* Signature: ()V&lt;br /&gt;*/&lt;br /&gt;JNIEXPORT void JNICALL Java_helloworld_Main_nativePrint&lt;br /&gt; (JNIEnv *, jobject);&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* Class:     helloworld_Main&lt;br /&gt;* Method:    nativePrintNumber&lt;br /&gt;* Signature: (I)V&lt;br /&gt;*/&lt;br /&gt;JNIEXPORT void JNICALL Java_helloworld_Main_nativePrintNumber&lt;br /&gt; (JNIEnv *, jobject, jint);&lt;br /&gt;&lt;br /&gt;#ifdef __cplusplus&lt;br /&gt;}&lt;br /&gt;#endif&lt;br /&gt;#endif&lt;br /&gt;&lt;br /&gt;My HelloWorldNative.c:&lt;br /&gt;#include &amp;lt;jni.h&amp;gt;&lt;br /&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;#include "../HelloWorldNative.h"&lt;br /&gt;&lt;br /&gt;void hello();&lt;br /&gt;void hello_number(int i);&lt;br /&gt;&lt;br /&gt;JNIEXPORT void JNICALL Java_helloworld_Main_nativePrint(JNIEnv *env, jobject obj)&lt;br /&gt;{&lt;br /&gt;   hello();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;JNIEXPORT void JNICALL Java_helloworld_Main_nativePrintNumber&lt;br /&gt; (JNIEnv *env, jobject obj, jint ji)&lt;br /&gt;{&lt;br /&gt;   hello_number(ji);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;My Main.java:&lt;br /&gt;/*&lt;br /&gt;* Main.java&lt;br /&gt;*&lt;br /&gt;* Created on February 9, 2007, 3:48 PM&lt;br /&gt;*&lt;br /&gt;* To change this template, choose Tools | Template Manager&lt;br /&gt;* and open the template in the editor.&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;package helloworld;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author thomas&lt;br /&gt;*/&lt;br /&gt;public class Main {&lt;br /&gt; &lt;br /&gt;   private native void nativePrint();&lt;br /&gt;   private native void nativePrintNumber(int i);&lt;br /&gt;   /** Creates a new instance of Main */&lt;br /&gt;   public Main() {&lt;br /&gt;   }&lt;br /&gt; &lt;br /&gt;   static {&lt;br /&gt;       System.load("/home/thomas/src/c/testlib/HelloWorldNative/dist/HelloWorldNative.so");&lt;br /&gt;   }&lt;br /&gt;   /**&lt;br /&gt;    * @param args the command line arguments&lt;br /&gt;    */&lt;br /&gt;   public static void main(String[] args) {&lt;br /&gt;       Main me = new Main();&lt;br /&gt;       me.nativePrint();&lt;br /&gt;       me.nativePrintNumber(2);&lt;br /&gt;       me.nativePrintNumber(5);&lt;br /&gt;       // TODO code application logic here&lt;br /&gt;   }&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/stdio.h&gt;&lt;/jni.h&gt;&lt;/jni.h&gt;</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2007/02/linking-static-library-to-java-using_09.html' title='Linking a static library to Java using JNI'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=8093077262421415671' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/8093077262421415671'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/8093077262421415671'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-6039612848893120768</id><published>2007-02-09T13:06:00.000-08:00</published><updated>2007-02-08T08:35:06.117-08:00</updated><title type='text'>Linking a static library to Java using JNI</title><content type='html'>&lt;a href="http://cnd.netbeans.org/docs/jni/beginning-jni-linux.html"&gt;Beginning JNI Linux tutorial for Netbeans&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once I had accomplished the above with complete success, I extended the experiment by linking my static library (.a) to the dynamic library, and calling the static library  function from the dynamic library function.&lt;br /&gt;&lt;br /&gt;My HelloWorldNative.h:&lt;br /&gt;/* DO NOT EDIT THIS FILE - it is machine generated */&lt;br /&gt;#include &lt;jni.h&gt;&lt;br /&gt;/* Header for class helloworld_Main */&lt;br /&gt;&lt;br /&gt;#ifndef _Included_helloworld_Main&lt;br /&gt;#define _Included_helloworld_Main&lt;br /&gt;#ifdef __cplusplus&lt;br /&gt;extern "C" {&lt;br /&gt;#endif&lt;br /&gt;/*&lt;br /&gt; * Class:     helloworld_Main&lt;br /&gt; * Method:    nativePrint&lt;br /&gt; * Signature: ()V&lt;br /&gt; */&lt;br /&gt;JNIEXPORT void JNICALL Java_helloworld_Main_nativePrint&lt;br /&gt;  (JNIEnv *, jobject);&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt; * Class:     helloworld_Main&lt;br /&gt; * Method:    nativePrintNumber&lt;br /&gt; * Signature: (I)V&lt;br /&gt; */&lt;br /&gt;JNIEXPORT void JNICALL Java_helloworld_Main_nativePrintNumber&lt;br /&gt;  (JNIEnv *, jobject, jint);&lt;br /&gt;&lt;br /&gt;#ifdef __cplusplus&lt;br /&gt;}&lt;br /&gt;#endif&lt;br /&gt;#endif&lt;br /&gt;&lt;br /&gt;My HelloWorldNative.c:&lt;br /&gt;#include &lt;jni.h&gt;&lt;br /&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;&lt;br /&gt;#include "../HelloWorldNative.h"&lt;br /&gt;&lt;br /&gt;void hello();&lt;br /&gt;void hello_number(int i);&lt;br /&gt;&lt;br /&gt;JNIEXPORT void JNICALL Java_helloworld_Main_nativePrint(JNIEnv *env, jobject obj)&lt;br /&gt;{&lt;br /&gt;    hello();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;JNIEXPORT void JNICALL Java_helloworld_Main_nativePrintNumber&lt;br /&gt;  (JNIEnv *env, jobject obj, jint ji)&lt;br /&gt;{&lt;br /&gt;    hello_number(ji);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;My Main.java:&lt;br /&gt;/*&lt;br /&gt; * Main.java&lt;br /&gt; *&lt;br /&gt; * Created on February 9, 2007, 3:48 PM&lt;br /&gt; *&lt;br /&gt; * To change this template, choose Tools | Template Manager&lt;br /&gt; * and open the template in the editor.&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;package helloworld;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; *&lt;br /&gt; * @author thomas&lt;br /&gt; */&lt;br /&gt;public class Main {&lt;br /&gt;   &lt;br /&gt;    private native void nativePrint();&lt;br /&gt;    private native void nativePrintNumber(int i);&lt;br /&gt;    /** Creates a new instance of Main */&lt;br /&gt;    public Main() {&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    static {&lt;br /&gt;        System.load("/home/thomas/src/c/testlib/HelloWorldNative/dist/HelloWorldNative.so");&lt;br /&gt;    }&lt;br /&gt;    /**&lt;br /&gt;     * @param args the command line arguments&lt;br /&gt;     */&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        Main me = new Main();&lt;br /&gt;        me.nativePrint();&lt;br /&gt;        me.nativePrintNumber(2);&lt;br /&gt;        me.nativePrintNumber(5);&lt;br /&gt;        // TODO code application logic here&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;}</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2007/02/linking-static-library-to-java-using.html' title='Linking a static library to Java using JNI'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=6039612848893120768' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/6039612848893120768'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/6039612848893120768'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-3511584036787448510</id><published>2007-02-08T08:26:00.000-08:00</published><updated>2007-02-08T08:22:58.215-08:00</updated><title type='text'>Link java to a static library.</title><content type='html'>See last post, assume testlib has a void hello(void) function.&lt;br /&gt;&lt;br /&gt;Step 1:  Create a wrapper class.&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;public class TestLibWrapper {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;   public static native void hello();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;   static {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      System.loadLibrary("testlib");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;   }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;} &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Step 2:  Compile wrapper class.&lt;br /&gt;javac TestLibWrapper.java&lt;br /&gt;&lt;br /&gt;Step 3:  Run javah to create C header and stub file.&lt;br /&gt;javah TestLibWrapper&lt;br /&gt;&lt;br /&gt;Step 4...</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2007/02/link-java-to-static-library.html' title='Link java to a static library.'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=3511584036787448510' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/3511584036787448510'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/3511584036787448510'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-5682381371580235705</id><published>2007-02-08T08:09:00.000-08:00</published><updated>2007-02-08T08:13:37.592-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='basics'/><title type='text'>GNUmakefile for a basic library</title><content type='html'>GNUmakefile for a static library, testlib.a, including a single file, hello.c&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;OBJS = hello.o&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;CFILES := ${OBJS:.o=.c}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;LDFLAGS =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ARFLAGS = rcv&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;all:: testlib.a&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;testlib.a: ${OBJS}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   @$(AR) ${ARFLAGS} $@ $?&lt;br /&gt;&lt;br /&gt;clean::&lt;br /&gt;  @$(RM) ${OBJS} testlib.a&lt;br /&gt;&lt;/span&gt;</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2007/02/gnumakefile-for-basic-library.html' title='GNUmakefile for a basic library'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=5682381371580235705' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/5682381371580235705'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/5682381371580235705'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-6300911720395481125</id><published>2007-02-04T22:22:00.000-08:00</published><updated>2007-02-04T22:48:38.275-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wonders'/><title type='text'>More on update-alternatives</title><content type='html'>It appears that update-alternatives is a very handy facility in Debian derivatives for keeping track of the preferred application for specific tasks. &lt;br /&gt;&lt;br /&gt;This seems to be a much SAFER than Windows way of handling things (i.e., let the application try to set itself as the default handler--a la IE vs. Firefox, whatever audio player you use, etc...).&lt;br /&gt;&lt;br /&gt;This also seems to be much cleaner than what I've experienced in the past with Linux--maybe trying to override one browser with another, creating a random soft link, etc...&lt;br /&gt;&lt;br /&gt;All such alternatives can be seen in the /etc/alternatives directory.  On a Kubuntu 6.10 (Edgy Eft) box, one finds among the alternatives java, pager, x-terminal-emulator, x-window-manager, and x-www-browser.  Some alternatives are used to point to specific versions of a program.&lt;br /&gt;&lt;br /&gt;"update-alternatives --display &lt;name&gt;" will display information about which alternative is selected.&lt;br /&gt;&lt;br /&gt;"update-alternatives --list &lt;name&gt;" will list alternatives.&lt;br /&gt;&lt;br /&gt;"update-alternatives --config &lt;name&gt;" allows the selection of a specific alternative.&lt;br /&gt;&lt;br /&gt;The files which control the list of alternatives are in /var/lib/dpkg/alternatives.</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2007/02/more-on-update-alternatives.html' title='More on update-alternatives'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=6300911720395481125' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/6300911720395481125'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/6300911720395481125'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-4560404448866108402</id><published>2007-01-30T11:14:00.000-08:00</published><updated>2007-01-30T11:15:48.511-08:00</updated><title type='text'>Selecting java alternatives</title><content type='html'>As root, run the following to see which alternatives are out there, and which one is selected as default:&lt;br /&gt;&lt;br /&gt;    update-alternatives --display java &lt;br /&gt;&lt;br /&gt;As root, use the following to select default.&lt;br /&gt;&lt;br /&gt;    update-alternatives --config java</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2007/01/selecting-java-alternatives.html' title='Selecting java alternatives'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=4560404448866108402' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/4560404448866108402'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/4560404448866108402'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-6984025424082595598</id><published>2007-01-29T06:06:00.000-08:00</published><updated>2007-01-30T18:21:05.753-08:00</updated><title type='text'>Research performed trying to get wireless card working on a laptop</title><content type='html'>"bcm4306 linux" search:&lt;br /&gt;&lt;a href="dossy.org/archives/000110.html"&gt;Dossy's Blog: Linksys WMP54GS with Broadcom chipset under Linux&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.melbpc.org.au/pcupdate/­2407/2407article12.htm"&gt;How to Get One 802.11g Wireless Card to Work on Linux&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;"wmp54gs driver" search:&lt;br /&gt;&lt;a href="http://forums.windrivers.com/archive/index.php/t-67640.html"&gt;WinDrivers Computer Tech Support Forums - Linksys WMP54GS Wireless with Linux&lt;/a&gt;&lt;br /&gt;&lt;a href="http://gentoo-wiki.com/­HARDWARE_wmp54gs"&gt;HARDWARE wmp54gs - Gentoo Linux Wiki&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;"'no version of ndiswrapper found'"&lt;br /&gt;&lt;a href="http://www.ubuntuforums.org/­archive/index.php/t-275123.html"&gt;Ndiswrapper Package Broken? [Archive] - Ubuntu Forums&lt;/a&gt;  Conclusion:  use 1.18 version of ndiswrapper in ubuntu.&lt;br /&gt;&lt;br /&gt;"BCM43xx_IRQ_XMIT_ERROR" search&lt;br /&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=256795"&gt;Problems with wlan bcm43xx - Ubuntu forums&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Need to look into Linuxant:&lt;br /&gt;&lt;a href="http://www.linuxant.com/driverloader/"&gt;Driverloader &lt;/a&gt; http://www.linuxant.com/driverloader/&lt;br /&gt;&lt;br /&gt;1) Move wpa_supplicant binary to /usr/sbin/ and rename to "dldr_wpa_supplicant"&lt;br /&gt;2) Move wpa_supplicant.conf to /etc/driverloader/ and rename to dldr_wpa_supplicant.&lt;interface&gt;.conf, where interface is your interface name (mine was eth1)&lt;br /&gt;3) Reboot&lt;br /&gt;&lt;br /&gt;Tried adding pci=routeirq to boot parameters in /boot/grub/menu.lst</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2007/01/research-performed-trying-to-get.html' title='Research performed trying to get wireless card working on a laptop'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=6984025424082595598' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/6984025424082595598'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/6984025424082595598'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-5717533128290224732</id><published>2007-01-22T13:23:00.000-08:00</published><updated>2007-01-22T13:33:07.091-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='basics'/><title type='text'>I never learned this in school.</title><content type='html'>Actually, I haven't had to format a Linux partition manually since (maybe) I experimented with Slackware in 1995.  So, when I had a nice little 400 GB USB HD with three partitions (two NTFS, one Linux), I was somewhat at a loss as to how to proceed.&lt;br /&gt;&lt;br /&gt;I found &lt;a href="http://www.idevelopment.info/data/Unix/Linux/LINUX_PartitioningandFormattingSecondHardDrive_ext3.shtml"&gt;this handy guide to partitioning and formatting mkfs.ext3&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Ahhh...  I have access now.</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2007/01/i-never-learned-this-in-school.html' title='I never learned this in school.'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=5717533128290224732' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/5717533128290224732'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/5717533128290224732'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-6851983723736480913</id><published>2007-01-16T13:24:00.000-08:00</published><updated>2007-01-16T13:32:41.717-08:00</updated><title type='text'>Quick ascii table in hex.</title><content type='html'>The &lt;a href="http://www.troubleshooters.com/linux/quickhacks.htm"&gt;Linux Quick Hacks&lt;/a&gt; page inspired on this one:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;perl -e 'foreach $x (32..126) { printf(":: %c %x ::", $x, $x) } print "\n"'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Output:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;::   20 :::: ! 21 :::: " 22 :::: # 23 :::: $ 24 :::: % 25 :::: &amp; 26 :::: ' 27 ::&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;:: ( 28 :::: ) 29 :::: * 2a :::: + 2b :::: , 2c :::: - 2d :::: . 2e :::: / 2f ::&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;:: 0 30 :::: 1 31 :::: 2 32 :::: 3 33 :::: 4 34 :::: 5 35 :::: 6 36 :::: 7 37 ::&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;:: 8 38 :::: 9 39 :::: : 3a :::: ; 3b :::: &amp;lt; 3c :::: = 3d :::: &amp;gt; 3e :::: ? 3f ::&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;:: @ 40 :::: A 41 :::: B 42 :::: C 43 :::: D 44 :::: E 45 :::: F 46 :::: G 47 ::&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;:: H 48 :::: I 49 :::: J 4a :::: K 4b :::: L 4c :::: M 4d :::: N 4e :::: O 4f ::&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;:: P 50 :::: Q 51 :::: R 52 :::: S 53 :::: T 54 :::: U 55 :::: V 56 :::: W 57 ::&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;:: X 58 :::: Y 59 :::: Z 5a :::: [ 5b :::: \ 5c :::: ] 5d :::: ^ 5e :::: _ 5f ::&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;:: ` 60 :::: a 61 :::: b 62 :::: c 63 :::: d 64 :::: e 65 :::: f 66 :::: g 67 ::&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;:: h 68 :::: i 69 :::: j 6a :::: k 6b :::: l 6c :::: m 6d :::: n 6e :::: o 6f ::&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;:: p 70 :::: q 71 :::: r 72 :::: s 73 :::: t 74 :::: u 75 :::: v 76 :::: w 77 ::&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;:: x 78 :::: y 79 :::: z 7a :::: { 7b :::: | 7c :::: } 7d :::: ~ 7e ::&lt;/span&gt;</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2007/01/quick-ascii-table-in-hex.html' title='Quick ascii table in hex.'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=6851983723736480913' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/6851983723736480913'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/6851983723736480913'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-5482094335915253120</id><published>2007-01-13T15:55:00.000-08:00</published><updated>2007-01-14T11:49:06.067-08:00</updated><title type='text'>sed guides.</title><content type='html'>I'm using sed (along with awk and shell scripts) to extract data from my website files. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.student.northpark.edu/pemente/sed/sedfaq.html"&gt;Frequently Asked Questions about sed, the stream editor&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.student.northpark.edu/pemente/sed/sed1line.txt"&gt;sed one-liners&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sed.sourceforge.net/local/scripts/list_urls.sed.html"&gt;Colorized list_urls.sed&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2007/01/sed-guides.html' title='sed guides.'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=5482094335915253120' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/5482094335915253120'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/5482094335915253120'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-4706329577751810294</id><published>2007-01-10T10:17:00.000-08:00</published><updated>2007-01-10T18:16:44.679-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix scripts.'/><title type='text'>sed/sh/awk removing a section in multiple files</title><content type='html'>All of my scripts are in ~/bin, I'm replacing a marked section with my google adsense code, contained in a separate file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;remove_topstart.sh:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#!/bin/sh&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;find . -name '*.html' | while read x&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;cat $x | awk -f ~/bin/remove_topstart.awk &gt;&gt; $x.$$&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;cp $x.$ $x&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;rm $x.$&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;done&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;remove_topstart.awk:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;BEGIN { outsideTop = 1 }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/&amp;lt;!--TOPSTART--&amp;gt;/ { outsideTop = 0 }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/&amp;lt;!--TOPEND--&amp;gt;/ { outsideTop = 1 }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;outsideTop {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if( $0 !~ "&amp;lt;!--TOPEND--&amp;gt;" )&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print $0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;insert_adsense.sh:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;#!/bin/sh&lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;#my.adsense.txt contains as its first line and as&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#its last line.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#insert after tag, regardless of case.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#change index.html in current directory&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cat index.html | sed '/&lt;[Bb][Oo][Dd][Yy]&gt;/r /home/thomas/my.adsense.txt' &gt; index.html.$$&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cp index.html.$ index.html&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;rm index.html.$&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#change all *.html files in selected subdirectories&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;find . -name '*.html' | egrep "SubDir1|SubDir2|SubDir3|SubDir4|SubDir5" | while read x&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;cat $x | sed '/&lt;[Bb][Oo][Dd][Yy]&gt;/r /home/thomas/my.adsense.txt' &gt; $x.$$&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;cp $x.$$ $x&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;rm $x.$$&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;done&lt;/span&gt;&lt;fixed&gt;&lt;br /&gt;&lt;/fixed&gt;</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2007/01/sedshawk-removing-section-in-multiple.html' title='sed/sh/awk removing a section in multiple files'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=4706329577751810294' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/4706329577751810294'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/4706329577751810294'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-1444893145721607140</id><published>2007-01-09T07:26:00.000-08:00</published><updated>2007-01-09T07:36:43.195-08:00</updated><title type='text'>IE 4 Linux</title><content type='html'>Internet Explorer on Linux&lt;br /&gt;http://webexpose.org/2007/01/07/internet-explorer-7-on-linux/&lt;br /&gt;&lt;br /&gt;http://www.tatanka.com.br/ies4linux/page/Installation&lt;br /&gt;&lt;span style="font-size:85%;"&gt;IEs 4 Linux needs two packages: &lt;a href="http://www.kyz.uklinux.net/cabextract.php" class="external text" title="http://www.kyz.uklinux.net/cabextract.php" rel="nofollow"&gt;cabextract&lt;/a&gt; and &lt;a href="http://www.winehq.org/" class="external text" title="http://www.winehq.org" rel="nofollow"&gt;Wine&lt;/a&gt;. You can install them using your Linux package manager (synaptic, apt-get, yum, emerge etc) or go to their sites.&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz&lt;br /&gt;tar zxvf ies4linux-latest.tar.gz&lt;br /&gt;cd ies4linux-*&lt;br /&gt;./ies4linux&lt;br /&gt;&lt;/pre&gt;</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2007/01/ie-4-linux.html' title='IE 4 Linux'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=1444893145721607140' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/1444893145721607140'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/1444893145721607140'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-7050506082462923993</id><published>2007-01-08T21:40:00.000-08:00</published><updated>2007-01-08T21:48:55.732-08:00</updated><title type='text'>Research on adding a wireless card using WPA in Ubuntu</title><content type='html'>I've just begun to research WPA + PCI wireless card in Ubuntu.&lt;br /&gt;&lt;br /&gt;Follow installation instructions for ndiswrapper:&lt;br /&gt;&lt;a href="http://ndiswrapper.sourceforge.net/mediawiki/index.php/Installation"&gt;http://ndiswrapper.sourceforge.net/mediawiki/index.php/Installation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Using a ZyXEL card:&lt;br /&gt;&lt;a href="http://ndiswrapper.sourceforge.net/mediawiki/index.php/List#Z"&gt;http://ndiswrapper.sourceforge.net/mediawiki/index.php/List#Z&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tools to use:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;iwconfig - to configure wireless network interface.&lt;/li&gt;&lt;li&gt;iwlist wlan0 scan - scan for access points using wlan0 interface&lt;/li&gt;&lt;/ul&gt;WPA with ndiswrapper:&lt;br /&gt;&lt;a href="http://ndiswrapper.sourceforge.net/mediawiki/index.php/WPA"&gt;http://ndiswrapper.sourceforge.net/mediawiki/index.php/WPA&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2007/01/research-on-adding-wireless-card-using.html' title='Research on adding a wireless card using WPA in Ubuntu'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=7050506082462923993' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/7050506082462923993'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/7050506082462923993'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-5833846735542592562</id><published>2006-12-29T13:22:00.000-08:00</published><updated>2006-12-31T20:11:21.111-08:00</updated><title type='text'>Log of setting up a "test" virtual server on apache2 under Linux.</title><content type='html'>Equipment HP Pavilion 6745C/700 MHz Celeron/256MB ram.  I'm using &lt;span style="font-weight: bold;"&gt;gvim &lt;/span&gt;as an editor. &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Step 1, Add host to /etc/hosts:&lt;/span&gt;&lt;br /&gt;sudo gvim /etc/hosts&lt;br /&gt;Before the IPv6 section (if you have one), add:&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;span style="font-family:courier new;"&gt;127.0.0.1 latte&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;In this case "latte" is my virtual hostname.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 2, Add a new configuration file for the virtual host:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cd /etc/apache2/sites-available&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cp default latte.conf&lt;/span&gt;&lt;br /&gt;The naming of the configuration file is somewhat arbitrary, but I used {hostname description}.conf.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 3, Edit the configuration file:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo gvim latte.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Change the following lines and save your configuration file:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;NameVirtualHost *&lt;br /&gt;&lt;br /&gt;DocumentRoot /var/www&lt;br /&gt;&lt;virtualhost&gt;&lt;/virtualhost&gt;&lt;/span&gt;&lt;br /&gt;to the following:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;NameVirtualHost latte&lt;br /&gt;&lt;virtualhost&gt;&lt;br /&gt;DocumentRoot /var/www/latte&lt;br /&gt;&lt;/virtualhost&gt;&lt;/span&gt;&lt;br /&gt;Your original "DocumentRoot" may be different, but the new value should be the root directory for website files.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 4, Link to the configuration file in the "sites-enabled" directory:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;cd /etc/apache2/sites-enabled/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo ln -s /etc/apache2/sites-available/latte.conf latte.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;or in Debian (and by derivation, Ubuntu):&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;a2ensite latte.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 5, Reload the apache configuration file:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;sudo /etc/init.d/apache2 reload&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Step 6, Browse to your virtual server to check your work:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;firefox http://latte&lt;/span&gt;</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2006/12/log-of-setting-up-test-virtual-server.html' title='Log of setting up a &quot;test&quot; virtual server on apache2 under Linux.'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=5833846735542592562' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/5833846735542592562'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/5833846735542592562'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-116727241453066400</id><published>2006-12-27T18:06:00.000-08:00</published><updated>2006-12-27T18:48:53.793-08:00</updated><title type='text'>Manually adding a PCI display card.</title><content type='html'>Equipment/Software:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;HP Pavilion 6745C&lt;/li&gt;&lt;br /&gt;&lt;li&gt;256 MB ram&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Kubuntu 6.10 (Edgy Eft)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;eVGA (nVidia) GeForce4 MX 4000 PCI&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;I've had persistent problems with the i810 on-board vga with virtually every install of Linux that I've tried with this PC (with the exception of damnsmalllinux).  Between that and its poor performance, I added a MX 4000 to this PC.  However, recent distributions have failed to even properly recognize the card at install/configuration time, so I had to take some indirect steps to add the device.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 1:&lt;/b&gt;&lt;br /&gt;Install Kubuntu using i810.  This required setting bios to use the "AGP" video card (in this case AGP=onboard video).  I had the MX 4000 PCI card installed for this as well, but not hooked to a monitor.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 2:&lt;/b&gt;&lt;br /&gt;Run "lspci" at a shell prompt.  At the end of my listing was:&lt;br /&gt;&lt;blockquote&gt;01:0d.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4 MX 4000 AGP 8x] (rev c1)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 3:&lt;/b&gt;&lt;br /&gt;At a shell prompt, run "sudo vim /etc/X11/xorg.conf" (substitute your favorite editor for vim).  I copied and pasted the following section:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Section "Device"&lt;br /&gt;   Identifier "Intel Corporation 82810 ..."&lt;br /&gt;   Driver "i810"&lt;br /&gt;   BusID "PCI:0:1:0"&lt;br /&gt;EndSection&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;I modified my new section to read:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Section "Device"&lt;br /&gt;   Identifier "NVidia"&lt;br /&gt;   Driver "nv"&lt;br /&gt;   BusID "PCI:1:13:0"&lt;br /&gt;EndSection&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;The "Identifier" value must be copied in a later section, so the value doesn't matter as much as the consistency of that value. The 1:13:0 is from the lspci output (01:0d.0, where 0d in hex = 13 in decimal).  "nv" is the free nVidia compatible driver.  I may later apply the proper nVidia driver (instructions in a previous post).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 4:&lt;/b&gt;&lt;br /&gt;Still in xorg.conf, I modified the "Screen" section (Section "Screen") by replacing "Intel Corporation 82810..." with "NVidia" on the Device line.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Section "Screen"&lt;br /&gt;   Identifier "Default Screen"&lt;br /&gt;   Device "Nvidia"&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 5:&lt;/b&gt;&lt;br /&gt;Save xorg.conf and restart X (Ctrl-Alt-Bksp on an X screen).  X will now start on the nVidia card.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 6:&lt;/b&gt;&lt;br /&gt;Reboot, switch bios to use "PCI" as the primary display.  Save BIOS.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 7:&lt;/b&gt;&lt;br /&gt;Plug monitor into nVidia card, and boot with new BIOS settings.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;TODO:  &lt;br /&gt;- Get both devices working on this PC as two separate displays.&lt;br /&gt;- Install "proper" nVidia drivers.&lt;br /&gt;&lt;/b&gt;</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2006/12/manually-adding-pci-display-card.html' title='Manually adding a PCI display card.'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=116727241453066400' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/116727241453066400'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/116727241453066400'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-116718495339399355</id><published>2006-12-26T17:57:00.000-08:00</published><updated>2006-12-26T18:02:33.393-08:00</updated><title type='text'>Discovered bluetooth keyboard and mouse was not working.</title><content type='html'>More fallout from upgrading to Edgy Eft, my bluetooth keyboard and mouse no longer worked.  This post on ubuntu forums was the best consolidated set of instructions on how to configure bluetooth (which worked without configuration before upgrade, by the way).&lt;br /&gt;&lt;br /&gt;I ended using "/etc/init.d/bluetooth restart" instead of "/etc/init.d/bluez-utils restart".  However, I've only been able to restore the connection to my mouse, not my keyboard.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=227057"&gt;HOWTO:  Bluetooth Keyboard and Mouse&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2006/12/discovered-bluetooth-keyboard-and.html' title='Discovered bluetooth keyboard and mouse was not working.'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=116718495339399355' title='1 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/116718495339399355'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/116718495339399355'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-116714932467700724</id><published>2006-12-26T08:05:00.000-08:00</published><updated>2006-12-26T11:02:55.720-08:00</updated><title type='text'>Installing Beryl and Xgl</title><content type='html'>&lt;a href="http://ubuntuexperiences.wordpress.com/2006/12/05/installing-beryl-and-xgl/"&gt;Ubuntu experiences entry.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.smorgasbord.net/ati_beryl_kde_dapper_my_guide"&gt;ATI/Beryl/KDE/Dapper/My Guide&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2006/12/installing-beryl-and-xgl.html' title='Installing Beryl and Xgl'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=116714932467700724' title='1 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/116714932467700724'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/116714932467700724'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-116714855881616794</id><published>2006-12-26T07:53:00.000-08:00</published><updated>2006-12-27T19:25:11.446-08:00</updated><title type='text'>Needed to reinstall nvidia driver on Edgy Eft.</title><content type='html'>Did a distro upgrade on Kubuntu to 6.10.  Everything was working nicely--firefox 2.0, etc...  but I hadn't rebooted yet.  My linux box isn't a critical system at work, it's subjected to the whims of the neighborhood power grid.  Thus, it had to be turned on after the long weekend.  This morning, I discovered that I needed to reinstall the nvidia drivers.  The post linked to below contains the details, but if you had the nvidia splash screen prior to 6.10, the line below is probably all you need:&lt;br /&gt;&lt;br /&gt;sudo aptitude install linux-generic linux-restricted-modules-`uname -r`&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=281823&amp;page=7"&gt;Install the Nvidia driver on Edgy Eft&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In case there are module difference issues, different display driver versions are available from nVidia &lt;a href="http://www.nvidia.com/object/linux_display_archive.html"&gt;here&lt;/a&gt;.</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2006/12/needed-to-reinstall-nvidia-driver-on.html' title='Needed to reinstall nvidia driver on Edgy Eft.'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=116714855881616794' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/116714855881616794'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/116714855881616794'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-116671756567716754</id><published>2006-12-21T07:30:00.000-08:00</published><updated>2006-12-21T08:15:20.873-08:00</updated><title type='text'>select() system call in Linux vs. other *nix flavors</title><content type='html'>From the Linux Programmer's Manual:&lt;br /&gt;"On Linux, the function &lt;span style="font-weight:bold;"&gt;select&lt;/span&gt; modifies &lt;span style="font-style:italic;"&gt;timeout&lt;/span&gt; to reflect the amount of time not slept; most other implementations do not do this.  This causes problem both when Linux code which reads &lt;span style="font-style:italic;"&gt;timeout&lt;/span&gt; is ported to other operating systems, and when code is ported to Linux that reuses a struct timeval for multiple &lt;span style="font-weight:bold;"&gt;select&lt;/span&gt;s in a loop without reinitializing it.  Consider &lt;span style="font-style:italic;"&gt;timeout&lt;/span&gt; to be undefined after &lt;span style="font-weight:bold;"&gt;select&lt;/span&gt; returns."</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2006/12/select-system-call-in-linux-vs-other.html' title='select() system call in Linux vs. other *nix flavors'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=116671756567716754' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/116671756567716754'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/116671756567716754'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-116664042967403308</id><published>2006-12-20T10:46:00.000-08:00</published><updated>2006-12-20T11:11:30.170-08:00</updated><title type='text'>Upgrading Ubuntu</title><content type='html'>&lt;a href="http://www.debianadmin.com/upgrade-ubuntu-606-dapper-drake-to-ubuntu-10-edgy-eft.html"&gt;Upgrading Ubuntu from 6.06 Dapper Drake to 6.10 Edgy Eft&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2006/12/upgrading-ubuntu.html' title='Upgrading Ubuntu'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=116664042967403308' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/116664042967403308'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/116664042967403308'/><author><name>Thomas</name></author></entry><entry><id>tag:blogger.com,1999:blog-24258486.post-116654661096176749</id><published>2006-12-19T08:42:00.000-08:00</published><updated>2006-12-19T08:51:25.936-08:00</updated><title type='text'>Apache2 setup / Virtual Hosts</title><content type='html'>&lt;a href="http://www.debuntu.org/2006/02/22/7-virtual-hosting-using-apache-2"&gt;Virtual Hosting using Apache 2 on a linux machine&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://linuxgazette.net/issue86/tag/2.html"&gt;NameVirtualHost in Apache&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://linux-notes.thomaspowell.com/2006/12/apache2-setup-virtual-hosts.html' title='Apache2 setup / Virtual Hosts'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24258486&amp;postID=116654661096176749' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://linux-notes.thomaspowell.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/116654661096176749'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24258486/posts/default/116654661096176749'/><author><name>Thomas</name></author></entry></feed>