Category Archives: Workflow

Tips for improving workflow, including software, shortcuts, tactics, and other tools and techniques for getting things done more efficiently and with more fun

Dropping Adobe Creative Suite: Website syncing and publishing without Dreamweaver

Over the past two years, I’ve paid nearly $500 to Adobe for the use of their Creative Cloud software suite.  That’s $20/month as a student user.  In the old days of outright purchasing software as a licensed user, that amount of money would have provided me with programs that I could continue to use for the life of my computer and beyond.  After all, I’m still happily using a copy of JASC PaintShop Pro 8 that I purchased well over a decade ago.

Unfortunately, after providing Adobe with $500 of my money, I have nothing to show for it.  My subscription to Adobe expired in the Spring and I couldn’t bring myself to pay $50 per month (more than my internet bill!) as a non-student user. Heck, I wouldn’t resubscribe at the student price.  The only part of the suite that I consistently used on a weekly basis was Acrobat, which thankfully remains available for purchase with a permanent license (though, unfortunately, the new Acrobat Pro DC presents the worst UI update and privacy violations I’ve seen in a while, but that’s a topic for another post).

Once I decided to drop Adobe, I needed to piece together a replacement for Dreamweaver, which was my go-to HTML editor.  Dreamweaver was always a bit bloated for my needs: I never did figure out how to use many of the built-in features, particularly the things that were Adobe-specific and not standard HTML.  However, its color-coded handling of language syntax was useful, and I especially appreciated the site management tools that allowed for convenient synchronization of entire websites.

I now rely on a couple of free, open-source projects that recreate these features from Dreamweaver, as well as a bevy of other useful functions that have improved my workflow.  For code editing, I adopted Notepad++, which has long been my preferred method for viewing HTML files quickly (no sense loading up Dreamweaver, which took several seconds even on my powerful desktop, when Notepad++ could open and display the file almost instantaneously).

Screenshot of my personal website's index.php, demonstrating the syntax highlighting features (and folding option) in Notepad++
Screenshot of my personal website’s index.php, demonstrating the syntax highlighting features (and folding option) in Notepad++

Notepad++ provides color-coded syntax highlighting and folding, not only for web development but for ‘real’ programming languages as well.  Powerusers of Notepad++ also have access to plenty of plugins that extend the functionality of the program, including the NppFTP plugin that brings FTP access.  I haven’t experimented much with it, but it may well be possible to handle my site synchronization and publishing needs from within Notepad++.

However, I found another great open-source program called FullSync to handle my site updates and to keep files synchronized.  FullSync is a beautifully simple program: you set a source directory and a destination directory, either of which could be a local folder, an S/FTP location, or a connected network share (SMB), and then you select which type of synchronization relationship you’d like the two folders to have: a direct, exact copy, a 2-way sync, a backup copy, or a publish/update relationship, which is more conservative about deleting anything on the destination folder without your express permission.  The great thing about FullSync is that once you’ve set up your profile, you’re always just a button away from publishing your changes to the web.  It actually provides the same functionality as Dreamweaver, but in a faster, more intuitive manner.  On the backend, I keep my web files–both the ‘in development’ and ‘live for web’ folders–synchronized between my own devices using Sync.com, which provides all of the features of Dropbox without the sketchy invasions of privacy (more on this later).

(Note: Unfortunately, FullSync can be a bit unstable when initially setting up a new profile. It seems especially prone to crash whenever I select a source or destination folder that is SFTP or SMB.  My advice is to save your profile after each change as you’re setting it up, until you’ve eventually got all the parameters in working order.  FullSync has never let me down, once I have set up my profiles completely.)

And that, folks, is how a couple of completely free and open-source programs have taken the place of Adobe’s bloated, bug-ridden, expensive software suite in my web development workflow.

 

 

Favicons & UI aesthetics / real estate

