Categories
Uncategorized

All Sorts of Goings-On This Week

This article originally appeared in Canadian Developer Connection.

EnergizeIT

EnergizeIT: Anything is PossibleOur cross-Canada tour where we showcase some up-and-coming-really-soon stuff like Windows 7 and Windows Server 2008 R2 starts today in Montreal! The events for the next couple of days are…

For more about EnergizeIT, see this earlier post or visit the EnergizeIT site.

Ignite Your Career

Ignite Your Career webcast series -- In partnership with CIPS Today at noon (Eastern), we’ll be presenting the third webcast in the Ignite Your Career series, titled How to Establish and Maintain a Healthy Work/Life Balance. You can find out more about this particular episode here, and you can sign up here – remember, it’s free! – with your Windows Live ID.

The two previous webcasts have been posted online for you to listen to anytime, and we’ve got three more webcasts as well. For more details, check out the Ignite Your Career site.

Coffee and Code

We had Coffee and Code sessions in Calgary and Toronto on Friday, one in Montreal yesterday, and more are on the way! As we evangelists go across the country for the EnergizeIT tours, we’ll also be holding Coffee and Code events in those cities. Keep an eye on this blog or the Coffee and Code blog for a Coffee and Code near you!

Remember, Coffee and Code is one way we’re making ourselves more accessible to you. If you’ve got a question or comment about Microsoft, our tools and tech, programming, systems administration, the tech industry or anything else, please drop by to chat face-to-face and join us for a cup of your favourite hot beverage!

And yes, there’s a Coffee and Code this Friday in Toronto, with a location to be announced. Stay tuned!

Mix 09

Mix 09: The Next Web Now -- March 18 - 20, The Venetian Las Vegas Keep an eye out for announcements from the Mix 09 conference taking place in Las Vegas from Wednesday to Friday. It’s devoted to the intersection of technology, design and the web, and it’s likely that you might hear some interesting bits of news coming from there…

Mesh and MeshU

Mesh, Canada’s “Web 2.0 and Social Media/Marketing” conference and MeshU, the workshop day associated with the Mesh conference, posted their schedules yesterday. If you want to go to a conference feeaturing a Canadian perspective on the web and its business and tech opportunities, Mesh is the conference to catch.

You can find out more at the Mesh and MeshU sites or read my posting on Mesh and MeshU on my tech blog, Global Nerdy.

…and One More Thing…

Happy St. Patrick’s Day! I’d tell you to drink responsibly, but you already do that, right? Uh, right?

Categories
Uncategorized

Mesh Conference (April 7 – 8) and MeshU (April 6)

mesh-logo

The schedule for the 2009 Mesh Conference, “the little Canadian web conference that could”, has been posted. Mesh takes place on April 7th and 8th at the MaRS Collaboration Centre in downtown Toronto and is preceded by MeshU workshop event on April 6th.

Friends of mine who’ll be presenting at MeshU include:

There are a number of presentations by other folks at MeshU – go look at the schedule to see which ones appeal to you.

As for Mesh itself, there will be keynotes over its two days by the following people:

A few people I know will be doing presentations at Mesh:

For more details, see the Mesh schedule.

Registration for Mesh costs CAD$492.50; registration for MeshU costs CAD$289.00.

Categories
Uncategorized

Named Parameters in Method Calls: Python Si, Ruby No

"Hello My Name Is" sticker In an earlier article, Default and Named Parameters in C# 4.0 / Sith Lord in Training, I wrote about how C# 4.0 – that’s the version coming out with the next release of Visual Studio, known as Visual Studio 2010 – is going to provide support for named parameters.

In that article, I also incorrectly stated that Ruby supported named parameters. Luckily, Jörg W Mittag spotted my mistake an corrected me in a comment. I’ve since corrected the article and thought I’d show you how I got it wrong in the first place.

Ruby and My Named Parameter Goof

I had a vague recollection of Ruby accepting named parameters. I figured I’d be empirical and fired up irb – the Ruby REPL shell – and put together a quick little method to see if the recollection was correct:

# Ruby 1.8.6
def test_named_params(first, second)
    puts "#{first}\n#{second}"
end

Once put together, I made some test calls to the method:

# irb session (Ruby 1.8.6) irb(main):> test_named_params("alpha", "beta") alpha beta

=> nil irb(main):> test_named_params(first = "alpha", second = "beta") alpha beta

=> nil

Seeing that the interpreter didn’t choke on that named parameter call, I thought to myself “Vague recollection confirmed, Ruby supports named parameters!” and wrote the blog article.

Had my brain actually been firing on all cylinders, I would’ve given the method a proper test by providing the named parameters out of the order in which they appear in the method signature. Here’s what I would’ve seen:

# irb session (Ruby 1.8.6)
irb(main):> test_named_params(second = "alpha", first = "beta")
alpha
beta

=> nil

Uh-oh. If named parameters worked, the first output line would be “beta” and the second would be “alpha”. Clearly something’s wrong with my recollection.

Let’s try some non-existent named parameters – say, ones involving current entertainemtn news headlines — just to see what happens:

# irb session (Ruby 1.8.6)
irb(main):> test_named_params(lindsay_lohan_dui = "alpha",
jim_cramer_smackdown = "beta")

alpha

beta

=> nil

Even with nonsensical named parameters, the method is still accepting the values in order. Why is that?

Just about everything in Ruby has a return value (which can be anything, including nil). You can see for yourself in irb – here’s a quick do-nothing method definition:

irb(main)> def doNothing
irb(main)> end
=> nil

As you can see. defining a method returns a value of nil.

As Jorg pointed out, Ruby assignment statements return a value: the value used in the assigment. Once again, for proof, I’ll use an example from an irb session. In the example below, assigning the string "alpha" to the variable first also returns the string "alpha":

# irb session (Ruby 1.8.6)
irb(main):> first = "alpha"
=> "alpha"

In the call to test_named_params, the Ruby interpreter was interpreting my “named parameters” as assignment statements. first = "alpha" evaluates to plain old "alpha", but so does second = "alpha" (and for that matter, so does lindsay_lohan_dui = "alpha"). Each assignment statement in my parameter list was evaluated, and then those values were passed to method in positional order.

Python Supports Named Parameters

After getting the comment from Jorg and correcting my article, I wondered why I thought Ruby supported named parameters. Then it hit me – it’s Python.

So I fired up the Python REPL and put together this quick little method:

# Python 3.0
def test_named_params(first, second):
    print("%s\n%s" % (first, second))

And this time, I decided to be a little more thorough in my testing:

# Python 3.0 REPL
>>> test_named_params("alpha", "beta")
alpha
beta

>>> test_named_params(first = "alpha", second = "beta")
alpha
beta

>>> test_named_params(second = "alpha", first = "beta")
beta
alpha

And some additional searching on the web confirmed that yes, Python method calling does in fact support named parameters.

So in conclusion, when it comes to named parameters, it’s Python si, Ruby no…and C# pronto.

Categories
Uncategorized

Ignite Your Career #3: “How to Establish and Maintain a Healthy Work/Life Balance”

This article originally appeared in Canadian Developer Connection.

A balancing rock in the desert

This Week’s Topic

This week’s topic for Ignite Your Career – our webcast series featuring experts from the Canadian tech industry and aimed at supporting your career development – is one that’s on a lot of people’s minds: How to Establish and Maintain a Healthy Work/Life Balance. Here’s the abstract:

With mobile technologies and our always-on culture, it’s imperative to establish and maintain a balance between work and life. If your only time to manage change in your environment is after hours, how can you maintain a healthy balance without burning out? How do you manage change so that you can develop your career and spend time with loved ones? This panel discussion will connect you to individuals who strive to establish and maintain this balance.

This webcast’s panelists are:

Mack Male

