DEVCON Luzon 2010

February 12th, 2010

I had an awesome time presenting and participating in last Tuesday's DEVCON Luzon! More than 200 software industry participants attended the event at SMX Convention Center near SM Mall of Asia.

I was lucky to have been able to present, as a 10 minute Lightining Talk,  a topic I loved a lot -- What's new in C# 4.0. And for the first time, my talk was live-streamed over the net and recorded using ustream.tv.

Thanks to Karl Arao for the photos below!

18673_309766118584_151052508584_3558919_4732446_n

18673_309766128584_151052508584_3558920_4325744_n

Later in the evening I was part of the judges for the Hackathon where PHP10,000 pesos was awarded to the winner Elmer Rivera, after a 30 minute programming challenge.

Hackathon participants congregating around an access point. Maybe for faster documentation browsing? :P

Participants look on during judging

Special thanks to the Philippines Software Industry Association (PSIA) Secretariat, especially Diane, for a great DEVCON Luzon.

Hope to see you in Cebu for DEVCON Philippines this June!

MSDN Session: VB vs. C#

December 1st, 2009

I had a lot of fun when Warren Yu and I presented a rare dual-session in the showdown between VB and C# developers - whilst showing them the newest language features in the upcoming versions of the languages Visual Basic 10 and C# 4.0. The heated discussion (aided by some San Miguel Beer) afterwards was the most passionate we've heard from members of the audience, and their lively participation only means that we're going to do this again!

Here are some of the pictures from the event:

The speakers squaring off...

The VB camp...

The C# camp...

 

Ladies of VB

JL Tolentino with his passionate defense of C#

Jad with his views on VB

 

We want to thank new Microsoft DPE Dale Jose for all that booze (and the idea for the event, actually :P )

I again thank all the awesome audience who came, spoke their mind and helped us make this event truly awesome! Thanks!

Why I love C#

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. :)

Introduction to Test Driven Development Slides and Code

October 25th, 2009

I did a talk introducing students to Test Driven Development last Saturday, October 17, 2009. This is basically same as the TDD Revisited slides, refined slightly taking into account the student audience.

Last Saturday's talk was part of the IT Probe 2009 event held at Adamson University in Manila, by the Junior Philippine Computer Society.

An Introduction to Test Driven Development

Here's some pics from the event:

I'd like to thank the officers and members of the Junior Philippine Computer Society of Adamson University for inviting me over.

Twitter, Facebook and other Social Network APIs on ASP.NET at UST

October 19th, 2009

I reduxed my talk on Social Network APIs for UST students last August 29. Just wanna share the pics on this one:

There were over a hundred (something like 130) students that attended this talk. Hopefully I didn't bore all of them to sleep :P

Thanks to the UST ICS Dept. Section A of the College of Engineering for inviting me. :)

Postponement Typhoon

October 2nd, 2009

Last Saturday I was supposed to talk at Pamantasan ng Lungsod ng Muntinlupa about N-Tier Architecture and Object-Oriented Programming.

I was on my way to the event when Typhoon Ketsana ("Ondoy" in the Philippines) came crashing in. With the talk canceled I edged my way home, first through really bad traffic, and then finally through floods. I had it go through some water deeper than the hood of my dad's Mazda B2200 -- and learned to appreciate the value of analog carburetors and diesel engines -- and they're 15 years old at that.

Tomorrow I'm supposed to talk about Test-Driven Development to students at Adamson University, but the event is again, postponed, due to class suspensions and the potential trouble that can be caused by Typhoon Parma ("Pepeng" locally).

I'll post slides after these talks, when they finally push through.

Visual Studio 2008 Error: “The application data folder for Visual Studio could not be created”

June 21st, 2009

I recently got a strange error in Visual Studio 2008 which prevents Visual Studio 2008 from starting: "The application data folder for Visual Studio could not be created.", with only a Close button on the message box. What makes this weird is that it happens only when I use my Administrator account, and not my regular user account -- counterintuitive, because at first it appears to be a permissions problem.

After searching the net for a solution I've found a plethora of blog posts encountering the same problem, with various solutions, but Quantboy's "Visual Studio 2.0 startup error" pointed me at the right direction:

I googled the message- and found that the key to this problem is by changing the following registry key entry (like some everyday user’s going to be able to find this)

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

I checked the value for this entry in my Admin account and this is what I found:

 RegistryForJonjonAdmin

I compared this with my user account, and this is the correct value, which I applied to the Admin account. I was then able to run Visual Studio 2008 normally:

RegistryValueforAppData

Consequently I found out that it also prevents Firefox from starting up; during the time I was having these errors I can't open FF either, but after the fix FF starts normally. I don't know what hotfix or what not causes this error, however.

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

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

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!

TDD Revisited

April 25th, 2009

I recently did a small presentation for my officemates as a refresher for Test Driven Development:

TDD Revisited TDD Revisited LaTtEX A guide to test driven development both for people who need an introduction to it, as well as software developers who wish to review its core concepts.

Publish at Scribd or explore others: How-to-Guides & Manu test driven developm software development

This presentation is based heavily on Ben Hall's Red, Green, Refactor! presentation, - in fact you could get the code for this presentation from there as well. :)