This is a quick post to share a strategy I’ve long used to keep a lot of my favorite sites bookmarked in Firefox / Chrome while using minimal screen space.  It’s based on favicons, which are those tiny little icons to the left of the URL in your browser’s web address bar.  They’ve become pretty common these days, and typically they’re miniature versions of the logos of their respective sites–e.g., Amazon’s favicon is an a with their signature swoop; Gmail’s is an envelope.  When you bookmark a site in your web browser, it usually remembers the favicon associated with the site and attaches it along with the page title (sometimes you’ll need to reload the page from the bookmark for the favicon to show up).

42913-FaviconsThus, in my browser I have favicons for around 2 dozen sites in the bookmark toolbar, which allows me to quickly access the sites that I visit most often.  There’s even one for accessing my blog–the little hand holding a pen, just to the left of the ‘Games’ folder.

I also have bookmarklets for posting links to Facebook, Mendeley, or my Amazon universal wishlist–or even to save something as a draft to this blog, so I can use the link later on when I’m writing a post.  Unfortunately, bookmarklets often don’t load favicons themselves. Enter this addon for Firefox: Bookmark Favicon Changer. This addon lets you set your own custom favicons, or export the icons associated with existing bookmarks. That way you can export your Facebook icon and re-use it as the favicon for the ‘share to Facebook’ bookmarklet.

{Update: Recent changes to the Firefox API have broken Bookmark Favicon Changer, and I’ve yet to find a suitable replacement. The addon is still available for Chrome users: Bookmark Favicon Changer.  I’ve just installed another addon for Firefox that promises to create favicons for sites that don’t already have one; perhaps it will apply to bookmarklets as well?]

Another useful tool is the FavIcon Generator at Dynamic Drive, which lets you upload any image and convert it into a favicon for your own site, or an icon for use in Windows.  It works best with images that are already squared. Whenever I’d like to add a site to my bookmarks toolbar that doesn’t have its own favicon, I head over to this site and create one myself.  That way I can use the bookmark with the small amount of space required by a favicon (16 pixels), rather than taking up enough space for text spelling out the name of the site.

Finally, if you’re looking to add a favicon to your own website, it’s pretty easy–just create one at the site above, then upload the image to your website.  Originally, any image named favicon.ico located in the root folder would be picked up by your browser and identified as the favicon; these days, to be on the safe side it’s worth adding this tag inside the HEAD of your index page:

<link rel="shortcut icon" href="http://example.com/favicon.ico" />

For far more information about favicons–including some history and more details on proper formatting of code for maximum cross-browser support, head over to Syed Fazle Rahman’s discussion at Sitepoint– Favicon: A Changing Role

 

Quick tip: Fixing a slow Downloads folder in Windows

I recently had an issue with the Downloads folder on my Windows 7 desktop computer: although there were only about 50 files, it would sometimes take the folder several minutes to load in Windows explorer.  After some googling, I turned up the following solution: apparently at some point my OS had decided that the frequent presence of video files in the folder meant that it should treat it as a video folder.  This, in turn, must have triggered some kind of indexing of the files as if they were all videos, which is doubtlessly a very CPU-intensive, time-consuming process. Anyway, the fix is to tell Explorer to optimize the folder for “general items” instead. Navigate to your downloads folder, then go to the folder one level higher — e.g., if your folder is at C:\User\Downloads, then type C:\User in the navigation bar.  Then find Downloads in the folder list, right-click, and hit the Customization tab.  You should see options similar to the image below.  Just change the selection in ‘Optimize this folder for…’ to the appropriate content, i.e. general items, and from now on your folder should load and refresh normally.

 

Source:

Download folder ultra slow refresh – Microsoft Community.

Dropbox powertip: Word recovery and customized auto-correct files

(In an earlier post, I explained how I use symbolic links to make the most of Dropbox.  Read up on that process first–and install Link Shell Extension–before proceeding with the auto-correction tips below.)

