November 2007 Entries

Feed Synchronization one liner

One of the things that troubled me for quite a long time now was the fact that my RSS feeds were out of sync between my home and work PCs. That's because I kept forgetting to add the feeds I was subscribing from one PC to the other. And of course I didn't want to delete all feeds from either one of them cause that could result in loosing some.

I had to build a small utility that, using XML DOM and XPath, would read my aggregators' OPML files and synchronize them. The problem was that I didn't have time for such a program.

With Linq to XML though things got a lot easier, so much easier that I can now write a single line of code that will find out which feed subscriptions are not contained from an OPML file to another like so:

var feedQuery = 
    from f in XElement.Load("subset.opml").Descendants("outline")
    where f.Attribute("xmlUrl") != null &&
          (from XElement o in XElement.Load("Full.opml").Descendants("outline")
           where o.Attribute("xmlUrl") != null
           select (string)o.Attribute("xmlUrl")).ToList().Contains(((string)f.Attribute("xmlUrl")))
    select f;

So I'm finally going to have all my feeds synced ....

Day4 and 5 at TechEd Barcelona

Well this might come a bit late but this is the first time since my last TechEd update, I got more than 5 minutes of free time. A lot of things are going on that kept me pretty busy, I promise I'm going to blog about them at some point ;-) in the near future. Let's get back on TechEd for now.

As mentioned in my last TechEd post, Wednesday night (Day3) was Microsoft's regional delegates RedLoungeparty. We ate at Red Lounge and if you notice the picture closely you'll see that everyone's plate is empty. That's because although the food was tasty, the portions were very small. So small in fact, that at the end of the night when most of the delegates returned home some headed out to find more food ;-). Me and a couple of other guys though, were having such a good time drinking wine and chatting that we decided to stay there and have a few more drinks and ended up back at my hotel at 3.30 in the morning.

Next day, after having two aspirins for the terrible headache the previous night left me, I headed up to the convention center and had my final day on the Ask the Experts booths. I then had lunch (probably the best of the week - Hamburger and french fries) and attended the evening sessions.

The session that was really interesting was the one about the new Dynamic Data Controls by Shanku Niyogi. ASP.NET dynamic data controls are part of a powerful, rich new framework that lets you create data driven ASP.NET applications very easily. It does this by automatically discovering the LINQ data model at runtime and deriving UI behavior from it. A scaffolding framework instantly provides a functional web site for viewing and editing data.

IMGP0034 After that I took the metro and walked around the city for a while and managed (thanks to my wife that gave me good tips) to see most of Gaudi's work and get a glimpse of trully beatiful Barcelona before heading up for dinner at a great place called "El Asador de Aranda" where I had the dinner of the week.

The walk I had on Thursday, convinced me that I had to see more of the city. So on Friday Day5 of TechEd, I decided to skip all sessions and scroll around the city till 17.00 that I had to get back in order to catch my flight back home. I got to see more of Gaudi's work, Camp Nu, Barcelona's home football field, shop football T-shirts and had a tour at the city's most interesting sights using a tour bus.

And that was it... just hope it could last a bit longer...

MyFacebook Gadget Update

A lot of people have been complaining on not being able to login to MyFacebook gadget and I really didn't know what was going on as I followed Facebook API's authentication instructions to the letter.

MyFacebook So I've decided to change it's authentication method. It now uses the same authentication method Popfly uses in its Facebook Data source block. To login you'll have to click on the first page link in order to get an authentication token, then you'll have to add that token to the gadget settings page.

Note that if this is the first time that you're using the gadget you'll also have to authorize it to access your Facebook account. This is an one time only extra step that once completed will redirect you to the token retrieval page but without specifying the required parameter "API_KEY". This is a Facebook bug and has nothing to do with the gadget so please don't shoot the messenger. To verify that this is not my fault you can try the Popfly Facebook block which behaves the exact same way. In this case just click the retrieve authentication token again and you'll be redirected to the right page.

