{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Cam Wardzala",
  "language": "en",
  "home_page_url": "https://camwardzala.com",
  "feed_url": "https://camwardzala.com/feed/feed.json",
  "description": "Father, husband, front-end developer, punk rocker, pizza eater, and tea drinker.",
  "author": {
    "name": "Cam Wardzala",
    "url": "https://camwardzala.com/about-me/"
  },
  "items": [{
      "id": "https://camwardzala.com/posts/2025-10-12-cycling-fan-speeds-in-home-assistant/",
      "url": "https://camwardzala.com/posts/2025-10-12-cycling-fan-speeds-in-home-assistant/",
      "title": "Cycling Fan Speeds in Home Assistant",
      "content_html": "<p>I have been putting physical buttons around the house to control lights and ceiling fans. I setup the buttons to turn the fan on/off with the last set speed. This is fine but I thought it would be nice to have the option to cycle through the fan speeds (like pulling the chain).</p>\n<p>I wrote a script in Home Assistant that takes in the fan entity and cycles through 0, 33, 66,  and 100 percentage speeds. It will check if the next speed is in the list and set the speed, if not it will reset to 0.</p>\n<pre><code>sequence:\n  - variables:\n      next_speed: |\n        {% set speeds = [0,33,66,100] %}\n        {% set current_speed = state_attr(entity, 'percentage') %}\n        {% set next_index = speeds.index(current_speed) + 1 %}\n        {{speeds[next_index if next_index &lt;= (speeds|length - 1) else 0]}}\n  - action: fan.set_percentage\n    metadata: {}\n    data:\n      percentage: |\n        {{next_speed | int}}\n    target:\n      entity_id: &quot;{{entity}}&quot;\nalias: Cycle Fan Speeds\ndescription: &quot;Cycle through fan speeds for a given entity.&quot;\nfields: {}\n</code></pre>\n",
      "date_published": "2025-10-12T00:00:00Z"
    },{
      "id": "https://camwardzala.com/posts/2016-05-11-solving-mysteries-in-magento/",
      "url": "https://camwardzala.com/posts/2016-05-11-solving-mysteries-in-magento/",
      "title": "Solving Mysteries in Magento",
      "content_html": "<p>Not long ago our Magento eCommerce website started logging a strange and cryptic exception.</p>\n<pre><code class=\"language-php\">PHP Fatal error:  Uncaught exception 'Exception' with message 'Serialization of 'Mage_Core_Model_Config_Element' is not allowed' in [no active file]:0\\nStack trace:\\n#0 {main}\\n  thrown in [no active file] on line 0\n</code></pre>\n<p>With no context about what this means I turned to Google. Little of the results helped trace down what the issue was. Since it never appeared to affect our users I pushed it to the side to solve another day.</p>\n<p>Around the time the exception began, I noticed alert messages were never getting cleared. A message would just stay around until the user logged out and cleared their session.</p>\n<p>After a few months, I found time to dig into the messages issue. I started poking around at our extension of Magento's built in messages class. Once I ruled that out as the source of the issue, I moved on to more aggressive measures to find the issue. I turned on every debug option I could find. With DEBUG ALL THE THINGS mode turned on I saw our old cryptic message popping up again. This led me to dig into that once again. Google didn't provide much in the way of solutions, but it did point me in the direction of our session storage. I began poking around and looking for anywhere we put something into session. Once I ruled out <code>string</code> and <code>int</code> types as an issue, I looked at other data types. EUREKA! I found a function trying to store an instance of the <code>Findaway_MultiCart_Model_Quote</code> Class. Commenting out the code and reloading proved that was the source.</p>\n<p>Moral of the story, test and look for exceptions related to new code. It's amazing this was so easy to fix given it was so difficult to track down. This could have been quicker had PHP exposed a more useful message, or had Magento raised an exception.</p>\n",
      "date_published": "2016-05-11T00:00:00Z"
    },{
      "id": "https://camwardzala.com/posts/2012-10-16-women-in-development/",
      "url": "https://camwardzala.com/posts/2012-10-16-women-in-development/",
      "title": "Women in development",
      "content_html": "<p>I have worked closely with two women developers in my career, and I must say they taught me so much I couldn't even begin to explain.</p>\n<p>I was fortunate to have a great mentor when I was first cutting my teeth at a big agency and yes it was a woman. She helped me get out of a pretty bad rut and begin to spread my wings and become the developer I am today. She taught me not only how to be a better developer but how to work with others better and how to step back and look at projects and development from a whole new light.</p>\n<p>The women I have been lucky enough to work with have brought something to development far beyond technical knowledge, they bring a level of compassion and understanding that I have never seen in any other developer man or woman.</p>\n<p>I want to say thank you to all women developers for undoubtedly making your male counterparts better by association, you are all awesome and need to be recognized for that.</p>\n",
      "date_published": "2012-10-16T00:00:00Z"
    },{
      "id": "https://camwardzala.com/posts/2012-08-10-put-your-best-code-forward/",
      "url": "https://camwardzala.com/posts/2012-08-10-put-your-best-code-forward/",
      "title": "Put your best code forward",
      "content_html": "<p>As I review resumes for developers there is one thing that always becomes an issue, code examples. I have found that many developers don't have good code examples and sometimes don’t have them at all. Why is that? do they not see the value in proving they can in fact code? do they just forget to include those in their portfolio/resume? are schools (assuming they have attended school) not emphasizing the importance of code as a media? who knows all I know is that more developers need to have examples of code to give future employers a good sense of their abilities, this is just as important as a designer having examples in a portfolio or a business graduate having relevant experience on a resume.</p>\n<p>Here are a few pointers for students and prospective employees on showing off their coding abilities.</p>\n<h2>Live sites</h2>\n<p>Having something that is alive and well on the internet is one of the best ways you can prove you have the ability. However this is not a sure fire solution. Sometimes sites go dormant and die or you just never launch your product, that is fine but having something interactive that can be “cracked open” to see all the lines of code is important. Hosting the sites yourself in your own interactive portfolio is a good way to provide fallbacks for sites that you don’t control or never came to be. Make sure you are prepared to explain what you did and didn’t do, employers cannot figure that out by themselves.</p>\n<h2>Open source projects</h2>\n<p>One thing I have learned in the last year is how important it is to be involved in open source projects. They really give you a chance to work on something you love along with improving your skills. Many employers won’t find this important, I think they should start. Working on projects that are open source shows that you are excited about your craft and you are not afraid to work with others and accept feedback. If you are going to show off these types of projects make sure you keep them active, nothing is worse than trying to explain a dormant project.</p>\n<h2>Don’t limit yourself</h2>\n<p>If you are looking for a job as a front end developer (HTML, CSS, Javascript) you should show some examples of your work in languages outside that, show some backend work (PHP, Ruby, C#/.net) but also have some examples outside web development too like iOS or Android development and maybe even expand out of coding all together and show some design or UX stuff too. This proves a few things, first that you are not afraid to get in the weeds and do the stuff you are not most comfortable with and second it shows that you are smart enough to understand principles and conventions that maybe your primary focus does not require. And to top it off maybe open source those other things and kill two birds with one stone, there is no better way to learn than to get feedback from others.</p>\n<p>There is one very important thing to keep in mind with these first three points. Don’t show work from your first year in school (older than 3 years) you should be showing work at most 6 months old. Your skills can evolve quickly and that is what employers want to see. I would even recommend not showing anything older than 3 months, this proves to your future employer that you are staying active and evolving your abilities.</p>\n<h2>Be prepared to take “the test”</h2>\n<p>The best way for prospective employers to see you code as you do today is to give you a test. You should prepare yourself to accept a coding test if presented with one. If the employer does not require you to take a coding test maybe you should look somewhere else.</p>\n<p>This is probably the most important step when interviewing for a developer position and should not be taken lightly. Always start by making sure you understand the requirements of the test and speak up if you don’t. The only thing worse than writing bad code on your test is not doing the test correctly at all.</p>\n<p>Be prepared to put your best code forward, but don’t overstep your abilities this is not the time to try out that new hot thing everyone has been talking about.</p>\n<p>Make sure you test it appropriately, and sometimes over test. If they require the test to work in Chrome make sure it works in IE and Firefox too. As long as it doesn’t take you 3 times as long to complete, this will show that you understand what it takes to actually build and test working product.</p>\n<p>As you consider these pointers keep in mind that these will not guarantee you a job, or for that matter a followup interview. These are mainly just ideas of how you can best present your abilities to prospective employers.</p>\n<p>These are some of the things I look for when I read a resume, and I hope others are looking for them too.</p>\n",
      "date_published": "2012-08-10T00:00:00Z"
    }
  ]
}
