Whatever you do will be insignificant, but it is very important that you do it.
- Mahatma Gandhi

Tuesday, October 25, 2011

Beginning Fly Tying

A while back, I stopped by the local fly shop and bought myself some materials so that I could experiment with tying my own flies.  It's something that I've been wanting to do for a long time, but haven't gotten around to it.  My father-in-law had a spare vise and some tools that he is letting me use, so I figured it was time to get down to business.  For my first flies, I decided to do a "Wooly Bugger", since I had heard that they were very simple to tie.  I bought some Black Marabou, and some black feathers.  They weren't the nicest feathers for tying this particular fly, but they were much cheaper, and I figured it wouldn't hurt to learn on some cheaper materials.  I also got some hooks and several different colors of chenille.  One thing that I found interesting is how many variations you could tie of the same fly with very small changes in the materials.  With the few materials I got, I was able to tie several of the variations that they had at the fly shop, and also create a few of my own.  Even though my flies didn't look nearly as neat as some of the ones in the store, I think they looked acceptable, especially for a first time.  It was very satisfying to spend some time creating something.  It was nice to be able to have something to show for a little bit of work.  I'm very excited to take some of these flies out to a reservoir or stream, and at least show the trout what I've been up to, and hopefully they're interested in a bite. 

JS Fiddle

I found a pretty neat site a while ago, and I thought I would write to share it.  It's called JS Fiddle.  http://jsfiddle.net/  Part of my job for the last several years has involved a lot of web programming, and web programming has gradually grown to include more and more javascript.  If you have ever programmed in javascript, you know it can be a frustrating and time consuming proposition.  I'm always looking for things that can make me more productive and less frustrated when I have to write JavaScript.
JS Fiddle doesn't necessarily make it easier to code in JavaScript, but it does make it very convenient to test small examples and figure out what you really want to do before you do it on a larger scale.  It has a portion of the screen dedicated to HTML, CSS, JavaScript, and one to output.  You can make all the changes that you want to the source sections, and then render it in the output section.  It's wonderful!  On top of that, it allows you to pick certain JavaScript libraries like jQuery and some others.  You can even choose certain versions of your JavaScript libraries.  This is wonderful for testing and learning.  I strongly encourage you to take a look and give it a try.

Monday, July 26, 2010

LDAP Authentication in Apache2 on Ubuntu

Today I needed to help a co-worker setup a development server that mirrored the setup of our production server as close as possible.  Our production server is Red Hat based, and the laptops that we use for development are running Ubuntu, for the most part.  On Red Hat, I custom compiled the apache installation so that we could get things exactly how we wanted them.  On Ubuntu, I wanted to just use the default apache installation, but needed to get the LDAP authentication working for the .htaccess files.  After much looking through synaptic, and browsing the internet, I stumbled upon something that pointed me in the direction of using a2enmod.  After issuing the following command:
sudo a2enmod authnz_ldap
and restarting the server, my authentication began to work perfectly.  I was very happy to find this, and I think it's a great method of enabling optional modules for certain tools.

Wednesday, February 03, 2010

Podcasts

Over the past year or so, several people have asked me what I listen to.  When I tell them "podcasts", some of them are a bit confused, so I thought that I would take a few minutes and enumerate some of the specifics of what I actually have on my iPod.  If you need the generic idea of what a podcast is, think of an audio blog, or go to wikipedia (I'm sure there's a great article).
The first big category of podcasts that I listen to is sports.  I have several, most of them coming from ESPN.

PTI and Around the Horn are just audio versions of the television shows.  If I had to choose one, I would go with PTI.  It seems more entertaining, and they tend to cover more topics.  Football Today and Fantasy Football are fun when my fantasy football team is playing.  The Fantasy Football podcast kind of has the feel of a bunch of buddies sitting around and talking about football.

The next category is tech related podcasts.

Buzz Out Loud and TWIT are similar.  TWIT is much longer, and in my opinion has the better staff.  I am probably partial to TWIT because the members are mostly people who I used to watch on TechTV.  I, Cringely is just a reading of the article of the same name.  Nice and short.  net@night is a kind of look around the web.  It's fun if you're interested in finding a fun new site or service.  FLOSS Weekly is one of my favorites.  They have many prominent open source contributors and advocates to explain their positions, or how their projects are impacting people's lives.


