Monday, November 16, 2009

TechEd Europe 2009

Well TechEd Europe 2009 held in Berlim, finished yesterday. It was another great experience, where I learned some stuff that I was eager to get my hands on (VS 2010 Architecture), contacted some Portuguese fellows and MS gurus, and discovered a little (not much time available, and at 4PM it’s completely dark) of Berlim. Also received a free copy of Win7 and some kits (SQL 2008, Win 2008), which will come handy.

There were also some missteps:

  • On arrival, all of the bags that came from Lisbon didn’t make it to the airplane and were left in Madrid. Not very pleasant, arriving at 22:45 at Berlim and not having any more clothes when the temperature is 2ºC.
  • The wireless/Internet on the hotel was not free, and very expensive: 9,95 €/hour, or 19,95 €/day.
  • The logistics around the event had some problems, namely with the check-in, and the cloakroom (huge lines). But, for a first event (for Berlim) and with > 7.000 people attending, it sould be expected. According to some powerpoints of the sessions, there will be no DVD with the sessions recordings and powerpoints available for the attendees (but the e-mail with the TechEd offers, mentions the MMS 2009 DVDs Breakout recordings and HOLs, so I don’t know what to make of it).
  • Almost nobody speaks English in Berlim, so we were on our own. The younger people speak a little English (but one person from the hotel confused “no problem” with “not possible”, making for a very strange conversation).
  • The flight back was at 7:30 AM so waking up and checking-out between 4:30 AM and 5:30 AM was a bit tough. Also some confusions with the credit card payment of the hotel (it was just reserved, apparently), made for a tought day (not over yet).
  • The connection flight is only at 15:45, so we have to wait out in the aeroport for more than 4 hours and are already very tired. Also the WI-FI at the airport is not free, so no Internet.

But back to the event. Microsoft grouped the IT sessions with the Developer sessions, which has its pros and cons. On the upside, I was able to assist some very good and on-time sessions on “Virtualization and Consolidation” (Gopal Ashok), “Upgrading to SQL 2008” (Dandy Wein), and two very good sessions from Russinovich (from SysInternals fame) “Pushing the limits of Windows”, “Windows Troubleshooting”.

On the downside, the keynote was more IT oriented (Exchange 2010, a new efficiency debate – which was a bit boring, and Windows 2008 R2 and Hyper-V).

For me, the best sessions on the Architecture Track were David Chappell “IT Innovation”, Rafal Lucawiecki “Predictive Programming”, and Don Smith “Application Architecture Guide”. On the Development Track, I really enjoyed the ones around VS2010 Architecture Tools: Peter Provost “Architecture Discovery and Validation”, and Doug Seven “TFS: Become productive in under 30 minutes”.

A bit of a let down were the sessions from Tess Fernandez “Debugging ASP.NET” and Brian Keller “SW Testing in VS 2010”. Not that they were bad, on the contrary, but I was expecting more (maybe it was the expectations).

Update:

The post was written on Saturday, 14 November on the airport, so the event finished 13 November. The post was done today because there was no free wireless on the airport and the remainder of the weekend was just family time.

Marcas Technorati: ,,,

SQL Tips/Tricks 2

Excel is an excellent tool for generating sql scripts of reference tables. Besides being easy to generate the scripts, it’s also easy for the client to manipulate and update the reference information (almost always, it’s the format used for database like information for clients).

So for an excel with the following structure

TableX      
ID Name Date1 UserId
1 Abc 10-01-2009 Alc
2 Def 10-01-2009 Xyz

where the $A$1 is the table name and the columns name are on row 2 (ID, Name, Date1, UserId), inserting the formula on column 6 (or bigger) without newlines:

=CONCATENATE("INSERT INTO ";$A$1;"(";A$2;",";B$2;",";C$2;",";D$2;") VALUES(";A3;", '";B3;"', '";TEXT(C3;"aaaa-mm-dd");"', '";D3;"')")

yields the following result:

INSERT INTO TableX(ID,Name,Date1,UserId) VALUES(1, 'Abc', '2009-01-10', 'Alc')

 

What the formula  is doing is concatenating “INSERT INTO”, the table name ($A$1), the parentesis, column names (A$2, B$2, …), the string VALUES, and the actual values separated by commas and delimited with ‘ when appropriate (string or date values).

