Thursday, November 10, 2011

Signatures and Reply Position in Thunderbird

To set a signature in Thunderbird is pretty easy, just follow the instructions but if you have multiple identities resolving to the same underlying email address, Thunderbird looks at the identity to determine whether to use the signature and what settings to use to locate the reply. Thunderbird by default places the reply AFTER the message rather than before. (Can someone job that developer...)


To manage the settings for multiple identities, go into Tools->Account Settings and click [Manage Identities] then for EACH identity click [Edit] and adjust the settings on each identity accordingly.

Tuesday, October 4, 2011

Making the background transparent in Photoshop.

1. Open the file in Photoshop
2. Go to Image->Mode and make sure the colour is on RGB not Indexed Color
3. Go to Layer->New to add a background layer. Ensure the Color drop down is set to "None", Mode is set to "Normal". Change the Opacity to 0%. Click OK.
4. Right click the image layer (not the transparent layer you just created) and select "Convert to Smart Object"
5. Double click the image layer (You'll get a warning, click OK)
6. Click Select->Color Range, then move the dropper over the image to the color you want to be transparent. Click OK. The outline of that color should be selected.
7. Goto Edit->Clear
8. Save the image and you are finished.

Monday, September 26, 2011

Can't open stored proc in MySql Workbench

I recently upgraded MySql versions to the latest version. When I did that I found I couldn't open some of my stored procs in Workbench. The issue was due to having a field in a table named "signal". I was referencing that field in statements in the procs that wouldn't open. It turned out that "signal" is a keyword in the latest release and that was causing Workbench to not be able to open the proc. I would have thought it would open it then fail on saving???.

The fix:
1. Rename the field on the table to something that is not a keyword.
2. In Workbench execute Select * from mysql.proc and locate the problem proc.
3. Create a new proc in Workbench by going to the Routines section of your database, right clicking and selecting "Create Routine"
4. Copy the param_list and body fields from the resultset in 2, into the new proc shell by right clicking on the fields and selecting "Copy Field Content". ie, recreate the proc.
5. Edit the re-created proc to modify the old field reference to the new field name
6. Give the proc a suitable name and apply it.
7. You should now be able to open the new proc using "Alter Routine". If so, drop the old proc, and change the name of the new proc to the name of the old proc.

Friday, September 23, 2011

SQLite Manager for XULRunner

sudo /Library/Frameworks/XUL.framework/xulrunner-bin --install-app /Users/skillm/Downloads/sqlitemanager-xr-0.7.6-all/ /Applications

Showing Lions Invisible User Library Directory

Go to the terminal and type:

chflags nohidden ~/Library

that will permanently unhide it from your user folder. To get there temporarily just hold the option key while going under the Go Menu in Finder and you'll see your Library listed.

Tuesday, September 20, 2011

Visio for EA on VS2010, 2008

In the registry, go to:
HKLM\Software\Microsoft\VisualStudio\8.0\Setup\VS\VSTD\

Add a String with name ProductDir and put any text inside.

VisioEA installation will start

Wednesday, August 17, 2011

Modifying Actionsheets

Thankyou MrAppleHead


// Instantiate once within a method
if (self.actionSheet==nil) {
UIActionSheet *as = [[UIActionSheet alloc]
initWithTitle:@""
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:@"Load Data"
otherButtonTitles:@"Update Data",nil];

//[actionSheet showInView:self.view];
self.loadUIButton.frame = CGRectMake(24.0f,25.0f,275.f,46.0f);
[as addSubview: self.loadUIButton];
self.updateUIButton.frame = CGRectMake(24.0f,78.0f,275.f,46.0f);
[as addSubview: self.updateUIButton];
//[actionSheet addSubview: self.cancelUIButton];
//[as showFromToolbar: self.navigationController.toolbar];
self.actionSheet = as;
[as release];
}
[self.actionSheet showFromToolbar: self.navigationController.toolbar];
NOTE: This worked perfectly in a previous app I built.