<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://www.worthwelle.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://www.worthwelle.com/" rel="alternate" type="text/html" hreflang="en-US" /><updated>2026-02-24T20:59:52+00:00</updated><id>https://www.worthwelle.com/feed.xml</id><title type="html">Worthwelle IT Services</title><subtitle>Worthwelle IT Services is a passionate and dedicated computer repair company in San Diego, specializing in home &amp;amp; business IT consulting.
</subtitle><author><name>Worthwelle IT Services</name></author><entry><title type="html">What is a software bug?</title><link href="https://www.worthwelle.com/2019/11/what-are-software-bugs.html" rel="alternate" type="text/html" title="What is a software bug?" /><published>2019-11-19T00:00:00+00:00</published><updated>2019-11-19T00:00:00+00:00</updated><id>https://www.worthwelle.com/2019/11/what-are-software-bugs</id><content type="html" xml:base="https://www.worthwelle.com/2019/11/what-are-software-bugs.html"><![CDATA[<blockquote>
  <p>It has been just so in all of my inventions. The first step is an intuition, and comes with a burst, then difficulties arise—this thing gives out and [it is] then that “Bugs”—as such little faults and difficulties are called—show themselves and months of intense watching, study and labor are requisite before commercial success or failure is certainly reached.</p>

  <p>— Thomas Edison</p>
</blockquote>

<p>A software bug, usually referred to just as a “bug”, is an unexpected behavior or result in a piece of software.</p>

<p>The term “bug” has been around since before computer software and may have been coined by Thomas Edison.<sup id="fnref:ieee_edison_bug" role="doc-noteref"><a href="#fn:ieee_edison_bug" class="footnote" rel="footnote">1</a></sup> The word spread into common use by hardware and electrical engineers. From there it was adopted by software engineers.</p>

<p>It’s unclear where exactly the word comes from. It is thought to derive from the Middle English word <em>bugge</em>, which referred to a monster.</p>

<p>Some examples of bugs include…</p>

<p><strong>The Y2K bug</strong></p>

<p>The “Y2K bug” is probably the most well-known and widely-reported software bug. Since early computers had resources, programmers decided to save space by reducing the year down to two digits. The year 1999 was represented as 99 instead of the full four digits. When the new millennium came around, this created ambiguity in any software written to store the year this way.</p>

<p>Any calculations done between the current year and a year in the past would return a negative number. <code class="language-plaintext highlighter-rouge">2001</code> would be stored as <code class="language-plaintext highlighter-rouge">01</code> and <code class="language-plaintext highlighter-rouge">1999</code> would be stored as <code class="language-plaintext highlighter-rouge">99</code>, so <code class="language-plaintext highlighter-rouge">1 - 99</code> would return <code class="language-plaintext highlighter-rouge">-98</code>. Since this calculation was expected to be positive in these software, they could do any number of unexpected things.</p>

<p><strong>The F-16 bug</strong></p>

<p>Another popular bug was discovered during development of the F-16 fighter.<sup id="fnref:chicagotrib_f16" role="doc-noteref"><a href="#fn:chicagotrib_f16" class="footnote" rel="footnote">2</a></sup> The F-16 was the first production aircraft to use a fly-by-wire flight control system. This system replaced manual flight controls with computers to control movement. This system was also used to help correct for some dangerous maneuvers a pilot might make in flight.</p>

<p>In the northern hemisphere latitudes are positive numbers, but in the southern hemisphere they are negative numbers. The fly-by-wire software in the F-16 reportedly was not prepared for negative latitudes. This, for some reason, caused the airplane to flip upside down when it crossed the equator. The flip was bad enough that the forces exerted on the pilot were strong enough to kill.</p>

<p>Thankfully this bug was discovered in simulations<sup id="fnref:risksdig_f16" role="doc-noteref"><a href="#fn:risksdig_f16" class="footnote" rel="footnote">3</a></sup> and it was fixed before it went to production.</p>

<h2 id="where-do-bugs-come-from">Where do bugs come from?</h2>

