Abstract: Building Reusable Learning Content and Tools

Increasingly faculty need to build educational materials that can be reused and repurposed across a wide range of learning environments. In the “old days”, faculty would dust off last semester’s PowerPoint, fix a few typos, upload it to a campus learning management system like Sakai or Canvas, and walk into lecture. Increasingly, our learning content includes course assignments, specialized software to help with assessments, video materials, formative assessments, supporting materials, etc. And for each course, on each LMS, you needed to upload and format your content and place it into a “course shell”. But now at many campuses, there may be several learning platforms and one or more MOOC platform like Coursera. It is a lot of work to re-author your course content in three or four learning platforms. But with the widespread adoption of LMS interchange standards like IMS Learning Tools Interoperability, IMS Common Cartridge, and IMS Content Item, we should be able to author content once and easily integrate into as many learning platforms as needed. This talk will explore research into developing easy to use learning object repositories and learning application stores that enable this “write once – use anywhere” model of learning content development.

Speedy Amazon EC2 Compile for Sakai

This is mostly my own notes in my attempt to find a quick developer / compile option for Sakai.

TL;DR – An EC2 c4.2xlarge with the right .bashrc settings is a very fast compile box for Sakai.


Check out my Sakai scripts:


Put in all the pre-requisites – make sure to run the qmv.sh script once to get the maven repo cache
warmed up before doing timing.

Base Line

My baseline is my own MacBook Pro with quad processor i7 2.8 Ghz, with 1TB SSD, and 16GB RAM. I played with the last line in the qmv.sh to change the number of threads in use using the “-T” options.

mvn -T 4 -e -Dmaven.test.skip=true -Dmaven.tomcat.home=$tomcatdir $goals

Compile time:

1 thread - 4:08
2 threads - 2:47
4 threads - 1:52

Testing on Amazon

AWS – c4.2xlarge, 15G RAM, 8 CPUs, 31 “ECU Units”, EBS

Setting the MAVEN and JAVA OPTS to -Xms4096m -Xmx4096m

Compile time:

4 threads 1:25

Setting the MAVEN and JAVA OPTS to -Xms8192m -Xmx8192m

Compile time:

6 threads 1:17
8 threads 1:18

For future testing we might look at less expensive per hour boxes but this certainly is fast enough for Sakai development at $0.40 per hour.

Teach Out – Internet and You – Week of October 30

I would like to welcome you to join Doug van Houweling and I for a 1-week Teach Out event the week of October 30. The title is “Internet and You” as we look at the past, present, and future of the Internet and how it touches us. We will look at social impact, changing technologies, public policies around the Internet, and anything else you want to bring up. Doug and I have access to experts that we can bring into the sessions to make sure we get good answers to your questions and issues that you raise.

You can sign up for the course at:


There is no charge for the Teach Out.

We will have three live events, Monday, Wednesday, and Friday the week of October 30 that will will also record and put up in the Coursera platform. We will provide many opportunities for you to submit questions, concerns, and your ideas in the forums and via video. You don’t have to attend the live sessions as we will record them and put them up in Coursera immediately.

A “Teach Out” is an online version of a “Teach In” from the 1960’s:


From a MOOC perspective this is like a short, live, interactive version of my “Internet History, Technology, and Security” course on Coursera:


I hope to see you there.

Abstract: Implementing Standards Compliant Learning Applications with Tsugi

Submitted to: IMS Learning Impact – May 21-24, 2018

Tsugi (www.tsugi.org) is a software framework that reduces the effort required to build standards compliant applications and integrate them into a Learning Ecosystem

There is an expectation that standards will propel us from and LMS-centric view of educational technology to an Ecosystem-view of educational technology. I think that one of the critical elements of this new ecosystem is “app stores” that are smoothly integrated into LMS and other systems. But before we have an App store, someone needs to determine how to define the rules to build an app that “fits” in the store. Tsugi (www.tsugi.org) is doing research in defining how to build learning apps in a way that they can be deployed in an app store.

Tsugi has the potential to greatly accelerate the development of thousands of rich tools to support LTI/Content Item/Caliper, etc without requiring that each developer separately understand the fine details of each specification. This empowers developers at all skill levels to build educational apps.

Fixing Surging Generator – BlackMax 414CC / 5700 Watt / Honda GX 390

Several years ago I purchased a Black Max 5700 Watt Generator with a 414CC Honda GX390 Engine so I could power my house during power outages. I bought it at Sam’s Club. I love the generator – it was small enough to move around and just large enough to run my whole house while keeping gas consumption low. I wanted 30 amps of 240 volts so I could run everything.

