My Microsoft Ignite 2019 Adventure

      No Comments on My Microsoft Ignite 2019 Adventure

A few months ago I was contacted by Bruno Borges, a friend from my involvement at Oracle’s Java One/Code One conference. He wanted to know if I’d be interested in being nominated as a Community Leader/VIP for the upcoming Microsoft Ignite conference being held in November in Orlando, Florida. The cloud advocacy group at MS were inviting people, I believe it was 30, from around the world. I said yes and to my surprise I was offered a golden ticket. Even more surprising was that my college allowed me the time off for a second conference in the same semester. I felt a little like Indiana Jones when he’d storm out of a class to discover, really steal, some ancient supernatural artifact. He’d be gone for weeks but I’d only be away for a week.

On November 3rd I boarded an early morning flight to Orlando, its just 3 hours from Montreal and in the same time zone, took a $48 USD taxi ride, there are no such thing as airport shuttles in Orlando, and checked into the Hyatt Regency. Flight and hotel were all covered by Microsoft so I didn’t begrudge the costly taxis.

On the Sunday there was a party put on by the cloud advocacy group at the Tapa Toro restaurant. A shuttle from the convention center was provided. This was going to be my first opportunity to meet the advocacy group and my fellow community leaders. It was a very pleasant evening with good food and good conversation. Brian Benz, one of the only three people I knew at Ignite was kind enough to drive me back to my hotel.

There were expected to be 22,000 attendees at Ignite of which 6,000 identified as developers. Ignite is what I would describe as an operations conference. Its focus is on Microsoft infrastructure for businesses. They are working to increase the amount of developer content although their proper developer conference, called Build, occurs in the spring. That is how I came to know so few people. One of them was another community leader and Java Champion from Germany, Sven Ruppert. Along with Bruno and Brian these were the three people I knew before arriving.

The conference is held in the Orange County Convention Center. It consists of three buildings, but I only needed to visit the West building. This building was huge. On the Sunday I went to a session for first time attendees. The walkway over the highway from my hotel had me enter at one end of the building. It took almost 20 minutes to get to the session that was held at the other side of the building.

Imagine that this very long building is bisected length wise. One half was where all the session rooms were. The other half was a single large area that ran the length of the building that Microsoft called the Hub. Microsoft used half of that space to showcase their products while the other half was where vendors had booths. I was told that the OCCC is the second largest convention center in the US after one in Chicago and that the OCCC was going grow to become the largest.

On the first day I attended the opening conference keynote given by Satya Nadella, CEO of Microsoft. As a VIP I sat in the third row. I like sitting up front at anything so I can possibly recognize speakers or performers if I pass them on the street. Satya’s, I’m taking a liberty by calling him by his first name, gave a presentation that can be best described as Azure, Azure, Azure, Azure, Minecraft. I learned that I have been mispronouncing Azure. I used to say a-zure with the emphasis on zure. Turns out it its eh-zure with the emphasis on the eh.

It was an impressive presentation. I cannot but marvel at what Microsoft is doing in the cloud. I’d go so far as to say the Azure is not a cloud but a mainframe running Windows 11. Discuss.

There were two types of presentation at Ignite. One was called Theatre presentations and the other was Breakaways. Breakaways were traditional “sage on a stage” sessions lasting from 45 to 75 minutes. Theatre sessions lasted only 20 minutes and I soon discovered occurred in numerous areas in the Hub. I had scheduled mostly Theatre session for my first two days.

From my perspective the Theatre sessions were disappointing. The venue, on the floor with thousands of attendees walking around was less than ideal. The two presentations I attended were not as well prepared as I’d hoped they’d be. As an example, one presentation required access to the Azure cloud but used the OCCC Wi-Fi that was clearly stressed by so many users. A second consisted mostly of apologies for things not working. After the second one I chose not to attend any more Theatre sessions.

Instead, I visited vendors. On the floor of the Hub were likely hundreds of vendors of products and services I knew nothing about because I identify as a developer. At each booth I stopped at I’d introduce myself as a teacher from Montreal who wanted to know about their offerings so that my students might continue to believe I knew everything about IT. I also suggested that I was a poor sales lead. Despite or because of this every vendor was more than happy to tell me about their offering. Ok, I also collected swag.

In the last few days I have been receiving emails from vendors who swiped my badge. I responded to everyone thanking them for their time and swag and reminded them that I was a poor sales lead. Many replied to say that they appreciated my candor and that I’d be removed from their mailing list.

Tuesday morning was another keynote to which I had VIP seating. The presenter was Scott Hanselman, Partner Program Manager at Microsoft. During his presentation he talked about Visual Studio Online, a browser based Visual Studio dev environment.  He showed off the Windows Subsystem for Linux 2 that is bringing a complete Linux kernel to Windows 10. While WSL2 does not have a GUI you can execute Windows programs such as File Explorer and it sees the Linux file system rather than the Windows system. It was cool to see in the Explorer address bar “//home”.

He also showed an application of AI in a game called Rock, Paper, Scissors, Lizard, Spock that is an update to Rock, Paper Scissors. He showed how AI could predict your choices after playing you several times. The code for this is available on GitHub.

