Posts Tagged ‘MSDN Sessions’

Why I love C#

Monday, October 26th, 2009

BASIC was my first love. Notice the all caps -- that was how it was written back in the 80s. I discovered BASIC via a GW-BASIC manual I had found in my grandfather's boarding house, where a former tenant left it after graduation. From that lost book I was introduced to programming, and I moved from GW to QBASIC then to Visual Basic 4, jumping to VB 6 and finally, VB.NET. Visual Basic was my first foray into .NET, and with my skills back then, it was really, really good.

Along the way I met a bunch of other languages, though. In highschool we were also taught a data-oriented language called Clipper, and a weird semicolon-laden language called Pascal. It was the first time I saw line-terminators in a programming language. In college I finally got to meet C. Quite different a beast from BASIC, I nonetheless got the hang of C very quickly. It was terse, requiring fewer keystrokes to write in (there was no Intellisense back then) and I immediately kept all the keywords I needed in my head. It was great, but I didn't get to use it at once when I started working.

In the early years of .NET I was ambivalent between the choice of languages. I learned both Visual Basic and C# and said to myself -- what's the big deal between the two? Nothing much. So I just studied and learned and switched from one language to another, until one day I got introduced to object-oriented programming. OOP was a difficult, disciplined programming concept -- much harder to internalize than structured programming was. But that's where I saw what C# was good at: it was naturally geared towards OOP. I compared writing applications in both languages, and noticed that if I was doing OOP, it would be much faster if I wrote it in C#.

I had one last foray using VB.NET on a full-blown object-oriented designed application, and it just convinced me further that C# was the way to go. What nailed it further for me was when .NET 2.0, and then .NET 3.5 arrived. It was much easier to use and write generics, I could use anonymous methods (which wasn't possible in VB early on), LINQ was without hassles of unsightly underscores, and lambda expressions were just much more intuitively beautiful in C#. Likewise, with the ability to introduce unmanaged code, developers could also introduce more advanced tweaks that are impossible to include with VB.

C# empowers a .NET developer to realize the full potential of the .NET framework, aside from the language. This power becomes even bigger with the introduction of the dynamic keyword in C# 4.0, giving it the best of both worlds between static-typed and dynamic-typed languages. It is this power that convinced me that C# is the way to go.

So, why do you love C#? Why don't you like/love it? I'd love to hear your thoughts too. :)

Slides and code for MSDN Session: An Introduction to IronRuby and the Dynamic Language Runtime

Wednesday, June 3rd, 2009

I'd like to thank the nice people who came over and saw last Thursday's MSDN Session!

The slides used for the presentation is provided below, via Scribd, downloadable in PPT format:

An Introduction to IronRuby and the Dynamic Language

An Introduction to IronRuby and the Dynamic Language LaTtEX Presentation given during the MSDN Session of the same title, last May 27, 2009, at the Microsoft Philippines Offices. These slides discuss about the merits of learning a dynamic language, a brief history of Ruby, and its main language features

Publish at Scribd or explore others: Internet & Technolog Research ruby dlr

The Ruby sample code is provided here: RubySampleCode.zip

The sample code for Ruby integration with C# (taken from cruizer here) is here: IronRubyTest.zip

Do check out Andre Cruz's IronRuby presentation slides and demo code -- which was my source for several key points in my presentation. While Andre lamented that he had an audience of 10, I shared his ideas to my audience of 100, as my way of thanking him. Salamat bushing! :)

During the presentation, Philip Laureano asked a rather difficult question regarding the DLR's integration with C# 4.0's "dynamic" keyword. He came up with the answer himself: click here for the sample code on how C# 4.0's dynamic keyword demonstrate the capabilities of the DLR. You the man, Philip!

I'm cooking up a follow up session on ASP.NET MVC working with IronRuby, but don't hold your breath just yet; will keep you posted. Thanks again to everyone who was there!

MSDN Session: An Introduction to IronRuby and the Dynamic Language Runtime

Friday, May 22nd, 2009

Time to speak up again! :)

I'm going to have an MSDN Session at the Microsoft Philippines HQ in Makati to discuss about IronRuby, its awesome potential, how far its progress has gone, and the basics of the Ruby language on Wednesday, May 27, 2009, 6PM.

You'll need to register for this event, so please visit the MS Events Philippines page for this MSDN Session on IronRuby.

Hope to see you there!

Enriching ASP.NET applications with jQuery — Slides and Code

Sunday, January 25th, 2009

I'd like to thank everyone who attended the MSDN Session I conducted a week and a half ago, entitled Enriching ASP.NET applications with jQuery. Again I'd like to apologize that I wasn't able to show a genuine DB-backed app to them ('coz my SQL Server installation got fried for some reason) and my backup plan of showing off StackOverflow.com's jQuery goodness was a fail owing to a lousy internet connection (my fault, not Microsoft's). I still hope, however, that those who attended learned something and enjoyed the demos nonetheless.

You could download the presentation and code here:

As such, this talk was based mainly on Stephen Walthef's talk at the Microsoft PDC 2008. If you'd like to check his presentation out as well, you can find it here: jQuery and ASP.NET AJAX Demo Code.

Working through first quarter MS events of 2009

Monday, January 12th, 2009

I'm starting this new year with a bang with lots of activities lined up speaking about new stuff on ASP.NET!