<p>When programmers create a piece of software, they do so using what’s called a programming language. There are many of these languages, each with a focus on specific types of development. The general purpose for them is the same: the language allows a programmer to give instructions to the computer.</p>

<p>Just as we sometimes have miscommunications when we talk to people, sometimes there is a miscommunication between a programmer and a computer. As with people, this is often a result of misused punctuation. Punctuation is used to give structure to the instructions that the computer has to follow.</p>

<p>If you use a parenthesis to write an aside to a colleague, but forget to close the aside with the closing parenthesis, they will likely still understand your message. Computers, however, need to read instructions literally. When something is written ambiguously, they’re not able to resolve the ambiguity intelligently.</p>

<p>As software becomes more complex, it also becomes more likely that a programmer will make a mistake when trying to implement a complicated system. It’s easy to forget outliers or exceptions when trying to break a system down.</p>

<p>A recent example of this is Uber’s self-driving capability, which was not designed to see jaywalkers.<sup id="fnref:bloomberg_uber" role="doc-noteref"><a href="#fn:bloomberg_uber" class="footnote" rel="footnote">4</a></sup> That is, it was designed to look out for pedestrians in crosswalks and stop if one was found. Since jaywalking is not legal in the US, it is likely that the designers behind the system did not consider the possibility of someone doing such a thing because they don’t often see it in their own lives.</p>

<h2 id="how-do-we-find-bugs">How do we find bugs?</h2>

<p>As with any field, conventions and best practices are constantly changing. The way that computer code is written has changed a lot over the years. Currently, it is considered best to break code down into small pieces. Each of these pieces is responsible for a single task. These pieces are then used and reused wherever it is necessary.</p>

<p>This can be compared to a factory: if you’re building a chair, you’re not going to build a different machine for each leg. Each machine would inevitably end up with its own quirks and the maintenance costs would also be higher. If you were at the end of the assembly line and received a chair missing a leg, you would then have to spend time figuring out which machine caused the problem before you could even begin to figure out what the problem <em>was</em>.</p>

<p>This same principle exists in computer code. If you realize that the code that shows a message to the user has a bug, you don’t want to have to fix this in every place where a message is likely to be shown. Instead you put this code in one place and only refer to it each time you want to show an error message. When you then have to fix a bug, you only fix it once.</p>

<p>In order to find bugs, software engineers will generally write one or more automated tests for each of these small pieces of code. The tests will give a variety of test inputs and verify that there are no errors and the output is what is expected. These tests run every time that the software is built to ensure that everything is running as expected.</p>

<p>Naturally, if software engineers are required to think of all the possible inputs, it is inevitable that a possible input will be missed in these tests. At that point, it is the responsibility of the technical support department to pass error reports from software users on to the software engineers so that these tests can be updated.</p>

<hr />

<p>Understanding not only what software bugs are, but also how to find them is becoming increasingly important as software gets more complex. Hospitals, emergency response, banks, airplanes and cars are only a few examples of places where software is used to control vital processes and can save lives. If the software doesn’t work as intended, it could ruin those lives instead.</p>

