April 9th, 2008

Synergy has worked well for me over the last couple days, but setting up the connection (although not difficult) required a few steps that I’ve tried to streamline.

The following setup is based on a synergy configuration similar to the following.:


section: screens
    desktop:
    laptop:
end
section: links
    desktop:
        right = laptop
    laptop:
        left = desktop
end

BTW, desktop and laptop are arbitrary names I’ve selected for clarity.

Automatically start the synergy server after logging in to gnome on the “desktop” computer to which the mouse/keyboard is physically connected as follows:

  • Go to Main Menu -> System -> Preferences -> Sessions
  • Under Startup Programs click Add
  • In the Edit Startup Program dialog enter the following command to start the synergy server: synergys -n desktop

Since synergy traffic is plaintext, I forward the communication through ssh from my laptop as described in the Synergy documentation. I also use ssh to communicate with my desktop computer for other purposes, so I use public key authentication to avoid having to type my remote password every time I try to connect. Since I use a passphrase, however, I have to add my key to the ssh agent with a call to ssh-add. This requires me to enter my passphrase…but once added I can connect to the desktop machine without a passphrase for the duration of my session. For more info, check out the Ubuntu SSHHowTo documentation. Since I tend to forget to add the key, I decided to run ssh-add when I log into gnome on my laptop (”laptop” above) as follows:

  • Go to Main Menu -> System -> Preferences -> Sessions
  • Under Startup Programs click Add
  • In the Edit Startup Program dialog enter the following to add your key to the authentication agent: ssh-add

In order to establish the synergy client connection, I wrote the following script:


#!/bin/bash
#
# Script to securely connect to synergy
# server on desktop machine for sharing
# keyboard and mouse
#

# IP address of desktop machine
DT_IP="xxx.xxx.xxx.xxx"

# Setup port forwarding
ssh -o ExitOnForwardFailure=true -f -N -L 24800:$DT_IP:24800 $DT_IP

# Start synergy client
killall 'synergyc'
synergyc -1 -n laptop localhost

This script establishes the port forwarding through ssh and then starts the synergy client. Instead of calling the script from the command line, I added a custom application launcher to a panel in order to start the connection with a simple mouse (touchpad) click. There are a few things to note:

  • The ssh connection doesn’t require a passphrase here since I added the key to the authorization agent using ssh-add at gnome startup
  • The ExitOnForwardFailure option is used so that the process will exit if the connection fails. If, for any reason, the synergy client connection is closed, the ssh forwarding will still remain active. This script can be rerun without any worry of multiple (failed) ssh forwarding attempts.
  • The -1 option is used in the synergy client so that it won’t try to restart if the connection fails for any reason. Without this option, the client will continuously attempt to reconnect, consuming system resources.

So now, when I log into gnome on the desktop computer the synergy server automatically starts. When I log into gnome on the laptop machine I am prompted for my ssh passphrase. All I need to do to start a secure synergy connection from my laptop to my desktop is click on my custom application launcher.

April 7th, 2008

Over the past year and a half I’ve had to relocate my office more times than Milton Waddams, so I’ve become accustomed to traveling light. Each move, however, has required me to adapt to a new desktop arrangement since the office furniture isn’t standard between buildings (or certain locations within them). In the most recent move this past week, I lost about a third of my desktop space and quickly realized I had to modify my cramped arrangement somehow.

Work provides me with a desktop computer, but I prefer to do all of my development work on my laptop which I carry back and forth between work and home. At work, I “dock” the laptop by plugging in a USB keyboard and mouse and connecting an additional monitor for a dual-head setup. So, all together I had two monitors, a laptop, two keyboards and two mice/micepads, a coffee mug, a water cup and a useless phone…but no space for note taking. (Yeah, I still use pen and paper!) Bottom line, I needed to eliminate some clutter on my desktop and the obvious choice was to eliminate a mouse/keyboard pairing.

While typing on the laptop keyboard and navigating around with the touchpad are tolerable for short periods of work, I need an external mouse and keyboard in order to work on my laptop all day. So how do I share a single mouse and keyboard between two computers, each with its own display(s)? Fortunately, a coworker had mentioned Synergy earlier this year and I figured I’d give it a shot. I’m using Ubuntu Gutsy Gibbon on both machines and a quick check of Synaptic showed that Synergy was available for install, so I installed it on the two computers. After a simple configuration, I’m now using the mouse and keyboard connected to my desktop computer seamlessly with the laptop! Excellent utility!

March 22nd, 2008

