Tag Archives: technology

Working Remotely

A bit of conversation has been going on around the web first because of Yahoo’s decision to axe telecommuting, and today because of a nicely written article from Jeff Robbins, CEO of Lullabot, the Drupal company. Bob McWhirter who I worked with a long time ago on JDOM, had a very similar spin on this back in 2010 where he talked about how Twine changed from being a distributed team to a co-located team leaving him as a remote worker.

I have worked a lot with off shore remote workers and I am currently working remotely most days of the week. This really can work, but as these articles point out, you must do this very consciously, taking time to think about your communication patterns that (sometimes) are just natural when you share a work location. Based on the number of management seminars, consultants, books and boot camps on leadership, teamwork and communication out there, I have to think “comes natural” is probably overstated. Taking some care to understand how your coworkers feel connected, included, with contributions encouraged and welcomed is important to all teams, but people seldom do this. The result is worse then for remote workers who lack the physical interactions with all their cultural norms to at least partially help people get on the same page.

For the me the key things that are absolutely essential are these:

  • A group chat tool everybody is in all day. Currently I like skype for this
  • A group video conference tool with good screen sharing capabilities.  Currently I like gotomeeting and join.me. Google hangouts are too slow and two fuzzy. So is Skype for the most part which is too bad.
  • IM with presence actively maintained,
  • equal attention to IM conversations that you would give somebody walking up to your desk.
  • Daily “stand up” phone conversations to talk about progress, plans, open (but don’t solve) questions and problems
  • willingness to jump into short, focused phone calls, individually or in small groups when needed
  • A propensity to CC email to more rather than less people. 
  • inclusion in the non-work conversations, babies, cars, trips, bands, all the good stuff
  • face to face get togethers, more often at first as you get to know people, but at least once per month after. I personally like to meet once per week face to face
  • very limited restrictions on what you can actually do remotely. This means distributed source code systems, accessible systems, vpns, whatever it takes to be equally productive remotely. Don’t make the office work 100% better than the remote worker.

I find this works for me, and found it worked with remote teams in other countries as well, at least to the extent that time zones are an issue. If language is an issue, most people can read and write much better than they can speak and hear a second language, so emphasize IM and chat over the phone call.

Mostly, actively include the remote people and you will be fine. Anything else and you will be one of the many people that have failed to incorporate a distributed work force. And too bad for you!


Slides and sample from the Chippewa Valley Code Camp

Here are my slides and samples from the Chippewa Valley Code Camp. Read the readme for details of how to run the code. Thanks to all who attended, the few and proud come to mind!

Visual tracking of workflow is really a useful thing to build into your systems. The list of gotcha’s in the slides and others I’ve found since, mean that this particular approach using the rehosted workflow designer, while viable in certain cases, is probably going to take more work to make it generally usable solution for visual tracking of workflow. The idea presented here to use a custom tracking participant and SignalR to broadcast workflow tracking events is simple and solid and with a little more goo to pick a “topic” using groups or hubs would work very well I think.  A little care will need to be explored to account for scaling if you’d do this with hundreds of users based on the overall design of signalr.

I also would like to point out a few other related projects, one that used a service bus instead of signalr and another that used signalr, but not a wcf behavior or visual tracking. Enjoy your reading!




Link to my slides and sample code for Twin Cities Code Camp 13

As promised, the sample files and slides are here. Thanks to all who attended the talk.

Speaking at the Twin Cities Code Camp

I’ll be speaking on a updated topic, Intro to Windows Workflow Foundation 4 on  Visual Studio 2012 on 10/6/2012. I did this talk in Appleton in 2010, at Day of .net, but I changed it up quite a bit. This is for code camp after all, so the emphasis will be on .. code. I think developers can get a lot of the basics on their own, so I am going to focus on those topics that workflow offers that really are difficult to do on your own. Mainly that will be long running processes that have to pause, resume at the same location and continue or escalate in the event that something doesn’t complete in time. Flow and even parallelism are pretty easy to do with plain old code these days.

Looking forward to it!

Fox Valley Day of Dot Net

As promised here are my slides and the list of links I never got to talk through. Thanks for all the great questions during the talk and the suggestions in your comment cards. Good stuff and much appreciated.  I’d love to do this again somewhere, let me know if you want me at your location.

Windows Workflow Foundation 4 for Fox Valley Day of Dot Net

Windows Workflow Foundation 4 is fairly interesting, fairly unique in the large list of players in the BPM field. It does seem like some additional sessions of more advanced topics are going to happen so stay tuned. The MSDN samples below are an absolute must. You can search for the name and find more documentation about each. I also had good luck with the VS2010 guidance package for my first introduction way back when.

MSDN samples – http://msdn.microsoft.com/en-us/library/dd483375(VS.100).aspx

Ron Jacobs video and blog http://blogs.msdn.com/b/rjacobs/



Sharepoint 2010 on Vista notes

I have had a fairly simple problem at work for which the solution was to use the shiny new Word Automation Services of Sharepoint 2010. In the past in order to do Sharepoint development, you had to run your development environment on Windows Server instead of your normal client OS. I had tried to setup a virtual machine running Sharepoint, Sql Server and VS 2010, but even giving it 4 cores and most of my RAM, it was still minutes per click. Crazy. So, following this article, I started to setup my normal machine, still running Vista because of our legacy development environment, to run SharePoint 2010. I succeeded eventually, yahoo! But, this post is to document some of the pitfalls I encountered and how I solved them.

The basic documentation for doing all this is here. Read through this carefully. But before you start, do this first. In spite of what some of the documentation  says, Vista SP2 is actually required. I would do that install first along with updating to Sql Server 2008 SP1 with at least Cumulative Pack 2 or greater before even trying to get started. Also make sure all your Windows Updates are completed after installing these components.

Do the install in exactly the order the document stipulates. Because some of the hotfixes and service packs took longer to download than others, I tried to multitask and do some of the steps out of order. Bad choice!

I did require some IIS setup beyond all the steps in the doc. SharePoint may not setup your web server with everything it needs. If it isn’t working, check your app pool setup. The users will need rights to the SharePoint databases, and you probably want these app pool/Filters separate from your other development app pools.  In addition, I ran into a Web config issue with a filter that I forgot to write down the answer to! I also had to comment out the <requestFiltering> element under <system.webServer> or I would get a page not found error. Here is a list of changes the installer will make though.

The SharePoint install, deep in the bowels of the documents, recommends that you setup aliases for all the SharePoint databases. Use the Sql Native Client Configuration tool after your install so you can use your existing local database instance rather than the default instance SP will install to. Then just detach the databases and attach to your normal instance. Always good to limit how many instances you have running.

Hopefully this will save somebody some time down the road. Or convince them to move to Windows 7.