Here we go again ...

If you've not read already, the latest YAPC Survey results are out. It seems at least one quantitative interpretation (here and here) of the data is that we're all dead and/or dying.

Is this a new remark?

No.

Would these remarks go away if suddenly every human developer on Earth started programming in Perl.

I doubt it.

A Look at Finding Out-of-Date Files

A function for comparing the modification time of files to determine if a file is out of date with respect to its sources.

A Look at Finding Out-of-Date Files

Musings on technical debt


This week’s post was right on the line as to whether it should be posted here or on my Other Blog.  In the end I put it over there because it’s not really a technical post; it’s more about business.  In particular, it’s about technical debt and developer efficiency and those sorts of things.  But, especially since most of the business experience which inspired this post was gained at Perl shops, it may hold some interest for you fellow Perl’ers.  So pop on over there and check it out, if you’re so inclined.

Perl 5 Porters Weekly: July 22-28, 2013

Welcome to Perl 5 Porters Weekly, a summary of the email traffic of the perl5-porters email list. Sorry this summary is a little short on the summary part. It's more of a link-o-rama this week.

Topics this week include:

  • perl 5.19.2 is now available
  • upcoming release of 5.18.1
  • Try/Catch Exception Objects: Possible?
  • The value of a good perldelta
  • NWCLARK TPF grant May report
  • NWCLARK TPF grant June report

Object::Simple - Simple class builder, Mojo::Base porting

Object::Simple is simple class builder, Mojo::Base porting. Mojo::Base is simple and useful, but This is a part of Mojolicious. I port it as single module.

Object::Simple

  package Point;
  use Object::Simple -base;

  has x => 1;
  has y => 1;

  package main;

  my $point = Point->new;
  print $point->x;

  1;

Generally speaking, You can write any program using single inheritance and delegation. If you want simple class builder, Object::Simple is good choice.

Announcing App::Midgen v0.26

So what’s new?

  • Added Two more output formats:
    • infile, output format, module v perl files they were Found in
    • metajson, output format META.json
  • Internal scanner update and why
  • Finish off conversion to Type::Tiny

for the rest of the blog go here

Any comments leave them here.

Why i landed up learning Perl and made it as a career

Friends
It was early days of my college life in 2002, I was into Engineering of Electronics and communication stream in a decent university in India. I wanted to explore things, surfing on internet and downloading and learning applications were my hobby , It were the days of dial up, where i need to download at 56.6 kbps line, where i can download 1 MB in i guess 20 min or so,

However i managed to made my collection of internet softwares.

It was mostly installable software on Windows 98 which allows one to create a form which will email all the fields filled.

So it works on cgi-lib.pl , create a script which if placed in cgi-bin folder will email all the fields filled on form in browser.
The software will create this form.

I liked it, then i installed windows frontpage, which will actually allow me create real websites.

Two new Modules: Manage JiffyBox VM and Convert TAP-Archive

I like to announce two modules I created recently during a "Continuous Integration" project at a Perl-Company near Stuttgart in Germany.

indirect-object added to perlito5

perlito5 is a Perl compiler written in Perl.

The tests* for indirect-object and bareword disambiguation can be run online at http://perlcabal.org/~fglock/perlito5.html (you need to copy-paste the tests, it is not automated).

* t5/01-perlito/27-syntax-indirect-object.t
t5/01-perlito/28-syntax-method-or-sub.t

Compare Git repository viewer, "GitPrep" and "GitLab"

GitLab is widely used to view the git repository in a web browser.GitPrep is repository viewer I create lately.

Both are tools to visualize the remote Git repository, but I try to compare these features to understand these difference.Both are web applications that install GitHub system into into own server.

Features Comparison

GitPrepGitLab
Features△ Only repository browser◎ Repository Browser + ticket + Wiki + other
Ease of installation◎ Need only Perl 5.8.7 or more△ Required environment Ruby 1.9 + Rails + MySQL of (or PostgreSQL)
OS○ Linux/Unix + Cygwin(Windows)△ Linux/Unix(maybe)
CGI○ Possible use of the CGI× Impossible
Development languagePerlRuby
Web frameworkMojoliciousRuby on Rails
Repositorygitprepgitlabhq
ExampleExample?

