Geek Challenge Archives | DMC, Inc. https://www.dmcinfo.com/blog/category/culture/geek-challenge/ Tue, 23 Dec 2025 16:02:28 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.3 https://cdn.dmcinfo.com/wp-content/uploads/2025/04/17193803/site-icon-150x150.png Geek Challenge Archives | DMC, Inc. https://www.dmcinfo.com/blog/category/culture/geek-challenge/ 32 32 DMC to Present at the 2019 Siemens Automation Summit https://www.dmcinfo.com/blog/21840/dmc-to-present-at-the-2019-siemens-automation-summit/ Fri, 22 Mar 2019 13:26:23 +0000 https://www.dmcinfo.com/blog/21840/dmc-to-present-at-the-2019-siemens-automation-summit/ The annual Siemens Automation Summit was one of our most anticipated events each year, until the series was discontinued after 2019. It has since been replaced by the Realize LIVE event. The conference brought together fellow Siemens Solution Partners and hundreds of manufacturing professionals who use Siemens automation technologies. The 2019 Siemens Automation Summit was […]

The post DMC to Present at the 2019 Siemens Automation Summit appeared first on DMC, Inc..

]]>
The annual Siemens Automation Summit was one of our most anticipated events each year, until the series was discontinued after 2019. It has since been replaced by the Realize LIVE event. The conference brought together fellow Siemens Solution Partners and hundreds of manufacturing professionals who use Siemens automation technologies.

The 2019 Siemens Automation Summit was held from June 17 – 20 at the Gaylord Rockies Resort & Convention Center in Aurora, CO, near DMC’s Denver office

The Automation Summit featured over 50 user-led presentations and trainings sharing industry innovations and best practices. DMC is proud to deliver the following presentations at this year’s event.

If you’re attending the Automation Summit, stop by these sessions led by DMC!

Flexibility and Standardization Using Dynamic IO Addressing and Option Handling – David Berno
Date: Wednesday, June 19
Time: 1:00 PM
Room: Red Rock 7


Advanced manufacturing of the 21st century requires the ability to commission automated lines efficiently and to adapt to manufacturing changes with agility. The S7-1500 platform is ideally suited to meet these needs. 

This presentation will dive into solutions that DMC developed that fully leverage S7’s hardware and development flexibility to create efficient and agile manufacturing deployments. Our customer required a solution that allowed end users to create standard wiring schemes that could be updated in the field without programmers.

We will demonstrate how we achieved this using TIA Portal Extended Addressing instructions to dynamically update IO addresses used in program modules. Additionally, utilizing Option Handling we were able to create a standard program with a variety of hardware options that could be deployed quickly. Learn to leverage TIA Portal flexibility to create a better-standardized solution for your application.  

Auto Code Generation and Rapid Brewery/Distillery Automation – Ryan Landwehr
Date: Tuesday, June 18
Time: 10:00 AM
Room: Red Rock 7

The Siemens Brewing Template is a TIA Portal based auto code generation tool developed in conjunction with Siemens. This presentation will highlight the use of Openness, Simatic Visualization Architect (SiVArc), and S7 Graph to auto-generate and link control modules on a PLC and HMI. We will also elaborate on how to use these tools outside of the brewing world for any application.

Additionally, we will illustrate the full development cycle of a project, starting with a Microsoft Excel document and a global library, and finishing with a fully functional project. With over a year in operation, DMC will also discuss Brewing Template success stories such as the complete automation of a craft distillery in Dallas, TX. 

Multi-site WinCC 7 Development with Centralized Process Historian & Information Server – John Michael Frullo
Date: Wednesday, June 19
Time: 9:00 AM
Room: Red Rock 7


Developing a single SCADA application can be a time-consuming process. Expanding this effort across multiple plants nationwide with the desire for centralized data and reporting service can make this task even more daunting.

Luckily, with WinCC 7, we can take advantage of key features that facilitate the rapid development and standardization of projects across multiple locations. Additionally, the Process Historian and Information Server can be utilized for long-term data storage and automated reporting across all sites from a central location.

Come learn about the tools DMC used to modernize a client’s legacy SCADA into a multi-site WinCC 7 installation that collects information from a variety of PLCs, ranging from legacy TI-505’s and S7-300’s to modern S7-1200’s and S7-1500’s. This data is seamlessly passed through redundant servers and on to the central data storage and reporting center. See how these tools could help you with your next SCADA project! 

Dynamic and Scalable Systems Using WinCC OA – Leon Grossman
Date: Tuesday, June 18
Time: 3:00 PM
Room: Red Rock 9


Siemens WinCC OA provides an extremely flexible and scalable platform that is broadly applicable across industries, especially when scalability is a factor. We’ve used it for manufacturing, pharmaceutical, automotive, and, in this case, defense. RT&T operates the National RADAR Test Facility for the US Air Force.

The high-risk nature of this application requires both high availability and ease of diagnostics in case of system faults. These requirements utilized the system’s native redundancy and the strong customization capabilities of WinCC OA’s scripting language.