But it had a surging problem. If you are in a hurry, here is a video of the before and after:

Here is the detail on what happened.

Bad News – Surging – Warranty Useless
As soon as I turned it on, it would not idle. Unless it was under load, it would surge because it could not idle. The governor would notice it was about to stall and then give it gas – then slow it down, and it would almost stall and over and over again every second.

Under load the governor opened up the butterfly a bit and it would maintain RPMs nicely for hours. I was ticked off that this brand new generator could not idle. So I contacted Black Max and told them I had just bought it days ago and it surged. They told me that their warranty covered everything *except* the engine. They gave me a number to call about the engine. When I called the engine warranty number – they effectively said – I had not bought the engine from them and so I would have to work through Black Max. I called back Black Max and hit a wall. Lesson learned – if crap is broken as purchased – take it back to where you bought it – right away.

The workaround
But since I liked the generator so much I found a “hack” where I would use the choke to keep the revs up while it was not under load and then it worked well enough to get me through two power outages.

But then we had a winter with no power outages and so I wanted to run the engine for a while to warm it up, clear out the carbs, and get rid of condensation in the oil. I run all my engines a minimum of 30 minutes per year every year in the Fall.

Since it was warm, my choke trick did not work. If I choked it – the engine would not run – and if I let it surge for more than 10 minutes, the surging would get worse and choke itself out so bad that it would be hard to start afterwards.

This is for a unit that was well maintained with fresh gas, fuel stabilizer, and non-Ethanol gas when it was stored. It had a total of 20 hours and looked brand new.

Ah Ha! Buy a new Carburetor

The engine was running so bad that I wondered if some gum had built up – or perhaps there was just a manufacturing defect in the carb – and I figured a new carb might just fix this.

So I searched and searched for a L09 120621 D11866 carb but to no avail. But I got close and figured out that the engine is a Honda GX390 and found replacement carburetors for that.

It looked like Amazon had a carb that was almost perfect. The new carb had a fuel shut off valve that was not present on my old carb, and it did have an idle adjustment – which I liked. For < $15 I ordered one to see if I could make it work. When it arrived, the size was perfect - all the things like the choke extension, and the throttle to governor connection were exactly the same. 02-both-carbs

The only weird bit was the incoming fuel like for the new carb was 3/16″ and the incoming fuel line for the original carb was 1/4″ – so I picked up an adapter from a local parts store.


I put it all back together, adapted the fuel lines and started it up. It was easy to adjust the idle and minimum speed adjustment and stop it from surging.

Check out the above video for the pre-and-post.

Meeting: Building Open Source Educational Technology Applications

My research area is building open source educational technology that uses standards to integrate into learning management systems like Canvas, Sakai, Blackboard, Moodle, Desire2Learn, and others. If you have taken any of my on campus or Coursera classes you have used tools built using my www.tsugi.org technology.

The educational technology marketplace is at an interesting juncture where nearly 100% of the teaching is done using features built into entreprise-wide LMS systems like Canvas or Sakai. But the expectation is that more and more of the educational technology components will be assembled by teachers using smaller “apps” from some kind of educational technology app store. My research aims both at improving current generation LMS systems like www.sakaiproject.org and Canvas as well as lay the foundations for this “Next Generation Digital Learning Ecosystem” that will be more app-based and more under control of the teachers.

If you have any interest in working with me to create this new edtech Ecosystem, I encourage you to come to an orientation meeting:

Meeting: Open Source Educational Technology Research
Date: Tuesday September 26, 2017, 4-5PM
Room: 1243 North Quad

Depending on the interest at the meeting, we will come up with a plan of action. I might be convinced to run a weekly meeting or hold a hackathon / contest if there is enough interest. I have some funds to support this work and may be hiring one or more students to help me with my work if there is a shared interest.

You are welcome to just come and ask questions. Please send me E-Mail if you have any questions.

Chuck’s “TV” Career – 1994-2000

It is a long time ago, but I was once on TV nationwide talking about the Internet:


The whole thing happened because my late friend Rich Wiggins and I had as a friend a named John Liskey who was a reasonably high executive in the TCI cable organization. The three of us ended up at the bar in the early 1990s where Rich and I would tease each other about the emerging Internet technologies. Rich was always the logical NYT-reading academic (who never even finished his BS) and I was the pragmatic grumpy alpha coder (who ultimately got a PhD.) that knew the real world. So we would have spirited debates at the bar. John would sit and watch and say “these conversations should be on TV”.

