enlightened perl organisation

enlightened |en'litnd|: adjective:
having or showing a rational, modern, and well-informed outlook

  

Planet Perl Iron Man

Daily archive for Thursday, 11 November 2021

< Younger posts | Older posts >
Sinan Unur (Sinan): Perl's File::Find on Windows: A path forward?

Perl's File::Find on Windows: A path forward?

In Implementation by Wishful Thinking, I looked at a problem caused by a simple change to how File::Find handles symlink related options. The problem itself was moved several [...]

Sinan Unur (Sinan): Implementation by Wishful Thinking

Implementation by Wishful Thinking

It is natural to want the world to be simpler. To wish legacy code away. To want to avoid dealing with platform specific differences.

It is natural. But, in most cases, it also not possi [...]

Sinan Unur (Sinan): Who's testing the tests? The case of an interesting false negative

Who's testing the tests? The case of an interesting false negative

I still follow Perl releases and build them from source using the most recent version of Microsoft Visual C. Each new version of Perl brings in some impr [...]

Sinan Unur (Sinan): Some principles of unit testing

Some principles of unit testing

Much pontification exists when it comes to unit testing. Developers get introduced to the idea of TDD with simple code such as testing a method that adds two numbers etc so that they can l [...]

Sinan Unur (Sinan): On Windows, how do you get time in nanoseconds in C?

On Windows, how do you get time in nanoseconds in C?

I recently decided to go back to dabbling in OCaml. The easier path would have been to install it in a Linux VM and play with it there, but I decided to build it from sourc [...]

Sinan Unur (Sinan): Fun with an ATTiny85, Liyafy HC-35 keypad with eight LEDs, and a serial to parallel shift register

Fun with an ATTiny85, Liyafy HC-35 keypad with eight LEDs, and a serial to parallel shift register

Some months ago, I got curious about ESP32 microcontrollers. The exact reason is not important. I ended up learning about N [...]

Sinan Unur (Sinan): Don't complicate things

Don't complicate things

Every week, I look forward to receiving Gabor’s Perl Weekly. I noticed Forking tests in the latest issue. The author has written a password generation module, and wants to ensure that child and parent [...]

Sinan Unur (Sinan): What is Perl 6 to Perl?

What is Perl 6 to Perl?

From time to time, people I meet ask me if they should learn Perl 6 since that is the “latest” Perl. For the most part, they have not written a line of Perl in their lives. They also ask me how Perl 6 [...]

Sinan Unur (Sinan): Another look at stock market behavior around "change" presidential elections in the U.S.

Another look at stock market behavior around "change" presidential elections in the U.S.

Nothing discussed herein should be taken as investment advice or as a recommendation regarding any particular investment vehicle or cou [...]

Sinan Unur (Sinan): Data work is dirty work

Data work is dirty work

"The government are very keen on amassing statistics. They collect them, add them, raise them to the nth power, take the cube root and prepare wonderful diagrams. But you must never forget that every [...]

Sinan Unur (Sinan): For your 'İ's and 'ı's only

For your 'İ's and 'ı's only

I have been poking around perl’s internals in my quest to help perl see interesting characters in names and values of environment variables. The first step was to translate the UTF-16 environme [...]

Sinan Unur (Sinan): Fixing Perl's Unicode problems on the command line on Windows: A trilogy in N parts

Fixing Perl's Unicode problems on the command line on Windows: A trilogy in N parts

I have used Perl on Windows for decades without being seriously hampered by any of its past or current limitations. Still, it would be ni [...]

Sinan Unur (Sinan): Deception in tests considered harmful

Deception in tests considered harmful

I felt really good after finally ironing out all the kinks in PR #528 which added support to Perl 6 on MoarVM for handling Unicode script names, command line arguments, and environmen [...]

Sinan Unur (Sinan): Notes on Unicode on the command line in Windows with applications to Perl and Perl 6

Notes on Unicode on the command line in Windows with applications to Perl and Perl 6

Handling of interesting characters on the command line in Windows or DOS environments has never been an annoyance-free experience. Heck [...]

Sinan Unur (Sinan): \c[PERSON FROWNING, ZERO WIDTH JOINER, PROGRAMMER]

