If you find yourself configuring IIS to use a non-default folder structure/location (hi DISA STIGs!) you might also find yourself encountering some head scratching HTTP 500.19.5 errors in your IIS logs (aka 500 19 5). Make sure that the account your AppPool is using has read access to the wwwroot folder.
While trying to make WordPress and Mailchimp work better together, I was having a hard time getting Mailchimp to accept my blog’s RSS feed. After some research, I noticed that the XML wasn’t formatted properly, as the feed was emitting a blank line before the XML declaration. Many of the other help docs I found online recommended hunting for extra lines in my theme’s functions.php file among others. After a few minutes of that nonsense, I figured there must be a better way. I knew that I didn’t want anything output before the xml declaration, so I figured if I just cleared the output buffer prior to echoing the xml declaration, that should do the trick. Sure enough, it worked.
Insert the following line just prior to xml declaration:
I’ve messing around with Azure for quite a while. One of my my biggest complaints has been that the pricing often doesn’t pencil for smaller web projects, especially when that project utilizes SSL certs or a backing database.
In learning about Azure Synapse for a larger project, I stumbled across the mention of serverless Azure DB that can auto-scale and more importantly, for my small projects’ bottom lines, auto-pause. Now my projects that only use a handful of hours per month can function on-demand 24/7 without the need of having a provisioned DB that I’m getting charged for all 24/7.
One gotcha I ran into while switching from the Basic pricing tier to Serverless was that the conversion was failing for an unspecified reason. It turned out the reason was that I had Long Term Retention (LTR) setup on my server. Make sure to zero out any LTR settings you might have and retry the conversion.
I recently ran into the following error while trying to upgrade SharePoint 2016:
Exception: Microsoft.SharePoint.Upgrade.SPUpgradeException: Action 220.127.116.11 of Microsoft.SharePoint.Upgrade.SPIisWebSiteWssSequence failed. —> System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.SharePoint.Upgrade.RemoveAppDataWebConfig.RemoveAppDataEntries(XmlDocument webConfig)….
This update was being run on a farm server that had previously hosted the Central Administration application. When CA had been moved to the new server, the previous CA installation had not been removed yet. Simply running Remove-SPCentralAdministration within a SP Management Shell (likely As Administrator) on the “old” server successfully removed the unused CA installation and allowed the SharePoint upgrade to complete successfully.
As someone who has worked remotely on and off since the days of NetMeeting, I can closely identify with much of what is raised in Scott Hanselman’s “Tragedies of the Remote Worker“. In an admitted rant, Scott rattles off a number of suggestions of how onsite workers could be more inclusive of their offsite colleagues by making full use of the tools available to them. He then goes on to invite commenters to add their pet peeves about remote work, which at the time of this writing have been mostly constructive.
One of the most important suggestions Scott makes is that we have empathy for our teammates. Make an effort to get to know your coworkers, to understand their situation and work together to be the best team possible. If it’s not an onsite/offsite issue, it’s parents with children, adult children of aging parents, chronic health issues, transportation issues, or a myriad of other stumbling blocks that life puts in everyone’s way. Life happens to all of us and good teams work through it together. This is really a bedrock principal for any successful team that others ignore or discount to their detriment.
Commenter Les Orchard sums it up nicely, “If you think working remote is some kind of special benefit that the remote workers have to compensate for – then you’re failing yourself, your team, and your company. Everyone is remote, at some point.”
A few years back, I had some time to kill and my AT&T Samsung Captivate smartphone was stuck using Android 2.2 (aka “Froyo”), so I decided to look into installing alternate firmware on my phone. It was surprisingly easy. By the end of the night, I was up and running with Android 4.2 (aka “Jelly Bean”). My old phone had a new lease on life!
Over time, I’ve run into some quirks here and there, leading me to learn a lot more about Android. One problem that I’ve periodically run into is that after installing a fresh ROM, within a few weeks, I will start receiving message stating “Unfortunately, [app name] had stopped working.” Often time the app in question wasn’t even one I was using. Within a few days, they notices would come so frequently that my phone was useless, leading me to reflash the ROM. I’ve tried several other fixes over time, but nothing has really seemed to fix the root of the problem.
Fast forward to tonight. I had noticed that my SD Card wasn’t really being used. In digging around, I realized that my phone listed its internal memory as sdcard0, whereas the removable SD Card was listed as sdcard1. As I started moving files around and altering programs to use my true SD Card natively, I noticed that my errors had gone away.
Long story, short: I recommend that you use a storage visualization app such as Disk Usage to get a true picture of what your storage situation is like. Clear space on your device by deleting unnecessary files or moving pictures, movies, etc. over to your true SD Card. Finally, tweak your Camera app’s settings to save to the SD Card natively.
I help out with the webcasting duties at my church. We recently purchased a new machine to replace on old WinXP Pentium4 box that had been around since the beginning. The new box was very similar to the other two webcasting rigs we have (both Windows7 on Intel i5 processors), except that it had an Intel i7 processor on board.
When we went to install the Blackmagic Intensity Pro video capture card, we were prompted with something the other two rigs never required: a firmware update for the card. I’ve never been fond of firmware updates as I’ve bricked a handful of motherboard over the years. This firmware update was repeatedly failing despite following the instructions to the letter.
Fortunately, after some hardcore Google-fu, I ran across this forum thread on Blackmagic’s support site. It turns out there’s something about the power saving features in this OS/Processor/Chipset combination that was the culprit. Disabling the power saving features by switching to the “High Performance” power profile did the trick. The firmware update sailed through and we were webcasting in minutes.
Over the past 6 months, I’ve had the pleasure of working on a project that sought to use d3.js to generate custom graphs on the fly. The learning curve was a bit steep and I still wouldn’t consider myself a d3 expert, but we’ve managed to come up with a tool that allows users to select one or more data sets and graph them over a custom time span with options to tweak line colors and styles. The customer was pleased, but now that they had these impressive graphs, they wanted to be able to export them as images for use in their reports.
Continue reading Exporting SVG graphics to PNG or JPG
The more I mull over ideas regarding what to blog about, the more I come to conclusion that I can’t get into what’s going on today without talking about how I got here.
My first exposure to programming came in the 6th grade, at Beaumont Middle School, where I took an Introduction to BASIC class. The next year, I was grasping at ideas for a science project when I realized that the library where the science fair was being held had an Apple IIe computer located front and center. I figured I could take the easy way out Continue reading How did I get here?
Welcome to my professional home. I’m Josh Piper and I’m a full-stack web developer, located in Portland, Oregon. I’m a huge fan of Twitter, but sometimes I need more than 140 characters to document the thoughts rattling around in my head. I hope to use this site to document some of interesting things I learn along the way.