2010
03.04

Hey Folks,

A new release has just made it, fixing a couple of bugs, most importantly Issue #2! 64 Bit compatibility. The problem lied with the Scintilla control, and my lack of putting the DLL’s into the release! Because i only have the one machine and not a 64 bit machine, it worked perfectly for me. However, i’ve laid my hands on a 64bit VM, so now i can check to make sure things work as they should.

You’ll need to install SQL Server CE to save/load projects, but it should work without it. You’ll just get an annoying error every time the application starts. You can download it here, http://www.microsoft.com/downloads/details.aspx?familyid=85e0c3ce-3fa1-453a-8ce9-af6ca20946c3&displaylang=en. I’ll move this over to XML Serializer i think, it’ll just be easier that way, i want to have as few 3rd party references as possible.

Once your done there, go over to the project page and download the latest version!

http://googlecode.com/files/SQL-DBDiff_V0.2.zip?project=sql-dbdiff – Direct Link

http://www.microsoft.com/downloads/details.aspx?familyid=85e0c3ce-3fa1-453a-8ce9-af6ca20946c3&displaylang=en.
2010
02.21

Hi all, i am please to announce the first release of the SQL-DBDiff solution i forked at the beginning of this month. I have made a few changes, mostly cosmetic to make it a bit easier to use and nicer on the eye. I’ll be breaking those down throughout this post, but this program got it’s first official usage during the week for me at work, so i’m happy it can be released now and used as your favourite SQL Comparison/Sync/Merge/Diff tool.

First up, and most notably, the Visual Diff tab i have added. It is using a free component provided by Menee’s, and i encourage you to donate to a charity of your choice if you choose to use this application, it’s a fantastic component and does exactly what we need to do. Obviously, it will only show anything in the window if the object you are Diff’ing exists in the Source and Destination database. Here is a screengrab of it in action on my test database.

