Planet Sakai

December 01, 2015

Michael Feldstein

Is Open Education a Movement?

Phil and I had a wonderful time co-keynoting the OpenEd 2015 conference. It was a hoot.

Here is the spectacular graphic depiction of the keynote done by Tracy Kelly from BC Campus:

And here is the post-keynote conversation that we had with the Virtually Connecting gang:

There have also been some other interesting virtual conversations growing around the conference, first over Twitter and now in the blogosphere. Some of the ones worth reading that I have seen so far include those from Maha Bali, Clint Lalonde (parts one and two), Robert Farrow (who also captures some of the tweets), and Robin DeRosa.

Phil and I approached our keynote as analysts because we figured that’s probably the main value that we have to offer. We wouldn’t presume to tell people what open education “should” be about, but given any particular “should,” we’re pretty good at thinking through how to achieve it. For my part of the talk I used the analogy of building the climate action movement because the open education community often speaks of itself in the language of a movement and because I happen to have some experience in that area. And if you read some of the posts I mentioned above, you will indeed see varying degrees of movement language.

But there is an underlying question that really should be addressed explicitly: To what extent is it accurate or useful to think of open education as a movement?

There are several factors to consider, starting with scale of ambition. One of the points that I made early in the presentation is that the degree to which you need a strategy—whether it is a movement organizing strategy or some other kind—depends on the scale of your ambition. Different participants could come to open education with different sized goals: Blog Post2

If your goals are near the bottom of that list, then you don’t need much of a strategy, which means you don’t need (or want) a movement. If your goals are near the top, then you definitely need a strategy and you might need a movement. One of the subtleties of movement building is that you are always trying to move people further along the list from low ambition to high ambition. (Maybe that’s why they call it a movement.) If you’re an open education organizer, maybe somebody comes to your meeting for the first time because she is interested in using OER for her own class. You want to get her hooked. Maybe you want her to try open teaching practices in her own class. And then maybe you want her to show her colleagues what she’s doing and convince them to do the same. And then maybe you want her to organize her colleagues to go to the administration and advocate for college-level support for fostering open teaching practices. And so on. Your goal is to encourage her to move up from the thing that she cares about—the thing that brought her in the door—to the things that you and she both care about. Bigger things that you can only accomplish together. For me, part of what separates an actual movement from movement talk is having a clear ladder of ambition that forms the framework for movement organizing activities.

I want to pick on a widely noted tweet by Jim Groom here because it makes a direct claim on this kind of movement building. He wrote,

There are actually a number of claims packed into this tweet, including that the open education is being equated with OER and that OER is being equated with free, and that free curricular content is being equated with free textbooks. And then there’s the question of what it means for one to be “equated” with the other. Equated is a strong verb. But I want to focus for the moment on his conclusion that, assuming that open education is being equated with free textbooks, “the movement” will be less compelling. I interpret “less compelling” in the context of the scenario I just presented to mean that you (as an open education movement organizer) are less likely to get people to come to your meetings and less likely to get them to climb that ladder of ambition. Is Jim’s claim true? Probably not for educators in the developing world. If you live in a developing nation where the choice for your students is a stark, binary one between free educational resources or none at all, then free curricular materials is not a narrow issue. This probably why the first global declaration on OER was written in Cape Town, South Africa. The question of whether OER are compelling enough to be worthy of attention is a First World problem. But Jim lives in the First World, and there is a legitimate question of the degree to which a focus on OER makes open education more or less compelling to First World educators who might be interested in open education. Let’s look at both sides of it.

I’m going to return to my keynote analogy of climate organizing because, again, it’s something that I have some experience with. A natural gas company is proposing to run a major pipeline through our area. In our local climate change organizing meetings, we have a choice about how much of our time and energy we want to focus on fighting the construction of that pipeline as opposed to, for example, pushing for state-level carbon pricing, fostering local uptake of renewables and energy efficiency, or advocating for fossil fuel divestment. Will a strong focus on the pipeline increase or decrease participation? On the one hand, we have found there are a lot of people in our area who may care about climate change but are less motivated to take substantial and sustained action to prevent it than they are to prevent the construction of a massive pipeline that would carry up to a billion cubic feet a day of pressurized, explosive methane gas near their homes, schools, and parks. There is no question that the pipeline has been a huge driver for our growth. On the other hand, it is also true that if we only talked about the pipeline, if we “equated” climate activism with pipeline activism, then other participants would not show up. (I am one of those other participants.) It’s not an either/or situation and a lot hangs on the meaning of that verb. But on balance, we have had ample evidence that a focus on the campaign to stop the pipeline has done much more good than harm, especially because, while we do focus on the pipeline, we do not equate the campaign goal with the movement goal. We think globally but act locally.

