Thursday, November 20, 2008

ESB Guidance 2.0 (CTP)

There’s an announcement around for the ESB Guidance 2.0 CTP (October 2008). It’s good to know that this is already getting worked on to have new features and work with the upcoming BizTalk Server 2009. The strange thing is that I can’t actually find the download anywhere: it’s not at Codeplex, and I can’t find it at Connect.

According to the post, the new features are:

  • Alignment with Microsoft BizTalk Server 2009 ( Beta )
  • ESB Configuration tool
  • Centralized itinerary store
  • Itinerary resolver components
  • Itinerary forwarder pipeline component
  • Itinerary selector pipeline component
  • Itinerary designer
  • Centralized configuration uses Enterprise Library 4.0 Configuration Block
  • Centralized caching uses Enterprise Library 4.0 Caching Block
  • Multiple service invocation using both messaging and orchestrations
  • Itinerary BAM tracking
  • Improved ESB Core engine and itinerary execution
I hope the installation process is improved and that non-US regional settings are supported. Those were a huge barrier to adoption of the ESB Guidance, on my view.

Tuesday, November 18, 2008

Back to Life, Back to Reality

Back from PDC08, back from TechEd EMEA 2008, session done yesterday at the Architect Forum 2008. The trip to PDC08 was very interesting, on the same level as the 2005 edition, now focused – obviously – on cloud computing. TechEd was interesting for me especially because of the Architecture track, which was the best I’ve ever attended, but the best was being at the Ask The Experts BizTalk booth: we had several people going by with interesting questions and challenges, and I got to do several contacts. Yesterday in Lisbon I did the afternoon session at the Microsoft Architect Forum 2009, representing GASP and together with José António Silva and Nuno Godinho as the developer. The topic, obviously, was around the cloud.

I have several posts to do, I’ll try to add them in the next few days.

Thursday, October 23, 2008

PDC08 + TechEd Emea 2008

Next week I’ll be off at PDC08, which is shaping up to be as good as PDC05 was, with a lot of sessions on Today’s hot topic: Cloud Computing. One week later, I’ll be at the Ask-The-Experts booths at TechEd EMEA 2008 Developers in Barcelona (my colleague and SharePoint God Raúl is also attending the conference), focused on making contacts and maybe attending some of the sessions missed from PDC that will be repeated there. Pedro Rosa from Microsoft Portugal is the owner of the dev track, and has some pretty good sessions lined up.

If you happen to be at any of the events and want to meet, contact me using the form on the blog.

You just gotta love technology… :-) See you there.

Friday, October 17, 2008

BizTalk Server and “Dublin” (Me Too)

Check out Charles Young’s post “Dublin and BizTalk Server - What's the difference?”. It’s well worth the read, for all BizTalk developers, and a very interesting analysis.  I’ve been to some of the events Charles mentions, where there was some discussion about this new application server and its relationship to BizTalk Server, and this a curious solution Microsoft has found. I do have a complaint, however: I do feel BizTalk Server could be improved in several areas, and the last two versions (R2 and the planned 2009) have been somewhat lacking in this aspect. Things like the Orchestration Designer, BAM, BRE and even the mapped could clearly be improved (and don’t get me started in Usability), and low-latency support added, but Microsoft has not focused the evolution of the product in these aspects, which I regret.

Anyway, a highly recommended read.

Thursday, October 2, 2008

PDC(loud) 2007

For me, this year's PDC in LA will totally be about the "Cloud". Sure topics that interest me are Mesh and Sql Server Data Services (SSDS), but I'm sure there's more to come, about things like Oslo and other European cities, perhaps BizTalk Services and a curiously colored and mysterious canine, RedDog.

There are two things that interest me, personally, in these kind of cloud paradigms. First, that there are new application models, new architectures, new colors in the pallete, new tools (modeling is one of them). Just look at all the technologies I mentioned. Most of them are usable to develop enterprise applications, they are not customer-facing new things (Mesh is the partial exception here). The second thing that interests me is precisely the engineering challenge, the new problems we will have to solve in a world where almost nothing can be taken for granted. (Can we communicate at all, if everything is extremely loosely coupled?)

Truth is, however, that I don’t think this will be an easy or widespread shift (regardless of what Nicholas Carr thinks). If you talk to most people working in IT today about “moving to the cloud”, you’ll hear jokes about “fog”, and (legitimate) questions about data ownership, security, trust, cost, SLAs and QoS, etc. These issues will have to be tackled with, or at least enough of them.

Data and Business Logic has been near (“it’s mine, all mine!”) almost since the first days of IT, after all.