<hr />

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:ieee_edison_bug" role="doc-endnote">
      <p>Magoun, Alexander B. and Israel, Paul. (2013-08-01). <a href="https://spectrum.ieee.org/the-institute/ieee-history/did-you-know-edison-coined-the-term-bug">“Did You Know? Edison Coined the Term “Bug””</a>. Retrieved July 19, 2019. <a href="#fnref:ieee_edison_bug" class="reversefootnote" role="doc-backlink">⤴</a></p>
    </li>
    <li id="fn:chicagotrib_f16" role="doc-endnote">
      <p>Van, Jon. (1986-12-14). <a href="https://www.chicagotribune.com/news/ct-xpm-1986-12-14-8604030475-story.html">“Software Bugs Turning Deadly In Complex Era”</a>. Chicago Tribune. Retrieved November 19, 2019. <a href="#fnref:chicagotrib_f16" class="reversefootnote" role="doc-backlink">⤴</a></p>
    </li>
    <li id="fn:risksdig_f16" role="doc-endnote">
      <p>Peter G. Neumann. (August 14, 1986). <a href="http://catless.ncl.ac.uk/Risks/3.44.html#subj1">“F-16 Problems (from Usenet net.aviation)”</a>. The RISKS Digest. <strong>3</strong> (44). August 14, 1986. Retrieved November 19, 2019. <a href="#fnref:risksdig_f16" class="reversefootnote" role="doc-backlink">⤴</a></p>
    </li>
    <li id="fn:bloomberg_uber" role="doc-endnote">
      <p>Benne, Ryan and Levin, Alan. (2019-11-05). <a href="https://www.bloomberg.com/news/articles/2019-11-05/self-driving-uber-in-crash-wasn-t-programmed-to-spot-jaywalkers">“Self-Driving Uber in Crash Wasn’t Designed to See Jaywalkers”</a>. Bloomberg. Retrieved on 2019-11-19. <a href="#fnref:bloomberg_uber" class="reversefootnote" role="doc-backlink">⤴</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Worthwelle IT Services</name></author><category term="Jargon" /><category term="Software" /><category term="bugs" /><category term="programming" /><summary type="html"><![CDATA[A software bug, usually referred to just as a "bug", is an unexpected behavior or result in a piece of software.]]></summary></entry><entry><title type="html">What is the XY problem?</title><link href="https://www.worthwelle.com/2018/12/what-is-the-xy-problem.html" rel="alternate" type="text/html" title="What is the XY problem?" /><published>2018-12-05T00:00:00+00:00</published><updated>2018-12-05T00:00:00+00:00</updated><id>https://www.worthwelle.com/2018/12/what-is-the-xy-problem</id><content type="html" xml:base="https://www.worthwelle.com/2018/12/what-is-the-xy-problem.html"><![CDATA[<p>Whether they know it by name or not, most people who have worked in the customer service industry are likely familiar with the XY problem. When it comes to troubleshooting an issue for a customer, it is important to be aware of this phenomenon and be able to identify it when it is happening.
<!--more--></p>

<h2 id="the-xy-problem">The XY problem</h2>

<p>Let’s use a simple example:</p>

<blockquote>
  <p>John has decided he wants to grow a garden in his back yard, but after months of trial and error with various plants, he has had nothing to show for his effort.</p>

  <p>After researching the problem on the Internet, he has decided that the issue is that his plants are not getting enough water. Since he has a large back yard and the plants are far away from the spigot attached to his house, he decides to take two hoses and duct tape them together in order to reach.</p>

  <p>After about a week of this, the duct tape falls off and John decides to ask his friend Susan for some help. Susan has been tending her own garden and the gardens of some neighbors for a few years. Susan and John don’t see each other often, so Susan is unaware of John’s efforts at growing a garden.</p>

  <p>“What is the best way to attach two hoses together?” John asks Susan over coffee one day.</p>

  <p>After an hour of back and forth about the type of hose, what he was using to attach them, how long he needs the hose to be and materials that could do the job, John has found a solution and returns home.</p>

  <p>Over the next few months, John repeatedly forgets to water his plants because of stress at work. The plants still fail to flourish.</p>
</blockquote>

<p>In the XY problem, the <code class="language-plaintext highlighter-rouge">X</code> is a stand in for the original problem that a person is trying to solve and the <code class="language-plaintext highlighter-rouge">Y</code> is a stand in for the solution that they have decided will fix their problem. The XY problem rears its head when there is a problem in implementing solution <code class="language-plaintext highlighter-rouge">Y</code>.</p>

<p>In this case:</p>

<ul>
  <li>Problem <code class="language-plaintext highlighter-rouge">X</code> is: the plants are not getting enough water.</li>
  <li>Solution <code class="language-plaintext highlighter-rouge">Y</code> is: a long enough hose would be able to bring water to the plants.</li>
  <li>The XY Problem is: there isn’t a long enough hose, so two hoses need to be joined to make a longer one.</li>