My sense is that a focus on OER can and often does drive participation in open education in a similar way, despite the fact that I don’t yet see a clear, movement-defining ladder of ambition. My sense of #OpenEd2015 is that there was widespread interest in ambitions beyond open textbooks but, lacking a clearly articulated ladder of ambition, there wasn’t a lot of focus on it.

But there is a deeper question related to the appropriateness of the “movement” label for the open education community represented at #OpenEd2015: What’s at the top of the ladder? If free textbooks are not the ultimate goal, than what is? I have yet to hear one clearly articulated. What is open education? How will we know when it has been achieved? I hear movement talk about more radical ambitions, but I don’t know what’s at the top of the ladder. And to the degree that people don’t know what’s at the top, they are less likely to start climbing. Sometimes I think that open education, writ large, is actually the opposite of a movement. It is a critique in the critical theory sense of the word. Maybe the OpenEd community is partly an affinity group for people who feel a deep sense of dissatisfaction with the state of our modern education system. People who feel that it is canned, prepackaged, and dehumanizing for students and teachers alike. They don’t like that courses are often about transmission of content that is packaged up by a corporate entity and sold to students at great cost. They don’t like that large computer systems created by other corporate entities and purchased (or, more accurately, rented) at great cost by the university become the virtual classrooms and shape pedagogical affordances. They don’t like that, in this model, faculty are reduced to repeaters of content and students are reduced to memorizers of content. They believe that these are all related symptoms of larger structural problems in our educational system.They see clearly the things that they don’t like. The better alternative system and means for achieving it are less clear. “Openness” seems to capture the spirit of values that various participants in the community are trying to articulate, so that becomes the banner. But to the degree that OpenEd is fundamentally based in critique, critique is much better at taking things apart than it is at putting them together. And wrapping that critique in movement talk doesn’t change that fact.

If you want a case in point of how wrapping a critique in movement talk will fail to create a movement, look no further than Occupy. What’s the main thing that people remember about it? What’s the first thing that the average person who wasn’t an Occupy protester will tell you about if you ask them to tell you about Occupy? People in tents in city parks. What were they trying to accomplish? I doubt that even one out of ten people can answer that question. And once the tents were packed up, the “movement” disappeared. Oh, there were a few local victories and successor organizations that have done some good, but those mostly exist where very specific goals, e.g., labor contracts, were presented under the banner of Occupy. The successful branches were thinking globally but acting locally. The larger thing just disintegrated, because it was not a movement but a critique of the current global distribution of wealth and the power structures that sustain it. Regardless of the merits of that critique, it had no ladder of ambition or strategy for getting people to climb that ladder. A ladder of ambition is a ladder of a participation. It is a structure for bringing more people together to achieve more ambitious but commonly held goals. There is a reason that the core activity of a movement is called “organizing.”

It is possible to have both critique and movement that are complementary. But they are not the same. I worry that complaints that OpenEd is not sufficiently radical may equate with the complaint that any set of goals that is sufficiently specific enough to form rungs on a ladder of ambition is not sufficiently radical to support the expansiveness of the critique. This is one way that movements commit suicide. But another way is to focus on the instrumental and achievable while taking for granted that you will somehow get around to the bigger goals at some indeterminate time in the future, or that they will take care of themselves. Instrumentalism and aspiration must be connected with a strategy.

OpenEd does not have to define itself as a movement in order to be useful or successful or worthwhile. It could be an affinity group driven by critique. It could be a community of practice. It could be a professional development conference. It could be some mix of those. Those are all fine things to be. It can also be a movement. But to the degree that it wants to be one, then it must be organized around a nested set of increasingly ambitious goals and strategies that are clearly defined and achievable in scope.

The post Is Open Education a Movement? appeared first on e-Literate.

by Michael Feldstein at December 01, 2015 03:41 PM

November 30, 2015

Michael Feldstein

Student Course Evaluations and Impact on Active Learning

The Chronicle has an article out today, “Can the Student Course Evaluation Be Redeemed?”, that rightly points out how student course evaluations are often counter-productive to improving teaching and learning. The article refers to a Stanford professor’s call for an instructor completed “inventory of the research-based teaching practices they use”, but most of the article centers on revised course evaluation tool from a Kansas State University spin-off (the IDEA Center). One of the key problems described is that “administrators often take their results as numerical gospel” as well as faculty misapplying the results.

