Which Programming Languages will Still Exist in 2030?

This is a panel discussion that I am proposing.  I am hoping not to be the only panelist :)  I bet we will find plenty of people to talk about this.  I for one will be advocating for the position that Python is starting to be more than just one of the alternatives.   I think that with the Python 2 to Python 3 transition completed, we are beginning to see a world where, if some library can work in Python – ultimately it will work in Python and Python will be the preferred way to do something.  Of course this is just to get people fired up :)

Abstract for Pengiucon 2019.

Marketing Open Source – Why We Need a Race Car

This will talk about the challenges and ideas around marketing an open source Learning Management System (Sakai) when faced with  well-financed commercial market players.   The 100% open source Sakai Project was founded in 2004 and has maintained a 5% market share for over a decade.  The LMS marketplace has a lot of churn and new entrants attack the established products and take away their market share until the new entrants become the “old guard” or get absorbed and the cycle repeats.   The presentation will look at the challenges of marketing open source projects in the face of the strong competition.  We will look at how a race car (@SakaiCar) that runs in a low-cost endurance racing series (@24hoursoflemons) is an interesting strategy in this environment.  If all goes well, we will also bring the race car and racing gear to the event.

Abstract for 2019 Penguicon

Abstract: Building Learning Tools for Brightspace using the Tsugi Application Environment

Tsugi is a free and open source framework that makes developing applications to for integration into Brightspace using standards like LTI 1.1, LTI 1.3, ContentItem, DeepLinking and LTI Advantage.  Tsugi allows developers to invest effort in improving learning instead of integration details.

This presentation will introduce users to the free and open source Learning Application development environment available at www.tsugi.org. Brightspace supports the IMS Learning Tools Interoperability to allow external tools to be easily integrated into Brightspace and used to increase the richness and diversity of the course experience.   External tools can provide functionality not present in Brightspace like a course map tool, or social grading system, a prompted writing tool, or a YouTube viewer with Caliper analytics.   External tools can also be rich auto-graders that make online classes both more interesting and more effective.  Imagine if you could easily develop an interactive system like Pearson’s MyMathLab for *your* course and topic.  Tsugi provides a set of libraries that allow you to write learning applications without any need to read an LMS integration specification.  Tsugi’s run-time environment takes care of complying with the necessary standards to make plugging Tsugi tools into Brightspace, or any other LMS.  Building tools using Tsugi will will allow you to simultaneously support LTI 1.1, 2.0 and LTI 1.3 with no code changes to your applications.  Tsugi also takes care of supporting IMS Content Item, Deep Linking, and the new services available in LTI Advantage for your application.  Tsugi also provides a scalable hosting environment that is as easy to deploy as WordPress and allows institutions to host tools and provide an “App Store” of available tools to their users.  There is also a free cloud-based Tsugi App Store that provides scalable hosting for open source Tsugi applications at www.tsugicloud.org.  It is easy to learn to write Tsugi applications using the online materials at www.tsugi.org.

F2F @Coursera Office Hours Wednesday December 12, 7:00-8:30PM Hotel Shangri-La, Bengaluru, Krishna Room

Here are the logistics of the Face-To-Face Coursera office hours in Bengaluru, India.

We will meet Wednesday December 12, 7:00-8:30PM at the Hotel Shangri-La, Bengaluru in the Krishna Room on the second floor of the hotel.

Shangri-La Hotel, Bengaluru
No 56-6B Palace Road
Bengaluru 560052 India

http://www.shangri-la.com/bengaluru/shangrila/

http://www.shangri-la.com/uploadedFiles/SLBL_Hotel-Fact-Sheet_EN.pdf

There is no charge for this event.

This event will be a little better organized than my previous office hours.   The hotel is providing snacks and drinks and Shroff Publishing has provided a number of copies of the Python for Everybody textbook that they print and sell in India:

https://www.shroffpublishers.com/books/9789352136278/

I will also have some Coursera stickers and pens to hand out :)  It should be fun.  I am looking forward to seeing you on Wednesday.

I am still working on arrangements for office hours in Mumbai in a few days – I will send a note about them as soon as I can.

Here is a map view of all my (70) office hour videos since 2012 with my most recent office hours video in the center of the map. You can click on the pins to see the videos.

http://www.dr-chuck.com/office/

I hope to see you at this or a future office hours. 

Inside the World’s Largest Python Course on Coursera

