Caleb Cushing's blog

Business::CyberSource API is stabilizing as of 0.7.x

Business::CyberSource (BC) has been going through API changes for a while now. If you’re using it you’ve probably noticed this and wondered why? The reason behind it was when I first made it I wanted it to be extremely simple to use, and I was realistically a Junior programmer. Over the past year I learned a lot about API design and Object Oriented Programming, as well as payment gateways and credit card transaction processing. Read more →

Announcing Dist::Zilla::Plugin::Catalyst

So I just recently finished reading Restful Web Servicesand decided I wanted to go back and play with Catalyst and REST some. The original way to create a Catalyst skeleton is to run catalyst.pl MyApp. This creates a lot of nice files to get you started. dzil new basically does the same thing for a generic cpan module. Honestly, without any plugins dzil new isn’t that useful. However, once you add Git::Init , you remove several steps from the creation of a new module and repository. Read more →

Solving code generation problems in dzil

Firstly I want to clarify a bit on my opinions of PluginBundle::USERNAME modules, as some comments there have inspired this post. I don’t think you should use them because it makes it harder to disableplugins, and I think Robin Smidsrød put it best: Mostly it is because the Dist::Zilla::PluginBundle::USERNAME doesn’t actually say anything about its intention. It only says use Dist::Zilla as this person does, but what does that actually mean? Read more →

please don’t use Dist::Zilla::PluginBundle::USERNAME

or create them. Here’s the problem…. (short version is Don’t put PodSpellingTests in them) normally you’d have [pluginA] [pluginB] [pluginC] [pluginXTests] [pluginYTests] [pluginZTests] and one of them doesn’t work on your system (for whatever reason), well you can just do this. [pluginA] [pluginB] [pluginC] ;[pluginXTests] [pluginYTests] [pluginZTests] the ; is a comment in ini, now dzil won’t use that plugin. But people will say well you don’t want to do that of course I want that plugin enabled. Read more →

GPL 3 and Artistic 2.0 Software::License

As of right now Software::License has no way to combine licenses on the fly. To be honest this deficiency might not be a bug in SL, it could be in Pod::Weaver or Dist::Zilla this is a know deficiency and RJBS plans on fixing it at some point. In the mean time we can implement dual licenses (and multi-licenses) in much the same way the Perl5 license is implemented. I was probably in legal violation (I am not a lawyer) with Template::ShowStartStop version 0. Read more →

Managing CPAN on Arch Linux

So if you’re running Arch Linux and want to install a bunch of packages from CPAN the best way is NOT to use the official cpan client, or even the new cpanminus. No your best bet is to use AUR or lacking AUR packages, create your own, and I’m gonna walk you through how I do it. The really nice thing about installing packages with Pacman is that unlike cpan there is a utility to uninstall them. Read more →

Iron Man and introductions

So I’ve decided to “compete” in the Iron Man competition. My name is Caleb Cushing, I’m a 25 year old, unemployed, student, living in the Greater Lansing, MI, USA, area. I’ve been programming perl for approximately 6 months. This includes a lot of off time, time to relearn the language from the class I took a couple years ago (and learn modern perl), learning Catalyst and DBIC, all of which is an ongoing process. Read more →