PaulMattis.com

JavaScript is off/unavailable on your browser. You will not be able to experience this website as it was intended without JavaScript enabled.

Right now I am...
  • Researching
  • Developing a Unity game
  • Working as a Senior Technical Officer in UL's School of Medicine
...

Hello, I'm Paul, and welcome to my simple website.

Who am I?

I am a postgraduate digital developer currently studying and working in Limerick, Ireland.

I am now on a research path academically and working at the University of Limerick as a Senior Technical Officer in the School of Medicine.

My LinkedIn Profile.

Best,

Paul Mattis

Relevant experience

Below is a list of everything I have done that I feel might be relevant. I will add to it as I learn new things and-or as time allows; I will also reduce the list when things become less relevant.

HTML is the Markup language used to display (most) web pages. It allows formatting of data.

HTML 4.01 - the last main version of 'old' HTML - is still used in emails, but nowadays it is rare to see it used for websites.

XHTML is an XML-based alternative to the SGML-derived HTML; it is more strict in structure and more widely used in recent times as the move toward HTML5 domination continues.

HTML5 is the latest iteration, allowing for more media output than previous versions and therefore reducing the need for plugins (e.g. Quicktime, Java, Flash).

HTML5 is the current standard, and in addition to the above it allows client-side storage, more data-oriented tagging, and vector graphic support.

I am moving away from XHTML 1.0 and toward HTML5 (when time allows) now that the mainstream browsers are supportive.

I do not use HTML4 in my own work anymore, but I can work with it if needs be.

For more information on HTML and XHTML, visit http://www.w3.org/

eXtensible Markup Language is now the data structure de facto, and is the backbone of VML, SVG, SOAP, XAML... the list goes on, including XHTML of course.

The beauty lies in manipulation and adaption, through XSLT, XPath, E4X, and other DOM traversal/data access/styling tools.

Besides obvious regular use of XHTML, I have used XML in the academic environment of my MSc (SOAP, SVG, SMIL).

For more information on XML and derived technologies, visit http://www.w3.org/XML

The stylised web really was not born until CSS, and did not grow to maturity until CSS2.

CSS allows for tailoring - and even dynamic variable tailoring - of site layout, including floating and positioning.

Before CSS, style had to be injected into tags as attributes, or as actual tags, such as <FONT>. Now, it can - and should be - developed separately to the (X)HTML.

CSS can even be applied to XML documents, although the results are browser-dependent and not necessarily reliable.

Most if not all of my pre-2011 work used a limited subset of CSS 2.1 to maximise compatibility with older browsers (IE6-IE8, mainly): I am aware of CSS 3 as the standard but tend to keep things simple -- the odd rounded border, brightness change, that kind of thing.

Now there are pre-processing extensions to CSS that make certain tasks easier and allow for all sorts of handy shortcuts -- I am currently looking at the many features of two of the most prominent, Syntactically Awesome Style Sheets (SASS) and Leaner Style Sheets (LESS), when I have the time.

For more information on CSS, visit http://www.w3.org/

JavaScript is a browser implementation of ECMAScript that was originally developed by Netscape.

Initially made most use of by developers for generating link hover states, pop-up windows and dialog boxes, it has now become something quite amazing and essential.

Through the Document Object Model (DOM) implementation, it is possible to alter the layout of a site dynamically in many ways.

Using DOM and a server-request, XML return system commonly termed as AJAX, more innovative development has been made possible.

In fact, the entire data-validation procedure for seamless form submissions used by ASP.NET runs on generated AJAX JavaScript code.

And, of course, you can do animation and event-driven effects in association with styling and CSS.

There are many libraries and frameworks that make JavaScript coding more straightforward -- more on that in the next section.

I have been a JavaScript user for years, and can work comfortably with it.

JavaScript is amazing, but - due to browser idiosyncracies and the way DOM is done - code can be lengthy and complex when you want to animate something. There are a lot of very reliable libraries and frameworks out there that take a lot of the tedious setting up, browser fixes, etc.

JQuery simplifies a lot by making common complex practices a single-line or single-command affair with built-in browser handling.

Its sister project JQuery UI takes this a step further, simplifying the development of widgets that can turn a site into a Rich Internet Application (RIA) / Progressive Web Application (PWA). Acronyms!

