DigitalFriend Blog

December 2018

The first Foundry658 Boot Camp!

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

By: gosh'at'DigitalFriend.org (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).

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. (http://foundry658.com ). 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.

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:

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'DigitalFriend.org)

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

Introduction

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 (http://www.bbc.com/news/technology-40444356 ). 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:

Usage of Python, Scratch, BlueJ, Greenfoot, the Wolfram Language or other programming languages and environments, in introducing young students to coding.

Innovative use of project-based learning that utilise the GPIO and other interfaces to the wider world, that broaden the usefulness of coding to a larger percentage of students.

How well have novices to coding been facilitated by the Raspberry Pi (and the related community) thus far?

To a new generation whose first (and perhaps main) contact with a computer is a smartphone and/or tablet, has the Raspberry Pi helped close the conceptual gap between the thin black-box beneath the gorilla glass, and how one constructs and programs a personal computer?

Has the novice coder market become secondary to a runaway cohort of digital makers and startups stepping up demand for the Raspberry Pi, taking it from prototyping tool to production tool?

When and why does a coder become a maker or a student become an entrepreneur?

Has the Raspberry Pi helped to take an appreciation of coding beyond Computer Science, into other areas of the school curriculum – Music, Science, the Arts?

Podcast: The Raspberry Pi 3: Is it good enough? The Raspberry Pi is starting to look disruptive (2016), https://www.oreilly.com/ideas/the-raspberry-pi-3-is-it-good-enough?imm_mid=0e1bd2&cmp=em-iot-na-na-newsltr_20160317

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 http://www.igi-global.com/publish/contributor-resources/before-you-write/. All submitted papers will be reviewed on a double-blind, peer review basis. Papers must follow APA style for reference citations.

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.

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?

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.

August 2016

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

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).

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.

Are colored block-based languages more effective than other approaches?

What are the lesser known but effective language and environment options?

Which features of current languages and environments help the student and which ones hinder
them?

Are environments that allow online collaboration and sharing with fellow learners from afar,
better or not than collaboration with peers in the immediate classroom?

Are teams, even in pairs, effective or disruptive to getting all learners to understand coding
concepts?

What data can be harvested from the coding environment, and how can it be used as feedback: to
identify students facing conceptual difficulties, to improve coding exercises, and mentoring?

Is learning to code enhanced when done in conjunction with robotics?

How motivational is it to have a coding environment for apps that can be distributed to a large
audience? E.g. App Inventor for Android.

Is the quest to transition the new coder from a blocks-based language, to a conventional script
language (e.g. Python, JavaScript) - all within the coding environment and the lessons - useful in
teaching all potential learners, or simply a filter to identify future programming talent?

When and how it useful to introduce other skills into a team project (e.g. art and design of graphic
and video content), allowing individual students to build on existing strengths and weaknesses?

How can the current crop of code learning environments and languages, be improved upon?

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.

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 http://www.igi-global.com/journals/guidelines-for- 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
www.igi-global.com/IJPOP

Want your kids to learn another language? Teach them code

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.

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 code.org website is a prime example and has a series of exercises using the block language to teach the fundamentals of computer science.

Code.org 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 Code.org 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 Code.org 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.

But code.org 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.