One handy function I’ve added to .bashrc (so it is always available) under Cygwin (the LINUX command environment for Windows) works out the current working version of a document. It assumes that you keep copies that have a version number or date in the file name that will sort correctly. # Opens the latest version of a file using the Windows default application # Assumes that you have a range of files that can be identified using some for of prefix # and that the last part of the file contains a version number or date that sorts in the correct order # e.
2009-07-15 Speeding up Cygwin
Yesterday I mentioned my success with Cygwin. One issue I did have though was with the speed of startup. It was taking 15-20 seconds to start a BASH shell. It turns out that this was a PATH issue. I went through my Windows PATH and cleared out the clutter. Now it takes just around 3-4 seconds for a full BASH login and less still for just running a script. I now find myself using the BASH shell for all sorts of things and I’ve set up a number of alias’s to switch to folders I’m using a lot and to open common documents.
I’ve been struggling with trying to get a new backup routine working for my Laptop. I should point out that I have several complex requirements for backup so my needs are probably not average. However, it really shouldn’t be this hard! I need to use a combination of BZR (Bazaar) for document version control and RSYNC (for files that don’t need version control and for those folders that might contain files too big for version control systems – around 1⁄3 to 1⁄2 available memory).
One of the features available under UNIX is the Message of the Day (MOTD). This is run every time you start a command prompt and displays the content of a file. In addition, the UNIX shells allow all sorts of stuff to be run and configured every time you start a new prompt using the .profile and .bashrc command files. Windows users don’t generally expect that kind of flexibility from their command prompts.
A good backup strategy for any computer involves keeping control of where stuff is stored. The fewer locations that contain files that change, the fewer locations have to be maintained. UNIX users have always had the ability to keep things wherever they wanted and then to LINK that information into the required location. Basically, links create a link or tunnel between one file or folder and another. Most of the time, you will not notice that you’ve entered a tunnel and you are not interested really.
After yesterdays OneNote tool, I thought I’d do another while I think about it. Another annoyance of OneNote is it’s lack of control over pasting information from the clipboard. I’ve raised a suggestion with MS to improve this; you can see my comment in the newsgroup. To ease things a little if you need to copy and paste lots of stuff to OneNote, here is an AutoHotKey script to help. You need to assign this to a hot-key and have OneNote open in the background.
Although I like Microsoft OneNote and use it continuously, it does have a few failings. One of these is the inability to set the default styles and layout for text. In particular, when you create a new paragraph or list entry in OneNote, the default – non-changeable – setting is to have no white space between the paragraphs. This is very poor design and makes more than a small amount of text quite unreadable.
There are several ways to change global or user environment variables manually in Windows. Most are well known so I wont repeat them here (e.g. in Vista or Windows 7, Control Panel/User Accounts, Change my environment variables). However, sometimes you want to do this from a command (aka script or batch) file. This is not as straightforwards as it might seem. That’s because if you simply set the variable – e.
Following up from my article on backing up USB drives, this recipe backs up the critical files on my desktop to remote storage (a NAS device on my network). Note that PC2 is the desktop to be backed up, SLUG1 (192.168.1.2) is the NAS device and USER1 is the user id doing the backup. #!/bin/bash # Backup Key PC2 files to Slug1 # Sync 2007 picture folders ##rsync -rl /home/user1/pictures/2007/ user1@192.
USB Drives of all kinds need to be backed up and the best backup is an automatic one (it’s the only way to make sure that it gets done!). So here is one recipe for doing just that using RSYNC and some BASH scripting magic. I’ve split this into two files. You don’t have to do this of course and one may well be better for you. I used two because I can run the second one manually as well.