… so if you are in Portugal or nearby and want a partner company to explore some new ground using these technologies (or just have interesting discussions), get in touch. :-)


Braid/Game Development in Linux

I mostly stay clear of platform choice debates, not entering very much in “Open Source vs Microsoft” debates, but this one is too hilarious to miss.

There’s a (great) platform game for the Xbox360 called “Braid”, which is the only Xbox Live Arcade game in the Metacritic game Top-10. This game was created by a single developer, Jonathan Blow, who recently posted in his blog some technical questions related to problems he was having with the Linux port of the game. Amidst several problems and the inability to do things with the quality he wants, he eventually drops the idea of the Linux version at all.

It’s an interesting and hilarious discussion (at least the first half of it) between an obviously very frustrated game developer and people telling him how wrong he is.

Two samples:

«What is it that you find good about the tools? It appears to me that they are about 12 years behind what I can use on Windows.»

«My posting here was not even about Braid. I may have Braid ported to Linux, but I will pay someone else to do it so that I can spend my effort working on my next game. This was about adopting Linux as my primary development platform for all future projects. I wanted to do this because I find Vista to be frankly sickening. However, as bad as it is, Vista is still my best option. I can’t get work done efficiently enough on Linux.»

Read it here.

Thursday, September 11, 2008

MOSS2007 Excel Services - Web Services performance

This is gold: Kb 955144, "You may experience poor performance when you use many SetCell calls in Excel Services". Thanks, Microsoft.

Tuesday, August 26, 2008

"The E-Myth Revisited" and The World After Summer

I've been reading "The E Myth Revisited", by Michael Gerber. The book is all about entrepreneurs and small companies, and why they usually fail. The following quote is right at its start:

"Businesses start and fail in the United States at an increasingly staggering rate. Every year, over a million people in this country start a business of some sort. Statistics tell us that by the end of the first year at least 40 percent of them will be out of business. Within five years, more than 80 percent of them will have failed.  [...] And more than 80 percent of the small businesses that survive the the first five years fail in the second five."

Create It is now over 7 years old, and 16 people strong.  It makes me proud to be in the small percentage of companies that do make it (although we are still 3 years away from the danger zone). :-)

Meanwhile, on the technical side, I've been trying out the new BizTalk Services R12 release, which includes (hosted) Workflow support. It's limited in the sense that there are not many activities included, and there's not yet rich and integrated tooling, but it's an interesting start nonetheless. Well worth exploring. And on another track, I've been looking into BizTalk Server R3. The new features do look interesting, although clearly in the "evolution" side of things.

Finally, I've been getting ready for the PDC2008, in October, where it's interesting to note that the topic "Cloud Services" is the one with most sessions. If you want to learn more about this topic, I recommend you subscribe to the Cloud Computing group hosted at Google Groups (but not specifically Google-related or sponsored). Interesting discussions there.

Monday, July 14, 2008

PDC 2008

The PDC 2005 was the best conference I ever attended. Seeing WF and WCF for the first time, as well as the DSL Tools and lots of other stuff, plus the several contacts I did while there, helped understand what was to come in technology, and this help |create|it| prepare for this future.

I am also attending this year's PDC2008, where a lot is expected, for example, in what regards Microsoft's approach to Cloud Computing. BizTalk Services is sure to be there, as well as BizTalk "Oslo", Live Mesh and other initiatives like SQL Data Services. Just check the session list, full of vague descriptions so as to not spoil the surprise, and you'll realize this has the right ingredients to be a great conference again.

I know of several other (Portuguese) people who are attending, and if you can, try to be there. The PDC2008 is about future technologies, and it's the Microsoft conference to attend this year.

BizTalk Server Performance Optimization Guide + MsgBoxViewer

Microsoft has published a few days ago a new guide around optimization of BizTalk Server performance. This is a lengthy guide (over 200 pages), but it has a lot of very interesting information, some of which you can't find anywhere else, and there's always something to learn. Highly recommended. You can download it here.

A second recommendation is a little tool that is very helpful in gathering information about a BizTalk installation, and which also gives you a report about your installation. A little like the BizTalk Best Practices Analyzer, only deeper and with more information. It's MsgBoxViewer, and you can download version 9.20.3 here.

Thursday, July 3, 2008

XNA Games on the Zune

Last night I finally had the opportunity to install the new Game Studio 3.0 CTP, and deploy some games to my Zune. I've tried 4 games (the official sample plus stuff I got from ZuneBoards) and one app (an e-book reader).

These are very simple, and most of them had small quirks and bugs that occasionally restarted the Zune, but my music and podcasts are not damaged in this process.

