Saturday, March 25, 2017

Air Density Calculator

I've added a few improvements to the dry air density calculator...

Well, I guess it's primarily two changes... a meter gauge and a legend (per se), showing some examples.  And then of course, we still have the humidity version of the utility... here's some screenshots..


Dry Air Density Calculator with new Meter Gauge
  
Examples of dry air densities
 
Humidity Air Density Caculator



When a constant should be passed into a method

Have you ever had a wth moment?

Dry Air Gas Constants

So I've been working on air density equations that use the dry air constant.

Since I'm working with Java I set this up simply like this...

private static final double DRY_AIR_GAS_CONSTANT = 287.058;

Quite beautiful and simple, right?  No, wrong!

I discovered differences in the represented gas constant by trying to figure out why different air density calculators were giving different results (note: I'm not exactly sure why there are differences right now, need to research further). For example:




So with all this being said, how do I implement my code?!? I gander there are a few options...

Constant/non-constant Option 1

OPTION: I could just create constants for each known location...

private static final double DRY_AIR_GAS_CONSTANT_LOC_1 = 286.9;
private static final double DRY_AIR_GAS_CONSTANT_LOC_2 = 287.22;
private static final double DRY_AIR_GAS_CONSTANT_LOC_3 = 287.05;
private static final double DRY_AIR_GAS_CONSTANT_LOC_4 = 287.058;

PROBLEM: However, I don't think this would work as it may not be practical to keep doing coding changes for locations, and what if the values at those locations change?  (you can't dynamically change a final constant).

Constant/non-constant Option 2

OPTION: I could set the code up with getters/setters to allow for the changing of the 'constant' :

private double dryAirGasConstant = 287.058

public double getDryAirGasConstant() {
  return dryAirGasConstant;
}
public void setDryAirGasConstant(double dryAirGasConstant) {
  this.dryAirGasConstant = dryAirGasConstant;
}

PROBLEM: The desire is to have the utility available as a Java utility class, and getters/setters do not support this model.


Constant/non-constant Option 3

OPTION: perhaps I could enumerate the constants, and associate the values after the fact.

public enum DryAirGasConstant {
    REGION_1, // 286.9;
    REGION_2, // 287.22;
    REGION_3, // 287.05;
    REGION_4  // 287.058;
}

PROBLEM:  The code would still be subject to adding and modifying regional values.

Constant/non-constant Option 4

OPTION: I could utilize a web service that queries the dry air gas constant via location.  

PROBLEM: This seems to be the best approach, but such a thing does not exist


Constant/non-constant Option  5

OPTION: Since all the constants are very close in value... only provide one and let the user deal with difference in results from there desired value of which they cannot set.

PROBLEM: The result would not be accurate/precise. 

Constant/non-constant Option  6

OPTION: Allow the user to pass into the methods as an argument, the desired constant value.

PROBLEM: Uh yeah, why would someone pass a 'constant' into a method?!?  Well, if you followed the post, this is apparently the time you'd want to... and probably what makes the most sense.


Do you have other suggestions?  I posted this question to CodeRanch... let's see what those guys and gals have to say.



Wednesday, March 22, 2017

Lynette R. Cook Prints

Lynette R. Cook is an artist that paints wonderful paintings, many of which depict exoplanets.  I had an office in Northfield for a few months where I happily hung a few of her prints that I had purchased.  Here are four of the five prints that I own... I hope you enjoy the video of me presenting them. :) Oh yeah, if you'd like to buy some of her prints or original art, you can do so here.



Sunday, March 19, 2017

Ten interesting videos with under 500 views

















XML Sitemaps: for beginners

XML sitemaps are text files that provide information for the important website pages of your site that you would like to have visibility via search engines (e.g., Google, Bing, etc.).

Demonstration of Sitemap.xml content for url elements


