Just finished troubleshooting a bug in a customer system. It’s a piece of custom software, run from a website, and written in PHP. This software collects orders from customers online, and transfers them into QuickBooks via a custom XML service and the QuickBooks Web Connector. And the other day, after a simple update, it stopped working.
Guess what the problem was? Heinous code changes? Chinese hackers? Faulty QuickBooks update? Nope. It was a single ” ” (space) character.
Several functions of the system require that absolutely no output be sent to the browser screen for various redirect functions, especially surrounding SSL and initiating a SOAP session with QuickBooks. Well, the extra character had been accidentally typed into the visible part of a PHP script file filled with common functions.
I finally found what the problem was after pulling the backup version of the recently changed file out of our Amazon S3 cloud backups (performed via JungleDisk automatically on our affected server at The Planet). Restoring the old version of the file fixed the problem, so I used Komodo code editor to compare the files (results attached).
It turned out that there was an extra ” ” (space) at the end of the file that got sent to the screen too early. And the browser got really confused about the content of the page as a result.
Just more evidence of the complex nature of these systems that make the web go round. Good thing we have solid processes for tracking and fixing! Yay for automatic backups into the cloud.
The local environmental non-profit group I’m involved with had a significant event happen in its history today. Due to a variety of factors (primarily budget shortfall issues), the board today voted to become an all-volunteer organization effective at the end of June 2009. This is a huge change: the original founder had been a full-time, paid contractor prior to this point. No longer will this be the case, and the process of creating this change is a major one that has big consequences for the founder. No one likes to change jobs, even if their paycheck was sporadic at best. No one likes to release the reins of their own creation.
Our board has bitten off a huge responsibility to ensure that the organization continues to fulfill its mission, and to properly honor the contributions, vision, and work of our founder.
Let’s just say that it all made for a pretty heavy board meeting.
For this project, I picked an area up my upstairs office that was nestled between some built in shelves and cabinets on one wall. It measured 48 inches wide by 33 inchess tall.
Next I went to my favorite free high resolution desktop wallpaper sites, and looked for something that I wanted to see on my wall. I wanted to find something that included obvious perspective cues to give the illusion of depth, and seemed to have a light source in the middle of the picture where my lamp was going to be shining from. I picked this one without over-thinking it too much for the purposes of the experiment. Many others would have worked, and been much more interesting. I downloaded it at the highest resolution offered (2,560 x 1,600 pixels).
In order to know how my photo would look, I divided the number of pixels I had wide by inches wide (2,560 pixels/48 inches) = 53 DPI (dots per inch). For a section of wall that people will be at least 1-3 feet away from, 50 DPI is fine. 100 DPI is good if people will get less than a foot away at eye level to your wall. This requires less DPI than other printing applications in order to look good from the distance a viewer sees it.
Next I went to an online printing place to have it printed large. I went to BargainBanners.com, (my employer), here. My wallpaper printout arrived well within a week.
When it arrived, I thumb-tacked it to the wall under where the trim was attached.
Since there is a lamp that goes on that part of the shelf, I set it up without its shade to preview how the room’s real lighting would work with the image. Looks like the bulb is practically part of the sky. Exactly the effect I was hoping for.
Wood trim, lampshade, and various office junk put back into place. I’m pretty happy with how it turned out for a first try. What does everyone else think? I have more complicated wood paneling elsewhere in the house. I was thinking of trying something more complex, with a more meaningful image, in the future.
Regarding the copyright of the image, that part is sticky. I believe it would be a better practice to surf on over to iStockPhoto.com to buy the proper rights to an image they have for $5-$12. Better yet, if you have a camera with a lot of megapixels, you can print directly from your photographs, which you already own. My employer sees a lot of this for beautiful engagement photos on huge display at the wedding reception.
I’m sure we’ve all heard quite a bit about Electronic Art’s new game called SPORE.
It allows you to design a creature and develop it over time. You begin as a simple critter swimming around in water, grow onto land and into tribes, and eventually even become a space-faring civilization that travels the galaxy.
All the while you make choices about your creature’s disposition. My creature, the ‘Croctaw’ (pictured), is a hyper-aggressive, hyper-carnivore, war-mongering species that normally devours all other species that get in its way. It was a survival strategy that worked.
Except for once, that is. And the situation called for something drastic and different for dealing with the neighboring creature. You see, they didn’t taste very good, so diplomacy was the only option (unpleasant of an option as it was).
At least the other 99% of the creatures my Croctaw empire have encountered are quite delicious. Plus, I’m sure the Croctaw themselves (being some combination of crawdad, lobster, and crocodile) are probably quite delicious. Lucky for them that they are the dominant species.
SPORE has been fun, and now the Croctaw have been flying around the galaxy conquering all. The game is definitely worth trying.
Recently I just finished up a personal project to get the period of time between Jan 2006 and Sep 2007 completely reconciled in my personal books. There were about 1,600 transactions to individually verify.
Once I had eliminated about a dozen small transactions (recording $20 of money spent twice, etc) that didn’t belong on my side, something interesting showed up.
It looks like there was a bank error that had been hidden by my own small errors. The reconciled balance from Oct 2007 through the present had always been within a small margin of where it was supposed to be. Once the little duplicate transactions were stripped out, a $500 bank error became obvious.
So in exchange for the mind numbing work, it looks like the process will net $500 in adjustments that I wouldn’t have noticed otherwise. It had always bothered me a little that I hadn’t ever reconciled these ancient personal bank statements, and I finally did it, and it looks like there’ll even be a payoff.
Just thought I’d share. And now I’d better go something completely non-bookkeeping related before I get too many funny looks.