</ul>

<p>An experienced gardener like Susan may have figured out right away that the most efficient solution to problem <code class="language-plaintext highlighter-rouge">X</code> is to install a watering system with a timer. Unfortunately, John failed to mention his issue with his plants at all, so Susan didn’t have enough context to realize that John’s problem with the hoses was an XY problem.</p>

<p>John’s problem may seem overly contrived to some. When a person is first starting out in a new area of study, there are many things that they don’t know. There are also many things that they don’t realize they don’t know.</p>

<h2 id="why-the-xy-problem-is-a-problem">Why the XY problem is a problem</h2>

<p>The XY problem can be extremely frustrating for many reasons:</p>

<ul>
  <li>John wasted months of time during which he could be enjoying healthy plants and a relaxing hobby of caring for those plans.</li>
  <li>Replacing dead plants cost John money that he could have spent on other tools for his new hobby.</li>
  <li>John and Susan could have spent their time over coffee catching up instead of wasting time and energy over a problem that didn’t need solving.</li>
  <li>John and Susan would still need to solve the real problem later, spending more time and energy.</li>
</ul>

<p>Sometimes, solutions to XY problems can be a great way to learn about things or they might be referenced to solve problems in the future. However, this is generally the exception and not the rule.</p>

<h2 id="how-to-work-around-the-xy-problem">How to work around the XY problem</h2>

<p>The best way to avoid wasting time and energy on solving a problem is to give the proper context. It is far more cost-effective to spend a little more time describing the problem than to solve the problem only to have to solve another problem in the future.</p>

<p>When you ask someone for help, keep these things in mind:</p>

<ul>
  <li>Before asking your question, accept that your original premise might be wrong. That’s OK.</li>
  <li>Explain the broader picture. Why do you need a longer hose? What will you be doing with the hose?</li>
  <li>Be open to answering questions about your issue and provide details.</li>
  <li>List other solutions you have already tried and why they were not suitable.</li>
</ul>

<p>When you are trying to provide help to someone:</p>

<ul>
  <li>Ask for the broader picture.</li>
  <li>Ask probing questions.</li>
  <li>Explain your questions. The asker may not understand the subject matter enough to understand how your questions are relevant.</li>
  <li>Ask what other solutions the asker has tried.</li>
</ul>

<h2 id="how-the-xy-problem-is-relevant-to-computers">How the XY problem is relevant to computers</h2>

<p>Computers are both simple and complex machines. They’re simple in that they do exactly what you tell them to. The complexity comes from understanding how your instructions are interpreted and how instructions interact with each other.</p>

<p>Some examples include:</p>

<p>The issues caused by applications that don’t allocate their resources properly are the reason for the dreaded question: <a href="//2018/05/why-should-i-turn-it-off-and-on-again.html">“Have you tried turning it off and on again?”</a> The symptoms of improper resource allocation are varied and often difficult to narrow down, so knowing that a lot of documents are open or the computer has been on for a long time is important.</p>

<p>There are many applications available for fixing slow computers by “fixing registry errors”. More often than not they cause more problems than they solve. These applications don’t bother with understanding the context of the issue and go straight into solving whatever “issues” they find. Since the Windows Registry is a complex set of interacting configurations, removing something that seems innocuous can have larger consequences down the road.</p>]]></content><author><name>Worthwelle IT Services</name></author><category term="Basics" /><category term="Philosophy" /><summary type="html"><![CDATA[Whether they know it by name or not, most people who have worked in the customer service industry are likely familiar with the XY problem. When it comes to troubleshooting an issue for a customer, it is important to be aware of this phenomenon and be able to identify it when it is happening.]]></summary></entry><entry><title type="html">Why should I turn it off and on again?</title><link href="https://www.worthwelle.com/2018/05/why-should-i-turn-it-off-and-on-again.html" rel="alternate" type="text/html" title="Why should I turn it off and on again?" /><published>2018-05-22T00:00:00+00:00</published><updated>2018-05-22T00:00:00+00:00</updated><id>https://www.worthwelle.com/2018/05/why-should-i-turn-it-off-and-on-again</id><content type="html" xml:base="https://www.worthwelle.com/2018/05/why-should-i-turn-it-off-and-on-again.html"><![CDATA[<p>A common complaint that we hear is that computers begin to run slower and slower over time. There are many possible reasons for this, but about half of the issues that we see can be resolved by a simple restart.</p>