Here are the XML tags and what they do...

  •     <urlset></urlset> – The start and end tags of the URL set.  There are no attributes with these elements.
  •      <url></url> – The element's start and end tags of each URL entry.
  •     <loc></loc> – Where the page is located
    • <loc>http://gliesians.com/about-us.faces</loc>
  •     <lastmod></lastmod> The date you last modified the page in YYYY-MM-DD format. 
    • <lastmod>2017-03-19</lastmod> 
  •     <changefreq></changefreq> – The frequencies of which you update the referenced file.  The options are (note first: use always if the content updates dynamically upon use):
    •    <changefreq>always</changefreq>
    •  <changefreq>hourly</changefreq>
    •  <changefreq>daily</changefreq>
    •  <changefreq>weekly</changefreq>
    •  <changefreq>monthly</changefreq>
    •  <changefreq>yearly</changefreq>
    •  <changefreq>never</changefreq> 
  •   <priority></priority> – Priority/importance of the webpage on a scale of 0.0 to 1.0.  The default is .5 (in the middle). The values are relative to each other on your website only.  Here is the priority assignment approach that I have taken:
    • Priority of [.80-1.0] Awesome-tastic web pages, you'd like visitors to easily find
      • <priority>0.99</priority>
    • Priority of [.60-.79] Great pages, not priority-wise visible (diamonds in the ruff)
      • <priority>0.75</priority>
    • Priority of [.40-.59] Really nice pages getting bumped for the good stuff
      • <priority>0.59</priority>
    • Priority of [.20-.39] Average pages that should be reachable (not entirely invisible) 
      •  <priority>0.20</priority>
    • Priority of  [.01-.19] Lovely, but unimportant pages, that you don't care if they are ever visited
      • <priority>0.19</priority>
  •     <xml:link></xml:link> – Alternate versions of the page

 Gliesians.com Sitemap.xml example

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
   
    <!-- Gliesians.com Sitemap.xml main pages -->
    <url>
        <loc>http://gliesians.com/</loc>
        <lastmod>2017-03-08</lastmod>  
        <changefreq>yearly</changefreq>
        <priority>1.00</priority>
    </url>
    <url>
        <loc>http://gliesians.com/mobile-index.faces</loc>
        <lastmod>2017-03-08</lastmod>  
        <changefreq>yearly</changefreq>
        <priority>1.00</priority>
    </url> 
        <url>
        <loc>http://gliesians.com/index-media.faces</loc>
        <lastmod>2017-03-08</lastmod>  
        <changefreq>yearly</changefreq>
        <priority>0.79</priority>
    </url> 
    <url>
        <loc>http://gliesians.com/about-us.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>monthly</changefreq>
        <priority>1.00</priority>
    </url>  
        <url>
        <loc>http://gliesians.com/sponsorship.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.39</priority>
    </url>
 
    <!-- Rotorcraft Utilities -->
    <url>
        <loc>http://gliesians.com/index-rotorcraft.faces</loc>
        <lastmod>2017-03-08</lastmod>  
        <changefreq>monthly</changefreq>
        <priority>1.00</priority>
    </url> 
    <url>
        <loc>http://gliesians.com/rotorcraft-weight-estimates-calculator.faces</loc>
        <lastmod>2017-01-22</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.80</priority>
    </url>
    <url>
        <loc>http://gliesians.com/sector-calculator.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>monthly</changefreq>
        <priority>0.19</priority>
    </url> 
    <url>
        <loc>http://gliesians.com/air-density-calculator.faces</loc>
        <lastmod>2017-01-22</lastmod>  
        <changefreq>weekly</changefreq>
        <priority>0.99</priority>
    </url>
   
    <!-- Genealogy Utilities -->
    <url>
        <loc>http://gliesians.com/index-genealogy.faces</loc>
        <lastmod>2017-03-08</lastmod>  
        <changefreq>monthly</changefreq>
        <priority>1.00</priority>
    </url>
    <url>
        <loc>http://gliesians.com/autosomal-mrca-calculator.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.39</priority>
    </url>   
    <url>
        <loc>http://gliesians.com/cousins-confidence-calculator.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.59</priority>
    </url>   
    <url>
        <loc>http://gliesians.com/autosomal-analyzer.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.99</priority>
    </url> 
     
    <url>
        <loc>http://gliesians.com/gedcom-analyzer.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.98</priority>
    </url> 
    <url>
        <loc>http://gliesians.com/image-compare.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.19</priority>
    </url>
    <url>
        <loc>http://gliesians.com/earlobe-prediction-calculator.faces