This solution utilizes reusable objects built on the new CTRL++ (object-oriented) development concepts released in the latest versions of WinCC OA along with tight integration to PLC data structures to create self-configuring objects to adapt as the system grows and changes. This allowed us to create a system that was easy to use but still contained rich information for the user. The new CTRL++ design allowed for modifying the visualization of objects while maintaining the same core scripting behind objects.

The mission-critical nature of the system required the use of WinCC OA’s redundancy feature to ensure that all test articles are secured properly even in the case of network or server issues. This redundancy even includes both servers operating independently in case of a catastrophic break in the network backbone. Finally, we were able to leverage the open connectivity of WinCC OA’s driver stack to integrate a holistic system with several different data sources and targets.

Finally, we were able to leverage the open connectivity of WinCC OA’s driver stack to integrate a holistic system with several different data sources and targets.

How to Take Your Siemens PLC to Industry 4.0 – James Condon
Date: Wednesday, June 19
Time: 4:00 PM
Room: Red Rock 8


Agri-Inject is a leading manufacturer of fertigation equipment whose clients have equipment that is spread across hundreds of square miles. Using S7-1200s DMC developed a solution that allows Agri-Inject’s PLCs to have monitoring and control from an end user’s computer or phone.

DMC was already familiar with IoT applications through our other service offerings, but we had not applied IoT principles to PLCs. We found that outside of PLCs that the MQTT protocol is lightweight and widely adopted by cloud solutions providers such as Microsoft Azure and Amazon Web Services. Siemens PLCs do not currently have a driver for bidirectional MQTT communication, but they do allow for custom TCP communication.

We wrote a MQTT driver to run on S7-1200 and S7-1500 PLCs that is capable of bidirectional communication with a centralized server. Agri-Inject’s S7-1200 PLCs are now capable of communicating over MQTT to a service hosted on Azure. Users of Agri-Inject’s system are capable of managing their equipment through an intuitive web page, which was also developed by DMC. This gives users of Agri-Inject’s equipment more time to focus on other tasks and puts Agri-Inject ahead of their competitors. The technology stack developed for Agri-Inject is extensible and has already been applied to other projects. We have also made the S7-1200/1500 MQTT driver publicly available.

We hope to see you at the Siemens Automation Summit in June!

Learn more about DMC’s partnership with Siemens. 

The post DMC to Present at the 2019 Siemens Automation Summit appeared first on DMC, Inc..

]]>
Geek Challenge: A Place in the Sun https://www.dmcinfo.com/blog/22736/geek-challenge-a-place-in-the-sun/ Fri, 31 Aug 2018 12:56:49 +0000 https://www.dmcinfo.com/blog/22736/geek-challenge-a-place-in-the-sun/ You are an engineer on site in Lebanon, Kansas. At sunrise on the vernal equinox, you hop in your hovercar and start driving directly toward the rising sun along the ground at a constant 60 mph. You continue driving in this way until the sun sets. What are your coordinates when you stop driving? Parameters […]

The post Geek Challenge: A Place in the Sun appeared first on DMC, Inc..

]]>
You are an engineer on site in Lebanon, Kansas. At sunrise on the vernal equinox, you hop in your hovercar and start driving directly toward the rising sun along the ground at a constant 60 mph. You continue driving in this way until the sun sets.

What are your coordinates when you stop driving?

Parameters
•    Coordinates of Lebanon, Kansas: 39°48′38″N 98°33′22″W
•    Vernal Equinox: September 22, 2018
•    Time of Sunrise: 7:22:43 am
•    Time of Sunset: 7:30:29 pm

Assumptions
•    You experience no change in elevation
•    Your hovercar has enough fuel to last the entire drive
 

Sun path
Sun trajectory (source)

Bonus Questions
1.    Is there any non-zero constant velocity for which you will end up where you started?
2.    How can your solution be generalized for different Latitudes and times of the year?

Remember to state any additional simplifying assumptions you use in solving this problem! 

Submit responses to geekchallenge@dmcinfo.com by October 9, 2018.

Check out previous Geek Challenges.

The post Geek Challenge: A Place in the Sun appeared first on DMC, Inc..

]]>
Geek Challenge Results: Primetime Telephone Numbers https://www.dmcinfo.com/blog/22988/geek-challenge-results-primetime-telephone-numbers/ Thu, 14 Jun 2018 07:41:09 +0000 https://www.dmcinfo.com/blog/22988/geek-challenge-results-primetime-telephone-numbers/ In last month's Geek Challenge, we asked what number contains 22 primes?  This was a unique problem that needed to utilize at least a little bit of computation (to check if something is prime or not). Luckily, prime calculators are a dime a dozen across the interwebs and many computer languages have a “prime check” method […]

The post Geek Challenge Results: Primetime Telephone Numbers appeared first on DMC, Inc..

]]>
In last month's Geek Challenge, we asked what number contains 22 primes? 