This presentation will take a look at the “Python for Everybody” series of courses on the Coursera platform. This course has impacted over 1.3 million students over the last five years. We will look a the history and goals of the course and how the course works to create a learning community. We will show how the free open educational resources (OERs) and book associated with the course have been used by teachers, students, and courses around the world to form a network of educational activities centered around Python. We will also cover briefly the Tsugi (www.tsugi.org) software that is used to build the learning assessments and distribute the OER materials in a way that enables maximum reusability of the materials for other teachers.

Abstract

Deprecated Tsugi Sub Projects

As you have been hearing on the Tsugi developer list and in my public presentations,  Tsugi is going to build a new approach for adding tools that uses web services rather than a shared database connection across libraries  written in multiple languages.

This means that new environments will be easier to build and support over the long-term and Tsugi will be able to provide a tool environment  that will meet and exceed the privacy requirements of GDPR and similar privacy oriented measures.

The following efforts that I have put together for Tsugi over the years  are now deprecated:

https://github.com/tsugiproject/tsugi-node/blob/master/README.md

https://github.com/tsugiproject/tsugi-node-sample/blob/master/README.md

https://github.com/tsugiproject/tsugi-laravel-sample/blob/master/README.md

https://github.com/tsugiproject/pytsugi/blob/master/README.md

https://github.com/tsugiproject/pytsugi-web2py/blob/master/README.md

I would also recommend that there be no further investment in Tsugi PHP tools that depend on the Silex framework as it has been deprecated and I don’t expect to upgrade it.

If you have built Tsugi PHP tools that are currently working within  Tsugi-PHP – they won’t be broken – what is there currently will be  maintained.  But some of the deprecated bits will be frozen going  forward.  If you are building a new tool before the new development  model is complete, simply build it in generic (non-framework) PHP like the tools in https://github.com/tsugitools

In time I expect to build new sample code in Laravel, Python, and Node that makes use of the Tsugi APIs and services in time.

These deprecations allow me to “clear the deck” to focus on the next  generation and make sure no one starts new work in an Tsugi environment that will not continue to be supported.

Questions welcome.

Sakai 12.5 maintenance released!

(Posted on behalf of Wilma Hodges – Sakai PMC / Community Coordinator)

I’m pleased to announce on behalf of the worldwide community that Sakai 12.5 was released on Nov. 18 and is currently available for downloading [1] !

Sakai 12.5 has 43 improvements [2] including

  • 9 fixes in Assignments

  • 6 fixes in Tests & Quizzes (Samigo)

  • 3 fixes in Gradebook

Other areas improved include:

  • Calendar

  • Chat Room

  • Commons

  • Lessons

  • Membership

  • Messages

  • Polls

  • Portal

  • PostEm

  • Profile

  • Resources

  • Sign Up

  • Site Info

  • Web Services

There were 2 security issues fixed in 12.5 (details will be sent to the Sakai Security Announcements list).

Please also note the upgrade information page [3] for important notes related to performing the upgrade. 2 Quartz jobs need to be run to complete the conversion steps for Sakai 12, including a new one for the Job Scheduler in 12.1.

[1] Downloading information available at – http://source.sakaiproject.org/release/12.5/

[2] 12.4 Fixes by Tool –  https://confluence.sakaiproject.org/display/DOC/12.5+Fixes+by+Tool

[3] https://confluence.sakaiproject.org/display/DOC/Sakai+12+upgrade+information

 

Wilma Hodges, Ed.D.

Sakai PMC – Community Coordinator

Putting Sakai Behind Cloudflare

I love Cloudflare.  I use it extensively for any production server I support.  I use it for https termination, DDOS mitigation, performance improvement for static content, super flexible DNS management and many more things.

In building my support for IMS LTI Advantage I decided I just needed a server that would run a particular tag or branch of Sakai in production for basic testing rather than pushing everything to master and waiting until the nightly server went through the rebuild.

Here are my notes on putting Sakai behind Cloudflare.

– In CloudFlare under “Overview” Make sure SSL is “Flexible” to keep CloudFlare talking on the backend on port 80

– In CloudFlare, under “Crypto” turn on “Always use HTTPS” and “Automatic HTTPS Rewrites”

– In the sakai server in the file ./apache-tomcat-8.0.30/conf/server.xml set up the connector like this

<Connector port="80" 
    protocol="HTTP/1.1"   
    connectionTimeout="20000" 
    scheme="https"  />