\c[PERSON FROWNING, ZERO WIDTH JOINER, PROGRAMMER]

In December 2015, I was rather looking forward to the release of Perl 6. I went ahead and tried to see if it would build with Microsoft’s tools on Windows. I immediately r [...]

Sinan Unur (Sinan): Stock market behavior around "change" presidential elections in the U.S.

Stock market behavior around "change" presidential elections in the U.S.

Nothing discussed herein should be taken as investment advice or as a recommendation regarding any particular investment vehicle or course of action [...]

Sinan Unur (Sinan): Does past behavior of S&P500 indicate 'selling the inauguration' is a good idea?

Does past behavior of S&P500 indicate 'selling the inauguration' is a good idea?

This post is an exercise in chartsmanship. Nothing discussed herein should be taken as investment advice or as a recommendation regarding any [...]

Damien Krotkine (dams): Perl Moderne, a new Perl book

image from www.pearson.fr I haven't been blogging a lot this year-and-half, and for various reasons. But the reason number one is that I've been very busy writing a Perl book from scratch, in French, with 3 other fellow French Perl Mongers.

The book is called Perl Moderne. Th [...]

Damien Krotkine (dams): Perl Dancer and DBIC

Are you curious to see how to create a real app from scratch with Perl Dancer, using DBIX::Class ? Well, my Perl Dancer Advent Calendar article has been published saturday :

http://advent.perldancer.org/2010/11

Dancer_dbic

Enjoy !

Damien Krotkine (dams): Perl Dancer version 1.2 and Advent Calendar

 

Perl Dancer should at least ring a bell to you : it's a popular Perl micro web framework. Route based, easy to use, simple clean design, with low dependancies, Dancer is gaining in popularity and maturity.