If you later decide that you need to remove (I don't know why you could decide such a thing ;-)) this application from your Facebook account all you'll have to do is go to your privacy settings page then click the applications link, then the authorized applications one on the top and finally click the remove MySidebarBook link.

In this release you'll also find a number of bug fixes and corrections as well. And as the number of people that have downloaded this gadget has increased dramatically I've also decided to implement a new update notification service that will notify users of newer versions as those become available in order to keep everyone synced.

Besides that, I'd love to hear your ideas and comments on how to make this gadget better, so if you've got the time drop me a line here so that we can talk about it.

Day3 at TechEd Barcelona

IMGP0002 If you had only had tine for just one Session in this year's TechEd then I would definitely recommend Mike Taulty's one on Linq to Entities (is going to be repeated on Friday). If you didn't make it this year then I would suggest watching its replay at The virtual side as soon as it comes available.

It's not just the subject (which is interesting as it is), it's also the fact that he's a great speaker, one that speaks with a lot of examples and demos and avoids lengthy power point presentations. I was lucky to see him on two sessions today, Linq to XML and Linq to Entities, although the second one was packed full and had to wait till some people left to get in.

IMGP0003 I also had the chance to attend Pablo Castro's project Astoria presentation which was also great. His enthusiastic presentation on project Astoria renewed my interest on the project and plan to have another look once back home.

 

Having lunch today at the top floor of the exhibition center revealed the great view the exhibition center has to the ocean and got me thinking how great it would be if we could get the chance of hosting TechEd at Greece. After all the 2004 Olympic games left us with an infrastructure that can be utilized for such events (like the Taekwon-Do center which is planned to be converted into a convention center) and we certainly could use all the Tourism and advertisement this event would bring to Greece.

IMGP0006 Stitch

Today is also the Greek delegates party, we're going to eat and have drinks at Red Lounge somewhere in Barcelonita. Let's hope that food there's going to be better from what I've eaten lately ;-). Barcelona's cuisine constitutes mainly of fish which is not my greatest food.

Day2 at TechEd Barcelona

Tuesday, Day 2 of TechEd Barcelona, couldn't start better. After having probably the best breakfast ever at Hilton (the hotel I'm staying), I walked the 100 meters that separate my hotel from the convention center to get there.

Unfortunately I was a bit late so I've decided to skip the first session I'd planned to attend and catch up with my emails and blogs before heading to the ASP.NET ask the expert booth for my second day of duty.

ATE_booths Being there from 10.00 a.m. to 1.00 p.m. gave the opportunity to meet and discuss with some very cool people like Mark, Bilal and so many more.

IMGP0010During my time on the booths I also had the chance to meet  and discuss with two great guys Matt Gibbs and Shanku Niyogi which are behind all those great things we're hearing about like Dynamic Data Controls, ASP.NET MVC framework and all the other cool new "ASP.NET Next" features coming up really soon. I was so excited I decided to take a picture and although it's really not flattering for me (the guy behind the camera managed to take the picture the moment I closed my eyes) I've decided to publish it.

Tomorrow's schedule includes Mike Taulty with Linq to XML and Entity Framework and Pablo Castro with project Astoria, so I'm pretty excited and really can't wait.

First day at TechEd

A what a day...

OutsideView
Left home at 4.00 a.m. and arrived at Barcelona at 11.00, rushed to the convention center to register and then headed up to my hotel to check in. Then I left again and met some of the other Greek delegates and had lunch discussing our travel adventures (those that traveled with ALITALIA on Sunday lost their baggage, one ending up at Chicago!!).

somaKeynote After that I watched the keynote of Soma which although pretty interesting in content wasn't what I expected and what I'm used to as a Microsoft event keynote. I feel that choosing Soma as the keynote speaker was a bit unfortunate.


Anyway, things that were announced at the keynote include:

  • Release of Visual Studio 2008 and .NET FX 3.5 before the end of November 2007 while official business launch is scheduled for January-February.

  • Removing license restrictions with Visual Studio and the Visual Studio SDK to enable customers to use the Visual Studio IDE and build applications that target the platform of your choice.

  • Access to the Visual Studio source code for VSIP premier partners to enable you to better design and debug your add-ins to Visual Studio.

  • Popfly Explorer add-in to Visual Studio as a Codeplex project.

  • CTP for the Microsoft Sync Framework that enables you to build on the offline synchronization capability in Visual Studio 2008.

After that I had a tour of Visual Studio 2008 by Daniel Moth which was great (and that's not because he's Greek ;-) which opened up my appetite for exploring new Studio features.

I then had to take a break to catch my breath and my emails and news and then prepare for my first Ask The Expert Session  in the Official event reception (I really didn't have the courage to attend anything more).

Participating in the Ask The Expert program was probably the best experience of the day, I had the chance to communicate and share views on new MS technologies like MVC .NET 3.5 Ajax support etc. with a lot of cool people. More on that later...

You probably that's all eh? Well it's not, that was not the last thing of my day. At 21.00 after finishing up from my ATE booth, I met some of the other Greek delegates and headed out for Tapas and Beer.

I have to say that once I got back to my hotel room the only thing I managed to do was take my clothes out ;-)

Well that's all for now have to head on to my ASP.NET boot for my second ATE day...