DigitalFriend Blog

December 2018

The first Foundry658 Boot Camp!

Fri, 7 Dec 2018 14:06:10 +1000

By: gosh'at' (Steve Goschnick)

Over the last 4 weeks my partner and I attended the very first Foundry658 Boot Camp for startups, two and three days per week. We have built up eBook Dynasty .net (a publishing imprint of Solid Software P/L) over the last 5 years, as a two-person show. Via this imprint we have published over 120 books in Chinese, most of which began life in the English language, and many of which Christine personally translated to Chinese (I'm the tech guy, she's the human language expert with a PhD in Chinese Literature and several translation certificates).

Figure 1. The Interface Guide built into the App is accessible via tabs along the bottom of screen.

The pair of us (and the Home office) are currently the bottleneck in growing the business, so we set about replicating ourselves many times over with a whole platform that can scale what we do, even without us if need be. It was this need to scale the business startup that got us a spot in the first ever Foundry658 Boot Camp - a preliminary workshop that leads to the Foundry658 accelerator: a 3 month programme focused on high-growth potential and market-ready projects in the creative arts.

Foundry658: creative industries accelerator - is a new startup incubator collaboration between the State Library of Vic, Creative Victoria (Creative State Strategy) and ACMI. ( ). We were in the first of two boot camps. There were 17 teams participating in our boot camp, which culminated in a pitch night (see team snapshot insert), that was impressive, creative and highly varied (said the judging panel).

In our case, we have a three-pronged approach (value propositions in three target segments - got the right jargon now:) with: a platform for authors; translators and other book professionals; a social-networking platform for readers with our very own eBook reader file format (and eReaders) for the Chinese language (and some other languages to follow).

