Dnsmasq and universal domain MX’s

Recently encountered a problem inside my network where local DNSmasq returned the same intranet IP for MX entries. This causes a feedback loop where mail is delivered back to the virtual machine where it originated.

To fix this, I configured DNSmasq with the following commands:


mx-target=192.168.1.3
localmx

Internally, I have an unrestricted relay (another virtual machine) at 192.168.1.3. These commands override the MX entry returned by DNSmasq for all entries in /etc/hosts.

If you use dig, it looks like this,


dig joshluben.com
joshluben.com 600 IN A 192.168.1.4

dig mx joshluben.com
joshluben.com 600 IN MX 192.168.1.3

Now you are asking why am I doing this? Because I have a dozen virtual machines inside my network, and some offer services outside my network, mobile devices like iPad’s, etc need consistency in the served domain entries to remain functional.

Numerical Recipes 3rd Edition

I’m a little behind the times, but I just found out there is a new edition of Numerical Recipes. I grew up on the Red 2nd edition. This content is even more applicable now that commodity hardware (think Arduino and low end ARM) can run a lot of these algorithms in real time.

First Look at UML in Visio 2013

I’ve used the UML stencils in Visio 2010 for several years now. While it has many flaws (lack of non-Microsoft adopted language support), it is very easy to use and works in most situations. I’ve spent hundreds of hours doing process modeling, use case, sequence, and class diagrams.

My first experience with Visio 2013 is finding out that 2010 documents with UML will import in read-only mode. That makes them a bunch of pretty pictures. Outrage!

Creating new class diagrams from scratch reveals that Microsoft stripped a lot of UML functionality. For instance, the entire infrastructure to generate code is gone. Without code generation, the interface simplifies quite a bit. No modal dialogs. No formally typed members. No differentiation between methods and attributes. These changes actually allow more flexibility if you want to deviate from the UML standard.

Sequence diagrams changed a lot too. Besides looking very Metro, there is now support for fragments and stacking activations. In Visio 2010, you would find many options under the right-click menu. In 2013, there are fewer options, given the flexibility you will find in the actual editor.

My first reaction was to hate Visio 2013. Change is hard. After spending some hours with it, and figuring out that it is actually more flexible, I like it much more. Oh yeah: I never did use code generation.

UML_Visio2013_Class

UML_Visio2013_Sequence