However they’re used, a lot of course evaluations simply aren’t very good, [IDEA president] Mr. Ryalls says.

But as flawed as they are, faculty members still turn to them as some gauge of effectiveness in the classroom. About three-quarters of instructors use formal evaluations and informal feedback “quite a bit” or “very much” when altering their courses, according to the Faculty Survey of Student Engagement.

One limitation of many tools is that they ask students things they don’t really know. A frequent example: Was your instructor knowledgeable about course content?

There is one additional problem with most student course evaluations that is not explicitly covered in the Chronicle articles – students newly involved in active learning approaches often rate the course and instructor poorly even if they end up learning more effectively. We saw this in our e-Literate TV case study at UC Davis. In a previous post we highlighted how the routine hard work required of students in active learning courses can lead to poor evaluations, but later in the interview student course evaluations came up as a major barrier to improving teaching practices.

Phil Hill: Catherine, especially with even more of a firsthand view, what do you see as the biggest barrier?

Catherine Uvarov: Well, in a way, I was fortunate because I was more a newbie instructor, so I didn’t have like 20 years of experience where I had done it this other way. Just coming in and telling instructors, “Hey, that thing that you’ve been doing for 20 years. You could be doing it better.” They don’t want to hear that. That thing that you’ve been doing for 20 years. You could be doing it better. They have worked very hard over the past 15-, 20-plus years to optimize their instructional methods to the best of their ability within their set of norm practices.

Chris Pagliarulo: And the feedback that they were getting.

Catherine Uvarov: And the feedback, so there is a huge emphasis on student evaluations and how much students like you, which is not really correlated at all with how much they’re actually learning. So, if that’s the only measure of student learning or a student—anything in the class—is student evaluations, then that’s what the instructor is tuning for.

They’re not really figuring out if their students are learning or turning the mirror on themselves and saying, “What can I do to improve my student’s learning?” They’re just saying, “What can I do to make my students like me better?”

Phil Hill: Actually, I’d like you to go a little bit more detail on course evaluations as they’re currently used. I think I heard you say those are more based on, “Do students like me?” So, what do the current course evaluations really measure? What direction does it push faculty?

Catherine Uvarov: In my opinion, the student evaluations are pretty much worthless because the questions that they ask are very generic. It’s like, “Does the person speak loud? Are their visual aids clear?” It’s very generic and bland, and then it gets down to the only question that they really care about—rate the overall performance of this instructor.

What we have found in my flipped class and in any of these where the lecture is changing their style and making the emphasis more on the students, the students are thinking, “Well, I learned all of the material on my own, so the instructor didn’t teach me that material. I’m going to rate the instructor lower because they were not as valuable to me.

Erin Becker: When you make the students do more work, they don’t like you as much, and that hurts your course evaluations, which in turn feeds back in to the incentivization issue.

Marc Faciotti: It’s a challenge. If you’re not thinking about education all day—and most of us have research labs that occupy a lot of time as well (administrative duties and all that type of thing)—so if you don’t have training there, there’s a lot of catching up to do. Most institutions have great resources on campus. There’s people dying here at iAMSTEM to help and to catalyze some of these things. So, seek help, be realistic about how much you’re going to change the first time around, and have kind of a long-term plan for what you’d like to achieve.

Marco Molinaro: I think the biggest barrier we have right now is that the faculty rewards system doesn’t yet take in to account this type of experimentation and doesn’t really promote a faculty member based on the quality of their instruction and the effects that they’ve had on student learning.

Later in the Chronicle article there is a discussion about whether to scuttle student evaluations altogether. I strongly agree with this conclusion:

For Mr. Ryalls, of IDEA, the problems with students’ evaluations shouldn’t scuttle their use altogether. “What drives me crazy,” he says, “is this notion that students don’t know what the hell they’re talking about.” They spend more time than anyone else watching faculty members teach, he says. “Student voice matters.”

The post Student Course Evaluations and Impact on Active Learning appeared first on e-Literate.

by Phil Hill at November 30, 2015 04:51 PM

November 26, 2015

Adam Marshall

WebLearn in the limelight at the University Teaching Awards 2015

The annual University Teaching Awards, co-ordinated by the Oxford Learning Institute, recognise the achievements of staff who are exploring different ways to engage students and help them learn.

Winners and guests assemble in the Milner Room, Rhodes House

Winners and guests assemble in the Milner Room, Rhodes House

This year’s ceremony in Rhodes House on 23rd November was particularly exciting for the increased prominence of digital technologies in the awards. Out of a combined total of 40 awards and grants made by the University’s main divisions, 35% were expressly for the innovative use of new technology. The WebLearn team is justifiably cock-a-hoop, as the University’s virtual learning environment featured in the citations for six of the award winners. Three of these received personal awards for excellence in teaching:

Dr Lynn Robson receives her award from the Vice Chancellor, Prof Andrew Hamilton

Dr Lynn Robson receives her award from the Vice Chancellor, Prof Andrew Hamilton

Dr Lynn Robson (Faculty of English & Regent’s Park College) uses the Forum tool to support self- and peer-review in her teaching of Shakespeare. These strategies are new to the teaching of Shakespeare at Oxford, and Lynn makes the forum a mandatory starting-point for class and tutorial discussions. She has been able to facilitate a deepening of students’ engagement.

Ms Christine Eckhard-Black (Language Centre) was honoured for her outstanding contribution to the teaching of German over 35 years. She has been a pioneer in the use of WebLearn and other digital resources in her language courses.

The eight-strong Bodleian Education Library team used technological solutions to help students find items on their reading lists and to cite and reference sources correctly in their work. These solutions include using files from the Mendeley reference management tool to build reading lists in WebLearn for each course.

Our three other ‘WebLearn’ winners received grants for projects to improve teaching and learning.

Prof Howard Hotson (Faculty of History & St Anne’s College) aims to transform teaching through objects. He will use one of the special subjects in History (on 17th-century science) to show how a new platform within WebLearn will enable teachers to make high-resolution digital images of texts, objects and artworks available to students.

Mrs Kirstie Vreede, Dr Damion Young and Prof Quentin Sattentau (Medical Sciences Division & Magdalen College – Prof Sattentau) have received funding to develop WebLearn in order to 1) decrease the administrative burden in collecting students’ feedback and 2) increase the return rates of online feedback. This project has the potential to benefit other divisions too.

Miss Lettitia Derrington (Department for Continuing Education) received a project grant to develop a WebLearn tool that will be made available across the University for the online induction of postgraduate students.

Dr Lucy Tallents receives her second certificate as an OxTALENT winner

Dr Lucy Tallents receives her second certificate as an OxTALENT winner

Members of staff who won the teaching-related categories in this year’s OxTALENT competition were also feted on Monday evening, They included Dr Lucy Tallents (WildCRU,  Zoology & Linacre College) whose innovative online course in statistics for wildlife conservationists came top in the WebLearn category.

Damion Young, Lettitia Derrington and the Education Library team have also received OxTALENT awards in recent years.

Warm congratulations to all of these WebLearn colleagues!

You can read more about the University Teaching Awards ceremony in the Week 8 issue of Academic IT News.

Portions of this article have been adapted from a report on the ceremony on the University’s News and Events page, from information on the OLI’s Teaching Awards page and from the awards ceremony programme.

Credits for all photographs: IWPHOTOGRAPHIC.

by Liz Masterman at November 26, 2015 01:33 PM

November 24, 2015

Michael Feldstein

New Visual From LISTedTECH Shows LMS Market By New Implementations

Justin Menard and his team at ListEdTech have produced a great new visual on the LMS market in North America. Using his wiki-based data with 4,000+ institutions, he shows the percentage of LMS implementations per year (scaled to 100% for each year). While we are used to seeing LMS market share in terms of number or percentage of institutions using each LMS as primary system, this view highlights the dynamics of the market – which systems are getting adopted. See original post for full chart and additional description.


A few notes:

  • We’ve come a long way since the days of simple bar charts for market data.
  • Keep in mind that this data shows new implementations and not LMS decisions, per se. If a school goes through an RFP process and selects their current vendor, this data will likely not show up as a new implementation.
  • Also keep in mind that while 4,000 institutions is impressive, it is not exhaustive and not bias-free. Read this as the best data available on new implementations, painting a picture of trends in the market. Note the description at the bottom of Justin’s post on limitations of the data.
  • We have covered at e-Literate that Blackboard’s Moodle-based clients are growing in number (over 1,400 as of this fall), especially outside of the US. But note that this growth is not occurring in North America.
  • The dominant player in the market is obviously Canvas. As of last year (and I expect that 2015 will be even stronger for Instructure, maker of Canvas), Canvas has more North American new implementations that Blackboard, Moodle, and D2L combined. We have not seen this dominance of new implementations since Blackboard back in the 1998 – 2002 years when the market was a land grab.
  • Notice how Blackboard, WebCT, and ANGEL are all colored shades of blue – based on Blackboard’s acquisition of the other two companies. This allows you to also see the combined company effect.

More description of the data in the original post.