You can see there has been some significant plant growth in the top tank since the last update. My next step is to do some aquascaping…I’m planning on grouping together the Telanthera rosefolia behind the Red Rubin and Amazon Sword and relocating the Wisteria and Moneywort to the bottom tank. The Baby Tears have filled in rapidly, but the Glosso is still growing vertically and has not quite taken hold to carpet horizontally. The explosive plant and algae growth resulting from the addition of the 4 hours of extra lighting with the second bank was undesirable, so I’m back down to just one strip of 2×65 watt lighting.
Top tank 3/22/08Top tank left 3/22/08Top tank right 3/22/08

February 27th, 2008

I’ve given some thought to the limitations of current enterprise learning systems (LMS, CLE, ePortfolio, etc), and thought it’d be a good time to elaborate on them after reading Mary Grush’s interview of Gary Brown in the recent Campus Technology publication [1], entitled “The Future of Web 2.0″ (perhaps more appropriately entitled “The Future of the LMS”).

Some personal observations regarding these systems:

  • Despite best intentions, tools within the systems are not the best of their kind, and, unless mandated, are not the ones chosen by students and faculty. Many of the tools are re-implementations of existing standalone content-based tools (file storage, discussion, wiki, blog, messaging, presentation). A lot of resources are wasted (IMHO, fruitlessly) trying to compete with the alternatives.
  • Content created in external systems typically needs to be recreated in or imported into the LMS.
  • A significant amount of development effort goes into the framework services provided to support the tools. This is not necessarily a bad thing if these services support the pedagogical tools I mention later.
  • The level of integration possible is much greater then the level of integration realized. Is the need realistic and does it outweigh the limitations posed by standalone components?
  • The solutions are heavy-weight; they’re generally prepackaged with several default preselected components. It requires a lot of effort to strip down and/or reconfigure to meet specific needs.

Since the LMS can’t compete with content generating alternatives, the concentration should be on tools to manage and facilitate pedagogy itself. Strip the LMS down to just those necessary parts and focus on making them extremely easy to use. I’m stepping out of my realm here, but it seems the gaps we should be filling are on management of assignments, learning outcomes, curriculum, workflow, rubrics, assessment, etc. Leave the content creation, discussion and presentation to those systems that manage it best. Rather, allow for users to submit links to their external content for assessment purposes. This is quite similar (perhaps exactly) the system that Gary Brown refers to during the interview:

Right now at WSU, one of the things we’re developing in collaboration with Microsoft is a “harvesting” gradebook. So as an instructor in an environment like this, my gradebook for you as a student has links to all the different things that are required of you in order for me to credit you for completing the work in my class. But you may have worked up one of the assignments in Flickr, another in Google Groups, another in Picasa, and another in a wiki. Maybe you’ve also made some significant contributions to Wikipedia. So, I need a gradebook where I have the link you’ve provided me, rather than a copy of the work, and the gradebook should be capable of pulling in all of these various sources.

If there’s any difference, I’m almost certain it is in my idea of the implementation. Unfortunately, WSU has chosen to “collaborate” with Microsoft on a solution, so I assume we’ll never know for sure.

Going back to early 2004, when my group at The (very soon to be defunct) Living SchoolBook was working on developing our own portfolio system, we discussed using RDF to link artifacts stored internally or externally with system-defined learning outcomes (the idea, IIRC, was Matthew Metnetsky’s). To make a long story short, feature creep and resource limitations drove us to switch to development of Goal Management within Sakai. Somewhere during that move I, regretfully, lost track of the idea of using RDF, but I think it applies now more then ever. Instead of requiring content to reside in one solution or another, we should augment the solutions with RDF capabilities to allow creation of “meaningful” relationships between content. The LMS focus then, would be management of the pedagogical parts that are semantically linked to content and providing a facility to crawl and query the resulting graphs.

Update – Just to clarify, I don’t think RDF is a solution in and of itself. There are obviously serious concerns that need to be addressed regarding privacy, authentication and authorization. I’m also not trying to say that tools for minor edits within the LMS are unnecessary/useless, and that there is no need for local copies (snapshots) of external content. The point I’m trying to make is that we need to abandon approaches that require users to use built-in content creation/organization/presentation tools. The focus needs to be on an open architecture that supports streamlined interaction (enhanced usability) with external tools integrated with the pedagogical tools that the LMS does best. Recent trends/movements towards portable data formats and open standards-based architectures to facilitate integration may support this possibility.

