Things I find interesting and my various thoughts. Everything posted here is my own and does not reflect the position or opinion of my employer.
Monday, January 16, 2012
Sunday, January 15, 2012
Peak Digital Productions: Ruminations on a closed business.
In 1995, I was not long out of high school and working for a large corporation. I hated the job and the atmosphere. I knew a lot of people that were self-employed and that seemed like a good fit for me.
I set up a sole proprietorship named Peak Digital Productions, bought several thousand dollars of equipment for video production, and set off to make a living. I was quickly disappointed by the quality of the video output possible with the extremely expensive equipment. Added to that, the licensing burden of popular music to go with video make the service impossible. Frustrated, I quit offering the video service.
Next I started working with photo restoration. I liked that, and got a fair amount of business from it, but nowhere near enough to support my new family. Dealing with individual customers was difficult, and the volume of work available in my area was inadequate.
Sometime around 1998 I started building websites. This became my primary service for the next several years. I enjoyed this work - especially how it allowed me to utilize all my skills and interests. Photography, videography, graphic design, programming, and more went into each custom-built site. I refused to use template sites or pre-packaged coding, always learning each necessary step and building the project from my own effort.
While I enjoyed the work, making a living was difficult. Earlier, I had done a major programming project for a local government agency and got spoiled by the concept of invoice=payment. While I had a few clients over the years that were excellent to work with, I also had a few that caused so much stress I could hardly stand to work for them. I got really tired of having to chase down my paychecks.
I tried various contractual variants to control the lack of payment and communication, but with little success. Sometimes the lack of communication was worse than the lack of payment. My benchmark for frustration was the client whose communication was so sparse that it took 16 months to finish a project that had a total of less than 40 billable hours.
Through the years, I gained experience in many skills. Software development became my primary interest and I applied it to both PC-based and web applications. I also got to use my photography skills for displaying client products, video editing to produce videos to place on their sites, graphic design and page layout for creating printed literature to complement the website, and various other miscellaneous jobs.
I started programming in VBA in Excel, moved to Visual Basic 6 around 2000, used ASP for building dynamic-content websites for several years, then moved to PHP when I decided to leave the Microsoft track. I explored Flex and Air for projects destined for web and desktop applications. I continued to work on keeping up with current technology, re-learning website design to utilize CSS instead of the old methods.
When the economy tanked, what little business I could rely on disappeared. Most of my clients were small businesses, the majority being one-man operations like mine. As their businesses failed, so did mine. I was left with a huge Accounts Receivable register, which I expect I will never see.
The financial loss was frustrating, but my lack of ability to provide for my family was devastating. My stress levels were at unhealthful levels.
I would like to publicly thank Steve Birrer for stepping up and partnering with me on a software project during that time. His belief in my skills and willingness to support my work were a big help. Unfortunately, the project was unable to be completed due to "scope creep" and other issues, but Steve was the best business partner a guy could ask for. Despite the outcome of the project, he continues to be patient as I work to pay back his financial investment in my idea.
With my software partnership completion always just out of reach, I started looking for a job. In February 2010, I was hired at The Peregrine Fund as their webmaster. (Thanks in part to a glowing reference from Steve.) It continues to be the best work experience of my life. It's an amazing place with great people doing great work.
If you happen to be one of my past client that has a balance owing, and you wish to make a payment, please contact me - I would appreciate it.
I set up a sole proprietorship named Peak Digital Productions, bought several thousand dollars of equipment for video production, and set off to make a living. I was quickly disappointed by the quality of the video output possible with the extremely expensive equipment. Added to that, the licensing burden of popular music to go with video make the service impossible. Frustrated, I quit offering the video service.
Next I started working with photo restoration. I liked that, and got a fair amount of business from it, but nowhere near enough to support my new family. Dealing with individual customers was difficult, and the volume of work available in my area was inadequate.
Sometime around 1998 I started building websites. This became my primary service for the next several years. I enjoyed this work - especially how it allowed me to utilize all my skills and interests. Photography, videography, graphic design, programming, and more went into each custom-built site. I refused to use template sites or pre-packaged coding, always learning each necessary step and building the project from my own effort.
While I enjoyed the work, making a living was difficult. Earlier, I had done a major programming project for a local government agency and got spoiled by the concept of invoice=payment. While I had a few clients over the years that were excellent to work with, I also had a few that caused so much stress I could hardly stand to work for them. I got really tired of having to chase down my paychecks.
I tried various contractual variants to control the lack of payment and communication, but with little success. Sometimes the lack of communication was worse than the lack of payment. My benchmark for frustration was the client whose communication was so sparse that it took 16 months to finish a project that had a total of less than 40 billable hours.
Through the years, I gained experience in many skills. Software development became my primary interest and I applied it to both PC-based and web applications. I also got to use my photography skills for displaying client products, video editing to produce videos to place on their sites, graphic design and page layout for creating printed literature to complement the website, and various other miscellaneous jobs.
I started programming in VBA in Excel, moved to Visual Basic 6 around 2000, used ASP for building dynamic-content websites for several years, then moved to PHP when I decided to leave the Microsoft track. I explored Flex and Air for projects destined for web and desktop applications. I continued to work on keeping up with current technology, re-learning website design to utilize CSS instead of the old methods.
When the economy tanked, what little business I could rely on disappeared. Most of my clients were small businesses, the majority being one-man operations like mine. As their businesses failed, so did mine. I was left with a huge Accounts Receivable register, which I expect I will never see.
The financial loss was frustrating, but my lack of ability to provide for my family was devastating. My stress levels were at unhealthful levels.
I would like to publicly thank Steve Birrer for stepping up and partnering with me on a software project during that time. His belief in my skills and willingness to support my work were a big help. Unfortunately, the project was unable to be completed due to "scope creep" and other issues, but Steve was the best business partner a guy could ask for. Despite the outcome of the project, he continues to be patient as I work to pay back his financial investment in my idea.
With my software partnership completion always just out of reach, I started looking for a job. In February 2010, I was hired at The Peregrine Fund as their webmaster. (Thanks in part to a glowing reference from Steve.) It continues to be the best work experience of my life. It's an amazing place with great people doing great work.
If you happen to be one of my past client that has a balance owing, and you wish to make a payment, please contact me - I would appreciate it.
Drupal frustrations
After more than 10 years of building all my software and website coding from zero with primary programming languages like VB6, ASP, PHP, ActionScript and JS, I have begun adopting open-source packages due to their advanced feature sets.
My newest exploration is Drupal. In many ways I am very impressed with its capabilities. However, one task that seems to me to be a simplistic task has cost me more than two days of work, and now it's early on a Sunday morning and it's still consuming my thoughts: How to make the content of a node visible on a non-Drupal external site.
I started by installing the Services 3 module, configuring the REST server and its endpoint. After hours of fruitless research, I finally discovered a posting with a good explanation of accessing Drupal data externally with authenticated access via REST.
My attempts to implement that were unsuccessful. As I posted on drupal.stackexchange.com, the Drupal system would recognize my login and authenticate my session, but I still can't retrieve a node's content.
I posted another request for help on any method to see Drupal node data externally, and received the suggestion to use feeds. So, this morning I have been researching that avenue. So far, success has been very limited. Based on http://www.group42.ca/drupal_6_rss_omnibus I was able to finally see something from my Drupal site by requesting the url my-site.com/drupal-folder/rss.xml.
However, due to the purpose of my Drupal installation, it is locked down to require authenticated access for everything. At this point I am stymied by two problems using the Atom/RSS technique: I haven't seen documentation to do an auth login to request RSS data, and so far I can only see as RSS what appears on the Drupal front page.
Back to the research...
My newest exploration is Drupal. In many ways I am very impressed with its capabilities. However, one task that seems to me to be a simplistic task has cost me more than two days of work, and now it's early on a Sunday morning and it's still consuming my thoughts: How to make the content of a node visible on a non-Drupal external site.
I started by installing the Services 3 module, configuring the REST server and its endpoint. After hours of fruitless research, I finally discovered a posting with a good explanation of accessing Drupal data externally with authenticated access via REST.
My attempts to implement that were unsuccessful. As I posted on drupal.stackexchange.com, the Drupal system would recognize my login and authenticate my session, but I still can't retrieve a node's content.
I posted another request for help on any method to see Drupal node data externally, and received the suggestion to use feeds. So, this morning I have been researching that avenue. So far, success has been very limited. Based on http://www.group42.ca/drupal_6_rss_omnibus I was able to finally see something from my Drupal site by requesting the url my-site.com/drupal-folder/rss.xml.
However, due to the purpose of my Drupal installation, it is locked down to require authenticated access for everything. At this point I am stymied by two problems using the Atom/RSS technique: I haven't seen documentation to do an auth login to request RSS data, and so far I can only see as RSS what appears on the Drupal front page.
Back to the research...
Saturday, January 14, 2012
Waterfowl photography morning
I went to a local fishing pond this morning where waterfowl congregate. I brought back over 200 photos after lots of culling in the camera. Here are a few that I like.
Monday, January 9, 2012
Cereal
Since this is supposed to be a more or less random collection of miscellaneous things, along with being a reference for my own later use, here is a recipe for cereal. I have given up on finding a high protein, low sugar, low fat commercially made cereal. I just want a simple breakfast that doesn't leave me hungry 3 hours before lunch.
I don't know if it would be considered a granola or muesli, but here it is, based loosely on my Mom's recipe from when I was a kid.
6 cups old fashioned oats
2 cups sliced raw almonds
3 Tbsp flax meal
1/4 cup quinoa
1/4 cup millet
1/2 cup wheat germ
1/2 cup soy protein
1 cup unsweetened coconut flakes
1/2 cup grape oil
1 cup honey
sprinkle of vanilla extract
dash salt
2 tsp cinnamon
Mix everything together, bake at 400 degrees, turning every 5 minutes, until browned.
Add:
1/2 cup dried cranberries
1 cup raisins
and stir them in while the previous ingredients are still very hot. I learned a long time ago not to put the fruit in before baking unless you like the taste of charcoal.
I don't know if it would be considered a granola or muesli, but here it is, based loosely on my Mom's recipe from when I was a kid.
6 cups old fashioned oats
2 cups sliced raw almonds
3 Tbsp flax meal
1/4 cup quinoa
1/4 cup millet
1/2 cup wheat germ
1/2 cup soy protein
1 cup unsweetened coconut flakes
1/2 cup grape oil
1 cup honey
sprinkle of vanilla extract
dash salt
2 tsp cinnamon
Mix everything together, bake at 400 degrees, turning every 5 minutes, until browned.
Add:
1/2 cup dried cranberries
1 cup raisins
and stir them in while the previous ingredients are still very hot. I learned a long time ago not to put the fruit in before baking unless you like the taste of charcoal.
Monday, January 2, 2012
Friday, December 30, 2011
jQuery UI Autocomplete: problem solved
It seems that in programming, often the simplest issues cause the most wasted time. Most of yesterday was spent trying to integrate the jQuery UI Autocomplete component into a project. I could tell it was contacting the target file on the server, but it would never return any matches.
Today, I opened the Firebug console and noted that despite getting a 200 OK message on the request, the response pane was always empty. A Google search turned up a discussion on StackOverflow that described my predicament exactly.
In reviewing my code, I found that my source parameter in the Autocomplete function code pointed to an absolute URL beginning with http://. Evidently this caused the ajax code to fail on the presumption it was pointing to an external domain (though the target file was actually on the same domain). By changing it to a site-root relative URL, my autocomplete component works.
Today, I opened the Firebug console and noted that despite getting a 200 OK message on the request, the response pane was always empty. A Google search turned up a discussion on StackOverflow that described my predicament exactly.
In reviewing my code, I found that my source parameter in the Autocomplete function code pointed to an absolute URL beginning with http://. Evidently this caused the ajax code to fail on the presumption it was pointing to an external domain (though the target file was actually on the same domain). By changing it to a site-root relative URL, my autocomplete component works.
Labels:
AJAX,
javascript,
jQuery,
jQueryUI,
PHP,
programming
Subscribe to:
Posts (Atom)