This runs an http (port 80) without requiring any key fussing.  Since Cloudflare does the SSL we don’t need it in Tomcat.   See https://tomcat.apache.org/tomcat-7.0-doc/config/http.html#SSL_Support

Interestingly, one thing I did not need to do was adjust the caching for the “/library” urls in Sakai.   Sakai sets all the headers so well that Cloudflare needs no further guidance and neither does the browser.  Just as a simple test, the actual un-cached download for the initial page in Sakai Prior to login is 8.8KB.  That is *KILO-BYTES*.  A normal post-login page in Sakai’s Lessons is 31.4 KB  data transferred. Amazingly low bandwidth usage for an enterprise application like Sakai.

Pretty cool.

Sakai-19 has MVP support for LTI 1.3 and LTI Advantage – Certification is coming soon

I am happy to announce today that Sakai’s master branch has minimum viable product (MVP) for all of the aspects of IMS LTI Advantage.  

We have this code in our code base before the specs are completed and before certification tests are available for LTI Advantage.  Because of the specs and certifications are not available/final, we cannot claim compliance to the specs at this time (October 2018) – all I am announcing at this time is that we have an initial, complete implementation that we will move into certification.

Sakai (and Tsugi) will help IMS test their certifications and reference implementations as they are rolled out and I expect we wil be certified as soon as the certifications are available.

http://www.imsglobal.org/lti-advantage-overview

In short LTI Advantage includes an OAuth 2.0 / JWT security model for launches and services, a names and roles service, and the ability for a tool to make create and manage their own grade book columns.

The LTI Advantage code is already included in Sakai-19.   Any issues identified during certification and interoperability testing with other vendors will be fixed using our normal fix-merge-and-minor-release process – so we will be able to field a 100% certified LTI Advantage implementation in Sakai-19 once IMS finalizes the specs and provides the certifications.

I am excited.   My feeling is the LTI Advantage will be as revolutionary as the initial LTI 1.1 was nearly a decade ago.

https://www.youtube.com/watch?v=akDUM1SXMxE

All the other major LMS systems in the market are making good progress towards LTI Advantage by the end of the year and Sakai will have LTI advantage in the same timeframe as the rest of the market.

This will be a great development for Sakai – since the Advantage APIs cover such a broad scope and all major vendors will be implementing the full range of the APIs, it means that far richer LTI tools can be built without using proprietary LMS-specific extensions.   Other LMS vendors will push tools towards LTI 1.3 / Advantage by making it so that switching to LTI 1.3 is the only way to get access to certain capabilities.

Technical Details

If you are interested in the nerdy details of what it took to make it happen, you can look at the Sakai issue tracker:

https://jira.sakaiproject.org/browse/SAK-40533

The short summary is that while it took me four months to build LTI Advantage for Sakai, the new code is simpler and cleaner than the LTI 1.1 code and far simpler than the LTI 2.0 support in Sakai. As a comparison, I worked on LTI 2.0 in Sakai off and on for three years before it was completed.

Acknowledgements

It is important that I acknowledge the help, support and guidance by the other participants in the LTI Advantage process.   They know much more about this spec than I do and I was able to lean on them as I raced through my implementation and for that I am very thankful.

Thanks to: Claude Vervort / Cengage, Nathan Mills / Canvas, Karl Lloyd / Canvas, Eric Preston / Blackboard, Derek Haskins / IMS, James Risler / IMS, Martin Leonord / TurnItIn, Paul Gray / Learning Objects, and many others.

Making LTI Advantage work on a tight time schedule required an unprecedented trust and sharing of code and best practices between participants.

We knew we were all going to succeed together or fail separately and the the effort was large but also important and transformational.  I for one know I could never have done this without the help I received from the rest of the working group.   So my heartfelt thanks is in order.

Open Apereo 2019 – the Premier Conference for Open Source in Education

Open Apereo 2019 will take place at the Omni Los Angeles Hotel at California Plaza ( http://bit.ly/OpenApereo2019Hotel ) between Sunday June 2nd and Thursday June 6th 2019. Hold those dates!

Open Apereo has a growing reputation as a great conference for learning and networking around open source in education. What makes it great are the volunteers from the Apereo community that bring their priorities and vision into the planning process, ably supported by our outstanding conference planners, Concentra.

If you would like to participate in the planning of the conference, please contact Ian Dolphin of the Apereo Foundation (https://www.apereo.org/content/contact-and-mail-lists).