Featured Posts

Free xmltv EPG Data for EyeTV, save the $20 from TV... code {border:1px dotted gray;background-color:white;padding:10px;display:block;} I wanted a free programming guide for EyeTV, and while I had some time to tinker, it's better to waste your time tinkering...


Jelly Bean (OTA) on Droid Bionic with Page Plus Yes, it's working. I have no idea if data is working or not, but frankly I don't care. I started with a Droid Bionic that was running the stock Verizon ICS build. I did not use the automatic update...


Install Windows 7 x64 on a Mac (beat the Select CD-ROM... Having trouble installing Win7 x64 (Windows 7 64-bit) on your mac? Keep getting a Select CD-ROM Boot Type" message when you go to install? Boot Camp have you pulling your hair out? Some googling...


File compression primer (With .jpg examples for Adobe... Compression Compression typically looks for patterns and stores references to them. So, imagine you're storing the following text which is 151 characters long: He went to the store.  She bought...


  • Prev
  • Next

Fix Broken Windows 10 App Store (Error “2”)

Posted on : 07-12-2016 | By : Andy | In : tech



If you’re getting error 5973 (Activation of app Microsoft.WindowsStore_8wekyb3d8bbwe!App failed with error: The specified module could not be found. See the Microsoft-Windows-TWinUI/Operational log for additional information.) and error 10001 (Unable to start a DCOM Server: App as Unavailable/Unavailable. The error: “2” Happened while starting this command: “C:\Program Files\WindowsApps\Microsoft.WindowsStore_11602.1.26.0_x64__8wekyb3d8bbwe\WinStore.Mobile.exe”) then you probably haven’t found the fix yet.

There are a lot of other fixes out there for other problems, but none work. I know you are desperate. I was. There is a solution other than Microsoft’s though: (“reinstall windows”).

I went looking for “C:\Program Files\WindowsApps\Microsoft.WindowsStore_11602.1.26.0_x64__8wekyb3d8bbwe\WinStore.Mobile.exe” and it wasn’t on my computer. All you have to do (easier said than done) is replace it. Here’s what you want to do.

  1. Verify your problem is that said file is indeed missing, and that you are also missing WinStore.Mobile.dll.
    • Open powershell as an administrator and run cd ""C:\Program Files\WindowsApps\Microsoft.WindowsStore_11602.1.26.0_x64__8wekyb3d8bbwe\"
    • If those two files exist, this is not the fix you’re looking for. If they’re gone…
  2. Find a friend or other Windows 10 PC with a working store and copy those two files from the good computer onto a flash drive. Note: you may need to “Take Ownership” of the folder they are located in to do this.
  3. Copy those files to the broken PC…except you can’t, even if you take ownership and have permissions, because MS won’t let you.
  4. Download rufus and fatdog64 or another UEFI-compatible live linux distro.
  5. Put fatdog64 on a flash drive using GPT partition for UEFI and a “dd” image
  6. Change your windows advanced startup options to disable secure boot
  7. Boot into your new linux live disk
  8. Copy the files WinStore.Mobile.exe and WinStore.Mobile.dll files into the \Program Files\WindowsApps\Microsoft.WindowsStore_11602.1.26.0_x64__8wekyb3d8bbwe directory of your device’s hard drive
  9. Reboot into windows
  10. Navigate to C:\Program Files\WindowsApps\Microsoft.WindowsStore_11602.1.26.0_x64__8wekyb3d8bbwe and choose “Inherit Permissions” for each of those two files.
  11. Celebrate, name your firstborn child after me, paypal me a few bucks, or just leave a nice comment.

You’re welcome, with no thanks to Microsoft’s tech support.

squidguard logging with pfSense running https

Posted on : 08-13-2014 | By : Andy | In : uncategorized


Took me way too long to figure this one out, so once again I’m posting it to save countless masses the trouble.

pfSense is beautiful, and Squid is awesome, and Squidguard is lightweight and easy to use. There’s even a recommended way of getting Squid to log blocked pages from SquidGuard. Unfortunately, if you want to run your webConfigurator in HTTPS mode (SSL), it doesn’t work by default. Until now!

Here’s how it’s supposed to work:

From the Squid configuration

  1. There’s a nice option in your Squid config page to enable logging of squidguard blocked pages. Check the box. However, it tells you to edit sgerror.php and add the following code:
    $str[] = '< iframe > src="'.$cl['u'].$sge_prefix.'sgr=ACCESSDENIED" width="1" height="1" > < /iframe >';

    Unfortunately, there’s a typo there. It should be:
    $str[] = '<iframe src="'.$cl['u'].$sge_prefix.'sgr=ACCESSDENIED" width="1" height="1"></iframe>';
  2. You figured that out though, since you’re smart. In pfSense, go to “Diagnostics > Edit File” to load sgerror.php, found in /usr/local/www/sgerror.php
  3. Paste the ‘right’ code in the function for get_error_page(), right before the line that says: $str[] = ""; and then save it.
  4. Back in the Squid config, under ACLs, add “sgr=ACCESSDENIED” to the Blacklist box and save. (Don’t paste the quotes)
  5. Restart Squid

At this point, it’s working, as long as you’re not using SSL for your webConfigurator. The way it works, is that when Squidguard blocks a page, it makes your browser request the same URL with an extra variable tacked on at the end, “sgr=ACCESSDENIED”. Since you’ve blacklisted urls that include that text, Squid also blocks that page, which is what gets recorded.

The problem

If you’re using SSL to secure your webConfigurator, pfSense sends the block page (sgerror.php) over an https connection. By default, any good browser will NOT load an http URL inside an iFrame on an https page (it’s a security thing). Translation: the second request never actually gets made, so Squid doesn’t get a chance to block it, and it’s not logged.

The solution

You could disable SSL, but that’s dumb. Instead, you can set lighttpd to ignore sgerror.php when it redirects http requests to https.

  1. Go to “Diagnostics > Edit File” and load /etc/inc/system.inc
  2. Find the lines that modify your lighttpd config to redirect http to https, which should say:
    \$SERVER["socket"] == ":80" {
    \$HTTP["host"] =~ "(.*)" {
    url.redirect = ( "^/(.*)" => "https://%1{$redirectport}/$1" )
  3. Update them to NOT redirect the file beginning sgerror.php:
    \$SERVER["socket"] == ":80" {
    \$HTTP["host"] =~ "(.*)" {
    url.redirect = ( "^/^(sgerror)(.*)" => "https://%1{$redirectport}/$1" )
  4. Save. Restart your webConfigurator (shell option 11).
  5. Finally, set your Squidguard error page to point at http, not https by using an “external” error page.
    • Under your ACL in squidguard, choose Redirect mode of “ext error page (enter url)”
    • For redirect info, enter the path to your your pfSense error page, with http instead of https: with the internal IP of your pfsense machine)
  6. Save your settings, apply them (page 1 of Squidguard config), and then go back and save your Squid settings one more time for good measure.
  7. Profit!

One last note:

If you’re trying to get blocked https pages to show up in your squid logs, you might as well stop. Since https doesn’t support redirects like we’re doing, you can’t actually show an error page without doing an MITM attack on SSL connections, which is an incredibly large security risk for all your local users. You can block https pages without decrypting them if you set pfSense as an explicit proxy machine, but when they’re blocked it will just look to the user like the server is down, without showing a message about the page being blocked.

If I’m wrong about that, please correct me, since I would love to serve error pages for my blocked https sites, but don’t want to touch MITM. From everything I’ve seen, it’s impossible to do so.

Best of luck! If you want to say thanks, you could “buy me a beer,” but it’s much more likely I’d spend it at Starbucks, so…buy me some Chai!

iMag on a budget – Final Recommendations

Posted on : 03-24-2014 | By : Andy | In : uncategorized

Tags: ,


(Note: this is the final post of a series on how to do iMag without a megachurch budget.)

We’ve been through a lot here, and while this particular setup fit our church, your needs will probably be different. Adjust as necessary!

If you had no cameras or equipment, a great start would be the ATEM Television Studio, a used Sony FX7 (does 1080i), and a PC with HDMI out running PowerPoint (using a chroma key for lower thirds). If you camera was within 12′ of your TVS device, an HDMI cable would suffice to connect it, otherwise a BMD Mini Converter will run you signal great over SDI. Total outlay? Maybe $2,000 – $2,500, and you’d have a really nice-looking sermon recording.

From there:
Cameras that support SDI natively are a good bet, and the HPX250’s we went with are a steal. Redundancy of systems is nice with a really mission-critical application, but frankly in 5 months of usage, our Television Studio only crapped out on us once, and that was related to someone messing with the android control app. I wouldn’t go redundant if our sermon recordings weren’t being shipped to other churches every week.

Live Streaming:
With MXLight, you can do a direct pass-through of the H.264 stream from your TVS, which takes very little PC resources. If you have an old PC lying around, you might be able to repurpose it for such a use at little to no cost.

Pretty keying:
A Mac with ProPresenter running the Alpha Keyer is really beautiful, but hardly necessary. You can do great things without that expense if you’re a little creative with Keynote or PowerPoint.

If you have ambient light issues with your projection screens, check out Screen Innovations. Really.

Spend your dollars where it counts:
Let’s face it, we’re in the business of inviting people into eternal relationships with an infinite God. If you can get the job done well enough, and at the same time save some money on technology that could be better used in reaching the lost, why wouldn’t you do that?

God bless, and good luck. Questions left in the comments may or may not be answered with any sort of expediency, but it couldn’t hurt to try, right?

iMag on a budget – Redundancy

Posted on : 03-24-2014 | By : Andy | In : tech

Tags: , ,


(Note: this is the eighth post of a series on how to do iMag without a megachurch budget.)

The good news is that BMD devices are cheap. The bad news is…I’m still looking for the bad news, but I had a friend from another church tell me they refused to use them because of reliability issues. We haven’t experienced this (I thought we had a broken SDI jack once, but it turned out to be the cable).

However, because these BMD devices are so incredibly cheap, we can afford a failover system. If a “better” switcher is $5,000 and a BMD ATEM TVS is $1,000, I figure you just buy two of them, right? You’re still saving $3,000, and you have dual switchers to boot! (And, of course, even that “better” expensive hardware can fail.)

Well, not so fast I guess. If you want a live failover system, you need your cameras and your graphics feed to go into BOTH switchers, and you need BOTH switchers to feed into your projectors.

So I wired up frankenstein. You can get Monoprice 3G SDI Splitters splitters for cheap, so I bought a bunch. Now, each source goes into a 1×2 splitter and gets routed into both of the ATEM devices.

Both of the ATEM outputs run into the A/B Switch, which controls which device is being sent to our projectors. If our main goes down, we hit the A/B switch and poof! We’re routing through the backup. Total cost: somewhere around $300 all said. That does mean a LOT of power and SDI cables floating around, so there’s that. If you want the ‘better’ way, it’s not as cheap.

$1,500 buys you a BMD Micro VideoHub. It’s a 16-in, 16-out SDI matrix, again for a fraction of a price of the competitors. It will do all the routing and switching you need in one rack-mountable unit. Add $500 for their physical controller for this router.

If you’re good at math, you’ll notice that the cost of cleanliness and convenience is about $1,700, which on our budget was just a little too much. Of course, if you could find a gently used VideoHub on eBay…you might close that gap a little bit. Your choice!

Either way, you’d still come out cheaper than a single, more expensive switcher. I dare my Television Studio to fail…we’re perfectly poised for failover!

NOTE: Aside from redundancy, there are other benefits to having two ATEM Television Studio devices. Given that both devices have access to all the same video sources, we can show one live feed/mix to our in-house audience while simultaneously producing a second, different feed to our live internet stream through the second unit. For example, a wide-angle staging shot is helpful for a remote audience, but distracting for our live audience. This also can help keep your video operators from getting bored.

NOTE: The two BMD Video Matrix items I mentioned can also be purchased integrated into one unit.

Next up: final recommendations

iMag on a budget – Projection

Posted on : 03-24-2014 | By : Andy | In : tech

Tags: , ,


Projectors are a project in and of themselves, and can easily cost you $10k-$100k or more depending on your needs. We already had OK projectors, but we made some updates to make them more, well, awesome.

Problem: ambient lighting. We have 5000 lumen projectors that are bright enough for our room, except for the awful amount of ambient light hitting our screens. It’s really bad, but we can’t turn down the lights because we preach from the Bible and we want people to actually bring theirs and read them with us. The net effect is washed-out video that looks like a cheap-o LCD from the early days. Ick.

Solution: Screen Innovations Slate screens. New to SI in 2014, you have to see them to believe them. The real solution is their Black Diamond line, but they’re so incredibly expensive that it will make your head spin. The Slate line is almost as good, but at a palatable price. We were able to get replacement screens for our setup for under $6,000, which is far short of the $10k+ per projector that we’d need to spend in order to get a similar performance boost out of projectors. It’s still a lot of money, but all it took was for me to get them to send me a sample. I taped it to our current screen, turned on our lights, played back a video through our projectors, and had our finance guy and our senior pastor look at the difference. Sold! We also found some new 1080p widescreen projectors to replace our old 4:3 ones that so far have been absolutely stellar: 5000 Lumens for less than $2000/each. (I think we found a dealer to get them for us at $1500 a piece, of you can get them direct from Amazon here: Optoma EH-501)

Problem: getting video to our projectors. Our current solution involved a VGA over Cat5 video sender, which was dodgy at best. Trying to maintain the right EQ and Gain balance for the signal was hard enough, but the scaler that downsized our video to fit on our 1024×768 projectors also messed with our signal. Our projectors could accept a 1080i or 720p signal, but getting that signal to the projectors untarnished just wasn’t happening.

Solution: HD-SDI can reach about 300′. Our ATEM Television Studio has 2 SDI outputs, so we just strung the output over RG-59 cable up to our projectors. The projectors can’t handle SDI in, so we used an HDMI-to-DVI cable to plug our projectors into the HDMI out of a ghetto-cheap SDI to HDMI converter. Getting our signal to multiple projectors involved using Monoprice 3G SDI Splitters, which I highly recommend. Monoprice makes a 1×4 SDI Splitter splitter as well, and a 1×8 SDI Splitter.

Next up: redundancy.

iMag on a budget – Live Streaming

Posted on : 03-24-2014 | By : Andy | In : tech

Tags: , , ,


(Note: this is the seventh post of a series on how to do iMag without a megachurch budget.)

Note: while we have done this in the past, we’re not currently doing this.

Note: we may never do this consistently.

Note: we will probably do this, at least on an occasional basis, so I did my homework.

Note: if you plan on doing this for your musical worship, make sure you update your CCLI license to cover that kind of usage.

As I mentioned earlier, the ATEM Television Studio supports a live H.264 feed over USB 2.0 to a connected Mac or PC. If you use Livestream’s service for live streaming, their producer software recognizes the TVS and makes it work like magic. You set the quality requirements to match your network’s upstream link speed, and it does the rest. We’ve streamed a few memorial services, and one children’s choir performance, using this method. I’ve also used it in-house for a quick-and-dirty overflow room, since you can just subscribe to your own Livestream event in another room with a computer connected to a TV or Projector and sound system! (It has about a 15-second delay round-trip).

If you want to use another streaming service, I’ve read a gazillion recommendations for MXLight (£55), which allows you to output a usable stream for just about any service out there. I’ve never tried it, but there’s so many people out there recommending it on every corner of the globe that I’d be remiss not to mention it.

If you don’t like paying for your live streaming, you can use YouTube live for free, now that Google is opening live events to anyone with a verified account. (This is our planned course of action). I haven’t done much research into PC requirements for this however (Adobe FMLE or MXLight should do the trick), since our initial forays into this consumed massive CPU resources. (60% or more of an i7-960) I’d hate to think that a PC crash could take down our live stream, and frankly I’d rather have that PC free for other purposes such as running the control software and saving our backup recording.

The perfect solution is a Teradek VidiU ($699). It’s a little box that supports HDMI input and does hardware H.264 encoding that is perfectly compatible with YouTube live. Plug it in, set a few settings, and you’re up and running.

Next up: Projection