Re: Quieting Test::More

Re: Quieting Test::More

# make Test::More only display fails (also works with Test::Most)
use File::Spec;
Test::More->builder->output(File::Spec->devnull);

David Mertens – “C::Blocks”

C::Blocks

In the Perl ecosystem, C is a highly respected but second-class language. C::Blocks changes this situation by embedding a C compiler directly into the Perl parser. Blocks of C code are placed directly among lines of Perl. The compiler is Just-In-Time, making your C code just as scriptable as your Perl code. Functions, variables, and other C declarations are scoped in a Perlish way. In this talk, I give a brief introduction to this module.

Published on 1 Jul 2017

John Anderson – “A Modest Introduction to Swift”

A Modest Introduction to Swift

This talk will present some of the history of the development of Swift with emphasis on how the Open Source release of the language kick-started activity, review the basic syntax of Swift (with comparisons to similar languages that attendees may be more familiar with), and describe what tools are available to help learn the language, including XCode, the Swift REPL available from XCode, and the new Swift Playgrounds for iPad that debuted with Swift 3 and iOS10. After attending this talk, an attendee with no previous Swift experience will understand exactly why they should be excited about this relatively new programming language and be up to date on exactly what they need to do to dive into Swift coding for themselves.

Published on 23 Jun 2017

Bulk88 – “Writing XS in Plain C”

Writing XS in Plain C

Even if you learned C in a classroom at some point, Perl’s “XS” API for writing perl subs in something purported to be C but is really a cat on a tablet with caps lock on. In this talk I will show how difficult it is to write subs in plain C. This talk will make XS seem like a cakewalk.

Published on 23 Jun 2017

Graham Knop – “Continuous Integration for CPAN”

Continuous Integration for CPAN – youtube

Continuous integration helps you catch issues in your modules across a more diverse set of configurations than is easy to check manually. Travis-CI and AppVeyor are free CI solutions for open source projects that will allow automatic testing on Linux, macOS, and Windows. Extra tools exist for easy testing with more configurations than Travis-CI has built in support for.

Published on 20 Jun 2017

Data Structures and Algorithms Problems

Data Structures and Algorithms Problems

See this reddit post for discussion

Specifying dependencies for your CPAN distribution

Specifying dependencies for your CPAN distribution

[…] I’m going to show you how to specify dependencies for your CPAN distributions: the other Perl and CPAN modules that your distribution relies on.

Posts in this series:

  1. An introduction to CPAN distribution metadata
  2. Dependency phases in CPAN distribution metadata
  3. Specifying the type of your CPAN dependencies
  4. Specifying dependencies for your CPAN distribution

XS Mechanics

XS Mechanics is an article in five parts about XS. It explains what it is, why it is, how it works, and how to use it. It includes a complete, working example of an XS module, and a stub module that you can use as a starting point for your own code. It is an express goal of this article to provide the background and information necessary for you to write your own XS modules.

  1. Introduction – motivation, definitions, examples
  2. Architecture – the Perl interpreter, calling conventions, data representation
  3. Tools – h2xs, xsubpp, DynaLoader
  4. Modules – Math::Ackermann, Set::Bit
  5. Align::NW – Needleman-Wunsch global optimal sequence alignment

Getting started with XS

Getting started with XS

eXtendable Subroutines (XS) are subroutines written in C that are callable from Perl code. There are two common reasons you’d want to use XS: there is a C library you’d like to use with Perl, or you want to make a subroutine faster by processing it in C instead of Perl.

This tutorial will walk you through all the components needed to get up and running with a basic XS example.

See also:

Exploring Inline::C (Generating primes)

Exploring Inline::C (Generating primes)

I set out to figure out how to use Inline::C today, and thought I’d share the experience from the perspective of someone who was using Inline::C for the first time.