Custom Supports on Cura or Slic3r? It’s possible with Meshmixer!

The issue

Sometimes it can be quite challenging to print a part. Take sweetie’s head, for example:

This is quite a challenging print. If you try to use Slic3r’s support, you end up with something like this:

Here is how much filament you’d use:

The Solution

Fortunately, you can use meshmixer to help you out. Not only it will give a cleaner print, customizable supports, you will also save some filament. Let’s compare… First import the stl into meshmixer:

Then, let’s first transform the head to another position by using Edit -> Transform:

Hint: If you want exact numbers, hover over the mouse right on top of the circle

Next, accept the results. You might want to tinker with different rotations until you find the best one… I’ll just keep this one for now as an example, but I think it’s not the best for this particular model.

Then you want to align the object to the plate, to leave no gap

Next you will hit analysis -> overhangs

Some good starting values. Hit generate support

That looks a lot better

You can remove unnecessary supports by holding ctrl and clicking on them. To add more supports, click “remove support” and increase the angle threshold, and hit generate support again. You can also decrease the value of angle threshold to generate less supports. As an example see below angle threshold of 10, vs 25 from the picture above

Once finished, select the option “convert to solid”, and replace the object. Next, export the result as an stl. Here is what you get on Slic3r

Results

And that’s a 20+% savings in filament, and 25% savings in time to print!

This is the final result, after a few hours of printing:

It’s quite easy to clean, but the finish leaves some room for improvement:

The final product, with some colorful touches 🙂

Hope you enjoyed this guide! 🙂

Mosaic Palette and the E3D Lite6 – Bleeding Issues

The Issue

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.

The palette was fully calibrated and printing well, but exhibited 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 was added (even the max was tried, at 230mm), it would still bleed.

The E3D Lite6 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 this case, you can see these weird bleeds, where the color is transitioned, then the Mosaic Palette pauses, and the color “transitions back” to the previous color:

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

The Solution

Asking for advice on Facebook proved quite helpful. Members pointed out that very likely the Teflon tube was not fully inserted.

The regular PTFE tube was recently replaced with the Capricorn XS, and sure enough, there was a small gap after taking the hot end apart:

After re-seating the tube, problem resolved, and the transition length could be reduced tremendously, 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)

Introduction

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: https://github.com/pi-hole/pi-hole#one-step-automated-install

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 192.168.1.1)

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: https://medium.com/@nykolas.z/dns-resolvers-performance-compared-cloudflare-x-google-x-quad9-x-opendns-149e803734e5
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”

The issue

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”. I was stuck with this issue porting out to bell.

Possible Solution

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

The Issue

Nowadays, it’s quite common to use SSL for everything. Currently, there is no easy way to generate a certificate request (CSR) directly from Azure Web apps, like you normally do from IIS or from Windows Certificate Snap In. So you’ll have a hard time with azure custom ssl support.

The Solution – Generate a CSR

Fortunately, there is a very handy tool from Digicert, that you can download here:

https://www.digicert.com/util/

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):

Import the CSR

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:

Export a PFX

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:

Import into Azure

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 https://www.ssllabs.com/ssltest/ 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

The issue

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 solution

The undefined constant error is quite generic, but in this case 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!