<?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: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-3586253933279535118</id><updated>2011-12-02T08:31:43.408-06:00</updated><category term='linux'/><category term='scripting'/><category term='KDE'/><category term='emacs'/><category term='personal'/><category term='java'/><category term='shell'/><category term='administration'/><category term='security'/><category term='computer'/><category term='perl'/><category term='Mac OS X'/><category term='browsing'/><category term='bash'/><category term='work'/><category term='system administration'/><title type='text'>JW's Tips and Notes</title><subtitle type='html'>Notes, quick guides and "short cuts" from my daily experiences for users of Linux, Mac OS X and other UNIX based operating systems</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-1528390965874195263</id><published>2009-07-15T22:26:00.004-06:00</published><updated>2009-07-15T22:36:54.332-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='administration'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><category scheme='http://www.blogger.com/atom/ns#' term='scripting'/><title type='text'>Add Linux users with a crypted password</title><content type='html'>If you routinely setup Linux systems with the same user accounts, you might find it helpful to be able to add the users with a single command, without typing in the password and other info for each user like you have to do with adduser. A single-line, no-questions-ask command also lends itself well to batch scripting.&lt;br /&gt;&lt;br /&gt;To do this you'll need to know the username, the system user id and group id (UID and GUID) and plain text password for the user you're about to add.&lt;br /&gt;&lt;br /&gt;Start by making the crypted password hash. You can make the password hash with the following command (this is tested on Debian Linux):&lt;br /&gt;&lt;br /&gt; &lt;span style="font-style: italic;font-family:arial;" &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mkpasswd -H md5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;mkpasswd will ask you for the password:&lt;br /&gt;&lt;br /&gt; &lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Password:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Type in your password, hit enter and mkpasswd will show you the hash:&lt;br /&gt;&lt;br /&gt; &lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$1$uv.y5wtb$remRyh2SeDD9mgZ81aYuB1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here is the full command. Put the hash mkpasswd printed in single quotes at the end of the line like this:&lt;br /&gt;&lt;br /&gt; &lt;span style="font-style: italic;font-family:arial;" &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;useradd -g 1003 -m -u 1003 -s /bin/bash johndoe -p '$1$uv.y5wtb$remByh2ShDD9mgZ81aYuB1'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The shell parameter "&lt;span style="font-style: italic;font-family:arial;" &gt;-s /bin/bash&lt;/span&gt;" is not strictly necessary but I've found it best to include it to avoid potential accidents.&lt;br /&gt;&lt;br /&gt;Note that when using useradd like this, the groups must be preexisting. If the group doesn't already exist, add it with:&lt;br /&gt;&lt;br /&gt; &lt;span style="font-style: italic;font-family:arial;" &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;groupadd groupname&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It's a good idea to clear your shell history after adding all your users this way. An easy way to clear the history is by running the following commands, one at a time:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:arial;" &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HISTFILESIZE=1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:arial;" &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ls&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:arial;" &gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;^d&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(&lt;span style="font-style: italic;font-family:arial;" &gt;^d&lt;/span&gt; means Ctrl-d: hold down the control key, tap the d key, then let go of the controll key)&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-1528390965874195263?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/1528390965874195263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=1528390965874195263' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/1528390965874195263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/1528390965874195263'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2009/07/add-linux-users-with-crypted-password.html' title='Add Linux users with a crypted password'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-2531720520774016436</id><published>2009-07-12T01:04:00.003-06:00</published><updated>2009-07-12T01:10:12.983-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><title type='text'>Installing PINE on Debian Etch 4.0 from source or binary</title><content type='html'>The Pine email client is not included in the Debian Linux "main " repository because of licensing issues.&lt;br /&gt;It is included in non-free. If you don't already have SSL installed, or, if you have the old version installed, you can just add non-free to your &lt;span style="font-family: courier new;"&gt;/etc/apt/sources.list&lt;/span&gt;, so that it looks (somewhat) like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;deb http://ftp.us.debian.org/debian/ etch main contrib non-free&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;deb-src http://ftp.us.debian.org/debian/ etch main contrib non-free&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;deb http://security.debian.org/ etch/updates main contrib non-free&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;deb-src http://security.debian.org/ etch/updates main contrib non-free&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and then run &lt;span style="font-style: italic; font-family: arial;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;apt-get update ; apt-get install pine.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However, I already had a newer version of libssl installed, and pine demanded the old SSL libary as a dependency before it would install. I can't downgrade on this system, so I decided to install pine from source. I tried the source from pine's home page, and it wasn't compiling, so I got the Debian pine package source with apt and told it to compile it. It worked pretty well. The command to use is:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-family: arial;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;apt-get --compile source pine&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That left &lt;span style="font-family: courier new;"&gt;pine_4.64-3_i386.deb&lt;/span&gt; in my working directory, along with a bunch of other files. You might want to build in a temporary directory.&lt;br /&gt;&lt;br /&gt;After the build I installed pine with:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dpkg -i pine*i386.deb&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can probably use a similar set of steps on Debian Lenny 5.0, but I haven't tried it.&lt;br /&gt;&lt;br /&gt;You can also try the newer "alpine" package.&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-2531720520774016436?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/2531720520774016436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=2531720520774016436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/2531720520774016436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/2531720520774016436'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2009/07/installing-pine-on-debian-etch-40-from.html' title='Installing PINE on Debian Etch 4.0 from source or binary'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-2152361726291637502</id><published>2009-07-09T21:21:00.002-06:00</published><updated>2009-07-09T21:29:09.354-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Emacs Example Tutorial: replace words text with a regexp</title><content type='html'>In Emacs' normal find-and-replace mode you can't replace special characters like "beginning of line" or "end of line" with anything because it treats the special characters representing end of line (^ and $, respectively) as regular characters - a literal ^ and a literal $.&lt;br /&gt;&lt;br /&gt;If you want to replace the beginning of line or end of line with another string (and this can come in extremely handy some times) you have to use a different kind of replace: RegExp replace (regexp stands for the term regular expression, which is a phrase used to describe computer pattern matching code or directions. Think "filters"). To get Emacs into this mode type:&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-family: arial; font-style: italic;"&gt;M-x replace-regexp&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Remember, M is the meta key, which is usually equal to holding down the alt key or tapping  on the escape key. So you can think of this as:&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-family: arial; font-style: italic;"&gt;ALT x&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Emacs will prompt you that it is waiting for more instructions by displaying "M-x". Then you type in:&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-family: arial; font-style: italic;"&gt;replace-regexp&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and hit enter. Emacs will now ask you "&lt;span style="font-family: courier new;"&gt;Replace regexp:&lt;/span&gt; " - it is waiting to know the regular expression that matches the characters you want to replace.&lt;br /&gt;&lt;br /&gt;So let's say you have a file of information - a list of names of employees, for example. This hypothetical list contains nothing but their names. Let's say you want to add a note at the end of the line that reads "Note: give this employee a new mouse pad:."&lt;br /&gt;&lt;br /&gt;While emacs is sitting there asking you "&lt;span style="font-family: courier new;"&gt;Replace regexp:&lt;/span&gt; " type in just the dollar sign and then hit enter: &lt;span style="font-family: arial; font-style: italic;"&gt;$&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now Emacs will ask you "&lt;span style="font-family: courier new;"&gt;Replace regexp $ with:&lt;/span&gt; "&lt;br /&gt;&lt;br /&gt;You can now type in any text you want, and then hit enter - Emacs will append that text to the end of the line. Unlike the regular find-and-replace, replace-regexp does not ask you for confirmation one line at a time, it will simply apply this "replacement" to every line of the file at the end-of-line mark.&lt;br /&gt;&lt;br /&gt;As a very cool side benefit, you can combine this with block editing mode to constrain the replacement to a fixed block of lines. For more on block editing mode and how to define a block, see this &lt;a href="http://jwadmin.blogspot.com/2008/10/emacs-example-tutorial-insert-block-of.html"&gt;article on emacs block editing&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-2152361726291637502?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/2152361726291637502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=2152361726291637502' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/2152361726291637502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/2152361726291637502'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2009/07/emacs-example-tutorial-replace-words.html' title='Emacs Example Tutorial: replace words text with a regexp'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-2552681351385762351</id><published>2009-06-11T21:32:00.002-06:00</published><updated>2009-06-11T22:06:14.011-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Emacs Example Tutorial: replace words in a file</title><content type='html'>This example shows how to search-and-replace words in a file.&lt;br /&gt;&lt;br /&gt;First we assume you are used to searching for strings or characters in a word, if you are not, please see this article on &lt;a href="/2009/04/emacs-example-tutorial-find-words-and.html"&gt;how to use emacs to find words and letters in a file&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;You can replace strings or characters (words, letters) in a file in a manner very similar to find. You type this command (remember, M is the meta key, which is usually equal to holding down the alt key or tapping  on the escape key):&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-style: italic; font-family: arial;"&gt;M %&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So you can also think of this as:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-style: italic; font-family: arial;"&gt;Alt Shift 5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After you type that key command sequence, Emacs will ask you:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-family: courier new;"&gt;Query replace:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then you type in the characters that you are looking for that you want to replace and hit enter. Then Emacs will ask you:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-family: courier new;"&gt;Query replace [search-string-here] with:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now you type in the characters you want to insert in place of the old word and again hit enter. Emacs will find the first instance of the "search" string (the word you want to replace), it will highlight that occurrence and then ask you:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-family: courier new;"&gt;Query replacing [search-string-here] with [replacement-string-here]: (? for help)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you want that occurrence to be replaced, you just tap the &lt;span style="font-style: italic; font-family: arial;"&gt;y&lt;/span&gt; key for "yes". Emacs will automatically move on to the next occurrence of the string you searched for and ask again:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-family: courier new;"&gt;Query replacing [search-string-here] with [replacement-string-here]: (? for help)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you want to skip any particular occurrence, just tap the &lt;span style="font-style: italic; font-family: arial;"&gt;n&lt;/span&gt; key for "no". Emacs will continue find and replace until you reach the bottom of the file.&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-2552681351385762351?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/2552681351385762351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=2552681351385762351' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/2552681351385762351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/2552681351385762351'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2009/06/emacs-example-tutorial-replace-words-in.html' title='Emacs Example Tutorial: replace words in a file'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-8971774076057236972</id><published>2009-04-03T11:52:00.001-06:00</published><updated>2009-04-03T11:55:31.893-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Emacs Example Tutorial: find words and letters in a file</title><content type='html'>When using Emacs probably my #1 most used and favorite feature is to "find" or search for a string - strings are groups of characters that may or may not be part of a word, a whole word, or a sentence (to be exact there is no maximum length that I know of).&lt;br /&gt;&lt;br /&gt;Once emacs is open just hit &lt;span style="font-style: italic; font-family: verdana;"&gt;Ctrl-s&lt;/span&gt; (Hold down the Control Key and while holding it, tap the s key once, then let go of Ctrl). Many people will recognize this as the typical "save" command many graphical application use to save a file. Don't worry, emacs has a different save command [link]. After you have hit &lt;span style="font-style: italic; font-family: verdana;"&gt;Ctrl s&lt;/span&gt;, emacs will wait for you to start typing the characters (letters) you are looking for. It sill search "as you go", meaning that if you type "f" it will jump right to the first "f", then if you type "i" it will move to the first occurrence of "fi", then if you continue typing "nd" it will move to the first occurrence of the word "find". If it does not find the character sequence you've typed in, it will tell you so.&lt;br /&gt;&lt;br /&gt;After it finds the first occurrence of your string of characters, you can hit "&lt;span style="font-style: italic; font-family: verdana;"&gt;Ctrl s&lt;/span&gt;" again to find the next occurrence of that same string in your document. You can continue hitting "Ctrl s" until you get to the end of your file, at which point Emacs will tell you "Failing I-search: [search-string-here]" which means it has hit the end of the file. If you continue taping "&lt;span style="font-style: italic; font-family: verdana;"&gt;Ctrl s&lt;/span&gt;" even after that, Emacs will wrap your search back around to the start of the file and continue searching from the top again. You will know it has gone back to the top of the file when you see Emacs display "Overwrapped I-search: [search-string-here]" at the bottom of the window.&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-8971774076057236972?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/8971774076057236972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=8971774076057236972' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/8971774076057236972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/8971774076057236972'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2009/04/emacs-example-tutorial-find-words-and.html' title='Emacs Example Tutorial: find words and letters in a file'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-6437700737055273033</id><published>2009-03-08T22:37:00.000-06:00</published><updated>2009-03-08T23:05:05.941-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Emacs Example Tutorial: exit emacs and save a file or discard changes</title><content type='html'>For those who are just starting to learn emacs, the key command sequence to save a file is:&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style: italic; font-family: arial;"&gt;Ctrl x s&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That means hold down the Control key, tap the x key once, and the s key once, let go of Control key. If you're used to using "Cntl+s" in a graphical progam to save file, this key binding might seem a little awkward at first but you'll get used to it quickly.&lt;br /&gt;&lt;br /&gt;You can also choose whether or not to save by simply exiting emacs and telling it "y" for "yes" or  "n" for "no" when it asks you if you want to save your changes (also known as "Exit saving changes") by typing the "quit" key command sequence:&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style: italic; font-family: arial;"&gt;Ctrl x c&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Emacs will then prompt you "Save file /path/to/filename? (y, n, !, ., q, C-r or C-h)" which means you must answer with one of the options listed inthe parenthesis. To save just tap the "y" key and you're done.&lt;br /&gt;&lt;br /&gt;If you decide you don't want to save your changes, tap "n" for "no". Emacs will then double-check your decision by asking you:&lt;br /&gt;&lt;br /&gt;Modified buffers exist; exit anyway? (yes or no)&lt;br /&gt;&lt;br /&gt;Type "yes", which in this context means "yes I really do want to exit and discard my changes"&lt;br /&gt;If you type "no" emacs will send you back to editing mode with Emacs still open and your unsaved changes still visible and accessable in the window.&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-6437700737055273033?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/6437700737055273033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=6437700737055273033' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/6437700737055273033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/6437700737055273033'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2009/03/emacs-example-tutorial-exit-emacs-and.html' title='Emacs Example Tutorial: exit emacs and save a file or discard changes'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-1848682411272819305</id><published>2009-03-03T01:09:00.004-06:00</published><updated>2009-03-03T01:27:32.077-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Installing Mac OS X software updates from the commandline</title><content type='html'>I don't know why I didn't know this existed earlier - it's the most helpful computer administration command I've found in a year.&lt;br /&gt;&lt;br /&gt;Apple's Software updates can be downloaded and installed on Mac OS X with the command "softwareupdate". This makes Updating your OS X remotely via ssh a snap compared to using ARD or VNC.&lt;br /&gt;&lt;br /&gt;The command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-family: arial;"&gt;    softwareupdate -l&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;will scan the apple update site for pending updates, and display them complete with a commandline-friendly label (name).&lt;br /&gt;&lt;br /&gt;You can then install the updates you want with&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-family: arial;"&gt;    softwareupdate -i [update_label]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$ softwareupdate -l&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;Software Update Tool&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;Copyright 2002-2005 Apple&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt; Software Update found the following new or updated software:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;* JavaForMacOSX104Release7-1.0&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;Java for Mac OS X 10.4, Release 7 (1.0), 82580 [recommended]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;$ softwareupdate -i JavaForMacOSX104Release7-1.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: georgia;"&gt;The command output shows which upates are recommended and which will requite a system restart.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: georgia;"&gt;The install command prints out a handy character based progress meter while it's downloading and installing:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; Downloading Java for Mac OS X 10.4, Release 7&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt;&amp;nbsp;Downloading Java for Mac OS X 10.4, Release 7&lt;br /&gt;&amp;nbsp;0..20..40..60..80..100&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="font-family: courier new;"&gt;Expanding Java for Mac OS X 10.4, Release 7&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="font-family: courier new;"&gt;Installing Java for Mac OS X 10.4, Release 7&lt;br /&gt;&amp;nbsp;0..20..40..60..80..100&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="font-family: courier new;"&gt;Done.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is one terrific feature!&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-1848682411272819305?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/1848682411272819305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=1848682411272819305' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/1848682411272819305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/1848682411272819305'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2009/03/installing-mac-os-x-software-updates.html' title='Installing Mac OS X software updates from the commandline'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-7141358744994685784</id><published>2008-10-15T23:42:00.003-06:00</published><updated>2008-10-15T23:47:48.750-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Emacs Example Tutorial: insert a block of text</title><content type='html'>As I explained in my previous &lt;a href="http://jwadmin.blogspot.com/2007/08/emacs-example-tutorial-kill-block-of.html"&gt;Emacs tutorial on killing a block of text&lt;/a&gt;, it is sometimes hard to find easy to understand documentation on how to use emacs.&lt;br /&gt;One of the first things I wanted to learn how to do in Emacs was block editing. By "block editing" I mean select a vertical area of text (one or more columns across multiple rows making a square or rectangle - you might call it zero or more since you don't actually have to select any characters, only the spaces between them) and do things to it - you might call it column editing or column mode or "Block Mode Editing" like in Kate, or UltraEdit.&lt;br /&gt;&lt;br /&gt;Inserting a column of characters in emacs (without using a mouse) is really easy: you start by highlighting or selecting an area - when you do this you are said to "mark" the region.&lt;br /&gt;&lt;br /&gt;You mark a region by positioning your cursor in one corner of the area you want to mark and hitting Control-Spacebar. You will see Emacs respond with the message "Mark set". Then navigate your cursor (I always use the arrow keys, but there is probably other ways to do it) to the opposite corner of the region you want to mark. The "region" is now marked as a rectangle between wherever you started (when you hit Ctrl-Space) and wherever your cursor is now sitting. Note that you don't do anything special to mark the end of the region -- the end is where ever your cursor is positioned.&lt;br /&gt;&lt;br /&gt;Emacs calls the space you've now selected the "region-rectangle". Once it's highlighted, you can insert characters into the region by typing:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    C-x r t&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(That means press x while holding down the control key, release both keys, press and release the r key, press and release the t key). Emacs will respond with the message "String rectangle": it is asking you what text you wish to insert. Type what ever characters (letters) you want to "paste" into the region, and hit enter. It will automatically fill in that same text on every line that you've selected in your region.&lt;br /&gt;&lt;br /&gt;I find this to be a great way to comment out areas of code with # characters. Emacs also has a "comment region" command which sometimes works, but occasionally emacs is too smart for it's own good and doesn't know what comment character to use (in which case it will usually ask you which to use with the question "No comment syntax is defined.  Use:"), or worse it will use the wrong one.&lt;br /&gt;&lt;br /&gt;You can use the comment region function by selecting a region in the same manner descried above, then type:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    M-x comment-region&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(That means press x while holing down the ALT key, release both keys, type "comment-region" - without the quotes of course - and hit enter).&lt;br /&gt;&lt;br /&gt;I find &lt;span style="font-style: italic;"&gt;C-x r t&lt;/span&gt; easier and faster to use than "&lt;span style="font-style: italic;"&gt;M-x comment-region&lt;/span&gt;" in most cases anyway. It's fewer letters to type, even when you consider tab completion.&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-7141358744994685784?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/7141358744994685784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=7141358744994685784' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/7141358744994685784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/7141358744994685784'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2008/10/emacs-example-tutorial-insert-block-of.html' title='Emacs Example Tutorial: insert a block of text'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-7802618753479965973</id><published>2008-10-07T17:04:00.005-06:00</published><updated>2008-10-08T10:50:34.974-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Linux on a Dell Vostro 1710 laptop - don't try it [yet]</title><content type='html'>Recently my company needed a new laptop for one of our employees. &lt;a href="http://jwadmin.blogspot.com/2007/10/dell-vostro-1700-laptop.html"&gt;After my great success with installing SuSE Linux on a Dell Vostro 1700 laptop&lt;/a&gt;, we decided to buy a Dell Vostro 1710, hoping that it would have better, newer hardware and still work with SuSE.&lt;br /&gt;&lt;br /&gt;Wrong.&lt;br /&gt;&lt;br /&gt;For this first time in my entire 11+ years of using Linux, the installer could not use the trackpad or even the &lt;span style="font-style: italic;"&gt;keyboard&lt;/span&gt;. Yes, you read that right. I was able to complete the install with an external USB mouse and keyboard, but after the install finished and I rebooted the system without the peripherals (hoping that it was only the installer having trouble), the laptop's built-in keyboard and mouse still wouldn't work. I can't image what Dell has done to prevent detection/use of a simple &lt;span style="font-style: italic;"&gt;keyboard&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;I never bothered to try the other hardware (camera, etc) - we sent the 1710 back and bought a refurbished 1700.&lt;br /&gt;&lt;br /&gt;I strongly suggest nobody buy a 1710 until at least another round of distros has been released this coming winter or spring. It was openSuSE 11.0 that I tried on the 1710 - perhaps 11.1 will work with the 1710, but I'm sure I won't be ordering another one to try it on.&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-7802618753479965973?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/7802618753479965973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=7802618753479965973' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/7802618753479965973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/7802618753479965973'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2008/10/linux-on-dell-vostro-1710-laptop-dont.html' title='Linux on a Dell Vostro 1710 laptop - don&apos;t try it [yet]'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-8806270726890868100</id><published>2008-03-24T13:01:00.002-06:00</published><updated>2008-03-24T13:27:59.648-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Setting the computer hardware clock  (BIOS or CMOS) from inside a running Linux system</title><content type='html'>Normally after setting the date and time in Linux (for example using the NTP service or ntpdate, you can set the hardware clock to match with the following command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  hwclock --systohc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That way when you reboot, your clock will still be correct (or close to it).&lt;br /&gt;&lt;br /&gt;I've discovered that this method does not work on the newer Dells, such as our 1U PowerEdge 1850s. Supposedly this has something to do with the kernel RTC module, and hardware changes. However, the following command appears to set the clock just fine on the problematic Dell servers:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  hwclock --systohc --directisa&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-8806270726890868100?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/8806270726890868100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=8806270726890868100' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/8806270726890868100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/8806270726890868100'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2008/03/setting-computer-hardware-clock-bios-or.html' title='Setting the computer hardware clock  (BIOS or CMOS) from inside a running Linux system'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-6076003916009883693</id><published>2007-12-21T14:22:00.002-06:00</published><updated>2008-03-24T12:55:53.438-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'></title><content type='html'>&lt;blockquote&gt;"I keep just enough vi knowledge in my head so that I can edit a Makefile and build Emacs."  -- Tony Foiani, 1999&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-6076003916009883693?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/6076003916009883693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=6076003916009883693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/6076003916009883693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/6076003916009883693'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/12/i-keep-just-enough-vi-knowledge-in-my.html' title=''/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-301275144834280690</id><published>2007-11-28T16:56:00.000-06:00</published><updated>2007-11-28T16:59:44.319-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>How to enable the root user in Mac OS X using NetInfo, or change root's password:</title><content type='html'>&lt;ol&gt;&lt;li&gt;Open the NetInfo Manager utility (located under /Applications/Utilites/).&lt;/li&gt;&lt;li&gt;Click the lock (padlock icon) in the NetInfo Manager window.&lt;/li&gt;&lt;li&gt;Enter an administrator account name and password, then click OK (this isn't Administrator as in root, it's Administrator as in a user account with administrative privileges, typically the first account created during the initial install or setup).&lt;/li&gt;&lt;li&gt;For Mac OS X 10.2 and later, choose Enable Root User from the Security menu.&lt;/li&gt;&lt;li&gt;If you have not previously set a root password, an alert box may appear that says "NetInfo Error," indicating that the password is blank. Click OK.&lt;/li&gt;&lt;li&gt;Enter the root password you wish to use and click Set.&lt;/li&gt;&lt;li&gt;Enter the password again for verification and click Verify.&lt;/li&gt;&lt;li&gt;The root user is now enabled.&lt;/li&gt;&lt;li&gt;Click the lock again to prevent changes.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-301275144834280690?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/301275144834280690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=301275144834280690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/301275144834280690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/301275144834280690'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/11/how-to-enable-root-user-in-mac-os-x.html' title='How to enable the root user in Mac OS X using NetInfo, or change root&apos;s password:'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-1061448121105026760</id><published>2007-11-05T20:42:00.000-06:00</published><updated>2007-11-05T20:44:19.444-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Social networking</title><content type='html'>Today I'm trying out a &lt;a href="http://technorati.com/claim/aywd8sbd58" rel="me"&gt;Technorati Profile&lt;/a&gt; to see if any of these things actually help. Still got lots to learn! :-)&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-1061448121105026760?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/1061448121105026760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=1061448121105026760' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/1061448121105026760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/1061448121105026760'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/11/social-networking.html' title='Social networking'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-683773490273739742</id><published>2007-10-31T16:30:00.000-06:00</published><updated>2007-10-31T16:32:42.252-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>Walking Sticks</title><content type='html'>If anyone wants to get me something for Christmas, I think these Gold-knobbed "Hame Top Canes" from &lt;a href="http://www.brazos-walking-sticks.com/product/cocobolo_hame_top_cane.html"&gt;Brazos Walking Sticks&lt;/a&gt; are just gorgeous.&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-683773490273739742?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/683773490273739742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=683773490273739742' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/683773490273739742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/683773490273739742'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/10/walking-sticks.html' title='Walking Sticks'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-6654281504088664462</id><published>2007-10-01T16:46:00.000-06:00</published><updated>2007-10-01T16:49:12.868-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Linux on a Dell Vostro 1700 laptop</title><content type='html'>At my company, &lt;a href="http://www.cedarcreeksoftware.com"&gt;&lt;span style="font-style: italic;"&gt;Cedar Creek Software&lt;/span&gt;&lt;/a&gt;, we recently purchased a new laptop:&lt;br /&gt;&lt;br /&gt;Dell Vostro 1700 laptop&lt;br /&gt;Model # PP22X&lt;br /&gt;17" wide aspect-ratio screen&lt;br /&gt;&lt;br /&gt;We use SuSE Linux on our workstations, because it "just works" to a greater degree than any other distro I've tried in the last 9 years - at least of all the distros that are still ticking (and I've tried quite a few).&lt;br /&gt;&lt;br /&gt;lspci -nn gives the following specs for the monitor:&lt;br /&gt;&lt;br /&gt;01:00.0 VGA compatible controller [Class 0300]: nVidia Corporation GeForce 8600M GT [10de:0407] (rev a1)&lt;br /&gt;&lt;br /&gt;And the following for the 4965AGN wireless network adapter:&lt;br /&gt;&lt;br /&gt;0c:00.0 Network controller [Class 0280]: Intel Corporation PRO/Wireless 4965 AG or AGN Network Connection [8086:4229] (rev 61)&lt;br /&gt;&lt;br /&gt;At first I tried SuSE 10.2 and was able to get the monitor working with the usual pre-built nVidia kernel modules from nVidia's repository, but I could not get the wireless adapter to work. Everything else worked fine.&lt;br /&gt;&lt;br /&gt;For the wireless, I tried installing the official Intel drivers but I couldn't make it happy with the SUSE-supplied kernel and kernel sources. It kept complaining about the mac80211 subsystem, and many other things. I tried a lot of stuff, including a vanilla kernel, which the Intel drives were unable to patch and use properly (I have not idea what I did wrong). I tried NDISWrapper. Contrary to what it says on the en.opensuse.org wiki, I did get NDISwrapper to work with the Windows XP driver, but it made the laptop unstable - it would just freeze up randomly and I'd have to cycle the power.&lt;br /&gt;&lt;br /&gt;Finally I upgraded to a kernel &amp;amp; sources from the SuSE kernel-of-the-day repository (which now seem to have a good set of mac80211 modules sources and all the other things that are needed to support the drive from the Intel wireless project), but then when I'd try to run iwlist and iwconfig it would complain that the module (or something) was complied with support for a higher version of something (I forget exactly what) than the wireless tools.&lt;br /&gt;&lt;br /&gt;One of the things I love about SuSE is their hardware support. New hardware is often supported by the very next release of SuSE, however the next version of SuSE - 10.3 - isn't out yet. But it's getting to the final stages of beta testing (thank you, Novell / openSuSE, for the new open development model that gives us access to betas!), so I downloaded the latest LiveCD made from the 10.3 beta tree and discovered that the 4965AGN wireless card worked in the LiveCD environment just fine.&lt;br /&gt;&lt;br /&gt;So I've downloaded and installed the RC1 release of SuSE 10.3 on the Vostro 1700. They've made some small improvements to the installer and and distro and I really like it. SuSE is such a fine distro, I strongly recommend it for workstations, laptops, and personal computers.&lt;br /&gt;&lt;br /&gt;The troublesome 4965AGN was immediately detected by the installer - Yay! - and works great with no trouble.&lt;br /&gt;&lt;br /&gt;The nVidia GeForce 8600M GT graphics card was correctly detected and configured at the optimum size by the 10.3 installer/config tools, unlike 10.2 which left the config set to a low resolution by default. That's with the xorg open source drivers that came with SuSE, of course.&lt;br /&gt;&lt;br /&gt;However I did have some trouble configuring the dualhead setup. I needed to be able to use a secondary monitor on the laptop's VGA out as a second screen. I usually use Xinerama, configured with SaX2, for this kind of setup.&lt;br /&gt;&lt;br /&gt;I downloaded the latest source driver from nVidia (it's not really all source, but it's the package nVidia provides that allows you to build your own kernel module) and it compiled quickly with no trouble. The documentation on the opensuse.org wiki then says to then use "sax2 -r -m -0=nvidia" to configure the monitor. That works fine for the laptop's own monitor, at 1440x900, but when I tried to use SaX2 to configure Xinerama for the second monitor, it wouldn't work at all. The resulting X config left the laptop's screen turned off and put the laptop screen's setting on the external monitor - which of course were the wrong size, shape and resolution. I spent a good amount of time trying to make this work, then read about using "TwinView" without Xinerma in the nVidia documentation. I tried it out and it works. I tried using the nVidia-supplied config tool, nvidia-xconfig for both the laptop-only config and the dual monitor config and it produced perfect, working configs for both. I highly recommend it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For the dual-head config just plug in the external monitor and run (as root):&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-family: arial;"&gt;nvidia-xconfig --twinview&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-6654281504088664462?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/6654281504088664462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=6654281504088664462' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/6654281504088664462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/6654281504088664462'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/10/dell-vostro-1700-laptop.html' title='Linux on a Dell Vostro 1700 laptop'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-4491783068495658331</id><published>2007-08-02T16:09:00.000-06:00</published><updated>2007-08-24T23:58:55.082-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Emacs Example Tutorial: kill a block of text</title><content type='html'>When trying to learn to use Emacs, I had a very hard time finding out how to kill a multi-line block of text in Emacs. When I say "block" I mean a square or rectangle that does not include anything outside the marked area, in other words, not including the rest of the lines - whatever portion I didn't mark. For example, the equivalent of "Block Mode Editing" like in Kate, or UltraEdit.&lt;br /&gt;&lt;br /&gt;If you go search on google for this kind of block "cut", you'll normally find documentation telling you to use C-w (&lt;span style="font-style:italic;"&gt;note to newbies: in emacs documentation when you see "C-", that means the Control key, and when you see "M-", that means the Meta key, which is the "Alt" key for most PC users. So C-w is Control-w&lt;/span&gt;). This kills all text on every line, including the end of the line, within the whole region, from the Mark to the Point. When I am trying to trim out a block of text from multiple lines (such as an unusually large comment block, or a portion of a column from a tabulated text file), I don't want the whole line killed, just the letters and other characters inside the square block.&lt;br /&gt;&lt;br /&gt;I finally found that this is called killing the "region-rectangle", and the command is:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;C-x r k&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For those that don't know: you "mark" a region in Emacs by positioning your cursor in one corner of the area you want to mark and hitting Control-Spacebar. You will see Emacs respond with the message "Mark set". Then navigate the cursor (I always use the arrow keys, but I guess there's other ways to do it) to the opposite corner of the region you want to mark. The "region" is now marked as a rectangle between wherever you started (when you hit Ctrl-Space) and wherever your cursor is now sitting.&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-4491783068495658331?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/4491783068495658331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=4491783068495658331' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/4491783068495658331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/4491783068495658331'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/08/emacs-example-tutorial-kill-block-of.html' title='Emacs Example Tutorial: kill a block of text'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-6207074028456784624</id><published>2007-07-25T14:40:00.000-06:00</published><updated>2007-07-30T13:40:26.930-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Deleting files based on content: using find, grep, xargs and rm</title><content type='html'>Today a user asked me to help remove a deluge of spam from their inbox, since they had been flooded by a particular spammer. Well, everyone makes mistakes sometimes and today was my day: I made a mistake with -print in the find command and accidentally deleted all of the users's email. Whoops.&lt;br /&gt;&lt;br /&gt;All the spam contained the the word "Desv" as part of the from. I could have used grep, but there were so many files in the directory that grep -i Desv * complained that the argument list was too long - this is a nice "safety" feature of bash that wasn't always there. Someone figured they should limit the shell globbing of * so it couldn't generate a gigantic list that could cause buffer overruns. So I had to use find to get around the file glob size restriction. The right syntax for find turned out to be:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;find . -exec grep -l Desv {} \; | xargs rm&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-6207074028456784624?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/6207074028456784624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=6207074028456784624' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/6207074028456784624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/6207074028456784624'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/07/deleting-files-based-on-content-using.html' title='Deleting files based on content: using find, grep, xargs and rm'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-1990982996096602900</id><published>2007-07-19T16:59:00.000-06:00</published><updated>2007-07-19T17:07:05.337-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Simple Newbie's Guide to netstat</title><content type='html'>I've been using Linux for 8 or 9 years now and I have always heard that, in order to find out what program or process is using a given open port on your computer you should use the program "netstat".&lt;br /&gt;&lt;br /&gt;Whenever I've asked just exactly how one uses netstat, I've been told "netstat -a".&lt;br /&gt;&lt;br /&gt;Now, for those that think that's the right answer, please go try "netstat -a" and see just exactly what it tells you. Can you use that information to find out what program or process is holding that mysterious port open? Uh-huh. I thought the same thing the first time I tried it.&lt;br /&gt;&lt;br /&gt;I have essentially ignored netstat and worked around it, because it's man page is one of the better examples of a wonderfully esoteric but not-too-helpful man page: it lists paragraph after paragraph of command options, leaving the average newbie's mind in a rather confused state.&lt;br /&gt;&lt;br /&gt;Today I took the time to read the long-winded man page and found that netstat really can tell me what I want to know:&lt;br /&gt;&lt;br /&gt;-v Gives "verbose info" (of course), though I didn't find this very handy.&lt;br /&gt;-l Shows only listening sockets. This is not a default option, and you really want to see the information -l has to show you.&lt;br /&gt;-e Display additional information.&lt;br /&gt;-p Show the PID and name of the program to which each socket belongs.&lt;br /&gt;&lt;br /&gt;-p is the real winner here: it shows you the process number of the program that's using this port, and the name of the program. This will enable you to find the process in ps, and/or kill that process.&lt;br /&gt;&lt;br /&gt;Since "netstat -a" puts out a whole lot of info, I found that starting with "netstat -lt" and "netstat -lu" is a great first or second step for finding your open ports (the other one being port scanning, which you really should do anyway). Once you find a port you want to close, you can run "netstat -aevp" and grep for the port number (or port name as found in /etc/services) you are interested in to find the program's PID and name (netstat -aevp | grep 59849).&lt;br /&gt;&lt;br /&gt;Give it a try:&lt;br /&gt;&lt;br /&gt;netstat -lt&lt;br /&gt;netstat -lte&lt;br /&gt;netstat -ltv&lt;br /&gt;netstat -ltp&lt;br /&gt;netstat -aevp&lt;br /&gt;netstat -aevp | grep sunrpc&lt;br /&gt;netstat -aevp | grep domain&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-1990982996096602900?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/1990982996096602900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=1990982996096602900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/1990982996096602900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/1990982996096602900'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/07/simple-newbies-guide-to-netstat.html' title='Simple Newbie&apos;s Guide to netstat'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-9013957688059137946</id><published>2007-07-17T11:34:00.000-06:00</published><updated>2007-07-17T11:35:33.050-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Debug Humor</title><content type='html'>&lt;blockquote&gt;System Events&lt;br /&gt;=-=-=-=-=-=-=&lt;br /&gt;Jul 16 12:22:27 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;eqr&lt;/span&gt;022 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;cvs&lt;/span&gt;: Dying gasps received from client.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-9013957688059137946?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/9013957688059137946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=9013957688059137946' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/9013957688059137946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/9013957688059137946'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/07/debug-humor.html' title='Debug Humor'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-3381727757203316329</id><published>2007-06-04T15:19:00.000-06:00</published><updated>2007-06-04T15:21:32.657-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Installing non-free Sun Java on Debian</title><content type='html'>There seems to be some confusion (at least for some folks) about what it takes to install Sun's Java on Debian. It is against Debian's policy to distribute "non-free" packages in the main tree, however, that's exactly what the "non-free" repository is for.&lt;br /&gt;&lt;br /&gt;Using the &lt;a href="http://www.debian.org/distrib/packages#search_packages"&gt;Debian web site's package search&lt;/a&gt; will quickly  show that they do, in fact, offer "commercial" java packages.&lt;br /&gt;&lt;br /&gt;For etch 4.0 (stable), just add "non-free" to your /etc/apt/sources.list:&lt;br /&gt;&lt;br /&gt;deb http://ftp.us.debian.org/debian/ etch main contrib non-free&lt;br /&gt;&lt;br /&gt;Run (as root, of course) "apt-get update" then "apt-cache search java2" and you'll find:&lt;br /&gt;&lt;br /&gt;sun-java5-jdk&lt;br /&gt;sun-java5-jre&lt;br /&gt;&lt;br /&gt;Currently they are version 1.5.0-10-3.&lt;br /&gt;&lt;br /&gt;To install them run:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;apt-get install sun-java5-jdk sun-java5-jre&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-3381727757203316329?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/3381727757203316329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=3381727757203316329' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/3381727757203316329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/3381727757203316329'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/06/installing-non-free-sun-java-on-debian.html' title='Installing non-free Sun Java on Debian'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-2778439461391192415</id><published>2007-05-08T16:56:00.000-06:00</published><updated>2007-05-08T16:59:47.232-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Passwordless log in with SSH keys</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;A very fine feature of UNIX operating systems is native support for services like SSHd. SSH provides shell access on remote computers - encrypted, so no one can snoop your passwords. SSH comes with various utilities including &lt;span style="font-style: italic; font-family: arial;"&gt;scp&lt;/span&gt;, which allows you to copy files and folders to the remote server (and all this traffic and data is encrypted). You can also use ssh as rsync's transport mechanism for synchronizing directories across computers. If you want to automate tasks like this (scheduling unattended backups with cron, for example), you'll need the computer that's initiating the connection to be able to log into the remote computer without being prompted for a user to input a password.&lt;br /&gt;&lt;br /&gt;This is where ssh 'keys" come in. You create a private/public key pair on your computer ("the client"), and put the "public" key up on the remote computer ("the server"). After that, when you log into the remote computer, you are no longer prompted to enter a password (so long as you made the key correctly).&lt;br /&gt;&lt;br /&gt;To generate a pair of keys with no passwords, using the standard RSA type of keys, run the following command on the computer you are connecting from:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-family: arial;"&gt;ssh-keygen -t rsa -N ""&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This will create two files: &lt;span style="font-style: italic; font-family: arial;"&gt;~/.ssh/id_rsa&lt;/span&gt; and &lt;span style="font-style: italic; font-family: arial;"&gt;~/.ssh/id_rsa.pub&lt;/span&gt;&lt;br /&gt;Copy - with scp - the public file &lt;span style="font-style: italic; font-family: arial;"&gt;~/.ssh/id_rsa.pub&lt;/span&gt; up to the remote computer you will be connecting to (or sending data to). Then log into the remote server and put the contents of that public key into the &lt;span style="font-family: arial; font-style: italic;"&gt;~/.ssh/authorized_keys&lt;/span&gt; file. An easy way to do that is like this:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-family: arial;"&gt;cat &gt;&gt; id_rsa.pub ~/.ssh/authorized_keys&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Using the double "greater than" brackets ensures that if &lt;span style="font-style: italic; font-family: arial;"&gt;~/.ssh/authorized_keys&lt;/span&gt; already exists, the new key will be added to the file, and not overwrite any existing keys that might already be in place.&lt;br /&gt;&lt;br /&gt;After that, you should be able to connect from the client with the key pair to the remote server without being prompted for a password.&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-2778439461391192415?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/2778439461391192415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=2778439461391192415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/2778439461391192415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/2778439461391192415'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/05/passwordless-log-in-with-ssh-keys.html' title='Passwordless log in with SSH keys'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-1731607689042034662</id><published>2007-05-02T19:28:00.000-06:00</published><updated>2007-05-02T19:32:57.166-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Mac OS X Keyboard Shortcuts</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Apple provides a nice list of &lt;a href="http://docs.info.apple.com/article.html?artnum=75459"&gt;keyboard shortcuts for OS X&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://docs.info.apple.com/article.html?artnum=75459"&gt;http://docs.info.apple.com/article.html?artnum=75459&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My favorite: "&lt;span style="font-family:arial;"&gt;Shift-Command-Delete&lt;/span&gt;": Empty Trash&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-1731607689042034662?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/1731607689042034662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=1731607689042034662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/1731607689042034662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/1731607689042034662'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/05/mac-os-x-keyboard-shortcuts.html' title='Mac OS X Keyboard Shortcuts'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-4846175756827852608</id><published>2007-05-02T11:02:00.000-06:00</published><updated>2007-05-02T11:12:35.742-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Reporting ebay scam email</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I don't know if it does any real good or not, but I've taken to forwarding all ebay spoof/scam/phishing email to &lt;span style="font-style: italic;"&gt;spoof@ebay.com&lt;/span&gt; (which gives me a nice little automated reply stating "This message did not originate from eBay . . .") At least that way eBay will have more recorded instances of such emails in case they ever file legal proceedings against these scammers.&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-4846175756827852608?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/4846175756827852608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=4846175756827852608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/4846175756827852608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/4846175756827852608'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/05/reporting-ebay-scam-email.html' title='Reporting ebay scam email'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-4411640539411343008</id><published>2007-05-01T10:54:00.000-06:00</published><updated>2007-05-01T11:01:57.294-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><title type='text'>Passing environment variables to sudo</title><content type='html'>A user on the Fink mailing list wrote to tell me that instead of editing &lt;span style="font-family:arial;"&gt;/etc/sudoers&lt;/span&gt; to maintain the &lt;span style="font-family:arial;"&gt;PERL5LIB&lt;/span&gt; variable, you can optionally pass it through on the command line, like this:&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-family: arial;"&gt;sudo env PERL5LIB=$PERL5LIB cpan&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-4411640539411343008?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/4411640539411343008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=4411640539411343008' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/4411640539411343008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/4411640539411343008'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/05/passing-environment-variables-to-sudo.html' title='Passing environment variables to sudo'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-4709535732559727203</id><published>2007-04-25T16:17:00.000-06:00</published><updated>2007-04-25T16:20:18.237-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Controlling KDE applications from the shell</title><content type='html'>I came across this the other day on accident:&lt;br /&gt;&lt;br /&gt;     &lt;span style="font-family: arial;"&gt;kfmclient --commands&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can do a rather fascinating number of things to KDE in the shell through kfmclient, including opening a new Konqueror window, opening a new tab in an existing Konqueror window, starting an application from its ".desktop" file, rearrange/refresh your desktop, copy and move files (I presume this would include copying to/from the various IOSlave protocols like fish://).&lt;br /&gt;&lt;br /&gt;Try these, for example:&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-family: arial;"&gt;kfmclient newTab 'url'&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-family: arial;"&gt;kfmclient exec .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Since quotes work as well as ticks ( ' ), &lt;span style="font-weight: bold;"&gt;you could wrap this into a shell script&lt;/span&gt; like this:&lt;br /&gt;&lt;br /&gt;        kfmclient newTab "$somedest"&lt;br /&gt;&lt;br /&gt;I haven't come up with any terrific uses for this yet, but it's promising.&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-4709535732559727203?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/4709535732559727203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=4709535732559727203' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/4709535732559727203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/4709535732559727203'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/04/controlling-kde-applications-from-shell.html' title='Controlling KDE applications from the shell'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-8790360698688483828</id><published>2007-04-19T15:45:00.000-06:00</published><updated>2007-04-19T16:02:03.966-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><title type='text'>Revisiting the CPAN initial configuration screen</title><content type='html'>Recently I made a fresh install of Debian Etch from a NetBoot disk and started installing CPAN modules before I realized the compiler tools - make, gcc, automake, autoconf and friends - are not part of the default NetBoot minimal install (Ok, so I wasn't thinking. That's why it's called minimal, after all.)&lt;br /&gt; Most of the CPAN packages would not compile, returning various make errors. I was stumped when they still would not make after installing make and the other tools, until I realized that CPAN was not able to find make in the PATH during it's initial configuration.&lt;br /&gt; The may be a faster way to do this, but I decided to run the initial configuration again to CPAN would pickup make.&lt;br /&gt;The way I found to do this is open CPAN:&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-family: arial;"&gt;perl -MCPAN -e shell&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and then type:&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-family: arial;"&gt;o conf init&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;to reconfigure.&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-8790360698688483828?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/8790360698688483828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=8790360698688483828' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/8790360698688483828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/8790360698688483828'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/04/revisiting-cpan-initial-configuration.html' title='Revisiting the CPAN initial configuration screen'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-4582720874916984855</id><published>2007-04-10T16:53:00.000-06:00</published><updated>2007-05-18T13:27:33.775-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>When a short sudo timeout drives you crazy . . .</title><content type='html'>I've recently discovered an easy configuration option for sudo to make the timeout a little longer.&lt;br /&gt;Just add the following line to your /etc/sudoers config file:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-family: lucida grande;"&gt;Defaults:your_username_here    timestamp_timeout=900&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(using your actual system username instead of "your_username_here")&lt;br /&gt;The number at the end is how many seconds you want sudo to wait before prompting for a password again.&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-4582720874916984855?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/4582720874916984855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=4582720874916984855' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/4582720874916984855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/4582720874916984855'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/04/when-short-sudo-timeout-drives-you.html' title='When a short sudo timeout drives you crazy . . .'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-4124851732163616941</id><published>2007-03-29T16:20:00.000-06:00</published><updated>2007-03-29T17:16:30.581-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Apple's Mac 10.4.9 Update breaks CPAN access to Fink when using sudo</title><content type='html'>The short story: as a new security measure, the latest version of sudo strips out various environment variables pertaining to perl. If you have been using an older version of sudo on any *NIX (certainly if you're using Mac OS X) your old version of sudo did not behave this way. This may change the behavior of any scripts you run with sudo.&lt;br /&gt;&lt;br /&gt;More explanation:&lt;br /&gt;&lt;br /&gt;Apple's &lt;a href="http://www.apple.com/support/downloads/macosx1049comboupdateppc.html"&gt;latest OS X update, Mac OS X 10.4.9 Combo Update&lt;/a&gt;, includes &lt;a href="http://docs.info.apple.com/article.html?artnum=305214"&gt;Security Update 2007-003&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you have installed either of these updates, you have a new version of sudo, which will prevent CPAN (and any other perl script you run as root via sudo) from accessing any libraries you have installed with Fink. For that matter, this would apply to any custom installations into non-default directories, such as /usr/local/, possibly projects other than Fink are affected including GnuDarwin - I don't use any of the others so I'm not sure.&lt;br /&gt;&lt;br /&gt;The real source of the problem (which will probably end up affecting users of many other operating systems and programs, not just Mac/Perl) is that &lt;a href="http://www.sudo.ws/sudo/current.html"&gt;the latest version of sudo&lt;/a&gt; has a new security check which  stripping out all environment variables except a few. Apparently older versions of sudo have been doing this for a while (perhaps always, I'm not sure) but &lt;a href="http://www.sudo.ws/sudo/alerts/perl_env.html"&gt;the latest change is that PERL5LIB, PERLLIB and PERL5OPT are now included amongst the variables that get stripped out&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I have my .profile loading the fink script that sets the PERL5LIB variable up for both my regular user and root (which is the way Fink is configured by default), but in spite of this (and even when I manually set PERL5LIB in .profile), my custom PERL5LIB does not get picked up when I run CPAN with sudo anymore.&lt;br /&gt;&lt;br /&gt;The solution I found, is to edit my sudoers config and add the following:&lt;br /&gt;&lt;br /&gt;   Defaults env_delete-="PERLLIB PERL5LIB PERL5OPT"&lt;br /&gt;&lt;br /&gt;Which "subtracts" those variable from sudo's list of vars to remove (this in effect "undoes" the latest security update with a configuration override. Consider carefully if you want to override it or not).&lt;br /&gt;&lt;br /&gt;I tried adding:&lt;br /&gt;&lt;br /&gt;   Defaults env_keep+="PERLLIB PERL5LIB PERL5OPT"&lt;br /&gt;&lt;br /&gt;( env_keep is in the sudoers manpage), but apparently env_keep doesn't work that way.&lt;br /&gt;&lt;br /&gt;I'm sure that overall, sanitizing the environment variables for sudo is a good thing, but the unexpected change sure threw me for a loop when things suddenly started breaking.&lt;br /&gt;&lt;br /&gt;This is a classic example of why you shouldn't install any updates of any kind, including security updates, on production servers, without first analyzing exactly what the update is going to change! :-)&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-4124851732163616941?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/4124851732163616941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=4124851732163616941' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/4124851732163616941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/4124851732163616941'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/03/apples-mac-1049-update-breaks-cpan.html' title='Apple&apos;s Mac 10.4.9 Update breaks CPAN access to Fink when using sudo'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-1479696850303523447</id><published>2007-03-23T11:39:00.000-06:00</published><updated>2007-03-23T11:49:47.187-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>KDE Konsole Usage Survey</title><content type='html'>Robert Knight (Konsole lead maintainer) has posted a useage survey concerning the Konsole application. To quote the survey:&lt;br /&gt;&lt;br /&gt;" The aim of this survey is to collect information about the needs of Konsole's current users, and how they use the software. This information will be used to design the facilities for setting up the terminal and saving / restoring the state of the terminal in KDE 4.&lt;br /&gt;&lt;br /&gt;This survey has 28 questions spread over 5 pages.  &lt;b&gt;All of the questions are optional&lt;/b&gt;.  Question number 28 allows you to provide any additional comments which you would like the developers to read. "&lt;br /&gt;&lt;br /&gt;So if you're KDE Linux user and you like the Konsole, why don't you &lt;a href="http://www.robertknight.me.uk/survey/public/survey.php?name=konsole_settings"&gt;&lt;span style="font-weight: bold;"&gt;head on over to the survey&lt;/span&gt;&lt;/a&gt; and help Robert out?&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-1479696850303523447?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.robertknight.me.uk/survey/public/survey.php?name=konsole_settings' title='KDE Konsole Usage Survey'/><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/1479696850303523447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=1479696850303523447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/1479696850303523447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/1479696850303523447'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/03/kde-konsole-usage-survey.html' title='KDE Konsole Usage Survey'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-8854474472212510269</id><published>2007-03-21T18:23:00.000-06:00</published><updated>2007-03-23T11:51:03.857-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>CPU reviews for the average Linux Desktop user</title><content type='html'>I had a look around the net trying to find some useful reviews comparing CPUs for the average Linux office-progam desktop user.&lt;br /&gt;&lt;br /&gt;There are a great deal of articles on the web reviewing CPUs, but they tend to have several problems.&lt;br /&gt;&lt;br /&gt;The worst problem by far is that most articles tend to compare the CPU being reviewed with either the last ones reviewed, or the last few previous releases of any given CPU (and it's competitor).&lt;br /&gt;&lt;br /&gt;Now in the 90's, that would have been ok, but nowadays there are new CPUs being released practically every month (if not more often), and there's also an incredible number of CPU families that are not usually compared to each other in a review.&lt;br /&gt;&lt;br /&gt;So, for example reviews that take the two very latest Intel and AMD DualCores and compre them to each other are pretty much worthless for a lot people - it's like comparing apples from different sides of the same tree (or off the same branch). How does the latest CoreDuo compare to last year's 64 bit Opteron? Best wishes on the hunt to find articles like that.&lt;br /&gt;&lt;br /&gt;Like many office users, I don't care how fast a CPU runs 3D programs, games and video/audio encoding.&lt;br /&gt;&lt;br /&gt;What runs KDE the fastest when you have all the standard office applications running (FireFox, OpenOffice, Kontact) and SpamAssassin starts sucking the life out of your box while Kontact checks for new mail?&lt;br /&gt;&lt;br /&gt;Yes, there are plenty of CPU reviews out there, but most of them do not tell me if the latest Dual-Core 64-bit Whoopie runs Kcalc, emacs or apache faster than my P4 2.8 Ghz. Most of them focus on gaming, 3D, floating point intensive Windows applications. I'm not interested in that.&lt;br /&gt;&lt;br /&gt;To my relief I found that Tom's Hardware does in fact have a database with the last few years worth of processors compared at &lt;a href="http://www23.tomshardware.com/cpu.html"&gt;http://www23.tomshardware.com/cpu.html&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Best of all, they let you pick what benchmark you want to use to compare the CPU, including some more "normal"  comparisons such as printing a 200 or 950 page MS office file to PDF, and even some multi-tasking benchmarks such as running PDF making while AVG Antivirus is scanning, or decompressing a file while photoshop is running.&lt;br /&gt;&lt;br /&gt;If anyone else knows of some good basic CPU reviews (not 3D, game and video oriented), please leave a comment - I'd love to hear about it.&lt;br /&gt;&lt;br /&gt;  - JW&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-8854474472212510269?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www23.tomshardware.com/cpu.html' title='CPU reviews for the average Linux Desktop user'/><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/8854474472212510269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=8854474472212510269' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/8854474472212510269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/8854474472212510269'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/03/cpu-reviews-for-average-linux-desktop.html' title='CPU reviews for the average Linux Desktop user'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-7610418931854559835</id><published>2007-03-06T17:39:00.000-06:00</published><updated>2007-03-07T18:12:41.817-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='administration'/><title type='text'>An Easy Linux-VServer Tutorial</title><content type='html'>At work we are always needing "one more computer .  . ." for endless tasks, tests, development environments, secure areas, workspace for "untrusted" personnel that does not give them access to the rest of our project areas - the list is endless.&lt;br /&gt;&lt;br /&gt;We've tried quite a lot of things over the years, including attempting to roll my own secure "jailed" system using SELinux on SuSE combined mini Debian install in a chrootjail (it didn't work :-) ).&lt;br /&gt;&lt;br /&gt;Other projects that deserve honorable mention include bochs, xen, various jails and restricted shell, VMWare, VirtualBox.&lt;br /&gt;&lt;br /&gt;Recently I've come across "Linux-VServer", which gave me a refreshing surprise: it is easy to install and use, resonably secure, and certainly self-contained.&lt;br /&gt;&lt;br /&gt;I found a pretty good, brief article describing how to setup Linux_VServer under Debian Etch, but it left out a few important details (like how to get ssh access to your new install!), so I  wrote a "helper" article describing in more detail the steps for a quick, easy install.&lt;br /&gt;&lt;br /&gt;If you are interested you can read my article here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cedarcreeksoftware.com/articles/general/an-even-easier-linux-vserver-tutorial.html"&gt;http://www.cedarcreeksoftware.com/articles/general/an-even-easier-linux-vserver-tutorial.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-7610418931854559835?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.cedarcreeksoftware.com/articles/general/an-even-easier-linux-vserver-tutorial.html' title='An Easy Linux-VServer Tutorial'/><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/7610418931854559835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=7610418931854559835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/7610418931854559835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/7610418931854559835'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/03/easy-linux-vserver-tutorial.html' title='An Easy Linux-VServer Tutorial'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-7093027140444809847</id><published>2007-02-28T16:08:00.000-06:00</published><updated>2007-03-07T18:24:37.486-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Helpful SuSE documentation and download sites</title><content type='html'>Here's a collection of sites I've found useful for information on SuSE (trust me, not all the sites out there actually provide useful information :-) )&lt;br /&gt;&lt;br /&gt;Documentation and Info:&lt;br /&gt;&lt;br /&gt;* &lt;a href="http://susewiki.org/index.php?title=Main_Page"&gt;http://susewiki.org/index.php?title=Main_Page&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://opensuse-community.org/Welcome_to_openSUSE-Community.org"&gt;http://opensuse-community.org/&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://en.opensuse.org/Welcome_to_openSUSE.org"&gt;http://en.opensuse.org/Welcome_to_openSUSE.org&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://susewiki.apanela.com/"&gt;http://susewiki.apanela.com/&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://susefaq.sourceforge.net/"&gt;http://susefaq.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Blogs on SuSE: &lt;a href="http://www.planetsuse.org/"&gt;http://www.planetsuse.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Good Third-Party packages:&lt;br /&gt;&lt;br /&gt;[I strongly suggest you use the SMART package manager, or at least YaST repositories or apt. You won't be disappointed, they are all easy to use after a minimal amount of configuration]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Guru's RPMs &lt;a href="http://linux01.gwdg.de/%7Epbleser/"&gt;http://linux01.gwdg.de/~pbleser/&lt;/a&gt;&lt;br /&gt;* Packman's RPMs &lt;a href="http://packman.links2linux.org/"&gt;http://packman.links2linux.org/&lt;/a&gt;&lt;br /&gt;* James Ogley's &lt;a href="http://www.usr-local-bin.org/rpms/"&gt;http://www.usr-local-bin.org/rpms/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-7093027140444809847?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/7093027140444809847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=7093027140444809847' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/7093027140444809847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/7093027140444809847'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/02/helpful-suse-documentation-and-download.html' title='Helpful SuSE documentation and download sites'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-8098810734368639053</id><published>2007-02-23T10:15:00.000-06:00</published><updated>2007-03-23T11:51:47.045-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='browsing'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Firebug Firefox Extension - tweak any web page</title><content type='html'>Earlier this week someone directed me to a FireFox extention called "FireBug" - possibly the most interesting tool for web developers I've ever come across.&lt;br /&gt;&lt;br /&gt;It allows you to open a console for any page you are browsing (not just on your own server- if it loads in your browser, you can work with it) and view and change the code in a very convenient manner - to me it is much easier than the typical "view source" method. Want to know what your favorite site would look like with a black background? Find your bgcolor tag and modify the color - presto, you have a black background.&lt;br /&gt;&lt;br /&gt;FireBug provides a host of other features too, though.&lt;br /&gt;&lt;br /&gt;One really useful feature is a graph that shows where HTML and CSS layout controls are trying to place each object, showing a small boxed example with rulers and guides. Great for finding out why things aren't lining up correctly.&lt;br /&gt;&lt;br /&gt;Another really slick feature is the "network monitor" that shows how long it takes each element to load - perfect for finding out why some pages take a mysteriously long time to load.&lt;br /&gt;&lt;br /&gt;Also worth mentioning is the error console and logging, including JavaScript errors.&lt;br /&gt;&lt;br /&gt;Quick Install:&lt;br /&gt;&lt;a href="http://releases.mozilla.org/pub/mozilla.org/extensions/firebug/firebug-1.01-fx+fl.xpi"&gt;http://releases.mozilla.org/pub/mozilla.org/extensions/firebug/firebug-1.01-fx+fl.xpi&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If the install link doesn't exist by the time you read this page, head over to the project's page on the FireFox Extensions site:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://addons.mozilla.org/firefox/1843/"&gt;https://addons.mozilla.org/firefox/1843/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Project home page: &lt;a href="http://www.getfirebug.com/"&gt;http://www.getfirebug.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-8098810734368639053?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://addons.mozilla.org/firefox/1843/' title='Firebug Firefox Extension - tweak any web page'/><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/8098810734368639053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=8098810734368639053' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/8098810734368639053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/8098810734368639053'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/02/firebug-firefox-extention-tweak-any-web.html' title='Firebug Firefox Extension - tweak any web page'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-1005401113870909927</id><published>2007-02-16T11:00:00.000-06:00</published><updated>2007-03-06T12:58:41.148-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='browsing'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Blocking web banner advertisements</title><content type='html'>A great deal of web sites I use to look up technical information run way too many banner ads. I know they provide some revenue, for the company, but the thing is, I /never/, ever click on those banners. So they won't be getting any click-counts from me.&lt;br /&gt;&lt;br /&gt;In the mean time, they are annoying, sometimes distracting, and often ugly. I've also had badly designed Flash banners crash my browser.&lt;br /&gt;&lt;br /&gt;My workstation runs SuSE Linux, and Firefox is my browser of choice for browsing the wide web. adBlock Plus is great tool for doing away with the banners in Firefox.&lt;br /&gt;&lt;br /&gt;Here's some quick install links if you are running any version of Firefox or Mozilla-Seamonkey:&lt;br /&gt;&lt;br /&gt;Install adBlock XPI: &lt;a href="http://releases.mozilla.org/pub/mozilla.org/extensions/adblock_plus/adblock_plus-0.7.2.4-fx+fl+zm+tb.xpi"&gt;http://releases.mozilla.org/pub/mozilla.org/extensions/adblock_plus/adblock_plus-0.7.2.4-fx+fl+zm+tb.xpi&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Install primary filtersets after installing adBlock:&lt;br /&gt;&lt;a href="abp://subscribe/?location=http%3A%2F%2Feasylist.adblockplus.org%2Fadblock_rick752.txt&amp;title=EasyList"&gt;abp://subscribe/?location=http%3A%2F%2Feasylist.adblockplus.org%2Fadblock_rick752.txt&amp;amp;title=EasyList&lt;/a&gt;&lt;br /&gt;&lt;a href="abp://subscribe/?location=http%3A%2F%2Feasylist.adblockplus.org%2Feasylist-element_rick752.txt&amp;title=EasyElement"&gt;abp://subscribe/?location=http%3A%2F%2Feasylist.adblockplus.org%2Feasylist-element_rick752.txt&amp;amp;title=EasyElement&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm sure those links will break when a new version is released, so here's the project homepage:&lt;br /&gt;&lt;a href="http://adblockplus.org/en/"&gt;http://adblockplus.org/en/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The install page at Mozilla's Extentions directory:&lt;br /&gt;&lt;a href="https://addons.mozilla.org/firefox/1865/"&gt;https://addons.mozilla.org/firefox/1865/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And the list of filtersets to subscribe to:&lt;br /&gt;&lt;a href="http://adblockplus.org/en/subscriptions"&gt;http://adblockplus.org/en/subscriptions&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-1005401113870909927?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://adblockplus.org/en/' title='Blocking web banner advertisements'/><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/1005401113870909927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=1005401113870909927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/1005401113870909927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/1005401113870909927'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/02/blocking-advertisements.html' title='Blocking web banner advertisements'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3586253933279535118.post-5253641085535092763</id><published>2007-02-15T21:20:00.000-06:00</published><updated>2007-03-23T11:52:36.540-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><title type='text'>Intro</title><content type='html'>I'm a system administrator for a small Central Texas IT Company, &lt;a href="http://www.cedarcreeksoftware.com/"&gt;Cedar Creek Software&lt;/a&gt;. We specialize in custom programming projects, usually involving relational database programming for website backend engines.&lt;br /&gt;&lt;br /&gt;I am also a technical consultant for a variety of businesses and organizations, including my father-in-law's stained glass studio, &lt;a href="http://www.stantonglassstudio.com/"&gt;Stanton Glass Studio&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I specialize in small LAN and heterogeneous network administration, mostly using Linux and Mac OS X.&lt;div class="blogger-post-footer"&gt;www.cedarcreeksoftware.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3586253933279535118-5253641085535092763?l=jwadmin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jwadmin.blogspot.com/feeds/5253641085535092763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3586253933279535118&amp;postID=5253641085535092763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/5253641085535092763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3586253933279535118/posts/default/5253641085535092763'/><link rel='alternate' type='text/html' href='http://jwadmin.blogspot.com/2007/02/intro.html' title='Intro'/><author><name>JW</name><uri>http://www.blogger.com/profile/01655215067246973652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
