Debian Wheezy mod_perl apreq_handle_apache2 undefined symbol issue

While installing mod_perl on Debian Wheezy I ran into this issue and log message.

/usr/sbin/apache2: symbol lookup error: /usr/lib/perl5/auto/APR/Request/Apache2/ undefined symbol: apreq_handle_apache2

To fix it, I had to load the apreq.load module. On Debian, just symlink to the /etc/apache2/mods-available/apreq.load in /etc/apache2/mods-enabled and it is fixed.

Upgrading MySQL on Debian Wheezy Fails

I just did an update to one of my Debian Wheezy servers. After the upgrade Mysql failed to start. That sucked, but fortunately I was able to fix it.

All I needed to do was comment out a line from /etc/mysql/my.cnf.dpkg-dist.

If you run into the issue, the problem is related to this line in my.cnf.dpkg-dist file.

lc-messages-dir        = /usr/share/mysql

I commented that line out and the Mysql server fired right up.


Where to put assets like CSS and Javascript in Symfony

I just solved a fairly simple problem, but for my own record and if it could possibly save someone some time, here you go.

In Symfony, you want to put your assets (CSS, Javascript, images) in the right location, which is src/BUNDLE_NAME/Resources/public.

To use your assets in your web application, run this command.

php app/console assets:install --symlink

This command creates a symbolic link with the bundle name in your web/bundles directory and voila, the assets are now available via the Twig/Symfony asset command.

New to Symfony? Check out my getting started tutorial here.

How to resurrect a dead cell phone

Recently my Samsung S3 locked up. It was basically dead. I pushed the power button a bunch of times. I pulled the battery, but what I needed to do was combine those two actions.

I found the answer to my dilemma in this helpful troubleshooting guide.

What I needed to do was pull the battery and then push the power button. Pushing the power button while the battery out drains any residual electricity in the phone.

I popped the battery back in and voila, it works again.

Upgrading Debian Squeeze to Wheezy

I’ve recently done a few upgrades of Debian from Squeeze to Wheezy and it’s a pretty uneventful process.

I recommend following these instructions at HowtoForge.

The only major issue was that Mysql was removed after the upgrade. My data was still there but I had to install mysql-server.

apt-get mysql-server

Also you might get an annoying messaging when running PHP that looks something like this.

Unable to load dynamic library '/usr/lib/php5/20100525/'

To fix this run

dpkg -P php5-suhosin

Because I run some stuff using mod_perl, I had to reinstall a bunch of modules, but no big deal.

Other than these issues, it went pretty smooth.

Kudos to the Debian team for releasing another solid Debian version. That’s been my go-to Linux distro for at least 10 years and I’ve never been disappointed.

Tip Jar

If you think what I’m publishing here is worth more than nothing and you want to see me keep publishing, leave a tip.

When I bartend, I get a buck for pouring someone a beer, the shit I’m doing here is worth at least a dollar.

And no, I don’t want to sell ads.

Symfony 2 Getting Started Guide Now Available

It is here folks. The moment you have all been waiting for.

My new Symfony 2 Getting Started tutorial is here.

This is a simple and powerful tutorial that will get your through many of the core components of building applications using open source Symfony.

I love Symfony, and I think you will too, so check out my tutorial and get building.


Plug Your Tach Hole

This is what my '78 Honda CB400 looked like when I bought it for $650 in 2013.

This is what my ’78 Honda CB400 looked like when I bought it for $650 in 2013.

I’m about to make my first customizations to my ’78 CB400 for this season. I purchased the bike last year for $650. I didn’t do anything to the bike but change the oil and check the tire pressure. I just wanted to ride it for a year and see if it’s something I want to invest time and money into.

The bike has held up well. The suspension is a bit jacked up, the bike rides too low in the rear-end, but the engine is strong and reliable.

While I’m still not convinced I want to dump a grand into this bike, I do need to clean it up a bit. These old Hondas are actually decent little bikes at their core, but the clunky speedos, seats, turn signals, handlebars and fenders need to go.

So on its way from Dime City Cycles are a fresh set of satin black euro bars. I also have a new tiny black speedometer, also from Dime City, to replace my current stock speedo and tach setup.

One of the issues with removing the tach is that I have to plug that hole in the engine where the tach cable used to go.

Rather than tossing the old cable into the garbage, I’m going to chop it up to manufacture a plug for my tach hole.

Using my Dremel or hacksaw or something, I plan to cut off the threaded part of the cable that screws into the engine. It will have a hole in it where the cable used to go, I’ll cut a small piece of tin to pop in the hole and then screw in the threaded part from the cable.

It’s a lot easier and cheaper than tracking down and purchasing a plug that fits in that hole. The cheapest I found was like $13 including shipping. It’s basically a $5 part with $8 shipping, it seems silly.

I’ll post when I’m done to see if this works and how it looks.

