Justin A. Parr - Technologist

Technology, Strategy, Insights, and Tech Support

  • HOME
  • Quick Facts
  • CygUlarn Win32
  • About Me

An Algorithm for Arbitrary Precision Integer Division

Posted by Justin A. Parr on January 16, 2015
Posted in: Analyses and Responses, Tech Support. 4 comments

I was working on a project that required simple arithmetic for very large integers, a set of algorithms called “Arbitrary Precision Math”.

Thinking back to elementary school, simple algorithms exist for addition, subtraction, and multiplication of two numbers with any number of digits.

To my surprise, every algorithm for division either relies on logarithms, which are difficult to implement in arbitrary precision, or the first instruction was “guess the first number, then guess the second number” etc…

Update: 10/2015:  I’ve put together a YouTube video for this post.  Check it out, here:

 

Read on, for a simple, reliable, repeatable algorithm for dividing integers of any length.

 

Continue Reading

Common Website Design Mistakes

Posted by Justin A. Parr on January 12, 2015
Posted in: Analyses and Responses. Leave a Comment

Most professionally-developed websites are simple, fast, and easy to use.

However, there is nothing in the world more frustrating than a website or web application that is poorly-designed or hard to use.

Here are some common mistakes that Web Designers might not think about, but make a huge impact to the customer

 

Continue Reading

Deconstructing the Mayan Doomsday Prophecy

Posted by Justin A. Parr on January 10, 2015
Posted in: Math and Science, The Light Side. Leave a Comment

This dates back to 2012, but it’s still worth a read…

Math disproves the Mayans….

 

Continue Reading

Elliptical Distribution Curve

Posted by Justin A. Parr on January 8, 2015
Posted in: Analyses and Responses. Leave a Comment

How to guestimate peak volume, and volume at any arbitrary time using total volume with an elliptical distribution curve.

Someone says, “we have 10,000 hits per day on our website”, but what does that mean from an instantaneous demand standpoint?

A distribution curve can help you figure that out.

 

Continue Reading

How to Set Up A New Windows PC or Laptop

Posted by Justin A. Parr on January 7, 2015
Posted in: Tech Support. 2 comments

You just bought a nice new Windows PC or Laptop!

…NOW what do you do?

I get this question all the time – what are the best practices I should follow, when I purchase a new PC or laptop?

 

Continue Reading

My Take on Coffee

Posted by Justin A. Parr on January 2, 2015
Posted in: The Light Side. 3 comments

My Take on Coffee

 

I posted a comment on a website about Keurig K-Cup coffee makers, and I’ve had a constant stream of nitwits trying to argue with me, ever since.

My thesis was that, after having resisted buying a K-Cup machine for about 10 years, my wife finally bought one, and I find that it fits my lifestyle much better than a traditional carafe-based coffee maker.

 

Continue Reading

How to Prevent DoS / DDoS Attacks (Sony and Microsoft: Please Pay Attention)

Posted by Justin A. Parr on December 28, 2014
Posted in: Analyses and Responses. 2 comments

Denial of Service (DoS) attacks took down both Sony’s Playstation Network (PSN) and Microsoft’s XBox Live (XBL) on Christmas day – turning the joy of Christmas in to frustration and disappointment for anyone who received a new game for Christmas.  As of 12/26, XBox was largely restored, while Playstation was still at least partially offline, with PS3 access intermittent at best, the Playstation Network website “unavailable due to scheduled maintenance”, and PS4 access completely unavailable.

Knowing in advance that threats had been made of a DoS attack on Christmas day, both companies had plenty of time to prepare, yet they either chose to ignore the threats or take insufficient precautions, leaving their staff scrambling, and their customers frustrated.

Here is a simple method that could have been used to prevent the whole fiasco.

 

Continue Reading

Justinism: 80/20 Rule

Posted by Justin A. Parr on December 14, 2014
Posted in: Justinisms. Leave a Comment

I certainly didn’t make up the concept of the 80/20 rule, but I use it quite often!

 

At a high level, 20% of any group requires 80% of the effort or resources, while 80% of the group require only 20% of the effort or resources.

 

Some examples where the 80/20 rule is useful:

  • If you are migrating data, such as e-mail, 20% of the users will consume 80% of the space.  Forcing everyone to trim down their mailbox to a fixed size BEFORE the migration might make the migration go significantly faster!
  • If you are migrating a group, identify the people that will require additional effort up front, and save them for last.  This allows you to charge through the majority of the project quickly, applying lessons-learned to the more complex or effort-intensive people toward the end.

 

