From jarrod.linahan at gmail.com Tue Apr 3 05:44:44 2012 From: jarrod.linahan at gmail.com (Jarrod Linahan) Date: Tue, 03 Apr 2012 22:44:44 +1000 Subject: [Melbourne-pm] Hello Melbourne Message-ID: <4F7AF0BC.5060904@gmail.com> Hi all, For those of us who haven't met, I'm Jarrod, a fairly new face at Melbourne.PM. I'm a geek at heart, and though I come from a relatively non-technical background, I've spent the last few years trying to get my head around programming and other IT related stuff.. In my free time you would most likely find me attempting to get Perl to succumb to my whim or hanging out somewhere on FreeNode. To cut things short, I'm essentially looking for a foot in the door, and I was wondering if anybody has or knows of a key that could open up this new world for me. I'd love to take on programming as a career, but would also enjoy doing some sysadmin work, both utilising my current skills, and building upon them. Would love to hear from anyone if they're keen to discuss anything further, Cheers, Jarrod. __DATA__ Jarrod Ashley Linahan 3/357 St Georges Rd Thornbury VIC, 3071 Melbourne, Australia jarrod.linahan at gmail.com === Career Objective === I am seeking a position as a junior software developer in which I would be able to utilise and expand my current knowledge base. A position that involves some system administration would also be within my interest. === Skillset === * Operating Systems Linux Debian/RedHat, Windows 9x/XP/Vista/7/2000, Mac OSX * Programming Languages PHP, Perl, JavaScript (jQuery/PrototypeJS), bash/sh * Web Technology HTML(5)/XHTML, Cascading Style Sheets (CSS2/3), XML, JavaScript, Catalyst (Perl), DHTML * Systems Administration Iptables, Memcached, Samba, ssh/sshd, vim, vsftpd, * Web Servers Apache, Nginx * Databases MySQL, PostgreSQL * Networking TCP/IP administration including UNIX/Linux, Firewalling (iptables, Linux rules*based firewall systems), Windows (Home network) === Experience === * Developer and System Administrator Shopz 2011 - Present http://www.shopz.com.au/ - Refactored front end website in PHP (Magento) - Developed admin web interface with Perl (Catalyst) * Developer SMS My Customers 2011 - Present http://www.smsmycustomers.com.au - Developing the front end website in PHP for smsmycustomers.com.au - Developing the SMS backend gateway in Java === Education === Ballarat Secondary College Barkly Senior Campus 2008 - 2009 Australian Army Cadets 2003- 2007 From alfiej at opera.com Mon Apr 9 15:17:43 2012 From: alfiej at opera.com (Alfie John) Date: Tue, 10 Apr 2012 08:17:43 +1000 Subject: [Melbourne-pm] Meeting - Tomorrow night, Wednesday the 11th of April 2012 Message-ID: <1334009863.31518.140661060242629.52BF2800@webmail.messagingengine.com> Hello fellow Melbourne Perl Mongers, Just a friendly reminder that Melbourne Perl Mongers is tomorrow night, on Wednesday the 11th of April, 2012 and will start around 6:30pm: Strategic Data Level 2 51-55 Johnston street Fitzroy We have the following presentations: - Stephen will be covering how to read and write different character sets - Jacinta will be talking about Modern Perl - Greg may have a lightning talk about spreadsheet modules If anyone else would like to present, feel free to email the list. Alfie -- Alfie John alfiej at opera.com From melbourne-pm at mjch.net Mon Apr 9 23:09:14 2012 From: melbourne-pm at mjch.net (Malcolm Herbert) Date: Tue, 10 Apr 2012 16:09:14 +1000 Subject: [Melbourne-pm] Meeting - Tomorrow night, Wednesday the 11th of April 2012 In-Reply-To: <1334009863.31518.140661060242629.52BF2800@webmail.messagingengine.com> References: <1334009863.31518.140661060242629.52BF2800@webmail.messagingengine.com> Message-ID: <20120410060913.GA10947@fastmail.fm> On Tue, Apr 10, 2012 at 08:17:43AM +1000, Alfie John wrote: |Just a friendly reminder that Melbourne Perl Mongers is tomorrow night, |on Wednesday the 11th of April, 2012 and will start around 6:30pm: I'm yet to turn up to a meeting (hoping to make it this week) but would love a talk on how to make a portable app that can be deployed on multiple POSIX-like hosts without needing admin access. ie, no ability to install modules from the native package manager or online access to CPAN - looking to be able to deliver a single tarball containing everything required to run as a non-privileged user straight away when dropped into an arbitrary directory they have write access to (presumably an application home directory) I did ask about this (and received a response) but wasn't able to capitalise on it at the time ... a presentation on it would be good if anyone has something on the topic ... Regards, Malcolm -- Malcolm Herbert This brain intentionally mjch at mjch.net left blank From toby.corkindale at strategicdata.com.au Tue Apr 10 00:36:00 2012 From: toby.corkindale at strategicdata.com.au (Toby Corkindale) Date: Tue, 10 Apr 2012 17:36:00 +1000 Subject: [Melbourne-pm] Meeting - Tomorrow night, Wednesday the 11th of April 2012 In-Reply-To: <20120410060913.GA10947@fastmail.fm> References: <1334009863.31518.140661060242629.52BF2800@webmail.messagingengine.com> <20120410060913.GA10947@fastmail.fm> Message-ID: <4F83E2E0.2090200@strategicdata.com.au> On 10/04/12 16:09, Malcolm Herbert wrote: > On Tue, Apr 10, 2012 at 08:17:43AM +1000, Alfie John wrote: > |Just a friendly reminder that Melbourne Perl Mongers is tomorrow night, > |on Wednesday the 11th of April, 2012 and will start around 6:30pm: > > I'm yet to turn up to a meeting (hoping to make it this week) but would > love a talk on how to make a portable app that can be deployed on > multiple POSIX-like hosts without needing admin access. > > ie, no ability to install modules from the native package manager or > online access to CPAN - looking to be able to deliver a single tarball > containing everything required to run as a non-privileged user straight > away when dropped into an arbitrary directory they have write access to > (presumably an application home directory) > > I did ask about this (and received a response) but wasn't able to > capitalise on it at the time ... a presentation on it would be good if > anyone has something on the topic ... I'm not sure I'm up to date on that state of affairs.. As far as I am aware, most people have moved to one of two solutions. 1) Package things up for the system's native packages, ie. .deb, rpm, etc. This is annoying because you have to maintain several build systems though. (eg. debian/redhat/centos/ubuntu/solaris/freebsd/openbsd multiplied by i386/sparc/amd64/arm32/arm64 multiplied by say three different releases of each operating system is 105 different systems to build upon!) 2) Build a custom Perl in a local directory and then install all required modules into it as well. Then you can tar up the entire lot to ship it around to other systems, as long as they're fairly similar. But it won't work between wildly different releases of operating systems, let along entirely different platforms. (eg. Perl XS modules compiled on Ubuntu Server 11.10 64bit aren't going to work on freebsd on i386) 3) There was a third option, PAR -- which takes perl, your module, and all the dependencies, and all their dependencies, and all the C shared libraries referenced, and zips them all up into a huge archive, with a small bit of code at the top to extract and run it. The problem being that it's actually seriously hard to automatically determine all the CPAN modules in use, due to Perl's inconsistent ways of loading them randomly, all over the place. For example: use Module::Load; use DateTime::TimeZone; my $tz = DateTime::TimeZone->new(name => 'local')->name; # $tz = 'Australia/Melbourne' $tz =~ s{/}{_}g; load "Module::For::$tz"; That will require you to have included Module/For/Australia_Melbourne.pm as well as *every other timezone* in case someone runs it in London or New York or whatever. But there isn't an easy way to tell that from an automated scanner, even if it loads the module and put hooks into the Perl loader. Toby From kahlil.hodgson at dealmax.com.au Tue Apr 10 14:48:57 2012 From: kahlil.hodgson at dealmax.com.au (Kahlil Hodgson) Date: Wed, 11 Apr 2012 07:48:57 +1000 Subject: [Melbourne-pm] testing mail delivery - please ignore In-Reply-To: <4F7AF0BC.5060904@gmail.com> References: <4F7AF0BC.5060904@gmail.com> Message-ID: <4F84AAC9.6080704@dealmax.com.au> testing mail delivery - please ignore -- Kahlil (Kal) Hodgson GPG: C9A02289 Head of Technology (m) +61 (0) 4 2573 0382 DealMax Pty Ltd (w) +61 (0) 3 9008 5281 Suite 1005 401 Docklands Drive Docklands VIC 3008 Australia "All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can't get them together again, there must be a reason. By all means, do not use a hammer." -- IBM maintenance manual, 1925 From adam.clarke at strategicdata.com.au Tue Apr 10 17:55:31 2012 From: adam.clarke at strategicdata.com.au (Adam Clarke) Date: Wed, 11 Apr 2012 10:55:31 +1000 Subject: [Melbourne-pm] Meeting - Tomorrow night, Wednesday the 11th of April 2012 In-Reply-To: <4F83E2E0.2090200@strategicdata.com.au> References: <1334009863.31518.140661060242629.52BF2800@webmail.messagingengine.com> <20120410060913.GA10947@fastmail.fm> <4F83E2E0.2090200@strategicdata.com.au> Message-ID: <53010C33-2241-4EA2-9EBF-E42A529B8CED@strategicdata.com.au> On 10/04/2012, at 5:36 PM, Toby Corkindale wrote: > On 10/04/12 16:09, Malcolm Herbert wrote: >> On Tue, Apr 10, 2012 at 08:17:43AM +1000, Alfie John wrote: >> |Just a friendly reminder that Melbourne Perl Mongers is tomorrow night, >> |on Wednesday the 11th of April, 2012 and will start around 6:30pm: >> >> I'm yet to turn up to a meeting (hoping to make it this week) but would >> love a talk on how to make a portable app that can be deployed on >> multiple POSIX-like hosts without needing admin access. >> >> ie, no ability to install modules from the native package manager or >> online access to CPAN - looking to be able to deliver a single tarball >> containing everything required to run as a non-privileged user straight >> away when dropped into an arbitrary directory they have write access to >> (presumably an application home directory) >> >> I did ask about this (and received a response) but wasn't able to >> capitalise on it at the time ... a presentation on it would be good if >> anyone has something on the topic ... > > > I'm not sure I'm up to date on that state of affairs.. > > As far as I am aware, most people have moved to one of two solutions. > 1) Package things up for the system's native packages, ie. .deb, rpm, etc. > This is annoying because you have to maintain several build systems though. (eg. debian/redhat/centos/ubuntu/solaris/freebsd/openbsd multiplied by i386/sparc/amd64/arm32/arm64 multiplied by say three different releases of each operating system is 105 different systems to build upon!) > > > 2) Build a custom Perl in a local directory and then install all required modules into it as well. Then you can tar up the entire lot to ship it around to other systems, as long as they're fairly similar. > But it won't work between wildly different releases of operating systems, let along entirely different platforms. > (eg. Perl XS modules compiled on Ubuntu Server 11.10 64bit aren't going to work on freebsd on i386) > > > > 3) > There was a third option, PAR -- which takes perl, your module, and all the dependencies, and all their dependencies, and all the C shared libraries referenced, and zips them all up into a huge archive, with a small bit of code at the top to extract and run it. > > The problem being that it's actually seriously hard to automatically determine all the CPAN modules in use, due to Perl's inconsistent ways of loading them randomly, all over the place. Best Practical, creators of Request Tracker produced Shipwright http://search.cpan.org/~sunnavy/Shipwright-2.4.31/lib/Shipwright.pm. We haven't used it but it claims to solve the same problem. From the above link ... "Shipwright is a tool to help you bundle your software with all its dependencies, regardless of whether they are CPAN modules or non-Perl modules from elsewhere. Shipwright makes the bundle work easy." Cheers From toby.corkindale at strategicdata.com.au Tue Apr 10 22:55:38 2012 From: toby.corkindale at strategicdata.com.au (Toby Corkindale) Date: Wed, 11 Apr 2012 15:55:38 +1000 Subject: [Melbourne-pm] Reminder: Melbourne Perl Mongers is TONIGHT In-Reply-To: <1334009863.31518.140661060242629.52BF2800@webmail.messagingengine.com> References: <1334009863.31518.140661060242629.52BF2800@webmail.messagingengine.com> Message-ID: <4F851CDA.8030009@strategicdata.com.au> Remember, the Melbourne Perlmongers are meeting tonight! See you in about 150 minutes from now :) -Toby -------- Hello fellow Melbourne Perl Mongers, Just a friendly reminder that Melbourne Perl Mongers is on Wednesday the 11th of April, 2012 and will start around 6:30pm: Strategic Data Level 2 51-55 Johnston street Fitzroy We have the following presentations: - Stephen will be covering how to read and write different character sets - Jacinta will be talking about Modern Perl - Greg may have a lightning talk about spreadsheet modules If anyone else would like to present, feel free to email the list. Alfie From ts at meme.com.au Wed Apr 11 06:21:36 2012 From: ts at meme.com.au (Tony Smith) Date: Wed, 11 Apr 2012 23:21:36 +1000 Subject: [Melbourne-pm] NASA codeathon next weekend (21-22 April) Message-ID: <759DB9BA-C3FF-4CBA-AA2B-985285570BAF@meme.com.au> The URL for the page we got to at tonights meeting: http://www.vssec.vic.edu.au/join-the-nasa-international-space-apps-challenge/ > Melbourne: Victorian Space Science Education Centre, 400 Pascoe Vale Rd, Strathmore (max 100 people) Core aim is to leverage the "incredible amounts of data" generated by space technology for earth-bound purposes. Tony Smith Complex Systems Analyst Melbourne, Australia http://www.ynotds.com/ Giving thanks to the space, time, energy, matter and other lives that have allowed me to tell my lies on this old and damp ball of rock. From greg.george at orica.com Wed Apr 11 14:30:26 2012 From: greg.george at orica.com (greg.george at orica.com) Date: Thu, 12 Apr 2012 07:30:26 +1000 Subject: [Melbourne-pm] Spreadsheet::WriteExcel::Extended::FitColumnWidth In-Reply-To: <759DB9BA-C3FF-4CBA-AA2B-985285570BAF@meme.com.au> References: <759DB9BA-C3FF-4CBA-AA2B-985285570BAF@meme.com.au> Message-ID: Here is the information on the module I discussed last night, make sure you get version 1.02 (cpanm finds the latest, cpan does not for me - at least not 7:30AM today) Spreadsheet::WriteExcel::Extended::FitColumnWidth Extends Spreadsheet::WriteExcel with autofit of columns and a few other nice things Spreadsheet-WriteExcel-Extended-FitColumnWidth-1.02 - 11 Apr 2012 - Greg George Here is the sample file I used last night Regards, IT Shared Services Orica Australia Pty Ltd p. +613 9091 2492 | f. +613 9091 2444 | e. greg.george at orica.com a. 3/100 Victoria Prd, Melbourne, Vic, Australia 3001 Please consider the environment before printing this e-mail -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/gif Size: 1155 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: test_it.pl Type: application/octet-stream Size: 1579 bytes Desc: not available URL: -------------- next part -------------- *********************************************************************************************************************************************************************************************** Please consider the environment before printing this e-mail. This message is intended solely for the individual(s) and entity(s) addressed. It is confidential and may contain legally privileged information. The use, copying or distribution of this message or any information it contains, by anyone other than the addressee, is prohibited. If you have received this message in error, please notify postmaster at orica.com. The mailbox address from which this message has been sent is for business mail only. Mail sent to it may be subject to security scanning and delivery on non-business messages sent to this address may not occur. Thank you. *********************************************************************************************************************************************************************************************** From greg.george at orica.com Wed Apr 11 14:55:34 2012 From: greg.george at orica.com (greg.george at orica.com) Date: Thu, 12 Apr 2012 07:55:34 +1000 Subject: [Melbourne-pm] Pretty printing of SQL - SQL::Beautify Message-ID: In answer to the question raised last night. To pretty print SQL I use SQL::Beautify Has lots of options to tweak the output to how you want it. Allows additional tokens to be recognised NAME SQL::Beautify - Beautify SQL statements by adding line breaks indentation SYNOPSIS my $sql = SQL::Beautify->new; $sql->query($sql_query); my $nice_sql = $sql->beautify; DESCRIPTION Beautifies SQL statements by adding line breaks indentation. Regards, Greg George IT Shared Services Orica Australia Pty Ltd p. +613 9091 2492 | f. +613 9091 2444 | e. greg.george at orica.com a. 3/100 Victoria Prd, Melbourne, Vic, Australia 3001 Please consider the environment before printing this e-mail *********************************************************************************************************************************************************************************************** Please consider the environment before printing this e-mail. This message is intended solely for the individual(s) and entity(s) addressed. It is confidential and may contain legally privileged information. The use, copying or distribution of this message or any information it contains, by anyone other than the addressee, is prohibited. If you have received this message in error, please notify postmaster at orica.com. The mailbox address from which this message has been sent is for business mail only. Mail sent to it may be subject to security scanning and delivery on non-business messages sent to this address may not occur. Thank you. *********************************************************************************************************************************************************************************************** -------------- next part -------------- An HTML attachment was scrubbed... URL: From scottp at dd.com.au Wed Apr 11 17:13:15 2012 From: scottp at dd.com.au (Scott Penrose) Date: Thu, 12 Apr 2012 10:13:15 +1000 Subject: [Melbourne-pm] Three Projects Message-ID: Hi Melbourne Team I am working on three Perl projects at the moment, and was wondering if anyone was interested, and specifically interested in helping out. PerlBone The Beagle Board and Beagle Bone have been very popular devices. I think the new Beagle Bone at US$89 is really a fantastic device. Yes a Raspberry Pi is cheaper, but it is more about graphics, BeagleBone is more about IO, devices etc. My opinion. The news has been about BoneScript, which is NodeJS but looks like Arduino C code (e.g. digitalWrite(3, HIGH)). Many of the examples sites talk about BoneScript and the Python. And it got me thinking about Perl. Guess what, Perl is already installed and fully running. So I wrote PerlBone. http://scott.dd.com.au/wiki/PerlBone It doesn't do all that much. But it compiles and runs fast, takes up small memory. It works, flashes LEDs etc. My intention is to make it work like Arduino, OR in a Perl OO mode, which then allows you to just use bits - e.g. my $bone = PerlBone->new(); $bone->digitalWrite(3, $bone->HIGH); or similar. FYI - like the Python and BoneScript (NodeJS) this uses the GPIO Kernel module via file system. That is something I would like to look at, as it is a very slow way to operate - especially with multiple IOs. There should be way to use direct kernel calls Cloud9 With regards to PerlBone, the nice integration of BoneScript is that the distributors have Cloud9 installed on the board. So you can edit and execute code on the system. Someone has put some effort into run and debug of NodeJS apps. There is some work on a Python plugin to run, and I started playing with a Perl version - unsuccessfully so far, but should be at least possible to do some basic run, compile checks etc. http://scott.dd.com.au/wiki/PerlBone Julia vs PDL Anyone use PDL? I love being able to type: $x = rcols ('out/spec_anal.out'); line $x; and see a pretty chart. Or better when we use the 3D ones. Also matrix calculations are pretty amazing. http://julialang.org/ has come out recently, and does a nice set of comparisons to other languages, mostly for speed, but also for programmability comparison. It includes javascript, Python (with NumPy) etc. So I tried some PDL. In the two examples I wrote, it was plane that I am not good enough to write the code, but they performed about the same as Python. Since Julia already uses Perl in the build scripts, and to do the calculations of the performance stats, I thought it would be good to have Perl (using PDL) in the list. So... some new projects I would like to complete. Thought you might be interested. Scott -------------- next part -------------- An HTML attachment was scrubbed... URL: From toby.corkindale at strategicdata.com.au Thu Apr 12 18:19:31 2012 From: toby.corkindale at strategicdata.com.au (Toby Corkindale) Date: Fri, 13 Apr 2012 11:19:31 +1000 Subject: [Melbourne-pm] Three Projects In-Reply-To: References: Message-ID: <4F877F23.3070609@strategicdata.com.au> On 12/04/12 10:13, Scott Penrose wrote: > Hi Melbourne Team > > I am working on three Perl projects at the moment, and was wondering if > anyone was interested, and specifically interested in helping out. > > PerlBone > > The Beagle Board and Beagle Bone have been very popular devices. I think > the new Beagle Bone at US$89 is really a fantastic device. Yes a > Raspberry Pi is cheaper, but it is more about graphics, BeagleBone is > more about IO, devices etc. My opinion. The news has been about > BoneScript, which is NodeJS but looks like Arduino C code (e.g. > digitalWrite(3, HIGH)). Many of the examples sites talk about BoneScript > and the Python. And it got me thinking about Perl. Guess what, Perl is > already installed and fully running. So I wrote PerlBone. > > http://scott.dd.com.au/wiki/PerlBone > > It doesn't do all that much. But it compiles and runs fast, takes up > small memory. It works, flashes LEDs etc. My intention is to make it > work like Arduino, OR in a Perl OO mode, which then allows you to just > use bits - e.g. my $bone = PerlBone->new(); $bone->digitalWrite(3, > $bone->HIGH); or similar. FYI - like the Python and BoneScript (NodeJS) > this uses the GPIO Kernel module via file system. That is something I > would like to look at, as it is a very slow way to operate - especially > with multiple IOs. There should be way to use direct kernel calls Cool -- the BeagleBone looks pretty nifty. I've played around with one of Jon Oxer's LeoSticks a bit, and programming via C wasn't a problem for me.. But some of the stuff I was trying to do really pushed the processor a bit hard.. Ended up with a lot of 8-bit-integer math in order to run fast enough, but that introduced rounding errors like crazy. In other words, more power would be great, and the 'Bone looks like it offers that. As far as the Perl library goes.. I was wondering if a blessed object is actually appropriate, or not? Since you only have one instance of the device available to a program, wouldn't a singleton object be a closer match to the hardware? I mean, it's not like you can do this: use PerlBone; my $bone = PerlBone->new(...); my $otherbone = PerlBone->new(...); In which case, how about class methods? use PerlBone qw(:DEFINES) PerlBone->digitalWrite(13, PB_HIGH); Or perhaps optionally export non-class variants even, which would make it easier for people used to Arduino, or just lazy people :) use PerlBone qw(digitalWrite :DEFINES); digitalWrite(13, PB_HIGH); > Cloud9 > > With regards to PerlBone, the nice integration of BoneScript is that the > distributors have Cloud9 installed on the board. So you can edit and > execute code on the system. Someone has put some effort into run and > debug of NodeJS apps. There is some work on a Python plugin to run, and > I started playing with a Perl version - unsuccessfully so far, but > should be at least possible to do some basic run, compile checks etc. I hadn't actually heard of Cloud9. Their website says they support Perl? Or is that just meaning they do syntax highlighting? > http://scott.dd.com.au/wiki/PerlBone > > > Julia vs PDL > > Anyone use PDL? No, but it's one of those things I keep thinking I should learn. Also "R". > I love being able to type: $x = rcols ('out/spec_anal.out'); line $x; > and see a pretty chart. Or better when we use the 3D ones. Also matrix > calculations are pretty amazing. > http://julialang.org/ has come out recently, and does a nice set of > comparisons to other languages, mostly for speed, but also for > programmability comparison. It includes javascript, Python (with NumPy) > etc. So I tried some PDL. In the two examples I wrote, it was plane that > I am not good enough to write the code, but they performed about the > same as Python. Since Julia already uses Perl in the build scripts, and > to do the calculations of the performance stats, I thought it would be > good to have Perl (using PDL) in the list. > > > So... some new projects I would like to complete. Thought you might be > interested. Thanks Scott! Toby From scottp at dd.com.au Thu Apr 12 18:30:29 2012 From: scottp at dd.com.au (Scott Penrose) Date: Fri, 13 Apr 2012 11:30:29 +1000 Subject: [Melbourne-pm] Three Projects In-Reply-To: <4F877F23.3070609@strategicdata.com.au> References: <4F877F23.3070609@strategicdata.com.au> Message-ID: <940F3A08-D826-47D4-A859-AA208E3659BC@dd.com.au> On 13/04/2012, at 11:19 AM, Toby Corkindale wrote: > Cool -- the BeagleBone looks pretty nifty. > I've played around with one of Jon Oxer's LeoSticks a bit, and programming via C wasn't a problem for me.. > But some of the stuff I was trying to do really pushed the processor a bit hard.. Ended up with a lot of 8-bit-integer math in order to run fast enough, but that introduced rounding errors like crazy. > > In other words, more power would be great, and the 'Bone looks like it offers that. > > > As far as the Perl library goes.. I was wondering if a blessed object is actually appropriate, or not? > Since you only have one instance of the device available to a program, wouldn't a singleton object be a closer match to the hardware? > > I mean, it's not like you can do this: > use PerlBone; > my $bone = PerlBone->new(...); > my $otherbone = PerlBone->new(...); > > In which case, how about class methods? > use PerlBone qw(:DEFINES) > PerlBone->digitalWrite(13, PB_HIGH); Yes you are right. Hadn't thought about it fully. Right now I am just polluting name space to look pretty compatible to Arduino. But your idea makes it even simpler, ie: just don't import :-) > use PerlBone qw(digitalWrite :DEFINES); > digitalWrite(13, PB_HIGH); Yes I like it. A bit like you can do sets of items with autodie etc. > >> Cloud9 >> >> With regards to PerlBone, the nice integration of BoneScript is that the >> distributors have Cloud9 installed on the board. So you can edit and >> execute code on the system. Someone has put some effort into run and >> debug of NodeJS apps. There is some work on a Python plugin to run, and >> I started playing with a Perl version - unsuccessfully so far, but >> should be at least possible to do some basic run, compile checks etc. > > I hadn't actually heard of Cloud9. > Their website says they support Perl? Or is that just meaning they do syntax highlighting? They definitely support syntax highlighting. Not sure about run/debug. Didn't see it there. > >> http://scott.dd.com.au/wiki/PerlBone >> >> >> Julia vs PDL >> >> Anyone use PDL? > > No, but it's one of those things I keep thinking I should learn. > Also "R". Yes, Octave is nice. My maths is bad for a programmer, but it is slowly improving. My last few jobs has really pushed up the need for more maths. PDL has been very helpful. Scott From list at bereft.net Thu Apr 12 19:19:12 2012 From: list at bereft.net (Brad Bowman) Date: Fri, 13 Apr 2012 12:19:12 +1000 Subject: [Melbourne-pm] Three Projects In-Reply-To: <4F877F23.3070609@strategicdata.com.au> References: <4F877F23.3070609@strategicdata.com.au> Message-ID: <4F878D20.1070709@bereft.net> On 13/04/12 11:19, Toby Corkindale wrote: > On 12/04/12 10:13, Scott Penrose wrote: > As far as the Perl library goes.. I was wondering if a blessed object is > actually appropriate, or not? > Since you only have one instance of the device available to a program, > wouldn't a singleton object be a closer match to the hardware? > > I mean, it's not like you can do this: > use PerlBone; > my $bone = PerlBone->new(...); > my $otherbone = PerlBone->new(...); > > In which case, how about class methods? > use PerlBone qw(:DEFINES) > PerlBone->digitalWrite(13, PB_HIGH); > > Or perhaps optionally export non-class variants even, which would make it > easier for people used to Arduino, or just lazy people :) > use PerlBone qw(digitalWrite :DEFINES); > digitalWrite(13, PB_HIGH); > I had a similar interface issue for Audio::Ecasound. Generally, you are controlling one default instance, so either functions or a singleton make sense, but you might want to have multiple instances and they should be independent objects. So I decided by not deciding and threw them all in: http://cpansearch.perl.org/src/BOWMANBS/Audio-Ecasound-1.01/Ecasound.pm The import, _shift_self and AUTOLOAD subs might be useful. ( It wasn't a maintenance problem because there's only one guy who uses it :) ) >> Julia vs PDL >> >> Anyone use PDL? > > No, but it's one of those things I keep thinking I should learn. > Also "R". I've done some PDL: http://bereft.net/neuro/som/ http://www.youtube.com/watch?v=7ecSO4fwP_o Don't most of these higher level numerics languages just end up wrapping C or Fortran anyway? Julia looks like it uses Intel MKL which would be most of the benchmark difference, is that a reasonable presumption? The benchmarks don't look too tricky, if you get them to agree to host the results, I'll have a go at writing the code and keep the list posted. Brad From scottp at dd.com.au Thu Apr 12 19:39:36 2012 From: scottp at dd.com.au (Scott Penrose) Date: Fri, 13 Apr 2012 12:39:36 +1000 Subject: [Melbourne-pm] Three Projects In-Reply-To: <4F878D20.1070709@bereft.net> References: <4F877F23.3070609@strategicdata.com.au> <4F878D20.1070709@bereft.net> Message-ID: On 13/04/2012, at 12:19 PM, Brad Bowman wrote: > I've done some PDL: > > http://bereft.net/neuro/som/ > http://www.youtube.com/watch?v=7ecSO4fwP_o > > Don't most of these higher level numerics languages just end up > wrapping C or Fortran anyway? Lots do. And of course even newer things like Julia allow you to call Fortran. > Julia looks like it uses Intel MKL > which would be most of the benchmark difference, is that a reasonable > presumption? It can use intel MKL, as can Matlab etc. But it isn't in their examples. > The benchmarks don't look too tricky, if you get them to > agree to host the results, I'll have a go at writing the code > and keep the list posted. Excellent. Mainly I wanted to see how the code looks. If it performs slower than even the Python code that is ok as long as, for me, it is easy to code, easy to read. And if it performs well that is good too :-) Scott > Brad > _______________________________________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/listinfo/melbourne-pm From toby.corkindale at strategicdata.com.au Thu Apr 12 21:19:08 2012 From: toby.corkindale at strategicdata.com.au (Toby Corkindale) Date: Fri, 13 Apr 2012 14:19:08 +1000 Subject: [Melbourne-pm] prove --state Message-ID: <4F87A93C.50208@strategicdata.com.au> I just discovered the --state parameter for the prove command. How did I not know about this already?!? -Toby From toby.corkindale at strategicdata.com.au Wed Apr 25 03:14:51 2012 From: toby.corkindale at strategicdata.com.au (Toby Corkindale) Date: Wed, 25 Apr 2012 20:14:51 +1000 (EST) Subject: [Melbourne-pm] Talks for the May meeting In-Reply-To: Message-ID: <239b6573-6c33-45ca-bb59-2e26d9d4968b@dmz03.strategicdata.internal> Hi everyone, The next meeting of the Melbourne Perlmongers will be on the 9th of May, 2012. I wondered if anyone had a presentation they would like to give? Thanks, Toby From thogard at abnormal.com Wed Apr 25 22:17:02 2012 From: thogard at abnormal.com (Tim Hogard) Date: Thu, 26 Apr 2012 05:17:02 +0000 (UTC) Subject: [Melbourne-pm] Perl much slower on freebsd than solaris Message-ID: <201204260517.q3Q5H2dE002802@v.abnormal.com> Hi, I'm trying to moving my sparc systems from using solaris 9 over to freebsd 9.0 but I'm finding perl to be very slow. Freebsd 9.0 seemed slow so I fired up this: #!/usr/bin/perl foreach $i (1..1000000) { $i{$i}=$i; } It takes 4 second on the solaris machine and 24+ seconds on the freebsd machine. I backed up to freebsd 8.3 and perl 5.10.1 and had the same results. My next step is to drop back to the exact versions but I don't think the minor version differences are the main problem. Both systems have the same clock speed and model of cpu but the free bsd system is slightly slower. main() { int i; double a; for(i=0;i<1000000000;i++) { a=i*a; } } Takes 12 sec on the sol9 and 16 sec on freebsd. 33% slower is ok, 600% is not. Both systems have a gig of unused memory and haven't touched swap. The sol9 server is doing other things like email, squid, web serving stuff too. The freebsds system is not doing anything other than these tests. The sol9 system does have 2 cpus and the freebsd one has one but tests of running the programs 4 times in parallel gives the correct results of a 2x increase in time for the 2 cpu system and a 4x increase for the single cpu. Does anyone have any hints on where to look next? I was thinking the sol9 was 32 bit so it was moving less data around but that should only cover a 2x speed decrease at the worst. Version details are below. Thanks, -tim --------------------------- Version info >From the sol 9: bash-2.05$ perl -V Summary of my perl5 (revision 5 version 10 subversion 0) configuration: Platform: osname=solaris, osvers=2.9, archname=sun4-solaris uname='sunos v210-2 5.9 generic_122300-15 sun4u sparc sunw,netra-210 ' config_args='-Dcc=gcc' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O', cppflags='-fno-strict-aliasing -pipe -I/usr/local/include' ccversion='', gccversion='4.2.3', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='gcc', ldflags =' -L/usr/local/lib ' libpth=/usr/local/lib /usr/lib /usr/ccs/lib libs=-lsocket -lnsl -ldb -ldl -lm -lc perllibs=-lsocket -lnsl -ldl -lm -lc libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP USE_LARGE_FILES USE_PERLIO Built under solaris Compiled at Aug 22 2008 01:59:34 @INC: /usr/local/lib/perl5/5.10.0/sun4-solaris /usr/local/lib/perl5/5.10.0 /usr/local/lib/perl5/site_perl/5.10.0/sun4-solaris /usr/local/lib/perl5/site_perl/5.10.0 >From the freebsd: (built from source using the Policy from the other machine. Building from ports was just as slow) [thogard at v210-2 ~/src/perl-5.10.1]$ perl -V Summary of my perl5 (revision 5 version 10 subversion 1) configuration: Platform: osname=freebsd, osvers=8.3-release, archname=sparc64-freebsd uname='freebsd v210-2.umd.com.au 8.3-release freebsd 8.3-release #0: tue apr 10 03:28:23 utc 2012 root at araz.cse.buffalo.edu:usrobjusrsrcsysgeneric sparc64 ' config_args='' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef ude', optimize='-O', cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include' ccversion='', gccversion='4.2.2 20070831 prerelease [FreeBSD]', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='cc', ldflags ='-Wl,-E -fstack-protector -L/usr/local/lib' libpth=/usr/lib /usr/local/lib libs=-lm -lcrypt -lutil -lc perllibs=-lm -lcrypt -lutil -lc libc=, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-DPIC -fPIC', lddlflags='-shared -L/usr/local/lib -fstack-protector' Characteristics of this binary (from libperl): Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO Built under freebsd Compiled at Apr 26 2012 14:38:36 @INC: /usr/local/lib/perl5/5.10.1/sparc64-freebsd /usr/local/lib/perl5/5.10.1 /usr/local/lib/perl5/site_perl/5.10.1/sparc64-freebsd /usr/local/lib/perl5/site_perl/5.10.1 The sol 9 box uses gcc: bash-2.05$ gcc -v Using built-in specs. Target: sparc-sun-solaris2.9 Configured with: ./configure --enable-languages=c,c++ Thread model: posix gcc version 4.3.2 (GCC) And the freebsd box uses: Using built-in specs. Target: sparc64-undermydesk-freebsd Configured with: FreeBSD/sparc64 system compiler Thread model: posix gcc version 4.2.2 20070831 prerelease [FreeBSD] From toby.corkindale at strategicdata.com.au Wed Apr 25 22:26:59 2012 From: toby.corkindale at strategicdata.com.au (Toby Corkindale) Date: Thu, 26 Apr 2012 15:26:59 +1000 Subject: [Melbourne-pm] Perl much slower on freebsd than solaris In-Reply-To: <201204260517.q3Q5H2dE002802@v.abnormal.com> References: <201204260517.q3Q5H2dE002802@v.abnormal.com> Message-ID: <4F98DCA3.2080909@strategicdata.com.au> Hi Tim, it would be very interesting to see the results obtained when compiling Perl yourself on each machine, with the same version of Perl and same compile-time options. If you're interested, check out perlbrew, which automates that process for you. Toby On 26/04/12 15:17, Tim Hogard wrote: > > Hi, > > I'm trying to moving my sparc systems from using solaris 9 over to > freebsd 9.0 but I'm finding perl to be very slow. > > Freebsd 9.0 seemed slow so I fired up this: > #!/usr/bin/perl > foreach $i (1..1000000) { > $i{$i}=$i; > } > > It takes 4 second on the solaris machine and 24+ seconds on the > freebsd machine. I backed up to freebsd 8.3 and perl 5.10.1 and > had the same results. My next step is to drop back to the exact > versions but I don't think the minor version differences are the > main problem. > > Both systems have the same clock speed and model of cpu but the > free bsd system is slightly slower. > main() { int i; double a; for(i=0;i<1000000000;i++) { a=i*a; } } > Takes 12 sec on the sol9 and 16 sec on freebsd. 33% slower is ok, > 600% is not. > > Both systems have a gig of unused memory and haven't touched swap. > The sol9 server is doing other things like email, squid, web serving > stuff too. The freebsds system is not doing anything other than > these tests. The sol9 system does have 2 cpus and the freebsd one > has one but tests of running the programs 4 times in parallel gives > the correct results of a 2x increase in time for the 2 cpu system > and a 4x increase for the single cpu. > > Does anyone have any hints on where to look next? I was thinking > the sol9 was 32 bit so it was moving less data around but that > should only cover a 2x speed decrease at the worst. Version details > are below. > > Thanks, > > -tim > > --------------------------- > Version info > > From the sol 9: > bash-2.05$ perl -V > Summary of my perl5 (revision 5 version 10 subversion 0) configuration: > Platform: > osname=solaris, osvers=2.9, archname=sun4-solaris > uname='sunos v210-2 5.9 generic_122300-15 sun4u sparc sunw,netra-210 ' > config_args='-Dcc=gcc' > hint=recommended, useposix=true, d_sigaction=define > useithreads=undef, usemultiplicity=undef > useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef > use64bitint=undef, use64bitall=undef, uselongdouble=undef > usemymalloc=n, bincompat5005=undef > Compiler: > cc='gcc', ccflags ='-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', > optimize='-O', > cppflags='-fno-strict-aliasing -pipe -I/usr/local/include' > ccversion='', gccversion='4.2.3', gccosandvers='' > intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 > d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 > ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 > alignbytes=8, prototype=define > Linker and Libraries: > ld='gcc', ldflags =' -L/usr/local/lib ' > libpth=/usr/local/lib /usr/lib /usr/ccs/lib > libs=-lsocket -lnsl -ldb -ldl -lm -lc > perllibs=-lsocket -lnsl -ldl -lm -lc > libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a > gnulibc_version='' > Dynamic Linking: > dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' > cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib' > > > Characteristics of this binary (from libperl): > Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP > USE_LARGE_FILES USE_PERLIO > Built under solaris > Compiled at Aug 22 2008 01:59:34 > @INC: > /usr/local/lib/perl5/5.10.0/sun4-solaris > /usr/local/lib/perl5/5.10.0 > /usr/local/lib/perl5/site_perl/5.10.0/sun4-solaris > /usr/local/lib/perl5/site_perl/5.10.0 > > > > From the freebsd: (built from source using the Policy from the other machine. Building from ports was just as slow) > [thogard at v210-2 ~/src/perl-5.10.1]$ perl -V > Summary of my perl5 (revision 5 version 10 subversion 1) configuration: > > Platform: > osname=freebsd, osvers=8.3-release, archname=sparc64-freebsd > uname='freebsd v210-2.umd.com.au 8.3-release freebsd 8.3-release #0: tue apr 10 03:28:23 utc 2012 root at araz.cse.buffalo.edu:usrobjusrsrcsysgeneric sparc64 ' > config_args='' > hint=recommended, useposix=true, d_sigaction=define > useithreads=undef, usemultiplicity=undef > useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef > use64bitint=define, use64bitall=define, uselongdouble=undef > usemymalloc=n, bincompat5005=undef > ude', > optimize='-O', > cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include' > ccversion='', gccversion='4.2.2 20070831 prerelease [FreeBSD]', gccosandvers='' > intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321 > d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 > ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 > alignbytes=8, prototype=define > Linker and Libraries: > ld='cc', ldflags ='-Wl,-E -fstack-protector -L/usr/local/lib' > libpth=/usr/lib /usr/local/lib > libs=-lm -lcrypt -lutil -lc > perllibs=-lm -lcrypt -lutil -lc > libc=, so=so, useshrplib=false, libperl=libperl.a > gnulibc_version='' > Dynamic Linking: > dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' > cccdlflags='-DPIC -fPIC', lddlflags='-shared -L/usr/local/lib -fstack-protector' > > > Characteristics of this binary (from libperl): > Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP USE_64_BIT_ALL > USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO > Built under freebsd > Compiled at Apr 26 2012 14:38:36 > @INC: > /usr/local/lib/perl5/5.10.1/sparc64-freebsd > /usr/local/lib/perl5/5.10.1 > /usr/local/lib/perl5/site_perl/5.10.1/sparc64-freebsd > /usr/local/lib/perl5/site_perl/5.10.1 > > > The sol 9 box uses gcc: > bash-2.05$ gcc -v > Using built-in specs. > Target: sparc-sun-solaris2.9 > Configured with: ./configure --enable-languages=c,c++ > Thread model: posix > gcc version 4.3.2 (GCC) > > And the freebsd box uses: > Using built-in specs. > Target: sparc64-undermydesk-freebsd > Configured with: FreeBSD/sparc64 system compiler > Thread model: posix > gcc version 4.2.2 20070831 prerelease [FreeBSD] > > _______________________________________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/listinfo/melbourne-pm -- .signature From andrewmcnnz at gmail.com Wed Apr 25 23:05:58 2012 From: andrewmcnnz at gmail.com (Andrew McNaughton) Date: Thu, 26 Apr 2012 16:05:58 +1000 Subject: [Melbourne-pm] Perl much slower on freebsd than solaris In-Reply-To: <201204260517.q3Q5H2dE002802@v.abnormal.com> References: <201204260517.q3Q5H2dE002802@v.abnormal.com> Message-ID: <4F98E5C6.6030307@mcnaughty.com> You're copying a lot of numbers into your hash, and performing hashes on those numbers. I suspect then that the value of something like longsize might be important, and you can see from the perl config info that it's different. also ptrsize, use64bitint and use64bitall, ivsize, etc. the stackprotector bit probably makes a bit of difference too, but I'd have expect that to be only a few percent. What happens if you do it this way? foreach $i ("0000001" .. "1000000") { $i{$i}=$i; } I suspect that removes a lot of the 4 byte vs 8 byte bits. As you say, doubling seems like an upper limit for copying type operations. I wonder what the hashing algorithm looks like though. What's the comparison like if you take both the integer and the hashing operations out like so? $p = "1234567"; foreach $i ("0000001" .. "1000000") { $p |= $i; } Andrew On 26/04/12 15:17, Tim Hogard wrote: > Hi, > > I'm trying to moving my sparc systems from using solaris 9 over to > freebsd 9.0 but I'm finding perl to be very slow. > > Freebsd 9.0 seemed slow so I fired up this: > #!/usr/bin/perl > foreach $i (1..1000000) { > $i{$i}=$i; > } > > It takes 4 second on the solaris machine and 24+ seconds on the > freebsd machine. I backed up to freebsd 8.3 and perl 5.10.1 and > had the same results. My next step is to drop back to the exact > versions but I don't think the minor version differences are the > main problem. > > Both systems have the same clock speed and model of cpu but the > free bsd system is slightly slower. > main() { int i; double a; for(i=0;i<1000000000;i++) { a=i*a; } } > Takes 12 sec on the sol9 and 16 sec on freebsd. 33% slower is ok, > 600% is not. > > Both systems have a gig of unused memory and haven't touched swap. > The sol9 server is doing other things like email, squid, web serving > stuff too. The freebsds system is not doing anything other than > these tests. The sol9 system does have 2 cpus and the freebsd one > has one but tests of running the programs 4 times in parallel gives > the correct results of a 2x increase in time for the 2 cpu system > and a 4x increase for the single cpu. > > Does anyone have any hints on where to look next? I was thinking > the sol9 was 32 bit so it was moving less data around but that > should only cover a 2x speed decrease at the worst. Version details > are below. > > Thanks, > > -tim > > --------------------------- > Version info > > From the sol 9: > bash-2.05$ perl -V > Summary of my perl5 (revision 5 version 10 subversion 0) configuration: > Platform: > osname=solaris, osvers=2.9, archname=sun4-solaris > uname='sunos v210-2 5.9 generic_122300-15 sun4u sparc sunw,netra-210 ' > config_args='-Dcc=gcc' > hint=recommended, useposix=true, d_sigaction=define > useithreads=undef, usemultiplicity=undef > useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef > use64bitint=undef, use64bitall=undef, uselongdouble=undef > usemymalloc=n, bincompat5005=undef > Compiler: > cc='gcc', ccflags ='-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', > optimize='-O', > cppflags='-fno-strict-aliasing -pipe -I/usr/local/include' > ccversion='', gccversion='4.2.3', gccosandvers='' > intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 > d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 > ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 > alignbytes=8, prototype=define > Linker and Libraries: > ld='gcc', ldflags =' -L/usr/local/lib ' > libpth=/usr/local/lib /usr/lib /usr/ccs/lib > libs=-lsocket -lnsl -ldb -ldl -lm -lc > perllibs=-lsocket -lnsl -ldl -lm -lc > libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a > gnulibc_version='' > Dynamic Linking: > dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' > cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib' > > > Characteristics of this binary (from libperl): > Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP > USE_LARGE_FILES USE_PERLIO > Built under solaris > Compiled at Aug 22 2008 01:59:34 > @INC: > /usr/local/lib/perl5/5.10.0/sun4-solaris > /usr/local/lib/perl5/5.10.0 > /usr/local/lib/perl5/site_perl/5.10.0/sun4-solaris > /usr/local/lib/perl5/site_perl/5.10.0 > > > > From the freebsd: (built from source using the Policy from the other machine. Building from ports was just as slow) > [thogard at v210-2 ~/src/perl-5.10.1]$ perl -V > Summary of my perl5 (revision 5 version 10 subversion 1) configuration: > > Platform: > osname=freebsd, osvers=8.3-release, archname=sparc64-freebsd > uname='freebsd v210-2.umd.com.au 8.3-release freebsd 8.3-release #0: tue apr 10 03:28:23 utc 2012 root at araz.cse.buffalo.edu:usrobjusrsrcsysgeneric sparc64 ' > config_args='' > hint=recommended, useposix=true, d_sigaction=define > useithreads=undef, usemultiplicity=undef > useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef > use64bitint=define, use64bitall=define, uselongdouble=undef > usemymalloc=n, bincompat5005=undef > ude', > optimize='-O', > cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include' > ccversion='', gccversion='4.2.2 20070831 prerelease [FreeBSD]', gccosandvers='' > intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321 > d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 > ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 > alignbytes=8, prototype=define > Linker and Libraries: > ld='cc', ldflags ='-Wl,-E -fstack-protector -L/usr/local/lib' > libpth=/usr/lib /usr/local/lib > libs=-lm -lcrypt -lutil -lc > perllibs=-lm -lcrypt -lutil -lc > libc=, so=so, useshrplib=false, libperl=libperl.a > gnulibc_version='' > Dynamic Linking: > dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' > cccdlflags='-DPIC -fPIC', lddlflags='-shared -L/usr/local/lib -fstack-protector' > > > Characteristics of this binary (from libperl): > Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP USE_64_BIT_ALL > USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO > Built under freebsd > Compiled at Apr 26 2012 14:38:36 > @INC: > /usr/local/lib/perl5/5.10.1/sparc64-freebsd > /usr/local/lib/perl5/5.10.1 > /usr/local/lib/perl5/site_perl/5.10.1/sparc64-freebsd > /usr/local/lib/perl5/site_perl/5.10.1 > > > The sol 9 box uses gcc: > bash-2.05$ gcc -v > Using built-in specs. > Target: sparc-sun-solaris2.9 > Configured with: ./configure --enable-languages=c,c++ > Thread model: posix > gcc version 4.3.2 (GCC) > > And the freebsd box uses: > Using built-in specs. > Target: sparc64-undermydesk-freebsd > Configured with: FreeBSD/sparc64 system compiler > Thread model: posix > gcc version 4.2.2 20070831 prerelease [FreeBSD] > > _______________________________________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/listinfo/melbourne-pm From thogard at abnormal.com Thu Apr 26 00:16:52 2012 From: thogard at abnormal.com (Tim Hogard) Date: Thu, 26 Apr 2012 07:16:52 +0000 (UTC) Subject: [Melbourne-pm] Perl much slower on freebsd than solaris In-Reply-To: <4F98E5C6.6030307@mcnaughty.com> Message-ID: <201204260716.q3Q7GqtK008928@v.abnormal.com> Thanks for that. > > You're copying a lot of numbers into your hash, and performing hashes on > those numbers. I suspect then that the value of something like longsize > might be important, and you can see from the perl config info that it's > different. also ptrsize, use64bitint and use64bitall, ivsize, etc. the > stackprotector bit probably makes a bit of difference too, but I'd have > expect that to be only a few percent. > > What happens if you do it this way? > > foreach $i ("0000001" .. "1000000") { > $i{$i}=$i; > } 0m4.116s and 0m22.661s > > I suspect that removes a lot of the 4 byte vs 8 byte bits. > > As you say, doubling seems like an upper limit for copying type > operations. I wonder what the hashing algorithm looks like though. > > What's the comparison like if you take both the integer and the hashing > operations out like so? > > $p = "1234567"; > foreach $i ("0000001" .. "1000000") { > $p |= $i; > } Too quick so I used this: $p = "1234567"; foreach $j (1..10) { foreach $i ("0000001" .. "1000000") { $p |= $i; } } 0m6.601s and 0m7.139s That is more what I expected. I had started with something like that but it was too quick. I wonder what I had done before I put in the hash. So it appears that the hashing is much slower on the 64 bit than 32 bit system. That I can live with. Someone on a different list told me that FreeBSD is only "tuned" for x86 and amd64 so there are plenty of kernel structures that can been tuned -tim From ts at meme.com.au Thu Apr 26 05:11:29 2012 From: ts at meme.com.au (Tony Smith) Date: Thu, 26 Apr 2012 22:11:29 +1000 Subject: [Melbourne-pm] Talks for the May meeting In-Reply-To: <239b6573-6c33-45ca-bb59-2e26d9d4968b@dmz03.strategicdata.internal> References: <239b6573-6c33-45ca-bb59-2e26d9d4968b@dmz03.strategicdata.internal> Message-ID: <44A48A28-2A2D-42FD-A75E-1C9ED3B21D8C@meme.com.au> Folks, if we don't have any presentation type talks, I'd like to try an open discussion on a topic I'm sure a few of us run into from time to time. Right now I'm in the middle of trying to get somebody else's Perl code from the year 2000 running in a modern environment because the old server was being shut down and the hosting company wanted to be rid of it, but the guy it had been written for did not want to let it go as he still has a fair number of users. So far we seem to be making reasonable progress, but a few things have come up which I'm not comfortable leaving as is, so they might make the basis of a round table discussion. There is nothing sensitive in the code so we can look at as much or as little as is useful. On 25/04/2012, at 8:14 PM, Toby Corkindale wrote: > Hi everyone, > The next meeting of the Melbourne Perlmongers will be on the 9th of May, 2012. > I wondered if anyone had a presentation they would like to give? > > Thanks, > Toby Tony Smith Complex Systems Analyst Melbourne, Australia http://www.ynotds.com/ Giving thanks to the space, time, energy, matter and other lives that have allowed me to tell my lies on this old and damp ball of rock. From javier at candeira.com Thu Apr 26 05:13:39 2012 From: javier at candeira.com (Javier Candeira) Date: Thu, 26 Apr 2012 22:13:39 +1000 Subject: [Melbourne-pm] Talks for the May meeting In-Reply-To: <44A48A28-2A2D-42FD-A75E-1C9ED3B21D8C@meme.com.au> References: <239b6573-6c33-45ca-bb59-2e26d9d4968b@dmz03.strategicdata.internal> <44A48A28-2A2D-42FD-A75E-1C9ED3B21D8C@meme.com.au> Message-ID: I'd love to attend such a session. Please do it! Thanks, Javier On Thu, Apr 26, 2012 at 10:11 PM, Tony Smith wrote: > Folks, if we don't have any presentation type talks, I'd like to try an open discussion on a topic I'm sure a few of us run into from time to time. > > Right now I'm in the middle of trying to get somebody else's Perl code from the year 2000 running in a modern environment because the old server was being shut down and the hosting company wanted to be rid of it, but the guy it had been written for did not want to let it go as he still has a fair number of users. > > So far we seem to be making reasonable progress, but a few things have come up which I'm not comfortable leaving as is, so they might make the basis of a round table discussion. There is nothing sensitive in the code so we can look at as much or as little as is useful. > > On 25/04/2012, at 8:14 PM, Toby Corkindale wrote: > >> Hi everyone, >> The next meeting of the Melbourne Perlmongers will be on the 9th of May, 2012. >> I wondered if anyone had a presentation they would like to give? >> >> Thanks, >> Toby > > > > Tony Smith > Complex Systems Analyst > Melbourne, Australia > http://www.ynotds.com/ > Giving thanks to the space, time, energy, matter and other lives that have allowed me to tell my lies on this old and damp ball of rock. > > _______________________________________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/listinfo/melbourne-pm From scottp at dd.com.au Thu Apr 26 05:18:17 2012 From: scottp at dd.com.au (Scott Penrose) Date: Thu, 26 Apr 2012 22:18:17 +1000 Subject: [Melbourne-pm] Device::SerialPort Message-ID: <13EEF313-A784-4416-A798-EC88F7D780D9@dd.com.au> Hi PMs I have a need to do some serial programming on a Beagle Bone. Device::SerialPort is quite a complicated bit of code, lots of C and I have spent already way too long trying to get it working. Anyway, my alternative was just to use 'stty' and then read/write the device - and it works. Which lead me to wonder, is there any pure perl version, maybe with more limited functionality. Mostly Device::SerialPort is about computability with Win32. Anyone got a module, or code to help with serial ports in PP? Scott From kahlil.hodgson at dealmax.com.au Thu Apr 26 16:45:46 2012 From: kahlil.hodgson at dealmax.com.au (Kahlil Hodgson) Date: Fri, 27 Apr 2012 09:45:46 +1000 Subject: [Melbourne-pm] Talks for the May meeting In-Reply-To: <239b6573-6c33-45ca-bb59-2e26d9d4968b@dmz03.strategicdata.internal> References: <239b6573-6c33-45ca-bb59-2e26d9d4968b@dmz03.strategicdata.internal> Message-ID: <4F99DE2A.3080905@dealmax.com.au> Hi all, On 25/04/12 20:14, Toby Corkindale wrote: > The next meeting of the Melbourne Perlmongers will be on the 9th of May, 2012. > I wondered if anyone had a presentation they would like to give? I've been thinking about a talk (tentatively, "Perl for Profit") about my experiences using Perl at the core of a technology start-up: Discussing the pros and cons, some challenges and their solutions. Hopefully this would be a opportunity for others to discuss their own experiences and to solicit opinions as to whether using Perl in this context is really a good idea or not. I've only sketched out a few notes so far, but if there is any interest I can flesh it out for the coming meeting. Cheers! Kal -- Kahlil (Kal) Hodgson GPG: C9A02289 Head of Technology (m) +61 (0) 4 2573 0382 DealMax Pty Ltd (w) +61 (0) 3 9008 5281 Suite 1415 401 Docklands Drive Docklands VIC 3008 Australia "All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can't get them together again, there must be a reason. By all means, do not use a hammer." -- IBM maintenance manual, 1925 From kahlil.hodgson at dealmax.com.au Thu Apr 26 17:05:10 2012 From: kahlil.hodgson at dealmax.com.au (Kahlil Hodgson) Date: Fri, 27 Apr 2012 10:05:10 +1000 Subject: [Melbourne-pm] Talks for the May meeting In-Reply-To: References: <239b6573-6c33-45ca-bb59-2e26d9d4968b@dmz03.strategicdata.internal> <44A48A28-2A2D-42FD-A75E-1C9ED3B21D8C@meme.com.au> Message-ID: <4F99E2B6.4080205@dealmax.com.au> On 26/04/12 22:13, Javier Candeira wrote: > I'd love to attend such a session. Please do it! > > Thanks, > > Javier +1 -- Kahlil (Kal) Hodgson GPG: C9A02289 Head of Technology (m) +61 (0) 4 2573 0382 DealMax Pty Ltd (w) +61 (0) 3 9008 5281 Suite 1415 401 Docklands Drive Docklands VIC 3008 Australia "All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can't get them together again, there must be a reason. By all means, do not use a hammer." -- IBM maintenance manual, 1925 From tjc at wintrmute.net Thu Apr 26 18:36:36 2012 From: tjc at wintrmute.net (Toby Wintermute) Date: Fri, 27 Apr 2012 11:36:36 +1000 Subject: [Melbourne-pm] Talks for the May meeting In-Reply-To: <4F99DE2A.3080905@dealmax.com.au> References: <239b6573-6c33-45ca-bb59-2e26d9d4968b@dmz03.strategicdata.internal> <4F99DE2A.3080905@dealmax.com.au> Message-ID: Hi Kahlil, I'm sure many of us would find that talk interesting. It would be great if you could put it together in time for the May meeting. Cheers, Toby On 27 April 2012 09:45, Kahlil Hodgson wrote: > Hi all, > > On 25/04/12 20:14, Toby Corkindale wrote: >> The next meeting of the Melbourne Perlmongers will be on the 9th of May, 2012. >> I wondered if anyone had a presentation they would like to give? > > I've been thinking about a talk (tentatively, "Perl for Profit") about > my experiences using Perl at the core of a technology start-up: > Discussing the pros and cons, some challenges and their solutions. > Hopefully this would be a opportunity for others to discuss their own > experiences and to solicit opinions as to whether using Perl in this > context is really a good idea or not. > > I've only sketched out a few notes so far, but if there is any interest > I can flesh it out for the coming meeting. > > Cheers! > > Kal > > -- > Kahlil (Kal) Hodgson ? ? ? ? ? ? ? ? ? ? ? GPG: C9A02289 > Head of Technology ? ? ? ? ? ? ? ? ? ? ? ? (m) +61 (0) 4 2573 0382 > DealMax Pty Ltd ? ? ? ? ? ? ? ? ? ? ? ? ? ?(w) +61 (0) 3 9008 5281 > > Suite 1415 > 401 Docklands Drive > Docklands VIC 3008 Australia > > "All parts should go together without forcing. ?You must remember that > the parts you are reassembling were disassembled by you. ?Therefore, > if you can't get them together again, there must be a reason. ?By all > means, do not use a hammer." ?-- IBM maintenance manual, 1925 > > _______________________________________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/listinfo/melbourne-pm -- Turning and turning in the widening gyre The falcon cannot hear the falconer Things fall apart; the center cannot hold Mere anarchy is loosed upon the world From kahlil.hodgson at dealmax.com.au Thu Apr 26 18:59:35 2012 From: kahlil.hodgson at dealmax.com.au (Kahlil Hodgson) Date: Fri, 27 Apr 2012 11:59:35 +1000 Subject: [Melbourne-pm] Talks for the May meeting In-Reply-To: References: <239b6573-6c33-45ca-bb59-2e26d9d4968b@dmz03.strategicdata.internal> <4F99DE2A.3080905@dealmax.com.au> Message-ID: <4F99FD87.5020208@dealmax.com.au> Cool, I'll start fleshing things out on the weekend;-) Cheers! kal On 27/04/12 11:36, Toby Wintermute wrote: > Hi Kahlil, > I'm sure many of us would find that talk interesting. It would be > great if you could put it together in time for the May meeting. > Cheers, > Toby > > On 27 April 2012 09:45, Kahlil Hodgson wrote: >> Hi all, >> >> On 25/04/12 20:14, Toby Corkindale wrote: >>> The next meeting of the Melbourne Perlmongers will be on the 9th of May, 2012. >>> I wondered if anyone had a presentation they would like to give? >> >> I've been thinking about a talk (tentatively, "Perl for Profit") about >> my experiences using Perl at the core of a technology start-up: >> Discussing the pros and cons, some challenges and their solutions. >> Hopefully this would be a opportunity for others to discuss their own >> experiences and to solicit opinions as to whether using Perl in this >> context is really a good idea or not. >> >> I've only sketched out a few notes so far, but if there is any interest >> I can flesh it out for the coming meeting. >> >> Cheers! >> >> Kal -- Kahlil (Kal) Hodgson GPG: C9A02289 Head of Technology (m) +61 (0) 4 2573 0382 DealMax Pty Ltd (w) +61 (0) 3 9008 5281 Suite 1415 401 Docklands Drive Docklands VIC 3008 Australia "All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can't get them together again, there must be a reason. By all means, do not use a hammer." -- IBM maintenance manual, 1925 From toby.corkindale at strategicdata.com.au Mon Apr 30 17:51:29 2012 From: toby.corkindale at strategicdata.com.au (Toby Corkindale) Date: Tue, 01 May 2012 10:51:29 +1000 Subject: [Melbourne-pm] Perl 5.16 Message-ID: <4F9F3391.8070702@strategicdata.com.au> Hi everyone, It's possible that we may have a new version of Perl, 5.16, released in time for our May meeting next week. If so, I'll give a very quick talk on the changes between 5.14 and 5.16 at the meeting. Cheers, Toby