Saturday, July 14, 2012

Setting up SVN on Windows

Source and version control is a very useful thing to use for any developer, even on an individual level. It is surprisingly easy to set up. The following two links provide the necessary steps to set up an SVN server on a Windows environment:

http://www.codinghorror.com/blog/2008/04/setting-up-subversion-on-windows.html
http://willperone.net/Code/svnserver.php

In short, it boils down to installing the Win32 SVN server, configuring access control, and creating a repository. The step about setting up a service is optional - you can just run the server when needed, using:

svnserve -d -r RepositoryName

On the client side, all you need to do is install TortoiseSVN and set up your project folders. Designate a new folder (e.g. "projects" or "sources") to contain all your SVN projects. Then do an SVN Checkout inside that folder, and try your first commit. The path to connect to looks like this:

svn://machinename/ .

If you want multiple repositories for unrelated sets of projects, just organise them that way on the client side before you start committing. For example, you can have a directory structure that looks like this:

C:\sources\java\MyFirstJavaProject
C:\sources\java\MySecondJavaProject
C:\sources\cs\MyFirstCSharpProject
C:\sources\cpp\MyFirstCPlusPlusProject
C:\sources\cpp\MySecondCPlusPlusProject

Problems that are easy for newbies (such as myself) to run into include connection and authorisation issues. If you can't connect, or can't find the repository, then make sure the SVN path is as described above, the service is running, and that port 3690 is open in your firewall. Authorisation issues always relate to the svnserve.conf and passwd files, which are located in the conf folder of the repository.

For those concerned about retention of history and data for backup purposes or when eventually moving the SVN server to a different machine, check out the svnadmin dump and load subcommands, illustrated in the following article:

http://www.petefreitag.com/item/665.cfm

Wednesday, December 28, 2011

MySQL Error Nr 1045: Access denied ... (using password: YES)

If you opt to reinstall MySQL, the following error is probably what you'll find upon reinstalling and finishing the MySQL Instance Config Wizard:


The solution is to not only uninstall MySQL, but also remove (a) the directory where it is installed, and (b) the directory where it keeps its settings. On Windows 7, the latter can be found at C:\ProgramData\MySQL, or C:\Users\All Users\MySQL which is the same thing. Once these are removed, proceed to reinstall MySQL, doing a detailed configuration (from the MySQL Instance Config Wizard) to reset the root password. If you miss any of these steps, you might need to uninstall and reinstall again.

Wednesday, December 7, 2011

Search using Google, or Google


When installing the Google Chrome browser, you are asked to choose which search engine you want to use directly from the browser. This might seem to allow fair competition, although there is obviously no mention of Bing. What I found funny, though, is that two out of four choices are Google.

Monday, October 17, 2011

NetBeans squashed button bug

For a while I've been having a problem with NetBeans 7.0.1 which is sometimes creating buttons that look squashed, like a sausage. I haven't noted a pattern that causes this bug to occur, but I finally found a solution. You have to Clean and Build Main Project (Shift+F11), and then the buttons will render correctly when you run the project.

Saturday, October 8, 2011

SQL String Concatenation in Informix, MySQL and SQL Server

Like selecting the top N rows, syntax for string concatenation is DBMS-specific. The following are examples for Informix, MySQL and SQL Server.

Informix

select name || ' ' || surname
from customer;

MySQL

select concat(name, ' ', surname)
from customer;

Note: the MySQL concat() function can accept any number of arguments.

SQL Server

select name + ' ' + surname
from customer;

Friday, October 7, 2011

How to build the Boost libraries

The Boost libraries for C++ are distributed in source form, and can be easily built by following these instructions. From the Boost root directory, simply run the following two commands:

bootstrap
.\b2

Tuesday, October 4, 2011

Run as different user, in Windows 7

Here's a little gem from a friend of mine. In Windows 7 we all know how to right click and "Run as administrator". But how do you run a program as a different user, perhaps as an administrator on a different domain? The answer: when you Shift + Right click, you get an additional "Run as different user" option.

Thanks, Microsoft, for hiding stuff from us. You really know all about usability.