after PSGI, CPAN has a lot of parts to build Web Application Framework.
It is easy making WAF yourself without uploaded WAF.
I think WAF uploaded on CPAN are just to provide a style.
Catalyst provides router system using method attribute. Web::Simple uses proto. Mojo provides WAF OO, Mojolicious::Lite provides some keyword for routing. Dancer provides many keywords. bla bla...
I didnt like any styles for my current project, but didnot want to make WAF from scratch.
So. now Im trying to use Dancer. I dont need full keywords. but "every feature is from keyword" style means Dancer looks like ::Util modules.
For example, you may use only the Dancer parts you need in this way.
I've moved Autodia and Maypole to github so that it's easier to share or hand over, and make the development more open and interactive.
Hopefully this means that if somebody wants to take the ball and run with it by taking over Maypole it should be pretty easy to handover, also I may be able to start giving people the ability to patch, or make pull requests to my autodia repo - I've been astonished at how smooth github makes this :)
I've been spending a lot of time writing Perl again, after ten years or so in management, and I'm throughly enjoying myself. I recently wanted a module to interface with a third party service, and was surprised to discover there wasn't already a CPAN module for it. My initial needs were very simple, so I decided this would be a good opportunity to find out the modern way to create a module for release to CPAN. This post is based on notes I took as I worked through this.
So, what's the modern way to do Makefile.PL? Tricky to find out, but I've seen a bunch of stuff about Dist::Zilla, and it seems to have a gazillion plugins. Right, Dist::Zilla (DZ) it is. Start off with the tutorial:
We’re having 5 simultaneous tracks at YAPC::NA 2012. The fifth track is for mini-workshops and hackathons. For example, brian d foy is considering running a workshop on how to publish to CPAN. ActiveState is considering running a workshop on using their Stackato platform. We’d love to see lots of others giving on-going mini-workshops and hands-on hackathons. If you need the space, we’ll make sure you have it.
timetracker.plix.at contains information about App::TimeTracker, the easily extendable command line based time tracker we use a lot. You maybe remember App::TimeTracker from one of the talks I gave at YAPC::Europe 2011 in Riga (App-TimeTracker, Metaprogramming & Method Modifiers). It's a real nice app, give it a try if need a sane way to keep track of your working hours, and want to automate other boring administrative tasks in one go.
Read more about how I did the site, why I did it in the first place and why you should also set up websites for your projects either in my blog or in the (rather similar..) timetracker blog.
I don't know whether the advice "Don't feed the trolls" is the best one or not. But I find the _repeated_ occurrence of replying to these trolls threads on reddit or HN amusing.
Yes, amusing.
If a person get's into a fight with a drunk, it's amusing to watch it.
But sometimes it just feels awkward to watch even perl elders like chromatic, in the fight. A drunk is not going to be the epitome of rationality, so why _even_ bother ? These people are just simpletons, madly in love with mercury(an unusual language I might say!) or just a had a shitty day.
Of all the Big Awesome Things I've tried to create over the years, PITA has been been one of the longest and most disappointing.
Conceived as the logical extrapolation of Perl's testing framework development into the future, the basic idea is zero conf 100% automatic testing in parallel across arbitrarily many different operating systems using one-time virtual machines.
Achieving that kind of process isolation in a way that doesn't require any manual setup and no human intervention has meant some extremely twisted internals and lots of unusual and complicated problems to solve.
This is a map of the Lowell Center. The Lowell Center is one half of our meeting space for YAPC::NA 2012. Here you’ll find the registration desk, the main hall where we’ll hold the opening ceremonies, plenaries, and the lightening talks. In addition, the Lowell Center contains 100 hotel rooms if you choose to stay there.
Don’t worry, you don’t need to save this map now. We’ll provide you with one at the registration desk, and it will be posted on large billboards in the Lowell Center itself.
We held our monthly (almost...) meeting on the last Wednesday of the month instead of the last Tuesday, because it supposedly is CPAN's 16 year birthday.
Being a round birthday (choosing the right base notation), we celebrated with chips, sandwiches and drinks, kindly provided by Adapt A/S.
Amidst the talks about Perler's usage of git, there was also discussions about Monger Group's homepages. What do other groups use for this? Conferences have ACT, modules have PAUSE/CPAN. Blogs have this page.
A few weeks ago I read a discussion thread that mentioned Perl. It might be about Mojolicious 2.0 release, on reddit, my memory is failing me. A commenter asked about what novel projects that originated from the Perl community the past several years (like the last 3 years).
Perl used to be the source of ideas that get copied to other languages, e.g. DBI, WWW::Mechanize, and its regex flavor. Now the tide has turned, and although that is not a bad thing, one might wonder the same question.
It's true that for web development, many new ideas nowadays come from Ruby/Python/JavaScript/and others instead of Perl (although "new" sometimes is very loosely defined). Nevertheless, Dancer is a port from Ruby's Sinatra, PSGI from WSGI/Rack, and so on. Some other projects also are "stolen" from other languages: perlbrew, cpanm (well not exactly, but the one-off command-line nature and verbosity reminds one of PHP's pear or rubygem client).
The Perl Foundation is hoping to take part in the Google Code-in once again this year. This is a programme under which students aged between 13 and 17 are able to undertake short, well defined tasks for open source projects, and in return they will get a tee-shirt, a certificate, gain credits and can also be paid up to $500 for their work by Google. The ten students with the most credits at the end of the programme will also be invited to visit the Google headquarters.
This is a wonderful opportunity that we have to get young students involved in open source software in general and Perl in particular. One of the aims of the GCI programme is to find those who will become long-term contributors and ensure the future of open source projects. So if you want to help ensure the long-term viability of Perl, then please get involved with GCI.
Chris Nehren will give a talk at YAPC::NA 2012 that he describes as:
I like Perl. I like tabletop RPGs (especially tabletop RPGs whose mechanics are licensed under the OGL, like D&D 3.5 and Pathfinder). I like Unix. And I like running games.
But I’m lazy. And running games is a *lot* of work. What’s a lazy GM to do? Solve the problem in as generic a way as possible, of course! I’ll give the computer some data and some instructions about how to do the tedious stuff (managing initiatives, monster health, combatant status, that sort of thing). Then, I can focus on the fun part—interacting with my players.
And as I like Unix, this means simple text files and a text mode interface. No Web servers or browsers needed—I want this to run offline and not kill my laptop’s battery.
So, in this talk I’ll be discussing some tools I’ve put together to make running an OGL d20 tabletop RPG easier. They may / may not be useful for anyone else. But hopefully they’ll be interesting on their own.
PrereqScanner does only static checking (i.e. it looks at the source), ScanDeps does both static and dynamic checking (i.e. it first looks at the source and then runs it). FindDependencies seems to examine Makefile.PL and Build.PL.
And then there's the something between the static and dynamic checking: Load a file, don't run it, and print %INC. (Since in the perl world "loading a module" means running code, this is definitely on the dynamic side.)
Neither of these approaches does what I want: Look at sources and tell me what modules I have to install. ScanDeps comes close: it excludes modules from the Perl distro. From its output I have to guess what modules to install: I guess that I get
I was very happy to see he thought my Perl tutorial is worth sharing with others.
My little experimentation into the world of promoting web sites lead to the belief that if I want to promote my web site I need to create content that people will want to link to. Also, I need to make it easy and fairly obvious how to link to the web site. That is, what should be the anchor text.
OTOH if you'd like to help promoting a web site or a specific web page make sure to include the expression people will likely use to find that specific thing.
i-nigma is one of the better QR Code readers for Windows Phone. Most importantly, it handles vCards. Since we’re using a lot of QR Codes at YAPC::NA 2012, do yourself a favor and get i-nigma, if you’re a Windows Phone user.
Maybe the most ibnteresting talk I held this season was about this DDD. This is just a sneak preview since I give it once more in Vienna and my concept will be much better after it. Then i will publish here entirely.
I borrowed the term a bit from the django-guys, even Al Iho (the a in awk) tought 20 years ago this way. (thanks cromatic to bring this to my attention). it solves several issues documentation and test driven development face (if your honest). And I don't think it eats up any exra time. Maybe at the beginning a bit but it pays of hugely.
the basic ideas are 2:
1. write docs before the tests, than the code. this way you refelct more and hav your docs always complete, up to date and ready to ship.
2. rewriting docs is part of every refactoring
i think we should write a clean perl book. just for the fun of the title. i really lough at the less upright from c't magazine that apologize at the beginning of a perl tutorial that it isn't hip.
in other news: my tutorial lerning programming with perl is still in the making and needs evey (German) hand it gets.
This note is to announce that Alien::GSL dev release 0.03_04 has be uploaded to CPAN and should be available shortly.
After lots of good feedback from Rob (Sisyphus) and learning lots about the warts in Module::Build, I think I have a more robust system in place now.
New features include:
smarter warnings for missing configure_requires dependencies
parse gsl.pc to get up-to-date compiler flag, no longer depends on hard coding things like -lgsl
rewrite gsl.pc before installing to provide correct paths relative to share_dir location
new gsl_pkgconfig_location function provides the path to the folder containing the rewritten gsl.pc file
includes gsl-config.pl which should behave like gsl-config but relies on Alien::GSL and its notion of the GSL libraries (this still considered work-in-progess)
more tests!! (required adding the ability to hook into $Alien::GSL::share_dir, since tests happen before install, and thus before placement into the location that File::ShareDir expects)