So in 1994, John got TCI to hire camera folks, studio folks, a director and editor and we taped a monthly show that was sent (on tape) to the TCI affiliates in the major markets which showed each show 10-20 times per month on the “local origination” channel.

It started in 1995 But the cable companies were in a feeding frenzy in the late 1990’s so each time the Lansing / East Lansing market was sold to some other company, we had to rename the show – but John just went to the new company and kept us in production and on the air. Our shows were:

Internet: TCI
Nothin’ but Net
North Coast Digital

In 1995-1996 – we were avant garde. We won two national awards in 1995. We won a “Michigan Cable Emmy” and predated TechTV and Leo Laporte by 3 years. We were first on the scene but as soon as TechTV came on the scene with 24-hour programming and national distribution our days were numbered. We kept producing on a less-than-once-per-month schedule through 1999 and our last effort was to try to become reporters for TechTV:

TechTV Audition Tape

Our audition tape was viewed TechTV – but by 1999 – the “Old Guy Nerds on TV” was not front and center for their programming. They wanted to feature young good looking people talking about video games. So we had no chance. Interestingly, the future for Leo Laporte was no longer on TechTV either and he went on to create his own show on the Internet.

So it was a fun time – and a good time to teach me how to talk to a camera and think on my feet.

My Internet History, Technology, and Security course on Coursera and video based column in IEEE Computer magazine was a way to revive my collection of material from those early days in the mid-1990’s.

Secretly I just want to be the Anthony Bourdain of tech :)

How I build Open Textbooks

I am often asked how I build textbooks. I am a little weird in that I am radically open and refuse to use a commercial service or any non-open software. I prefer a line-oriented format in github,using open software and a process that I run myself.

The best example of how I write open books is here:


I write my books in Pandoc Markdown


I do pay for and use OmniGraffle for figures (InkScape is free – but super hard to use):


I export the figures export them to SVG and EPS:


Then I use pandoc (which uses LaTeX) to produce PDF and epub


Then I upload the PDF to CreateSpace and the epub to Amazon and it is auto-converted to mobi:


This is perhaps a more complex process that using Word, pressbooks or gitbook but I prefer a pipeline that I completely own and control and can adjust. Other methods are easier – I prefer control ownership and introspection over ease of use.

The worst not-spam DNS Verification Email Ever – DreamHost / raa.name-services.com

I am putting this post up as a public service since most of the results on the web are wrong for this topic.

Lately I have been moving a few domains to DreamHost because they have a super simple and 100% free way to use LetsEncrypt certificates on my domains.

This is my first experience with DreamHost and I am super impressed with the simplicity of their management UI, the competence of their tech support, and their free LetsEncrypt Certificates. I can have SSL even on domains that are only a HTTP redirect (I have a lot of those).

Transferring Domains

When you transfer a domain, there are lots of emails that go back and forth. Most of those make perfect sense sense. But there is one mail you get *after* the transfer is complete that completely looks like spam but turns out to be essential.

The mail is from enom@dreamhost.com (not what the DreamHost documentation claims) and has a subject line of:

IMMEDIATE VERIFICATION required for masteringpython.com

And the text looks something like this (yes the question marks are there).

Fran?ais  Italiano  Portugu?s  Espa?ol  Deutsch  Polskie  Srpski

As of January 1, 2014, the Internet Corporation for Assigned Names
and Numbers (ICANN) has mandated that all ICANN accredited registrars
begin verifying the WHOIS contact information for all new domain
registrations and Registrant contact modifications.

The following Registrant contact information for one or more of
your domains has not yet been verified:

You are supposed to click on a link to raa.name-services.com to verify the domain. Here is a screen shot of the mail.

My “WOAH THERE THIS MUST BE SPAM” detector went off like crazy. I Googled around a bit and many folks felt it was Spam. So I just deleted them and went about my day.

TL;DR This message is not spam

Somewhat later I went into my DreamHost account and saw this under Domains -> Registrations


So I resent the mail and the spam-like message immediately showed up. At that point I should have just assumed it was not spam. But just to be sure I talked to DreamHost tech support and they verified it was OK.

I clicked on the verification link to raa.name-services.com in the email and it said “thanks” – and then after about 60 seconds the “need to verify” message went away in my DreamHost UI.

So this message is legit. It is an interesting question as to the possible harm that we do when legit messages look so much like spam and then turn out not to be spam. It took me 3 weeks to figure this out.