Wednesday, August 30, 2006

Cool New Flickr Mapping Feature

Flickr has just added some fantastic new features for adding geographic data to photos. Including a new map interface in the Organizr that lets you drag and drop photos onto a map. Check it out:

Once you've pinned a photo to the map, a new link appears on the photo page that says "Taken in (map)". Clicking the map link opens up a little map with the thumbnail photo pin. That map gives you the option to view all photos on a user specific map, or view all photos taken nearby. Way cool, I've been looking for something like this for a while. The only drawback is that it's Yahoo maps, not Google maps (Google has much better New Zealand data).

Here's the Flickr Blog writeup:
Flickr Blog: Great shot - where'd you take that?

I've also been messing around with a couple of websites which integrate with the new Google maps API. None of them have exactly everything I want, but they're getting close. The one I like best is called Platial. It lets you create maps, pin locations, describe and tag locations, and associate photos with locations. It does integrate with Flickr, but it's a bit difficult to locate specific photos (it does a search on all photos marked with a Creative Commons license, so you need some distinguishing text in your photo page to find your own stuff).

In any case, I've been using Platial to gradually assemble a map of things to do on the North Island if any of my friends or family come to visit. Take a look:

Platial Map: Stuff to do in a Week on the North Island

File Under: Technology,

Tuesday, August 29, 2006

XNA Game Studio

Hmmm . . . this looks interesting:

The Framework looks like a replacement for Managed DirectX 2.0. Might be fun.

File Under: Technology,

Friday, August 18, 2006

VS.Net 2003 to 2005 Web Project Conversion Problems

This one is a bit obscure, and the solution may be a bit obvious, but it might just turn up in Google and save someone a couple hours of detective work.

So . . . while attempting to load a VS.Net 2003 web project into VS.Net 2005, I was continually blocked by this error:

"The project file must be opened in the Visual Studio IDE and converted to the latest version before it can be built by MSBuild"

Hmm . . . I thought I just did open it in the IDE.

Our next strategy was to create a new 2005 web project and import all the files from the previous project.

Oddly, there was no option available to create a new web project. It turns out that the previous owner of my dev environment had never installed the Visual Web Developer feature.

Once that feature was installed it ripped right into the conversion.

File Under: Technology,

Tuesday, August 15, 2006

Cold Snap

I've had frost on my windshield the last couple of mornings. It's been about 3°C at 7am or so. That's left just enough frost to need to blast the heat and run the wipers for a few minutes.

That's made me think: Winter is almost over down here, and that's all there is to it . . . we won't even see a real frost, the kind that leaves you running late, so you have to chip a hole through the ice and go, hunched over and peering out like a tank driver.

What's really a bummer is thinking of "winter" going by without one of these!


I'm not sure when I'll get a dose of snow and cold this year. It's not looking good for a trip to the South Island or Mount Ruapehu anytime soon.

On the bright side, I will definitely be back in Minnesota for my favorite time of year!


File Under: New Zealand,

Wednesday, August 02, 2006

My TechEd NZ Schedule

Sunday, August 20
2:00 PM - 9:00 PM

Registration and Hands on Labs Open SkyCity

Monday, August 21
8:30 AM - 10:00 AM

Keynote New Zealand Rooms, SkyCity

10:30 AM - 11:45 AM

CON301 (.NET 3.0) Introduction to the .NET Framework 3.0

11:55 AM - 1:10 PM

CON203 (.NET 3.0) Windows Workflow Foundation: Introduction

1:10 PM - 2:00 PM


1:20 PM - 1:50 PM
2:00 PM - 3:15 PM

OFC304 Securing and Deploying Visual Studio 2005 Tools for Microsoft Office (VSTO) Solutions + what's Coming in version 3.0:

3:35 PM - 4:50 PM

ARC209 Patterns and Anti-Patterns for Service-Oriented Architectures

5:00 PM - 6:15 PM

MGT304 PowerShell: Next Generation Command Line Scripting

6:00 PM - 8:00 PM

Ask the Experts Evening MarketPlace, SkyCity

Tuesday, August 22
9:00 AM - 10:15 AM

ARC205 Putting the User Back in to SOA

10:45 AM - 12:00 PM

CON308 (.NET 3.0) Windows Communication Foundation: Building Secure Services

12:10 PM - 1:25 PM

CON311 (.NET 3.0) Windows Workflow Foundation: Building Rules-Based Workflows

1:25 PM - 2:20 PM


1:35 PM - 2:05 PM
2:20 PM - 3:35 PM

ARC207 Guerilla SOA

3:45 PM - 5:00 PM

WEB211 Developing Data-Driven Web Applications with .NET Language Integrated Query

5:10 PM - 6:25 PM

WEB310 ASP.NET: Creating High-Performance, Enterprise-Scale Web Applications Using Visual Studio 2005 Team System

6:30 PM - 11:30 PM

TechFest St James Theatre, Queen St

Wednesday, August 23
9:00 AM - 10:15 AM

WEB312 ASP.NET 2.0 Tips and Tricks

10:45 AM - 12:00 PM

CON319 .NET 2.0 to .NET 3.0: How WCF will change the way you’re developing Service Oriented solutions

12:10 PM - 1:25 PM

CON316 (BTS) "And I thought I knew everything about BizTalk"

1:25 PM - 2:20 PM


1:35 PM - 2:05 PM
2:20 PM - 3:35 PM

CLI311 Developing a Windows Presentation Foundation Application

3:45 PM - 5:00 PM

CON204 (BTS) Planning and Designing Enterprise Class BizTalk Server Solutions

5:00 PM - 6:30 PM

Farewell Drinks MarketPlace, SkyCity

File Under: Technology,

Tuesday, August 01, 2006

Returning a Recordset from an Oracle Stored Procedure to a .Net Caller

You wouldn't think this would be difficult, but every example I googled up was either incomplete, excessive, or needlessly confusing. So for my own future reference as much as anything, here it goes. . .

The minimalist implementation of a Stored Procedure that returns a recordset:

Oracle side:

OPEN my_cursor FOR

.Net Side

using Oracle.DataAccess.Client;

OracleConnection OraConn = new OracleConnection();
OraConn.ConnectionString =
"Data Source=DBName;User Id=MyUser;Password=MyPW;";
OracleCommand OraComm = new OracleCommand("RobCursorTestProc", OraConn);
OraComm.CommandType = CommandType.StoredProcedure;
("Cursor", OracleDbType.RefCursor, ParameterDirection.Output );
OracleDataReader OraDR = OraComm.ExecuteReader();
if (OraDR.Read())

Here's a bit more user friendly view:

File Under: Technology,

Tech Ed NZ

Oh Yeah!

File Under: Technology,

NZ Health Care

While my shoulder was out, it was hard to think about anything else, but somewhere in the back of my mind I was tallying up the bill for my accident:

Ambulance ride: $

Emergency room visit $$

Two X-Rays of my shoulder $$$

Letter from ACC telling me that they've been notified of my injury, have agreed to cover the cost, and as I was treated in a public hospital, they have in fact already paid my bill: priceless. :-)

Note that this may not work so well for those of you who come over to visit. So as Super-Moto always says: "Rubber side down!"

File Under: New Zealand,