…for whatever that's worth…

Category Archives: Business

I’ve been co-working at Walnut Street Labs since December of 2013 and recently stepped up my efforts to support WSL and the start-up community in the Philly ‘burbs. I’m now a volunteer Technology Advisor for the Labs. In this position, I’ll advise start-ups on their technology for free.

I’ve been “working with computers” (as my friends and family call it) for just shy of 20 years. In that time, I’ve done everything from Novell and Windows NT networking to Lotus Notes development and administration, cc:Mail and Exchange and now SharePoint. Recently, I’ve been involved with Windows Azure, Amazon Web Services (AWS), WordPress, PHP, ASP.NET MVC, Orchard CMS and mobile technologies – Apple, Android and Windows Phone.

If you’re a start-up in the southeastern, PA area and need some help with your technology, want to discuss and white-board some issues, or just want a second set of eyes to look things over, then please feel free to ping me via my scheduling link: http://ohours.org/DMann. I’m available for four fifteen-minute sessions every Thursday morning at WSL:

23 N. Walnut Street

West Chester, PA 19380

During these sessions, we can chat and work through whatever technology topics you would like help with – guidance, planning, etc. When you make your appointment, please describe what you’d like to chat about. If it happens to be a technology with which I’m not familiar, that will allow me to track down someone at WSL that is comfortable with it and able to help.

While these sessions aren’t intended to be debugging or direct coding help, we can delve into those areas if they’re a part of a larger technology or capabilities problem. The sessions will be most valuable for start ups trying to figure out their technology direction, determine which technology will be most advantageous to their product, figure out how to support new technologies, design an architecture, etc.

These sessions are free. While there are no legal NDAs involved, I can assure you that your information will not be shared. I prefer to do business on a handshake and am generally too busy with my own start up ideas to “steal” someone else’s ideas. You’ll find, once you’ve been doing this for a while, that the idea and the technology pieces tend to be the easy parts. My list of product ideas is pushing 50 applications these days; I’m not looking to add any more products to my repertoire. If your start up is too close to something I already have in the works or am planning to move forward with in the near future, I’ll disclose this potential conflict of interest to you up front and we can figure out how to move forward.

I’m thrilled to announce that I’ll be presenting at the Walnut Street LabsStartup Meet up next Tuesday morning at 9. I’ll be presenting a two-part talk:

Part 1: Opportunities for Startups in the Microsoft World

For various reasons the startups getting the lion’s share of the attention are focused primarily on the non-Microsoft world of Apple, Google, Ruby, PHP, WordPress, etc. Basically ABM – Anything But Microsoft. In this discussion, we’ll look at reasons why the Microsoft startup ecosystem is a great place to be and one that is simmering beneath the headlines. We’ll discuss everything from tools and platforms to market share and opportunity. You might be surprised at how amenable the evil empire is to startups and realize that you ignore this potential market at your startup’s peril.

Part 2: Moving from Consulting to Product

Consulting is easy money, but it’s not sustainable. I’ve been a consultant for 19 years, but I can’t do it for another 19. Over the past year, I’ve been positioning my company to make the jump from the grind of consulting to the sustainable, recurring revenue model of products. In this session I’ll talk about things that have worked for me and things that haven’t, lessons I’ve learned, and ideas I have for the future. If you’re in a similar place, or want to be in a similar place, then maybe you can learn from my experience and avoid some of the mistakes I’ve made.

The presentation will be live-streamed so pay attention to Twitter for the URL. If you’re in the West Chester, PA area feel free to stop by – 23 N. Walnut St, West Chester, PA next Tuesday at 9AM. There will be lots of time for questions and discussion and I’d love to hear your experiences.

It’s a new year, and as good a time as any to turn over a new leaf. In reality, this has been more of an end-of-year effort resulting from a hellacious 2012 and the realization that I can’t continue on at that pace.

I took the last 2 weeks of 2012 off from “regular” work and focused instead on cleaning up my systems, processes and the way I did things to *try* to be more efficient. It’s an ongoing effort and I’ve only just gotten started. This blog post and a few that follow it will document what I’ve done in the hope that it can help someone else out.

The Problem

Before getting started on the solution, a quick review of the problem. How much of this sounds familiar?

1. Laptop desperately needed a rebuild. Win7 was working OK, but I wasn’t happy with how it was performing

2. Organization on the laptop was a mess – files scattered from email to file system (across multiple drives, internal and external) and back again.

3. Backup was (practically) non-existent. I had made a few half-hearted efforts as time allowed but it was patchy and haphazard. The only thing definitely backed up was my source code

