Fw: [dancer-users] Sad news regarding James Aitken (LoonyPandora), Dancer contributor and pluign author

2014-08-13 Thread David Precious

Hi all,

(Posted this to dancer-users first; it was suggested that it be posted
to london-pm too as several mongers had met/knew James.)


Sadly, my friend and colleague James Aitken (LoonyPandora/JAITKEN), who
contributed to Dancer and wrote several Dancer plugins, died
unexpectedly last week.

He was hit by a car back in June and suffered head injuries, but had
mostly recovered - but then took a sudden turn for the worse, and passed
away last week.  Details as to exactly what happened are still sketchy
at this point.

Due to how unexpected it all was and the fact he has no immediate
family / next of kin, he will receive a very very basic state-funded
pauper's funeral unless enough money is raised to cover the cost of a
proper funeral - so his ex-girlfriend set up a fundraising page to
accept donations towards the cost:

http://gogetfunding.com/project/james-aitken-s-funeral

If you used his code and found it useful, and have a couple of quid to
spare, any donations would be very much appreciated.  If you cannot,
but he or his code made a difference to you, you can still leave a
comment there if you'd like.


Dave P


-- 
David Precious (bigpresh) dav...@preshweb.co.uk
http://www.preshweb.co.uk/ www.preshweb.co.uk/twitter
www.preshweb.co.uk/linkedinwww.preshweb.co.uk/facebook
www.preshweb.co.uk/cpanwww.preshweb.co.uk/github




Re: Once a week, every week

2012-01-02 Thread David Precious
On Sun, 1 Jan 2012 10:10:35 +
Mark Fowler m...@twoshortplanks.com wrote:

 Morning Perl peeps, how's the hangovers?
 
 So as I blogged and tweeted I've got a new new year's resolution: to
 release a distribution to the CPAN once a week, every week.
 
 http://blog.twoshortplanks.com/2011/12/31/once-a-week-every-week/
 
 Now, I'm of the understanding that London Perl Mongers are the kind of
 people that can't resist a challenge. So I ask...are you with me?

Whilst I agree that pushing oneself to release more stuff to CPAN is a
Good Thing, I think committing to release a distribution a week is
likely to encourage gaming by just releasing tiny changes to existing
distributions to meet the criteria, without actually adding any real
value.

On the other hand, though, it might encourage one to make  release a
small change that you'd been considering doing at some point but had
never got round to, and any release indicates to potential users that
the distribution in question is still maintained, not abandoned, so it
might not be a bad thing :)


-- 
David Precious (bigpresh) dav...@preshweb.co.uk
http://www.preshweb.co.uk/ www.preshweb.co.uk/twitter
www.preshweb.co.uk/linkedinwww.preshweb.co.uk/facebook
www.preshweb.co.uk/cpanwww.preshweb.co.uk/github


Re: Telecommuting

2011-12-13 Thread David Precious
On Mon, 12 Dec 2011 10:13:02 +
David Cantrell da...@cantrell.org.uk wrote:

 On Sat, Dec 10, 2011 at 11:06:14PM +, ian docherty wrote:
 
  The small 'ping' of an IRC is less disruptive than a tap on the
  shoulder and you can complete your current work before giving it,
  and your co-developer, your full attention.
 
 Doesn't work so well when the IRC window is buried under twenty other
 windows because you're actually *working*.  At my last job (woo-hoo! I
 can say that about the BBC now that I am unemployed - by the way, I
 don't yet have any trousers on and had marmalade flavoured vodka and
 ice cream for breakfast. Once I've put some trousers on I'm going to
 go shopping for Lego) messages on IRC would go unnoticed for hours or
 even days.  Likewise emails, because people would disappear into their
 work.

At $work, we use IRC a lot; I have irssi open in a small terminal
window at the top right of my screen, always visible (I use Terminator
to manage my terminals).  Thus, it's always visible, and I glance at it
occasionally; mentions of my nick will cause it to briefly flash then
show the channel name highlighted, so I know someone wants my
attention; I can then actually look at it when I'm at a point where I
can spare a moment without ruining my conversation, and I find it easy
to devote a little concentration to an IRC conversation whilst still
getting work done.

