🔖 The Google Scripts and Web Site Code to run a blogging CMS with a Google Sheets

Bookmarked StewartJohn/GoogleSheetsCMS (GitHub)
The Google Scripts and Web Site Code to run a blogging CMS with a Google Sheets. Check out the site here: https://stewartjohn.github.io/GoogleSheetsCMS/d19/

Hat tip:

👓 GitHub for Atom | github.atom.io

Read GitHub for Atom (github.atom.io)
The GitHub package brings Git and GitHub integration right inside your editor! Now you can switch or create branches, stage changes, commit, pull and push, resolve merge conflicts, view and checkout pull requests and more.

Extension of the Insights » Posting Activity functionality

Filed an Issue Automattic/jetpack (GitHub)
Increase your traffic, view your stats, speed up your site, and protect yourself from hackers with Jetpack.

I’ve been enjoying the idea that JetPack is providing a Github contributions-like functionality at https://wordpress.com/stats/insights/example.com under the heading Posting Activity.

Orderly grid of squares representing dates which are grouped by month with a gradation of colors on each square that indicate in heat map fashion how frequently I post to my website.

Seeing this naturally provides me some additional motivation to post more often, which is generally a good thing for the platform. It also dovetails in visually with the “you have posted X days in a row” notifications sent by the mobile app.

