JCrete 2019: My Session Summaries

      No Comments on JCrete 2019: My Session Summaries

I had the amazing good fortune to attend this year’s JCrete. I’m still here in Crete while I write this on the balcony of my hotel. There is likely no better place in the world to hold a gathering especially an Unconference gathering.

Imagine a gathering where every one in attendance is a potential speaker. Rather that the classic “Sage on a Stage” style presentations, an Unconference is about having open discussions on a range of topics presented by the people attending.

Each day begins where anyone can propose a topic they wish to discuss with anyone in attendance who also has an interest in the topic. This was a new experience for me. No projectors (more or less) and no PowerPoint. The proposer of a sessions begins by explaining why they want to discuss their topic and then for the next hour its a free wheeling discussion.

I proposed two sessions. One responsibility of a presenter is to prepare a summary of their session. As a way to possibly encouraging further unconferences, and they are getting popular, I am presenting my summaries here.

How do we change Java to keep it relevant in education (or how do we keep Python from consuming the education sector)?

This session in the Hermes room discussed why Java is losing ground to other languages such as Python in the education sector. Many universities and colleges are turning to Python as their CS1 language. This was not a Python bashing session.

The following points were raised:

Java:

  • Is too formal
  • Has out of date documentation
  • Lacks promotion of the many cool libraries available
  • Is slow to start up
  • Because news reports announce Java’s imminent death
  • Because Oracle has a poor reputation of late
  • Because Java is perceived as a server-side/back end language
  • Because Google searches on how to code basic tasks are mainly for Python or JavaScript
  • Is not perceived as a truly open source language
  • . . .

When the discussion moved to what might need to be added to Java there was a consensus that there was nothing significant required. Instead the group agreed that features and libraries that make Java a superior language in education are just not being promoted. Oracle is perceived as not promoting Java sufficiently. It sometimes feels like they have lost interest in the language.

For example, in Python you can edit a file in a text editor and run it from the command line. What some at the session and later at lunch that day did not know is that as of Java 11 there is JEP 330: Launch Single-File Source Code Programs that allows a single file to be directly executed without compiling it first.

The conclusion arrived at in the session was that Oracle, Champions, Groundbreakers, and every Java developer must communicate, shout from the rooftops, that Java is the modern language superior to all others in the education sector. And, Java is younger than Python, Python in 1991 and Java in 1996.

Session was held on day 3 of JCrete 2019-07-17

The Java Tutorial: Is it time for an upgrade and by whom?

This session was held in the Sofa area at JCrete. We were fortunate to have amongst the participants the Java Program Manager. First, we expressed our love for the tutorial, an exceptionally well written introduction to Java programming. This was followed by sadness over the fact that the tutorial had not been updated since Java 8. As an example, the upcoming new ‘switch’ statement syntax is only discussed in the JEP document.

It was brought out that this tutorial remains relevant and what is in it is the core of the language right up to lambdas. Most of us felt that by not updating it with each release of Java Oracle was inadvertently sending the message that they have lost interest in Java. It was pointed out that one aspect of the success of the Spring platform is their extensive documentation.

The Java PM explained that Oracle felt that the time and efforts of their developers are better spent addressing specific questions on the Stack Overflow platform even hoping to officially make this part of a dev’s workload though for now their devs are just encouraged to answer Stack Overflow questions. With so many people blogging about the features of Java, especially the new ones, they felt that updating the tutorial was no longer an effective way of reaching developers.

From here the discussion moved to the possibility of turning the tutorial into an open source project, possibly as part of AdoptJDK. A concern was raised about maintaining the quality of the documents. As an example the @java twitter handle sometimes tweets about blogs that upon later inspection turn out to be less than accurate. Just making the tutorial open source under a creative commons licence and putting it on a wiki or git repo is not something Oracle will likely approve. This was a point of contention as some at the session wanted the tutorial and all code samples contributed.

The Java PM felt that Oracle would be interested in contributions to the tutorial from individuals with a track record in training and writing. Even better might be a major training organization contributing to the tutorial. Reading between these lines it would mean that further work on the tutorial could be funded by these companies rather than having it as a volunteer effort. In either case the Java team at Oracle might be available to review new material for its accuracy.

While the future of the tutorial is still not certain, our discussions demonstrated that there are devs out there who hold the documents in their hearts and want to see it go forward.

Session was held on day 4 of JCrete 2019-07-18

How I Got To Where I Am Now – Part 1

      1 Comment on How I Got To Where I Am Now – Part 1

