Monday, October 10, 2011

Install Ubuntu 11.04 on Lenovo C205 All-in-one PC

Recently I bought myself a low-cost Lenovo C205 All-In-One for home use, and quickly came to hate the Windows 7 Starter version it came installed with. So, I tried to run Ubuntu 11.04 (Natty Narwhal) on it, only to find that graphics support would not work out of the box.

So, looking around, I cobbled together these instructions; I'm posting them hoping it might help out others in a similar situation:

1. Start out by grabbing the Ubuntu Alternate Install ISO disc and burning it to a CD. This provides a text-based install that will get us a running Ubuntu terminal from where we'll be able to install the graphics drivers to get the full-blown Ubuntu.

2. Install Ubuntu!

2. After you finish installation, you should now boot into text mode. If you don't force text mode, you will just get a black screen, or a garbled GUI.

You force text mode by: using the Grub menu (purple screen) that shows up when restarting your computer. Select Ubuntu from the menu, then hit the e key and add the word text to the end of that line. Once you do that, hit b to continue on to booting.

After booting completes, hit CTRL-ALT-F1, and log in using the username/password you gave during installation at the prompt.

3. Once you're logged in, fetch and install the proper drivers. I used some of the steps outlined in http://forum.xbmc.org/showthread.php?t=106898 Of course you need a working Internet connection to do this.

Note: Last I checked, the ATI Catalyst driver version was 11.7; some of the following won't work if for some reason the driver version has changed.

Run the following commands one by one.
 
sudo apt-get install -y dkms

cd ~; mkdir catalyst11.7; cd catalyst11.7

wget http://www2.ati.com/drivers/linux/ati-driver-installer-11-8-x86.x86_64.run

chmod +x ati-driver-installer-11-8-x86.x86_64.run

sudo sh ./ati-driver-installer-11-8-x86.x86_64.run --extract ati

cd ati

sudo ./ati-installer.sh 8.881 --buildpkg Ubuntu/natty

cd ..

rm -rf ati

sudo dpkg -i fglrx*.deb

sudo aticonfig --initial -f

sudo aticonfig --input=/etc/X11/xorg.conf --tls=1

After running all of the above commands, you have to reboot:

sudo reboot

Now, let the normal boot sequence start and lo an behold, graphics should now work! Yay!

Friday, September 30, 2011

Experimenting with Kinect for education

We've had a Kinect at the Center for the last few weeks. Sadly, we've not been able to spend that much time with it (and is also not on the top of our priorities), but clearly see there are a lot of possibilities.

To me it seems that, in regards to educational purposes, Kinect will help out by engaging learners; forcing them to move just fires up some of those lazy neurons. By itself, this clearly brings an advantage to whatever app you hook it up to.

Imagine playing a math game with mouse clicks, vs. a Kinect-based game where you wave your arms, turn, crouch or jump to acheive goals. I think the latter might make reaching learning goals easier than the former. Of course, research has to be done =)

That aside, just getting the thing to work hasn't been that hard; basically there are several libraries out there that form the basic drivers on which developers can build on. The libraries seem pretty stable and work fine, but there aren't too many downloadable examples (or we're having a hard time finding them).

In future posts I plan to offer some updates documenting some of the stuff we've found. Some topics might be:
  • low-level SDKs or libraries that talk to Kinect
  • development stacks (from drivers to graphics/game framework) for Windows, Mac and/or Linux
  • ideas of real-world educational applications to build with Kinect (or showcasing existing ones)
For now, we've covered some of the basics:
  • Windows: installed the available OpenNI + NITE + SensorKinect binaries. On top of that, FAAST. This allowed us to emulate key presses through Kinect gestures. Thus, we can now have Kinect Tetris, Kinect Doom, etc. Interactive but not that innovative =)
  • Linux (Ubuntu): this was a tad harder. Some bits are available as downloadable binaries (and only then for Ubuntu 10.10), but most other require getting a bunch of libraries and then compiling. Not horrific, but not quite straightforward either.  End result: we're a step behind the work on Windows: just the skeleton tracking on some of the sample demos, no app control yet.
  • Mac: coming soon.
Why are we doing this?
I have to say this whole experience is interesting: I have almost zero experience developing native applications on any platform, which is our target audience exactly--students and teachers who want to build things, but need a kickstart (which we would like to provide).

Our goal isn't clearly defined at the moment, but we are confident this (like other technologies we work with) is a tool that will improve learning, or enable different ways of doing so. That might be an obvious statement to make, but part of our job is to actually test and prove it to be so.

And, I'd be lying if I didn't say I'm also having fun. Gladly, that's a part of my job too.

Wednesday, September 28, 2011

New OAI-PMH harvesting application: OAIConnect


Some months ago, I was hired to work on a web application that would grab metadata records from different document repositories (mainly in universities) and join them into a central catalog. This application should:
  • work with OAI-PMH repositories such as DSpace
  • provide faceted search of the harvested items
  • use open source products
  • be itself released as an open source product
The application was to be installed, and used by actual people in a project to harvest educational materials for a research project. That site is available at http://www.educonector.info/

Last week I released the code to the public as OAIConnect. The application can be installed by anyone who can meet some basic requirements (Apache, MySQL and PHP). The application is built on top of Drupal and a host of freely available modules (plus some custom glue), so you can basically extend, restyle and reconfigure it to your liking.

Screenshots
Installer:

Starting page:




Sample record: