Modernising A Legacy Perl Application

Image credit: http://aspiringwebdev.com/wp-content/uploads/2014/09/mosaic2.gif

London -- 25th November 2017

Paul Johnson

@pjcjohnson


www.pjcj.net

Image credit: pjcj

Perl is old

Image credit: http://nextluxury.com/wp-content/uploads/male-grey-beard-style.jpg

Pump-  Release         Date
king

==================================

Larry   0              Classified.

Larry   1.000          1987-Dec-18

Perl is trendy

Image credit: https://i.ytimg.com/vi/SYmdef_WQsw/maxresdefault.jpg

Perl is old and trendy

Image credit: http://teamworkslive.com/wp-content/uploads/2016/05/Maintenance_Management_CMMS_Software.jpg

Maintenance

Image credit: http://thefashionformen.com/wp-content/uploads/2015/03/grey-for-men.jpg

Development

Image credit: https://patternsofmeaning.files.wordpress.com/2017/05/faulty-foundations.jpeg

Problems

Image credit: http://www.johnhembree.com/wp-content/uploads/2015/09/Problems-Ahead.jpg

Solutions

Image credit: https://everydayinterviewtips.com/wp-content/uploads/2014/10/54973387-igor-problem-solution.jpg

My opinions

Image credit: https://www.tenstickers-ireland.com/wall-stickers/img/preview/i-am-special-unicorn-sticker-10323.png






Standardise!






Remove Special Cases!






Automate!

Standardise!

Image credit: https://imgs.xkcd.com/comics/standards.png

Solutions

Image credit: http://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt-a-programmer/

Standardise!

The nice thing about standards is that you have so many to choose from.

Andrew S. Tanenbaum
Computer Networks, 2nd ed., p. 254.

Standardise!

Image credit: https://mediaserver-cont-sv5-3-v4v6.pandora.com/images/public/rovi/albumart/9/2/8/1/731453741829_1080W_1080H.jpg

Move to Git

Image credit: https://git-scm.com/images/logos/downloads/Git-Logo-2Color.png

Image credit: https://rlv.zcache.co.uk/hell_is_other_people_j_p_sartre_t_shirt-rc568c00ef3684389935463628c0e0823_k2g5x_324.jpg

Image credit: https://rlv.zcache.co.uk/hell_is_other_peoples_code_t_shirt-r3ec65a023f3f4ec89497834fae5ccd7c_k2gm8_324.jpg

Understanding code

Image credit: http://abstrusegoose.com/432

Understanding code

Image credit: https://blog.codinghorror.com/content/images/uploads/2006/09/6a0120a85dcdae970b0120a86d7477970b-pi.png

Build Core System

Image credit: http://frontierscientists.com/wp-content/uploads/2015/12/SeaIce_CoreExtraction.jpg

Build Core System

Image credit: http://www.jillianhessel.com/presspics/spotart/build_core_strength.jpg

Logging

Image credit: https://fthmb.tqn.com/omvZMbE1LynoWszrfQLNO9R1wXk=/2250x1500/filters:fill(auto,1)/about/175535878-56a5b5b85f9b58b7d0de0e91.jpg

Objects and Parameter Validation

Image credit: http://www.ac-grenoble.fr/disciplines/anglais/img/Validation.png

Context Object

Image credit: https://d3gqasl9vmjfd8.cloudfront.net/91cfbe26-6790-42f3-99ed-d7dee5a8bda2.png

DB access layer

Image credit: http://www.impathic.com/access/icon.png

Dates and Times

Image credit: http://www.iconexperience.com/_img/v_collection_png/512x512/shadow/date_time_preferences.png

Exception objects

Image credit: http://www.parkinson.org/sites/default/files/Your%20symptoms%20are%20unique%20to%20you.jpg

Job System

Image credit: http://i.telegraph.co.uk/multimedia/archive/03434/queue_3434246b.jpg

Config System

Image credit: http://itiwitis.info/wp-content/uploads/2016/10/mlss_mario-hammer2.jpg

System

Image credit: http://www.cj-computers.com/wp-content/uploads/2013/12/Operating-System-The-History.png

Get Creative

Image credit: http://www.success.com/sites/default/files/main/blogposts/waystotapintoyourcreativeself.jpg

Use self-built perl and modules

Image credit: https://thechive.files.wordpress.com/2011/05/science-fiction-ikea-0.jpg

Add tests

Image credit: https://blog.prepscholar.com/hubfs/body_testinprogress.gif

Continuous Integration

Image credit: https://www.soasta.com/wp-content/uploads/2016/01/infitiny-circle_v1.png

Plack

Image credit: https://jberger.github.io/MojoliciousIntroduction/failraptor.png

Remove old code

Image credit: http://nextluxury.com/wp-content/uploads/male-grey-beard-style.jpg
The only way to make software secure, reliable, and fast is to make it small. Fight Features.

Andrew S. Tanenbaum
Some Notes on the 'Who Wrote Linux' Kerfuffle, release 1.5

Make life easy

Image credit: http://static.wixstatic.com/media/ca1740_0af1529fd48d423c9be2f938480e28ba~mv2.jpg






Merci!