4. Offline organization was worse than laptop organization. I’m old, so I’m a fan of paper. My natural inclination is to jot a list of things down on a piece of paper rather than type it into my laptop or phone. Right now, I just counted, I have 11 “to-do” lists sitting on my desk.

5. Email. Forget “Inbox Zero” I was struggling to keep “Inbox 1000”

You get the idea. There were a few other things that needed attention, but those were the “biggies”

The Solution

Step 1: Rebuild Laptop

I ditched Win7 and (finally) committed to Win8. Fortunately I had purchased a touch-screen on my W510 when I purchased it a few years back, so it was a little more Win8-ready than some other laptops. Here are the specs on my laptop/setup:

3 monitors: laptop and 2x21” external monitors. Resolution set to 1680×1050 on all three monitors gives me a total resolution of 5040×1050. I like it…

I partitioned my two drives as follows:

Disk 0 (SSD)

350 MB System Reserved

163 GB System Drive (C:)

60 GB Backup partition (H:). More on this in a minute

Disk 1 (Spinning rust, soon to be SSD)

60 GB Data (D:)

406 GB VHDs (V:)

All partitions except the VHD one are BitLockered. I didn’t BitLocker that one to avoid the (admittedly small, but there nonetheless) performance hit. There’s really nothing on that drive I care if anyone sees, so not worried. I use the TPM chip in my laptop to automatically unlock all of the BitLockered drives upon boot up.

Step 2: Configure Data and Backups

I took a look at all of the data on my laptop before rebuilding it and realized that it generally fell into one of two buckets:

1. Current

2. Not-Current

The former is things I’m actively working with – active clients, projects, blog posts, presentations, user group stuff, etc. The latter was things that I still needed to keep but didn’t necessarily need to have with me all the time.

I decided that all of the “Not-Current” stuff should really be called “Archived” and so that’s exactly what I did – archived it. I chose a multi-location Archive strategy to account for my own unique paranoia:

Anything I didn’t need to have direct, immediate access to was added to a collection of password protected (there’s that paranoia) 7Zip archives and stored on my SkyDrive. Each client, project, writing artifact, etc. has its own 7Zip file so it’s easy to keep them straight.

I also took the uncompressed files and copied them to a server here in my office. That server is not available off of my local network, but it is backed up to an off-site location every day using CrashPlan. Everything on there (business stuff, plus 12 years of family photos and videos, software, my wife and kid’s backups, etc.) gets dumped over to a server at my brother’s house every day (He backs up to me the same way). All together, this is about 300 GB of content, but we use the free version of CrashPlan so it doesn’t cost us a dime.

For the “current” stuff, I wanted that to be backed up as well so I took a multi-pronged approach:

Utilizing Win8’s “File History” functionality, I keep every version of every file in my Data Library until I start to run out of disk space, at which point it starts automatically pruning the oldest versions. I have File History set to check every 10 minutes and it stores the versions on the H: drive mentioned above, which, by the way, is on a separate physical drive from my main data drive so there’s a little fault tolerance there.

I use SyncToy (set to “Contribute” so it does not synchronize deletes) to copy any changed files from my DataLibrary (what I called the top-level folder for all of my data) every 30 minutes to a directory on my local server, which, as mentioned above, gets backed up off-site once/day). I use the regular Windows Task Scheduler to manage the SyncToy schedule.

All of this is automatic – it’s now set up and running. I don’t have to think about it anymore. There are, however, two manual things I will do periodically (2x/year?):

Manually archive data I no longer need to have immediately available. This is just manually copying it (uncompressed) to my local server and then compressing it and copying it to SkyDrive

Manually clean up the “Sync” folder on my server. Since I have SyncToy set to Contribute mode, it will never delete anything from the server. Left unchecked, this means the files on my server will continue to grow until I fill all of my brother’s drives (mirrored 1TB, IIRC). To avoid this, I take a few minutes and just delete stuff I no longer need.

That’s it for backups. It gets me:

Versioned files via File History, stored on a different spindle

30-minute backups to another machine

Daily backups off-site

I think that’s pretty good. Certainly not perfect, but good enough for me. Barring a humongous natural disaster (my off-site backup location is 45 minutes away from my home office) I think I can recover from most things. True, since SyncToy copies to a local server it will only work when I’m in my office/on my local network, I could have a problem if I’m offsite. I spent less than 5 days last year doing work where I was producing content/material away from my office (at a client location) so I’m not too worried about that. If I take a gig that requires more time at a client site, I’ll adjust my strategy.

Source Code

