Lance Wicks
Kiwi,
Judoka,
Geek,
Husband
Daddy!

JudoGeek Blog

Perl, CPAN, Perltidy, Perlcritic, Test::More and why Perl Rocks. 

A little while back I posted about how I was enjoying getting back into Perl coding.

Well, I am still enjoying it and am rediscovering why Perl is a great development language.
Here we go...

CPAN
The CPAN is awesome, it is a central repository for Perl modules. Basically if you'd like to interface with something, check CPAN. So you want to automate a Telnet connection, grab the CPAN module, need an interface to Flickr, Nokia, PGP just go grab one of CPAN.

Next...

Perltidy
Perltidy, is simple, but worth it. Especially if you are planning on letting anyone else look at your code in the future. PerlTidy formats your code to some common standards. This helps improve the chances of your being able to read the code afterwards.

Perlcritic
Perlcritic, is very clever and I like to use it in conjunction with Perltidy. Perlcritic, analyses your code and gives suggestions on how to improve it. This is based on the concepts covered in Damian Conway's "Perl Best Practices" book. Again like Perltidy, it helps ensure you do not get lazy. It helps to ensure that the code you produce is "ok" based on generic standards.

test::more
Tests, tests, tests! Test driven development is the light side of the force! And Perl is great for test driven development. Test::more is a simple, powerful tool to run tests on your code.

SmokeTests
Okay, I am getting totally into smoke testing and running them continuously.
In fact I have been automating the running of PerlTidy, PerlCritic and my test suites via a smoke test script. So I call these three items from a script that is in a cron job, or just plain looping over and over. (I have been setting it to beep if a error shows up in the test suite. I pipe the perlcritic output to a file and review it, although there is a way to use perlcritic to only allow your code to improve which I hope to implement. And PerlTidy... it keeps the indentation etc right.

So with Perl it is immensely easy to setup a robust development environment, one that automates the boring tasks that lead to bugs. Using these tools, you prevent a huge number of errors creeping into your code. Specifically, silly errors, this allows you to focus on the logic and functionality.

Community
Finally and best, Perl has an awesome community, ask a good question on a site like www.perlmonks.org and you'll get expert help and advise. Not just from skilled coders, but often from people who built the components you are using.

Perl has been right at the centre of the open source movement from the beginning, it is a powerful web language but also hugely powerful for other applications. Which in my book perhaps moves it beyond the most common language it is compared to, PHP.

PHP is great, I do lots in PHP, but it is basically a web site language only. yeah it can do more than that of course, but that's where it is strongest IMHO at least. Python perhaps is a closer relation to Perl, although perhaps it is less a web language than perl. Ruby, etc.. no comment.
As for any M$ languages... well, no comment. ;)

So, I am back into Perl in a big way, I am loving my smoke tests calling PerlCrtic etc.

Give it a go.

Lance


[ view entry ] ( 1371 views ) permalink
Super Lego Mario 

Super Lego Mario movie:

[ view entry ] ( 1376 views ) permalink
Teen SciFi and "Little Brother". 

Steve Eley over at EscapePod recently bemoaned the lack of teen SciFi out there.

As a kid, my father took me to the local library every two weeks and I took home a stash of SciFi books everytime. Like Steve, they were primarily adult SciFi books. And I really would like to see more teen SciFi produced in the future too. The short-term future is looking bright of course thanks to Cory "Boing Boing" Doctorow who has a new book "Little Brother" coming out. So far both Neil Gaiman and Tim O'Reilly have raved about it and I am really REALLY looking forward to reading this one!

When I was a kid/teen, SciFi was amazing, the stories took hold of me in a way no other genre managed. It changed me each and everytime! Asimov's Robot stories are probably the main reason I am in IT for a living. Technology and computers all came from those books and that is me now. Books change you and Cory's writing I have loved in part because it grabs me like the books of my youth did. Cory's stories (and I generalize) take today and push it forward a couple of months with some cool twists. He takes really simple ideas and makes them cool. His short works are always worth the effort, When Sysadmins ruled the earth is an all-time fav. I think maybe Anda's Game or “There’s a Great Big Beautiful Tomorrow/Now is the Best Time of Your Life, Part 02” are indicators of how cool Cory doing "teen" SciFi will be!