From a management perspective, it’s often difficult to obtain consensus or approval for a new policy, because someone invariably points out the exceptions.

Create policies and rules that easily apply to the 80%, with a simple exception process or alternative for the 20%.   Demonstrating how the policy will be applied, and having the exception process defined up front makes it a no-brainer for stakeholders to buy in to your approach.

For example, let’s say that you want to set a mailbox size limit, to try to make sure people don’t use e-mail as a filing system, and thus maximize your Return On Investment for the mail server hardware.

If you pick a number at the 80% mark, let’s say that 80% of all of your mailboxes are less than 500 meg, the problem is that your key stakeholders may be the ones whose mailboxes exceed that size today!

Conversely, if you pick a size LARGER than all of your current mailboxes, for example, let’s say that all of your mailboxes are less than 2 gig (each), setting the limit at 2 gig is ultimately ineffective.  Everyone can store up to 2 gig of stuff.

A better approach is to set an initial limit at 500 meg, with a built-in exception for the 20%.  Create a policy where the user must seek additional approval, or their cost center will be charged a utility cost in order to go above 500 meg.  This allows for flexibility to go outside the policy, where there is a valid justification or business need, while expressing a general limit that covers most cases.

Although this is a good hypothetical example, it’s somewhat dated.  For e-mail, I specifically recommend the following:

  • You should purge e-mail at 6 months, for legal purposes.  Any e-mail that exists on backup tapes or mailboxes where someone is storing every message since 2003 creates some level of risk that these could be subpoena’d in the event of a lawsuit or criminal proceedings.  If the e-mail simply doesn’t exist, it can’t be subpoena’d.  The 6 month time limit also tends to keep mailbox sizes under control.
  • Storage is cheap.  From a business standpoint, using quotas to force people to juggle their data around means that they will either store it somewhere else, that they will waste company time and resources shuffling it around, or they will seek outside services WITHOUT narrow limits, such as Yahoo or Google mail.  In the long run, it’s better to provide extra storage if needed, making it easy, and encouraging people to use your services instead of seeking outside services.

 

Justinism: “Parking lot” problem

Posted by Justin A. Parr on December 14, 2014
Posted in: Justinisms. Leave a Comment

Solving some problems requires a detailed series of interdependent steps, or a careful arranging of resources at each step, in order to be successful.

 

There is a game, using blocks, called the “parking lot” puzzle.  You arrange the blocks on a board of fixed size, according to the layout depicted on one of many cards.  You slide each block in one direction at a time, without overlapping the blocks, to try to get a specific “car” (block) out of the parking lot.  Solving each challenge often requires a long series of well-planned steps in order to accomplish the goal.

 

Several situations, where there are limited resources or tight constraints, can become a “parking lot” problem:

  • Migrations involving leap-frogging servers or other resources.  Leap-frogging means that you migrate from server A to server B, freeing up server A to be used as the target of the next migration.
  • Many steps must be accomplished in a narrow window.
  • Sufficient people resources to staff a specified level of concurrency.
  • Specified number of migration windows, where multiple steps or specific work effort must be accomplished within each window.
  • Combinations of the above.

Sometimes, a goal-oriented approach, with detailed planning for resource allocation across multiple steps, is required in order to solve resource-constrained problems.

 

For “parking lot” problems, have a thorough and complete plan, detailing sequence, task assignments, and resource allocation.

 

Justinism: This is a “carrot and goat” problem.

Posted by Justin A. Parr on December 14, 2014
Posted in: Justinisms. Leave a Comment

Sometimes, the problem you end up needing to solve, is not the problem you set off to solve.

 

In the 80’s there was an adventure game (those of you who played it will recognize the description), where you needed to get in to the castle.  The castle had a moat with a bridge.  The bridge had a stubborn goat, that wouldn’t let you pass.  So, to get in to the castle, which is the ultimate objective, you have to go find a carrot to feed to the goat, to get the goat off the bridge, so you can cross the bridge, to get in to the castle, to win the game.

 

This Rube Goldberg approach to problem solving works well in video games, but is not practical nor effective in the business world.  Simple processes are usually more reliable and repeatable.

If the objective is in the castle, figure out how to get the carrot, goat, and bridge OFF the critical path.

Likewise, maybe whatever is in the castle can be sourced in another way, bypassing the whole problem.

