Archive page 2

01
Apr

Joining the LINQ to SQL team at Microsoft

I've been quiet on my blog lately largely because I have been preparing to change job and relocate half-way around the world to Vancouver in the beautiful province of British Columbia (where I spent my 2004 summer holiday).

In February I travelled out to Redmond for three days of interviews (one position grew to two, then three). Having read the Microsoft Jobs Blog I was prepared for long hard days but in reality the process was incredibly enjoyable and exciting.

So much so I wanted to find a desk and move in right then.

With some luck I also found myself at Hanselman's geek dinner which involved some great discussions and the chance to meet Scott himself, Brad Wilson and Nikhil Kothari who I knew from .NET on-line community as well as some 35 other developers from both within Microsoft and the outside world. It was one fun evening and my thanks go to Scott for kindly driving me back to my hotel in Redmond town centre.

Many white-boards and a few lunches later (including an unexpected one with Phil Haack, Nikhil and two more guys from ASP.NET team - I wish I could remember all the names of the people I met!) I found myself with the hard task of choosing a position.

I settled on a developer role within the LINQ to SQL team starting mid-May and am counting down the days...

[)amien

Share with others These icons link to social bookmarking sites where readers can share and discover new web pages.
  • bodytext
  • description
  • StumbleUpon
  • description
  • Reddit
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • e-mail
19
Mar

Visual Studio, Windows Server and SQL Server 2008 launch in Guernsey

The various Heroes Happen Here community events in the UK/USA to celebrate the launch of Visual Studio 2008 etc. made me envious that we don't get such events and goodies here on the little island of Guernsey so I thought I'd so something about it!

We at the Guernsey Software Developer Forum are hosting a community event in conjunction with Microsoft to celebrate the launch of Visual Studio 2008, Windows Server 2008 and SQL Server 2008.

The event starts at 6:30pm on March 27th (next Thursday) at La Rocquettes hotel in St. Peter Port, Guernsey.

We will be giving away a bunch of goodies including the Heroes Happen Here launch packs with promotional copies of Visual Studio 2008 Standard, Windows 2008 Enterprise Server and SQL Server 2008 Developer as well as demonstrating some of the new features of Visual Studio 2008 and .NET 3.5.

Heroes Happen Here launch event

I'm hoping this event will be bigger than normal GSDF events given the cool stuff we are giving away and the interest from non-developers in Windows 2008 and SQL Server 2008 so tell your friends (if you're in Guernsey of course)

[)amien

Share with others These icons link to social bookmarking sites where readers can share and discover new web pages.
  • bodytext
  • description
  • StumbleUpon
  • description
  • Reddit
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • e-mail
18
Mar

Safari 3.1 includes developer tools

Safari 3.1 has just been released and besides the partial CSS3 (fonts) and partial HTML5 (media tags, off-line storage) support there are some new developer tools included.
Safari has had a hidden Debug menu for some time and WebKit featured developer tools but with 3.1 Apple have unleashed them to the masses.

Head into Preferences > Advanced and choose Show Develop menu in menu bar to get this new Develop menu.