What disappointed me a little was the control schemes: the Zune touchpad is very sensitive, and some games use this, others use clicking on the large button, with wrong moves being done frequently. For example, when playing Sirtet (a clone of Tetris), I have to click the left part of the large Zune button to move the pieces left. Frequently, while doing this, I'd end up clicking either UP (rotate piece) or the center of the button (hard drop of the piece). Clear nuisances! And I imagine left-handed players will have the inverse problem.

Other interesting thing is that people are using XNA/.Net to develop applications for the Zune, some of them are here. Most seem like early releases of simple stuff, like clocks, stopwatches, instant messengers, phone books or text file readers, but are very interesting nonetheless.

A final note to mention how quick and simple the process is: just connect the Zune, open Visual Studio, select the Zune as the deployment location, then build your project and select Deploy. DONE!

Wednesday, July 2, 2008

BizTalk Server MVP, Year 3

Microsoft has decided to re-award me with the MVP title for another year, still in the BizTalk Server category, which means another year in the wonderful world of Connected Systems technologies, and more learning ahead. :-) Hurray! With Oslo and BizTalk Services coming out with new stuff at the PDC2008, there will certainly be a lot to explore.

Wednesday, June 25, 2008

XNA Game Night

I've never been involved either in game development or frequent gaming, but being an Xbox360 owner in the last 6 months, I've been paying more attention to the field.

Last night, local Microsoft organized an XNA Game Night, where 6 teams showed off some of their game dev skills. Most of the games were simple (with 2 exceptions), some of the PC and some for the Xbox360 (none for the Zune!), most of them Arcade-like games, but it was apparent that XNA is a very interesting platform for game development, and it's very easy to get caught up and seduced by ideas and start thinking about giving it a try. Guess what I'm downloading... :-)

Anyway, if anyone is interested, some starting points are the following:

Microsoft XNA Game Studio 3.0 CTP

XNA Creators Club

XNA Developer Center (@MSDN)

Thursday, June 5, 2008

Live Mesh impressions

I've been trying out Live Mesh in the last few days, and I am amazed at how well it works, and at the possibilities it opens in terms of the paradigm we use to interact with our resources. It's admittedly not a completely new idea, but it's new in the way it is realized.

Before I start: in the last few months I'd been using Mozy to do online backups to my personal laptop. Mozy installs a client tool that monitors changes in my files, and uploads them to a online repository. Another interesting feature is that it adds a new option in my windows explorer's contextual menu, which allows me to browse and restore previous versions of each file.

Live Mesh, in many ways, is similar to this. I browse my file system, select folders to sync to my online Live Desktop, and the client tool it includes uploads those files to the Mesh, maintaining them synchronized. I can then open them either from the web page or any PC with the client tool installed. I can also start a remote desktop connection to any computer in my Mesh. My desktop, anywhere. (but that would be an old slogan :-)).

Anyway, this is a very interesting development (still needing perfecting...), and I'm looking forward to use it widely, since it's still a Technical Preview).

If you want to learn more, while this is not yet completely public, the best source is the team's blog at .

Now, what I would really like to see in this platform is a Silverlight interface, using Deep Zoom to browse the "desktop". That would be cool, and an interesting desktop interaction model to try out.

This development is apparently in no way related to BizTalk Services, which kind of surprises me, and I have yet no idea what the programmability possibilities are/will be.

Tuesday, May 27, 2008

BizTalk Services in the Msdn Magazine

Jon Flanders and Aaron Skonnard wrote "Connect Enterprise Apps With Hosted BizTalk Services", an interesting technical overview of BizTalk Services and the feature set it provides today. If you are interested, this is probably the best introduction you can find. Especially relevant is the Identity/Claims configuration part, at the end.

Saturday, May 24, 2008

Back From Vacation

I've just had my longest vacations in the last 4 or 5 years. And it was great :-). The week started off with the MVP Summit 08 in Seattle, with several sessions about what's coming in the Connected Systems space, namely with things like BizTalk Oslo, modeling and "D", tooling, and many an interesting thing I can't unfortunately talk about. I've also had the opportunity to learn a bit more about BizTalk Services and what's coming in that space, and do a lot of networking. This year in the Connected Systems space I had Pedro Félix as company, the recently-awarded and only Portuguese "Connected Systems Developer" MVP.

Since the Summit, BizTalk Server R3 (the "old girlfriend", as it was amusingly called at the a session) was announced by Steve Martin, and will included a set of interesting new features. Not quite a revolution, but interesting developments anyway. The BizTalk Hotrod #4 issue is out for you to check out (I especially liked the ESB Exception Management and WF Hosting in BizTalk articles).