<h2 id="why">Why?</h2>

<p>One potential reason is that there tend to be a lot of applications running in the background, taking up resources.</p>

<p>Most applications are fairly simple: they run when you click on them and stop when you close them. However, some (such as office suites) have background processes that run even when the software isn’t open. The intent is to make it faster for you to open software that you use very often. By loading some important portions of the software ahead of time, Word or Acrobat can load much more quickly.</p>

<p><em>Restarting can help to fix issues with all of your electronic devices, not just your computer.</em></p>

<h2 id="how">How?</h2>

<p>You might be wondering how this can be a bad thing. Generally speaking, it isn’t, but applications are imperfect systems designed by imperfect people. One common issue we find in many applications is what is referred to as a “memory leak”. This means that the application loads functions it needs, but doesn’t always correctly unload them and starts to hog more and more resources over time.</p>

<p>As your computer runs out of resources, it can start doing some very odd things. This has lead to one of the most maligned phrases in the IT support industry: “Have you tried turning it off and on again?” Restarting your computer is a great way to clear out all of the resources that have been claimed by whatever applications are running in the background. This is an easy and often surprising fix for some of the strangest computer issues.</p>

<p><em>Find out how shutting down your computer is different from putting it into sleep or hibernate mode here <a href="//2018/05/3-ways-to-turn-off-your-computer-and-what-they-really-do.html">here</a>.</em></p>

<h2 id="when">When?</h2>

<p>Ideally, you should turn off your computer every evening, but we don’t live in an ideal world. Sometimes we need to let something run overnight. Other times the computer is slow to start and so we leave it running.</p>

<p>We strongly advise that you restart your computer at least once every week to fix the issues mentioned in this article. If you need to make sure the computer is ready for the next morning, restart the computer before you go to bed, then use <a href="//2018/05/3-ways-to-turn-off-your-computer-and-what-they-really-do.html">sleep or hibernate mode</a> to save some power.</p>

<p>If you notice that you’re having to restart your computer more  and more frequently, it may be a sign of a much bigger issue. It is difficult to say how often is too often. If you’re having trouble figuring out what is causing the slowness, feel free to reach out to us for a remote diagnosis.</p>]]></content><author><name>Worthwelle IT Services</name></author><category term="Basics" /><summary type="html"><![CDATA[A common complaint that we hear is that computers begin to run slower and slower over time. There are many possible reasons for this, but about half of the issues that we see can be resolved by a simple restart.]]></summary></entry><entry><title type="html">3 ways to turn off your computer and what they really do</title><link href="https://www.worthwelle.com/2018/05/3-ways-to-turn-off-your-computer-and-what-they-really-do.html" rel="alternate" type="text/html" title="3 ways to turn off your computer and what they really do" /><published>2018-05-01T00:00:00+00:00</published><updated>2018-05-01T00:00:00+00:00</updated><id>https://www.worthwelle.com/2018/05/3-ways-to-turn-off-your-computer-and-what-they-really-do</id><content type="html" xml:base="https://www.worthwelle.com/2018/05/3-ways-to-turn-off-your-computer-and-what-they-really-do.html"><![CDATA[<p>When computer users think about the actions that they do the most often with their computers, they rarely include a very important action that most people do every single day. Turning their computer off.
<!--more--></p>

<p>Electronics are becoming more and more vital to every day life and turning these electronics off is an important part in ensuring that they will not only continue to function, but also that they will function the way that we expect.</p>

<p><em>Find out why this is true <a href="//2018/05/why-should-i-turn-it-off-and-on-again.html">here</a>.</em></p>

