I realized this week that with all the mailing lists and web sites I come across a ton of “nuggets” of goodness each week. I am going to start summarizing some of the good ones on Fridays here. This weeks covers everything from TDD to Haikus and Linux Audio:
- http://c2.com/cgi/wiki?CollectingSeashells
- “You have no authority. You can talk about stuff, and you can make suggestions, but you can’t force anybody to do something.
Remember that. (If you do have authority, this list isn’t for you.)” (http://c2.com/cgi/wiki?ChangeYourOrganizationTactics) - “There are no best practices, only appropriate ones.” (Bill Caputo –
http://groups.yahoo.com/group/extremeprogramming/message/109993) - “The Scapegoat pattern – Change failed policies without losing face by blaming implementers.” – (Jamie Nettles – http://groups.yahoo.com/group/maverick_software_development/message/258)
- Random Word Haiku (http://www.cs.indiana.edu/cgi-bin/haiku)
- “XP is a Great Way to Build Unusable Software Fast. You Can Do Better.” (Google Ad for www.MenloInstitute.com – BTW, I disagree with this, especially since the “free” paper pretty much covers some of the XP techniques)
- Ron Jeffries as an executive – (http://www.xprogramming.com/xpmag/AgileTopDown.htm)
- TDD: Don’t cross boundaries (oldie but goodie) – http://www.williamcaputo.com/archives/000019.html
- “C# is an object-oriented language. Making methods in classes non-virtual is an OPTIMIZATION and should not be done unless needed for performance reasons.” (Keith Ray – http://groups.yahoo.com/group/testdrivendevelopment/message/10781)
And finally, this email from a coworker regarding Linux Audio Recording:
I decided to give Linux one last shot for the audio work, and it paid
off. It is working great, stable, and good clean audio now. Major
lessons learned if you opt to try it….1. Use an external sound card. USB or Firewire. Don’t even try internal unless it is musician grade (e.g. M-Audio Delta 66). I bought a $35 Griffin iMic and it is working great.
2. Check sound card support on the ALSA site. ALSA IS the sound system for Linux now so make sure it is support and READ THE NOTES ON THE CARD.
3. Use Fedora + the Planet CCRMA distribution. It gives you 40+ audio apps + the latest ALSA sound system in one easy distro. If you think you can do better than the sound and music people at Stanford you go for it Spanky!
http://ccrma.stanford.edu/planetccrma/software/installtwosix.html
4. You need to install the linux kernal with real time support. The Planet CCRMA release has one. See item 5.
5. Jack is the audio server on linux. I had everything going but cracks in the audio. Turns out you must run Jack and your digital recorder app as root or sudo root to be able to kick in Jack as realtime capable. After that the audio was clear.
Here is a great tutorial
http://www.djcj.org/LAU/ardour/Basic_recording_howto.html
6. Check your mainboard for a game controller – if it has one, it is probably a MIDI controller too. You can buy cables for that from CompUSA.
I opted for an external USB controller from Maudio. Note that they use a really weird driver model where EVERY TIME YOU ATTACH THE DEVICE IT LOADS THE FIRMWARE TO IT. Go here
http://sourceforge.net/projects/usb-midi-fw/
7. Remember these two items – alsamixer (archaic style UI that controls ALSA levels and sources) and /etc/modprobe.conf (kernel modules = audio drivers unless you love compiling kernels and have nothing better to do than hack C code). If it aint working, 70% of the time it is one of these two items.
My primary weapons of choice now are Ardour for the record and Muse for sequencing. Lots of people use these… I know Rosegarden also is a popular app for sequencing. If you do Planet CCRMA there are literally 50+ apps to play with and you will be busy for some time.
Have a great weekend!