[1] Mary Grush, “The Future of Web 2.0,” Campus Technology, 2/27/2008, http://www.campustechnology.com/article.aspx?aid=58872

February 26th, 2008

I’ve recently begun to look into OpenID and like what I’ve seen so far…the idea that I control my identity and can choose who I want to provide the service appeals to me. When I first began evaluating OpenID, I found out that I already had an OpenID courtesy of AOL. That’s cool, I thought, but I don’t want to be affiliated with AOL, even if it’s just a URL. Next I looked into myOpenID as a provider, and it occurred to me that switching to a new provider, in this case, meant changing my OpenID URL! So every time I switch providers I have to update all of my sites with a new identity URL? Fortunately, using delegation, this is not necessary. Using a personal URL as my OpenID URL (my blog URL, for example) I can switch providers whenever I want/need without having to update this URL on every site. Delegation adds an additional degree of persistence, since my blog URL will probably not change as frequently as my provider preference.

Ok, but what happens when I change my blog location, switch to a different domain or service provider, etc. (basically any change that will affect my personal URL)? Enter the i-name. As you participate in various activities on the internet, URLs that point to your activity change over time. The abstract notion of your identity, however, is not something that ever changes. An i-name/i-number is a handle for your identity that should rarely (never) change. You can read more about the concept at Xdi.org, but the idea is that you register an i-name for yourself (mine is =jmpease) that never changes and use that as your OpenID. Further extending this idea, you can have “permanent” handles (tags) using i-name forwarding that redirect to your blog (=jmpease/(+blog)), email/contact (=jmpease/(+contact)) , homepage (=jmpease/(+home)), etc., regardless of the locations for each.

Good stuff! Right? Unfortunately, the lack of OpenID consumers isn’t making the technology very useful at this time, but it’s early and it seems that some of the major players are backing it (to some extent). The issue with the support thus far, however, is that everyone wants to be an OpenID provider without providing any consumption. In other words, they’ll give out an identity you can use at any OpenID-enabled site, but their sites aren’t OpenID-enabled. This kinda defeats the purpose of OpenID, don’t you think?!

Aaron Toponce writes in his blog on this very issue:

Supposedly, news has hit the front that Microsoft will be supporting OpenID as a provider, and rumors have it that your GMail account can be used as an OpenID identity. But what about logging into these providers with an existing identity? Here’s the question posed: Can I login to AOL, or create and AOL account, with an already existing OpenID identity? What about LiveJournal? Wordpress? Yahoo!? Blogger? etc.

NOPE.

Dare Obasanjo provides some good reasoning why this is so in his blog entry entitled “A Proposal for Social Network Interoperability via OpenID“:

If you look around, you’ll notice that the major online services such as Yahoo! via BBAuth, Microsoft via Passport Windows Live ID, and AOL via OpenID all provide ways for third party sites to accept user credentials from their sites. This increases the value of having an account on these services because it means now that I have a Microsoft Passport Windows Live ID I not only can log-in to various Microsoft properties across MSN and Windows Live but also non-Microsoft sites like Expedia. This increases the likelihood that I’ll get an account with the service which makes it more likely that I’ll be a regular user of the service which means $$$. On the other hand, accepting OpenIDs does the exact opposite. It actually reduces the incentive to create an account on the site which reduces the likelihood I’ll be a regular user of the site and less $$$. Why do you think there is no OpenID link on the AOL sign-in page even though the company is quick to brag about creating 63 million OpenIDs?

Why would Facebook implement a feature that reduced their user growth via network effects? Why would MySpace make it easy for sites to extract user profile information from their service? Because openness is great? Yeah…right.

Openness isn’t why Facebook is currently being valued at $6 billion nor is it why MySpace is currently expected to pull in about half a billion in revenue this year. These companies are doing just great being walled gardens and thanks to network effects, they will probably continue to do so unless something really disruptive happens.

Well, I hope that OpenID is the disruptive force, because, conceptually, it makes for a great end-user experience. Of course, the requirement is that the major players act as OpenID consumers as well as producers!

I’ve also done some thinking in terms of tying OpenID into our enterprise systems. It’d be great if I could use my OpenID locally, but there also needs to be a way to link it to my organizational identity controlled within our local identity management solution. So, even though I’m authenticating my identity using an external OpenID provider, my identity is tied to some local collection of access rights. I’m looking for a solution that doesn’t require me to use my local organization as an OpenID provider as do current solutions I’ve seen, such as CrowdID (Atlassian Crowd) and OpenID-LDAP. Requiring users to use a specific OpenID provider defeats the purpose of OpenID, does it not? I’m thinking along the lines of something like an initialization phase where I authenticate locally using an institutional username/password and provide details regarding my OpenID. From then on I can authenticate via OpenID to gain access to all systems that my linked institutional identity has access to. Regardless, it will be interesting to see how enterprise identity management and web identity management (particularly via OpenID) converge.

