Design, Develop, Create

Monday, 23 October 2017

Colossal Cave Adventure

An archeology of interactive role playing games leads inevitably to a small handful of innovative and influential programs developed over the decade spanning the sixties and seventies. One of the most influtential of these games was a program call the Colossal Cave Adventure. Originally written by Will Crowther, then developed further by Don Woods with Will's consent.
Ports of Adventure to newer operating platforms and language environments have enabled users to play Adventure on successive generations of computing hardware and operating system environments. However the core of the game remains the same and concept, gameplay and feel. A player running the port to Mac OS/X or the console version for Windows XP is subject to essentially the same experience as those who encountered it on University computer servers in the 70s and 80s.
While the game is no longer actively developed the concept of Advent inspired a host of related programmes in the 1980s all vying for the hearts, minds, or money, of the world's growing band of computer enthusiasts and users.

Seeing Adventure running for the first time is like walking along the beach and picking up an interesting looking shell. Someone has left the terminal logged in... It intrigues with three sentences:

YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK
BUILDING . AROUND YOU IS A FOREST. A SMALL
STREAM FLOWS OUT OF THE BUILDING AND DOWN A GULLY.
Ahh, a game. What do I do? The blinking cursor invites me to write something.

help!
 I DON'T KNOW THAT WORD.

help
 I KNOW OF PLACES, ACTIONS, AND THINGS. MOST OF MY VOCABULARY
 DESCRIBES PLACES AND IS USED TO MOVE YOU THERE. TO MOVE TRY
 WORDS LIKE FOREST, BUILDING, DOWNSTREAM, ENTER, EAST, WEST
 NORTH, SOUTH, UP, OR DOWN.  I KNOW ABOUT A FEW SPECIAL OBJECTS,
 LIKE A BLACK ROD HIDDEN IN THE CAVE. THESE OBJECTS CAN BE
 MANIPULATED USING ONE OF THE ACTION WORDS THAT I KNOW. USUALLY
 YOU WILL NEED TO GIVE BOTH THE OBJECT AND ACTION WORDS
 (IN EITHER ORDER), BUT SOMETIMES I CAN INFER THE OBJECT FROM
 THE VERB ALONE. THE OBJECTS HAVE SIDE EFFECTS - FOR
 INSTANCE, THE ROD SCARES THE BIRD.
 USUALLY PEOPLE HAVING TROUBLE MOVING JUST NEED TO TRY A FEW
 MORE WORDS. USUALLY PEOPLE TRYING TO MANIPULATE AN
 OBJECT ARE ATTEMPTING SOMETHING BEYOND THEIR (OR MY!)
 CAPABILITIES AND SHOULD TRY A COMPLETELY DIFFERENT TACK.
 TO SPEED THE GAME YOU CAN SOMETIMES MOVE LONG DISTANCES
 WITH A SINGLE WORD. FOR EXAMPLE, 'BUILDING' USUALLY GETS
 YOU TO THE BUILDING FROM ANYWHERE ABOVE GROUND EXCEPT WHEN
 LOST IN THE FOREST. ALSO, NOTE THAT CAVE PASSAGES TURN A
 LOT, AND THAT LEAVING A ROOM TO THE NORTH DOES NOT GUARANTEE
 ENTERING THE NEXT FROM THE SOUTH. GOOD LUCK!
Right, I'm starting to get this, lets see what the 'DOWNSTREAM' command does...

downstream
YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING
ALONG A ROCKY BED.

downstream
AT YOUR FEET ALL THE WATER OF THE STREAM SPLASHES INTO A
2 INCH SLIT IN THE ROCK. DOWNSTREAM THE STREAMBED IS BARE ROCK.

lift rock
YOU ARE IN A 20 FOOT DEPRESSION FLOORED WITH BARE DIRT. SET INTO
THE DIRT IS A STRONG STEEL GRATE MOUNTED IN CONCRETE. A DRY
STREAMBED LEADS INTO THE DEPRESSION.

THE GRATE IS LOCKED

downstream
YOU CAN'T GO IN THROUGH A LOCKED STEEL GRATE!

This is getting interesting, quick, grab a piece of paper and start drawing a mental map of where I was and where I'm going...

And so it goes on. Time passes, I snap back to myself for a moment, twenty minutes later! What's happening here? It's engaging, appealing, frustrating and rewarding, like getting into a good book but this one talks back to you.

Tuesday, 10 October 2017

MSc in Advanced Software Engineering - part-time applications

The UCD School of Computer Science invites applications for the part-time MSc in Advanced Software Engineering, starting in December 2017. This programme is tailored for the industry-based software engineer who wants to develop their skills further and gain a higher degree, without taking a break from full-time employment. Participants attend six, one-week-long modules over a two-year period, and undertake a masters project in the latter half of their second year.

The modules currently on offer are: Performance of Distributed Systems, High Performance Computing, Agent-Oriented Software, Comparative Software Engineering Process Frameworks, Knowledge-based Techniques in Software Engineering, Computational Network Analysis and Modelling, and Design Patterns.

The masters project itself is developed in negotiation with your advisor, and is usually based on your own proposal.

The UCD School of Computer Science is ranked as the joint top Computer Science department in Ireland, according to the 2016 QS World University Rankings.

For further information including student testimonials and how to apply, please see here:
http://csserver.ucd.ie/~meloc/MScASE/Introduction

