Long time no blog. I posted on reddit about my new module, Mojo::Snoo. I'm shooting for a funky Perl wrapper around the reddit API. Right now, I'm the only one using it (I think), but would like that to change.
So...feedback welcome! Install, break, complain, etc.
Oh, and I will be hosting a hackathon at Miniconf this weekend in NYC. So, feel free to say hi and help me with some development.
Yesterday I had this idea of creating a site where people and companies could offer bounties for fixing specific bugs in a piece of open source code. Then I ran a search and found
Bountysource
.
I wonder, have you or the company where you work ever used it? Would your company be ready to offer bounties for fixing specific issues in a CPAN module or even in core perl? (bugs or new features alike.)
Would such bounties be a better way for TPF to spend their grant-money?
I thought I would share a little trick I use to get these three complex and
idiosyncratic frameworks to play nice with each other.
Catalyst and HTML::FormFu are a powerful combination that allows you to tie
the form displayed by your view to the form processed by your controller.
This direct link means: 1) your field names in your generated HTML will always
match the field names used in form processing, 2) default and redisplay field
values set by your controller will always match up with the values displayed
by the view, and 3) any constraint or validation issues detected by the form
processing logic in your controller can be directly associated with the
fields displayed by your view. Without this link, keeping a form defined in
our view in sync with the form defined by our controller is a large source
of potential bugs.
In this presentation that I gave at MadMongers last month, I show you how to use AngularJS as a front-end to your Perl backends. Presentation files available as well.
(Wow, has it really been almost 6 months since I last posted here? Man, I’m slacking ...)
A while back, I decided to play with Dist::Zilla, and one of the first things I decided to do was make my own plugin bundle.1 Now, if you don’t know what a plugin bundle is ... well, that’s a bit above and beyond the scope of this article.2 Suffice it to say that, if you want to get the most of out DZ, you want to create your own plugin bundle. (And, if you don’t want to do that, then you probably want to be using something simpler than DZ, like Dist::Milla or Minilla or Zilla::Dist.)
So I created one a long time ago but then I never did much with it. I personally don’t have enough CPAN distros to juggle to make spending a lot of time fiddling with DZ a priority. But lately I’ve decided I want to get back into it. So I started out by installing the latest version I’d put out on CPAN.
MetaCPAN would not exist as we know it, if it weren't for our sponsors. I'm particularly happy to say that we have some incredibly supportive hosting sponsors who understand our needs and provide us with the gear that helps us keep up with our demand.
Git is a wonderful tool, and there are
alotofgitwrappers
written in Perl on CPAN. They all depend on running git in their test suite.
Test::Requires::Git offers a simple way to declare which versions of git a test depends on, so that it can be skipped if the available git does not match the specification.
This has been a busy week with Veure. As usual, my daily routine is:
Wake up
Hack a couple of hours on Veure
Work for $client
Have dinner
Optionally hack more on Veure
Hack, in this case, does not simply mean "write code." There are many other things involved, including research, research, and more research. And legal stuff. And writing. And hiring.
Yes, hiring. For example, we think we've found a great artist. If it works out, we can replace my crappy concept art of a space station:
New ships can be done, new background graphics, and so on. In fact, this could turn into a full-time job for him if Veure is successful. But that's not all we're hiring.
Somehow I missed to post my April report. Don't remember well what was the PR. It was something basic, as I lack the time for real work.
This month I prepared a Pull Request on removing HTML from result entries obtained with WWW::Wikipedia. Now, waiting to see if it gets merged. It seems I have no luck on my PRs to be merged...
Today I'd like to take a moment to recognize Bytemark, which has been a MetaCPAN hosting sponsor for over 2 years now. When our original hosting sponsor was no longer able to support us, we found ourselves in a tight position. We had 30 days to find a new solution in order to keep MetaCPAN online. Thanks to a very quick response from Bytemark (and Mark Keating, who helped us set up this arrangement) we had a seamless transition to our new host and new hardware.
In the recent changes, while it keep backword compatibility, it is an effort to get the Mojolicious::Validator grammar. Validator::Custom is more customizable than Mojolicious::Validator yet now.
For April, I was
assigned AnyEvent::ForkManager,
which claims to provide an interface similar
to Parallel::ForkManager,
but compatible with AnyEvent.
The module had some CPAN testers’ failures as well as an issue
reported on GitHub, so I tried to fix it. I wasn’t quite successful,
though.
Further playing with the JavaScript based view of CPAN I've added a new page in the lab called files. You can type in a name of a file (e.g jquery.js) and it will list you all the distributions that include this file.
You can also search for directory names such as js or css.
Let me know if you find something strange!
Oh and if you'd like to learn how to build the client side of the web application, register on the course I run before YAPC::EU.
Well something like that. The whole story is that I wanted to add in some new code on a rather old web-page. As the new code took some time to run I wanted to do it as an asynchronous call. So my new code would run off line and not slow down the already slow response time.
So I being a module sort of guy I had a try with Async and all seemed to work correctly in dev so we moved it into production and it seemed to work fine
Until
our Nagios started to complain and a quick 'top' gave us
I released Plack::Middleware::SignedCookies some time ago because I went looking for it and came up empty. This is a middleware that signs outgoing cookies on the server with a HMAC digest and verifies the digest on incoming cookies. If a cookie doesn’t pass the signature test, it is dropped on the floor and your application never gets to see it.
There are several framework-specific plugins that do the same job, but I wanted to get rid of as much framework-specific code as possible.
I have found myself in a bit of a CPAN exuberance these last few months.
While I have released several new modules, I haven’t found time to announce them individually.
Here then is a joint announcement of what I’ve been doing on CPAN lately.
On May 2nd 2015, the Second NYC Perl Hackathon event took place and this time around it was a completely different experience from the First NYC Perl Hackathon that took place in 2013. In early February, Jim Keenan made a call for a Perl Hackathon venue space in the NY.pm mailing list and Peter Martini from Bloomberg L.P. arranged a meeting to discuss the possibility of having Bloomberg L.P. host the event ( This is where my adventure started ). Jim Keenan reached out to me to assist him as a co-organizer ( and I excitedly said Yes ! ).
That is a screenshot from the completion of a level 1 mission "Find Amaidoo's E-slate." The code was painful to integrate, but it makes things like the above simple to do.