Open Source Contributor
Inbox Zero
Posted by Nathan Garrett | 0 comment(s)
I was able to take several weeks off at Christmas and visit both my and my wife's family. Unfortunately, we weren't able to see my sister (in Virginia) or brother (in South Korea), but we spent time with every other close relative. It was fantastic to just relax for a while, as life has been quite busy.
I've been putting together a conference paper with the early results of my social portfolio tool usage by my class last term. The results are fairly positive, with students voluntarily using it at a very high rate. There's a nice correlation between the final grade and the frequency with which people were viewed by others, meaning that students decided to look at the best peer work.
My tool is a plug-in for Elgg, an open source social networking system. I've been involved in the project for 3 years now, but am considering moving the tool into a stand-alone system. It'd be fairly easy to support single-sign-in from Elgg, and it'd keep me from having to rewrite the plug-in for the 1.2 version of Elgg. The company supporting the tool did a complete rewrite, and I'm not groking some of the design. The community has also been rather disfunctional of late, and coordination with the main devs has always been a source of stress. I really enjoy programming, and am looking forward to redesigning some of the Elgg v.9 stress points. Getting a good set of unit tests in place would make me quite happy.
Posted by Nathan Garrett | 0 comment(s)
This is rather neat. I rated a mention in the Woodbury Annual "State of the Faculty" address (page 6). I particularly like the note about working with all 'modes (and moods) of faculty.' Thanks Vic!
Academic Support
The Faculty Association gratefully acknowledges the great strides the university has made in planning and communication due to its creation of the position of Institutional Researcher. The university is truly fortunate to have filled that position with Nathan Garrett, whose knowledge and educational preparation, boundless energy, keenly clear thinking, unflagging good humor, and willingness to work with all modes (and moods) of faculty seem tailor-made for Woodbury’s needs and aspirations.
Posted by Nathan Garrett | 0 comment(s)
Well, this has been a busy month. Rose came 2 weeks early, weighing in at 7'6 and 20 1/2 long. She and Mom are doing really well, and we're slowly getting used to having a 4-person family.
I've been able to wrap up a bunch of projects over the last 3 weeks, and am possibly going to get a bit of a break this Fall term. This next term will be the first break in a while without extensive school responsibilities. I've been doing the full-time work, full-time school gig for years, so it'll be great to slow down and enjoy weekends at home instead of at the library.
I recently purchased a 2nd-hand 2G iPhone. I'm incredibly impressed with the device. The combination of a Unix sub-system, an awesome display, and WiFi (I don't have a data-plan) make it an incredibly compelling package. The screen is quite usable for reading. I read a lot while we were in the hospital with Rose, as the combination of public wifi and lots of time burping a baby were a good combination.
Of course, the hamstrung OS / Apple restrictions are very frustrating. I don't understand why they couldn't have made it operate as a USB drive, similar to their older iPod line. I jailbroke mine to enable loading on a book reading software, and have been loading of Project Gutenburg texts. Only by jailbreaking, and SSHing into the os as root did I really understand that they have a genuine *nix box. The idea of running Apache on my phone is just very cool.
Now if I can just get the keyboard to buzz a little bit on each keypress, I'll be a happy camper.
Posted by Nathan Garrett | 0 comment(s)
To those who follow such matters, i have uploaded my dissertation proposal (click here), which i hope to defend in the upcoming weeks...
Feel free to critique my work, rate this blog (based on my work), etc.
Enjoy.
Keywords: dissertation proposal
Posted by brian thoms | 2 comment(s)
Posted by Nathan Garrett | 1 comment(s)
Crossposted from http://www.mfeldstein.com/
Is this our modern course management system?

Sitting at a desk, staring at a screen, and punching buttons in a Pavlovian manner works for educational technology nerds like myself. It's an efficient way to transmit information, but it doesn't provide the rich education that liberal arts colleges promise. A college diploma is more than a set of facts; it is a maturing of the entire person through a conversation with other people, theories, and disciplines.
Studio education is used in many design disciplines as a way to bring students into a discipline. Making learning public, these disciplines give us a model for the next generation of educational technology. Rather than worrying about peer learning "leading" to cheating, why don't we think about its power to engage and inspire?

