tag:blogger.com,1999:blog-105891322024-03-06T00:48:28.610-05:00blog.iangoodsell.comA home of useful information.IanGhttp://www.blogger.com/profile/16412246298572406277noreply@blogger.comBlogger155125tag:blogger.com,1999:blog-10589132.post-23062568239596555832016-09-05T21:52:00.000-04:002018-09-05T21:56:23.447-04:00That's Neat Organizing Relaunch<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxNTPde2wI8dU9AFov1TzOsIxq6O41C4jhTHtf9bqul1t_qVd-2RTiyWqtpviu-CHYHuu9_0-ulJz7UQCzD7K31DWCmRutWhl9gVJ7cGl42KhujIDGOEwQVjTrfKP2dz5u-4Jcdw/s1600/TN_Logo_FNL.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="88" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxNTPde2wI8dU9AFov1TzOsIxq6O41C4jhTHtf9bqul1t_qVd-2RTiyWqtpviu-CHYHuu9_0-ulJz7UQCzD7K31DWCmRutWhl9gVJ7cGl42KhujIDGOEwQVjTrfKP2dz5u-4Jcdw/s200/TN_Logo_FNL.jpg" width="200" /></a></div>
<br />
Elizabeth and I recently decided to retire the website I lovingly hand-crafted when she started her organizing business over 10 years ago. It was a good site: simple, easy to navigate, got the point across effectively; Elizabeth has received many compliments about it over the years.<br />
<br />
However, the time had come to do something major with the site - it had grown over time to meet the needs of the business, and a number of major features had been tacked on (including a blog and a spot dedicated to videos and other media). I created the site in a time when mobile web browsing was not all that common, and the site was difficult to navigate on a tablet or a phone. I also have to admit that it was looking dated compared to other small-business sites that Elizabeth admired.<br />
<br />
The first thing to consider was whether or not to code a completely new custom web site. Our discussions about this surfaced a number of problems which we had over the years:<br />
<ul>
<li>The custom site was impossible for Elizabeth to update herself, making me the single point of failure. Any time I was making updates to the site, I was not doing something else, like paying bills or fixing plaster walls. Elizabeth didn't feel like she should have to learn how to use Visual Studio in order to make a minor site update. Adding the blog helped, but she wanted to have some more control in the look, feel and content in the rest of the site. </li>
<li>Maintaining a custom site means you have to worry about version control, backup, etc. These things have gotten easier in the 10+ years she has been in business, but it was another important task that she had little control over, and was my responsibility.</li>
<li>I also had to worry about breaking changes occurring in site code when the hosting company pushed upgrades to the server hosting thatsneatorganizing.com. I remember this happening on the site when the .NET framework was upgraded a couple of years back.</li>
</ul>
The main result of talking this out made us realize that Elizabeth wanted to take a much greater role in the maintenance and content of the site, which led us to consider a number of SAS Website hosting companies.<br />
<br />
I was floored at the capabilities of some of these offerings; all of the major sites we looked at had web based WYSIWYG site creators with integrated responsive design templates, blogging capabilities, etc. A lot different than when she started her business.<br />
<br />
We ended up selecting Squarespace as the new hosting company and couldn't be happier.<br />
<br />
<br />Ianhttp://www.blogger.com/profile/09965042883223313455noreply@blogger.com0Arlington Arlington42.422307 -71.153741tag:blogger.com,1999:blog-10589132.post-34588903901842376382016-05-02T09:38:00.001-04:002016-05-02T16:43:10.971-04:00Kanban in the Wild<div dir="ltr">
I went to a local upholsterer this weekend to pick up one chair he fixed and drop off another, and what did I see? It might look familiar to those of us who practice Agile on a daily basis:</div>
<div dir="ltr">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiFr4xsHMInK4uTRSvxOm1nQcDLywHKQUQKOsaz9VMfbOUsZ1GRlITz-vK2eYqpTvu3QAruGSgfrYZvaCzWW1vYTUhIZnS8RZReJ_5UNkP2-HX9ThPG_VNDdlB60rbFxgny5Tueg/s1600/IMG_2060%25281%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiFr4xsHMInK4uTRSvxOm1nQcDLywHKQUQKOsaz9VMfbOUsZ1GRlITz-vK2eYqpTvu3QAruGSgfrYZvaCzWW1vYTUhIZnS8RZReJ_5UNkP2-HX9ThPG_VNDdlB60rbFxgny5Tueg/s400/IMG_2060%25281%2529.JPG" width="400" /></a></div>
<div dir="ltr">
<br /></div>
<div dir="ltr">
<br /></div>
<div dir="ltr">
Apparently, the shop owner has used a system like this for decades. It's a Kanban system, although he had never heard the term before. The "Waiting for" column is his backlog, things that are blocked for some reason (materials, payment, etc.). "Ready to go" is his list of projects that he can work on next, and "Doing" represents his work in progress. Due to the size of his shop, he can really only have 3 projects in progress at a time.</div>
<div dir="ltr">
<br /></div>
<div dir="ltr">
And true to his system, since I paid my deposit and he had the fabric in-stock, my sticky is in the "Ready to Go" column!</div>
Ianhttp://www.blogger.com/profile/09965042883223313455noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-88918217892223045902015-11-15T23:15:00.003-05:002016-05-02T21:51:59.013-04:00Heat your home with a Server?<a href="http://bit.ly/1QpFrJ5" target="_blank">Read about this recently</a>: Nerdalize is a company who installs server racks in your home which look somewhat like a radiator. Servers shed so much heat that they figured someone could take advantage of this heat rather than the hosting company paying a huge monthly air conditioning bill.<br>
<br>
What do you think about this? I think the idea could have legs.Ianhttp://www.blogger.com/profile/09965042883223313455noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-60944514457014428662015-08-26T18:07:00.000-04:002015-08-26T18:07:50.374-04:00Best Lotus Notes Error Ever<div class="separator" style="clear: both; text-align: left;">
Got this error today:</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www-01.ibm.com/support/docview.wss?uid=swg21442949&aid=1" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www-01.ibm.com/support/docview.wss?uid=swg21442949&aid=1" height="240" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
Apparently, this is common enough <a href="http://ow.ly/Rqj5d" target="_blank">to have an entry on the IBM knowledgebase</a>. In a nutshell, this error occurs when the user uses keyboard shortcuts. The answer? "Currently the only known workaround is not to use shortcut keys ."</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
The entry was made in 2011. Wow, how is that acceptable.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<br />Ianhttp://www.blogger.com/profile/09965042883223313455noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-43890099923965253942014-07-01T18:42:00.001-04:002014-09-12T21:30:28.437-04:00Google Guice: Why does it not appear that the @Singleton Annotation is
not being respected by the Injector?This took me a little while to figure out, apparently the Singletons you're injecting are per instance of the Injector. So if you are doing what I was, (creating an Injector in each class I was trying to inject a singleton into), that is incorrect. <br>
<br>
Thank you, <a href="http://stackoverflow.com/questions/1623698/why-my-singleton-doesnt-work" target="_blank">StackOverflow</a>!Ianhttp://www.blogger.com/profile/09965042883223313455noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-9520771615759263412014-07-01T12:31:00.004-04:002014-07-01T12:33:59.330-04:00Specify a Block of Code to NOT Run in the NetBeans Form DesignerSometimes, you will have code in the constructor of a Swing form that you do not
want to execute when opening the form in the NetBeans form designer. I recently had this
problem when working with Dependency Injection using Google Guice. Opening the
form in the designer resulted in an exception with a call stack about 80 levels
deep. <br />
<br />
To avoid this problem, do the following:<br />
<br />
Add the following import to your form:<br />
<br />
<blockquote dir="ltr" style="margin-right: 0px;">
<div class="ms-rteFontFace-2 ms-rteFontSize-2">
<span style="font-family: "Courier New", Courier, monospace;">import
java.beans.Beans;</span></div>
</blockquote>
<br />
Surround any code you do not want to execute when opening the form
in the NetBeans form designer in the following block:<br />
<span class="ms-rteFontFace-2 ms-rteFontSize-2" id="ms-rterangepaste-start"></span><br />
<div class="ms-rteFontFace-2 ms-rteFontSize-2">
<span style="font-family: "Courier New", Courier, monospace;"> <span class="ms-rteForeColor-6"><span style="color: #38761d;">// Don't execute the following code in the
designer</span></span><br /> if (!Beans.isDesignTime()) {<br /> <span class="ms-rteForeColor-6"><span style="color: #38761d;">// unexecuted code goes here</span></span></span></div>
<span style="font-family: "Courier New", Courier, monospace;">
</span><br />
<div class="ms-rteFontFace-2 ms-rteFontSize-2">
<span style="font-family: "Courier New", Courier, monospace;"> }</span></div>
Ianhttp://www.blogger.com/profile/09965042883223313455noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-38323197406865119002014-06-24T09:32:00.000-04:002014-06-24T09:34:11.375-04:00Activate Office 2013 with a Product Key from the Command LineI was having some difficulty activating my copy of Office 2013 from behind our firewall, and Googled my way to discovering how to install the product key from a command prompt.<br />
<br />
For the 32-bit version of Office 2013, cd to <span style="font-family: "Courier New", Courier, monospace;">c:\Program Files (x86)\Microsoft Office\Office15</span> and run the following:<br />
<br />
<span style="font-family: "Courier New", Courier, monospace;">cscript OSPP.VBS /inpkey:<your product key></span><br />
<br />
You'll see some text indicating whether or not the product key installation was successful. The next time you run one of the Office applications, the Activate dialog will appear. <br />
<br />
Thanks to the <a href="http://blogs.technet.com/b/officeasia/archive/2011/01/07/how-to-use-command-line-to-change-activate-mak-product-key-for-office-2010-installation.aspx" target="_blank">following TechNet article for Office 2010</a> which pointed me in the right direction.Ianhttp://www.blogger.com/profile/09965042883223313455noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-4795611218264905392014-02-28T13:03:00.000-05:002014-02-28T13:03:42.505-05:00Modular Smartphone in the works from GoogleI just read <a href="http://liliputing.com/2014/02/googles-modular-phone-set-for-2015-launch-starting-at-50.html" target="_blank">this article</a> about <a href="http://motorolaara.com/" target="_blank">Project Ara</a>, Google's project tasked with creating a phone platform that is customizable with different plug in modules. For example, what if you never took pictures with your phone (hard to believe, I know)? You could use that space to plug in an extra battery, or an external speaker, a card reader, a better antenna, or anything else that module manufacturers can dream up. Imagine the possibilities!<br />
<br />
I don't believe the carriers will embrace this vision of the future - this could open up the way for you to upgrade your processor, or easily replace broken screens or input jacks. If you could easily do this yourself, why would you pay for phone insurance, or upgrade to a new phone every two years - you could conceivably add new features to your phone whenever you wanted to.<br />
<br />
Apparently, the base kit (without screens or any other modules) is scheduled to go on sale next year for $50. At that price, it's definitely worth a look. <br />
<br />
More information on Project Ara:<br />
<ul>
<li>Project Home: <a href="http://motorolaara.com/">http://motorolaara.com/</a></li>
<li><a href="http://techland.time.com/2014/02/26/google-project-ara-modular-smartphone/" target="_blank">TIME magazine article on Ara</a></li>
</ul>
Ianhttp://www.blogger.com/profile/09965042883223313455noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-59026710875090798662013-07-05T17:06:00.000-04:002013-10-21T20:12:41.372-04:00Enterprise Learning: notes from IBM Innovate 2013<div class="MsoNormal">
IBM described how their enterprise training strategy for
their Global Business Solutions division has evolved to support their new
DevOps culture.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
IBM realized that their training model resulted in many of
their employees having what they referred to as “shelf skills”: meaning skills
that are not used (think shelfware). They
referred to this as ‘waterfall learning’: gaining knowledge without knowing why
or how you are expected to use this information. At the same time, their
development organization was making the push towards becoming a more agile,
DevOps-focused institution. They
realized that formal training and continuous delivery would have a hard time
co-existing, since the deployed software had the potential of changing faster
than it would take to develop a traditional training course. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
This encouraged IBM to change the way they train their
employees on technical items that are important to the organization over the
past few years, switching their focus from a formal, managed method to more of
an informal, supported method.<o:p></o:p></div>
<br />
<div class="MsoNormal">
They have done this by transitioning their classroom
learning model to a “community of practice” (COP) model. The COP model
at IBM is formal, with employees encouraged in their annual
objectives to actively participate in COPs. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
They quickly found that implementing this model was somewhat
harder than they initially thought. A traditional weakness of a COP is how to
onboard new members to the community; you would want the level of technical
topics in the community to be of a certain complexity to encourage domain
experts to participate fully. In order
to ensure that employees joining a COP had a certain base level of
understanding of the topic, IBM created what they called “Learning Circles”. The premise behind a learning circle is: if
an individual wants to learn about a topic, they should have access to a
trusted list of resources that have been vetted by a known expert. Domain
experts were encouraged to contribute material to the Learning Circle to become
better known in the community and build their ‘trust network’. Learning Circles have the goal of getting
their members a baseline level of knowledge so they would feel comfortable
participating in discussions in the affiliated COP. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
A participant in a Learning Circle has the goal of
demonstrating competency in the field of study.
When they feel they are ready to participate in the full COP, they have
the option of ‘self-graduating’ from the Learning Circle. At this point, IBM
management starts to keep track of the use of this skill – the employee has six
months to use these new skills in their job or engagement. This encourages employees to keep their
skills current to their jobs, or help gain skill that can move their career
along a new path. This approach appears to align individual training with the
needs of the organization, IBM measured that 82% of LC graduates reported that
they used their new skills within 6 months of graduation. Additionally, there was an 80% overlap between
the list of skills being learned by employees to a survey of skills that
customers said they wanted. <o:p></o:p></div>
<br />
<div class="MsoNormal">
When measuring the effectiveness of the LC/COP model, IBM
realized that the communities with higher rates of participation had much
better content than smaller communities. In order to boost participation in
communities across the board, IBM opened up the communities so members from
outside of IBM could join a COP: first business partners, then to the general
public. These will soon be available on
the IBM developerworks site. The concept
is the creation of a ‘system of engagement’ with customers using their
tools. IBM hopes to strengthen
relationships with their clients by giving away this basic ‘how to use our
tools’ content. They are looking to use
this as a new engagement model; it gives many of the advantages of a
face-to-face meeting, but is much more scalable.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Enterprise Learning Key Take-Aways:</div>
<div class="MsoNormal">
<span style="text-indent: -0.25in;">A key for the IBM training model was that as
they transitioned from a traditional learning environment to a self-guided
model is that they continued to give their employees time to learn new skills
and tools, trusting them to learn the skills that would help the organization. </span></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
Ianhttp://www.blogger.com/profile/09965042883223313455noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-30509847942502899882013-07-02T17:03:00.000-04:002013-10-21T20:11:28.893-04:00Culture Change: notes from IBM Innovate 2013<div class="MsoNormal">
I attended a session which described how IBM built what they
referred to as an ‘Agile Roadmap’ using a cross-business team. </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
The presentation began with some
alarming statistics from an IBM-funded study: 59% of companies listed culture
as the key inhibitor to the adoption of agile practices. 70% of all change
initiatives fail, with the following key areas listed as the cause of
organizational failures:<o:p></o:p></div>
<div class="MsoListParagraphCxSpFirst" style="margin-left: 38.6pt; mso-add-space: auto; mso-list: l2 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->1.<span style="font-size: 7pt;">
</span><!--[endif]-->Poor executive sponsorship<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 38.6pt; mso-add-space: auto; mso-list: l2 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->2.<span style="font-size: 7pt;">
</span><!--[endif]-->Lack of employee involvement<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 38.6pt; mso-add-space: auto; mso-list: l2 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->3.<span style="font-size: 7pt;">
</span><!--[endif]-->Ineffective change champion<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 38.6pt; mso-add-space: auto; mso-list: l2 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->4.<span style="font-size: 7pt;">
</span><!--[endif]-->Underestimating the change effort<o:p></o:p></div>
<div class="MsoListParagraphCxSpLast" style="margin-left: 38.6pt; mso-add-space: auto; mso-list: l2 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->5.<span style="font-size: 7pt;">
</span><!--[endif]-->Ad-hoc approach to change<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
The IBM ‘Agile Enterprise Transition Community’ realized
that if they wanted the organization to fully benefit from an agile
transformation, they would have to focus on changing the underlying culture of
IBM. A direct quote from the presenter: “you can not change culture by adopting
a new set of tools.” Corporate culture reflects the reality of the organization
– the values, practices and traditions that have made a corporation successful;
this is something that is very difficult to change.<o:p></o:p></div>
<div class="MsoNormal">
IBM consulting has a “Better Change” process that they have
used to help their clients make cultural transitions; this was used as a
framework for framing the changes the committee proposed to make
internally. The process is loosely based
on John Kotter’s <i>Leading Change </i>approach,
which has eight steps:</div>
<div class="MsoNormal">
</div>
<ol>
<li><b style="text-indent: -0.25in;">Establish
a sense of urgency</b><span style="text-indent: -0.25in;">: Determine what is driving your need for change – the
greater the urgency, the better chance you have of making changes.</span></li>
<li><b style="text-indent: -0.25in;">Create a
powerful guiding coalition</b><span style="text-indent: -0.25in;">: Bring together business and technical personnel
to remove impediments to success. Change cannot be enforced; it must be
encouraged and supported. Determine how to achieve many small successes early
in the initiative to build momentum and gain credibility. Use these lessons to
determine how to leverage wins across the organization. Put out a call for volunteers
at this point, who believe in the need for change and will act as additional
grass roots voices across the organization. The coalition at IBM was organized
in this fashion:</span></li>
<li><b style="text-indent: -0.25in;">Develop a
vision and a strategy</b><span style="text-indent: -0.25in;">: Craft a mission statement, articulating this will
help the community get on the same page.</span><span style="text-indent: -0.25in;">
</span><span style="text-indent: -0.25in;">Ensure everyone uses a common set of definitions to describe key goals
and deliverables.</span><span style="text-indent: -0.25in;"> </span><span style="text-indent: -0.25in;">Make sure everyone
understands the problem, such as: “if we cannot make this change, the contract
is going to be awarded to another company who can make this change.” The
mission statement will simply lay out the strategic vision, but will not give
any indication about what will need to be done to achieve the goals. Again,
mandating change will reduce the chances of success.</span><span style="text-indent: -0.25in;"> </span><span style="text-indent: -0.25in;">If the vision is dictated, it isn’t </span><i style="text-indent: -0.25in;">our</i><span style="text-indent: -0.25in;"> vision – work out the vision
together.</span><span style="text-indent: -0.25in;"> </span><span style="text-indent: -0.25in;">As an example, the IBM vision was: <i>"Uses continuous stakeholder feedback to deliver high-quality, consumable code through use cases (user stories) and a series of short, stable, time-boxed iterations."</i></span></li>
<li><b style="text-indent: -0.25in;">Communicate
the change vision</b><span style="text-indent: -0.25in;">: The vision needs to be communicated from the top, all
the way down the management chain to the individual practitioner. Do not be shy
about communicating the vision to anyone and everyone!</span><span style="text-indent: -0.25in;"> </span><span style="text-indent: -0.25in;">The presenter made the analogy of two workers
in a quarry: when the project manager asked one what he was doing, he said “cutting
stone.” When he asked the other, he said “building a cathedral.” The second
worked understood the project vision.</span></li>
<li><b>Empower a
broad base of people to take action</b>: The volunteers identified in step 2
are essential to this step. <i>They need to
be empowered and supported to make change</i>. It is essential to have
volunteers from a wide range of responsibilities, they can be used to identify
and eliminate blockers to change. Some examples were given; volunteers can lead
courses, coach other employees, and help craft new practices. IBM would bring
the most influential volunteers together to hold an “Academy of Technology
Agile Conference.” This was a series of virtual conferences, webinars and
events, plus face to face local events. Members detailed successes and
failures, and gave them an opportunity to engage with other change enablers
across the organization. The committee
took this time to formally recognize the valuable work the volunteers were
doing.</li>
<li><b style="text-indent: -0.25in;">Generate
short-term wins</b><span style="text-indent: -0.25in;">: Scrum is very good to do this, due to the short turnaround
time for deliverables and the quick incorporation of lesson learned. Wins will
help you gain credibility across the organization.</span></li>
<li><b style="text-indent: -0.25in;">Consolidate
gains and product more change</b><span style="text-indent: -0.25in;">: This is one of the more difficult steps.
Adopting agile practices can directly impact business investment gates: does
your business process framework hinder, tolerate, or actively support agile
practices? As an example, one of the first IBM business gates required the
proposal to completely define requirements; this needed to be changed.</span><span style="text-indent: -0.25in;"> </span><span style="text-indent: -0.25in;">IBM is currently in the third iteration of
changing their business practices to support agile practices.</span></li>
<li><b style="text-indent: -0.25in;">Anchor
the new approaches into the culture</b><span style="text-indent: -0.25in;">: It may take some time for employees to
practice the new behaviors before they become ingrained – making the new
culture. Some problems may occur during this phase: the executives sponsoring
the initiative may move on, or you may declare victory prematurely. The agile
steering committee needs to be kept in place and vigilant to ensure that the
organization sustains the transformation.</span></li>
</ol>
<br />
<div class="MsoNormal">
One of the last points emphasized was a quote from John
Kotter regarding what does not work when changing a culture:<br />
<blockquote class="tr_bq">
"Some group decides what the new culture should be. It turns a list of values over to the communications or HR departments with the order that they tell people what the new culture is."</blockquote>
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Key Take-Aways:</div>
<div class="MsoNormal">
</div>
<ul>
<li><span style="text-indent: -0.25in;">This was an excellent presentation. The presenter was Elizabeth Woodward, who was
an Organizational Consultant in IBMs Office of Strategy.</span></li>
<li><span style="text-indent: -0.25in;">An overall change vision must be created and
articulated across the organization, to the point that any practitioner knows
how they are contributing to this vision.</span></li>
<li><span style="text-indent: -0.25in;">Employees effecting change need to be empowered
and supported by the organization.</span></li>
<li><span style="text-indent: -0.25in;">Cultural change cannot be made through the
incorporation of tools, or by dictating new processes.</span></li>
<li><span style="text-indent: -0.25in;">Practitioners need to be
part of the transformation if this is to be successful.</span></li>
</ul>
<br />
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo3; text-indent: -.25in;">
<o:p></o:p></div>
Ianhttp://www.blogger.com/profile/09965042883223313455noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-44167478642085380382013-07-01T20:05:00.000-04:002013-10-21T20:06:49.149-04:00Overview of DevOps: notes from IBM Innovate 2013<div class="MsoNormal">
DevOps was by far the main concept that IBM was pushing at the Innovate Technical Summit; nearly every session I attended had some portion dedicated to
how they fit into the IBM DevOps infrastructure/methodology. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
In general, DevOps refers to best practices a company can
use to reduce friction when handing off software between development and
operations. This reduces the time it
takes a company to deliver something of value to their customers. Reducing
friction refers to changing the culture of an organization to eliminate any technical
or procedural barriers that hinders the ability to deliver software in a
predictable way with the minimal amount of manual work. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
By adopting some common-sense practices, a company can
become more agile, deliver products to their customers sooner, and increase
their chance for success. Some of the DevOps best practices highlighted were:</div>
<div class="MsoNormal">
</div>
<ul>
<li><span style="text-indent: -0.25in;">Ensuring development and production environments
are as similar as possible</span></li>
<li><span style="text-indent: -0.25in;">Automating as much as possible – tests, system
setup, deployment</span></li>
<li><span style="text-indent: -0.25in;">Flexibility of processes – IT and project
management should be as agile and flexible as the development teams</span></li>
<li><span style="text-indent: -0.25in;">Fostering an environment of open communication
between the groups tasked with developing and deploying software – this should
be done through as many channels as needed to make communication between these
groups easier.</span></li>
</ul>
<br />
<div class="MsoListParagraphCxSpLast" style="mso-list: l1 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoNormal">
The final key concept of DevOps is the amplification of
feedback loops between stakeholders; it is critical to have the ability to
observe how changes impact a system, and apply this data to the next set of
changes. To enable this, continual
monitoring and observation about critical system metrics must be collected and
used.<o:p></o:p></div>
<div class="MsoNormal">
IBM refers to this philosophy as the <i>DevOps Lifecycle</i>. They have taken steps to evolve their tool chain
to support this in any organization.<o:p></o:p></div>
<div>
<br /></div>
Lessons Learned:<br />
<div class="MsoNormal">
</div>
<ul>
<li><b style="text-indent: -0.25in;">Configuration
and Change Management</b><span style="text-indent: -0.25in;">: DevOps encourages the versioning of every asset needed
to build a product. This is not just source; this is all libraries, environment
scripts, virtual systems. Without an established source of truth, you will not
be able to continuously deliver. Leverage Automation: This refers to a concept
called ‘Change Management,’ where you need to have an idea of how any change
effects the system as a whole. The goal of this is to automate the complete
test and delivery process of the system; eliminating all manual changes will
allow you to synchronize all areas during a ‘deployment’. This will encourage
developers to make many small incremental changes to a system, which reduces
integration risk.</span></li>
<li><b style="text-indent: -0.25in;">Leverage
Virtualization</b><span style="text-indent: -0.25in;">: most of the methods in which IBM recommended implementing
DevOps at a company involved the use of virtualization. Virtualization of
systems and network topologies allows the organization to consider the
environment needed to build and deploy a project as ‘code’, which is also
versionable – ‘infrastructure as code’.</span></li>
<li><b style="text-indent: -0.25in;">Continuous
Delivery</b><span style="text-indent: -0.25in;">: In order to implement Continuous Delivery, an organization must make
investments in Continuous Testing, Continuous Integration, and Continuous
Monitoring. In order to implement
continuous testing and integration, a program will need to make improvements to
their development infrastructure such as build automation and virtualization.
When considered in this way, a program could be ready to make the transition to
Continuous Delivery. </span></li>
</ul>
<br />
<div class="MsoNormal">
<span style="text-indent: -0.25in;">Rational tools such as Team Concert, Rhapsody, etc. are very mature and can support an
agile DevOps culture. IBM development teams are using their own tools to enable
their internal DevOps efforts.</span></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo2; text-indent: -.25in;">
<o:p></o:p></div>
Ianhttp://www.blogger.com/profile/09965042883223313455noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-73251416644276587712012-05-29T15:58:00.002-04:002012-05-29T22:08:51.647-04:00Iranian Computers Targeted by new CyberweaponThe <a href="http://abcnews.go.com/Technology/wireStory/cyberweapon-discovered-iranian-computers-hit-16449581" target="_blank">Associated Press reported this morning</a> that a new large scale cyberattack has hit computers in Iran. The new program, named "Flame" apparently has the ability to take screenshots, activate a computer's microphone and webcam, and even capture data from bluetooth enabled smartphones connected to the infected computer. <br />
<br />
<div>
UPDATE: More information on Flame:</div>
<ul>
<li><a href="http://www.securelist.com/en/blog/208193522/The_Flame_Questions_and_Answers" target="_blank">The Flame: Questions and Answers</a></li>
<li>NPR: <a href="https://rsvpn.raytheon.com/blogs/thetwo-way/2012/05/29/153911170/,DanaInfo=www.npr.org+flame-malware-said-to-be-targeting-iran-huge-deal-or-huge-hype">'Flame' Malware Said To Be Targeting Iran: Huge Deal Or Huge Hype?</a></li>
</ul>Ianhttp://www.blogger.com/profile/09965042883223313455noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-90459690522110553882012-05-23T17:39:00.000-04:002015-12-17T21:53:41.535-05:00JetBrains releases dotPeek, a new free .NET decompiler<a href="http://www.jetbrains.com/" target="_blank">JetBrains</a> has thrown their hat into the .NET decompiler ring with the recent release of <a href="http://www.jetbrains.com/decompiler/" target="_blank">dotPeek</a>. I've been using it for a couple of days now and have found it to be a fully-featured competitor to the standalone <a href="http://www.reflector.net/" target="_blank">.NET Reflector</a> by <a href="http://www.red-gate.com/products/dotnet-development/" target="_blank">Red Gate Software</a>.<br />
<br />
The standalone version of .NET Reflector is priced at $70, while dotPeek is free. I wonder if this is going to change anytime soon. .NET Reflector also has version that adds Visual Studio integration to the basic utility (available for $130) and a Professional edition that adds VS integration and some very useful debugging features (available for $190). Sadly, I have not been able to convince my program manager to buy any licenses for our team.<br />
<br />
dotPeek doesn't do anything other than decompile assemblies, but it does that well. This is good news, since I have really missed having a decompiler available in my daily work.<br />
<br />Ianhttp://www.blogger.com/profile/09965042883223313455noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-47690420007782132652012-05-10T02:02:00.006-04:002012-05-29T16:00:50.593-04:00NPR: Cyber Briefings 'Scare The Bejeezus' Out Of CEOsIn NPR's continuing series on the costs of cybersecurity and who will pay for hardening the assets that control the nation's critical resources, they detail how public-private partnerships are being used to help disseminate information about the latest cyberwar capabilities to industry.<br />
<br />
Some of the corporate systems are so vulnerable the government informed CEO's that "we can turn your computer into a brick," which scared "the bejeezus out of them." Actual quotes.<br />
<span style="background-color: white; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 0.9375em; line-height: 1.375em; text-align: left;"><br /></span><br />
<a href="http://www.wbur.org/npr/152296621/cyber-briefings-scare-the-bejeezus-out-of-ceos/player" target="_blank">Listen to the story here</a>.Ianhttp://www.blogger.com/profile/09965042883223313455noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-18384438837187848982012-05-08T13:57:00.002-04:002012-05-29T16:00:50.590-04:00NPR on Cybersecurity: New Bill would have Businesses Foot the Cost of CyberwarI was listening to a very interesting story on NPR this morning about the state of the nation when it comes to cybersecurity. One of the main points was that our national infrastructure is very vulnerable to offensive cyber operations since private companies are mainly responsible for critical infrastructure such as electricity and virtually no private companies have been spending money on keeping their systems safe from intrusion. <br />
<br />
There are split feelings on this issue about whose responsibility it is to keep infrastructure safe. Surprisingly, it isn't the typical Democrat-Republican split. Many former security officials from the Bush administration feel that business should be devoting their resources to meet this challenge, while business leaders quoted in the piece feel that this is the government's responsibility, not theirs - and the government should pay for hardening their systems.<br />
<br />
Outside of a federal takeover of these critical assets (which no one wants), I personally think legislation, regulation, and incentives codified into the tax code are the only ways to force businesses to take their cyber responsibilities seriously. The threats have been present and well documented for long enough. Business leaders have had their chance to police themselves, and they have failed miserably.<br />
<br />
<a href="http://www.npr.org/2012/05/08/152219617/bill-would-have-businesses-foot-cost-of-cyber-war" target="_blank">Listen to the story here</a>.Ianhttp://www.blogger.com/profile/09965042883223313455noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-46477827451747887632011-12-15T13:32:00.000-05:002014-06-24T17:07:12.022-04:00Overheard at Work<div>
From the two developers pair programming across from me:</div>
<br />
<blockquote class="tr_bq">
"Ooo! We did it! That's good, right?"</blockquote>
<blockquote class="tr_bq">
"I'm not so sure that's good. Or right."</blockquote>
<blockquote class="tr_bq">
"All right. We'll put it back." </blockquote>
<blockquote class="tr_bq">
"Damn."</blockquote>
<br />
<div>
Pair programming is the best.</div>
<br />
<div>
</div>
Ian Goodsellhttp://www.blogger.com/profile/13391180911942777542noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-42182492618846547812010-10-18T14:26:00.003-04:002012-05-29T16:01:06.335-04:00REVIEW: Sharpie Liquid Pencil<p>For those of you who know me, I’m a pen geek. I love the feel of a good writing implement. As a result, I was really excited to hear about the new Sharpie Liquid Pencil.</p> <p>The experience was disappointing. It reminded me of writing with an EraserMate pen from my middle school days. Sharpie did do something better, as a leftie, the EraserMate ink used to get all over my hand as I wrote; I didn’t experience this with the SLP.</p> <p>There appears to be an uneven flow of liquid graphite, it sometimes feels like you are writing with a pen which is about to run out of ink. The ink rubs off page with a very light touch, which is good for the eraser, but bad for me since I’m a leftie.</p> <p>This is the first product from Sharpie which I didn’t like writing with.</p>Ian Goodsellhttp://www.blogger.com/profile/13391180911942777542noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-65476444078570789542010-09-22T13:15:00.001-04:002012-02-07T22:59:41.590-05:00NPR: Extending the Law of War to CyberspaceI heard an interesting story this morning on NPR regarding the international law of war and the growing debate about how cyberwar fits into the existing framework.<br />
<br />
This report was a real eye-opener for me. Nations around the world are building up a capacity to conduct cyberwar, which can have extreme consequences in the physical world. What is the threshold of damage that a cyber operation has to cause in order for it to be considered an act of war? Another problem discussed was the concept of "proportionality," meaning under the rule of law, any use of force must be reasonable to achieve the military objectives. The United States has extensive experience with this concept in the physical world, but this sort of analysis is much harder in the cyber domain. With the high levels of connectivity between military, government, and civilian networks, any cyber operation has the potential of causing more damage than the mission planners expected.<br />
<br />
This is a two part report, which concludes tomorrow. I'll be tuning in.<br />
<br />
<a href="http://www.npr.org/templates/story/story.php?storyId=130023318" target="_blank">Link to Part 1 of the report</a>.<br />
<a href="http://www.npr.org/templates/story/story.php?storyId=130052701" target="_blank">Link to Part 2 of the report</a>.Ian Goodsellhttp://www.blogger.com/profile/13391180911942777542noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-26922879987182077052010-07-16T17:14:00.006-04:002010-07-16T17:32:48.238-04:00Raytheon wins "Federal Innovation Partner of the Year" at Microsoft's 2010 Worldwide Partner ConferenceYesterday, my team was pleasantly surprised to hear the news that Raytheon won the award for "Partner of the Year" in the <em>Federal Innovation</em> category at Microsoft's Worldwide Partner Conference - almost exclusively for the work <em><strong>we've</strong></em> done promoting software factories, DSLs, and other developer productivity techniques across our organization over the past year. <a href="http://www.microsoft.com/Presspass/press/2010/jul10/07-15PublicSectorPartnersPR.mspx">Here's the link</a> if you are interested in reading the press release.<br /><br />We're really proud that all of the work we've done over the past year was so warmly welcomed by Microsoft. I thought we had something special going on and this kind of proves it.<br /><br />As an added bonus, our chief engineer returned from the conference triumphantly this morning with the hardware in hand.<br /><br /><br /><p><a href="http://3.bp.blogspot.com/_Tx7hbgivN9E/TEDMnehT8QI/AAAAAAAAAJk/-nNRlKVzB_E/s1600/100_0353+(Small).JPG"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 240px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5494616523971752194" border="0" alt="" src="http://3.bp.blogspot.com/_Tx7hbgivN9E/TEDMnehT8QI/AAAAAAAAAJk/-nNRlKVzB_E/s320/100_0353+(Small).JPG" /></a> Nice! I haven't been this pumped since BoundsChecker won it's umpteenth JOLT productivity award.</p>Ian Goodsellhttp://www.blogger.com/profile/13391180911942777542noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-18721399185637088912010-04-15T14:38:00.001-04:002012-05-29T16:01:21.016-04:00Visual Studio 2010 and the Platform Toolset<p>On Monday, Visual Studio 2010 became officially available to MSDN subscribers. If you're developing in C++, there are a number of new features available to you which are detailed  in <a href="http://msdn.microsoft.com/en-us/magazine/ee336130.aspx">a great article in this month's MSDN Magazine</a>. </p> <p>One of the best features I've had experience with so far is the Platform Toolset project setting.  This is designed for making a phased migration of an existing project that has been developed in Visual Studio 2008 to Visual Studio 2010.  Proper use of this feature will allow you to migrate your application as it makes sense to you, by allowing you to choose which portions of your application to build with VS 2010 and which to build with VS 2008 at the project level.  How's that for granularity?</p> <p>To take advantage of this, you'll need a system with a side-by-side installation of Visual Studio 2008 and Visual Studio 2010.  You then load up your Visual Studio 2008 solution in VS2010, and allow the project conversion wizard to do it's magic.  The first thing you'll notice is that your projects have a new extension: *.vcxproj.  It's not just an extension change: the underlying structure of the project file has changed significantly.  </p> <p>In order to access the Platform Toolset, you need to open the properties for the project you wish to build with Visual Studio 2008 and select the Configuration Properties | General node of the tree.  You'll notice the Platform Toolset option is set to v100 by default, which is the product version of Visual Studio 2010.  If you want to build with the Visual Studio 2008 tools, change the drop-down to v900.</p> <p><a href="http://lh6.ggpht.com/_Tx7hbgivN9E/S8ddKfRNz5I/AAAAAAAAAJc/ZRopvYyPS3c/s1600-h/platformtoolset%5B3%5D.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="platformtoolset" border="0" alt="platformtoolset" src="http://lh3.ggpht.com/_Tx7hbgivN9E/S8ddKxDAWYI/AAAAAAAAAJg/xesIYpK4i3w/platformtoolset_thumb%5B1%5D.jpg?imgmax=800" width="644" height="290" /></a> </p> <p>What is going on under the hood is that the PATH, BIN, and LIB directories for Visual Studio 2008 will be used by MSBuild for any project with the Toolset property set to v900 - just as if you were building the project directly from Visual Studio 2008.</p> <p>This setting looks like it will mitigate a lot of upgrade pain.  </p> <p>If you would like to know more about the Platform Toolset, <a href="http://mariusbancila.ro/blog/2010/03/17/visual-studio-2010-changes-for-vc-part-1/">here's a pointer to an article by one of the developers who created this feature</a>. </p> Ian Goodsellhttp://www.blogger.com/profile/13391180911942777542noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-80550359713905907592010-02-24T12:25:00.002-05:002015-12-17T21:56:33.217-05:00Build Breaker!One of the most noticeable features of the team room I work in is the traffic light which reports the status of our <a href="http://en.wikipedia.org/wiki/Continuous_integration">Continuous Integration</a> builds. We really like it when the light is green. However, what happens when one of the builds is broken and the light is red? You can immediately tell there is a problem, but don't have any visual cue that anyone is working to fix it. <br />
At past jobs, I've seen a highly-visible token of some sort used for this purpose, developers working on a critical fix would put something on their desk to indicate that someone is working on the problem.<br />
On Monday, our <a href="http://en.wikipedia.org/wiki/Scrum_master#Characteristics">scrum master</a> presented the team with the best token I've seen to date; I'll let the picture of it speak for itself.<br />
<a href="http://lh5.ggpht.com/_Tx7hbgivN9E/S4VhCY5C5NI/AAAAAAAAAI8/uEgyeUODmdk/s1600-h/100_0200%20%28Small%29%5B6%5D.jpg"><img alt="100_0200 (Small)" border="0" src="http://lh5.ggpht.com/_Tx7hbgivN9E/S4VhC9V4gdI/AAAAAAAAAJA/Vf_1F3S3juA/100_0200%20%28Small%29_thumb%5B4%5D.jpg?imgmax=800" height="200" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="100_0200 (Small)" width="260" /></a> <br />
Congratulations, Phil - for being the first bearer of our stylish build-break hat!Ian Goodsellhttp://www.blogger.com/profile/13391180911942777542noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-79497446473465409682010-01-27T19:54:00.001-05:002015-12-17T21:56:48.190-05:00Pair Programming - when your pair is 20 miles away?I am working at home today, my furnace broke last night and I am waiting for a plumber to get the part he needs to fix it. However, our team is in the middle of a <a href="http://en.wikipedia.org/wiki/Sprint_(scrum)">sprint</a> and I need to get work done on a number of tasks I was planning on doing with another member of the team in a <a href="http://en.wikipedia.org/wiki/Pair_programming">pair programming</a> exercise. What's a 21st century developer to do? Enable himself with collaboration tools!<br />
This morning, we set up a online meeting, and shared one of our screens. I was fortunate enough to have a VOIP headset, so I was comfortably able to be on a long phone call without having to take my hands off the keyboard. <br />
Much to my surprise, this arrangement worked out better than I could have ever imagined. We have both been working away on our task without any loss of productivity - actually even having a minor productivity <em>gain</em> when we needed to run the same test in another development environment to compare the results of our changes versus the baseline and all I had to do was click a button to share <em>my</em> screen - allowing us to work on another system without having to move.<br />
I am amazed that technologies such as Remote Desktop Connection, VPNs, and IP telephony have matured to a point that allows me to pair program with someone in another office almost better than if I was sitting next to him. These tools certainly help out in cases like this, when someone is forced to stay at home unexpectedly.Ian Goodsellhttp://www.blogger.com/profile/13391180911942777542noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-29293719758471468772010-01-27T00:29:00.001-05:002012-05-29T16:01:31.978-04:00More Adventures in Home Owning<p>I come home tonight and the furnace isn't working. I troubleshoot: you know, make sure the switches are on, water level in the boiler isn’t too low, etc.  Everything seems ok, but it appears that there is no power going to the electric low water cutoff. So I call the oil company and tell them what I did. </p> <p>On the phone, he has me put a multimeter on the leads of the high-pressure controller, one at a time. I tell him the readings, and he tells me, "you see that curly pipe coming out of the bottom of it?  Hit it with your hand as hard as you can." Furnace turns on. He says "I'll be by in the morning to blow out the gunk."  </p> <p>Why didn't I learn a trade?  If I had a time machine, I would go back and give 20 year old Ian a slap and tell him to become a plumber.</p> Ian Goodsellhttp://www.blogger.com/profile/13391180911942777542noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-58156922720246525122010-01-25T12:27:00.001-05:002015-12-17T21:55:41.031-05:00No Global Warming… Really?I still can’t believe I’m seeing this on my desktop gadget:<br />
<a href="http://lh3.ggpht.com/_Tx7hbgivN9E/S13UfP2xO-I/AAAAAAAAAIw/S9O5Fl4_Vc4/s1600-h/image%5B4%5D.png"><img alt="image" border="0" src="http://lh5.ggpht.com/_Tx7hbgivN9E/S13UfY3mlmI/AAAAAAAAAI0/oOc96YTmMp4/image_thumb%5B7%5D.png?imgmax=800" height="93" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="155" /></a> <br />
It’s JANUARY!!! When did I move to North Carolina?Ian Goodsellhttp://www.blogger.com/profile/13391180911942777542noreply@blogger.com0tag:blogger.com,1999:blog-10589132.post-52526752269292540532010-01-19T09:49:00.001-05:002012-05-29T16:01:58.591-04:00Who would have thought Massachusetts was a battleground state?<p>Now I know what my friends in New Hampshire go through every four years.  The campaign ads are everywhere, even seeping into work emails.  For example:</p> <p> </p> <p><font face="Lucida Console"><strong>To</strong>: DevTeam</font></p> <p><font face="Lucida Console"><strong>Subject</strong>: Voting today</font></p> <p><font face="Lucida Console">So I will be late for this morning’s standup. (“Scott Brown made me late for the standup.”)</font></p> <p> </p> <p>So, my fellow Bay Staters, whatever your political leanings are, go out and vote today! Who knows when your vote could actually make a difference again?</p> Ian Goodsellhttp://www.blogger.com/profile/13391180911942777542noreply@blogger.com0