Then I listen to some "general information" podcasts:
Stuff You Should Know takes a single topic and expands on it.  It gives you a lot of interesting details on the topic, along with enjoyable banter.  Stuff You Missed In History Class is another of my favorites.  They take a historical person or event and go over it.  I've enjoyed it because apparently my education was a bit lighter on history than I once thought that it was.  Brain Stuff is one of my least favorite, but it still makes my list.  It seems a bit light, but it's also very short.  Basically, it's a bunch of 3-4 minute explanations of topics.  Unfortunately, it's covered many things that I knew absolutely nothing about, so it has been kind of helpful.  Grammar Girl is a wonderful podcast about the proper usage of the English language.  Although it sounds pretty dry, it's actually a fun, upbeat podcast that has lots of good information.  Mighty Mommy has parenting tips, which I can always use.  I don't agree with everything she says, but it's always nice to have something to think about.  Dealista is a podcast about couponing and saving money, and the get it done guy targets productivity.

Then I listen to a few political / historical podcasts.

This has become probably my very favorite category.  It contains a few podcasts that I eagerly wait to download.  Unfortunately, it also has some of the most infrequently released ones.  Common Sense and Hardcore History are both done by a guy named Dan Carlin.  I enjoy him because he seems to do a fair job of covering both sides of issues, or at least being fairly non-partisan for most things.  Common Sense is his views on politics, and Hardcore History is a collection of incredibly well done treatises on historical topics.  Stuff you missed in history class was covered above, but is included here since it also applies to the category.  My History Can Beat Up Your Politics has recently become another of my favorites.  He goes into historical topics, and tries to compare them in many cases to situations that we are going through in the present day.  Again, he seems fairly non-partisan and is very enjoyable to listen to.

I also listen to a few fishing podcasts, since I get more time to listen than to fish.

Fly Fishing Weekly is a show that feels like a couple of buddies getting together to talk fly fishing.  They have a nice format and it flows well.  Fish Schtick is put together by the owners of Recycled Fish and Moldy Chum, if I remember correctly.  It focuses a little bit more on conservation and how it affects the fisheries.  It has very good production quality.  The Orvis Fly Fishing Podcast is a very thorough explanation of a fly fishing topic.  It's the type of show that would be great to have on your ipod when you were out camping and getting ready to go fishing, and wanted to brush up on some techniques.  Ask About Fly Fishing is an interview type show where they interview famous fisherman.  It's always good, and the interviews are wonderful, but the sound quality leaves a lot to be desired.  Adventures in Fly Fishing and Fly Tying are done by the same people.  The Fly Tying show is a video presentation on how to tie a specific fly.  It's very well done, but also very targeted, and so does not have a very wide appeal.
I have a little "fun".

The Dilbert videos are short little 30 second clips that are funny, but seem to be repeating quite regularly.  Wait Wait is a game show where they bring on famous people to play a "news quiz" type game.  Also, they have several panelists which consist of some very good comedians and guests.

And some food.

I listened to Munchcast for a long time, and then it went off the air.  Shortly after it went off the air, it received some podcasting awards.  Soon after that, it reappeared.  Funny how an award will do that to people.  This is another show on the TWIT network.  It's very well done.  They take a food topic and approach it from all angles.  It's very light and humorous.  They cover lots of things that you don't think about, so you learn a lot from it.

I'm always looking for the next big thing to add to my podcast listening on my ipod, so if somebody thinks that they have something I should add to my list, please let me know.

Wednesday, January 27, 2010

Compiling New GCC on Old RHEL 4