On the other hand, when I'm in the office, if someone comes over to my
desk, they're essentially demanding more or less 100% attention there
and then, and many people feel you're being rude if you don't give them
that attention quickly, thereby disrupting your mental focus.  For that
reason, most of the time even when we're in the office and sitting
close to each other, we'll often discuss stuff on IRC, unless it turns
into a discussion that's better carried out as a meeting rather than a
quick chat.

We also have some degree of social chatter on IRC, which I find helps
us all feel part of a tight team, even when we spend the majority of
time working from home.

 It's hardly the end of the world to tell someone I'll be with you in
 a few minutes.

As mentioned, though, a lot of people (especially non-technical types)
don't fully understand the effects of breaking off concentration when
you're deep in code, and feel a little offended or awkward being brushed
off if only for a few minutes.

 In fact, often it goes:
 
   Me: [code code code code code]
   Supplicant:  Hey, Dave 
   Me:  gimme a moment 
   Supplicant:  I'll put it on IRC 
   Me: [code code code code code cup of tea IRC]

You're basically replacing a convenient, non-obtrusive notification
that someone wants a moment of your attention on IRC when you're free
to give it with a real-life nudge instead; I find the former much less
disruptive, and as a bonus it works equally well when I'm sitting at
home instead of the office.


 
 which instead of trying to solve a problem with Magic Technology is a
 blend of technology and primitive caveman grunting, which IME works
 better than either of 'em on their own.

It's not about a magic bullet, but using whatever technology works well
for you.  Also, caveman grunting has limited range :)
 


-- 
David Precious (bigpresh) dav...@preshweb.co.uk
http://www.preshweb.co.uk/


Re: Impending arrival

2011-10-04 Thread David Precious
On Tuesday 04 October 2011 10:38:43 Paul Makepeace wrote:
 My 3-supplied UK HTC Desire isn't picking up 3G in the US so I'm stuck with
 Edge (as, say GPRS would be). Not horrible, but still. By comparison my US
 Nexus One picks up 3G on both sides of the Atlantic.

I don't know if it'll be the cause, but you can switch between what type of 
networks it should connect to.

If I switch mine to GSM/WCDMA auto then I get 3G (HSPDA) in supported areas, 
but often with a slightly weaker signal; if I set it to GSM-only, it gets a 
stronger signal, but with slower data.

You can find it under Settings - Wireless  networks - Mobile networks - 
Network mode.

More fun, though, is to dial *#*#4636#*#* to get into the testing widget, 
where you can get all sorts of info and set preferred network type, etc.



Re: Expected Config File Locations

2011-08-30 Thread David Precious
On Tuesday 30 August 2011 13:55:48 Smylers wrote:
 Hi. I'm looking for some advice on where I should put the config file
 for a command I'm distributing on Cpan. Where would you it to be? I'm
 interested in opinions of Windows, Mac, and Unix users, for both
 per-user and system-wide config.
 snip

Config::Find looks like it is designed for exactly what you're looking for - 
have you seen that?

I was also going to recommend Config::Auto (which even parses the config, 
supporting various formats), but it seems to be Unix-centric, and likely not 
useful on Windows.

It wasn't entirely clear to me whether you're looking for suggestions on how 
to *find* the config file in a sensible location, or how to install a default 
config file into a suitable location as the module is installed, though - have 
I got the wrong end of the stick here?


-- 
David Precious  (bigpresh)
http://www.preshweb.co.uk/

   Programming is like sex. One mistake and you have to support
   it for the rest of your life. (Michael Sinz)


Re: perlisalive.com?

2011-08-09 Thread David Precious

Hi Denny,