It includes:

  • Open Page With (Internet Explorer, Firefox 2/3, Camino, MobileSafari etc.)
  • User Agent switching
  • Show Web Inspector (inspect element)
  • Show Error Console (including HTML errors)
  • Show Network Timeline (like Firebug's network view)
  • Show Snippet Editor
  • Disable Caches/Images/Styles
  • Disable JavaScript/Runaway JavaScript Timer/Site-specific hacks

Here's the Network Timeline in action on OS X:
Screen-shot of Safari 3.1's Network Timeline on Mac OS X

There are some odd drawing issues within the snippet editor and inspecting from the inspector on Windows but with this, Firebug and Internet Explorer 8's Developer Tools we're spoilt for choice!

[)amien
And no, it doesn't pass the rather abstract Acid3 test

Share with others These icons link to social bookmarking sites where readers can share and discover new web pages.
  • bodytext
  • description
  • StumbleUpon
  • description
  • Reddit
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • e-mail
18
Mar

Facebook’s bizarre search algorithm

I've been having some problems trying to locate friends on Facebook and now I know why.

Facebook's search algorithm is the most bizarre search algorithm known to man.

If you know how to spell their name exactly and type it all in lower-case that works fine. As soon as you introduce a capital or partial then spacing, which letters are capitalised and the length of the match all seem to play their part in the bizarre matching process that never delivers what you would expect although does deliver the same results every time.

I'll use my name as an example (~ indicates additional space character):

Damien Guard / damien guard

Finds me, two coast guards named Nick Zieser and Patrick Fernandez, a person called Romy Domingo and two groups that match on description. The other people have nothing in the "Matches" field to indicate why they were bought in but not too strange.

Damie guar

Finds me, Damien Guarnieri and Kyle Damien Guarco. This one makes sense.

damien guar / ~damie guar

Should return same as above but oddly excludes Kyle.

Damien Guar / damie Guar~ / ~Damie Guard / dami Guard~ / dami guar / dami guard / dami guar

No matches at all.

damie guar

Curiously only Damien Guarnieri. Worrying given that many people search with lower case.

damie Guar

Damien Guarnieri and Kyle Damien Guarco only. No sign of me.

dami gua

The above two plus Damian La Guardia but still no sign of me or Damian Guard.

Damie guard / damie guard / damie Guard / Damie Guard / damien Guar / ~damie Guar~

Just me.

dam guar

Finds a Damian Guard in Tulsa but nobody else.

~dami gua~

Includes most of the people mentioned here but excludes my partial-namesake Damian Guard.

Damia Guar

Finds Damian Guardia and Damian La Guardia which didn't show for "Dami Guar" yet excludes Damian Guard again.

It's likely a case of devs trying to be intelligent and ending up with a usability nightmare but until they get their act together be prepared to try all sorts of combinations for partial matching.

[)amien

Share with others These icons link to social bookmarking sites where readers can share and discover new web pages.
  • bodytext
  • description
  • StumbleUpon
  • description
  • Reddit
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • e-mail
18
Mar

Access AIM and ICQ via Google Chat

Google just added support for AIM to Google Chat so you can just enter your login details and chat right away from your GMail or Google Apps for Domains account as if they were Google Chat users.

Better yet you can actually enter your ICQ number in the user-name box, fill in your password and integrate your ICQ account although this is seemingly undocumented and likely just a result of the ICQ and AIM integration from some time back.

It's not as comprehensive as the fantastic Mac-app Adium or the clever Meebo web-interface and doesn't offer support for MSN Messenger like those two but it's a great extra tool to have at your disposal when stuck behind a proxy needing to get hold of someone.

[)amien

Share with others These icons link to social bookmarking sites where readers can share and discover new web pages.
  • bodytext
  • description
  • StumbleUpon
  • description
  • Reddit
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • e-mail
07
Mar

Testing web sites with the iPhone SDK

Apple's iPhone SDK is now available in beta format for free download (running your apps on a real iPhone is a one-time $99 charge).

The 2.1GB download contains the full XCode 3.1 environment for Mac app development but also an extra 22MB of iPhone-specific SDK goodness including an iPhone simulator named Aspen Simulator (perhaps the code-name for iPhone). Whilst most of the iPhone's apps are absent you can still access settings, photos, Safari and contacts.

Besides the cool idea of creating real iPhone apps you can also use Mobile Safari to test your sites on an iPhone - very cool! Here's DamienG.com in the simulator when twisted round 90'.

DamienG.com rendered on the iPhone

[)amien

Share with others These icons link to social bookmarking sites where readers can share and discover new web pages.
  • bodytext
  • description
  • StumbleUpon
  • description
  • Reddit
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • e-mail
04
Mar

Future of AnkhSVN (Subversion for Visual Studio)

Now that AnkhSVN 1.0.3 is out with support for Visual Studio 2008 we can discuss our future plans for AnkhSVN.

We have moved over to openCollabNet and welcomed Jeremy Whitlock and Bert Huijben to the team!

Our preliminary roadmap for AnkhSVN 2.0 is:

  • Improve user experience
    • Refine windows, options and icons
    • Localise dialogs and messages
    • Support customisation of icons & menus
    • Develop interactive log window
    • Add keyboard support (short cuts & tab order)
  • Extend integration
  • Foster developer participation
    • Simplify build environment with MSBuild
    • Reduce code-base with SharpSvn
    • Switch Visual Studio API from automation to source control
    • Provide source-on-demand using Sourceserver

Switching the provider model means we have to drop Visual Studio 2003 support for 2.0 but means we get to use .NET 2.0+ features as well as a much faster and more robust mechanism for extending Visual Studio.

The timetable is quite aggressive and I'm hoping we can get quick regular builds out for people to try.

[)amien

Share with others These icons link to social bookmarking sites where readers can share and discover new web pages.
  • bodytext
  • description
  • StumbleUpon
  • description
  • Reddit
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • e-mail
28
Feb

DLookup for Excel

I had to do a couple of ad-hoc Excel jobs today and found that whilst Excel has a VLookup function for spreadsheet/ranges it doesn't have one for databases.

It's been a while since I touched VBA and Access but the DLookup function was quite useful so here it is for Excel. Read the warnings below before you use it!

Public Function DLookup(expression As String, domain As String, criteria As String, Optional connectionString As String)

    Dim con As ADODB.connection
    Set con = New ADODB.connection
    If IsMissing(connectionString) Then
        con.Open "Driver={SQL Server};Server=abc;Database=def;Trusted_Connection=Yes;"
    Else
        con.Open connectionString
    End If

    Dim rs As ADODB.Recordset
    Dim sql As String
    sql = "SELECT TOP 1 " + expression + " FROM " + domain + " WHERE " + criteria
    Set rs = con.Execute(sql)
    If Not rs.EOF Then DLookup = rs(0)
    rs.Close
    Set rs = Nothing

    con.Close
    Set con = Nothing

End Function

Copy and paste the code above into an Excel module and replace the "Driver=... with what you want to be your default connection.

Some examples of use:

To select the Name column from the Customers table where the numeric ID is held in column 2.

=DLookup("Name","Customers","ID=" & A2)

To return Forename and Surname columns joined together with a space from the Contacts table in the crm database using the postcode from column 5

=DLookup("Forname + ' ' + Surname","crm..Contact","PostCode='" & A5 & "'")

To return Description from a Products table held in another connection using a partial like match from column 1:

=DLookup("Description","Products","OrderCode LIKE '" & A1 & "%'", "DSN=SecondaryDSN")

I think you get the idea!

There are a few caveats you need to be aware of using this function:

  • It only returns the first value of the first row
  • DLookup's are not efficient opening a connection each time it is referenced. This could put a lot of strain on your server.

  • DLookup syntax is open-ended and has some attack vectors.

If that doesn't scare you then give it a shot. As usual no warranty expressed or implied!

[)amien

Share with others These icons link to social bookmarking sites where readers can share and discover new web pages.
  • bodytext
  • description
  • StumbleUpon
  • description
  • Reddit
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • e-mail




Feed subscription

Subjects