WordPress Sleeping Database connections solved

I ran into an issue where I had many sleeping database connections that were chewing up server capacity.  It came down to a file called XMLRPC.php which is used for inter-site wordpress communication.  Blocking it disables the sleep commands it was generating.  🙂

adding this to the .htaccess file dealt with it.

<Files “xmlrpc.php”>
Order Allow,Deny
deny from all

That also breaks some trackbacks, etc…. but I can live with that.

Sorting with UV light

2016-04-18 20.42.04

I ordered some 1 Watt and 3 Watt LED’s from AliExpress.  They were cheap, like 10 cents each.  Free shipping.  All good till they showed up mixed in an envelope.  In regular light they are identical in appearance.  Fortunately I had a small UV flashlight I had ordered.  I thought it was interesting and had ordered it for $5.

It turns out that the LED’s are vastly different in appearance under UV light.  This enabled me to quickly sort them.  You can see the 3 Watt LED’s on the left and the 1 Watt on the right.  I know the size based on the quantity I ordered.

no upgrade for Eagle

I licensed Eagle 6.5 in 2013.  When I resumed designing boards this year it started bugging me to upgrade.  Figuring it would be disruptive I put it off.  Well, I went to finally upgrade this week and discovered that the ‘light’ license has no upgrade option.  It’s another $69 if they want me to upgrade.  Hmm, what do I get?  So I read the release notes and couldn’t find any useful improvements.  They certainly don’t seem to have fixed the things that irritate me the most about the program, such as:

  • Annoying habit of not connecting parts to wires if the scale is off just slightly.
  • No way to “fix” such connections.
  • Parts get out of alignment and can’t be “snapped” to alignment.
  • no decent basic parts libraries for stock discrete components.  Forcing one to scrounge for SparkFun and ADAfruit libraries, or make your own.
  • Not being able to “pin” the ground planes to the outline of the board.
  • Having to “smash” parts and manually move the labels

As a bonus, the upgrade is one way for your files.  So if you open something in v 7.5 you “convert” the file and can’t go back to it with an older version.

I decided to stay put on v 6.5.  It works just fine and I haven’t found anything I need in the new version.

The thaw – resuming shipping of kits

I am very happy to announce a return to doing business. For the last 1.5 years I had stopped selling and shipping kits. I originally anticipated it being a shorter pause. I sold one house and bought another. While I’m not done with my new house I am to a point where I can resume building and shipping kits and projects. For anyone who has patiently waited this long, thank you.

Amazon SES – Not ready for primetime

I give up! Amazon SES is a pain in the tail to get running. I understand that security is a compromise between the desire to put something inside of a block of concrete and leaving it in the middle of the street. SES is too deeply embedded by Amazon’s paranoia. Poorly documented sandboxing, no obvious way out, and unreliable performance make it anything but simple.

I’ve tried on and off for a month to deal with it. I went back to SendGrid which is truly simple, reliable, and easy to use. From start to test email delivery from my EC2 instance took under 5 minutes.

Now, in all fairness, I have used Sendgrid before, and I use it at the company where I’m the IT Manager. It is bundled free with Azure hosting. However, Azure is like flying economy class whereas AWS is like flying jumpseat. You have alot more data and alot more control at AWS.

The majority of what I use it for is administrative notifications from my EC2 instance and the wordpress sites I host on it. It’s really a shame, because so much of AWS is well documented and otherwise easy enough to use. However, AWS support is $100/mo and there is no “break glass” option of $10/incident etc for individual developers who need help, but don’t want to subscribe to help.

Fusion 360 material experiment – 3D printing

So I’m on version 24 of my 3D printed unobtanium part….. I keep tweaking the dimensions and re-printing. It occurred to me that Autodesk Fusion 360 thought I was working in Steel, when I’m actually working in plastic. ABS plastic to be precise. Fusion 360 is a really nice CAD/CAM tool that represents the future of software delivery. It’s cloud-connected which means I can work on my project from anywhere, but I still get the power of my 8-core AMD Bulldozer CPU with 3 24″ screens when I’m at my home office.