Mack Male
Mack is a software developer, entrepreneur, and social media guy. During the day he works for Questionmark Computing. Most of the rest of the time, he’s keeping up-to-date on the latest trends and technologies, and loves sharing what he learns with others. Mack is particularly passionate about his hometown, Edmonton, and does his best to expose everything it has to offer.

Cameron McKay

Cameron McKay
Cameron works for McKesson Canada, one of the largest Healthcare companies in the world as the Team Leader of the Infrastructure and Support Services Group in Toronto. An expert in Virtualization and Green IT, Cameron enjoys sharing his knowledge with the IT community through speaking engagements, blogs, and webcasts.

Paul Gossen

Paul Gossen
After 30 years as a successful serial entrepreneur and business leadership innovator Paul Gossen is well known for his credibility and high impact results in corporate coaching, team productivity and organizational transformation

 

Mark Blevis

Mark Blevis
Mark Blevis is an energetic public speaker, social media strategist, community leader, independent media producer and self-proclaimed Content Paleontologist. He is considered a thought-leader on social media and its potential and is regularly interviewed on radio and television.

Catching This Webcast

This webcast will first be broadcast this Tuesday, March 17th at 12:00 p.m. Eastern time (9:00 a.m. Pacific) and will be an hour long. It costs nothing to catch an Ignite Your Career webcast – all you have to do is register online with your Windows Live ID (which is also free).

Ignite Your Career is about maximizing your potential at work and helping you come up with a career plan in these difficult economic times. It’s not tied to any technology or vendor, so no matter what platform or tools you work with, we’re sure that you’ll find this webcast series informative and helpful.

Previous Ignite Your Career Webcasts

In case your missed the other two webcasts in this series, worry not – we’ve got them archived! Once again, they’re free to listen to – all you have to do is register online with your Windows Live ID.

The webcasts we’ve had so far in this series are:

  • Industry Insights and Trends
    The nature of technology is one of continual change; a fact of life for professionals in the ICT industry. As a result, you need to be on top of what is happening in the industry in order to position yourself and your organization to benefit from these trends. This panel discussion will arm you with the information you need from experts in the ICT industry in order to stay on top of your game.
    Speakers: Joel Semeniuk, Jeff Kempiners, Jay Payette and Paul Swinwood.
  • Discovering Your Trusted Resources
    Building a set of information sources and connecting with the community at-large are critical to your success in the ICT industry. This session brings successful community, technology, and information leaders together to share their experiences in discovering these resources. Our experts will help you learn how to identify credible sources and find the right tools, links and techniques to keep you up to date in a world of constant change.
    Speakers: Michael J. Sikorsky, Richard Campbell, and John Bristowe.

[Creative Commons photo by "Cpt. Spock".]

Categories
Uncategorized

Montreal Coffee and Code: Monday March 16th at Cafe Depot

This article originally appeared in the Coffee and Code blog.

Montreal skyline

cafe_depot

Montreal is the home to some amazing cafe culture, so it’s only fitting that we hold a Coffee and Code there. As part of Microsoft’s cross-Canada EnergizeIT tour,  we’ll be holding the first Montreal Coffee and Code at the Cafe Depot at 550 Sherbrooke on Monday, March 16th from 1 p.m. to 4 p.m..

Christian and Pierre

This is your chance to meet up with the guys I like to call “les bons gars”: Microsoft Developer Advisor Christian Beauclair and IT Pro Advisor Pierre Roman in a relaxed setting where you can talk to them about Microsoft, EnergizeIT, Windows 7, the tech industry in general or anything else (be sure to ask Christian about the new DLC for Grand Theft Auto IV, The Lost and Damned).

They’re a friendly bunch, speak both official languages – English/French and C#/VB –  and they’ll even offer to buy you some coffee!

Categories
Uncategorized

Coffee and Code Today in Calgary and Toronto

This article originally appeared in the Coffee and Code blog.

We’re Not Slackers, We’re Coffee Achievers