I’m sure it all may be on the roadmap somewhere, but in case it’s not I thought I’d leave a few ideas about continuing to extend this awesome functionality and related UI features.

  • It would be nice to be able to display more than one calendar year of activity. Perhaps a tabbed UI could provide access to prior years while still being relatively compact? (This could be similar to “All Time Views” just below it which has button (aka tab) options for “Months and Years” or “Average per Day”.
    A visual representation of the button/tabbed functionality for "All Time Views" described in the text.
  • While hovering over a particular square representing a date provides some useful information like the number of posts on a particular date, it would be awesome if clicking on that date would take one to the correct archive page for that date. This is not too dissimilar to from GitHub’s functionality and the permalinks for each day should already exist in core. Example: https://example.com/2019/04/17 to show all of that day’s posts.
  • Similar to the functionality for posts, it would be interesting to have a similar set up for comments to allow sorting through those visually as well.
  • It would be awesome to have all of the above rolled up into a widget that would allow one to post the visual data for several months and/or years visually on a sidebar, footer, or other widgetizeable area. This also provides site readers the ability to quickly jump to a particular date and/or set of posts much like the Archives widget allows, but with a more visual interface.
  • If there is a widget, while I’m sure that many will love the blue WordPress-based color scheme, many will want to key their colors off of their theme as a customizable widget option.
  • Given the infrastructure for creating a lot of the above functionality, one could go a half step further and create an “On this Day” feature similar to that of Facebook, Timehop, and many others which allow one to create archive page views for what happened on this same day a year ago, two years ago, three, four, etc. This could be wonderfully useful for a wide variety of sites to look back at birthdays, anniversaries, and red letter dates as well as the average Tuesday. To my knowledge there is only one old plugin that I was able to find after some serious search that has somewhat similar functionality: Room 34 presents On This Day. There is also some similar functionality like this recently built into the Post Kinds Plugin which creates archive views for several date-based permalinks. This would be all the better if there is a better API for such an endpoint so that it could be tied into third party platforms like Timehop which are overly focused on social sites like Facebook, Twitter, Google, etc., but which could include WordPress-based websites.

Also as I post this, and as I’m thinking the functionality is relatively new, I notice that my JetPack enabled .org site only has Posting Activity that goes back to mid-October 2018 (despite the fact that it should go back much further), while my wordpress.com site has data that goes far back beyond that date. Is this a potential bug, or could it be the case that my self-hosted site hasn’t been parsed back far enough to cover more time yet? It may also be related to the fact that I’ve recently (this week) disconnected and reconnected JetPack to do some troubleshooting.

🔖 The influence of collaboration networks on programming language acquisition by Sanjay Guruprasad | MIT

Bookmarked The influence of collaboration networks on programming language acquisition by Sanjay Guruprasad (Massachusetts Institute of Technology)

Many behaviors spread through social contact. However, different behaviors seem to require different degrees of social reinforcement to spread within a network. Some behaviors spread via simple contagion, where a single contact with an "activated node" is sufficient for transmission, while others require complex contagion, with reinforcement from multiple nodes to adopt the behavior. But why do some behaviors require more social reinforcement to spread than others? Here we hypothesize that learning more difficult behaviors requires more social reinforcement. We test this hypothesis by analyzing the programming language adoption of hundreds of thousands of programmers on the social coding platform Github. We show that adopting more difficult programming languages requires more reinforcement from the collaboration network. This research sheds light on the role of collaboration networks in programming language acquisition.

[Downloadable .pdf]

Thesis: S.M., Massachusetts Institute of Technology, School of Architecture and Planning, Program in Media Arts and Sciences, 2018.; Cataloged from PDF version of thesis.; Includes bibliographical references (pages 26-28).

Advisor: César Hidalgo.

URI: http://hdl.handle.net/1721.1/119085

I ran across this paper via the Human Current interview with Cesar Hidalgo. In general they studied GitHub as a learning community and the social support of people’s friends on the platform as they worked on learning new programming languages.

I think there might be some interesting takeaways for people looking at collective learning and online pedagogies as well as for communities like the IndieWeb which are trying to not only build new technologies, but help to get them into others’ hands by teaching and disseminating some generally tough technical knowledge. (In this respect, the referenced Human Current podcast episode may be a worthwhile overview.)

❤️ staeiou tweet: GitHub pages template supporting CV-style content for academics

Liked a tweet by Stuart GeigerStuart Geiger (Twitter)

More academics should definitely try this out! For those who might need help or support, check in with the community via chat or find resources at https://indieweb.org/Indieweb_for_Education
#academicsamizdat

The Sixth “R” of Open Educational Resources

The 5 R’s

I’ve seen the five R’s used many times in reference to the OER space (Open Educational Resources). They include the ability to allow others to: Retain, Reuse, Revise, Remix and/or Redistribute content with the appropriate use of licenses. These are all some incredibly powerful building blocks, but I feel like one particularly important building block is missing–that of the ability to allow easy accretion of knowledge over time.

Version Control

Some in the educational community may not be aware of some of the more technical communities that use the idea of version control for their daily work. The concept of version control is relatively simple and there are a multitude of platforms and software to effectuate it including Git, GitHub, GitLab, BitBucket, SVN, etc. In the old days of file and document maintenance one might save different versions of the same general file with increasingly different and complex names to their computer hard drive: Syllabus.doc, Syllabus_revised.doc, Syllabus_revisedagain.doc, Syllabus_Final.doc, Syllabus_Final_Final.doc, etc. and by using either the names or date and timestamps on the file one might try to puzzle out which one was the correct version of the file that they were working on.

For the better part of a decade now there is what is known as version control software to allow people to more easily maintain a single version of their particular document but with a timestamped list of changes kept internally to allow users to create new updates or roll back to older versions of work they’ve done. While the programs themselves are internally complicated, the user interfaces are typically relatively easy to use and in less than a day one can master most of their functionality. Most importantly, these version control systems allow many people to work on the same file or resource at a time! This means that 10 or more people can be working on a textbook, for example, at the same. They create a fork  or clone of the particular project to their personal work space where they work on it and periodically save their changes. Then they can push their changes back to the original or master where they can be merged back in to make a better overall project. If there are conflicts between changes, these can be relatively easily settled without much loss of time. (For those looking for additional details, I’ve previously written Git and Version Control for Novelists, Screenwriters, Academics, and the General Public, which contains a variety of detail and resources.) Version control should be a basic tool of every educators’ digital literacy toolbox.

For the OER community, version control can add an additional level of power and capability to their particular resources. While some resources may be highly customized or single use resources, many of them, including documents like textbooks can benefit from the work of many hands in an accretive manner. If these resources are maintained in version controllable repositories then individuals can use the original 5 R’s to create their particular content.

But what if a teacher were to add several new and useful chapters to an open textbook? While it may be directly useful to their specific class, perhaps it’s also incredibly useful to the broader range of teachers and students who might use the original source in the future? If the teacher who forks the original source has a means of pushing their similarly licensed content back to the original in an easy manner, then not only will their specific class benefit from the change(s), but all future classes that might use the original source will have the benefit as well!

If you’re not sold on the value of version control, I’ll mention briefly that Microsoft spent $7.5 Billion over the summer to acquire GitHub, which is one of the most popular version control and collaboration tools on the market. Given Microsofts’ push into the open space over the past several years, this certainly bodes well for both open as well as version control for years to come.

Examples

A Math Text

As a simple example, lets say that one professor writes the bulk of a mathematics text, but twenty colleagues all contribute handfuls of particular examples or exercises over time. Instead of individually hosting those exercises on their own sites or within their individual LMSes where they’re unlikely to be easy to find for other adopters of the text, why not submit the changes back to the original to allow more options and flexibility to future teachers? Massive banks of problems will allow more flexibility for both teachers and students. Even if the additional problems aren’t maintained in the original text source, they’ll be easily accessible as adjunct materials for future adopters.

Wikipedia

One of the most powerful examples of the value of accretion in this manner is Wikipedia. While it’s somewhat different in form than some of the version control systems mentioned above, Wikipedia (and most wikis for that matter) have built in history views that allow users to see and track the trail of updates and changes over time. The Wikipedia in use today is vastly larger and more valuable today than it was on its first birthday because it allows ongoing edits to be not only improved over time, but those improvements are logged and view-able in a version controlled manner.

Google Documents

This is another example of an extensible OER platform that allows simple accretion. With the correct settings on a document, one can host an original and allow it to be available to others who can save it to their own Google Drive or other spaces. Leaving the ability for guests to suggest changes or to edit a document allows it to potentially become better over time without decreasing the value of the original 5 Rs.

Webmentions for Update Notifications

As many open educational resources are hosted online for easy retention, reuse, revision, remixing, and/or redistribution, keeping them updated with potential changes can potentially be a difficult proposition. It may not always be the case that resources are maintained on a single platform like GitHub or that users of these resources will necessarily know how to use these platforms or their functionality. As a potential “fix” I can easily see a means of leveraging the W3C recommended specification for Webmention as a means of keeping a tally of changes to resources online.

Let’s say Robin keeps a copy of her OER textbook on her WordPress website where students and other educators can easily download and utilize it. More often than not, those using it are quite likely to host changed versions of it online as well. If their CMS supports the Webmention spec like WordPress does via a simple plugin, then by providing a simple URL link as a means of crediting the original source, which they’re very likely to do as required by the Creative Commons license anyway, their site will send a notification of the copy’s existence to the original. The original can then display the webmentions as traditional comments and thus provide links to the chain of branches of copies which both the original creator as well as future users can follow to find individual changes. If nothing else, the use of Webmention will provide some direct feedback to the original author(s) to indicate their materials are being used. Commonly used education facing platforms like WordPress, Drupal, WithKnown, Grav, and many others either support the Webmention spec natively or do so with very simple plugins.

Editorial Oversight

One of the issues some may see with pushing updates back to an original surrounds potential resource bloat or lack of editorial oversight. This is a common question or issue on open source version control repositories already, so there is a long and broad history of for how these things are maintained or managed in cases where there is community disagreement, an original source’s maintainer dies, disappears, loses interest, or simply no longer maintains the original. In the end, as a community of educators we owe it to ourselves and future colleagues to make an attempt at better maintaining, archiving, and allowing our work to accrete value over time.

The 6th R: Request Update

In summation, I’d like to request that we all start talking about the 6 R’s which include the current 5 along with the addition of a Request update (or maybe pull Request, Recompile, or Report to keep it in the R family?) ability as well. OER is an incredibly powerful concept already, but could be even more so with the ability to push new updates or at least notifications of them back to the original. Having the ability to do this will make it far easier to spread and grow the value of the OER concept as well as to disrupt the education spaces OER was evolved to improve.

Featured photo by Amador Loureiro on Unsplash

Reply to Greg McVerry on changing themes from GitHub

Replied to a post by Greg McVerryGreg McVerry (INTERTEXTrEVOLUTION)
Just updated @dshanske 2016-IndieWeb theme, didn’t use GitHub plugin, will be too hard for students, instead it was backup, switch themes, go into file manager>wpcontent>themes and delete, then reupload, activate. If you want autoupdates use SemPress but it wasn’t bad

Might be easier for them to do it through the admin ui located at /wp-admin/themes.php

  1. Change temporarily to another theme
  2. Delete old version of theme by clicking on it and then clicking on delete in the bottom right corner of the pop-up/modal
  3. Click Add New button at top
  4. Click Upload Theme button
  5. Select and upload the .zip file they downloaded from GitHub (or other location)
  6. Activate the updated theme

Fortunately needing to update themes doesn’t happen often. If you’re using a GitHub theme then be sure to “watch” the repository on GitHub and enable email notifications for it so that you’ll see any future updates, issues, or ongoing work to know about needing to update in the future.

Hint: this workflow could also be used to upload the theme from an external source in the first place.

👓 GitHub Is Microsoft’s $7.5 Billion Undo Button | Bloomberg

Read GitHub Is Microsoft’s $7.5 Billion Undo Button by Paul Ford (Bloomberg.com)
Steve Ballmer spent years hating on open source software. Satya Nadella recognized that the service has become indispensable to programmers.

A nice analysis piece about the GitHub purchase for the non-technical. It highlights the fact that a nice and simple UI can be worth its weight in gold.

👓 What are people using GitHub for besides coding? | InfoWorld

Read GitHub for the rest of us by Jon Udell (InfoWorld)
Git made it possible for programmers to coordinate distributed work across teams -- now GitHub makes it possible for everyone else

GitHub’s acquisition by Microsoft this week has many people writing about what GitHub is and how it could be used and leveraged by a larger institutional company. Jon Udell, who thinks a lot about annotation and and highlighting, has an excellent piece here (from 2015) that touches on some excellent forward-thinking pieces. Some of it is reminiscent to an article I wrote back in 2014: Git and Version Control for Novelists, Screenwriters, Academics, and the General Public. I’m hoping that in the coming years that the user interfaces for projects like these improve to make version control a more ubiquitous tool.

👓 Microsoft + GitHub = Empowering Developers | The Official Microsoft Blog

Read Microsoft + GitHub = Empowering Developers (The Official Microsoft Blog)
Today, we announced an agreement to acquire GitHub, the world’s leading software development platform. I want to share what this acquisition will mean for our industry and for developers. The era of the intelligent cloud and intelligent edge is upon us. Computing is becoming embedded in the world,...

Not quite the pablum of the GitHub version of this announcement, but still in the same general ballpark. This one at least had some additional detail on things moving forward.

👓 A bright future for GitHub | GitHub

Read A bright future for GitHub (The GitHub Blog)
Together, GitHub and Microsoft will work to make software development easier, more accessible, more intelligent, and more open.

Definitely a PR article

👓 Microsoft has reportedly acquired GitHub | The Verge

Read Microsoft has reportedly acquired GitHub by Tom Warren (The Verge)
Deal could be announced on Monday

I suspect many are going to be surprised at how much Microsoft has been into open source while they’re still thinking this is the monopolist of the past.

Read doesn’t have an option to facepile in discussion settings

Filed an Issue pfefferle/wordpress-semantic-linkbacks (GitHub)
More meaningful linkbacks

It looks like the new “read” functionality for mentions automatically facepiles them anyway, but I’ve noticed that the settings at /wp-admin/options-discussion.php#semantic_linkbacks doesn’t include a checkbox for reads.

This really isn’t an issue (at least for me), but you may want to be aware of it or tweak it for parity’s sake.

📺 Git Tutorial 5: Branches (Create, Merge, Delete a branch) | YouTube

Watched Git Tutorial 5: Branches (Create, Merge, Delete a branch) by codebasics from YouTube
In this tutorial, I'll cover a very powerful feature of git called branch. I will show you how you can manage alternate versions of your code by creating separate branches, how to merge branches and delete them.