In continuing my video series on Task and Await, Part 3 is now available. To get code downloads, articles, and links to other videos, take a look at Exploring Task, Await, and Asynchronous Methods.
In this episode, we take a look at an alternate way of dealing with continuations with Task. There are lots of useful properties, including IsFaulted, IsCanceled, and IsCompleted. Unfortunately, IsCompleted doesn't mean what we think it means. Fortunately, we can look at Status for the information we're looking for.
Watch it on YouTube: Task and Await in C# - Part 3: IsFaulted, IsCompleted, and Task.Status
Readable version: Task Continuations: Checking IsFaulted, IsCompleted, and TaskStatus
Or watch it here:
Check out the full series playlist to see everything together:
The next episode on Cancellation Basics is coming soon!
Happy Coding!
Monday, September 7, 2015
Thursday, September 3, 2015
New Video: Basic Exception Handling with Task and Await
Part 2 of my video series on Task and Await in C# is now available. Check out the code downloads and articles here: Exploring Task, Await, and Asynchronous Methods.
This time we take a look at what happens if our asynchronous method throws an exception. This is pretty easy to deal with when using the "await" operator (we just add a "catch" block). And if we need to take full control over the situation, we can use the various continuation options that are available with Task.
Direct link: Task and Await in C# - Part 2: Basic Exception Handling
Or watch it here:
Look forward to more episodes coming soon.
Happy Coding!
This time we take a look at what happens if our asynchronous method throws an exception. This is pretty easy to deal with when using the "await" operator (we just add a "catch" block). And if we need to take full control over the situation, we can use the various continuation options that are available with Task.
Direct link: Task and Await in C# - Part 2: Basic Exception Handling
Or watch it here:
Look forward to more episodes coming soon.
Happy Coding!
Labels:
Asynchronous Programming,
await,
Exceptions,
Task,
Video
Wednesday, September 2, 2015
Jeremy on .NET Rocks! (for real this time)
A couple weeks ago, I had a great conversation with Carl Franklin and Richard Campbell. I'm really excited to see that it's now published as .NET Rocks! # 1187: Becoming a Social Developer with Jeremy Clark.
Back in 2010, I announced that I was on .NET Rocks! (sort of). This is when Richard read my email on the show. My email was about how an episode of the show had inspired me to speak at a developer community event for the first time. And then last year, I was on .NET Rocks! (at least for a little bit). This was for Show 1000, and I got to tell that same story in about 5 minutes.
This time, I'm on for the full show. Be sure to check it out:
Becoming a Social Developer
The topic is how to become a social developer -- someone who meets new people and talks to other folks at developers events, whether a local user group or a large conference. This is a challenge, particularly since developers are often introverts (the nature of the business attracts us). But we can get over our fear and make some great connections.
I first put down my thoughts about this last December: Becoming a Social Developer: A Guide for Introverts. Rather than repeating the same points, I'll just recommend that you read that article.
Five years in to my experiment, I made some observations at a conference that I attended recently: On Being a Social Developer: Observations from That Conference. I talk about some of these experiences on the show, but this article gives some more details (including pictures).
[Update 09/2015: Be sure to visit the official website: Becoming a Social Developer]
Thank You!
I really appreciate the chance to share this topic. It's one of those things that was hard for me to learn, but I've found it extremely valuable to my career. (This is my experience with the technical topics that I share as well.)
Based on Carl's question during the show, I decided to pitch this as a topic for Code Mash. This would be a great "day one" talk at any conference to encourage attendees to make the most of their opportunities to spend time with other developers. And I'm sure that I'll be talking about it at developer events in the future.
Some of My Friends
On the show, I mention several of my friends. I want to give a few more details about them:
Filip Ekberg (blog, twitter, Pluralsight)
I first met Filip at the Microsoft MVP summit. We were both first-time MVPs, and we spent quite a bit of the week together. He was living in Sweden at the time, and he's since moved to Australia. He was also nice enough to help me out on my Pluralsight course about localization and globalization.
John Strobel (twitter)
I met John at That Conference just a few weeks ago. We ended up talking quite a bit that week, and I'm sure that we'll have lots of great conversations in the future. Read a little more on my observations at That Conference.
Matt Johnson (blog, twitter, Pluralsight)
I met Matt at the Desert Code Camp when he was living in Phoenix, AZ. We've had some great conversations over the years. He's since moved to Washington to work for Microsoft. Matt is Mr. DateTime, and he's helped me out with some of my own code. Be sure to check out his Pluralsight course and also his talk with Scott Hanselman on Hanselminutes #485. He knows what he's talking about on the subject.
Deborah Kurata (blog, twitter, Pluralsight)
I met Deborah at the Silicon Valley Code Camp a few years back. She is an author and speaker, and she runs a user group in Berkeley, CA. We've talked quite a bit because we know each other through several channels, including the Microsoft MVP program and through Pluralsight.
Since several of us are Pluralsight authors, it's really easy to think that we met through Pluralsight. But that's not the case. Filip's first course published a couple weeks before mine. In fact, when we met at the Microsoft MVP summit, neither of us were Pluralsight authors. We talked to Dustin Davis (Pluralsight, video channel) about his experience with Pluralsight, and that encouraged us to give it a go.
I was one of the folks who encouraged Matt to go forward with his Pluralsight audition, and I was very happy to hear when his first course published. And Deborah's first course published about a month after my first one. So I knew these folks before we all became authors. (BTW, I think that means that John needs to become a Pluralsight author, too.)
Wrap Up
Enjoy the show. And I hope that it encourages you to break out of your comfort zone and talk to someone new. It's been an amazing journey for me. I've made some great friends. I've broadened my technical skill. And I've make my world a little bit bigger. You can do the same.
Happy Coding!
Back in 2010, I announced that I was on .NET Rocks! (sort of). This is when Richard read my email on the show. My email was about how an episode of the show had inspired me to speak at a developer community event for the first time. And then last year, I was on .NET Rocks! (at least for a little bit). This was for Show 1000, and I got to tell that same story in about 5 minutes.
This time, I'm on for the full show. Be sure to check it out:
Becoming a Social Developer
The topic is how to become a social developer -- someone who meets new people and talks to other folks at developers events, whether a local user group or a large conference. This is a challenge, particularly since developers are often introverts (the nature of the business attracts us). But we can get over our fear and make some great connections.
I first put down my thoughts about this last December: Becoming a Social Developer: A Guide for Introverts. Rather than repeating the same points, I'll just recommend that you read that article.
Five years in to my experiment, I made some observations at a conference that I attended recently: On Being a Social Developer: Observations from That Conference. I talk about some of these experiences on the show, but this article gives some more details (including pictures).
[Update 09/2015: Be sure to visit the official website: Becoming a Social Developer]
Thank You!
I really appreciate the chance to share this topic. It's one of those things that was hard for me to learn, but I've found it extremely valuable to my career. (This is my experience with the technical topics that I share as well.)
Based on Carl's question during the show, I decided to pitch this as a topic for Code Mash. This would be a great "day one" talk at any conference to encourage attendees to make the most of their opportunities to spend time with other developers. And I'm sure that I'll be talking about it at developer events in the future.
Some of My Friends
On the show, I mention several of my friends. I want to give a few more details about them:
Filip Ekberg (blog, twitter, Pluralsight)
I first met Filip at the Microsoft MVP summit. We were both first-time MVPs, and we spent quite a bit of the week together. He was living in Sweden at the time, and he's since moved to Australia. He was also nice enough to help me out on my Pluralsight course about localization and globalization.
John Strobel (twitter)
I met John at That Conference just a few weeks ago. We ended up talking quite a bit that week, and I'm sure that we'll have lots of great conversations in the future. Read a little more on my observations at That Conference.
Matt Johnson (blog, twitter, Pluralsight)
I met Matt at the Desert Code Camp when he was living in Phoenix, AZ. We've had some great conversations over the years. He's since moved to Washington to work for Microsoft. Matt is Mr. DateTime, and he's helped me out with some of my own code. Be sure to check out his Pluralsight course and also his talk with Scott Hanselman on Hanselminutes #485. He knows what he's talking about on the subject.
Deborah Kurata (blog, twitter, Pluralsight)
I met Deborah at the Silicon Valley Code Camp a few years back. She is an author and speaker, and she runs a user group in Berkeley, CA. We've talked quite a bit because we know each other through several channels, including the Microsoft MVP program and through Pluralsight.
Since several of us are Pluralsight authors, it's really easy to think that we met through Pluralsight. But that's not the case. Filip's first course published a couple weeks before mine. In fact, when we met at the Microsoft MVP summit, neither of us were Pluralsight authors. We talked to Dustin Davis (Pluralsight, video channel) about his experience with Pluralsight, and that encouraged us to give it a go.
I was one of the folks who encouraged Matt to go forward with his Pluralsight audition, and I was very happy to hear when his first course published. And Deborah's first course published about a month after my first one. So I knew these folks before we all became authors. (BTW, I think that means that John needs to become a Pluralsight author, too.)
Wrap Up
Enjoy the show. And I hope that it encourages you to break out of your comfort zone and talk to someone new. It's been an amazing journey for me. I've made some great friends. I've broadened my technical skill. And I've make my world a little bit bigger. You can do the same.
Happy Coding!
Tuesday, September 1, 2015
New Video: Consuming Asynchronous Methods
I just started a new video series on Task and Await in C#. This is based on my recent series of articles Exploring Task, Await, and Asynchronous Methods.
Part 1 is currently available. This is all about how to consume an asynchronous method. We look at both using Task manually and using await to let the compiler do the heavy lifting. This will give us a good start as we head into looking at exception handling, cancellation, and finding the gotchas along the way.
Direct link: Task and Await in C# - Part 1: Consuming Asynchronous Methods
Or watch it here:
You can get the code samples and view the printed articles here: Exploring Task, Await, and Asynchronous Methods.
Coming Soon:
Part 2: Basic Exception Handling now available!
Part 3: IsFaulted, IsCanceled, and Task.Status now available!
Part 4: Basic Cancellation now available!
Watch the entire series: Task and Await in C#
Happy Coding!
Part 1 is currently available. This is all about how to consume an asynchronous method. We look at both using Task manually and using await to let the compiler do the heavy lifting. This will give us a good start as we head into looking at exception handling, cancellation, and finding the gotchas along the way.
Direct link: Task and Await in C# - Part 1: Consuming Asynchronous Methods
Or watch it here:
You can get the code samples and view the printed articles here: Exploring Task, Await, and Asynchronous Methods.
Coming Soon:
Part 2: Basic Exception Handling now available!
Part 3: IsFaulted, IsCanceled, and Task.Status now available!
Part 4: Basic Cancellation now available!
Watch the entire series: Task and Await in C#
Happy Coding!
Monday, August 31, 2015
September 2015 Speaking Engagements
It's hard to believe that it's September already. I have a couple of speaking engagements scheduled in the Phoenix area this month. And there are a few more beyond that.
Wednesday, September 23, 2015
Northwest Valley .NET User Group
Glendale, AZ
Website
Topic: I'll Get Back to You: Task, Await, and Asynchronous Methods
Consuming asynchronous methods can be confusing. But not for long. We'll look at how to use Task (along with continuations, statuses, and schedulers) and also async/await. I share some of the gotchas that really stumped me when I was first diving into this area. I did this talk back in July, and we had a lot of fun.
Thursday, September 24, 2015
Southeast Valley .NET User Group
Chandler, AZ
Meetup Event
Topic: Unit Testing Makes Me Faster: Convincing Your Boss, Your Co-Workers, and Yourself
I've been pushing unit testing for a while now. That's because I've seen how unit tests allow me to code more confidently and more forward faster. Come see real-world examples and leave inspired to look further into this great tool.
A Look Back
August was kind of a crazy month. I spoke at the Quicken Loans Technology Conference in Detroit, MI. And then I went on to speak at That Conference in Wisconsin Dells, WI. In between, I did some sightseeing and had an amazing two weeks on the road. Check out pictures here: Two Full Weeks of Awesome.
In addition, I did a review of That Conference from the perspective of a Social Developer. Lots of cool stuff there. Along those same lines, I recorded an episode of .NET Rocks! which will publish in just a few days.
Finally, I went to Mountain View, CA and spoke at SouthBay .NET. I had a great time (including a little banjo playing).
That's 23 events so far this year. If I'm lucky, I'll hit 30 by the end of the year.
A Look Ahead
The first week in October, I'll be headed back to the Silicon Valley Code Camp (in San Jose, CA). This should be a lot of fun. There are always great speakers and tons of people to talk to.
And in November, I'm speaking at Visual Studio Live in Orlando, FL. I'm really looking forward to this one. I've been test-driving my talks, and things are shaping up really well.
As always, if you're interested in having me come to your developer event or visit your company, just drop me a note. I'll look forward to seeing you at an event soon!
Happy Coding!
Wednesday, September 23, 2015
Northwest Valley .NET User Group
Glendale, AZ
Website
Topic: I'll Get Back to You: Task, Await, and Asynchronous Methods
Consuming asynchronous methods can be confusing. But not for long. We'll look at how to use Task (along with continuations, statuses, and schedulers) and also async/await. I share some of the gotchas that really stumped me when I was first diving into this area. I did this talk back in July, and we had a lot of fun.
Thursday, September 24, 2015
Southeast Valley .NET User Group
Chandler, AZ
Meetup Event
Topic: Unit Testing Makes Me Faster: Convincing Your Boss, Your Co-Workers, and Yourself
I've been pushing unit testing for a while now. That's because I've seen how unit tests allow me to code more confidently and more forward faster. Come see real-world examples and leave inspired to look further into this great tool.
A Look Back
August was kind of a crazy month. I spoke at the Quicken Loans Technology Conference in Detroit, MI. And then I went on to speak at That Conference in Wisconsin Dells, WI. In between, I did some sightseeing and had an amazing two weeks on the road. Check out pictures here: Two Full Weeks of Awesome.
![]() |
| Quicken Loans Technical Conference |
![]() |
| That Conference |
Finally, I went to Mountain View, CA and spoke at SouthBay .NET. I had a great time (including a little banjo playing).
![]() |
| SouthBay .NET |
A Look Ahead
The first week in October, I'll be headed back to the Silicon Valley Code Camp (in San Jose, CA). This should be a lot of fun. There are always great speakers and tons of people to talk to.
And in November, I'm speaking at Visual Studio Live in Orlando, FL. I'm really looking forward to this one. I've been test-driving my talks, and things are shaping up really well.
As always, if you're interested in having me come to your developer event or visit your company, just drop me a note. I'll look forward to seeing you at an event soon!
Happy Coding!
Tuesday, August 25, 2015
On Being a Social Developer: Observations from That Conference
I've been thinking quite a bit about being a social developer, particularly because I talked to Richard Campbell and Carl Franklin about it recently on .NET Rocks! (look for the show to be published next week). Because of this, I was a bit hyper-sensitive to the topic when I was at That Conference 2015 a few weeks back.
[Update 09/2015: Check out .NET Rocks! episode 1187: Becoming a Social Developer with Jeremy Clark. And be sure to visit the official website: Becoming a Social Developer]
Loners at Mealtimes
Previously I talked about how mealtimes always seemed to be the most stressful to me. I didn't want to sit by myself, and I wasn't confident enough to easily go up and join someone else. I've managed to get past that from 5 years of introducing myself and sitting down with strangers. It was terrifying the first few times, and I'd be lying to say I'm entirely comfortable with it now -- but it is a lot easier than it used to be.
I'll go back to my observation that developers like to talk, but they don't like to start the conversation.
I took a couple of pictures at breakfast at That Conference. I was there fairly early, but there were a lot of people already in the room. Here's the scene looking toward the front of the room:
And toward the back:
I did some rough counts of how many tables had just 1 person and how many tables had more than 1 person. This is pretty rough because you can't see all of the tables (you can see most of them, though -- note the man in the blue shirt on the right hand side of the top picture is on the left of the bottom picture).
Rough Counts
Top Picture: 8 Singles, 11 Multiples
Bottom Picture: 16 Singles, 3 Multiples
This gives us a grand total of 24 tables with only 1 person and 14 tables with more than 1 person.
Tables don't stay empty for long. Here's a picture of the full room doing the "power stance" (just before the opening keynote):
Resolution: Never Sit Alone
I'm resolved to never sit alone at a conference. I used to think that if someone was sitting by themselves that they wanted to be left alone. But what I've found is that most people are welcoming and open to meeting someone new, but they are reluctant to initiate the process themselves. It is scary, it does make you vulnerable, so I fully understand this.
Great Conversations
I've made some really great contacts this way. At the first breakfast, I ran into someone I knew in the food line (Mike Clement) and we went and sat with someone new who turned out to be John Strobel. John works for Progressive Insurance and lives in Ohio.
I hadn't seen Mike for several months (he's a fellow speaker who I seem to run into quite a bit). I found out that Mike recently moved to Atlanta, GA to work with a developer boot camp. This got the conversation rolling since this is a topic that intrigues me. I mentioned how I had met Sarah Dutkiewicz at the Microsoft MVP Summit, and we talked about the boot camp in Ohio that she was involved with (The Software Guild).
It turns out that John was familiar with The Software Guild (and Sarah, who everyone knows as @sadukie). And we had a great conversation about what makes for a successful boot camp, what qualities companies are looking for in the graduates, and how we can nurture more developers who are just starting out.
And all of this started by sitting down with someone I didn't know.
Picking a Table
Picking a table to sit at can still be a challenge. In the past, I've chosen tables with a group of folks all from the same company. This can turn out to be good or bad. If they're talking about work, then the conversation is usually not that good for me. But at That Conference, I ended up at tables with 3 or 4 people from the same company, and we had good conversations about tools and languages.
I've talked about the table picking dilemma with several people. I recently got a good piece of advice (sorry I can't remember who it was from (it may have been Jeff Fritz (aka @csharpfritz)) -- I've been talking to a lot of people). When deciding where to sit, he looks for a table with 2 people who are not sitting next to each other. Then he goes up and sits opposite them to form an equilateral triangle at the table.
The idea is that this gives you a better chance at conversation. The people (who may or may not be talking) probably don't already know each other, so you minimize the risk of work talk. And if one person doesn't want to talk, then you're not stuck in silence; there's someone else to talk to.
And people are attracted to active conversations (as mentioned in the previous article). So more people will come up and join you at your table. And things grow from there.
Conversations Get Longer
One interesting thing is that I'm never sure which conversations will turn into something bigger. As I mentioned when I talked about last year's Microsoft MVP Summit, I often keep running into the same people over and over again. And this is a pleasant surprise.
John actually turned out to be one of those people at That Conference, we had some great conversations on topics like functional programming (I really like functional programming, and he's trying to figure out how to spread functional programming among the developers that he works with), unit testing, and code craftsmanship.
Another example is David Neal (from Georgia) who I ran into several times. My first encounter with him was at a get together on Monday night. Later, I went to his presentation on Node.js which had this gem that I mentioned in a previous post:
(BTW, I'm totally stealing this phrase to use as often as possible).
Then on Wednesday, I ran into him while I was on the hallway track. John, David, and I had a great conversation about effective presentation techniques, and David showed us his hand-drawn slides that he uses for his presentations. Really cool stuff.
Continuing Relationships
I also had the chance to continue some relationships. I first talked to Ondrej Balas (from Michigan) at Nebraska.Code() in Lincoln NE earlier this year. I saw him on the speaker list for That Conference, so I kept an eye out for him.
We talked for a little while at the water slide party on Tuesday night (and Water Slides are totally better than Powerpoint Slides). We found that we were both on the same path for building our brands as developers. He shared some things that were working for him (such as video blogging -- and he has a really cool idea for an ongoing series (I won't spoil it)), and I shared some things that I've seen. We decided that it would make for a good Open Spaces discussion and decided to put in on the board for the next day. If nothing else, the two of us could sit down to continue our conversation.
Our Open Spaces slot was during lunchtime on Wednesday, so I went to grab some food and head to the circle. In the lunch line, I met Phil Busch from Milwaukee. I told him about the conversation that Ondrej and I were planning, and he decided to join us. There were about 6 of us who joined the circle, and we had some great tips and observations for each other.
Old Friends and New Friends
I knew a few of the speakers from previous events, and it was great to talk to Cory House, Brian Lagunas, Bill Wagner, James Bender, Jim Wooley, and Danny Warren. And it was by hanging out with some of these people that I got to meet Nik Molnar, Keith Elder, Shane Charles, and many other folks.
I feel bad because I'm listing lots of people that I talked to, but there were many, many more. I try to talk to the person sitting near me in the sessions (before they start), and this results in many short conversations with new people.
Among the registration line, evening get-togethers, meal lines, meal tables, hallways, and pre-session times, I must have talked to 40 or 50 people. Some conversations are more memorable than others. But because of these conversations, I spent time looking into IoT devices, JavaScript debugging, Node.js, Erlang, and several other technologies/techniques that I haven't spent time on previously. And this makes my world (both technical and social) just a little bit bigger.
Why Attend Developer Events?
And this all comes back to why we attend developer events in person, whether it's a local user group or a large conference. We can get all of the information presented in the sessions on-line. But the real benefit of being there in person is the interaction with other developers.
I really feel like I missed out on a big part of conferences when I was a young developer. I did learn a lot from the presentations, but I completely missed out on building on the experience of the developers around me.
By making these connections, we learn about technologies we don't currently use. We learn how different techniques work in different environments (from start-up to corporate development). We can share our frustrations and look for solutions together.
I never saw myself as a social person. And I am completely different in this regard than I was 5 years ago. I'm pretty amazed to look back and see the difference in how I interact with developers now compared to how I used to interact (or not interact) with them.
Take the first step: the next time you're at a developer event, introduce yourself to someone new. It could be the start of something really amazing.
Happy Coding!
[Update 09/2015: Check out .NET Rocks! episode 1187: Becoming a Social Developer with Jeremy Clark. And be sure to visit the official website: Becoming a Social Developer]
Loners at Mealtimes
Previously I talked about how mealtimes always seemed to be the most stressful to me. I didn't want to sit by myself, and I wasn't confident enough to easily go up and join someone else. I've managed to get past that from 5 years of introducing myself and sitting down with strangers. It was terrifying the first few times, and I'd be lying to say I'm entirely comfortable with it now -- but it is a lot easier than it used to be.
I'll go back to my observation that developers like to talk, but they don't like to start the conversation.
I took a couple of pictures at breakfast at That Conference. I was there fairly early, but there were a lot of people already in the room. Here's the scene looking toward the front of the room:
And toward the back:
I did some rough counts of how many tables had just 1 person and how many tables had more than 1 person. This is pretty rough because you can't see all of the tables (you can see most of them, though -- note the man in the blue shirt on the right hand side of the top picture is on the left of the bottom picture).
Rough Counts
Top Picture: 8 Singles, 11 Multiples
Bottom Picture: 16 Singles, 3 Multiples
This gives us a grand total of 24 tables with only 1 person and 14 tables with more than 1 person.
Tables don't stay empty for long. Here's a picture of the full room doing the "power stance" (just before the opening keynote):
Resolution: Never Sit Alone
I'm resolved to never sit alone at a conference. I used to think that if someone was sitting by themselves that they wanted to be left alone. But what I've found is that most people are welcoming and open to meeting someone new, but they are reluctant to initiate the process themselves. It is scary, it does make you vulnerable, so I fully understand this.
Great Conversations
I've made some really great contacts this way. At the first breakfast, I ran into someone I knew in the food line (Mike Clement) and we went and sat with someone new who turned out to be John Strobel. John works for Progressive Insurance and lives in Ohio.
I hadn't seen Mike for several months (he's a fellow speaker who I seem to run into quite a bit). I found out that Mike recently moved to Atlanta, GA to work with a developer boot camp. This got the conversation rolling since this is a topic that intrigues me. I mentioned how I had met Sarah Dutkiewicz at the Microsoft MVP Summit, and we talked about the boot camp in Ohio that she was involved with (The Software Guild).
It turns out that John was familiar with The Software Guild (and Sarah, who everyone knows as @sadukie). And we had a great conversation about what makes for a successful boot camp, what qualities companies are looking for in the graduates, and how we can nurture more developers who are just starting out.
And all of this started by sitting down with someone I didn't know.
Picking a Table
Picking a table to sit at can still be a challenge. In the past, I've chosen tables with a group of folks all from the same company. This can turn out to be good or bad. If they're talking about work, then the conversation is usually not that good for me. But at That Conference, I ended up at tables with 3 or 4 people from the same company, and we had good conversations about tools and languages.
I've talked about the table picking dilemma with several people. I recently got a good piece of advice (sorry I can't remember who it was from (it may have been Jeff Fritz (aka @csharpfritz)) -- I've been talking to a lot of people). When deciding where to sit, he looks for a table with 2 people who are not sitting next to each other. Then he goes up and sits opposite them to form an equilateral triangle at the table.
The idea is that this gives you a better chance at conversation. The people (who may or may not be talking) probably don't already know each other, so you minimize the risk of work talk. And if one person doesn't want to talk, then you're not stuck in silence; there's someone else to talk to.
And people are attracted to active conversations (as mentioned in the previous article). So more people will come up and join you at your table. And things grow from there.
Conversations Get Longer
One interesting thing is that I'm never sure which conversations will turn into something bigger. As I mentioned when I talked about last year's Microsoft MVP Summit, I often keep running into the same people over and over again. And this is a pleasant surprise.
John actually turned out to be one of those people at That Conference, we had some great conversations on topics like functional programming (I really like functional programming, and he's trying to figure out how to spread functional programming among the developers that he works with), unit testing, and code craftsmanship.
Another example is David Neal (from Georgia) who I ran into several times. My first encounter with him was at a get together on Monday night. Later, I went to his presentation on Node.js which had this gem that I mentioned in a previous post:
![]() |
| David Neal: You Don't Need Permission to be Awesome |
Then on Wednesday, I ran into him while I was on the hallway track. John, David, and I had a great conversation about effective presentation techniques, and David showed us his hand-drawn slides that he uses for his presentations. Really cool stuff.
Continuing Relationships
I also had the chance to continue some relationships. I first talked to Ondrej Balas (from Michigan) at Nebraska.Code() in Lincoln NE earlier this year. I saw him on the speaker list for That Conference, so I kept an eye out for him.
We talked for a little while at the water slide party on Tuesday night (and Water Slides are totally better than Powerpoint Slides). We found that we were both on the same path for building our brands as developers. He shared some things that were working for him (such as video blogging -- and he has a really cool idea for an ongoing series (I won't spoil it)), and I shared some things that I've seen. We decided that it would make for a good Open Spaces discussion and decided to put in on the board for the next day. If nothing else, the two of us could sit down to continue our conversation.
Our Open Spaces slot was during lunchtime on Wednesday, so I went to grab some food and head to the circle. In the lunch line, I met Phil Busch from Milwaukee. I told him about the conversation that Ondrej and I were planning, and he decided to join us. There were about 6 of us who joined the circle, and we had some great tips and observations for each other.
Old Friends and New Friends
I knew a few of the speakers from previous events, and it was great to talk to Cory House, Brian Lagunas, Bill Wagner, James Bender, Jim Wooley, and Danny Warren. And it was by hanging out with some of these people that I got to meet Nik Molnar, Keith Elder, Shane Charles, and many other folks.
I feel bad because I'm listing lots of people that I talked to, but there were many, many more. I try to talk to the person sitting near me in the sessions (before they start), and this results in many short conversations with new people.
Among the registration line, evening get-togethers, meal lines, meal tables, hallways, and pre-session times, I must have talked to 40 or 50 people. Some conversations are more memorable than others. But because of these conversations, I spent time looking into IoT devices, JavaScript debugging, Node.js, Erlang, and several other technologies/techniques that I haven't spent time on previously. And this makes my world (both technical and social) just a little bit bigger.
Why Attend Developer Events?
And this all comes back to why we attend developer events in person, whether it's a local user group or a large conference. We can get all of the information presented in the sessions on-line. But the real benefit of being there in person is the interaction with other developers.
I really feel like I missed out on a big part of conferences when I was a young developer. I did learn a lot from the presentations, but I completely missed out on building on the experience of the developers around me.
By making these connections, we learn about technologies we don't currently use. We learn how different techniques work in different environments (from start-up to corporate development). We can share our frustrations and look for solutions together.
I never saw myself as a social person. And I am completely different in this regard than I was 5 years ago. I'm pretty amazed to look back and see the difference in how I interact with developers now compared to how I used to interact (or not interact) with them.
Take the first step: the next time you're at a developer event, introduce yourself to someone new. It could be the start of something really amazing.
Happy Coding!
Monday, August 24, 2015
Twitter Photo Preview - Smart Cropping
So, I just noticed something in Twitter that I find kind of amazing. It seems like photos attached to tweets are cropped intelligently for the preview.
I noticed it with a tweet that I put out this morning (these are just screenshots):
When I first uploaded it, the preview was less than flattering:
But it seems like there was some analysis done on the photo (full photo below), and the preview was moved to show the face in the picture.
This is pretty cool in itself, but nothing too amazing. Lots of sites and applications have face recognition, so centering the primary face (or faces) shouldn't be all that difficult.
But then things got a bit more interesting.
The Really Cool Preview
Here's a tweet from last week where I was showing how excited I was to be on an upcoming episode of .NET Rocks!
Here's the full picture:
And when I first uploaded the picture, it showed the middle part in the preview:
But notice what Twitter eventually did when it re-cropped the preview: it used the part of the picture that had my name on it (the bottom part of the picture).
This tells me that in addition to facial recognition, they must also be doing some sort of OCR to figure out that the main part of this picture -- the part that I cared about -- was the part with my name in it.
Kind of freaky, but really, really cool.
I know I shouldn't be amazed by technology. But sometimes I have to marvel at the cool stuff that people come up with.
Happy Coding!
I noticed it with a tweet that I put out this morning (these are just screenshots):
When I first uploaded it, the preview was less than flattering:
But it seems like there was some analysis done on the photo (full photo below), and the preview was moved to show the face in the picture.
This is pretty cool in itself, but nothing too amazing. Lots of sites and applications have face recognition, so centering the primary face (or faces) shouldn't be all that difficult.
But then things got a bit more interesting.
The Really Cool Preview
Here's a tweet from last week where I was showing how excited I was to be on an upcoming episode of .NET Rocks!
Here's the full picture:
And when I first uploaded the picture, it showed the middle part in the preview:
But notice what Twitter eventually did when it re-cropped the preview: it used the part of the picture that had my name on it (the bottom part of the picture).
This tells me that in addition to facial recognition, they must also be doing some sort of OCR to figure out that the main part of this picture -- the part that I cared about -- was the part with my name in it.
Kind of freaky, but really, really cool.
I know I shouldn't be amazed by technology. But sometimes I have to marvel at the cool stuff that people come up with.
Happy Coding!
Subscribe to:
Posts (Atom)