If you have any questions, just email the programme director, Mel Ó Cinnéide, at mel.ocinneide@ucd.ie.

(on Linkedin: http://tinyurl.com/ASELinkedin)

Friday, 6 October 2017

Two industry seminars / careers presentations Wed 11th.

Open invite to seminar arranged by the MSc Business Analytics programme. 
On Wednesday 11th Oct in Lecture Theatre 1.
Version 1
Title: Accelerating the Value of Data Analytics
Time: 4.15-5pm
Location: Lecture Theatre 1
1) The move to Open Data Science and importance of IT & Data Governance
2) DevOps Fundamentals.
3) DevOps to DataOps
4) Tools for DataOps, How V1 uses them
5) Introduction to the Version 1 Accelerate Graduate Campaign.

Followed by.
PwC
Title: Opportunities within PwC
Time: 5.30-5.45pm
Location: Lecture Theatre 1

Wednesday, 4 October 2017

Guest seminar - Version 1 - The Consultant’s Guide to Business Benefit

A presentation by Version 1's Sanket Dubey (MSc DI alumnus) and Alan Reilly - Learning & Development Consultant
When/where:
Monday- 9th Oct @10 AM. Room D101, UCD Michael Smurfit Graduate School of Business, Blackrock, Dublin.
Google maps reference with room location and suggested parking zones.
https://www.google.com/maps/d/u/0/edit?mid=zI3tiisSQK_k.kqOUvhH4ARXE

The title of the talk is "The Consultant’s Guide to Business Benefit", a presentation and discussion about implementing CAP (Common Agricultural Policy) IT systems for the Irish Department of Agriculture, Food & the Marine.

At go-live over €1 billion of EU Direct Payments were made to farmers in the first 3 months of system deployment, the highest volume of online payment of any EU member state.
Verison1 is the Irish Consulting, Solutions and Outsourced Managed Services Company http://www.version1.com/
See Version 1, case studies - https://www.version1.com/Insights/Case-Studies

Monday, 2 October 2017

Cantilever Exercise 2017

Cantilever Exercise 2017 - Class 1


Cantilever Exercise 2017 - Class 2


Design elegance - easier to understand, programme, and simpler to make

Thank you Jerome for sharing this with us... Wozniak inspired by Nova Computer

(PART 3) IONA Technologies - maturity

Iona had become a launch pad to a new generation of home-grown technology entrepreneurs and leaders.

DESIGN, TEST, AND DELIVERY CYCLES
Implementation is that phase of the product life cycle that covers the more concrete aspects of product production, including: design, test, and delivery activities. The product life cycle controls how the organisation’s products progress and develop from concept (feature requirement and design) to completion (release).

Since 2002 IONA had achieved equivalence with ISO 9001 certification. Internal activities were described and monitored using the quality management system. Yet while new product development work was seen to be the most important, high value, high profile strategic activity of the company, the fact was that day to day effort was often diverted (reluctantly at times) towards support and maintenance of software already installed or being commissioned at customer sites. The company's engineers were spending considerable time working on software maintenance activities. In fact, 'next version' projects and new feature development time took a back seat to customer support.

The company used a traditional project management paradigm to plan and monitor development however they were struggling to cope with the twin demands of new product development and existing product maintenance. As this was happening the management team and engineers were discussing among themselves if and how it would be possible to adopt an Agile iterative development lifecycle.

This group of activists had decided to evaluate Kanban, Extreme Programming and Scrum. They needed to understand how it would impact their working environment, work practices, management and organisational structure, and also their status as an ISO9001 certified organisation (Figure below).
Figure: ISO9001 QMS continual improvement system


The company's products were large, some greater than 10M Loc. Their software offerings ranged over several industry categories: distributed objects, object databases, standards based architectures for financial and telecoms, embedded systems in 'scale industry' environments that generate, transmit, record and monitor event and process data.

Reviewing a corporate video made around then that promoted the company's product development lifecycle we were presented with a cyclic+layered management system aligned with the organisational structure of: support, test, project management, design and development. Some call this a V model and the same model is also used by many of the world's largest organisations.

However the company's product release history is complex. A typical product line is released in a steady sequence of major and minor releases (figure below). Major revisions of the main product are released approximately 4 times a year, but they also deliver maintenance releases including ‘roll-up’ patches, custom releases and minor updates every other week.

Subsidiary products that are dependent on the main product IONA's Orbix deamon (Object Request Broker). A daemon is a program that runs as a background process and in concert with daemons on other computers. The smaller teams that manage these software products will often need to release versions that are built with (synchronise against) the main product.
Figure: Indicative release history Y1-Y4


As is typically in the software industry, IONA's customer support queues were highly volatile (see figure below). Customer support queues fluctuate wildly over time and may sometimes halt new product development projects in order to address urgent customer demands. This is partially because the products depend upon each other but also because they exist within a constantly evolving external software ecosystem. The products need to operate within various browser versions, operating systems, and hardware platforms. External environmental changes often force software to be updated and drive both maintenance and new product releases.

Figure: Indicative support queue activity Y1-Y4

In summary; the organisation follows two very different approaches to managing production. On the one hand there is a sequential/linear process for managing and releasing new product versions; the NPD (new product development) approach. On the other hand there is on-going support and maintenance work which is highly responsive, crisis driven and reactive.

Provide an analysis and recommendations for future action.