In response to John Bristowe’s announcement of the first Calgary Coffee and Code, we got this comment from a reader named Cameron:

How do all of you people have the day off. 9am to 4pm on a weekday? Gen-Y is in full effect.

Gen Y? Technically, we’re Gen Xers, since we were both born between 1960 and  1980. If I’m not mistaken, John is a “Nintendo Wave” Xer, since he was born in the 70s and I’m an “Atari Wave” Xer, having been born in 1967.

In response to Cameron’s comment, I couldn’t resist doctoring a graphic from the website for the animated series Slacker Cats:

Slacker Cats, starring John Bristowe and Joey deVilla

(Come to think of, they sort of look like us. The hair colour’s the same.)

But seriously: John and I (as well as a number of other people in Microsoft Canada’s Developer & Platform Evangelism team) are officially classified by Microsoft as mobile workers. All the computers assigned to us are laptops, our internet and mobile phones are subsidized and our workplaces are wherever we happen to be working at the time: our home offices, Microsoft or on the road. It’s not for everyone, but if you have the discipline to handle the freedom, it can be a pretty nice way to work.

Coffee and Code was created to make us more accessible and give Microsoft a more human “face” by taking advantage of our flexible working arrangements. By working out of places like cafes, we’re making it quite easy for you to find us and join us in a conversation about whatever interests you, whether it’s Microsoft tools and technologies, the state of the industry or any other topic. It also makes for the perfect setting for us to help build local tech communities by gathering developers, IT pros, architects and other techies together. And finally, we’re patronizing “third place” businesses – those essential social places that are neither home nor the office – that are vital to the general community.

If a Coffee and Code attracts a large enough crowd, I find that I don’t get much programming, writing or administrative work done. That’s okay, because I’m getting another kind of work done: talking with local software developers, answering their questions, making note of their needs and suggestions and exchanging ideas. In short, I’m making connections with them, and that’s a major pillar of the Developer Evangelist position. If I’m not doing that, I’m not doing my job.

Where We’ll Be

If you’re in Calgary, you’ll want to head to Kawa Espresso Bar, where John Bristowe will be hosting the event from 9 a.m. to 4 p.m.. You’ll find more details about his Coffee and Code event in this entry.

If you’re in Toronto, your Coffee and Code event will be hosted by Yours Truly at the spacious upstairs “Red Velvet Lounge” of the Starbucks at Yonge and Davisville from 11 a.m. to 6 p.m.. You’ll find more details about it in this entry.

Since both events overlap perfectly, both locations are wifi equipped and both John and I have laptops with integrated cameras, I’m going to try videoconferencing with him, making this another Coffee and Code first. If you’re in eithe rof our neighbourhoods, please drop by!

Categories
Uncategorized

EnergizeIT

This article originally appeared in Canadian Developer Connection.

EnergizeIT: Anything is Possible Next week marks the beginning of EnergizeIT, Microsoft’s cross-Canada tour where we’ll be talking about some of the new tools and technologies that are coming soon. We’ll be hosting all kinds of things, including:

  • User Group Connection: The Future of the Platform: We’ll show you the upcoming versions of our operating systems, Windows 7 and Windows Server 2008 R2, some of their features, all with this question in mind: “How is this going to make my life easier?”
  • EnergizeIT: From the Client to the Cloud: We’ll show you Microsoft’s “Software + Services” vision, which combines the power and richness of local software with the global reach of internet services to get the best of both worlds.
  • Architecting Flexibility:  A session for architects covering Microsoft’s “Software + Services” vision and showing the infrastructure possibilities that come from choosing from on-premises, cloud computing and hybrid models.
  • Windows 7 Installfest: See Windows 7 in action, see the new features and improved user interface and get the Windows 7 beta (which we’ve been running on our machines for the past little while) installed on your computer!

We’ll be sending out people from all branches of the Evangelism team: Developer Evangelists like me, as well as the IT Pro and Architect Evangelists. Unlike previous EnergizeIT events, which were held just in Toronto, we’re going to 18 major cities across Canada over the next six weeks to make sure that we reach as many Canadian developers, IT pros, architects and techies as we can, as up-close-and-personal as we can.

