first hugo commit

This commit is contained in:
Don Harper 2019-05-26 18:26:26 -05:00
parent dabdd68df3
commit 0e4f2a913d
1459 changed files with 50871 additions and 0 deletions

View file

@ -0,0 +1,56 @@
+++
date = "2009-01-12T17:01:00-07:00"
title = "C*MUS - A music manager for the terminal"
slug = "cmus-a-music-manager-for-the-terminal"
+++
C\*MUS - A music manager for the terminal
=========================================
[C\*mus](http://cmus.sf.net/) is an advanced music juke-box for \*inx
and Window operating systems. It can handle the modern audio file
formats: FLAC, Ogg/Vorbis, MP3 , Wav, AAC , MP4, .mod, .s3m, .mpc, mpp,
.mp+, .wma, and .wv . It also can deal with many different types of
audio output systems: ALSA, libao, ARTS, OSS, Sun, and WaveOut on
Windows. The typical features of an electronic juke-box are supported
like play lists and random/shuffle play, in addition to easily switching
between playing from the library, an artist, or a single album with a
simple keystroke.
C\*Mus is pretty painless to install from source. The website lists the
build dependencies with links.
En-queuing
----------
One of the features I really enjoy and use is the en-queue function. I
tend to use this two ways. The first is when I am listening to a song,
and want to listen to similar songs, I go find them in my library, and I
queue them up with a simple keystroke. A dynamic play-list, if you will.
Then, I can simply create a more permanent playlist from this temporary
list.
The second way is using the helper program cmus-remote to be able to
queue up tracks from a different terminal, or from a script. My
podcatcher program (bashpodder) will queue up the podcasts it just
downloaded for me, so I can listen to them first thing in the morning.
Keystroke and CLI
-----------------
C*Mus is developed to be driven via keystrokes. The default mapping is
set up to be comfortable for those use are familiar with VI but, it is
very easy to remap the keys to make it more comfortable. C*Mus will
automatically save the current settings on a clean exit. The default
mappings for selecting and updating views, moving through songs forward
and backwards in small and large increments, adding to play list and
queue lists.
Filters
-------
One of the very powerful features is simple filters. You can set a
filter for your 80's Metal Bands or your Classical music. Many of the
common tags can be used for filter on. Things like filename, artist,
album, title, genre, discnumber, tracknumber, date (year), duration
(seconds), and tag.

View file

@ -0,0 +1,66 @@
+++
date = "2009-04-17T18:04:00-07:00"
title = "wifiroamd, Intel PRO/Wireless 3945ABG, and Fedora"
slug = "wifiroamd-intel-prowireless-3945abg-and-fedora"
+++
wifiroamd, Intel PRO/Wireless 3945ABG, and Fedora
=================================================
One of the things that has annoyed me about Fedora has been the decision
to switch over to using
[NetworkManager](http://www.gnome.org/projects/NetworkManager/) to
manage all network connections.
Now, on the service this has a lot of advantages. A lot of work has gone
into it, and it just works for a vast majority of the installations out
there. They have made it so the move from wired to wireless and back can
be done without the user doing anything. They have also seamlessly tied
in Dial-Up Networking if you still need a modem or use a wireless modem.
They even have two-click access to your VPN which is pretty cool.
All these are things which are very good for Linux users. The biggest
drawback to all this? The need for a user-space program to manage the
non-hardwired connections. Which means that in order to be able to have
any network running besides the good old twisted-pair copper, you have
to have a little applet running as you, and it has to have a systray
somewhere to display. Which means you have to be a) logged into the
system and b) you have to be running a window manager which supports
having a system tray. Now, Fedora gives you lots of choices for the
second part now days. You have [Gnome](http://www.gnome.org),
[KDE](http://www.kde.org), [XFCE](http://www.xfce.org), and
[LXDE](http://lxde.sf.net). All are perfectly usable window managers.
But, they still require you to be logged in to X. And, [I do not use any
of them](links://slug/window-managers/).
So, what is a cli-loving Fedora user to do? Well, there is this great
program called
[wifiroamd](http://www.tummy.com/Community/software/wifiroamd/). It will
handle the same basic tasks that NetworkManager handles. It will
automatically configure your wifi interface and connect to the wifi
networks or the locate hardwired NIC if it cannot. You can configure it
to run scripts per connection, so for example, you can change your
firewall rules for different networks (shields down at home or the
office, but up full at the coffee house), or you could bring up your VPN
connection when you start using a given wireless network.
One tip I picked up from the author was that if you have multiple AP's
in range, an you want to select once AP over the other, is under the
*/etc/wifiroamd/connections* directory, simply link the AP info you do
not want to the one you want:
ln essid:my_home_ap essid:bad_ap
where **essid:my\_home\_ap** is your AP with the keys and other
information you want, and **essid:bad\_ap** is the one you do not want
to connect to. My neighbors have some very powerful AP's which have a
habit of showing up high than mine, but I have no problem with them now.
I have been using this set up under Fedora since FC6 days, but when I
upgraded to F10, this stopped working. wifiroamd would try to scan for
an AP, and not find anything. The change, it turns out, is that when I
switched from using the iw3945 driver to the native iwl3945, wifiroamd
could no longer see the wireless NIC due to the wpa\_supplicant process,
but NetworkManager could. Simply stopping and disabling wp\_supplicant
and NetworkManager, and wifiroamd started working again! I am a happy
camper again.

View file

@ -0,0 +1,114 @@
+++
date = "2009-05-25T18:05:00-07:00"
title = "Search your email!"
slug = "200905search-your-email"
+++
Search your email!
==================
One of the features that most of the pretty GUI mailers offer you is the
ability to search your email. While this is not a feature I use
regularly, it is one which when you need it, you really need it. I have
used [grepmail](http://grepmail.sf.net) in the past, but it slow for me
(it scans the mail files every time) and the big thing for me is that is
only supports [mbox](http://en.wikipedia.org/wiki/Mbox) files, and I use
[maildir](http://en.wikipedia.org/wiki/Maildir) since I use
[offlineimap](http://software.complete.org/software/projects/show/offlineimap).
I recently found [mairix](http://www.rpcurnow.force9.co.uk/mairix/).
While I have not been using it long, so far I am very impressed with it.
It uses an index to speed up the search process, and it smartly adds
only new or changed files to the index. The first indexing run was only
a few seconds on my archive of almost 15,000 mail messages. I have it
scheduled to update the index every 15 minutes, and I never notice the
load this will put on the system.
To integrated mairix with mutt, I wrote a quick little script to search
from within (or without) mutt:
#!/bin/bash
#===============================================================================
#
# FILE: mailsearch.sh
#
# USAGE: ./mailsearch.sh
#
# DESCRIPTION: search mail stuff
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Don Harper (), duck@duckland.org
# COMPANY: Don Harper
# VERSION: 1.0
# CREATED: 05/25/2009 07:03:30 PM CST
# REVISION: ---
#===============================================================================
rm -rf $HOME/Maildir/mfolder
echo " t::word
Match word in the To: header.
c::word
Match word in the Cc: header.
f::word
Match word in the From: header.
s::word
Match word in the Subject: header.
m::word
Match word in the Message-ID: header.
b::word
Match word in the message body.
d::[start-datespec]--[end-datespec]
Match messages with Date: headers lying in the specific range.
z::[low-size]--[high-size]
Match messages whose size lies in the specified range.
n::word
Match word occurring as the name of an attachment in the mes-
sage. Since attachment names are usually long, this option
F::flags
Match messages with particular flag settings.
s meaning seen,
r meaning replied
f meaning flags
prefixed by a - to negate its sense.
The a:: search pattern is an abbreviation for tcf:
Match words
The word argument to the search strings can take various forms.
~word
Match messages not containing the word.
word1,word2
This matches if both the words are matched in the specified message part.
word1/word2
This matches if either of the words are matched in the specified message part.
substring=
Match any word containing substring as a substring
substring=N
Match any word containing substring, allowing up to N errors in
the match. For example, if N is 1, a single error is allowed,
where an error can be
* a missing letter
* an extra letter
* a different letter.
^substring=
Match any word containing substring as a substring, with the
requirement that substring occurs at the beginning of the
matched word.
d::start-end
Specify both start and end explicitly
"
echo -n "Enter your search string: "
read string
mairix $string
mutt -f=mfolder
rm -rf $HOME/Maildir/mfolder
Then, I bound this to "S\'' from within mutt:
macro index,pager S "!mailsearch\n"
This will give me a reminder of the search command, run the search, and
then give me the search results in a new mutt session.

View file

@ -0,0 +1,49 @@
+++
date = "2009-12-28T17:12:00-07:00"
title = "Making life easy over flaky links"
slug = "200912making-life-easy-over-flaky-links"
+++
Making life easy over flaky links
=================================
I tend to work over VPN, which we know can be flaky at times, Since I
work on server, I spend a lot of time ssh'ed into hosts. I was getting
tired of the lost time having to restart what I was working on every
time the VPN dropped (which could be as much as every 15 minutes on a
bad day). While I already used screen to handle the lack of terminals
(Alas, I am forced to use a Windows laptop to VPN in with), I thought
there could be an easier way to do this.
The way I tend to work is that I ssh into a jump server, fire up screen,
then ssh into the hosts I need to work on, and fire up screen on those
hosts.
Now, this is nice, but it can get a bit tiring to do it all over again.
So, I found a tool called [autossh](http://www.harding.motd.ca/autossh/)
which will automatically restart your ssh session if it drops for any
reason but a graceful disconnect. (Well, there are others, but this is
basically it). Combine this with your ssh-agent, and you can re-attach
with easy. I also use [keychain](http://www.funtoo.org/Keychain) to help
manage my ssh-agent when I log in.
Now that the connection will come back, I need a way to re-attach to my
screen session, or if there is not one, to start one for me. To do\
that, I have this is my .bashrc file:
test -x $STY && screen -xR
This will check to make sure that we are not already inside a screen
session on the local host (*test -x \$STY*), and if we are not, then
either attach to an existing screen session or start a new one (*screen
-xR*)
I have define this function in my .bashrc to spawn a new ssh connection
in a separate screen window:
function ss ()
{
screen -t $1 ssh $*
}
Easy stuff