Author Archives: Charles Severance

Pedagogy: Early experiences

I have been teaching for almost a week now – this is how I am using Sakai/CTools.
Assignments – this tool is awesome – it fits my workflow for assignments nicely without too many features. I like the following features: (a) The dates to show, open, and close the assignment, (b) the attachment functionality and the fact that files are *not* viewable in the Resources tool, (c) the ability to add an announcement and calendar entry automatically, (d) the ability to get mail as students submit and the ability to get mail only once per day if I want, (e) the richness and flexibility of the grading workflow – I like to grade as the assignments come in – sometimes if we are doing an assignment in a lab I grade the moment the assignments come in.
The only think I would is to add a “show me the assignments that have been handed in but not yet graded” – effectively a “to do” view – I grade quickly and continuously. As I make my way through the grading – it gets hard to find the students who have submitted but I have not graded yet ungraded submissions. The sort on graded/ungraded and the sort on submission date are *close* but not perfect. I would hate to have 400 students in a course and try to hunt through to find the ungraded submissions. This is a very small shortcoming in an overall very nice tool.
Chat – I initially thought this was pointless for the purposes of me interacting with the students – but the students love it to interact with each other during lecture – the help each other out and probably say things like “this prof sucks” :) I am not sure I will find an important use for myself.
Wiki – I made it student-writable – I am trying to get the students to become a “Village” helping each other out and the Wiki would be perfect for this – but frankly Wiki syntax is a non starter for casual use. HTML would be better :( We will see how it goes. For me, to author, I think I will just use Word and PDF. Maybe in time I will learn to like the Wiki.
Syllabus – I found this useless I did not want to paste everything into a bunch of little fields – I just did a word document and put it up under resources. Even the redirect feature failed because I had a PDF – a Web Content tool pointing at the PDF named “Sylllabus” would have been better. Ultimately I put it under Resource and used notification to send out a note.
Resources – Wow – I love the 2.4 resources tool – Harriet, Jim and the other folks that worked on this – it is awesome. Common tasks are done quickly and naturally with little clicking or scrolling – the screens are simple and uncluttered and well suited to the common tasks. The Resource helper is also nice – until I started using it, it felt a bit unwieldy – but the common attachments task workflow moves quickly with all the focus near the top of the screen.
The lack of the page-order tool in the UM CTools installation is still very frustrating – this is a wonderful tool. My left hand side is already getting kind of ugly looking with things just jumbled together in the default order – I really would like to put the most important tool at the top and change names of things to try to give the students an understanding of what is important and what I put there for their benefit. Any one who says that tool order needs to be controlled by thin institution to make tech support easier – Grrrrrr. I cannot imagine that is statement is *ever* true – and not letting me change page order really cramps my style.

Reformatting an Averatec 3700 / AV3751-EH1 purchased from Sams

Notes for Installing Averatec 3700 (actually AV3715-EH1 purchased from Sams Club) From Scratch
I inadvertently messed up my restore partition on my Averatec 3700 so I had to start with a fresh Windows XP :( Also Averatec is a pain in the arse to deal with for out of warranty stuff – I really wanted restore disks but was not about to navigate their tech support maze for out of warranty stuff. ALso I had another working system that I tried to sup using ghost – no luck.
So out come the Windows XP disks and the Averatech tech support web site – they nicely do provide drivers for older hardware – this is great – withouit the sitre I would have been doomed.

Continue reading

Blog Entry from my PDA

It just occurred to me that I could simply use the web browser to post blog entries directly. Since the blog software is pretty light bandwidth wise it works Ok. So this means my blog will be even more like a kitty-blog journal. This week I am off to Heerlen NL to visit the Open University of NL and then on Wednesday I am off to Tilburg NL to participate in the Ticer Digital Libraries ala carte 2007 course and then back Saturday. I am typing this as the door closes on my flight from Newark to Amsterdam.

OzzFest – Detroit

I am on the bus to the airport at 7:15 AM entoute to Open University of the Netherlands and the Ticer Digital Libraries course in Tilburg, NL. I am pretty foggy due to lack of sleep (no alcohol was involved). I was at OzzFest with Brent yesterday.
Pictures and Video
OzzFest is amazing – it is like a controlled explosion – it is like a real festival – starts at noon and goes to midnight with about 10 bands – finishing up with Ozzy Osborne.
We had a good time – early in the day they do less well kinown bands at the second-stage and there is a continuous mosh pit – you come and go as you like and get as close as you like / dare. We watched two bands with rest periods in between. We got close to a mosh pit – about four layers of people away – at one point a dude came flying out in our general direction and scattered the people and almost knocked us all down. Just close enough to get a sense – not so close to be in any dnager.
We moved at a slow pace because of Brent’s crutches so we walked and sat a lot.
As the day moved into evening, we switched to the main stage – five great bands -I kept in my earplugs 50% of the time to make sure I could hear Ozzy :). We had great seats with good sight lines – and thank heaven we were not on the lawn.
Ozzy was great – all in all a great way to spend the last day o summer vacation.
The bus is pulling up to Detroit Airport so I have to cut this short.

This is great fun – Future Casting – Education 2020

Take a look at this – it is very fun and cool.
rtsp://educause.rmod.llnwd.net/a680/o1/edu2020.rm
I like the “out of the box” thinking this video makes me think about.
My problem is that its hypothesis is that teaching and learning will become increasingly about technology and not about humans. I just don’t believe this.
My problem is that what we need to know is always increasing – so just at the moment that we think that we have the perfect BA degree on a CD – things change and we need to know more – the world and society and technology is constantly changing – we always need to understand the newest and latest and that which is only emerging at this moment or the day after tomorrow.
The only thing that can teach us that which is not yet known – is a human – frankly we all learn at the edge of knowledge together and then write down what we learn for others to follow and clarify.
But other than this problem of ever-expanding knowledge – the video is a blast to watch.

Ruby Fun

Well I figured out a few things.
How to make a ruby app set up to use sqlite3
rails app-name -d sqlite3
How to properly install sqlite3’s dll – put it in ruby/bin
How to check to see if you have a gem installed
gem list sqlite3
I am working towards a nice simple version of rails that will run on Windows and Mac from a USB stick.
On the Mac, I am happy with Locomotive. On Windows – I like InstantRails – but do not like MySql as the database.
The SQLite browser is dang cool and dang simple to install on both mac and PC.
http://sqlitebrowser.sourceforge.net/
Textmate is a very very fun editor for the Mac and Rails. It instant-installs right from Locomotive. Sweet.
On the PC – I like e-texteditor http://www.e-texteditor.com/
The dang sweetest thing so far is
After running
ruby script/generate model Thing
And making a simple database migration script like this:
class CreateThings < ActiveRecord::Migration def self.up create_table :things do |t| t.column :key, :string t.column :value, :string end end def self.down drop_table :things end end Then run this: ruby script/console And type this: x = Thing.new x.key='123' x.value = 'fred' x.save Absolutely sweet - able to interact with the ORM from the command line - dang dang dang. Hib can eat its heart out. I still am confused as to why folks don't use SQLite3 all the time for simple stuff - like for teaching. These one-click installers should all use SQLite3 IMHO. Also I wonder why people ever use anything other than migrations using the DB-independent syntax to populate/organize tables. Urg. It is too bad that the ruby / rails stuff does not put consistent line-ends in place. Some things work in vi others fail in notepad.exe - ah well - a good reason to get a sweet editor like TextMate or e-texteditor - and pay for them. TTFN - time to go buy some more 1GB USB sticks and a USB-2 controller.

Ruby – First (almost) disappointment

When you are learning a new language, when something is different often the first reaction is that it is bad – after all we fear change.
As I was learning about Ruby objects, I was learning that all members variables are private and that the only way to get at the variables was through setters and getters. I got used to setters and getters when I went from C++ to Java – it has always bugged me that I had to add 10 lines of code and 8 lines of comments just to access a dang member variable the “cool Java” way.
With one of the tenents of Ruby is to dispense with unnecessary cruft – “convention versus configuration” I was surprised when all the books immediately introduce setters and getters right away. I would have thought that there would be a simple way to do this – code like this bothered me:
class Thermo
def set_temp(x) # a setter
@temp=x
end
def get_temp # a getter
@temp
end
end
And they described this in books as if this was a *good thing*. To me it was crap and too much “me-tooing” Java patterns – it was the absolute antithesis of “convention not configuration” – it was overblown syntax – something I hoped to get away from in Ruby – but here in Chapter 3 – was creeping cruft – when would it end? And with this crufty syntax needed for *every* member variable – as far as I was concerned – Ruby was already a failure at delivering on “convention not overblown wasteful, repetitive, and redundant syntax”. Grr. I was only a few weeks into the new language.
So I started reading my five Ruby books and looking in the indexs and searching for things like “ruby sucks” and “ruby setters and getters suck” in Google and trying to learn if there were others as peeved about this as me. I found some peeved folks – and even some folks peeved about this issue. But somewhere along the line I got a clue.
Actually I had a clue all along – ActiveRecord does *not* use the setter/getter pattern faux-Java style – and since ActiveRecord is written in Ruby – it must be doing something much niftier than faux-Java setters and getters. You just refer to
thermo.id
Not
thermo.get_id thermo.set_id(1234)
To get the Id of an active record object – I liked that – how do they do that? So the hunt was on.
By the way there needs to be a newbie list where people like me can ask dumb questions like this and get a boot to the head to quickly learn this stuff. Like dummies@ruby.org or some such.
So I was sure there was a better idea – there was hope. I will bypass all the pages that I waded through until I found this one.
http://www.ruby-doc.org/docs/UsersGuide/rg/accessors.html
It shows two patterns of setters that make a LOT of sense – far more sense than the drivel above. I will switch to his code here:
class Fruit
def kind=(k)
@kind = k
end
def kind
@kind
end
end
f2 = Fruit.new
f2.kind = “apple”
f2.kind
Now that is a sweet syntax – particularly when accessing and setting the member variable. Kind of like C++ again – operator overloading – a nice clean syntax that allows me to do things “in context” – working with the compiler as my pal rather than pounding it with syntax as in Java (sorry – still a little bitter about the loss of operator overloading when I left C++ five years ago).
Of course – Ruby does this one better below.
This *is* “convention over configuration” – or at least “don’t repeat yourself”. “Don’t repeat yourself” is a very important concept in programming as it keeps us from making transcription mistakes. So the super-sweet Ruby-regains-absolute-advantage syntax is as follows:
class Fruit
attr_accessor :kind
end
f2 = Fruit.new
f2.kind = “apple”
f2.kind
Ah – I am back happy with Ruby again – no wasted moves – all graceful – like a ballet dancer – I can express what I want in a concise syntax that clearly communicates my intent to the future reader of the code. And if I want to add a little “special stuff” to my setter – simply drop back to the attr_reader and do my own setter as in the previous example.
Whew! I was kind of grouchy with Ruby for a few hours – but I am feeling better now – and in addition the Ruby approach is am improvement beyond C++ and Java IMHO – simple syntax for simple situations with the option to go deeper using more syntax only when there is a real need.
Also I got a little back on the operator overloading front… Cha-Ching.
Let me know if there is a mailing list to help me get through these mental blocks more easily.