We're trying to run some new software that requires a fairly new version (4.4.2) of the gcc compiler, but we're on RHEL4. Solution? Compiling it myself. Usually, this isn't too much of a problem. Today I ran into a few snags. I thought I would post this quick and dirty solution to the problem in hopes of making it a little easier for somebody else if they ran into the same issue.
First, the new version of gcc requires mpfr and gmp. I had those installed from some previous work, so I pointed to them with the --with-gmp= and --with-mpfr= configure options. Configure seemed to work OK, but then it would bomb during the make with an error:
checking for suffix of object files... configure: error: in `/$HOME/gcc-4.4.2/i686-pc-linux-gnu/libgcc':
I was dumbfounded. After some looking, and several articles that appeared to be talking about something totally different, I decided to experiment with LD_LIBRARY_PATH, my old friend / nemesis. It seems that if I set LD_LIBRARY_PATH to the lib directories where I installed gmp and mpfr, the make works fine. For some reason, it wasn't enough to pass them as arguments to configure. Happily, this solved my problems. Go (con)figure!

Wednesday, January 13, 2010

Installing Firefox 3.5 in Red Hat Enterprise Linux 4

I've been struggling with this problem for quite a while now. Every time I decide it's time to do it, there's just enough pain and other things to make me decide to turn back. Today, it was time to plow through it and get things working. One of the things that made me decide is that I found rpm files for firefox 3.0, and I figured it couldn't be too much different.

To install the firefox 3.0 rpm, I needed the following rpms to be installed:

rpm -Uvh evolution28-glib2-2.12.3-6.el4.i386.rpm
rpm -Uvh evolution28-atk-1.12.2-4.el4.i386.rpm
rpm -Uvh evolution28-cairo-1.2.4-6.el4.i386.rpm
rpm -e seamonkey-nss
rpm -e seamonkey-nspr
rpm -Uvh nspr-4.7.3-1.el4.i386.rpm
rpm -Uvh nss-3.12.2.0-4.el4.centos.i386.rpm
rpm -Uvh evolution28-pango-1.14.9-7.el4.i386.rpm
rpm -Uvh evolution28-gtk2-2.10.4-25.el4.i386.rpm
rpm -Uvh firefox-3.0.7-3.el4.centos.i386.rpm

The first thing I found was that I needed to explicitly set my LD_LIBRARY PATH.

setenv LD_LIBRARY_PATH /usr/evolution28/lib:$LD_LIBRARY_PATH

Then, it was still giving me errors about some libdbus libraries, but it was just the wrong version. I tried an old trick, making soft links with the new names to the old libraries. For a moment, I thought I had won. However, after running once, if you shut down firefox, it will not start on subsequent invocations.
To get past this, I decided to install my own dbus library. I wanted to install it somewhere inconsequential, so that it would not interfere with any other tools.
I downloaded dbus-1.2.16.tar.gz, then extracted it.

./configure --prefix=/path/to/dbus/
make
make install
setenv LD_LIBRARY_PATH /path/to/dbus/:$LD_LIBRARY_PATH


This seems to have tamed the beast which is firefox 3.5 on Red Hat Enterprise 4 (RHEL4).
I will try to keep this post updated if I find other requirements.

Tuesday, December 01, 2009

Listing the files of an installed rpm package

Today I was working with some packages at work that needed some updated python bindings in order to work.  It was getting some old libraries that were apparently first in the path, so I needed to get rid of the old stuff.
rpm --query --filesbypkg subversion
This listed all the files that the subversion rpm had installed.  This ended up being very useful.
Hopefully this helps somebody else when tracking down a file.

Tuesday, November 03, 2009

Software Bugs Abound

I just reloaded my work laptop with Ubuntu 9.10.  For the most part, I love it.  It's done well on most everything I've thrown at it.  However, this afternoon I ran into a few issues.  As usual, the problems came fast and furious while I was trying to get some important things done.  The first issue I had was with the vpnc Network Manager integration.  After installing and inputting my information, it began giving me an error about missing some keys.  After a little bit of research on the web, (more than I wanted to do when I was trying to hit a deadline), I discovered that a few people had their problems resolved after a reboot.  I gave it a shot, and it works great.  Then, I needed to check my email on a vmware server 2 installation at work, so I put the address into the bar and....Nothing.  After several tries, I noticed a ton of errors in the error console.  Some more unwanted searching resulted in finding out the VMWare Server 2 doesn't support Firefox 3.5, or at least didn't in the version of VMWare Server that I was running.  More updates.  When it rains, it pours.  Hopefully I can get things figured out so that I can get down to business.

Monday, August 31, 2009

Internet Explorer Javascript Bug using Subscripts

While working on a project for somebody at work, we found a situation in which some script was working perfectly in all browsers, but was crashing in Internet Explorer 6.0. It turned out that if you use subscripts to access characters from a string, it gives an error. You have to do string.charAt(0) instead of string[0]. Just thought it would be something nice to note, if you ever have problems with that.

Thursday, August 06, 2009

Configuring Subversion with Apache

For work, I've been tasked with creating a subversion server that uses apache for an access layer and for authentication. To get this working, I decided to compile both subversion and apache from source. This allowed me to get the latest versions of both tools, and to be able to specify portions that I wanted either included or excluded.
The first thing that I did is to compile apache. I used the configure line:
./configure --prefix=/opt/httpd --enable-mods-shared="all"
The make; make install;
Then I configured subversion with the following options:
./configure --prefix=/opt/svn --with-ssl --with-apxs=/opt/httpd/bin/apxs --with-apr=/opt/httpd --with-apr-util=/opt/httpd
Then make; make install;
One problem I ran into was that initially I didn't have the apr-util portion added, and it didn't seem to work. I'm not 100% sure that it ended up being the problem, but it shouldn't hurt.
After that, I created a repository using svnadmin create and then added the location to the httpd.conf. Then I tried to access it over the http using a browser. It seemed to not work. I found on the web that many people had apr mismatches and things like that, but I ruled that out after some searching. Then I realized that the problem was possibly a permissions issue, so I changed the permissions on the repository. I tried again and things were still not working. Finally, I found a resource on the web that indicated that you might need to check permissions on directories above the repository. In this case, I had created the repository as root on /root, and I had to change the permissions of /root to allow apache to access it. Everything seems to be working now. Hopefully anybody else who is trying to make a setup like this will benefit from this information.

Thursday, July 23, 2009

Interesting Advice on Money Management

Found an interesting article today, which was linked off of lifehacker.
http://www.fivecentnickel.com/2009/07/22/save-money-by-questioning-your-purchases/
Sounds like a great idea that lots of us could benefit from. I know that I've certainly made purchases that within a few days I was wishing that I could have back. Anyway, I think this is a great idea that I'm going to try to implement in my life, and I hope it helps others as well.

Thursday, July 09, 2009

Renaming a Tool Suite

At work, we're generating a "next generation" set of tools. We wanted to create a new name to help differentiate the new tools from the old tools, but we also wanted to start with the same code base as the old tools. To accomplish this, we needed to change all references to the old name into the new name. To do this, I used the following commands:
This one finds the actual files and directories with the "Old" names and changes them:
for f in `find | grep Old`; do export A=`echo $f | sed 's:Old:New:g'`; mv $f $A; done;

The short explanation of this command is that it finds all files with Old in the filename, then determines what the filename would be replacing Old with New, and then moves the file. This may have to be run several times, since the parent directories may be renamed before the child directories are reached.

Then we had to replace all references to the Old tool name in the actual files:
find -exec sed -i "s:Old:New:g" {} \;

This just finds all files in your directory, and uses sed to do an "in place" substitution of Old with New.
Hope this is helpful to somebody!

Tuesday, May 19, 2009

Skunked!

I finally got out fishing for the first time this year. For my destination, I chose McTucker Ponds, which is close to the northeast end of American Falls Reservoir. It was a surprisingly quick tritp and didn't take near as long to get there as I thought it would. When I first got there, I followed a sign that said Boat Ramp. This took me to several spots along the river, but nothing that I would classify as a pond. I threw some spinners and salmon eggs in but wasn't getting much action. I was planning on doing some shore fishing, so I didn't bring my waders or pontoon boat, and it made it very difficult to get to the spots on the river where I thought any fish would be. Finally, I decided that I had to have missed something, so I went back to the entrance ey wand went straight instead of turning at the Boat Ramp sign. This yielded a much friendlier looking location. There
were a series of small ponds. Each one had a dock or two and you could drive to about anywhere you wanted near them. I fished 3 or 4 of the ponds for a while. I tried spinners, some worms, more salmon eggs, and some lures that I got at Sportsman's Warehouse while they were closing, but I had no luck. It didn't help that the wind was blowing quite hard, which made it hard to make some of the casts that I wanted to make. I didn't stay for a very long time, but it was nice to get out again.
Today, I was feeling the urge to give it another shot, however, I didn't feel like heading out for another guarantted skunking, so I did what many books that I have read said to do and called Fish and Game. A very nice lady told me that there had been a fish kill and they had not stocked the ponds yet. I was very happy to learn that it wasn't strictly my fishing skills that left my cooler empty, but sad that my anticipated trip was cancelled. Oh well, I will just have to keep in contact with Fish and Game and see if I can get a head's up when there's actually a fish or two in the ponds.

Friday, April 24, 2009

openSuse 11.1 vs Ubuntu 9.04

Recently, there were a couple of new Linux distribution releases that have been causing quite a bit of buzz around my workplace. Many of us have become fans of Ubuntu, but have used Suse for quite a while, so we like to stay informed of where each of the distributions is currently at. I installed Ubuntu 9.04 on my laptop, and had the opportunity to install openSuse 11.1 on an identical laptop for a co-worker. This gives me a moment to briefly compare a few of the things I found in the very short time that I had with the Suse box.
The first thing that I didn't like with Suse is that the wireless card, which in this case was a broadcom card, didn't auto-install. I had to search the internet, and finally found some pages that referred to running the following scripts:
/usr/sbin/install_bcm43xx_firmware
/etc/init.d/network restart
After these scripts, the wireless worked as expected. I found it kind of sad that I needed to connect to the internet and do some searching when the scripts were already with the installation. I wish it would detect that I had that type of card, and offer to run them for me. I liked Ubuntu much better, as it seemed to handle this in a fashion that would be easier for a new user to get running.

Also, openSuse seemed to be trying too hard in the looks department. It had a lot of transparency and floating menus. Kind of weird. Just didn't have a really appealing look to me.

Friday, April 10, 2009

More LibJPEG Fun

As I was compiling the jpeg library, I kept getting errors about ./libtool not being found. It was an easy fix, all I had to do was to change ./libtool to libtool in the Makefile, but I didn't want to do that every time, especially because I was trying to automate and script the build. I found an article that showed passing variables to make, and that seemed to solve my problem.
make LIBTOOL=libtool
That way, I could put it into my build script and everything would be happy, still using
the latest tarball untouched off the internet.

Thursday, April 09, 2009

Apache2, PHP, and LibJPEG

I'm configuring new server software for our internal webserver at work. I went through the build several times, and it kept complaining about not finding libjpeg.so. I finally figured out that you need to pass the configure --enable-shared or --enable-static in order to make the libraries build. Just thought I'd pass along this information, and hopefully save somebody some headache.

Friday, April 03, 2009

Read Only File and Directory Permissions

Today I needed to lock down some data so that it could only be accessed by a particular user and his group. We wanted to make sure that this archive was not modified, so I needed to lock down the permissions. For a long time, I don't think I fully understood that directory permissions are much different than file permissions. To get around this, I did my chmod in 2 steps. First, I did a
find -type d -exec chmod 550 {} \;
This needs to be 550 because the execute bit on a directory is actually an "access" bit. If you don't set it, you can't access the directory.
Then I did:
find -type f -exec chmod 440 {} \;
This gets the regular files and sets them to read only with no world access. Fairly basic, but I thought somebody might find it useful if they're struggling.

Tuesday, February 17, 2009

I'm Back

It's been a while since I've posted on my blog, so I figured I'd post a little update. We had a baby in December. She had some problems and so we had to have her flown to Salt Lake to Primary Children's Hospital. She was there for about 2 months. We recently got her home, but she had to be put back into the hospital after she contracted something, possibly RSV, that was causing her to have problems breathing. She's still currently in the hospital, and I'm at home taking care of our son.
It's been quite the experience. I've learned a lot in the last 3 months. Priorities change quite a bit when you go through something like this. I'm still not perfect, and I don't claim to have all my priorities perfectly in order, but I definitely appreciate things like a nice home, my health, family and friends, good food, and trying to help out others. It's amazing what being the recipient of some charity will do to your desire to serve.
I will probably not do any more book reviews. After reading some of them, it doesn't sound like I have anything really interesting to say about many of them. If I have opinions or original thoughts about some of them, I will try to abstract the thoughts and make some posts. I may try and keep a little update on what I'm reading, and things I'm planning on reading, but I will probably try to avoid boring "I liked this book" posts.

Friday, November 28, 2008

Tsar

Tsar by Ted Bell
This book had been in my "Wish List" for quite a while. I went to the local library and put it on their list of things to get, and they got it in. I had it for two weeks, and finally had time to finish it. There was a lot of interesting things in this book. One drawback that it had for me is that it had fairly graphic depictions of things that didn't need to be treated in such detail. That for me was a big detraction. It could've moved the story along with no need for it. It didn't seem to pick up for me until towards the end. For me, reading about the recent leadership of Russia was very interesting, as I'm fairly uninformed about that subject. The descriptions of places were quite fantastic, and the ending puts the hero in quite a moral dilemma. I didn't particularly like how the ending was written, as it seemed to gloss over some major details, but all in all it was a fairly enjoyable read.

Saturday, November 08, 2008

The Appeal

The Appeal by John Grisham
This book was very timely for me, as I read it just prior to the elections. Unfortunately, it shows a sad side of politics which I'm sure happens with all parties. It talks about purchasing elections, and in particular, Supreme Court seats.
This book brought to my attention the importance of Supreme Court justices, and indeed judges at every level of government. It's not something you think about every day, but it does have a large impact on how things work. The saddest thing about this book is that you could very well see it happening. The justice that is purchased in this book has many similar views with myself. I could have seen myself voting for him if given the information that voters would have seen. However, the premise of the book talks about a court case in which a company poisons a towns water with toxins and many in the town die or become very ill. While I have strong feelings that we need some tort reform in this country, I don't think that cases should simply be dismissed out of hand. We need some sort of middle ground.
Anyway, this was an interesting book that can open your eyes to some possibilities that you may not have thought about before.