Anyway, just wanted to ping: I'm back. :-)

Thursday, April 10, 2008

What's going on in the web after all?

I don't usually post lists of links, but I've been reading all that has been coming out following the Google's AppEngine announcement, and thought it would be a good idea to systematize these.

Bungee Labs - Next Generation Web Development Platform
an ambitious new on-demand, web-based development environment that enables developers to build and deploy web apps that utilize the large variety of APIs and web services out on the Internet

The Bungee Connect Platform-as-a-Service is a single environment for the development, testing, deployment and hosting of amazing web applications. Bungee Connect powers highly interactive user web applications built 80% faster and at a cost tied only to end user adoption

Google App Engine: Cloud Control to Major Tom
Google App Engine is similar to the Amazon Web Services stack, which rolled out at the end of 2006 and has since gone on to be utilised by many startups for their infrastructure needs. But it is not a set of standalone services like Amazon's - which includes S3 for storage, EC2 for hosting and the SimpleDB database. Google App Engine is an end-to-end service and bundles everything into one package.

Red Dog: Microsoft's Answer to App Engine and AWS?
Kip Kniskern over at the LiveSide blog spotted a Microsoft job advert that appears to give some insight into a cloud computing platform under development at Redmond that could compete with Google's just released App Engine or Amazon's suite of web services. The utility computing platform, codenamed "Red Dog" according to the job ad, is under development at Microsoft's Cloud Infrastructure Services (CIS) team and aims to see a version one release within the "coming year." What little info is provided by the job posting is rather obscure, but there are a few juicy tidbits to be had.

Google's App Engine: Aiming At Facebook, Not Amazon
If the Silicon Valley echo chamber wants to make up a competitor for AppEngine, its proper correlate (by a whisker) is Facebook’s F8 platform. If you must cram this new service into a pigeon hole, think of App Engine as the Facebook Platform for the grown-up web.

App Engine: Host Your Apps with Google
It's about time that developers get access to Google's platform! We've been hearing about Google's server farms and development tools for years. After Amazon Web Services started doing so well we all knew it was just a matter of time (next will be Microsoft we can can safely assume). Though the obvious comparison is to AWS, they aren't really the same beast. Amazon has released a set a disparate services that can be used to created a general computing platform. The services, though they work together, do not come bundled.

Linxter Internet Service Bus (ISB)
Linxter is an in-the-cloud, customizable communications infrastructure for distributed applications providing hyperconnective, secure, assured information delivery.

Google AppEngine
Google App Engine enables you to build web applications on the same scalable systems that power Google applications.

Red Dog: Yet another unannounced Microsoft cloud service
I believe Microsoft is working on a hosted app platform for developers, with BizTalk Services and SQL Server Data Services (SSDS) at its heart. In fact, I‘ve heard the codename “Zurich” attached to this Google-App-Engine competitor. But are Red Dog and Zurich one and the same? I think they are different, and all part of the big Microsoft services plan in the sky.

Google unlocks its data centers
Where's Microsoft?

Food for thought.

GASp - Journey to the center of the cloud

Last night I delivered a presentation in a GASP meeting on cloud computing, social networking, impacts on architecture, development, and even society. A conceptual and high-level session, destined to dissect today's trendy tendencies.

The information about the meeting is here (in Portuguese), and the slides are up at my skydrive.

Friday, April 4, 2008

BizTalk Server 2006 (and R2): Set Failed Message Routing

While developing BizTalk projects I frequently end up developing mini-tools to automate small and/or repetitive administration tasks. One of these, which I recently generalized, I use to turn on or off multiple "Enable Failed Message Routing" options.

Here's how you can use it:

TurnFailedMessageRouting * on DbServer - turns on the option in all the send ports and receive locations in all the applications in the configuration database in server DbServer.

TurnFailedMessageRouting MyApp off DbServer - turns off the options in all the send ports/receive locations of application MyApp in the configuration database in server DbServer.


  • The first parameter is mandatory, and can have as value "*" (meaning all the applications) or a single application name
  • The second parameter is mandatory, and can have values "on" or "off"
  • The third parameter is optional, and it is used to specify the name of the server containing BizTalk's configuration database. If this value is omitted, "localhost" is used.

The source code is in the attachment, it's pretty simple, use and change it freely. Most of it uses the BtsCatalogExplorer functionality.

