All posts by teliaz

Uninstall XCode / Xcode 4 Preview

There is no application in Mac OSX to uninstall Programs. The only thing you can do is drag an application to the Trash Can.
However, it is quite simple to uninstall applications on MAC OS; you just move the application to the trash bin. Doing this, however, does not completely take care of uninstalling programs on Mac.

To understand why, you need to know that programs on Mac computers are of two types; the bundled programs, which can be uninstalled just by moving them to the Trash bin, and the non-bundled programs, which can be uninstalled using the same method, but additional manual work is required to clean up after them. Many programs leave behind settings and other small files that continue to take up space on your hard drive. These must be cleared out as well to ensure that you efficiently uninstall programs on Mac.

Here are some third-party uninstallers for your Mac, and their features:

Appcleaner

Appcleaner
Finds support files and preferences left behind by programs, and removes them from your hard disk.
Select the program that you want to uninstall and drag and drop it into AppCleaner

Apptrap

Apptrap
Takes care of supporting files, preferences and system files.
When you delete an application, an AppTrap window pops up and asks you if you want to remove the trashed program’s associated files.

Now, what about XCode?

The thing is that XCode is not listed as application, application bunldes and widgets.
To succefully remove XCode you have to run this command

sudo /Library/uninstall-devtools –mode=all

is the directory where the tools are installed. For typical installations the full path is /Developer/Library/uninstall-devtools
Cant find it

find / -type f -name “uninstall-devtools”

Easy enough, just make sure this is what you really intend to do as once it’s gone, it’s gone.

Coredata Resource Links

 

Apple resource

Apple’s Core Data Programming Guide

Efficiently Importing Data

Apple guideline to import data

Cocoa is my Girlfriend

Super easy Fetching Core Data

Cocoa with Love

Core Data Line Fetch

Cocoa Dev Central

nice article with example structure and images

Import Data to CoreData Project

  • Create the model in XCode (it is essential do this first, because XCode uses a specific naming convention and adds several underlying tables to the actual data model.
  • Run the application in the Simulator and with the app running … go and copy the database (/users/library/Application Support/iPhone Simulator/User/Applications/ to some other location
  • Open up the database (I use SQLite Manager plugin in Firefox)
  • From here I import my data from a CSV file once I have updated all of my CSV column names to match the table names
  • Look at the CoreDataRecipies sample code for including a pre-populated database (code is in the Delegate.m file)
  • Import the database in your application and you should be good to go.
/**
 Returns the persistent store coordinator for the application.
 If the coordinator doesn't already exist, it is created and the application's store added to it.
 */
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
	
    if (persistentStoreCoordinator != nil) {
        return persistentStoreCoordinator;
    }
		
	NSString *storePath = [[self applicationDocumentsDirectory] stringByAppendingPathComponent:@"Recipes.sqlite"];
	/*
	 Set up the store.
	 For the sake of illustration, provide a pre-populated default store.
	 */
	NSFileManager *fileManager = [NSFileManager defaultManager];
	// If the expected store doesn't exist, copy the default store.
	if (![fileManager fileExistsAtPath:storePath]) {
		NSString *defaultStorePath = [[NSBundle mainBundle] pathForResource:@"Recipes" ofType:@"sqlite"];
		if (defaultStorePath) {
			[fileManager copyItemAtPath:defaultStorePath toPath:storePath error:NULL];
		}
	}
	
	NSURL *storeUrl = [NSURL fileURLWithPath:storePath];
	
	NSError *error;
    persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: [self managedObjectModel]];
    if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:nil error:&error]) {
		// Handle error
		NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
		exit(-1);  // Fail
    }    
		
    return persistentStoreCoordinator;
}

iPhone Wifi MacAddress

#if ! defined(IFT_ETHER)
     #define IFT_ETHER 0x6/* Ethernet CSMACD */
#endif