I am careful in approaching libraries and frameworks since there have been times in the past where there were 3 new ones every week and fell in and out of favour with apparent randomness, but nowadays they are a necessity -- I am looking at Bootstrap, React and Angular and will add them to my skill list when I feel it is honest to do so.

For more information on JQuery, visit http://www.jquery.com/

For more information on JQuery UI, visit http://www.jqueryui.com/

For more information on React, visit http://reactjs.org/

For more information on Angular, visit https://angular.io/

Back in the early days of the web, building a site that responded to user needs was next to impossible.

Databases were already out there, but SQL really standardised things and allowed developers to focus on getting the data out there rather than working out how to get at it.

MySQL is one of many (Microsoft's SQL Server is the main commercial competitor), but MySQL is still free, though now owned by a former commercial rival, Oracle Corporation. A lot of developers are now moving toward MariaDB - an open 'fork' of MySQL - since Oracle''s acquisition; the differences make for short reading dev-wise.

As for actually doing something with the data - as well as responding to those aforementioned user needs - a server-side solution was needed.

PERL CGI and Microsoft ASP (using Visual Basic) were the first popular solutions, but before long more persistent methods came along, and now the big 3 are PHP, ASP.NET and JSP.

PHP is free, and is a typeless script language that is easy to learn but very powerful, sporting add-ons that allow image manipulation, data compression, and XML, SOAP, REST and JSON parsing, etc in addition to the basics.

PHP is the development language behind popular plugin-based CMS/forum/blog software like Joomla, WordPress, and vBulletin, so a good PHP dev can dissect them and work with them.

ASP.NET is Microsoft's take, utilising the C# programming language typically. It supports much of the same functionality as PHP, but a lot of the output is auto-generated and hence (theoretically) more safe and secure.

I have worked with PHP and MySQL on a number of occasions, to build sites, or to build customised functionality with existing frameworks (WordPress, vBulletin).

Visit http://www.php.net/ and http://www.mysql.com/ for more information.

As for ASP.NET, I have worked with it in a couple of integration projects but that's it really. Unsurprisingly, the most reliable ASP.NET info is found at http://www.microsoft.com/.

There are other server-side options, some of them very popular and prominent: I have looked at Ruby on Rails briefly but undertaken no projects with it, and I am currently starting to look at Node.js -- which, as its name implies, is JavaScript-based -- as that seems to be an essential these days. On 10/03/2020 I finished rebuilding http://tpmthorne.com/ such that it uses a RESTful interface and is a single page site: nothing too fancy, just GET operations and no database since I am busy researching and want to keep maintenance to a minimum.

I learned C++, Java and a whole host of other languages on my BSc (HONS) in Computing, and also a lot of methodologies, including UML, which I seriously need to get back into!

Since then I have also learned C# to some degree, initially for server-side programming when I was developing a CMS for a client, but more recently due to its being the development language for the Unity game engine (which I am learning in order to develop games privately for commercial purposes and also build the main application for my PhD).

I have also worked with Visual BASIC in the past once or twice, and I will eventually get around to feeling that I can Python on the list (I've done a crash course on the syntax but I haven't done anything with it yet).

Last but not least, the other stuff.

For my MSc in Internet Application Development I did a bit of project work, but most of my time was focussed on research, developing apps, and presenting research or built apps.

I obviously played a role in commercial projects during my time as a contract developer, but I have no high-level project management qualifications (yet).

I took the PRINCE2 Foundation exam in March 2010, getting 77% (PRINCE2 is an acknowledged standard for project management). I currently have no plans to undertake the Practitioner level.

I would like to gain accreditation for Agile and-or PMI, but they require hundreds of hours of proven participation in projects before I can even sit the exams! So that is a way off, unfortunately.

I am also a keen writer, hoping to get a break with something I write (when I get the time). I do have work out there, but I try to keep that part of my life as separate as possible, so I will not go into that here.

This used to have its own section, but it isn' that relevant now; I will mention it anyway! I have worked with Adobe Flash, and have knowledge of ActionScript versions 2.0 and 3.0, if anyone is still using it to develop things these days.

I draw as well, though I am no Holbein. I hope to use that in conjunction with writing (for books) and also programming (for games).

Unless otherwise stated, all media & content © Paul Mattis MSc 2020.