For the most part, I’m a developer, so I produce source code as my main content item. Losing this would suck raw eggs, so I’m extra careful about that. This is also my main intellectual property so I’m extra paranoid about it as well. I use TFS on Azure as my main source code repository, but I also do “extra” backups as well. These are built upon the mechanisms I covered above – all of my source code is stored inside my Data Library so it is automatically backed up to my server every 30 minutes, and a file version is picked up by Win8 File History every 10 minutes and stored as well, as detailed above.

Virtual Machines

As a SharePoint guy, I live in virtual machines. Prior to Win8, I used VMWare workstation, but I’m transitioning everything over to HyperV now. I store all of my VHD/VHDX files on the 400+ GB V: drive mentioned above. All “data” on the virtual machine (source code, etc.) is stored on the host machine in my Data Library, as mentioned above, so theirs is really nothing on the VHD itself that I need. Sure, it would suck if I lost VHD, but it would be a matter of simply spinning up a new virtual machine, running the scripts which build that particular environment (stored along with the source code) and I’m back in business.

EMail

My email used to be a mess. I have three “primary” email addresses (two business, one personal) that I use and like I said above, had a ridiculous amount of crap in my Inboxes. A friend recommended an approach that I’m going to give a try: anything that arrives in an email that I want to have for later reference goes into OneNote. I have a notebook in OneNote called “EMail Keepers” that stores things not directly related to a client or project, so it gets things like purchase receipts, software keys, etc. Anything related to a client or project goes into the appropriate client/project notebook. Anything else I need to keep generally is “knowledgebase” type stuff where someone has explained a piece of technology and I want to be able to find it later so it goes into my Knowledgebase notebook in OneNote. (See the next section for more details on my use of OneNote).

Most of the rest of my email is extremely temporal – I need it for a few months and then will likely never need it after that. This is things like threads in which a decision about my business is made, a client discussion, etc. For the most part, I leave them sitting in my Inbox, but I have a policy that will delete them after 6 months. If I need to keep something – say the final decision for a project – I can either save it to OneNote or move it to a folder inside Outlook. I’m still figuring out which will work best.

I’ve gone from >4500 items in my three inboxes, with ~1500 unread) to about 1000 items in my inboxes and less than 500 unread. I’m still working on this, and would like to get down to just a few dozen unread at any one time – #InboxZero is unreasonable for me.

OneNote

I’ve used OneNote for years, but it has always been somewhat haphazard. No more. I now have the following notebooks set up:

Projects – each project gets a Section Group. When the project documents and such get archived (see above), the information in OneNote is saved to a PDF, added to the archive and then removed from OneNote.

EMail Keepers – see above

Knowledgebase – section groups for each major technology area I try to pay attention to: SharePoint (General), SharePoint Workflow, JavaScript. Anything I find anywhere (web, email, forums, etc.) that I want to be able to reference later gets saved here. I use the OneNote plugin for IE or the Print to OneNote capability and the awesome thing is that the original source URL is saved so I always know where it came from

Product Notes – ideas and information about various products I am or would like to build

To Be Filed – This notebook is synched to SkyDrive. If I’m away from my computer, I can get to it from my Surface or my Phone, so I can add something here and then move it to the “correct” notebook when I get back to my laptop

Odds & Sods

A few other things…

I have a drive mapped to my 28 GB of SkyDrive storage that makes it dirt-simple to access my content there. I don’t use the SkyDrive app to access those files as it’s just too slow when saving from Office, and SkyDrive is mostly just my “archive” location anyway. If I need to dump something else up there to have accessible from my Surface or to share with someone, the mapped drive makes that easy enough.

I’m *trying* to make use of Outlook tasks for things instead of paper to-do lists, but that’s a hard trick for an old dog to learn. Stay tuned

I’m 90% done switching from OnTime for project management to TFS. This will be another blog post once I get it done and moving.

That’s about it for now. I hope this has helped you out some in your own quest to become more efficient. It has helped me to just get it all down on paper (so to speak). There will be other blog posts about this stuff as I get things wrapped up and actually start using it all the way I intend. Stay tuned…

David Mann is a founder and director at Aptillon, Inc as well as the Owner and President of Mann Software, a boutique software consultancy located outside Philadelphia, PA. He has been a SharePoint MVP since 2007 and is a part time trainer for Critical Path Training. As a developer, software architect, author and trainer he has focused on Microsoft’s Information Worker and Collaboration stack, working with portal, collaboration, and content management technologies for over 15 years helping businesses to be more productive. Dave presents regularly at major and minor conferences and runs the SharePoint User Group in Philadelphia.