His presentation touched on new features coming to GitHub such as reviewing dependencies to see if any were out of date and if so, will prepare a pull request to update them. Here is where I learned that yaml, a declarative language, plays an important role in configuring a range of services from Microsoft.

Later that morning Scott met with the community leaders privately in an AMA, ask me anything. He talked mostly about how to be an effective presenter. I asked him what plans Microsoft had for Java. He turned to a member of the advocacy group and asked if we had signed an NDA. When he was told we hadn’t, all he said was that Microsoft had great things in store for Java.

In talking about being an effective speaker he made several suggestions. He said to look at stage craft. He recommended a site he maintains called speakinghacks.com. He gave us one tip I will try my best to incorporate. Rather than say ‘um’ or as a Canadian ‘eh’, just pause and say nothing. It makes you look like you are being thoughtful.

On Wednesday I attended a session on Quantum computing with Mark Russinovich. This presentation gave a friendly overview of Quantum computing and presented the types of problems that could best be solved as well as problems not suited to it. Database is one problem that Quantum is likely not effective at.

Next up was a session by Bruno Borges on deploying Spring Boot microservices to Azure. As a Java presentation it was one that I looked forward to. It focused on how easy it was to deploy services, but I had hoped for a tutorial starting from nothing and ending up in Azure. I guess I’ll have to go to Build for that.

The day ended with a keynote on Microsoft innovation, a look at a few Microsoft research projects. Mitra Aziziard, Corporate Vice President, Microsoft AI presented projects being worked on at Microsoft labs in the US and the UK. We saw a new storage technology using glass, smart wearables and programable bacteria. It was very inspiring.

Wednesday evening was the Veeam party at the B.B. King Blues Club. Good food and live music. It was also when I felt the loneliest at Ignite, much like I felt the first time I went to Java One six years ago. While everyone was in small groups, here I was the old man all by myself. I did speak with some people and everyone, without exception was friendly. The music was first rate.

Thursday was AI day when I attended four sessions in a row on AI and the AI services that Azure provided. That was the key, what Azure provided. As each session became more technical than the previous it was mostly about how I could use Azure AI in my business. I learned a great deal but as they were service oriented rather than developer-oriented sessions, I was left with recognizing that there is so much more to learn. Maybe I could use an Azure AI service to determine what more I need to know?

Thursday night was the appreciation event. While Oracle puts on concerts, Microsoft rents the Universal Theme Park. Brian reached out and offered to drive me to the park rather than having to take a bus from my hotel. Once at the park we met up with two of his fellow employees, Amy and David, and we spent the evening together. We started with supper at the Hard Rock Café before entering the amusement area of the park. Amy was a big Harry Potter fan and after supper we headed to the Harry Potter themed rides. I have been to Universal once before but there was just one ride for Potter back then. Now there are four and we went on all of them. The park was closed to the public and only Ignite attendees were allowed in. All rides and all food in the amusement area was free. There were also tables all over the park with beer and wine. Wandering down a dark alley in Harry Potter world we turned a corner to find ourselves in what looked like a scene from the movies. The only thing different is that I don’t remember beer and wine in the movies.

On the last day I attended three more breakaway sessions. The first was The Modern Windows Command-Line: Windows Subsystem for Linux 2 with Sven Groot and Craig Loewen. At this session we were told how the WSL works and more about the Linux kernel, 4.19, included with Windows. Notepad finally knows Linux line endings. Python is available in the WSL2. With a Visual Code server you can write Linux software with Visual Code. No need to have a separate Linux box or run Linux in a VM. The WSL2 delivers real Linux side by side with Windows 10.

Next up was 45 life hacks of the Windows OS in 45 minutes by Sami Laiho. His presentation was part stand-up and part very scary hacks of which he got to about five. He showed how to access information on a Windows system for which you should not have had any access to and how, if you had physical access to a machine, you could become the machine’s administrator by changing one file that you could without being an administrator.

The final session was How to improve your UX with a deck of cards. Jessica Engstrom from Azm Dev in Sweden showed as a card deck called UX Tenets and Traps. Shaped like playing cards, these cards presented concepts of a good user experience and how it can go wrong. I ordered a set for myself at www.azm.se/traps.

I have one suggestion for the organizers of the Hub at Ignite. Please do not make the half of the Hub consisting of Microsoft technologies so dark. Whereas the vendors’ half was bright and inviting, the Microsoft side felt, to be honest, dark and creepy. It was not inviting, and I spent far less time learning about MS tech than I would have liked to. Please make it a happy place in the future.

Friday afternoon was shopping time. I always bring home a small Swarovski animal crystal whenever I travel. This trip it was a Blue Jay on a branch.

I’d like to thank Bruno Borges for nominating me and the committee that selected my nomination. During the week Adam Jackson was the community leaders’ wrangler and always made himself available for any questions or issues. Thanks to the rest of the cloud advocacy crew of Nitya, Sarah, Piyali, Megan and Cynthia. Of course, a big thank you to the Microsoft Corporation for having me at Ignite. It was an amazing week; I learned a lot and met a lot of amazing people. I hope that I can do this again. Now, what will I submit for the Build CFP?

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