…A couple month’s ago, my daughter’s friend wanted me to take 3 feeder goldfish that were no longer needed after the fish appeared on stage in a college production. No problem, we had a 5 gallon tank and filter, how hard could it be?
It is now two months later. Those three have died, I’m sorry to say. And I have 30 other fish. In 4 tanks.
It’s not my fault.
First I replaced the feeder goldfish with a Faintail (see image above) and a Comet. My tank was too small so I bought a 20 gallon tall. Great. Then I wanted some other fish, but my gold fish were not in heated water, and so, after a lot of back and forth, I bought a 40 gallon long, with 2 filters and a heater. I put the gold fish in there, and new fish in the 20 which now also needed a heater (yes, I know, if I was buying the heater anyway…)
If you think you can start a flame-war by asking how to align braces in C#, just try asking how many fish can go in a tank of a given size. Stand back.
For some, the answer is easy: you have too many fish (no matter how many you have) in too small a tank (no matter its size). For others the answer depends a lot on the type of fish (goldfish foul tanks faster than most other fish), the size and type of your filters, how often you change the water (a process of taking out about 20% of the water and putting in fresh) and a host of other factors. There are all sorts of rules of thumb (1” of fish per gallon) almost all of which are wrong, and there is firm anecdotal evidence for whatever you happen to believe, all of which is tied up in intense personal ideology.
After a short while I thought I’d like to grow plants and my wonderful local store had this wicked cool 9 gallon tank with a heater, a filter, everything you need, including, most important, a CO2 supply that was irresistible. The plants I put in there are thriving, but the fish I put in with the plants were not doing well, so I bought a second 9 gallon tank (they sit side by side) and moved the fish in there (Cardinal tetras,two swordtails and a catfish).
A note on local stores. I’m a big believer in disintermediation, and while I love book stores, I buy from Amazon because I believe in the power of the market to clear prices, and because I love shopping via the Internet. I buy my clothes from the internet, I virtually bought my car on-line. But fish are different. For fish, especially if you are a novice as I am, you need a dealer you can trust; someone who knows what he is talking about and who cares about fish and who offers extraordinary service. We are lucky to have such a store in our own town, but I’d travel a good distance to find this, as top notch customer service is critical, and the savings on line do not compensate when it comes to getting good healthy stock and decent merchandise.
The inevitable was knocking at my door. I really wanted this gorgeous Parrot Cichlid that appeared in the store one day, but he was a bit pricy. I tried to mollify myself by buying a junior Parrot (they grow quickly) and that was great, but I couldn’t fool myself as to what I really wanted. A little rearranging and a little financial footwork (my kids don’t really need to go to college) and I was able to get the big guy (see picture) and put him in the 20 gallon with the junior, a Giormi and a psychotic catfish.
Next, I put some black and white barbs (they look just like tiny sharks) into the goldfish tank. They are very cool, they school and look like they’re on patrol, just waiting for Stephen Spielberg.
There was still one fish I really wanted. The pet store had a giant Oscar up front and he was incredible. Luckily, they had a junior Tiger Oscar as well, and though expensive, he was one of the most beautiful tropical fish I’d seen (see image below). Finally, after much angst, I broke down and bought the junior Tiger Oscar to go in the goldfish tank.
There was room because I had to move the fantail to a temporary hospital tank (its tail fell off!) (okay, okay, 5 tanks).
Sick Fish and Debugging
Debugging what is wrong with a fish is much like debugging code. Your job is to isolate the contributing factors and test against the actual SUT. Sometimes the SUT cooperates, other times things don’t work out as well.
Key is to create tests that are clean, isolated and fast. And to test frequently.
This is geek heaven. You get to run tests on the water, mix chemicals to check for ammonia, fuss with the myriad variables of light, chemicals, mix of fish, carbon dioxide, and on and on. It is an endless stream of information and adjustment; much like coding.
Optimization is key. For example, for plants the key ingredients are
Each can limit plant growth, finding the balance among the three is an exercise in resource optimization.
The trick is to apply as much care and time and effort to keeping the fish well as to keeping your code working. Maybe more, if you’re soft-hearted.
Also, the fish are beautiful and the sound of the water is incredibly relaxing. It has greatly enhanced my productivity.