(note: this can be done using script, I just prefer coding in C#).

Download at my SkyDrive:

Thursday, April 3, 2008

«Does IT Matter», and Waves of Innovation

A few years back I read Francis Fukuyama's "The End of History and the Last Man", a book that presented and defended the theory that the current political and economical status quo/zeitgeist is as good as it gets. There's supposedly no better system, hence the title of the book. This was a book I profoundly disagreed with, but had to admit it had strong and extremely intelligent and well built arguments.

A few days back I finally ended reading Nicholas Carr's polemic "Does IT matter - Information Technology and the Corrosion of Competitive Advantage". Being in a company that has "IT" in its name, the contents of these book are very relevant. The author spells a message similar to Fukuyama's, but applied to IT, stating that IT cannot be seen as giving a real competitive advantage in today's markets: whatever lead the use of Information Technology gives to a given organization, will be quickly replicated by its competitors. Additionally, the author defends that IT is becoming infrastructure, much like electricity or the railway (or other means of fast transportation). This analogy with electricity actually is used throughout most of the book to sustain the main thesis: no organization strategy today is based on the fact that the company has access to "state-of-the-art" electricity. And, consequently, no organization can base their strategies/market leads in investments in information technology.

This book had a lot of impact a few years back, and like Fukuyama's, has strong, extremely intelligent and well built arguments. It's a book I profoundly disagree with, as well, one that made me scribble lots of notes on its margins. XXX wrote a book dedicated to contradict Carr, and there is information all over the net about this, so I doubt I can add much to this argument, so I'll just leave some notes: there are a lot of anecdotes in the book that justify some positions. While stories and specific cases are interesting to know, they are hardly proof of anything: there are probably as many examples pointing in the opposite direction. The last part of the book I found especially dishonest, when the author compares the impact of IT with that of basic living conditions stuff, such as clean water to drink, or sanitation. My answer to this is: can't the same be said of BOOKS (=recorded human history) and that same water/sanitation? We wouldn't have this world without it. This is the stuff of journalist rhetoric, and not honest discussion.

ANYWAY, changing gears, I do think several of the arguments in the book make perfect sense. The emerging trend of moving into cloud-based, hosted, software, is clearly a step that brings more truth the analogy of electricity and IT (software is just... there, somewhere, I don't really care). Having the software is no longer the advantage. At least, not for long periods of time, as it will be replicated by competitors sooner or later. So it all comes back to good, ol', business strategy and practices.

The question I now pose myself is: how can I, aware of this line of reasoning, "sell" a project to a customer based on its technology merits? I happened to have a conversation with a long-time client and business partner about the book, which he had also read, and 5 minutes later the topic changed to a possible new project we are doing with them, where I am proposing brand new technology, one month old. I couldn't help feeling something was wrong. I am going forward with it, especially because it's a very sound architectural approach to the specific business problem, but I feels uncomfortable anyway.

Changing to the second, related, topic of this post: in college, quite a few years back, I remember studying Amdahl's Law. It basically states (if I remember correctly) that the impact of a given change/optimization on a component of a system has an impact on the full system that is proportional to the relative importance of that component in the full system. Simple proportionality rules. An example. Like I said above, I have this situation where I am considering using this new technology that just came out. In the typical projects we do at |create|it|, 40-60% of the effort of a given project is spent in development/programming tasks, so let's consider 50% as the average. Let's suppose this technology is applies to 10% of the project, and that it allows me to cut in half (50%) the development time. This means, summit it up, that if the project had 100 days of development, we'd be saving the customer 0.5 * 0.1 * 0.5 * 100 = 2.5 days, or about 2.5% of the total cost of the project. And this is discounting the learning curve, obviously.

This whole rant is related to constant flux of innovations and new technology being made available almost everyday by Microsoft and other vendors ("can't they just stop for a few months?" - sentence I heard recently), and it serves as a kind of reality check. It's important to measure the impact of the technology we choose for our projects, especially if it's new technology. I'm just bundling here for the sake of example, but make sure you have an answer, when a customer asks you what's in it for him when you decide to use Linq, the Entity Framework Asp.Net MVC stuff, WCF/WPF/WF, Windows or Sql 2008, etc.

That said, and since I personally thrive on innovation and breathe new technology :-), I'll make sure I have that answer. It's a different world, out there in "Does IT matter"-land.

By the way: the new technology I mentioned is the BizTalk Adapter Pack.

Wednesday, April 2, 2008

INT05 and INT06 @ TechDays 2008 - SlideDecks

A few days back I delivered a presentation on Microsoft's ESB Guidance Package at TechDays 2008 in Lisbon. The session included demos of the ESB and BizTalk 2006 R2. The slide decks (mostly in portuguese) are avaliable at my skydrive: INT05 and INT06.

Wednesday, March 12, 2008

ESB Guidance - Some notes on the installation

I've been playing with the ESB Guidance for some time now, in preparation for the session I'm presenting at TechDays 2008 on that topic. While doing this, I had to solve several small problems during installation, and also getting the samples running. Here are some tips for those who are brave of heart :-):

  • Follow the installation steps as described in this video and blog post. Use the installation manual only for reference. When in doubt, trust the video. And don't skip any step, or things WILL break later.
  • In the above video, there's a mistake when a Xml segment is pasted to Btsntsvc.exe.config: there's a "[path]" that should have been replaced with the real path. This will break the Itinerary samples/functionality. Also, note this thread in the ESB discussions (especially the post by user pkelcey) : remove the newlines between the folder and the XML element, or BizTalk will go crazy with restarts.
  • The docs mention an hotfix for BizTalk Server 2006 R2: KB943871. This code is wrong. The correct code is KB944532. This is actually an interesting hotfix, because it adds four useful properties to BizTalk's default fault schema.
  • The ESB Guidance is not regional settings agnostic. Everything will work if you have everything installed with English-US, however I had BizTalk's user running with Portuguese-Portugal. The date formats are different, so no faults showed up in the ESB Management Portal, even if everything seemed to work correctly. To fix this, see this thread.
  • Samples: unfortunately, there is no video explaining how to install the samples. You'll have to follow the docs. Some warnings:
    • The MSI's ("Windows Installer Files") mentioned don't actually exist in the package. You'll always have to follow the "Install the [component] from the Binding File/Solution Project" alternative.
    • Be careful not to install the same thing twice (especially when installing the Itineraries/Resolution/Rules parts). The instructions go around themselves and you can be led to install the same thing twice.
    • Always manually check the contents of every bat/cmd file the instructions tell you to run. One of the problems I had was with the create user part: my BizTalk installation is local, not in a domain, and the script didn't create the user nor complained (... "On Error Resume Next" ...). The creation of App Pools and Web Sites in general worked correctly, but be careful. I actually preferred to do some steps manually. Oh, and again, be careful to avoid doing the same thing twice.