This was a unique problem that needed to utilize at least a little bit of computation (to check if something is prime or not). Luckily, prime calculators are a dime a dozen across the interwebs and many computer languages have a “prime check” method built in.

Congrats to our winner, Alex Bruno! A few people commented on the problem being too constrained, giving the amount of included prime numbers made it simple. This was by design! Alex Bruno came up with a way to greatly minimize the amount of prime checks necessary by creating prime-rich building blocks to create a solid foundation. Although 0373373 was not the answer I had in mind, it followed all the rules and was created in a very interesting way.

No one submitted an answer for the 10-digit bonus, which was surprisingly different from the 7-digit case it many ways. Heavy optimization is necessary for that to ensure your number crunching doesn’t run for days.

Thanks for playing! The formal analysis for my solution and Alex’s solution are below.

Alex Bruno’s Solution

A. Overview:

My analysis split into two schools of thought:

  1. Brute force it
  2. Start with smaller numbers as "building blocks" and put them together until we get a big enough number with the correct number of primes.

Either way, I needed a good way to calculate the number of primes in any given number. I didn't want to sit and do them all by hand. I wanted to be able to type them into something and have it spit out how many. So, I fired up MATLAB, and banged out a script that would take a number of any size and analyze every possible sub-number and tell me how many primes there were. That script was useful in both approaches.

B. Approaches:
  1. Brute Force it

What it says on the tin. I took the script and replaced the while with a for, and told it to run every single 7-digit number from 100000 to 9999999. Obviously, this took a while (I let it run in the background while I worked the other method). After about 30 minutes, it spit out:

3733797

This is one of my submissions, and, as I'll explain in a second, is probably the more accurate one.

  1. Building blocks

There are a possible 28 sub-numbers in a 7-digit number (calculated using the nth triangle number formula, which is a sort of additive factorial function). If we need 22 primes, that means a scant six of them can be non-primes.
To that end, I needed to find building blocks that would have as many primes as possible. I decided to start with 3-digit building blocks (six possible sub-numbers), and came up with the following:

Five primes out of six (I started with a list of prime numbers less than 1000):

337
353
379
733
773
797

Six primes out of six:

373

Obviously, I needed to use 373 as a building block. In fact, I could use it twice, and only need to add one extra digit. This looked like this:

373 373 _   OR   373 _ 373     OR    _ 373 373

This left me with 30 options to run, which was very simple using my code. The only combination that gives me a full 22 primes is:

0373373

This is because the 0 in the front, while not being prime itself, makes several extra primes (since 37 is prime, so is 037, etc.). Even with losing that digit as a prime, it adds several others.

C. Conclusion:

So, I have two answers; two 7-digit numbers that have 22 prime sub-numbers. While it is absolutely the more inelegant of the approaches, I would submit the first answer (3733797) as the more correct answer because the prompt for this problem dealt with phone numbers, and I'm not sure they can start with a 0, as with my second answer.

I'll argue that I may have gotten to the first answer using building blocks if I had kept going with that method; the brute force answer does include two of the 3-digit building blocks I found (373 and 379).

Unfortunately, I didn't have time to grapple with the 10-digit optional problem. I can't imagine doing that either of the two ways I did, so I have to ask, what is the more elegant way to do this? I'm sure there's some sort of trick, and I would love to know what it is!


My Solution

Prime number calculation is a deeply researched and investigated field of study with many applications and approaches. Because of this, there are some highly efficient methods for calculating primes. We can leverage these approaches to create an efficient computational solution.

As described, this challenge involves finding primes within a number, with the added complexity of multiple possible sub-groupings and prime combinations. Any given n-digit number has (((n+1)*n))/2 possible groupings (one set of n consecutive digits, two sets of n-1 consecutive digits and so on down to n sets of one digit, so the total number of groupings is the sum from 1 to n). For any given number, all combinations must be investigated to obtain the number of primes it contains.

To avoid excessive calculation, two major computational savings can be applied:

  1. Use a prime number sieve (such as the Sieve of Eratosthenes) to pre-calculate all prime numbers within the relevant range (all values less than 〖10〗^(n+1)-1).
  2. Use memorization to store a record of previously determined number results.

The first optimization requires creating an array mask of prime/not-prime values. Then, whenever a number is encountered, rather than determining if a number is prime, the corresponding index in the array can be accessed rather than re-calculating the primality of the number. This approach requires greater memory but substantially less computation, especially when many prime computations need to be carried out in a small range. There are several further optimizations that can be applied to the prime number sieve which are not discussed here.

The second optimization leverages an observation on the nature of the result for any given number. Consider the graphic provided in the problem statement:

Geek challenge graph 1

From these graphics, observe that it is possible to get the number of primes in the n-digit case by taking the sum of the n-1 groups, and subtracting the n-2 group shared by both n-1 groups. Alternatively stated, take the sum of the 6-digit number results and subtract the “middle” 5-digit number case (so 9=6+8-5).

