I am looking for a new job. I have just spent a year in St. John’s Newfoundland on a paternity leave and doing some instructional design and workshop facilitation. My family has now returned to Vancouver. I have fired up my networking engine and have begun to send out emails and contact people I know in Vancouver. One of those people; Troy Angrignon after receiving an email from me asked for me to be more specific to what I was looking for. I know what I am looking for; I’d like a job as a Learning Systems Architect. A formal job description of a Learning Systems Architect doesn’t exist, so I am going to write it myself. After some reflection and some google searches I came across a few web pages that I will use as reference to build this job description;
I knew this day would come. I am beginning the build up of my Moodle Server. I have been watching the LMS / CMS space for a number of years now and I knew I would be taking the leap into an FOSS solution. I’ve always been partial to Moodle for it seemed the purest FOSS available and it has always grounded itself in constructivist pedagogy. What really pushed me to commit to Moodle was this report from Idaho State University. So follow along if you like, I’m starting with the build up of a LAMP server, then I will follow up with the Moodle install… from there who knows. I do know that I have been forming some strong opinions regarding where the VLE should be going.
So everytime I build a new site I start coding in straight html. And
inevitably I come to the point where I am becoming frustrated with the
lack of flexibility html has to build nice looking sites. So, I start
using CSS to get the good looking stuff done. So if your finding that you just can’t get the look
you need, start your readings / learnings in Cascading Style Sheets
(CSS). In the long run a good understanding of CSS will go a long way
for you. And while your at it review some material on good design, I’ve always found Robin Williams books to be right on!
I’ve recently done some investigation about the free blogging
servers. There are a few so take a look around. One thing I
find is important is that you look at a number of other blogs on the
server. I have found porn sites on a few, so be aware.
Choose a blog server that hosts similar content. The two that
have jumped to the forefront are www.blogger.com and www.edublogs.org.
Both of these will work for you… I am beginning to prefer the
edublogs.org better. Mostly because it is focused on educational
blogging and it has two companion blog servers; learnerblogs.org for K12 students and uniblogs.org for University students. I also like the administrative console available with edublogs…
Here is a good site about padcasting. Take the time to listen to the podcast about podcasting…
Just needed to post a link to this site. As many of you know my
fascination with Open Source and Education. Here is more evidence
of the traction it is gaining. This UNESCO site
has a very rich international list of links to other open initiatives
and a great amount of reference material toward the inevitable goal of
global openness to education. May we all have access to
education. Get’s me thinking were is the overlap with any of the end poverty initiatives…
So I was doing some research about blogging and it’s application as a tool for learning. And I came across this great article written by Stephen Downes.
This is a must read for anyone considering the use of blogs within
their class room. What stands out for me in this article is the example
of its use within the grade 5 - 6 classroom and how it is being so
successful at engaging the students. The students are obviously getting
jazzed about publishing their works for the world to see.
All this said I also started thinking about the long tail.
Why? because this article was written over 15 months ago and I am sure
its readership will last for a long time as blogging becomes more
understood and educators look for ways to integrate it into their
classes.
Microsoft Senior managment has made another call for a shared vision.
When you think about it, this is about keeping everyone in the company
moving in the same direction. They have just finished, or almost
finished, shipping a whole lot of new products. And once you ship
you need to know what you are going to do next. Microsoft has now
told their staff what they are doing next. This is excellent!
When you read through this product vision (roadmap) memo you read a
very mature assessment of the current and emerging technology
trends. This should come as no surprise, given the memo was
written by Ray Ozzie of VisiCalc, LotusNotes and Groove fame…
All this said, what I found interesting was the Opportunities section where
seamless experiences were spoken about. I though to myself that
one was missing, SEEMLESS LEARNING. Being bold, I took it upon myself
to write it…
SEAMLESS LEARNING – Enabling you to create, store,
organize, present, consume and interact with knowledge sources of all
kinds; accessing, caching and viewing it anywhere you like regardless
of where the knowledge resides. You should be able to share this
personal knowledge base (or knowledge ecosystem) with all the others
with whom you need to work and learn.
Ray Ozzies memo published by Business Week
if you really want to see the future of learning and curriculum development you need to put a few items together. First, accept the reality that the online world is having a larger impact on the digital natives than your digital immigration status lets you see. Second, accept the fact that our current educational structures are in decay. Third, look at current learning theory and instructional design methodologies combined with current gaming innovations and the crop of media (software) developers coming of age (or already have). Fourth, consider what the next iteration of the Web is. And what do you get, the future of learning.
The way we learn is changing. The current discoveries in regards to how we learn, combined with the deceasing price of computers are on a convergence. Fold this together with the emergence of new learning theories and techniques. The timing of a $100 laptop couldn’t be better. It will be interesting to see the impact of these computers on the young bright minds of the emerging-economic world.
Thanks to one of my co-workers I stumbled across how to get NUnit working with externally hosted App.config files in .NET 2.0 and VS 2005. I wrote test harnesses in NUnit for all the database classes I had developed. The connectionString was stored in the App.config file. Once I figured out that I needed the name of the config file to be the same as the “[appname].dll.config” stored in the “bin/Debug” directory then the NUnit tests worked. Then came the issue of deployment. We have a build server that uses cruisecontrol.net to manage our build and I needed to get the “[appname].dll.config” to be redeployed from my sandbox computer onto the build server. But how to deploy a file targeted for the “bin/Debug” folder. Nice thing about Visual Studio is you can set the property on the file so it gets copied from your project directory to the build server. Nice…
Is the Model View Controller (MVC) a design pattern, a framework or an architecture? I was having a discussion the other day with all of the developers on our team. We were discussing if the MVC was a pattern, a framework or an architecture? I said it was a pattern, two others said it was an architecture and the third said it was a framework. Being a thorough guy, I set out to prove it was a pattern.
I started out by getting definitions of a pattern, a framework, and architecture. This is best done yourself, but this is what I found;
So then I went the the “bible”, Design Patterns by Gamma, Helm, Johnson & Vlissides (Gang-o-Four) to see what they said. They referred the MVC as though it was a pattern, they never explicitly said it was a pattern. They said it was a triad of classes and that when you looked inside the MVC there were patterns. So from this I would not say the MVC is NOT a pattern but an architecture. Then of course I’ve been wrong before…
To date, the biggest conceptual part of test driven development and its unit testing is how do you do this for the UI tier? It’s clearer for me in the data and business tiers due to the use of mock objects and Nunit. But, how should this be done in the UI tier? I found reading through the two following MSDN articles help out considerably;
http://msdn.microsoft.com/msdnmag/issues/05/08/UIPApplicationBlock/
So why pay Microsoft when you can get the tools for free? Currently, I am team lead for a very talented group of people. One of the things the team has agreed to do is embrace eXtreme Programming (XP) and Test Driven Development (TDD). We have been making awesome progress on all fronts. Every day we deepen our understanding of XP and we have solidified our build, test and deploy platform. Having a TDD approach will assist us to become more nimble in meeting our customer needs while ensuring we have a quality product through time. Another interesting thing we are doing is using Visual Studio 2005 (VS2005) and .NET 2.0 for our development platform. Yes, they are in beta, yet we are wanting to embrace the .NET platform for the next major release of our server product so we figured we would jump right into the latest toolset. What we have found is that the OpenSource tools for our TDD work very well in combination with VS2005. We are using; MSBuild, Nant, Nunit, Ndoc, Ncover and CruiseControl, and we hope to integrate FxCop soon. Having all these tools working together will allow us to focus further on the business needs and not the technology implementation (and if our refactoring efforts break anything…) To get better insight into using these tools I do suggest you look at their respective sites and do some further reading, in particular; http://www.codeproject.com/dotnet/tdd_in_dotnet.asp this is an excellent introduction in using Nunit and Mock objects. So, now I get back to the title of this entry, why spend the additional money on the Microsoft Team Services (which provide you the TDD tools) when you can get it for free through OpenSource?
So how cool is that. I was running through one of the new MSDN enterprise application blocks in the debugger (IMHO, the best way to get to know a piece of code). And I was stepping my way through and what do I see but an URL to a blog entry explaining the singleton pattern, and why it was utilized in this particular situation. Some of the best sample code I’ve ever seen…
Evidence toward a trend. Over the last three years I have developed the though that curriculum should be developed once and used by everyone. At this time, on the planet earth, there must be a huge duplication of course material and curriculum. I wonder how many 1st year spanish courses have been developed, and how many more will be developed. Or what about 1st year calculus. The duplication of course material and effort in creating and delivering this material must be staggering. What a waste of Masters and PhD educated peoples time. Why not just develop the course material once and have it shared around the globe? It would all become a part of the creative commons. It could all be a part of a SCORM type standard which uses a UDDI type directory service for the discovery of the course material required by either student or teacher. We can see the beginnings of this with the opencourseware site of MIT. This isn’t a matter of if a global repository of courseware will be available, but when it will be available…
One in every 10 technical books I read is different from the rest. And recently I’ve read some good ones, in general they all lived up to my expectations. These books include;
The book that stood out was titled Agile Database Techniques by Scott Ambler. Why did it stand out? It exceeded my expectations. I was expecting a database book that spoke to normalization, solid lifecycle and building a database schema that could accommodate agile developers. What I got was a book describing agile methodologies applied to database design, development and maintenance. Databases, database administrators (DBAs) and the enterprise culture around database development doesn’t traditionally lend itself to agile methodologies. This book addresses this gap and has chapters dedicated to it. The book is a mature look at how agile techniques can be applied to using relational database technologies within agile development teams. All agile team members should read this book.
So I’ve been teaching a course on ASP.NET. And it’s a funny thing that after all my time spent learning about code behind forms, server side controls and Microsofts’ view of the MVC pattern I can no longer see the benefit of ASP.NET. Just to note I was a huge ASP fan! And certified in four MS certifications. I’m a believer in XML / XSLT and feeding these via business tier (or façade tier) components. All this pushes me into AJAX and Greasemonkey. AJAX is Asynchronous JavaScript And Xml. gMail uses it and so do other popular sites. Its essentially JavaScript acting upon the browser DOM with provided XML data to render the UI. It allows the browser to do things against the server without hitting the submit button. Cool and very, very powerful when you wrap your head around it. Next is Greasemonkey, this is a huge innovation which could render business models ineffective, or so some think. Greasemonkey is best explained by plagerizing the mozzila site, “Greasemonkey is a Firefox extension which lets you to add bits of DHTML (”user scripts”) to any web page to change its behavior. In much the same way that user CSS lets you take control of a web page’s style, user scripts let you easily control any aspect of a web page’s design or interaction.” Either way, the UI is going through another iteration. In my mind, its one of the technologies which changes most frequently. Enjoy the added user experience this iteration is providing.
The rate of technology change is staggering. It’s faster now than it’s ever been. The internet is becoming a utility like our electricity, water works, roads, etc. It’s readying itself for it’s teen years. And you think it’s being a toddler was exciting. Just you wait. OpenSource will become mainstream popular. Keep in mind OpenSource will still only be a teen and in the beginning of its teens at that. What will be really interesting is when OpenSource discovers its place in about five to seven years, just as it becomes an adult. All this technology advancement will force more and more technology infrastructure into becoming utility. It happened to the backbone, it’s happened to TCP/IP, it’s happening to the net, now we are jumping up a level. Applications are also becoming utility; gmail, thunderbird, firefox. The next major step will be identity management and the infrastructure to keep all things personal. This is where OpenSource will begin to make it’s presence felt. People will not want their identity management to be held by anything proprietary. So people will elect something closer to an OpenSource model. What that is, I don’t know. What I do know is the utility applications infrastructure will become a part of our everyday life, like roads and electricty, and it will not be proprietary nor will it be pure OpenSource.