The post New Visual From LISTedTECH Shows LMS Market By New Implementations appeared first on e-Literate.

by Phil Hill at November 24, 2015 01:15 AM

November 20, 2015

Apereo Foundation

POET Joins Apereo; Names Executive Director

Target URL

POET Joins Apereo; Names Executive Director

POET names Mike Churchward as Executive Director and engages with the Apereo Foundation to assist in the organizational setup through their incubator program.

by MHall at November 20, 2015 08:04 PM

POET Joins Apereo; Names Executive Director

Target URL

POET Joins Apereo; Names Executive Director

POET names Mike Churchward as Executive Director and engages with the Apereo Foundation to assist in the organizational setup through their incubator program.

by MHall at November 20, 2015 08:04 PM

November 18, 2015

Adam Marshall

Presenting WISE


The WISE team have given presentations at the recent Sakai 2015 virtual conference. Sakai is the open source software which powers WebLearn. Amongst the presentations by colleagues were:

1) On the Journey: developing templates
Steve Burholt and Xavier Laurent show how they have been working with faculties and departments to develop course templates.
YouTube video of the presentation

2) Active learning session – Student pages in the Lessons tool
Lucy Tallents facilitates a live session to explore the use of student pages.
YouTube video of the presentation

3)  Lessons: a tool for instructors and students, transforming user experience
Fawei Geng shows the potential in the Lessons tool.
YouTube video of the presentation

by Stephen Burholt at November 18, 2015 01:53 PM

November 17, 2015

Adam Marshall

WISE designs

Departments and faculties across the University have been busy launching their revamped WebLearn sites. The screenshots below show the variety of front page designs.

For more information including larger screenshots, see the project website.

Image of WISE pilot group sites as of November 2015

by Stephen Burholt at November 17, 2015 03:08 PM

November 15, 2015

Carl Hall

Requiring External Resources Before Attempting JUnit Tests

If you have an integration test that requires external resources to be available, like a local DynamoDB server, that test should be skipped rather than fail when the resources aren’t there. In JUnit, this can be accomplished by throwing an AssumptionViolatedException from an @BeforeClass method, or better yet, with reusable ClassRules. A ClassRule runs like […]

by thecarlhall at November 15, 2015 01:14 AM

November 14, 2015

Carl Hall

Integration Testing with DynamoDB Locally

One of the really nice things about using DynamoDB to back an application is the ability to write integration tests that have a good test server without trying to mimic DynamoDB yourself. DynamoDB_Local is available from AWS and is easily incorporated into a Maven build. Take a look through the documentation for running DynamoDB on […]

by thecarlhall at November 14, 2015 11:32 PM

November 12, 2015

Ian Boston

What do do when your ISP blocks VPN IKE packets on port 500

VPN IKE packets are the first phase of establishing a VPN. UDP versions of this packet go out on port 500. Some ISPs (PlusNet) block packets to routers on port 500, probably because they don’t want you to run a VPN end point on your home router. However this also breaks a normal 500<->500 UDP IKE conversation.  Some routers rewrite the source port of the IKE packet so that they can support more than one VPN. The feature is often called a IPSec application gateway. The router keeps a list of the UDP port mappings using the MAC address of the internal machine. So the first machine to send a  VPN IKE packet will get 500<->500, the second 1500<->500, the third 2500<->500 etc. If your ISP filters packets inbound to your router on UDP 500 the VPN on the first machines will always fail to work.  You can trick your router into thinking your machine is the second or later machine by changing the MAC address before you send the first packet. On OSX

To see the current MAC address use ifconfig, and take a note of it.

then on the interface you are using to connect to your network do

sudo ifconfig en1 ether 00:23:22:23:87:75

Then try and establish a VPN. This will fail, as your ISP will block the response to your port 500. Then reset your MAC address to its original

sudo ifconfig en1 ether 00:23:22:23:87:74

Now when you try and establish a VPN it will send a IKE packet out on 500<->500. The router will rewrite that to 1500<->500 and the VPN server will respond 500<->1500 which will get rewritten to 500<->500 with your machine IP address.

How to debug

If you still have problems establishing a VPN then using tcpdump will show you what is happening. You need to run tcpdump on the local machine and ideally on a network tap between the router and the modem. If you’re on Fibre or Cable, then a Hub can be used to establish a tap. If on ADSL, you will need something harder.

On your machine.

sudo tcpdump -i en1 port 500

On the network tap, assuming eth0 is unconfigured and tapping into the hub. This assumes that your connection to the ISP is using PPPoE. Tcp will decode PPPoE session packets, if you tell it to.