Therefore, for any given number with more than two digits, it is not necessary to calculate the number of primes it contains directly from a sum of its groups, but instead can be found by taking a sum of these sub groupings. An important caveat to this approach is that each entry must be considered with leading zeros as a different value than without leading zeros (i.e. in the example given, 07 is unique from 7).

Applying these computational observations along with the additional unstated constraint that the n-digit number cannot start with a zero, the best answer was found to be 3733797 with 22 primes (with a total computation time of approximately five seconds). The graphic representation of this is shown as:

geek challenge graph 2

The Bonus Solution

Extending this approach to the 10-digit case requires some code refactoring, because the prime sieve array mask and memorized prior results require data structures with more indices than provided by a single unsigned 32-bit integer. This can be overcome several ways. One possible approach involves creating custom data-structures that act as wrappers on standard data structures and using a 64-bit integer to address locations. Implementing these structures comes at a significant computational and memory access cost, which substantially slows computation time. Consequently, the 10-digit case took approximately 24 hours to solve.

The best 10-digit number (with 38 primes out of a possible 55) was found to be 7000373379. A graphical representation of this number is shown below.

Geek challenge graph 3

As an additional interesting note, the distribution of the number of primes in a given number of digits is shown below:

Geek challenge graph 4

Submit your Geek Challenge questions and ideas at geekchallenge@dmcinfo.com.

The post Geek Challenge Results: Primetime Telephone Numbers appeared first on DMC, Inc..

]]>
Geek Challenge: Primetime Telephone Numbers https://www.dmcinfo.com/blog/23082/geek-challenge-primetime-telephone-numbers/ Wed, 09 May 2018 09:27:27 +0000 https://www.dmcinfo.com/blog/23082/geek-challenge-primetime-telephone-numbers/ I was listening to the radio, and some self-proclaimed geek said that her phone number was "seven prime numbers." At first, I interpreted this as "seven prime digits," which is probably what she meant. But then it got me thinking, 23 has three prime numbers in it (2, 3, and 23), and 373 contains six […]

The post Geek Challenge: Primetime Telephone Numbers appeared first on DMC, Inc..

]]>
I was listening to the radio, and some self-proclaimed geek said that her phone number was "seven prime numbers."

At first, I interpreted this as "seven prime digits," which is probably what she meant.

But then it got me thinking, 23 has three prime numbers in it (2, 3, and 23), and 373 contains six primes!

The most primes you can pack into a seven-digit number is 22, so what number contains 22 primes? 

Remember: neither 0 nor 1 are prime; and 5003 contains 5 primes (5, 3, 03, 003, and 5003).

Bonus: What if her phone number was ten digits long? How many primes can you pack into a ten digit number?


The number 2765073 contains nine prime numbers

The solution with the most complete analysis will be this month's Geek Challenge winner!

Submit responses to geekchallenge@dmcinfo.com by June 1, 2018.

Check out any previous Geek Challenges you might have missed!

The post Geek Challenge: Primetime Telephone Numbers appeared first on DMC, Inc..

]]>
Geek Challenge Results: Eccentric Traveler https://www.dmcinfo.com/blog/24551/geek-challenge-results-eccentric-traveler/ Wed, 08 Mar 2017 22:54:01 +0000 https://www.dmcinfo.com/blog/24551/geek-challenge-results-eccentric-traveler/ The results are in! February's Geek Challenge winner is Grant Anderson of DMC. Grant's clever breakdown of the problem is shown below. Grant's Solution There are five classifications of locations that satisfy this riddle (at least on the surface): For ease of calculations, we’ll assume the earth is perfectly spherical, rather than the ellipsoid it […]

The post Geek Challenge Results: Eccentric Traveler appeared first on DMC, Inc..

]]>

The results are in! February's Geek Challenge winner is Grant Anderson of DMC. Grant's clever breakdown of the problem is shown below.

Grant's Solution

There are five classifications of locations that satisfy this riddle (at least on the surface):

  1. As mentioned in the riddle itself, the North Pole.
  2. All locations one-mile north of the one-mile long parallel of latitude in the Northern Hemisphere.
  3. All locations one-mile north of the one-mile long parallel of latitude in the Southern Hemisphere.
  4. All locations one-mile north of a parallel of latitude which is an integral fraction of a one-mile long parallel of latitude in the Northern Hemisphere.
  5. All locations one-mile north of a parallel of latitude which is an integral fraction of a one-mile long parallel of latitude in the Southern Hemisphere.

For ease of calculations, we’ll assume the earth is perfectly spherical, rather than the ellipsoid it truly is. Also, since this isn’t a geography question, we’ll assume that our traveler won’t have to take elevations into consideration and place him at sea-level for his entire trip.

There are 90 degrees of latitude between the equator and each pole (the equator being 0 degrees). The circumference of the Earth at the equator is 24,901.92 miles, which, dividing by 360 degrees, means that each degree of longitude at the equator is 69.172 miles.

