Blown CFL Teardown (Autopsy?)

A relative gave me this CFL, which had started spewing fire one day. Naturally I was curious as to what caused this.

Before we get started – the smell! This thing has the typical “fried electronics” smell, but magnified by 1000. It stunk up my whole garage after being inside for just a day!

Now for the good stuff. Here are some photos of what I found, with a few comments along the way.

The culprit:

The Culprit


Looking more closely, we can see a resistor/axial component in the burnt hole:

Resistor Poking Out?


After popping the top off, we can see the PCB. It appears that some of the solder joints near the charred section have actually reflowed (or there are a lot of poor solder joints). I suspect this is an indicator of just how hot it got inside here (solder melts near 260°C):


We can even see carbon built up on the lid:

Under the Hood


After removing the top, and making some precision cuts…

Precision Cutting


We’re in! Wow, what a mess:

Yeah, She's Toast


Looks like the failure occurred right around the neutral wire connection to the PCB. The main electrolytic is bulging is likely  the cause of the noxious smell. Looks like the film cap blew up as well:



In the bottom-right of the previous picture, you may have noticed what looks like a coil of wire. It looks like (part of) a toroidal inductor/transformer, but the top half the core is missing!



Interestingly, the high-voltage section appears to be fine:

High Voltage Section


Inside the base – this is definitely the Neutral wire

Wire Connection To Base


Do you have any ideas or comments about this failure? If so, please leave a comment below!

Relaying Email With TekSavvy

I’ve just finished struggling through email setup on Ubuntu 14.04. TekSavvy apparently blocks port 25 outbound, except to their own mail servers. If you call and ask nicely, they will tell you it costs $4/month to unblock port 25 to the rest of the internet (you must pay for a Static IP in order to obtain unrestricted internet).

But there is an alternative!

Fortunately TekSavvy’s mail servers can be used to relay your outbound mail. This should be easy to set up, but I was plagued with a  530 Authentication required (in reply to MAIL FROM command) error when trying to use (the server that was recommended to me).

The solution was to use – the SASL options are likely now unnecessary in my conf file, but since it works I’ve decided to leave things as-is.

In case it helps someone, here’s my Postfix configuration:

root@SERVER:/home/jordan# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
inet_protocols = ipv4
mailbox_size_limit = 0
mydestination = localhost
myhostname = SERVER
mynetworks = [::ffff:]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_always_send_ehlo = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/saslpasswd
smtp_sasl_security_options =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes

Wouldn’t it be nice if things just worked?

Today I was searching for a “paint mixer” – one of those twisted metal screw things you attach to a drill and stick in a bucket, to mix paint / grout / whatever. There’s a picture below, for those who are imagination-impaired.

Now, I’m generally pretty impatient when it comes to projects. If I have to wait a couple weeks for shipping, I will have likely moved on to something else. However, most big box stores in my area have updated their websites to specify whether an item can be found in-store, or if it must be ordered online.

Home Depot is usually pretty good at this. But today they weren’t. Have a look at the page for the mixer:

Home Depot Mixer

This particular page specifies “SOLD ONLINE & IN-STORE”. But how do we check the stock level at our local store? The button to check stock seems to be missing! Have a look at another page:

Home Depot Other Mixer

There’s clearly a “Check Store Inventory” link visible here.

I wonder if we can make it work for the other item?

Open Chrome’s Developer Tools and go to the Network Tab. After clicking the “Check Store Inventory” link, we can inspect the request that’s made.

Inventory Request

Success! We can clearly see a skuNumber specified – we should be able to change this to the SKU of the first mixer, the one with the missing link. This should be 1000427837 as per the first image.

Right-click the request, and choose “Open Link In New Tab”. Then simply change “skuNumber=1000145918” in the URL to “skuNumber=1000427837“. Hit enter to visit the newly crafted URL.

You should be greeted with the response, which indicates…

No Stock

No stock. Anywhere.

Darn. I guess there’s a reason the link is hidden. Perhaps they should hide “[available] IN-STORE”.

Better luck next time.