Social software like blogs and wikis work. Claremont Graduate University has been using Elgg, a social software system, to support courses for the last two years.
We've learned that:
Taking these principles, and building on educational theory, I have developed a design theory on how to build social portfolio software. This design centers around three core principles.
A social portfolio should:
Below is a walkthrough of my eportfolio software. It is currently in its 8th major version, and is used by a wide variety of organizations and schools around the world. While still having a ways to go, it helps to demonstrate some of my beliefs about how a portfolio system should work.
link: http://www.vimeo.com/1258170
Elgg and my plug-in are both licensed under the GPL, meaning that anyone is free to download, use, and modify it as they please. People interested in learning more are encouraged to visit my blog at http://conversation.cgu.edu/garrettn/weblog for updates, or to contact me through email at nathan.garrett@cgu.edu.
Flicker Credits:
• Writeable Walls InQbate CETL in Creativity University of Sussex
• 1975: And the Changes To Come
Keywords: eportfolio, wiki
Posted by Nathan Garrett | 0 comment(s)
Posted by Nathan Garrett | 2 comment(s)
Posted by Nathan Garrett | 0 comment(s)
Crossposted from the main Elgg discussion site:
In doing the rewrite on the folio plugin, I came up with some thoughts and guidelines that helped me with its development I am going to include the below in the ReadMe doe included in the zip as well. I would appreciate any input people may have, as this is still very much a” thinking out loud” process for me.
• MVC Framework
o Folio V.7 is the first iteration that has anything like a model / view/ controller design.
o Each table in the database is an object (model). These are stored in mod/folio /object and are all singular in name (page and not pages).
o All object name, aka folio_page, are prefixed with the mod folder name. This could allow for using php’sautoload feature, removing the need to have explicit include statements.
o The model, aka folio_page , has SQL functions for Select, Update, Insert, and Delete.
I kept these using SQL language, aka Update and not edit, to make them easier to remember. I found this made using things very easy. If I wanted to load a User, change their name, and save, then if is the following easy to understand and write 3 lines.
$user = folio_user::SelectWhereIdent(2);
$user->name =”bob”;
$user->Update();
o Selects have multiple forms, but always a SelectWhereIdent(ident) form for easy loading by the table primary key.
o Controls are in the view/ directory. Generic ones are in the names of the object (such as comment.php). More specialized controls are under their main name, e.g. RichEditor.php.
• Html
o Every page hit by a browser is in mod folio html. All Js and css files are in /js and /css . All have a php extension that are turned into js or css thru rewrite rules. This allows a high degree of control over expires headers, using url for full instead of relative paths, and so on.
o The nice thing about this is that we can have standard htaccess rules for all plugins. Anything with /news/title/3 goes to /mod/title/view.php?title=3. Anything with /news/title/3 Bells/edit goes to /mod/title/edit.php?title=3 Bells . Obviously there will still be exceptions, but it would greatly simplify matters.
o Each html page contains as much of the div and layout code that I could factor in there.
• Ajax
o All postbacks go to /ajax folder. As an example, the page edit goes to /mod/folio/ajax/page_update.php . Similar SQL phrases like delete and insert are also used. Part of the Post is a Redirector object. This is used to tell the Ajax page what to do as a result. Standard options include redirecting to another page, echoing a field, and adding a message to display on the next page load.
o The reason I like this setup is that I always know where post backs are being handled, I can have have a high degree of control over the resulting actions, and I can use the save backend for Ajax as well as normal post backs.
• Echo
o The only pages sending non-error output are those in html and ajax . All other are side-effect free to include, all code is safely enclosed in functions.
Posted by Nathan Garrett | 2 comment(s)