February 17th, 2008

I just read a blog post by Matt Asay entitled “Open source and the future of vendor-free IT” that got me thinking about the state of my organization.

The majority of our infrastructure is built around vendor supported, proprietary solutions. While some of our services are hosted on Linux servers (also vendor backed), my understanding is that we default to Windows-based servers when that option is available. I assume a large portion of our budget is spent on licensing silos containing redundant components. For example, we have Onbase, DocuShare, SharePoint, Cascade (WCM), and Blackboard (LMS) supported within our organization and I’m sure there are other similar solutions in place elsewhere in the institution. There is a great deal of overlap here and a limited ability to integrate these solutions. I’m sure I’m trivializing the issues involved, but I strongly believe it is possible to build an infrastructure around best-of-breed open source components to reduce/eliminate the redundancy and greatly streamline data management. I’m not suggesting this is easy, but I believe the organization would benefit more by taking on such a project then continuing to pay several vendors to compete amongst one another.

I generally get the impression that IT decision-makers believe there is something special about vendors, and that institutional IT can’t possibly provide a matching level of service/support. This is certainly the case with the proprietary solutions we use because they are closed and we MUST buy expertise and information. I my opinion, we have done our organizations a disservice by restricting technical knowledge to that exposed by vendors; by paying vendors to become experts and do our thinking for us. Consider the alternative where we use our money to educate our IT staff, to hire open source experts and invest in solutions that can be studied and understood without a contract. Knowing that we’re not the only institution dealing with vendor limitations, wouldn’t it be wiser to partner with other organizations dealing with the very same issues (who are also paying the same vendors) to share cost and collaborate on more effective solutions? There was a recent EDUCAUSE article discussing the importance of social learning that suggests the beneficial growth such a project would have for our IT staff.

February 14th, 2008

The plants look great and are already making a big difference, filling in a good deal of empty space. I really like the red/pink color of the Telanthera rosefolia. I took a couple more lousy photos to show the immediate difference. In the left foreground you can see the Baby Tears and in the right foreground I planted the Glosso, separated by a rock to keep some variation and to avoid these plants choking one another out. Hopefully these plants will take hold and fill in the remaining gaps to make a nice carpet.
Top tank 2/14/08Top tank left 2/14/08Top tank right 2/14/08

February 13th, 2008

For a couple months I had only used 1 bank of the lights in my 4×65w coralife for the 55g (essentially 2×65w). Disappointed somewhat with the growth rate of my plants, I’ve been using both banks for the full lighting period for the last couple weeks. Unfortunately, along with much faster growth, I’m noticing an increase in algae, especially GSA. Yesterday I went and bought a timer for the second bank to run for about 4 hours in the middle of the lighting cycle to, hopefully, find some middle ground here.

The plants from AquariumPlants.com should be on my doorstep this afternoon. There was a shipping delay finding Ludwigia peruensis. It seems they didn’t have any and couldn’t find any more, so in exchange I’m receiving some Telanthera rosefolia (Alternanthera reineckii) and Pogostemon stellatus. Nice bright red plants!

February 9th, 2008

Here’s some pics…obviously I have a lot to learn about photography. As you can see, these tanks need a lot more work. Believe it or not, they are much improved after making some recent changes: getting rid of the black shark, filtration improvements (moved power filter from top tank to bottom and added canister filter), increased CO2 addition based on drop checker indication and some minor aquascaping improvements. I expect with the addition of the new plants and a couple months of patient observation things should be in good shape.

TanksTop tankTop tank leftTop tank centerTop tank rightBottom tankBottom tank leftBottom tank right

February 7th, 2008

Pictures coming soon. Recently turned my Black Shark in to the LFS…hopefully they can find it a bigger home. My plants should fare much better now with the remaining 55g occupants. Expecting an order of Baby Tears (Hemianthus micranthemoides), Cabomba Green (Cabomba carolina), Glossostigma (Glossostigma elatinoides), Ludwigia peruensis and Red Myrio (Myriophyllum heterophyllum). I meant to order some HC (Hemianthus callitrichoides) but screwed up! The Baby Tears aren’t potted either. Oh well…we’ll see how everything goes.

Powered by Laughing Squid