After upgrading to Yosemite, I noticed that graphics performance was starting to lag a bit on my 2009 Mac Pro while driving two monitors at fairly low resolutions. At one point I had two GT 120s running separate monitors, but after one replacement and two failures, I was back down to one.
I decided to look into upgrade options and was happy to see that OS X now supports non-EFI video cards. The only catch: You won’t see anything displayed until OS X loads your drivers. Who cares?
I settled on an EVGA GeForce GTX 660 2GB, which Best Buy happened to sell. I can feel the judgement from the hardcore nerds for buying something at Best Buy. Nevertheless, this was much cheaper than trying to buy another GT 120 to replace my second one and offers WAY more power. I don’t game on my Mac – I just want the OS to feel snappy and fluid.
Like many powerful cards, the GTX 660 requires the PCIe 6 pin power connector from the power supply or motherboard. I’ve ordered this, but until it gets here, I’ve rigged up an external power source.
My Dad and I built the alarm system for their house in late 2009. He handled hardware, I did software. From time to time I export the data it collects just for the heck of it, since it’s been running non-stop for years.
The back door at their house has been opened 41,267 since the end of November 2009. That’s kind of surprising to me.
It’s interesting to see some patterns in the graph – it’s how many times the door has been opened per month. You can definitely tell what year I bought my house. 🙂
After learning about Smith numbers today I cooked up this script fairly quickly. There are many places where it could be optimized and cleaned up but that wasn’t really the point – I just needed something that was accurate, and I’m pretty sure this is.
It also helped me to learn about the ulimit command after running it with a HUGE number that had taken up about 7GB of swap before I had to kill the process remotely via SSH…
# smith number detector - TWS 1-12-13
if(sumFactors(num) == sumDigits(num)):
# calculate the sum of the factors
factorList = factors(num)
sum = 0
for factor in factorList:
if factor > 9:
# if a number (base ten) has multiple digits it has to be broken down
sum = sum + sumDigits(factor)
sum = sum + factor
# sum the digits in a number with two or more
sum = 0
if num > 9:
while num > 9:
sum = sum + num % 10
num = num / 10
sum = sum + num
# should never reach this
primeFactorList = 
factor = lowestPrimeFactor(num)
currentNum = num
while factor != -1:
currentNum = currentNum / factor
factor = lowestPrimeFactor(currentNum)
if(currentNum != num):
# preventing returning the number passed in
for x in range(2, (num / 2) + 1):
if(num % x == 0):
for number in range(1, 1000):
print "The number", number, "is a Smith number."
Clemson and Ole Miss are currently battling it out in a poll on Southern Living’s website. Out of curiosity I wrote some code to grab this data and graph it to help visualize who is catching up or pulling ahead. Check it out here!
Now that this site has basically turned into ‘herp derp‘ central, I thought I’d post some numbers up regarding downloads. Running this command on my Apache access logs provided me with the download numbers for each browser version (in this case Firefox):