| Bryan's profileBryan Hinton's spacePhotosBlogLists | Help |
|
6/17/2009 Unplanned Appendectomy
After getting the big news on Monday on what baby we were having I guess it was too much for me because later that night – or more appropriately early Tuesday morning Noel took me to the hospital for severe abdominal pain. I had the same symptoms about 6 weeks ago and a trip to the urgent care turned up nothing and so I came home and felt better the next day. The doctors theory is that my appendix likely ruptured then (you can see a nice picture of how my body covered it up in the bottom right picture – your appendix is not supposed to have a bulbous mass on the end of it – it is supposed to look like a worm). The fluid in the two top pictures was sloshing around in there as well. They took it out yesterday and today I got to come home thankfully. I am glad to have things taken care of and hope that this is the my last visit to the hospital and to surgery for a good long while. This did throw a wrench in the plans to go canoe the Snake River with Dad, Brett, and Kevin next week which is a major bummer.
Note: I use this blog to post both Personal and Technical articles. For a technical only feed use the following URL (http://bryanandnoel.spaces.live.com/category/technology/feed.rss). For a family only feed use the following URL (http://bryanandnoel.spaces.live.com/category/family/feed.rss) It’s a girlWe went to the doctor on Monday and got the news that Baby #2 will be a girl. E couldn’t have been happier to be getting a sister. We are so excited and can’t wait to meet the little one when the time comes.
Note: I use this blog to post both Personal and Technical articles. For a technical only feed use the following URL (http://bryanandnoel.spaces.live.com/category/technology/feed.rss). For a family only feed use the following URL (http://bryanandnoel.spaces.live.com/category/family/feed.rss) 5/28/2009 I’ll miss you Grandma ArringtonToday I lost one of my heroes. My grandmother, Lillian Arrington, returned back to her Heavenly Father. It happened unexpectedly – she seemed as lively and vivacious as ever. We’ll miss her dearly and deeply. Even as I write this it seems unreal to think that she is gone. We love you Grandma – oh how we love you! We miss you! I am sure that as she is reunited with her mother who died soon after she was born that she is happy and as busy as ever. I have pulled together some photos that I could find of her as well as a video of her leading us in the Arrington song from the 2008 Arrington Family Reunion. How I love and miss her!
2/19/2009 Should Computer Programmers use company time to learn new things?There is a site I commonly read called Worse Than Failure (WTF – they redefined what WTF meant to them a while back to make the site more palatable to people – perhaps when they started taking ads). The site publishes programming horror stories and frequently has very funny stories to brighten the day. A recent article departed from the norm and was more serious in nature. In it the author made the comment that Learn Off The Job. Self-improvement is a tenet of every profession, but the place to do that is “off the job,” i.e. not while developing information systems. Instead, learn by creating applications for yourself, your team, or perhaps even some open source project. I disagree with that statement. Our world is filled with professionals that get paid to maintain and enhance their skills. Doctors, educators, and accountants are expected to take classes and attend seminars to maintain their certifications. Compensation is often tied to increasing their knowledge. The same goes for many factory workers. They are sent to classes to certify them in safety, new equipment, and many other things. Why would software development and software developers be any different. Now the author is a single voice and represents just one viewpoint, but I do see this sentiment echoed in the behavior of other organizations though (just not spelled out as clearly). There needs to be a balance in all things. A software developers main job is not to just learn new technology, but as part of their job they need to be constantly learning and growing. They should be paid for that time and have their company pay for the training. Many developers program as a hobby as well and will undoubtedly learn valuable things through their personal activities that can be applied at work. It is not appropriate though for companies to depend on people using their personal time to advance their skills. 2/16/2009 Have you heard of LDS Gems?I have read LDS Gems since somewhere right around 1999/2000 when I first developed an “online presence”. It has morphed over the years before finally falling into the Church’s hands to administer. It is full of great quotes an insights. Here is one from today that resonated with me! Lifelong Missionaries "We properly pray for the safety and success of the full-time missionaries throughout the world. And a common element in many of our prayers is a request that the missionaries will be led to individuals and families who are prepared to receive the message of the Restoration. But ultimately it is my responsibility and your responsibility to find people for the missionaries to teach. Missionaries are full-time teachers; you and I are full-time finders. And you and I as lifelong missionaries should not be praying for the full-time missionaries to do our work! "If you and I would truly pray and ask in faith, as did Joseph Smith—if we would pray with the expectation to act and not just to express—then the work of proclaiming the gospel would move forward in a remarkable way." David A. Bednar, "Ask in Faith," Ensign, May 2008, 95 2/2/2009 President Kimball on Leadership“If you and I would be good leaders, we should reflect periodically on the qualities of those who have served, led, and taught us… Most often someone has served and helped us by giving us love and understanding, by taking time to assist us, and by showing us the way through the light of his own example. I cannot stress enough, therefore, the importance of our doing these same things for those who now depend upon us, just as we have depended upon others to serve us in the past.“ —Spencer W. Kimball, “There Is Purpose in Life,” New Era, Sep 1974, 4 We would all do well to remember this – while looking at ourselves in the mirror and assessing ourselves is vital – doing so while reflecting on those that have come before us can likewise be very instructive. Gallup’s Management Assessment QuestionsI ran across these in an online training class that I was reviewing at work and wanted to capture them. I haven’t read the article, but the bullet points here capture the 12 questions to ask of employees to assess management performance based on Gallup’s research.
http://gmj.gallup.com/content/811/feedback-real.aspx
Technorati Tags: Management,Gallup 1/29/2009 Sledding up Big Cottonwood CanyonOn Martin Luther King Day we headed up the Canyon with our friends the Cardons to get some sledding in and get out of the nasty inversion that had settled into the valley. It was a lot of fun and we found a really nice spot. I thought I would share a video of Eliza speeding down the slope! 1/12/2009 Visual Studio 2008 SP1 WPF Designer crashing on XAML files from certain projectsI know that is a pretty specific title, but after wrestling with this problem for the last couple of days (with a break in there for a very nice weekend!) I figured I would try to put something specific enough for Google to index it and so that some poor soul might benefit from my frustration. The WPF designer randomly crashing is not an uncommon thing – Google it and you will see that the solutions are hit and miss and somewhat black magic. Things like – pin the toolbox when opening a file or create a new XAML file and that randomly fixes the old ones. My is no less black magic as I have no clear explanation for it – but it worked for me. My issue was that XAML files in certain projects would load just fine, but in certain other projects Visual Studio would crash hard. Finally I removed the Presentation.Core and Presentation.Framework from one of the two projects that were having this problem and added them back. And Voila! problem fixed for not only that project, but also the other one as well. I know – random and inexplicable – but thus is the Cider designer in 2008 SP1. Hopefully this solves your WPF designer woes as well!
1/3/2009 Christmas in PicturesWe had a wonderful Christmas season. We enjoyed all the sights and sounds of the season, time with family, decorating our house for the first time, a trip to AZ for Christmas in the desert, and all the things that go with this marvelous time of year. Festival of Trees with our friends the Cardons – a little bit of Grinch at Twilight Our Annual outing to see the lights at Temple Square The house decorated (not a great shot since it isn’t dark enough – I’ll have to try and take another one). It was a chore to figure out how to decorate the house for the first time. It came out okay though and should go faster and be easier next year (or so I tell myself)
Having fun in the snow! Preschool Christmas party Views of the Kaibab (first on the Fredonia side and then on the Marble Canyon side) from our trip down to AZ
Our Polar Express Arrington Family Christmas Eve Party in Pajamas (we loved being able to come home and go right to sleep!)
Surprise, Surprise – Look what Santa brought A collage chronicling our 2008 Hopefully everyone had a wonderful Christmas season and a Happy New Year – we are excited to see what 2009 brings! 1/2/2009 Zero Sum game for technology advancements or is it?My wife has been educating me lately on the evils of high fructose corn syrup and has made me aware of how pervasive that little devil on an ingredient is in the foods that I eat. So much so that I found myself wondering when I am eating things, “Does this have high fructose corn syrup?” And I am not kidding you when I say that I honestly ask myself that. I just did that this morning as I ate cereal for breakfast. Even the stuff that I considered good for me had high fructose corn syrup high on the list of ingredients. That set me thinking - for all the science and technology advancements that we make do we offset them by other advancements or inventions that zero out the resulting gain? For example dentistry has come along way from the pin them down and drill days, but we have added extra sugary sugar to everything that we eat and as a result are we any better off (now our mouths are filled with metal teeth instead of no teeth)? Email, cell phones, and webcams have made staying connected with people so simple yet studies show that Americans are more alone today (have less close friends and family to rely on) than ever. We have dishwashers, washers, dryers, robo vacs, non wrinkle clothes, and a thousand other conveniences to make life easier, but yet people are as stressed out and busy as ever (and perhaps even more so). We have BlackBerrys and computers to make work easier, faster, and more convenient yet those have done much to make home an extension of work. Medicine has made huge improvements in our knowledge on how to treat things, prevent things, and allow people to live longer lives yet Americans are fatter than ever before. So in the end what is our true gain or is there one? Those were interesting things to consider this morning as I headed into work - all stemming from my wife’s commentary on high fructose corn syrup (not to be confused with normal corn syrup or brown sugar syrup which can also be found on your ingredient list). Deep down I don’t think it is a zero sum game I think life is better off because of the advancements that have been made, but we are likely not as better off as people would have supposed.
.NET Framework Source Code to the RescueOn Tuesday I got a call up from a developer that was dealing with an unusual ASP.NET problem and was looking for some help. I am not an expert with ASP.NET at all, but we booted up in a Shared View session to look at the problem (that had been stopping him for the better part of a day or two at that point). He had sub-classed a dropdown list and was trying to use it in his site. The new dropdown list had a read-only property added so that when set it would render as basically a label instead of as a dropdown list. He had validated the behavior of the new control in a separate website but couldn’t get it to work in his website and he had borrowed the code along with some other code from another project that had done a similar thing within our company. I didn’t realize the significance of that fact until later. We tried every little hack or nuance that I could think of and it got us nowhere. The issue was clear the render method that had been overridden for the control was not getting called, but all the other overridden events were (like OnLoad, OnUnLoad, etc….). Why was that happening that way? We had another sub-classed control (a textbox) that was working correctly which made things even more confusing. So as a last straw I figured we would plug into the new feature with Visual Studio that allows you to step into the .NET Framework code and see what is happening. So we configured our machines using the following instructions/resources – the first link is the most update to date as VS2008 SP1 seems to have added greater support for this feature than which is was launched soon after VS2008 RTM.
Then off we went – before long we were in the ASP.NET code watching as it enumerated the control list and called render on each one of the controls belonging to the page. Surprisingly when we got to the control that was having the problem we saw that instead of calling into our render overload it was calling into a DropDownListAdapter class that was a sub-class of a WebControlAdapter that was been injected into the process and was controlling the rendering of our control. Now knowing where to look we found the adapter class as well as some entries into a ServerStateBrowser file registering the adapter to our custom DropDownList class. This was code given to the developer by the other project. That code was obviously doing things that the developer wasn’t expecting and didn’t understand (neither did I). Obviously there is something to learn there about being wary about taking a lot of code that you probably don’t need and aren’t sure all it does. But all is well that ends well (especially since both he and I wanted this resolved since the New Years holidays started the next day). We could very well still be hunting without the wonderful new tool in the toolbox to reach into the Framework to see what is happening. Next time I will break it out sooner rather than grappling in the dark for as long as we did!
Technorati Tags: Visual Studio,.NET 3.5 11/11/2008 Gay Marriage and Polygamy – Where do you draw the line?I have watched with interest the post election protests that have occurred over the passage of Prop 8 in California. I continue to find it amazing that the LDS Church has been targeted specifically (although others have also had to deal with the protests as well). Members of the LDS Church accounted for approximately 2 to 4% of the 52% majority for Prop 8 … 2 to 4%!! I am grateful for the good people who have stood up and stood with the Church decrying the religious attacks that have occurred (in particular the Catholic officials in California). As I have thought on the events that are transpiring I wished for the opportunity to ask someone who was against Prop 8 if they felt like polygamy should be allowed. Now let me qualify the polygamy statement because I am sure many would initially say that they just don’t think it is right for old men to marry young girls. I am not talking about those scenarios. What of those who at the appropriate ages wish to enter into polygamous marriages? I wonder what those who are against Prop 8 would say. For those who would be against polygamy - why? If you are so outraged at society defining marriage as between one man and one woman and limiting your rights why are you willing to limit others? May I submit that for many it would be because there is a moral line they have drawn in their life that categorizes polygamy as inappropriate. Whatever the reason for that moral line whether it be religious beliefs, the belief that society is better off without that practice being permitted, or some other reason that line is established. With that context perhaps you can better understand those who voted in favor of Prop 8. They simply drew the line in a different place – for whatever reason (and again there are many) – those who were in favor of Prop 8 felt that our nation, our society was better off defining marriage as between a man and a woman. For most, it had nothing to do with hate and everything to do with doing what they thought best for society, for their children, for the future. Morality is a key part of society – morals underpin our laws. As such there will always be disagreements about what our society’s morals are and what laws are enacted around them. As such I simply ask that the accusations of hate and bigotry stop – yes we disagree and yes those disagreements are over sensitive, emotional topics that leave many hurt feelings, but we can and should move beyond this to continue working together to build a better America. This issue will undoubtedly come up again as issues with such strong, passionate followings do. People will again vote according to their conscience formed by their personal moral beliefs. Perhaps the outcome will be the same and perhaps it will be different, but let us not fall prey to hate. 11/5/2008 Insightful quote from Elder Maxwell about the times we live inMy dad and I were talking about Prop 8 passing today and we couldn’t help but reflect on how quickly it seems the moral tides of our country have changed (although thankfully Prop 8 should stem it to some extent for a little while). In the 13 years between high school and now I am amazed at what is now considered acceptable in our society. We couldn’t help but wonder what that meant for the next 13 years. It is scary to consider honestly. As I reflected back on what I have heard as I have followed the arguments from both sides for Prop 8 and how nasty it got (the missionary ad and the constant rhetoric about hate and bigotry) made me wonder what would it be like when we revisit this issue in the years to come (because I have no doubt that this issue will continue to surface). My Dad shared the quote below from Elder Maxwell that was given in 1979 amazingly enough. It was absolutely what I needed to hear. The Lord knows what is ahead and stated as such through Elder Maxwell almost 30 years ago and did so again with the Proclamation on the Family that came out 13 years ago. Time to tighten the seat belt I think.
A Suggestion for Windows Live and Windows 7In playing around with the Windows 7 bits I got at PDC I had a small idea that I submitted through the feedback link for Windows 7. The feedback is more related to how Windows Live works with Windows 7, but I thought I would submit it through that avenue as well as post it here. The note I sent through the feedback link was I installed the Windows Live suite of products. One of the immediate things that came to mind is I would rather have one deskbar icon rather than one for each product. It would be nice to have one Windows Live icon on the bar and use the little arrow to go select which one to launch - I like having quicker access to them and grouping access under a Windows Live icon would make the experience of the Windows Live Suite feel more unified I think. Thanks, I used the unlock method documented here to get access to the incomplete deskbar feature. I like it - although I would like it more with the Aero Peek feature. As I used it I realized it would be nice if there was a Windows Live icon on the deskbar that I could click the little arrow on to boot up an instance of Writer or Mail or Messenger etc… I think it would connect the Windows Live Suite (make it feel more like a suite) and reduce the clutter on the Superbar (that seems to be what people are calling it) by having all the different Windows Live apps pinned there.
Windows Live Tags: Windows Live, Windows Live Wave 3, Windows 7, clubhouse, Live Mail, Live Messenger, Live Writer, feedback 11/4/2008 Requirements Definition : The Danger of Failing Before You Have Really StartedRequirements, Stories, Use Cases, or whatever a team wants to call them form a key part of the execution plan for a development team. It should tell them what a customer wants. The artifacts in whatever form they are tend to have varying degrees of detail. Getting the right amount of detail at the right time is critical to the process of producing successful software. My thoughts on Requirements definition form around a process with three key elements.
Development is first because you have to develop or brainstorm something to start with. This generally is initially tied to a vision of what the software is supposed to do. Over time as a product matures this phase often happens through user trials, surveys, feedback, and telemetry from the app that describes its usage and provides insight into where the app needs to evolve. This also happens as analysts evaluate the market the product fits in and based on the market’s evolution or the assumptions about where it will evolve. In evaluating they determine what features needs to be added in order to allow the software to continue to be competitive in the marketplace. With internal software this phase is often underappreciated and underutilized. This is unfortunate because mistakes here whether in internal or commercial products can cause teams to miss the target market tremendously. A mistake of one degree in a flight plan early in a flight plan causes a much greater deviation than a mistake relatively close to the target. The Agilist in me openly admits that it is impossible to know everything upfront. The development effort isn’t about deep detail, but broad strokes of strategy that guide the more detailed planning that occurs later. Prioritization comes second as the ideas developed get prioritized. This act pares down the list of items that need to be defined in detail. I like Scrum’s backlog analogy but I think the Product and Sprint backlogs might not be enough. To use a baseball analogy I think you have an At-Bat Backlog, an On-Deck Backlog, and an In the Hole Backlog. At bat would be your Sprint Backlog representing what is in play now. On Deck represents perhaps a release backlog or something of that sorts. These are items that are going to be in play and will need to be defined fairly soon. In fact during a Sprint it wouldn’t be uncommon for the PM, Business Analyst, etc… to be very active in defining those items near the top of the On-Deck list. The On-Deck list becomes a focal point in the prioritization process. The Sprint is work committed to and while some teams might want to have a relative priority there I don’t have a firm opinion on it. The On-Deck list is key – what will the team work on next is the question that needs to be answered by the prioritization process. Once we have a prioritization there we can move forward with the third step in the process – Definition Definition in this context is providing the detail necessary to move the concept forward in the planning process and ultimately moving it successfully into the implementation phase. Steps 2 and 3 in the process end up being a rinse and repeat type of deal. Items will be prioritized onto a list and will need to be defined to some degree. For example when an item is prioritized onto the On-Deck list it is likely that definition needs to happen in order for some estimates to be provided as to how long the items on the On-Deck list will take to complete (thinking of the On-Deck list as representing the functionality in a release). As On-Deck items in the list move up – more definition is added so that the customer needs can be clearly identified and the developer can have in hand as much detail as possible when that item pops onto the At Bat Backlog. It is here that we get to the crux of the matter that caused this post to be written. I have seen two common behaviors that cause teams to fail relative to requirements definition. The first is that requirements are defined too early in too much detail and not revisited effectively and as time goes on customer needs shift or change and the requirement as it was written months ago no longer accurately reflects their needs. The second behavior is too little detail. A story is defined with a title (which I think the whole story card/post-it thing encourages) and little else and exists like that all the way to the developer. He has in his mind what the title means, the customer has another thing in mind, and program management has yet another. Agile methodologies advocate the definition happen through consistent customer interaction and if that happens that can work. All to often in practice it doesn’t work that way. The takeaway is don’t under value the requirements process it is perhaps the most difficult thing to get right in the whole software process. Too much detail, too soon or too little detail, too late – what is too soon and what is too late and how much is too much or little – not easy questions – the process above has worked well for me in addressing the challenges with getting requirements right. 11/3/2008 Halloween is almost here
I meant to get this posted before I left for my work trip to LA for Microsoft’s Professional Developer Conference, but I didn’t so I am trying to get this out while here. We had a party with family and friends at our house last Friday. This is a take off of the Arrington Family tradition that has gone on for years. We had the Hubers, Goodfellows, Trammells (or part of their family at least), and Cardons – we missed out on the Stohls (they got sick) and we were bummed about that because we haven’t met anyone so in love with Halloween as Megan is, but we still managed to have some fun. Here are some pics from the party including from our donut eating contest!
10/30/2008 C# Futures session
Anders characterized C# 1.0 as getting something out there, 2.0 as being about Generics, 3.0 being about LINQ, and 4.0 being about Dynamic Programming. He addresses the zealots on both sides of the dynamic and static argument and states that both have benefits. There is a new keyword coming in 4.0 – dynamic. When you define a variable as dynamic any subsequent actions on that become dynamic actions. Making a method call involves a call through the DLR (I would assume) to dynamically dispatch to that method, property, etc… I love the way C# is going – we have the ability to leverage dynamic when needed, but within the static framework that so many of us are comfortable With the new dynamic capabilities in C# 4.0 it should help developers leverage anonymous types more effectively I think since you get duck typing and so you can take an anonymous type and use it like it is a richer type (or at least use the properties of the anonymous type that way since an anonymous type doesn’t have any methods). What you do today using the Silverlight-Javascript bridge could largely be done by C# now. Concurrency is the elephant in the room in programming today - Moore's law will yield more cores, but not faster ones - there is no silver bullet here. It will take hard work in language design and I believe likely with developers as well to change our perspective and perhaps how we develop to adjust to the multi-core revolution. I wonder if things like Windows Workflow and Azure represent efforts in this space as they allow developers to plug into concurrency in a different way. As has been highlighted in an internal training class that I have been taking lately state is the killer to concurrency. The more state has to be maintained the harder a problem concurrency becomes.
Lap around VS2010
A major focus of VS2010 is in the Testing space. One of new tools allows testers to capture trace information during testing that can then be linked to bug work items when they are found. The trace information that can be captured consists of videos of the testing session, screen shots, historical debug files (so that you can walk the stack trace of what happened), and even a snapshot of the VM that the test was being run in so that the developer can go to the exact machine where the bug was encountered. The goal of that effort is to reduce the amount of times a No Repro answer comes back from devs for bugs that are filed. With the trace information collected the developer has many avenues to research the how, why, and what in relation to the filed bug. Other capabilities showing up in VSTS is the ability to determine what tests cover the code that is being changed in a changeset and thus become key candidates to be run during the testing process. Gated Checkin is a new feature in VSTS/TFS 2010 – today a somewhat similar feature can be found on Code Plex called Buddy Build. The goal of the Gated Checkin feature is to help reduce the number of broken builds. A checkin before being committed when the Gated Checkin feature is turned on will be run in isolation with the latest version of the checked in code to validate that the code builds successfully and then depending on configuration that some or all of the tests pass. Another feature related to build (but not Gated Checkin per se although I would imagine it could be applied during a Gated Checkin build) is Architecture validation. With 2005/2008 the Architect SKU provided little value it is being overhauled dramatically with 2010 (the new features with it deserve their own post altogether). One of the new capabilities showing up is an architecture validation step associated with the new Layer diagrams. This will ensure that code is not calling outside of the layers it is allowed to call. If that happens these will show up as architecture errors in the build. They also showed the Architecture Explorer which enables you to do NDepend like dependency analysis quickly and easily from within Visual Studio. I inquired on the licensing strategy to determine what access the Developer SKU will have to these types of things. The answer was that the Developer SKU will be able to read the artifacts output and navigate them (zoom in and out, drill in and out), but not produce them. That seemed to be a reasonable trade-off I thought – the Architect SKU potentially has value now, but the Developer SKU were everything seems to come together isn’t left out in the cold completely. The last thing that was shown was the Automated Testing capabilities which will be available for both Web and Winforms. They hope by RTM to have a beta of WPF support. You get an impressive ability to reach into Webforms and Winforms and validate the content of controls (the only way to truly appreciate this is to see a demo of how slick it works). MS will enable a greater degree of test automation with this capability I believe (at a lower overall price than the tools available today), but it is also beefing up the manual test case side of the story as well realizing that there will always be things that for one reason or another can’t be or shouldn’t be automated. Meshified CarI am sitting in LAX waiting for my flight home and just finished a video done by Channel 9 with Ori Amiga who is one of the stars of the Live Mesh Development team. He was showing a custom gadget that he built to integrate with his car that included integration with Live Mesh so that he had a Meshified car. It was pretty cool so I thought I would link to it – With everybody excited about the release of the Mesh client for Windows Mobile this is A different kind of Mobile Mesh. |
|
|