Friday, January 25, 2013

Electronic Organization, Backup & Synchronization


I'm pretty obsessive when it comes to managing my repository of electronic files (documents, stored reference literature, actual work files).   I think I've got some good advice on this topic, but I will admit that this is about as boring a subject as one could find.    I'll apologize in advance for this rambling....

If you never struggle with finding files or how to keep multiple computers in sync, then please stop reading.    If you're interested in how I've tackled this problem, feel free to read on.

The dedication to maintaining the integrity of my stash is not just because I'm a pack-rat, I also pride myself on reusing as much work as possible (for any paranoid clients: I reuse my own work, often from hobby or general lab projects, I do not cross-pollinate here).    I've dug up a piece of source code or a basic analysis that was fifteen years old and saved a lot of time in the process.  Assuming this "work" is appropriate to use on a new project, I would consider it a disservice to not take these time-saving measures.  What kinds of things do I save?  Stuff that I believe will save me (or one of my peers) time later.

On organizing things -- my advice is simple:   Create a directory structure that works for  you and stick with it.   Consider the nature of the stuff you are storing (personal or business) and other categorization so that if you need to later remove/extract/archive a particular segment it is easier.   It is all about making it easier down the road.    I should point out that this "individual" structure may not mesh well within a large organization, but the same principles apply.  


You don't have to have a single structure for all files.   For me, I have one main one that is made up of mostly my work and others for "media" (one for photos, one for video, and another for verbatim copies of literature archives).  The reason for separating them in my case has to do with the size differences:  the work/key archives is the smallest, most important, and intended to live on any computer I'm doing real work on.


Here are a few suggestions:
  • Don't let your software store things in the default "my documents" or on the desktop (unless you have manually relocated what "my documents" points to).  Change the settings in the programs you use most to default to your new repository for saving new files and finding old ones.
  • If you use multiple computers, I suggest making the base of this directory tree structure the same for all.  There are three main reasons for this:
    • You don't have to remember different paths for each machine and stumble each time
    • you can use the same shortcuts and relative paths, which occasionally are important
    • it is much easier to bring on a new computer and perform routine backups or synchronize between computers/drives/etc.
  • Consider a few exceptions:
    • My main repository of "stuff" is about 16 GB today with about 16k files, this is a pretty convenient size and is fairly easily manageable.   100k files or 50 GB would be a little tougher.   When I mean "manageable" here I am speaking of the relative size and count of files; since any future automatic synchronization checking will need to account for the lot.  Here are some ideas:
      • Keep multiple repositories; one that is manageable (by your judgement) with the most active files that are changing the most often.   Keep others that are more archival in nature; perhaps collections of literature, photos, videos, etc.    My experience is that file size is much less of a problem than file quantity -- tons of tiny files are much more painful to maintain.
      • Keep only the most important piece that defines the work.   By this I mean the "design" or the "artwork", not the analysis data (this is a CAE-centric example).   Several EM analysis packages that I have used generate a ton of large files and quite a collection of small ones as well...   so I tend to work with these files in a separate temp directory then copy the core (without data) back into the repository.  If it is a month or year from now I am usually happy to re-run the analysis and suffer the delay that causes.   
File synchronization manually:

I started this endeavor in the mid 1990's, and the tool of choice for me back then was Windows Briefcase. It was quirky but it worked reasonably well most of the time.  By "sync" here I am referring to the process of making sure that the repository on my portable computer is up to date with that of a desktop as a common example.  I graduated to a program called Comparator Pro (SoftByte labs) in more recent years.    One trait that both of these share is that after you have initiated the process and the program has run, the user gets to see what has changed and which direction any file moves should be in.   This is really nice as it can help you catch potential catastrophes since you have to approve the changes.

This manual method of synchronization is pretty effective, but it is time consuming and not terribly elegant.   I still use it to periodically to sync redundant copies of things to each other (only one is actively being modified).

Automatic synchronization / Cloud storage:

After witnessing several near disasters with windows briefcase over the years I was very skeptical of completely automating the process.  During the summer of 2011 I took the leap and started to give DropBox a try.   While a skeptic at first, I was blow away by how well it works.   These days I "work" out of a DropBox synchronized folder.   Dropbox does what it does extremely well -- I don't know how, but it just works.

The point is, that these days, my repositories largely live inside a Dropbox folder (all synchronized to the cloud).   This means that within seconds of me writing a file, it is both on the way to the cloud and on the way to every other computer I have powered up that is running Dropbox.   Their special formula that seems to differ from the others (such as Google Drive... which I like and use as well, mostly for redundancy) is called "LANSync". This "LAN sync" feature is an incredible time-saver; as it lets computers on the same local network transfer files based on knowing what is needed where.   This way if you want to get your repository on a new machine you set it up and while your new machine will talk to the cloud to get some of the information (the list of files for instance), it can actually copy the files from a local network.   This isn't magic -- it is just smart, it turns days of sluggish download into hours.


That's about all I have to offer on the topic right now... If you discard all the other advice, I strongly suggest that you at least give DropBox a try....






Friday, December 14, 2012

Ramblings about IT in the cloud

My professional passion is RF/microwave/wireless engineering, but as an independent business owner it makes a lot of sense to stay on top of things that keep the time and cost overhead for mundane tasks as low as possible.

For us here at RFdude.com LLC (me, myself, and I -- with some help from my wife and other help occasionally hired on), the cloud based services have really simplified things.  The costs are low, the setup is easy, and they are accessible with just a web browser (and by other means if you prefer, especially on mobile devices).   I have no intention of going into any depth on the technical side -- just to say what I like and why.

Google Apps -- the way to go in my opinion.    After getting an account through one of my clients for online collaboration purposes, I was instantly hooked.

The three areas I want to touch on are right here::  

  • Email: Gmail
    • The huge storage, excellent organizational/ search/ labeling/ processing capabilities, and powerful web interface make the installation of client software completely unnecessary.   You can install client software but I see no reason to invite that headache.  
    • Google spam filtering is pretty decent, they sure have the database to work with.
  • Calendar:  
    • Google's calendar is pretty no-frills but works very well.   Sharing with colleagues while also sharing with your spouse to coordinate your busy lives is incredibly easy.
  • "Office suite":
    • The google apps suite is perhaps the piece that has evolved the most over time, but it remains on the "low frills" side.
    • I've not dumped Microsoft office just yet, but my use of MS office is very limited
    • The ability to have multiple people online, editing/viewing the same document simultaneously is just cool.   This isn't rocket science but I do this regularly with folks three time zones away, usually on informal documentation, but it just plain works.
    • I use the spreadsheet application online for all project tracking/accounting, invoicing, and to house my collection of basic engineering calculators.



Google apps, generally speaking, plays pretty well on mobile devices too.   I'm a die-hard Android fan but we also have a couple ios devices around the house which seem to be well supported by Google.

All of the features mentioned here are available for free through individual google accounts; using them in organizations for business where some of the collaboration comes more easily and storage is increased significantly is $50/user/year as of the time I'm writing this.  Give them a try!

Saturday, November 17, 2012

So many topics and so little time....

Let me open this up by stating my clear expectation that I will have an exceptionally small following from this Blog.   Search is likely to bring viewers here on the mention of specific topics.

I expect to publish a few random thoughts on generic topics, maybe some comments about products and services I use, and even some technology tidbits.   


Since I was given the opportunity to go into the consulting business full time (thank you to my clients for sticking with me), I've been pretty quiet.   By this I mean I have all but stopped producing/updating the downloadable tidbits on my website and I have not published anything significant in years at this point.   The most significant activity is probably participating in a LinkedIn group that I created a few years back -- this as been fun (Board level RF and Microwave designers).

In the role I've been in my whole career (as is the case with most in the engineering profession), non-disclosure agreements serve to keep 95% of the interesting stuff that I would like to share from being shared.  I suppose if you asked the lawyers it would be a full 100% but common sense must prevail.   

That is all for now; perhaps over the coming weeks I'll crank out a few quick posts on products and services that I like and why I like them...

Lance