As a conclusion: I wish the ESB Guidance Package had a much simpler "next-next-next" installation. The package has a lot of great stuff done with care, all the source is available, and I'm sure all the BizTalk developers and architects will find some use for parts, if not all, of it. The installation process and the documentation definitely turns people off, however. When in doubt, check the discussions on CodePlex.

I hope to post more information about the ESB Guidance in the next weeks, and maybe a couple of videos of the demos.

Sunday, March 9, 2008

The Xbox360

A few months back I bought my first ever console. An occasional player of PC-based Real Time Strategy Games, I've converted to the gaming experience of a console. The graphics are not as good as those of high-end PC graphic cards... but I never owned one of those, so it really feels as an improvement. There are almost no RTS games for the consoles, I assume mostly because of the difficulty of selecting units with a controller instead of a mouse, so I'm sticking with first person shooters for the time being. Not owning a TV set, I also bought the VGA cable to connect it to my 22" monitor, and this works great.

What I really enjoy about this setup, apart from the games,  is the totally integrated experience I have between three devices: the xbox, the windows vista laptop, and the Zune. I can connect the Zune to the Xbox or the Pc, I can play contents on the Xbox from the PC or the Zune (or the Zune via the PC, even), everything just works. Certainly far from sci-fi stuff, but a great experience nevertheless.

Back to games, one other thing I also think is interesting is the Xbox Live stuff. I'd heard about it from SaaS/S+S presentations, but the reality is that this ends up being a very important part of the whole gaming on the xbox experience. You can have a friend's list, message other players, chat, see their profiles, have video conversations, download (and upload) contents - and these are blazing fast... probably distributing stuff using some Akamai pipe.

In my previous post I mentioned that the XNA games will run on the Zune (see this post). I'm not a player of arcade-like games, but this is certainly an interesting development. Again, games for the PC will run on the XBox and the Zune. What is still missing from the Xbox is more social/community content, especially in terms of games. I'd like to see the Xbox Live Arcade feature community-developed games. This was actually announced at GDC2008, so hopefully it won't be long.

What is really missing from the XBox is an Internet Browser. Maybe this is for security reasons, but solving those would be the right answer, not leaving the feature out.


PS: Ebay UK is a great place to buy games, given their price in stores.

Saturday, March 8, 2008

TechDays 2008

É já na próxima semana a terceira edição do TechDays, com a que me parece ser provavelmente a melhor agenda de todas até aqui.