So I made the inner radius a little smaller. That is the part I’m working on. I then exported the STL 3D model as I always do. And then I went back and changed the part material from Steel to ABS Plastic. I exported that as 16mm ball cap v24-ABS. I put both of them in Simplify3D and we’ll see how it goes. The “steel” one is on the left. The “ABS” one is on the right. The question to be answered is does Fusion 360 compensate when exporting the STL for 3D printing? It’s 3D aware and creates beautiful, defect free STL files.

Here is a screen grab of the Simplify 3D. The thin red lines are the tool paths when not extruding.

And the answer is NO. Both versions are absolutely identical to each other.

Reset powers down my USB Port!

I recently had a question from a customer who had purchased TinyTimer KS and was concerned that when they pressed the reset button it would power down the USB Port on the computer.  This post addresses what is going on and why that happens.

In the Arduino environment reset generates a condition that looks like a short.  Essentially it drops the voltage to the chip and causes a reset.  In the PC environment the USB bus is designed to protect the components connected.  So when a device shorts out its port is powered off by the computer to protect the USB bus.

When the same Arduino compatible device is connected to a “dumb” USB power source such as a wall charger, the reset works as expected.

The takeaway here is that you should avoid using reset while connected to USB on a computer.  Instead, just unplug the device and plug it back in when using a computer for power.


More Azure Headaches

Microsoft Azure is nice, but I’m beginning to doubt it.  I found that the server hosting Nanohawk.com was unresponsive again.  My fault for not dealing with it sooner. I had gotten an alert from Pingdom a few days ago, but thought it was an anomoly.

It refused to restart via the portal.  I wound up having to stop the server and then start it again.  That’s fine, but it changed my IP which required an update to DNS after trying to figure out why I could not load the webpage or get SSH to respond.  It would have been nice if Azure had warned me I was going to lose the IP address.  I would not have wasted 15 minutes trying to figure out why the machine wasn’t responsive despite the console indications that it should have been.

Amazon Web Services is looking very interesting.  I’m already there for backup and DNS management.  Instances are the same price.  Amazon has great documentation.  Microsoft has documentation written by marketing that rarely contains what I’m looking for.

UniPowerSupply – an LM2576 based design

I ordered boards to test a new power supply design.  It’s based around the National Semiconductor LM2576.  This accepts 7v to 40v as input and uses switching to produce a stable 5v output.

One of the things that became apparent to me as I worked on TinyTimer and TinyPLC is that a USB power input wasn’t always convenient.  I still think it is a great power source for small electronics.  The wall transformers are plentiful, cheap, and have a very easy to find cable that is very durable.  All qualities that are optimal for small embedded projects.

However, in some control applications it would be convenient to use whatever DC power is handy.  A rectifier could be added in some cases to deal with AC sources like 24vac which is very common.

I am also looking at the LNK306PN which is essentially a power supply on a chip.

Here is an image of the prototype / testing board:


TinyTimer KickStarter Edition is code complete

I wrapped up the code for TinyTimer KickStarter edition.  This completes the project and paves the way for units to ship.  It has several unique features that are missing from similar units on the market.  These features include:

  • Arduino IDE compatible for education and hacking
  • OpenSource Hardware design with Eagle files available.
  • Push Button programming and easy to use jumper for run/program mode.
  • Natively supports time periods of deciseconds (1/10th second), seconds, minutes, hours, and days.
  • Allows periods to be mixed for significant flexibility.
  • Supports values of up to 9999 for deciseconds, seconds, minutes, and hours.  Days are limited to 490 based on limitations in 32 bit unsigned long numbers.
  • Example applications:
    • Run a pump for 1 hour per day, or per week.
    • Flash a light for 2.5 seconds once per minute.
    • Run a device for 2 hours once per 30 days.
  • Kit price is expected to be $55 with a fully assembled and tested unit for $75.  Shipping not included.