Best of all, it costs nothing to attend an EnergizeIT session. That’s right, it’s free! Space is limited, so you’ll have to register if you want to attend – you can do that at the EnergizeIT site.

Geeks with their laptops at a cafe at Coffee and Code

In addition to our organized sessions, we’ll be holding Coffee and Code events in the cities we’re visiting. If you’re not familiar with Coffee and Code, it’s an informal gathering where we spend the day working out of a cafe with wifi, where you can come right up to us, join us for a coffee and talk to us, ask questions and get to know us as “your people on the inside” at Microsoft. Keep an eye on this blog or the Coffee and Code blog to find out when we’ll be hosting them in your town.

Here’s a list of the cities where we’ll be doing EnergizeIT. Please note that some of the events are completely booked – make sure you check the EnergizeIT site to see if there’s still space at the event nearest you.

Montreal, PQ
March 17 – 19

  • User Group Connection: The Future of the Platform (March 17)
  • Architecting Flexibility (March 18, afternoon)
  • EnergizeIT: From the Client to the Cloud (March 18, evening)
  • Windows 7 Installfest (March 19)

Victoria, BC
March 23

  • User Group Connection: The Future of the Platform

Kitchener, ON
March 24

  • User Group Connection: The Future of the Platform

London, ON
March 25 – 26

  • EnergizeIT: From the Client to the Cloud (March 25)
  • User Group Connection: The Future of the Platform (March 26)

Calgary, AB
March 31 – April 2

  • User Group Connection: The Future of the Platform (March 31)
  • Architecting Flexibility (April 1)
  • EnergizeIT: From the Client to the Cloud (April 1)
  • Windows 7 Installfest (April 2)

Mississauga, ON
March 31 – April 1, April 4

  • User Group Connection: The Future of the Platform (March 31)
  • Architecting Flexibility (April 1)
  • EnergizeIT: From the Client to the Cloud (April 1)
  • Windows 7 Installfest (April 4, am)
  • Windows 7 Installfest (April 4, pm)

Ottawa, ON
April 7 – 9

  • User Group Connection: The Future of the Platform (April 7)
  • Architecting Flexibility (April 8)
  • EnergizeIT: From the Client to the Cloud (April 8)
  • Windows 7 Installfest (April 9)

Vancouver, BC
April 7 – 9

  • User Group Connection: The Future of the Platform (April 7)
  • Architecting Flexibility (April 8)
  • EnergizeIT: From the Client to the Cloud (April 8)
  • Windows 7 Installfest (April 9)

Toronto, ON
April 14

  • User Group Connection: The Future of the Platform

Winnipeg, MB
April 14 – 16

  • User Group Connection: The Future of the Platform (April 14)
  • EnergizeIT: From the Client to the Cloud (April 15)
  • Windows 7 Installfest (April 16)

Dartmouth, NS
April 20

  • EnergizeIT: From the Client to the Cloud

Moncton, NB
April 21

  • User Group Connection: The Future of the Platform

Regina, SK
April 21

  • EnergizeIT: From the Client to the Cloud

Fredericton, NB
April 22

  • User Group Connection: The Future of the Platform

St. John’s, NL
April 23

  • User Group Connection: The Future of the Platform

Saskatoon, SK
April 23

  • User Group Connection: The Future of the Platform

Edmonton, AB
April 28 – 30

  • User Group Connection: The Future of the Platform (April 28)
  • Architecting Flexibility (April 29, afternoon)
  • EnergizeIT: From the Client to the Cloud (April 29, evening)
  • Windows 7 Installfest (April 30)

Quebec City, PQ
April 29

  • EnergizeIT: From the Client to the Cloud (April 29)

I myself will be at the Kitchener, London, Mississauga and Toronto events, with Windows 7 in one hand and the accordion in the other. Hope to see you there!