# Saturday, 22 February 2014

I didn't know Jim Weirich well. But I knew of him. And I knew the impact he had on others.

Those of us who have been engaged in the community could not help but be aware of Jim.

Jim had a reputation as an excellent Ruby developer; but, more than that, he had a reputation for sharing his knowledge with others. At conferences, he would explain Ruby concepts to experienced and novice developers alike and taking the time to make sure you understood it. I first met Jim when I attended his "Ruby Koans" session at CodeMash 5 years ago. Most people worked the Koans in either the morning or the afternoon session, but I was a slow learner and I stayed for the entire day, trying to figure them out. Jim was patient and answered all my newbie questions.

Jim also had a reputation for being friendly to everyone he met. Some people called him "Ruby Santa Claus" - partly because of his large size and his thick white beard, but also because of his quick smile and friendly outlook. I last saw Jim on the final day of CodeMash this past January. Walking past the Neo booth, I shouted "Hi, Jim." He smiled and asked how I was doing. It was a brief interaction, but I'm glad I have this as my final memory of the man who touched so many lives with his smile and his teachings.

We lost Jim earlier this week. He collapsed at work Tuesday evening and died shortly afterward.

To Jim's family and to those  closest to him - especially Joe, Leon, and Doug - I send my prayers and my condolences. To the rest of you, I send this challenge: No matter how well you knew Jim Weirich, take his life as an inspiration to share knowledge and joy with those around you.

IMG_1674-M[1]
Jim Weirich at CodeMash 2009

Saturday, 22 February 2014 14:44:32 (GMT Standard Time, UTC+00:00)
# Monday, 17 February 2014
Monday, 17 February 2014 17:01:00 (GMT Standard Time, UTC+00:00)
# Monday, 10 February 2014
Monday, 10 February 2014 23:24:00 (GMT Standard Time, UTC+00:00)
# Tuesday, 04 February 2014

Spelling Champion is the first app written by my former colleague Peter Lu. It makes clever use of the voice API, reading a word and a sample sentence using that word; then asking the student to spell the word with his or her keyboard. It keeps track of right answers and offers a second chance if you get it wrong. The words are simple and aimed at beginning readers.

When I first saw the app, my only criticism was a lack of pictures, which I felt would help to draw the interest of a young child. Peter promised to add this in his next release.

There is a free version and a paid ($2.99) version. The paid version includes many more lessons than the free version.

You can download Spelling Champion from this link and you can read details about the app at http://spellingchampionapp.blogspot.com

Tuesday, 04 February 2014 17:35:00 (GMT Standard Time, UTC+00:00)
# Monday, 03 February 2014
Monday, 03 February 2014 20:35:00 (GMT Standard Time, UTC+00:00)
# Sunday, 02 February 2014

2/2
Today I am grateful to those who went out of their way to connect with me personally while I was in Seattle last week.

2/1
Today I am grateful for a week at TechReady filling my brain and my belly.

1/31
Today I am grateful I was invited to a private party at a frickin' pro football stadium!

1/30
Today I am grateful for a seafood dinner in Seattle last night with my teammates, that I met this week.

1/29
Today I am grateful to the honest person who found and returned my laptop yesterday.

1/28
Today I am grateful for the opportunity to learn so much.

1/27
Today I am grateful for the hospitality and generosity of my friend Ted Neward and his family.

1/26
Today I am grateful for a good night sleep after a long day of travel.

1/25
Today I am grateful that my team is patient and willing to answer all my dumb questions.

1/24
Today I am grateful that so many universities are willing to allow me to come in and teach their students.

1/23
Today I am grateful I was able to stay inside yesterday and avoid the extreme cold.

1/22
Today I am grateful for lunch yesterday with my friend Dan, who I don't see often enough.

1/21
Today I am grateful that the folks at Indiana University were able to organize a game development event on short notice and that people attended on a day the University is closed.

1/20
Today I am grateful that my job takes me to Bloomington, IN, so I get to spend bonus time with Tim Giard.

1/19
Today I am grateful for a successful game development hackathon at Rose-Hulman yesterday in Terrre Haute, IN.

1/18
In 2012, I bought a new car. Although it's not fancy, I am grateful today that it has navigated safely through the many miles of bad weather and rough road conditions I've driven these past 2 weeks.

1/17
Today I am grateful I was upgraded to a 2-bedroom suite last night.

1/16
Today I am grateful that I've found a job I love.

1/15
Today I am grateful to start another year of the Great Lakes Area .NET User Group. #MIGANG

1/14
Today I am grateful to all the amazing people who appeared on #TechnologyAndFriends, helping me to make it to show 300.

1/13
Today I am grateful I could spend yesterday walking around downtown Chicago with my son.

1/12
Today I am grateful for an amazing day yesterday - watching a Spartan overtime victory with my goddaughter Amanda and my son Tim; followed by the Microsoft mid-winter party at the Chicago Field Museum.

1/11
Today I am grateful that no damage was done to my house while I was out of town 4 days during a severe cold, snow, and rain.

1/10
Today I am grateful to Jim Holmes and the amazing job he and his minions have done producing the #CodeMash conference the past 8 years!