Next up, we have a more easily readable Schema window, so we can instantly see what has changed, been created, or been dropped. Without having to hunt through all the sub-folders trying to see what has changed. It might not look so bad here, but when comparing database’s with 150+ Tables/Procedures it can be quite tedious to see if anything in a sub-group has changed at all. It is displayed in the format of (Altered Objects #Count#, Created Objects #Count#, Dropped Objects #Count). I have a job to override the TreeViewControl render so that i can colour code this to match up the with the, however it’s a low priority and when i get some free time i’ll have a look. Feel free to send a patch!

Also, in the same area of the UI, i have re-jigged the Legend, it’s moved from the right-hand pane onto the left, where i feel it belongs. I have also enabled the filter check-boxes, so you can only display the Missing/Different/New objects if you wish. This too can help clear up some clutter. Please see the screengrab below of both of these features in action.

And lastly, as part of my cleaning spree, i have removed the Ascend references from the solution, i felt that the Gradient panels were terrible. It made the application look cheap and tacky. So they have been removed, in favour of standard WinForms panels, i don’t see any problem, and prefer the cleaner look. The compare and options button’s have also moved from the right hand side of the window, to next to the Connection Details panels, as this provides more width which comes in handly espcially with the Visual Diff tab. Screengrab below…

I’m sure you’ll agree, these aren’t ground-breaking changes, but i think they make the Comparing/Diffing/Merging easier, especially the Visual Diff tab, here is a full screenshot of all these features and the application running.

To download the release, please head on over to the Google Project page, where you will be able to grab the source, log issues and keep up to date with the daily changes on this project. http://code.google.com/p/sql-dbdiff/

UPDATE: Link to new version, fixes issues with x64. Here.

2010
02.07

I quite often have the need to compare the structure of 2 databases between servers, or sometimes on the same server. Whilst RedGate provide a very good solution, i prefer not to pay for software unless i really have to. I figure, i’m a software developer, i should be able to make one… or modify an existing open source one so suite my needs.

Now, there is already a very good solution, called Open DBDiff. Hosted on CodePlex, http://www.codeplex.com/OpenDBiff/. This does almost everything i need it to do and it’s open source, so i figure i will build upon what is already there. As there is no point in re-inventing the wheel. I have a few features that i have added (re-sizable window panes, and the biggest which is a visual diff tool.)

So i have created a project on google hosting, as this is an open project and i intend on keeping my code up to date with and further developments to Open DBDiff, please check here or on the google code project page here. I’ll be posting from time to time, but i intend to be updating quite regularly, as there are a few features on my list. Feel free to create issues and add suggestions of features.

2010
01.17

If you send alot of text messages, but usually you’re in front of a PC, you could use things like MyMobiler, which is a great tool for essentially remote viewing your mobile over USB/Wifi. However, i can’t get to my phone using USB/WiFi at work, so i needed another option, as i can type hella faster on a keyboard than i can on my phone. And i have an X1, which has a keyboard!

So i wrote 2me2u, which comes in 2 parts. You have the application which runs on the phone, and you have a website, which can be anywhere in the world.

Firstly, the website. Requirements are…

  1. PHP5 Enabled Web Server (Apache, IIS, LightHTTPd, etc)
  2. PHP5-sqlite (Needs to be sqlite2, will be upgraded in the future)
  3. Web Server needs to be exposed externally.

So, not many. If you can meet all those criteria, then we are sorted. We can get the website deployed, check it’s working, then talk about the application.

Download the website here, 2me2u website. Extract it to any folder you want inside your website, for this tutorial, i’ll be using http://www.spikedsoftware.co.uk/2me2u/. I suggest sticking to that folder, until it’s all working, then move it around all you like.

If you navigate to http://<yourdomain>/2me2u/install.php, the installer will start. Please read what it says, as it will either write to your config.php file, or it’ll ask you to do it manually because it doesn’t have permission to write to that file. Once it’s completed, refresh the page and it should let you know it’s already installed. So we’re ready to rock! Get a test SMS ready, by going to http://<yourdomain>/2me2u/ and filling in the form, with your own mobile number and a message to yourself. Click send, and assuming you have no errors, there will be a message in the queue. Before we move on, open the config.php where you have put the website, and copy the value from the $Key variable. We’ll need this later.

Congratulations, you have the website setup. Let’s configure and deploy the application to your Windows Mobile phone. Please ensure you have .NET 3.5 CF installed on your device, as it’s required.

Download the application, 2me2u. I extract this to the root of my memory card, so i can find it easily. i.e. /Storage Card/2me2u/. Once extracted, we have a little bit of configuration to do. Go into the folder where you just extracted the 2me2u zip file, and open the file 2me2u.exe.config in your favourite text editor.

We have 2 fields to set, we have a ‘URL’ and a ‘Key’.

The URL is easy, it needs to know exactly where you deployed the website. This would be… http://<yourdomain>/2me2u/ (don’t forget the trailing slash!)

The Key field, is a little trickier, because we need to know what Key the website has generated, so we can talk to it. Remember that Key field i told you to get out of the config.php file earlier? Now is the time to use it, please put that in the value of this field.

You will notice there are two other fields, these can be left alone or edited. If you want to receive delivery reports when a text message has been sent, change the value from false to true. The other field, is editable from inside the application.

Now, on your device, run the application. Navigate to /Storage Card/2me2u/ and run the 2me2u.exe. You should be presented with a simple form, that has a slider, an exit button and a status label. Slide the slider around, so a value at which you prefer. REMEMBER: This will use your mobiles Internet to check for new messages to send, make sure you have a data plan. Once you have set the value, just wait. Where it says ‘idle’ will change every X seconds that you have specified and it will check for new messages. If there are any to send, it’ll send them in the order you created them.

And that’s it. Simple and effective. Very early release, more features coming soon. Any questions/comments please either reply here, or preferably on xda-developers.com thread.

Spiked Software Coding Articles is Digg proof thanks to caching by WP Super Cache