However, because we are assuming a perfectly spherical earth, we know that each degree of latitude on the Earth is also 69.172 miles. As our traveler moves closer to the poles and away from the equator, the mileage difference between each degree of longitude shrinks.

We’ll first solve for the two parallels of latitude where 360 degrees of longitude is exactly one mile. Or alternately, 1 degree of longitude is 0.0028 miles.

To calculate at which degree of latitude 1 degree of longitude is equal to 0.0028 miles, we can use the following calculation: 

1 degree of longitude = cosine (latitude in degrees) * mile length of a degree at the equator

So, plugging in our values we have: 

0.0028 = cosine(x) * 69.172

Solving for x gives us: 

x = 89.998 degrees

Northern Hemisphere

In the Northern Hemisphere, our traveler needs to go one mile north of 89.998 degrees. Since we know each degree of latitude is 69.172 miles, we find the traveler will need to start out at the 89.998 + (1 / 69.172) degrees North latitude or 90.012 degrees North latitude.

This means he is actually crossing through the North Pole. The upshot is, we can scratch classifications 2 and 4 from the list above. It’s impossible to do this from the Northern hemisphere other than at the North Pole, assuming that you can’t actually walk north of the North Pole.

Southern Hemisphere

In the Southern Hemisphere, once again the traveler needs to go one-mile north of 89.998 degrees, which puts him at 89.983 degrees. One degree of longitude here equals cosine (89.983) * 69.172 or 0.0205 miles. Multiplying by 360 gives us the length of this latitude as 7.389 miles.

Now, we need to calculate the remaining locations that fall under classification 5, all locations one-mile north of a parallel of latitude which is an integral fraction of a one-mile long parallel of latitude in the Southern Hemisphere.

We now calculate the degree of latitude where 720 degrees of longitude is equal to 1 mile. Using our equation from above we find this is the 89.999-degree south parallel. One mile north of that gives us the 89.984-degree south parallel. And its length is 6.953 miles

Next, we calculate the degree of latitude where 1080 degrees of longitude is equal to 1 mile. This puts our traveler less than a thousandth of a degree south of what we just calculated. At this point, we can assume the width of his hovercar from the previous locations trip will cover this location and all subsequent locations that fit the harmonic series.

So if our traveler starts at the North Pole, he’ll move straight down to the 89.983-degree parallel and circle it. After this, he’ll travel to the 89.984-degree parallel and circle it as well. This trip yields a total distance of:

((90 degrees + 89.984 degrees) * 69.172 miles/degree) + 7.389 miles + 6.953 miles = 12,464.195 miles

Traveling at 100 mph means his trip will take about 125 hours. At over 5 days of travel, he’s going to need those energy drinks.

Additional Thoughts

As Grant pointed out, there are an infinite number of rings near the South Pole made from the points that satisfy this riddle. It would be impossible for our traveler to travel along all of these rings since all have a circumference of at least ~6.28 miles (the circumference of the latitude line 1 mile north of the South Pole). This would make our traveler truly eccentric as he would forever travel around the South Pole without ever reaching it (reaching the South Pole would make him a centric traveler).

Grant gave our traveler some closure by pointing out that eventually, the rings become so close to each other that the width of his hover car covers multiple rings and at some point spans all remaining rings to be traveled around. To examine this, and see how wide his hover car would need to be, let's take a closer look at his path along these rings near the South Pole. Let's zoom in and see how far apart the rings are.

Looking at these distances, we see that if our traveler's hovercar is at least 841 ft wide, he could sweep through all the rings in one loop around. If his hover car is at least 420 ft wide, he could do it in 2 loops, covering the first and second ring in his first loop and all the rest in his next loop. 

If his hover car is just the width of a normal car, we see that he'll have to do many loops around before he can cover all of these rings. However, any distance added traveling around these loops is pretty insignificant compared to the first 12,450 miles he travels from the North Pole to the first ring.

One more interesting thing about the spacing of these rings is that the infinite number of points satisfying this riddle, excluding the North Pole, are contained in a relatively small area on the surface of the globe (they are all between 1 and 1.159 miles away from the South Pole).

This area can be calculated as the following surface integral:

\(A = \int_0^{2\pi} \int_{\frac{1mi}{3959mi}}^{\frac{1.159mi}{3959mi}}(3959mi)^2cos(\theta)d\theta d\phi \approx1.076mi^2 \approx689acres\)

3959 mi = Earth's radius

1 mi = distance of inner-most ring from the South Pole (more correctly, what the ring sizes are approaching as they get smaller)

1.159 mi = distance of outer-most ring from the South Pole

The Earth's surface (both land and water) is approximately 126 billion acres, so the area these points are contained in is only 0.0000005% of the total area on Earth!

Submit your comments to geekchallenge@dmcinfo.com.