sudo tcpdump -i eth0 -n pppoes and port 500

If your router won’t support more than 1 IPSec session, and uses port 500 externally, then you won’t be able to use UDP 500 IKE unless you can persuade your ISP to change their filtering config.

by Ian at November 12, 2015 03:16 PM

November 09, 2015

Sakai Project

NYU Steinhardt Uses Sakai for Professional Development

Target URL

NYU Steinhardt Uses Sakai for Professional Development

The Steinhardt School of Culture, Education, and Human Development at NYU hosted its first Course Innovation Grant program supporting the development of technology-enhanced courses.

by MHall at November 09, 2015 11:43 PM

Sakai 11 PA System Tool

Target URL

Sakai 11 PA System Tool

The PA System tool, available in the upcoming Sakai 11 release, provides application administrators with the ability to deliver customizable system-wide or targeted alerts to users in their Sakai instance.

by MHall at November 09, 2015 11:42 PM

Apereo Foundation

Conference Report: HEC Montreal 2015

Target URL

Conference Report: HEC Montreal 2015

Conference Report: HEC Montreal - Oct. 2, 2015 : "L'éducation supérieure à l‘ère du logiciel libre. Partage d'expériences en France, au Québec et à l'international."

by MHall at November 09, 2015 11:28 PM

Sakai Project

NYU Steinhardt Uses Sakai for Professional Development, Course Innovation Grant

The Steinhardt School of Culture, Education, and Human Development at NYU hosted its first Course Innovation Grant program supporting the development of technology-enhanced courses.

by MHall at November 09, 2015 11:25 PM

November 08, 2015

Apereo OAE

Apereo OAE celebrates Diwali!

This week, Marist College is celebrating the annual Festival of Lights, Diwali, a sacred holiday to the Indian culture. Throughout the week, the Marist campus we will be having an Indian cultural exhibit, artifacts display, photographs, jewelry, and clothing. In addition, students will be demonstrating cultural art forms like Rangoli and mehendi (henna hand painting) along with bindi and tilak application. The week will be culminated with a closing celebration that will include a fashion show featuring models in Indian apparel, as well as Indian cuisine, music, and dancing.

"In my position at Marist College, I have had the honor of supervising numerous international graduate students from all over India and I have enjoyed learning from them and celebrating their culture." says Dede Hourican, Senior Support Specialist within the Academic Technology & eLearning office at Marist College. " It is very exciting for our community to be embracing this important cultural event with them making our students feel a little bit of their home. In 2013, I was lucky enough to travel to India and see many historic places including the Taj Mahal in Agra, Uttar Pradesh, India. The experience was amazing and has helped me understand the beautiful culture even more. In an effort to expand Indian cultural awareness and the collaboration between institutions, my students, colleagues and I have been working to make OAE a place where Indian students and others celebrating Diwali around the world can share their stories, pictures, videos and more. "

Apereo OAE celebrates Diwali

To join the "myDiwali Celebration", select your institution, sign in using your institutional credentials and click "Join group". If you are sharing your celebrations on any social media sites, please use #mydiwali #my(insert your campus name).

November 08, 2015 04:46 PM

October 09, 2015

Dr. Chuck

Coursera Face-to-Face Office Hours, Bletchley Park, October 31, 2015

I am pleased to announce that the next face-to-face office hours for my Coursera Python for Everybody and Internet History, Technology, and Security courses will be at:

Location: Bletchley Park, Hut 4 Cafe
Date: Saturday, October 31, 2015, 3PM-4PM

This office hours will be a little different than usual. I want to encourage everyone to arrive at Bletchley Park early in the day and spend the day taking tours, visiting exhibitions and generally enjoying the park. This one of is the last days of the “Imitation Game” exhibition – so I want to see that.

I myself will be arriving around noon and spending the entire afternoon wandering around so if you come early we can run into each other. Then at 3PM we can meet up in the Hut 4 Cafe for some face-to-face time and perhaps some tea.

If you are planning to attend and would not mind, please give me your name and email in case I need to email any updates regarding the plans for the visit using the following form:

I am looking forward to meeting you at Bletchley Park.

Here is a link to my collection of office hours videos:

Here is a video from one of my other visits to Bletchley Park

by Charles Severance at October 09, 2015 09:16 PM

September 30, 2015

Dr. Chuck

A Mersenne_Twister Implementation in PHP

I am confused. I found this great Mersenne_Twister implementation to compensate for the fact the at mt_srand() and mt_rand() don’t generate predictable sequences since PHP 5.2.1. From

