Sunday, August 5, 2012

MySQL drop all tables that follow a pattern

Playing around with drupal I had to drop all tables that were created by a module. To do so I used the following chain of commands :
mysql -u your_user -D your_database_name -e "show tables" -s | 
  egrep "^Whatever_" | 
  xargs -I "@@" echo mysql -u your_user -D your_database_name -e "DROP TABLE @@"

This will print out all the shell commands to drop the tables beginning with "Whatever_" (note the ^ regex notation). If you want it to actually execute those commands, remove the word "echo".

“Request for the permission of type 'System.Web.AspNetHostingPermission’” fix

If you try to transfer an old DNN installation to a brand new Windows Server 2008 R2 you will probably run in the following run time error:
" System.Security.SecurityException: Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed."

Thursday, July 5, 2012

Setup sharepoint server 2010 on an sql server 2012 using local account

To avoid installing the sqlserver express 2008 engine that is bundled with sharepoint server 2010, you must manipulate the installation a bit. First and foremost, install sql server 2010.  Then start the SP 2010 installation as part of a farm. When the installation reaches the final step, uncheck the “configure server” option. Install sharepoint 2010 sp1 (in order to drop the system stored procedure sp_dboptions dependency). Only then, can you configure the server to connect to the already installed sql server.

Wednesday, June 6, 2012

Compile git on iPad

Having gcc up and running on an iPad, you should make a symbolic link so that cc points to gcc in /usr/bin (ln /usr/bin/gcc /usr/bin/cc) .

Download and extract the latest source from gitHub

curl –O -k https://nodeload.github.com/git/git/tarball/master

tar xvf master

Build by issuing the following command in the extracted source dir (which I renamed to git):

make NO_PERL=1 NO_TCLTK=1 NO_GETTEXT=1

Sign the app:

ldid –S git

And you are ready to use git to clone the webinos repository Smile 

iPad:~/git root# ./git clone git://github.com/webinos/Webinos-Platform.git ../webinos
Cloning into '../webinos'...
warning: templates not found /var/root/share/git-core/templates
remote: Counting objects:
4297, done.
remote: Compressing objects:
100% (2384/2384), done.
remote: Total
4297 (delta 1827), reused 3944 (delta 1647)
Receiving objects:
100% (4297/4297), 46.08 MiB | 275 KiB/s, done.
Resolving deltas:
100% (1827/1827), done.
Checking out files:
100% (1682/1682), done.

iPad iOS 5.1 “configure: error: connot run C compiled programs.”

I recently tried to compile a program in my iPad which runs iOS 5.1.1. Installing the gcc is quite straight forward and if you follow a slightly updated version of tootallnate’s guide you will easily get to the point of having gcc (get the iOS 5.0 sdk instead of 4.3 mainly). The problem is that Apple changed iOS 5 to run only signed apps and this renders most of the existing configure scripts useless.

Friday, December 16, 2011

Debugging a node.js app in windows (no eclipse)

If you don’t want to install eclipse and google dev tools to debug your node.js app you may use node inspector which is a node.js app that resembles google chrome’s dev tools. You start your node app passing the –debug-brk (or –debug if you don’t care about the first lines of code) and then fire up node inspector and debug the app. I actually have node inspector running all the time and I simply refresh the webpage when I reload the application.

Happy debugging…

Thursday, December 15, 2011

strcasecmp: identifier not found when porting from linux to windows

Ever tried to port from linux to windows and got the :

error C3861: 'strcasecmp': identifier not found

The easiest workaround is to add a  conditional define (visual studio add the –D _WIN32 or _WIN64 depending your OS) and define the following mappings:

#if defined(_WIN32) || defined(_WIN64)
  #define snprintf _snprintf
  #define vsnprintf _vsnprintf
  #define strcasecmp _stricmp
  #define strncasecmp _strnicmp
#endif

Another common missing identifier is the Uint which can be solved adding:

#define uint=unsigned int