I promised to demonstrate how symbolic links allow me to overcome some of the limitations of Dropbox–namely, the requirement that everything has to be located within the Dropbox folder, whereas some stubborn programs (I’m looking at you, Microsoft Office) insist on storing important configuration files in pre-determined folders on the root OS drive.  In this post, I’ll describe how to relocate several Word-related files and folders so that they will be synced by Dropbox–and why this could be a big time-saver for you.  The first two tips are relatively easy, and don’t require symbolic links because Word lets you specify the locations manually: autorecovery documents and custom dictionaries. The third tip–moving and syncing Word’s auto-correction database files–require symbolic links, but the potential payoff in your workflow efficiency makes up for it. (Note: I use Word 2007 on Windows 7 professional for both of my computers; your mileage may vary with other versions)

Part 1: AutoRecover documents

 

AutoRecover documents are the backups that are automatically created whenever you work on a Word document.  If something causes Word to crash before the file is saved, the next time you open the program it will prompt you to look at these AutoRecover documents and determine if they should be saved or trashed.  The most obvious reason for moving these to the cloud is to increase the chances of making a successful recovery of your work–e.g., imagine your laptop gets stolen while you’re in line buying a coffee.  It won’t do much good to have an automatic backup of your important chapter draft / paper / screenplay if that backup is stuck on a hard drive you no longer have access to.  It goes without saying that your most important final documents should already be saved to the cloud for safekeeping, so why not provide the same security to your drafts?  I know sometimes I’ve written several pages of text before I get around to saving the document, giving it a name and location and thus enabling Dropbox to sync it.  By relocating AutoRecover files to Dropbox as well, I know that my work is synced from the moment I start working on a new Word document (at least, assuming I have an internet connection).

The second, less obvious reason to move your AutoRecover files to Dropbox is that it enables you to make use of the automatic Previous Versions feature that Dropbox provides.  This is one of the neat, less-utilized features of Dropbox that can sometimes really come in handy–like if you screw up an important bit of code on your website and need to ‘roll back’ to an earlier version, or if you’re writing a paper and delete some reference or bit of info that you think you won’t need, and later decide it would be a nice addition after all.  If you’re using Dropbox to sync your files, you will find that you already have access to previous versions stretching back to the last 30 days.  For another $39/year you can get unlimited backups–previous versions of every file in your Dropbox, stretching back to the very first draft!

If you navigate to your files on the Dropbox website and right-click on a file, you will see a link for Previous Versions at the bottom of the context menu (For this and all of the following images, just click on them to see a full size version):

42813-Dropbox-versions-1If you click on that button, it will load a page showing links to all of the previous versions available, including the time and date they were saved and which synced device they were uploaded from:42813-Dropbox-versions-2jpg

 

Just click on any of the Versions to download a copy of the file. Cool, huh?

So let’s move those AutoRecover files! First, head to the Options panel in Word — in Word 2007, it’s a small easy-to-miss button at the bottom of the File menu.

42813-Word-menuNext, click on the Save tab.  This is a good time to set your AutoRecover to trigger more frequently than the 10 minute default.  I set mine to 1 minute, as you can see below. To move your AutoRecover file location, just click on the Browse button and select a folder somewhere on your Dropbox.  You can also set your default file location to your Dropbox, if you haven’t already.     42813-Word-save

That should do it–your AutoRecover files will now be backed up to the cloud!

2. Custom dictionaries

Another quick and easy modification, while we’re in the Word options menu, is to set the default custom dictionary to be located on the Dropbox.  If you set all of your devices’ copies of Word to access the same file, you’ll be able to save time by avoiding the re-entry of custom words every time you switch computers.  If you already have a hefty custom dictionary file, just copy it to somewhere on the Dropbox (maybe the same folder you set up for your AutoRecover files?) and then add it and set it as the default in Word on all of your devices.  First, click over to the Proofing tab in the Options menu:

42813-Word-proofingNext, click on the Custom Dictionaries button and you should see the following context menu appear:

42813-Word-customdicAs you can see from the file path below the dictionary list, I’ve already set my default CUSTOM.DIC file to a location on the Dropbox.  I use the same file for Word on my desktop and on my laptop, so I don’t have to repeat myself whenever adding new entries to the dictionaries.

3. Auto-correct database files

Finally, this last part requires the most work, but it can pay off if you use Word frequently.  I like to manually type up notes from books that I’m reading, including entire paragraphs that I think I may want to reference later in my own writing.  This requires a lot of fast typing, and I often make typos–in fact, I often make the same typos.  In cases where it seems safe to create an auto-correct pattern to fix these for me, I do so.  You can take a look at the patterns that are already built into the Word auto-correct database: just make a typo in Word, then right-click on it and select Autocorrect, then Autocorrect Options.  At the bottom of the context menu is a list of words (on the left) that will automatically be replaced by other words (on the right).  This is how Word is able to interpret (c) and turn it into a copyright symbol, for example–or create smiley faces based on emoticons.  But there are also a lot of obvious, frequent typos that Word recognizes and automatically corrects: teh becomes the, agreemnet becomes agreement, etc.  I suppose Microsoft could be forgiven for not including such typos as anthroplogy or hegmeonic–most folks probably don’t use these on a frequent basis, but I certainly do.  I found that over time, as I experimented and added more auto-correct patterns to my laptop (my primary note-taking computer), it was saving me time and cleaning up my most-repeated typing errors.  I wanted to extend this benefit to my desktop as well, but Word didn’t provide a way to relocate or specify the files where these auto-correct patterns are saved — they aren’t included in the custom dictionaries, described above.42813-Auto-correct

 

I did some research and found that the contents of custom auto-correct patterns are stored in a few files within the default folder on the C drive where Office likes to store configuration files: C:\Documents and Settings\username\Application Data\Microsoft\Office  These files are named according to a pattern: MSO(Language ID Number).acl, where the Language ID number is a 4-digit code corresponding to each of the languages that Microsoft has provided support for (a few dozen seem to be available).  MSO1033.acl holds the entries for English; MSO1027.acl holds the entries for Catalan, etc.  You may have more or fewer or different files depending on which languages you have installed support for in Word.  Since Word requires these files to be located in the default folder, the only way I could sync them to Dropbox and share them across computers was to make use of symbolic links (described in an earlier post).  I located the files on my laptop, copied them to a folder in my Dropbox, deleted the originals, then used Link Shell Extension to easily replace the originals with symbolic links to the synced copies in Dropbox.  Then, on my desktop computer, I deleted the MSO…acl files and replaced them with symbolic links to the same synced copies in Dropbox.  Now my desktop copy of Word draws from the same auto-correct patterns as my laptop, without my having to manually re-enter all of the patterns.  And as I add new patterns on either computer, the other computer automatically benefits. Time saved!

Found tip: avoiding multiple instances of JabRef

Q: Is it possible to open files, e.g. from my web browser, in the running instance of JabRef instead of opening a new instance?

A: Yes, if you activate the “Remote operation” option under Preferences -> Advanced. This option allows new instances of JabRef to detect the instance already running, and pass files to that instead of opening a new window.

via JabRef reference manager.

Another dilemma I faced with JabRef was that whenever I tried importing directly from Google Scholar, it would open a new instance of the program instead of inserting the data into the instance that was already running.

Some explanation if this doesn’t make sense: An “instance” of a program refers to the running process; you can think of it as a window.  When you open a Word document, it launches an instance of Word.  If you open another Word document, a second instance of Word is launched to display that document.  The most obvious reflection of this is that you will have two separate ‘windows’ of Word open on your screen.  You can also launch the task manager (Ctrl+shift+escape) and see that there are two ‘WINWORD.EXE’ processes running.

