Posted on December 3, 2016 by briang
C::Blocks Advent Calendar
Perl is great, but sometimes I find myself reaching for C to do some of my computational heavy lifting. There are many tools that help you interface Perl and C. This module differs from most others out there by providing a way of inserting your C code directly where you want it called, rather than hooking up a function to C code written elsewhere. This module was also designed from the outset with an emphasis on easily sharing C functions and data structures spread across various packages and source files. Most importantly, the C code you see in your script and your modules is the C code that gets executed when your run your script. It gets compiled by the extremely fast Tiny C Compiler at script parse time.
- Weaving procedural C code into your Perl code
- How to get data across the boundary between Perl and C
- How to get data across the boundary between Perl and C for a number of types, including packed arrays
- How to declare and use C functions and declaring C functions that can be used throughout your code
See also C::Blocks
Filed under: Uncategorized | Tagged: advent, advent2016, cpan:c::blocks, perl, TODO, xs | Comments Off on C::Blocks Advent Calendar 2016
Posted on November 17, 2016 by briang
shellcheck – a (online | cli) shell linter
- GPLv3: free as in freedom
- available on GitHub
- already packaged for your distro or package manager
- supported as an integrated linter in major editors
- available in CodeClimate and Codacy to auto-check your GitHub repo
- written in Haskell, if you’re into that sort of thing.
Available on GitHub
Filed under: Uncategorized | Tagged: bash, github, linter, linux, shell | Comments Off on shellcheck – a (online | cli) shell linter
Posted on October 28, 2016 by briang
swiftperl is designed to provide an easy and smooth interoperability between Swift and Perl languages. The primary goal is to write XS modules for Perl entirely in Swift, though running Perl interpreter in Swift environment is also possible.
Filed under: Uncategorized | Tagged: github, perl, swift, xs | Comments Off on Write Perl XS modules in Swift
Posted on October 25, 2016 by briang
Testing with AppVeyor
If you ever wanted to test your CPAN modules on Windows systems without having an own Windows system setup, then you should take a look at AppVeyor. Basically it’s something like travis-ci, but just running on Windows. Configuration happens in a YAML file named appveyor.yml.
PDL appveyor.yml on github
Filed under: Uncategorized | Tagged: appveyor, ci, perl, testing, windows | Comments Off on Testing with AppVeyor
Posted on October 13, 2016 by briang
Setting Up Local Mail Delivery on Ubuntu with Postfix and Mutt
Works pretty well. The only change I had to do was to remove/purge and reinstall postfix first:
sudo apt-get remove postfix --purge
sudo apt-get install postfix
Filed under: Uncategorized | Tagged: howto, linux, mail, mta, mua, mutt, postfix, ubuntu | Comments Off on Setting Up Local Mail Delivery on Ubuntu with Postfix and Mutt
Posted on September 22, 2016 by briang
The MIT License, Line by Line
If you’re involved in open-source software and haven’t taken the time to read the license from top to bottom—it’s only 171 words—you need to do so now. Especially if licenses aren’t your day-to-day. Make a mental note of anything that seems off or unclear, and keep trucking. I’ll repeat every word again, in chunks and in order, with context and commentary.
Filed under: Uncategorized | Tagged: licenses, mit | Comments Off on The MIT License, Line by Line
Posted on September 22, 2016 by briang
The CPAN allows you to easily download, install and use Perl software packages on your system. The software package is called a distribution and contains a Perl application or library.
A collection of tutorials on using and writing CPAN distributions. Hosted on GitHub.
- CPAN basics
- What is a CPAN distribution
- Make your own CPAN distribution
- Publishing your CPAN distribution
Filed under: Uncategorized | Tagged: cpan, perl, tutorial | Comments Off on CPAN Tutorials