On Tuesday 09 August 2011 13:02:15 Denny wrote:
 Extra hands to help with comment moderation (rarely needed, the spam
 problem isn't that bad) and writing content (please!) would be greatly
 appreciated - anybody can contribute articles, via the link on the
 right.

I'll happily assist with the moderation if you need.

I'll also consider submitting content whenever I blog about Perl-related stuff 
too, if that would be welcomed.


-- 
David Precious  (bigpresh)
http://www.preshweb.co.uk/

   Programming is like sex. One mistake and you have to support
   it for the rest of your life. (Michael Sinz)


Re: Dear Git Users

2011-07-21 Thread David Precious
On Thursday 21 July 2011 22:16:42 David Cantrell wrote:
 I have a single gigantic repo with all of my perl modules in. It should
 really be broken up into a seperate repo for each module. I would also
 like to move them to github. Does anyone have a recipe for this, which
 won't lose any history? You may assume that I have no branches and
 everything has always been in 'master'.

http://help.github.com/split-a-subpath-into-a-new-repo/ should be of help.


-- 
David Precious  (bigpresh)
http://www.preshweb.co.uk/

   Programming is like sex. One mistake and you have to support
   it for the rest of your life. (Michael Sinz)


Re: Cool/useful short examples of Perl?

2011-05-30 Thread David Precious
On Monday 30 May 2011 11:40:57 Leo Lapworth wrote:
 Hi,
 
 I'm working on http://learn.perl.org/ and I'd like to have a few rotating
 example of what can be done with Perl on the home page.
 
 The first two I've thought of are below, does anyone have others?
 
 They don't have to use CPAN modules, one liners are fine as long as it
 is simple to see what they do. I'll have a 'more' link which goes on to
 show full example with line by line explanations.

Disclaimer: this is one of my modules so I'm obviously biased, but I figure 
it's a reasonable example of a common task being made easy - doing a database 
query and outputting the result as a HTML table quickly:

use HTML::Table::FromDatabase;

my $sth = $dbh-prepare('select * from widgets');
$sth-execute;

my $table = HTML::Table::FromDatabase-new(
-sth = $sth,
-borders = 0,  # all HTML::Table options are valid
);
$table-print;


Another good example would be the newish edit_file() / edit_file_lines() from 
File::Slurp, allowing stupidly-easy in-place editing of files, for instance:

edit_file { s/foo/bar/g } 'filename' ;
edit_file_lines { $_ = '' if /foo/ } 'filename' ;


Cheers

Dave P

-- 
David Precious  (bigpresh)
http://www.preshweb.co.uk/

   Programming is like sex. One mistake and you have to support
   it for the rest of your life. (Michael Sinz)


Re: Cool/useful short examples of Perl?

2011-05-30 Thread David Precious
On Monday 30 May 2011 14:27:25 'lesleyb' wrote:
 I am a little fearful people will substitute variables on the
 RHS in a CGI script without untainting first and then complain
 when the problems show up.  

Whilst I agree helping people learn about taint mode and how to untaint is 
valuable, I'm not sure it has a place in look how simple this can be / how 
easy it is to do cool stuff examples.

Taint mode can be useful, but a user trying out simple examples is unlikely to 
have enabled taint mode unless they know about it.


 [...] Even an example of how to untaint a
 'basic' RFC822 email address?
[...]
 if ($data =~ /^([-\@\w.]+)$/) {
   $data = $1; # $data now untainted
 } else {
   die Bad data in '$data';  # log this somewhere
 }

I'd really not want to see people being encouraged to attempt to validate 
email addresses with a regex; that's a wheel that should not be re-invented; 
using e.g. Email::Valid to both untaint and check for validity properly would 
be a far better approach IMO.

In fact, a how to validate an email address properly example would probably 
be worthwhile, for instance:

use Email::Valid;

if (! Email::Valid-address($email_address) ) {
print Sorry, that email address is not valid!;
}

Cheers

Dave P

-- 
David Precious  (bigpresh)
http://www.preshweb.co.uk/

   Programming is like sex. One mistake and you have to support
   it for the rest of your life. (Michael Sinz)


Re: Cool/useful short examples of Perl?

2011-05-30 Thread David Precious
On Monday 30 May 2011 16:27:30 Denny wrote:
 On Mon, 2011-05-30 at 15:36 +0100, David Precious wrote:
  if (! Email::Valid-address($email_address) ) {
 
 Something wrong with 'unless'?

Depends whether you follow Damian Conway's PBP strictly :)

At $work, we mostly do follow PBP, but with some exceptions - avoiding unless 
is one of the bits we ignore when it makes code clearer.

In this case, however, we're talking bits of code for people who are just 
learning Perl, and unless might be somewhat new to them still; if they're 
coming from another language, if is probably going to be more familiar and 
easier to mentally parse, I'd imagine.


-- 
David Precious  (bigpresh)
http://www.preshweb.co.uk/

   Programming is like sex. One mistake and you have to support
   it for the rest of your life. (Michael Sinz)


Re: Best practice for unit tests that rely on internet access?

2011-04-30 Thread David Precious
On Friday 29 April 2011 08:33:47 Leon Brocard wrote:
 If the module is all about testing a live service then by all means test
 it. Unless it takes too long, or costs money, or might change in the
 future when you don't have time to update the module...

Arguably, if whatever service the module talks to changes in the future in a 
way which stops the module working, failing test reports helps to highlight 
that; even if the developer doesn't have time to fix it, it highlights to 
potential users that the module doesn't work any more.

That, to me, is a good reason to offer the ability to test against the real 
service.

On the other hand, you could end up with incorrect failure reports when the 
service is temporarily unavailable, or cannot be reached due to a restrictive 
firewall, for instance.  Having to force install because the tests fail 
because the firewall hasn't been updated to allow connections yet isn't too 
pretty.



Re: Security of HTTP based authentication

2011-01-14 Thread David Precious
On Thu, 2011-01-13 at 14:09 +, Andrew Black wrote:
 I have often wondered about that - what is the risk in mixing HTTP
 images and HTTPS text? 

One reason could be that if the web app didn't include 'secure' in the
Set-Cookie header, the session cookie could be sent in the clear for the
image requests too, assuming they're requested from the same domain as
the rest of the page.

Of course, marking the cookie as secure (to be sent only over HTTPS
requests) would take care of that, as would requesting images from a
different domain as often seen (ebaystatic.com etc).

-- 
David Precious dav...@preshweb.co.uk (bigpresh)
http://www.preshweb.co.uk/




Re: Recommendation for simple Web Frameworks

2011-01-10 Thread David Precious
On Mon, 2011-01-10 at 18:42 -0200, Eden Cardim wrote:
  Matt == Matt Sergeant mserge...@messagelabs.com writes:
 
 Matt But the dependencies list *is* much larger for Catalyst.
 
 That's hardly the topic at hand.

When the OP is looking for simple frameworks, it's a valid thing to
take into consideration - something which installs quickly with minimal
dependencies might be preferable.

I doubt anyone is going to make the decision based solely on that, but
it's another criterion.

-- 
David Precious dav...@preshweb.co.uk (bigpresh)
http://www.preshweb.co.uk/




Re: Server side chart/graph library?

2011-01-06 Thread David Precious
On Thursday 06 January 2011 13:45:12 Leo Lapworth wrote: 
 Or use Google's Graph API: http://code.google.com/apis/chart/

This, via URI::GoogleChart, can make things dead simple, e.g.:

  use URI::GoogleChart;
  my $chart_uri = URI::GoogleChart-new(lines, 300, 100,
 data = [45, 80, 55, 68],
  );
  print qq[img src=$chart_uri ... /];

Flot (http://code.google.com/p/flot/) is a quite nice Javascript solution, if 
you're happy to shove data to the client and let it handle rendering the 
graph.

For graphs actually generated on the server as an image and sent to the 
client, I've used GD::Graph in the past, and it's done the trick.

Cheers

Dave P

-- 
David Precious dav...@preshweb.co.uk
http://blog.preshweb.co.uk/www.preshweb.co.uk/twitter
www.preshweb.co.uk/linkedinwww.preshweb.co.uk/facebook
www.preshweb.co.uk/identicawww.lyricsbadger.co.uk

  Programming is like sex. One mistake and you have to support 
  it for the rest of your life. (Michael Sinz)


Re: Recommendation for simple Web Frameworks

2011-01-06 Thread David Precious
On Thursday 06 January 2011 19:04:13 Simon Wistow wrote:
 I want to build a web site. In Perl. It needs to be dynamic but it's
 unlikely to need a database - it will however be pulling data from
 another data store and putting stuff into job queues.
 
 In short - I don't really need the CRUD stuff from a framework, I really
 just need the url based dispatch. I played around with Catalyst (which
 I'm familiar with from 6A) but it felt like it was a bit of a
 sledgehammer and that it was (not unreasonably) tied to an ORM.

I was going to step in with a somewhat biased recommendation of Dancer, but 
I'm happy to see that it's already been recommended :)


 Actually, since I'm being lazy - is there a good guide or an example for
 doing OAuth under Plack / Dancer / Plack+Dancer?

Not that I'm aware of, but there should really!

I think there needs to be a Dancer::Plugin::Auth::OAuth - I'll try to get 
round to writing one as soon as I have a chance, but there's a fair chance 
someone else might well do it in the meantime.

By the way, you'll find the Dancer dev team (and some users, too :) ) on IRC 
in #dancer on irc.perl.org if you want to ask questions quickly.

Cheers

Dave P (bigpresh)


-- 
David Precious dav...@preshweb.co.uk
http://blog.preshweb.co.uk/www.preshweb.co.uk/twitter
www.preshweb.co.uk/linkedinwww.preshweb.co.uk/facebook
www.preshweb.co.uk/identicawww.lyricsbadger.co.uk

  Programming is like sex. One mistake and you have to support 
  it for the rest of your life. (Michael Sinz)


Re: Solid state drives

2010-04-20 Thread David Precious
On Tuesday 20 April 2010 10:36:54 Simon Wilcox wrote:
 On 20/4/10 10:07, James Laver wrote:
  On Tue, Apr 20, 2010 at 09:08:10AM +0100, Richard Huxton wrote:
  Having said that, there are clearly plenty of applications where
  power-failure isn't an overriding worry.
 
  Or 'on any machine connected to a UPS that's correctly configured to
  shut the machine down properly'?
 
  Or 'on any machine in a datacenter with generators for backup power'.
 
 These are not the same. Ironically, in a datacentre with generators for
 backup power, you are MORE likely to experience sudden power loss than
 on a machine with a properly configured UPS.
 
 The infrastructure of a commercial datacentre (e.g. Telehouse/HEX etc)
 rarely has the means to send shutdown commands to servers if any
 problems are experienced with the power feeds, meaning the UPSs will
 inevitably run out of power whilst the engineers run around in circles
 and you are unlikely to find out about it in time to do an orderly
 manual shutdown.

Or if a PSU goes bang and manages to trip out the supply to a rack...

(Yeah, ideally you'd be running a dual-PSU box with each PSU connected to a 
different supply, so you should never lose both, of course.)



Re: TT and UTF8?

2010-01-29 Thread David Precious

Dave Hodgkinson wrote:

On 29 Jan 2010, at 14:48, Ash Berlin wrote:


2) stick a BOM in the .tt file


BOM?


Byte-Order Mark - http://en.wikipedia.org/wiki/Byte_order_mark



Re: SHA question

2010-01-16 Thread David Precious

Andy Wardley wrote:

On 14/01/2010 17:41, Philip Newton wrote:

Yes - you're missing the fact that in order to compute the differences
(which it has to if it doesn't want to transfer the whole file), it
has to read the entire file over the slow NFS link into your
computer's memory in order to compare it with the local file in
order to tell which pieces have changed.


No, I don't think it does.

My understanding[*] is that it computes a checksum for each block of a file
and only transmits blocks that have different checksums.


Of course, but to compute a checksum for each block of the file, that 
block first needs to be read, over the NFS connection, which is the 
whole issue.


Normally, rsync would be speaking to rsync running on the remote box, 
but the situation David described was one rsync process on box A, 
accessing files on box B via an NFS mount (as opposed to speaking to an 
rsync daemon on box B).


I'm not entirely sure, but I think that rsync will first compare the 
timestamps of the the two files, and if the timestamps match (to within 
the window specified with --modify-window, defaulting to an exact 
match), and the sizes match, it will consider the file to be the same, 
and skip generating checksums (so the file's data won't be read over NFS).


Re: Bug tracking SaaS

2009-11-24 Thread David Precious

jesse wrote:

On Tue, Nov 24, 2009 at 12:38:33PM -0800, Paul Makepeace wrote:

PS https://rt.cpan.org not having a CA-issued cert is a bit odd given
how cheap they are these days. Does Best Practical really need a
helping hand there?


Only if you can knock heads at .org.  The issue isn't one of cash. It's
one of the admin and tech contacts for cpan.org point to a dead
address, so we _can't_ get a reasonable SSL certificate as they can't
verify us. (Also, rt.cpan.org is, yes, on what's now a very old version
of RT. That's something that a minion is actively working on).


FWIW, Comodo will provide basic SSL certficates as long as an email to 
one of a list of addresses they deem to be acceptable is received  a 
link within clicked on.  That list includes the admin/tech contacts for 
the domain, but also sslad...@$hostname, ad...@$hostname etc (for 
rt.cpan.org, that'd be at either rt.cpan.org or cpan.org).


Presumably, getting such an address to go to someone who can click a 
link wouldn't be hard.


At $work we deal with Comodo to offer free SSL certs to our customers; 
if anyone is interested in getting a CA-issued cert set up, feel free to 
drop me a mail.


Cheers

Dave P


Re: Payment Providers

2009-10-02 Thread David Precious
On Friday 02 October 2009 11:13:35 Ovid wrote:
 OK, I give.  That's two references to how insecure 3D secure is. Given that
 I know nothing about it other than the annoying fact that I've forgotten my
 password for it, could someone explain why its broken?

Well, there's the fact that, for years, we've been trying to educate Internet 
users not to enter details into untrusted websites, and now all of a sudden 
they're expected to trust some random page that appears in a popup/iframe from 
some domain entirely unrelated to the one they're in the middle of trying to 
give their card details to?  Like, for instance, securesuite.co.uk - would you 
trust that random domain?  (Incidentally, that's the domain that RSA forgot to 
renew at one point...!)

See, for instance,
http://ambrand.com/2006/09/06/is-securesuitecouk-a-phishing-scam

It's a poor attempt towards three-factor authentication, but relying upon 
entering a password - which will be picked up by the same keylogging/sniffing 
techniques they'd use to grab the rest of your details if you're entering them 
on a compromised machine.  However, now, the bank has shifted liability to the 
customer, claiming that since the transaction was authorised with their 
secret password, they have no right to repudiate the transaction.

Cheers

Dave P







Re: Last Straw. Camel's Back. Etc.

2009-10-01 Thread David Precious

Denny wrote:

I have in the past had Virgin Media's '20Mb' cable service at this
address - it never managed 2Mb in the evenings, and often dropped below
1Mb.  Apparently their contention ratios are rather high.  Avoid.


It must depend upon location and how many heavy users are nearby, as I 
have their 20Mbps service, and consistently get good download speeds, 
even during the evening.


For instance, using www.speedtest.net right now (7pm), I got 16.86Mbps 
down and 2.45Mbps up.


That's slightly lower than previous tests (I normally see 18-19 at 
least), but then I have to bear in mind that all traffic is going over a 
VPN connection to my server in London and coming out there, in order to 
have a static IP, and a connection that Virgin/Phorm etc cannot snoop 
upon, and to avoid their transparent caches (I believe they still use them).


I've only had to contact their tech support once in a couple of years - 
the support agent I spoke to seemed clueful enough, understood that I 
knew the problem was theirs and not mine (modem kept losing sync), and 
agreed to send an engineer out the next day to sort it.  The problem 
magically went away the next day (without an engineer visiting my 
house), so I don't know if it was fixed remotely or an engineer did 
something at a local cabinet, all I know is it was sorted out.


Cheers

Dave P