feat: Ports all existing articles and images.

This commit is contained in:
2025-02-20 12:14:09 -05:00
parent e0fb6129ad
commit 67dc3540d6
151 changed files with 10413 additions and 1631 deletions

View File

@@ -0,0 +1,206 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8"/>
<meta content="#0e1112" media="(prefers-color-scheme: dark)" name="theme-color"/>
<meta content="#566B78" media="(prefers-color-scheme: light)" name="theme-color"/>
<meta content="Michael Housh" name="author"/>
<meta content="Mhoush" name="apple-mobile-web-app-title"/>
<meta content="initial-scale=1.0, width=device-width" name="viewport"/>
<meta content="telephone=no" name="format-detection"/>
<meta content="True" name="HandheldFriendly"/>
<meta content="320" name="MobileOptimized"/>
<meta content="Mhoush" name="og:site_name"/>
<meta content="hvac, developer, swift, home-performance, design" name="keywords"/>
<title>
mhoush: Introducing Psychrometrics CLI
</title>
<link href="/static/favicon.ico" rel="shortcut icon"/>
<link href="/static/output.css" rel="stylesheet"/>
<link href="/static/style.css" rel="stylesheet"/>
<link href="/articles/feed.xml" rel="alternate" title="mhoush" type="application/rss+xml"/>
<link href="/static/prism.css" rel="stylesheet"/>
<meta content="Today, Im releasing a command line application that is built on top of my
swift-psychrometrics package, that I open sourced over 2 years ago.
The application consists of many calculations / conversions for psychrometric properties of an air stream...." name="description"/>
<meta content="summary_large_image" name="twitter:card"/>
<meta content="http://localhost:3000/articles/images/2023-09-18-introducing-psychrometrics-cli.png" name="twitter:image"/>
<meta content="Introducing Psychrometrics CLI" name="twitter:image:alt"/>
<meta content="http://localhost:3000/articles/images//articles/2023/introducing-psychrometrics-cli/" name="og:url"/>
<meta content="Introducing Psychrometrics CLI" name="og:title"/>
<meta content="Today, Im releasing a command line application that is built on top of my
swift-psychrometrics package, that I open sourced over 2 years ago.
The application consists of many calculations / conversions for psychrometric properties of an air stream...." name="og:description"/>
<meta content="http://localhost:3000/articles/images/2023-09-18-introducing-psychrometrics-cli.png" name="og:image"/>
<meta content="1014" name="og:image:width"/>
<meta content="530" name="og:image:height"/>
<script crossorigin="anonymous" src="https://kit.fontawesome.com/f209982030.js">
</script>
</head>
<body class="bg-page text-white pb-5 font-avenir articles">
<header class="bg-nav text-gray py-4 text-base/6 lg:fixed w-full lg:h-[62px]">
<nav class="container flex gap-x-5 lg:gap-x-y items-center">
<ul class="flex flex-wrap gap-x-2 lg:gap-x-5">
<li>
<a class href="/">Home</a>
</li>
<li>
<a class="active" href="/articles/">Articles</a>
</li>
<li>
<a class href="/about/">About</a>
</li>
</ul>
</nav>
</header>
<div class="container pt-12 lg:pt-28">
<article class="prose">
<h1>
Introducing Psychrometrics CLI
</h1>
<div class="-mt-6">
<div class="text-gray gray-links text-sm">
<span class="border-r border-gray pr-2 mr-2">September 18, 2023</span>538 words, posted in <a href="/articles/tag/hvac/">HVAC</a>, <a href="/articles/tag/psychrometrics/">psychrometrics</a> and <a href="/articles/tag/software/">software</a>
</div>
</div>
<img alt="banner" src="http://localhost:3000/articles/images/2023-09-18-introducing-psychrometrics-cli.png"/>
<p>Today, Im releasing a command line application that is built on top of my
<a href="https://github.com/swift-psychrometrics/swift-psychrometrics">swift-psychrometrics</a> package, that I open sourced over 2 years ago.</p>
<p>The application consists of many calculations / conversions for psychrometric properties of an air stream. The tool works for both imperial
and metric units. The application will work natively on macOS, but can also be ran through a <code>docker</code> container on other platforms.</p>
<h2>Why</h2>
<p>I spend a lot of time in my terminal, because I can work so much more efficiently. I discovered many years ago that the more I can do using
simple applications and keyboard over a mouse and a web browser or native application the more I can accomplish. I understand this is
intimidating for many who think they are <em>“not good with computers”.</em> I can assure that was me several years ago, I would only encourage you
to not be afraid and give it a shot. We are at a time in society where it is easier than ever to get informed and learned new skills.</p>
<h2>Installation</h2>
<p>For complete installation instructions, you can view the <a href="https://github.com/swift-psychrometrics/psychrometrics-cli">github</a> repository.</p>
<p>The following instructions are based on using macOS.</p>
<h3>Open your terminal application.</h3>
<p>Personally, I use <a href="https://iterm2.com/">iTerm2</a>, however you can use the default <code>Terminal</code> app. Found at
<code>/Applications/Utilities/Terminal.app</code>.</p>
<h2>Install Homebrew</h2>
<p>We use <a href="https://brew.sh">Homebrew</a> for package distribution of the pre-built application binaries. You can follow their instructions to
install.</p>
<h3>Tap our custom formula tap.</h3>
<pre><code class="language-bash">brew tap swift-psychrometrics/formula
</code></pre>
<h3>Install the psychrometrics application</h3>
<pre><code class="language-bash">brew install psychrometrics
</code></pre>
<p>Thats it!</p>
<h2>Usage</h2>
<p>I will run through a couple of the commands that are supplied with the application and show what you can expect the outputs to be.</p>
<h3>Properties</h3>
<p>The following command will output a bunch of the psychrometric properties of an air stream. There are several ways to call it, but generally
you will supply the dry bulb temperature and the relative humidity.</p>
<p>Below, we calculate the psychrometric properties based on 75°F and 50% humidity.</p>
<pre><code class="language-bash">psychrometrics --dry-bulb 75 --relative-humidity 50
</code></pre>
<p><img src="/articles/images/2023-09-18-properties.png" alt="properties-output" /></p>
<h3>Dehumidifier Sizing</h3>
<p>If youve read some of my recent articles on calculating the
<a href="https://mhoush.com/posts/sizing-dehumidifier-by-latent-load/">dehumidifier size required based on the latent load</a>, the application also
ships with a calculation that will do this for you and has the ability to calculate it at different <code>coverages</code> that you can supply.</p>
<p>For example if weve done a load calculation and determined that we have a latent load of <code>4,334 BTU/h</code> then we could run the following
command to see what size dehumidifier is needed for <code>100%, 85%, and 70%</code> of the latent load.</p>
<pre><code class="language-bash">psychrometrics dh size --coverage 100 85 70 --verbose 4334
</code></pre>
<p><img src="/articles/images/2023-09-18-dh-size.png" alt="dh-size" /></p>
<h3>Pounds of Water Removed</h3>
<p>I also recently wrote an article about <a href="https://mhoush.com/posts/pounds-of-water-removed/">calculating the pounds of water removed</a> from an
air stream given the grains of moisture removed.</p>
<p>Below is an example of calculating the pounds of water removed per hour based on the example in the article (14 delta-grains)</p>
<pre><code class="language-bash">psychrometrics dh pounds-removed --delta 14 --cfm 797 --verbose
</code></pre>
<p><img src="/articles/images/2023-09-18-pounds-removed.png" alt="pounds-removed" /></p>
<h3>Help</h3>
<p>You can use <code>--help</code> option to show help and the list of commands provided.</p>
<p><img src="/articles/images/2023-09-18-help.png" alt="help" /></p>
<p>If you have any questions then feel free to email or message me. I hope some of you may find this application useful.</p>
</article>
<div class="border-t border-light mt-8 pt-8">
<h2 class="text-4xl font-extrabold mb-8">
Written by
</h2>
<div class="flex flex-col lg:flex-row gap-8">
<div class="flex-[0_0_120px]">
<img class="w-[120px] h-[120px] rounded-full" src="/static/images/avatar.png"/>
</div>
<div class="prose">
<h3 class="!m-0">
Michael Housh
</h3>
<p class="text-gray">
HVAC business owner with over 27 years of experience. Writes articles about HVAC,
Programming, Home-Performance, and Building Science
</p>
</div>
</div>
</div>
<div class="mt-16">
<h2 class="text-4xl font-extrabold mb-8">
More articles
</h2>
<div class="grid lg:grid-cols-2 gap-10">
<section>
<h2 class="text-2xl font-bold mb-2">
<a class="[&:hover]:border-b border-orange" href="/articles/2025/vapor-htmx-todo-app/">Vapor + HTMX</a>
</h2>
<div class="text-gray gray-links text-sm mb-4">
<span class="border-r border-gray pr-2 mr-2">January 05, 2025</span><a href="/articles/tag/general/">general</a>, <a href="/articles/tag/programming/">programming</a> and <a href="/articles/tag/software/">software</a>
</div>
<p>
<a href="/articles/2025/vapor-htmx-todo-app/"><div>
Build an example application using Vapor and HTMX.
</div></a>
</p>
</section>
<section>
<h2 class="text-2xl font-bold mb-2">
<a class="[&:hover]:border-b border-orange" href="/articles/2024/free-as-in-freedom/">Free As In Freedom</a>
</h2>
<div class="text-gray gray-links text-sm mb-4">
<span class="border-r border-gray pr-2 mr-2">April 09, 2024</span><a href="/articles/tag/general/">general</a>, <a href="/articles/tag/open-source/">open-source</a> and <a href="/articles/tag/software/">software</a>
</div>
<p>
<a href="/articles/2024/free-as-in-freedom/"><div>
Salute to open-source software engineers
</div></a>
</p>
</section>
</div>
<p class="prose mt-8">
<a href="/articles/"> See all articles</a>
</p>
</div>
</div>
<div class="site-footer container text-gray gray-links border-t border-light text-center pt-6 mt-8 text-sm">
<p>
Copyright © Michael Housh 2023-2025.
</p>
<p>
Built in Swift using
<a href="https://github.com/loopwerk/Saga" rel="nofollow" target="_blank">Saga</a>
(<a href="https://github.com/m-housh/mhoush.com" rel="nofollow" target="_blank">source</a>).
</p>
<p>
<a href="http://localhost:3000/articles/feed.xml" rel="nofollow" target="_blank">RSS</a>
|
<a href="https://github.com/m-housh" rel="nofollow" target="_blank">Github</a>
|
<a href="https://www.youtube.com/channel/UCb58SeURd5bObfTiL0KoliA" rel="nofollow" target="_blank">Youtube</a>
|
<a href="https://www.facebook.com/michael.housh" rel="nofollow" target="_blank">Facebook</a>
|
<a href="mailto:michael@mhoush.com" rel="nofollow">Email</a>
</p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-core.min.js">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/keep-markup/prism-keep-markup.min.js">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/autoloader/prism-autoloader.min.js">
</script>
</div>
</body>
</html>