<p>Before we dive into the different ways that we can turn off our devices, let’s clear up one bit of terminology. A term commonly used when discussing computers is <strong>memory</strong>. There are two possible meanings for this term as used by your average computer user.</p>

<h3 id="hard-drive-storage">Hard drive storage</h3>

<p>When referring to memory, some of our customers are actually referring to hard drive storage. The computer uses this type of memory to store your documents, pictures, music and other files. This is “permanent” storage. The documents will be there until you delete them. Modern computers will have in the range of 500 gigabytes to several terabytes of hard drive storage.</p>

<h3 id="random-access-memory-ram">Random Access Memory (RAM)</h3>

<p>The second type of memory is called Random Access Memory. Most technicians and stores will simply call this memory or RAM. This type of memory is much faster than hard drive storage, but doesn’t retain information after shutdown. The computer uses it to temporarily store a variety of things so that your computer can access information very quickly.</p>

<p>When an application first starts up, a lot of the information that it needs to function is stored in RAM. RAM is not generally directly accessible to the person using the computer.</p>

<p>This is “temporary” storage. Anything stored here will be gone when the computer is turned off or loses power. That document or email that you’re writing but haven’t saved yet is stored here until you press the save button. Modern computers will have in the range of 4 to 16 gigabytes of RAM.</p>

<h2 id="1-sleep-mode">1. Sleep mode</h2>

<p>We live in a fast paced world. Many of us need our electronics on and functioning in order to produce, communicate and manage. The companies that create the software that give our electronics life have recognized this. Sleep mode is the de facto standard for turning off our computers.</p>

<p>The computer doesn’t truly turn off in sleep mode. It turns off the monitor and many other non-essential things. RAM, the fan and the hard drive will remain on in order to retain information needed to quickly restore the computer. Because of this, sleep mode requires power, whether from a battery or a power cord.</p>

<p>When you press the power button, everything is restored very quickly. The software that was already running before you used sleep mode can skip all of the things it normally has to do when it starts. It already has all of the information it needs in RAM.</p>

<p>Sleep mode does not count as “turning it off and on again”. Many of the issues solved by restarting your computer are solved because the RAM is cleared.</p>

<p>You should also not carry a computer in sleep mode in an enclosed space like a suitcase or backpack. The fan will not be able to keep the RAM from overheating.</p>

<p>Because the hard drive stays in a rest position but does not completely power down, it is important to handle the computer as if it were still on. A hard bump could damage the disk or cause other issues.</p>

<h2 id="2-hibernation">2. Hibernation</h2>

<p>Hibernation is the second fastest way to turn off your computer. It’s a combination of sleep mode and shutdown and doesn’t require any power. Hibernation is ideal for keeping any unsaved work while still completely turning off the power.</p>

<p>Hibernation is a slower process than sleep mode. During the hibernation process, the computer takes all of the information in RAM and saves it to the hard drive. Once the computer is started back up, it will take the information from the hard drive and put it back into RAM.</p>

<p>Much like sleep mode, hibernation also does not count as “turning it off and on again”. In order to clear RAM, the computer needs to be shutdown or restarted.</p>

<p>A computer in hibernation is completely off. It can be stored the same way as a computer that was turned off using the shutdown method.</p>

<h2 id="3-shutdown">3. Shutdown</h2>

<p>Shutdown is the third and most important way to turn off your computer. This is the only one of the three options that will help you when troubleshooting issues. When performing a proper shutdown, all of the applications you have open on your computer will close as intended.</p>

<p>When you turn your computer on after a shutdown, the computer will start normally. It will run any application slated to start on a normal start and any application you load will start from a clean slate.</p>

<hr />

<p>Some modern devices don’t have an option to hibernate or sleep and others have these options disabled by default. If you have trouble finding these options, feel free to contact us for help.</p>]]></content><author><name>Worthwelle IT Services</name></author><category term="Basics" /><summary type="html"><![CDATA[When computer users think about the actions that they do the most often with their computers, they rarely include a very important action that most people do every single day. Turning their computer off.]]></summary></entry></feed>