With JabRef running and my desired bibliography database opened, I wanted to directly import results from Google Scholar.  However, before toggling the setting mentioned above, JabRef was opening a separate instance for each citation I clicked, and duplicating my database each time.  Now I have JabRef behaving nicely: each time I choose ‘Cite’ and ‘Import to RefMan’ for a Google Scholar result, it appends the data to my open database.

Of course, it’s also possible to use the built-in Google Scholar web search in JabRef, but I prefer using my web browser to get the ‘full’ experience. It also allows me to download PDFs if I don’t already have a copy.

Essential software: Link Shell Extension

One of the key ingredients in many of my Dropbox ‘hacks’ is the symbolic link.  In a nutshell, symbolic links are like post-it notes that tell your computer “Hey, I moved these files. Here’s a map to where they are now, but just pretend like they’re in the original spot. Kthxbai!”  If you’ve ever created a shortcut in Windows, this may sound like the same thing.  The crucial distinction is that most programs will follow the map to the relocated files and behave as if they are still in the original location.  Why is this so great?  Because it allows you to both 1) surpass one of the chief ‘limitations’ of Dropbox and 2) save virtually any file or folder on your computer to the cloud, either for backup or to sync between multiple devices.  It also allows you to move files from small, crowded drives (like a solid state drive) to larger or more spacious drives, hopefully without breaking any functionality in the process.

Anyway, symbolic links are normally created using the command line interface, which is tedious and leaves a lot of room for error (e.g., accidentally mistyping one character could leave your files in limbo).  Enter Link Shell Extension.  This freeware utility adds a context menu inside the Windows File Explorer.  Whenever you right click on a file or folder, you’ll see a new option to “Pick Link Source.”  After picking a source, you can navigate to another folder and right click again to ‘Drop’ the source as any of a number of types of links.  For my purposes, I always use symbolic links.

I’ll show some specific examples of files that I’ve moved to Dropbox and symbolically linked to their original location in other posts.  For now, I’ll just outline the general method:

  1. Locate the files you want to move. It’s probably best to move the entire folder, so you can more easily keep track of everything — and in case additional files are generated or added to the folder in the future.
  2. Copy the folder/files, either with Ctrl+C or using the right-click context menu.
  3. Navigate to wherever you want the files to reside–either inside your Dropbox, if you’d like to sync them to the cloud, or to a more spacious drive if you’re trying to save space on your SSD.
  4. Paste the folder/files.  You may want to create a new folder just for storing and organizing all of your symbolically linked files.
  5. Now return to the original files/folder and delete them.  This will free up the space they were using.  Alternatively, you could cut and paste in step 2 instead of copying, but if your system encounters problems while removing the files (e.g., files that are still in use by a running program), it can make a mess of things–some files will be deleted, others won’t.  I prefer copying and then deleting because I know I have a full backup of everything sitting in my destination folder, so I can use every tool at my disposal to delete the originals without worrying about losing anything.
  6. Navigate to your copied files, e.g. in the folder you created inside your Dropbox folder.  Once you’ve installed Link Shell Extension, use the new context menu option to select this folder as the Link Source: link-shell-start
  7. Now navigate back to the original location of the files you copied/cut/deleted, and right-click again to use Link Shell Extension to Drop the source as a symbolic link:link-shell-drop
  8. Voila!  Your computer will basically treat the symbolically linked files as if they were never touched; if you edit them, the changes will still be saved just like before.  The difference is that they are now physically stored in a different location, and if they’re inside your Dropbox, you can share them with your other devices.  This means that even if you didn’t install a given program inside your Dropbox folder to begin with–or if the program stores its configuration files in another directory, like C:\Users… or C:\AppData…– you may still be able to sync those files while satisfying the program’s insistence on locating its files in predetermined folders on your C drive.  I’ll offer some more concrete examples of how this is a handy feature in future posts.

Head on over to the source page to download Link Shell Extension or to read a LOT more about all of the program’s functions.  If you find it useful like I do, please send a donation to Hermann Schinagl, the creator.

Source:

Link Shell Extension