Version 1.2 has been released ( see sawyer [...]

Damien Krotkine (dams): Ulimit doesn't work on Leopard (memory limitation)


After many tests on my side, I got confirmation from this page : it looks like ulimit doesn't work for memory limitation starting from Mac OS 10.5. That's a shame...

perl -E 'use BSD::Resource;  setrlimit(RLIMIT_VMEM, 2000, 2000); my $s; for [...]

Damien Krotkine (dams): Merge PDFs easily with Perl

Today I discovered an easy way to merge PDFs files using Perl.

In my current project, I have to automatically generate a technical documentation from my perl modules PODs. It's easy to create one PDF file for each modules, but then I need to merge [...]

Damien Krotkine (dams): Syntax Highlighting in Typepad

Code Snippets, Syntax Highlighting, Source examples, Verbatim text, etc...

I'm sure I'm not the only one to need to display nice clean and compatible code snippets, source code examples, and similar stuff. I'm using Typepad as blog engine [...]
Damien Krotkine (dams): Typepad

I'm in the metro of Paris, testing Typepad :

  • new beta account I just subscribed to
  • new mobile version of the blog
  • Iphone App
  • automatic Twitter posting
  • per category feeds

Typepad is Based on Movable Type, the best blog system ouuta there. It's Perl base [...]

Damien Krotkine (dams): Perl tests in Hudson via JUnit

Perl tests in Hudson

I'm willing to automate the unit testing of my Perl modules, by plugging them into Hudson. Hudson is a continuous integration server, it "monitors executions of repeated jobs, such as building a software project or jobs run by cro [...]

Damien Krotkine (dams): Curses Toolkit is on CPAN

After few months of delay, Curses::Toolkit is now available on CPAN.

Curses::Toolkit tries to be a modern toolkit to implement semi-graphical interfaces using Curses. It's inspired by Gtk.

I gave a presentation of Curses::Toolkit at the French Perl Wor [...]

Damien Krotkine (dams): New Home

The new server I had setup few weeks ago got hacked, brute force ssh attacks being made from it... I had spent some time setting it up, and now I'm bored.

So, I decided to migrate my blog to a hosted solution. As I'm a big fan of movable type, I decid [...]

Damien Krotkine (dams): Riak as Events Storage

This post is a compilation of four old posts. They are gathered here in one piece for more clarity, and for archiving purpose. The work described in this post was done over the years 2014-2016

Riak as Events Storage

Booking.com constantly monitors [...]

Damien Krotkine (dams): Exception::Stringy - Modern exceptions for legacy code

Exception::Stringy - Modern exceptions for legacy code

A small recap of Perl exceptions

Basic Usage Of Exceptions

In Perl, exceptions are a well known and widely used mechanism. It is an old feature that has been enhanced over time. At the basic level [...]

Damien Krotkine (dams): Perl Redis Mailing List

Perl Redis Mailing List

This is going to be a short post. I’m the new maintainer of Redis.pm, the most used Redis Perl client. Pedro Melo was the previous maintainer, but due to Real Life, he is unable to continue. I’d like to thank him for all his ef [...]

Damien Krotkine (dams): p5-mop: a gentle introduction

p5-mop: a gentle introduction

I guess that you’ve heard about p5-mop by now.

If not, in a nutshell, p5-mop is an attempt to implement a subset of Moose into the core of Perl. Moose provides a Meta Object Protocol (MOP) to Perl. So does p5-mop, however [...]

Damien Krotkine (dams): MooX::LvalueAttribute - improved

MooX::LvalueAttribute - improved

New and Improved!

Just a quick note to mention that following Mike Doherty’s bug report, I’ve released a new version of MooX::LvalueAttribute.

This release (version 0.12) allows you to use MooX::LvalueAttribute in a Moo::Role, like this [...]

Damien Krotkine (dams): New And Improved: Bloomd::Client

New And Improved: Bloomd::Client

New and Improved!

thanks to @yenzie for the picture :P

Bloom filters

Bloom filters are statistical data structures. The most common use of them is to consider them as buckets. In one bucket, you add elements. Once you’ve added a bunch of [...]

Damien Krotkine (dams): MooX::LvalueAttribute - Lvalue accessors in Moo

MooX::LvalueAttribute - Lvalue accessors in Moo

Yesterday I was reading Joel’s post, where he lists great Perl things he’s seen done lately. Indeed these are great stuff. I was particulary interested by his try at playing with Lvalue accessors.

I thoug [...]

Damien Krotkine (dams): New Perl module: Action::Retry

New Perl module: Action::Retry

UPDATE: I have included a functional API, as per Oleg Komarov request, and amended this post accordingly.

I’ve just released a new module called Action::Retry.

Use it when you want to run some code until it succeeds, waiti [...]

Damien Krotkine (dams): Mass-Testing Dancer's Plugins

Mass-Testing Dancer’s Plugins

So, as I said at YAPC::EU 2012, one thing that remains to be done before Dancer 2 can be released : migrating the plugins, making sure they work with it.

To be able to do that, what’s best than an automatic testing facilit [...]

Damien Krotkine (dams): Paris.pm technical meeting

Paris.pm technical meeting

( french version below )

The next Paris.pm technical meeting will happen the 25th september 2012, with:

  • Elizabeth Cholet: Firefox automatization with Perl using AnyEvent, Coro and MozRepl modules

Location : 181 avenue Daumesnil [...]

Damien Krotkine (dams): MooseX::Singleton is slow

MooseX::Singleton is slow

Just a quick note : if you plan to use MooseX::Singleton, beware ! It is easy to use and it implements properly what it claims, however it is quite slow.

If my profilings are corrects, each call to ->instance() calls meta(), g [...]

Damien Krotkine (dams): Dancer is community-driven

Dancer is community-driven

Long time I haven’t blogged about Dancer.

Antelink is a french startup, specializing in Software Life Cycle Management and Open Source Component Detection. They provided us with cool Dancer sourcecode analyzis graphs.

Overall [...]

Damien Krotkine (dams): Cross Posting to blogs.perl.org

Cross Posting to blogs.perl.org

So, a while ago, I moved my blog to github, using jekyll and markdown, with jekyll integration in Emacs.

That works great, and I like the fasct that posting a blog entry is just a regular git push.

My blog is aggregated i [...]

Damien Krotkine (dams): Perl, fun again!

Perl, fun again!

I’m happy to announce a new Perl event that will be held in Paris (France) next Monday, presented by the French Perl Mongers.

It’s called Perl, fun again!

It will be held at La cantine Monday 5 March 2012, in the evening.

La Cantine

From 19:00 to 2 [...]

Damien Krotkine (dams): Paris.pm January Technical Meeting

Paris.pm January Technical Meeting

( french version below )

Since September 2011, I’ve taken over the management of the Paris.pm monthly technical meetings. Paris.pm is part of the French Perl Mongers.

These meetings happen every months in a very nice b [...]

Damien Krotkine (dams): protect a screen session with a password

protect a screen session with a password

At work, I’m currently deploying my Perl modules on a new platform ( multiple servers ), which doesn’t have an automated deployment mechanism yet. I use Gnu Screen a lot. It’s a must have tool when working on r [...]

Damien Krotkine (dams): Moose and enum

Moose and enum

At $work, we are using Moose a lot. So I spend a lot of time declaring attributes, and some of them are Strings that should be picked from a fixed list of values.

For instance, I need to be able to define a task that can be only one of [...]

Damien Krotkine (dams): Perlbrew, Emacs, Flymake

Perlbrew, Emacs, Flymake

So I’m a seasoned user of Emacs (I started using it back to 1999). I’m using it for all things, especially Perl coding, using the cperl-mode Emacs mode.

Lately, I’ve come to using flymake. Flymake is a tool in Emacs, which trie [...]

Damien Krotkine (dams): DateTime duration in seconds

DateTime duration in seconds

It has been too many times that I forget how to get a DateTime::Duration between two DateTime objects in seconds (and nanoseconds). That is, where I can then do ->seconds and have the duration in seconds between the two da [...]

Damien Krotkine (dams): Simple usage of Perl state variables

Simple usage of Perl state variables

I see this type of code too often:

package Foo;
{
  my $structure = {};
  sub plop {
      #...
      $structure->{$foo} = 'bar';
      #...
  }
}

Or things like that:

package Foo;
{
  my $cache;
  sub plop { [...]
Damien Krotkine (dams): Moose trick with MooseX-Getopt and roles

Moose trick with MooseX-Getopt and roles

18 May 2011 - Paris

On MooseX::Getopt

At work I extensively use Moose in my everyday Perl coding. I also use MooseX::Getopt to automatically handle command line arguments as attributes, thus simplifying the imple [...]

Damien Krotkine (dams): Migrating to Jekyll

Migrating to Jekyll

30 Apr 2011 - Paris

So, this post is about migrating this blog from Typepad to Jekyll, using a small Perl script.

The reasons why I’m moving away from Typepad are :

  • Typepad is slow
  • Typepad is not free
  • Typepad editor is not techie compat [...]
f00li5h: Interesting-Discoveries:-Your-Site-Is-An-Open-Community
Interesting Discoveries: Your Site Is An Open Community
f00li5h: Announcing-putty_shortcut_sync.pl:-Create-Shortcuts-to-PuTTY-hosts
Announcing putty_shortcut_sync.pl: Create Shortcuts to PuTTY hosts
f00li5h: Strangers-Have-The-Best-Candy:-Delicious-DBIx::Class::Candy
Strangers Have The Best Candy: Delicious DBIx::Class::Candy
f00li5h: dzil:-a-casual-walkthrough-of-Dist::Zilla
dzil: a casual walkthrough of Dist::Zilla
f00li5h: rtpaste:-Paste-to-and-from-Request-Tracker-tickets
rtpaste: Paste to and from Request Tracker tickets
f00li5h: Perl-based-Test-Driven-Development-jfdi
Perl based Test Driven Development jfdi
f00li5h: Clingy-Lexicals:-Closures-in-perl
Clingy Lexicals: Closures in perl
f00li5h: Wrapping-An-OO-module-in-a-procedural-API-using-Exporter::Simple
Wrapping An OO module in a procedural API using Exporter::Simple
f00li5h: Using-Xpath-to-extract-useful-information-from-web-pages
Using Xpath to extract useful information from web pages
f00li5h: Examples-of-using-dispatch-tables-in-perl
Examples of using dispatch tables in perl
f00li5h: Moving-php-code-around-without-the-need-to-take-a-life
Moving php code around without the need to take a life
f00li5h: Announcing MojoMojo::Plugins::SensibleFeed
Announcing MojoMojo::Plugins::SensibleFeed
< Younger posts | Older posts >