This was supposed to be some notes for a possible idea for JCrete this summer. How it became a history of my start as a computer programmer is beyond me but once I started writing I couldn’t stop.

The first programming language course I took was FORTRAN in 1971. I took it in college when code was keyed on punch cards. I was 17 and sex, drugs and alcohol were what interested me most. I couldn’t type and still can’t. FORTRAN did not ignite a passion in me.

Fast forward to 1980 and I’m 26, recently married and working in a mail room. There was so little to do during the work day I started buying magazines and the ones I bought most often were computer magazines such as Byte, Creative Computing, and Micro6502. After about four months I made the decision to buy a computer.

My landlord had a Commodore PET (Personal Electronic Transactor) and while he took every opportunity to show it off to me all I remember is that he had to run the cassette tape two or three times to get it to load. Fascinated none the less I discovered two computer stores in Montreal in addition to Radio Shacks that sold TRS-80s.

Radio Shack was off the table because I could not find an employee who knew more than to tell me it had “beautiful plumage”. The next store, called Future Computers, had a few different machines such as the PET, the TI/99 and the Apple ][+. They were as knowledgeable as they could be and were happy to let me play with the different models. The last store was called Central Distributing. They were primarily a Hi-Fi and TV store but in one corner they sold Apples. The employee was the most knowledgeable one I had met anywhere. More significantly was that there was always a few other people who already owned an Apple or others like myself trying to decide which computer to buy.

There was a community at Central Distributing (still in business but no longer selling computers). It was the community that convinced me to buy an Apple ][+. The base unit had 16K of RAM to which I added, for $380, another 32K of RAM. My last addition was to buy a 5 ¼ floppy disk drive for $700. That floppy drive made me the envy of the other Apple owners who still used a cassette recorder.

MAC Vol2Num3

My wife Cheryl and I, mostly my wife because she had a better job, borrowed $3000 from a bank with $2000 for the Apple and $1000 to remove the rust from our GMC van. Vanning as a means of travelling was big in the seventies and early 80s. I built an RV style interior myself. Good times and good drugs but that’s a story for another blog.

I sold the idea of getting the Apple computer to my wife by describing it as the best toy I could ever want. I called it a jungle gym for my mind that was becoming stagnant by just working in a mail room. We were just married and no kids yet. I changed jobs not long after buying it and getting our van de-rusted. I became a photography technician at the Dawson Institute of Photography of Dawson College. I was responsible for managing the inventory of equipment that the students used and mixing the various chemicals used in black & white and colour photography.

But when I got home after work, I spent all my free time on my Apple. We couldn’t afford a real monitor and with a resolution of just 40 x 25 I could make do with my wife’s old 9 inch black and white TV. I was obsessed and proceeded to type in almost every program from the magazines I bought. I remember typing in a Space Invaders game and I thought it was the coolest thing. I started modifying the programs. They were all written in Apple Basic that was the second programming language for the Apple. It was written by a small company run by Bill Gates. Prior to Apple Basic there was Apple Integer Basic written by Steve Wozniack but when Apple went from Apple 2 to 2+ the Bill Gates version became the standard.

MAC Vol2Num9

One task at the photography school that the faculty worked on three times a year was scheduling. There were three groups of photography students, morning, afternoon and evening that had to follow a 15-week semester schedule. The groups were broken down into sections. There were classroom lectures, photo lab and studio lab courses. The faculty would spend two or three days preparing the schedules. In my arrogance I announced, after only having had a computer for a little over a year, that I would write a scheduling program.

I modeled the data structure inside a multi-dimensional array. I’d begin by randomly assigning courses, teachers, and rooms while verifying that I was meeting all the requirements. For example, a course might need to have so many studio hours a week every week and there were multiple sections in the time block competing for the studios. A piece of cake, I thought. If my algorithm got stuck, I planned to unroll backwards and try another arrangement.

It never worked. I could get to about week 10 or 11 and then I could not get any further. My truly amateurish algorithm would end up unrolling back to week 1 and then proceed to move forward but never past week 11. But boy, did I enjoy the coding even if it was a failure. I was now certain that this was my life’s passion. Now, could I salvage anything from this considering I had made promises I could now no longer fulfill.

MAC Vol2Num9

One component of my system was verification. It contained the rules for a proper schedule and it determined if the schedule could work. As I said, the scheduling process was a two or three day affair plus a day to prepare schedules to be printed for the students. What if the work the faculty did was immediately entered into my program? It could inform the faculty right away of any errors or omissions in their work. Once a schedule was verified it could then print out the schedules for each section. This is what I presented to the faculty. It turned the time from the beginning of manual scheduling to producing error free student schedules to less than two days. I even brought in my own computer and printer to be used as the college did not have any computers at that time, early 1982.

Dawson College, in the early 80s, had decided to set up computer labs with Apple computers. The Dawson Institute of Photography was managed by the Continuing Education department of the college and its managers were aware of what I was doing when I wasn’t mixing chemicals or fixing cameras. I was invited to speak at a general faculty gathering about small computers. Dawson already had a three-year Computer Science Technology program but it was exclusively mainframe. I was one of a handful of employees who were also computer hobbyists and my Schedule Verification System was an example of a useful application of these new small systems.

The presentation was a success. It was the first time I ever did anything like that. Immediately afterwards the chair of the Humanities department asked me if I wanted to teach a Humanities course. I was flattered and puzzled. I had just spoken about my experience with an Apple computer and not philosophy. He told me that what he liked was my style. I could educate, entertain and captivate an audience. He told me that these skills were not common in his faculty.

MAC Vol3Num1

I enjoyed the moment. It was an unexpected offer. Then I had to reveal a truth. After high school, that finishes in grade 11 in Quebec, I went on to a two year college as preparation for a university undergraduate program in Science. Dawson College is one such college although I went to different one. I failed miserably in college. I was expelled after my first semester and then got a job as a shipper at a surgical supply company. I returned to college the following year and while I lasted the whole year, I only passed 3 out of 12 courses. It simply came down to the fact I found other activities rather than schoolwork more fun. Not an original story.

The chair of Humanities said I shouldn’t worry. He’d fix it so I could get hired. He couldn’t. Not long after that the Continuing Education department decided to offer computer courses. As they were non-credit the hiring criteria for regular day courses did not apply. They hired me to teach introductory computer courses.

During this period I became involved with an early users group called the Montreal Apple Core. We met once a month in a church basement. I volunteered to produce the club’s newsletter. I gave some presentations and for a short period of time became the president. If anyone from that period reads this then let me admit that I was a terrible president.

There was a magazine store that carried magazines and books mostly dealing with computers called Le Camelot. They agreed to carry our newsletter that I produced on an old Gestetner copy machine and later with a photocopy machine. You can see images of the magazine throughout this blog.

One day I got a phone call from an engineering firm. They had a contract to build a control system for a water filtration plant in the Montreal area. The plan was to use Apple ][+ computers to control the filtration process and they asked if I could program a graphical user interface. It would show the various stages and readings of the filtration process. As I looked at the palm of my hand I assured them that I knew how to do something like that the same way I knew the back of my hand. I now had my first commercial programming job.

My interest as a photography technician was waning. Truth be told my enthusiasm and the quality of my work was diminishing. When the students met with my supervisor to complain about me I knew it was time to go. With the support of my wife I resigned from the Institute of Photography. By then I was teaching several non-credit courses not only at Dawson but at other colleges. This was enough to cover our household bills as our first child was now a year old.

Between the time I left the photography school in 1983 until 1991 when I became a full-time faculty member in the regular day Computer Science Technology program there was never a time I wasn’t coding for clients. During my first few years as a teacher I continued doing some contract work but I dropped that as I started teaching non-credit evening courses at Concordia University. I even went back to school in the 90s and made up for my failed college time and got as far as two years into an undergraduate computer science program. The need to pay the bills had me doing more evening teaching so I never finished that degree. At least I wasn’t expelled.

If the mood strikes me one day I may write about what I did as a free lancer and that will be part 2. There are some good stories from that period, some I still tell my students. Seven years ago I stuck my head out of my education fox hole and became part of the wider software community by writing, speaking at conferences and even by organizing a conference. I have never regretted the choices I made. I have suffered from impostors syndrome but it never held me back from taking on anything presented to me.

I turned 65 this year. It is now my 30th year at Dawson. After 21 years as chairperson and program coordinator of Computer Science Technology, I stepped aside this year to return to full time teaching. I’ve toyed with looking for new opportunities but I’m not sure I can give up the life style of a teacher. At a luncheon just the other day one of the younger faculty whom I hired gave me a small novelty plaque that stated the 3 reasons for being a teacher; June, July and August. This is what I told him when I convinced him to leave industry and join us.

Ken Fogel, June 10. 2019