The post Geek Challenge Results: Eccentric Traveler appeared first on DMC, Inc..

]]>
Geek Challenge: Eccentric Traveler https://www.dmcinfo.com/blog/24740/geek-challenge-eccentric-traveler/ Mon, 06 Feb 2017 20:39:42 +0000 https://www.dmcinfo.com/blog/24740/geek-challenge-eccentric-traveler/ This month’s geek challenge focuses on some strange sightseeing aspirations of an eccentric traveler. Our eccentric traveler’s odd expedition begins by considering the following riddle: You walk one mile South, then one mile East, then one mile North. When you finish walking, you are at your original location. Where are you? After initially deducing the solution to be the […]

The post Geek Challenge: Eccentric Traveler appeared first on DMC, Inc..

]]>
This month’s geek challenge focuses on some strange sightseeing aspirations of an eccentric traveler. Our eccentric traveler’s odd expedition begins by considering the following riddle:

You walk one mile South, then one mile East, then one mile North. When you finish walking, you are at your original location. Where are you?

After initially deducing the solution to be the North Pole, our eccentric traveler realized there were other starting locations in the world where one could walk this path and quickly became preoccupied with traveling to all of them. Our traveler charted out what he thought to be the most efficient path in order to pass by all of these locations (including the North Pole) and immediately began ironing out logistics for the trip.

He will be traveling in his special hover car capable of going 100 mph over land and water without stopping for fuel or even slowing down for turns. He has also convinced an up-and-coming energy drink company to sponsor his trip. They will drop him off at his starting position, film the journey, and supply him with food and drink on the go. Since he is very confident in his assessment that his charted locations satisfy the riddle, he will not be traveling the described 3-mile path from any of the starting locations to check that he’s right, only passing by to see them up close before traveling to the next one.

The solution to this challenge has two steps:

  1. What are all the starting locations that satisfy this riddle?
  2. What path should our eccentric traveler take to see all of them and how long will it take?

The solution with the most complete analysis will be this month’s Geek Challenge winner!

Submit responses to geekchallenge@dmcinfo.com by March 6, 2017.

The post Geek Challenge: Eccentric Traveler appeared first on DMC, Inc..

]]>
Geek Challenge Results: Infinipool https://www.dmcinfo.com/blog/24788/geek-challenge-results-infinipool/ Thu, 05 Jan 2017 16:53:39 +0000 https://www.dmcinfo.com/blog/24788/geek-challenge-results-infinipool/ The results are in! Two people correctly answered December's geek challenge. Ken Brey of DMC and Jesse Batsche of DMC both identified the correct percentage as D: 60-65%. Ken supplied an exact solution for the probability as the grid of pool balls becomes infinitely large. However, Jesse is this month's winner because he wrote a really cool LabVIEW program to solve the […]

The post Geek Challenge Results: Infinipool appeared first on DMC, Inc..

]]>

The results are in! Two people correctly answered December's geek challenge.

Ken Brey of DMC and Jesse Batsche of DMC both identified the correct percentage as D: 60-65%. Ken supplied an exact solution for the probability as the grid of pool balls becomes infinitely large.

However, Jesse is this month's winner because he wrote a really cool LabVIEW program to solve the problem!

Ken's Exact Solution

Where X and Y represent the row and column offset of a ball relative to the cue ball, given 4-way symmetry, we can analyze only 1/4 of the space, such that X>0 and Y>0. Now we can use only natural numbers. Given an infinitely large surface, the probability of selecting a ball on the symmetry lines of X=0 or Y=0, rows is infinitely small, and therefore ignoring these can’t affect the outcome.

For a ball at X,Y to be a clear shot, there must be no smaller similar right triangle with integral sides to the right triangle with sides X and Y. So, for all n smaller than X and Y, X/n and Y/n must not both be integers. 

In other words, X and Y are coprime, or the greatest common divisor (GCD) of X and Y is 1. A simple solution for the probability of this question of the probability of GCD being 1 for an infinite set of integers was figured out by a couple of bright undergrads in 1992. Their answer matches more complicated proofs discovered earlier. The answer is 6/pi² or 60.7927%.

References:

http://www.cut-the-knot.org/m/Probability/TwoCoprime.shtml

Aaron D. Abrams and Matteo J. Paris
The College Mathematics Journal
Vol. 23, No. 1 (Jan., 1992), p. 47
 

Jesse's LabVIEW Solution

Jesse correctly approximated the percentage by building a LabVIEW program to solve the problem for arbitrarily large grids of pool balls. Jesse's solver iteratively "takes shots" at balls in "rings of increasing radius" (i.e. starting with balls closest to the cue ball, moving outward). It keeps track of shot angles that it has already taken to hit a prior ball. If it aims at a ball, and it requires exactly the same shot angle as a previous ball, then that ball is deemed un-hittable. In addition to calculating the ratio for any size grid Jesse's solver includes an awesome animated graph showing the hittable and unhittable balls in the grid as it iterates through them. Green boxes represent hittable balls and boxes left red represent unhittable balls.

LabView Animation

The results are then shown in a more condensed grid. Shown below are the results for a 103×103 grid.

Congrats to our winner, Jesse, who receives a retro logo DMC pocket protector!