This is my way of saying “simplify the problem“.

Posts navigation

← Older Entries
Newer Entries →
  • Search!

  • Temperature at Casa de Parr

  • Recent Posts

    • Javascript Text-tris
    • R.I.P Charlie Kirk
    • Bad Design – Dell Latitude 7450 Laptop…Thing
    • Security Cameras – A Double-Edged Sword
    • Top Reasons Why Vegas Sucks Now (2024 Visit)
    • Excel – Number of Sundays – A better Answer
    • Cache Busting using Javascript
    • Javascript Calculator
    • Gatetrilogy Saga: The Front Gate Part III, The Final Gate Opener
    • The Dangers of Old Code – A Cautionary Tale
  • Topics

    • Analyses and Responses (27)
    • Good Design – Bad Design (35)
    • IT Management (1)
    • Justinisms (8)
    • Main Page (1)
    • Math and Science (31)
      • Computer Science (1)
    • Other Stuff (40)
    • Quick Facts (7)
    • Rants (18)
    • Tech Support (61)
      • Food and Cooking (10)
      • Tech Recommendations (12)
      • Tech Tip (7)
      • Wordpress Stuff (3)
      • Zen Cart Stuff (1)
    • The Light Side (37)
  • Links

    Log in or Register to post comments

    RSS Feed
    https://justinparrtech.com/JustinParr-Tech/feed

    View my LinkedIn Profile
    http://www.linkedin.com/in/justinparr

    About Me
    Justin A. Parr

    Who is Jill Parr
    Find out here.

  • Older Posts

    • September 2025 (2)
    • August 2025 (1)
    • July 2025 (1)
    • June 2025 (1)
    • February 2025 (1)
    • August 2024 (1)
    • May 2023 (1)
    • April 2023 (3)
    • January 2023 (1)
    • December 2022 (2)
    • November 2022 (2)
    • September 2022 (1)
    • August 2022 (3)
    • June 2022 (2)
    • March 2022 (1)
    • January 2022 (2)
    • December 2021 (1)
    • July 2021 (1)
    • May 2021 (1)
    • March 2021 (1)
    • February 2021 (2)
    • November 2020 (4)
    • October 2020 (1)
    • September 2020 (1)
    • August 2020 (1)
    • July 2020 (1)
    • June 2020 (1)
    • May 2020 (2)
    • April 2020 (1)
    • March 2020 (8)
    • February 2020 (2)
    • January 2020 (1)
    • November 2019 (2)
    • August 2019 (3)
    • July 2019 (1)
    • June 2019 (1)
    • April 2019 (1)
    • February 2019 (3)
    • January 2019 (1)
    • December 2018 (1)
    • November 2018 (1)
    • October 2018 (2)
    • September 2018 (1)
    • August 2018 (2)
    • July 2018 (1)
    • June 2018 (1)
    • April 2018 (1)
    • February 2018 (2)
    • January 2018 (2)
    • December 2017 (1)
    • November 2017 (2)
    • August 2017 (2)
    • July 2017 (1)
    • March 2017 (1)
    • February 2017 (2)
    • January 2017 (1)
    • December 2016 (5)
    • November 2016 (3)
    • September 2016 (5)
    • August 2016 (2)
    • April 2016 (1)
    • March 2016 (3)
    • February 2016 (2)
    • January 2016 (7)
    • December 2015 (3)
    • November 2015 (1)
    • October 2015 (3)
    • August 2015 (5)
    • July 2015 (3)
    • June 2015 (2)
    • May 2015 (4)
    • April 2015 (4)
    • March 2015 (3)
    • February 2015 (4)
    • January 2015 (8)
    • December 2014 (8)
    • September 2014 (1)
    • August 2014 (1)
    • July 2014 (2)
    • June 2014 (4)
    • May 2014 (1)
    • April 2014 (2)
    • March 2014 (3)
    • February 2014 (5)
    • January 2014 (1)
    • December 2013 (2)
    • October 2013 (2)
    • July 2013 (3)
    • April 2013 (1)
    • October 2010 (1)
    • August 2010 (1)
    • July 2009 (1)
    • April 2009 (1)
    • November 2008 (1)
    • October 2008 (1)
    • September 2008 (1)
    • May 2008 (1)
    • March 2008 (1)
    • January 2008 (1)
    • June 2005 (1)
    • May 2005 (4)
Proudly powered by WordPress Theme: Parament by Automattic.