The year starts with MSDN Session: Enriching ASP.NET Applications with jQuery on January 15th, 6-8PM, at Microsoft Philippines office in 6750 Ayala Ave., Makati City. I'm gonna speak about jQuery, an open source lightweight JavaScript library which works with Visual Studio 2008 and is going to be shipped by Microsoft for Visual Studio 2010. Click on the link to register.

That talk will be reprised on Jan 20 and 21, where newly minted MVP Eduardo Lorenzo and I will join forces to speak in Subic, Zambales and Clark Field, Pampanga.

Finally, on February 26, I am honored to be one of the speakers for the biggest developer event in the Philippines: Web Ramp Up. There I would talk about "Coding4Fun: Facebook, YouTube, Twitter and other Social Network Apps with Silverlight and WPF". Click on the link for information on how to register and purchase tickets.

Hope to see you in these events!

LINQ for NHibernate: O/R Mapping in Visual Studio 2008 Slides and Code

Tuesday, August 12th, 2008

I'd like to thank all of those who participated in the MSDN Session that I conducted the other week. I apologize if I wasn't able to clearly convey all of the concepts needed (the paradigm shift to NHibernate is daunting, to say the least, for those in the Microsoft orthodoxy), though hopefully I was able to open minds and spark an idea or two for those who are struggling with their "traditional" means of accessing databases on .NET.

Anyway, this took a bit (as usual) but here are the slides for my presentation. You can download by clicking the following link:

LINQ for NHibernate.

During the presentation I used the following tools:

SQL Server 2005 Express Edition - A free and lightweight version of SQL Server 2005.

SQL Server Management Studio Express - A management utility for SQL Server 2005 Express edition, which also comes for free. Unfortunately this tool does not come with a profiler, so we will also need a third party profiling tool like...

xSQL Profiler - which I used during the presentation. Great profiling tool that works with SQL Server 2005 Express out of the box.

Finally, you would need the LINQ for NHibernate source code, or specifically, the NHibernate.Linq project, that could be found in the nhcontrib sourceforge download page.

During the presentation I used a database named INAVTravel to demonstrate NHibernate and LINQ for NHibernate. I-NAV Travel & Tours is a travel agency owned and operated by my wife Melynn. What I demoed is actually the beginnings of an application that I was making for her.

The ff file contains the script for the table definitions in that database: INAVTravel create script.

You would also need to populate the tables with the ff default data:INAVTravel Data script

The following is the zipped source code for the demo. Note that you may need to modify nhibernate.cfg.xml and you would definitely have to edit the connectionstring on app.config in the test project to specify your own username and password:

MSDN LINQ for NHibernate Code

Disclaimer: The unit testing strategy I used in this demo is not considered best practice. Ideally unit tests should not depend on any sort of default data to be able to pass their tests. I used this technique just to be able to show what NHibernate is doing behind the scenes (via xSQL Profiler) to the audience, without having to code a working UI. ;)

If you have any questions/comments or if you run into trouble with any of the above files, feel free to add a message below. Thanks! :)

Ortigas MSDN Session – LINQ for NHibernate: Simple O/R Mapping in C# and Visual Studio 2008

Monday, July 21st, 2008

I'm going to conduct an MSDN Session next week, but this time it won't be at the Microsoft office in Makati, but in SM Megamall!

It's going to be on Wednesday, July 30 and I'm going to talk about LINQ for NHibernate. I hope this venue would mean lots more Ortigas software devs being present, as I understand they find the Ayala Ave. venue a bit inconvenient (especially considering rush hour traffic at 6pm!).

You may register for MSDN Session - LINQ for NHibernate: Simple O/R Mapping in C# and Visual Studio 2008 by clicking the link.

Here's the brief on the talk:

The release of Language Integrated Query (LINQ) with Microsoft Visual Studio 2008 heralds exciting new possibilities in software development, allowing integration even with third party software. One such popular third party solution is NHibernate, an open source Object-Relational Mapping API which allows for vast interoperability between heavily object-oriented .NET applications and Microsoft SQL Server as well as other database technologies such as Oracle and MySQL. This session seeks to demonstrate how, with improvements brought about by LINQ, performing CRUD operations and querying becomes easier and more intuitive while faithfully complying with the tenets of object-oriented programming and easily maintaining POCOs (plain old CLR objects).

Hope to see you there! :)

Thanks to all who attended the MSDN Session: What’s new in Web Development Visual Studio 2008

Thursday, April 17th, 2008

Jonjon at the MSDN Session

I'd like to thank everyone who went to the MSDN Session: What's new in Web Development Visual Studio 2008 last night!

Makati MSDN Session: What’s New in Web Development for Visual Studio 2008

Thursday, April 3rd, 2008

I'll be conducting the Makati MSDN Session: What's New in Web Development for Visual Studio 2008 on Wednesday, April 16, 2008, 6-8 PM at the offices of Microsoft Philippines in 6750 Ayala Ave.

In it I'll be discussing more about the new features of Visual Studio 2008, particularly, its enhanced editor functionality, improved JavaScript support, new web controls, WCF, and framework multi-targeting.

This comes at the heels of the Launch {2008} : Heroes Happen Here event.

UPDATE: Register online for What's New in Web Development for Visual Studio 2008 by clicking on the link. Hope to see you there.