Submit your comments to geekchallenge@dmcinfo.com.

Check out all the past challenges here!

The post Geek Challenge Results: Infinipool appeared first on DMC, Inc..

]]>
Geek Challenge Results: Fractal Snowflake https://www.dmcinfo.com/blog/26921/geek-challenge-results-fractal-snowflake/ Thu, 05 Feb 2015 10:15:49 +0000 https://www.dmcinfo.com/blog/26921/geek-challenge-results-fractal-snowflake/ The winner of the Fractal Snowflake Geek Challenge is John Jacobsma of Dickson. Tim Jager of DMC also responded with a correct value of C, 10830. The Fractal Snowflake Challenge was a study in recursive programming. Recursive programming is a technique where a function calls itself, usually many times, until eventually instead of calling itself, […]

The post Geek Challenge Results: Fractal Snowflake appeared first on DMC, Inc..

]]>
The winner of the Fractal Snowflake Geek Challenge is John Jacobsma of Dickson. Tim Jager of DMC also responded with a correct value of C, 10830.

The Fractal Snowflake Challenge was a study in recursive programming. Recursive programming is a technique where a function calls itself, usually many times, until eventually instead of calling itself, it just does something. The program had two layers of recursive programming in it:

The function MakeTriangle was what actually did something in the end. It made one of the little blue triangles we were counting.

The function Sierpinski made the triangle shaped fractal. It is called with an Order parameter, and if the order is zero, then it calls MakeTriangle. If the order parameter is > 0, it just calls itself 3 times with an order decremented by 1.

The function KochSide is responsible for jagged looking sides of the snowflake. It also takes an Order parameter; At order 0, it does nothing, but at higher orders it calls itself 4 times, and Sierpinski once, all with order decremented by 1.

The function CombinedFractal calls Sierpinski once to fill in the largest fractal triangle, then calls KochSide 3 times to fill out the jagged edge pattern on all sides of the triangle.

To solve the puzzle of counting the little triangles, the easiest way to do it was to modify MakeTriangle to simply count instead of actually making triangles. Then run the program, and it will give the answer: 10830.

John Jacobsma simplified and re-wrote the program in Java. Without any of the geometry, this program shows just the recursive nature of the problem:

Java
package counttriangles;

public class CountTriangles implements Runnable
{
  public static void main(String[] args)
  {
    new CountTriangles().run();
  }

  @Override
  public void run()
  {
    System.out.println(combined(6));
  }

  int combined(int order)
  {
    return sierpinski(order) + 3 * koch(order);
  }

  int koch(int order)
  {
    if (order <= 0)
      return 0;
    return sierpinski(order - 1) + 4 * koch(order - 1);
  }

  int sierpinski(int order)
  {
    if (order <= 0)
      return 1;
    return 3 * sierpinski(order - 1);
  }
}

The problem can also be solved without delving into the programming, but by analyzing the pattern.  

Order 0 has just 1 triangle. Each additional order spits each triangle into 3, so it has 3 times more triangles than the previous. So, the triangle counts of Sierpinski triangles are 1, 3, 9, 27, 81, 243 and 729. Also note that the order of a Sierpinski triangle can be determined by counting the interior white triangles down the middle.

Three white triangles down the middle indicates an order 3 Sierpinski triangle:  


Next, the Koch pattern can be analyzed. A level 2 Koch snowflake is shown here with the edges marked. The level pattern in Red is repeated 4 times by pattern in Green. Each additional level continues to multiply by 4.  But the first Red pattern is performed only 3 times, for the 3 sides of the center triangle.


So, the number of triangles that make up solid Koch snowflake is 1, 3, 12, 48, 192, 768, 3072.

Since the fractal snowflake pattern is made of Sierpinski triangles instead of solid triangles, the pattern of the order of the Sierpinski triangles has to be determined. It can be observed that the central triangle is order 6, and each smaller triangle on the perimeter is seen to be 1 level smaller, down to level 0 triangles on the fringes:

Now, the two numeric sequences can be combined and summed to determine the total number of triangles:

Sierpinski Koch Total
Triangles Triangles Triangles
1 3072 3072
3 768 2304
9 192 1728
27 48 1296
81 12 972
243 3 729
729 1 729
     
Sum   10830

 

The post Geek Challenge Results: Fractal Snowflake appeared first on DMC, Inc..

]]>
Geek Challenge: Define the Doodling Curve https://www.dmcinfo.com/blog/27468/geek-challenge-define-the-doodling-curve/ Wed, 11 Jun 2014 10:11:22 +0000 https://www.dmcinfo.com/blog/27468/geek-challenge-define-the-doodling-curve/ A graph-paper doodle connects each point on the x-axis with a consecutive point on the y-axis with a straight line. Within a defined boundary, the positions on the x-axis move away from the origin as the positions on the y-axis move toward the origin. The resulting shape fills a defined curving boundary with a pretty […]