I can't wait to read it!!!!!!

Anyway... the reason the above is on my mind and coming out the way it is, is because I went to the local library today and was disappointed at the TINY selection of SciFi they had, weird and really REALLY disappointing for any adult let alone teen who needs a fix of SciFi! Luckily, the Waterstones just a little while away has a wider selection, but a shame none the less.

So be sure to pre-order Little Brother in fact order two or three copies and give a couple of copies to a teen you know! :)

[ view entry ] ( 1115 views ) permalink
Onshore, Offshore & Internet Resilliency 

Alex over at europeancontactcentre.blogspot.com has been blogging for a while now and his blog is really getting into a flow. This week he has posted one this week which was interesting as it highlights one of the issues with our reliance on internet technologies.

Alex, writes about call centres and related technologies, it is "what he does", well technically he's involved in voice technology, used by call centres I suppose, but you get the point.

In his post, he mentions the case of a ships anchor breaking a undersea cable that acts as a major pipe to India and the Middle East from Europe. Which wreaks havoc as you can imagine. When I started in IT my first boss drummed the importance of the 7 layer network model. For which I am really appreciative as it really does help you remember that the Layer 1 is the base of the model and without the physical all the other layers die also.

Too often, we forget this and suffer the consequences later.
Outsource your call centre to India and yes you will suffer if someone takes out the cable. Move your CRM to Salesforce and hope the WAN links don't crash, or that their links don't or worse their servers crash.

In my work role, we do lots of work in data centres and much of what we do relates to making sure that all the layers of the OSI model are covered as appropriately as possible. Meaning that you have redundancy on the physical layer, all the way up to the Application layer.

As Alex mentions, you need to consider both redundancy and performance.
A increasingly common DR strategy is to have physical servers on your primary site and a virtual environment hosting the backup servers. This is a pretty sensible DR strategy as you can save a HUGE amount by not having a full set of physical servers at the DR site.

HOWEVER...

Much like outsourcing your call centre to India, you need to know the downside. In a DR environment, typically it is performance, both in a virtual environment and in a straight duplicated hardware environment. For a start, you DR site needs to be geographically separated from your production site, so ping times go up! Performance levels go down.

So, take a look at Alex's blog and add it to your feedreader, it's an interesting perspective on call centres.



[ view entry ] ( 1558 views ) permalink related link
NoseRub - Check it out! 

Hi All,
http://www.lancewicks.com/ has had a small facelift lately, I have cleaned up a few sections and also added a link for "NoseRub:Social Networks" which takes you to http://www.lancewicks.com/noserub/lancew .

Now NoseRub is a decentralized social network, it is also an application and a protocol. It's early days, but Dirk are working hard and unlike many other ideas of a similar vein have a working open source application; which is acting as a focal point for the testing of ideas.

For me, it is a central point for people to find all those little bits and bobs I share on the internet. It pulls my pictures from Flickr and Picassa. It collects my blog posts from this site and elsewhere. Not to mention my micro-publishing from Jaiku/Plazes/Twitter.

So, if for example you are my Father, you know where to go to find photos I might have published; without needing to remember where my Picassa/Flickr urls are. For me, NoseRub provides a central place for people to "keep tabs" on me and also to facilitate finding say my Jaiku feed if you didn't know I had one.

In the longer term, the NoseRub protocol and the ideas around NoseRub will be more interesting. The synchronization between other peoples NoseRub installs will mean that you changing some details on your profile on your site will automatically propagate to my server. By the same token, the idea will be that you can easily move your account from one server to another, NoseRub will do it for you.

There are efforts being built to have "groups" where you can communicate with other people who share something with you. Also, there is efforts into privacy and sharing your information from selected sources with selected people.

I really like this project and met Dirk last year, I am hoping to contribute to the project. Specifically, I hope to help in the "location" area, and specifically on a mobile client to set your location. As I have posted in previous entries, I really like the idea of using location to determine context, and context being relevant to how you share your social information.

All cool, all open source.

Take a look over at http://www.noserub.com/ and enjoy!

P.s. NoseRub is also a OpenID provider and consumer.
[ view entry ] ( 1060 views ) permalink related link

<<First <Back | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | Next> Last>>