[Nb. in direct contrast to my previous blog in November 2018 on age-discrimination in IT - one of the great advantages of being an Analyst/Programmer of my seniority is having a lack of distractions when writing a complex application like our own ebook format and eReader (desktop, Android, iOS), i.e.: I have the skills and experience and repertoire of my own toolbox built up over 3+ decades of both coding and AI/ICT research - and I will not be diverted from that task via approaches of high-salaried roles coming my way unasked . . . i.e. Such diversionary offers simply don't happen any more in IT when you are over ~50, so you can stay fully-focused on your startup platform, day and night:) ]

Back to the Foundry658 bootcamp: it was excellent value with very experienced presenters, high calibre invited speakers who were all generous in their advice, great venues, thoughtful mentors, challenging exercises, and an excellent set of notes/toolkit from Value Proposition-to-Growth marketing and Pitching - all professionally organised. In particular, it reminded me of the hard lessons that Usability Lab's brought to Designers in double short time, back in my IDEA Lab days: there, a Designer behind a one-way mirror or video camera would see-for-themselves how their website or app interface failed in the hands of real users. In this bootcamp, we got to see how our imagined/stereotype customers, we're not really who the real customers for our services were. Through Customer Validation Testing we were able to overturn a few gross assumptions about the problem we were actually trying to solve.

I thoroughly recommend an application to future Foundry658 boot camps to anyone with a new creative-industries startup idea, or an existing creative-industry-oriented business that is ready to scale, as they will surely run again later in 2019.

Steve Goschnick (gosh'at'

November 2018

On Age Discrimination in the IT Workforce

Mon, 3 Dec 2018 21:55:01 +1000 (updated)

By: gosh'at' (Steve Goschnick)

I'd heard that age discrimination in the job market was rampant (certainly in Australia e.g., but wasn't aware of how much it was true until my own personal incident or two or twenty . . .

A few months back, a head hunter (HR firm) sort me out via LinkedIn as a 'C Programmer'. His Client company was paying up to $140K and it turned out they were after 4 such experienced programmers for a large conversion of two systems, via a merger of two large companies. They got my interest at a number of levels, one of which was that I'd gone back to doing a significant C project myself in the months before (after programming mainly in Java for years - I've done very substantial systems in C and C++ over 3 decades, and even taught the C language to companies and colleges (e.g. teach-the-teacher) back in the early 1990s when it was a newer language).

After the initial Interview with the HR firm I was required to do an IKM online test for ANSI C89 / C99. Here's my result summary of that adhoc test:

Figure 1. The Interface Guide built into the App is accessible via tabs along the bottom of screen.

The HR guy came back quickly, impressed enough to tell me that my 88% (which would be a H1 at university) was the highest score by some margin of all the applicants, and that he was instructed by the client company to shortlist for interview, all those candidates who achieved 60% or higher. That transpired to 6 candidates for 4 position. He couldn't see how I wouldn't get an offer - "though it may or may not be a little less than the $140K".

My interview with the HR firms Client was the following week. I'm no spring chicken, but I was certainly not going to start dying my hair for an interview where one's skill-set was the first-and-foremost the requirement, and where they had used an International testing agency of considerable reputation to measure that, and my team-player skills were also high, and valued during my considerable employment record.

I arrived at the Client's site about 12 minutes early for a 3pm interview. Between the reception desk and a meeting room there was an open C-shaped lounge-chaired area (pardon the pun) with a coffee-table of newspapers and a book or two, and a large TV screen on the wall with various live sporting events.

I took a seat and read a newspaper, having not layed hands on one for a year or two. About 10 minutes to go, two fellows - both between 30 and 45, perhaps, came along and went into the meeting room, to prepare for the Interview, as it transpired. They never gave me more than a fleeting glance as they rushed in to plan their questions and approach.

At 3pm they both emerged from the meeting room and looked about for the candidate, questioningly. Looking straight thru/past me, the older of the two checked his watch wandering why the candidate was now apparently late! Just as he began walking toward the Reception desk he looked back to me, as I'd now stood up moving his way with an 'excuse me . . .', and he then asked incredulously "Are you Steve?" To which I acknowledged and we all went into the Interview room and so it proceeded for the next 50 minutes or so.

They asked several standard team-player oriented questions, but mainly they asked technical questions about the C language. Of the 35 to 40 questions there were just 2 or 3 where I said something like: "No I haven't used that particular library of code for a while, so I can't tell you the specific method call and parameters I'd use off the top of my head, but I'd easily look it up in the online documentation". The rest were straight forward. They kept on searching for the allusive question that I couldn't answer at all, but it didn't come. The more senior of the two, certainly knew his C - and he would probably cherish remaining top-gun in the organisation in the C-language stakes.

The HR guy rang me the following Friday and apologetically told me the client didn't want to hire me, much to his own amazement, and that no reason was given. I said: no-matter, one gets used to these sorts of outcomes after 2 or 3 years - it was he that approached me after all - I'd long given up on seeking out such fruitless encounters and would happily get back to my own programming projects and writing endeavours. At the very least I enjoyed his conversations and the online test too - as it was a variable test, dynamically altered for the individual in its presentation and so it couldn't be fudged - which in itself was refreshing in the testing world.

There you have it: many people in IT don't think that people over 60 can even use a computer never mind program one at a very high level, never mind be an expert at it - with or without independent, international-standard testing! Despite even that I've been called upon in Court as a C-language Expert Witness, no less.

Ironically, the fact that I've programmed in C and C++ since about 1988 (i.e. 30 years), means its burned into my brain, and will probably still be clearly there the day I die.

They probably thought the younger candidates, though scoring much lower on the IKM Test, could be quickly brought up to speed. Unfortunately for the greater Client organisation itself, the C language is probably the least language that programmers can be moved across to quickly, from other, moderner, safer languages. C is very unforgiving to the uninitiated and the undisciplined. It runs counter to the modern programming paradigms and mindsets. To the unwitting Project Manager who may be used to teams working in Java or JavaScript+CSS or C# or even pure C++, throwing lightly-skilled C programmers coming from those other languages into C-proper, will blow their timelines and budgets out-of-the-water, and give their competitors a significant advantage because of the resultant delays and persistant bugs.

While I do wish the Client company good luck with their system merger, when one has age discriminatory hiring practices at the coal-face, when it comes to systems written in the C language, its going to cost you, significantly! Steve Jobs himself no less, pointed out that when it comes to system-level code (i.e. mainly written in the C language), the difference between a very good programmer and a mediocre one, is about 20+ to 1. While that ratio doesn't hold in the modern languages, purpose-built to curtail certain risks, it remains true for the C language, itself now 40 years old and only lightly enhanced. No place on earth knows this better than Silicon Valley and nearby Seattle, where most system software in the world is still written and maintained in C. It certainly seems that project managers further afield are less experienced in the peculiarities of the individual languages. . . which of course, adds to those advantages that Silicon Valley has and retains.

I looked up the HR policies on the website of the Client company in question here, and they clearly state they have Diversity in their teams: "We are proud to have teams with different backgrounds and experience. It inspires diverse thinking that in turn underpins everything we do". However, beyond those two sentences, the rest of their PR Diversity blurb is just about gender diversity. From that and my own experience, any concept of age diversity is far from their thinking or concern.

While age discrimination is wide-spread, it is particularly acute in the IT field. Companies are bringing in new younger IT programmers/analysts on work visas, claiming they can't find the numbers with the skills needed, already here. From my own experiences like this incidence here, that is often bullshit, simply because they don't even consider most people the other side of 50, or even the other side of 45, or else they only want to pay new graduate-level wages or less.

Age discrimination is hard to prove, and when someone like me chooses to raise attention to examples of it, a typical response/thought is likely: 'proves the point why you wouldn't employ such a whinging old/middle-aged privileged white guy, not used to knock-backs, who probably has a house and no mortgage to pay, with kids who have flown the nest' - all assumptions of convenience and often false, which shouldn't even enter into the 'on merit' (i.e. see test above) argument in the first place.

And yes, contrary to the usual retort about older workers, like many, I continually update my skills: Programming for me is a pleasure not simply a tool of my vocation - I've always kept my hand in it even when not programming fulltime - i.e. when project managing, researching or lecturing in other things. As well as being a long-time expert in the languages C, C++ and Java, I'm not bad at JavaScript and I'm simply loving the new Swift language from Apple, which I've chosen to learn most recently.

Steve Goschnick (gosh'at'

June 2017 (Updated 03 Aug 2017)

Second Call for Papers: Special Issue on Coding with the Raspberry Pi

International Journal of People-Oriented Programming (IJPOP)

Special Issue on Coding with the Raspberry Pi

Submission Due Date

31 Aug 2017

Guest Editors

Steve Goschnick & (Guest Editor) Christine Sun


The unassuming Raspberry Pi, an inexpensive credit-card sized computer, was awarded the UK's highest engineering accolade last month - the Royal Academy of Engineering's MacRobert Prize ( ). It has clocked up over 14 million sales since launch in 2012, making it the third best selling general purpose computer of all time. The Raspberry Pi Foundation, a non-profit, designed the small but versatile marvel with the joint aims of teaching Computer Science to a new generation of students, whilst also servicing a growing cohort of startups and digital makers in prototyping their heavily divergent technical dreams.

The latest version (Model 3, with integrated WiFi and Bluetooth), launched in early 2016, is their biggest seller so far, perhaps following a pattern of Version 3 maturity touching the spot (e.g. Windows V3; iMac). There have been several public ponderings since then as to whether the Raspberry Pi has become disruptive (e.g. OReilly Podcast). Two of the largest players in the industry, Microsoft and Google, have launched respective IoT (Internet of Things) products that target it in recent times, namely: the Windows10 IoT Core and the Android Things (Google's IoT platform). That makes it plain and simple: the Raspberry PI has become disruptive in the IoT space, at the very least - nothing less warrants that sort of high-profile attention from across the pond.

Recommended Topics

Our interest in the Pi for this Special Issue is in the other main part of the original goal: how has the Raspberry Pi been travelling with regard to teaching and related research, in particular with respect to bringing programming to a new and more diverse generation. We are seeking papers around coding on the Raspberry Pi, including but not limited to the following topics and questions:

Some readings

  1. Website: Raspberry Pi - Teach, Learn and Make with the Raspberry Pi. Raspberry Pi Foundation (2017),
  2. Podcast: The Raspberry Pi 3: Is it good enough? The Raspberry Pi is starting to look disruptive (2016),
  3. Article: Google launches first developer preview of Android Things, its new IoT platform (2016),
  4. Article: How to Install Windows 10 IoT Core on the Raspberry Pi 3.
  5. Article: The Raspberry Pi and CoderDojo join Forces (2017), May, 26th.
  6. Posts: Wolfram Language and Mathematica for the Raspberry Pi. Accessed 2017, May, 31st.

Submission Procedure

Researchers and practitioners are invited to submit papers for this special issue on Coding with the Raspberry Pi on or before 31st August 2017. All submissions must be original and may not be under review by another publication. INTERESTED AUTHORS SHOULD CONSULT THE JOURNAL'S GUIDELINES FOR MANUSCRIPT SUBMISSIONS at All submitted papers will be reviewed on a double-blind, peer review basis. Papers must follow APA style for reference citations.

All submissions and inquiries should be directed to the attention of:

Steve Goschnick & Dr Christine Sun

Editor and Guest Editor

International Journal of People-Oriented Programming (IJPOP)


September 2016

The Rise of the Fit Bit Kids

Thu, 8 Sep 2016 01:05:06 +1000

By: gosh'at' (Steve Goschnick)

(Note: this article was published first on )

The rise of the fit bit kids: a good move or a step too far?

Steve Goschnick, Swinburne University of Technology

The concept of tracking your fitness with wearable technology is not new but the rate at which activity trackers are being worn by school children, is. And it's causing quite a range of reactions.

In the UK, a mother withdrew her child from primary school because it stopped him from wearing his electronic fitness bracelet, although following protests the school later allowed pupils to wear Fitbits (except during physical education class).

In New Zealand, high school counsellors said they were concerned the Fitbit devices could become a fixation, particularly with girls trying to lose weight and keep fit.

In Australia, students in some schools are wearing these devices (for example, nine of the 24 in my daughter's grade 4 class) despite terms-of-service such as Fitbit's saying users should be aged over 13 to use its service.

As for older students, Oral Roberts University in Oklahoma said earlier this year it was giving new students the option of wearing of a Fitbit as part of its ongoing fitness program. However, this caused some concern and sparked an online petition over fears it could promote eating disorders.

Fitbit's come in many colours. Flickr/Melies The Bunny, CC BY-NC

What gets children moving?

You only have to witness the magnetic attraction between kids and their small screens to realise why the modern parent is looking for an antidote to the exercise aversion of their offspring.

There's no doubt most kids thrive on structure put around their lives, such as enforcing some screen-time limits. The introduction of self-governance for kids at home is generally one of gradual steps and missteps.

An attractive feature of activity-trackers is that they come with an app that children are able to locate and install at kid-speed.

Your average self-tracking device does daily tallies for: steps-taken, kilometres-covered, calories-consumed and so on.

Dashboard of daily stats on the Fitbit app. Fitbit/Screenshot, Author provided

Parents will be happy to see children push up their daily step-count, and watch their young charges spending more time perusing exercise metrics and rewards, over first-person shooters and the demolition of rival buildings in Minecraft.

One reassuring aspect of the Fitbit daily dashboard, from the point of view of parents with slovenly kids in the home-zone, is that primary school kids are generally clocking-up lots of activity during their school day.

Self improvement

Researchers in pervasive computing see self-tracking as a significant tool in behavioural change in optimising one's self. From a sociology perspective, self-tracking is seen as heavily correlated with selfhood and identity.

These devices collect new information about one's self, capturing raw data that was previously hard-won or totally unavailable, and then present it visually for reflection, all with little-to-no effort by the individual. In doing so they offer a new source of rich knowledge about oneself.

Australian research into the phenomenon of self-tracking points to a philosophical grounding offered by French philosopher Michel Foucault. That individuals have a moral and ethical imperative to take up practices that help them achieve happiness, healthiness and wisdom. Practises that nourish both body and soul.

But despite the emphasis on self in this whole new scheme of smart things, the information being collected by these devices is also held by corporate entities beyond the individual.

Employers, with a vested interest in their employees' health and well-being, are also getting enthusiastic about these fitness devices.

In September 2015, the US retail giant Target offered more than 300,000 free Fitbit Zip devices to improve the wellness of employees, and the corporate image.

Some health insurance companies in the US and elsewhere, are now offering savings for people that wear such devices.

Any concerns?

So, what is the range of the growing concerns being raised about these self-tracking devices?

The computer scientist Jaron Lanier, author of Who Owns the Future?, was strapping technology onto his body back in the 1980s and has a good overarching measure of the dangers inherent in self-tracking:

There are two dangers: one is compromising privacy and the other is (that) participants can narrow themselves. Extreme adherents hyperconcentrate on certain kinds of numbers about themselves, and it can make them a little more robotic than other people.

Nonetheless, he missed the problem of low-grade devices. Fastfood giant McDonalds recently issued STEP-iT Activity Bands with Happy Meals in the US with 33 million Chinese-made wristbands set to go, only to recall them this month when burns and skin irritations were reported.

A growing concern is that self-tracking is becoming self-surveillance. And yet, in the public health domain self-tracking technologies dovetail nicely with the emphasis on self-management, on moving some personal responsibility and control back to individuals who require care.

It largely comes down to who has access to the data, what they use it for, and whether they have appropriate permission to do so.

Still, if it gets children off the couch and doing more exercise in the real world, by the time they are fit and healthy young adults they may well have cast off the activity tracking bracelet.

Or it just may evolve into a permanent augmentation, facilitating an optimised human life, from cradle to grave.

The Conversation

Steve Goschnick, Adjunct Professor, Swinburne University of Technology

This article was originally published on The Conversation. Read the original article.

August 2016

App Review: ScratchJr (Scratch Junior) for both iPad and Android

Fri, 12 Aug 2016 11:09:15 +1000

By: gosh'at' (Steve Goschnick)

My app review of Scratch Junior got published in the International Journal of People-Oriented Programming, 4(1), pages 50-55.

As a simple 'app review' I'm quite surprised the publisher put it behind a paywall, and so I've put a copy here on my Blog site where it can be freely accessed (with the journal publisher's permission).

Its linked here as a .pdf file for your convenience:

I highly recommend it if you are thinking of getting a 7 to 9 year old into Coding - its very suitable for that purpose.

Enjoy, Steve

Figure 1. The Interface Guide built into the App is accessible via tabs along the bottom of screen.

Figure 3. Enacting the four on-screen game-controller-like buttons.

January 2016

Call For Papers: Kids and Other Novices Learning to Code

Mon, 4 Jan 2016 01:10:05 +1000

By: gosh'at' (Steve Goschnick)

*************************** CALL FOR PAPERS ***************************

2nd CFP: Kids and Other Novices Learning to Code: Insights, Tools & Lessons from the Visual Programming Frontline

Special Issue of: International Journal of People-Oriented Programming (IJPOP)

ISSN: 2156-1796, EISSN: 2156-1788

Editors: Leon Sterling & Steve Goschnick

Submission Due Date (extended): January 31, 2016

We are interested to hear of your research and experience with using and/or providing languages and programming environments designed to take whole new cohorts of people into Coding. Of interest is the whole span: 8 and 9 year-old school kids and younger, through to life-long learners who never thought about programming as a realistic option for themselves.

The well-known options include: Scratch, Alice, Greenfoot, AgentSheets, FLIP and various derivatives of Scratch (e.g. Snap!/BYOB, App Inventor, Blockly, FlashBlocks), derivatives of Blockly (e.g., WonderWorkshop, Blockly Games, etc.), and various other approaches, including executable flowchart environments (e.g. LARP).

Topics include but are not limited to:

We are interested in submissions from educators, facilitators and researchers with experience in the new coding environments, that delve into any of the above topics, and others that are closely related.

Some Readings:

Article: Want your kids to learn another language? Teach them code. The Conversation (2015), ... and repeated Below, on this page.

Article: Five reasons to teach robotics in schools. The Conversation (2015),

Article: An education for the 21st century means teaching coding in schools. The Conversation (2015),

Article: It's back to school for Facebook, and it's personal (a personalised learning environment). The Conversation (2015),

Journal paper: Judith Good (2011). Learners at the Wheel: Novice Programming Environments Come of Age. International Journal of People-Oriented Programming, 1(1), pp.1-24 (Via )


Researchers and practitioners are invited to submit papers for this special issue on or before 31st January 2016.

All submissions must be original and may not be under review by another publication. INTERESTED AUTHORS SHOULD CONSULT THE JOURNAL'S GUIDELINES FOR MANUSCRIPT SUBMISSIONS at submission.aspx. All submitted papers will be reviewed on a double-blind, peer review basis. Papers must follow APA style for reference citations. This journal is an official publication of the Information Resources Management Association

PUBLISHER: The International Journal of People-Oriented Programming is published by IGI Global (formerly Idea Group Inc.), publisher of the "Information Science Reference" (formerly Idea Group Reference), "Medical Information Science Reference", "Business Science Reference", and "Engineering Science Reference" imprints. For additional information regarding the publisher, please visit

Editors-in-Chief: Steve Goschnick & Leon Sterling ( |

Published: Semi-annual (both in Print and Electronic form)

All enquiries and for this Issue should be directed to the attention of: Prof. Leon Sterling, Co-Editor-in-Chief International Journal of People-Oriented Programming E-mail:

All manuscript submissions to the issue should be sent through the online submission system:


September 2015

Teach Kids to Code

Mon, 28 Sep 2015 22:10:05 +1000

By: gosh'at' (Steve Goschnick)

(Published first in TheConversation - see link at bottom of page)

(Published first in TheConversation - see link at bottom of page)

Want your kids to learn another language? Teach them code

Steve Goschnick, Swinburne University of Technology

Among Malcolm Turnbull's first words as the newly elected leader of the Liberal Party, and hence heading for the Prime Minister's job, were: "The Australia of the future has to be a nation that is agile, that is innovative, that is creative."

And near the heart of the matter is the code literacy movement. This is a movement to introduce all school children to the concepts of coding computers, starting in primary school.

One full year after the computing curriculum was introduced by the UK government, a survey there found that six out of ten parents want their kids to learn a computer language instead of French.

The language of code

The language comparison is interesting because computer languages are first and foremost, languages. They are analogous to the written versions of human languages but simpler, requiring expressions without ambiguity.

They have a defining grammar. They come with equivalent dictionaries of nouns, verbs, adjectives and adverbs; with prepositions and phrase patterns, conjunctions, conditionals and clauses. Of course the dictionaries are less extensive than those of human languages, but the pattern rendering nature of the grammars have much the same purpose.

Kids that code gain a good appreciation of computational thinking and logical thought, that helps them develop good critical thinking skills. I've sometimes heard the term "language lawyer" used as a euphemism for a pedantic programmer. Code literacy is good for their life skills kit, never mind their career prospects.

Scratch is one of a new generation of block programming languages aimed at teaching novices and kids as young as eight or nine to write code.

Scratch teaches code with movable instruction blocks. Screenshot from

The Scratch language uses coloured blocks to represent the set of language constructs in its grammar. A novice programmer can build up a new program by dragging-and-dropping from a palette of these blocks onto a blank canvas or workspace.

The individual shapes of the blocks are puzzle-like, such that only certain pieces can interlock. This visually enforces the grammar, allowing the coder to concentrate on the creativeness of their whole program.

The Scratch language (and its derivatives) are embedded in a number of different tools and websites, each dedicated to a particular niche of novice programmers. The website is a prime example and has a series of exercises using the block language to teach the fundamentals of computer science. is a non-profit used by 6 million students, 43% of whom are female. It runs the Hour of Code events each year, a global effort to get novices to try to do at least an hour of code.

For a week in May this year, Microsoft Australia partnered with to run the #WeSpeakCode event, teaching coding to more than 7,000 young Australians. My local primary school in Belgrave South in Victoria is using successfully with grade 5 and 6 students.

Unlike prose in a human language, computer programs are most often interactive. In the screenshot of the Scratch example (above) it has graphics from the popular Plants vs Zombies game, one that most kids have already played. They get to program some basic mechanics of what looks a little like the game.

Hit the 'Show Code' button at it reveals the JavaScript language behind the coloured blocks. Screenshot from

But has a 'Show Code' button that reveals the JavaScript code generated behind the coloured blocks (see above). This shows novices what they created in tiles, translated into the formal syntax of a programming language widely used in industry.

It's not all about the ICT industry

Both parents and politicians with an eye to the future see the best jobs as the creative ones. Digging up rocks, importing, consuming and servicing is not all that should be done in a forward-thinking nation.

But teaching kids to code is not all about careers in computer programming, science and software engineering. Introducing young minds to the process of instructing a computer allows them to go from "I swiped this" to "I made this". From watching YouTube stars, to showing schoolyard peers how they made their pet cat photo meow.

It opens up young minds to the creative aspects of programming. Not only widening the possible cohort who may well study computer science or some other information and communications technology (ICT) professions, but also in design and the creative arts, and other fields of endeavour yet to transpire or be disrupted.

For most kids, teaching them to code is about opening their mind to a means to an end, not necessarily the end in itself.

The Conversation

Steve Goschnick, Adjunct Professor, Swinburne University of Technology

This article was originally published on The Conversation. Read the original article.



Home | Site Map | Privacy Policy | Contact Us | ©2015 Solid Software Pty Ltd