The post Geek Challenge: Define the Doodling Curve appeared first on DMC, Inc..

]]>
A graph-paper doodle connects each point on the x-axis with a consecutive point on the y-axis with a straight line. Within a defined boundary, the positions on the x-axis move away from the origin as the positions on the y-axis move toward the origin. The resulting shape fills a defined curving boundary with a pretty pattern.

The doodle is pictured here.

The geek challenge for this month is to define the curve generated by these straight lines. Focusing on the lines in the positive x and y quadrant, select the function type that describes the limiting curve assuming the pattern is drawn on a range from 0 to 1 with infinitely dense graph paper.

A zoom in on the curve of the doodle.

Which is the correct formula?

 

Possible answers are listed here.

Extra Credit:

Provide the best values of a, b, and c that fully describe the limit equation.  

As always, the answer that shows the best engineering content will be this month’s Geek Challenge winner!

Submit your responses to geekchallenge@dmcinfo.com.

The post Geek Challenge: Define the Doodling Curve appeared first on DMC, Inc..

]]>
Geek Challenge Results: What’s Your Angle Equilibrium? https://www.dmcinfo.com/blog/27605/geek-challenge-results-whats-your-angle-equilibrium/ Wed, 30 Apr 2014 15:09:56 +0000 https://www.dmcinfo.com/blog/27605/geek-challenge-results-whats-your-angle-equilibrium/ Three people successfully solved the Equilibrium Angle Geek Challenge. They were Dan Freve of DMC, Brandon Williams of Yaskawa, and Jeff Winegar of DMC. The correct answer is C: a ≈ 50 degrees The interpretation of this answer is that if the bar is released from the wall at an angle <50°, it will fall […]

The post Geek Challenge Results: What’s Your Angle Equilibrium? appeared first on DMC, Inc..

]]>
Three people successfully solved the Equilibrium Angle Geek Challenge. They were Dan Freve of DMC, Brandon Williams of Yaskawa, and Jeff Winegar of DMC.

The correct answer is C: a ≈ 50 degrees

The interpretation of this answer is that if the bar is released from the wall at an angle <50°, it will fall back to the wall with the bar still suspended from its bottom point. If the angle is >50°, the angle will increase, the bar will invert, and ultimately dangle from its top point.

All three used the principles of statics to solve the problem. Statics tells us that the two conditions for an object to be in equilibrium are that the vector sum of all forces acting upon the object must be zero, and the net moment acting on the object must also be zero.

The starting point for a solution by statics is a free body diagram. Jeff Winegar supplied the best one. Here is his free body diagram of the bar:

Jeff also gets props for using vector notation and matrices in his solution. However, of the three solutions, only Dan Freve solved the equilibrium angle down to a simplified expression as a functions of the rope length, L. Here is Dan’s solution:


for L = 1.5, α~50 deg (answer C)

A plot of a vs. rope length L, shows that at or above 2.0, there is no non-zero equilibrium angle.

All three correct respondents answered that at length 2, there was no non-zero equilibrium angle.

There is another way to solve the problem other than the use of statics: energy analysis. When gravity causes a stationary system to move, the system’s gravitational potential energy decreases as a result. As a ball accelerates down a slope, what kinetic energy it gains comes from gravitational potential it loses. If there is no change in gravitational potential with respect to change in position, such as a ball on a level surface, gravity will not cause the ball to move. And if there is a change of gravitational potential, such as on a slope, gravity will cause the ball to accelerate in the direction of decreasing gravitational potential – i.e. downhill. The same rule applies for more complicated mechanical systems. If a system’s total gravitational potential changes with respect to a degree of freedom, gravity will push the system in that direction with a force proportional to the slope of that relationship.

In the system described in the problem, all of the movable mass is in the bar/wheel system. And since this system is symmetrical, the center of gravity of the bar is at the center. Gravitational Potential is calculated by the following formula:

Since m and G are constants, to analyze the change in gravitational potential, we only have to concern ourselves with h.

Using some trig, the x position of the lower end of the bar is:

Ax= – sin α

Using the Pythagorean theorem, we get the Y position of the lower end of the bar:


The y position of the center of the bar can be calculated as an offset from the lower end of the bar:

A graph of the center of gravity height for L=1.5 plotted with respect to the angle α shows a flat spot around 50 degrees. Since this is the peak of the bump, it indicates an unstable equilibrium point from which the system could diverge in either direction.

The center of gravity height graph for the 2m rope length is interesting, also. It shows no flat spot other than at zero degrees. This corresponds with the mathematical conclusion that the system has no stability point other than at zero. However, it also shows that the flat spot at zero is extremely wide. In fact, the slope stays nearly flat (<0.1% center of gravity movement per bar end movement) for the first 10 degrees from zero. So, in any practical experiment, if the system were constructed with a rope length of 2 meters, the system would also remain stable for any small angle between 0 and 10 degrees.


The post Geek Challenge Results: What’s Your Angle Equilibrium? appeared first on DMC, Inc..

]]>