The Mersenne Twister implementation in PHP now uses a new seeding algorithm by Richard Wagner. Identical seeds no longer produce the same sequence of values they did in previous versions. This behavior is not expected to change again, but it is considered unsafe to rely upon it nonetheless.

What confuses me is that I cannot figure out where I found this code. In my notes have it at in the comments – but I cannot re-find that comment on mt_srand() entry – perhaps it was deleted.

So that it is not lost, I reproduce it here.

class Mersenne_Twister
  private $state = array ();
  private $index = 0;

  public function __construct($seed = null) {
    if ($seed === null)
      $seed = mt_rand();


  public function setSeed($seed) {
    $this->state[0] = $seed & 0xffffffff;

    for ($i = 1; $i < 624; $i++) {
      $this->state[$i] = (((0x6c078965 * ($this->state[$i - 1] ^ ($this->state[$i - 1] >> 30))) + $i)) & 0xffffffff;

    $this->index = 0;

  private function generateTwister() {
    for ($i = 0; $i < 624; $i++) {
      $y = (($this->state[$i] & 0x1) + ($this->state[$i] & 0x7fffffff)) & 0xffffffff;
      $this->state[$i] = ($this->state[($i + 397) % 624] ^ ($y >> 1)) & 0xffffffff;

      if (($y % 2) == 1) {
        $this->state[$i] = ($this->state[$i] ^ 0x9908b0df) & 0xffffffff;

  public function getNext($min = null, $max = null) {
    if (($min === null && $max !== null) || ($min !== null && $max === null))
      throw new Exception('Invalid arguments');

    if ($this->index === 0) {

    $y = $this->state[$this->index];
    $y = ($y ^ ($y >> 11)) & 0xffffffff;
    $y = ($y ^ (($y << 7) & 0x9d2c5680)) & 0xffffffff;
    $y = ($y ^ (($y << 15) & 0xefc60000)) & 0xffffffff;
    $y = ($y ^ ($y >> 18)) & 0xffffffff;

    $this->index = ($this->index + 1) % 624;

    if ($min === null && $max === null)
      return $y;

    $range = abs($max - $min);

    return min($min, $max) + ($y % ($range + 1));

I also wrote a PHP Mersenne_Shuffle() function called that produces a predictable shuffle using the Mersenne_Twister().

function Mersenne_Shuffle($arr, $seed=-1)
    if ( $seed == -1 ) return $arr;
    $mt = new Mersenne_Twister($seed);
    $new = $arr;
    for ($i = count($new) - 1; $i > 0; $i--)
        $j = $mt->getNext(0,$i);
        $tmp = $new[$i];
        $new[$i] = $new[$j];
        $new[$j] = $tmp;
    return $new;

Why PHP chose to break this in the name of progress I don’t understand. Ah well. Here is the workaround. If I need to acknowledge someone – let me know.

by Charles Severance at September 30, 2015 04:13 PM

Using git subtrees in Tsugi

I am starting to build PHP and Java implementations of my Tsugi libraries and I want to share the static content (JavaScript, CSS, etc) between them all so they all are effectively testing the same core code as much as possible and I don’t want to change things two places. Here are my repos:

I toyed with submodules – but adding “–recursive” to all “git clones” seemes icky and it seemed ike “git pull” in the world of submodules was clunky – I did not even bother to figure it out before I gave up on submodules.

Goodbye git submodules hello git subtrees.

I read these blog posts to learn up:

Conviently in the modern version of git – it knows how to blast submodules so undoing my use of sub modules was a simple matter of:

git rm static
git push

Of course my repo was broken at this point so I quickly needed to add the static folder back as a subtree in with these commands. Note that I did not do the “remote-add” and just put hte full URL if the repo in place of the remote on the subtree commands. I will add the remote if I start pushing from tsugi to tsugi-static.

$ git subtree add --prefix=static/ master
git fetch tsugi-static master
warning: no common commits
remote: Counting objects: 159, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 159 (delta 3), reused 0 (delta 0), pack-reused 150
Receiving objects: 100% (159/159), 1.14 MiB | 0 bytes/s, done.
Resolving deltas: 100% (31/31), done.
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> tsugi-static/master
Added dir 'static'

$ git push
Counting objects: 160, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (125/125), done.
Writing objects: 100% (160/160), 1.20 MiB | 0 bytes/s, done.
Total 160 (delta 32), reused 149 (delta 30)
   55ec2c7..87c5f1d  master -> master
0587388153:tsugi csev$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

Just to be sure I putched my clone and re-cloned tsugi and poof! My static content was there in a folder just like I like it – no –recursive required.

On to the git pull when the subtree repo is updated..

In general I will make changes in a separately checked out version of tsugi-static, push them up there and then do a pull into tsugi using these commands. It is a merge – but as long as you keep your local copy of the subtree clean – it is a trivial merge. Of course then you need to push to origin master since subtrees have a full copy of the subtree in the repo:

$ git subtree pull --prefix=static master
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 3 (delta 2), reused 3 (delta 2), pack-reused 0
Unpacking objects: 100% (3/3), done.
 * branch            master     -> FETCH_HEAD
Merge made by the 'recursive' strategy.
 static/ | 8 --------
 1 file changed, 8 deletions(-)

$ git push origin master
Counting objects: 5, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 858 bytes | 0 bytes/s, done.
Total 5 (delta 2), reused 0 (delta 0)
   87c5f1d..6397cb5  master -> master

And that is all there is to it.

This tricky subtree pull is only for the repo that pulled in the subtree initially. Any forks of that repo are unaware that the “static” folder is a subtree and for them “git pull” updates both the repo and the subtree automatically.

by Charles Severance at September 30, 2015 01:40 PM

September 29, 2015

Apereo OAE

Apereo OAE Kingfisher is now available!

The Apereo Open Academic Environment (OAE) project is proud to announce a milestone release of the Apereo Open Academic Environment; OAE Kingfisher or OAE 12.

OAE Kingfisher is one of the most significant releases of the Open Academic Environment software and includes many new features geared towards making OAE a truly global system that is capable of connecting the whole of academia. Next to these features, OAE Kingfisher also includes significant improvements to the search experience, the ability to delete and archive users and many usability improvements and bug fixes.



The most important new feature in the Kingfisher release is the ability for users to invite anyone in the world to a group, content item or discussion using an email address. While it used to be a requirement for a person to have an account before they could be invited into collaborations, the invitation feature now opens the door to including anyone you want to work with and truly pushed towards the OAE vision of creating a connected and global network for academic collaboration.

When invited users can be matched to an existing tenancy and institution, they will be invited into that tenancy and will be able to collaborate from their institutional account. When invited users can't be matched to an existing tenancy, they will be invited into a "Guest" tenancy.

Multi-tenancy improvements

Apereo OAE now offers support for 1,000s of tenancies and institutions on a single installation, allowing for collaboration between people at a large number of institutions all around the world. In order to support this, OAE Kingfisher includes a wide range of general performance improvements as well as various improvements to the administration interface.


Email verification

Users signing up for a new account or users coming in through an authentication source that does not provide a verified email address are now required to verify their email address before they are able to use the system. This will ensure a much higher level of trust in OAE accounts and the people you collaborate with and reduces potential abuse.

Similarly, existing users changing their email address will also need to go through the email verification workflow before their changes take effect.


Up until OAE version 11, searching through the OAE would return results that encompass everything you're allowed to see, including results from the institution you're a member of and public results. While being able to search and discover across the entire network is one of the unique features of the OAE software, it sometimes caused results from the collaborations you're directly involved in to be buried.

Therefore, OAE Kingfisher offers a significantly enhanced search experience in which it is possible to toggle between results from only the groups, content items and discussions you're involved in, results from your institution or results from the entire network. This should make it much easier to find the specific items you're looking for, while still making it possible to cast a wider net and discover interesting groups, people, content items and discussions throughout the network.

Navigation improvements

OAE Kingfisher introduces a number of navigation improvements, which should significantly enhance the overall experience. For example, a better top navigation has been put in place for mobile devices and users now automatically land on their personal activity feed when going to the system, resulting in less clicks overall and more direct access to the information they're looking for.

Delete users

OAE Kingfisher makes it possible for tenant administrators to delete users, allowing for inactive or unused user accounts to be removed from the system. Deleted users are not removed from the system entirely though, but are archived instead and all of their groups, content items and discussions are retained. Therefore, deleted user accounts can be re-activated by an administrator at any point in time.

Try it out

OAE Kingfisher can be experienced on the project's QA server at It is worth noting that this server is actively used for testing and will be wiped and redeployed every night.

The source code has been tagged with version number 12.0.0 and can be downloaded from the following repositories:


Documentation on how to install the system can be found at

Instruction on how to upgrade an OAE installation from version 11 to version 12 can be found at

The repository containing all deployment scripts can be found at

Get in touch

The project website can be found at The project blog will be updated with the latest project news from time to time, and can be found at

The mailing list used for Apereo OAE is You can subscribe to the mailing list at

Bugs and other issues can be reported in our issue tracker at

September 29, 2015 04:46 PM