Google Refine is sooo fine

I just watched this short YouTube clip on Google Refine.

In the past I’ve used MS Excel to do similar refinement and transformation but that last bit where it allows you to not only see the steps you took as a command list but apply it to a new set of data has my vote.

This is how SSIS should work http://www.youtube.com/watch?v=45EnWK-fE9k

Posted in Tools | Tagged | Leave a comment

Wrestling with MSBUILD – the bane of /t:rebuild

The continuous build server at work does its magic with the help of the MSBuild.exe command. Of course, since we are checking integrity, we want to force a full rebuild every time.

In other words, I want to completed delete all previously built assemblies (aka dlls) and build them from scratch again. A seemingly obvious choice would be to use the /t: REBUILD flag to do this, since that is what is does. Doesn’t it?

I’m not rebuilding a project, but an entire solution.

Expected behaviour:
Rebuild solution = (run clean x N projects) + (run build x N projects)

  • Clean for Project A
  • Clean for Project B
  • Clean for Project C
  • Build for Project A
  • Build for Project B
  • Build for Project C

Actual behaviour:

Rebuild solution = (run clean + run build) x N projects

  • Clean for Project A
  • Build for Project A
  • Clean for Project B
  • Build for Project B
  • Clean for Project C
  • Build for Project C

The flaw is that the projects further down the list may result in the cleaning of dlls which were built earlier on the list.  Depending on the project specifics, these may or may not be included in the output.  Plus, there is the possibility of the same assembly being built more than one, which can result in conflicts in versions.  (i.e. Refers to dll v1.0.312 directly AND to dll v1.0.313 indirectly)

So, how did I find it?

I monitored the bin folder and observed some dependency dlls appearing, and then disappearing from the folder while the build was underway.

Strangely enough, if I ran a Solution Rebuild command from within Visual Studio, the problem did not occur. Thank you Microsoft for that wonderful INCONSISTENCY.

Final solution:
Instead of calling /t: REBUILD, I am doubling up on the MSBuild calls. I’m calling /t: CLEAN first, before calling /t: BUILD.

Posted in Uncategorized | Tagged | 1 Comment

Skype on iPhone has face-time

I had a pleasant surprise tonight.  I’ve used iPhone Skype a few times before and I was disappointed that the two-way video did not work.  At the time Skype forums reported it as a no-go area.

But tonight it suddenly started working.  Ok, so the last update was several weeks ago, and that is probably when the feature was added.  Regardless, I have to say that it is nice when you discover something cool.

Well done Skype.

This is Adrian Foyn, signing off.

Posted in iPhone | Leave a comment

Gang of Four Patterns

Here is a link to a good pattern reference (mostly for myself). The main thing being that it contains examples (in .Net) of how they are implemented.

http://www.dofactory.com/Patterns/Patterns.aspx

Patterns started out as a Gang Of Four (GoF). My guess is that the gang has grown a little since then.

Posted in Uncategorized | Tagged | Leave a comment

To the cloud

For a while now, I’ve had a little iPhone utility installed but not utilized.  I figured that it sounded like a good idea, even if I did not have a use for it at the time.  and hey, it was free.  Then I stumbled upon an interview where they were discussing said utility.  As a developer, I was pleased to hear things like they opted for simple system that worked instead of a feature rich behemoth with falls over at a twitch.  That utility is called DropBox.

I’m now a convert.  I’ve set up my free 2GB account and linked a host of systems to it (work, home, iphone).  It is not often that one comes across a product which makes you wonder how you ever did without it.  Especially since it is non-intrusive and fairly intuitive.

So I tip my hat to DropBox.  Well done sir.

www.dropbox.com

Posted in Uncategorized | Leave a comment

Tip/Trick: Enabling SSL on IIS 7.0 Using Self-Signed Certificates

I recently needed to test some code running under HTTPS.  So a self-signed certificate was the way to go.  I would figure out how to do it, and then promptly forget the entire process, meaning that I had to rediscover it again several months later.

(ugh look, me find fire….. again)

I remember having to struggle to create a self-signed certificate (from command line).  The registration process was equally painful too.  Then I found this.  Ok. So this really just a repost from ScottGu’s site, but I really found this useful, and so very easy.  (that’s what I call progress)

SSL enables browsers to communicate with a web-server over a secure channel that prevents eavesdropping, tampering and message forgery.  You should always use SSL for login pages where users are entering usernames/passwords, as well as for all other sensitive pages on sites (for example: account pages that show financial or personal information).

Configuring SSL on Windows with previous versions of IIS has been a pain.  Figuring out how to install and manage a certificate, and then associate it with a web-site, is something I bet most web developers don’t know how to enable.

The good news is that IIS 7.0 makes it radically easier to configure and enable SSL.  IIS 7.0 also now has built-in support for creating “Self Signed Certificates” that enable you to easily create test/personal certificates that you can use to quickly SSL enable a site for development or test purposes.

Using IIS 7.0 you can SSL enable an existing web site in under 30 seconds.  The below tutorial demonstrates how to-do this.

http://weblogs.asp.net/scottgu/archive/2007/04/06/tip-trick-enabling-ssl-on-iis7-using-self-signed-certificates.aspx

I hope you find it useful too.

 

Posted in Uncategorized | Leave a comment

One small step on the BlogSphere

Hi. My name is Adrian Foyn. Welcome to my blog.

Since this is my first post, obviously, I think I’ll lay down a few expectations.

  1. This is a technical blog, specially focused on my area of expertise, namely dotNet development.
  2. I expect to post stuff randomly and infrequently.
  3. Stuff will be posted from a variety of mediums; such as via the web site, from my iPhone app and/or via email (assuming that option is available 😉
Posted in Uncategorized | Leave a comment