Tuesday, May 6, 2014

Task Force for Teaching Excellence

Along with about 1300 other people I attended the Task Force for Teaching Excellence Symposium yesterday where the report was released. It contains 25 recommendations to the Minister, which are summarized here.

Throughout the day there was great discussion at my table and during the break times. At the end of the day panel members answered questions that had been sent in, the answers to those and other questions will be posted here and on the Alberta Education Twitter account (using the hashtag #InspiringEd).

Unfortunately most of what gets reported on are negative reactions to these recommendations. However you can read the report for yourself, and provide feedback (via a survey, email, or discussion board) by June 5th, 2014.

Friday, May 2, 2014

Automating Chromebook Enrollment with Arduino/Teensy

If you find yourself enrolling large numbers of Chromebooks on your domain, and you don't have students to help, I've written an Arduino program that can expedite the process.

Because many Arduinos (and Arduino clones such my favorite Teensy) can act as a keyboard, they can be programmed to output keystrokes (and mouse clicks) when a button is pushed. In this case a button is connected to ground and pin 2 on a Teensy that is running the following code (this is also available on GitHub).

Edit: The code on GitHub has been updated to allow two buttons using a Teensy or a Trinket, with the additional button for inputting the Wi-Fi passphrase. I've included a demo video of the new version at the bottom of this post.

String email = "example@example.com";
String password = "thisisaweakpassword";
const int enrolButton = 2;

#include <Bounce.h>
Bounce button1 = Bounce(enrolButton, 10); // 10 ms debouce

void setup() {
 pinMode(enrolButton, INPUT_PULLUP);
}

void loop() {
 button1.update();
 if(button1.fallingEdge()) {enrol();} // call the enrol function
}

void enrol() {
 Keyboard.begin();
 Keyboard.press(KEY_LEFT_CTRL);
 Keyboard.press(KEY_LEFT_ALT);
 Keyboard.press('e');
 delay(50); // wait for 50 milliseconds before releasing those keys
 Keyboard.releaseAll();
 delay(2000); // wait for 2 seconds to get the enrol screen
 Keyboard.print(email);
 Keyboard.press(KEY_TAB); //tab to get to the password field
 delay(50);
 Keyboard.releaseAll();
 Keyboard.print(password);
 Keyboard.press(KEY_ENTER);
 delay(50);
 Keyboard.releaseAll();
 Keyboard.end();
}


When you hit the button connected to ground and pin 2, this will send the keystrokes Ctrl-Alt-e and your email and password for enrolling a Chromebook. You'll still manually connect to the Wi-Fi or LAN and click Accept on the licence agreement, but you could probably figure out how to automate that with a few more lines of code here (i.e. using KEY_TAB and KEY_SPACE).

Hopefully this will save you some typing and speed up the Chromebook enrolling process. Let me know if you try this.


Minecraft on a Dell Chromebook

This is what worked on a Dell Chromebook that I tried. It will likely work on other Chromebooks but YMMV.

In order to play Minecraft or use other Java-based programs on a Chromebook, you need to install Linux. However that's not a particularly difficult process thanks to crouton.

Unfortunately it requires the Chromebook to remain in developer mode, meaning you'll need to press Ctrl-d every time you boot it up. As well, is not supported by Google (it may cause hardware, software, or security issues) and may void your warranty.

Make sure you backup/upload any files that are stored locally on your Chromebook before you begin.
  1. Enter recovery mode by holding the esc and refresh keys while you press the power button.
  2. At the recovery screen, press Ctrl-d to reboot into developer mode.
  3. Every time you boot up the Chromebook from now on, you'll need to press Ctrl-d at the "OS verification is OFF" screen. If you "Press SPACE to re-enable" then it will erase the Linux install that we are about to do.
  4. Log in to the Chromebook as usual.
  5. Download crouton from goo.gl/fd3zc.
  6. Press Ctrl-Alt-t to open crosh
  7. Type shell, press enter, and you should be at a chronos@localhost / $ prompt.
  8. To run the crouton install script, type sh -e ~/Downloads/crouton -t unity
  9. It will take a while to run the script and download the files
  10. Answer any questions that the script asks you.
  11. Once that finishes, you can start Linux by typing sudo startunity
You're now running Linux, and you can install software such as Java to run Minecraft.

  1. While still on the Linux side of your Chromebook, press Ctrl-Alt-t to open a terminal window. You should see a prompt that is something like (trusy)username@localhost:~$  where you enter the following commands
  2. sudo apt-add-repository ppa:webupd8team/java
  3. sudo apt-get update
  4. sudo apt-get install oracle-java8-installer
  5. sudo apt-get install oracle-java8-set-default
  6. Make sure you type your password that you entered when setting up Linux, and answer yes to the question about the Java licence.
You can now run Java programs in the Linux install on your Chromebook, which includes Minecraft. If you'd like to use Firefox as a browser on the Linux side, it's as simple as opening a terminal (Ctrl-Alt-t) and typing sudo apt-get install firefox You can also install other Linux games, including the Steam platform.

To start Linux after rebooting the Chromebook (always with Ctrl-d), remember Ctrl-Alt-t then shell then sudo startunity

To switch back and forth between ChromeOS and Linux, press Ctrl-Alt-Shift-Back or Ctrl-Alt-Shift-Forward. Back and forward are the arrow buttons at the top left of your keyboard.

To undo all of this and go back to just a regular Chromebook, reboot and press the spacebar to re-enable OS-verification.