Vou fazer duas sessões relacionadas, a INT05 e a INT06:

INT05 - Utilizar o BizTalk Server como Enterprise Service Bus (ESB)
Dia 12 Sala A2 15:45
O termo ESB é amplamente utilizado na indústria, mas nem sempre devidamente compreendido. Esta sessão pretende explorá-lo, ilustrando simultaneamente como é que as potencialidades nativas do Microsoft BizTalk Server 2006 R2 podem ser expandidas pela utilização do Microsoft ESB Guidance Package. A sessão vai incluir vários exemplos técnicos, e assume-se experiência com a arquitectura e conceitos de BizTalk Server 2006 ou BizTalk Server 2006 R2. Vai ainda procurar ter ligações com a sessão INT06.

INT06 - Viagem ao Centro da Núvem – O Internet Service Bus (ISB) e os BizTalk Services
Dia 13 Sala A6 13:30
Os BizTalk Services, ou BizTalk.Net, é uma nova oferta da Microsoft que permite montar aplicações Software + Services usando um ambiente de intermediação localizado na Internet. Esta sessão vai descrever os BizTalk Services e as suas potencialidades, e demonstrá-las técnica e funcionalmente com diversos exemplos práticos. É recomendável para esta sessão algum conhecimento de WCF, que faz ponte com a sessão INT05.

A primeira sessão vai apresentar e demonstrar o Microsoft ESB Guidance Package, um desenvolvimento dos Patterns&Practices que extende do BizTalk Server 2006 R2 para cenários «ESB». A segunda sessão, que - note-se - não tem tecnologicamente nada a ver com BizTalk Server, mas antes com WCF, vai apresentar e demonstrar os BizTalk Services, o Internet Service Bus da Microsoft. As duas sessões podem ser vistas de forma independente, mas vou procurar fazer uma ponte, e reservo uma surpresa para o final da segunda sessão.

Uma segunda nota sobre a INT06 refere-se ao facto de ser uma versão encurtada e expandida da sessão de que falo aqui. Encurtada porque a foquei apenas nos BizTalk Services, e expandida porque aumentei o detalhe desta mesma componente. :-)

Além das duas sessões acima, destaco ainda uma realizada pelo André, colega na Create It. A sessão é a COL04:

COL04 - Desenvolvimento de Aplicações Sofisticadas com Microsoft Office SharePoint Designer 2007
Dia 14 Sala A2 11:15
Descubra como construir aplicações web compostas e sofisticadas, com utilização de workflows, sobre a plataforma SharePoint. Desde o suporte para o web design de acordo com os standards, às novas capacidades de edição de dados da Data View/Data Form Web Part, o SharePoint Designer tornou-se uma poderosa arma no arsenal de qualquer designer e developer de SharePoint. Esta sessão explora como construir aplicações de tracking e reporting que acedem a uma grande variedade de fontes de dados, usando a Data View Web Part e o Workflow Foundation. Aprenda também como aplicar customização às suas páginas de SharePoint em apenas alguns clicks, recorrendo a ferramentas modernas como Master Pages e Cascading Style Sheets (CSS).

O André tem muita experiência com SharePoint, como o blog dele atesta, e esta será certamente uma sessão interessante.

Finalmente, vão ainda haver várias sessões de colegas do GASP que destaco, como sejam o Zé Tó ("José António Silva"), Luis Falcão, Tiago Pascoal, António Cruz, Denis H., Miguel Madeira, Paulo Morgado, Hugo Batista, Luis Almeida e Nuno Cândido Antunes. Muita gente! :-)

Finalmente, entre os convidados de fora, as sessões que me despertam mais curiosidade são as do Stephen Forte (que conheci no último TechEd onde fez sessões interessantes), Beat Schwegler (um visitante frequente), o Rob Miles dos jogos XNA que em breve vão correr não apenas em PC e XBOX360, mas também - segundo o anúncio no GDC2008 -  no meu ZUNE v2!  :-) Venham-me lá falar do iPod. :-) Há ainda o Daniel Fisher e o Michael Willers, que estiveram em Portugal o ano passado para apresentar um evento Industrial Strength .Net, e obviamente o Raymond Chen, no que promete ser uma sessão imperdível.

E a terminar, é claro, há os outros MVP's tugas que vão apresentar, como os "móveis" João Paulo Figueira e o Alberto Silva.

Muita gente interessante, e muito para aprender. See you there.

Wednesday, February 6, 2008

2008 Lang.Net Symposium

I still didn't read the reports about it, but this looks like it was a great event. Just look at the agenda: C#, Volta, IronRuby and Ruby.NET, the DLR,, F#, Mono, Poweshell, PHP, etc. Who said language innovation is over?