- (IBAction)testAction:(id)sender
{
      #pragma unused(sender)
      BOOL                              success;
      struct ifaddrs *               addrs;
      const struct ifaddrs *           cursor;
      const struct sockaddr_dl *      dlAddr;
      const uint8_t *               base;
      int                              i;

      success = getifaddrs(&addrs) == 0;
      if (success) {
          cursor = addrs;
          while (cursor != NULL) {
               fprintf(stderr, "%s\n", cursor->ifa_name);
               if ( (cursor->ifa_addr->sa_family == AF_LINK)
               && (((const struct sockaddr_dl *) cursor->ifa_addr)->sdl_type == IFT_ETHER) ) {
               dlAddr = (const struct sockaddr_dl *) cursor->ifa_addr;
               fprintf(stderr, " sdl_nlen = %d\n", dlAddr->sdl_nlen);
               fprintf(stderr, " sdl_alen = %d\n", dlAddr->sdl_alen);
               base = (const uint8_t *) &dlAddr->sdl_data[dlAddr->sdl_nlen];
               fprintf(stderr, " ");
               for (i = 0; i < dlAddr->sdl_alen; i++) {
                    if (i != 0) {
                    fprintf(stderr, ":");
                       }
                    fprintf(stderr, "%02x", base[i]);
               }
               fprintf(stderr, "\n");
               }
               cursor = cursor->ifa_next;
             }

     freeifaddrs(addrs);
     }
}

Linq Update FK – Operation is not valid due to the current state of the object

sql serverTo update the entity in question you need to get a new entity for it from the context rather than setting it directly.

Wrong Way

OrderRecord.customerId = 105;

Throws an error!
“Operation is not valid due to the current state of the object”

Solution

OrderRecord.tblCustomer = db.tblCustomers.Single(t => t.customerID == 105);

Returns no error!

Enable TSQL xp_cmdshell command

SQL Server blocked access to procedure ‘sys.xp_cmdshell’ of component ‘xp_cmdshell’ because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of ‘xp_cmdshell’ by using sp_configure

A simple script to enable xp_cmdshell in SQL Server

sp_configure 'show advanced options',1
GO
RECONFIGURE
GO
sp_configure xp_cmdshell,1
GO
RECONFIGURE

Remove Maintance WP State

Description of error

If you’ve been keeping on top of your WordPress updates using the automatic upgrade feature, you may have run into a problem immediately after upgrading. A message that prevents access to any page on your blog, “Briefly unavailable for scheduled maintenance. Check back in a minute”.

Cause of this message

During an automatic upgrade, WordPress places a file in the blog root directory called “.maintenance” to prevent visitors from being confronted with ugly, broken pages during the upgrade process. That’s a great little built-in feature, but if the upgrade gets interrupted or fails for any reason, that file doesn’t get deleted and nobody, including you, can access your blog. No worries, this is (most likely) the simplest fix ever.

Official Solution

All you have to do is delete the .maintenance file from the blog root directory. Simple as it gets. After you’ve deleted the files you should be able to access the site just fine, but you may have to run the automatic upgrade again. How do you know if you should run it again? You’ll see a notification on the dashboard page that a new version of WordPress is available…same as you always see when a new upgrade is available. If you don’t see that message, you’re good to go.

In case problem persists

In my case the “. maintenance” file was not there at all. Started exploring the blog files and there it was.
In wp-content/upgrade/<pluggin_name>.temp
The pluggin name was the latest pluggin i tried to update. So i deleted this folder and everything came back to normal state.

I hope this helps.

Getting NSDate from NSString

Very useful, yet short and simple, code snippet on how to rip the NSDate from NSString using NSDateFormatter:

NSString *dateString = @"2010-01-19";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// this is imporant - we set our input date format to match our input string
// if format doesn't match you'll get nil from your string, so be careful
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *dateFromString = [[NSDate alloc] init];
// ta-daaa!
dateFromString = [dateFormatter dateFromString:dateString];

If you need more info about different date formats see Unicode Date Format Patterns. Of course if you usually work with standard dates you can use setDateStyle instead of setDateFormat.

Rebuild Icon Cache in Windows (Vista and 7)

Rebuilding the Icon Cache Database

  • Close all folder windows that are currently open.
  • Launch Task Manager using the CTRL+SHIFT+ESC key sequence, or by running taskmgr.exe.
  • In the Process tab, right-click on the Explorer.exe process and select End Process.
  • Click the End process button when asked for confirmation.
  • From the File menu of Task Manager, select New Task (Run…)
  • Type CMD.EXE, and click OK
  • In the Command Prompt window, type the commands one by one and press ENTER after each command:
    CD /d %userprofile%\AppData\Local
    DEL IconCache.db /a
    EXIT
    
  • In Task Manager, click File, select New Task (Run…)
  • Type EXPLORER.EXE, and click OK.