So to generate the script is just a matter of copying the formula for all the rows with values (double clicking the cross symbol on the right lower corner of the cell, and it repeats itself according to the adjacent cell, or pulling down the intended number of rows):

image

And the end result is this:

image

And that’s it. A script ready for pasting in a SQL file and applying to a DB.

Marcas Technorati: ,

Wednesday, July 15, 2009

Google Chrome OS

Google has made the announcement of the Chrome OS and has been riding the wave of free publicity on every blog and tech site.

So what to make of it? Bruce Eckel (from Thinking in Java fame) thinks it’s another nail in Microsoft’s coffin, the timing is perfect (because of netbooks and Vista failure), and Microsoft is too big to react rapidly.

But many think that Google has lost it’s mind, operating systems are too complex, it’s Microsoft and Apple territory, and 2H 2010 is too late (Ted Neward’s Thoughts on the Chrome OS announcement and Fake Steve’s Let's all take a deep breath and get some perspective). Mini Msft already sees Microsoft turning the corner with Windows 7 and Bing, while Google  is loosing steam and facing some of Miscrosoft problems.

 

But to me the most correct analysis is made in The Google Revenue Equation, and Why Google’s Building Chrome OS, that puts the focus on the strategy, that for Google is to center the User Experience on the Web (as it monetizes online ads), while for Microsoft is to center the User Experience on the Desktop (because of Windows and Office). So each player is reaching out to maximize, consolidate and uniformize that experience. For Google it means reaching out to Mobile, Browsers and Operating Systems (that focus on the Web). On the other hand, for Microsoft the center is the Desktop, so RIA and it’s online offers exist primarily to focus and integrate well with Windows and Office Desktop.

Marcas Technorati: ,,

Wednesday, June 24, 2009

VS 2010

There’s some great stuff coming up with VS2010. First, there’s a focus on performance (probably because Rico Mariani is for some time the chief  architect of Visual Studio, so startup should improve as well as the text editor), but no plans for a 64 bit version.

 

Another area getting a lot of attention (that is deserved) is parallel computing, with some new patterns and librarys (thanks for the post, Mário):

 

An area that I’m especially eager to really discover is debugging/profiling with VS2010. According to one Dev Manager, the Beta 1 already has:

  • Historical Debugging (collecting events, parameters, performance monitor)
  • Test impact Analysis
  • Tier profiling (DB calls)
  • Parallel performance analyzer
  • Performance rules

Which is very good, and John Robbin already dived deep and poked with the feature.

Tuesday, January 27, 2009

Top 100 Books of SW Engineering

I just found out a great compilation of the top 100 books of Software Engineering. The method for computing the list involves Amazon ratings, Jolt Awards and Google hits, so it's as scientific as it can get...

Looking at the list makes for a tremendous wish-list/bookshelf:

#
Author(s) / Title

1
Steve McConnell

Code Complete: A Practical Handbook of Software Construction (2nd Edition)

2
Elisabeth Freeman, etc.

Head First Design Patterns

3
Steve McConnell

Rapid Development

4
Erich Gamma

Design Patterns: Elements of Reusable Object-Oriented Software

5
Bruce Schneier

Applied Cryptography: Protocols, Algorithms, and Source Code (2nd Edition)

6
Robert C. Martin

Agile Software Development: Principles, Patterns and Practices

7
Joel Spolsky

Joel on Software

8
Tom DeMarco, Timothy Lister

Peopleware: Productive Projects and Teams (2nd Edition)

9
Frederick P. Brooks

The Mythical Man-Month, Anniversary Edition (2nd Edition)

10
Martin Fowler

Refactoring: Improving the Design of Existing Code

11
Mike Cohn

Agile Estimating and Planning

12
Alistair Cockburn

Writing Effective Use Cases

13
Bertrand Meyer

Object-Oriented Software Construction (2nd Edition)

14
Steve McConnell

Software Estimation: Demystifying the Black Art

15
Mike Cohn

User Stories Applied: For Agile Software Development

16
Donald E. Knuth

The Art of Computer Programming, Volumes 1-3 Boxed Set (2nd Edition)

17
Martin Fowler

Patterns of Enterprise Application Architecture

18
Jeffrey Friedl

Mastering Regular Expressions

19
Andrew Hunt, David Thomas

The Pragmatic Programmer: From Journeyman to Master

20
Karl E. Wiegers

Software Requirements (2nd Edition)

The full article is at Top 100 Best Software Engineering Books, Ever.