I have a lot of family photos and scans that I've taken over the years. My current problem is that I keep a couple backups all over the place and a couple times I've tried different methods of storing the photos to make it easier to find a particular photo.
First I tried the old store by year. This wasn't bad when I wasn't taking too many shots but as time went along, and I had a kid, I had to change to year and month.
Something like
2005
01 - Jan
02 - Feb
The reason for the 01, 02 is to keep the order correct in Finder/Explorer.
This of course made it a pain when I sports and trips came along, so I changed to an event based folder lay out.
Soccer
2005 - name of team
2006 - name of team
Trips
2005 - where I went
2006 - where I went
NOTE: All of this was before iPhoto started doing events, etc.
Also I do not want to have iPhono or Aperture or Adobe controlling where my images are stored.
That got messy since there were a lot of miscellaneous image that didn't fit the layout or didn't really have that many images.
In the middle of all of this I'm making copies of copies of copies of the photos so that I don't lose any.
Well, that brings me to my next problem. Dups, lots and lots of dups.
I wrote a quick Perl script to find the files with the same name but that failed since as I purchased new cameras I ended up with name overlaps (another issue brought up when trying to put all the files in one directory.
I'm now testing an interesting OS X application called PhotoSweeper. It will go and compare images and makes it easy to cleanup my photo tree.
Link: http://overmacs.com/photosweeper/
So far it's working well. I've been using the default settings and have found thousands of dups from when I just grabbed everything and dropped them into a single directory tree.
My latest attempt is to do the following:
1: Store by year
i.e.
2012
2: Sub-store but sport/event OR month for the stuff that's not fitting into a sport or major event.
2001
2012-01 Jan
2012-02 Feb
2012 XC
2012 Skiing
2012 Trips
3: For each sport/event I'll group by what the event is:
2001
2012-01 Jan
2012-02 Feb
2012 XC
2012-10-05 race name
2012 Skiing
2012 Alpine
2012 Nordic
2012 Trips
2012-10-01 Yosemite Trip
This should make for a bit more manageable photo library.
NOTE: by storing by year I can archive past years off to other media as needed.
Hey! This is useful.
Sunday, October 7, 2012
Tuesday, October 2, 2012
VMware Fusion Woes
I really like VMware Fusion and use it daily for development and testing. The following is a list of issues that I've had and what the resolution was:
I tracked it down here: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2036012
The solution was to add this:
mks.gl.use32core = TRUE
To the .vmx file.
This seems to work with the non-encrypted images but the vmx in an encrypted image is also encrypted and I'm having a heck of a time decrypting it.
Update: It appears that once you 'encrypt' a VM you can't 'unencrypt' it. I keep getting errors when I try to turn off the encryption.
This prevents me from adding the patch above since VmWare (rightly so) encrypts the .vmx file contents.
So on my Mac Pro I need to roll back to VMware 4.x and figure out a way to decrypt my windows 7 VM.
I'll probably just clone it to a non-encrypted VM, I'll update this page once I figure out how.
1: Black Screen.
I have an old MacPro 1.1 and while Apple think that it's at the end of it's life for OS upgrades (Lion is the last). It appears that either 10.7.5 or Fusion 5.0.0 broke something and now I get black screens where I should have a vm screen.I tracked it down here: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2036012
The solution was to add this:
mks.gl.use32core = TRUE
To the .vmx file.
This seems to work with the non-encrypted images but the vmx in an encrypted image is also encrypted and I'm having a heck of a time decrypting it.
Update: It appears that once you 'encrypt' a VM you can't 'unencrypt' it. I keep getting errors when I try to turn off the encryption.
This prevents me from adding the patch above since VmWare (rightly so) encrypts the .vmx file contents.
So on my Mac Pro I need to roll back to VMware 4.x and figure out a way to decrypt my windows 7 VM.
I'll probably just clone it to a non-encrypted VM, I'll update this page once I figure out how.
Friday, September 21, 2012
The first thing I do. (part 2 - Windows)
Every time I setup a new windows VM or system I do the following:
1: Go grab Microsoft Security Essentials. It just works and I like that.
2: Head over to Ninite.com ( http://ninite.com/ ) and add the following:
NOTE: to get telnet you need to include inetutils.
4: Grab Firefox from firefox.com.
That gets me to where the new box is somewhat useful.
1: Go grab Microsoft Security Essentials. It just works and I like that.
2: Head over to Ninite.com ( http://ninite.com/ ) and add the following:
- Putty -- to get real work done
- CutePDF or FoxIt reader -- to look at pdf's
- Notepad++ -- handy notepad replacement.
- WinMerge -- great for comparing source files
- FileZilla -- in case I'm too lazy for the command line
- 7-zip -- to uncompress stuff
- WinRar -- ditto
- WinDirStat -- shows where all the disk space went
- Launchy -- can't live without keyboard shortcuts.
NOTE: to get telnet you need to include inetutils.
4: Grab Firefox from firefox.com.
That gets me to where the new box is somewhat useful.
Thursday, September 20, 2012
VIM hints
I need a page for keeping vim hints. This is that page.
The stuff I use every day, j/k h/l etc are easy to remember but the following stuff I just don't do often enough to have it bound to my fingertips.
:.,''a >
note: works in both directions. (as in < )
You can indent x lines by doing x<< or x>>
Joining lines:
It's easy to join a line with the shift-J key, however that inserts a space (after trimming any additional spaces in the joined line.
Using the command: gJ will join and not insert spaces. ( g then J ).
The stuff I use every day, j/k h/l etc are easy to remember but the following stuff I just don't do often enough to have it bound to my fingertips.
Indent a block:
tag and use the > key.:.,''a >
note: works in both directions. (as in < )
You can indent x lines by doing x<< or x>>
Joining lines:
It's easy to join a line with the shift-J key, however that inserts a space (after trimming any additional spaces in the joined line.
Using the command: gJ will join and not insert spaces. ( g then J ).
The first thing I do. (part 1 - unix)
When I get on a new machine where I will have to spend some time I do the following tasks to make the environment somewhat sane
Unix/Linux/Solaris/etc
1: set the default shell to bash.
2: create/update the .bash_profile with:
a: PS1 = <machine name> -- this is so I can have a bunch of putty
b: alias vi to vim
3: install vim if it's not already installed (this takes care of 2-b above)
4: install 'screen' if it's not installed.
5: start screen and created a bunch of windows to do the actual work from.
Screen is really nice in that a disconnection from system will not cause all of my work to be lost.
If I'm trying to build a minimal Linux distro I also grab BleachBit which helps get rid of a lot of the gunk left around on a build.
link: http://bleachbit-project.appspot.com/
Unix/Linux/Solaris/etc
1: set the default shell to bash.
2: create/update the .bash_profile with:
a: PS1 = <machine name> -- this is so I can have a bunch of putty
b: alias vi to vim
3: install vim if it's not already installed (this takes care of 2-b above)
4: install 'screen' if it's not installed.
5: start screen and created a bunch of windows to do the actual work from.
Screen is really nice in that a disconnection from system will not cause all of my work to be lost.
If I'm trying to build a minimal Linux distro I also grab BleachBit which helps get rid of a lot of the gunk left around on a build.
link: http://bleachbit-project.appspot.com/
Basic is back!
Out of college the first work language I coded in as Wang Basic on one of these. Back in the days when memory was talked about in bytes and storage was in 'k'. (compared to today where we talk about memory in meg and gig and storage in gig and tera).
From Wang Basic I moved on to doing some work on an Atari 400 using Atari Basic and later assembly.
So I was curious when a company called Byte Works release an app called techBasic for iOS devices.
Let me say up front that entering code using an iPhone is lesson in patience but for goofing around with the iPhone techBasic is pretty interesting.
I've purchased it and am using the bluetooth 4 (BLE) hooks to try to talk to some bluetooth devices. The amount of code (compared to trying this in ObjC) is pretty small and I can debug on the fly.
This simple program:
! initialize the bluetooth handler
BLE.startBLE
! we need to start a scan, this needs a string to pass around
dim uuid(0) as string
BLE.startScan(uuid)
!
! the BLE layer uses a callback/event mechanism for handling
! bluetooth activity. This function will get called each time
! a bluetooth device is seen.
!
sub BLEDiscoveredPeripheral( time as Double,
peripheral as BLEPeripheral,
services() as string,
adverts(,) as string,
rssi as single )
print "Found a bluetooth device, name: ", peripheral.bleName,
" rssi value = ", rssi
BLE.stopScan
end sub
Now if you have a ble device in discovery or advertising mode you should get a nice printout of the device name and rssi or signal strength.
more as I drill down.
From Wang Basic I moved on to doing some work on an Atari 400 using Atari Basic and later assembly.
So I was curious when a company called Byte Works release an app called techBasic for iOS devices.
Let me say up front that entering code using an iPhone is lesson in patience but for goofing around with the iPhone techBasic is pretty interesting.
I've purchased it and am using the bluetooth 4 (BLE) hooks to try to talk to some bluetooth devices. The amount of code (compared to trying this in ObjC) is pretty small and I can debug on the fly.
This simple program:
! initialize the bluetooth handler
BLE.startBLE
! we need to start a scan, this needs a string to pass around
dim uuid(0) as string
BLE.startScan(uuid)
!
! the BLE layer uses a callback/event mechanism for handling
! bluetooth activity. This function will get called each time
! a bluetooth device is seen.
!
sub BLEDiscoveredPeripheral( time as Double,
peripheral as BLEPeripheral,
services() as string,
adverts(,) as string,
rssi as single )
print "Found a bluetooth device, name: ", peripheral.bleName,
" rssi value = ", rssi
BLE.stopScan
end sub
Now if you have a ble device in discovery or advertising mode you should get a nice printout of the device name and rssi or signal strength.
more as I drill down.
Thursday, September 6, 2012
AirDrop over Ethernet
I don't really use wireless on my mac mini or iMac and so I was bummed when I found out that AirDrop doesn't work over ethernet.
Luckily I stumbled upon an article on Lifehacker
here: http://lifehacker.com/5939804/enable-airdrop-over-ethernet-even-on-unsupported-macs-and-hackintoshes
To the point, run the following in a Terminal session:
Then restart Finder with 'killAll Finder'
Note that I needed to enable AirDrop in the sidebar under Finder preferences.
Luckily I stumbled upon an article on Lifehacker
here: http://lifehacker.com/5939804/enable-airdrop-over-ethernet-even-on-unsupported-macs-and-hackintoshes
To the point, run the following in a Terminal session:
defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1
Then restart Finder with 'killAll Finder'
Note that I needed to enable AirDrop in the sidebar under Finder preferences.
Subscribe to:
Comments (Atom)