1/9
Today I am grateful that 2 full days of precompiler workshops at #CodeMash are now behind me.

1/8
Today I am grateful to reconnect with so many old friends this week at #CodeMash

1/7
Today I am grateful we made it safely driving 130 miles in arctic conditions last night.

1/6
Today I am grateful for the young men who helped push my car out of a snow bank last night.

1/4
Today I am grateful for lunch yesterday with my son, who took me to his favourite cheesesteak restaurant.

1/3
Today I am grateful for my Aunt Ida, who passed away earlier this week. After 90+ years being kind to others, she has gone to heaven to be with her husband. RIP Aunt Ida.

1/2
Today I am grateful for the Michigan State Spartan football team and their exciting Rose Bowl victory over an excellent Stanford Cardinal team. #GoGreen

1/1
Today I am grateful for an amazing 2013. I grew more these past 12 months than I have in many years.

12/31
Today I am grateful I was able to keep down my breakfast. I'm feeling much better than I did yesterday.

12/30
Today I am grateful my son Nick was able to make it home for Christmas.

Sunday, 02 February 2014 17:29:24 (GMT Standard Time, UTC+00:00)

TechReady is an internal conference for Microsoft field employees. As far as I can tell, field employees are those who do not work for a product team in Redmond, which is still a lot of people.

Well, I am now a Microsoft employee and my group (Developer Platform Evangelism, aka DPE) does not build products, so I was able to attend TechReady for the first time this week.

What an experience! I attend a lot of conferences and my habit at these conferences is to only attend a few sessions, electing instead to find smart people in the hallways or speaker room or lunch room and pick their brains to learn as much as I can about real world software experiences. This conference was different - in part because I didn't know a lot of attendees and in part because so much of the content was not available anywhere else.  I attended as many sessions as I could and even watched recordings of a few sessions on the flight home.

Before attending, I promised I would not share the content of any sessions (much of it focused on features that may or may not be in a future product release); so I'll share my impressions and experiences here.

First, this conference was a great opportunity to meet others inside Microsoft. A number of evangelists from the west region attended and I got to know them. One night, my team had dinner with Sanket Akerkar, the Vice President in charge of US DPE. I was impressed with his openness and the frank exchange about the future of evangelism within Microsoft.

At most meals, I sat with strangers and got to know people from all over the world in many different roles at Microsoft. Microsoft is a very diverse company with all kinds of people doing all kinds of things and this week really underscored that fact to me. I also had a chance to meet up with some old friends, such as Josh Holmes, Kevin Pilch-Bisson, Dani Diaz, Chet Kloss, Mark Grimes, Jeff Wilcox, and Ted Neward. Ted doesn't work for Microsoft but he invited me to dinner with his family when he heard I was in town. I had a long conversation with consultant David Chappell, a Microsoft consulting partner who has written extensively on the impact of the cloud on businesses. Part of that conversation was recorded and I'll share it in a few weeks.

I heard a lot of talk about technologies that I want to explore later - in particular Project Siena and Unity.

I listened to many people smarter than me discussing product feature decisions. I was impressed by how much of Microsoft product features are driven by customer requests. A frequent exchange I heard was: "Why did you decide to implement Feature A and not Feature B?" "Because many of our customers have requested Feature A and we hear very little demand for Feature B, so we deferred B for a later release." Microsoft is sometimes perceived as a walled tower that unilaterally pushes products on customers but this week showed me emphatically that is not the case.

Overall TechReady gave me a greater appreciation for my new company. The conference is bi-annual, so I hope to get back to it shortly.

Sunday, 02 February 2014 01:34:00 (GMT Standard Time, UTC+00:00)
# Thursday, 30 January 2014
# Wednesday, 29 January 2014

Ajax refers to the pattern of calling server-side methods from client-side JavaScript. jQuery provides a simple, straightforward method for making Ajax calls. The syntax is

$.ajax({
            url: ServiceEndpoint,
            dataType: ReturnDataType,
            type: HttpVerb,
            data: Data,
            error: function (err) {
                // Code to run when error returned
            },
            success: function (data) {
                // Code to run when successfully returned
            }
          });

where

  • ServiceEndpoint is the URL of the method to call on the server
  • ReturnDataType is the data format we expect the server method to return (“xml”, “html”, “script”, “json”, “jsonp”, or “text”). You can specify multiple values and the server will return the first matching format type that is supported by this method.
  • HttpVerb is the HTTP verb (“GET”, “POST”, “PUT”, or “DELETE”) to use to send data to the server.
  • Data is the data (if any) that is sent from the client to the server.

By default the Ajax method executes asynchronously. When a call returns from the server, jQuery will run the function specified in the success parameter (if the call returned successfully); or the function in the error parameter if an exception occurred. These functions accept return data or error information returned from the server as parameters, so that your client-side code can handle return values effectively.

Ajax can provide a much more responsive experience to your web page and jQuery can make ease the process of making Ajax calls.

Wednesday, 29 January 2014 17:03:00 (GMT Standard Time, UTC+00:00)
# Tuesday, 28 January 2014
Tuesday, 28 January 2014 03:14:00 (GMT Standard Time, UTC+00:00)