</loc>
             <lastmod>2017-03-17</lastmod>  
            <changefreq>never</changefreq>
            <priority>0.79</priority>
    </url>
    <url>
        <loc>http://gliesians.com/translate.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.59</priority>
    </url>  
    <url>
        <loc>http://gliesians.com/genealogy-glossary.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>yearly</changefreq>
        <priority>0.19</priority>
    </url>
    <url>
        <loc>http://gliesians.com/genealogy-events.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.01</priority>
    </url> 
    <url>
        <loc>http://gliesians.com/news.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.39</priority>
    </url>   
    <url>
        <loc>http://gliesians.com/hashtags.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.59</priority>
    </url> 
    <url>
        <loc>http://gliesians.com/metaphone-calculator.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.59</priority>
    </url> 
    <url>
        <loc>http://gliesians.com/roman-numeral-converter.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.59</priority>
    </url>
    <url>
        <loc>http://gliesians.com/future-days-calculator.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.19</priority>
    </url>
    <url>
        <loc>http://gliesians.com/conception-calculator.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.39</priority>
    </url>  
    <url>
        <loc>http://gliesians.com/world-clocks.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.19</priority>
    </url> 
    <url>
        <loc>http://gliesians.com/birthyears-calculator.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.59</priority>
    </url>
    <url>
        <loc>http://gliesians.com/stage-of-life.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.19</priority>
    </url>   
    <url>
        <loc>http://gliesians.com/age-difference-calculator.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.59</priority>
    </url>
    <url>
        <loc>http://gliesians.com/tombstone-birthdate-calculator.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.39</priority>
    </url> 
    <url>
        <loc>http://gliesians.com/forex-calculator.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.98</priority>
    </url> 
    <url>
        <loc>http://gliesians.com/website-rankings.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.39</priority>
    </url>
   
    <!-- Sandbox Utilities pages-->
    <url>
        <loc>http://gliesians.com/index-sandbox.faces</loc>
        <lastmod>2017-03-08</lastmod>  
        <changefreq>monthly</changefreq>
        <priority>1.00</priority>
    </url> 
    <url>
        <loc>http://gliesians.com/blood-sugar-gauge.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.79</priority>
    </url>       
    <url>
        <loc>http://gliesians.com/what-is-my-ip.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.59</priority>
    </url>       
    <url>
        <loc>http://gliesians.com/pi.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.39</priority>
    </url>
    <url>
        <loc>http://gliesians.com/amazing-sites.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.39</priority>
    </url> 
    <url>
        <loc>http://gliesians.com/emoticon-generator.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.19</priority>
    </url> 
    <url>
        <loc>http://gliesians.com/prime-numbers.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.39</priority>
    </url> 
    <url>
        <loc>http://gliesians.com/impossible-riddle.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.19</priority>
    </url> 
    <url>
        <loc>http://gliesians.com/number-generators.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.19</priority>
    </url> 
    <url>
        <loc>http://gliesians.com/service-review-and-tip-calculator.faces</loc>
        <lastmod>2017-03-17</lastmod>  
        <changefreq>never</changefreq>
        <priority>0.19</priority>
    </url> 
</urlset>

Gliesians.com 0.3.5 released

Gliesians.com 0.3.5 has been released this morning.

Gliesians.com provides free online utilities in the genealogy and rotorcraft spaces, as well as a few other random utilities.  Here are some screenshots of whats available (note: you'll need to register to upload GEDCOM files):






Saturday, March 18, 2017

RC Rotorcraft Maneuvers with a Blade 200 S


The following outline of the maneuvers is primarily derived from Helicopter Maneuvers Manual: A step-by-step illustrated guide to performing all helicopter flight operations by Ryan Dale (2014).  This is a great book, it's for life-sized helicopters; please buy it. :)

Each link below, provides a YouTube video demonstrating the maneuver with a Blade 200 S remote control helicopter.

Ground Operations


Basic Maneuvers

  • Straight-and-Level Flight
  • Normal Climbs
  • Normal Descents
  • Level Turns
  • Acceleration
  • Deceleration

Airport Operations

  • Normal Takeoff from a Hover
  • Normal Takeoff from the Surface
  • Traffic Pattern Operations
  • Normal Approach to a Hover
  • Normal Approach to the Surface
  • Go-Around Procedure


Performance Operations

  • Maximum Performance Takeoff and Climb
  • High Altitude (Running) Takeoff
  • High Altitude (Running) Landing
  • Steep Approach to a Hover
  • Steep Approach to the Surface
  • Rapid Decelerations (Quick Stops)

Off-Airport Operations

  • Slope Operations
  • High/Low Reconnaissance
  • Confined Area Operations
  • Pinnacle/Platform Operations

Emergency Operations

  • Straight-In Autorotation with Power Recovery
  • 180 Autorotation with Power Recovery
  • Power Failure at a Hover (Hovering Autorotation)
  • Power Failure at Altitude (Forced Landings)
  • Low Rotor RPM Recognition and Recovery
  • Settling-With-Power
  • Tail Rotor Failure

Air Density Calculator

I've added a few improvements to the dry air density calculator ... Well, I guess it's primarily two changes... a meter gauge and ...