I really want to get him into programming so we could do it together when he's older. He loves playing with my smartphone (he even managed to call his mother once). I don't know if all baby's are like this, but electronics really grab his attention. He mostly just chews on them now, but he'll play with them over, say, a stuffed animal.
Is he interested in harder objects because he's teething, or is he interested in what the grown-ups are using? (probably both)
Understanding the reasons for his behavior might allow you to find better ways to occupy him (amusingly, the same applies to game design - understanding the players' motivation helps you entertain them).
Most toys seem to be designed for getting parents to buy them, rather than actually entertaining or educating the child (cutesy animals that look nothing like real animals, bright colors that parents think their kids will like, and so on). For example, if you buy a child his own "cell phone" toy, it'll be bright orange and green and look nothing like your cell phone (edit: a quick glance at Amazon shows that they do a much better job nowadays then they did 10 years ago), so he'll still want yours. But if you get a toy cellphone that actually looks like yours (in color and shape), that child may play with it much longer, because it's the same type of object that daddy uses. Same with things like toy laptops (even real laptops designed for kids); the bright orange and green may help move merchandise off the self by selling it to parents ("It's brightly colored, therefore your kid will enjoy it and it is obviously child-safe!"), but children can tell there is a difference between their brightly colored thing and your metallic grey, silver, or sleek black device.
Toys don't seem to entertain infants long. It takes them like 30 seconds to "figure it out" and then they lose interest and move on. At 7 months he's just exploring his environment, not really using his own creativity to entertain himself (that's when you break out Playmobil and Legos and train sets and let them entertain themselves for hours - but that comes later), and when he's just exploring his environment, a toy is part of the environment and doesn't take long to understand (though you can give it extra life by, say, teaching him how to bang it against a pot to make noise, which will give it a few more minutes of life). By cycling toys (making them disappear for weeks before making a re-appearance later), they can be re-discovered for another bit of distraction. At that age, it's not the quality of the toys but the quantity and extreme variation, for a minute of distraction here, or two minutes there, on each one.
Consider pulling cushions off the couch and arranging them on the floor in his play area (changing his environment so he can re-explore it), and maybe introducing him to some toy that makes more interesting noises (vet the noise first, to make sure it's not one that'll drive you crazy ).
If you have entertaining ideas figured out in advance, when you're in the middle of deep debugging, you can pull them out (from say, an opaque grocery bag on the couch next to you), and give him something to do while you come to a better stopping point in your programming.
This book is also worth picking up.
(I'm not a parent. I just come from a large family and currently have a seven-month old nephew living with me. However, his mom (my sister in law) and my sisters do most the work entertaining him, and my programming isn't interrupted like yours is. Primarily, I just give them a break every now and then, and also help with putting him to sleep at nights (rocking chair = win, but I have to walk around carrying the infant for a bit first, before I can sit down and rock him without him protesting)).