in #364Dancer2::Plugin::Showterm
One more gem from the bags of Yanick Champoux, that can help Dancer2 app replay terminal typescript captures.
2011.08.22 in #5A Wee Bit of Fun with Template::Declare
Reading the entries of Yanick Champoux (yanick) is always a challenge and it is always fun. This time he introduces the new Dancer template based on Template::Declare and shows and example how to define templates in their own files.
2011.09.05 in #7Going Postal (with Dancer)
Yanick Champoux (yanick), in his usual colorful way, describes how he wrote a plugin for Dancer to handle postal fees in Canada. I am sure if it can be done in Canada it can be done elsewhere as well. The nice thing is that he even provides a way to save money. Even if not on the actual postal fees.
2011.10.08 in #11Taming Pod::Weaver
It is Yanick Champoux story time again. This is such a great counter example of the other blog post, I read today. That rant about the lack of documentation. This is a solution. I love the way Yanick writes. I wish, I would understand more of it. No! I wish I could write like that.
2012.01.25 in #27A Quick Pas de Deux with Dancer
Yanick Champoux (yanick) gets his hands dirty while he is trying to find his way out of a new file existence test.
2012.04.17 in #39SnipMate Cheatsheets Generator
Do you remember the Template::Caribou project of Yanick Champoux? Now he is using that module and explains in detail how to create the templates that will generate the cheat sheets.
2012.05.16 in #43Easy text/html multipart emails with Email::Simple::Markdown
Yanick Champoux announcing the new module and showing an example so he can avoid using the slightly complex Email::MIME, or more importantly, so he can write his e-mails in Markdown format that will be converted to either HTML or Text or both.
2012.05.17 in #43Test-driving Reflex
Reflex is a Moose-based event-driven system built on top of POE. Yanick Champoux creates and explains a job daemon that can poll various jobs and process them.
2012.06.03 in #45NoCOUG contest: the Perl dark horse entry
I think Yanick Champoux (yanick) wants you to participate in this contest. Judging from the example he shows, there is some serious golfing involved.
2012.06.26 in #49Help Wanted - A Proposal
How can a CPAN author tell the world she needs help maintaining her module? The best place is probably in the META data of the module. That's what Yanick Champoux thought and implemented. Now we 'only' need to get people use this.
2012.07.03 in #50Building Web Service APIs
This time Yanick Champoux writes on his employers blog, describes the re-implementation of WWW::Ohloh::API using Moose. Oh, and he is also looking for someone to co-maintain the module.
2012.07.08 in #50A First Foray Into Hadoop Territory
Yanick Champoux is back with his usual style (9 strange words to look-up per article :), but at least I heard of Gabriel. Other than that, this is a simple introduction to using Hadoop with Perl.
2012.07.22 in #52Varys' Little Birds
While standing on the shoulders of giants, Yanick Champoux is catching birds. He also created a tool to do system checks that he could install on different machines and query via a web server. - But frankly, I did not have time to look up all the words in a dictionary...
2012.09.17 in #61Mass-Testing Dancer's Plugins (by Yanick Champoux)
The Dancer is currently under a rewrite that will include certain API changes. Yanick Champoux took upon the task to test all the plugins Dancer has - more-or-less all the modules that depend on Dancer - and run their tests with both Dancer 1 and Dancer 2. They should work. There were 37 modules that passed on Dancer 1 but not on Dancer 2, and there were a few (I think 5) that failed on both versions of Dancer. That's, out of 76 distributions Yanick found.
2012.10.04 in #63Smoked Modules, Montreal-style
Yanick Champoux extended his previous idea of testing the Dancer plugins, to test any set of Perl modules and to be extensible.
2012.10.18 in #65ShareDir Without The Leftover Blues
When upgrading a module, the CPAN client does not know how to remove the old, unnecessary files. This can be especially problematic with external files such as images used as icons. Yanick Champoux created Dist::Zilla::Plugin::ShareDir::Tarball that will allow you to distribute all the shared files as a single tar.gz file. He also created File::ShareDir::Tarball that will allow you to later find the files installed inside that zip file. It should be a drop-in replacement for File::ShareDir.
2012.11.11 in #68Plastering 'endorse' buttons all over the (coder)wall
Yanick Champoux has two topic in this blog entry. The other one is about GitStore that allows you to use Git as a versioned data store. Right from your Perl script.
2012.12.03 in #72Dance For Me, Caribou, Dance!
While rewriting Galuga, the blogging engine Yanick Champoux (yanick) wrote, he takes us on a ride to the world of DBIx::NoSQL::Store::Manager and Template::Caribou.
2012.12.13 in #73Statement Toggler for Vim
Yanick Champoux wrote a simple perl script that can switch between 'if (cond) {statement}' and 'statement if cond', one of the possible refactorings in Perl. He hooked it up to vim, but if the code is released both as a stand-alone script, and as a module, then it could be used in other editors and IDEs as well.
2012.12.17 in #74Fit To Be tied (tied handles and localized $\)
tie is powerful but strange tool in Perl that only people like Yanick Champoux should touch. Indeed he used it while visiting his favorite Himalayan barbershop.
2013.01.03 in #128A New Year, a New Dancecard
Yanick revisits his old idea of a web library tool, meant to complement and work with your favorite web framework.
2013.06.06 in #98Are You Ready For the Atwitterpocalypse?
Yanick reminds us that the end is nigh. In this case, the end of Twitter's support of version 1 of their REST API (which is due for June 11th). Is your code, and the plugins of your web framework updated and ready to weather the storm?
2013.06.07 in #98Galuga Reborn!
Every hacker, sooner or later, will come up with their own template system or blog engine. In this instance, Yanick comes up with the second generation of his blog engine. And his own templating system. And a few other things.
2013.06.22 in #100Dancers Just Wanna Have Fonts
Yanick Champoux refuses to use plain fonts, but allows us to download only letters we actually need to view the title of his site. How can he do both, and how does he do it with Dancer?
2013.07.07 in #102Dancer Applications As CPAN Modules
It is not straight-forward how you could distribute a Dancer based Perl application as a CPAN module. Yanick show us the way with his buzzword-compliant Markdown-based presentation app,
2013.09.22 in #113Hacking Hiveminder
Hiveminder is a collaborative todo list 'in the cloud', that can be used even if you only collaborate with yourself. It offers and API wrapped in Net::Hiveminder. Yanick Champoux has started to build a new, Perl based client. First for the command line, with later plans to create his own web interface. See the explanation about how the command line interface was built.
2013.10.13 in #116Oozing Caribou
Oozie is a workflow scheduler for Hadoop that defines its workflows using a horrific XML dialect. Yanick Champoux took his Template::Caribou for a ride to make the XML behave.
2013.11.07 in #120Teaching A Man To Fish
Yanick is trying the Fish shell. Not being POSIX-compliant, it doesn't work well with perlbrew off the box. That just won't do.
2013.11.10 in #120Gui Oozie Goodness
A walk through the creation of a (very) minimal graph-based web UI for Oozie, by Yanick.
2013.11.21 in #122Something Fishy
Command-line perldoc, dzil and got completion from your favorite Yanick. Screenshows.
2014.01.11 in #129Deduping 100 Gigs Worth of Files? Gimme 5 Minutes...
The entry was modern, and this is its post-mortem. Yanick presents the program he submitted to the Dallas/Fort Worth Perl Mongers Winter Hackaton Challenge.
2014.02.08 in #133Dancer In Chains
Yanick Champoux writes: Something that Catalyst has and Dancer doesn't is chained routes. But he cannot leave it that way, can he?
2014.02.12 in #134Git::CPAN::Patch Gets A Bit More Magic
On the outside, the new version of Git::CPAN::Patch will now clone the official git repository of a module if available. On the inside, Yanick discusses how to write tests for a module that pushes all of the hard buttons (command-line scripts, file/directory meddlings, network access, the works).
2014.04.08 in #142Vim::X Update
Yanick Champoux explains how preparing the Perl Weekly was made easier for him by adding special keys to Vim that will run a Perl script to fetch information from a web site and update the currently edited file.
2014.05.29 in #149Writing Webapps with Perl Dancer
A 50 min introduction to Perl Dancer, by Yanick Champoux, the other editor of the Perl Weekly.
2014.06.11 in #151Migrating Knotes data the hard way
When upgrading to Ubuntu 14.04 Yanick found out that KDE's Knotes has changed the format it was using to save notes and it could not upgrade the files itself. No problem. Perl with the help of Yanick could solve the problem. Code included.
2014.06.14 in #151Instant REST API For Any Databases
waack is a mashup of DBIx::Class::Schema::Loader, SQL::Translator, Dancer providing a web a RESTish web interface to any database with any schema.
2014.07.26 in #157Perlweekly Confidential: Corralling News
Yanick shares his new toy, how he gathers news items from RSS feeds to build the Perl Weekly on the weeks when he is the editor.
2014.08.24 in #161Testing Dancer Applications
Yanick compares a few of the modules available to test Dancer/Dancer2 applications.
2014.11.08 in #172Semantic Versioning Your Way
Yanick updated his semantic version plugin for Dist::Zilla to accommodate all and any of the common versioning schemes CPAN modules use.
2014.12.19 in #178Fun in POD-land
Yanick goes to town about his new craziness, Pod::Knit, which you can get from github for now. It involves pod, XML, sausages, knitting and dancing kittens. I made one of those up.
2014.12.23 in #179Working with Jolly Santa's Outstanding Notes
This is an Advent Calendar overflow about handling the favorite web-scale data structure during the XMas Holidays and after them. The think is, that tools like this and articles like this should reach people outside the Perl echo chamber.
2015.01.07 in #181The Hills Have Multi-Faceted Eyes
Yanick ventured in his laboratory and spent a few hours stitching together a creature made of InfluxDB, Grafana and Bread::Board.
2015.02.18 in #187Sometimes, It's the Little Things
Yanick presents File::Serialize which will (de)serialise YAML, JSON and TOML, using the 'right' module behind the scenes, so you don't have to remember which is the right module to use these days.
2015.02.18 in #187A Gentle Introduction to Bread::Board
Yanick introduces the inversion of control concept, and presents how you can do it with Bread::Board. Obviously Canada has multiple definitions for the word 'gentle'.
2015.03.02 in #188got lib? Lieber Gott!
The new release of 'got' introduced the subcommand 'got lib'. What does it do? Yanick reveals all.
2015.03.19 in #191Dancer + Jasmine
Absolutely awesome! Yanick had to test his Angular.js based code. So what did he do? He wrote a plugin for Perl Dancer. Jasmine is a behavior-driven development framework for testing JavaScript code. The new Dancer::Plugin::Test::Jasmine allows you to integrate the tests written in Jasmin with the test you write for your Perl-based back-end.
2015.06.19 in #204From Digikam to a Digital Frame
Yanick uses digiKam to manage his digital photos, and his wife has a digital photo frame. He takes us through the code he uses to get tagged photos from one to the other.
2015.06.25 in #205Web Framework Benchmarking Framework
Born out of the desire to compare Dancer 1 and Dancer 2 performances, Yanick proposes a loose framework for web application benchmarks.
2015.06.26 in #205Pulp Fiction
Inspired by JavaScript's Gulp, Yanick is toy with a Perl-based building system called 'Pulp'.
2015.07.09 in #207Bread::Board, part II: Beyond the DSL
Yanick continues his series on Bread::Board, showing how you can "manually create services and set them in a hierarchy of containers so that their inter-dependencies can be resolved by the system".
2015.09.16 in #217This Is The NeoVim Way To Go, This Is The Way Of The Futures
There are some weeks when I really suspect that Yanick has been snorting the orchid pollen. You'll have to decide for yourself if this is one of those weeks. (It's ok, Yanick's a friend, and a co-editor, so I have special dispensation to say things like this about him).
2015.09.18 in #217That will Showterm
Yanick demos a nifty service, showterm.io, which will generate a javascript-powered animation of a terminal session. Handy if you want to include a pseudo interactive session showing how to use some command-line tool.
2015.10.12 in #222A Call to All Dancer2 Plugin Writers
A new plugin infrastructure is being hammered for Dancer. Before it goes live, a call is made to all plugin writers to have a look at it and, perhaps, pre-emptively convert a plugin or two to make sure that nothing has been overlooked.
2015.10.19 in #222Exercism.io and Perl 6(66)
Exercism.io is a site where you can practice your hand at different languages, and gt the resulting code reviewed by peers. And while Perl 6 is not advertised as one of their active languages, it does have a dozen or so exercises available, if you know where to look.
2015.11.04 in #225Win Some, Test::Some
A new module that alters the behavior of Test::More's subtest such as to allow to only run a subset of a file's tests.
2015.12.21 in #231Making MooseX::Storage Play Nice with Runtime Roles
Remember that scene in The Empire Strikes Back, where Leia says "I love you" to Han, and he coolly says "I know"? I thought of Yanick as Han Solo after I read this.
2016.02.12 in #239Herding Camels
Yanick showcases how Git, Git::CPAN::Patch, App::GitGot and a small roll of script-fu can be used together to macgyver a testing infrastructure for inter-related code repositories.
2016.03.06 in #241The Taskwarrior's Kusarigama
Yenzie has started using Taskwarrior to manage his todo list, and already he's written a plugin system for managing Taskwarrior hooks.
2016.05.01 in #250Groom that yak
A small script helping to bring colors to log listings.
2016.09.09 in #268Redux redux (via Pollux)
Redux is a small JavaScript library. Pollux is the Perl back-end to seamlessly work with it.
2016.09.19 in #270MoobX: MobX + Moose
Yanick has been looking at Javascript frameworks (a never-ending job!), then thinking about what they might look like in Perl. In this post, and a followup, he introduces Perl ideas based on MobX, a framework that claims it "makes state management simple and scalable by transparently applying functional reactive programming".
2017.01.29 in #288Reviving Ottawa.pm
Yanick, guerilla knitter and orchid smuggler, is reviving Ottawa.pm, and they're having their first meeting on February 15th.
2017.03.28 in #297Quick Quack Hack: perl-autoinstall
Alas, poor Yanick! I knew him, Horatio: a fellow of infinite jest, of most excellent scripting capabilities. He hath blogged a thousand times, and now one time more: a script to run your Perl script, ensuring all dependencies are installed.
2018.09.07 in #372Dancer2::Session::Memcached
@yanick released bug fix where builder for memcache server was trying to coerce the already-coerced values.
If you are not yet subscribed, you can do it now. Free of charge:
Just ONE e-mail each Monday. Easy to unsubscribe. No spam. Your e-mail address is safe.
This newsletter is about the Perl Programming languages.