Tip Jar

If you think what I’m publishing here is worth more than nothing and you want to see me keep publishing, leave a tip.

When I bartend, I get a buck for pouring someone a beer, the shit I’m doing here is worth at least a dollar.

And no, I don’t want to sell ads.

Motorola 10T28M Radio


I own a Motorola 10T28M radio. I’ve had it for a couple of years. I might have paid $10 for it a junk sale somewhere in town.

It’s been working pretty well, but the tuner cord broke a few weeks ago and I finally got around to fixing it. Rather than using cord, a previous owner used fishing line, that’s not going to last long.

While I was in there repairing the tuner cord, I also re-soldered some dry connections.

After I got it working again, I decided to do a little research about it.

I found a website with some details about the Motorola 10T28M here.

Apparently this AM/FM 10-tube radio was made in the late 1950s. Mostly likely it was built in 1957 or 1958.

It’s not particularly valuable, but it’s a nice addition to my home audio system.

My setup works like this.

From my studio in the basement I broadcast via FM whatever is going through my mixer.

So rather than trying to blast the music all of the way up to the second floor, I have vintage radios scattered around the house tuned to my FM frequency.

Most of these older radios are just that – radios. They aren’t stereo and they usually always lack good bass, at least the cheap ones I’ve bought do.

In my house, the music playing from my studio in the basement reverberates through the house and helps fill out at the low frequencies.

My Crossover Design is Complete

Today I finished designing my crossover. Here’s what I have come up with.

I have to give a special thanks to DIY Audio and Video.

I’m building a speaker for an old radio that, in addition to a new loudspeaker, I’m creating a cool new case. It’s not a stereo, so I just need one loudspeaker.

Here’s what I’m using for speakers.

A Dayton 8-inch 100-watt woofer. You can check it out here. The specs for this woofer are here.

The tweeter is a 100-watt Goldwood GT-324. You can check it out here. You can read the specs for this tweeter here.

The woofer is an 8 ohm speaker with a frequency range from 29 Hz to 3,000 Hz. The tweeter is also 8 ohm, but with a range of 2,000 Hz to 20,000 Hz.

The woofer’s maximum decibels is 88 db and the tweeter’s is 96 db. Using an l-pad circuit, I plan to pull that tweeter down to 88 db to match the woofer.

And to calculate a proper Series Notch Filter, I need the free air resonance of the tweeter, which 1,800 Hz.

The Crossovers

So based on this tutorial, I came up with the following two crossovers.

For the tweeter, I’m going to create a 3rd order Butterworth 800 Hz crossover. For the woofer, I’m going to build 1st order Butterworth 3,000 Hz.

Those are the crossovers, now I need a Loss Pad circuit. A l-pad circuit, or driver attenuation circuit, is supposed to decrease the output levels of the louder speakers to match the output of the more quiet speaker.

In my case, the tweeter outputs up to 96 db and the woofer is 88 db, so I need to pull the tweeter output down 6 db.

A l-pad is two resistors, one in series and one in parallel.

Using the fabulous DIY Audio and Video l-pad calculator, here’s the circuit for the tweeter. I entered the values 6 db, 100 watts and 8 ohms.

Parts List

R1 = 3.99 Ohms   49.88 Watts
R2 = 8.04 Ohms   25 Watts


The last thing to do is design the Series Notch Filter.

I’ll be honest, I’m not sure exactly what this one is for, but the purpose of this filter is to block frequencies within a certain range, letting through all others.

To build the series notch filter, I’m using the free air resonance (Fs) of the tweeter, which is 1.8 kHz.

Using the awesome Series Notch Filter Calculator at DIY Audio and Video, I was able to determine the necessary components.

Re = 8 Ohms

fs = 1800 Hz

Parts List

C = 16.68 uF
L = 0.42 mH
Rc = 8 Ohms

The last step to do, which I haven’t done yet, is to combine all of these circuits into one. I’m going to sketch it out on paper. Then I’ll pull my parts and prototype it on breadboard.

Stay tuned.

Parts List

  • 3rd Order Butterworth (Tweeter)
    • C1 16.58 uF
    • C2 49.73 uF
    • C3 33.16 uF
    • L1 1.19 mH
    • L2 2.39 mH
    • L3 .8 mH
  • 1st Order Butterworth (Woofer)
    • C4 6.63 uF
    • L4 0.42 mH
  • L-Pad
    • R1 3.99 Ohm 49.88 watts
    • R2 8.04 Ohm 25 watts
  • Notch
    • C5 16.68 uF
    • L5 0.42 mH
    • R3 8 Ohms

Tip Jar

If you think what I’m publishing here is worth more than nothing and you want to see me keep publishing, leave a tip.

When I bartend, I get a buck for pouring someone a beer, the shit I’m doing here is worth at least a dollar.

And no, I don’t want to sell ads.