Ted Neward has a good overview of the sessions: day 1, day 2, day 3.

«D» Modeling Language

I wonder who invents these codenames... according to this Mary Jo Foley post, Microsoft's future modeling language, a part of the Oslo initiative, and which will most certainly change the lives of those who work in the integration space, is [coded]named "D" [note that there's already a D programing language].

D will be a declarative language aimed at non-developers, and will be based on eXtensible Application Markup Language (XAML), sources, who asked not to be named, said.

I guess this explains one of the (NDA'd) presentations we had at last year's MVP Summit, by the man now titled «Microsoft’s Chief Modeling Officer», Don Box.

The discussion thread following this post is already very long, and several of the posts either raise problems with modeling/higher abstraction, and others just complain about "yet another language". On my personal opinion, it makes perfect sense to have new languages that are good at new, specific tasks. I'm still now sure, for example, that bringing LINQ to C# is good, in terms of aspects like language-cluttering and database-coupling, but most of the time these aspects are neglected in discussions of LINQ. On the other hand, in this SOA world of today, I think it COULD make sense to have a "service-oriented language", with primitives to send/receive messages, define message schemas, handle service/message versioning, governance, deployment, logging and monitoring built into the language itself.

So my take in this is: go D! :) I'm looking forward to try it out and see how far it can be pushed. It it can help me do more in less time, I'm all for it.

Monday, January 14, 2008

"Journey to the Center of the Cloud" - Internal Presentation

Last Friday I delivered an internal presentation on the overall concepts of cloud computing, talking about what some of the players in this space are doing: SalesForce and it's "Platform-as-a-Service" (SalesForce takes the "-as-a-Service" waaaay to far for my personal taste), Facebook and its app directory and SDK (over 13k apps at the moment), Google's Apps and OpenSocial (how can this be a «standard» if Facebook is not participating?), Amazon's fascinating web services and cloud computing offer (including Dynamo), Microsoft's hosted services (CRM, Exchange), PopFly and BizTalk Services, and finally Yahoo Pipes.

After this long description, ,where the lines blur enterprise and social, we discussed the impacts of using the cloud as a computing fabric, where distribution is everywhere, there are no transactions but rather reconciliations or consistency corrections, and where "all data from distant stars is from the past" (in the words of Pat Helland), and where there is no synchronicity, only eventual replication.

One of the interesting discussions was around the question of if these cloud platforms (especially in the MS space) will be able to give us simple, easy to use application interfaces, where we can forget about the fact that our application is hosted somewhere in a distributed datacenter environment, and just assume some kind of "SLA" in "ADO.NET.Cloud", where the distribution aspects are hidden from the developers. Or rather, if on the contrary we will have to change the way we develop to be aware of this environment: Amazon's Dynamo points in this latest direction, where some of the conflicts between different versions of data have to be solved in the semantic/application level.

Other aspect of this discussion, and one that I consider to be especially fascinating, is around data models. How to store it, how to have different copies of it, replicated, and how to reconcile it. There are some interesting initiatives here, especially Amazon's, in its data store service and in SimpleDB. I had been studying the ideas of Linda Tupplespaces, and found it really interesting that Amazon is using these ideas. Other interesting idea is Facebook's, which seems to have created a "domain specific" information store, around the notion of the user profile, for their own needs.

Anyway, it was a very interesting discussion, and eye opening in some cases. Let's see what the future brings.

In the social space specifically, some interesting ideas came up: what if Microsoft added to SharePoint 2007+ some kind of Facebook app hosting? a Web Part to host Facebook apps, for instance, would be great! And an implementation of OpenSocial in SharePoint, again to interop with its Web Parts, would also be interesting, especially if OpenSocial ever becomes successful. :-)

Thursday, January 3, 2008

Curso "Certified Scrum Master" - 30-31/Jan/08

A Fullsix está a organizar um curso de Certified Scrum Master, que vai ser leccionado por Mitch Lacey em Lisboa, no final de Janeiro, com duração de dois dias.

Pessoalmente tenho tido algum sucesso na utilização de Scrum, apesar de ser muito fácil fugir a usar todas as práticas da abordagem, e considero que o conhecimento (se não a utilização) de metodologias ágeis como absolutamente essencial no desenvolvimento de software. Vivamente recomendado!

Wednesday, January 2, 2008

New Portuguese MVP

Tiago Pascoal has just been awarded Microsoft Most Valuable Professional on Visual Studio Team System. Congratulations, and welcome aboard! :-)