GitPrep have  features that can be used in CGI and easy to install and small.GitLab have features that implement many useful features such as Wiki, tickets.

GitPrep support  Cygwin on Windows.You can also run GitPrep on Windows.

GitPrep is developed by Perl, GitLab is developed by Ruby. Web framework is, GitPrep is Mojolicious, Ruby is Ruby on Rails.

A Look at Perl

Two new articles for my blog. The first is on creating a trim() function and its test. The second, is on creating a friendlier interface to Data::Dumper.

A Place for the Tests
A Look at Dumping

When should good design be introduced to a project?

The philosophical, social and financial constraints on a project will often guide the direction of the system far more than actual technical constraints do. Decision makers will choose to defer perceived complexity and cost till they see a need for it. As technologists our goal is to set ourselves up so that we have the opportunity to implement successive generations of systems when it they needed. This is best done by implementing simple incremental changes than by paying a high cost up front for features and dimensions that are not yet understood.

YAPC::NA 2013 - The Results Are Out

The YAPC::NA 2013 Conference Survey results are now online.

How to fake a database design

Many database students rejoiced when a paper was published showing a shortcut to fifth normal form (pdf). From the abstract:

A key is simple if it consists of a single attribute. It is shown that if a relation schema is in third normal form and every key is simple, then it is in projection-join normal form (sometimes called fifth normal form), the ultimate normal form with respect to projections and joins.

What the hell is fifth normal form and why do we want it? Well, it deals with cases where we can avoid redundancy when information can be reconstructed from smaller bits of information and ... and ... and ...

OK, so that's not helping. In fact, the vast majority of explanations on the Web aren't helping, so I'll explain how to fake database normalization. I'll even avoid big words.

Interview with Chad (Exodist) Granum

After a 2 month long break the Perl Maven TV is back with an interview with Chad (Exodist) Granum, author of the Fennec testing tool.

The interview is 31 min video hosted on YouTube, but you can also download the mp3 version of the audio.

Actually, there is now an RSS feed suitable for podcatchers. In case you'd like to listen to the earlier episodes while driving to work, check it out on the Perl Maven TV page.

More tests and more traits for p5-MOP

I have been spending a lot of time lately porting modules to p5-mop as a way to really stretch and test out the prototype. Additionally a few other people are also porting modules as well. The result is that we now have a nicely expanding "external" test suite. This is something I found with Moose, while it is very nice to have a good size test suite, it is even better to have real modules (that perform real work) and themselves have good test suites. For a module like Moose and a project like p5-mop, this kind of testing is critical in exposing issues that normal unit tests just won't shake out.

Why Perl don't have pragma like -E option?

Perl one-liner have -E option. This enable latest perl version.

    perl -E "say 'Hello'"

but perl don't have pragma like -E option.

I don't like syntax like use v5.18.

I want to write the following way.

    use latest;

and controll current perl version by environment variable. For example,

export PERL_LATEST_PRAGMA=v5.18

Hiring Senior Devs in London

I'm hiring two positions in my team in lovely, sunny Canary Wharf (London)...

It took me a long time to write the job ads, so please have a good read! :-)

SOAP::Lite 1.0 is out

SOAP::Lite rides again! I've made some fairly big changes to the interactive build file, as well as fixed several issues. Chances are I may have broke something, but if so please let me know an I'll get a fix out. 1.01 is due out tonight as a matter of fact.

1.0 July 16, 2013
! #85713 SOAP::Transport::HTTP, 500 error skips parsing of response
! No more Windows 98 client support. Wait, wut?
! Merge SOAP::Transport::TCP back into SOAP::Lite (for now)
! #82416: xop href cid: URI encoded support reported by Michael R. Davis (mrdvt92)
! #85208 bad test plan
! #83750 different headers for mod_perl vs mod_perl2 [Mithun Bhattacharya]

https://metacpan.org/source/PHRED/SOAP-Lite-1.0/

Perl Startups

At YAPC::NA 2013 I pitched the idea that Perl needs more startups. I've created a lot of startups myself, but I haven't seen too many coming from the community. To my surprise a lot of people came up to me afterwards asking for advice on how to get started. So I've started a blog on the subjects of startups and marketing.

To my surprise, we've already been seeing more talk of startups in the Perl community of late. Good on you! Keep it up.

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.