Printing with the Mosaic Palette and the E3D Lite6 – Bleeding Issues

The Mosaic Palette is an amazing device. It allows you to print in 4 colors instead of 1, opening up a world of possibilities. There are still quite limited offerings on thingiverse for Multiple Color STLs, but the list is growing every day, and you always have the choice to use Meshmixer, and turn an existing single color object into a multi colored one.

My palette was fully calibrated and printing well, but I noticed an odd behavior. When transitioning from strong colors (e.g. black / blue), to weak colors (e.g. white / pink), no matter how much transition length I added (I even tried the max, 230mm), I would still get color bleeds. That means my hot end was not entirely purging!

I am using an E3D Lite6, which supposedly has a very short melt zone, and that should help reduce the amount of waste filament you print on the waste tower. But in my case, I was getting these bleeds:

Notice above how the pink starts transitioning, but when there is a pause for a ping, it becomes more bluish again, creating these weird stripes on the purge block

Asking for advice on Facebook proved quite helpful. Members pointed out that very likely my Teflon tube was not fully inserted. I had recently replaced my regular PTFE with the Capricorn XS, and sure enough, there was a small gap when I took the hot end apart:

After re-seating the tube, problem resolved, and I was able to reduce my transition length a LOT, from the standard 130mm to about 100mm for strong colors, and 80mm for weak colors.

Configuring the Pi Hole with Asus Routers (Merlin or John’s Fork)


This is a quick and easy tutorial for those that are struggling to get this to work. I started by reading the Pi Hole documentation:

This is sadly not optimal for those of us that have the Asus Router, but fortunately after breaking my internet a few times, I was able to find simple settings that allow:

  • Easy setup
  • No mucking around with the command line
  • All the benefits the Pi Hole can offer you

Instructions – Asus Router

Step 1: Follow the Pi Hole install instructions as provided on the link above, you can use the automated install, and just accept all defaults. Note the IP address assigned to the Pi Hole

Step 2: Open the Asus Admin interface (usually

Step 3: Go to the WAN tab, and specify DNS servers for your router. This is very important, otherwise you will end up getting a lot of queries from your router o the Pi for the heartbeat. In my case, I’m using Cloudflare’s DNS:

Asus WAN DNS Setting for Pi Hole

Step 4: Go to the LAN tab, and under DHCP server, configure the following fields:

Pi Hole Asus Merlin Configuration

Domain Name: This will make it easier to identify your devices on the Pi Hole Interface later on! Choose something nice 🙂

DNS Server 1: The IP Address of the Pi Hole

Advertise router’s IP in addition to user-specified DNS: Disable, otherwise the router will also be advertised as a DNS server, and will not make the Pi Hole work properly. We will configure something on the Pi Hole later on to ensure that local DNS queries are handled by the router

Forward local domain queries to upstream DNS: Your upstream DNS is the Pi Hole, you want local queries to stay on the router (as these will be coming from the Pi Hole, so if you enable this, you likely create a DNS loop! lol)

Manually Assigned IP: Very important to set the Pi Hole Mac / IP here, this ensures the IP address of the Pi Hole never changes

Instructions – Pi Hole

Step 1: Under the Pi Hole Admin GUI, go to Settings -> DNS

By default Google is selected, but some benchmarks from the web show that Cloudflare performs better:
Pi Hole Advanced DNS Settings for Asus Merlin
The most important setting is the conditional forwarding, as it will ensure you can still resolve local names on your network, and also will make the Pi Hole display stats with names, instead of just the IP addresses

Step 2: Save and reboot everything! Wait for a few minutes, and check your Pi Hole interface to see the queries coming in!

Step 3: Experiment! I plan on trying to enable DNSSEC, and see how much performance impact I end up having. Post comments if you disagree with any of the instructions above! What worked for me might not work for you! 🙂

Porting out to Bell: “The number you requested cannot be transferred to Bell at this time. Please call 1 888 466-2453 for more information”

If you check redflagdeals, there are a lot of Koodo deals from time to time. They also suggest “porting out” the number to Bell with a prepaid SIM. I tried that, but got interrupted in the middle of the process, and when I tried to continue, I got the error: “The number you requested cannot be transferred to Bell at this time. Please call 1 888 466-2453 for more information”

Someone suggested calling Bell, and they could manually override it, but once I got someone on the phone, they also got an error when trying to do it. They told me to call Koodo. That defeats the purpose of doing this in the first place!

So, I went to Koodo’s self service site, selected my existing plan, and I went into the “change my phone number option”, I saw the following message: “You tried to transfer your phone number but it was cancelled. Please try again.”

That brings us back to business. After seeing this screen, I tried again the process on the Bell site, and it worked! Hopefully this helps someone in case they run into the same problem.

Another option might be to try to change your number (it’s free), if the above fails. Good luck!


Enabling SSL on Azure App Services with custom SSL Certificate

Currently, there is no easy way to generate a certificate request (CSR) directly from Azure. Fortunately, there is a very handy tool from Digicert, that you can download here:

1 – Open the tool and click generate CSR:

2 – Fill out the details according to your needs:

3 – Save the file as a CSR, and use it on your certificate provider (in this example, I will be using Digicert, but there are many others available: Geotrust, RapidSSL, Comodo, etc):

4 – After processed, you should get a certificate file back (.cer, or .crt). Import that via the tool:

5 – You an add a friendly name or leave it blank, not really useful as you won’t be keeping the cert on your local computer anyways:


6 – Your certificate will show up on the list, select it and hit export:

7 – Keep the whole chain and the key as a pfx file:

8 – A password is required since you are exporting the private key:

9 – Save the pfx, and you can go ahead and right click the cert to remove it from your local computer:

10 – Go back to azure, select your web app, select SSL certificates, and click “Upload Certificate”

11 – Select the pfx file you exported, type in the password you defined earlier, and hit upload:

12 – If all goes well, you get a nice message informing the import was successful:

13 – Next step, you need to add a binding to your cert:

14 – Next step, try out your site with https, and see if you get the green lock. At this point, you can still access the site via http, I recommend leaving like this until you fully tested https is working:


15 – Last step, once you are confident your site is fully working in https, is to enable the redirect from http to https, by selecting https only on the same page (SSL settings at the very top). I also recommend setting your site to TLS 1.2:

16 – As a final test, head out to and test your site:

Congratulations! You are done! Now, put a reminder for yourself so you don’t forget to renew the certificate 🙂

How to fix “Warning: Use of undefined constant” error with WordPress after upgrading to PHP 7.2

I recently upgraded my wordpress blog from PHP 7.1 to 7.2. After that, I started getting an error on the top of the pages: “Warning: Use of undefined constant”, pointing at what I  previously set on wp-config.php: DISABLE_WP_CRON

I used this to disable the cron triggering with user access, instead I set up a manually cron job that runs every 20 minutes and open the wp-cron.php

The instructions I used asked to use the following format:

Turns out PHP 7.2 does not like it. The fix is quite simple. Just declare like this instead:

define( ‘DISABLE_WP_CRON’, ‘true’);

I suspect some plugins might be affected by this too, but so far all the stuff I’m using is very up to date, so no issues yet 🙂