Caleb Cushing's Blog Also known as XenoTerraCide

Adventures with SOAP using Perl: Part 1 ( SOAP::Lite )

The most prevalent of SOAP libraries for Perl is SOAP::Lite it is the oldest and most documented. Though for all of its documentation it can be quite painful to figure out how to use it. First make sure you’ve read Part 0 to set up the server. Once that’s done let’s look at the most simple way to interface with this server. In our first example we need to send a request to getCountries, which is a method provided by the API.

Adventures with SOAP using Perl: Part 0 ( prelude )

This is a prelude to a series on working with SOAP Requests using Perl. For the past 3 months I have been working on a Perl API for CyberSource’s Simple Order API which uses SOAP (I should note, that although I believe most of the API is now stable some area’s still need work, and thus I don’t expect it to reach 1.0.0 anytime soon). First I used SOAP::Lite to do my requests, but I found it confusing to construct the requests that I needed to make.

Experience with having a non Dist::Zilla user contribute to a Dist::Zilla project (it's not hard for them or me)

I’ve heard many times that Dist::Zillamakes it harder for people to contribute to the project. This is not true, it is either unfortunately either ignorance or FUD (much like saying Linux is harder to use than Windows). Truly, there are things that some dzil users do that canmake it harder, but it doesn’t have to be that way. Michael Schwern recently contributed to one of my dzil projects without ever realizing I was using dzil, until I told him.

My solution to not using PluginBundle:AUTHOR for dzil is git

I am now tired of updating my dist.ini’s for my Dist::Zillaprojects. For many people this is when they start using a PluginBundle with their authorname. I discussed why you shouldn’t do this a year ago. Now that I’m tired of managing my dist.ini’s on an individual basis I’m going to show you how I’m going to solve the same problem everyone else is, which is getting tired of updating your dzil configuration for all of your projects.

Regen2 accounts transferred

I killed regen2 about 2 years ago. Today I was contacted by Rafal Kupiec asking about the project. Since it’s dead he asked if he could take over the project. I have transfered the github account, and freenode channel #regen2 to him. The google groups are remaining archived. At some point in the future there should be a site at asiotec.orgI have no idea what he plans on doing with it.

Test::Version under maintenance again

About 4 months ago russoz (Alexei Znamensky)sent me a message about quoting the versions generated by Dist::Zilla::Plugin::OurPkgVersion. I was a bit skeptical at first about needing it, and the suggestion seemed to have more to do with style anyways. But after digging a little I found to my horror that OurPkgVersion was generating completely invalid multipart version strings, e.g:our VERSION = 0.1.0;Which doesn’t work. I was shocked because I was using Test::HasVersion.

New beginnings

Since I truly last posted a lot has changed. I moved to Houston, TX, USA (from MI) for a position as a Linux System Administrator. As of this week I’ve been moved to the programming department in my company, coding Perl. I’m also an elected moderator on StackExchange’s Unix & Linux. Of course there’s always updates to my CPAN dists.

Adding and Deleting subdomains with Plesk on the Command Line

Plesk has the disadvantage that everything is done through thedatabase. So we can’t just modify Bind’s Zone files.To add an A record of a subdomain you have to do the following:/usr/local/psa/bin/dns -a domain.tld -a subdomain -ip 127.0.0.1the first -a is for add to zone which is why it must specify the toplevel domen, the second is for A record, and must not contain the fulldomain only the subdomain. If you use the full domainsubdomain.

Writing a simple Dist::Zilla::Tester test

Hopefully, someone will use the blog post to write an actual doc patch, seeing as how this is undocumented. I finally wrote A test for DZP::OurPkgVersion with the help of CJM. So I figure it’s best to share the knowledge imparted upon me to all those who are writing plugins without tests. Before we get started I’m going to advise that this test will only check the output that dzil built, if you need it to test anything more sophisticated, you’ll have to learn more.

Making Secure Recoverable Passwords ( part 3 )

If you haven’t read Part 1please do so.Although the criticism of Part 2should be taken with a grain of XKCD Salt, and even the primary plaintiff admitted that it would take him 2 months to crack the final salted sha512. Usually your attacker shouldn’t have your shadow file, and having stored them as anything less is just plain not secure. I will acknowledge it has some merit.Doing a base64 transformation on hex only digits is a bad, idea, and does not have nearly enough possible combinations.